:root{--paper: #f4f1ea;--paper-2: #ebe6db;--ink: #14110c;--ink-2: #2a2620;--muted: #6b655a;--muted-2: #8a8478;--rule: rgba(20, 17, 12, .14);--rule-strong: rgba(20, 17, 12, .32);--accent: oklch(62% .22 40);--accent-ink: oklch(28% .1 40);--accent-tint: oklch(96% .04 40);--accent-glow: oklch(62% .22 40 / .18);--serif: "Instrument Serif", "Times New Roman", serif;--sans: "Geist", ui-sans-serif, -apple-system, system-ui, sans-serif;--mono: "JetBrains Mono", ui-monospace, "SF Mono", Menlo, monospace;--content-w: 1180px;--gutter: 32px}[data-pair=serif-mono]{--serif: "Instrument Serif", serif;--sans: "Geist", ui-sans-serif, system-ui, sans-serif;--mono: "JetBrains Mono", ui-monospace, monospace}[data-pair=grotesk]{--serif: "Geist", ui-sans-serif, system-ui, sans-serif;--sans: "Geist", ui-sans-serif, system-ui, sans-serif;--mono: "JetBrains Mono", ui-monospace, monospace}[data-pair=newsprint]{--serif: "Fraunces", "Times New Roman", serif;--sans: "Inter Tight", ui-sans-serif, system-ui, sans-serif;--mono: "JetBrains Mono", ui-monospace, monospace}[data-pair=terminal]{--serif: "JetBrains Mono", ui-monospace, monospace;--sans: "JetBrains Mono", ui-monospace, monospace;--mono: "JetBrains Mono", ui-monospace, monospace}[data-accent=electric-blue]{--accent: oklch(62% .22 255);--accent-ink: oklch(28% .1 255);--accent-tint: oklch(96% .04 255);--accent-glow: oklch(62% .22 255 / .18)}[data-accent=acid-lime]{--accent: oklch(62% .22 130);--accent-ink: oklch(28% .1 130);--accent-tint: oklch(96% .04 130);--accent-glow: oklch(62% .22 130 / .18)}[data-accent=hot-orange]{--accent: oklch(62% .22 40);--accent-ink: oklch(28% .1 40);--accent-tint: oklch(96% .04 40);--accent-glow: oklch(62% .22 40 / .18)}[data-accent=magenta]{--accent: oklch(62% .22 350);--accent-ink: oklch(28% .1 350);--accent-tint: oklch(96% .04 350);--accent-glow: oklch(62% .22 350 / .18)}[data-accent=cobalt]{--accent: oklch(62% .22 270);--accent-ink: oklch(28% .1 270);--accent-tint: oklch(96% .04 270);--accent-glow: oklch(62% .22 270 / .18)}*{box-sizing:border-box}html,body{margin:0;padding:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:16px;line-height:1.55;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}a{color:inherit;text-decoration:none}::selection{background:var(--accent);color:var(--paper)}body:before{content:"";position:fixed;inset:0;pointer-events:none;background-image:radial-gradient(rgba(20,17,12,.035) 1px,transparent 1px),radial-gradient(rgba(20,17,12,.025) 1px,transparent 1px);background-size:3px 3px,7px 7px;background-position:0 0,1px 2px;mix-blend-mode:multiply;opacity:.55;z-index:0}.shell{position:relative;z-index:1;max-width:var(--content-w);margin:0 auto;padding:0 var(--gutter)}[data-density=tight] .row{padding:14px 0}[data-density=tight] .r-title{font-size:22px}[data-density=tight] .r-dek{font-size:15.5px;margin-bottom:8px}[data-density=tight] .r-body{font-size:14.5px}[data-density=comfy] .row{padding:44px 0}[data-density=comfy] .r-title{font-size:38px}[data-density=comfy] .r-dek{font-size:19px}@media(max-width:880px){.mast{flex-direction:column;align-items:flex-start;padding:32px 0 20px}}.kbd{font-family:var(--mono);font-size:10px;border:1px solid var(--rule-strong);padding:1px 5px;border-radius:3px;color:var(--ink);background:var(--paper-2)}.mast{display:flex;align-items:flex-end;justify-content:space-between;gap:32px;padding:48px 0 24px;border-bottom:1px solid var(--ink)}.mast-c{display:block}.mast-title{font-family:var(--serif);font-size:clamp(40px,6vw,64px);line-height:.95;letter-spacing:-.02em;font-weight:400;margin:0;font-style:italic}.mast-title .acc{color:var(--accent);font-style:normal}.mast-tag{font-family:var(--mono);font-size:11px;letter-spacing:.04em;color:var(--muted);margin-top:10px}.mast-r{font-family:var(--mono);font-size:11px;letter-spacing:.04em;text-transform:uppercase;color:var(--muted);white-space:nowrap;padding-bottom:4px}.mast-r b{color:var(--ink);font-weight:500}.subbar{display:flex;justify-content:space-between;align-items:center;padding:10px 0;border-bottom:1px solid var(--rule);font-family:var(--mono);font-size:11px;letter-spacing:.04em;color:var(--muted)}.subbar nav{display:flex;gap:22px}.subbar nav a{position:relative;padding:2px 0;color:var(--ink-2)}.subbar nav a.is-on:after{content:"";position:absolute;left:0;right:0;bottom:-11px;height:2px;background:var(--accent)}.subbar .filt{display:flex;gap:12px;align-items:center}.subbar .filt a,.subbar .filt button{appearance:none;background:transparent;border:0;font:inherit;color:var(--muted);cursor:pointer;padding:2px 0;letter-spacing:.04em}.subbar .filt a.is-on,.subbar .filt button.is-on{color:var(--ink)}.subbar .filt .sep{opacity:.4}.feed{padding:8px 0 80px}.row{display:grid;grid-template-columns:1fr;gap:0;padding:28px 0;border-bottom:1px solid var(--rule);align-items:start}.row.bookmark{padding:22px 0}.r-title{font-family:var(--serif);font-size:32px;line-height:1.1;letter-spacing:-.012em;font-weight:400;margin:0 0 10px;text-wrap:balance}.r-title.sm{font-size:22px;line-height:1.2}.r-title a{background-image:linear-gradient(var(--accent),var(--accent));background-repeat:no-repeat;background-size:0% 1px;background-position:0 96%;transition:background-size .35s ease}.r-title a:hover{background-size:100% 1px}.r-dek{font-family:var(--serif);font-style:italic;font-size:18px;line-height:1.45;color:var(--ink-2);margin:0 0 14px;max-width:60ch;text-wrap:pretty}.r-blurb{font-family:var(--serif);font-style:italic;font-size:15.5px;line-height:1.5;color:var(--ink-2);margin:6px 0 10px;max-width:60ch}.r-source{display:inline-flex;align-items:center;gap:8px;font-family:var(--mono);font-size:11px;color:var(--muted);letter-spacing:.02em}.r-source .arrow{display:inline-block;width:10px;height:10px;border-top:1px solid currentColor;border-right:1px solid currentColor;transform:rotate(45deg);transition:transform .25s}.row.bookmark:hover .r-source .arrow{transform:translate(2px,-2px) rotate(45deg)}.row a.headlink:hover .r-title{color:var(--accent-ink)}.tags{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}.tag{display:inline-flex;align-items:center;font-family:var(--mono);font-size:10.5px;letter-spacing:.02em;color:var(--accent-ink);background:var(--accent-tint);border:1px solid color-mix(in oklch,var(--accent) 24%,transparent);padding:2px 7px 2.5px;border-radius:3px;cursor:default;transition:background .2s,color .2s;text-decoration:none}.tag:hover{background:var(--accent);color:var(--paper);border-color:var(--accent)}.tag:before{content:"#";opacity:.5;margin-right:1px}.filed{font-family:var(--mono);font-size:11px;color:var(--muted);letter-spacing:.02em;display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-top:10px}.filed .lbl{color:var(--muted-2)}.filed b{color:var(--ink);font-weight:500}.filed .sep{opacity:.4}.foot{border-top:1px solid var(--ink);padding:28px 0 56px;display:flex;justify-content:space-between;font-family:var(--mono);font-size:10.5px;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}.foot b{color:var(--ink);font-weight:500}.progress{position:fixed;top:0;left:0;right:0;height:2px;background:transparent;z-index:50}.progress>i{display:block;height:100%;background:var(--accent);width:0%;transition:width .08s linear}.art{position:relative;z-index:1;padding:32px 0 120px}.art-back{display:inline-flex;gap:8px;align-items:center;font-family:var(--mono);font-size:11px;color:var(--muted);letter-spacing:.04em;margin-bottom:56px}.art-back:hover{color:var(--ink)}.art-head{display:grid;grid-template-columns:1fr;gap:18px;border-bottom:1px solid var(--ink);padding-bottom:36px}.art-rail{font-family:var(--mono);font-size:11px;letter-spacing:.04em;color:var(--muted);display:flex;gap:14px;align-items:center}.art-rail b{color:var(--ink);font-weight:500}.art-rail .accdot{display:inline-block;width:6px;height:6px;background:var(--accent);border-radius:50%}.art-num{font-family:var(--serif);font-style:italic;font-size:220px;line-height:.85;color:var(--accent);letter-spacing:-.04em;margin:-10px 0 -20px;user-select:none}.art-title{font-family:var(--serif);font-size:clamp(40px,5.6vw,72px);line-height:1.02;letter-spacing:-.02em;font-weight:400;margin:0;text-wrap:balance;max-width:18ch}.art-dek{font-family:var(--serif);font-style:italic;font-size:clamp(20px,2vw,24px);line-height:1.4;color:var(--ink-2);margin:0;max-width:56ch;text-wrap:pretty}.art-grid{display:grid;grid-template-columns:220px 1fr;gap:64px;margin-top:56px}@media(max-width:880px){.art-grid{grid-template-columns:1fr;gap:32px}.toc{position:static!important}.art-num{font-size:140px}}.toc{position:sticky;top:32px;align-self:start;font-family:var(--mono);font-size:11px;letter-spacing:.02em;color:var(--muted)}.toc h6{margin:0 0 14px;font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:var(--muted-2);font-weight:500}.toc ol{list-style:none;padding:0;margin:0;counter-reset:tc}.toc li{padding:6px 0 6px 22px;counter-increment:tc;position:relative;border-left:1px solid var(--rule);transition:color .2s,border-color .2s}.toc li:before{content:counter(tc,decimal-leading-zero);position:absolute;left:8px;color:var(--muted-2)}.toc li a{color:inherit;text-decoration:none;display:block}.toc li:hover,.toc li.active{color:var(--ink);border-left-color:var(--accent)}.toc li.active{color:var(--accent-ink);font-weight:500}.prose{font-family:var(--serif);font-size:19px;line-height:1.65;color:var(--ink-2);max-width:64ch}.prose h2{font-family:var(--serif);font-size:30px;line-height:1.2;font-weight:400;letter-spacing:-.01em;color:var(--ink);margin:56px 0 16px;scroll-margin-top:24px}.prose h2 .h-num{font-family:var(--mono);font-style:normal;font-size:12px;color:var(--accent);letter-spacing:.08em;display:block;margin-bottom:4px;font-weight:500}.prose p{margin:0 0 18px;text-wrap:pretty}.prose p:first-of-type:first-letter{font-size:64px;line-height:.9;float:left;padding:6px 10px 0 0;font-style:italic;color:var(--accent)}.prose strong{color:var(--ink);font-weight:600}.prose em{font-style:italic}.prose blockquote{margin:24px 0;padding:8px 0 8px 24px;border-left:2px solid var(--accent);font-style:italic;color:var(--ink)}.prose ul{padding-left:22px;margin:0 0 18px}.prose ul li{margin-bottom:6px}.code{position:relative;margin:24px 0;background:var(--ink);color:#e8e3d6;border-radius:6px;font-family:var(--mono);font-size:13px;line-height:1.6;overflow:hidden}.code-hd{display:flex;justify-content:space-between;align-items:center;padding:8px 14px;border-bottom:1px solid rgba(255,255,255,.06);font-size:10.5px;letter-spacing:.1em;text-transform:uppercase;color:#ffffff80}.code pre{margin:0;padding:16px 18px;overflow-x:auto;white-space:pre}.tok-k{color:#f4a25c}.tok-s{color:#a8cb86}.tok-c{color:#fff6;font-style:italic}.tok-n{color:#65c6e4}.figure{margin:32px 0;border-top:1px solid var(--ink);border-bottom:1px solid var(--rule);padding:20px 0 24px}.figure-cap{display:flex;justify-content:space-between;font-family:var(--mono);font-size:10.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);margin-bottom:18px}.figure-cap b{color:var(--ink);font-weight:500}.bars{display:flex;flex-direction:column;gap:10px;font-family:var(--mono);font-size:12px}.bars .row2{display:grid;grid-template-columns:140px 1fr 60px;gap:12px;align-items:center}.bars .label{color:var(--ink)}.bars .track{height:14px;background:var(--paper-2);position:relative;border-radius:2px;overflow:hidden}.bars .fill{position:absolute;left:0;top:0;bottom:0;background:var(--accent);border-radius:2px}.bars .fill.alt{background:var(--ink)}.bars .num{text-align:right;color:var(--muted);font-variant-numeric:tabular-nums}table.data{width:100%;border-collapse:collapse;font-family:var(--mono);font-size:13px;margin:24px 0}table.data th,table.data td{text-align:left;padding:8px 12px;border-bottom:1px solid var(--rule)}table.data th{font-size:10.5px;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);font-weight:500;border-bottom-color:var(--ink)}table.data td.num{text-align:right;font-variant-numeric:tabular-nums}table.data tr:hover td{background:#14110c05}.related{margin-top:80px;padding-top:28px;border-top:1px solid var(--ink)}.related h6{font-family:var(--mono);font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:var(--muted);margin:0 0 18px;font-weight:500}.related .grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.related .card{display:flex;flex-direction:column;gap:10px;border-top:1px solid var(--rule-strong);padding-top:14px}.related .card:hover .r-title{color:var(--accent-ink)}.related .card .r-title{font-size:22px}.related .card .meta{font-family:var(--mono);font-size:10.5px;color:var(--muted);letter-spacing:.04em}@media(max-width:760px){.related .grid3{grid-template-columns:1fr}}.tagindex{padding:40px 0 100px}.tagindex h2{font-family:var(--serif);font-size:56px;font-style:italic;font-weight:400;margin:0 0 4px;letter-spacing:-.02em}.tagindex .lede{font-family:var(--mono);font-size:11.5px;color:var(--muted);letter-spacing:.04em;margin-bottom:36px}.tagindex .grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:0;border-top:1px solid var(--ink)}.tagindex .cell{padding:18px 20px 22px;border-bottom:1px solid var(--rule);border-right:1px solid var(--rule);position:relative;transition:background .2s}.tagindex .cell:hover{background:var(--accent-tint)}.tagindex .cell .name{font-family:var(--serif);font-size:26px;letter-spacing:-.01em;margin-bottom:6px;color:inherit;display:inline-block}.tagindex .cell .name:before{content:"#";color:var(--accent);margin-right:4px}.tagindex .cell .ct{font-family:var(--mono);font-size:11px;color:var(--muted);letter-spacing:.04em}.tagindex .cell .pop{position:absolute;top:18px;right:16px;font-family:var(--serif);font-style:italic;font-size:32px;color:var(--accent);line-height:1}.astro-route-announcer{position:absolute;left:0;top:0;clip:rect(0 0 0 0);clip-path:inset(50%);overflow:hidden;white-space:nowrap;width:1px;height:1px}
