:root{--theme: #377af4;--theme-bg: rgba(55, 122, 244, .1);--bg: #ffffff;--bg2: #f7f8fa;--card: #ffffff;--card2: #eef1f4;--text: #0a0b0d;--text2: #6b7280;--text3: #9aa1ad;--action: #0a0b0d;--success: #15c665;--success-bg: rgba(21, 198, 101, .12);--outline: rgba(10, 11, 13, .1);--outline2: rgba(10, 11, 13, .06);--font: -apple-system, BlinkMacSystemFont, "SF Pro Display", "SF Pro Text", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "Segoe UI", "Inter", sans-serif;--mono: ui-monospace, "SF Mono", Menlo, monospace;--r-card: 24px;--pill: 999px;--shadow-card: 0 0 0 1px rgba(10, 11, 13, .06), 0 1px 2px rgba(10, 11, 13, .04);--shadow-window: 0 0 0 .5px rgba(10, 11, 13, .12), 0 20px 50px -12px rgba(16, 24, 40, .25);--wrap: 1120px;--gutter: clamp(20px, 4vw, 32px);--ease: cubic-bezier(.22, 1, .36, 1);color-scheme:light}*,*:before,*:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{margin:0;background:var(--bg);color:var(--text);font-family:var(--font);font-size:17px;line-height:1.55;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overflow-x:clip}:lang(zh) body,body:lang(zh){line-height:1.7}img,svg,video{display:block;max-width:100%}img{height:auto}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit}h1,h2,h3{margin:0;line-height:1.1;letter-spacing:-.025em;font-weight:650;text-wrap:balance}:lang(zh) :is(h1,h2,h3){letter-spacing:0;line-height:1.25;text-wrap:pretty}p{margin:0;text-wrap:pretty}ul,ol{margin:0;padding:0;list-style:none}::selection{background:#377af433}:focus-visible{outline:2px solid var(--theme);outline-offset:3px;border-radius:6px}.wrap{width:100%;max-width:var(--wrap);margin-inline:auto;padding-inline:var(--gutter)}.narrow{max-width:760px}.center{text-align:center}.muted{color:var(--text2)}.lede{font-size:clamp(18px,1.6vw,20px);color:var(--text2);line-height:1.5}.center .lede{margin-inline:auto}.h2{font-size:clamp(30px,4vw,44px)}.h3{font-size:22px;letter-spacing:-.02em}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;height:44px;padding:0 20px;border-radius:var(--pill);font-size:15px;font-weight:600;border:0;cursor:pointer;white-space:nowrap;transition:background-color .2s,box-shadow .2s,transform .2s var(--ease)}.btn:active{transform:scale(.98)}.btn svg{width:17px;height:17px;flex:none}.btn-primary{background:var(--action);color:#fff}.btn-primary:hover{background:#2a2d33}.btn-secondary{background:var(--bg2);color:var(--text);box-shadow:inset 0 0 0 1px var(--outline2)}.btn-secondary:hover{background:var(--card2)}.btn-sm{height:34px;padding:0 14px;font-size:14px}.pill{display:inline-flex;align-items:center;gap:6px;height:26px;padding:0 10px;border-radius:var(--pill);font-size:12px;font-weight:600;background:var(--bg2);color:var(--text2)}.pill-beta{background:var(--theme-bg);color:var(--theme)}.card{position:relative;background:var(--card);border-radius:var(--r-card);box-shadow:var(--shadow-card)}.paper{position:relative;overflow:hidden;border-radius:var(--r-card);isolation:isolate}.paper:after{content:"";position:absolute;inset:0;z-index:-1;opacity:.18;mix-blend-mode:soft-light;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='200' height='200'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.8' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}.paper-sky{background:radial-gradient(80% 90% at 15% 10%,#cfe0ff,transparent 60%),radial-gradient(70% 80% at 90% 90%,#ffd9c7,transparent 60%),radial-gradient(60% 60% at 70% 20%,#e4dcff,transparent 60%),#eef2f8}.paper-dawn{background:radial-gradient(70% 80% at 85% 15%,#ffe3c2,transparent 60%),radial-gradient(70% 90% at 10% 90%,#d6e6ff,transparent 60%),#f6f1ea}.paper-mint{background:radial-gradient(70% 80% at 10% 15%,#d2f0e4,transparent 60%),radial-gradient(70% 90% at 90% 85%,#dbe5ff,transparent 60%),#eef4f1}.paper-dusk{background:radial-gradient(70% 80% at 85% 20%,#e6dcff,transparent 60%),radial-gradient(70% 90% at 15% 85%,#ffd8e1,transparent 60%),#f3f0f7}.prose{font-size:17px;line-height:1.75;color:#1d2026}.prose>*+*{margin-top:1.1em}.prose h2{font-size:26px;margin-top:2em}.prose h3{font-size:20px;margin-top:1.6em}.prose a{color:var(--theme);text-decoration:underline;text-underline-offset:3px;text-decoration-thickness:1px}.prose ul,.prose ol{padding-left:1.3em}.prose ul{list-style:disc}.prose ol{list-style:decimal}.prose li+li{margin-top:.4em}.prose code{font-family:var(--mono);font-size:.86em;background:var(--bg2);padding:.15em .4em;border-radius:6px}.prose pre{background:#0f1115;color:#e6e9ef;padding:18px 20px;border-radius:14px;overflow-x:auto;font-size:14px}.prose pre code{background:none;padding:0;color:inherit}.prose blockquote{margin:0;padding-left:18px;border-left:2px solid var(--outline);color:var(--text2)}.prose table{width:100%;border-collapse:collapse;font-size:15px}.prose th,.prose td{text-align:left;padding:10px 12px;border-bottom:1px solid var(--outline2)}.prose th{font-size:13px;color:var(--text2);font-weight:600}.visually-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.skip{position:absolute;left:12px;top:-60px;z-index:100;background:var(--action);color:#fff;padding:10px 16px;border-radius:10px}.skip:focus{top:12px}.js .reveal{opacity:0;transform:translateY(20px)}@media(prefers-reduced-motion:reduce){.js .reveal{opacity:1;transform:none}}[id]{scroll-margin-top:80px}.site-header[data-astro-cid-3ef6ksr2]{position:sticky;top:0;z-index:50;background:#fffc;backdrop-filter:saturate(180%) blur(16px);-webkit-backdrop-filter:saturate(180%) blur(16px);border-bottom:1px solid transparent;transition:border-color .2s}.scrolled[data-astro-cid-3ef6ksr2]{border-bottom-color:var(--outline2)}.bar[data-astro-cid-3ef6ksr2]{position:relative;display:flex;align-items:center;height:60px;gap:24px}.brand[data-astro-cid-3ef6ksr2]{display:flex;align-items:center;gap:9px;font-weight:650;font-size:16px;letter-spacing:-.01em}.brand[data-astro-cid-3ef6ksr2] img{border-radius:6px}.nav[data-astro-cid-3ef6ksr2]{display:flex;gap:4px;margin-left:auto}.nav[data-astro-cid-3ef6ksr2] a[data-astro-cid-3ef6ksr2]{padding:6px 12px;font-size:14px;color:var(--text2);border-radius:8px;transition:color .15s}.nav[data-astro-cid-3ef6ksr2] a[data-astro-cid-3ef6ksr2]:hover,.nav[data-astro-cid-3ef6ksr2] a[data-astro-cid-3ef6ksr2][aria-current=page]{color:var(--text)}.actions[data-astro-cid-3ef6ksr2]{display:flex;align-items:center;gap:4px}.menu[data-astro-cid-3ef6ksr2]{display:none;width:38px;height:38px;border:0;background:none;border-radius:10px;cursor:pointer;align-items:center;justify-content:center}@media(max-width:760px){.nav[data-astro-cid-3ef6ksr2]{display:none;position:absolute;top:60px;left:0;right:0;flex-direction:column;padding:8px var(--gutter) 16px;background:#fff;border-bottom:1px solid var(--outline2)}.nav[data-astro-cid-3ef6ksr2] a[data-astro-cid-3ef6ksr2]{padding:12px 0;font-size:17px}.open[data-astro-cid-3ef6ksr2] .nav[data-astro-cid-3ef6ksr2]{display:flex}.menu[data-astro-cid-3ef6ksr2]{display:inline-flex}.actions[data-astro-cid-3ef6ksr2]{margin-left:auto}}.footer[data-astro-cid-sz7xmlte]{border-top:1px solid var(--outline2);padding:40px 0 32px;font-size:14px}.grid[data-astro-cid-sz7xmlte]{display:flex;flex-wrap:wrap;align-items:center;gap:16px 32px}.brand[data-astro-cid-sz7xmlte]{display:inline-flex;align-items:center;gap:8px;font-weight:650}.brand[data-astro-cid-sz7xmlte] img{border-radius:5px}nav[data-astro-cid-sz7xmlte]{display:flex;flex-wrap:wrap;gap:8px 24px}nav[data-astro-cid-sz7xmlte] a[data-astro-cid-sz7xmlte],.langs[data-astro-cid-sz7xmlte] a[data-astro-cid-sz7xmlte]{color:var(--text2);transition:color .15s}nav[data-astro-cid-sz7xmlte] a[data-astro-cid-sz7xmlte]:hover,.langs[data-astro-cid-sz7xmlte] a[data-astro-cid-sz7xmlte]:hover,.langs[data-astro-cid-sz7xmlte] .active[data-astro-cid-sz7xmlte]{color:var(--text)}.langs[data-astro-cid-sz7xmlte]{display:flex;gap:16px;margin-left:auto}.legal[data-astro-cid-sz7xmlte]{margin-top:20px;font-size:13px;color:var(--text3)}@media(max-width:640px){.langs[data-astro-cid-sz7xmlte]{margin-left:0}}
