@font-face{font-family:Instrument Serif;font-style:normal;font-display:swap;font-weight:400;src:url(/_astro/instrument-serif-latin-400-normal.DnYpCC2O.woff2)format("woff2"),url(/_astro/instrument-serif-latin-400-normal.BVbkICAY.woff)format("woff")}@font-face{font-family:Instrument Serif;font-style:italic;font-display:swap;font-weight:400;src:url(/_astro/instrument-serif-latin-400-italic.DKMiL14s.woff2)format("woff2"),url(/_astro/instrument-serif-latin-400-italic.u__WvvIK.woff)format("woff")}@font-face{font-family:Inter Tight;font-style:normal;font-display:swap;font-weight:400;src:url(/_astro/inter-tight-latin-400-normal.iW8qmuJY.woff2)format("woff2"),url(/_astro/inter-tight-latin-400-normal.BLrFJfvD.woff)format("woff")}@font-face{font-family:Inter Tight;font-style:normal;font-display:swap;font-weight:500;src:url(/_astro/inter-tight-latin-500-normal.BFXNXuvF.woff2)format("woff2"),url(/_astro/inter-tight-latin-500-normal.pobXraBK.woff)format("woff")}@font-face{font-family:Inter Tight;font-style:normal;font-display:swap;font-weight:600;src:url(/_astro/inter-tight-latin-600-normal.BgSTtRxb.woff2)format("woff2"),url(/_astro/inter-tight-latin-600-normal.D7bG6gX1.woff)format("woff")}@font-face{font-family:Inter Tight;font-style:normal;font-display:swap;font-weight:700;src:url(/_astro/inter-tight-latin-700-normal.BZKd_v_8.woff2)format("woff2"),url(/_astro/inter-tight-latin-700-normal.DvYAVZQd.woff)format("woff")}@font-face{font-family:Geist Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/_astro/geist-mono-latin-400-normal.DTRLJnHl.woff2)format("woff2"),url(/_astro/geist-mono-latin-400-normal.B2yvC1Cq.woff)format("woff")}@font-face{font-family:Geist Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/_astro/geist-mono-latin-500-normal.YINYabwD.woff2)format("woff2"),url(/_astro/geist-mono-latin-500-normal.D-GG86Jb.woff)format("woff")}@font-face{font-family:Serif Fallback;src:local(Times New Roman),local(Liberation Serif),local(Times);size-adjust:82%}@font-face{font-family:UI Fallback;src:local(Arial),local(Liberation Sans),local(Helvetica);size-adjust:96.5%}:root{--bg:#061522;--surface:#0b2033;--raise:#11293f;--ink:#e4eff5;--muted:#9db4c4;--line:#1d3a52;--accent:#4fd8f5;--accent-strong:#8be7fa;--on-accent:#03202b;--spark:#f2c14e;--glow:#4fd8f52e;--font-display:"Instrument Serif", "Serif Fallback", "Iowan Old Style", Georgia, serif;--font-ui:"Inter Tight", "UI Fallback", "Segoe UI", system-ui, -apple-system, sans-serif;--font-code:"Geist Mono", ui-monospace, "SFMono-Regular", Menlo, monospace;--step--1:.875rem;--step-0:1rem;--step-1:1.25rem;--step-2:1.7rem;--step-3:2.3rem;--step-4:clamp(2.7rem, 5.8vw, 4.25rem);--radius:6px;--measure:66ch;color-scheme:dark}@media (prefers-color-scheme:light){:root:not([data-theme=dark]){--bg:#f4fafb;--surface:#fff;--raise:#e3f1f4;--ink:#0b2131;--muted:#46606f;--line:#cfe3e8;--accent:#0b7a8f;--accent-strong:#075a6b;--on-accent:#fff;--spark:#946016;--glow:#0b7a8f1a;color-scheme:light}}:root[data-theme=light]{--bg:#f4fafb;--surface:#fff;--raise:#e3f1f4;--ink:#0b2131;--muted:#46606f;--line:#cfe3e8;--accent:#0b7a8f;--accent-strong:#075a6b;--on-accent:#fff;--spark:#946016;--glow:#0b7a8f1a;color-scheme:light}:root[data-palette=forest]{--bg:#0b1a12;--surface:#11241a;--raise:#183023;--ink:#eaf2ec;--muted:#a9bfb0;--line:#24402f;--accent:#6fcf97;--accent-strong:#9be0b6;--on-accent:#0a2416;--spark:#f2c14e;--glow:#6fcf9729}:root[data-palette=peach]{--accent:#ff9a66;--accent-strong:#ffb58f;--on-accent:#2a1206;--spark:#5ed3e8;--glow:#ff9a6629}:root[data-palette=mint]{--accent:#4ade9f;--accent-strong:#86efc0;--on-accent:#062016;--spark:#f5c451;--glow:#4ade9f26}:root[data-palette=lavender]{--accent:#a996ff;--accent-strong:#c7bbff;--on-accent:#160f33;--spark:#ff8fa6;--glow:#a996ff2e}@media (prefers-color-scheme:light){:root[data-palette=forest]:not([data-theme=dark]){--bg:#f6f8f1;--surface:#fff;--raise:#e7efe3;--ink:#13261b;--muted:#4d6355;--line:#d3e0d2;--accent:#17603c;--accent-strong:#0f4a2c;--on-accent:#fff;--spark:#8a5a0e;--glow:#17603c1a}:root[data-palette=peach]:not([data-theme=dark]){--bg:#fff7f2;--surface:#fff;--raise:#fce9de;--ink:#2a1a12;--muted:#6b5446;--line:#f0d9cb;--accent:#c2410c;--accent-strong:#9a3412;--on-accent:#fff;--spark:#0e7490;--glow:#c2410c1a}:root[data-palette=aqua]:not([data-theme=dark]){--bg:#f4fafb;--surface:#fff;--raise:#e3f1f4;--ink:#0b2131;--muted:#46606f;--line:#cfe3e8;--accent:#0b7a8f;--accent-strong:#075a6b;--on-accent:#fff;--spark:#946016;--glow:#0b7a8f1a}:root[data-palette=mint]:not([data-theme=dark]){--bg:#f5faf6;--surface:#fff;--raise:#e2f1e6;--ink:#10261d;--muted:#4a6357;--line:#d2e6d8;--accent:#0f7b5f;--accent-strong:#0a5e48;--on-accent:#fff;--spark:#946010;--glow:#0f7b5f1a}:root[data-palette=lavender]:not([data-theme=dark]){--bg:#f7f5ff;--surface:#fff;--raise:#ece8ff;--ink:#1c1633;--muted:#5a5478;--line:#ddd7f5;--accent:#5b3fd6;--accent-strong:#4429b8;--on-accent:#fff;--spark:#b83654;--glow:#5b3fd61a}}:root[data-palette=forest][data-theme=light]{--bg:#f6f8f1;--surface:#fff;--raise:#e7efe3;--ink:#13261b;--muted:#4d6355;--line:#d3e0d2;--accent:#17603c;--accent-strong:#0f4a2c;--on-accent:#fff;--spark:#8a5a0e;--glow:#17603c1a}:root[data-palette=peach][data-theme=light]{--bg:#fff7f2;--surface:#fff;--raise:#fce9de;--ink:#2a1a12;--muted:#6b5446;--line:#f0d9cb;--accent:#c2410c;--accent-strong:#9a3412;--on-accent:#fff;--spark:#0e7490;--glow:#c2410c1a}:root[data-palette=aqua][data-theme=light]{--bg:#f4fafb;--surface:#fff;--raise:#e3f1f4;--ink:#0b2131;--muted:#46606f;--line:#cfe3e8;--accent:#0b7a8f;--accent-strong:#075a6b;--on-accent:#fff;--spark:#946016;--glow:#0b7a8f1a}:root[data-palette=mint][data-theme=light]{--bg:#f5faf6;--surface:#fff;--raise:#e2f1e6;--ink:#10261d;--muted:#4a6357;--line:#d2e6d8;--accent:#0f7b5f;--accent-strong:#0a5e48;--on-accent:#fff;--spark:#946010;--glow:#0f7b5f1a}:root[data-palette=lavender][data-theme=light]{--bg:#f7f5ff;--surface:#fff;--raise:#ece8ff;--ink:#1c1633;--muted:#5a5478;--line:#ddd7f5;--accent:#5b3fd6;--accent-strong:#4429b8;--on-accent:#fff;--spark:#b83654;--glow:#5b3fd61a}*,:before,:after{box-sizing:border-box}html{scroll-behavior:smooth;-webkit-text-size-adjust:100%;scroll-padding-top:5rem}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}body{background:var(--bg);color:var(--ink);font:400 var(--step-0)/1.6 var(--font-ui);-webkit-font-smoothing:antialiased;flex-direction:column;min-height:100vh;margin:0;display:flex}body>main{flex:1}img{max-width:100%;height:auto}a{color:var(--accent-strong);text-underline-offset:3px}a:hover{color:var(--accent)}:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:2px}h1,h2,h3,h4{font-family:var(--font-display);letter-spacing:-.005em;text-wrap:balance;margin:0;font-weight:400;line-height:1.1}p{margin:0}[hidden]{display:none!important}.wrap{max-width:1160px;padding-left:max(16px, env(safe-area-inset-left,0px));padding-right:max(16px, env(safe-area-inset-right,0px));margin:0 auto}.visually-hidden{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.skip-link{z-index:20;background:var(--accent);color:var(--on-accent);border-radius:var(--radius);padding:10px 16px;font-weight:600;position:absolute;top:-60px;left:16px}.skip-link:focus{color:var(--on-accent);top:12px}.btn{min-height:44px;font:600 var(--step--1) var(--font-ui);border-radius:var(--radius);cursor:pointer;border:1px solid #0000;justify-content:center;align-items:center;gap:8px;padding:0 20px;text-decoration:none;transition:background-color .15s,color .15s,border-color .15s;display:inline-flex}.btn-primary{background:var(--accent);color:var(--on-accent)}.btn-primary:hover{background:var(--accent-strong);color:var(--on-accent)}.btn-quiet{color:var(--ink);border-color:var(--line);background:0 0}.btn-quiet:hover{border-color:var(--accent);color:var(--ink)}section.block{border-top:1px solid var(--line);padding-block:clamp(48px,7vw,88px)}.section-head{flex-wrap:wrap;justify-content:space-between;align-items:end;gap:16px 32px;margin-bottom:32px;display:flex}.section-head h2{font-size:var(--step-3);letter-spacing:-.01em}.section-head p{color:var(--muted);max-width:52ch;margin-top:8px}.kicker{color:var(--spark);font-size:var(--step--1);font-weight:600}.page{padding-block:clamp(40px,6vw,72px) clamp(56px,8vw,96px)}.page-inner{max-width:720px;margin:0 auto}.page h1{letter-spacing:-.01em;font-size:clamp(2.5rem,5.4vw,3.6rem);font-weight:400}.page .lede{font-family:var(--font-display);color:var(--muted);margin-top:16px;font-size:1.5rem;line-height:1.45}.prose{font-family:var(--font-ui);font-size:1.125rem;line-height:1.75}.prose>*+*{margin-top:1.1em}.prose h2{margin-top:1.8em;font-size:2rem}.prose h3{margin-top:1.5em;font-size:1.5rem}.prose ul,.prose ol{padding-left:1.4em}.prose li+li{margin-top:.35em}.prose img{border-radius:10px}.prose blockquote{font-family:var(--font-ui);font-size:var(--step-0);background:var(--surface);border-left:3px solid var(--spark);border-radius:0 var(--radius) var(--radius) 0;margin-left:0;margin-right:0;padding:14px 18px;line-height:1.6}.prose blockquote p{margin:0}.prose :not(pre)>code{font-family:var(--font-code);background:var(--raise);border-radius:4px;padding:.1em .35em;font-size:.85em}.prose table{border-collapse:collapse;font-family:var(--font-ui);font-size:var(--step-0);width:100%;display:block;overflow-x:auto}.prose th,.prose td{border-bottom:1px solid var(--line);text-align:left;font-variant-numeric:tabular-nums;padding:8px 12px}.prose .katex-display{padding-block:4px;overflow:auto hidden}.code-wrap{position:relative}.prose pre,.code-wrap pre{font-family:var(--font-code);border:1px solid var(--line);border-radius:var(--radius);margin:0;padding:16px 18px;font-size:.875rem;line-height:1.6;overflow-x:auto;background:var(--surface)!important}.astro-code span{color:var(--shiki-dark)}@media (prefers-color-scheme:light){:root:not([data-theme=dark]) .astro-code span{color:var(--shiki-light)}}:root[data-theme=light] .astro-code span{color:var(--shiki-light)}.copy-btn{min-height:32px;font:500 .8125rem var(--font-ui);color:var(--muted);background:var(--raise);border:1px solid var(--line);border-radius:var(--radius);cursor:pointer;padding:0 10px;position:absolute;top:8px;right:8px}.copy-btn:hover{color:var(--ink)}.meta{font-size:var(--step--1);color:var(--muted);flex-wrap:wrap;align-items:center;gap:6px 16px;display:flex}.topic-tag{color:var(--accent-strong);font-weight:500;text-decoration:none}.level{align-items:center;gap:6px;display:inline-flex}.level-bars{align-items:flex-end;gap:2px;height:12px;display:inline-flex}.level-bars i{background:var(--line);border-radius:1px;width:3px;display:block}.level-bars i:first-child{height:5px}.level-bars i:nth-child(2){height:8px}.level-bars i:nth-child(3){height:12px}.level-bars i.on{background:var(--spark)}picture{display:contents}.wordmark[data-astro-cid-qisgtjgl]{--wm-top:#2f9a62;--wm-mid:#17603c;--wm-low:#0f4a2c;--wm-shine:#ffffff8c;--badge-top:#36a86b;--badge-low:#11502f;--badge-ink:#fff;font-family:var(--font-ui);letter-spacing:-.03em;align-items:center;gap:.26em;font-weight:700;line-height:1;display:inline-flex}.md[data-astro-cid-qisgtjgl]{font-size:clamp(1.6rem,5vw,1.9rem)}.lg[data-astro-cid-qisgtjgl]{font-size:2.25rem}.word[data-astro-cid-qisgtjgl]{filter:drop-shadow(0 1px #ffffff59)drop-shadow(0 3px 6px #0f4a2c38)}.word[data-astro-cid-qisgtjgl],.i[data-astro-cid-qisgtjgl]{background:linear-gradient(180deg, var(--wm-shine) 0%, #fff0 46%), linear-gradient(180deg, var(--wm-top) 0%, var(--wm-mid) 55%, var(--wm-low) 100%);color:#0000;-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;padding-block:.08em}.i[data-astro-cid-qisgtjgl]{display:inline-block;position:relative}.dot[data-astro-cid-qisgtjgl]{background:radial-gradient(circle at 34% 30%,#fff6c8 0 18%,#f5cc4e 42%,#c98f14 100%);border-radius:50%;width:.27em;height:.27em;position:absolute;top:-.02em;left:50%;transform:translate(-50%);box-shadow:0 0 0 .07em #f5cc4e47,0 .06em .18em #c98f148c}.badge[data-astro-cid-qisgtjgl]{letter-spacing:.04em;color:var(--badge-ink);background:linear-gradient(180deg, var(--badge-top), var(--badge-low));border-radius:999px;padding:.32em .6em .34em;font-size:.62em;font-weight:700;position:relative;overflow:hidden;box-shadow:inset 0 1px #ffffff73,inset 0 -1px #0000002e,0 3px 8px #0f4a2c47}.ts[data-astro-cid-qisgtjgl]{z-index:1;background:linear-gradient(#fff4c2 0%,#f5cc4e 40%,#c98f14 68%,#f0c75a 100%);color:#0000;filter:drop-shadow(0 1px #0a33208c);-webkit-background-clip:text;background-clip:text;position:relative}.badge[data-astro-cid-qisgtjgl]:before{content:"";pointer-events:none;background:linear-gradient(#ffffff80,#fff0);border-radius:999px;height:45%;position:absolute;top:6%;left:8%;right:8%}:root[data-theme=dark] .wordmark[data-astro-cid-qisgtjgl]{--wm-top:#c9f0d6;--wm-mid:#8fd1a8;--wm-low:#5dae7f;--wm-shine:#ffffff59;--badge-top:#2f9a62;--badge-low:#0f4a2c;--badge-ink:#fff}@media (prefers-color-scheme:dark){:root:not([data-theme=light]) .wordmark[data-astro-cid-qisgtjgl]{--wm-top:#c9f0d6;--wm-mid:#8fd1a8;--wm-low:#5dae7f;--wm-shine:#ffffff59;--badge-top:#2f9a62;--badge-low:#0f4a2c;--badge-ink:#fff}}.site-header[data-astro-cid-nen7h5rs]{top:env(safe-area-inset-top,0px);z-index:5;background:color-mix(in srgb, var(--bg) 88%, transparent);-webkit-backdrop-filter:blur(10px);border-bottom:1px solid var(--line);position:sticky}.site-header[data-astro-cid-nen7h5rs]>.wrap[data-astro-cid-nen7h5rs]{align-items:center;gap:12px;min-height:64px;display:flex}.brand[data-astro-cid-nen7h5rs]{color:var(--ink);font-family:var(--font-display);letter-spacing:.03em;align-items:center;gap:10px;margin-right:auto;font-size:1.6rem;font-weight:400;text-decoration:none;display:flex}.brand[data-astro-cid-nen7h5rs]:hover{color:var(--ink)}.brand-logo[data-astro-cid-nen7h5rs]{object-fit:cover;border-radius:8px;flex:none;width:36px;height:36px}.nav[data-astro-cid-nen7h5rs]{align-items:center;gap:4px;display:flex}.nav[data-astro-cid-nen7h5rs] a[data-astro-cid-nen7h5rs]{color:var(--muted);font-size:var(--step--1);border-radius:var(--radius);padding:10px 12px;font-weight:500;text-decoration:none}.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(--ink);background:var(--raise)}.nav[data-astro-cid-nen7h5rs] .nav-cta[data-astro-cid-nen7h5rs]{color:var(--accent-strong)}.icon-btn[data-astro-cid-nen7h5rs]{width:44px;height:44px;color:var(--muted);border:1px solid var(--line);border-radius:var(--radius);cursor:pointer;background:0 0;flex:none;place-items:center;transition:color .15s,border-color .15s;display:inline-grid}.icon-btn[data-astro-cid-nen7h5rs]:hover{color:var(--ink);border-color:var(--muted)}.menu-btn[data-astro-cid-nen7h5rs]{display:none}.palette[data-astro-cid-nen7h5rs]{position:relative}.palette-menu[data-astro-cid-nen7h5rs]{z-index:6;background:var(--surface);border:1px solid var(--line);border-radius:10px;gap:2px;width:240px;max-width:calc(100vw - 32px);padding:8px;display:grid;position:absolute;top:calc(100% + 8px);right:0;box-shadow:0 12px 32px #0000002e}.palette-title[data-astro-cid-nen7h5rs]{color:var(--muted);padding:4px 10px 6px;font-size:.8125rem}.palette-option[data-astro-cid-nen7h5rs]{border-radius:var(--radius);width:100%;min-height:44px;color:var(--ink);cursor:pointer;font:500 var(--step--1) var(--font-ui);text-align:left;background:0 0;border:0;align-items:center;gap:12px;padding:6px 10px;display:flex}.palette-option[data-astro-cid-nen7h5rs]:hover{background:var(--raise)}.swatch[data-astro-cid-nen7h5rs]{box-shadow:0 0 0 1px var(--line);border-radius:999px;flex:none;display:inline-flex;overflow:hidden}.swatch[data-astro-cid-nen7h5rs] i[data-astro-cid-nen7h5rs]{width:12px;height:24px;display:block}.check[data-astro-cid-nen7h5rs]{color:var(--accent-strong);visibility:hidden;margin-left:auto}.palette-option[data-astro-cid-nen7h5rs][aria-pressed=true] .check[data-astro-cid-nen7h5rs]{visibility:visible}.mobile-nav[data-astro-cid-nen7h5rs]{gap:2px;padding-block:8px 16px;display:grid}.mobile-nav[data-astro-cid-nen7h5rs] a[data-astro-cid-nen7h5rs]{color:var(--ink);border-bottom:1px solid var(--line);padding:12px 4px;text-decoration:none}@media (width<=820px){.nav[data-astro-cid-nen7h5rs]{display:none}.menu-btn[data-astro-cid-nen7h5rs]{display:inline-grid}}@media (width>=821px){.mobile-nav[data-astro-cid-nen7h5rs]{display:none!important}}.site-footer[data-astro-cid-jo6i4kqk]{border-top:1px solid var(--line);color:var(--muted);font-size:var(--step--1);padding-block:48px 32px}.grid[data-astro-cid-jo6i4kqk]{grid-template-columns:minmax(0,2fr) repeat(3,minmax(0,1fr));gap:32px;display:grid}@media (width<=760px){.grid[data-astro-cid-jo6i4kqk]{grid-template-columns:repeat(2,minmax(0,1fr))}.about[data-astro-cid-jo6i4kqk]{grid-column:1/-1}}.name[data-astro-cid-jo6i4kqk]{font-family:var(--font-display);color:var(--ink);letter-spacing:.02em;font-size:1.6rem;font-weight:400;text-decoration:none}.about[data-astro-cid-jo6i4kqk] p[data-astro-cid-jo6i4kqk]{max-width:34ch;margin-top:8px}nav[data-astro-cid-jo6i4kqk]{align-content:start;gap:2px;display:grid}h2[data-astro-cid-jo6i4kqk]{font-family:var(--font-ui);font-size:var(--step--1);color:var(--ink);margin-bottom:4px;font-weight:600}a[data-astro-cid-jo6i4kqk]{color:var(--muted);align-items:center;min-height:32px;text-decoration:none;display:inline-flex}a[data-astro-cid-jo6i4kqk]:hover{color:var(--ink);text-decoration:underline}.legal[data-astro-cid-jo6i4kqk]{border-top:1px solid var(--line);margin-top:40px;padding-top:20px}
