:root{--font-sans:-apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "Noto Sans SC", sans-serif;--font-serif:"Songti SC", "Source Han Serif SC", "Noto Serif SC", "STSong", SimSun, Georgia, serif;--font-mono:ui-monospace, "Cascadia Mono", "JetBrains Mono", "SFMono-Regular", Consolas, "Liberation Mono", monospace;--measure:40rem;--wide:64rem;--gutter:clamp(1.15rem, 4vw, 2.25rem)}[data-theme=light]{color-scheme:light;--bg:#faf8f4;--surface:#fff;--surface-soft:#f4f1ea;--text:#16171a;--text-soft:#3f444b;--text-mute:#6a6f78;--line:#e6e1d6;--line-strong:#cfc7b6;--accent:#b23a26;--accent-ink:#fff;--accent-soft:#f8e9e4;--code-bg:#f4f1e9;--radius:4px;--shadow:0 1px 2px #16171a0a;--prose-font:var(--font-serif);--prose-size:1.0625rem;--prose-leading:1.9;--label-spacing:.14em}[data-theme=dark]{color-scheme:dark;--bg:#07080a;--surface:#0d1013;--surface-soft:#0a0d10;--text:#e8eaee;--text-soft:#b0b7c2;--text-mute:#737c89;--line:#1a1f26;--line-strong:#2b333d;--accent:#5eead4;--accent-ink:#04231f;--accent-soft:#0d2d29;--code-bg:#0a0e12;--radius:8px;--shadow:0 0 0 1px #5eead40d, 0 10px 34px #0006;--prose-font:var(--font-sans);--prose-size:1.0625rem;--prose-leading:1.8;--label-spacing:.16em}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}body{background-color:var(--bg);min-height:100vh;color:var(--text);font-family:var(--font-sans);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;flex-direction:column;margin:0;font-size:1rem;line-height:1.7;transition:background-color .2s,color .2s;display:flex}[data-theme=dark] body{background-image:radial-gradient(52rem 26rem at 50% -12%,#5eead412,#0000 68%),linear-gradient(#0a0c10 0%,#07080a 38%);background-repeat:no-repeat}main{flex:1 0 auto}img,svg,video{max-width:100%;height:auto;display:block}h1,h2,h3,h4{font-family:var(--font-sans);letter-spacing:-.015em;text-wrap:balance;margin:0;font-weight:600;line-height:1.25}p{margin:0}a{color:inherit;text-decoration:none}ul,ol{margin:0;padding:0}::selection{background:var(--accent);color:var(--accent-ink)}:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:2px}.skip-link{z-index:50;background:var(--surface);border:1px solid var(--line-strong);border-radius:var(--radius);padding:.5rem .9rem;font-size:.875rem;transition:top .15s;position:absolute;top:-3rem;left:.75rem}.skip-link:focus{top:.75rem}.wrap{width:100%;max-width:var(--wide);padding-inline:var(--gutter);margin-inline:auto}.wrap--narrow{max-width:calc(var(--measure) + var(--gutter) * 2)}.eyebrow{font-family:var(--font-mono);letter-spacing:var(--label-spacing);text-transform:uppercase;color:var(--text-mute);margin:0;font-size:.75rem}.eyebrow--accent{color:var(--accent)}.section{padding-block:clamp(2.75rem,7vw,4.5rem)}.section--tight{padding-block:clamp(1.75rem,4vw,2.75rem)}.section-head{border-bottom:1px solid var(--line);align-items:baseline;gap:.9rem;margin-bottom:.4rem;padding-bottom:.85rem;display:flex}.section-head h2{letter-spacing:.02em;font-size:1rem;font-weight:600}.section-head .num{font-family:var(--font-mono);color:var(--accent);letter-spacing:.08em;margin-right:.65rem;font-size:.75rem;font-weight:400}.section-head .more{font-family:var(--font-mono);letter-spacing:.06em;color:var(--text-mute);white-space:nowrap;margin-left:auto;font-size:.75rem;transition:color .15s}.section-head .more:hover{color:var(--accent)}.btn{border:1px solid var(--line-strong);border-radius:var(--radius);color:var(--text);cursor:pointer;background:0 0;align-items:center;gap:.45rem;padding:.55rem 1rem;font-size:.875rem;line-height:1.4;transition:border-color .15s,color .15s,background-color .15s,transform .15s;display:inline-flex}.btn:hover{border-color:var(--accent);color:var(--accent)}.btn--primary{background:var(--text);border-color:var(--text);color:var(--bg)}.btn--primary:hover{background:var(--accent);border-color:var(--accent);color:var(--accent-ink)}[data-theme=dark] .btn{background:#ffffff05}[data-theme=dark] .btn--primary{background:var(--accent);border-color:var(--accent);color:var(--accent-ink);font-weight:600}[data-theme=dark] .btn--primary:hover{box-shadow:0 0 24px #5eead447}.chip{border:1px solid var(--line);font-family:var(--font-mono);letter-spacing:.03em;color:var(--text-mute);border-radius:999px;align-items:center;padding:.1rem .5rem;font-size:.7rem;line-height:1.6;transition:border-color .15s,color .15s;display:inline-flex}a.chip:hover{border-color:var(--accent);color:var(--accent)}.prose{font-family:var(--prose-font);font-size:var(--prose-size);line-height:var(--prose-leading);color:var(--text)}.prose>*+*{margin-top:1.15em}.prose h2,.prose h3,.prose h4{font-family:var(--font-sans);scroll-margin-top:6rem}.prose h2{letter-spacing:-.01em;margin-top:2.4em;font-size:1.35rem}.prose h3{margin-top:1.9em;font-size:1.1rem}.prose h4{color:var(--text-soft);margin-top:1.6em;font-size:1rem}.prose a{color:inherit;text-decoration:underline;text-decoration-color:var(--line-strong);text-underline-offset:.22em;text-decoration-thickness:1px;transition:color .15s,text-decoration-color .15s}.prose a:hover{color:var(--accent);text-decoration-color:var(--accent)}.prose strong{color:var(--text);font-weight:600}.prose ul,.prose ol{padding-left:1.35em}.prose li+li{margin-top:.4em}.prose li::marker{color:var(--text-mute)}.prose blockquote{border-left:2px solid var(--accent);color:var(--text-soft);margin-inline:0;padding:.15em 0 .15em 1.1em}.prose blockquote p{margin:0}.prose hr{border:0;border-top:1px solid var(--line);margin-block:2.6em}.prose code{font-family:var(--font-mono);font-size:.85em}.prose :not(pre)>code{border:1px solid var(--line);background:var(--code-bg);color:var(--text-soft);border-radius:4px;padding:.15em .38em}.prose pre{border:1px solid var(--line);border-radius:var(--radius);tab-size:2;margin-block:1.6em;padding:1rem 1.15rem;font-size:.8125rem;line-height:1.7;overflow-x:auto}.prose pre code{font-size:inherit}.prose img{border:1px solid var(--line);border-radius:var(--radius);margin-block:1.6em}.prose table{border-collapse:collapse;width:100%;font-family:var(--font-sans);font-size:.9rem}.prose th,.prose td{border-bottom:1px solid var(--line);text-align:left;padding:.55em .7em}.prose th{color:var(--text-soft);font-weight:600}.prose .astro-code,.astro-code{background-color:var(--code-bg)!important}[data-theme=light] .astro-code,[data-theme=light] .astro-code span{color:var(--shiki-light)!important}[data-theme=dark] .astro-code,[data-theme=dark] .astro-code span{color:var(--shiki-dark)!important;background-color:var(--shiki-dark-bg,var(--code-bg))!important}.ocean-toggle{z-index:2;font-family:var(--font-mono);letter-spacing:.1em;color:#f1f4f9a8;-webkit-backdrop-filter:blur(6px);cursor:pointer;pointer-events:auto;background:#06080b8c;border:1px solid #ffffff24;border-radius:999px;align-items:center;gap:.45rem;padding:.28rem .65rem;font-size:.66rem;line-height:1.7;transition:color .15s,border-color .15s,background-color .15s;display:inline-flex;position:absolute;bottom:.7rem;right:.7rem}.ocean-toggle:hover,.ocean-toggle:focus-visible{color:#f1f4f9;background:#06080bd1;border-color:#ffffff6b}.ocean-toggle:focus-visible{outline-offset:2px;outline:2px solid #5eead4}.ocean-toggle-glyph{letter-spacing:.04em;opacity:.85;font-size:.6rem}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important}}.site-header[data-astro-cid-nen7h5rs]{z-index:30;border-bottom:1px solid var(--line);background:var(--bg);background:color-mix(in srgb, var(--bg) 84%, transparent);-webkit-backdrop-filter:blur(12px)saturate(140%);position:sticky;top:0}.header-inner[data-astro-cid-nen7h5rs]{align-items:center;gap:1.25rem;min-height:4rem;display:flex}.brand[data-astro-cid-nen7h5rs]{letter-spacing:-.01em;white-space:nowrap;align-items:baseline;font-size:.975rem;font-weight:600;display:inline-flex}.brand-dot[data-astro-cid-nen7h5rs]{color:var(--accent)}.nav[data-astro-cid-nen7h5rs]{align-items:center;gap:1.35rem;margin-left:auto;display:flex}.nav[data-astro-cid-nen7h5rs] a[data-astro-cid-nen7h5rs]{color:var(--text-mute);font-size:.875rem;transition:color .15s;position:relative}.nav[data-astro-cid-nen7h5rs] a[data-astro-cid-nen7h5rs]:hover,.nav[data-astro-cid-nen7h5rs] a[data-astro-cid-nen7h5rs][aria-current=page]{color:var(--text)}.nav[data-astro-cid-nen7h5rs] a[data-astro-cid-nen7h5rs][aria-current=page]:after{content:"";background:var(--accent);height:1px;position:absolute;bottom:-.4rem;left:0;right:0}.theme-toggle[data-astro-cid-nen7h5rs]{border:1px solid var(--line);background:var(--surface-soft);border-radius:999px;align-items:center;gap:.1rem;margin-left:.35rem;padding:.2rem;display:inline-flex}.theme-toggle[data-astro-cid-nen7h5rs] button[data-astro-cid-nen7h5rs]{width:1.65rem;height:1.65rem;color:var(--text-mute);cursor:pointer;background:0 0;border:0;border-radius:999px;place-items:center;padding:0;transition:background-color .18s,color .18s;display:grid}.theme-toggle[data-astro-cid-nen7h5rs] button[data-astro-cid-nen7h5rs]:hover{color:var(--text)}.theme-toggle[data-astro-cid-nen7h5rs] button[data-astro-cid-nen7h5rs][aria-pressed=true]{background:var(--text);color:var(--bg)}.sr-only[data-astro-cid-nen7h5rs]{clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}@media (width<=40rem){.header-inner[data-astro-cid-nen7h5rs]{flex-wrap:wrap;gap:.5rem .9rem;padding-block:.7rem}.nav[data-astro-cid-nen7h5rs]{order:3;gap:1.1rem;width:100%;margin-left:0}.theme-toggle[data-astro-cid-nen7h5rs]{margin-left:auto}.nav[data-astro-cid-nen7h5rs] a[data-astro-cid-nen7h5rs][aria-current=page]:after{bottom:-.2rem}}.site-footer[data-astro-cid-jo6i4kqk]{border-top:1px solid var(--line);background:var(--surface-soft);background:color-mix(in srgb, var(--surface-soft) 55%, transparent);margin-top:clamp(3rem,8vw,5rem)}.footer-inner[data-astro-cid-jo6i4kqk]{grid-template-columns:minmax(0,1.4fr) auto;gap:1.5rem 2rem;padding-block:2.25rem 1.75rem;display:grid}.footer-name[data-astro-cid-jo6i4kqk]{font-size:.95rem;font-weight:600}.footer-name[data-astro-cid-jo6i4kqk] .dot[data-astro-cid-jo6i4kqk]{color:var(--accent)}.footer-note[data-astro-cid-jo6i4kqk]{max-width:22rem;color:var(--text-mute);margin-top:.35rem;font-size:.8125rem;line-height:1.65}.footer-links[data-astro-cid-jo6i4kqk]{flex-wrap:wrap;place-content:start flex-end;gap:.5rem 1.15rem;font-size:.8125rem;list-style:none;display:flex}.footer-links[data-astro-cid-jo6i4kqk] a[data-astro-cid-jo6i4kqk]{color:var(--text-mute);transition:color .15s}.footer-links[data-astro-cid-jo6i4kqk] a[data-astro-cid-jo6i4kqk]:hover{color:var(--accent)}.footer-meta[data-astro-cid-jo6i4kqk]{border-top:1px solid var(--line);font-family:var(--font-mono);letter-spacing:.04em;color:var(--text-mute);flex-wrap:wrap;grid-column:1/-1;align-items:center;gap:.5rem;padding-top:1.1rem;font-size:.7rem;display:flex}.sep[data-astro-cid-jo6i4kqk]{opacity:.5}@media (width<=40rem){.footer-inner[data-astro-cid-jo6i4kqk]{grid-template-columns:1fr}.footer-links[data-astro-cid-jo6i4kqk]{justify-content:flex-start}}
