/* Tokens and reasons: DESIGN.md. Checked by tests/contrast.rs. */
@font-face{font-family:Commissioner;src:url(/fonts/commissioner.woff2) format("woff2");font-weight:300 600;font-display:swap}
@font-face{font-family:"JetBrains Mono";src:url(/fonts/jetbrains-mono.woff2) format("woff2");font-weight:400;font-display:swap}
:root{
color-scheme:dark;--dot:14px;
--bg:#120F11;--bg-machine:#0A0809;--card:#161214;--card-hot:#1F1418;--node:#1C1619;--node-near:#2A1F24;--node-fg:#BDB3A8;
--ink:#F2E9DC;--body:#D8CEC2;--muted:#A99F95;--label:#8C8279;
--line:#2E262A;--edge:#3A2F34;--ring:#4A3F44;
--accent:#E08EA1;--accent-fill:#9B3550;--accent-dim:#6B3343;--on-accent:#FFFFFF;
--code-bg:#0C0A0B;--code-line:#2E262A;--code-fg:#D8CEC2;--code-key:#E08EA1;--code-comment:#8C8279;--code-str:#C9D9B8;
--contact-top:#1F1519;--ok:#C9D9B8;--mark:#2A2226;--mark-ck:#4A1F2C;--btn-line:#3A2F34;
--pill:rgba(28,22,25,.88);--ink-rgb:242,233,220;--glow-rgb:224,142,161;--fill-rgb:155,53,80;
--a-halo:.45;--a-halo-low:.35;--a-lift:.6;--a-contact:.8
}
/* Cream: device light unless dark is chosen, or light chosen. */
@media (prefers-color-scheme:light){:root:not([data-theme=dark]){
color-scheme:light;--dot:0px;
--bg:#F3EBDD;--bg-machine:#EADFCD;--card:#FAF4EA;--card-hot:#F5E4DF;--node:#FAF4EA;--node-near:#EEDCD3;--node-fg:#4F3E44;
--ink:#24171A;--body:#43333A;--muted:#6A5650;--label:#6E5A54;
--line:#E0D3BF;--edge:#B79A8E;--ring:#C4B49C;
--accent:#5A1F2E;--accent-fill:#5A1F2E;--accent-dim:#B0707C;--on-accent:#F3EBDD;
--code-bg:#24171A;--code-line:#24171A;--code-fg:#EFE4D3;--code-key:#F0A3B4;--code-comment:#A8968E;
--contact-top:#F8EDE6;--ok:#4F7A3A;--mark:#E8DCC9;--mark-ck:#E0C2BF;--btn-line:#6A5650;
--pill:rgba(250,244,234,.9);--ink-rgb:36,23,26;--glow-rgb:90,31,46;--fill-rgb:90,31,46;
--a-halo:.2;--a-halo-low:.16;--a-lift:.35;--a-contact:.45
}}
:root[data-theme=light]{
color-scheme:light;--dot:0px;
--bg:#F3EBDD;--bg-machine:#EADFCD;--card:#FAF4EA;--card-hot:#F5E4DF;--node:#FAF4EA;--node-near:#EEDCD3;--node-fg:#4F3E44;
--ink:#24171A;--body:#43333A;--muted:#6A5650;--label:#6E5A54;
--line:#E0D3BF;--edge:#B79A8E;--ring:#C4B49C;
--accent:#5A1F2E;--accent-fill:#5A1F2E;--accent-dim:#B0707C;--on-accent:#F3EBDD;
--code-bg:#24171A;--code-line:#24171A;--code-fg:#EFE4D3;--code-key:#F0A3B4;--code-comment:#A8968E;
--contact-top:#F8EDE6;--ok:#4F7A3A;--mark:#E8DCC9;--mark-ck:#E0C2BF;--btn-line:#6A5650;
--pill:rgba(250,244,234,.9);--ink-rgb:36,23,26;--glow-rgb:90,31,46;--fill-rgb:90,31,46;
--a-halo:.2;--a-halo-low:.16;--a-lift:.35;--a-contact:.45
}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--bg);color:var(--ink);font-family:Commissioner,system-ui,sans-serif;transition:background-color .6s}
body.machine{background-color:var(--bg-machine);background-image:linear-gradient(rgba(var(--ink-rgb),.035) 1px,transparent 1px),linear-gradient(90deg,rgba(var(--ink-rgb),.035) 1px,transparent 1px);background-size:32px 32px}
h1,h2,h3,p,ul,ol{margin:0}
ul,ol{padding:0;list-style:none}
a{color:var(--ink)}
a,.linkish{text-decoration:underline;text-decoration-color:rgba(var(--ink-rgb),.3);text-underline-offset:4px}
a:hover{text-decoration-color:var(--accent)}
a:focus-visible,button:focus-visible,textarea:focus-visible{outline:2px solid var(--accent);outline-offset:3px}
.copy:focus-visible{outline-color:var(--code-key)}
button{font:inherit;color:inherit;cursor:pointer}
[hidden]{display:none!important}
.hero,.names,.map-col,.card-detail,.thread-list,.thread-list li,.sect,.card,#writing,#work,.rows,.row,.work,.closing-text,.contact,.field,.site-foot,.foot-links,.toc,.prose ul,.note-end,.next,.notes-page{display:flex;flex-direction:column}
.site-head,.logo,.nav a,.who,.live,.progress,.cd-link,.row-thread,.contact-head,.badge,.actions,.btn,.trail,.trail-main,.trail-dots,.pill,.toc a,.note-meta{display:flex;align-items:center}
.logo,.row,.work h3 a,.chip,.btn,.ghost,.topic-links a,.toc a,.next{text-decoration:none}
.node,.chip,.btn,.ghost,.topics button,.topic-links a,.pill,.pill-track,.pill button,.copy,.theme span{border-radius:999px}
.dot,.halo,.halo-dot,.mono,.theme span::after,.drop span,.trail-dots span,.toc a::after,.prose ul li::before{border-radius:50%}
.nm,.greek,.prompt,.progress,.cd-tag,.thread-list .m,.sect-head p,.rules p,.row-desc,.work p,.badge,.field,.trail-label,.pill,.pill button,.toc a,.toc-read,.note-meta,.dek,.end-label,.next-desc,.feedback{color:var(--muted)}
.page,.wrap,.graph,.row,.closing,.drop,.closing-grid,.contact,.site-foot,.wordmark,.toc a,.prose pre{position:relative}
.halo,.graph svg,.node,.row::before,.drop svg,.drop span,.toc a::before,.toc a::after,.copy{position:absolute}
.sect-head,.chips,.contact-head,.actions,.trail,.trail-main,.note-meta{flex-wrap:wrap}
.d,.prose h2{font-variation-settings:"FLAR" 100,"VOLM" 70}
.m,.code,code{font-family:"JetBrains Mono",ui-monospace,monospace}
.acc{color:var(--accent)}
.dot{width:7px;height:7px;background:var(--accent);flex-shrink:0}
@media (scripting:none){.js-only{display:none!important}main .top{align-items:start}}
@media (scripting:enabled){.no-js{display:none!important}}
.page{overflow:clip;min-height:100vh}
.wrap{max-width:1208px;margin:0 auto;padding:0 24px}
.halo{pointer-events:none}
.halo,.halo-dot{animation:glow 5s ease-in-out infinite}
.halo-top{top:-280px;right:-200px;width:760px;height:760px;background:radial-gradient(closest-side,rgba(var(--fill-rgb),var(--a-halo)),transparent)}
.halo-low{left:-240px;bottom:-380px;width:680px;height:680px;background:radial-gradient(closest-side,rgba(var(--fill-rgb),var(--a-halo-low)),transparent)}
.halo-dot{width:8px;height:8px;background:var(--accent);flex-shrink:0}
.halo-dot.ok{background:var(--ok)}
@keyframes glow{0%,100%{opacity:.55}50%{opacity:.9}}
.site-head{justify-content:space-between;gap:16px;padding:20px 0}
.logo,.linkish,.theme{padding:0;border:0;background:none}
.logo{font-size:17px;font-weight:600;color:var(--ink);min-height:44px;align-items:baseline;white-space:nowrap}
a.logo{align-items:center}
.logo .gap{transition:margin .5s}
.nm{display:inline-block;max-width:0;opacity:0;overflow:hidden;vertical-align:bottom;font-weight:400;transition:max-width .5s,opacity .4s}
.logo.open .nm,.logo:hover .nm,.logo:focus-visible .nm{max-width:9em;opacity:1}
.logo.open .gap,.logo:hover .gap,.logo:focus-visible .gap{margin-left:.28em}
.nav{display:flex;gap:22px;font-size:15px}
.nav a{min-height:44px}
.theme{width:36px;min-height:44px;display:grid;place-items:center}
.theme span{width:32px;height:18px;border:1px solid var(--edge);background:repeating-linear-gradient(90deg,var(--edge) 0 3px,transparent 0 6px) 50%/100% 1px no-repeat}
.theme span::after{content:"";display:block;width:12px;height:12px;margin:2px;background:var(--accent);box-shadow:0 0 8px var(--accent);transform:translateX(var(--dot));transition:transform .3s}
.top{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,420px),1fr));gap:32px 48px;align-items:center;padding:40px 0 72px}
.hero{gap:22px}
.who{gap:16px}
.mono{width:84px;height:84px;background:var(--node);border:1px solid var(--accent-dim);box-shadow:0 0 30px rgba(var(--glow-rgb),.18);display:grid;place-items:center;flex-shrink:0}
.mono>span{font-size:26px;font-weight:500;line-height:1;letter-spacing:.02em}
.names{gap:2px}
.full{font-size:18px;font-weight:500;color:var(--body);letter-spacing:-.005em}
.full .acc{font-weight:600}
.greek{font-size:14px}
h1{font-size:clamp(46px,7vw,92px);line-height:.95;font-weight:300;letter-spacing:-.045em}
.intro{font-size:20px;line-height:1.55;color:var(--body);max-width:30ch}
.live{margin-top:8px;gap:10px;font-size:15px;color:var(--body);min-height:1.5em}
.map-col{gap:16px}
.graph{height:460px;border-radius:24px;background:rgba(var(--ink-rgb),.03);border:1px solid var(--line)}
.graph svg{inset:0;width:100%;height:100%}
.graph line{stroke:var(--edge)}
.graph line.on{stroke:var(--accent);stroke-width:1.6;stroke-dasharray:6 4;animation:dash 1.6s linear infinite}
.graph.playing svg{display:none}
@keyframes dash{to{stroke-dashoffset:-40}}
.node{left:calc(var(--x)*1%);top:calc(var(--y)*1%);transform:translate(-50%,-50%);font-size:14px;font-weight:500;padding:0 14px;min-height:40px;white-space:nowrap;border:1px solid var(--line);background:var(--node);color:var(--node-fg);animation:float 7s ease-in-out infinite}
.node:nth-of-type(2n){animation-duration:9s;animation-delay:-2s}
.node:nth-of-type(3n){animation-duration:11s;animation-delay:-4s}
.node.near{background:var(--node-near);color:var(--ink);border-color:var(--accent-dim)}
.node[aria-pressed=true]{background:var(--accent-fill);color:var(--on-accent);border-color:var(--accent);box-shadow:0 0 28px rgba(var(--glow-rgb),.35)}
.graph.playing .node{border-color:var(--accent-dim)}
.node.secret{font-weight:600;min-height:44px;padding:0 18px;border-color:var(--ink);background:var(--ink);color:var(--bg);box-shadow:0 0 40px rgba(var(--ink-rgb),.35);animation:pop .5s cubic-bezier(.2,.9,.3,1.3) both}
.node.secret[aria-pressed=true]{outline:2px solid var(--accent);outline-offset:3px}
@keyframes float{0%,100%{transform:translate(-50%,-50%)}50%{transform:translate(-50%,calc(-50% - 6px))}}
@keyframes pop{from{opacity:0;transform:translate(-50%,-50%) scale(.6)}to{opacity:1;transform:translate(-50%,-50%) scale(1)}}
.progress{justify-content:space-between;gap:12px;font-size:13px;padding:0 4px}
.hint{display:none}
.card-detail{min-height:132px;border-radius:20px;background:var(--node);border:1px solid var(--line);padding:20px 22px;gap:8px}
.cd-head{display:flex;justify-content:space-between;align-items:baseline;gap:12px}
.cd-label{font-size:22px;font-weight:500}
.card-detail p{line-height:1.6;color:var(--body)}
.cd-link{align-self:flex-start;font-size:15px;color:var(--accent);min-height:40px}
.thread-list{gap:14px}
.thread-list strong{font-size:20px;font-weight:500;color:var(--ink);margin-right:8px}
.cd-tag,.thread-list .m{font-size:12px}
.sect{border-top:1px solid var(--line);padding:72px 0;gap:28px}
.sect-head{display:flex;justify-content:space-between;align-items:baseline;gap:8px 24px}
h2.d{font-size:clamp(30px,3.6vw,40px);font-weight:300;letter-spacing:-.03em;line-height:1.2}
.sect-head p{font-size:15px}
.card{border:1px solid var(--line);border-radius:18px;padding:22px;gap:10px;background:var(--card);transition:.25s}
.card:hover{transform:translateY(-3px);border-color:var(--accent-dim);box-shadow:0 18px 40px -24px rgba(var(--fill-rgb),var(--a-lift))}
.rules{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr));gap:14px}
.rules h3{font-size:21px;font-weight:500}
.rules p{font-size:15px;line-height:1.6}
.rules .hot{border-color:var(--accent-dim);background:var(--card-hot)}
.rules .hot p{color:var(--body)}
.rules line{stroke:var(--accent-dim);stroke-width:1.2}
.rules circle{fill:var(--edge)}
.rules circle.on{fill:var(--accent)}
.duo{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,320px),1fr));gap:48px 64px;align-items:start}
#writing h2{margin-bottom:16px}
#work{gap:14px}
#work h2{margin-bottom:2px}
.row{gap:6px;padding:18px 0 18px 18px;border-top:1px solid var(--line);color:var(--ink)}
.row::before{content:"";left:0;top:18px;bottom:18px;width:2px;background:var(--accent);transform:scaleY(.2);opacity:.35;transform-origin:top;transition:.3s}
.row:hover::before,.row:focus-visible::before{transform:scaleY(1);opacity:1}
.row-title{font-size:19px;font-weight:500;line-height:1.35}
.row-desc{font-size:15px}
.row-thread{gap:8px;font-size:13px;color:var(--label)}
.work{gap:14px}
.work h3{font-size:22px;font-weight:500}
.work p{font-size:15px;line-height:1.6}
.chips{display:flex;gap:8px;padding-top:4px}
.chip,.ghost,.topics button,.topic-links a{display:inline-flex;align-items:center;min-height:40px;border:1px solid var(--edge)}
.chip{font-size:13px;gap:7px;padding:0 12px;background:var(--node);color:var(--body)}
.chip:hover{border-color:var(--accent);color:var(--ink)}
.hint-line{margin-top:2px;font-size:13px;color:var(--label)}
.closing{padding:0 0 96px;align-items:flex-start;gap:22px}
.drop{width:9px;height:72px;margin-bottom:2px}
.drop svg{inset:0;width:9px;height:72px}
.drop line{stroke:var(--accent);stroke-width:1.2;stroke-dasharray:5 6;opacity:.7;animation:dash 1.6s linear infinite}
.drop span{left:0;bottom:0;width:9px;height:9px;background:var(--accent);box-shadow:0 0 12px var(--accent)}
.closing-grid{width:100%;display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,380px),1fr));gap:40px 56px;align-items:center}
.closing-text{align-items:flex-start;gap:22px}
.counter{font-size:13px;color:var(--accent);min-height:1.5em}
.closing h2{font-size:clamp(42px,6.4vw,80px);line-height:.98;letter-spacing:-.045em;max-width:12ch}
.closing-text>p:last-child{font-size:18px;line-height:1.6;color:var(--body);max-width:40ch}
.contact{border-radius:24px;padding:26px;background:linear-gradient(180deg,var(--contact-top),var(--card));border:1px solid var(--accent-dim);box-shadow:0 30px 70px -40px rgba(var(--fill-rgb),var(--a-contact)),inset 0 1px 0 rgba(var(--ink-rgb),.06);gap:18px}
.contact-head{justify-content:space-between;gap:12px}
.contact h3{font-size:20px;font-weight:500}
.badge{gap:8px;font-size:13px}
.topics,.topic-links{display:flex;flex-wrap:wrap;gap:8px}
.topics button,.topic-links a{font-size:14px;padding:0 14px;background:none;color:var(--body)}
.topics button[aria-pressed=true]{background:var(--accent-fill);color:var(--on-accent);border-color:var(--accent)}
.field{gap:8px;font-size:14px}
textarea{font:inherit;font-size:16px;color:var(--ink);background:var(--bg);border:1px solid var(--edge);border-radius:14px;padding:12px 14px;resize:vertical;min-height:84px}
textarea::placeholder{color:var(--label)}
.actions{gap:10px 18px}
.btn{font-size:16px;font-weight:600;padding:0 22px;min-height:48px;background:var(--accent-fill);color:var(--on-accent);box-shadow:0 10px 30px -12px rgba(var(--glow-rgb),.7)}
.linkish{font-size:15px;color:var(--body);min-height:44px}
.site-foot{border-top:1px solid var(--line);padding-top:48px;gap:40px}
.machine-files{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,320px),1fr));gap:14px}
.machine-files:not(:has(pre:not([hidden]))){display:none}
.foot-cols{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr));gap:32px 40px;font-size:15px}
.foot-label{font-size:13px;font-weight:400;color:var(--label);margin-bottom:6px}
.foot-links{gap:2px}
.foot-links a{min-height:40px;display:inline-flex;align-items:center}
.foot-text,.clock{display:flex;flex-direction:column;gap:8px;color:var(--muted)}
.clock-time{font-size:34px;font-weight:300;letter-spacing:-.02em;color:var(--ink);line-height:1;min-height:1em}
.trail{justify-content:space-between;gap:16px;padding:18px 20px;border-radius:18px;background:var(--card);border:1px solid var(--line)}
.trail-main{gap:14px}
.trail-label{font-size:14px;font-weight:400}
.trail-dots{gap:7px}
.trail-dots span{width:10px;height:10px;border:1px solid var(--ring)}
.trail-dots .on{background:var(--accent);border-color:var(--accent);box-shadow:0 0 10px rgba(var(--glow-rgb),.5)}
.trail-dots .tenth{margin-left:6px;border-style:dashed}
.trail-dots .tenth.on{background:var(--ink);border-color:var(--ink);box-shadow:none}
.trail-text{font-size:14px;color:var(--body)}
.ghost{font-size:14px;padding:0 16px;background:none;color:var(--ink)}
.wordmark{margin-top:8px;container-type:inline-size}
.wordmark div{height:15.5cqw;overflow:hidden;font-size:19.6cqw;line-height:.9;font-weight:300;letter-spacing:-.06em;white-space:nowrap;color:var(--mark);mask-image:linear-gradient(180deg,#000 30%,transparent)}
.wordmark span{color:var(--mark-ck)}
[data-w]::before{content:attr(data-w)}
.pill{position:fixed;right:18px;bottom:18px;z-index:25;gap:10px;padding:6px 6px 6px 14px;background:var(--pill);border:1px solid var(--edge);backdrop-filter:blur(8px);font-size:13px;box-shadow:0 12px 30px -12px rgba(0,0,0,.6)}
.pill-track{display:flex;gap:2px;padding:3px;background:var(--bg)}
.pill button{font-size:13px;padding:0 14px;min-height:40px;border:0;background:transparent}
.pill button.m{font-size:12.5px}
.pill [data-mode=human][aria-pressed=true]{background:var(--ink);color:var(--bg)}
.pill [data-mode=machine][aria-pressed=true]{background:var(--accent-fill);color:var(--on-accent)}
.sweep{position:fixed;left:0;right:0;top:0;height:2px;background:linear-gradient(90deg,transparent,var(--accent),transparent);box-shadow:0 0 24px 6px rgba(var(--glow-rgb),.35);z-index:30;pointer-events:none;animation:sweep 1.1s cubic-bezier(.4,0,.2,1) both}
@keyframes sweep{from{top:0;opacity:1}90%{opacity:1}to{top:100%;opacity:0}}
.code,.prose pre{display:block;margin:0;font-size:13.5px;line-height:1.85;white-space:pre-wrap;word-break:break-word;color:var(--code-fg);background:var(--code-bg);border:1px solid var(--code-line);border-radius:18px;padding:22px;align-self:stretch}
.code .k{color:var(--code-key)}.code .c{color:var(--code-comment)}.code .str{color:var(--code-str)}
.crawler{margin-top:48px}
.scan{animation:scanIn .7s cubic-bezier(.3,.7,.2,1) both}
.s1{animation-delay:.05s}.s2{animation-delay:.25s}.s3{animation-delay:.45s}.s4{animation-delay:.65s}.s5{animation-delay:.85s}
@keyframes scanIn{from{clip-path:inset(0 0 100% 0);opacity:.2}to{clip-path:inset(0 0 0 0);opacity:1}}
.layout{display:grid;grid-template-columns:200px minmax(0,680px);gap:56px;justify-content:center;padding:48px 0 72px}
.toc{position:sticky;top:24px;font-size:14px}
.toc-label{font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--label);padding:0 0 10px 22px}
.toc a{min-height:40px;padding-left:22px}
.toc a::before{content:"";left:3px;top:0;bottom:0;width:1px;background:var(--edge)}
.toc a::after{content:"";left:0;top:50%;width:7px;height:7px;margin-top:-4px;background:var(--bg);border:1px solid var(--edge)}
.toc a:hover,.toc a.on{color:var(--ink)}
.toc a.on::before{background:var(--accent)}
.toc a.on::after{background:var(--accent);border-color:var(--accent);box-shadow:0 0 10px rgba(var(--glow-rgb),.5)}
.toc-read{padding:10px 0 0 22px;font-size:13px}
.note-meta{gap:10px 14px;font-size:14px}
.note-title{margin:22px 0 16px;font-size:clamp(34px,5vw,52px);line-height:1.08;font-weight:600;letter-spacing:-.02em;text-wrap:balance}
.dek{margin-bottom:36px;font-size:21px;line-height:1.5;text-wrap:pretty}
.prose{font-size:18px;line-height:1.7;color:var(--body)}
.prose p,.prose ul,.prose ol,.prose blockquote,.prose table,.prose pre{margin:0 0 22px}
.prose h2{font-size:26px;line-height:1.25;font-weight:600;color:var(--ink);margin:48px 0 14px;letter-spacing:-.01em;scroll-margin-top:24px}
.prose>h2:first-child{margin-top:0}
.prose h3{font-size:20px;font-weight:600;color:var(--ink);margin:32px 0 10px}
.prose ul{gap:8px}
.prose ul li{display:flex;gap:12px}
.prose ul li::before{content:"";flex-shrink:0;width:7px;height:7px;background:var(--accent);margin-top:12px}
.prose ol{list-style:decimal;padding-left:1.4em}
.prose code{font-size:.86em;background:var(--node);border:1px solid var(--line);border-radius:6px;padding:1px 6px;color:var(--ink)}
.prose blockquote{padding:4px 0 4px 20px;border-left:2px solid var(--accent);color:var(--ink);font-size:20px;line-height:1.5}
.prose blockquote p{margin:0}
.prose pre code{font-size:inherit;background:none;border:0;padding:0;color:inherit}
.copy{top:10px;right:10px;font-size:12px;min-height:32px;padding:0 12px;border:1px solid var(--btn-line);background:var(--code-bg);color:var(--code-comment)}
.note-end{margin-top:48px;padding-top:28px;border-top:1px solid var(--line);gap:14px}
.end{font-size:18px;font-weight:600;color:var(--ink)}
.end-label{font-size:14px;font-weight:400}
.next{margin-top:32px;gap:6px;padding:22px;border:1px solid var(--line);border-radius:18px;background:var(--card);transition:.25s}
.next:hover{border-color:var(--accent-dim);transform:translateY(-3px)}
.next-label{font-size:13px;color:var(--label)}
.next-title{font-size:20px;font-weight:600;color:var(--ink)}
.next-desc{font-size:15px}
.feedback{margin-top:32px}
.notes-page{padding:48px 0 72px;max-width:680px;gap:16px}
.notes-page h1{font-size:clamp(30px,3.6vw,40px);letter-spacing:-.03em}
@media (max-width:980px){.layout{grid-template-columns:minmax(0,680px)}.layout aside{display:none}}
@media (max-width:560px){
.graph{height:560px}
.node{font-size:12.5px;padding:0 10px}
.hint{display:inline}
.pill .lbl{display:none}
.site-head{gap:12px}
.logo{font-size:15px}
.nav{gap:9px;font-size:14px}
.prose{font-size:17px}
}
@media (prefers-reduced-motion:reduce){
*,*::before,*::after{animation:none!important;transition:none!important}
.sweep{display:none}
}
