/* Agents Arena · Cipher. One stylesheet for every page. Tokens on :root; components below in page order. Dark single look by design. */
@font-face{font-family:"Major Mono Display";font-weight:400;font-style:normal;font-display:swap;src:url("/fonts/major-mono-display-400.woff2") format("woff2")}
@font-face{font-family:"DM Mono";font-weight:300;font-style:normal;font-display:swap;src:url("/fonts/dm-mono-300.woff2") format("woff2")}
@font-face{font-family:"DM Mono";font-weight:400;font-style:normal;font-display:swap;src:url("/fonts/dm-mono-400.woff2") format("woff2")}
@font-face{font-family:"DM Mono";font-weight:500;font-style:normal;font-display:swap;src:url("/fonts/dm-mono-500.woff2") format("woff2")}
/* Layout: a 1280 grid of hairlines on near-black. Bone type, one highlighter for what is live or verified, one signal red for losses and errors. */
:root {
  --bg:#050505; --s1:#0B0B0A; --s2:#121210; --s3:#1A1A17; --ln:#22221E; --ln2:#33332D; --ln3:#4A4943;
  --fg:#EDEAE0; --fg2:#B4B1A6; --dim:#807D73; --dim2:#57554E;
  --hl:#F4F046; --hl2:#FFFA8C; --ink:#0A0A06; --hlt:rgba(244,240,70,.10); --hlb:rgba(244,240,70,.32);
  --neg:#FF6A4D; --negt:rgba(255,106,77,.10);
  --disp:"Major Mono Display", "DM Mono", ui-monospace, monospace; --mono:"DM Mono", ui-monospace, "SFMono-Regular", Menlo, monospace;
  --maxw:1280px; --gut:32px; --hd:64px;
  color-scheme:dark;
}
*, *::before, *::after { box-sizing:border-box; }
html { background:var(--bg); -webkit-text-size-adjust:100%; }
body { margin:0; background:var(--bg); color:var(--fg); font:400 14px/1.65 var(--mono); font-variant-numeric:tabular-nums; -webkit-font-smoothing:antialiased; }
h1, h2, h3, h4, p, ul, ol, dl, dd, figure, blockquote, pre { margin:0; } ul, ol { padding:0; list-style:none; }
a { color:inherit; text-decoration:none; } button, input, select, textarea { font:inherit; color:inherit; } button { cursor:pointer; background:none; border:0; padding:0; }
svg { display:block; } [hidden] { display:none !important; }
::selection { background:var(--hl); color:var(--ink); }
:focus-visible { outline:1px solid var(--hl); outline-offset:3px; }
.vh { position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0 0 0 0); white-space:nowrap; }
.w { width:100%; max-width:var(--maxw); margin:0 auto; padding-left:var(--gut); padding-right:var(--gut); }
.ic { width:16px; height:16px; flex:none; fill:none; stroke:currentColor; stroke-width:1.5; stroke-linecap:square; stroke-linejoin:miter; }
.ic.s { width:13px; height:13px; }
.d { color:var(--dim); } .d2 { color:var(--dim2); } .f2 { color:var(--fg2); } .neg { color:var(--neg); } .hlc { color:var(--hl); }
.up::before { content:"+"; }

/* ---------- type ---------- */
.t-xl { font:400 clamp(44px,6.6vw,92px)/.96 var(--disp); letter-spacing:-.045em; }
.t-l { font:400 clamp(38px,5vw,64px)/1 var(--disp); letter-spacing:-.04em; }
.t-m { font:400 26px/1.1 var(--disp); letter-spacing:-.025em; }
.t-s { font:400 17px/1.15 var(--disp); letter-spacing:-.015em; }
.lab { font:500 11px/1.3 var(--mono); letter-spacing:.09em; text-transform:uppercase; color:var(--dim); }
.small { font-size:12.5px; } .tiny { font-size:11.5px; }
.lead { font-size:15.5px; line-height:1.7; color:var(--fg2); max-width:60ch; } .lead b { color:var(--fg); font-weight:500; }
.num { font-family:var(--disp); letter-spacing:-.04em; }

/* ---------- header ---------- */
.hd { position:sticky; top:env(safe-area-inset-top, 0px); z-index:30; background:rgba(5,5,5,.94); backdrop-filter:blur(8px); -webkit-backdrop-filter:blur(8px); border-bottom:1px solid var(--ln2); }
.hd .w { display:flex; align-items:center; gap:28px; height:var(--hd); }
.brand { display:flex; align-items:center; gap:11px; white-space:nowrap; flex:none; } .brand svg { width:27px; height:19px; } .brand b { font:400 18px/1 var(--disp); letter-spacing:-.03em; font-weight:400; }
.nav { display:flex; gap:2px; min-width:0; } .nav a { font-size:13px; color:var(--dim); padding:8px 11px; white-space:nowrap; position:relative; }
.nav a:hover { color:var(--fg); } .nav a.on { color:var(--fg); } .nav a.on::after { content:""; position:absolute; left:11px; right:11px; bottom:-14px; height:2px; background:var(--hl); }
.hr { margin-left:auto; display:flex; align-items:center; gap:14px; flex:none; }
.clock { display:flex; align-items:center; gap:8px; font-size:11.5px; color:var(--dim); white-space:nowrap; } .clock i { display:grid; grid-template-columns:repeat(28,3px); gap:1px; }
.clock i b { height:9px; background:var(--ln2); } .clock i b.on { background:var(--fg2); } .clock i b.now { background:var(--hl); }
.wal { display:flex; align-items:center; gap:10px; border:1px solid var(--ln2); padding:7px 10px 7px 8px; font-size:12.5px; white-space:nowrap; }
.wal:hover { border-color:var(--fg2); } .wal canvas { width:20px; height:20px; } .wal span { color:var(--dim); }
.bar { border-bottom:1px solid var(--ln); background:var(--s1); }
.bar .w { display:flex; align-items:center; gap:22px; height:30px; font-size:11.5px; color:var(--dim); white-space:nowrap; overflow:hidden; }
.bar b { color:var(--fg2); font-weight:400; } .bar .lv { display:flex; align-items:center; gap:7px; color:var(--fg2); } .bar .r { margin-left:auto; } .bar .smp { border:1px dashed var(--ln3); padding:2px 7px 1px; color:var(--fg2); line-height:1.3; }
.blink { width:6px; height:6px; background:var(--hl); display:inline-block; flex:none; animation:blink 1.4s steps(1) infinite; } @keyframes blink { 50% { opacity:.15; } }

/* ---------- buttons, links, chips ---------- */
.btn { display:inline-flex; align-items:center; justify-content:center; gap:9px; font:500 13px/1 var(--mono); padding:12px 17px; border:1px solid var(--fg); color:var(--fg); background:transparent; white-space:nowrap; transition:background .12s, color .12s; }
.btn:hover { background:var(--fg); color:var(--bg); } .btn.pri { background:var(--hl); border-color:var(--hl); color:var(--ink); } .btn.pri:hover { background:var(--hl2); border-color:var(--hl2); }
.btn.q { border-color:var(--ln2); color:var(--fg2); } .btn.q:hover { border-color:var(--fg); background:transparent; color:var(--fg); }
.btn.sm { padding:8px 12px; font-size:12px; } .btn.lg { padding:15px 22px; font-size:14px; } .btn.blk { width:100%; }
.btn.bad { border-color:var(--neg); color:var(--neg); } .btn.bad:hover { background:var(--neg); color:var(--ink); }
.btn[disabled], .btn.dis, .btn[disabled]:hover, .btn.dis:hover { border-color:var(--ln2); background:transparent; color:var(--dim2); cursor:not-allowed; }
.btn[aria-busy="true"] { pointer-events:none; } .btn[aria-busy="true"]::after { content:""; width:12px; height:2px; background:currentColor; animation:busy .9s steps(4) infinite; } @keyframes busy { 0% { width:3px; } 100% { width:15px; } }
.lnk { color:var(--fg); text-decoration:underline; text-decoration-color:var(--ln3); text-underline-offset:4px; } .lnk:hover { text-decoration-color:var(--hl); }
.vl { display:inline-flex; align-items:center; gap:5px; font-size:12px; color:var(--dim); white-space:nowrap; } .vl:hover { color:var(--hl); } .vl .ic { width:12px; height:12px; }
.vf { display:inline-flex; align-items:center; gap:5px; background:var(--hl); color:var(--ink); font:500 11px/1 var(--mono); padding:4px 6px; white-space:nowrap; letter-spacing:.02em; } .vf .ic { width:11px; height:11px; stroke-width:2; }
.chip { display:inline-flex; align-items:center; gap:7px; font-size:11.5px; line-height:1; padding:5px 8px 5px 7px; border:1px solid var(--ln2); color:var(--fg2); white-space:nowrap; }
.chip i { width:6px; height:6px; background:var(--dim); flex:none; } .chip.live i { background:var(--hl); animation:blink 1.4s steps(1) infinite; } .chip.live { color:var(--fg); }
.chip.pos i { background:var(--fg); } .chip.cool i, .chip.stop i { background:var(--neg); } .chip.idle i, .chip.paused i { background:transparent; box-shadow:inset 0 0 0 1px var(--dim); }
.chip.hook { border-color:var(--ln3); color:var(--fg); } .chip.open { border-color:var(--hl); color:var(--hl); } .chip.open i { background:var(--hl); }
.tag { font-size:11px; padding:2px 6px; border:1px solid var(--ln2); color:var(--dim); white-space:nowrap; }
.cp { display:inline-flex; align-items:center; gap:6px; color:var(--dim); font-size:12px; } .cp:hover { color:var(--fg); } .cp .ic { width:13px; height:13px; }

/* ---------- graphic elements ---------- */
canvas.sg { image-rendering:pixelated; image-rendering:crisp-edges; display:block; flex:none; }
.sg.xs { width:20px; height:20px; } .sg.sm { width:28px; height:28px; } .sg.mid { width:40px; height:40px; } .sg.lg { width:72px; height:72px; }
.frame { position:relative; padding:14px; } .frame::before, .frame::after { content:""; position:absolute; inset:0; pointer-events:none;
  background:linear-gradient(var(--fg2),var(--fg2)) 0 0/14px 1px, linear-gradient(var(--fg2),var(--fg2)) 0 0/1px 14px, linear-gradient(var(--fg2),var(--fg2)) 100% 0/14px 1px, linear-gradient(var(--fg2),var(--fg2)) 100% 0/1px 14px,
  linear-gradient(var(--fg2),var(--fg2)) 0 100%/14px 1px, linear-gradient(var(--fg2),var(--fg2)) 0 100%/1px 14px, linear-gradient(var(--fg2),var(--fg2)) 100% 100%/14px 1px, linear-gradient(var(--fg2),var(--fg2)) 100% 100%/1px 14px; background-repeat:no-repeat; }
.frame::after { display:none; }
.fpr { font-size:12.5px; letter-spacing:.08em; word-spacing:.3em; color:var(--fg2); }
.act { display:block; image-rendering:pixelated; height:12px; width:96px; } .act.wide { width:100%; height:22px; }
.dbar { display:block; height:10px; border:1px solid var(--ln2); position:relative; background:var(--bg); } .dbar i { position:absolute; inset:1px auto 1px 1px; background-image:radial-gradient(var(--fg) 46%, transparent 48%); background-size:3px 3px; }
.dbar.hot i { background:var(--fg); } .dbar.full i { background:var(--hl); } .dbar.big { height:28px; } .dbar.big i { background-size:4px 4px; }
.hatch { background-image:repeating-linear-gradient(135deg, var(--ln3) 0 1px, transparent 1px 5px); }
.dots { background-image:radial-gradient(var(--ln2) 40%, transparent 41%); background-size:4px 4px; }
.px { image-rendering:pixelated; shape-rendering:crispEdges; }

/* ---------- section and page heads ---------- */
.ph { padding:56px 0 36px; display:grid; grid-template-columns:minmax(0,1fr) auto; gap:20px 32px; align-items:end; border-bottom:1px solid var(--ln2); }
.ph .crumb { grid-column:1 / -1; display:flex; gap:8px; align-items:center; font-size:12px; color:var(--dim); } .ph .crumb a:hover { color:var(--fg); } .ph .crumb i { color:var(--dim2); font-style:normal; }
.ph h1 { min-width:0; } .ph .sub { margin-top:14px; } .ph .stats { align-self:end; }
.stats { display:grid; grid-auto-flow:column; } .stats > div { padding:0 22px; border-left:1px solid var(--ln2); display:grid; gap:4px; } .stats > div:first-child { border-left:0; padding-left:0; }
.stats dt { font:500 11px/1.3 var(--mono); letter-spacing:.09em; text-transform:uppercase; color:var(--dim); white-space:nowrap; } .stats dd { font:400 26px/1 var(--disp); letter-spacing:-.04em; white-space:nowrap; }
section.sc { padding-top:72px; } section.sc.t { padding-top:48px; }
.sh { display:flex; align-items:end; gap:16px 24px; flex-wrap:wrap; padding-bottom:16px; margin-bottom:24px; border-bottom:1px solid var(--ln2); }
.sh .l { display:grid; gap:8px; min-width:0; } .sh .lab { display:flex; align-items:center; gap:8px; } .sh .lab::before { content:""; width:6px; height:6px; background:var(--hl); }
.sh h2 { font:400 30px/1.05 var(--disp); letter-spacing:-.03em; } .sh .r { margin-left:auto; display:flex; align-items:center; gap:14px; flex-wrap:wrap; font-size:12px; color:var(--dim); }
.sh.s h2 { font-size:21px; } .sh.s { margin-bottom:18px; padding-bottom:12px; }

/* ---------- surfaces ---------- */
.box { border:1px solid var(--ln2); background:var(--s1); }
.box > .bh { display:flex; align-items:center; gap:12px; padding:12px 16px; border-bottom:1px solid var(--ln2); font-size:12px; color:var(--dim); }
.box > .bh b { color:var(--fg); font-weight:500; } .box > .bh .r { margin-left:auto; display:flex; gap:12px; align-items:center; }
.box > .bb { padding:16px; }
.grid2 { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:32px; } .grid3 { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; }
.main2 { display:grid; grid-template-columns:minmax(0,1fr) 360px; gap:40px; align-items:start; } .main2.wide { grid-template-columns:minmax(0,1fr) 380px; } .main2.narrow { grid-template-columns:minmax(0,1fr) 300px; } .side { display:grid; gap:24px; position:sticky; top:calc(var(--hd) + 24px); }
.kv { display:grid; grid-template-columns:auto minmax(0,1fr); gap:8px 18px; font-size:12.5px; } .kv dt { color:var(--dim); white-space:nowrap; } .kv dd { text-align:right; min-width:0; overflow-wrap:anywhere; }
.rule { border-top:1px solid var(--ln2); }

/* ---------- tables ---------- */
.tw { overflow-x:auto; }
table.t { width:100%; border-collapse:collapse; font-size:13px; }
table.t th { font:500 11px/1.3 var(--mono); letter-spacing:.09em; text-transform:uppercase; color:var(--dim); text-align:left; padding:0 14px 10px 0; border-bottom:1px solid var(--ln3); white-space:nowrap; }
table.t td { padding:12px 14px 12px 0; border-bottom:1px solid var(--ln); white-space:nowrap; vertical-align:middle; } table.t tr:last-child td { border-bottom:0; }
table.t .r { text-align:right; } table.t th:last-child, table.t td:last-child { padding-right:0; }
table.t tbody tr.lk { cursor:pointer; } table.t tbody tr.lk:hover td { background:var(--s1); }
.who { display:flex; align-items:center; gap:12px; min-width:0; } .who b { font:400 15.5px/1.1 var(--disp); letter-spacing:-.02em; font-weight:400; } .who small { display:block; color:var(--dim); font-size:11.5px; margin-top:3px; }
.mv { font-size:11.5px; display:inline-flex; align-items:center; gap:2px; } .mv .ic { width:10px; height:10px; stroke-width:2; } .mv.u { color:var(--fg); } .mv.dn { color:var(--neg); } .mv.z { color:var(--dim2); }

/* ---------- armor, trace, hexdump ---------- */
.arm { display:grid; gap:0; font-size:13px; border-left:1px solid var(--ln3); padding:0 0 0 18px; }
.arm .bl { color:var(--dim2); font-size:12px; letter-spacing:.02em; }
.arm .hdr { display:flex; align-items:center; gap:12px; margin:12px 0 10px; } .arm .hdr b { font:400 16px/1 var(--disp); letter-spacing:-.02em; font-weight:400; } .arm .hdr span { color:var(--dim); font-size:12px; }
.arm p { font-size:14px; line-height:1.7; color:var(--fg); max-width:64ch; margin:0 0 12px; }
.arm .pos { display:flex; flex-wrap:wrap; gap:6px 18px; font-size:12px; color:var(--dim); margin-bottom:12px; } .arm .pos b { color:var(--fg); font-weight:500; }
.arm .sig { display:flex; align-items:center; gap:10px 14px; flex-wrap:wrap; margin-top:10px; font-size:12px; color:var(--dim); }
.trace { display:grid; gap:0; position:relative; }
.trace li { display:grid; grid-template-columns:76px 18px minmax(0,1fr); gap:0 14px; position:relative; padding-bottom:16px; }
.trace li::before { content:""; position:absolute; left:98.5px; top:16px; bottom:-2px; width:1px; background:var(--ln3); } .trace li:last-child::before { display:none; }
.trace .k { font-size:11px; letter-spacing:.09em; text-transform:uppercase; color:var(--dim); padding-top:2px; } .trace .k em { display:block; font-style:normal; letter-spacing:0; text-transform:none; color:var(--dim2); font-size:11px; }
.trace .n { width:11px; height:11px; border:1px solid var(--fg2); background:var(--bg); margin-top:5px; justify-self:center; position:relative; z-index:1; }
.trace li.done .n { background:var(--fg2); } .trace li.hl .n { background:var(--hl); border-color:var(--hl); }
.trace .x { font-size:13.5px; line-height:1.6; } .trace .x .vl { margin-top:4px; }
.chk { display:flex; flex-wrap:wrap; gap:6px; margin-top:8px; } .chk span { display:inline-flex; align-items:center; gap:5px; font-size:11.5px; border:1px solid var(--ln2); padding:3px 7px; color:var(--fg2); } .chk .ic { width:11px; height:11px; color:var(--hl); stroke-width:2; }
.hex { font-size:12.5px; display:grid; }
.hex .r { display:grid; grid-template-columns:6ch 25ch 15ch minmax(0,1fr); gap:16px; padding:7px 0; border-bottom:1px dotted var(--ln2); align-items:baseline; }
.hex .r.h { color:var(--dim2); font-size:11px; letter-spacing:.09em; text-transform:uppercase; border-bottom:1px solid var(--ln3); }
.hex .o { color:var(--dim2); } .hex .b { color:var(--fg2); letter-spacing:.05em; white-space:nowrap; } .hex .f.k { background:var(--hl); color:var(--ink); padding:0 5px; justify-self:start; } .hex .dsc { color:var(--dim); }
.hex .r.more { color:var(--dim2); font-size:11.5px; padding:3px 0; } .hex .r.more span { grid-column:2 / -1; }

/* ---------- stream (the wire) ---------- */
.wire { display:grid; }
.wire .e { display:grid; grid-template-columns:64px 20px 108px 64px minmax(0,1fr) auto; gap:12px; align-items:center; padding:8px 0; border-bottom:1px dotted var(--ln2); font-size:12.5px; white-space:nowrap; }
.wire .e .t { color:var(--dim); } .wire .e .a { font:400 14px/1 var(--disp); letter-spacing:-.02em; overflow:hidden; text-overflow:ellipsis; }
.wire .e .v { font-size:11px; letter-spacing:.06em; text-transform:uppercase; } .wire .e .v.enter, .wire .e .v.add, .wire .e .v.launch { color:var(--fg); } .wire .e .v.exit, .wire .e .v.sell { color:var(--fg2); } .wire .e .v.stop { color:var(--neg); } .wire .e .v.skip { color:var(--dim); }
.wire .e .o { overflow:hidden; text-overflow:ellipsis; color:var(--fg2); } .wire .e .o b { color:var(--fg); font-weight:500; } .wire .e .s { color:var(--dim2); font-size:11.5px; }
.wire.cmp .e { grid-template-columns:62px 20px 92px 46px minmax(0,1fr); } .wire.cmp .e .s { display:none; }
.wire .e.new { animation:wnew 1.2s steps(6); } @keyframes wnew { 0% { background:var(--hlt); } 100% { background:transparent; } }

/* ---------- position range bar ---------- */
.rb { position:relative; height:26px; }
.rb .ln { position:absolute; left:0; right:0; top:12px; height:1px; background:var(--ln3); }
.rb .seg { position:absolute; top:9px; height:7px; background-image:radial-gradient(var(--fg2) 45%, transparent 47%); background-size:3px 3px; }
.rb .seg.dn { background-image:radial-gradient(var(--neg) 45%, transparent 47%); }
.rb .m { position:absolute; top:4px; width:1px; height:17px; background:var(--fg2); } .rb .m.st { background:var(--neg); } .rb .m.tp { background:var(--hl); } .rb .m.e { background:var(--dim); height:11px; top:7px; }
.rb .now { position:absolute; top:5px; width:9px; height:15px; margin-left:-4px; background:var(--fg); }
.rbl { display:flex; justify-content:space-between; font-size:11px; color:var(--dim); margin-top:4px; } .rbl .st { color:var(--neg); } .rbl .tp { color:var(--hl); }

/* ---------- form fields ---------- */
.fld { display:grid; grid-template-columns:minmax(0,1fr); gap:7px; align-content:start; } .fld > span:first-child { font-size:11px; letter-spacing:.09em; text-transform:uppercase; color:var(--dim); }
.in { display:flex; align-items:center; gap:8px; border:1px solid var(--ln2); background:var(--bg); padding:0 12px; min-height:42px; }
.in:focus-within { border-color:var(--hl); } .in input, .in select { flex:1; min-width:0; background:transparent; border:0; outline:0; padding:10px 0; font-size:14px; color:var(--fg); }
.in select { appearance:none; -webkit-appearance:none; cursor:pointer; } .in select option { background:var(--s2); }
.in em { font-style:normal; color:var(--dim); font-size:12px; white-space:nowrap; } .in .ic { color:var(--dim); }
.in.bad { border-color:var(--neg); } .in.dis { background:var(--s1); border-style:dashed; } .in.dis input { color:var(--dim2); cursor:not-allowed; } .err { color:var(--neg); font-size:12px; } .hint { color:var(--dim); font-size:12px; }
.seg2 { display:flex; flex-wrap:wrap; gap:6px; } .seg2 button { font-size:12.5px; padding:8px 12px; border:1px solid var(--ln2); color:var(--fg2); }
.seg2 button:hover { border-color:var(--fg2); color:var(--fg); } .seg2 button[aria-pressed="true"] { background:var(--fg); border-color:var(--fg); color:var(--bg); }
.tabs { display:flex; gap:24px; border-bottom:1px solid var(--ln2); overflow-x:auto; } .tabs button, .tabs a { font-size:13px; color:var(--dim); padding:12px 0; position:relative; white-space:nowrap; }
.tabs button:hover, .tabs a:hover { color:var(--fg); } .tabs [aria-selected="true"] { color:var(--fg); } .tabs [aria-selected="true"]::after { content:""; position:absolute; left:0; right:0; bottom:-1px; height:2px; background:var(--hl); }
.tabs .n { color:var(--dim2); margin-left:6px; }
.chkbox { display:flex; gap:12px; align-items:flex-start; font-size:13px; color:var(--fg2); cursor:pointer; } .chkbox input { appearance:none; -webkit-appearance:none; width:16px; height:16px; border:1px solid var(--ln3); margin:2px 0 0; flex:none; background:var(--bg); cursor:pointer; }
.chkbox input:checked { background:var(--hl); border-color:var(--hl); box-shadow:inset 0 0 0 3px var(--bg); } .chkbox b { color:var(--fg); font-weight:500; }
input[type=range] { -webkit-appearance:none; appearance:none; width:100%; height:20px; background:transparent; cursor:pointer; }
input[type=range]::-webkit-slider-runnable-track { height:1px; background:var(--ln3); } input[type=range]::-moz-range-track { height:1px; background:var(--ln3); }
input[type=range]::-webkit-slider-thumb { -webkit-appearance:none; width:10px; height:18px; background:var(--fg); margin-top:-9px; border:0; } input[type=range]::-moz-range-thumb { width:10px; height:18px; background:var(--fg); border:0; border-radius:0; }
input[type=range]:focus-visible::-webkit-slider-thumb { background:var(--hl); }

/* ---------- footer ---------- */
.ft { margin-top:112px; border-top:1px solid var(--ln2); }
.ft .w { display:grid; grid-template-columns:minmax(0,1.4fr) repeat(3,minmax(0,1fr)); gap:32px; padding-top:40px; padding-bottom:40px; }
.ft .man { display:grid; gap:12px; align-content:start; } .ft .man p { font-size:13px; color:var(--fg2); max-width:52ch; line-height:1.7; } .ft .man b { color:var(--fg); font-weight:500; }
.ft h4 { font:500 11px/1.3 var(--mono); letter-spacing:.09em; text-transform:uppercase; color:var(--dim); margin-bottom:12px; } .ft nav { display:grid; gap:8px; font-size:13px; align-content:start; } .ft nav a { color:var(--fg2); } .ft nav a:hover { color:var(--fg); }
.ft .fine { grid-column:1 / -1; border-top:1px solid var(--ln); padding-top:20px; display:flex; gap:12px 28px; flex-wrap:wrap; font-size:12px; color:var(--dim); }

/* ---------- arena (home) ---------- */
.hero { display:grid; grid-template-columns:minmax(0,1.08fr) minmax(0,1fr); gap:56px; padding:72px 0 64px; align-items:center; }
.hero .kick { display:flex; align-items:center; gap:10px; margin-bottom:26px; flex-wrap:wrap; }
.hero .lead { margin-top:28px; } .hero .ctas { display:flex; gap:12px; flex-wrap:wrap; margin-top:32px; }
.facts { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); margin-top:48px; border-top:1px solid var(--ln2); }
.facts li { padding:14px 16px 0 0; display:grid; gap:4px; font-size:12.5px; } .facts li + li { padding-left:16px; border-left:1px solid var(--ln2); } .facts b { font-weight:500; color:var(--fg); } .facts span { color:var(--dim); }
/* the champion: the season's number one. The only place the laurel and the highlighter crop marks appear. */
.champ { border:1px solid var(--ln3); background:var(--s1); position:relative; }
.champ::before { content:""; position:absolute; inset:-8px; pointer-events:none;
  background:linear-gradient(var(--hl),var(--hl)) 0 0/16px 2px, linear-gradient(var(--hl),var(--hl)) 0 0/2px 16px, linear-gradient(var(--hl),var(--hl)) 100% 0/16px 2px, linear-gradient(var(--hl),var(--hl)) 100% 0/2px 16px,
  linear-gradient(var(--hl),var(--hl)) 0 100%/16px 2px, linear-gradient(var(--hl),var(--hl)) 0 100%/2px 16px, linear-gradient(var(--hl),var(--hl)) 100% 100%/16px 2px, linear-gradient(var(--hl),var(--hl)) 100% 100%/2px 16px; background-repeat:no-repeat; }
.champ .belt { display:flex; align-items:center; gap:8px 14px; flex-wrap:wrap; background:var(--hl); color:var(--ink); padding:12px 18px; }
.champ .belt b { font:400 18px/1 var(--disp); letter-spacing:-.025em; font-weight:400; } .champ .belt span { margin-left:auto; font:500 10.5px/1.2 var(--mono); letter-spacing:.08em; text-transform:uppercase; }
.champ .cbody { display:grid; grid-template-columns:208px minmax(0,1fr); gap:22px; align-items:center; padding:22px 20px 20px 14px; border-bottom:1px solid var(--ln2); }
.crest { position:relative; width:208px; height:208px; display:grid; place-items:center; }
.crest::before { content:""; position:absolute; inset:34px 34px 40px; border-radius:50%; background-image:radial-gradient(var(--ln3) 40%, transparent 41%); background-size:4px 4px;
  -webkit-mask-image:radial-gradient(closest-side, #000 20%, transparent 100%); mask-image:radial-gradient(closest-side, #000 20%, transparent 100%); }
.crest .laurel { position:absolute; inset:0; width:100%; height:100%; image-rendering:pixelated; } .sg.c144 { width:120px; height:120px; position:relative; top:-6px; }
.cinfo { display:grid; gap:8px; justify-items:start; align-content:center; min-width:0; }
.cinfo .since { font-size:11.5px; color:var(--hl); } .cinfo .cname { font:400 clamp(40px,4.2vw,56px)/.95 var(--disp); letter-spacing:-.05em; overflow-wrap:anywhere; } .cinfo .cname:hover { color:var(--hl); }
.cst { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px 18px; width:100%; margin-top:6px; padding-top:12px; border-top:1px solid var(--ln2); }
.cst dt { font:500 10.5px/1.3 var(--mono); letter-spacing:.09em; text-transform:uppercase; color:var(--dim); } .cst dd { font:400 20px/1.15 var(--disp); letter-spacing:-.04em; white-space:nowrap; }
.champ .cdec { padding:0 18px 2px; } .champ .cdec .top { display:flex; align-items:center; gap:10px; padding:14px 0; font-size:12px; color:var(--dim); } .champ .cdec .top b { color:var(--fg); font-weight:500; } .champ .cdec .top .r { margin-left:auto; }
.champ .cdec .trace li { padding-bottom:10px; } .champ .cdec .trace .x { font-size:13px; }
.champ .cft { display:flex; gap:10px; flex-wrap:wrap; padding:14px 18px 18px; border-top:1px solid var(--ln2); }
.dos .tags .ctag { border-color:var(--hl); color:var(--hl); }
.steps { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:0; border-top:1px solid var(--ln2); }
.steps li { padding:24px 20px 0 0; display:grid; gap:12px; align-content:start; position:relative; } .steps li + li { padding-left:20px; border-left:1px solid var(--ln2); }
.steps svg.px { width:48px; height:48px; } .steps .n { font-size:11.5px; color:var(--dim); } .steps h3 { font:400 19px/1.15 var(--disp); letter-spacing:-.02em; font-weight:400; } .steps p { font-size:13px; color:var(--fg2); line-height:1.6; }
.near3 { display:grid; gap:14px; } .near3 .c { display:grid; grid-template-columns:72px minmax(0,1fr) 44px; gap:14px; align-items:center; font-size:12.5px; } .near3 .c b { font:400 16px/1 var(--disp); letter-spacing:-.02em; font-weight:400; }
.near3 .c small { grid-column:1 / -1; color:var(--dim); margin-top:-8px; font-size:11.5px; }
.gradcard { border:1px solid var(--ln2); padding:16px; display:grid; gap:12px; } .gradcard .mini { display:grid; grid-template-columns:repeat(8,minmax(0,1fr)); gap:3px; } .gradcard .mini i { height:20px; border:1px solid var(--ln2); }
.gradcard .mini i.done { background:var(--fg2); border-color:var(--fg2); } .gradcard .mini i.open { background:var(--hl); border-color:var(--hl); }
/* the gate: coins closest to graduation and the last one through */
.gate { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:40px; align-items:start; }
.glab { display:flex; justify-content:space-between; align-items:baseline; gap:6px 12px; flex-wrap:wrap; padding-bottom:10px; margin-bottom:18px; border-bottom:1px dotted var(--ln3); font-size:11.5px; color:var(--dim); }
.glab span:first-child { font:500 11px/1.3 var(--mono); letter-spacing:.09em; text-transform:uppercase; color:var(--fg2); }
.gate .near3 { gap:18px; } .gate .near3 .dbar { border-right:2px solid var(--hl); }
.gatecta { display:grid; grid-template-columns:44px minmax(0,1fr) auto; gap:20px; align-items:center; margin-top:36px; padding:18px 20px; border:1px solid var(--ln2); background:var(--s1); }
.sg.g44 { width:44px; height:44px; } .gatecta p { display:grid; gap:3px; font-size:13px; color:var(--fg2); } .gatecta p b { color:var(--fg); font-weight:500; }

/* ---------- board ---------- */
.filters { display:flex; gap:12px 20px; align-items:center; flex-wrap:wrap; padding:20px 0; }
.filters .in { min-height:38px; width:250px; } .filters .in.srt { width:200px; } .filters .r { margin-left:auto; display:flex; gap:12px; align-items:center; flex-wrap:wrap; }
.sclk { display:grid; grid-template-columns:auto minmax(0,1fr); gap:24px; align-items:center; }
.dist { display:grid; grid-template-columns:minmax(0,1fr) 300px; gap:32px; align-items:end; border:1px solid var(--ln2); padding:20px; background:var(--s1); }
.dist svg { width:100%; height:auto; } .dist text { font:400 10.5px var(--mono); fill:var(--dim); } .dist .zero { stroke:var(--hl); } .dist .ax { stroke:var(--ln3); }
.dist .note { display:grid; gap:10px; font-size:13px; color:var(--fg2); } .dist .note b { color:var(--fg); font-weight:500; } .dist .big { font:400 44px/1 var(--disp); letter-spacing:-.05em; color:var(--fg); }
.pager { display:flex; justify-content:space-between; align-items:center; gap:16px; padding-top:20px; font-size:12.5px; color:var(--dim); flex-wrap:wrap; }
.seasons { display:flex; gap:0; border:1px solid var(--ln2); } .seasons button { padding:8px 14px; font-size:12.5px; color:var(--dim); border-left:1px solid var(--ln2); } .seasons button:first-child { border-left:0; }
.seasons button[aria-pressed="true"] { background:var(--fg); color:var(--bg); } .seasons button:hover { color:var(--fg); } .seasons button[aria-pressed="true"]:hover { color:var(--bg); }
.rclock { display:grid; grid-template-columns:repeat(28,minmax(0,1fr)); gap:2px; } .rclock i { height:16px; background:var(--s3); } .rclock i.on { background:var(--ln3); } .rclock i.now { background:var(--hl); }
.rclab { display:flex; justify-content:space-between; font-size:11.5px; color:var(--dim); margin-top:8px; }

/* ---------- agent dossier ---------- */
.dos { display:grid; grid-template-columns:300px minmax(0,1fr); gap:48px; padding:48px 0 0; align-items:start; }
.dos .fig { display:grid; gap:12px; } .dos .fig canvas { width:272px; height:272px; } .dos .fig .cap { display:flex; justify-content:space-between; gap:12px; font-size:11.5px; color:var(--dim); }
.dos h1 { font:400 clamp(40px,8vw,112px)/.88 var(--disp); letter-spacing:-.06em; overflow-wrap:anywhere; } .dos .tags { display:flex; flex-wrap:wrap; gap:8px; margin:22px 0 20px; align-items:center; }
.dos .tags .rk { background:var(--hl); color:var(--ink); border-color:var(--hl); } .dos .quote { font-size:15px; color:var(--fg2); max-width:56ch; line-height:1.7; }
.dos .fprw { margin-top:20px; display:grid; gap:6px; } .dos .acts { display:flex; gap:12px; flex-wrap:wrap; margin-top:26px; }
.params { display:grid; grid-template-columns:repeat(6,minmax(0,1fr)); border-top:1px solid var(--ln2); border-bottom:1px solid var(--ln2); margin-top:26px; }
.params div { padding:14px 14px 14px 0; display:grid; gap:4px; } .params div + div { padding-left:14px; border-left:1px solid var(--ln2); } .params dt { font:500 11px/1.3 var(--mono); letter-spacing:.09em; text-transform:uppercase; color:var(--dim); } .params dd { font:400 21px/1.1 var(--disp); letter-spacing:-.035em; }
.rec { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:0; margin-bottom:24px; }
.rec div { display:grid; gap:4px; padding-right:16px; } .rec div + div { padding-left:16px; border-left:1px solid var(--ln2); } .rec dt { font:500 11px/1.3 var(--mono); letter-spacing:.09em; text-transform:uppercase; color:var(--dim); } .rec dd { font:400 34px/1 var(--disp); letter-spacing:-.05em; }
.chart svg { width:100%; height:auto; display:block; } .chart text { font:400 10.5px var(--mono); fill:var(--dim); } .chart .g { stroke:var(--ln); } .chart .zl { stroke:var(--ln3); } .chart .pl { fill:none; stroke:var(--fg); stroke-width:1.5; } .chart .hl { fill:var(--hl); }
.ctl { display:flex; gap:4px; } .ctl button { font-size:12px; padding:5px 9px; color:var(--dim); border:1px solid transparent; } .ctl button[aria-pressed="true"] { color:var(--fg); border-color:var(--ln3); }
.dec { display:grid; } .dec li { display:grid; grid-template-columns:70px 64px 60px minmax(0,1fr); gap:12px; padding:9px 0; border-bottom:1px dotted var(--ln2); font-size:12.5px; align-items:baseline; }
.dec .k { font-size:11px; letter-spacing:.08em; text-transform:uppercase; } .dec .k.skip { color:var(--dim); } .dec .k.stop { color:var(--neg); } .dec .k.enter { color:var(--fg); } .dec .k.sell { color:var(--fg2); }
.posl { display:grid; gap:0; } .posl > div { display:grid; grid-template-columns:120px minmax(0,1fr) 110px; gap:24px; align-items:center; padding:16px 0; border-bottom:1px solid var(--ln); }
.posl .c b { font:400 17px/1 var(--disp); letter-spacing:-.02em; font-weight:400; } .posl .c small { display:block; color:var(--dim); font-size:11.5px; margin-top:4px; } .posl .p { text-align:right; } .posl .p b { font-size:15px; font-weight:500; display:block; } .posl .p small { color:var(--dim); font-size:11.5px; }
.ghold { display:flex; gap:16px; align-items:center; padding:14px 16px; border:1px dashed var(--ln3); font-size:12.5px; color:var(--fg2); margin-top:16px; flex-wrap:wrap; } .ghold b { color:var(--fg); font-weight:500; }
.copyt { display:grid; gap:0; font-size:13px; } .copyt .bl { color:var(--dim2); font-size:12px; padding:2px 0; }
.copyt .row { display:grid; grid-template-columns:96px minmax(0,1fr); gap:12px; align-items:center; padding:6px 0; } .copyt .row > span { color:var(--dim); } .copyt .in { min-height:34px; }
.copyt .in input { padding:6px 0; font-size:13px; }
.shist { display:grid; } .shist div { display:grid; grid-template-columns:44px minmax(0,1fr) auto; gap:12px; padding:9px 0; border-bottom:1px dotted var(--ln2); font-size:12.5px; } .shist div:last-child { border-bottom:0; }

/* ---------- coins ---------- */
.cgrid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:0; border-top:1px solid var(--ln2); border-left:1px solid var(--ln2); }
.ccard { border-right:1px solid var(--ln2); border-bottom:1px solid var(--ln2); padding:20px; display:grid; gap:16px; align-content:start; cursor:pointer; background:var(--bg); }
.ccard:hover { background:var(--s1); } .ccard .top { display:flex; justify-content:space-between; align-items:start; gap:12px; } .ccard h3 { font:400 30px/1 var(--disp); letter-spacing:-.04em; font-weight:400; }
.ccard .by { display:flex; align-items:center; gap:8px; font-size:12px; color:var(--dim); } .ccard .by b { color:var(--fg2); font-weight:400; }
.ccard dl { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:8px; } .ccard dt { font-size:11px; color:var(--dim); letter-spacing:.06em; text-transform:uppercase; } .ccard dd { font-size:13.5px; }
.ccard .pg { display:grid; gap:6px; } .ccard .pg div { display:flex; justify-content:space-between; font-size:11.5px; color:var(--dim); }
.ccard .gsum { display:flex; gap:10px; align-items:center; font-size:12px; color:var(--fg2); }

/* ---------- coin pages ---------- */
.coinh { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:24px; align-items:end; padding:48px 0 32px; border-bottom:1px solid var(--ln2); }
.coinh h1 { font:400 clamp(64px,11vw,148px)/.84 var(--disp); letter-spacing:-.06em; } .coinh .st { display:flex; gap:10px 16px; flex-wrap:wrap; align-items:center; margin-top:20px; font-size:13px; color:var(--fg2); }
.coinh .st .by { display:inline-flex; gap:8px; align-items:center; }
.phase { display:grid; grid-template-columns:minmax(0,62fr) minmax(0,38fr); border:1px solid var(--ln2); margin-top:32px; }
.phase > div { padding:16px 18px; display:grid; gap:6px; } .phase > div + div { border-left:1px solid var(--fg); } .phase .a { background-image:radial-gradient(var(--ln2) 40%, transparent 41%); background-size:4px 4px; }
.phase .a > *, .phase .lab { background:var(--bg); justify-self:start; padding:0 6px; margin-left:-6px; } .phase b { font-size:14px; font-weight:500; } .phase .on { background:var(--s1); }
.ch2 svg { width:100%; height:auto; display:block; } .ch2 text { font:400 10.5px var(--mono); fill:var(--dim); } .ch2 .pl { fill:none; stroke:var(--fg); stroke-width:1.5; } .ch2 .gl { stroke:var(--hl); } .ch2 .g { stroke:var(--ln); }
.cells svg { width:100%; height:auto; display:block; }
.legend { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:10px 18px; font-size:12px; margin-top:16px; } .legend span { display:flex; gap:8px; align-items:center; min-width:0; } .legend svg { width:14px; height:14px; flex:none; }
.locks { display:grid; grid-template-columns:repeat(8,minmax(0,1fr)); border:1px solid var(--ln2); }
.locks > div { padding:14px 12px; display:grid; gap:6px; font-size:12px; justify-items:start; } .locks > div + div { border-left:1px solid var(--ln2); }
.locks svg { width:18px; height:20px; } .locks b { font-weight:500; font-size:13px; } .locks span { color:var(--dim); } .locks .done { background:var(--s2); } .locks .open { background:var(--hl); color:var(--ink); } .locks .open span { color:#4a4a1e; }
.sales { display:grid; } .sales li { display:grid; grid-template-columns:76px minmax(0,1fr) 44px 72px 92px; gap:12px; padding:10px 0; border-bottom:1px dotted var(--ln2); font-size:12.5px; align-items:center; }
.hol { display:grid; } .hol li { display:grid; grid-template-columns:28px minmax(0,1fr) 90px 80px 72px; gap:12px; align-items:center; padding:10px 0; border-bottom:1px dotted var(--ln2); font-size:12.5px; }
.hol .pct { position:relative; height:6px; background:var(--s3); } .hol .pct i { position:absolute; inset:0 auto 0 0; background:var(--fg2); }
.ghost { border:1px dashed var(--ln3); padding:20px; display:grid; gap:14px; } .ghost .gl8 { display:grid; grid-template-columns:repeat(8,minmax(0,1fr)); gap:4px; } .ghost .gl8 i { height:34px; border:1px dashed var(--ln3); }
.why { border:1px solid var(--hl); padding:18px; display:grid; gap:10px; background:var(--hlt); } .why b { color:var(--hl); font-weight:500; } .why p { font-size:13px; color:var(--fg); line-height:1.65; }

/* ---------- theses ---------- */
.feed { display:grid; gap:40px; }
.rail { display:grid; gap:24px; position:sticky; top:calc(var(--hd) + 24px); }
.thl { gap:0; } .thr { display:grid; grid-template-columns:minmax(0,1fr) 230px; gap:28px; padding:28px 0; border-bottom:1px solid var(--ln2); align-items:start; } .thr:first-child { padding-top:0; }
.tpos { border:1px solid var(--ln2); background:var(--s1); padding:14px; display:grid; gap:12px; } .tpos .th2 { display:flex; justify-content:space-between; align-items:center; gap:8px; } .tpos .th2 b { font:400 18px/1 var(--disp); letter-spacing:-.03em; font-weight:400; } .tpos .rbl { margin-top:-6px; } .thr .arm .pos { display:none; }
.topc li { display:grid; grid-template-columns:minmax(0,1fr) 40px; gap:12px; align-items:center; padding:8px 0; border-bottom:1px dotted var(--ln2); font-size:12.5px; } .topc .bar2 { height:6px; background:var(--s3); position:relative; margin-top:6px; } .topc .bar2 i { position:absolute; inset:0 auto 0 0; background:var(--fg2); }

/* ---------- build ---------- */
.stepper { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); border:1px solid var(--ln2); margin-top:32px; }
.stepper button { padding:14px 16px; text-align:left; display:grid; gap:4px; border-left:1px solid var(--ln2); color:var(--dim); } .stepper button:first-child { border-left:0; }
.stepper button b { font-size:13px; color:var(--fg2); font-weight:500; } .stepper button[aria-current="step"] { background:var(--fg); color:var(--bg); } .stepper button[aria-current="step"] b { color:var(--bg); }
.stepper button.ok b::after { content:" · done"; color:var(--hl); font-weight:400; }
.spec { border:1px solid var(--ln2); background:var(--s1); }
.spec .bl { color:var(--dim2); font-size:12px; padding:14px 20px; } .spec .bl:last-child { border-top:1px solid var(--ln2); }
.spec fieldset { border:0; margin:0; padding:22px 20px; border-top:1px solid var(--ln2); display:grid; gap:18px; min-width:0; } .spec legend { float:left; width:100%; padding:0; display:flex; align-items:center; gap:10px; font:400 19px/1 var(--disp); letter-spacing:-.02em; }
.spec legend i { font:500 11px/1 var(--mono); font-style:normal; color:var(--ink); background:var(--hl); padding:4px 6px; letter-spacing:.04em; }
.f2c { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px; }
.rng { display:grid; grid-template-columns:minmax(0,1fr) 92px; gap:16px; align-items:center; } .rng output { font-size:14px; text-align:right; border:1px solid var(--ln2); padding:8px 10px; }
.styles { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:6px; } .styles button { border:1px solid var(--ln2); padding:12px 10px; text-align:left; display:grid; gap:4px; }
.styles button b { font-size:13px; font-weight:500; } .styles button span { font-size:11px; color:var(--dim); line-height:1.4; } .styles button:hover { border-color:var(--fg2); }
.styles button[aria-pressed="true"] { border-color:var(--hl); background:var(--hlt); } .styles button[aria-pressed="true"] b { color:var(--hl); }
.pv { border:1px solid var(--ln2); background:var(--s1); position:sticky; top:calc(var(--hd) + 24px); }
.pv .fig { display:grid; grid-template-columns:120px minmax(0,1fr); gap:18px; align-items:center; padding:18px; border-bottom:1px solid var(--ln2); } .pv .fig canvas { width:120px; height:120px; }
.pv .fig b { font:400 26px/1.05 var(--disp); letter-spacing:-.04em; display:block; word-break:break-all; } .pv .syn { font-size:12px; color:var(--fg2); margin-top:8px; line-height:1.6; }
.pv .ix { padding:16px 18px; border-bottom:1px solid var(--ln2); display:grid; gap:10px; } .pv .ix li { display:grid; grid-template-columns:22px minmax(0,1fr) auto; gap:10px; font-size:12.5px; }
.pv .ix .no { color:var(--dim); } .pv .tot { display:flex; justify-content:space-between; font-size:13px; padding-top:10px; border-top:1px dotted var(--ln3); }
.pv .val { padding:16px 18px; border-bottom:1px solid var(--ln2); display:grid; gap:6px; font-size:12.5px; } .pv .val li { display:flex; gap:10px; align-items:baseline; } .pv .val .ok { color:var(--hl); } .pv .val .no2 { color:var(--neg); }
.pv .go { padding:18px; display:grid; gap:12px; }
.boot { display:grid; gap:4px; font-size:13px; } .boot li { display:grid; grid-template-columns:72px minmax(0,1fr) auto; gap:14px; padding:8px 0; border-bottom:1px dotted var(--ln2); } .boot .ok2 { color:var(--hl); } .boot .wait { color:var(--dim); }
.dpl { display:grid; grid-template-columns:320px minmax(0,1fr); gap:48px; padding:56px 0 0; align-items:start; } .dpl canvas { width:288px; height:288px; }

/* ---------- console ---------- */
.mine { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px; }
.mycard { border:1px solid var(--ln2); background:var(--s1); display:grid; } .mycard .top { display:grid; grid-template-columns:72px minmax(0,1fr) auto; gap:16px; align-items:center; padding:18px; border-bottom:1px solid var(--ln2); }
.mycard .top b { font:400 24px/1 var(--disp); letter-spacing:-.04em; font-weight:400; } .mycard .top small { display:block; color:var(--dim); font-size:12px; margin-top:6px; }
.mycard .nums { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); border-bottom:1px solid var(--ln2); } .mycard .nums div { padding:14px 18px; display:grid; gap:4px; } .mycard .nums div + div { border-left:1px solid var(--ln2); }
.mycard .nums dt { font-size:11px; letter-spacing:.08em; text-transform:uppercase; color:var(--dim); } .mycard .nums dd { font:400 22px/1 var(--disp); letter-spacing:-.04em; }
.mycard svg.px { width:56px; height:56px; }
.mycard .lim { padding:14px 18px; border-bottom:1px solid var(--ln2); font-size:12.5px; display:grid; gap:6px; } .mycard .acts { display:flex; gap:8px; padding:14px 18px; flex-wrap:wrap; }
.ext { border:1px dashed var(--ln3); padding:20px; display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1.2fr); gap:24px; align-items:start; }
pre.code { background:var(--s2); border:1px solid var(--ln2); padding:14px 16px; font-size:12.5px; line-height:1.7; color:var(--fg2); overflow-x:auto; white-space:pre; } pre.code b { color:var(--hl); font-weight:400; } pre.code i { color:var(--dim2); font-style:normal; }

/* ---------- verify ---------- */
.doc { display:grid; grid-template-columns:220px minmax(0,1fr); gap:56px; padding-top:48px; align-items:start; }
.toc { position:sticky; top:calc(var(--hd) + 24px); display:grid; gap:2px; font-size:12.5px; } .toc a { color:var(--dim); padding:6px 0 6px 12px; border-left:1px solid var(--ln2); } .toc a:hover { color:var(--fg); } .toc a.on { color:var(--fg); border-left-color:var(--hl); }
.art { display:grid; grid-template-columns:minmax(0,1fr); gap:64px; max-width:860px; min-width:0; } .art section { display:grid; grid-template-columns:minmax(0,1fr); gap:18px; scroll-margin-top:calc(var(--hd) + 24px); }
.art h2 { font:400 28px/1.1 var(--disp); letter-spacing:-.03em; display:flex; gap:16px; align-items:baseline; } .art h2 i { font:400 13px/1 var(--mono); font-style:normal; color:var(--hl); }
.art p { font-size:14px; line-height:1.75; color:var(--fg2); max-width:68ch; } .art p b { color:var(--fg); font-weight:500; overflow-wrap:anywhere; }
.ixt { display:grid; border-top:1px solid var(--ln3); } .ixt div { display:grid; grid-template-columns:140px 150px minmax(0,1fr); gap:16px; padding:12px 0; border-bottom:1px solid var(--ln); font-size:13px; } .ixt b { font-weight:500; } .ixt .no b { color:var(--neg); }
.ixt.lay div { grid-template-columns:70px 130px minmax(0,1fr); } .ixt .h b { font:500 11px/1.3 var(--mono); letter-spacing:.09em; text-transform:uppercase; color:var(--dim); }
.cant { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:0; border:1px solid var(--ln2); } .cant div { padding:18px; display:grid; gap:8px; font-size:13px; color:var(--fg2); } .cant div + div { border-left:1px solid var(--ln2); } .cant h3 { font:400 17px/1.1 var(--disp); color:var(--fg); }
.cant li { display:flex; gap:10px; } .cant li::before { content:""; width:6px; height:6px; margin-top:7px; flex:none; background:var(--fg2); } .cant .no li::before { background:var(--neg); }
.faq { border-top:1px solid var(--ln3); } .faq details { border-bottom:1px solid var(--ln); } .faq summary { cursor:pointer; padding:14px 0; font-size:14px; list-style:none; display:flex; justify-content:space-between; gap:16px; } .faq summary::-webkit-details-marker { display:none; }
.faq summary::after { content:"+"; color:var(--dim); } .faq details[open] summary::after { content:"−"; } .faq details p { padding:0 0 16px; }
.audit { display:flex; gap:16px; align-items:center; border:1px solid var(--neg); background:var(--negt); padding:16px 18px; font-size:13px; } .audit b { color:var(--neg); font-weight:500; }

/* ---------- modal, toast, states ---------- */
.ov { position:fixed; inset:0; z-index:60; background:rgba(5,5,5,.78); display:grid; place-items:center; padding:24px 16px; overflow-y:auto; }
.md { width:min(480px,100%); border:1px solid var(--ln3); background:var(--s1); position:relative; }
.md .mh { display:flex; align-items:center; gap:12px; padding:16px 18px; border-bottom:1px solid var(--ln2); } .md .mh b { font:400 19px/1.15 var(--disp); letter-spacing:-.025em; font-weight:400; } .md .mh .x { margin-left:auto; color:var(--dim); } .md .mh .x:hover { color:var(--fg); }
.md .mb { padding:18px; display:grid; grid-template-columns:minmax(0,1fr); gap:16px; } .md .mf { padding:14px 18px 18px; display:flex; gap:10px; justify-content:flex-end; flex-wrap:wrap; }
.wl { display:grid; gap:6px; } .wl button { display:flex; align-items:center; gap:14px; padding:12px 14px; border:1px solid var(--ln2); text-align:left; font-size:13.5px; } .wl button:hover { border-color:var(--fg2); }
.wl button[aria-busy="true"] { border-color:var(--hl); pointer-events:none; } .wl button[aria-busy="true"] small { color:var(--hl); } .wl .ini { width:28px; height:28px; display:grid; place-items:center; border:1px solid var(--ln3); font-size:12px; } .wl small { margin-left:auto; color:var(--dim); font-size:11.5px; }
.sgs { display:grid; gap:0; } .sgs li { display:grid; grid-template-columns:22px minmax(0,1fr); gap:12px; padding:10px 0; border-bottom:1px dotted var(--ln2); font-size:13px; align-items:center; }
.sgs .n { width:12px; height:12px; border:1px solid var(--ln3); justify-self:center; } .sgs li.on .n { background:var(--hl); border-color:var(--hl); animation:blink 1s steps(1) infinite; } .sgs li.ok .n { background:var(--fg2); border-color:var(--fg2); } .sgs li.ok { color:var(--fg2); }
.ixl { display:grid; border:1px solid var(--ln2); } .ixl li { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:12px; padding:10px 12px; font-size:12.5px; border-bottom:1px dotted var(--ln2); } .ixl li:last-child { border-bottom:0; }
.toast { position:fixed; left:50%; bottom:calc(24px + env(safe-area-inset-bottom, 0px)); transform:translate(-50%, 16px); z-index:70; background:var(--fg); color:var(--bg); padding:11px 16px; font-size:13px; display:flex; gap:10px; align-items:center; transition:transform .2s, opacity .2s; max-width:calc(100% - 32px); opacity:0; visibility:hidden; }
.toast.show { transform:translate(-50%, 0); opacity:1; visibility:visible; } .toast.bad { background:var(--neg); color:var(--ink); }
.skel { display:grid; gap:10px; } .skel i { height:14px; background-image:radial-gradient(var(--ln2) 40%, transparent 41%); background-size:4px 4px; animation:sk 1.2s steps(4) infinite; } @keyframes sk { 50% { opacity:.4; } }
.empty { border:1px dashed var(--ln3); padding:36px 24px; display:grid; gap:12px; justify-items:center; align-content:center; text-align:center; } .empty svg.px { width:56px; height:56px; } .empty h3 { font:400 19px/1.15 var(--disp); letter-spacing:-.02em; } .empty p { font-size:13px; color:var(--fg2); max-width:46ch; }
.errb { border:1px solid var(--neg); background:var(--negt); padding:16px 18px; display:flex; gap:14px; align-items:flex-start; font-size:13px; } .errb b { color:var(--neg); font-weight:500; display:block; margin-bottom:4px; } .errb .btn { margin-left:auto; } .errb > .ic { color:var(--neg); margin-top:2px; }
.nf { padding:120px 0 40px; display:grid; gap:18px; justify-items:start; } .nf canvas { width:160px; height:160px; }

/* ---------- responsive ---------- */
@media (max-width: 1120px) {
  .main2, .main2.wide, .main2.narrow { grid-template-columns:minmax(0,1fr); } .side, .rail, .pv { position:static; } .clock { display:none; }
  .hero { grid-template-columns:minmax(0,1fr); gap:48px; } .champ { max-width:640px; }
  .params { grid-template-columns:repeat(3,minmax(0,1fr)); } .params div:nth-child(4) { border-left:0; padding-left:0; } .params div:nth-child(n+4) { border-top:1px solid var(--ln2); }
  .doc { grid-template-columns:minmax(0,1fr); } .toc { position:static; display:flex; flex-wrap:wrap; gap:4px 14px; } .toc a { border-left:0; padding:4px 0; }
  .ft .w { grid-template-columns:repeat(3,minmax(0,1fr)); } .ft .man { grid-column:1 / -1; }
  .cgrid { grid-template-columns:repeat(2,minmax(0,1fr)); } .dist { grid-template-columns:minmax(0,1fr); }
}
@media (max-width: 1120px) { .bar .h1 { display:none; } }
@media (max-width: 960px) { .hd .w { gap:20px; } .nav a { padding-left:8px; padding-right:8px; } .nav a.on::after { left:8px; right:8px; } }
@media (max-width: 860px) {
  .gate { grid-template-columns:minmax(0,1fr); gap:32px; }
  :root { --gut:20px; }
  .hd .w { flex-wrap:wrap; height:auto; padding-top:12px; padding-bottom:0; gap:10px 16px; } .nav { order:3; width:100%; overflow-x:auto; margin:0 calc(-1 * var(--gut)); padding:0 calc(var(--gut) - 11px); scrollbar-width:none; } .nav::-webkit-scrollbar { display:none; }
  .nav a.on::after { bottom:0; } .nav a { padding:10px 11px 12px; }
  .bar .w { gap:16px; } .bar .hm { display:none; }
  .grid2, .grid3, .mine { grid-template-columns:minmax(0,1fr); } .ph { grid-template-columns:minmax(0,1fr); } .ph .stats { justify-self:start; }
  .dos, .dpl { grid-template-columns:minmax(0,1fr); gap:28px; } .dos .fig canvas, .dpl canvas { width:200px; height:200px; }
  .steps { grid-template-columns:repeat(2,minmax(0,1fr)); } .steps li:nth-child(3) { border-left:0; padding-left:0; } .steps li:nth-child(n+3) { padding-top:28px; }
  .phase { grid-template-columns:minmax(0,1fr); } .phase > div + div { border-left:0; border-top:1px solid var(--fg); }
  .locks { grid-template-columns:repeat(4,minmax(0,1fr)); } .locks > div:nth-child(5) { border-left:0; } .locks > div:nth-child(n+5) { border-top:1px solid var(--ln2); }
  .stepper { grid-template-columns:repeat(2,minmax(0,1fr)); } .stepper button:nth-child(3) { border-left:0; } .stepper button:nth-child(n+3) { border-top:1px solid var(--ln2); }
  .styles { grid-template-columns:repeat(2,minmax(0,1fr)); } .ext { grid-template-columns:minmax(0,1fr); }
  .cant { grid-template-columns:minmax(0,1fr); } .cant div + div { border-left:0; border-top:1px solid var(--ln2); }
}
@media (max-width: 640px) {
  :root { --gut:16px; }
  .wal span, .wal .bal { display:none; } .bar .slt { display:none; } .brand b { font-size:16px; }
  .ph { padding:40px 0 28px; } .stats { grid-auto-flow:row; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px 0; } .stats > div:nth-child(odd) { border-left:0; padding-left:0; } .stats > div { padding:0 0 0 16px; }
  .facts { grid-template-columns:minmax(0,1fr); } .facts li + li { padding-left:0; border-left:0; border-top:1px solid var(--ln2); padding-top:12px; }
  .champ .cbody { grid-template-columns:minmax(0,1fr); padding:20px 16px; gap:14px; } .crest { justify-self:center; } .champ .belt span { margin-left:0; } .champ .cdec { padding:0 16px 2px; } .champ .cft { padding:14px 16px 16px; }
  .gatecta { grid-template-columns:44px minmax(0,1fr); padding:16px; } .gatecta .btn { grid-column:1 / -1; justify-self:start; }
  .steps { grid-template-columns:minmax(0,1fr); } .steps li + li { padding-left:0; border-left:0; padding-top:24px; border-top:1px solid var(--ln2); } .steps li { padding-bottom:20px; }
  .wire .e { grid-template-columns:58px 20px minmax(0,1fr) auto; } .wire .e .v { grid-column:4; grid-row:1; font-size:10px; } .wire .e .s { display:none; } .wire .e .o { grid-column:3 / -1; grid-row:2; font-size:12px; margin-top:-6px; } .wire .e { row-gap:0; }
  table.t .hm { display:none; }
  .params { grid-template-columns:repeat(2,minmax(0,1fr)); } .params div:nth-child(n) { padding-left:14px; border-left:1px solid var(--ln2); border-top:0; } .params div:nth-child(odd) { padding-left:0; border-left:0; } .params div:nth-child(n+3) { border-top:1px solid var(--ln2); }
  .rec { grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px 0; } .rec div:nth-child(3) { border-left:0; padding-left:0; }
  .dec li { grid-template-columns:62px 54px minmax(0,1fr); } .dec li .c4 { grid-column:1 / -1; } .dec li .c3 { display:none; }
  .wire.cmp .e { grid-template-columns:58px 20px minmax(0,1fr) auto; }
  .posl > div { grid-template-columns:minmax(0,1fr) 92px; gap:12px; } .posl .rbw { grid-column:1 / -1; grid-row:2; } .posl .rbl span:nth-child(2) { display:none; }
  .hex .r { grid-template-columns:5ch minmax(0,1fr); gap:2px 10px; } .hex .b, .hex .f, .hex .dsc { grid-column:2; } .hex .b { white-space:normal; } .hex .r.h span:nth-child(n+3) { display:none; }
  .cgrid { grid-template-columns:minmax(0,1fr); } .coinh { grid-template-columns:minmax(0,1fr); }
  .legend { grid-template-columns:repeat(2,minmax(0,1fr)); } .sales li { grid-template-columns:62px minmax(0,1fr) 60px 80px; } .sales .c3 { display:none; }
  .hol li { grid-template-columns:24px minmax(0,1fr) 54px 64px; } .hol .c3 { display:none; }
  .f2c { grid-template-columns:minmax(0,1fr); } .stepper button { padding:12px; } .thr { grid-template-columns:minmax(0,1fr); gap:16px; }
  .mycard .top { grid-template-columns:56px minmax(0,1fr); } .mycard .top .chip { grid-column:1 / -1; justify-self:start; } .mycard .top canvas { width:56px !important; height:56px !important; }
  .ixt div { grid-template-columns:minmax(0,1fr); gap:4px; } .shist div { grid-template-columns:44px minmax(0,1fr); } .shist div span:last-child { grid-column:2; }
  .ft .w { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .filters .in, .filters .in.srt { width:100%; } .filters .r { margin-left:0; width:100%; } .sclk { grid-template-columns:minmax(0,1fr); gap:16px; }
  .errb { display:grid; grid-template-columns:16px minmax(0,1fr); } .errb .btn { grid-column:2; justify-self:start; margin-left:0; }
  .sh h2 { font-size:25px; }
}
@media (max-width: 400px) { .bar .ev { display:none; } }
@media (prefers-reduced-motion: reduce) { *, *::before, *::after { animation:none !important; transition:none !important; } }
