:root{
  --page:#f0f0f0; --surface:#fff; --panel:#fbfbfa; --ink:#282828; --muted:#777; --line:#e4e4e1;
  --accent:#1f3bff; --accent-soft:#dfe4ff; --accent-ink:#1029c9; --green:#2e8b3d; --red:#c2413a;
  --wr:400; --wb:475; --wm:500; --ws:600; --wbold:700;
  --ease:cubic-bezier(.22,1,.36,1); --t:.22s;
}
html{scroll-behavior:smooth}
section.block,[id]{scroll-margin-top:22px}
*{box-sizing:border-box}
html,body{margin:0;background:var(--page);color:var(--ink);font-family:Onest,"Segoe UI Variable","Segoe UI",system-ui,-apple-system,Arial,sans-serif;-webkit-font-smoothing:antialiased;text-rendering:geometricPrecision}
body{font-weight:var(--wr);line-height:1.45}
a{color:inherit}
.num{font-variant-numeric:tabular-nums}
.mono{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12px;color:#666}
.wrap{width:min(1180px,calc(100% - 40px));margin:0 auto}
header.top{display:flex;align-items:center;justify-content:space-between;gap:16px;height:64px;width:min(1180px,calc(100% - 40px));margin:14px auto 0}
.brand{display:flex;align-items:center;gap:.3em;text-decoration:none;font-family:"Schibsted Grotesk",Onest,sans-serif;font-weight:800;font-size:21px;letter-spacing:-.04em;white-space:nowrap}
.pill{display:inline-block;position:relative;background:var(--accent-soft);border-radius:999px;overflow:hidden;flex:0 0 auto;width:1.5em;height:.5em}
.pill i{position:absolute;left:0;top:0;bottom:0;width:var(--fill,88%);background:var(--accent);border-radius:999px;transition:width .8s cubic-bezier(.16,1,.3,1)}
.brand .pill{width:1.45em;height:.48em}
.brand .mark{height:.82em;width:auto;display:block;flex:0 0 auto}
.top nav{display:flex;gap:20px;font-size:14px;font-weight:var(--wm);color:#444}
.top nav a{text-decoration:none}
.top nav a:hover,.top nav a.here{color:var(--ink)}
.live{display:inline-flex;align-items:center;gap:8px;font-size:13px;font-weight:var(--wm);color:#444;padding:8px 12px;border-radius:999px;background:var(--surface);border:1px solid var(--line);white-space:nowrap}
.live b{width:8px;height:8px;border-radius:50%;background:var(--green);box-shadow:0 0 0 3px rgba(46,139,61,.18)}
.live.off b{background:#bbb;box-shadow:none}
section.block{width:min(1180px,calc(100% - 40px));margin:64px auto 0}
.block h3{margin:0 0 6px;font-size:22px;font-weight:var(--ws);letter-spacing:-.03em}
.block .lead{margin:0 0 18px;color:var(--muted);font-size:15px;font-weight:var(--wm);max-width:62ch}
.card16{background:var(--surface);border:1px solid var(--line);border-radius:16px;padding:18px 20px}
.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
.stat{background:var(--surface);border:1px solid var(--line);border-radius:16px;padding:16px 18px}
.stat .l{font-size:12px;color:#777;font-weight:var(--wm)}
.stat .v{font-size:26px;font-weight:var(--ws);letter-spacing:-.03em;margin-top:4px}
.stat .s{font-size:12px;color:#888;margin-top:2px}
.tbl{background:var(--surface);border:1px solid var(--line);border-radius:16px;overflow:auto}
.tbl table{width:100%;border-collapse:collapse;font-size:13.5px}
.tbl th{text-align:left;font-weight:var(--wm);color:#777;font-size:12px;padding:12px 14px;border-bottom:1px solid var(--line);white-space:nowrap}
.tbl td{padding:11px 14px;border-bottom:1px solid #f0f0ee;vertical-align:middle}
.tbl tr:last-child td{border-bottom:0}
.k{display:inline-block;font-size:11px;font-weight:var(--ws);letter-spacing:.06em;text-transform:uppercase;color:var(--accent-ink);background:var(--accent-soft);padding:3px 8px;border-radius:999px}
.btn{display:inline-flex;align-items:center;gap:8px;padding:10px 16px;border-radius:999px;border:0;background:var(--accent);color:#fff;font:inherit;font-weight:var(--ws);font-size:14px;cursor:pointer;text-decoration:none}
.btn.ghost{background:var(--surface);color:var(--ink);border:1px solid var(--line)}
.btn:hover{filter:brightness(1.06)}
input.field{font:inherit;font-size:14px;padding:10px 12px;border:1px solid var(--line);border-radius:10px;background:var(--surface);color:var(--ink);width:100%}
pre.code{margin:0;background:#171a24;color:#e8ebf7;border-radius:12px;padding:16px 18px;overflow:auto;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12.2px;line-height:1.55}
pre.code .c{color:#8b93b8}
footer{width:min(1180px,calc(100% - 40px));margin:64px auto 40px;display:flex;flex-wrap:wrap;gap:8px 22px;justify-content:space-between;color:#888;font-size:12.5px}
footer .addr{font-family:ui-monospace,Menlo,monospace;font-size:11.5px;color:#999;word-break:break-all}
footer nav{display:flex;gap:16px}
footer nav a{text-decoration:none;color:#555}
.empty{color:#999;font-size:14px;padding:22px;text-align:center}
@media (max-width:860px){.top nav{display:none}.stats{grid-template-columns:1fr 1fr}}
@media (max-width:520px){.stats{grid-template-columns:1fr}}

/* ── motion: nothing on the page changes without easing ── */
a,button,.btn,.top nav a,.lever,.k,.live,.live b,.stat,.round,.card16,.tbl tr,input.field,.chip{transition:color var(--t) var(--ease),background-color var(--t) var(--ease),border-color var(--t) var(--ease),box-shadow .28s var(--ease),transform .28s var(--ease),opacity var(--t) var(--ease),filter var(--t) var(--ease)}
.top nav a.x,footer a.x{color:var(--accent);font-weight:var(--ws);text-decoration:none}
.top nav a.x:hover,footer a.x:hover{color:var(--accent-ink)}
.btn:hover{transform:translateY(-1px);box-shadow:0 6px 18px rgb(31 59 255 / 18%)}
.btn.ghost:hover{box-shadow:0 6px 18px rgb(20 30 80 / 8%);border-color:#d6d6d2}
.btn:active{transform:translateY(0) scale(.985);box-shadow:none;transition-duration:.08s}
.stat:hover,.round:hover{transform:translateY(-2px);box-shadow:0 10px 28px rgb(20 30 80 / 7%);border-color:#dcdcd8}
.tbl tr:hover td{background:#fafaf8}
input.field:focus{outline:0;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}
.lever .p i{transition:width .7s var(--ease)}
.in{animation:fadeup .5s var(--ease) both;animation-delay:calc(var(--i,0) * 34ms)}
tr.in{animation-name:fadein}
.fade{animation:fadein .34s var(--ease) both}
@keyframes fadeup{from{opacity:0;transform:translateY(7px)}to{opacity:1;transform:none}}
@keyframes fadein{from{opacity:.25}to{opacity:1}}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.in,.fade,tr.in{animation:none}*{transition-duration:.01ms!important}}
