:root{--bg:#f4f3ef;--surface:#fbfaf7;--border:#dcdad3;--code-bg:#ebeae4;--text:#1a1a18;--muted:#67655f;--accent:#2546c0;--accent-soft:#e2e7f6;--gate:var(--accent);--gate-soft:var(--accent-soft);--ok:#2f6b3a;--warn:#9c5310;--font-display:"Newsreader", Georgia, serif;--font-body:"Geist", system-ui, -apple-system, sans-serif;--font-mono:"Geist Mono", ui-monospace, Menlo, monospace;--text-sm:13px;--text-base:16.5px;--text-lede:1.42em;--h1:clamp(34px, 6vw, 64px);--h2:clamp(22px, 3.4vw, 32px);--h1-weight:400;--tracking-display:-.015em;--tracking-label:.08em;--leading:1.6;--measure:64ch;--radius:4px;--rule:1px solid var(--border);--space-1:4px;--space-2:8px;--space-3:12px;--space-4:18px;--space-5:28px;--space-6:44px}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--bg:#161614;--surface:#1d1d1a;--border:#33322d;--code-bg:#1b1b18;--text:#ecebe6;--muted:#a4a29a;--accent:#91a8ff;--accent-soft:#20273f;--ok:#7fbf8a;--warn:#e2a35e;color-scheme:dark}}:root[data-theme=dark]{--bg:#161614;--surface:#1d1d1a;--border:#33322d;--code-bg:#1b1b18;--text:#ecebe6;--muted:#a4a29a;--accent:#91a8ff;--accent-soft:#20273f;--ok:#7fbf8a;--warn:#e2a35e;color-scheme:dark}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;text-size-adjust:100%}body{background:var(--bg);color:var(--text);font:var(--text-base) / var(--leading) var(--font-body);-webkit-font-smoothing:antialiased;overflow-wrap:break-word;margin:0}a{color:var(--accent);text-decoration-color:color-mix(in oklab, var(--accent) 40%, transparent);text-underline-offset:3px}a:hover{text-decoration-color:currentColor}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}code,kbd,pre{font-family:var(--font-mono)}.wrap{max-width:1120px;padding-inline:max(16px, env(safe-area-inset-left,0px)) max(16px, env(safe-area-inset-right,0px));margin-inline:auto}@media (width>=720px){.wrap{padding-inline:var(--space-6)}}.section{padding-block:var(--space-5);border-top:var(--rule)}.lab{font:500 11px/1.3 var(--font-mono);letter-spacing:var(--tracking-label);text-transform:uppercase;color:var(--muted)}.ph{font-family:var(--font-mono);background:color-mix(in oklab, var(--warn) 14%, transparent);color:var(--warn);border-radius:3px;padding:0 4px;font-size:.84em;font-weight:500}.mark,mark{color:var(--accent);text-underline-offset:.14em;background:0 0;text-decoration:underline 2px}.mast{justify-content:space-between;align-items:baseline;gap:var(--space-2) var(--space-3);padding-block:var(--space-5) 10px;border-bottom:1px solid var(--text);flex-wrap:wrap;display:flex}.word{font:500 19px/1.2 var(--font-display);letter-spacing:var(--tracking-display);color:var(--text);text-decoration:none}.now{align-items:baseline;gap:var(--space-2);font:500 12.5px/1.4 var(--font-mono);color:var(--muted);display:inline-flex}.now:before{content:"";background:var(--ok);border-radius:50%;flex:0 0 7px;width:7px;height:7px;transform:translateY(-1px)}.hero-grid{gap:var(--space-5);padding-block:var(--space-5);grid-template-columns:minmax(0,1fr);display:grid}@media (width>=880px){.hero-grid{padding-block:var(--space-6);grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);align-items:start}}.hero{gap:22px;display:grid}.h1{font-family:var(--font-display);font-size:var(--h1);font-weight:var(--h1-weight);letter-spacing:var(--tracking-display);text-wrap:balance;overflow-wrap:anywhere;margin:0;line-height:1.06}.lede{font-family:var(--font-display);font-size:var(--text-lede);color:var(--muted);max-width:var(--measure);text-wrap:pretty;overflow-wrap:anywhere;margin:0;line-height:1.3}.btns{flex-wrap:wrap;gap:10px;display:flex}.btn{border-radius:var(--radius);border:1px solid var(--accent);font:500 14px var(--font-body);color:var(--accent);background:0 0;align-items:center;gap:6px;padding:9px 16px;text-decoration:none;display:inline-flex}.btn.pri{background:var(--accent);color:var(--bg)}.sketch{background:var(--surface);border:var(--rule);border-radius:var(--radius);margin:0;padding:14px 14px 8px}.sketch svg{width:100%;height:auto;display:block}.sketch .tall{max-width:340px;margin-inline:auto;display:none}@media (width<=560px){.sketch .wide{display:none}.sketch .tall{display:block}}.ink{fill:none;stroke:var(--text);stroke-width:1.4px;stroke-linecap:round}.ink .gate{stroke:var(--gate);stroke-width:1.8px}.sk-label{font:500 12px var(--font-mono);fill:var(--text)}.sk-label.gate{fill:var(--gate)}.sk-note{font:italic 14px var(--font-display);fill:var(--accent)}.log{margin:10px 0 0;padding:0;list-style:none}.log li{gap:2px var(--space-3);border-top:var(--rule);grid-template-columns:auto minmax(0,1fr);padding:9px 0;font-size:14px;display:grid}.log .date{font:500 12.5px var(--font-mono);color:var(--muted);white-space:nowrap}.log .type{font:500 11px/1.9 var(--font-mono);text-transform:uppercase;letter-spacing:.06em;color:var(--muted)}.log .what{grid-column:1/-1}.log .note{color:var(--muted)}@media (width>=640px){.log li{grid-template-columns:7.5em 4.5em minmax(0,1fr);align-items:baseline}.log .what{grid-column:auto}}.essay{gap:var(--space-1);border-top:var(--rule);overflow-wrap:anywhere;padding:14px 0;display:grid}.essay:first-of-type{margin-top:10px}.essay .lab{color:var(--accent)}.essay h3{font-family:var(--font-display);letter-spacing:var(--tracking-display);margin:0;font-size:1.35em;font-weight:500;line-height:1.2}.essay h3 a{color:var(--text);text-decoration-color:color-mix(in oklab, var(--text) 30%, transparent)}.essay p{color:var(--muted);margin:0}@media (width>=760px){.essays{column-gap:var(--space-6);grid-template-columns:1fr 1fr;display:grid}.essays>.lab{grid-column:1/-1}.essay:nth-of-type(2){margin-top:10px}}.demo{border:var(--rule);border-radius:var(--radius);background:var(--surface);grid-template-columns:minmax(0,1fr);margin-top:10px;display:grid;overflow:hidden}@media (width>=760px){.demo{grid-template-columns:minmax(0,1.1fr) minmax(0,1fr)}}.shot{background:var(--code-bg);padding:var(--space-4);border-bottom:var(--rule)}@media (width>=760px){.shot{border-bottom:0;border-right:var(--rule)}}.win{background:var(--bg);border:var(--rule);border-radius:calc(var(--radius) + 2px);overflow:hidden}.win-bar{border-bottom:var(--rule);font:500 11px var(--font-mono);color:var(--muted);align-items:center;gap:6px;padding:7px 10px;display:flex}.win-bar i{background:var(--border);border-radius:50%;width:8px;height:8px}.win-bar span{margin-left:6px}.wl{border-bottom:var(--rule);grid-template-columns:minmax(0,1fr) auto;gap:2px 10px;padding:9px 11px;font-size:12.5px;line-height:1.35;display:grid}.wl:last-child{border-bottom:0}.wl small{color:var(--muted);font-size:inherit}.pill{font:500 10.5px var(--font-mono);white-space:nowrap;border:var(--rule);color:var(--muted);border-radius:999px;grid-area:1/2/3;align-self:center;padding:3px 7px}.pill.gate{background:var(--gate-soft);border-color:var(--gate);color:var(--gate)}.pill.sent{color:var(--ok);border-color:var(--ok)}.demo-body{flex-direction:column;gap:10px;padding:18px 20px;display:flex}.demo h3{font-family:var(--font-display);letter-spacing:var(--tracking-display);margin:0;font-size:1.4em;font-weight:500;line-height:1.15}.demo p{color:var(--muted);margin:0;font-size:.95em}.tags{flex-wrap:wrap;gap:6px;display:flex}.tag{font:500 11px var(--font-mono);border:var(--rule);color:var(--muted);border-radius:999px;padding:3px 8px}.links{gap:var(--space-2) var(--space-4);flex-wrap:wrap;font-size:14px;display:flex}.links .off{color:var(--muted)}.facts,.evid{border-top:var(--rule);grid-template-columns:auto minmax(0,1fr);margin:0;display:grid}.facts{border-top:0;font-size:14px}.evid{font-size:13px}.facts dt,.facts dd,.evid dt,.evid dd{border-bottom:var(--rule);margin:0;padding:7px 0}.facts dt,.evid dt{font:500 11px/1.9 var(--font-mono);color:var(--muted);padding-right:var(--space-4)}.facts dt{letter-spacing:var(--tracking-label);text-transform:uppercase}.contact{padding-bottom:var(--space-6)}.contact p{font-family:var(--font-display);margin:10px 0 0;font-size:1.3em;line-height:1.35}.post{max-width:var(--measure);padding-block:var(--space-5) var(--space-6);margin:0 auto}.post .h1{margin:var(--space-2) 0 var(--space-3);font-size:clamp(28px,4.6vw,46px)}.dek{font-family:var(--font-display);color:var(--muted);margin:0 0 14px;font-size:1.3em;font-style:italic;line-height:1.35}.meta{font:500 12.5px var(--font-mono);color:var(--muted);border-block:var(--rule);flex-wrap:wrap;gap:6px 14px;margin-bottom:20px;padding:10px 0;display:flex}.prov{color:var(--muted);padding-left:var(--space-3);border-left:2px solid var(--accent);margin:0 0 18px;font-size:.86em}.prose{font-size:1.04em}.prose p,.prose ul,.prose ol,.prose blockquote{margin:0 0 16px}.prose h2{font-family:var(--font-display);font-weight:500;font-size:var(--h2);letter-spacing:var(--tracking-display);margin:var(--space-6) 0 var(--space-3);line-height:1.12}.prose h3{font-family:var(--font-display);margin:var(--space-5) 0 var(--space-2);font-size:1.3em;font-weight:500}.prose blockquote{padding-left:var(--space-3);border-left:2px solid var(--border);color:var(--muted)}.prose img{max-width:100%;height:auto}.prose :not(pre)>code{background:var(--code-bg);border-radius:3px;padding:1px 5px;font-size:.86em}.prose pre{--astro-code-foreground:var(--text);--astro-code-background:var(--code-bg);--astro-code-token-keyword:var(--accent);--astro-code-token-constant:var(--accent);--astro-code-token-string:var(--text);--astro-code-token-string-expression:var(--text);--astro-code-token-comment:var(--muted);--astro-code-token-function:var(--text);--astro-code-token-parameter:var(--text);--astro-code-token-punctuation:var(--muted);--astro-code-token-link:var(--accent);font:13px/1.6 var(--font-mono);color:var(--text);border-radius:var(--radius);border:var(--rule);margin:24px 0;padding:16px 18px;overflow-x:auto;background:var(--code-bg)!important}.prose pre code{font:inherit}.prose table{border-collapse:collapse;margin:0 0 16px;font-size:14px;display:block;overflow-x:auto}.prose th,.prose td{border-bottom:var(--rule);text-align:left;padding:7px 12px 7px 0}.prose th{font:500 11px var(--font-mono);letter-spacing:var(--tracking-label);text-transform:uppercase;color:var(--muted)}.fig{gap:var(--space-2);flex-direction:column;margin:24px 0;display:flex}.fig-box{background:var(--surface);border:var(--rule);border-radius:var(--radius);padding:16px;overflow-x:auto}.fig-box svg{width:100%;min-width:560px;height:auto;display:block}figcaption{font-family:var(--font-display);color:var(--muted);font-size:15px;font-style:italic;line-height:1.4}.back{margin-top:var(--space-5);font:500 12.5px var(--font-mono);display:inline-block}
