.chapter-nav[data-astro-cid-fttocojm]{border-bottom:1px solid var(--rule);background:color-mix(in srgb,var(--bg) 94%,white 6%);position:sticky;top:0;z-index:10}.chapter-nav__inner[data-astro-cid-fttocojm]{display:grid;gap:1rem;max-width:min(1200px,calc(100vw - 2rem));margin:0 auto;padding:.9rem 0}.chapter-nav__brand[data-astro-cid-fttocojm]{font-size:.84rem;font-family:var(--font-mono);letter-spacing:.12em;color:var(--text)}.chapter-nav__desktop[data-astro-cid-fttocojm]{display:none;gap:.65rem;flex-wrap:wrap;align-items:center}.chapter-nav__desktop[data-astro-cid-fttocojm] a[data-astro-cid-fttocojm],.chapter-nav__mobile[data-astro-cid-fttocojm] a[data-astro-cid-fttocojm]{display:inline-flex;gap:.4rem;padding:.35rem .55rem;border:1px solid transparent;border-bottom-width:2px;color:var(--text-mute);font-size:.85rem}.chapter-nav__desktop[data-astro-cid-fttocojm] a[data-astro-cid-fttocojm]:hover,.chapter-nav__mobile[data-astro-cid-fttocojm] a[data-astro-cid-fttocojm]:hover{color:var(--text);border-color:var(--rule);background:var(--bg-elev)}.chapter-nav__desktop[data-astro-cid-fttocojm] a[data-astro-cid-fttocojm].is-active,.chapter-nav__mobile[data-astro-cid-fttocojm] a[data-astro-cid-fttocojm].is-active{color:var(--text);background:var(--bg-elev)}.chapter-nav__desktop[data-astro-cid-fttocojm] a[data-astro-cid-fttocojm].is-active{border-bottom-color:var(--accent)}.chapter-nav__mobile[data-astro-cid-fttocojm] a[data-astro-cid-fttocojm].is-active{border-left-color:var(--accent)}.chapter-nav__mobile[data-astro-cid-fttocojm] summary[data-astro-cid-fttocojm]{list-style:none;cursor:pointer;width:fit-content;padding:.45rem .7rem;border:1px solid var(--rule);color:var(--text);font-size:.85rem}.chapter-nav__mobile[data-astro-cid-fttocojm] summary[data-astro-cid-fttocojm]::-webkit-details-marker{display:none}.chapter-nav__mobile[data-astro-cid-fttocojm] nav[data-astro-cid-fttocojm]{display:grid;gap:.35rem;margin-top:.75rem;padding-top:.75rem;border-top:1px solid var(--rule)}@media(min-width:960px){.chapter-nav__inner[data-astro-cid-fttocojm]{grid-template-columns:auto 1fr;align-items:center}.chapter-nav__desktop[data-astro-cid-fttocojm]{display:flex;justify-content:flex-end}.chapter-nav__mobile[data-astro-cid-fttocojm]{display:none}}.site-footer[data-astro-cid-sz7xmlte]{border-top:1px solid var(--rule);margin-top:4rem}.site-footer__inner[data-astro-cid-sz7xmlte]{max-width:min(1200px,calc(100vw - 2rem));margin:0 auto;padding:1.5rem 0 3rem;display:flex;flex-wrap:wrap;gap:.75rem 1.5rem;justify-content:space-between;color:var(--text-mute);font-size:.84rem;font-family:var(--font-mono)}.site-footer__inner[data-astro-cid-sz7xmlte] p[data-astro-cid-sz7xmlte]{margin:0}.site-footer[data-astro-cid-sz7xmlte] nav[data-astro-cid-sz7xmlte]{display:flex;flex-wrap:wrap;gap:.75rem 1rem}.site-footer[data-astro-cid-sz7xmlte] a[data-astro-cid-sz7xmlte]{color:inherit}.site-footer[data-astro-cid-sz7xmlte] a[data-astro-cid-sz7xmlte]:hover{color:var(--text)}:root{--bg: #fafafa;--bg-elev: #ffffff;--text: #1a1a1a;--text-mute: #5a6470;--rule: #e3e6ea;--code-bg: #f3f4f6;--accent: #a51d1d;--accent-soft: #faeded;--accent-strong: #7d1212;--text-soft: #4a5260;--info: #1e40af;--info-soft: #eef3ff;--success: #15803d;--success-soft: #ecf7ef;--font-sans: -apple-system, BlinkMacSystemFont, "Hiragino Kaku Gothic ProN", "Yu Gothic", sans-serif;--font-mono: "SF Mono", "JetBrains Mono", ui-monospace, monospace;--page-width: min(1080px, calc(100vw - 2rem) );--prose-width: 38em}*,*:before,*:after{box-sizing:border-box}html{background:var(--bg);color:var(--text);font-family:var(--font-sans);line-height:1.85;scroll-behavior:smooth}body{margin:0;min-height:100vh;background:var(--bg)}main{display:block}a{color:inherit;text-decoration:none}a:focus-visible,summary:focus-visible{outline:2px solid var(--accent);outline-offset:3px}blockquote{margin:0 0 1.4rem;padding-left:1rem;border-left:2px solid color-mix(in srgb,var(--accent) 38%,var(--rule) 62%);color:color-mix(in srgb,var(--text) 92%,var(--text-mute) 8%)}img{max-width:100%;display:block}p,ul,ol{margin:0 0 1rem}ul,ol{padding-left:1.2rem}h1,h2,h3{margin:0 0 1rem;line-height:1.4;font-weight:600}h1{font-size:clamp(2.1rem,5vw,4rem)}h2{font-size:clamp(1.35rem,3vw,2rem)}h3{font-size:1.1rem}code,pre,.eyebrow,.card-code,.meta-note{font-family:var(--font-mono)}.page-shell{width:var(--page-width);margin:0 auto;padding:3rem 0}.prose-shell>*{max-width:var(--prose-width)}.prose-shell a,.glossary-list a,table a,.meta-note a{color:var(--text);text-decoration:underline;text-decoration-color:color-mix(in srgb,var(--accent) 55%,var(--text-mute) 45%);text-underline-offset:.18em}.prose-shell a:hover,.glossary-list a:hover,table a:hover,.meta-note a:hover{text-decoration-color:var(--accent)}.hero{padding-top:5rem}.eyebrow{color:var(--text-mute);letter-spacing:.12em;font-size:.78rem;margin-bottom:1rem}.lede{max-width:38em;color:color-mix(in srgb,var(--text) 88%,var(--text-mute) 12%);font-size:1.05rem}.meta-note{color:var(--text-mute);font-size:.82rem}.section-head{display:flex;flex-wrap:wrap;align-items:end;justify-content:space-between;gap:.75rem;margin-bottom:1.25rem}.section-head p{color:var(--text-mute)}.section-stack{margin-top:2rem}.stack-list,.chapter-grid{display:grid;gap:1rem}.chapter-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.surface-card{display:block;padding:1.1rem 1.15rem;border:1px solid var(--rule);background:linear-gradient(180deg,rgba(255,255,255,.02),transparent),var(--bg-elev);transition:border-color .16s ease,transform .16s ease}.surface-card:hover{border-color:color-mix(in srgb,var(--accent) 40%,var(--rule) 60%);transform:translateY(-2px)}.card-code{color:var(--accent);font-size:.78rem;letter-spacing:.08em;margin-bottom:.75rem}.cta-link{display:inline-flex;align-items:center;padding:.65rem .9rem;border:1px solid color-mix(in srgb,var(--accent) 55%,black 45%);background:color-mix(in srgb,var(--accent) 12%,transparent);color:var(--text)}table{width:100%;border-collapse:collapse}th,td{padding:.8rem .7rem;border-bottom:1px solid var(--rule);text-align:left;vertical-align:top}th{font-family:var(--font-mono);font-size:.82rem;color:var(--text-mute);letter-spacing:.08em}@media(max-width:720px){.page-shell{padding:2rem 0}.hero{padding-top:3rem}}
