@font-face{font-family:Montserrat;font-style:normal;font-weight:100 900;font-display:swap;src:url(/fonts/montserrat-normal.woff2)format("woff2")}@font-face{font-family:Montserrat;font-style:italic;font-weight:100 900;font-display:swap;src:url(/fonts/montserrat-italic.woff2)format("woff2")}@font-face{font-family:Archivo;font-style:normal;font-weight:100 900;font-display:swap;src:url(/fonts/archivo-normal.woff2)format("woff2")}@font-face{font-family:Space Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/space-mono-400.woff2)format("woff2")}@font-face{font-family:Space Mono;font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/space-mono-700.woff2)format("woff2")}@font-face{font-family:Space Mono;font-style:italic;font-weight:400;font-display:swap;src:url(/fonts/space-mono-400-italic.woff2)format("woff2")}:root{--paper:#faf6ed;--paper-shade:#f2ecdc;--card:#fffdf7;--ink:#1c1813;--ink-soft:#49433a;--ink-faint:#6f6759;--line:#ddd2b8;--line-soft:#e8e0cb;--accent:#4a4238;--accent-deep:#2e2a24;--accent-wash:#ece5d6;--font-serif:"Montserrat", "Archivo", system-ui, sans-serif;--font-sans:"Archivo", system-ui, -apple-system, "Segoe UI", sans-serif;--font-mono:"Space Mono", ui-monospace, SFMono-Regular, Menlo, monospace;--space-xs:.5rem;--space-sm:1rem;--space-md:2rem;--space-lg:4rem;--space-xl:7rem;--col:1120px;--col-narrow:760px;--measure:64ch;color-scheme:light}@property --paper{syntax:"<color>";inherits:true;initial-value:#faf6ed}@property --paper-shade{syntax:"<color>";inherits:true;initial-value:#f2ecdc}@property --card{syntax:"<color>";inherits:true;initial-value:#fffdf7}@property --ink{syntax:"<color>";inherits:true;initial-value:#1c1813}@property --ink-soft{syntax:"<color>";inherits:true;initial-value:#49433a}@property --ink-faint{syntax:"<color>";inherits:true;initial-value:#6f6759}@property --line{syntax:"<color>";inherits:true;initial-value:#ddd2b8}@property --line-soft{syntax:"<color>";inherits:true;initial-value:#e8e0cb}@property --accent{syntax:"<color>";inherits:true;initial-value:#4a4238}@property --accent-deep{syntax:"<color>";inherits:true;initial-value:#2e2a24}@property --accent-wash{syntax:"<color>";inherits:true;initial-value:#ece5d6}html[data-theme=dark]{--paper:#000;--paper-shade:#0a0a0a;--card:#111;--ink:#f1e8d5;--ink-soft:#d3c7b0;--ink-faint:#a99c85;--line:#33373e;--line-soft:#1c1f24;--accent:#c9cdd4;--accent-deep:#e2e5ea;--accent-wash:#16181b;color-scheme:dark}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--paper:#000;--paper-shade:#0a0a0a;--card:#111;--ink:#f1e8d5;--ink-soft:#d3c7b0;--ink-faint:#a99c85;--line:#33373e;--line-soft:#1c1f24;--accent:#c9cdd4;--accent-deep:#e2e5ea;--accent-wash:#16181b;color-scheme:dark}}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;font-size:16px;transition:--paper .45s,--paper-shade .45s,--card .45s,--ink .45s,--ink-soft .45s,--ink-faint .45s,--line .45s,--line-soft .45s,--accent .45s,--accent-deep .45s,--accent-wash .45s}body{font-family:var(--font-sans);background:var(--paper);color:var(--ink);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;line-height:1.6;transition:background-color .25s,color .25s}::selection{background:var(--accent);color:var(--paper)}::-webkit-scrollbar{width:10px}::-webkit-scrollbar-track{background:var(--paper-shade)}::-webkit-scrollbar-thumb{background:var(--line);border:2px solid var(--paper-shade);border-radius:6px}a{color:inherit;text-decoration:none}ul{list-style:none}img,svg{max-width:100%;display:block}:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:2px}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.skip-link{z-index:200;background:var(--ink);color:var(--paper);padding:.75rem 1.25rem;font-size:.875rem;font-weight:600;position:absolute;top:0;left:-9999px}.skip-link:focus{left:0}.site-header{z-index:100;backdrop-filter:blur(10px);border-bottom:1px solid var(--line);background:#faf6edeb;transition:background-color .25s,border-color .25s;position:sticky;top:0}html[data-theme=dark] .site-header{background:#000000eb}@media (prefers-color-scheme:dark){:root:not([data-theme=light]) .site-header{background:#000000eb}}.nav-inner{max-width:var(--col);justify-content:space-between;align-items:center;gap:1rem;margin:0 auto;padding:.9rem 2rem;display:flex}.nav-group{align-items:center;gap:1.75rem;margin-left:auto;display:flex}.nav-brand{font-family:var(--font-serif);letter-spacing:-.01em;font-size:1.125rem;font-weight:600;line-height:1.2}.nav-links{align-items:center;gap:1.75rem;display:flex}.nav-links li{flex-shrink:0}.nav-links a{min-height:44px;color:var(--ink-soft);text-underline-offset:4px;align-items:center;font-size:.875rem;font-weight:500;text-decoration:underline 1px #0000;transition:color .2s cubic-bezier(.16,1,.3,1),text-decoration-color .25s cubic-bezier(.16,1,.3,1),text-underline-offset .25s cubic-bezier(.16,1,.3,1);display:inline-flex}.nav-links a:hover,.nav-links a:focus-visible{color:var(--accent);text-decoration-color:var(--accent);text-underline-offset:6px}.nav-links a:active{text-underline-offset:3px}.nav-cta{border:1px solid var(--ink);min-height:44px;color:var(--ink);border-radius:999px;align-items:center;padding:.45rem 1.1rem;transition:background .2s cubic-bezier(.16,1,.3,1),color .2s cubic-bezier(.16,1,.3,1),border-color .2s cubic-bezier(.16,1,.3,1),transform .25s cubic-bezier(.16,1,.3,1);display:inline-flex}.nav-cta-arrow{display:none}.nav-links a.nav-cta:hover{background:var(--accent-deep);border-color:var(--accent-deep);color:var(--paper);text-decoration:none;transform:translateY(-1px)}.nav-links a.nav-cta:active{transform:translateY(0)scale(.98)}.theme-toggle,.menu-toggle{border:1px solid var(--line);width:44px;height:44px;color:var(--ink-soft);cursor:pointer;background:0 0;border-radius:999px;flex-shrink:0;justify-content:center;align-items:center;transition:color .15s,border-color .15s,transform .15s;display:inline-flex}.theme-toggle:hover,.menu-toggle:hover{color:var(--accent);border-color:var(--accent);transform:translateY(-1px)}.theme-toggle svg,.menu-toggle svg{width:18px;height:18px}.menu-toggle,.theme-toggle .icon-sun{display:none}html[data-theme=dark] .theme-toggle .icon-sun{display:block}html[data-theme=dark] .theme-toggle .icon-moon{display:none}section{padding:var(--space-lg) 2rem}.chapter{max-width:var(--col);margin:0 auto}.chapter-head{border-bottom:1px solid var(--ink);grid-template-columns:4rem 1fr;align-items:baseline;gap:1rem;margin-bottom:.5rem;padding-bottom:1.25rem;display:grid;position:relative}@media (prefers-reduced-motion:no-preference){.chapter-head{border-bottom-color:#0000}.chapter-head:after{content:"";background:var(--ink);transform-origin:0;height:1px;animation:.85s cubic-bezier(.22,1,.36,1) .2s backwards rule-draw;position:absolute;bottom:-1px;left:0;right:0;transform:scaleX(1)}#contact .chapter-head:after{animation-delay:.7s}@supports (animation-timeline:view()){#contact .chapter-head:after{animation-name:rule-draw,rule-draw;animation-duration:0s,.85s;animation-timing-function:linear,cubic-bezier(.22,1,.36,1);animation-delay:0s,.7s;animation-fill-mode:backwards,backwards;animation-timeline:view(),auto;animation-range:entry entry 70%}}@keyframes rule-draw{0%{transform:scaleX(0)}to{transform:scaleX(1)}}}.chapter-no{font-family:var(--font-mono);color:var(--accent);font-size:1.05rem;font-style:italic;font-weight:400;line-height:1}.chapter-title{font-family:var(--font-serif);letter-spacing:-.01em;font-size:clamp(1.9rem,4vw,2.75rem);font-weight:600;line-height:1.1}.chapter-lede{max-width:var(--measure);color:var(--ink-soft);margin-top:1rem;font-size:1.0625rem;line-height:1.7}.site-footer{border-top:1px solid var(--ink);margin-top:var(--space-lg)}.footer-inner{max-width:var(--col);flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:1.5rem;margin:0 auto;padding:2rem 2rem 2.5rem;display:flex}.footer-name{font-family:var(--font-serif);font-size:1.25rem;font-weight:600}.footer-links{gap:1.25rem;display:flex}.footer-links a{min-height:44px;color:var(--ink-soft);text-decoration:underline;text-decoration-color:var(--line);text-underline-offset:4px;align-items:center;font-size:.875rem;font-weight:500;text-decoration-thickness:1px;transition:color .2s cubic-bezier(.16,1,.3,1),text-decoration-color .25s cubic-bezier(.16,1,.3,1),text-underline-offset .25s cubic-bezier(.16,1,.3,1),text-decoration-thickness .25s cubic-bezier(.16,1,.3,1);display:inline-flex}.footer-links a:hover,.footer-links a:focus-visible{color:var(--accent);text-decoration-color:var(--accent);text-underline-offset:6px;text-decoration-thickness:2px}.footer-links a:active{text-underline-offset:3px}@supports (animation-timeline:view()){@media (prefers-reduced-motion:no-preference){.site-footer{animation-name:rise-in,rise-in;animation-duration:0s,.6s;animation-timing-function:linear,cubic-bezier(.16,1,.3,1);animation-delay:0s,1.15s;animation-fill-mode:backwards,backwards;animation-timeline:view(),auto;animation-range:entry entry 30%}@keyframes rise-in{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}}}@media (width<=768px){section{padding:var(--space-md) 1.25rem}.nav-inner{padding:.8rem 1.25rem}.nav-group,.nav-links{gap:1rem}.chapter-head{grid-template-columns:2.5rem 1fr}.footer-inner{flex-direction:column;align-items:flex-start;padding:1.75rem 1.25rem 2rem}}@media (width<=480px){.nav-inner{flex-wrap:wrap;row-gap:0;padding-top:.7rem;padding-bottom:.7rem}.nav-brand{flex:auto;min-width:0;font-size:1rem;line-height:1.2}.nav-group{display:contents}.theme-toggle{order:2}.menu-toggle{order:3;display:inline-flex}.menu-toggle .icon-close,.menu-toggle[aria-expanded=true] .icon-open{display:none}.menu-toggle[aria-expanded=true] .icon-close{display:block}.nav-links{border-top:1px solid var(--line);flex-direction:column;flex:100%;order:4;align-items:stretch;gap:0;margin-top:.6rem;padding:.25rem 0 .35rem}.nav-inner[data-open=false] .nav-links{display:none}.nav-links a{min-height:44px;padding-top:.35rem;padding-bottom:.35rem}.nav-links a.nav-cta{color:var(--accent);text-underline-offset:4px;background:0 0;border:none;border-radius:0;align-self:flex-start;margin-top:.35rem;padding-left:0;padding-right:0;font-weight:700;text-decoration:underline;display:inline-block;transform:none}.nav-links a.nav-cta:hover{color:var(--accent-deep);background:0 0;border:none;transform:none}.nav-links a.nav-cta .nav-cta-arrow{display:inline}}
