:root{--bg:#fdfdfb;--bg-card:#fff;--bg-code:#f6f5f0;--ink:#1a1a1a;--ink-soft:#4a4a45;--ink-faint:#70706a;--line:#e2e0d8;--accent:#8a6d3b;--accent-soft:#8a6d3b1a;--accent-strong:#755d32;--tone-caution:#9c4f4f;--tone-safe:#3d6b7d;--tone-warn:#b56418;--tone-inactive:#8a877f;--shadow:0 1px 3px #1a1a1a0d;--viz-dot:#1a1a1a1a;--viz-stage:#faf9f4;--page-bleed:clamp(-12px, 3.75vw - 24px, 0px);--figure-wide:880px;--figure-bleed:min(var(--page-bleed), calc((100% - min(var(--figure-wide), 100vw - 64px)) / 2));--font-serif:Georgia, "Times New Roman", serif;--font-sans:system-ui, -apple-system, sans-serif;--font-mono:ui-monospace, "SF Mono", Menlo, Consolas, monospace;--type-prose:1.125rem;--type-oneliner:20px;--type-code:13.5px;--type-card-prose:1.0625rem;--type-card-note:1rem;--type-option:15px;--type-note:14.5px;--type-diagram:13px;--type-caption:14px;--type-legend:12px;--astro-code-foreground:var(--ink-soft);--astro-code-background:var(--bg-code);--astro-code-token-keyword:var(--accent);--astro-code-token-string:#5a7a4a;--astro-code-token-string-expression:#5a7a4a;--astro-code-token-comment:var(--ink-faint);--astro-code-token-constant:#9c4f4f;--astro-code-token-function:#3d6b7d;--astro-code-token-parameter:var(--ink-soft);--astro-code-token-punctuation:var(--ink-faint);--astro-code-token-link:var(--accent)}:root[data-theme=dark]{--bg:#171512;--bg-card:#1f1c18;--bg-code:#262220;--ink:#ece7de;--ink-soft:#c5beb2;--ink-faint:#918a7e;--line:#363028;--accent:#d4a86a;--accent-soft:#d4a86a1f;--accent-strong:#c39b62;--tone-caution:#c88;--tone-safe:#7fb3c8;--tone-warn:#d98a2a;--tone-inactive:#736d64;--shadow:0 1px 3px #0000004d;--viz-dot:#ece7de17;--viz-stage:#131110;--astro-code-token-string:#8fbf8f;--astro-code-token-string-expression:#8fbf8f;--astro-code-token-constant:#c88;--astro-code-token-function:#7fb3c8}@media (width>=1024px){:root{--type-prose:1.25rem;--type-oneliner:22px;--type-code:15.5px;--type-card-prose:1.1875rem;--type-card-note:1.125rem;--type-option:16.5px;--type-note:15.5px;--type-diagram:14.5px;--type-caption:16px;--type-legend:13.5px}}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--bg:#171512;--bg-card:#1f1c18;--bg-code:#262220;--ink:#ece7de;--ink-soft:#c5beb2;--ink-faint:#918a7e;--line:#363028;--accent:#d4a86a;--accent-soft:#d4a86a1f;--accent-strong:#c39b62;--tone-caution:#c88;--tone-safe:#7fb3c8;--tone-warn:#d98a2a;--tone-inactive:#736d64;--shadow:0 1px 3px #0000004d;--viz-dot:#ece7de17;--viz-stage:#131110;--astro-code-token-string:#8fbf8f;--astro-code-token-string-expression:#8fbf8f;--astro-code-token-constant:#c88;--astro-code-token-function:#7fb3c8}}*,:before,:after{box-sizing:border-box}html,body,h1,h2,h3,h4,h5,h6,p,figure,blockquote,dl,dd{margin:0}img,picture,svg{max-width:100%;display:block}html{color-scheme:light dark}body{font-family:var(--font-serif);color:var(--ink);background:var(--bg);min-height:100vh;transition:background .35s,color .35s}a{color:var(--ink);text-decoration:underline;text-decoration-color:var(--accent);text-underline-offset:.15em;transition:color .15s}a:hover{color:var(--accent)}::selection{background:var(--accent-soft)}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}h1,h2,h3,h4,h5,h6{font-family:var(--font-serif);letter-spacing:-.01em;font-weight:500;line-height:1.2}h1{font-size:clamp(1.75rem,1rem + 4vw,2.625rem)}h2{font-size:clamp(1.5rem,.95rem + 2.2vw,2rem)}h3{font-size:clamp(1.25rem,.95rem + 1.2vw,1.5rem)}p{font-size:var(--type-prose);line-height:1.75}.ink-soft{color:var(--ink-soft)}.ink-faint{color:var(--ink-faint)}.kicker{font-family:var(--font-sans);letter-spacing:.18em;text-transform:uppercase;color:var(--accent);font-size:12px;display:inline-block}code,pre,kbd,samp{font-family:var(--font-mono)}book-progress{display:block}.book-progress__bar{width:100%;position:relative}.book-progress__fill{background:var(--accent);width:0%}.book-progress--summary{margin-top:28px}.book-progress--summary .book-progress__count{font-family:var(--font-sans);color:var(--ink-soft);margin:0 0 8px;font-size:13px}.book-progress--summary .book-progress__bar{background:var(--line);border-radius:999px;height:3px;overflow:hidden}.book-progress--summary .book-progress__fill{border-radius:inherit;height:100%;transition:width .35s}.book-progress--bar-only{z-index:100;pointer-events:none;height:2px;position:fixed;inset:0 0 auto}.book-progress--bar-only .book-progress__bar{height:100%}.book-progress--bar-only .book-progress__fill{height:100%;transition:width .35s}.site-header[data-astro-cid-hkbrpulz]{border-bottom:1px solid var(--line);max-width:720px;font-family:var(--font-sans);justify-content:space-between;align-items:center;gap:12px;margin:0 auto;padding:1.25rem 1.5rem;display:flex}.site-title[data-astro-cid-hkbrpulz]{font-family:var(--font-sans);letter-spacing:-.005em;color:var(--ink);margin-right:auto;font-size:.9375rem;font-weight:600;text-decoration:none}.site-title[data-astro-cid-hkbrpulz]:hover{color:var(--accent)}.theme-toggle[data-astro-cid-hkbrpulz]{border:1px solid var(--line);width:2.25rem;height:2.25rem;color:var(--ink-soft);font-family:var(--font-sans);cursor:pointer;background:0 0;border-radius:999px;justify-content:center;align-items:center;font-size:1rem;line-height:1;transition:border-color .15s,color .15s;display:inline-flex}.theme-toggle[data-astro-cid-hkbrpulz]:hover{border-color:var(--accent);color:var(--accent)}.theme-toggle__icon--dark[data-astro-cid-hkbrpulz],:root[data-theme=dark] .theme-toggle__icon--light[data-astro-cid-hkbrpulz]{display:none}:root[data-theme=dark] .theme-toggle__icon--dark[data-astro-cid-hkbrpulz]{display:inline}.site-main[data-astro-cid-hkbrpulz]{max-width:720px;margin:0 auto;padding:3rem 1.5rem 5rem}.site-footer[data-astro-cid-hkbrpulz]{border-top:1px solid var(--line);max-width:720px;font-family:var(--font-sans);justify-content:space-between;align-items:center;gap:1rem;margin:0 auto;padding:1.5rem 1.5rem 3rem;display:flex}.site-footer[data-astro-cid-hkbrpulz] p[data-astro-cid-hkbrpulz]{color:var(--ink-faint);margin:0;font-size:.8125rem}.site-footer__link[data-astro-cid-hkbrpulz]{color:var(--ink-faint);flex-shrink:0;font-size:.8125rem;text-decoration:none}.site-footer__link[data-astro-cid-hkbrpulz]:hover{color:var(--accent)}
