/* Layout: a poll ballot sheet. Ranked column (scoreboard numerals) beside a searchable team pool; tabs swap them on phones. */

*{box-sizing:border-box}
[hidden]{display:none!important}
body{background:var(--bg);color:var(--ink);font-family:var(--body);font-size:15px;line-height:1.45}
.wrap{max-width:1080px;margin:0 auto;padding-block:20px 48px;padding-left:max(16px,env(safe-area-inset-left,0px));padding-right:max(16px,env(safe-area-inset-right,0px))}
button,select,input{font:inherit;color:inherit}
button{cursor:pointer}
:focus-visible{outline:2px solid var(--accent);outline-offset:2px}

header.top{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:14px 24px;padding-bottom:16px;border-bottom:3px solid var(--ink)}
.eyebrow{font-size:11.5px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}
h1{font-family:var(--display);font-weight:800;font-size:clamp(40px,8vw,60px);line-height:.9;margin:4px 0 0;letter-spacing:-.01em;text-transform:uppercase;text-wrap:balance}
h1 span{color:var(--accent)}
h1.brand{text-transform:none;letter-spacing:-.015em}
h1.brand span{white-space:nowrap}
.weekbar{display:flex;align-items:center;gap:6px}
.weekbar select{height:42px;border:1px solid var(--line);background:var(--surface);border-radius:8px;padding:0 10px;font-family:var(--display);font-weight:700;font-size:19px;letter-spacing:.02em;min-width:0}
.iconbtn{height:42px;width:42px;border-radius:8px;border:1px solid var(--line);background:var(--surface);display:grid;place-items:center;font-size:16px}
.iconbtn:disabled{opacity:.35;cursor:default}

.toolbar{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin:16px 0 18px}
.btn{height:38px;padding:0 14px;border-radius:8px;border:1px solid var(--line);background:var(--surface);font-weight:600;font-size:14px}
.btn.primary{background:var(--accent);border-color:var(--accent);color:var(--accent-ink)}
.btn.warn{border-color:var(--down);color:var(--down)}
.status{margin-left:auto;font-size:12.5px;color:var(--muted)}
.linkbtn{border:0;background:none;padding:0;font:inherit;font-weight:600;color:var(--accent);text-decoration:underline;text-underline-offset:2px;cursor:pointer}
.banner b{color:var(--ink)}
.banner{background:var(--surface-2);border:1px solid var(--line);border-radius:8px;padding:10px 12px;font-size:13.5px;color:var(--muted);margin-bottom:14px}

.tabs{display:none;gap:4px;background:var(--surface-2);border:1px solid var(--line);border-radius:10px;padding:4px;margin-bottom:14px}
.tabs button{flex:1;height:38px;border:0;border-radius:7px;background:transparent;font-weight:600;color:var(--muted)}
.tabs button[aria-selected="true"]{background:var(--surface);color:var(--ink);box-shadow:0 1px 2px rgba(0,0,0,.12)}

.grid{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);gap:24px;align-items:start}
.panel-h{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin-bottom:8px}
.panel-h h2{font-family:var(--display);font-weight:700;font-size:22px;text-transform:uppercase;letter-spacing:.03em;margin:0}
.panel-h .meta{font-size:12.5px;color:var(--muted);font-variant-numeric:tabular-nums}

.ballot{background:var(--surface);border:1px solid var(--line);border-radius:10px;overflow:hidden}
.colhead{display:grid;grid-template-columns:44px 1fr 46px 34px 108px;gap:8px;padding:7px 12px;font-size:10.5px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);background:var(--surface-2);border-bottom:1px solid var(--line)}
.colhead .r{text-align:right}
ol.ranked,ol.empty{list-style:none;margin:0;padding:0}
.row{display:grid;grid-template-columns:44px 1fr 46px 34px 108px;gap:8px;align-items:center;padding:7px 12px;border-bottom:1px solid var(--line);background:var(--surface)}
.row:last-child{border-bottom:0}
.ranked .row.cut{border-bottom:2px solid var(--ink)}
.rank{font-family:var(--display);font-weight:800;font-size:28px;line-height:1;text-align:right;font-variant-numeric:tabular-nums;padding-right:4px}
.team{display:flex;align-items:center;gap:10px;min-width:0}
.chip{flex:none;width:44px;height:30px;border-radius:5px;background:var(--c);color:var(--t);box-shadow:inset 0 0 0 1px var(--chipring);display:grid;place-items:center;font-family:var(--display);font-weight:800;font-size:13.5px;letter-spacing:.03em}
.tname{min-width:0}
.tname b{display:block;font-family:var(--display);font-size:1.14em;letter-spacing:.01em;line-height:1.15;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.tname small{display:block;font-size:11.5px;color:var(--muted)}
.move{font-family:var(--display);font-weight:700;font-size:15px;text-align:right;font-variant-numeric:tabular-nums;color:var(--muted)}
.move.up{color:var(--up)} .move.down{color:var(--down)} .move.new{color:var(--new);font-size:12.5px;letter-spacing:.06em}
.pts{text-align:right;font-variant-numeric:tabular-nums;color:var(--muted);font-size:13px}
.ctl{display:flex;justify-content:flex-end;gap:2px}
.ctl button{width:30px;height:30px;border:0;background:transparent;border-radius:6px;color:var(--muted);font-size:14px;display:grid;place-items:center}
.ctl button:hover{background:var(--surface-2);color:var(--ink)}
.ctl button:disabled{opacity:.25;cursor:default;background:transparent}
.grip{cursor:grab;touch-action:none;display:inline-grid;place-items:center}
.ic{display:inline-block;vertical-align:middle;flex:none}
.move .ic{vertical-align:0;margin-right:2px}
.slrow .res .ic{vertical-align:-2px}
.sval .ic{vertical-align:-2px;margin-left:2px}
.ghost{opacity:.4}
.chosen{box-shadow:0 6px 18px rgba(0,0,0,.18);position:relative;z-index:2}
.empty .row{grid-template-columns:44px 1fr;color:var(--muted)}
.empty .rank{color:var(--line)}
.slot{height:30px;border:1.5px dashed var(--line);border-radius:6px;display:flex;align-items:center;padding:0 10px;font-size:12.5px}
.readonly .ctl,.readonly .colhead .c{visibility:hidden}

.dropped{margin-top:12px;font-size:13.5px;color:var(--muted)}
.dropped b{color:var(--ink);font-weight:600}
.compare{margin-top:6px;font-size:12.5px;color:var(--muted)}

.pool{background:var(--surface);border:1px solid var(--line);border-radius:10px;overflow:hidden;position:sticky;top:12px}
.pool-tools{padding:10px;display:flex;flex-direction:column;gap:8px;border-bottom:1px solid var(--line);background:var(--surface-2)}
.pool-tools input{height:40px;border:1px solid var(--line);border-radius:8px;padding:0 12px;background:var(--surface);width:100%}
.confs{display:flex;gap:6px;overflow-x:auto;padding-bottom:2px;scrollbar-width:none}
.confs button{flex:none;height:30px;padding:0 11px;border-radius:15px;border:1px solid var(--line);background:var(--surface);font-size:12.5px;font-weight:600;color:var(--muted)}
.confs button[aria-pressed="true"]{background:var(--ink);border-color:var(--ink);color:var(--bg)}
.plist{max-height:62vh;overflow-y:auto}
.prow{display:flex;align-items:center;gap:10px;width:100%;padding:8px 12px;border:0;border-bottom:1px solid var(--line);background:transparent;text-align:left}
.prow:hover{background:var(--surface-2)}
.prow .tname{flex:1}
.prow .tag{font-size:12px;font-weight:700;color:var(--accent);white-space:nowrap}
.prow.on{opacity:.55}
.prow.on .tag{color:var(--muted);font-family:var(--display);font-size:15px}
.addcustom{display:flex;gap:6px;padding:10px;border-top:1px solid var(--line);background:var(--surface-2)}
.addcustom input{flex:1;min-width:0;height:36px;border:1px solid var(--line);border-radius:8px;padding:0 10px;background:var(--surface)}
.note{padding:0 12px 10px;font-size:11.5px;color:var(--muted);background:var(--surface-2)}

.tname small .rec{color:var(--ink);font-weight:600;font-variant-numeric:tabular-nums}
.switch{display:inline-flex;align-items:center;gap:8px;height:30px;padding:0 10px 0 6px;border-radius:15px;border:1px solid var(--line);background:var(--surface);font-size:12.5px;font-weight:600;color:var(--muted)}
.switch i{width:26px;height:16px;border-radius:8px;background:var(--line);position:relative;transition:background .15s}
.switch i::after{content:"";position:absolute;top:2px;left:2px;width:12px;height:12px;border-radius:50%;background:var(--surface);transition:transform .15s}
.switch[aria-pressed="true"]{color:var(--ink)}
.switch[aria-pressed="true"] i{background:var(--accent)}
.switch[aria-pressed="true"] i::after{transform:translateX(10px)}
.res{grid-column:2 / -1;display:flex;flex-wrap:wrap;gap:4px 14px;font-size:12.5px;color:var(--muted);margin-top:-2px}
.res .k{font-size:10.5px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;margin-right:4px}
.res .auto{font-size:10px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);border:1px solid var(--line);border-radius:8px;padding:0 5px;margin-left:4px}
.res .w{color:var(--up)} .res .l{color:var(--down)}
.res b{font-weight:600;color:var(--ink)}
.res .set{border:0;background:none;padding:0;font-size:12.5px;font-weight:600;color:var(--accent);text-decoration:underline;text-underline-offset:2px}
.editor{grid-column:1 / -1;display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:10px;background:var(--surface-2);border:1px solid var(--line);border-radius:8px;padding:12px;margin-top:4px}
.editor fieldset{border:0;margin:0;padding:0;display:flex;flex-direction:column;gap:6px;min-width:0}
.editor legend{font-size:10.5px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);padding:0;margin-bottom:2px}
.editor select,.editor input{height:36px;border:1px solid var(--line);border-radius:7px;padding:0 8px;background:var(--surface);width:100%;min-width:0}
.editor .pair{display:grid;grid-template-columns:90px 1fr;gap:6px}
.editor .score{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:6px;min-width:0}
.editor .score input{text-align:center;font-variant-numeric:tabular-nums;font-size:16px}
.editor .score span{color:var(--muted);font-weight:700}
.editor .ednote{grid-column:1/-1;margin:0;font-size:12px;color:var(--muted)}
.editor .acts{grid-column:1 / -1;display:flex;gap:8px;justify-content:flex-end}

.confbox{margin-top:22px}
.ctable{width:100%;border-collapse:collapse;background:var(--surface);border:1px solid var(--line);border-radius:10px;overflow:hidden;font-variant-numeric:tabular-nums}
.ctable th{font-size:10.5px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);background:var(--surface-2);text-align:left;padding:7px 12px;border-bottom:1px solid var(--line)}
.ctable td{padding:8px 12px;border-bottom:1px solid var(--line);font-size:14px}
.ctable tr:last-child td{border-bottom:0}
.ctable .n{text-align:right;width:62px;font-family:var(--display);font-weight:700;font-size:18px}
.ctable .n.z{color:var(--line)}
.bar{height:8px;border-radius:4px;background:var(--surface-2);overflow:hidden;min-width:40px}
.bar span{display:block;height:100%;background:var(--accent);border-radius:4px}
.ctable .barcell{width:34%}
.cempty{padding:14px 12px;color:var(--muted);font-size:13.5px;background:var(--surface);border:1px solid var(--line);border-radius:10px}

.bracket{margin-top:22px}
.fb-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch;margin:0 -2px;padding:0 2px 6px}
.fb{display:grid;grid-template-columns:repeat(4,minmax(0,1fr)) 132px;gap:12px;min-width:940px}
.fb-col{display:flex;flex-direction:column}
.fb-col h4{margin:0 0 8px;font-family:var(--display);font-size:14px;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}
.fb-games{flex:1;display:flex;flex-direction:column;justify-content:space-around;gap:10px;min-height:470px}
.fb-g{display:block;width:100%;text-align:left;padding:0;font:inherit;color:inherit;background:var(--surface);border:1px solid var(--line);border-radius:9px;overflow:hidden;position:relative;cursor:pointer}
.fb-g:hover{border-color:color-mix(in srgb,var(--accent) 45%,var(--line))}
.fb-g:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
.fb-t{display:grid;grid-template-columns:15px 30px minmax(0,1fr) auto;gap:5px;align-items:center;padding:5px 8px;color:var(--muted)}
.fb-t+.fb-t{border-top:1px solid var(--line)}
.fb-t .spr{flex:none;font-weight:600;font-size:11.5px;color:var(--muted);font-variant-numeric:tabular-nums;white-space:nowrap}
.fb-t .nmw{display:flex;align-items:baseline;gap:4px;min-width:0} .fb-t .nmw b{min-width:0;flex:0 1 auto}
.fb-line{display:block;border-top:1px solid var(--line);padding:4px 8px;font-size:11.5px;color:var(--muted);background:var(--surface-2);font-variant-numeric:tabular-nums}
.fb-t .sd{font-family:var(--display);font-weight:800;font-size:14px;text-align:right}
.fb-t .chip{width:30px;height:20px;font-size:10px}
.fb-t b{font-family:var(--display);font-weight:700;font-size:14.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:inherit}
.fb-t .pc{font-size:12.5px;font-variant-numeric:tabular-nums}
.fb-t.win{background:var(--wintint);color:var(--ink)} .fb-t.win .pc{font-weight:700;color:var(--accent)}
.fb-champ{background:var(--surface);border:2px solid var(--accent);border-radius:12px;padding:14px;display:flex;flex-direction:column;align-items:center;gap:6px;text-align:center}
.fb-champ .chip{width:64px;height:40px;font-size:18px}
.fb-champ b{font-family:var(--display);font-size:22px;line-height:1.05}
.fb-champ span{font-size:12.5px;color:var(--muted)}
.fb-champ.empty{border-style:dashed;border-color:var(--line);min-height:90px;justify-content:center}
.fb-t.pk{width:100%;border:0;background:transparent;font:inherit;text-align:left;cursor:pointer;color:var(--ink)}
.fb-t.pk:disabled{cursor:default}
.fb-t.pk.out{color:var(--muted)} .fb-t.pk.out b{text-decoration:line-through;text-decoration-color:color-mix(in srgb,var(--muted) 60%,transparent)}
.fb-t.pk.win{background:var(--wintint)} .fb-t.pk.win .pc{color:var(--accent)}
.fb-t.pk:not(:disabled):hover{background:var(--surface-2)} .fb-t.pk.win:hover{background:var(--wintint)}
.fb-t.tbd b{font-family:var(--body);font-weight:400;font-style:italic;font-size:13px;color:var(--muted)}
.fb-g.pick{cursor:default}
.fb-t.pk.win.right .pc{color:var(--up)} .fb-t.pk.win.wrong{background:color-mix(in srgb,var(--down) 10%,var(--surface))} .fb-t.pk.win.wrong .pc,.fb-t.pk.win.wrong b{color:var(--down)}
.br-score{display:flex;align-items:baseline;gap:6px;margin:0 2px 8px;font-size:13px;color:var(--muted)} .br-score b{font-family:var(--display);font-size:26px;color:var(--ink)}
.br-picks{display:flex;flex-wrap:wrap;justify-content:space-between;gap:6px 12px;font-size:13px;color:var(--muted);margin:0 2px 10px}
.br-picks .acts{display:flex;gap:14px}
#bracket,#poBracket{container-type:inline-size}
@container (max-width:860px){ .fb-scroll{overflow:visible} .fb{display:flex;flex-direction:column;min-width:0;gap:18px}
  .fb-games{min-height:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
  .fb-col:nth-child(4) .fb-games,.fb-col:nth-child(5) .fb-games{grid-template-columns:minmax(0,1fr)}
  .fb-t{grid-template-columns:16px 30px minmax(0,1fr) auto;gap:5px;padding:5px 6px} .fb-t .chip{width:30px;height:19px;font-size:9.5px} .fb-t b{font-size:14px} }
@container (max-width:420px){ .fb-games{grid-template-columns:minmax(0,1fr)} }
.br-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.br-half{display:flex;flex-direction:column;gap:8px}
.br-half h3{margin:2px 2px 0;font-family:var(--display);font-size:15px;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}
.br-pod{background:var(--surface);border:1px solid var(--line);border-radius:10px;overflow:hidden}
.br-pod .lab{display:flex;justify-content:space-between;font-size:10.5px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);padding:7px 10px 0}
.br-team{display:grid;grid-template-columns:22px 38px minmax(0,1fr);gap:8px;align-items:center;padding:6px 10px}
.br-team .sd{font-family:var(--display);font-weight:800;font-size:18px;text-align:right;color:var(--ink)}
.br-team .chip{width:38px;height:24px;font-size:11.5px}
.br-team .nm{min-width:0}
.br-team .nm b{display:block;font-family:var(--display);font-weight:700;font-size:15.5px;line-height:1.1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.br-team .nm small{display:block;font-size:11px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.br-team .why{color:var(--accent);font-weight:600}
.br-team .tag{font-size:10px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--accent);border:1px solid color-mix(in srgb,var(--accent) 35%,var(--line));border-radius:999px;padding:2px 7px;white-space:nowrap}
.br-bye{border-bottom:1px solid var(--line);background:var(--wintint)}
.br-vs{font-size:10.5px;color:var(--muted);padding:0 10px 2px 40px;letter-spacing:.06em;text-transform:uppercase}
.br-out{margin-top:10px;font-size:13px;color:var(--muted);line-height:1.5}
.br-out b{color:var(--ink);font-family:var(--display);font-size:1.08em}
.br-note{font-size:12.5px;color:var(--muted);margin:8px 2px 0;line-height:1.5}
@media (max-width:700px){ .br-grid{grid-template-columns:minmax(0,1fr)} }
.importer{display:flex;flex-direction:column;gap:6px;background:var(--surface);border:1px solid var(--line);border-radius:10px;padding:12px;margin-bottom:12px}
.importer label{font-size:10.5px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}
.importer input,.importer textarea,.importer select{border:1px solid var(--line);border-radius:7px;padding:8px 10px;background:var(--surface-2);width:100%;min-width:0;font-size:16px}
.importer textarea{resize:vertical;font-family:var(--body);line-height:1.4}
.importer .acts{display:flex;gap:8px;justify-content:flex-end;margin-top:4px}
.subform{border:0;border-radius:0;margin:0;padding:14px 16px 16px;gap:8px}
.subwhat{margin:0 0 4px;font-size:14px;color:var(--ink)} .subwhat b{font-family:var(--display);font-size:1.15em}
.subnote{margin:4px 0 0;font-size:12.5px;color:var(--muted);line-height:1.45}
.imp-sub{background:var(--wintint);border:1px solid var(--line);border-radius:8px;padding:9px 11px;font-size:13.5px}
.imp-sub label{display:flex;gap:8px;align-items:center;margin-top:6px;font-size:13px;text-transform:none;letter-spacing:0;font-weight:500;color:var(--ink)}
.imp-sub label input{width:auto}
.imp-w{display:flex;flex-wrap:wrap;gap:4px 12px;margin-top:6px;font-size:12.5px;color:var(--muted)} .imp-w b{color:var(--ink)}
.imp-sum{font-size:13.5px;color:var(--muted);padding:4px 0}
.imp-sum b{color:var(--ink)}
.imp-fix{display:grid;grid-template-columns:30px minmax(0,1fr) minmax(0,1.2fr);gap:6px;align-items:center;font-size:13px;padding:3px 0}
.imp-fix .r{font-family:var(--display);font-weight:700;font-size:16px;text-align:right}
.imp-fix q{color:var(--down);quotes:none;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.imp-fix select{padding:4px 6px;height:32px;font-size:14px}
.bswitch{display:flex;align-items:flex-start;justify-content:space-between;gap:8px 12px;margin-bottom:12px}
.bswitch .fchips{margin:0;flex:1;min-width:0}
.bswitch .btn{flex:none;height:32px;font-size:13px}
.bhint{margin:-4px 0 12px;font-size:12.5px;color:var(--muted)}
.fchips{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:10px}
.fchips button{height:32px;padding:0 12px;border-radius:16px;border:1px solid var(--line);background:var(--surface);font-size:13px;font-weight:600;color:var(--muted)}
.fchips button[aria-pressed="true"]{background:var(--ink);border-color:var(--ink);color:var(--bg)}
.fsum{font-size:13.5px;color:var(--muted);margin-bottom:8px}
.fsum b{color:var(--ink);font-weight:600}
.ctable .tm{display:flex;align-items:center;gap:8px;min-width:0}
.ctable .tm .chip{width:36px;height:24px;font-size:11.5px}
.ctable .tm .tname{min-width:0}
.ctable .tm .tname b{font-weight:700}
.ctable .tm .tname small{white-space:normal}
.ctable td.rk{text-align:right;width:52px;font-family:var(--display);font-weight:700;font-size:17px;font-variant-numeric:tabular-nums}
.ctable td.rk.nr{color:var(--muted);font-family:var(--body);font-weight:500;font-size:12px}
.ctable td.gap{text-align:right;width:56px;font-weight:700;font-variant-numeric:tabular-nums}
.ctable td.gap.big{color:var(--down)}
.ctable td.gap.even{color:var(--up)}
.ctable th.r{text-align:right}
.ctable .sub{font-size:11.5px;color:var(--muted)}
.fdel{margin-top:10px;display:flex;justify-content:flex-end}

/* ---------- app nav + Ratings Lab ---------- */
.appnav{display:flex;align-items:center;gap:8px;margin-bottom:14px}
.appnav .seg{display:flex;gap:3px;background:var(--surface-2);border:1px solid var(--line);border-radius:10px;padding:3px}
.appnav .seg button{white-space:nowrap;height:34px;padding:0 14px;border:0;border-radius:7px;background:transparent;font-weight:600;font-size:14px;color:var(--muted)}
.appnav .seg button[aria-current="page"]{background:var(--surface);color:var(--ink);box-shadow:0 1px 2px rgba(0,0,0,.14)}
.appnav .navacts{margin-left:auto;display:flex;gap:6px;align-items:center}
.appnav .btn.icon{height:36px;display:inline-flex;align-items:center;gap:7px;padding:0 12px;color:var(--ink)}
.appnav .btn.icon svg{flex:none}
.shotwrap{position:relative}
.shotmenu{position:absolute;right:0;top:calc(100% + 6px);z-index:30;background:var(--surface);border:1px solid var(--line);border-radius:10px;box-shadow:0 8px 24px rgba(0,0,0,.18);padding:5px;min-width:210px}
.shotmenu button{display:block;width:100%;text-align:left;border:0;background:transparent;border-radius:7px;padding:9px 11px;font-weight:600;font-size:14px;color:var(--ink)}
.shotmenu button small{display:block;font-weight:400;font-size:12px;color:var(--muted)}
.shotmenu button:hover,.shotmenu button:focus-visible{background:var(--surface-2)}
#viewLab[data-page="slate"] #labTabs,#viewLab[data-page="playoff"] #labTabs{display:none}
#viewLab:not([data-sub="playoff"]) #labPlayoff{display:none}
#viewLab[data-sub="playoff"] #labGrid,#viewLab[data-sub="playoff"] #fitCard{display:none}
.potable{overflow:hidden}
.pohead,.porow{display:grid;grid-template-columns:30px minmax(0,1fr) 54px 58px 50px 54px;gap:8px;align-items:center;padding:7px 12px}
.pohead{font-size:10.5px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);border-bottom:1px solid var(--line);background:var(--surface-2)}
.pohead .r,.porow .r{text-align:right}
.porow{border-bottom:1px solid var(--line);font-variant-numeric:tabular-nums}
.porow:last-child{border-bottom:0}
.porow .rk{font-family:var(--display);font-weight:800;font-size:18px;text-align:right}
.porow .tm{display:flex;align-items:center;gap:8px;min-width:0}
.porow .tm .chip{width:38px;height:24px;font-size:11.5px;flex:none}
.porow .pc{font-size:14px;font-weight:600}
.porow .pc.hi{color:var(--up)} .porow .pc.lo{color:var(--muted);font-weight:400}
.porow .pc.big{font-family:var(--display);font-weight:800;font-size:18px;color:var(--ink)}
@media (max-width:620px){ .pohead,.porow{grid-template-columns:24px minmax(0,1fr) 50px 44px 50px;gap:6px;padding-left:8px;padding-right:8px} .pohead .cf,.porow .cf{display:none} }
.card{background:var(--surface);border:1px solid var(--line);border-radius:10px}
.presets{display:flex;flex-wrap:wrap;gap:6px}
.presets button{height:32px;padding:0 12px;border-radius:16px;border:1px solid var(--line);background:var(--surface);font-size:13px;font-weight:600;color:var(--muted)}
.presets button[aria-pressed="true"]{background:var(--ink);border-color:var(--ink);color:var(--bg)}
.presets .mine{border-style:dashed}
.presets .shaded{background:var(--wintint);border-color:color-mix(in srgb,var(--accent) 22%,var(--line))}
.presets .shaded[aria-pressed="true"]{background:var(--ink);border-color:var(--ink)}
.pmgr{margin-top:10px;padding:12px}
.pm-h{display:flex;flex-direction:column;gap:2px;margin-bottom:8px}
.pm-h b{font-family:var(--display);font-size:16px;letter-spacing:.02em;text-transform:uppercase}
.pm-h span{font-size:12.5px;color:var(--muted)}
.pm-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}
.pm-list li{display:flex;align-items:center;gap:6px;padding:6px 8px;border:1px solid var(--line);border-radius:10px;background:var(--surface)}
.pm-list li.ghost{opacity:.4}
.pm-list .grip{cursor:grab;color:var(--muted);display:flex;padding:4px;touch-action:none}
.pm-name{flex:1;min-width:0;height:34px;border:1px solid transparent;border-radius:6px;padding:0 8px;background:transparent;font:inherit;font-weight:600;font-size:15px;color:var(--ink)}
.pm-name:hover,.pm-name:focus{border-color:var(--line);background:var(--surface-2)}
.pm-mv{width:30px;height:30px}
.pm-shade{display:flex;align-items:center;gap:5px;font-size:12.5px;color:var(--muted);white-space:nowrap;padding-left:4px}
.pm-shade input{width:16px;height:16px;accent-color:var(--accent)}
.pm-foot{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-top:10px;flex-wrap:wrap}
.pm-foot .btn{margin-left:auto}

.fit{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));margin-bottom:18px;overflow:hidden}
.fit > div{padding:12px 14px;border-left:1px solid var(--line);min-width:0}
.fit > div:first-child{border-left:0}
.fit .k{font-size:10.5px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}
.fit .v{font-family:var(--display);font-weight:800;font-size:30px;line-height:1.05;font-variant-numeric:tabular-nums}
.fit .s{font-size:12px;color:var(--muted)}
.fit .v.good{color:var(--up)}

.lab-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.3fr);gap:24px;align-items:start}
.lab-left{display:flex;flex-direction:column;gap:22px;min-width:0}
.wgroup{padding:4px 0 8px;border-bottom:1px solid var(--line)}
.wgroup:last-child{border-bottom:0}
.wgroup h3{margin:0;padding:10px 14px 2px;font-size:10.5px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}
.wgroup h4{margin:0;padding:8px 14px 0;font-size:12px;font-weight:700;color:var(--ink);opacity:.7}
.wrow{display:grid;grid-template-columns:minmax(0,1fr) minmax(96px,132px) 26px;align-items:center;gap:10px;padding:5px 14px}
.wrow label{min-width:0;font-size:14px;font-weight:600;line-height:1.25}
.wrow label small{display:block;font-weight:400;font-size:11.5px;color:var(--muted)}
.wrow input[type=range]{width:100%;accent-color:var(--accent);height:28px;margin:0}
.wrow output{text-align:right;font-family:var(--display);font-weight:700;font-size:18px;font-variant-numeric:tabular-nums}
.wrow.off output{color:var(--line)}
.wrow .pct{grid-column:1 / -1;height:3px;border-radius:2px;background:var(--surface-2);margin-top:-2px;overflow:hidden}
.wrow .pct span{display:block;height:100%;background:var(--accent);opacity:.55}
.wacts{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}
.saveform{margin-top:10px;padding:12px;display:flex;flex-direction:column;gap:6px}
.saveform label{font-size:10.5px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}
.saveform .row2{display:flex;gap:8px}
.saveform input{flex:1;min-width:0;height:38px;border:1px solid var(--line);border-radius:8px;padding:0 10px;background:var(--surface-2);font-size:16px}

.mcard{padding:12px;display:flex;flex-direction:column;gap:12px}
.mrow{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);gap:8px;align-items:center}
.mrow select{height:40px;border:1px solid var(--line);border-radius:8px;padding:0 8px;background:var(--surface-2);min-width:0;width:100%;font-size:14px}
.mrow #mSite{width:auto;font-size:13px;color:var(--muted)}
.xhead{grid-column:1/-1;display:flex;justify-content:space-between;font-size:10.5px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
.xside{grid-column:1/-1;display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr) 44px;gap:6px;align-items:center;font-size:12.5px;font-variant-numeric:tabular-nums;padding:6px 0;border-bottom:1px solid var(--line)}
.xside .u{min-width:0;color:var(--muted)}
.xside .u b{display:block;color:var(--ink);font-weight:600}
.xside .u i{font-style:normal;font-weight:600;color:var(--ink)}
.xside .u i.hi{color:var(--up)} .xside .u i.lo{color:var(--down)}
.xside .vs{font-size:11px;color:var(--muted);text-transform:uppercase;letter-spacing:.06em}
.xside .xp{text-align:right;font-family:var(--display);font-weight:800;font-size:22px}
.mtot{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;padding-top:10px;border-top:1px solid var(--line)}
.mtot .k{font-size:10.5px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}
.mtot .v{font-family:var(--display);font-weight:800;font-size:24px;line-height:1.1;font-variant-numeric:tabular-nums}
.mtot .s{font-size:12px;color:var(--muted)}
.mtot .v.sm{font-size:20px;white-space:nowrap}
.mdata{margin:0;font-size:12px;color:var(--muted);line-height:1.45}
.mline{display:flex;flex-wrap:wrap;align-items:center;gap:6px 8px;font-size:13px}
.mline label{font-weight:600}
.mline input{width:84px;height:34px;border:1px solid var(--line);border-radius:7px;padding:0 8px;background:var(--surface-2);font-size:16px;font-variant-numeric:tabular-nums}
.mline span{color:var(--muted);flex-basis:100%;font-size:12.5px;line-height:1.45}
.mline span b{color:var(--ink)}
.mhfa{display:flex;flex-wrap:wrap;align-items:center;gap:6px 8px;padding-top:10px;border-top:1px solid var(--line);font-size:13px}
.mhfa label{font-weight:600}
.mhfa input{width:72px;height:34px;border:1px solid var(--line);border-radius:7px;padding:0 8px;background:var(--surface-2);font-size:16px;font-variant-numeric:tabular-nums}
.mhfa span{color:var(--muted)}
.mhfa .set{border:0;background:none;padding:0;font-size:13px;font-weight:600;color:var(--accent);text-decoration:underline;text-underline-offset:2px}
.mline .hseg,.mhfa .hseg{display:inline-flex;gap:3px;background:var(--surface-2);border:1px solid var(--line);border-radius:9px;padding:2px}
.mline .hseg button,.mhfa .hseg button{height:30px;padding:0 10px;border:0;border-radius:7px;background:transparent;font-size:12.5px;font-weight:600;color:var(--muted);font-variant-numeric:tabular-nums}
.mline .hseg button[aria-pressed="true"],.mhfa .hseg button[aria-pressed="true"]{background:var(--surface);color:var(--ink);box-shadow:0 1px 2px rgba(0,0,0,.14)}
.mhfa small{flex-basis:100%;color:var(--muted);font-size:12px}
.mout{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:4px 12px;align-items:end}
.mout .who{font-family:var(--display);font-weight:800;font-size:26px;line-height:1.05;text-transform:uppercase;min-width:0}
.mout .who small{display:block;font-family:var(--body);text-transform:none;font-weight:500;font-size:12.5px;color:var(--muted);margin-top:4px}
.mout .wp{text-align:right;font-family:var(--display);font-weight:800;font-size:26px;font-variant-numeric:tabular-nums}
.mout .wp small{display:block;font-family:var(--body);font-weight:500;font-size:11.5px;color:var(--muted)}
.wpbar{grid-column:1 / -1;display:flex;height:8px;border-radius:4px;overflow:hidden;background:var(--surface-2)}
.wpbar span{display:block;height:100%}
.wpbar span+span{border-left:2px solid var(--surface)}
.wpkey{grid-column:1 / -1;display:flex;justify-content:space-between;font-size:12px;color:var(--muted);font-variant-numeric:tabular-nums;margin-top:-1px}
.wpkey span{display:inline-flex;align-items:center;gap:6px}
.wpkey i{width:10px;height:10px;border-radius:3px;display:inline-block}

.labconfs{margin-bottom:8px}
.rtable{overflow:hidden}
.rhead,.rrow{display:grid;grid-template-columns:40px minmax(0,1fr) 62px 38px 38px;gap:8px;align-items:center;padding:7px 12px}
.rhead{font-size:10.5px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);background:var(--surface-2);border-bottom:1px solid var(--line)}
.rhead .r{text-align:right}
.rrow{width:100%;border:0;border-bottom:1px solid var(--line);background:var(--surface);text-align:left}
.rrow:hover{background:var(--surface-2)}
.rrow[aria-expanded="true"]{background:var(--surface-2)}
.rrow .rank{font-size:24px}
.rrow .rat{text-align:right;font-family:var(--display);font-weight:700;font-size:19px;font-variant-numeric:tabular-nums}
.rrow .cmp{text-align:right;font-variant-numeric:tabular-nums;font-size:13.5px;font-weight:600}
.rrow .cmp.nr{color:var(--muted);font-weight:500;font-size:11.5px}
.rrow .cmp.hi{color:var(--up)} .rrow .cmp.lo{color:var(--down)}
.rrow.cut{border-bottom:2px solid var(--ink)}
.bd{padding:10px 12px 14px;border-bottom:1px solid var(--line);background:var(--surface-2)}
.bd .bh{font-size:12.5px;color:var(--muted);margin-bottom:8px}
.ss .ssg{margin-top:10px}
.ss h4{margin:0 0 2px;font-family:var(--display);font-size:15px;letter-spacing:.06em;text-transform:uppercase;color:var(--ink)}
.ss h5{margin:8px 0 2px;font-size:10.5px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}
.ssr{display:grid;grid-template-columns:minmax(0,1.5fr) 64px minmax(40px,1fr) 38px 64px;gap:8px;align-items:center;padding:5px 6px;border-top:1px solid var(--line);font-size:13px;font-variant-numeric:tabular-nums;border-radius:6px}
.ssr .lbl{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ssr .lbl i{font-style:normal;font-size:10.5px;color:var(--accent);font-weight:700;margin-left:3px}
.ssr .val{text-align:right;font-weight:600}
.ssr .bar{height:6px;border-radius:3px;background:var(--line);overflow:hidden}
.ssr .bar span{display:block;height:100%;background:var(--muted);border-radius:3px}
.ssr .bar span.hi{background:var(--up)} .ssr .bar span.lo{background:var(--down)}
.ssr .rk{text-align:right;color:var(--muted)}
.ssr .pp{text-align:right;font-size:12px;color:var(--muted)} .ssr .pp.hi{color:var(--up);font-weight:600} .ssr .pp.lo{color:var(--down)}
.ssr.hl{background:var(--wintint);border-top-color:transparent}
@media (max-width:520px){ .ssr{grid-template-columns:minmax(0,1fr) 58px 34px 58px;gap:6px} .ssr .bar{display:none} .ssr .lbl{white-space:normal;line-height:1.25} }
.bd .bh b{color:var(--ink)}
.tlink{cursor:pointer;text-decoration:underline;text-decoration-color:transparent;text-underline-offset:3px;transition:text-decoration-color .15s}
.tlink:hover,.tlink:focus-visible{text-decoration-color:currentColor}
.bd .bh .set{border:0;background:none;padding:0;font-weight:600;color:var(--accent);text-decoration:underline;text-underline-offset:2px;font-size:12.5px}
.bdrow{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr) 48px;grid-template-areas:"lbl lbl pts" "stat trk trk";gap:3px 10px;align-items:center;font-size:13px;padding:7px 0;border-top:1px solid var(--line)}
.bdrow:first-of-type{border-top:0}
.bdrow .lbl{grid-area:lbl;min-width:0;font-weight:600;line-height:1.25}
.bdrow .stat{grid-area:stat;min-width:0;font-size:12.5px;color:var(--muted);font-variant-numeric:tabular-nums}
.bdrow .stat b{color:var(--ink);font-weight:600}
.bdrow .trk{grid-area:trk}
.bdrow .pts{grid-area:pts}
.bdrow .trk{position:relative;height:10px;background:var(--surface);border-radius:3px}
.bdrow .trk::after{content:"";position:absolute;left:50%;top:-2px;bottom:-2px;width:1px;background:var(--line)}
.bdrow .trk span{position:absolute;top:0;bottom:0;border-radius:3px}
.bdrow .trk .p{left:50%;background:var(--up)} .bdrow .trk .n{right:50%;background:var(--down)}
.bdrow .pts{text-align:right;font-weight:700;font-variant-numeric:tabular-nums}
.racts{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}
.rmore{padding:10px 12px;color:var(--muted);font-size:13px}

#labTabs{display:flex;overflow-x:auto;scrollbar-width:none}
#labTabs button{flex:1 0 auto;padding:0 10px}
#labTabs .mob{display:none}
#viewLab[data-sub="stats"] #labGrid,#viewLab[data-sub="stats"] #fitCard,#viewLab[data-sub="stats"] #presets{display:none}
#viewLab:not([data-sub="stats"]) #labStats{display:none}
#viewLab:not([data-sub="trends"]) #labTrends{display:none}
#viewLab:not([data-sub="slate"]) #labSlate{display:none}
#viewLab[data-sub="slate"] #labGrid,#viewLab[data-sub="slate"] #fitCard{display:none}
.track{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));margin-bottom:14px;overflow:hidden}
.track > div{padding:12px 14px;border-left:1px solid var(--line);min-width:0}
.track > div:first-child{border-left:0}
.track .k{font-size:10.5px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}
.track .v{white-space:nowrap;font-family:var(--display);font-weight:800;font-size:clamp(19px,5.6vw,26px);line-height:1.1;font-variant-numeric:tabular-nums}
.track .s{font-size:12px;color:var(--muted)}
.track .v.good{color:var(--up)} .track .v.bad{color:var(--down)}
.sltable{overflow:hidden}
.slrow{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr) minmax(0,1fr);gap:4px 12px;align-items:center;width:100%;padding:10px 12px;border:0;border-bottom:1px solid var(--line);background:var(--surface);text-align:left}
.slrow:hover{background:var(--surface-2)}
.slrow:last-child{border-bottom:0}
.slrow .when{grid-column:1/-1;font-size:11.5px;color:var(--muted);font-variant-numeric:tabular-nums}
.slrow .tms{display:flex;flex-direction:column;gap:4px;min-width:0}
.slrow .tm2{display:flex;align-items:center;gap:8px;min-width:0;font-size:13.5px;font-weight:600}
.slrow .tm2 .chip{width:38px;height:24px;font-size:11.5px}
.slrow .tm2 span.n{font-family:var(--display);font-weight:700;font-size:15.5px;letter-spacing:.01em;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.slrow .tm2 small{color:var(--muted);font-weight:500;font-size:11.5px;margin-left:2px}
.slrow .tm2 .sc{margin-left:auto;font-family:var(--display);font-weight:800;font-size:18px;font-variant-numeric:tabular-nums}
.slrow .col{font-size:12.5px;color:var(--muted);min-width:0;font-variant-numeric:tabular-nums;line-height:1.5}
.slrow .col b{color:var(--ink);font-weight:600}
.slrow .lean{display:inline-block;margin-top:2px;padding:1px 7px;border-radius:10px;background:var(--surface-2);color:var(--ink);font-weight:600}
.slrow .lean.big{background:var(--wintint);color:var(--accent)}
.slrow .res{font-weight:700} .slrow .res.w{color:var(--up)} .slrow .res.l{color:var(--down)} .slrow .res.p{color:var(--muted)}
.mcard .mgame{max-width:none;flex:none}
.mlinks{display:flex;flex-wrap:wrap;gap:6px 14px;font-size:12.5px}
.mlinks button{border:0;background:none;padding:0;font-weight:600;color:var(--accent);text-decoration:underline;text-underline-offset:2px;font-size:12.5px}
.schedbody{overflow:auto;padding:4px 0 10px}
.sgame{display:grid;grid-template-columns:50px minmax(0,1fr) auto;gap:2px 10px;align-items:center;padding:9px 16px;border-bottom:1px solid var(--line);font-size:13px}
.sgame .wk{white-space:nowrap;font-family:var(--display);font-weight:700;font-size:15px;color:var(--muted)}
.sgame .op{display:flex;align-items:center;gap:8px;min-width:0;font-weight:600}
.sgame .op .chip{width:38px;height:24px;font-size:11.5px}
.sgame .op span{font-family:var(--display);font-weight:700;font-size:1.08em;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.sgame .op small{color:var(--muted);font-weight:500}
.sgame .rs{text-align:right;font-weight:700;font-variant-numeric:tabular-nums}
.sgame .rs.w{color:var(--up)} .sgame .rs.l{color:var(--down)}
.sgame .meta{grid-column:2/-1;font-size:11.5px;color:var(--muted)}
.schedsum{padding:8px 16px 4px;font-size:13px;color:var(--muted)}
.schedsum b{color:var(--ink)}
@media (max-width:860px){ .track{grid-template-columns:repeat(2,minmax(0,1fr))} .track > div:nth-child(3){border-left:0} .track > div:nth-child(n+3){border-top:1px solid var(--line)} }
@media (max-width:560px){ .slrow{grid-template-columns:minmax(0,1fr) minmax(0,1fr)} .slrow .tms{grid-column:1/-1} }
#viewLab[data-sub="trends"] #labGrid,#viewLab[data-sub="trends"] #fitCard{display:none}
.tcontrols{display:flex;flex-wrap:wrap;align-items:flex-end;gap:10px;margin-bottom:12px}
.tchips{display:flex;flex-wrap:wrap;gap:6px;flex:1 1 100%}
.tchip{display:inline-flex;align-items:center;gap:7px;height:34px;padding:0 4px 0 10px;border:1px solid var(--line);border-radius:17px;background:var(--surface);font-size:13.5px;font-weight:600}
.tchip i{width:16px;height:3px;border-radius:2px;background:var(--sc)}
.tchip.dash i{background:repeating-linear-gradient(90deg,var(--sc) 0 5px,transparent 5px 8px)}
.tchip button{width:26px;height:26px;border:0;border-radius:13px;background:transparent;color:var(--muted);font-size:13px}
.tchip button:hover{background:var(--surface-2);color:var(--ink)}
.tchip[aria-current="true"]{border-color:var(--ink)}
.seg2{display:flex;gap:3px;background:var(--surface-2);border:1px solid var(--line);border-radius:10px;padding:3px}
.seg2 button{height:32px;padding:0 12px;border:0;border-radius:7px;background:transparent;font-weight:600;font-size:13px;color:var(--muted)}
.seg2 button[aria-pressed="true"]{background:var(--surface);color:var(--ink);box-shadow:0 1px 2px rgba(0,0,0,.14)}
.tcard{margin-bottom:14px;padding:12px 12px 6px}
.thead{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:4px 12px;margin:0 4px 6px}
.thead h3{margin:0;font-family:var(--display);font-weight:700;font-size:19px;text-transform:uppercase;letter-spacing:.03em}
.thead span{font-size:12.5px;color:var(--muted)}
.tchart{position:relative;width:100%;min-height:200px;touch-action:pan-y}
.tchart svg{display:block;width:100%;height:auto;overflow:visible}
.tchart text{font-family:var(--body);font-size:11.5px;fill:var(--muted);font-variant-numeric:tabular-nums}
.tchart .lbl{fill:var(--ink);font-weight:600;font-size:12px}
.tchart .gl{stroke:var(--grid);stroke-width:1}
.tchart .z{stroke:var(--axis);stroke-width:1}
.tchart .xh{stroke:var(--muted);stroke-width:1;opacity:0}
.tchart .twl{font-weight:700;font-size:11.5px;fill:var(--ink)} .tchart .twl.w{fill:var(--up)} .tchart .twl.l{fill:var(--down)}
.tchart .topp{font-size:10px} .tchart .tbye{font-size:10.5px;font-style:italic}
.ttip .tg span,.ttip .tg span:first-child{display:inline} .ttip .tg{display:block;font-size:11.5px;color:var(--muted);margin:1px 0 5px 16px;white-space:nowrap}
.ttip .tg .w{color:var(--up);font-weight:600} .ttip .tg .l{color:var(--down);font-weight:600}
.tgame{font-size:11.5px;color:var(--muted);margin-top:2px;white-space:nowrap} .tgame .w{color:var(--up);font-weight:600} .tgame .l{color:var(--down);font-weight:600}
.ttip{position:absolute;pointer-events:none;background:var(--surface);border:1px solid var(--line);border-radius:8px;box-shadow:0 4px 14px rgba(0,0,0,.16);padding:8px 10px;font-size:12.5px;min-width:150px;z-index:5;opacity:0;transition:opacity .1s}
.ttip b{display:block;font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin-bottom:4px}
.ttip div{display:flex;align-items:center;gap:7px;justify-content:space-between;font-variant-numeric:tabular-nums}
.ttip div span:first-child{display:flex;align-items:center;gap:6px}
.ttip i{width:10px;height:10px;border-radius:2px;flex:none}
.ttip .tot{border-top:1px solid var(--line);margin-top:4px;padding-top:4px;font-weight:700}
.dfocus{display:flex;flex-wrap:wrap;gap:6px;margin:0 4px 8px}
.dfocus button{height:30px;padding:0 11px;border-radius:15px;border:1px solid var(--line);background:var(--surface);font-size:12.5px;font-weight:600;color:var(--muted)}
.dfocus button[aria-pressed="true"]{background:var(--ink);border-color:var(--ink);color:var(--bg)}
.tlegend{display:flex;flex-wrap:wrap;gap:6px 14px;margin:0 4px 6px;font-size:12.5px;color:var(--muted)}
.tlegend span{display:inline-flex;align-items:center;gap:6px}
.tlegend i{width:12px;height:12px;border-radius:3px;flex:none}
.tlegend .dot{width:9px;height:9px;border-radius:50%;background:var(--ink);box-shadow:0 0 0 2px var(--surface)}
.ttable{margin-bottom:10px}
.ttable summary{cursor:pointer;font-size:13.5px;font-weight:600;padding:6px 2px}
.ttable .ctable td,.ttable .ctable th{text-align:right}
.ttable .ctable td:first-child,.ttable .ctable th:first-child{text-align:left}
@media (min-width:861px){ #labTabs{max-width:380px} #labTabs [data-lt="weights"],#labTabs [data-lt="matchup"]{display:none} }
.scontrols{display:flex;flex-wrap:wrap;align-items:flex-end;gap:10px;margin-bottom:12px}
.sfield{display:flex;flex-direction:column;gap:4px;min-width:0;flex:1 1 180px;max-width:300px}
.sfield span{font-size:10.5px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}
.sfield select{height:40px;border:1px solid var(--line);border-radius:8px;padding:0 8px;background:var(--surface);min-width:0;width:100%;font-size:14px}
.scontrols .switch{height:40px;border-radius:20px}
.stable{overflow:hidden}
.shead,.srow{display:grid;grid-template-columns:40px minmax(0,1fr) 84px 78px 50px;gap:8px;align-items:center;padding:7px 12px}
.shead{font-size:10.5px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);background:var(--surface-2);border-bottom:1px solid var(--line)}
.shead .r{text-align:right}
.shead .sval{border:0;background:none;padding:0;font:inherit;letter-spacing:inherit;text-transform:inherit;color:var(--ink);text-align:right;white-space:nowrap}
.srow{width:100%;border:0;border-bottom:1px solid var(--line);background:var(--surface);text-align:left}
.srow:hover,.srow[aria-expanded="true"]{background:var(--surface-2)}
.srow .rank{font-size:22px}
.srow .tname b{white-space:normal;line-height:1.2}
.srow .v{text-align:right;font-family:var(--display);font-weight:700;font-size:18px;font-variant-numeric:tabular-nums;white-space:nowrap}
.shead .mob{display:none}
.srow .pc{text-align:right;white-space:nowrap;font-size:13px;font-weight:600;font-variant-numeric:tabular-nums}
.srow .pc.hi{color:var(--up)} .srow .pc.lo{color:var(--down)}
.srow .mr{text-align:right;font-size:13px;color:var(--muted);font-variant-numeric:tabular-nums}
.sgrp{display:flex;justify-content:space-between;gap:10px;align-items:baseline;padding:9px 12px;background:var(--surface-2);border-bottom:1px solid var(--line);border-top:2px solid var(--ink)}
.sgrp:first-child{border-top:0}
.sgrp b{font-family:var(--display);font-weight:700;font-size:17px;text-transform:uppercase;letter-spacing:.03em}
.sgrp span{font-size:12px;color:var(--muted)}
@media (max-width:860px){
  #labTabs .mob{display:inline} #labTabs .dsk{display:none}
  .lab-grid{grid-template-columns:minmax(0,1fr)}
  .lab-grid[data-tab="ratings"] .lab-left{display:none}
  .lab-grid[data-tab="weights"] .lab-ratings,.lab-grid[data-tab="weights"] .lab-matchup{display:none}
  .lab-grid[data-tab="matchup"] .lab-ratings,.lab-grid[data-tab="matchup"] .lab-weights{display:none}
  .fit{grid-template-columns:repeat(2,minmax(0,1fr))}
  .fit > div:nth-child(3){border-left:0}
  .fit > div:nth-child(n+3){border-top:1px solid var(--line)}
}
@media (max-width:480px){
  .rhead,.rrow{grid-template-columns:30px minmax(0,1fr) 54px 32px 32px;gap:6px;padding-left:8px;padding-right:8px}
  .rrow .rank{font-size:21px}
  .shead .dsk{display:none} .shead .mob{display:inline} .srow .pc{font-size:12px}
  .shead,.srow{grid-template-columns:30px minmax(0,1fr) 62px 62px 36px;gap:6px;padding-left:8px;padding-right:8px}
  .srow .rank{font-size:19px} .srow .v{font-size:16px}
  .sfield{max-width:none}
  .mrow{grid-template-columns:minmax(0,1fr)}
  .mrow #mSite{width:100%}
  .appnav .seg button{padding:0 11px}
}
@media (max-width:620px){ .appnav .seg .dsk{display:none} .appnav .btn.icon .txt{display:none} .appnav .btn.icon{padding:0 9px} .appnav{gap:6px} }
@media (max-width:440px){ .appnav .seg{gap:1px} .appnav .seg button{padding:0 7px;font-size:13px} .appnav .btn.icon{padding:0 7px;height:34px} .appnav .navacts{gap:4px} }
@media (max-width:360px){ .appnav .seg button{padding:0 5px;font-size:12px} }

.shot{position:fixed;inset:0;z-index:50;background:rgba(6,10,18,.6);display:flex;align-items:center;justify-content:center;padding:calc(16px + env(safe-area-inset-top,0px)) max(16px,env(safe-area-inset-right,0px)) calc(16px + env(safe-area-inset-bottom,0px)) max(16px,env(safe-area-inset-left,0px))}
.shot-panel{background:var(--surface);border:1px solid var(--line);border-radius:12px;width:min(460px,100%);max-height:100%;display:flex;flex-direction:column;overflow:hidden}
.shot-head{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 12px 10px 16px;border-bottom:1px solid var(--line)}
.shot-head h2{margin:0;font-family:var(--display);font-weight:700;font-size:20px;text-transform:uppercase;letter-spacing:.03em}
.shot-head .iconbtn{height:36px;width:36px}
.shot-img{overflow:auto;background:var(--surface-2);padding:12px;flex:1;min-height:0}
.shot-img img{display:block;width:100%;height:auto;border-radius:6px;box-shadow:0 2px 10px rgba(0,0,0,.18);-webkit-touch-callout:default}
.shot-tip{margin:0;padding:8px 16px 0;font-size:12.5px;color:var(--muted)}
.shot-acts{display:flex;gap:8px;padding:12px 16px 14px;flex-wrap:wrap}
.toast{z-index:60}
.toast{position:fixed;left:50%;bottom:calc(18px + env(safe-area-inset-bottom,0px));transform:translateX(-50%) translateY(20px);background:var(--ink);color:var(--bg);padding:10px 16px;border-radius:8px;font-size:14px;font-weight:600;opacity:0;pointer-events:none;transition:opacity .18s,transform .18s;max-width:calc(100% - 32px)}
.toast.show{opacity:1;transform:translateX(-50%) translateY(0)}

@media (max-width:860px){
  .tabs{display:flex}
  .grid{grid-template-columns:minmax(0,1fr)}
  .grid[data-tab="ballot"] .pool-wrap,.grid[data-tab="teams"] .ballot-wrap{display:none}
  .pool{position:static}
  .plist{max-height:none}
}
@media (max-width:480px){
  .row,.colhead{grid-template-columns:34px 1fr 40px 96px;gap:6px;padding-left:8px;padding-right:6px}
  .pts,.colhead .p{display:none}
  .rank{font-size:24px}
  .chip{width:38px;font-size:12.5px}
  .ctl button{width:28px}
  .empty .row{grid-template-columns:34px 1fr}
  .status{width:100%;margin-left:0}
}
@media (prefers-reduced-motion:reduce){.toast{transition:none}}
