:root{--bg:#0d0f12;--panel:#151920;--panel2:#1b2029;--line:#262c37;--txt:#d9dee7;--dim:#8a93a3;--acc:#5fb3a1;--warn:#d9a54a;--bad:#d96a5f;--good:#7cc47f}
*{box-sizing:border-box}
html,body{margin:0;background:var(--bg);color:var(--txt);font:12.5px/1.35 ui-sans-serif,system-ui,-apple-system,"Segoe UI",Roboto,sans-serif}
a{color:var(--acc);text-decoration:none}a:hover{text-decoration:underline}
header{display:flex;align-items:center;gap:16px;padding:8px 14px;border-bottom:1px solid var(--line);background:var(--panel);position:sticky;top:0;z-index:5;height:41px}
.brand{font-weight:800;letter-spacing:.5px;font-size:15px;color:var(--txt)}
.brand span{color:var(--acc)}
.brand:hover{text-decoration:none}
.wk{color:var(--dim);font-size:12px}
nav{display:flex;gap:2px;margin-left:auto}
nav a{color:var(--dim);padding:5px 10px;border-radius:4px;border:1px solid transparent}
nav a:hover{color:var(--txt);text-decoration:none}
nav a.on{color:var(--txt);border-color:var(--line);background:var(--panel2)}
.nav-more,.nav-menu{display:none}
main{padding:10px 14px 40px;min-height:calc(100vh - 100px)}
h1{font-size:15px;margin:2px 0 8px;letter-spacing:.3px}
h1 small{color:var(--dim);font-weight:400;font-size:12px;margin-left:8px}
.bar{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:8px}
.seg button{background:var(--panel);border:1px solid var(--line);color:var(--dim);padding:4px 9px;cursor:pointer;font:inherit}
.seg button:first-child{border-radius:4px 0 0 4px}.seg button:last-child{border-radius:0 4px 4px 0}
.seg button.on{color:var(--txt);background:var(--panel2);border-color:#3a4352}
input[type=text],input[type=number],select{background:var(--panel);border:1px solid var(--line);color:var(--txt);padding:4px 7px;border-radius:4px;font:inherit}
input[type=number]{width:56px}
label.chk{color:var(--dim);display:flex;gap:4px;align-items:center;cursor:pointer}
.note{color:var(--dim);font-size:11.5px}
table{border-collapse:collapse;width:100%}
th,td{padding:3px 6px;border-bottom:1px solid var(--line);white-space:nowrap;text-align:right}
th{position:sticky;top:41px;background:var(--panel);color:var(--dim);font-weight:600;font-size:11px;text-transform:uppercase;letter-spacing:.3px;cursor:pointer;user-select:none;z-index:2}
.box th,table.static th{position:static}
th.l,td.l{text-align:left}
tbody tr.click{cursor:pointer}
tbody tr:hover{background:#18202a}
tbody tr.mine td:first-child{box-shadow:inset 3px 0 0 var(--acc)}
tbody tr.sel{background:#1c2733}
.tm{display:inline-block;min-width:34px;text-align:center;padding:0 4px;border-radius:3px;font-weight:700;font-size:11px;color:#eef1f5}
.pos{color:var(--dim);font-weight:600}
.score{font-weight:700}
.best{color:var(--good);font-weight:700}
.sbar{display:inline-block;height:6px;background:var(--acc);border-radius:2px;vertical-align:middle;margin-left:5px;opacity:.75}
.flag{font-size:10.5px;padding:0 4px;border-radius:3px;margin-left:5px;border:1px solid}
.flag.inj{color:var(--warn);border-color:#5c4a26}.flag.out{color:var(--bad);border-color:#5c2d28}
.dim{color:var(--dim)}
.btn{background:var(--panel2);border:1px solid #3a4352;color:var(--txt);padding:2px 8px;border-radius:4px;cursor:pointer;font:inherit;font-size:11.5px}
.btn.add{color:var(--good)}.btn.rm{color:var(--bad)}
a.btn:hover{text-decoration:none}
.grid2{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.gridP{display:grid;grid-template-columns:330px 1fr;gap:12px;align-items:start}
.box{background:var(--panel);border:1px solid var(--line);border-radius:6px;padding:10px}
.box h3{margin:0 0 8px;font-size:12px;text-transform:uppercase;letter-spacing:.4px;color:var(--dim)}
.box+.box{margin-top:10px}
.card h2{margin:0;font-size:18px}
.card .sub{color:var(--dim);margin:3px 0 10px}
.kv{display:grid;grid-template-columns:repeat(4,1fr);gap:6px;margin:8px 0}
.kv div{background:var(--panel2);border:1px solid var(--line);border-radius:4px;padding:5px 7px}
.kv b{display:block;font-size:14px}.kv span{color:var(--dim);font-size:10.5px;text-transform:uppercase}
.comp{display:grid;grid-template-columns:90px 1fr 50px;gap:3px 8px;align-items:center;font-size:11.5px}
.trk{height:6px;background:var(--panel2);border-radius:2px}.trk i{display:block;height:6px;background:var(--acc);border-radius:2px}
.spark{display:inline-flex;gap:2px;align-items:flex-end;height:22px;vertical-align:middle}
.spark i{display:block;width:9px;background:var(--acc);opacity:.8;border-radius:1px 1px 0 0}
.spark i.z{background:var(--line);height:2px!important}
.slots{display:grid;grid-template-columns:repeat(4,auto 64px);gap:6px 10px;align-items:center;justify-content:start}
footer{border-top:1px solid var(--line);color:var(--dim);font-size:11px;padding:10px 14px;background:var(--panel)}
code{background:var(--panel2);padding:1px 4px;border-radius:3px}
table.tight th,table.tight td{padding:3px 4px}
table.tight td{font-size:12px}
.grid2>.box,.gridP>.box,.gridP>div>.box:first-child{margin-top:0}
/* ---------- Player Profiles (scouting dossier) ---------- */
.dz-top{display:flex;align-items:center;gap:8px;margin-bottom:10px}
.dz-chips{display:flex;flex-wrap:wrap;gap:4px}
.dz-chip{background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:2px 9px;color:var(--dim);font-size:11.5px}
.dz-chip:hover{color:var(--txt);text-decoration:none;border-color:#3a4352}
.dz-head{display:flex;align-items:center;gap:14px;background:linear-gradient(90deg,#17202a,#141a22 60%,#121519);border:1px solid #2b3542;border-left:4px solid var(--acc);border-radius:6px;padding:12px 14px;margin-bottom:10px}
.dz-head h2{margin:0;font-size:22px;letter-spacing:.2px}
.dz-head .meta{color:var(--dim);font-size:12px;margin-top:3px}
.dz-head .acts{margin-left:auto;display:flex;gap:6px;align-items:center}
.dz-badge{display:inline-block;border:1px solid #3a4352;background:var(--panel2);border-radius:4px;padding:1px 6px;font-size:11px;color:var(--dim)}
.dz-badge b{color:var(--acc)}
.dz-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;align-items:start}
.dz-sec{background:var(--panel);border:1px solid var(--line);border-radius:6px;padding:10px 12px}
.dz-sec.full{grid-column:1/-1}
.dz-sec h3{display:flex;align-items:baseline;gap:8px;margin:0 0 8px;font-size:12px;text-transform:uppercase;letter-spacing:.5px;color:#b9c2cf}
.dz-sec h3 .src{margin-left:auto;text-transform:none;letter-spacing:0;font-weight:400;font-size:10.5px;color:var(--dim)}
.dz-tiles{display:grid;grid-template-columns:repeat(4,1fr);gap:6px;margin-bottom:8px}
.dz-tile{background:var(--panel2);border:1px solid var(--line);border-radius:4px;padding:5px 7px}
.dz-tile span{display:block;color:var(--dim);font-size:10px;text-transform:uppercase;letter-spacing:.3px}
.dz-tile b{font-size:15px}
.dz-tile i{display:block;font-style:normal;color:var(--dim);font-size:10.5px}
.dz-row{display:grid;grid-template-columns:150px 1fr 110px;gap:8px;align-items:center;font-size:11.5px;margin:3px 0}
.dz-row .lab{color:var(--dim)}
.dz-row .val{text-align:right}
.dz-bar{height:8px;background:#11161c;border:1px solid var(--line);border-radius:2px;position:relative;overflow:hidden}
.dz-bar i{position:absolute;left:0;top:0;bottom:0;background:var(--acc);opacity:.85}
.dz-bar.pct i{background:#6f8fb3}
.dz-bar .mid{position:absolute;left:50%;top:-1px;bottom:-1px;width:1px;background:#3a4352}
.dz-split{display:flex;height:16px;border-radius:3px;overflow:hidden;border:1px solid var(--line);margin:3px 0 2px}
.dz-split div{display:flex;align-items:center;justify-content:center;font-size:10px;color:#e9edf2;white-space:nowrap;overflow:hidden;min-width:0}
.dz-legend{display:flex;justify-content:space-between;font-size:10.5px;color:var(--dim);margin-bottom:6px}
.dz-sub{color:#9aa4b3;font-size:11px;text-transform:uppercase;letter-spacing:.4px;margin:9px 0 4px}
.dz-lanes{display:grid;grid-template-columns:repeat(7,1fr);gap:3px;margin:4px 0}
.dz-lanes div{border:1px solid var(--line);border-radius:3px;padding:4px 2px;text-align:center;font-size:10.5px}
.dz-lanes div b{display:block;font-size:13px}
.dz-na{border:1px dashed #3a4352;border-radius:4px;padding:6px 8px;color:#a9b2bf;font-size:11.5px;margin:6px 0;background:#12161b}
.dz-na b{color:var(--warn);font-weight:600}
.dz-tags{display:flex;flex-wrap:wrap;gap:6px}
.dz-tag{border:1px solid #3a4352;border-radius:4px;padding:4px 8px;background:var(--panel2);min-width:150px}
.dz-tag b{display:block;font-size:13px}
.dz-tag span{font-size:11px;color:var(--dim)}
.dz-tag.pos{border-left:3px solid var(--good)}.dz-tag.neg{border-left:3px solid var(--warn)}.dz-tag.neutral{border-left:3px solid #6f8fb3}
.dz-crit{font-size:11px;color:var(--dim);margin-top:6px;line-height:1.5}
.dz-pc{display:grid;grid-template-columns:auto 1fr;gap:4px 12px;font-size:12px;margin-bottom:6px}
.dz-pc span{color:var(--dim)}
.dz-ok{color:var(--good);font-size:11px}.dz-warn{color:var(--warn);font-size:11px}
.dz-mini th{position:static}

/* injury badges + defense-vs-position chips */
.ibadge{display:inline-block;min-width:22px;text-align:center;font-weight:700;font-size:11px;border-radius:3px;padding:0 4px;border:1px solid;margin-right:4px}
.ibadge.out{color:var(--bad);border-color:#5c2d28;background:#2a1715}.ibadge.inj{color:var(--warn);border-color:#5c4a26;background:#271f12}
.ibadge.ok{color:var(--good);border-color:#2f4a31}.ibadge.na{color:var(--dim);border-color:#3a4352}
.iline{font-size:11px;margin-top:1px;white-space:normal}
.dvp{display:inline-block;font-size:11px;font-weight:600;border-radius:3px;padding:0 5px;border:1px solid}
.dvp.tough{color:#e08a80;border-color:#5c2d28;background:#2a1715}.dvp.neutral{color:#b9c2cf;border-color:#3a4352;background:#1b2029}
.dvp.soft{color:#8fd493;border-color:#2f4a31;background:#152217}.dvp.bye{color:var(--dim);border-color:#3a4352}
tr.sec td{background:#11161c;color:#9aa4b3;font-size:11px;text-transform:uppercase;letter-spacing:.4px;padding-top:6px}
td.wrap{white-space:normal;vertical-align:top}
.ibanner{border:1px solid;border-radius:5px;padding:6px 10px;margin:4px 0;font-size:12px;line-height:1.8}
.ibanner.bad{border-color:#5c2d28;background:#24130f;color:#f0c2bb}.ibanner.watch{border-color:#5c4a26;background:#211a0f}.ibanner.ok{border-color:#2f4a31;background:#132015;color:#a9d8ab}
tr.injrow td{background:#2a1513}tr.injrow.q td{background:#2a2112}tr.injrow td:first-child{box-shadow:inset 3px 0 0 var(--bad)}tr.injrow.q td:first-child{box-shadow:inset 3px 0 0 var(--warn)}
.ovr-sel{font-size:10.5px;padding:0 3px;margin:2px 0 0 4px;color:var(--dim);background:var(--panel2)}
.flag.ovr{border-style:dashed}.flag.ok{color:var(--good);border-color:#2f4a31}
.ovrbox{border:1px dashed #6f8fb3;border-radius:4px;padding:2px 6px;margin-bottom:3px;display:inline-block}
.ovrtag{font-size:10.5px;color:#9fb8d6;background:#17202b;border:1px solid #2c3a4b;border-radius:3px;padding:0 4px;margin-left:4px}

footer .ft-legal{margin-bottom:4px}footer a{color:var(--dim);text-decoration:underline}
.prose{max-width:760px;line-height:1.55}.prose h2{margin-top:18px}
[hidden]{display:none!important}
.note.hint{margin:4px 0 0;padding:4px 8px;border-left:2px solid var(--acc);background:var(--panel2);font-size:12px;line-height:1.4}

/* =====================================================================================================
   Phones and small tablets (< 900px). Desktop (>= 900px) is untouched: every rule below is inside these
   media queries, except helpers that are display:none on desktop (.mob-tm, .mobile-only, .snapbar).
   ===================================================================================================== */
/* injury data freshness notice (Roster / Compare / Profiles) */
.inj-fresh{font-size:12px;color:var(--dim);margin:2px 0 8px;line-height:1.5}
.inj-fresh .asof{color:#c9d1dc}
.inj-fresh.stale{border:1px solid #5c4a26;background:#221c10;border-radius:6px;padding:5px 9px;color:#e8d3a6}
.inj-fresh.stale .asof{font-weight:600;color:#f0dcae}
.inj-fresh a{color:var(--acc);text-decoration:underline;white-space:nowrap}
.inj-fresh.inline{margin:6px 0 2px}
/* feedback button (footer) + form */
footer .ft-fb{margin-top:8px}
.fb-btn{font-size:12px}
.fb-box{max-width:640px}
.fb-hp{position:absolute!important;left:-9999px;width:1px;height:1px;overflow:hidden}
.fb-type{border:0;padding:0;margin:0 0 8px;display:flex;gap:14px;flex-wrap:wrap}
.fb-type legend{font-size:12px;color:var(--dim);margin-bottom:4px;padding:0}
.fb-type label{display:inline-flex;align-items:center;gap:5px;cursor:pointer}
.fb-l{display:block;font-size:12px;color:var(--dim);margin:10px 0 4px}
#fbForm textarea,#fbForm input[type=email],#fbForm input[type=text]{width:100%;box-sizing:border-box;background:var(--panel2);color:var(--txt);border:1px solid var(--line);border-radius:4px;padding:6px 8px;font:inherit}
#fbForm textarea{resize:vertical;min-height:110px}
.fb-actions{margin-top:10px;display:flex;gap:8px;align-items:center;flex-wrap:wrap}
/* account button (header) + dialog */
.acct-btn{margin-left:8px;background:var(--panel2);color:var(--txt);border:1px solid var(--line);border-radius:4px;padding:4px 10px;font:inherit;font-size:12px;cursor:pointer;white-space:nowrap}
.acct-btn:hover{border-color:var(--acc)}
.acct-btn.st-off{color:var(--acc)}
.acct-btn.st-synced,.acct-pill.st-synced{color:var(--good)}
.acct-btn.st-saving,.acct-pill.st-saving{color:var(--warn)}
.acct-btn.st-offline,.acct-btn.st-error,.acct-btn.st-conflict,.acct-pill.st-offline,.acct-pill.st-error,.acct-pill.st-conflict{color:var(--bad)}
.acct-dlg{position:fixed;inset:0;background:rgba(0,0,0,.6);z-index:50;display:flex;align-items:flex-start;justify-content:center;padding:60px 12px 12px;overflow-y:auto}
.acct-dlg[hidden]{display:none}
.acct-card{background:var(--panel);border:1px solid var(--line);border-radius:8px;padding:14px 16px;width:100%;max-width:440px;box-shadow:0 10px 40px rgba(0,0,0,.5)}
.acct-hd{display:flex;align-items:center;justify-content:space-between;margin-bottom:6px;font-size:15px}
.acct-x{min-width:36px;font-size:18px;line-height:1}
.acct-form input{width:100%;box-sizing:border-box;background:var(--panel2);color:var(--txt);border:1px solid var(--line);border-radius:4px;padding:6px 8px;font:inherit}
.acct-msg{margin-top:6px;font-size:12.5px}
.acct-who{margin-bottom:4px}
.acct-st{margin-bottom:4px}
.acct-cmp{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:10px 0}
.acct-cmp>div{background:var(--panel2);border:1px solid var(--line);border-radius:6px;padding:8px;font-size:12.5px;line-height:1.5}
.acct-toast{position:fixed;left:50%;transform:translateX(-50%);bottom:24px;z-index:60;background:var(--panel2);border:1px solid var(--good);color:var(--txt);padding:8px 14px;border-radius:6px;box-shadow:0 6px 24px rgba(0,0,0,.5);font-size:13px}
@media (max-width:899px){.acct-toast{bottom:calc(72px + env(safe-area-inset-bottom))}}
.acct-code{margin-top:10px}.acct-code summary{cursor:pointer;color:var(--dim);font-size:12.5px;padding:6px 0}
@media (max-width:899px){.acct-code summary{min-height:40px;display:flex;align-items:center}}
.acct-danger{margin-top:12px;padding-top:10px;border-top:1px solid var(--line)}
.mob-tm,.mobile-only{display:none}
@media (max-width: 899px){
  html,body{font-size:14px;-webkit-text-size-adjust:100%}
  body{padding-bottom:calc(60px + env(safe-area-inset-bottom))}
  .mobile-only{display:flex}
  .mhide{display:none}
  /* header: brand + week line (wraps, never clipped); nav becomes a fixed bottom tab bar */
  header{position:static;height:auto;flex-wrap:wrap;gap:2px 10px;padding:8px 12px calc(8px) 12px}
  .brand{font-size:16px}
  .wk{flex:1 1 100%;font-size:12px;line-height:1.35}
  nav{position:fixed;left:0;right:0;bottom:0;z-index:20;margin:0;display:grid;grid-template-columns:repeat(var(--navn,6),minmax(0,1fr));gap:0;
      background:var(--panel);border-top:1px solid var(--line);padding:0 2px env(safe-area-inset-bottom)}
  nav a{display:flex;align-items:center;justify-content:center;min-height:52px;padding:4px 1px;font-size:12px;border:0;border-radius:0;
        border-top:3px solid transparent;text-align:center;letter-spacing:-.1px}
  nav a.on{background:var(--panel2);color:var(--acc);border-color:var(--acc);font-weight:700}
  /* 7 pages: 5 in the bar + "More" (Compare, Settings) so every cell stays >= 52px wide even at 320px */
  nav>a.ovf{display:none}
  .nav-more{display:flex;align-items:center;justify-content:center;gap:3px;min-height:52px;background:none;border:0;border-top:3px solid transparent;
            color:var(--dim);font:inherit;font-size:12px;cursor:pointer;padding:4px 1px}
  .nav-more.on{background:var(--panel2);color:var(--acc);border-color:var(--acc);font-weight:700}
  .nav-more[aria-expanded="true"]{color:var(--txt);background:var(--panel2)}
  .nav-menu:not([hidden]){display:flex;flex-direction:column;position:absolute;right:6px;bottom:calc(100% + 6px);min-width:170px;background:var(--panel);
            border:1px solid #3a4352;border-radius:8px;box-shadow:0 8px 24px rgba(0,0,0,.5);padding:4px;z-index:21}
  .nav-menu a{min-height:48px;justify-content:flex-start;padding:0 14px;border:0;border-left:3px solid transparent;font-size:15px;border-radius:4px}
  .nav-menu a.on{border-left-color:var(--acc)}
  main{padding:10px 10px 24px;min-height:0}
  h1{font-size:17px;line-height:1.3}
  h1 small{display:block;margin:2px 0 0;font-size:12.5px}
  footer{padding:12px 12px 16px}
  /* thumb-sized controls; 16px inputs stop iOS zoom-on-focus */
  .btn,a.btn,label.btn{min-height:40px;padding:8px 12px;font-size:14px;display:inline-flex;align-items:center;justify-content:center}
  input[type=text],input[type=number],select{min-height:40px;font-size:16px;padding:6px 10px}
  input[type=number]{width:72px}
  input[type=checkbox]{width:20px;height:20px}
  label.chk{min-height:40px;font-size:14px}
  .seg{display:flex;flex-wrap:wrap}
  .seg button{min-height:40px;min-width:44px;padding:8px 12px;font-size:14px}
  .bar{gap:8px}
  .bar input[type=text]{flex:1 1 100%;width:100%!important}
  .note{font-size:12.5px;line-height:1.45}
  .grid2,.gridP{grid-template-columns:1fr}
  .box{padding:10px}
  .kv{grid-template-columns:repeat(2,1fr)}
  .slots{grid-template-columns:repeat(2,auto 72px)}
  /* tables: sideways scroll inside the box (never the page), sticky first column, swipe hint + edge shadow */
  .tscroll{overflow-x:auto;-webkit-overflow-scrolling:touch;overscroll-behavior-x:contain;position:relative;max-width:100%}
  .tscroll.can-scroll{background:linear-gradient(to left,rgba(0,0,0,.55),rgba(0,0,0,0)) right/18px 100% no-repeat}
  .tscroll.can-scroll.at-end{background:none}
  .tscroll.can-scroll::before{content:"swipe sideways for more \2192";display:block;position:sticky;left:0;font-size:11.5px;color:var(--dim);padding:2px 2px 4px}
  .tscroll.can-scroll.at-end::before{content:"\2190 swipe back"}
  th{position:static;font-size:11.5px}
  th,td{padding:9px 7px}
  td{font-size:13.5px}
  table.tight th,table.tight td{padding:9px 6px}
  .tscroll.can-scroll th:first-child,.tscroll.can-scroll td:first-child{position:sticky;left:0;z-index:1;background:var(--panel)}
  .tscroll.can-scroll tr.injrow td:first-child{background:#2a1513}.tscroll.can-scroll tr.injrow.q td:first-child{background:#2a2112}
  table.sticky2 .c-rk,table.sticky2 th:first-child,table.sticky2 td:first-child{width:34px;min-width:34px;max-width:34px}
  .tscroll.can-scroll table.sticky2 th:nth-child(2),.tscroll.can-scroll table.sticky2 td:nth-child(2){position:sticky;left:34px;z-index:1;background:var(--panel);box-shadow:inset -1px 0 0 var(--line)}
  .tscroll.can-scroll table.sticky2 th:first-child,.tscroll.can-scroll table.sticky2 td:first-child{box-shadow:none}
  /* compact "Snapshot" view of wide player tables (data-snap); "All stats" restores every column with sideways scroll */
  .snapbar{margin:4px 0 8px}
  table[data-snap]:not(.full) th:not(.keep),table[data-snap]:not(.full) td:not(.keep){display:none}
  table[data-snap]:not(.full){width:100%}
  table[data-snap]:not(.full) td.c-name{white-space:normal;min-width:120px}
  table[data-snap]:not(.full) .mob-tm{display:inline;color:var(--dim);font-size:12px}
  table[data-snap]:not(.full) .sbar{display:none}
  table[data-snap] .c-act .btn{min-width:72px}
  #tSearch .c-team{display:none}#tSearch .mob-tm{display:inline;color:var(--dim);font-size:12px}#tSearch td.c-name{white-space:normal}
  tbody tr.click td{height:44px}
  .wrapcells td{white-space:normal}
  /* roster lineup -> one card per slot */
  table.lucards thead{display:none}
  table.lucards,table.lucards tbody{display:block;width:100%}
  table.lucards tr{display:grid;grid-template-columns:52px 1fr 1fr 1fr;grid-template-areas:"slot st st st" "slot tm opp opp" "slot itt snap use";
      gap:4px 8px;padding:10px 8px;border:1px solid var(--line);border-radius:6px;margin-bottom:8px;background:var(--panel2);align-items:center}
  table.lucards tr.xrow{grid-template-areas:"slot st st st" "slot tm xn xn"}
  table.lucards tr.emptyslot{grid-template-areas:"slot st st st";opacity:.85}
  table.lucards tr.emptyslot .lu-tm,table.lucards tr.emptyslot .lu-opp,table.lucards tr.emptyslot .lu-itt,table.lucards tr.emptyslot .lu-snap,table.lucards tr.emptyslot .lu-use{display:none}
  table.lucards td{border:0;padding:0;white-space:normal;text-align:left;background:none!important;box-shadow:none!important}
  table.lucards tr.injrow{background:#2a1513;border-color:#5c2d28}table.lucards tr.injrow.q{background:#2a2112;border-color:#5c4a26}
  .lu-slot{grid-area:slot;align-self:stretch;display:flex;align-items:center;justify-content:center;font-size:13px;border-right:1px solid var(--line);margin-right:2px}
  .lu-st{grid-area:st}.lu-tm{grid-area:tm}.lu-opp{grid-area:opp}.lu-itt{grid-area:itt}.lu-snap{grid-area:snap}.lu-use{grid-area:use}.lu-xn{grid-area:xn;font-size:12.5px}
  .lu-st select.slot{width:100%;max-width:none}
  .lu-st .flag{display:inline-block;margin:6px 4px 0 0}
  .lu-st .ovr-sel{min-height:40px;font-size:14px;margin:6px 0 0;width:100%}
  .lu-itt::before,.lu-snap::before,.lu-use::before{content:attr(data-l);display:block;font-size:10.5px;color:var(--dim);text-transform:uppercase;letter-spacing:.3px}
  .lu-use .score{font-size:16px}
  .ibanner{line-height:1.6;font-size:13px}
  /* compare: each metric = full-width label row, then one cell per player side by side; 3 players scroll */
  table.cmp,table.cmp thead,table.cmp tbody{display:block}
  table.cmp tr{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:10px;border-bottom:1px solid var(--line);padding:6px 0}
  table.cmp.n1 tr{grid-template-columns:1fr}
  table.cmp.n3{min-width:500px}table.cmp.n3 tr{grid-template-columns:repeat(3,minmax(150px,1fr))}
  table.cmp th,table.cmp td{border:0;padding:3px 2px;white-space:normal;width:auto!important;font-size:13px}
  table.cmp th:first-child{display:none}
  table.cmp th{font-size:12.5px}
  table.cmp td:first-child{grid-column:1/-1;font-size:11.5px;text-transform:uppercase;letter-spacing:.3px;color:#9aa4b3;padding-bottom:2px;position:sticky;left:0;justify-self:start}
  table.cmp tr.sec{padding:0;border:0}
  table.cmp tr.sec td{grid-column:1/-1;padding:8px 6px;font-size:11.5px}
  table.cmp .trk{width:64px!important}
  table.cmp td div[style*="display:flex"]{flex-wrap:wrap}
  .tscroll.can-scroll table.cmp td:first-child{background:none}
  #pickers input{flex:1 1 calc(100% - 60px);width:auto!important}
  #pickers .btn.rm{min-width:44px}
  /* dossiers (Profiles, Team): one column, wrapping chips/tags, tiles 2-up */
  .dz-top{flex-wrap:wrap}
  .dz-top input{flex:1 1 100%;width:100%!important}
  .dz-top .dz-chips{flex-wrap:nowrap;overflow-x:auto;max-width:100%;padding-bottom:4px;-webkit-overflow-scrolling:touch}
  .dz-chip{min-height:40px;display:inline-flex;align-items:center;padding:4px 12px;font-size:13px;flex:0 0 auto}
  .dz-chips{gap:6px}
  .dz-head{flex-wrap:wrap;padding:12px}
  .dz-head h2{font-size:20px}
  .dz-head .acts{margin-left:0;flex-wrap:wrap}
  .dz-grid{grid-template-columns:1fr}
  .dz-sec{padding:10px}
  .dz-sec h3{flex-wrap:wrap}
  .dz-sec h3 .src{margin-left:0;flex-basis:100%}
  .dz-tiles{grid-template-columns:repeat(2,1fr)}
  .dz-row{grid-template-columns:minmax(0,38%) 1fr auto;font-size:12.5px}
  .dz-legend{flex-wrap:wrap;gap:2px 10px}
  .dz-lanes div{font-size:10px;padding:4px 1px}.dz-lanes div b{font-size:12px}
  .dz-tag{min-width:0;flex:1 1 140px}
  .dz-pc{grid-template-columns:minmax(0,40%) 1fr}
  .dz-crit{font-size:12px}
  .settings-wide{max-width:100%!important}
  .welcome .btn{margin:4px 6px 4px 0}
}
@media (max-width: 899px){
  .dz-grid>*,.grid2>*,.gridP>*,main>*{min-width:0}
  .dz-tag,.dz-tag b,.dz-tag span{white-space:normal;overflow-wrap:anywhere}
  .dz-crit,.dz-sub,.dz-row .lab{overflow-wrap:anywhere}
  /* bigger hit areas for links/sort headers without changing the row layout */
  td a,.dz-row a,.dz-sec a,table.cmp th a{display:inline-block;padding:11px 0;margin:-11px 0}
  .lu-use .score{padding:9px 12px;margin:-9px -12px}
  th[data-k]{padding-top:13px;padding-bottom:13px}
  .brand{padding:9px 0;margin:-9px 0}
  .inj-fresh{font-size:13px}
  .fb-btn{font-size:14px}
  .brand{order:0}.acct-btn{order:1;margin-left:auto;min-height:40px;padding:6px 12px;font-size:13.5px}.wk{order:2}
  .acct-form input{font-size:16px;min-height:44px}
  .acct-dlg{padding-top:16px}
  .acct-cmp{grid-template-columns:1fr}
  .acct-choice .btn{flex:1 1 100%}
  .fb-type label{min-height:40px;font-size:15px}
  .fb-type input{width:20px;height:20px}
  #fbForm textarea,#fbForm input[type=email],#fbForm input[type=text]{font-size:16px;min-height:40px}
  .inj-fresh a{display:inline-block;padding:10px 0;margin:-6px 0}
  table th[data-k]{padding-top:13px;padding-bottom:13px}
  .dz-split div.nofit{font-size:0}
}
@media (max-width: 380px){
  nav a{font-size:11px}
  .lu-st select.slot{font-size:15px}
}
/* ---------- Game Day (gameday.html) ---------- */
.gd-bar{display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px;margin:10px 0 8px}
.gd-lg{display:inline-block;padding:0 6px;border-radius:3px;font-size:11px;font-weight:600;color:#10140f}
.gd-lg.cool{background:#5fbf74}.gd-lg.warm{background:#e3a447}.gd-lg.hot{background:#e0625a}
.gd-next{display:flex;flex-wrap:wrap;align-items:center;gap:10px 18px;background:linear-gradient(90deg,#16222a,#141a22 70%);border:1px solid #2b3542;border-left:4px solid var(--acc);border-radius:8px;padding:10px 14px;margin:2px 0 8px}
.gd-next.done{border-left-color:#3a4352}
.gd-nl{display:flex;flex-direction:column;gap:1px;min-width:220px}
.gd-k{font-size:10.5px;text-transform:uppercase;letter-spacing:.5px;color:var(--dim)}
.gd-nl b{font-size:15px}
.gd-cd{color:var(--acc);font-weight:700;font-size:20px;font-variant-numeric:tabular-nums}
.gd-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;flex:1 1 360px}
.gd-stats div{background:var(--panel2);border:1px solid var(--line);border-radius:6px;padding:6px 8px}
.gd-stats b{display:block;font-size:20px;font-variant-numeric:tabular-nums}
.gd-stats span{font-size:10.5px;color:var(--dim);text-transform:uppercase;letter-spacing:.3px}
.gd-stats .bad b{color:var(--bad)}
.gd-alert{border:1px solid #5c2d28;background:#2a1715;color:#f0c4be;border-radius:6px;padding:7px 10px;margin:0 0 8px}
.gd-emptybox p{margin:6px 0}
.gd-win{background:var(--panel);border:1px solid var(--line);border-radius:8px;margin:0 0 12px;overflow:hidden}
.gd-win.locked{border-color:#3a3f2b}
.gd-wh{display:flex;flex-wrap:wrap;align-items:center;gap:4px 12px;padding:9px 12px;background:var(--panel2);border-bottom:1px solid var(--line);cursor:default}
details.gd-win>summary.gd-wh{cursor:pointer;list-style:none}details.gd-win>summary::-webkit-details-marker{display:none}
details.gd-win:not([open])>summary.gd-wh{border-bottom:0}
details.gd-win>summary.gd-wh::after{content:"show \25BE";margin-left:auto;color:var(--dim);font-size:11px}
details.gd-win[open]>summary.gd-wh::after{content:"hide \25B4"}
.gd-wl{font-weight:800;font-size:14px;letter-spacing:.2px}
.gd-wt{color:var(--dim)}
.gd-ws{font-weight:700;font-size:11.5px;border-radius:10px;padding:1px 8px;border:1px solid #3a4352;color:var(--acc);font-variant-numeric:tabular-nums}
.gd-ws.locked{color:var(--warn);border-color:#5c4a26}.gd-ws.done{color:var(--dim)}
.gd-wn{margin-left:auto;font-size:11.5px;color:var(--dim)}
details .gd-wn{margin-left:0}
.gd-wbody{padding:10px}
.gd-wbody.with-ck{display:grid;grid-template-columns:minmax(260px,330px) 1fr;gap:12px;align-items:start}
.gd-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(310px,1fr));gap:10px}
.gd-none{padding:6px 2px}
.gd-card{background:#12171e;border:1px solid var(--line);border-radius:8px;padding:10px;animation:gd-in .38s cubic-bezier(.2,.8,.2,1) both;animation-delay:calc(min(var(--i),14) * 45ms);min-width:0}
.gd-card.has-mine{border-color:#2f4a45;box-shadow:inset 3px 0 0 var(--acc)}
.gd-card.compact .gd-lines{grid-template-columns:auto auto 1fr}
/* team color accents: edge gradient away->home, tinted header ends, chips, thin player stripes. Never used by the meter. */
.gd-card.tcard{position:relative;padding-left:14px}
.gd-card.tcard::before{content:"";position:absolute;left:0;top:0;bottom:0;width:5px;border-radius:8px 0 0 8px;background:linear-gradient(180deg,var(--ca),var(--ch))}
.gd-card.tcard.has-mine{box-shadow:none;border-color:#3d5f58}
.gd-card.tcard .gd-ghead{margin:-10px -10px 8px -14px;padding:8px 10px 8px 14px;border-radius:8px 8px 0 0;background:linear-gradient(90deg,var(--cag),transparent 42%,transparent 58%,var(--chg));border-bottom:1px solid #1f2630}
.tm.tc{font-weight:800;letter-spacing:.2px}
.gd-pl.tcs{box-shadow:inset 3px 0 0 var(--tc);padding-left:8px}
.gd-ghead{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:4px 8px;margin-bottom:8px}
.gd-teams{display:flex;align-items:center;gap:6px}.gd-teams .tm{font-size:13px;padding:2px 7px;min-width:42px}
.gd-at{color:var(--dim);font-weight:700}
.gd-kick{color:var(--dim);font-size:12px;display:flex;flex-wrap:wrap;gap:4px 8px;align-items:center}
.gd-st{font-weight:700;font-size:11.5px;font-variant-numeric:tabular-nums}.gd-st.pre{color:var(--acc)}.gd-st.on{color:var(--warn)}.gd-st.fin{color:#c9d1dc}
.gd-lines{display:grid;grid-template-columns:auto auto 1fr;gap:6px;margin-bottom:8px}
.gd-lines>div{background:var(--panel2);border:1px solid var(--line);border-radius:6px;padding:5px 8px;min-width:0}
.gd-lines span{display:block;font-size:10px;text-transform:uppercase;letter-spacing:.3px;color:var(--dim)}
.gd-lines b{font-size:14px;font-variant-numeric:tabular-nums}
.gd-ib{display:grid;grid-template-columns:34px 1fr 34px;align-items:center;gap:6px;font-size:11.5px;margin-top:2px}
.gd-ib em{font-style:normal;color:#c9d1dc;font-weight:700}
.gd-ib i{display:block;height:7px;border-radius:4px;width:var(--w);opacity:.95;animation:gd-grow .7s cubic-bezier(.2,.8,.2,1) both}
.gd-ib b{font-size:12px;text-align:right}
.gd-wx{min-height:20px}
.gd-wxrow{display:flex;gap:8px;align-items:flex-start;font-size:12px;margin-bottom:6px}
.gd-wxrow .dim{font-size:11.5px}
.gd-ico{width:28px;height:28px;flex:0 0 28px;color:#c9d1dc}
.gd-ico-sun{color:#e8c55a}.gd-ico-moon{color:#b9c2cf}.gd-ico-rain,.gd-ico-storm{color:#7fb0e0}.gd-ico-snow{color:#dfe8f2}.gd-ico-wind{color:#9fd3c7}.gd-ico-dome{color:var(--dim)}
.gd-wflag{display:inline-block;margin:4px 4px 0 0;font-size:11px;border-radius:3px;padding:1px 6px;border:1px solid}
.gd-wflag.warn{color:var(--warn);border-color:#5c4a26;background:#271f12}.gd-wflag.mild{color:#b9c2cf;border-color:#3a4352}.gd-wflag.ok{color:var(--good);border-color:#2f4a31}
.gd-spin{display:inline-block;width:12px;height:12px;border:2px solid #3a4352;border-top-color:var(--acc);border-radius:50%;animation:gd-spin .8s linear infinite;vertical-align:-2px;margin-right:4px}
.gd-pop{animation:gd-fade .4s ease both}
.gd-mine{border-top:1px solid var(--line);margin-top:4px;padding-top:6px}
.gd-mh{display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:12px;color:var(--dim);margin-bottom:4px}
.gd-exp{color:var(--txt);font-size:14px}
.gd-pl{display:grid;grid-template-columns:34px minmax(0,1fr) 150px;gap:8px;align-items:center;padding:5px 0;border-top:1px dashed #222932}
.gd-pl:first-of-type{border-top:0}
.gd-pl.bench{opacity:.82}
.gd-pn{min-width:0;overflow-wrap:anywhere}.gd-pn a{font-weight:700;font-size:13px}
.gd-pn .dim{font-size:11px}
.gd-slot{display:inline-flex;align-items:center;justify-content:center;font-size:10.5px;font-weight:800;color:var(--acc);border:1px solid #2f4a45;border-radius:4px;padding:1px 3px;min-width:30px}
.gd-slot.bn{color:var(--dim);border-color:#3a4352}
.gd-nometer{text-align:center}
.gd-meter{display:grid;grid-template-columns:1fr 28px;grid-template-areas:"tr v" "l l";gap:2px 6px;align-items:center;width:100%;min-height:40px;background:none;border:1px solid transparent;border-radius:6px;padding:4px 6px;color:var(--txt);font:inherit;cursor:pointer;text-align:left}
.gd-meter:hover,.gd-meter[aria-expanded="true"]{border-color:#3a4352;background:var(--panel2)}
.gd-meter:focus-visible{outline:2px solid var(--acc);outline-offset:1px}
.gd-meter.sm{width:150px}
.gd-track{grid-area:tr;position:relative;height:9px;border-radius:5px;background:#0b0e12;border:1px solid #2a313c;overflow:hidden}
.gd-track i{position:absolute;left:0;top:0;bottom:0;width:calc(var(--v) * 1%);border-radius:5px;
  background:linear-gradient(90deg,#4fb86a 0%,#9cc85a 30%,#e3a447 55%,#e0625a 85%,#c9413a 100%);background-size:calc(10000% / var(--v)) 100%;
  animation:gd-fill .9s cubic-bezier(.2,.8,.2,1) both;animation-delay:calc(min(var(--i,0),14) * 45ms + 120ms)}
.gd-mv{grid-area:v;font-size:13px;text-align:right;font-variant-numeric:tabular-nums}
.gd-ml{grid-area:l;font-size:10.5px;text-transform:uppercase;letter-spacing:.3px;color:var(--dim)}
.lvl-cool .gd-ml{color:#7cc47f}.lvl-warm .gd-ml{color:#e3a447}.lvl-hot .gd-ml{color:#e0625a}
.lvl-out .gd-track i{background:#6b2a26}.lvl-out .gd-ml{color:var(--bad);font-weight:800}
.lvl-hot .gd-track{animation:gd-throb 2.4s ease-in-out infinite}
.gd-why{background:#0f1419;border:1px solid #2b3542;border-radius:6px;padding:7px 9px;margin:2px 0 6px;font-size:12px;animation:gd-fade .25s ease both}
.gd-whyh{font-weight:700;margin-bottom:3px}.gd-whyh .dim{font-weight:400;font-size:11px;display:block}
.gd-why ul{margin:0;padding:0;list-style:none}.gd-why li{padding:2px 0;line-height:1.4}
.gd-why li.up span{color:var(--bad)}.gd-why li.down span{color:var(--good)}.gd-why li.flat span{color:var(--dim)}
.gd-whyk{font-size:10.5px;margin-top:3px}
.gd-venue{font-size:11px;color:var(--dim);margin-top:6px}
.gd-check{background:#12171e;border:1px solid var(--line);border-radius:8px;padding:9px 10px}
.gd-check.locked{opacity:.7}
.gd-ckh{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 8px;margin-bottom:6px}
.gd-nf{margin-left:auto;font-weight:800;font-size:11px;color:var(--bad);border:1px solid #5c2d28;background:#2a1715;border-radius:10px;padding:1px 8px}
.gd-ok{margin-left:auto;font-weight:700;font-size:11px;color:var(--good)}
.gd-cklist{list-style:none;margin:6px 0;padding:0}
.gd-cklist li{padding:6px 0;border-top:1px dashed #222932;line-height:1.5}
.gd-cklist li.gd-flagged{background:linear-gradient(90deg,rgba(217,106,95,.08),transparent)}
.gd-cklist .gd-slot{margin:0 4px 0 2px}
.gd-pivot{font-size:12px;margin:3px 0 0 4px;padding-left:8px;border-left:2px solid var(--acc)}
.gd-pivot.none{border-left-color:var(--warn);color:#e8d3a6}
.gd-tick{display:flex;gap:8px;align-items:flex-start;cursor:pointer;padding:5px 0;font-size:12.5px}
.gd-tick input{margin-top:2px;accent-color:var(--acc)}
.gd-others{margin-top:8px}.gd-others>summary{cursor:pointer;color:var(--dim);padding:6px 0}
.gd-bye{margin-top:4px}.gd-byep{display:inline-block;margin:0 10px 6px 0;padding:3px 8px;border:1px solid var(--line);border-radius:4px;background:var(--panel2)}
.gd-byep.st{border-color:#5c2d28}
.gd-about{margin-top:14px}.gd-about p{margin:4px 0 8px}
.gd-pulse{animation:gd-pulse 1.2s ease-out 3}
@keyframes gd-in{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
@keyframes gd-fill{from{width:0}}
@keyframes gd-grow{from{width:0}}
@keyframes gd-fade{from{opacity:0}to{opacity:1}}
@keyframes gd-spin{to{transform:rotate(360deg)}}
@keyframes gd-pulse{0%{box-shadow:0 0 0 0 rgba(95,179,161,.7)}100%{box-shadow:0 0 0 10px rgba(95,179,161,0)}}
@keyframes gd-throb{0%,100%{box-shadow:0 0 0 0 rgba(224,98,90,0)}50%{box-shadow:0 0 6px 1px rgba(224,98,90,.45)}}
.gd-noanim .gd-card,.gd-noanim .gd-track i,.gd-noanim .gd-ib i{animation:none}
@media (prefers-reduced-motion: reduce){
  .gd-card,.gd-track i,.gd-ib i,.gd-pop,.gd-why,.gd-pulse,.lvl-hot .gd-track,.gd-spin{animation:none!important}
}
@media (max-width: 899px){
  .gd-next{padding:10px 12px}
  .gd-nl{min-width:0;flex:1 1 100%}
  .gd-stats{grid-template-columns:repeat(2,minmax(0,1fr));flex:1 1 100%}
  .gd-wbody{padding:8px}
  .gd-wbody.with-ck{grid-template-columns:1fr}
  .gd-cards{grid-template-columns:1fr}
  .gd-wh{padding:10px}
  details.gd-win>summary.gd-wh{min-height:48px}
  .gd-pl{grid-template-columns:34px minmax(0,1fr) 128px}
  .gd-meter.sm{width:132px}
  .gd-lines{grid-template-columns:auto auto;}
  .gd-lines .gd-itt{grid-column:1/-1}
  .gd-tick{min-height:40px;align-items:center;font-size:14px}
  .gd-tick input{width:20px;height:20px;margin:0}
  .gd-others>summary{min-height:44px;display:flex;align-items:center}
  .gd-cklist li{font-size:13.5px}
  .gd-pn a{font-size:14px}
}
@media (max-width: 380px){
  .gd-pl{grid-template-columns:30px minmax(0,1fr) 112px}
  .gd-meter.sm{width:116px}
  .gd-lines>div{padding:5px 6px}
}
.gd-asof a{text-decoration:underline}@media (max-width:899px){.gd-asof a{display:inline-block;padding:10px 0;margin:-8px 0}}

/* Rankings search: the way into player profiles now that Profiles has no nav tab */
.rk-search{display:flex;flex-wrap:wrap;align-items:center;gap:4px 10px;margin:4px 0 10px;position:relative}
.rk-search svg{position:absolute;left:10px;top:12px;width:16px;height:16px;color:var(--dim);pointer-events:none}
.rk-search input{width:320px;max-width:100%;min-height:40px;padding:6px 10px 6px 32px;font-size:14px;border:1px solid #3a4352;border-radius:8px;background:var(--panel2);color:var(--txt)}
.rk-search input:focus{outline:2px solid var(--acc);outline-offset:1px;border-color:var(--acc)}
.rk-hint{color:var(--dim);font-size:11.5px}
@media (max-width:899px){.rk-search input{width:100%;min-height:44px;font-size:16px}.rk-search svg{top:14px}.rk-hint{flex-basis:100%}}
