:root{--ground:#0e1321;--ground-lift:#151d2e;--navy:#1c2742;--ink:#f6f3ec;--body:#c2c8d6;--muted:#9aa3b8;--accent:#ad8a4e;--line:#f6f3ec24;--line-strong:#f6f3ec42;--line-control:#9aa3b8;--mod:40px;--lattice-opacity:.08;--lattice-lit-opacity:.4;--mono:var(--font-plex-mono), ui-monospace, SFMono-Regular, Menlo, monospace;--sans:var(--font-plex), system-ui, -apple-system, Segoe UI, sans-serif;--serif:var(--font-caslon), Georgia, "Times New Roman", serif;--mono-arrow:ui-monospace, SFMono-Regular, Menlo, monospace;--t-12:.75rem;--t-13:.8125rem;--t-15:.9375rem;--t-17:1.0625rem;--t-19:1.1875rem;--t-22:1.375rem;--t-28:1.75rem;--t-34:2.125rem;--t-44:2.75rem;--s-1:4px;--s-2:8px;--s-3:12px;--s-4:16px;--s-5:20px;--s-6:24px;--s-7:28px;--s-8:32px;--s-10:40px;--s-12:48px;--s-14:56px;--s-16:64px;--r-control:4px;--s-20:80px;--s-24:96px;--gutter:max(clamp(24px, 12vw - 20px, 240px), calc((100vw - 1040px) / 2));--dur-in:.22s;--dur-out:.15s;--ease-in:cubic-bezier(.22, 1, .36, 1);--ease-out:cubic-bezier(.64, 0, .78, 0)}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{background:var(--ground);color:var(--body);font:400 var(--t-17)/1.65 var(--sans);font-feature-settings:"kern" 1;-webkit-font-smoothing:antialiased;margin:0}a{color:var(--ink);-webkit-text-decoration-color:var(--accent);text-decoration-color:var(--accent);text-underline-offset:3px}@media (hover:hover){a:hover{color:var(--accent)}}.lattice{inset:calc(-1 * var(--mod)) 0 0 0;z-index:0;pointer-events:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='40' height='40'%3E%3Cpath d='M20 16 L24 20 L20 24 L16 20 Z' fill='%23F6F3EC'/%3E%3C/svg%3E");background-size:var(--mod) var(--mod);opacity:var(--lattice-opacity);transform:translate3d(0, var(--sy,0px), 0);will-change:transform;position:fixed}.lattice-lit{inset:calc(-1 * var(--mod)) 0 0 0;z-index:0;pointer-events:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='40' height='40'%3E%3Cpath d='M20 15 L25 20 L20 25 L15 20 Z' fill='%23AD8A4E'/%3E%3C/svg%3E");background-size:var(--mod) var(--mod);opacity:0;transform:translate3d(0, var(--sy,0px), 0);-webkit-mask-image:radial-gradient(120px circle at var(--mx,50%) var(--my,50%), #000 0%, transparent 70%);-webkit-mask-image:radial-gradient(120px circle at var(--mx,50%) var(--my,50%), #000 0%, transparent 70%);mask-image:radial-gradient(120px circle at var(--mx,50%) var(--my,50%), #000 0%, transparent 70%);transition:opacity var(--dur-in) var(--ease-in);will-change:transform, opacity;position:fixed}body.is-pointing .lattice-lit{opacity:var(--lattice-lit-opacity)}.page{z-index:1;position:relative}.visually-hidden{clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.skip{background:var(--ink);color:var(--ground);padding:var(--s-3) var(--s-4);font:500 var(--t-15)/1 var(--mono);z-index:10;position:absolute;top:0;left:-9999px}.skip:focus{left:var(--s-4);top:var(--s-4)}.site-header{justify-content:space-between;align-items:center;gap:var(--s-6);padding:var(--s-5) var(--gutter);border-bottom:1px solid var(--line);flex-wrap:wrap;display:flex}.nav-link{color:var(--body);font:400 var(--t-15)/1 var(--mono);padding:var(--s-2) 0;transition:color var(--dur-in) var(--ease-in), border-color var(--dur-in) var(--ease-in);border-bottom:1px solid #0000;text-decoration:none}@media (hover:hover){.nav-link:hover{color:var(--ink);border-bottom-color:var(--accent)}}.nav-link[aria-current]{color:var(--ink);border-bottom-color:var(--accent)}.tagbar{align-items:center;gap:var(--s-6);padding:0 var(--gutter);border-bottom:1px solid var(--line);scrollbar-width:none;scroll-padding-inline:var(--gutter);display:flex;overflow-x:auto}.tagbar::-webkit-scrollbar{display:none}.tag{min-height:44px;color:var(--muted);font:400 var(--t-12)/1 var(--mono);letter-spacing:.1em;text-transform:uppercase;white-space:nowrap;transition:color var(--dur-in) var(--ease-in), border-color var(--dur-in) var(--ease-in);border-bottom:1px solid #0000;flex:none;align-items:center;margin-bottom:-1px;text-decoration:none;display:inline-flex}@media (hover:hover){.tag:hover{color:var(--ink);border-bottom-color:var(--line-strong)}}.tag[aria-current=true]{color:var(--ink);border-bottom-color:var(--accent)}.band{padding:var(--s-20) var(--gutter)}.band--tight{padding-block:var(--s-12)}.band--rule{border-top:1px solid var(--line)}.eyebrow{color:var(--accent);font:500 var(--t-12)/1.4 var(--mono);letter-spacing:.1em;text-transform:uppercase;margin-bottom:var(--s-4);display:block}h1,h2,h3{color:var(--ink);font-family:var(--mono);letter-spacing:-.01em;font-weight:500}h1{font-size:var(--t-44);margin:0 0 var(--s-6);max-width:22ch;line-height:1.12}h2{font-size:var(--t-28);margin:0 0 var(--s-4);line-height:1.2}h3{font-size:var(--t-19);margin:0 0 var(--s-3);line-height:1.3}.lede{font-size:var(--t-22);color:var(--body);max-width:54ch;margin:0;line-height:1.5}.prose{max-width:68ch}.prose p{margin:0 0 var(--s-6)}.prose a{color:var(--ink);text-decoration:underline;-webkit-text-decoration-color:var(--accent);text-decoration-color:var(--accent);text-underline-offset:3px}@media (hover:hover){.prose a:hover{color:var(--accent)}}.prose ul{margin:0 0 var(--s-6);padding-left:var(--s-6)}.prose li{margin-bottom:var(--s-2)}.prose strong{color:var(--ink);font-weight:500}.prose code{font:400 .9em/1 var(--mono);background:var(--ground-lift);border:1px solid var(--line);padding:2px 5px}.posts{border-bottom:1px solid var(--line);gap:0;display:grid}.post-row[hidden],.empty[hidden]{display:none}.empty{padding:var(--s-8) 0;border-top:1px solid var(--line);color:var(--muted);margin:0}.post-row{gap:var(--s-6);padding:var(--s-8) 0;border-top:1px solid var(--line);color:inherit;transition:background-color var(--dur-in) var(--ease-in);grid-template-columns:172px minmax(0,1fr);align-items:start;text-decoration:none;display:grid}.post-aside{gap:var(--s-1);font:400 var(--t-13)/1.5 var(--mono);color:var(--muted);padding-top:6px;display:grid}.post-aside>span{display:block}.post-title{font:500 var(--t-22)/1.3 var(--mono);color:var(--ink);margin:0 0 var(--s-2);letter-spacing:-.01em;display:block}.post-title:after{content:" →";color:var(--accent);font-family:var(--mono-arrow)}.post-stand{color:var(--body);max-width:62ch;margin:0}.post-meta{margin:var(--s-3) 0 0;font:400 var(--t-13)/1.5 var(--mono);color:var(--muted)}.post-meta span+span:before{content:" · "}@media (hover:hover){.post-row:hover .post-title{color:var(--accent)}}.post-head{border-bottom:1px solid var(--line);padding-bottom:var(--s-8);margin-bottom:var(--s-10)}.post-head h1{max-width:30ch;font-size:var(--t-34)}.pull{margin:var(--s-10) 0;padding-left:var(--s-6);border-left:1px solid var(--accent);font:500 var(--t-22)/1.45 var(--mono);color:var(--ink);max-width:48ch}.steps{counter-reset:step;margin:0 0 var(--s-8);max-width:68ch;padding:0;list-style:none}.steps li{counter-increment:step;gap:var(--s-4);padding:var(--s-4) 0;border-top:1px solid var(--line);grid-template-columns:4ch minmax(0,1fr);display:grid}.steps li:before{content:counter(step, decimal-leading-zero);font:400 var(--t-13)/1.7 var(--mono);color:var(--accent)}div.note{margin:var(--s-10) 0 0;padding:var(--s-6);background:var(--ground-lift);border:1px solid var(--line);font-size:var(--t-15);max-width:68ch}div.note p{margin:0 0 var(--s-3)}div.note p:last-child{margin:0}div.note strong{color:var(--ink)}.pull>p:last-child,.steps li>div>p:last-child{margin-bottom:0}.code{margin:var(--s-8) 0;background:var(--ground-lift);border:1px solid var(--line)}.code-bar{justify-content:space-between;align-items:center;gap:var(--s-4);padding-left:var(--s-5);border-bottom:1px solid var(--line);display:flex}.code-lang{font:400 var(--t-12)/1.5 var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}.code-copy{min-height:44px;padding:0 var(--s-5);color:var(--body);font:400 var(--t-13)/1 var(--mono);letter-spacing:.02em;text-decoration:underline;-webkit-text-decoration-color:var(--line-strong);text-decoration-color:var(--line-strong);text-underline-offset:4px;cursor:pointer;transition:color var(--dur-in) var(--ease-in), text-decoration-color var(--dur-in) var(--ease-in);background:0 0;border:0;align-items:center;display:inline-flex}.code-copy[hidden]{display:none}@media (hover:hover){.code-copy:hover{color:var(--ink);-webkit-text-decoration-color:var(--accent);text-decoration-color:var(--accent)}}.code-copy:focus-visible{outline-offset:-3px}.code pre{padding:var(--s-5);font:400 var(--t-15)/1.6 var(--mono);tab-size:2;scrollbar-width:thin;scrollbar-color:var(--line-strong) transparent;margin:0;overflow-x:auto}.code pre:focus-visible{outline:2px solid var(--line-control);outline-offset:-2px}.code code,.diagram-src code{font:inherit;background:0 0;border:0;padding:0}.diagram{margin:var(--s-8) 0;font-family:var(--mono)}.diagram-svg{padding:var(--s-6) var(--s-5);background:var(--ground-lift);border:1px solid var(--line)}.diagram-svg svg{max-width:100%;height:auto;display:block;background:0 0!important}.diagram-src{padding:var(--s-5);background:var(--ground-lift);border:1px solid var(--line);font:400 var(--t-13)/1.6 var(--mono);color:var(--muted);margin:0;overflow-x:auto}.todo{color:var(--muted);border-bottom:1px dotted var(--line-control);font-style:italic}.spec{margin:0 0 var(--s-10);grid-template-columns:14ch minmax(0,1fr);max-width:68ch;display:grid}.spec dt,.spec dd{padding:var(--s-3) 0;border-top:1px solid var(--line);margin:0}.spec dt{font:400 var(--t-12)/1.5 var(--mono);color:var(--muted);letter-spacing:.08em;text-transform:uppercase}.spec dd{font:400 var(--t-15)/1.5 var(--mono);color:var(--ink)}.spec>:nth-last-child(-n+2){border-bottom:1px solid var(--line)}.post-head+.spec>:nth-child(-n+2){border-top:0}.ftable{border-collapse:collapse;width:100%;margin:0 0 var(--s-10);font-size:var(--t-15);max-width:76ch}.ftable th,.ftable td{text-align:left;vertical-align:top;padding:var(--s-4) var(--s-6) var(--s-4) 0;border-top:1px solid var(--line)}.ftable th:last-child,.ftable td:last-child{padding-right:0}.ftable thead th{border-top:0;border-bottom:1px solid var(--line-strong);padding-block:0 var(--s-3);font:500 var(--t-12)/1.4 var(--mono);color:var(--muted);letter-spacing:.1em;text-transform:uppercase}.ftable tbody th{width:22%;font:500 var(--t-15)/1.5 var(--mono);color:var(--ink)}.ftable tbody tr:last-child>*{border-bottom:1px solid var(--line)}.ftable .sev{font:500 var(--t-13)/1.5 var(--mono);color:var(--ink);white-space:nowrap}.ftable .sev--lower{color:var(--muted);font-weight:400}.stats{gap:var(--s-8) var(--s-16);margin:0 0 var(--s-10);padding:var(--s-2) 0 0;flex-wrap:wrap;display:flex}.stat{display:block}.stat-n{font:500 var(--t-34)/1.1 var(--mono);color:var(--ink);letter-spacing:-.02em;display:block}.stat-c{margin-top:var(--s-2);font-size:var(--t-15);color:var(--muted);max-width:24ch;display:block}.sec{margin-top:var(--s-16)}.spec+.sec,.post-head+.sec{margin-top:0}.share .label{font:400 var(--t-12)/1.5 var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--muted);flex:none}.spec dd.spec-link{padding-block:0}.spec dd.spec-link a{align-items:center;gap:var(--s-2);padding-block:var(--s-3);display:inline-flex}.spec .arrow{color:var(--accent);font-family:var(--mono-arrow);flex:none}.share{align-items:center;gap:var(--s-2) var(--s-6);max-width:68ch;margin:var(--s-12) 0 0;flex-wrap:wrap;display:flex}.sharelink{min-height:44px;color:var(--body);font:400 var(--t-13)/1 var(--mono);letter-spacing:.02em;text-decoration:underline;-webkit-text-decoration-color:var(--line-strong);text-decoration-color:var(--line-strong);text-underline-offset:4px;cursor:pointer;transition:color var(--dur-in) var(--ease-in), text-decoration-color var(--dur-in) var(--ease-in);background:0 0;border:0;align-items:center;padding:0;display:inline-flex}.sharelink[hidden]{display:none}@media (hover:hover){.sharelink:hover{color:var(--ink);-webkit-text-decoration-color:var(--accent);text-decoration-color:var(--accent)}}.cta{background:var(--ground-lift);border-top:1px solid var(--line);gap:var(--s-14);grid-template-columns:minmax(0,1.4fr) minmax(max-content,1fr);align-items:center;display:grid}.cta+.site-footer{border-top:0}main:has(>.cta:last-child)+.site-footer{border-top:0}.cta h2{margin:0 0 var(--s-3)}.cta p{max-width:62ch;color:var(--muted);font-size:var(--t-15);margin:0}.cta-actions{justify-content:flex-end;gap:var(--s-3);flex-wrap:nowrap;display:flex}.btn{min-height:44px;padding:var(--s-3) var(--s-5);border-radius:var(--r-control);cursor:pointer;font:500 var(--t-15)/1.2 var(--mono);letter-spacing:.02em;text-align:center;white-space:nowrap;transition:background-color var(--dur-in) var(--ease-in), border-color var(--dur-in) var(--ease-in), color var(--dur-in) var(--ease-in);border:1px solid #0000;justify-content:center;align-items:center;text-decoration:none;display:inline-flex}.btn--ghost{border-color:var(--line-control);color:var(--ink)}.btn--navy{background:var(--navy);border-color:var(--ink);color:var(--ink)}@media (hover:hover){.btn--ghost:hover{border-color:var(--ink);background:#f6f3ec14}.btn--navy:hover{background:#233052}}.site-footer{border-top:1px solid var(--line)}.footer-grid{padding:var(--s-14) var(--gutter) 0}.foot-brand{gap:var(--s-4);flex-direction:column;align-items:flex-start;display:flex}.foot-about{max-width:34ch;font-size:var(--t-15);color:var(--muted);margin:0;line-height:1.5}.foot-col{gap:var(--s-3);flex-direction:column;display:flex}.foot-col h2{font:600 var(--t-15)/1.4 var(--sans);letter-spacing:0;text-transform:none;color:var(--ink);margin:0}.foot-col ul{margin:0;padding:0;list-style:none}.foot-col li{font-size:var(--t-15);padding:2px 0;line-height:1.5}.foot-col a{color:var(--body);text-decoration:none}@media (hover:hover){.foot-col a:hover{color:var(--ink);text-decoration:underline;-webkit-text-decoration-color:var(--accent);text-decoration-color:var(--accent);text-underline-offset:.18em}}.legal{margin-top:var(--s-12);padding:var(--s-5) var(--gutter) var(--s-7);border-top:1px solid var(--line);font-size:var(--t-13);color:var(--muted)}.legal>span{padding-block:var(--s-3)}.legal a{min-height:44px;color:var(--muted);font:400 var(--t-13)/1 var(--mono);text-underline-offset:4px;transition:color var(--dur-in) var(--ease-in), text-decoration-color var(--dur-in) var(--ease-in);align-items:center;-webkit-text-decoration:underline #0000;text-decoration:underline #0000;display:inline-flex}@media (hover:hover){.legal a:hover{color:var(--ink);-webkit-text-decoration-color:var(--accent);text-decoration-color:var(--accent)}}:where(a,button,input,summary):focus-visible{outline:2px solid var(--line-control);outline-offset:3px}@media (max-width:1024px){.cta{gap:var(--s-6);grid-template-columns:minmax(0,1fr)}.cta-actions{justify-content:flex-start}}@media (max-width:768px){:root{--t-44:2.125rem;--t-34:1.75rem;--t-28:1.5rem}.band{padding-block:var(--s-12)}.post-row{gap:var(--s-2);grid-template-columns:minmax(0,1fr)}.post-aside{justify-content:start;gap:0 var(--s-2);grid-auto-flow:column;padding-top:0}.post-aside>span+span:before{content:"·";padding-right:var(--s-2)}.site-header{padding-block:var(--s-4)}.tagbar{gap:var(--s-4)}.spec{grid-template-columns:minmax(0,1fr)}.spec dt{padding-bottom:0}.spec dd{padding-top:var(--s-1);border-top:0}.spec>:nth-last-child(-n+2){border-bottom:0}.spec dd:last-child{border-bottom:1px solid var(--line);padding-bottom:var(--s-3)}.ftable thead{display:none}.ftable,.ftable tbody,.ftable tr,.ftable th,.ftable td{width:auto;display:block}.ftable tr{border-top:1px solid var(--line);padding:var(--s-4) 0}.ftable th,.ftable td{padding:0 0 var(--s-2);border-top:0}.ftable tbody tr:last-child>*{border-bottom:0}.ftable tbody tr:last-child{border-bottom:1px solid var(--line)}.ftable td:last-child{padding-bottom:0}.ftable td:before{content:attr(data-label);font:400 var(--t-12)/1.5 var(--mono);color:var(--muted);letter-spacing:.08em;text-transform:uppercase;display:block}.stats{gap:var(--s-6) var(--s-12)}.code-bar{padding-left:var(--s-4)}.code pre{padding:var(--s-4);font-size:var(--t-13)}.diagram-svg{padding:var(--s-4) var(--s-3)}}@media (max-width:480px){.cta-actions{flex-wrap:wrap}.cta-actions .btn{flex:auto}}@media (prefers-contrast:more),(forced-colors:active){.lattice,.lattice-lit{display:none}}@media (prefers-reduced-motion:reduce){.lattice{transform:none}.lattice-lit{display:none}*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}:root{--flow-danger:#e59a9a;--flow-line:var(--line-strong);--flow-accent:var(--accent);--flow-surface:var(--ground-lift);--flow-mark-line:var(--line-control);--flow-question:500 var(--t-28) / 1.25 var(--mono);--flow-question-tracking:0;--flow-title:500 var(--t-15) / 1.4 var(--mono);--flow-tile-family:var(--mono);--flow-tile-size:var(--t-15);--flow-tile-weight:400;--flow-input:400 var(--t-19) / 1.5 var(--sans);--nav-toggle-family:var(--mono);--nav-toggle-weight:400;--nav-current:var(--accent);--brand-sub-family:var(--mono);--hero-measure:22ch;--masthead-bar:44px;--masthead-bg:var(--ground-lift);--foot-hover-line:var(--accent);--hero-title-line:calc(var(--t-44) * 1.12);--hero-lede-line:calc(var(--t-22) * 1.5)}.section-head{gap:var(--s-2);flex-direction:column;display:flex}
