/* General 2026: election-night results board. Saira Condensed / Public Sans / IBM Plex Mono.
   Midnight navy desk, LobbyScape brass, ballot red + precinct blue. Square corners, hairlines,
   broadcast strips. No rounded cards with accent bars, no checkmark lists. */
*{margin:0;padding:0;box-sizing:border-box}
:root{
  --ink:#0a1124;--ink2:#0d1830;--panel:#101d3a;--panel2:#132346;--well:rgba(5,10,22,.62);
  --line:rgba(150,170,210,.14);--line2:rgba(150,170,210,.26);
  --brass:#c9a24b;--brass-hi:#e8ca77;--brass-dk:#8e6f2c;
  --R:#d64038;--R-hi:#ff8a82;--R-soft:rgba(214,64,56,.18);
  --D:#3b7be8;--D-hi:#8fb6ff;--D-soft:rgba(59,123,232,.18);
  --O:#9a86c9;--O-hi:#c8b8f0;--O-soft:rgba(154,134,201,.18);
  --W:#6c7895;
  --text:#eaf0fb;--mut:#93a3c4;--dim:#5f6f92;--good:#46d18a;--bad:#ff6b62;
  --disp:'Saira Condensed','Arial Narrow',sans-serif;--body:'Public Sans','Helvetica Neue',Arial,sans-serif;--mono:'IBM Plex Mono',ui-monospace,Menlo,monospace;
}
html{-webkit-text-size-adjust:100%}
body{font-family:var(--body);color:var(--text);-webkit-font-smoothing:antialiased;min-height:100vh;
  background:var(--ink);background-image:radial-gradient(1000px 420px at 50% -180px,rgba(59,123,232,.12),transparent),linear-gradient(180deg,#0b1428,#0a1124 40%);background-attachment:fixed}
a{color:var(--brass-hi)}
.wrap{max-width:820px;margin:0 auto;padding:0 14px}
.loading{padding:60px 0;text-align:center;color:var(--mut);font-family:var(--mono);font-size:13px;letter-spacing:1px;text-transform:uppercase}

/* masthead */
.mast{position:relative;overflow:hidden;border-bottom:1px solid var(--line);padding:22px 14px 20px;text-align:center}
.mast::before{content:"";position:absolute;inset:0;background:repeating-linear-gradient(90deg,transparent 0 39px,rgba(255,255,255,.016) 39px 40px);pointer-events:none}
.mast-in{position:relative;max-width:820px;margin:0 auto}
.slug{display:flex;gap:10px;align-items:center;justify-content:center;flex-wrap:wrap;margin-bottom:10px}
.onair{display:inline-flex;align-items:center;gap:6px;font:700 11px var(--mono);letter-spacing:2px;color:#ff5a52;border:1px solid rgba(255,90,82,.45);padding:3px 8px;text-transform:uppercase}
.onair i{width:7px;height:7px;border-radius:50%;background:#ff5a52;animation:live 1.8s infinite}
@keyframes live{0%{box-shadow:0 0 0 0 rgba(255,90,82,.55)}70%{box-shadow:0 0 0 7px rgba(255,90,82,0)}100%{box-shadow:0 0 0 0 rgba(255,90,82,0)}}
.chan{font:600 11px var(--mono);letter-spacing:2.5px;color:var(--mut);text-transform:uppercase}
.mast h1{font:900 66px/0.84 var(--disp);letter-spacing:.5px;text-transform:uppercase}
.mast h1 b{color:var(--brass);font-weight:900}
.tag{color:var(--mut);font-size:15px;margin-top:10px}
.clock{display:inline-flex;align-items:stretch;margin-top:16px;border:1px solid var(--brass-dk);font-family:var(--mono);text-transform:uppercase}
.clock-l{background:var(--brass);color:#161007;font-weight:700;font-size:11px;letter-spacing:1.5px;padding:8px 10px;display:flex;align-items:center}
.clock-v{color:var(--brass-hi);font-weight:700;font-size:13px;letter-spacing:1px;padding:8px 12px;background:rgba(201,162,75,.07)}
.clock.locked{border-color:rgba(255,107,98,.5)}.clock.locked .clock-l{background:var(--bad);color:#200}.clock.locked .clock-v{color:#ffb0aa}
.tri{position:absolute;left:0;right:0;bottom:0;height:3px;background:linear-gradient(90deg,var(--R) 0 33.3%,var(--brass) 33.3% 66.6%,var(--D) 66.6%)}

/* tabs */
.tabs{display:flex;position:sticky;top:0;z-index:30;background:rgba(10,17,36,.94);backdrop-filter:blur(8px);border-bottom:1px solid var(--line);padding-top:env(safe-area-inset-top,0px)}
.tabs button{flex:1;background:none;border:0;border-bottom:2px solid transparent;color:var(--mut);font:800 16px var(--disp);letter-spacing:1.2px;text-transform:uppercase;padding:13px 4px;cursor:pointer}
.tabs button.on{color:var(--brass-hi);border-bottom-color:var(--brass)}
.tabs button .n{font:600 10px var(--mono);color:var(--dim);margin-left:4px;vertical-align:2px}
#view{padding:18px 0 40px}

/* type + controls */
h2.sec{font:800 26px/1 var(--disp);letter-spacing:.5px;text-transform:uppercase;margin:6px 0 4px}
.kick{font:600 11px var(--mono);letter-spacing:2px;text-transform:uppercase;color:var(--brass)}
.lede{color:var(--mut);font-size:14px;line-height:1.5;margin-bottom:14px}
label.f{display:block;font:600 11px var(--mono);text-transform:uppercase;letter-spacing:1.5px;color:var(--mut);margin:13px 0 6px}
label.f small{text-transform:none;letter-spacing:0;font-weight:500;color:var(--dim)}
input.t{width:100%;border:1px solid var(--line2);border-radius:2px;padding:12px 13px;font:16px var(--body);background:var(--well);color:var(--text)}
input.t:focus{border-color:var(--brass);outline:none}
input::placeholder{color:var(--dim)}
.row2{display:flex;gap:10px}.row2>div{flex:1;min-width:0}
.opt{display:flex;gap:10px;align-items:flex-start;margin-top:12px;font-size:14px;line-height:1.35;cursor:pointer}
.opt input{width:19px;height:19px;accent-color:var(--brass);flex:0 0 auto;margin-top:1px}
.btn{display:block;width:100%;background:var(--brass);color:#161007;border:0;border-radius:2px;padding:14px;font:800 19px var(--disp);letter-spacing:1px;text-transform:uppercase;cursor:pointer;margin-top:16px;text-align:center;text-decoration:none}
.btn:hover{filter:brightness(1.08)}.btn:disabled{opacity:.4;cursor:default}
.btn.ghost{background:transparent;color:var(--brass-hi);border:1px solid var(--brass-dk)}
.btn.sm{display:inline-block;width:auto;font-size:15px;padding:9px 14px;margin:0}
.msg{margin-top:12px;font-weight:600;font-size:14px;padding:10px 12px;display:none}
.msg.ok{display:block;background:rgba(70,209,138,.12);color:var(--good)}.msg.err{display:block;background:rgba(214,64,56,.16);color:#ff9b94}
.learn{text-align:center;padding-bottom:6px}.learn .btn{display:inline-block;width:auto;margin:0;font-size:16px}
footer{text-align:center;color:var(--dim);font:500 11px/1.8 var(--mono);letter-spacing:.3px;padding:22px 16px calc(40px + env(safe-area-inset-bottom,0px))}
footer b{color:var(--mut)}

/* panels: broadcast boxes with a header strip, not cards */
.panel{border:1px solid var(--line);background:linear-gradient(180deg,var(--panel),var(--ink2));margin-bottom:14px}
.strip{display:flex;align-items:center;gap:10px;padding:9px 14px;background:var(--well);border-bottom:1px solid var(--line);font:600 11px var(--mono);letter-spacing:1.6px;text-transform:uppercase;color:var(--mut);flex-wrap:wrap}
.strip .r{margin-left:auto}
.pad{padding:16px 14px}

/* landing hero */
.hero{padding:26px 16px 22px;text-align:center;border:1px solid var(--line2);background:radial-gradient(520px 220px at 50% -50px,rgba(201,162,75,.14),transparent),linear-gradient(180deg,#12213f,#0c1730);margin-bottom:14px}
.hero h2{font:900 44px/.88 var(--disp);text-transform:uppercase;letter-spacing:.3px}
.hero h2 em{font-style:normal;color:var(--brass)}
.hero p{color:var(--mut);font-size:15px;line-height:1.5;max-width:46ch;margin:12px auto 0}
.tally{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line);border-left:1px solid var(--line);margin-top:18px}
.tally div{border-right:1px solid var(--line);border-bottom:1px solid var(--line);padding:10px 4px;background:var(--well)}
.tally b{display:block;font:700 26px/1 var(--mono);color:var(--brass-hi)}
.tally span{display:block;font:600 10px var(--mono);letter-spacing:1.2px;text-transform:uppercase;color:var(--mut);margin-top:5px}

/* rules / scoring table */
.rules{width:100%;border-collapse:collapse;font-size:14px}
.rules td{padding:9px 14px;border-bottom:1px solid var(--line);vertical-align:top}
.rules td:first-child{font:700 15px var(--mono);color:var(--brass-hi);white-space:nowrap;width:1%}
.rules tr:last-child td{border-bottom:0}
.rules small{color:var(--mut)}

/* district chooser */
.dist{margin-top:12px;border:1px solid var(--line);background:var(--well)}
.dist .row{display:flex;gap:10px;align-items:center;padding:9px 12px;border-bottom:1px solid var(--line);flex-wrap:wrap}
.dist .row:last-child{border-bottom:0}
.dist .lab{font:600 11px var(--mono);letter-spacing:1.4px;text-transform:uppercase;color:var(--mut);width:84px;flex:0 0 auto}
.seg{display:flex;flex-wrap:wrap;gap:6px}
.seg button{background:transparent;border:1px solid var(--line2);color:var(--text);font:600 13px var(--mono);padding:6px 9px;cursor:pointer;border-radius:2px}
.seg button small{color:var(--mut);font-weight:500}
.seg button.on{background:var(--brass);border-color:var(--brass);color:#161007}.seg button.on small{color:#3b2c0b}
.dist .note{font-size:12px;color:var(--mut);padding:8px 12px}

/* my-ballot header */
.me{display:grid;grid-template-columns:1fr auto;gap:4px 12px;align-items:end;padding:14px}
.me .who{font:800 28px/1 var(--disp);text-transform:uppercase}
.me .where{font:500 12px var(--mono);color:var(--mut);letter-spacing:.5px;grid-column:1}
.me .prog{grid-row:1/3;grid-column:2;text-align:right}
.me .prog b{display:block;font:700 30px/1 var(--mono);color:var(--brass-hi)}
.me .prog span{font:600 10px var(--mono);color:var(--mut);letter-spacing:1.4px;text-transform:uppercase}
.progbar{height:6px;background:var(--well);border-top:1px solid var(--line)}
.progbar i{display:block;height:100%;background:var(--brass);transition:width .4s}
.scorebox{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line)}
.scorebox div{padding:10px 6px;text-align:center;border-right:1px solid var(--line)}
.scorebox div:last-child{border-right:0}
.scorebox b{display:block;font:700 22px var(--mono);color:var(--brass-hi)}
.scorebox span{font:600 10px var(--mono);letter-spacing:1.2px;text-transform:uppercase;color:var(--mut)}
.grouph{display:flex;align-items:baseline;gap:10px;margin:22px 0 8px;border-bottom:1px solid var(--line2);padding-bottom:6px}
.grouph h3{font:800 20px var(--disp);text-transform:uppercase;letter-spacing:.8px}
.grouph span{font:600 11px var(--mono);color:var(--mut);letter-spacing:1px;margin-left:auto}

/* race row (collapsed) */
.race{border:1px solid var(--line);background:linear-gradient(180deg,var(--panel),var(--ink2));margin-bottom:8px}
.race.open{border-color:var(--line2)}
.rhead{display:grid;grid-template-columns:1fr auto;gap:2px 10px;align-items:center;padding:11px 12px;cursor:pointer;user-select:none}
.rhead .ofc{font:600 10px var(--mono);letter-spacing:1.6px;text-transform:uppercase;color:var(--mut)}
.rhead .ttl{font:800 20px/1.05 var(--disp);text-transform:uppercase;letter-spacing:.4px}
.rhead .ttl small{font:600 14px var(--disp);color:var(--mut);letter-spacing:.3px}
.rhead .st{grid-column:2;grid-row:1/3;text-align:right;font:700 12px var(--mono);letter-spacing:.5px;text-transform:uppercase}
.st .need{color:var(--dim)}
.st .made{color:var(--brass-hi)}
.st small{display:block;color:var(--mut);font-weight:500;font-size:11px;text-transform:none;letter-spacing:0}
.st .pts{color:var(--good)}.st .miss{color:var(--bad)}
.rhead .vs{grid-column:1;font-size:13px;color:var(--mut);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.vs .R{color:var(--R-hi)}.vs .D{color:var(--D-hi)}.vs .O{color:var(--O-hi)}
.tagw{display:inline-block;font:700 9px var(--mono);letter-spacing:1.5px;padding:2px 5px;margin-left:6px;vertical-align:2px;border:1px solid var(--brass-dk);color:var(--brass-hi)}
.tagc{display:inline-block;font:700 9px var(--mono);letter-spacing:1.5px;padding:2px 5px;margin-left:6px;vertical-align:2px;background:var(--good);color:#04210f}

/* tote board (expanded) */
.tote{border-top:1px solid var(--line)}
.info{padding:10px 12px;font-size:12px;color:var(--mut);border-bottom:1px solid var(--line);display:flex;gap:6px 14px;flex-wrap:wrap;font-family:var(--mono)}
.crow{display:grid;grid-template-columns:44px 1fr 74px;gap:10px;align-items:center;padding:11px 12px;border-bottom:1px solid var(--line);transition:background .2s}
.crow.win{background:linear-gradient(90deg,rgba(201,162,75,.16),transparent 75%)}
.call{width:44px;height:44px;border:1px solid var(--line2);background:var(--well);color:var(--dim);font:700 10px var(--mono);letter-spacing:.8px;cursor:pointer;border-radius:2px;display:flex;align-items:center;justify-content:center;text-transform:uppercase;line-height:1.1;text-align:center}
.crow.win .call{background:var(--brass);border-color:var(--brass);color:#161007}
.call:disabled{cursor:default}
.cmid{min-width:0}
.cname{font:700 19px/1.05 var(--disp);text-transform:uppercase;letter-spacing:.3px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.cmeta{display:flex;gap:6px;align-items:center;flex-wrap:wrap;margin-top:4px;font:500 11px var(--mono);color:var(--mut)}
.pt{font:700 10px var(--mono);letter-spacing:1px;padding:1px 5px;border:1px solid}
.pt.R{color:var(--R-hi);border-color:rgba(214,64,56,.5);background:var(--R-soft)}
.pt.D{color:var(--D-hi);border-color:rgba(59,123,232,.5);background:var(--D-soft)}
.pt.O{color:var(--O-hi);border-color:rgba(154,134,201,.5);background:var(--O-soft)}
.pt.W{color:var(--mut);border-color:var(--line2)}
.inc{font:700 10px var(--mono);letter-spacing:1px;padding:1px 5px;background:var(--text);color:var(--ink)}
.money{color:var(--brass-hi)}
.rm{color:var(--mut)}
.bwrap{position:relative;padding:7px 0 3px}
.bar{height:12px;background:var(--well);border:1px solid var(--line);position:relative;overflow:hidden}
.bar::after{content:"";position:absolute;inset:0;background:repeating-linear-gradient(90deg,transparent 0 9px,rgba(255,255,255,.05) 9px 10px);pointer-events:none}
.fill{height:100%;width:0;transition:width .14s ease-out}
.fill.R{background:linear-gradient(90deg,#8d2620,var(--R))}.fill.D{background:linear-gradient(90deg,#1f4c9c,var(--D))}.fill.O{background:linear-gradient(90deg,#5b4c86,var(--O))}.fill.W{background:var(--W)}
.fill.Y{background:linear-gradient(90deg,#1f7f4a,var(--good))}.fill.N{background:linear-gradient(90deg,#7f1c17,var(--bad))}
.actual{position:absolute;top:-3px;bottom:-3px;width:3px;background:#fff;box-shadow:0 0 0 1px #000;z-index:2}
.thr{position:absolute;top:-4px;bottom:-4px;width:2px;background:var(--brass-hi);z-index:2}
.thrlab{position:absolute;top:-15px;font:700 9px var(--mono);color:var(--brass-hi);transform:translateX(-50%);letter-spacing:.5px}
.sl{position:absolute;left:0;right:0;top:50%;transform:translateY(-35%);width:100%;height:28px;-webkit-appearance:none;appearance:none;background:transparent;margin:0;cursor:grab;z-index:3}
.sl:focus{outline:none}
.sl::-webkit-slider-runnable-track{height:28px;background:transparent}
.sl::-moz-range-track{height:28px;background:transparent}
.sl::-webkit-slider-thumb{-webkit-appearance:none;width:14px;height:26px;border-radius:2px;background:var(--brass-hi);border:1px solid #161007;box-shadow:0 1px 3px rgba(0,0,0,.6)}
.sl::-moz-range-thumb{width:14px;height:26px;border-radius:2px;background:var(--brass-hi);border:1px solid #161007}
.sl:disabled{cursor:default}.sl:disabled::-webkit-slider-thumb{visibility:hidden}.sl:disabled::-moz-range-thumb{visibility:hidden}
.pct{display:flex;align-items:baseline;justify-content:flex-end;gap:2px}
.pct input{width:62px;border:1px solid var(--line2);border-radius:2px;padding:9px 6px;font:700 17px var(--mono);text-align:right;background:var(--well);color:var(--brass-hi)}
.pct input:focus{border-color:var(--brass);outline:none}
.pct i{font:700 13px var(--mono);font-style:normal;color:var(--mut)}
.act{font:600 11px var(--mono);color:var(--text);text-align:right;margin-top:3px}
.meter{display:flex;align-items:center;gap:10px;padding:10px 12px;font:600 12px var(--mono);letter-spacing:.4px;text-transform:uppercase;color:var(--mut)}
.meter .mb{flex:1;height:8px;background:var(--well);border:1px solid var(--line);overflow:hidden}
.meter .mb i{display:block;height:100%;background:var(--brass);transition:width .3s}
.meter.ok{color:var(--good)}.meter.ok .mb i{background:var(--good)}
.meter.over{color:var(--bad)}.meter.over .mb i{background:var(--bad)}
.tfoot{display:flex;gap:10px;align-items:center;padding:0 12px 12px;flex-wrap:wrap}
.tfoot .btn{margin-top:0;flex:1}
.tfoot .rmv{background:none;border:0;color:var(--dim);font:600 11px var(--mono);letter-spacing:1px;text-transform:uppercase;cursor:pointer;padding:8px}
.yourcall{padding:0 12px 10px;font:600 12px var(--mono);color:var(--brass-hi);letter-spacing:.4px}
.result{padding:10px 12px;border-bottom:1px solid var(--line);font:600 12px var(--mono);letter-spacing:.3px;display:flex;gap:12px;flex-wrap:wrap;align-items:center}
.result b{color:var(--good)}.result .x{color:var(--bad)}

/* amendments */
.amd .sumtxt{padding:10px 12px;font-size:13px;line-height:1.55;color:#c9d3e8;border-bottom:1px solid var(--line);white-space:pre-line}
.amd details summary{cursor:pointer;padding:9px 12px;font:600 11px var(--mono);letter-spacing:1.3px;text-transform:uppercase;color:var(--brass-hi);border-bottom:1px solid var(--line);list-style:none}
.amd details summary::-webkit-details-marker{display:none}
.amd .src{font-size:11px;color:var(--dim);padding:8px 12px;border-bottom:1px solid var(--line);font-family:var(--mono)}
.pf{display:grid;grid-template-columns:1fr 1fr;gap:0;border-bottom:1px solid var(--line)}
.pf button{background:var(--well);border:0;border-right:1px solid var(--line);color:var(--mut);font:800 20px var(--disp);letter-spacing:1px;text-transform:uppercase;padding:13px;cursor:pointer}
.pf button:last-child{border-right:0}
.pf button.on.Y{background:rgba(70,209,138,.16);color:var(--good);box-shadow:inset 0 -3px 0 var(--good)}
.pf button.on.N{background:rgba(255,107,98,.14);color:var(--bad);box-shadow:inset 0 -3px 0 var(--bad)}
.yrow{padding:18px 12px 10px;display:grid;grid-template-columns:1fr 74px;gap:10px;align-items:center}
.ylab{font:600 11px var(--mono);letter-spacing:1.4px;text-transform:uppercase;color:var(--mut);margin-bottom:4px}

/* browse */
.filters{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:10px}
.filters button{background:var(--well);border:1px solid var(--line2);color:var(--mut);font:700 14px var(--disp);letter-spacing:1px;text-transform:uppercase;padding:8px 11px;cursor:pointer;border-radius:2px}
.filters button.on{background:var(--brass);color:#161007;border-color:var(--brass)}
.search{margin-bottom:12px}
.unopp{margin-top:20px;border:1px solid var(--line);font-size:13px}
.unopp summary{cursor:pointer;padding:11px 12px;font:600 12px var(--mono);letter-spacing:1px;text-transform:uppercase;color:var(--mut);list-style:none}
.unopp summary::-webkit-details-marker{display:none}
.unopp table{width:100%;border-collapse:collapse}
.unopp td{padding:6px 12px;border-top:1px solid var(--line)}
.unopp td:first-child{font:600 12px var(--mono);color:var(--mut);white-space:nowrap}

/* watch strips */
.wcard .mx{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid var(--line)}
.wcard .side{padding:10px 12px}
.wcard .side+.side{border-left:1px solid var(--line);text-align:right}
.wcard .side .nm{font:800 18px/1.05 var(--disp);text-transform:uppercase}
.wcard .side .mm{font:600 12px var(--mono);color:var(--brass-hi);margin-top:3px}
.mbar{display:flex;height:6px}
.mbar i{display:block;height:100%}
.mbar .R{background:var(--R)}.mbar .D{background:var(--D)}.mbar .O{background:var(--O)}.mbar .W{background:var(--W)}

/* statewide board */
.board-h{display:flex;align-items:baseline;gap:8px;flex-wrap:wrap;padding:12px 12px 8px}
.board-h h4{font:800 18px var(--disp);text-transform:uppercase;letter-spacing:.8px}
.board-h .tl{margin-left:auto;font:700 12px var(--mono);letter-spacing:.5px}
.tl .R{color:var(--R-hi)}.tl .D{color:var(--D-hi)}.tl .U{color:var(--mut)}
.tiles{display:grid;grid-template-columns:repeat(auto-fill,minmax(30px,1fr));gap:3px;padding:0 12px 12px}
.tile{aspect-ratio:1;display:flex;align-items:center;justify-content:center;font:600 10px var(--mono);color:var(--mut);border:1px solid var(--line2);background:var(--well);cursor:pointer;position:relative}
.tile.preR{background:repeating-linear-gradient(135deg,rgba(214,64,56,.55) 0 3px,rgba(214,64,56,.22) 3px 6px);color:#fff;border-color:rgba(214,64,56,.4);cursor:default}
.tile.preD{background:repeating-linear-gradient(135deg,rgba(59,123,232,.55) 0 3px,rgba(59,123,232,.22) 3px 6px);color:#fff;border-color:rgba(59,123,232,.4);cursor:default}
.tile.open{border-color:rgba(201,162,75,.45);color:var(--text)}
.tile.R{background:var(--R);color:#fff;border-color:var(--R)}.tile.D{background:var(--D);color:#fff;border-color:var(--D)}.tile.O{background:var(--O);color:#fff;border-color:var(--O)}
.tile.lead{box-shadow:inset 0 -3px 0 var(--brass-hi)}
.tile.mine::after{content:"";position:absolute;top:2px;right:2px;width:5px;height:5px;background:var(--brass-hi)}
.tile.na{opacity:.25;cursor:default}
.legend{display:flex;gap:12px;flex-wrap:wrap;padding:0 12px 12px;font:500 11px var(--mono);color:var(--mut)}
.legend i{display:inline-block;width:10px;height:10px;margin-right:5px;vertical-align:-1px;border:1px solid var(--line2)}
.sw{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:0;border-top:1px solid var(--line)}
.sw>div{padding:10px 12px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);cursor:pointer}
.sw .o{font:600 10px var(--mono);letter-spacing:1.4px;text-transform:uppercase;color:var(--mut)}
.sw .w{font:800 18px/1.1 var(--disp);text-transform:uppercase;margin-top:4px}
.sw .w.R{color:var(--R-hi)}.sw .w.D{color:var(--D-hi)}.sw .w.O{color:var(--O-hi)}.sw .w.U{color:var(--dim)}
.sw .p{font:600 11px var(--mono);color:var(--mut);margin-top:2px}
.amdb{padding:10px 12px;border-top:1px solid var(--line)}
.amdb .l{display:flex;justify-content:space-between;font:600 12px var(--mono);margin-bottom:6px;gap:8px}
.amdb .l span:first-child{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}

/* leaderboard */
.lbtabs{display:flex;gap:0;overflow-x:auto;border-bottom:1px solid var(--line);-webkit-overflow-scrolling:touch}
.lbtabs button{flex:0 0 auto;background:none;border:0;border-bottom:2px solid transparent;color:var(--mut);font:700 15px var(--disp);letter-spacing:1px;text-transform:uppercase;padding:10px 12px;cursor:pointer}
.lbtabs button.on{color:var(--brass-hi);border-bottom-color:var(--brass)}
.lbctl{display:flex;gap:10px;align-items:center;padding:10px 12px;border-bottom:1px solid var(--line);flex-wrap:wrap}
.lbctl select{background:var(--well);color:var(--text);border:1px solid var(--line2);padding:8px;font:600 13px var(--mono);border-radius:2px;max-width:100%}
.lb{list-style:none}
.lb li{display:grid;grid-template-columns:40px 1fr auto;gap:10px;align-items:center;padding:11px 12px;border-bottom:1px solid var(--line)}
.lb li:last-child{border-bottom:0}
.lb .rk{font:700 17px var(--mono);color:var(--mut);text-align:center}
.lb .rk.g1{color:var(--brass-hi)}.lb .rk.g2{color:#c3cbdb}.lb .rk.g3{color:#cf9350}
.lb .nm{font-weight:700;font-size:16px}
.lb .nm small{display:block;font:500 11px var(--mono);color:var(--mut);margin-top:2px}
.lb .sc{font:700 18px var(--mono);color:var(--brass-hi);text-align:right}
.lb .sc small{font-size:11px;color:var(--mut);font-weight:500}
.perf{display:inline-block;font:700 9px var(--mono);letter-spacing:1.4px;padding:2px 5px;background:var(--brass);color:#161007;margin-left:6px;vertical-align:2px}
.champ{display:flex;gap:14px;align-items:center;padding:14px;border-bottom:1px solid var(--brass-dk);background:linear-gradient(90deg,rgba(201,162,75,.16),transparent)}
.champ svg{width:34px;height:34px;stroke:var(--brass);fill:none;stroke-width:1.7;flex:0 0 auto}
.champ .t{font:800 20px var(--disp);text-transform:uppercase;letter-spacing:.5px}
.champ .d{font-size:13px;color:var(--mut)}

/* share card */
.share{border:1px solid var(--brass-dk);background:linear-gradient(180deg,#14244a,#0c1730);margin:14px 0}
.share .lower{display:flex;align-items:stretch}
.share .lower .k{background:var(--brass);color:#161007;font:900 15px/1 var(--disp);letter-spacing:1px;text-transform:uppercase;padding:12px 10px;display:flex;align-items:center;writing-mode:vertical-rl;transform:rotate(180deg)}
.share .lower .b{padding:14px}
.share .big{font:900 30px/.92 var(--disp);text-transform:uppercase}
.share .big em{font-style:normal;color:var(--brass)}
.share .sm{font:500 12px var(--mono);color:var(--mut);margin-top:8px;letter-spacing:.3px}
.sharebtns{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line)}
.sharebtns a,.sharebtns button{background:none;border:0;border-right:1px solid var(--line);color:var(--brass-hi);font:600 12px var(--mono);letter-spacing:.4px;padding:12px 4px;text-align:center;text-decoration:none;cursor:pointer}
.sharebtns>*:last-child{border-right:0}

/* modal */
.modal{display:none;position:fixed;inset:0;background:rgba(4,8,18,.84);z-index:100;align-items:center;justify-content:center;padding:14px;backdrop-filter:blur(4px)}
.modal.on{display:flex}
.modal-c{background:linear-gradient(180deg,var(--panel),var(--ink2));border:1px solid var(--brass-dk);border-top:3px solid var(--brass);padding:22px 18px;max-width:460px;width:100%;max-height:90vh;overflow:auto}
.toast{position:fixed;left:50%;bottom:calc(18px + env(safe-area-inset-bottom,0px));transform:translateX(-50%);background:var(--brass);color:#161007;font:700 13px var(--mono);padding:10px 14px;z-index:120;letter-spacing:.3px;max-width:92vw}

@media(max-width:560px){
  .mast h1{font-size:52px}.hero h2{font-size:36px}
  .tabs button{font-size:14px;letter-spacing:.8px}
  .tally{grid-template-columns:repeat(2,1fr)}
  .cname{font-size:17px}
  .crow{grid-template-columns:40px 1fr 66px;gap:8px;padding:10px}
  .call{width:40px;height:40px}
  .pct input{width:56px;font-size:16px}
  .scorebox b{font-size:18px}
  .rhead .ttl{font-size:18px}
}
@media(min-width:760px){.tiles{grid-template-columns:repeat(auto-fill,minmax(34px,1fr))}}

/* per-race lock chips */
.lockc{display:inline-block;font:700 9px var(--mono);letter-spacing:1.2px;padding:2px 5px;margin-left:6px;vertical-align:2px;color:var(--mut);border:1px solid var(--line2);text-transform:uppercase}
.lockc.on{color:#ffb0aa;border-color:rgba(255,107,98,.5)}
.clock.half{border-color:rgba(255,107,98,.5)}
.lockbar{border:1px solid var(--line2);background:var(--well);padding:10px 12px;font-size:13px;line-height:1.5;color:var(--mut);margin-bottom:14px}
.lockbar b{color:var(--brass-hi);font-weight:700}
