@font-face{font-family:Geist Mono Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/geist-mono-cyrillic-ext-wght-normal.X_5orZeX.woff2) format("woff2-variations");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Geist Mono Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/geist-mono-cyrillic-wght-normal.DiZS0aHC.woff2) format("woff2-variations");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Geist Mono Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/geist-mono-symbols2-wght-normal.CO5SzqOn.woff2) format("woff2-variations");unicode-range:U+2000-2001,U+2004-2008,U+200A,U+23B8-23BD,U+2500-259F}@font-face{font-family:Geist Mono Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/geist-mono-vietnamese-wght-normal.DadHysG0.woff2) format("woff2-variations");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Geist Mono Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/geist-mono-latin-ext-wght-normal.Bwz-egvJ.woff2) format("woff2-variations");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,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:Geist Mono Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/geist-mono-latin-wght-normal.XN7g48iV.woff2) format("woff2-variations");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--font: "Geist Mono Variable", ui-monospace, "Cascadia Mono", Consolas, monospace;--gutter: clamp(16px, 4vw, 48px);--max: 1120px;--m-asc: 1.005;--m-desc: .295;--m-cap: .71875;--paper: #f1eee4;--ink: #0e0e0d;--plate: #faf8f2;--plate-muted: #5a564c;--accent: #c4301a;--accent-lit: #ff6a4d;--accent-tint: #f2cfc4}.on-dark{--bg: var(--ink);--fg: var(--paper);--muted: #a8a398;--line: var(--paper);--mark: var(--accent-lit);--rule: rgba(241, 238, 228, .28);--cross: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='15' height='15'%3E%3Cpath d='M7.5 0V15M0 7.5H15' stroke='%23F1EEE4' stroke-opacity='.55' fill='none'/%3E%3C/svg%3E")}.on-light{--bg: var(--paper);--fg: var(--ink);--muted: #5a564c;--line: var(--ink);--mark: var(--accent);--rule: rgba(14, 14, 13, .3);--cross: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='15' height='15'%3E%3Cpath d='M7.5 0V15M0 7.5H15' stroke='%230E0E0D' stroke-opacity='.55' fill='none'/%3E%3C/svg%3E")}*,*:before,*:after{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:64px;-webkit-text-size-adjust:100%}body{margin:0;background:var(--ink);color:var(--paper);font-family:var(--font);font-size:15px;line-height:1.65;-webkit-font-smoothing:antialiased}@media(min-width:720px){body{font-size:16px}}@media(max-width:700px){html{scroll-padding-top:96px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}a{color:inherit;text-decoration-thickness:1px;text-underline-offset:4px}:focus-visible{outline:2px dashed var(--fg, var(--paper));outline-offset:4px}.on-dark :focus-visible,.site-header :focus-visible{outline-color:var(--accent-lit)}::selection{background:var(--accent);color:var(--paper)}h1,h2,h3{margin:0;font-weight:600;line-height:1.05;text-transform:uppercase}p{margin:0 0 1em}ul{margin:0;padding:0;list-style:none}.section{position:relative;isolation:isolate;overflow:hidden;background:var(--bg);color:var(--fg);padding:clamp(56px,9vw,112px) var(--gutter)}.section:before,.section:after{content:"";position:absolute;inset:0;pointer-events:none}.section:before{z-index:-2;inset:12px;border:1px solid var(--rule);background:repeating-linear-gradient(90deg,var(--rule) 0 1px,transparent 1px 24px) 0 0 / 100% 6px no-repeat,repeating-linear-gradient(90deg,var(--rule) 0 1px,transparent 1px 24px) 0 100% / 100% 6px no-repeat}.section:after{z-index:-1;background:var(--cross) left 4.5px top 4.5px no-repeat,var(--cross) right 4.5px top 4.5px no-repeat,var(--cross) left 4.5px bottom 4.5px no-repeat,var(--cross) right 4.5px bottom 4.5px no-repeat}@media(max-width:600px){.section:before{inset:8px}.section:after{background:var(--cross) left .5px top .5px no-repeat,var(--cross) right .5px top .5px no-repeat,var(--cross) left .5px bottom .5px no-repeat,var(--cross) right .5px bottom .5px no-repeat}}.wrap{max-width:var(--max);margin:0 auto}.label{display:flex;gap:1ch;align-items:baseline;margin-bottom:14px;font-size:13px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}.label b{color:var(--mark);font-weight:600}.label:after{content:"";flex:1;border-top:1px solid var(--line);opacity:.35;transform:translateY(-3px)}.title{font-size:clamp(2.6rem,10.5vw,7.5rem);letter-spacing:-.035em;line-height:.95;margin-bottom:clamp(32px,6vw,64px)}.title .dec:after{content:"_";color:var(--mark)}.btn{display:inline-block;padding:12px 20px;border:1px solid var(--accent);background:var(--accent);color:var(--paper);text-decoration:none;font:inherit;font-size:14px;letter-spacing:.06em;text-transform:uppercase;cursor:pointer;transition:background .12s,color .12s,transform .08s}.btn:hover{background:var(--bg);color:var(--fg)}.btn:active{transform:translateY(2px)}.btn.ghost{background:transparent;color:var(--fg);border-color:var(--fg)}.btn.ghost:hover{background:var(--fg);color:var(--bg)}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.sr-only:focus{position:fixed;top:8px;left:8px;width:auto;height:auto;clip:auto;z-index:20;background:var(--accent);color:var(--paper);padding:8px 12px}.site-header{position:sticky;top:0;z-index:10;background:var(--ink);color:var(--paper);border-bottom:1px solid var(--paper);--fg: var(--paper);--mark: var(--accent-lit)}.site-header .wrap{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px var(--gutter);max-width:none}.brand{text-decoration:none;font-weight:600;letter-spacing:.06em}.site-header nav{display:flex;flex-wrap:wrap;gap:4px 20px;font-size:13px;letter-spacing:.08em;text-transform:uppercase}.site-header nav a{text-decoration:none;padding:2px 0;border-bottom:1px solid transparent;transition:border-color .12s,color .12s}.site-header nav a:hover{border-bottom-color:var(--accent-lit);color:var(--accent-lit)}.cursor{color:var(--mark)}.on-light .cursor{color:var(--ink)}.js .reveal{opacity:0;transform:translateY(24px);transition:opacity .6s ease,transform .6s ease;transition-delay:calc(var(--i, 0) * 90ms)}.js .reveal.in{opacity:1;transform:none}@media(prefers-reduced-motion:no-preference){.cursor,.title .dec:after{animation:blink 1.1s steps(1) 4}@keyframes blink{50%{opacity:0}}}@media(prefers-reduced-motion:reduce){.js .reveal{opacity:1;transform:none;transition:none}}.no-motion .reveal{opacity:1!important;transform:none!important;transition:none!important}@media print{.js .reveal{opacity:1;transform:none}.backdrop{display:none}}.spec{width:100%;border-collapse:collapse;font-size:14px}.spec th,.spec td{text-align:left;vertical-align:top;padding:10px 14px;border:1px solid var(--line);font-weight:400}.spec th{width:9.5em;text-transform:uppercase;letter-spacing:.06em;font-size:12px}.site-footer{padding:clamp(20px,3vw,32px) var(--gutter);font-size:12px;letter-spacing:.08em;text-transform:uppercase;background:var(--bg);color:var(--fg)}.site-footer small{font-size:inherit}.site-footer .block{display:grid;grid-template-columns:2fr 2fr 1fr;border:1px solid var(--line)}.site-footer .cell{padding:12px 14px}.site-footer .cell+.cell{border-left:1px solid var(--line)}@media(max-width:640px){.site-footer .block{grid-template-columns:1fr}.site-footer .cell+.cell{border-left:0;border-top:1px solid var(--line)}}@media(max-width:520px){.spec th,.spec td{padding:8px 10px}.spec th{font-size:11px;letter-spacing:.04em}}.prose{max-width:44em}.prose ul{display:grid;gap:10px;margin:0 0 1em}.prose li{padding-left:2ch;text-indent:-2ch}.prose ul>li:before{content:"- "}.prose code{border:1px solid var(--line);padding:0 5px;font-size:.9em}.prose h2{font-size:1.1rem;letter-spacing:.04em;margin:2.4em 0 .8em}.prose h2:first-child{margin-top:0}.case{max-width:none;display:grid;grid-template-columns:minmax(0,1fr);counter-reset:sec}.case>*{min-width:0}@media(min-width:800px){.case{grid-template-columns:minmax(0,15em) minmax(0,44em);column-gap:clamp(24px,4vw,56px)}.case>*{grid-column:2}.case>h2{grid-column:1}.case>.fig{grid-column:1 / -1}}.case h2.sec{font-size:clamp(1.15rem,2vw,1.5rem);margin:0 0 1em}.case>p,.case>ul{margin-bottom:1.2em}@media(min-width:800px){.case h2.sec{margin-top:.1em}}.case h2.sec:before{content:counter(sec,decimal-leading-zero) " / " / "";counter-increment:sec;color:var(--muted);display:block;font-size:.7em;letter-spacing:.1em;margin-bottom:.4em}.sec .dec:after{content:"_";color:var(--mark)}@media(prefers-reduced-motion:no-preference){.sec .dec:after{animation:blink 1.1s steps(1) 4}}.legend{display:grid;gap:12px;margin-bottom:1em;list-style:none}.legend li{padding:0;text-indent:0}.badge{display:inline-grid;place-items:center;width:24px;height:24px;border:2px solid var(--ink);background:var(--accent);color:var(--paper);font-weight:600;font-size:12px;margin-right:4px}
