@font-face{font-family:overpass;font-style:normal;font-weight:800;font-display:swap;src:url(/fonts/overpass-800-latin.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:overpass;font-style:normal;font-weight:800;font-display:swap;src:url(/fonts/overpass-800-latin-ext.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:barlow;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/barlow-400-latin.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:barlow;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/barlow-400-latin-ext.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:barlow;font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/barlow-500-latin.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:barlow;font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/barlow-500-latin-ext.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:barlow;font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/barlow-600-latin.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:barlow;font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/barlow-600-latin-ext.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:jetbrains mono;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/jetbrains-mono-400-latin.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:jetbrains mono;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/jetbrains-mono-400-latin-ext.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:jetbrains mono;font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/jetbrains-mono-700-latin.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:jetbrains mono;font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/jetbrains-mono-700-latin-ext.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}:root,[data-theme=dark]{--board:#070a1c;--shade:#03050f;--rule:rgb(255 255 255 / 0.16);--paint:#eef2ff;--paint-body:#dfe6fb;--paint-dim:#a9b4d6;--amber:#8ef5a8;--amber-line:#2fc48a;--card:rgb(0 0 0 / 0.28);--card-hover:rgb(255 255 255 / 0.06);--sky-edge:#070a1c;--lake-edge:#0c1633;color-scheme:dark}[data-theme=dark][data-night=dusk]{--board:#21173f;--shade:#120d22;--rule:rgb(255 255 255 / 0.18);--paint:#fff3ea;--paint-body:#f6e4dc;--paint-dim:#d9b8bf;--amber:#ffb26b;--amber-line:#ff8f5a;--sky-edge:#21173f;--lake-edge:#151230}[data-theme=dark][data-night=fireflies]{--board:#06100f;--shade:#020605;--rule:rgb(255 255 255 / 0.14);--paint:#eefbf4;--paint-body:#d6ece2;--paint-dim:#97b8ac;--amber:#e8ff8a;--amber-line:#a8d65a;--sky-edge:#06100f;--lake-edge:#0a1615}[data-theme=dark][data-night=moonlight]{--board:#0c1630;--shade:#050a18;--rule:rgb(255 255 255 / 0.16);--paint:#f1f5ff;--paint-body:#dce6fb;--paint-dim:#a3b4d6;--amber:#ffd27a;--amber-line:#e0b050;--sky-edge:#0c1630;--lake-edge:#10204a}[data-theme=light]{--board:#f6e8d8;--sky-top:#9fb1dc;--shade:rgb(255 246 236 / 0.6);--rule:rgb(29 26 58 / 0.2);--paint:#1d1a3a;--paint-body:#2b2850;--paint-dim:#4e4878;--amber:#a8392b;--amber-line:#e07a4f;--card:rgb(255 252 247 / 0.5);--card-hover:rgb(255 252 247 / 0.8);--sky-edge:#9fb1dc;--lake-edge:#c3c8e2;color-scheme:light}[data-theme=light][data-day=amber]{--board:#f6ead2;--sky-top:#c9d6dc;--shade:rgb(255 248 236 / 0.6);--rule:rgb(42 32 24 / 0.2);--paint:#2a2018;--paint-body:#3a2e24;--paint-dim:#64523f;--amber:#9c3d12;--amber-line:#d9822b;--card:rgb(255 251 242 / 0.5);--card-hover:rgb(255 251 242 / 0.8);--sky-edge:#c9d6dc;--lake-edge:#d8d0bf}[data-theme=light][data-day=clear]{--board:#eef2ec;--sky-top:#8fb8de;--shade:rgb(255 255 255 / 0.55);--rule:rgb(20 33 43 / 0.2);--paint:#14212b;--paint-body:#22313c;--paint-dim:#4b5d6a;--amber:#a8401c;--amber-line:#e0a43c;--card:rgb(255 255 255 / 0.5);--card-hover:rgb(255 255 255 / 0.8);--sky-edge:#8fb8de;--lake-edge:#bccddb}[data-theme=light][data-day=frost]{--board:#eef2f6;--sky-top:#b9cce0;--shade:rgb(255 255 255 / 0.6);--rule:rgb(18 28 42 / 0.2);--paint:#121c2a;--paint-body:#1f2b3b;--paint-dim:#4a5a70;--amber:#1c5fa8;--amber-line:#5b9bd5;--card:rgb(255 255 255 / 0.55);--card-hover:rgb(255 255 255 / 0.85);--sky-edge:#b9cce0;--lake-edge:#c8d5e2}:root,[data-theme=dark]{--flap:color-mix(in srgb, var(--paint) 7%, var(--board));--flap-lit:color-mix(in srgb, var(--paint) 11%, var(--board));--flap-edge:transparent;--tile:color-mix(in srgb, var(--paint) 13%, var(--board));--tile-edge:transparent;--rail:color-mix(in srgb, var(--paint) 5%, var(--board));--well:color-mix(in srgb, #000 30%, var(--board));--on-amber:var(--board);--scrim:rgb(0 0 0 / 0.62);--flap-ink:var(--paint);--flap-dim:var(--paint-dim);--flap-accent:var(--amber);--remark-tile:var(--tile);--remark-ink:var(--flap-accent);--code-accent:var(--amber);--code-bg:var(--tile);--code-edge:transparent}[data-theme=light]{--flap:color-mix(in srgb, #fff 55%, var(--board));--flap-lit:color-mix(in srgb, #fff 80%, var(--board));--flap-edge:color-mix(in srgb, var(--paint) 24%, transparent);--tile:color-mix(in srgb, #fff 70%, var(--board));--tile-edge:color-mix(in srgb, var(--paint) 16%, transparent);--rail:var(--flap);--well:color-mix(in srgb, #fff 35%, var(--board));--on-amber:var(--paint);--scrim:rgb(20 20 20 / 0.28);--flap-accent:var(--paint);--remark-tile:var(--amber-line);--remark-ink:var(--paint);--code-edge:var(--tile-edge)}:root{--page-bottom:var(--board)}:root[data-edge=water]{--page-bottom:var(--lake-edge)}:root{--display:"Overpass", "Arial Narrow", sans-serif;--text:"Barlow", system-ui, sans-serif;--mono:"JetBrains Mono", ui-monospace, monospace;--gutter:clamp(16px, 2.8vw, 40px);--head-h:57px}*,*::before,*::after{box-sizing:border-box}html{background-color:var(--sky-edge);image-rendering:pixelated;color:var(--paint);-webkit-text-size-adjust:100%;scrollbar-color:var(--tile)var(--board);scrollbar-width:none}html[data-overscroll=end]{background-color:var(--page-bottom)}html::-webkit-scrollbar{display:none}body{isolation:isolate;background-color:var(--sky-edge);image-rendering:auto;margin:0;font-family:var(--text);font-size:18px;line-height:1.6;-webkit-font-smoothing:antialiased}html[data-overscroll=end] body{background-color:var(--page-bottom)}img,svg{max-width:100%}::selection{background:var(--amber-line);color:var(--on-amber)}a{color:inherit}button{font:inherit;color:inherit}:focus-visible{outline:2px solid var(--amber-line);outline-offset:3px;border-radius:2px}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.skip-link{position:absolute;left:var(--gutter);top:-60px;z-index:20;padding:10px 14px;border-radius:3px;background:var(--amber-line);color:var(--on-amber);font:800 14px/1 var(--display);letter-spacing:.08em;text-transform:uppercase;text-decoration:none}.skip-link:focus{top:12px}.board{display:flex;flex-direction:column;min-height:100vh;padding:0 var(--gutter)}.board>*{flex:none}.board>main{flex:1 0 auto;padding-bottom:96px}.board>main:focus{outline:none}@media(prefers-reduced-motion:no-preference){@view-transition{navigation: auto; }}.head{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:22px 0 16px;border-bottom:1px solid var(--rule);font:800 16px/1 var(--display);letter-spacing:.07em;text-transform:uppercase}.head a{text-decoration:none}.head .mark{color:var(--paint-dim)}.head nav{display:flex;align-items:center;gap:clamp(16px,2.6vw,36px)}.head nav a:hover,.head .mark:hover,.head button:hover{color:var(--amber)}.head nav [aria-current=page]{color:var(--amber);text-decoration:underline 2px var(--amber-line);text-underline-offset:7px}.head button{display:inline-flex;align-items:center;gap:8px;padding:0;border:0;background:0 0;font:inherit;letter-spacing:inherit;text-transform:inherit;cursor:pointer}.head .mode{color:var(--paint-dim)}.head .phone{display:none}kbd{font:700 11px/1 var(--mono);letter-spacing:0;padding:4px 5px 3px;border-radius:3px;background:var(--tile);box-shadow:inset 0 0 0 1px var(--tile-edge);color:var(--flap-dim)}.path{margin:28px 0 0;font:13px/1.4 var(--mono);color:var(--paint-dim);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.path a{text-decoration:none}.path a:hover{color:var(--amber)}.path [aria-current]{color:var(--paint)}.path .sep{margin:0 8px;color:var(--rule)}.lede{max-width:62ch;margin:18px 0 0;font:19px/1.55 var(--text);color:var(--paint-dim)}.lede p{margin:0}.empty{max-width:62ch;margin-top:28px;color:var(--paint-dim)}.empty p{margin:0}.empty p+p{margin-top:.4em}.btns{display:flex;flex-wrap:wrap;gap:10px;margin-top:28px}.btn{display:inline-flex;align-items:center;height:46px;padding:0 18px;border:0;border-radius:3px;font:800 15px/1 var(--display);letter-spacing:.08em;text-transform:uppercase;text-decoration:none;background:var(--flap);color:var(--flap-ink);box-shadow:inset 0 0 0 1px var(--flap-edge);cursor:pointer}.btn:hover{background:var(--flap-lit);color:var(--flap-accent)}.foot{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px 32px;padding:22px 0 32px;border-top:1px solid var(--rule)}.foot nav{display:flex;flex-wrap:wrap;gap:8px 28px;font:800 14px/1 var(--display);letter-spacing:.08em;text-transform:uppercase}.foot nav a{text-decoration:none}.foot nav a:hover{color:var(--amber)}.foot .meta{display:flex;flex-wrap:wrap;align-items:center;gap:8px 24px;margin:0;font:12px/1 var(--mono);color:var(--paint-dim)}.bug{padding:0;border:0;background:0 0;font:inherit;color:inherit;cursor:pointer}.bug:hover{color:var(--paint)}.bug sup{position:relative;top:-.5em;font-size:.75em;line-height:0;vertical-align:baseline}.bug .reveal,.bug[aria-pressed=true] .default{display:none}.bug[aria-pressed=true] .reveal{display:inline}.progress{--reading-safe-top:env(safe-area-inset-top, 0px);position:sticky;top:0;height:12px;margin:-8px calc(-1 * var(--gutter))0;padding:4px 0;border-bottom:1px solid var(--rule);background:var(--board);z-index:5;pointer-events:none;visibility:hidden}.progress[data-visible=true]{visibility:visible}.progress::before{content:"";position:absolute;inset:4px 0 auto;height:3px;background:var(--rule)}.progress span{position:relative;display:block;height:3px;background:var(--amber-line);transform:scaleX(var(--reading-progress,0));transform-origin:0 50%}.article{display:grid;grid-template-columns:minmax(0,70ch)minmax(220px,280px);justify-content:center;column-gap:clamp(48px,6vw,112px);font-size:clamp(18px,.35vw + 14px,21px)}.article-head{grid-column:1/-1}.article-head .title{margin:22px 0 0;max-width:24ch;font:800 clamp(34px,4vw,56px)/1.04 var(--display);letter-spacing:-.01em;text-wrap:balance}.article-head .summary{margin:16px 0 0;max-width:56ch;font:1.1em/1.5 var(--text);color:var(--paint-dim)}.prose{margin-top:44px;font:1em/1.7 var(--text);color:var(--paint-body)}.prose>*{margin-top:0;margin-bottom:0}.prose>*+*{margin-top:1.1em}.prose h2{margin-top:2.4em;font:800 30px/1.15 var(--display);letter-spacing:-.005em;color:var(--paint);scroll-margin-top:24px}.prose h3{margin-top:2em;font:800 22px/1.2 var(--display);color:var(--paint);scroll-margin-top:24px}.prose h4{margin-top:1.8em;font:800 14px/1 var(--display);letter-spacing:.1em;text-transform:uppercase;color:var(--paint-dim);scroll-margin-top:24px}.prose h2+*,.prose h3+*,.prose h4+*{margin-top:.6em}.prose a{color:var(--paint);text-decoration:underline;text-decoration-color:var(--amber-line);text-decoration-thickness:1px;text-underline-offset:4px}.prose a:hover{color:var(--amber)}.prose strong{color:var(--paint);font-weight:600}.prose ul,.prose ol{padding-left:1.2em}.prose li+li{margin-top:.35em}.prose li::marker{color:var(--paint-dim)}.prose :not(pre)>code{font:.84em/1 var(--mono);padding:2px 5px;border-radius:3px;background:var(--code-bg);box-shadow:inset 0 0 0 1px var(--code-edge);color:var(--paint)}.prose hr{border:0;height:1px;background:var(--rule);margin:2.4em 0}.prose img{display:block;width:auto;max-width:100%;height:auto;border-radius:4px}.prose table{border-collapse:collapse;font-size:16px}.prose th,.prose td{padding:8px 12px;border-bottom:1px solid var(--rule);text-align:left}.prose blockquote{margin-left:0;margin-right:0;padding:4px 0 4px 20px;box-shadow:inset 1px 0 0 var(--rule);color:var(--paint-dim)}.alert{margin-left:0;margin-right:0;padding:18px 22px 20px;border:1px solid var(--rule);border-radius:4px;background:var(--well);color:var(--paint-body);font-size:.9em;line-height:1.6}.alert .label{display:inline-block;margin:0 0 10px;padding:4px 7px 2px;border-radius:2px;background:var(--code-bg);box-shadow:inset 0 0 0 1px var(--code-edge);color:var(--paint);font:800 12px/1 var(--display);letter-spacing:.1em;text-transform:uppercase}.alert-important .label,.alert-warning .label,.alert-caution .label{background:var(--amber-line);color:var(--on-amber);box-shadow:none}.alert p{margin:0}.alert p+p{margin-top:.7em}.code{margin-inline:0;border-radius:4px;overflow:hidden;background:var(--well);border:1px solid var(--rule)}.code .bar{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:9px 14px;background:var(--rail);border-bottom:1px solid var(--rule);font:12px/1 var(--mono);color:var(--paint-dim)}.code .bar b{margin-right:10px;color:var(--paint);font-weight:700}.code .copy{padding:5px 8px 3px;border:0;border-radius:2px;background:var(--tile);box-shadow:inset 0 0 0 1px var(--tile-edge);color:var(--flap-dim);font:800 11px/1 var(--display);letter-spacing:.1em;text-transform:uppercase;cursor:pointer}.code .copy:hover,.code .copy.done{color:var(--flap-accent)}.code pre{margin:0;padding:16px 18px;overflow-x:auto;font:14px/1.65 var(--mono);color:var(--paint);background:0 0!important;tab-size:2}.code pre code{font:inherit}.chroma .c,.chroma .c1,.chroma .cm,.chroma .ch,.chroma .cs,.chroma .cp{color:var(--paint-dim)}.chroma .s,.chroma .s1,.chroma .s2,.chroma .sb,.chroma .sc,.chroma .sd,.chroma .se,.chroma .sh,.chroma .si,.chroma .sx,.chroma .sr,.chroma .ss,.chroma .m,.chroma .mi,.chroma .mf,.chroma .mh,.chroma .il,.chroma .l,.chroma .ld{color:var(--code-accent)}.chroma .k,.chroma .kc,.chroma .kd,.chroma .kn,.chroma .kp,.chroma .kr,.chroma .kt,.chroma .nt,.chroma .na,.chroma .nb,.chroma .nf,.chroma .nc{color:var(--paint);font-weight:700}.chroma .p,.chroma .o,.chroma .ow{color:var(--paint-dim)}.chroma .nv,.chroma .vg,.chroma .vi{color:var(--paint)}.chroma .gd{color:var(--paint-dim);text-decoration:line-through}.chroma .gi{color:var(--code-accent)}.goat{padding:22px;overflow-x:auto;background:var(--well);border:1px solid var(--rule);border-radius:4px;color:var(--paint-dim)}.goat svg{display:block;width:max(100%,368px);max-width:none;height:auto;font-size:12px}.goat svg text{font-family:var(--mono)}.prose details{border:1px solid var(--rule);border-radius:4px;padding:0 20px}.prose summary{padding:14px 0;cursor:pointer;font:800 14px/1.2 var(--display);letter-spacing:.08em;text-transform:uppercase;color:var(--paint)}.prose details[open] summary{border-bottom:1px solid var(--rule);margin-bottom:14px}.prose details>div{padding-bottom:16px}.toc{position:sticky;top:28px;align-self:start;margin-top:44px}.toc p{margin:0 0 14px;font:800 12px/1 var(--display);letter-spacing:.1em;text-transform:uppercase;color:var(--paint-dim)}.toc ul{list-style:none;margin:0;padding:0}.toc>nav>ul{border-top:1px solid var(--rule)}.toc li{border-bottom:1px solid var(--rule)}.toc li li{border:0;border-top:1px solid var(--rule)}.toc a{display:block;padding:10px 0;font:15px/1.35 var(--text);color:var(--paint-dim);text-decoration:none}.toc li li a{padding-left:14px;font-size:14px}.toc a:hover{color:var(--paint)}.toc a[aria-current]{color:var(--paint);font-weight:600}.comments{margin-top:64px}.comments h2{margin:0 0 14px;font:800 13px/1 var(--display);letter-spacing:.08em;text-transform:uppercase;color:var(--paint-dim)}.comments .state{padding:20px 22px;border:1px solid var(--rule);border-radius:4px;color:var(--paint-dim)}.comments .state p{margin:0}.comments .state .btns{margin-top:14px}.palette{width:min(680px,calc(100vw - 2 * var(--gutter)));max-height:min(560px,76vh);margin:12vh auto auto;padding:0;border:1px solid var(--rule);border-radius:6px;background:var(--board);color:var(--paint);box-shadow:0 30px 60px -20px rgb(0 0 0/.55);overflow:hidden}.palette[open]{display:flex;flex-direction:column}.palette::backdrop{background:var(--scrim)}.palette .q{display:flex;align-items:center;gap:12px;padding:14px 20px;border-bottom:1px solid var(--rule)}.palette .q input{flex:1;min-width:0;padding:4px 0;border:0;background:0 0;color:var(--paint);font:18px/1.2 var(--mono);caret-color:var(--amber-line);outline:none}.palette .q input::placeholder{color:var(--paint-dim)}.palette .results{flex:1;overflow-y:auto;padding:8px 10px}.palette ul{list-style:none;margin:0;padding:0}.palette .item{display:flex;align-items:baseline;gap:14px;padding:11px 10px;border-radius:3px;text-decoration:none;font:800 16px/1.2 var(--display);letter-spacing:.04em;text-transform:uppercase}.palette .item small{font:12px/1 var(--mono);letter-spacing:0;text-transform:none;color:var(--paint-dim);white-space:nowrap}.palette .item .kind{margin-left:auto;font:800 11px/1 var(--display);letter-spacing:.1em;color:var(--paint-dim)}.palette .item:hover,.palette .item:focus-visible{background:var(--flap);box-shadow:inset 0 0 0 1px var(--flap-edge);outline:none}.palette .item:focus-visible .kind{padding:4px 6px 2px;border-radius:2px;color:var(--remark-ink);background:var(--remark-tile);box-shadow:inset 0 0 0 1px var(--tile-edge)}.palette .none{margin:12px 10px;color:var(--paint-dim)}.palette .keys{display:flex;flex-wrap:wrap;gap:18px;padding:12px 20px;border-top:1px solid var(--rule);font:12px/1 var(--mono);color:var(--paint-dim)}.theme-menu{position:relative}.theme-btn canvas{width:24px;height:14px;image-rendering:pixelated;border-radius:1px;box-shadow:0 0 0 1px var(--rule)}.theme-btn[aria-expanded=true]{color:var(--paint)}.theme-panel{position:absolute;right:0;top:calc(100% + 16px);z-index:30;width:420px;padding:18px 18px 16px;border-radius:4px;background:var(--board);box-shadow:0 0 0 1px var(--rule),0 16px 40px rgb(0 0 0/.28);font:14px/1.4 var(--text);letter-spacing:0;text-transform:none}.theme-h{display:block;margin:18px 0 10px;font:800 12px/1 var(--display);letter-spacing:.08em;text-transform:uppercase;color:var(--paint-dim)}.theme-h:first-child{margin-top:0}.seg{display:grid;grid-template-columns:repeat(3,1fr);gap:2px;padding:2px;border-radius:4px;box-shadow:inset 0 0 0 1px var(--rule)}.head .seg button{justify-content:center;padding:9px 0 8px;border-radius:2px;font:800 12px/1 var(--display);letter-spacing:.08em;text-transform:uppercase;color:var(--paint-dim)}.head .seg button[aria-pressed=true]{background:var(--paint);color:var(--board)}.tiles{display:grid;grid-template-columns:repeat(5,1fr);gap:10px}.head .tile{display:grid;gap:7px;justify-items:start;color:var(--paint-body);font:600 13px/1.15 var(--text);letter-spacing:0;text-transform:none;text-align:left}.tile canvas{display:block;width:100%;height:auto;image-rendering:pixelated;border-radius:2px;box-shadow:0 0 0 1px var(--rule)}.tile[aria-pressed=true] canvas{box-shadow:0 0 0 2px var(--paint)}.tile[aria-pressed=true] span{color:var(--paint);text-decoration:underline 2px var(--amber-line);text-underline-offset:4px}.tile[data-now] canvas{box-shadow:0 0 0 2px var(--paint-dim);outline:1px dashed var(--paint-dim);outline-offset:3px}.theme-note{margin:16px 0 0;font:13px/1.4 var(--text);color:var(--paint-dim)}.home{background-image:var(--sky-frame,none),linear-gradient(var(--sky-edge),var(--sky-edge) 50%,var(--page-bottom) 50%);background-repeat:no-repeat;background-position:50% 0,0 0;background-size:100%,100% 100%}.pixel-scene{position:absolute;inset:0;z-index:-1;overflow:hidden;pointer-events:none}.pixel-scene canvas{display:block;width:100%;image-rendering:pixelated}.pixel-scene--document{position:absolute;inset:0 auto auto 0;width:100%;overflow-x:clip;overflow-y:visible}.pixel-scene--document canvas{position:absolute;inset:0 auto auto 0}.pixel-scene--document>canvas{z-index:0}.pixel-scene--document>.scene-sky-motion{z-index:1}.pixel-scene--document>.scene-clouds{z-index:1;animation-name:scene-cloud-drift;animation-iteration-count:infinite}.pixel-scene--document>.scene-land{z-index:2}.pixel-scene--document>.scene-lights{z-index:3}.pixel-scene--document>.scene-motion{z-index:4}@keyframes scene-cloud-drift{to{transform:translateX(-50%)}}@media(prefers-reduced-motion:reduce){.pixel-scene--document>.scene-clouds{animation:none}}.home .head,.home .foot{border-color:transparent}.p-first{min-height:calc(100svh - var(--head-h));padding-top:clamp(28px,7vh,80px)}.p-name{margin:0;font:800 clamp(40px,7vw,104px)/.94 var(--display);letter-spacing:-.015em;color:var(--paint);text-shadow:0 .05em 0 var(--shade);text-wrap:balance}.p-name span{display:block}.p-role{margin:clamp(14px,2.2vh,24px)0 0;font:500 clamp(19px,1.7vw,25px)/1.3 var(--text);color:var(--paint-body);text-shadow:0 2px 0 var(--shade)}.p-posts{max-width:920px;padding-top:clamp(36px,5vh,56px)}.p-posts h2,.coda h2{margin:0 0 14px;font:800 13px/1 var(--display);letter-spacing:.08em;text-transform:uppercase;color:var(--paint-dim)}.p-list{margin:0;padding:0;list-style:none;border-top:1px solid var(--rule)}.p-list>li{position:relative;display:grid;gap:10px;padding:20px 0 22px;border-bottom:1px solid var(--rule)}.p-list .t{font:700 clamp(21px,2vw,28px)/1.22 var(--display);color:var(--paint);text-wrap:balance;text-decoration:none}.p-list .t::after{content:"";position:absolute;inset:0}.p-list .m{display:flex;flex-wrap:wrap;gap:6px 18px;font:13px/1 var(--mono);color:var(--paint-dim)}.p-list .m a{position:relative;z-index:1;color:var(--paint-body);text-decoration:underline 1px var(--amber-line);text-underline-offset:3px}.p-list .m a:hover{color:var(--amber)}.p-list>li:hover:not(:has(.m a:hover)) .t{color:var(--amber)}.p-list>li:has(.t:focus-visible){outline:2px solid var(--amber-line);outline-offset:3px;border-radius:2px}.p-list .t:focus-visible{outline:none}.p-all{display:inline-block;margin-top:20px;font:800 14px/1 var(--display);letter-spacing:.08em;text-transform:uppercase;color:var(--paint);text-decoration:underline 2px var(--amber-line);text-underline-offset:7px}.p-all:hover{color:var(--amber)}.coda{display:grid;grid-template-columns:minmax(0,1.15fr)minmax(0,1fr);gap:32px clamp(32px,6vw,96px);margin-top:64px;padding-top:28px;border-top:1px solid var(--rule)}@media(max-width:1100px){.coda{grid-template-columns:1fr}}.coda h2{margin-bottom:16px}.about{container-type:inline-size}.about-copy{display:flex;align-items:flex-start;gap:20px}.about-portrait-frame{position:relative;flex:none;width:208px;aspect-ratio:208/256;line-height:0}.about-portrait-src{display:block;width:100%;height:100%;object-fit:cover;object-position:56% 42%;opacity:0}.about-portrait{position:absolute;inset:0;width:100%;height:100%;image-rendering:pixelated}@container(max-width:480px){.about-copy { flex-direction: column; }
  .about-portrait-frame { width: 208px !important; height: auto !important; aspect-ratio: 208 / 256; }
}.coda p{margin:0;max-width:60ch;font:19px/1.65 var(--text);color:var(--paint-body)}.gates-list{display:grid;gap:6px;margin:0;padding:0;list-style:none}.gates-list a{display:grid;grid-template-columns:auto 1fr;gap:4px 12px;padding:14px 16px;border-radius:3px;background:var(--card);box-shadow:inset 0 0 0 1px var(--rule);color:var(--paint);text-decoration:none}.gates-list a:hover{background:var(--card-hover)}.gates-list a:hover span{color:var(--amber)}.gates-list small{grid-row:1/3;align-self:center;min-width:2.6em;font:700 11px/1 var(--mono);color:var(--paint-body)}.gates-list span{font:800 17px/1.1 var(--display);letter-spacing:.07em;text-transform:uppercase}.gates-list em{font:12px/1.2 var(--mono);font-style:normal;color:var(--paint-dim);overflow-wrap:anywhere}.skyline-room{height:420px}.home .board{position:relative}.home .foot{container-type:inline-size;position:absolute;bottom:0;left:var(--gutter);right:var(--gutter);z-index:1;height:var(--lake-h,48px);margin:0;padding:0;border:0;flex-wrap:nowrap;gap:8px clamp(8px,2vw,32px);background:0 0}@media(min-width:1801px){.home .foot{height:var(--lake-h,64px)}}.home .foot .meta{font-size:13px;font-size:clamp(8px,2.7cqi,13px);line-height:1;color:var(--paint-body);white-space:nowrap;text-shadow:0 1px 0 var(--shade)}.inner{background-image:var(--sky-frame,none),linear-gradient(var(--sky-edge),var(--sky-edge) 50%,var(--page-bottom) 50%);background-repeat:no-repeat;background-position:50% 0,0 0;background-size:100%,100% 100%}.inner .head{border-bottom-color:transparent}.i-band.p-first{min-height:clamp(130px,22svh,220px);padding:0}.inner .board>main{display:flex;flex-direction:column;padding-bottom:0}.i-solid{flex:1 0 auto;margin:0 calc(-1 * var(--gutter));padding:8px var(--gutter)96px;background:var(--board)}.inner .board>.foot{margin:0 calc(-1 * var(--gutter));padding-inline:var(--gutter);background:var(--board)}.i-head .title{margin:22px 0 0;max-width:24ch;font:800 clamp(34px,4.2vw,58px)/1.04 var(--display);letter-spacing:-.01em;text-wrap:balance}.i-head .lede{margin-top:16px}.i-meta{display:flex;flex-wrap:wrap;gap:6px 18px;margin:20px 0 0;font:13px/1.5 var(--mono);color:var(--paint-dim)}.i-meta a{color:var(--paint-body);text-decoration:underline 1px var(--amber-line);text-underline-offset:3px}.i-meta a:hover{color:var(--amber)}.i-group{max-width:920px;margin-top:clamp(32px,5vh,56px)}.i-group h2{margin:0 0 14px;font:800 13px/1 var(--display);letter-spacing:.08em;text-transform:uppercase;color:var(--paint-dim)}.p-list .s{max-width:70ch;font:16px/1.5 var(--text);color:var(--paint-dim)}.i-tags .t{font-size:clamp(20px,1.8vw,24px)}.i-group .p-all,.i-next .p-all{margin-top:22px}.i-next{margin-top:56px;padding-top:24px;border-top:1px solid var(--rule)}.i-next .p-list{border-top:0}.i-links{display:flex;flex-wrap:wrap;gap:14px 32px;margin:28px 0 0}.i-links .p-all{margin:0}.nf-search{padding:0;border:0;background:0 0;cursor:pointer}.nf-search kbd{margin-left:6px}@media(pointer:coarse){.nf-search kbd{display:none}}.not-found .i-band.p-first{min-height:clamp(180px,34svh,340px)}.nf-grid{display:grid;grid-template-columns:minmax(0,1fr)minmax(0,1fr);align-items:center;gap:24px}.nf-digits{justify-self:end;width:min(100%,520px);height:auto;margin-top:18px}.nf-digits text{font:800 200px var(--display);fill:var(--amber)}.nf-digits .s{fill:var(--amber-line)}.nf-recent{max-width:920px;margin-top:56px;padding-top:24px;border-top:1px solid var(--rule)}.nf-recent h2{margin:0 0 8px;font:800 13px/1 var(--display);letter-spacing:.08em;text-transform:uppercase;color:var(--paint-dim)}@media(max-width:760px){.nf-grid{grid-template-columns:minmax(0,1fr)}.nf-digits{order:-1;justify-self:start;width:min(100%,300px);margin:18px 0 0}:root{--head-h:55px}.head .wide,.head .desk{display:none}.head .phone{display:inline}.article{grid-template-columns:minmax(0,1fr)}.article-head{order:-2}.toc{position:static;order:-1;margin-top:28px}.toc li li{display:none}.toc a{padding:8px 0}.prose h2{font-size:25px}.goat{padding:14px}.code pre{font-size:12.5px}.palette{margin-top:6vh}}@media(max-width:640px){.theme-panel{position:fixed;left:12px;right:12px;top:64px;width:auto}}@media(pointer:coarse){.head .mark,.head nav>a,.head nav>button,.head .theme-btn{padding-block:16px;margin-block:-16px}}@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}.palette .close{padding:0;border:0;background:0 0;cursor:pointer}.palette .close:hover kbd{color:var(--flap-ink)}.head .mark[aria-current]{text-decoration:none}[hidden]{display:none!important}.palette .q input{-webkit-appearance:none;appearance:none}.palette .q input::-webkit-search-cancel-button{display:none}@media(max-width:460px){.head{gap:.6em;letter-spacing:.04em;font-size:clamp(12px,3.9vw,16px)}.head nav{gap:.75em}}@media(max-width:420px){.theme-btn canvas{display:none}}@media(pointer:coarse){.foot nav a,.foot .bug,.p-all,.path a,.code .copy{position:relative}.foot nav a::after,.p-all::after{content:"";position:absolute;inset:-15px -8px}.foot .bug::after{content:"";position:absolute;inset:0 -8px -32px}.path a::after{content:"";position:absolute;inset:-14px -8px}.code .copy::after{content:"";position:absolute;inset:-13px -8px}.p-list .m a::after{content:"";position:absolute;inset:-10px -8px -21px}.foot nav,.i-links{row-gap:30px}.path{margin:14px 0 -14px;padding-block:14px}}