:root{--bg:#fbfaf7;--fg:#222;--h:#111;--mut:#555;--rule:#e6e2da;--accent:#0B5D63;--accent2:#c8742a;--card:#fff}
:root[data-theme=dark]{--bg:#121514;--fg:#d9dcd8;--h:#f2f1ec;--mut:#9aa19d;--rule:#2a302e;--accent:#6cc3bd;--accent2:#e3a35f;--card:#1a1e1d}
@media(prefers-color-scheme:dark){:root:not([data-theme=light]){--bg:#121514;--fg:#d9dcd8;--h:#f2f1ec;--mut:#9aa19d;--rule:#2a302e;--accent:#6cc3bd;--accent2:#e3a35f;--card:#1a1e1d}}
html,body{background:var(--bg);color:var(--fg);transition:background .3s,color .3s}a,nav a.on,nav a:hover,.kicker,.kind,.sec{color:var(--accent)}
h1,h2,h3,.brand{color:var(--h)}nav a,.lead,.dek,.item p,.small,.aside,footer{color:var(--mut)}.top,.sec,.list .item,hr,footer,.aside{border-color:var(--rule)}
:root[data-theme=dark] .plate img,:root[data-theme=dark] .item img{filter:brightness(.88)}
.theme{background:none;border:1px solid var(--rule);color:var(--fg);border-radius:50%;width:30px;height:30px;cursor:pointer;font-size:.9rem;line-height:1}
.hero-x{position:relative;overflow:hidden;margin-top:-72px;padding:96px 0 56px;border-bottom:1px solid var(--rule)}
#field{position:absolute;inset:0;width:100%;height:100%;opacity:.9;pointer-events:none}
.hero-x .wrap{position:relative}.hero-x .display{font-size:2.6rem;line-height:1.28;max-width:820px}.hero-x .display em{font-style:italic;color:var(--accent)}
.hero-x .lead{max-width:640px}
.progress{position:fixed;top:0;left:0;right:0;height:3px;background:var(--accent);transform-origin:0 50%;transform:scaleX(0);z-index:50}
.rt{color:var(--mut)}
.pull{margin:44px -40px;padding:6px 0 6px 28px;border-left:3px solid var(--accent2);font-size:1.55rem;line-height:1.45;font-style:italic;color:var(--h)}
.explainer{margin:48px 0;padding:24px 26px;background:var(--card);border:1px solid var(--rule);border-radius:4px}
.explainer h4{margin:0 0 4px;font:500 .75rem Inter,sans-serif;letter-spacing:.14em;text-transform:uppercase;color:var(--accent)}
.explainer .q{margin:0 0 14px;font-size:1.05rem;color:var(--h)}.explainer .note{font-size:.8rem;color:var(--mut);margin:10px 0 0;font-family:Inter,sans-serif}
.explainer .ctl{display:flex;gap:18px;align-items:center;flex-wrap:wrap;font:500 .85rem Inter,sans-serif;color:var(--mut)}.explainer input[type=range]{flex:1;min-width:180px;accent-color:var(--accent)}
.explainer output{display:block;margin-top:10px;font:500 .9rem Inter,sans-serif;color:var(--h)}
.chart svg{width:100%;height:auto;display:block}.ax{stroke:var(--rule)}.lbl{font:11px Inter,sans-serif;fill:var(--mut)}.lbl.a{fill:var(--accent2)}.lbl.b{fill:var(--accent)}
.l1{fill:none;stroke:var(--accent2);stroke-width:2.2}.l2{fill:none;stroke:var(--accent);stroke-width:2.2}.cur{stroke:var(--mut);stroke-dasharray:3 4}
.bar{fill:var(--rule);transition:fill .2s}.bar.on{fill:var(--accent)}.rand{stroke:var(--accent2);stroke-dasharray:4 4}
.rv{opacity:0;transform:translateY(14px);transition:opacity .7s ease,transform .7s ease}.rv.in{opacity:1;transform:none}
.map svg{width:100%;height:auto}.map .edge{stroke:var(--rule);stroke-width:1.3}.map .theme-n circle{fill:var(--accent)}.map .theme-n text{fill:var(--h);font:600 14px "Source Serif 4",serif}
.map .ess circle{fill:var(--bg);stroke:var(--accent2);stroke-width:2}.map .ess text{fill:var(--fg);font:13px Inter,sans-serif}.map a:hover text{fill:var(--accent)}.map a:focus circle{stroke-width:4}
.node-card{padding:18px 0;border-bottom:1px solid var(--rule)}.node-card h3{margin:0 0 6px}
@media(max-width:760px){.pull{margin:32px 0;font-size:1.3rem}.hero-x .display{font-size:1.8rem}}
@media(prefers-reduced-motion:reduce){*{transition:none!important}}
.hero-grid2{display:grid;grid-template-columns:1fr 260px;gap:56px;align-items:center}.hero-photo img{display:block;width:260px;height:325px;object-fit:cover;border-radius:2px;box-shadow:0 18px 40px -24px rgba(0,0,0,.45)}
.about .portrait{width:200px;height:250px;object-fit:cover;object-position:top;filter:none}
@media(max-width:860px){.hero-grid2{grid-template-columns:1fr;gap:28px}.hero-photo{order:-1}.hero-photo img{width:150px;height:188px}}
.ticker{background:#0c1414;color:#cfe3df;font:500 .78rem/1 Inter,system-ui,sans-serif;display:flex;align-items:stretch;border-bottom:1px solid #1d2a29;position:relative;z-index:20}
.tk-label{background:#0B5D63;color:#fff;padding:9px 12px;letter-spacing:.12em;text-transform:uppercase;white-space:nowrap;display:flex;align-items:center;gap:6px}
.tk-label i{width:7px;height:7px;border-radius:50%;background:#2ee59d;display:inline-block;box-shadow:0 0 6px #2ee59d}
.tk-view{flex:1;overflow:hidden;mask-image:linear-gradient(90deg,transparent,#000 3%,#000 97%,transparent)}
.tk-track{display:flex;width:max-content;animation:tk var(--dur,120s) linear infinite}
.tk-track ul{display:flex;list-style:none;margin:0;padding:0}.tk-track li{white-space:nowrap;border-right:1px solid #1d2a29}
.tk-track a{display:block;padding:9px 16px;color:#cfe3df;text-decoration:none}.tk-track a:hover,.tk-track a:focus{color:#fff;background:#13201f}
.tk-tag{color:#6cc3bd;letter-spacing:.06em;text-transform:uppercase;font-size:.68rem;margin-right:4px}.tk-up{color:#2ee59d;margin-left:6px}.tk-src{color:#8aa39f;margin-left:6px}
.ticker:hover .tk-track,.ticker:focus-within .tk-track,.ticker.paused .tk-track{animation-play-state:paused}
.tk-side{display:flex;align-items:center;gap:8px;padding:0 10px;color:#8aa39f;white-space:nowrap}.tk-pause{background:none;border:1px solid #2a3a39;color:#cfe3df;border-radius:3px;cursor:pointer;font-size:.65rem;padding:3px 6px}
@keyframes tk{to{transform:translateX(-50%)}}
@media(prefers-reduced-motion:reduce){.tk-track{animation:none}.tk-view{overflow-x:auto}}
@media(max-width:700px){.tk-time{display:none}}
.counter{vertical-align:middle;opacity:.8}
