
:root{--bg:#0b1220;--panel:#131d2d;--panel2:#172337;--line:#29364b;--text:#f7f9fc;--muted:#9ba9bd;--green:#23c56e;--green2:#173d2a;--blue:#4aa3ff;--danger:#ff6b6b;--gold:#f5c451}
*{box-sizing:border-box}body{margin:0;background:linear-gradient(180deg,#09101c,#0b1220 35%,#0b1220);color:var(--text);font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif;min-height:100vh}
.topbar{position:sticky;top:0;z-index:20;display:flex;justify-content:space-between;align-items:center;padding:14px 18px;background:rgba(9,16,28,.94);backdrop-filter:blur(14px);border-bottom:1px solid var(--line)}
h1{font-size:21px;margin:2px 0}h2{font-size:25px;margin:4px 0 10px}h3{margin:5px 0 10px}.eyebrow{font-size:11px;letter-spacing:1.4px;font-weight:800;color:#7f90a8}
main{max-width:720px;margin:auto;padding:14px 14px 90px}.hidden{display:none!important}.muted{color:var(--muted)}.fine{font-size:12px;color:var(--muted);text-align:center;line-height:1.4}
.panel{background:linear-gradient(180deg,var(--panel2),var(--panel));border:1px solid var(--line);border-radius:18px;padding:16px;margin:12px 0;box-shadow:0 10px 30px rgba(0,0,0,.12)}
.notice{border:1px solid var(--line);background:#101a29;border-radius:12px;padding:11px 13px;margin-bottom:12px;color:var(--muted);font-size:14px}.notice.ok{color:#86e7ad;border-color:#245f3c}.notice.bad{color:#ff9d9d;border-color:#7a3535}
input{width:100%;border:1px solid #3b4960;background:#0d1624;color:#fff;border-radius:12px;padding:14px;font-size:16px;margin:7px 0;outline:none}input:focus{border-color:var(--blue)}
button{font:inherit;cursor:pointer}.primary,.secondary{width:100%;border-radius:12px;padding:13px 14px;font-weight:800}.primary{border:0;background:var(--green);color:#07150d}.secondary{border:1px solid #45556e;background:#162238;color:#eaf1fb}.primary:disabled{opacity:.45}.big{font-size:17px;padding:15px}
.iconbtn,.smallbtn,.backbtn{border:1px solid var(--line);background:#111c2c;color:#e7edf6;border-radius:10px;padding:8px 11px}.backbtn{margin:4px 0 8px}.smallbtn{font-size:12px}
.or{text-align:center;color:#6f8096;margin:7px}.stack{display:grid;gap:10px}.groupcard{background:linear-gradient(135deg,#16243a,#111b2a);border:1px solid var(--line);border-radius:17px;padding:16px;text-align:left;color:#fff;width:100%}.groupcard h3{font-size:20px}.groupmeta{display:flex;justify-content:space-between;color:var(--muted);font-size:13px}.code{font-variant-numeric:tabular-nums;letter-spacing:1px;color:#dce8f8}
.sectionhead{display:flex;justify-content:space-between;align-items:center}.deadline{font-size:13px;color:#d4dfed;margin:7px 0 12px}.progressrow{display:flex;justify-content:space-between;font-size:13px}.progress{height:7px;border-radius:20px;background:#253247;overflow:hidden;margin-top:8px}.progress span{display:block;height:100%;width:0;background:var(--green);transition:.2s}
.daylabel{font-size:12px;letter-spacing:1.2px;color:#91a1b7;font-weight:800;margin:22px 3px 8px}.game{border:1px solid var(--line);border-radius:17px;background:#111b2b;margin:9px 0;overflow:hidden}.gamehead{display:flex;justify-content:space-between;gap:10px;padding:10px 12px;border-bottom:1px solid #243247;font-size:12px;color:var(--muted)}.weather{white-space:nowrap}
.teams{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:#263349}.team{border:0;background:#121e30;color:#fff;padding:16px 10px;min-height:88px;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:5px}.team.selected{background:#17412d;box-shadow:inset 0 0 0 2px var(--green)}.team.locked{cursor:default}.abbr{width:38px;height:38px;border-radius:50%;display:grid;place-items:center;background:#263650;font-weight:900;font-size:13px}.team.selected .abbr{background:var(--green);color:#07150d}.teamname{font-weight:800;text-align:center}.record{font-size:12px;color:var(--muted)}
.tiebreaker{text-align:center}.tiebreaker input{max-width:180px;text-align:center;font-size:25px;font-weight:800}.submitbar{position:sticky;bottom:0;z-index:12;background:rgba(11,18,32,.94);backdrop-filter:blur(12px);padding:10px 4px 5px;margin:10px -4px}.successbox{background:#153b29;border:1px solid #2b7650;border-radius:16px;padding:15px;margin:12px 0;color:#9ce8ba}
.entry{border-top:1px solid var(--line);padding:12px 0}.entry:first-child{border-top:0}.entrytop{display:flex;justify-content:space-between;gap:8px}.scorepill{font-size:12px;background:#223047;border-radius:20px;padding:4px 8px}.pickchips{display:flex;flex-wrap:wrap;gap:5px;margin-top:8px}.chip{font-size:10px;border:1px solid #33445e;padding:4px 6px;border-radius:8px;color:#b8c6d8}.modal{position:fixed;inset:0;background:rgba(0,0,0,.72);z-index:50;display:grid;place-items:center;padding:20px}.modalcard{max-width:420px;width:100%;background:#162238;border:1px solid #3a4a64;border-radius:20px;padding:19px}.modalactions{display:grid;grid-template-columns:1fr 1fr;gap:8px}.hero{margin-top:6px}
@media(min-width:650px){.teams{grid-template-columns:1fr 1fr}.team{min-height:100px}.topbar{padding-left:calc((100vw - 720px)/2 + 14px);padding-right:calc((100vw - 720px)/2 + 14px)}}

.tabs{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;margin:12px 0}.tab{border:1px solid var(--line);background:#101a29;color:var(--muted);border-radius:11px;padding:10px;font-weight:800}.tab.active{background:#1b314d;color:#fff;border-color:#42648c}
.weekgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.weekbtn{border:1px solid var(--line);background:#111d2d;color:white;border-radius:13px;padding:14px 7px;text-align:center}.weekbtn.current{border-color:var(--green);box-shadow:inset 0 0 0 1px var(--green)}.weekbtn small{display:block;color:var(--muted);margin-top:4px}
select{width:100%;background:#0d1624;color:#fff;border:1px solid #3b4960;border-radius:12px;padding:14px;font-size:16px;margin:7px 0 12px}.fieldlabel{font-size:12px;color:var(--muted);font-weight:700}
.previewgame{display:flex;justify-content:space-between;gap:10px;padding:13px 0;border-top:1px solid var(--line)}.previewgame:first-child{border-top:0}.previewgame b{font-size:14px}.previewgame span{font-size:12px;color:var(--muted);text-align:right}
.contact{background:#142b20;border:1px solid #285d40;border-radius:12px;padding:12px;margin-top:10px}.unclaimed{background:#192335;border:1px solid #33445d;border-radius:12px;padding:12px;margin-top:10px;color:var(--muted)}
.procard{border-color:#66552b;background:linear-gradient(180deg,#282319,#171b24)}.prolinks{display:flex;flex-wrap:wrap;gap:7px}.prolinks span{border:1px solid #65562f;color:#f0d88c;border-radius:20px;padding:6px 9px;font-size:12px}
.vote{border-top:1px solid var(--line);padding:14px 0}.vote:first-child{border-top:0}.voteopt{width:100%;margin:5px 0;border:1px solid #3c4c66;background:#111c2c;color:#fff;border-radius:10px;padding:10px;text-align:left}
@media(min-width:600px){.weekgrid{grid-template-columns:repeat(6,1fr)}}
.superbowlbtn{width:100%;margin-top:14px;border:1px solid #8d6e2e;background:linear-gradient(135deg,#322816,#191e28);color:#ffe6a0;border-radius:14px;padding:15px;font-weight:900;font-size:16px}.probadge{background:#f5c451;color:#251c05;font-size:11px;font-weight:900;border-radius:20px;padding:5px 8px}.prooutlook{border:1px solid #6d5c30;background:#211e17;color:#f6d77e;border-radius:9px;padding:7px 9px;font-size:11px;font-weight:800}.metricgrid{display:grid;grid-template-columns:1fr 1fr;gap:8px}.metricgrid div{background:#0f1928;border:1px solid var(--line);border-radius:12px;padding:12px}.metricgrid small{display:block;color:var(--muted);margin-bottom:5px}.metricgrid b{font-size:15px}.consensusbar{height:9px;background:#283449;border-radius:20px;margin:13px 0;overflow:hidden}.consensusbar span{display:block;width:50%;height:100%;background:var(--gold)}.intelrow{display:grid;grid-template-columns:28px 1fr auto;align-items:center;border-top:1px solid var(--line);padding:12px 0;font-size:13px}.intelrow:first-of-type{border-top:0}.intelrow span{color:var(--muted);font-size:12px}.sbhero{border-color:#7d642c;background:linear-gradient(135deg,#2d2618,#131d2d)}.presetgrid{display:grid;grid-template-columns:1fr 1fr;gap:8px}.preset{border:1px solid #46546a;background:#111c2c;color:#fff;border-radius:13px;padding:13px;font-weight:900}.preset.selected{border-color:var(--gold);box-shadow:inset 0 0 0 1px var(--gold)}.preset small{display:block;color:var(--muted);font-weight:500;margin-top:3px}.sbtools{margin:16px 0 8px}.propcategory{margin-top:16px}.propcheck{display:flex;gap:9px;align-items:flex-start;border-top:1px solid var(--line);padding:10px 0}.propcheck input{width:auto;margin:2px 0}.propcheck label{font-size:13px;line-height:1.35}.tiebreakline{border:1px solid #3b4960;background:#0d1624;border-radius:12px;padding:13px;margin:7px 0 12px;color:#dce7f5}.sbpreviewitem{padding:9px 0;border-top:1px solid var(--line);font-size:13px}.sbpreviewitem:first-child{border-top:0}.tabs{grid-template-columns:repeat(2,1fr)}


/* Picks Board */
.submittednames{display:flex;flex-wrap:wrap;gap:8px;margin:10px 0 16px}
.submittedname{display:inline-flex;align-items:center;padding:8px 11px;border:1px solid #31435b;border-radius:999px;background:#101b2b;font-size:13px}
.boardlegend{display:flex;flex-wrap:wrap;gap:10px 14px;margin:14px 0;font-size:12px;color:#aebbd0}
.boardlegend span{display:flex;align-items:center;gap:6px}
.legenddot{width:11px;height:11px;border-radius:3px;display:inline-block}
.boardstatus{margin:8px 0 12px}
.picksboardwrap{margin-left:-2px;margin-right:-2px}
.boardscroll{overflow-x:auto;-webkit-overflow-scrolling:touch;border:1px solid #2b3c54;border-radius:14px;background:#0d1725}
.pickstable{border-collapse:separate;border-spacing:0;min-width:1320px;width:100%;font-size:12px}
.pickstable th,.pickstable td{min-width:64px;height:54px;padding:7px 6px;text-align:center;border-right:1px solid #26374d;border-bottom:1px solid #26374d}
.pickstable thead th{position:sticky;top:0;z-index:3;background:#162338;color:#eaf1fb}
.pickstable thead th span,.pickstable thead th small{display:block}
.pickstable thead th small{font-size:10px;color:#91a2ba;margin-top:2px}
.pickstable .playercol{position:sticky;left:0;z-index:2;min-width:132px;max-width:132px;text-align:left;background:#162338}
.pickstable thead .playercol{z-index:4}
.pickstable tbody .playercol small{display:block;color:#91a2ba;margin-top:4px}
.boardplayer{font-weight:800;color:#fff;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.pickstable td b{font-size:13px}
.pickstable .tbcell{background:#17243a;font-weight:800}
.board-correct{background:#176b3a!important;color:#effff6!important}
.board-wrong{background:#8d2830!important;color:#fff5f5!important}
.board-tie{background:#9a7618!important;color:#fff9de!important}
.board-canceled{background:#05070a!important;color:#d8dde5!important}
.board-pending{background:#465267!important;color:#f1f5f9!important}
.legenddot.board-correct{background:#176b3a!important}
.legenddot.board-wrong{background:#8d2830!important}
.legenddot.board-tie{background:#9a7618!important}
.legenddot.board-canceled{background:#05070a!important;border:1px solid #697386}
.legenddot.board-pending{background:#465267!important}

/* Live Game Center */
.gamehead{cursor:pointer}
.gamehead em{display:block;font-style:normal;font-size:9px;color:#5fe39a;margin-top:4px}
.gchero{padding:18px 4px 8px;text-align:center}
.gcstatus{font-size:12px;font-weight:800;letter-spacing:.08em;color:#9fb0c8;text-transform:uppercase}
.gcstatus.live{color:#5fe39a}
.gcteams{display:grid;grid-template-columns:1fr auto 1fr;gap:12px;align-items:center;margin:18px 0}
.gcteams strong{display:block;font-size:28px}
.gcteams small{display:block;color:#8fa1b8;font-size:10px;margin-top:4px}
.gcscore{font-size:34px;font-weight:900;white-space:nowrap}
.gcscore span{color:#64748b;margin:0 8px}
.gcmeta{color:#91a2ba;font-size:12px}
.gcsection{border-top:1px solid #2a3a50;padding:18px 0}
.gcsection h3{margin:0 0 12px}
.gcpickrow{margin:10px 0}
.gcpickrow>div:first-child{display:flex;justify-content:space-between;font-size:12px}
.gcpickrow span{color:#9fb0c8}
.gcbar{height:8px;background:#26354a;border-radius:999px;overflow:hidden;margin-top:6px}
.gcbar i{display:block;height:100%;background:#35c978;border-radius:999px}
.gcpeople{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}
.gcpeople span{padding:7px 9px;border-radius:9px;background:#152238;border:1px solid #2b3d56;font-size:11px}
.gcpeople b{color:#5fe39a;margin-left:4px}
.gcupdate{background:#111d2e;border:1px solid #2a3b52;border-radius:12px;padding:12px}
.gcupdate p{margin:6px 0 0;color:#dbe5f2}
.gcpro{position:relative}
.probadge{display:inline-block;background:#7c5cff;color:white;border-radius:6px;padding:4px 7px;font-size:10px;font-weight:900;letter-spacing:.08em;margin-bottom:8px}


/* Help / Info Center */
.helpfab{
  position:fixed;
  top:calc(env(safe-area-inset-top, 0px) + 12px);
  right:14px;
  z-index:999;
  width:38px;
  height:38px;
  border-radius:50%;
  border:1px solid #38506d;
  background:#152238;
  color:#fff;
  font-size:20px;
  font-weight:900;
  box-shadow:0 6px 18px rgba(0,0,0,.28);
}
.helpcenter details{
  border-top:1px solid #2a3a50;
  padding:0;
}
.helpcenter details:last-child{
  border-bottom:1px solid #2a3a50;
}
.helpcenter summary{
  cursor:pointer;
  list-style:none;
  padding:16px 2px;
  font-weight:800;
  font-size:15px;
}
.helpcenter summary::-webkit-details-marker{display:none}
.helpcenter summary:after{
  content:"+";
  float:right;
  color:#8ea2bd;
  font-size:19px;
  line-height:1;
}
.helpcenter details[open] summary:after{content:"–"}
.helpbody{
  padding:0 2px 15px;
  color:#d8e2ef;
  font-size:13px;
  line-height:1.55;
}
.helpbody p{margin:0 0 10px}
.helpcolors{
  display:grid;
  gap:9px;
  margin-top:10px;
}
.helpcolors span{
  display:grid;
  grid-template-columns:14px 58px 1fr;
  gap:8px;
  align-items:center;
}


/* ===== CLEAN PICKS BOARD ===== */
.picksboardwrap{
  width:100%;
  max-width:100%;
  overflow:hidden;
  border:1px solid #2b3b52;
  border-radius:14px;
  background:#0d1725;
}
.boardscroll{
  display:block !important;
  width:100%;
  max-width:100%;
  overflow-x:auto !important;
  overflow-y:hidden !important;
  -webkit-overflow-scrolling:touch;
  overscroll-behavior-x:contain;
}
.pickstable{
  display:table !important;
  table-layout:fixed !important;
  border-collapse:separate !important;
  border-spacing:0 !important;
  width:max-content !important;
  min-width:max-content !important;
  margin:0 !important;
  background:#0d1725;
}
.pickstable thead{display:table-header-group !important}
.pickstable tbody{display:table-row-group !important}
.pickstable tr{display:table-row !important;height:52px !important}
.pickstable th,.pickstable td{
  display:table-cell !important;
  box-sizing:border-box !important;
  height:52px !important;
  min-height:52px !important;
  max-height:52px !important;
  padding:0 !important;
  vertical-align:middle !important;
  text-align:center !important;
  border-right:1px solid #2a3a50 !important;
  border-bottom:1px solid #2a3a50 !important;
  overflow:hidden !important;
}
.pickstable thead th{
  position:sticky;
  top:0;
  z-index:3;
  background:#162338 !important;
}
.pickstable .playercol{
  position:sticky !important;
  left:0 !important;
  z-index:4 !important;
  width:124px !important;
  min-width:124px !important;
  max-width:124px !important;
  padding:0 10px !important;
  text-align:left !important;
  background:#162338 !important;
}
.pickstable thead .playercol{z-index:6 !important}
.pickstable .playerhead{
  font-size:11px !important;
  text-transform:uppercase;
  letter-spacing:.08em;
  color:#a9b7ca !important;
}
.playername{
  font-size:13px;
  line-height:1.1;
  font-weight:800;
  color:#fff;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.playerrecord{
  margin-top:4px;
  font-size:10px;
  color:#92a3ba;
  font-weight:600;
  white-space:nowrap;
}
.pickstable .gamehead{
  width:58px !important;
  min-width:58px !important;
  max-width:58px !important;
  cursor:pointer;
  background:#162338 !important;
}
.matchuphead{
  height:52px;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:1px;
  line-height:1;
}
.matchuphead span{
  display:block;
  font-size:11px;
  font-weight:800;
  color:#eef4fb;
}
.matchuphead small{
  display:block;
  font-size:8px;
  font-weight:700;
  color:#71839b;
}
.pickstable .pickcell{
  width:58px !important;
  min-width:58px !important;
  max-width:58px !important;
  font-size:12px !important;
  font-weight:900 !important;
}
.pickstable .pickcell span{
  display:flex;
  align-items:center;
  justify-content:center;
  width:100%;
  height:100%;
}
.pickstable .tbhead,.pickstable .tbcell{
  width:48px !important;
  min-width:48px !important;
  max-width:48px !important;
}
.pickstable .tbhead{
  font-size:11px;
  color:#a9b7ca;
  background:#162338 !important;
}
.pickstable .tbcell{
  background:#17243a !important;
  font-size:12px;
  font-weight:900;
  color:#fff;
}
.pickstable tbody tr:last-child th,
.pickstable tbody tr:last-child td{border-bottom:0 !important}
.pickstable tr th:last-child,
.pickstable tr td:last-child{border-right:0 !important}
.pickstable .board-correct{background:#176b3a !important;color:#f2fff7 !important}
.pickstable .board-wrong{background:#8d2830 !important;color:#fff6f6 !important}
.pickstable .board-tie{background:#9a7618 !important;color:#fff9df !important}
.pickstable .board-canceled{background:#05070a !important;color:#d7dde5 !important}
.pickstable .board-pending{background:#3f4c60 !important;color:#f4f7fb !important}

@media (max-width:600px){
  .pickstable .playercol{
    width:112px !important;
    min-width:112px !important;
    max-width:112px !important;
  }
  .pickstable .gamehead,.pickstable .pickcell{
    width:54px !important;
    min-width:54px !important;
    max-width:54px !important;
  }
  .pickstable .tbhead,.pickstable .tbcell{
    width:44px !important;
    min-width:44px !important;
    max-width:44px !important;
  }
}


/* Week preview cleanup: records under matchup, one Pro section at bottom */
.previewmatch{display:flex;flex-direction:column;gap:7px}
.teamrecords{
  display:flex;
  gap:10px;
  flex-wrap:wrap;
  color:#93a4ba;
  font-size:11px;
  line-height:1.2;
}
.teamrecords span{
  display:inline-flex;
  align-items:center;
  gap:4px;
}
.teamrecords strong{
  color:#dfe7f2;
  font-weight:800;
}

.gameweather{margin-top:7px;color:#9fb0c5;font-size:11px;line-height:1.35;font-weight:650}

/* Minimal schedule conditions */
.gameweather{margin-top:5px!important;font-size:11px!important;white-space:nowrap;color:#9fb0c5!important;font-weight:650!important}

.previewgame>span small{font-size:11px;color:#7f91a8}

/* Game Center team identity */
.gcteam{display:flex;flex-direction:column;align-items:center;min-width:0}
.gclogo{width:52px;height:52px;object-fit:contain;margin-bottom:7px}
.gcteam .gcrecord{display:block;margin-top:5px;font-size:11px;font-weight:800;color:#aebbd0}
@media(max-width:600px){
  .gclogo{width:46px;height:46px}
  .gcteams{gap:8px}
  .gcscore{font-size:31px}
}

/* Header control collision fix */
.helpfab{
  right:76px !important;
  width:38px !important;
  height:38px !important;
  top:calc(env(safe-area-inset-top, 0px) + 14px) !important;
  z-index:998 !important;
}
@media(max-width:600px){
  .helpfab{
    right:74px !important;
  }
}

/* Functional Account panel */
.accountpanel{max-width:680px}
.accountrow{
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding:12px 0 16px;
  margin-bottom:8px;
  border-bottom:1px solid #2a3a50;
  color:#9fb0c5;
}
.accountrow b{color:#fff}
.accountnote{margin-top:10px}
.dangerbtn{
  width:100%;
  margin-top:22px;
  border:1px solid #6b3340;
  background:#28151b;
  color:#ffb8c3;
  border-radius:12px;
  padding:13px 14px;
  font-weight:800;
}

/* Schedule records + minimal weather */
.previewleft{min-width:0}
.compactrecords{
  margin-top:5px;
  display:flex;
  gap:10px;
  flex-wrap:wrap;
  color:#8fa1b8;
  font-size:10px;
  line-height:1.2;
}
.compactrecords span{display:inline-flex;gap:4px;align-items:center}
.compactrecords strong{color:#dbe5f1;font-weight:800}
.gameweather{margin-top:5px!important}


/* ===== CHAT / MEDIA / NOTIFICATIONS ===== */
.chatpanel{padding-bottom:12px}.chatmessages{display:flex;flex-direction:column;gap:12px;max-height:560px;overflow-y:auto;padding:8px 0 14px}
.chatmsg{display:flex;gap:9px;align-items:flex-start}.chatavatar{width:34px;height:34px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:#24334a;font-weight:900;flex:0 0 34px}
.chatbubble{min-width:0;max-width:82%;background:#162338;border:1px solid #2b3b52;border-radius:14px;padding:9px 11px}.chatmsg.mine{justify-content:flex-end}.chatmsg.mine .chatavatar{order:2}.chatmsg.mine .chatbubble{background:#173329;border-color:#285b48}
.chatmeta{display:flex;gap:7px;align-items:center;margin-bottom:4px}.chatmeta b{font-size:12px}.chatmeta small{color:#8092a9;font-size:9px}.chatbody{white-space:pre-wrap;word-break:break-word;font-size:13px;line-height:1.35}
.chatmedia{display:block;max-width:100%;max-height:260px;border-radius:10px;margin-top:8px}.chatvideo{width:100%;max-height:280px;border-radius:10px;margin-top:8px;background:#000}
.reactions{display:flex;gap:5px;flex-wrap:wrap;margin-top:7px}.reaction{border:1px solid #34465e;background:#101b2b;border-radius:999px;padding:3px 7px;font-size:12px;color:#eaf1fa}.reaction.mine{border-color:#36c98a;background:#153429}.addreaction{opacity:.8}
.chatcomposer{border-top:1px solid #2a3a50;padding-top:12px}.chatcomposer textarea{width:100%;resize:none;min-height:58px}.chatactions{display:flex;gap:7px;align-items:center;flex-wrap:wrap;margin-top:8px}.attachbtn{display:inline-flex;align-items:center;min-height:40px;padding:0 11px;border:1px solid #34465e;border-radius:10px;font-size:12px;font-weight:800;cursor:pointer}.chatsend{margin-left:auto;width:auto!important;min-width:76px}
.emojipicker{display:flex;gap:7px;flex-wrap:wrap;padding:9px 0}.emojipicker button{font-size:20px;background:#17243a;border:1px solid #34465e;border-radius:9px;padding:6px}.gifbox{display:flex;gap:7px;margin-top:8px}.gifbox input{margin:0}.gifbox button{white-space:nowrap}
.mediapreview{padding:8px;border:1px dashed #3b4d66;border-radius:10px;margin-bottom:8px;font-size:12px}.mediapreview img,.mediapreview video{max-width:120px;max-height:100px;border-radius:8px;vertical-align:middle;margin-right:8px}
.chatbadge{display:inline-flex;align-items:center;justify-content:center;min-width:18px;height:18px;padding:0 5px;border-radius:999px;background:#27cc7a;color:#07140e;font-size:9px;font-weight:900;margin-left:4px}
.notifysettings{border-top:1px solid #2a3a50;margin-top:22px;padding-top:20px}.switchrow{display:flex;justify-content:space-between;align-items:center;gap:14px;padding:11px 0;border-bottom:1px solid #26364b}.switchrow span{display:flex;flex-direction:column;gap:2px}.switchrow small{color:#8294aa}.switchrow input{width:22px;height:22px}.notifysettings #deviceNotifyBtn{margin-top:14px}
@media(max-width:600px){.chatbubble{max-width:86%}.chatsend{margin-left:0}.chatactions{display:grid;grid-template-columns:1fr auto auto auto}.attachbtn{justify-content:center}}

/* Reliable mobile week navigation */
.tabs{grid-template-columns:repeat(2,1fr)!important}
.weekbtn{cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:rgba(74,163,255,.15)}
.weekbtn:active{transform:scale(.985)}

.superbowlbtn.locked{
  opacity:.78;
  border-style:dashed;
}

.weektabs{margin:14px 0 18px} #weekChatLocked{text-align:center}

/* Team identity on weekly pick cards */
.teamlogo{width:52px;height:52px;object-fit:contain;display:block;filter:drop-shadow(0 3px 5px rgba(0,0,0,.25))}
.teamabbr{font-size:11px;font-weight:900;letter-spacing:.6px;color:#c8d4e4}
.team.selected .teamabbr{color:#8ff0b5}
.team{min-height:128px}
@media(max-width:430px){
  .teamlogo{width:48px;height:48px}
  .team{min-height:122px;padding:13px 8px}
}

/* Team logos on the week dashboard schedule */
.previewleft{min-width:0;flex:1}
.previewmatchup{display:flex;align-items:center;gap:8px;min-width:0}
.previewteam{display:flex;align-items:center;gap:7px;min-width:0}
.previewteam img{width:34px;height:34px;object-fit:contain;flex:0 0 34px}
.previewteam span{display:flex!important;flex-direction:column;text-align:left!important;min-width:0}
.previewteam b{font-size:13px}
.previewteam small{font-size:10px;color:#91a2ba;white-space:nowrap}
.previewat{color:#71839a!important;font-weight:800!important;text-align:center!important}
@media(max-width:430px){
  .previewgame{align-items:flex-start}
  .previewmatchup{gap:5px}
  .previewteam{gap:4px}
  .previewteam img{width:29px;height:29px;flex-basis:29px}
  .previewgame>span{max-width:42%}
}

.boardlocked{opacity:.58;cursor:not-allowed;filter:saturate(.45)}
#boardGateMsg{text-align:center}
.danger{width:100%;margin-top:12px;background:#8e202b!important;border:1px solid #bd3b49!important;color:#fff!important;font-weight:900}.modal{position:fixed;inset:0;z-index:2000;background:rgba(0,0,0,.76);display:flex;align-items:center;justify-content:center;padding:20px}.modal.hidden{display:none}.modalcard{width:min(500px,100%);background:#101b2b;border:1px solid #34465f;border-radius:18px;padding:22px}
#week1EntryButton{margin:14px 0 16px}#week1EntryButton .big{box-shadow:0 8px 24px rgba(0,0,0,.22)}

.settingsOverlay{position:fixed;inset:0;z-index:1700;background:#07111f;overflow-y:auto;padding:0 26px 40px}
.settingsOverlay.hidden{display:none!important}
.settingsTopbar{padding:22px 0 10px;max-width:760px;margin:0 auto}
.settingsWrap{max-width:760px;margin:0 auto;padding-top:10px}
.settingsOpen{overflow:hidden}

.errorbox{margin:14px 0;padding:12px 14px;border-radius:12px;background:#35171c;border:1px solid #78333e;color:#ffb7bf;font-weight:800}

.setupLabel{display:flex;align-items:center;gap:6px;margin-top:12px}.setupLabel .fieldlabel{margin:0}
.infobtn{width:auto!important;padding:2px 7px!important;border:0!important;background:transparent!important;color:#9fb0c8!important;font-size:17px}
.approvalHint{margin-top:8px;line-height:1.35}
.commissionercheck{width:18px!important;height:18px!important;margin:0 5px 0 0!important;accent-color:#35c978}
.commissionerdot{display:inline-block;width:9px;height:9px;border-radius:50%;background:#35c978;margin-right:5px;box-shadow:0 0 7px rgba(53,201,120,.45)}
.pendingapproval{color:#f2b84b;font-weight:800;margin-left:4px}.eligible{color:#5fe39a;font-weight:800;margin-left:4px}
.modalx{position:absolute;right:10px;top:8px;width:auto!important;background:transparent!important;border:0!important;color:#fff!important;font-size:28px!important;padding:4px 10px!important}

.reactionPickerModal{position:fixed;inset:0;z-index:2500;background:rgba(0,0,0,.58);display:flex;align-items:center;justify-content:center;padding:20px}
.reactionPickerModal.hidden{display:none!important}
.reactionPickerCard{width:min(520px,100%);background:#101b2b;border:1px solid #34465f;border-radius:18px;padding:18px}
.reactionPickerTitle{font-weight:800;margin-bottom:12px;color:#dce7f5}
.reactionPickerRow{display:flex;gap:8px;justify-content:space-between;flex-wrap:wrap;margin-bottom:14px}
.reactionPickerRow button{width:48px!important;height:48px!important;padding:0!important;border-radius:50%!important;font-size:25px!important;background:#17263a!important;border:1px solid #3a4f69!important}
.reactionadd{min-width:42px!important;width:auto!important;padding:6px 12px!important;border-radius:999px!important}

.winnerbox{margin:12px 0;padding:14px 16px;border:1px solid #80651c;background:linear-gradient(135deg,#30250f,#18202b);border-radius:14px;color:#ffe08a}
.winnerbox.hidden{display:none!important}.winnerTitle{font-size:18px;font-weight:900;margin-bottom:4px}
.standingrows{display:grid;gap:8px;margin-top:12px}
.standingrow{display:grid;grid-template-columns:42px 1fr auto;align-items:center;gap:10px;padding:11px 10px;border:1px solid #2f425a;border-radius:12px;background:#101b2a}
.standingplace{font-size:21px;text-align:center;font-weight:900}
.standingname{display:flex;align-items:center;gap:4px;min-width:0}.standingname b{overflow:hidden;text-overflow:ellipsis}.standingname small{color:#5fe39a;font-size:10px;font-weight:800;margin-left:4px}
.standingnumbers{text-align:right;display:grid}.standingnumbers>b{font-size:20px}.standingnumbers small,.standingnumbers span{font-size:10px;color:#9fb0c8}
.pendingStrip{margin-top:10px;padding:10px;border-radius:10px;background:#2b2414;color:#f2c86b;font-size:12px}
.boardMiniStandings{margin:10px 0 14px}.boardMiniStandings .standingrow{grid-template-columns:36px 1fr auto;padding:8px}.boardMiniStandings .standingname small{display:none}
.previewscore{font-weight:800;font-size:12px;margin-top:5px;color:#63d99b}

.contactLabel{margin-top:14px!important}.optional{font-weight:500;color:#8496ad;font-size:12px}
.commissionerContact{display:inline-block;margin-top:6px;color:#d8f8e5;font-weight:700;word-break:break-word}

.previewgamebtn{width:100%!important;text-align:left!important;background:transparent!important;color:inherit!important;border:0!important;border-radius:0!important;padding:0!important;font:inherit!important;cursor:pointer}
.previewgamebtn:active{opacity:.72}

.scheduleGameModal{position:fixed;inset:0;z-index:2600;background:rgba(0,0,0,.72);display:flex;align-items:center;justify-content:center;padding:18px}
.scheduleGameModal.hidden{display:none!important}
.scheduleGameCard{width:min(560px,100%);max-height:86vh;overflow:auto;background:#101b2b;border:1px solid #34465f;border-radius:20px;padding:18px;box-shadow:0 24px 70px rgba(0,0,0,.45)}
.scheduleGameTop{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:10px}
.scheduleGameTop h2{margin:3px 0 0}
.popupTeams{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:10px;padding:12px 0}
.popupTeam{display:grid;justify-items:center;gap:6px}.popupTeam img{width:58px;height:58px;object-fit:contain}
.popupStatus{text-align:center;font-weight:900}.popupStatus small{display:block;color:#9fb0c8;font-weight:600;margin-top:3px}
.popupScore{display:flex;justify-content:center;gap:18px;font-size:22px;font-weight:900;padding:8px 0 12px}
.popupMeta{text-align:center;color:#9fb0c8;font-size:13px;margin-bottom:14px}
.popupSection{border-top:1px solid #2f425a;padding-top:14px;margin-top:12px}.popupSection h3{margin:0 0 10px}
.pickSplit{display:grid;grid-template-columns:1fr 1fr;gap:8px}.pickSplit>div{background:#0d1724;border:1px solid #2f425a;border-radius:12px;padding:10px;display:flex;justify-content:space-between}

.top3label{margin-top:10px}

.game-started{opacity:.82}
#editPicksBar,#saveEditBar{margin-top:12px}
#saveEditBar .secondary{margin-top:8px}

.reactionCustomizeRow{display:flex;gap:10px;margin:10px 0 12px}
.reactionManageBtn{flex:1}
.reactionChoiceWrap{position:relative;display:inline-flex}
.reactionChoiceBtn{min-width:58px;height:58px;border-radius:50%;font-size:30px}
.reactionDeleteBtn{position:absolute;right:-5px;top:-7px;width:25px;height:25px;border-radius:50%;padding:0;line-height:20px;background:#b8323d;color:#fff;border:1px solid #6f7f96;font-size:17px}

/* Picks Board: pending/live picks use side shading for fast scanning.
   Away = lighter gray; Home = darker gray. */
.pickcell.board-pending.board-away{background:#66758a!important}
.pickcell.board-pending.board-home{background:#465267!important}

.commissionerEditBtn{margin-top:10px}
.commissionerEditActions{display:flex;gap:10px;margin-top:12px}
.commissionerEditActions button{flex:1}


/* Pre-kickoff stability polish */
.headerActions{display:flex;align-items:center;gap:10px;flex:0 0 auto}
.topbar .helpfab{position:static!important;right:auto!important;top:auto!important;z-index:auto!important;width:44px!important;height:44px!important;padding:0!important;border-radius:50%!important;display:grid!important;place-items:center!important;font-size:24px!important;font-weight:900!important}
.topbar #accountBtn{width:52px;height:44px;padding:0;display:grid;place-items:center}
#confirmDeleteLeague.deleteconfirm{border-radius:12px!important;padding:12px 14px!important;font-size:16px!important;line-height:1.2!important;font-family:inherit!important;font-weight:800!important;min-height:48px!important}
#cancelDeleteLeague{min-height:48px!important}
@media(max-width:600px){.topbar{gap:10px}.topbar h1{font-size:clamp(24px,7vw,34px)}.headerActions{gap:8px}.topbar .helpfab{width:44px!important;height:44px!important}}

/* League settings / pre-kickoff rule corrections */
.leagueRuleSettings{margin:18px 0;padding:16px;border:1px solid #30425a;border-radius:14px;background:#0f1a2a}
.leagueRuleSettings select{margin-bottom:12px}
#saveLeagueRulesBtn{margin-top:4px}
#confirmDeleteLeague.deleteconfirm{width:100%!important;border-radius:12px!important;padding:13px 14px!important;font-size:inherit!important;line-height:normal!important;font-family:inherit!important;font-weight:800!important;min-height:unset!important;background:#8e202b!important;border:1px solid #bd3b49!important;color:#fff!important}

/* Pool switcher */
.appLogoBtn{display:inline-grid!important;place-items:center!important;width:42px!important;height:42px!important;padding:0!important;margin:0 4px 0 0!important;border:0!important;border-radius:12px!important;background:transparent!important;font-size:32px!important;line-height:1!important;vertical-align:middle!important;cursor:pointer!important}
.appLogoBtn:active{background:#16263a!important;transform:scale(.96)}
.gameSwitcherOverlay{position:fixed;inset:0;z-index:3200;background:rgba(0,0,0,.68);display:flex;align-items:stretch}
.gameSwitcherOverlay.hidden{display:none!important}
.gameSwitcherDrawer{width:min(340px,86vw);height:100%;background:#0d1828;border-right:1px solid #31445d;padding:calc(26px + env(safe-area-inset-top)) 20px 24px;box-shadow:18px 0 50px rgba(0,0,0,.42);overflow-y:auto}
.gameSwitcherDrawer h2{margin:5px 0 18px}
.gameModeItem{width:100%!important;display:grid!important;grid-template-columns:42px 1fr!important;gap:10px!important;align-items:center!important;text-align:left!important;padding:12px!important;margin:0 0 9px!important;border-radius:14px!important;background:#111f31!important;border:1px solid #2d415a!important;color:#fff!important}
.gameModeItem>span{font-size:28px;text-align:center}.gameModeItem div{display:grid;gap:2px}.gameModeItem small{color:#8fa2bb;font-size:11px}.gameModeItem.active{border-color:#4278aa!important;background:#172d46!important}.gameModeItem.active small{color:#7fefb0}
.gameSwitcherDivider{height:1px;background:#293c54;margin:18px 0}

/* Clickable league-member profiles */
.profileNameBtn{display:inline-flex!important;align-items:center!important;gap:4px!important;width:auto!important;max-width:100%!important;padding:0!important;margin:0!important;background:transparent!important;border:0!important;color:inherit!important;font:inherit!important;text-align:left!important;cursor:pointer!important;vertical-align:baseline!important}
.profileNameBtn:hover,.profileNameBtn:active{text-decoration:underline;text-underline-offset:3px}
.playerProfileCard{width:min(480px,100%)}
.profileHero{display:grid;grid-template-columns:58px 1fr;gap:12px;align-items:center;margin-bottom:16px}
.profileAvatar{width:58px;height:58px;border-radius:50%;display:grid;place-items:center;background:#1b314b;border:1px solid #405a77;font-size:25px;font-weight:900}
.profileHero h2{margin:2px 0}.profileMedals{display:flex;gap:8px;flex-wrap:wrap;margin:14px 0}.profileMedal{flex:1;min-width:92px;padding:10px 8px;border:1px solid #30445d;background:#0d1827;border-radius:12px;text-align:center;font-weight:900}.profileMedal small{display:block;color:#8fa2bb;font-size:10px;margin-top:2px}
.profileStats{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:12px}.profileStat{padding:10px;border:1px solid #2e425a;background:#101b2a;border-radius:12px}.profileStat small{display:block;color:#91a2ba;font-size:10px}.profileStat b{font-size:18px}.profileNote{margin-top:12px;color:#8fa2bb;font-size:11px;line-height:1.4}

/* Sept beta polish */
.topbar h1{display:flex;align-items:center;gap:6px}
.commissionerdot{width:10px!important;height:10px!important;min-width:10px!important;min-height:10px!important;aspect-ratio:1/1!important;border-radius:999px!important;flex:0 0 10px!important;line-height:0!important;vertical-align:middle!important}
.weekgrid{display:flex!important;flex-direction:column!important;gap:8px!important}
.weekbtn{display:grid!important;grid-template-columns:minmax(80px,auto) 1fr auto!important;align-items:center!important;gap:12px!important;width:100%!important;padding:13px 15px!important;text-align:left!important}
.weekbtn b{font-size:16px}.weekbtn small{margin:0!important}.weekbtn .weekArrow{color:#8fa2bb;font-size:20px}
.preWeekStandings{padding:12px 0;color:#8fa2bb}
.commissionerContact{display:inline-block;margin-top:7px;font-weight:700;color:#dbe8f7}

/* Season week-row status snapshot */
.weekbtn small{display:flex!important;align-items:center;gap:7px;min-width:0;flex-wrap:wrap}
.weekStatusBulb{width:10px;height:10px;min-width:10px;flex:0 0 10px;aspect-ratio:1/1;border-radius:50%;display:inline-block}
.weekStatusBulb.green{background:#2bd17e;box-shadow:0 0 8px rgba(43,209,126,.42)}
.weekStatusBulb.orange{background:#f0a43a;box-shadow:0 0 8px rgba(240,164,58,.35)}
.weekStatusBulb.red{background:#e55252;box-shadow:0 0 8px rgba(229,82,82,.38)}
.weekRecord{color:#f4f7fb;font-weight:800;white-space:nowrap}
.weekMedal{color:#f4d875;font-weight:800;white-space:nowrap}

/* Season week-row status + live record */
.weekSnapshot{display:flex;align-items:center;justify-content:space-between;gap:10px;min-width:0;color:var(--muted)}
.weekStatusText{display:inline-flex;align-items:center;gap:7px;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.weekStatusText span{overflow:hidden;text-overflow:ellipsis}
.weekStatusBulb{display:inline-block;width:10px;height:10px;min-width:10px;min-height:10px;flex:0 0 10px;aspect-ratio:1/1;border-radius:50%}
.weekStatusBulb.green{background:#28d17c;box-shadow:0 0 9px rgba(40,209,124,.38)}
.weekStatusBulb.orange{background:#f2a93b;box-shadow:0 0 9px rgba(242,169,59,.32)}
.weekStatusBulb.red{background:#e05252;box-shadow:0 0 9px rgba(224,82,82,.34)}
.weekStatusBulb.neutral{background:#607086;box-shadow:none;opacity:.65}
.weekRecord{font-weight:900;color:#eef5ff;white-space:nowrap;font-variant-numeric:tabular-nums}
@media(max-width:420px){.weekbtn{grid-template-columns:minmax(72px,auto) 1fr auto!important;gap:8px!important}.weekStatusText{font-size:12px}.weekRecord{font-size:13px}}

/* Personal pick state inside Schedule Preview */
.scheduleBoardGateway{margin-top:16px;padding-top:14px;border-top:1px solid var(--line)}
.scheduleBoardGateway .big{width:100%;margin-top:0}
.scheduleBoardGateway .muted{margin:9px 0 0;font-size:12px}
.previewteam.schedule-your-pick{padding:4px 6px;border:1px solid #4d6788;background:#1a2a40;border-radius:10px}
.previewteam.schedule-pick-pending{border-color:#55749d;background:#1a2d48}
.previewteam.schedule-pick-correct{border-color:#28d17c;background:rgba(40,209,124,.16)}
.previewteam.schedule-pick-wrong{border-color:#df5252;background:rgba(223,82,82,.16)}
.previewteam.schedule-pick-tie{border-color:#d7a72a;background:rgba(215,167,42,.17)}
.previewteam.schedule-pick-void{border-color:#596170;background:#090d13}
.previewteam .yourPickTag{display:inline-block!important;margin-top:2px;color:#dfeafd!important;font-size:9px!important;font-weight:850!important;letter-spacing:.04em;text-transform:uppercase}
.previewteam.schedule-pick-correct .yourPickTag{color:#7df0ad!important}
.previewteam.schedule-pick-wrong .yourPickTag{color:#ff9d9d!important}
.previewteam.schedule-pick-tie .yourPickTag{color:#f4d575!important}
.previewteam.schedule-pick-void .yourPickTag{color:#b4bdc9!important}
@media(max-width:420px){
  .previewteam.schedule-your-pick{padding:3px 4px}
  .previewteam .yourPickTag{font-size:8px!important}
}

/* Commissioner contact + correction polish */
#joinBtn{border-color:#238a57;background:rgba(35,138,87,.14);color:#bff5d5}
#joinBtn:active{background:rgba(35,138,87,.25)}
.commissionerContactLink{color:#eaf3fb!important;text-decoration:none!important;font-weight:700;line-height:1.8;overflow-wrap:anywhere}
a.commissionerContactLink{border-bottom:1px solid rgba(46,211,132,.45)}
.commissionerPhoneBtn{appearance:none;-webkit-appearance:none;background:none;border:0;padding:0;margin:0;font:inherit;text-align:left;color:#eaf3fb!important;border-bottom:1px solid rgba(46,211,132,.45);cursor:pointer}
.phoneActionCard .primary,.phoneActionCard .secondary{margin-top:10px}
.contactTextBtn{border-color:#238a57;background:rgba(35,138,87,.16);color:#d9f8e7}
.tinybtn{border:1px solid #405570;background:#101c2d;color:#dce7f5;border-radius:9px;padding:5px 8px;font-size:11px;font-weight:800;white-space:nowrap}
.correctionBtn{margin-left:6px}
.pickCorrectionCard{max-height:min(82vh,720px);overflow:auto}
.pickCorrectionGames{display:grid;gap:8px;margin:12px 0 16px}
.correctionGame{display:flex;align-items:center;justify-content:space-between;gap:12px;border:1px solid #31445f;background:#101b2b;border-radius:12px;padding:10px 12px}
.correctionGame span{min-width:0}.correctionGame small{display:block;color:#91a2b9;margin-top:3px}.correctionGame select{width:auto;min-width:90px;margin:0;padding:8px 28px 8px 10px}
@media(max-width:430px){.submittedname{gap:5px;flex-wrap:wrap}.correctionBtn{margin-left:auto}.correctionGame{align-items:flex-start}.correctionGame select{min-width:82px}}

/* Schedule Preview personal-pick box alignment polish */
.previewmatchup{width:100%}
.previewteam{flex:1 1 0}
.previewteam.schedule-your-pick{
  justify-content:center;
  text-align:center;
  box-sizing:border-box;
}
.previewteam.schedule-your-pick>span{
  align-items:center;
  justify-content:center;
  text-align:center!important;
}
.previewteam.schedule-your-pick>span b,
.previewteam.schedule-your-pick>span small{
  width:100%;
  text-align:center!important;
}
.previewteam.schedule-your-pick .yourPickTag{
  width:auto!important;
  text-align:center!important;
}
@media(max-width:420px){
  .previewmatchup{gap:4px}
  .previewteam{min-width:0}
  .previewteam.schedule-your-pick{padding:4px 3px}
}


/* Live Schedule Preview: switch pregame logistics to game/league info after kickoff */
.pregamePreviewMeta{display:block;max-width:42%;text-align:right;color:var(--muted);font-size:12px;line-height:1.35}
.livePreviewMeta{flex:0 0 38%;max-width:38%;display:flex;flex-direction:column;align-items:flex-end;justify-content:center;gap:4px;text-align:right;color:#dbe7f5}
.livePreviewMeta>small{font-size:10px;font-weight:850;letter-spacing:.05em;text-transform:uppercase;color:#7edfa8}
.livePreviewMeta>small.finalStatus{color:#fff;font-size:12px;font-weight:900;letter-spacing:.03em}
.livePreviewScore{display:flex;align-items:center;justify-content:flex-end;gap:5px;font-variant-numeric:tabular-nums;color:#f5f8fc}
.livePreviewScore b{font-size:12px!important}.livePreviewScore span{color:#8294aa!important}
.livePreviewPcts{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:4px 8px;font-size:10px;font-weight:800;color:#aebed2}
.livePreviewPcts span{color:#aebed2!important;white-space:nowrap}
@media(max-width:430px){
  .livePreviewMeta{flex-basis:39%;max-width:39%;gap:3px}
  .livePreviewScore b{font-size:11px!important}
  .livePreviewMeta>small.finalStatus{font-size:11px}
  .livePreviewPcts{font-size:9px;gap:2px 5px}
  .pregamePreviewMeta{max-width:40%;font-size:11px}
}

/* Schedule header: personal weekly record + progress */
.scheduleQuickStatus{
  margin-top:4px;
  font-size:13px;
  font-weight:700;
  letter-spacing:.01em;
  min-height:18px;
}
@media (max-width:520px){
  .scheduleQuickStatus{font-size:12px;}
}

/* Compact deadline countdowns + commissioner note */
.deadlineAction{display:inline-flex;align-items:center;gap:8px;margin:8px 0 10px;color:#b9c7d8;font-size:12px;font-weight:800}
.deadlineActionButton{appearance:none;-webkit-appearance:none;border:0;background:transparent;padding:0;cursor:pointer;text-align:left;color:inherit}
.deadlineActionButton:active{transform:scale(.99)}
.deadlineActionLabel{line-height:1.15}
.deadlineSquare{display:inline-flex;align-items:center;justify-content:center;min-width:48px;height:34px;padding:0 7px;border-radius:8px;color:#07130d;font-size:13px;font-weight:950;line-height:1;font-variant-numeric:tabular-nums;border:1px solid rgba(255,255,255,.16);box-sizing:border-box;flex:0 0 auto}
.deadline-green{background:#55dc8f}.deadline-yellow{background:#f3d45c}.deadline-orange{background:#f39a48}.deadline-red{background:#ff626d;color:#fff}
#approvalDeadlineWrap{margin-top:7px;margin-bottom:0}
#playerDeadlineWrap{justify-content:center;width:100%;margin-top:0}
.commissionerContactFields textarea{width:100%;box-sizing:border-box;resize:vertical;min-height:58px}
.commissionerNote{margin-top:10px;padding:9px 10px;border:1px solid rgba(255,255,255,.16);border-radius:10px;background:rgba(0,0,0,.12);color:#edf8f2;font-weight:600;line-height:1.35}
.commissionerNote small{display:block;margin-bottom:3px;color:#9fd7b5;font-size:10px;font-weight:900;letter-spacing:.07em}

/* True center selected team contents: logo and all copy share one center axis */
.previewteam.schedule-your-pick{
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:2px;
  text-align:center;
}
.previewteam.schedule-your-pick>img{
  margin:0 auto;
  flex:0 0 auto;
}
.previewteam.schedule-your-pick>span{
  width:100%;
  align-items:center!important;
  justify-content:center;
  text-align:center!important;
}
.previewteam.schedule-your-pick>span b,
.previewteam.schedule-your-pick>span small,
.previewteam.schedule-your-pick .yourPickTag{
  display:block!important;
  width:100%!important;
  text-align:center!important;
}

/* My Groups: actionable approval countdown for the active Weekly Commissioner */
.groupCardTop{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}
.groupApprovalAlert{display:inline-flex;align-items:center;gap:7px;margin:-4px 0 0 auto;font-size:11px;font-weight:850;color:#cbd7e7;line-height:1.1;white-space:nowrap}
.groupApprovalAlert .deadlineSquare{min-width:43px;height:31px;font-size:12px;border-radius:7px}
.groupApprovalAlert:active{transform:scale(.98)}
@media (max-width:520px){
 .groupApprovalAlert{gap:6px;font-size:10.5px}
 .groupApprovalText{max-width:none;white-space:nowrap;text-align:right}
 .groupApprovalAlert .deadlineSquare{min-width:42px;height:31px;padding:0 6px}
}

/* Schedule Preview matchup symmetry: both teams use the same centered logo + copy layout */
.previewmatchup .previewteam{
  flex-direction:row;
  align-items:center;
  justify-content:center;
  gap:7px;
  min-height:58px;
  padding:4px 6px;
  box-sizing:border-box;
  border:1px solid transparent;
  border-radius:10px;
  text-align:center;
}
.previewmatchup .previewteam>img{
  margin:0;
  flex:0 0 34px;
}
.previewmatchup .previewteam>span{
  width:auto;
  align-items:center!important;
  justify-content:center;
  text-align:center!important;
}
.previewmatchup .previewteam>span b,
.previewmatchup .previewteam>span small,
.previewmatchup .previewteam .yourPickTag{
  width:auto!important;
  text-align:center!important;
}
.previewmatchup .previewteam.schedule-your-pick{
  flex-direction:row;
  align-items:center;
  justify-content:center;
  gap:7px;
}
@media(max-width:430px){
  .previewmatchup .previewteam{
    gap:4px;
    min-height:56px;
    padding:4px 3px;
  }
  .previewmatchup .previewteam>img{
    flex-basis:29px;
  }
  .previewmatchup .previewteam.schedule-your-pick{
    gap:4px;
  }
}

/* Schedule Preview selected-pick readability + true optical centering */
.previewmatchup .previewteam{
  display:grid;
  grid-template-columns:34px max-content;
  align-items:center;
  justify-content:center;
  column-gap:9px;
  text-align:center;
}
.previewmatchup .previewteam>img{
  width:34px;
  height:34px;
  justify-self:center;
  align-self:center;
  margin:0;
}
.previewmatchup .previewteam>span{
  width:max-content;
  max-width:100%;
  align-items:center!important;
  justify-content:center!important;
  text-align:center!important;
}
.previewmatchup .previewteam.schedule-your-pick{
  display:grid;
  grid-template-columns:34px max-content;
  align-items:center;
  justify-content:center;
  column-gap:9px;
  padding:7px 10px;
  background:#263d5d;
  border-color:#6d91bd;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.035);
}
.previewmatchup .previewteam.schedule-pick-pending{
  background:#263d5d;
  border-color:#6d91bd;
}
.previewmatchup .previewteam.schedule-your-pick>span{
  justify-self:center;
}
.previewmatchup .previewteam.schedule-your-pick .yourPickTag{
  margin-top:3px;
  color:#f0f6ff!important;
  font-weight:900!important;
}
@media(max-width:430px){
  .previewmatchup .previewteam,
  .previewmatchup .previewteam.schedule-your-pick{
    grid-template-columns:29px max-content;
    column-gap:6px;
  }
  .previewmatchup .previewteam.schedule-your-pick{
    padding:6px 7px;
  }
  .previewmatchup .previewteam>img{
    width:29px;
    height:29px;
  }
}

/* ===== RESPONSIVE PICKS BOARD: 8 portrait / 16 landscape ===== */
:root{
  --board-player-w:96px;
  --board-tb-w:40px;
  --board-side-gap:58px;
  --board-game-w:calc((100vw - var(--board-side-gap) - var(--board-player-w)) / 8);
}
.pickstable .playercol{
  width:var(--board-player-w)!important;
  min-width:var(--board-player-w)!important;
  max-width:var(--board-player-w)!important;
}
.pickstable .gamehead,.pickstable .pickcell{
  width:var(--board-game-w)!important;
  min-width:var(--board-game-w)!important;
  max-width:var(--board-game-w)!important;
}
.pickstable .tbhead,.pickstable .tbcell{
  width:var(--board-tb-w)!important;
  min-width:var(--board-tb-w)!important;
  max-width:var(--board-tb-w)!important;
}
.pickstable{font-size:11px!important}
.pickstable .matchuphead span{font-size:10px;line-height:1.05}
.pickstable .matchuphead small{font-size:8px!important}
.pickstable .pickcell span{font-size:11px;font-weight:850;letter-spacing:.01em}
.pickstable .playername{font-size:12px;line-height:1.05}
.pickstable .playerrecord{font-size:9px;margin-top:4px}
.boardscroll{scroll-snap-type:x proximity}

@media (orientation:landscape) and (max-height:600px){
  :root{
    --board-player-w:102px;
    --board-tb-w:34px;
    --board-side-gap:58px;
    --board-game-w:calc((100vw - var(--board-side-gap) - var(--board-player-w) - var(--board-tb-w)) / 16);
  }
  #boardView main{max-width:none}
  #boardView .panel{padding-left:12px;padding-right:12px}
  .pickstable{width:100%!important;min-width:100%!important;max-width:100%!important;font-size:9px!important}
  .pickstable th,.pickstable td{padding:4px 2px!important;height:44px!important;min-height:44px!important;max-height:44px!important}
  .pickstable .matchuphead span{font-size:8px!important}
  .pickstable .matchuphead small{font-size:7px!important;margin:1px 0!important}
  .pickstable .pickcell span{font-size:9px!important}
  .pickstable .playername{font-size:10px!important}
  .pickstable .playerrecord{font-size:8px!important}
  .boardscroll{overflow-x:auto!important;overscroll-behavior-x:contain!important}
  #boardView .boardlegend{margin:8px 0;font-size:10px;gap:6px 10px}
  #boardView .boardstatus{margin:4px 0 8px}
  #boardView .top3label,#boardView .boardMiniStandings{display:none}
  #boardView .sectionhead p{margin:4px 0 0;font-size:11px}
}

/* League season format */
.formatChoice{width:100%;display:flex;flex-direction:column;gap:5px;text-align:left;margin:10px 0;padding:14px;border:1px solid #3b4c65;border-radius:14px;background:#111d2d;color:#fff}
.formatChoice b{font-size:16px}.formatChoice span{font-size:12px;color:#9fb0c5;line-height:1.35}
.seasonFormatBadge{display:inline-flex;margin:0 0 8px;padding:5px 9px;border:1px solid #37506f;border-radius:999px;background:#111d2d;color:#c9d8ec;font-size:11px;font-weight:850;letter-spacing:.02em}
@media (orientation:landscape) and (max-height:600px){
  body:has(#boardView:not(.hidden)) main{max-width:none!important;padding-left:14px!important;padding-right:14px!important}
  body:has(#boardView:not(.hidden)) .topbar{padding-left:18px!important;padding-right:18px!important}
}


/* Smart 5-week season window */
.seasonWeeksToggle{width:100%;margin-top:4px;padding:12px 14px;border-radius:14px;border:1px solid #3a5a7f;background:#142337;color:#eef5ff;font-weight:800;font-size:14px;display:flex;align-items:center;justify-content:center;gap:8px;cursor:pointer;touch-action:manipulation}
.seasonWeeksToggle:active{transform:scale(.99)}
.seasonWeeksCaption{text-align:center;color:#8092aa;font-size:12px;margin-top:2px;padding:2px 0 0}

/* Weather clarity: compact forecast on schedule + detailed weather in Game Center */
.gameweather{white-space:normal!important;max-width:100%;font-variant-numeric:tabular-nums}
.popupWeather{display:flex;flex-direction:column;align-items:center;gap:4px;margin:2px 0 14px;padding:10px 12px;border:1px solid #30445d;border-radius:12px;background:#0d1724;text-align:center}
.popupWeather span{font-size:10px;font-weight:850;letter-spacing:.08em;text-transform:uppercase;color:#8ea3bb}
.popupWeather b{font-size:13px;color:#e8f1fb;font-variant-numeric:tabular-nums}
.popupStatusNotice{margin:0 0 12px;padding:10px 12px;border-radius:12px;border:1px solid #8b6821;background:#2a2213;color:#ffe19a;text-align:center}
.popupStatusNotice b{display:block;font-size:13px}.popupStatusNotice small{display:block;margin-top:3px;color:#d7c69b;font-size:10px}

/* Picks Board secondary CTA polish */
#openBoardBtn{
  background:linear-gradient(180deg,rgba(38,78,116,.92),rgba(27,59,91,.96));
  border-color:rgba(91,174,211,.82);
  color:#f5fbff;
  box-shadow:0 0 0 1px rgba(52,211,153,.10),0 8px 22px rgba(15,72,105,.18);
}
#openBoardBtn:hover,#openBoardBtn:focus-visible{
  border-color:rgba(110,211,225,.96);
  background:linear-gradient(180deg,rgba(43,89,130,.96),rgba(29,67,101,.98));
}
#openBoardBtn:active{transform:translateY(1px)}

/* Post-game live UAT polish */
.liveStandingPlace{font-size:10px;letter-spacing:.06em;color:#78dba5;white-space:nowrap}
.popupTeam small{color:#93a6bd;font-size:10px;font-weight:700;text-align:center}
.livePreviewSituation{font-size:9px;font-weight:800;color:#d8e4f2;text-align:right;line-height:1.25}
@media(max-width:430px){
  .livePreviewSituation{font-size:8.5px}
}

/* Final-result color must override the neutral selected-pick box styling above. */
.previewmatchup .previewteam.schedule-your-pick.schedule-pick-correct{
  background:rgba(40,209,124,.20);
  border-color:#28d17c;
  box-shadow:inset 0 0 0 1px rgba(40,209,124,.10);
}
.previewmatchup .previewteam.schedule-your-pick.schedule-pick-wrong{
  background:rgba(223,82,82,.20);
  border-color:#df5252;
  box-shadow:inset 0 0 0 1px rgba(223,82,82,.10);
}
.previewmatchup .previewteam.schedule-your-pick.schedule-pick-tie{
  background:rgba(215,167,42,.20);
  border-color:#d7a72a;
  box-shadow:inset 0 0 0 1px rgba(215,167,42,.10);
}
.previewmatchup .previewteam.schedule-your-pick.schedule-pick-void{
  background:#090d13;
  border-color:#596170;
  box-shadow:none;
}
.previewmatchup .previewteam.schedule-your-pick.schedule-pick-correct .yourPickTag{color:#7df0ad!important}
.previewmatchup .previewteam.schedule-your-pick.schedule-pick-wrong .yourPickTag{color:#ff9d9d!important}
.previewmatchup .previewteam.schedule-your-pick.schedule-pick-tie .yourPickTag{color:#f4d575!important}
.previewmatchup .previewteam.schedule-your-pick.schedule-pick-void .yourPickTag{color:#b4bdc9!important}


/* Round 2 — branded loading, compact management, and app polish */
.wpLoader{position:fixed;inset:0;z-index:1200;display:grid;place-items:center;background:rgba(4,9,18,.72);backdrop-filter:blur(5px);-webkit-backdrop-filter:blur(5px)}
.wpLoader.hidden{display:none}
.wpLoaderMark{position:relative;width:92px;height:58px;font-weight:1000;font-size:42px;letter-spacing:-5px;line-height:58px;text-align:center;font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}
.wpLoaderMark span{position:absolute;inset:0;color:#334157;-webkit-text-stroke:1px rgba(255,255,255,.08)}
.wpLoaderMark b{position:absolute;inset:0;color:#35c978;clip-path:inset(0 100% 0 0);animation:wpWrite 2.2s linear infinite;font:inherit}
/* Deliberate write-on cycle: blank → W → P → brief complete hold → blank → repeat. */
@keyframes wpWrite{0%,5%{clip-path:inset(0 100% 0 0);opacity:0}6%{opacity:1}48%{clip-path:inset(0 52% 0 0);opacity:1}84%{clip-path:inset(0 0 0 0);opacity:1}94%{clip-path:inset(0 0 0 0);opacity:1}95%,100%{clip-path:inset(0 100% 0 0);opacity:0}}
.transientToast{position:fixed;z-index:1100;left:50%;top:calc(env(safe-area-inset-top,0px) + 78px);transform:translateX(-50%);width:min(88vw,520px);box-sizing:border-box;padding:12px 16px;border-radius:14px;background:#153b29;border:1px solid #2f8256;color:#dffbed;font-weight:850;text-align:center;box-shadow:0 10px 30px rgba(0,0,0,.35);animation:toastIn .2s ease-out}
.transientToast.pending{background:#3a2e12;border-color:#8d6e20;color:#ffe8a4}.transientToast.hidden{display:none}@keyframes toastIn{from{opacity:0;transform:translate(-50%,-8px)}to{opacity:1;transform:translate(-50%,0)}}
.quietRefresh{opacity:.58;padding:7px 10px;font-size:12px}.quietRefresh:active,.quietRefresh:hover{opacity:1}
.groupcard{text-align:left}.groupCardBottom{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:12px;color:#a8b7cb;font-size:13px}.groupWeekLink{font-weight:750}.groupCodeCopy{position:relative;z-index:2;border:1px solid #31445e;border-radius:999px;padding:6px 9px;color:#afbdd0;background:#0e1929;white-space:nowrap}.groupCodeCopy b{color:#eef5ff;letter-spacing:.06em}.groupCodeCopy:active{transform:scale(.98)}
.commissionerCard{background:linear-gradient(145deg,#132137,#0e1a2b)!important;border-color:#315172!important;border-left:3px solid #35c978!important;padding:15px!important}.commissionerEyebrow{font-size:10px;letter-spacing:.12em;font-weight:950;color:#72e3a7}.commissionerName{font-size:21px;font-weight:950;color:#fff;margin-top:4px}.commissionerBadges{display:flex;flex-wrap:wrap;gap:7px;margin-top:9px}.commissionerBadges span{border:1px solid #35516e;background:#101c2e;border-radius:999px;padding:5px 9px;color:#c4d2e5;font-size:11px;font-weight:800}.commissionerContactRow{margin-top:9px}.commissionerActions{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:12px}.commissionerActions button{margin:0!important;min-height:42px}.commissionerCard .commissionerNote{background:#0d1727;border-color:#293e57}.commissionerCard .commissionerContact{margin-top:0}
.entriesToggleBtn{margin-right:5px}.entriesCollapsed{display:none!important}.entriesIsCollapsed{padding-bottom:16px}.entriesIsCollapsed #entryCount{margin-bottom:0}
.gcteam strong{font-size:19px!important;line-height:1.05}.gcteam small{font-size:12px!important;margin-top:5px!important;color:#9eb0c6!important;font-weight:700}.gcteam .gcrecord{display:block;margin-top:5px;color:#71839a;font-size:10px}.gcteams{gap:8px!important}.gcscore{font-size:30px!important}
@media(max-width:430px){.commissionerActions{grid-template-columns:1fr}.groupCardBottom{align-items:flex-end}.groupCodeCopy{font-size:11px}.gcteams{grid-template-columns:minmax(0,1fr) auto minmax(0,1fr)}.gcteam strong{font-size:16px!important}.gcscore{font-size:26px!important}.transientToast{top:calc(env(safe-area-inset-top,0px) + 68px)}}


/* Beta 1.5 — stable board, glanceable record, integrated Game Center */
.scheduleQuickStatus{display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin-top:7px;min-height:30px}
.weekRecordChip{display:inline-flex;align-items:baseline;gap:6px;border:1px solid #3b5876;background:#122239;border-radius:10px;padding:5px 9px;color:#eef6ff}
.weekRecordChip b{font-size:19px;line-height:1;font-variant-numeric:tabular-nums;letter-spacing:-.02em}
.weekRecordChip small{font-size:8px;font-weight:950;letter-spacing:.11em;color:#7edfaa}
.settledText,.settledOnly{font-size:12px;font-weight:800;color:#94a7bd}
.pickstable .pickcell{position:relative}
.islandIcon{position:absolute;right:2px;top:1px;font-style:normal;font-size:9px;line-height:1;filter:saturate(.82);opacity:.9;pointer-events:none}
.gcTeamsIntegrated{grid-template-columns:minmax(0,1fr) auto minmax(0,1fr)!important;align-items:start!important;margin-top:14px!important}
.gcTeamScoreLine{display:flex;align-items:center;justify-content:center;gap:7px;min-height:58px;white-space:nowrap}
.gcTeamScoreLine b{font-size:15px;color:#c4d1e2;letter-spacing:.03em}
.gcTeamScoreLine strong{font-size:34px!important;line-height:1!important;color:#fff;font-variant-numeric:tabular-nums}
.gcLogoWrap{position:relative;display:inline-flex;align-items:center;justify-content:center}
.gcLogoWrap .gclogo{width:48px;height:48px;object-fit:contain}
.gcPossession{position:absolute;right:-7px;bottom:-3px;font-style:normal;font-size:14px;filter:drop-shadow(0 2px 2px rgba(0,0,0,.6))}
.gcNickname{display:block;font-size:18px;font-weight:950;line-height:1.1;color:#f3f7fc;margin-top:4px}
.gcAtMark{align-self:center;color:#61748d;font-size:13px;font-weight:900;padding:18px 1px 0}
.gcLiveSituation{display:inline-block;margin:2px auto 10px;padding:6px 10px;border-radius:999px;border:1px solid #31516c;background:#101d30;color:#d6e3f2;font-size:12px;font-weight:850}
@media(max-width:430px){
  .gcTeamScoreLine{gap:5px;min-height:52px}
  .gcLogoWrap .gclogo{width:40px;height:40px}
  .gcTeamScoreLine b{font-size:12px}
  .gcTeamScoreLine strong{font-size:28px!important}
  .gcNickname{font-size:16px}
  .weekRecordChip b{font-size:18px}
}

/* Beta 1.5 no-SQL sweep — stable schedule, compact board, cleaner Game Center/chat */
.notice:empty{display:none!important}
.transientToast{width:auto;max-width:min(82vw,260px);padding:9px 13px;border-radius:999px;font-size:13px;white-space:nowrap}
/* Full WP overlay is reserved for genuinely slow/cold operations; normal in-app navigation updates in place. */
.wpLoaderMark b{animation-duration:2.05s;animation-timing-function:ease-in-out}

/* Picks Board: roughly eight games visible in phone portrait and all sixteen in landscape when space allows. */
.pickstable{min-width:820px!important;font-size:11px!important;table-layout:fixed}
.pickstable th,.pickstable td{min-width:42px!important;width:42px!important;height:50px!important;padding:5px 3px!important}
.pickstable .playercol{min-width:104px!important;max-width:104px!important;width:104px!important;padding-left:7px!important;padding-right:5px!important}
.pickstable .tbcell,.pickstable .tbhead{min-width:44px!important;width:44px!important}
.matchuphead{font-size:10px;line-height:1.05}
.playername{font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.playerrecord{font-size:9px!important}
.islandIcon{right:3px!important;top:4px!important;font-size:8px!important;opacity:.82!important;transform:none!important}
@media(min-width:900px){.pickstable{min-width:100%!important}.pickstable th,.pickstable td{height:54px!important}}

/* Game Center: one score per team, with FINAL/live state centered between the scores. */
.gcTeamsIntegrated{grid-template-columns:minmax(0,1fr) minmax(62px,auto) minmax(0,1fr)!important;align-items:start!important}
.gcTeamScoreLine{gap:9px!important;min-height:64px!important}
.gcTeamScoreLine strong{font-size:38px!important;font-weight:950!important;line-height:1!important;color:#fff!important}
.gcAbbr{display:block;margin-top:2px;color:#c4d1e2;font-size:14px;letter-spacing:.05em}
.gcCenterState{align-self:start;margin-top:18px;padding:4px 6px;color:#fff;font-size:21px;font-weight:950;line-height:1;text-transform:uppercase;white-space:nowrap}
.gcCenterState.live{font-size:14px;color:#edf5ff;max-width:96px;white-space:normal;line-height:1.15}
.gcCenterState.final{color:#fff;font-size:22px}
.gcNickname{margin-top:3px!important}
@media(max-width:430px){
  .gcTeamsIntegrated{grid-template-columns:minmax(0,1fr) 56px minmax(0,1fr)!important;gap:5px!important}
  .gcTeamScoreLine{gap:5px!important;min-height:54px!important}
  .gcLogoWrap .gclogo{width:42px!important;height:42px!important}
  .gcTeamScoreLine strong{font-size:32px!important}
  .gcCenterState{font-size:18px;margin-top:17px;padding:3px 1px}
  .gcCenterState.final{font-size:19px}
  .gcCenterState.live{font-size:11px;max-width:56px}
  .gcAbbr{font-size:12px}
}

/* Chat opens on the latest conversation, but stops following when the reader scrolls upward. */
.chatpanel{position:relative}
.chatJumpLatest{display:block;width:auto!important;margin:-2px 0 8px auto!important;padding:7px 11px!important;border:1px solid #3b536e!important;border-radius:999px!important;background:#122239!important;color:#e7f1fb!important;font-size:11px!important;font-weight:900!important}
.chatJumpLatest.hidden{display:none!important}

/* Beta 1.5 QA sweep: compact collapsible live standings */
.standingsActions{display:flex;gap:6px;align-items:center}
.standingsCollapsed{display:none!important}
.standingsIsCollapsed{padding-bottom:16px}
.standingsRules{margin-top:12px;color:var(--muted)}
.standingsRules summary{cursor:pointer;font-size:13px;font-weight:800;list-style:none}
.standingsRules summary::-webkit-details-marker{display:none}
.standingsRules .fine{margin:8px 0 0}

/* Schedule Preview score ownership: keep each score attached to its team. */
.teamInlineScore{display:inline-block;margin-left:5px;color:#fff!important;font-size:17px!important;font-weight:950!important;line-height:1;font-variant-numeric:tabular-nums;vertical-align:-1px}
.previewmatchup .previewteam>span>b{display:flex!important;align-items:center;gap:2px;white-space:nowrap}
@media(max-width:430px){.teamInlineScore{font-size:16px!important;margin-left:3px}}

/* Schedule Preview started-game scoreboard: team identity | score | status | score | team identity. */
.previewgame-started{display:block!important}
.previewgame-started .previewleft{width:100%;flex:1 1 100%}
.previewmatchup-started{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) auto auto auto minmax(0,1fr);
  align-items:center;
  gap:8px!important;
  width:100%;
}
.previewmatchup-started .previewteam{min-width:0}
.previewTeamScore{
  color:#fff;
  font-size:19px;
  font-weight:950;
  line-height:1;
  font-variant-numeric:tabular-nums;
  white-space:nowrap;
}
.previewCenterStatus{
  color:#7edfa8;
  font-size:11px;
  font-weight:950;
  letter-spacing:.04em;
  text-transform:uppercase;
  white-space:nowrap;
  text-align:center;
}
.previewCenterStatus.finalStatus{color:#fff;font-size:12px}
.previewgame-started .livePreviewMeta{
  max-width:none;
  width:100%;
  flex:none;
  align-items:center;
  text-align:center;
  margin-top:2px;
  gap:2px;
}
.previewgame-started .livePreviewPcts{justify-content:center}
.previewgame-started .livePreviewSituation{text-align:center}
@media(max-width:430px){
  .previewmatchup-started{gap:4px!important;grid-template-columns:minmax(0,1fr) auto auto auto minmax(0,1fr)}
  .previewmatchup-started .previewteam{padding:4px 2px!important;column-gap:4px!important;grid-template-columns:27px max-content!important}
  .previewmatchup-started .previewteam>img{width:27px!important;height:27px!important}
  .previewTeamScore{font-size:18px}
  .previewCenterStatus{font-size:10px;letter-spacing:.02em}
  .previewCenterStatus.finalStatus{font-size:11px}
  .previewgame-started .livePreviewPcts{font-size:9px}
}


/* Tonight reliability/polish pass — no SQL */
#deleteLeagueBtn.danger{
  border-radius:12px!important;
  min-height:48px!important;
  padding:13px 14px!important;
  font-size:16px!important;
  line-height:1.2!important;
  font-family:inherit!important;
  font-weight:800!important;
}
.deadlineSquare.approvalAttention{
  background:#6a4711!important;
  border:1px solid #b97a19!important;
  color:#ffd47b!important;
  box-shadow:0 0 0 1px rgba(255,190,74,.08) inset;
}
.boardscroll{
  max-width:100%;
  overscroll-behavior-x:contain;
  scrollbar-gutter:stable both-edges;
}
.pickstable .tbhead,.pickstable .tbcell{position:relative;z-index:1}
@media (orientation:landscape) and (max-height:600px){
  .boardscroll{overflow-x:auto!important;-webkit-overflow-scrolling:touch!important}
  .pickstable{min-width:100%!important;max-width:none!important}
}

.successbox.pendingbox{background:#302513!important;border-color:#8a6325!important;color:#ffd995!important}

/* Beta 2.0 — major live-game + commissioner polish approved in live Week 1 UAT */
.gcHeroV2{padding:10px 0 6px}
.gcScoreboardV2{display:grid;grid-template-columns:minmax(0,1fr) minmax(96px,.72fr) minmax(0,1fr);align-items:center;gap:12px;margin-top:8px}
.gcSideV2{min-width:0;text-align:center}.gcLogoScoreV2{display:flex;align-items:center;justify-content:center;gap:8px;min-height:76px}.gcLogoScoreV2 img{width:72px;height:72px;object-fit:contain}.gcLogoScoreV2 strong{font-size:48px;line-height:1;color:#fff;font-weight:1000;font-variant-numeric:tabular-nums}.gcPossInline{display:inline-block;min-width:20px;font-size:18px;line-height:1}.gcSideV2>b{display:block;margin-top:2px;color:#fff;font-size:17px;line-height:1.15}.gcSideV2>small{display:block;margin-top:5px;color:#74879e;font-size:10px}.gcCenterV2{display:flex;flex-direction:column;justify-content:center;align-items:center;gap:7px;min-height:92px;border-left:1px solid #29425e;border-right:1px solid #29425e;padding:0 8px}.gcCenterV2 strong{font-size:20px;line-height:1.05;color:#f3f8ff;font-weight:950;text-transform:uppercase;font-variant-numeric:tabular-nums;white-space:nowrap}.gcCenterV2 strong.final{font-size:23px}.gcCenterV2 span{font-size:12px;color:#9eb0c6;font-weight:800}.timeoutDots{display:flex;justify-content:center;gap:7px;margin:9px auto 2px}.timeoutDots i{width:10px;height:10px;border-radius:50%;background:#536276;box-shadow:inset 0 0 0 1px rgba(255,255,255,.06)}.timeoutDots.away i.on{background:#f13b55}.timeoutDots.home i.on{background:#238df0}
.gcPickSplitSection{padding-top:16px}.gcPickSplitSection>h3{font-size:17px}.gcSplitVisual{display:grid;grid-template-columns:auto minmax(90px,1fr) auto;align-items:center;gap:10px}.gcSplitTeam{display:grid;grid-template-columns:auto auto;align-items:center;gap:6px}.gcSplitTeam.right{grid-template-columns:auto auto}.gcSplitTeam img{width:34px;height:34px;object-fit:contain}.gcSplitTeam b{font-size:19px;color:#fff}.gcSplitTeam span{grid-column:1/-1;color:#91a4ba;font-size:10px;text-align:center}.gcSplitTrack{height:10px;border-radius:999px;background:#24364d;overflow:hidden;display:flex}.gcSplitTrack i{height:100%;display:block}.gcSplitTrack .away{background:var(--away-pick-color,#71849a)}.gcSplitTrack .home{background:var(--home-pick-color,#38516b)}.gcpeople{margin-top:12px}
.gcLatestPlay{border:1px solid #314760!important;background:#0e1929;border-radius:16px;padding:16px!important;margin-top:14px}.gcLatestHead{display:flex;align-items:center;justify-content:space-between;gap:12px}.gcLatestHead h3{margin:0!important}.gcLatestHead span{font-size:11px;font-weight:850;color:#9fb1c6}.gcLatestPlay p{margin:10px 0 0;color:#e9f0f9;line-height:1.5}.gcLatestPlay.penalty{border-color:#9a7522!important;background:#272113}.gcLatestPlay.penalty h3{color:#ffe08b}.gcLatestPlay.scoring{border-color:#2d7653!important;background:#11261e}.gcLatestPlay.scoring h3{color:#75e4a8}

/* Compact commissioner card — approved horizontal Option C direction */
.commissionerCardV2{padding:14px!important}.commissionerTopV2{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:14px;align-items:center}.commissionerQuickActions{display:flex;align-items:center;gap:7px}.commissionerQuickActions button,.commissionerQuickActions a{appearance:none;-webkit-appearance:none;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;width:54px;height:54px;margin:0;padding:4px;border:1px solid #34516d;border-radius:13px;background:#101e31;color:#edf6ff;text-decoration:none;box-sizing:border-box;cursor:pointer}.commissionerQuickActions span{font-size:20px;line-height:1;font-weight:950}.commissionerQuickActions small{font-size:8px;line-height:1.05;font-weight:850;color:#aabbd0;white-space:nowrap}.commissionerQuickActions .commissionerPayBtn span{color:#53dd91;font-size:24px}.commissionerCardV2 .commissionerNote{margin-top:12px!important}.commissionerCardV2 .commissionerActions{grid-template-columns:1fr 1fr!important;margin-top:10px}

/* Schedule live row: possession belongs with the score, not in down/distance. */
.previewmatchup-started{grid-template-columns:minmax(0,1fr) 16px auto minmax(58px,auto) auto 16px minmax(0,1fr)!important;gap:3px!important}.previewPossInline{width:16px;min-width:16px;text-align:center;font-size:12px;line-height:1}.previewTimeoutRow{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;margin:-2px 4px 1px}.previewTimeoutRow .timeoutDots{margin:0}.previewTimeoutRow .timeoutDots:first-child{justify-content:flex-start;padding-left:28px}.previewTimeoutRow .timeoutDots:last-child{justify-content:flex-end;padding-right:28px}.previewTimeoutRow .timeoutDots i{width:6px;height:6px}.previewgame-started .livePreviewSituation{text-align:center!important;margin-top:1px;color:#dbe7f5;font-size:9px;font-weight:850}.previewgame-started .livePreviewPcts{margin-top:2px}

/* Schedule/Game popup follows the same scoreboard language as Game Center. */
.popupScoreboardV2{display:grid;grid-template-columns:minmax(0,1fr) minmax(86px,.8fr) minmax(0,1fr);gap:8px;align-items:center;margin:3px 0 12px}.popupSideV2{text-align:center;min-width:0}.popupLogoScore{display:flex;align-items:center;justify-content:center;gap:5px;min-height:62px}.popupLogoScore img{width:50px;height:50px;object-fit:contain}.popupLogoScore strong{font-size:34px;color:#fff;line-height:1;font-weight:1000}.popupLogoScore span{min-width:16px;font-size:13px}.popupSideV2>b{display:block;font-size:13px;line-height:1.15;color:#fff}.popupSideV2 .timeoutDots{margin-top:7px}.popupSideV2 .timeoutDots i{width:7px;height:7px}.popupCenterV2{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;border-left:1px solid #29425e;border-right:1px solid #29425e;min-height:76px;padding:0 6px}.popupCenterV2 strong{font-size:15px;text-transform:uppercase;white-space:nowrap;color:#fff}.popupCenterV2 span{font-size:10px;color:#9eb0c6;font-weight:800;text-align:center}.popupLeaguePicksV2{padding-bottom:12px}.popupPickBarV2{display:grid;grid-template-columns:auto minmax(70px,1fr) auto;gap:8px;align-items:center}.popupPickBarV2>div{display:grid;grid-template-columns:auto auto;align-items:center;gap:5px}.popupPickBarV2>div img{width:30px;height:30px;object-fit:contain}.popupPickBarV2>div b{font-size:17px}.popupPickBarV2>div small{grid-column:1/-1;text-align:center;color:#94a7bd;font-size:9px}.popupPickBarV2>i{display:flex;height:9px;background:#23364c;border-radius:999px;overflow:hidden}.popupPickBarV2>i span{display:block;height:100%}.popupPickBarV2>i .away{background:#d83745}.popupPickBarV2>i .home{background:#2a8ee9}.popupLatestPlay{border:1px solid #314760!important;background:#0e1929;border-radius:14px;padding:14px!important}.popupLatestHead{display:flex;justify-content:space-between;align-items:center;gap:10px}.popupLatestHead h3{margin:0}.popupLatestHead span{font-size:10px;color:#9fb1c6}.popupLatestPlay p{margin:9px 0 0!important;line-height:1.45}.popupLatestPlay.penalty{border-color:#9a7522!important;background:#272113}.popupLatestPlay.scoring{border-color:#2d7653!important;background:#11261e}

/* Picks Board: landscape should expose TB without a mysterious extra nudge. */
.boardscroll{scroll-padding-right:4px;padding-right:1px;box-sizing:border-box}
@media (orientation:landscape) and (max-height:600px){
  .picksboardwrap{max-width:100vw!important;overflow:hidden}
  .boardscroll{width:100%!important;max-width:100%!important;overflow-x:auto!important}
  .pickstable{min-width:760px!important;width:760px!important;table-layout:fixed!important}
  .pickstable .playercol{min-width:92px!important;max-width:92px!important;width:92px!important}
  .pickstable .gamehead,.pickstable .pickcell{min-width:38px!important;width:38px!important;padding-left:2px!important;padding-right:2px!important}
  .pickstable .tbhead,.pickstable .tbcell{min-width:40px!important;width:40px!important}
}
@media(max-width:430px){
  .gcScoreboardV2{grid-template-columns:minmax(0,1fr) 78px minmax(0,1fr);gap:5px}.gcLogoScoreV2{gap:4px;min-height:58px}.gcLogoScoreV2 img{width:48px;height:48px}.gcLogoScoreV2 strong{font-size:34px}.gcPossInline{min-width:14px;font-size:13px}.gcSideV2>b{font-size:13px}.gcCenterV2{min-height:72px;padding:0 4px}.gcCenterV2 strong{font-size:14px;white-space:normal}.gcCenterV2 strong.final{font-size:18px}.gcCenterV2 span{font-size:9px}.timeoutDots i{width:8px;height:8px}.gcSplitVisual{gap:7px}.gcSplitTeam img{width:28px;height:28px}.gcSplitTeam b{font-size:16px}
  .commissionerTopV2{grid-template-columns:1fr;gap:10px}.commissionerQuickActions{justify-content:flex-start}.commissionerQuickActions button,.commissionerQuickActions a{width:60px;height:50px}.commissionerCardV2 .commissionerActions{grid-template-columns:1fr 1fr!important}
  .popupScoreboardV2{grid-template-columns:minmax(0,1fr) 70px minmax(0,1fr)}.popupLogoScore img{width:42px;height:42px}.popupLogoScore strong{font-size:28px}.popupSideV2>b{font-size:11px}.popupCenterV2 strong{font-size:12px;white-space:normal}.popupCenterV2 span{font-size:9px}
}
.gcmeta{display:flex;flex-direction:column;align-items:center;gap:4px}.gcBroadcast{display:inline-flex;padding:4px 9px;border:1px solid #30465f;border-radius:999px;background:#101d2d;color:#dce8f5;font-size:10px;font-weight:850}.gcWeatherDynamic{display:flex;flex-direction:column;align-items:center;gap:3px;margin:10px auto 0;padding:9px 12px;border:1px solid #2e435c;border-radius:12px;background:#0d1725;max-width:440px}.gcWeatherDynamic:empty{display:none}.gcWeatherDynamic small{font-size:9px;letter-spacing:.08em;text-transform:uppercase;color:#8fa4bc;font-weight:850}.gcWeatherDynamic b{font-size:12px;color:#eaf2fb}.gcLatestPlay.scoring.team-away,.popupLatestPlay.scoring.team-away{border-color:#8f3039!important;background:rgba(121,28,38,.18)}.gcLatestPlay.scoring.team-home,.popupLatestPlay.scoring.team-home{border-color:#2b5f9a!important;background:rgba(24,64,111,.22)}

/* Beta 2.2 — UAT correction + polish pass */
.commissionerCardV2{padding:14px!important}
.commissionerTopV2{display:block!important}
.commissionerIdentityV2{min-width:0}
.commissionerQuickActions{display:flex;align-items:center;gap:8px;margin:8px 0 10px}
.commissionerQuickActions button,.commissionerQuickActions a{appearance:none;-webkit-appearance:none;display:grid!important;place-items:center!important;width:40px!important;height:40px!important;min-width:40px!important;margin:0!important;padding:0!important;border:1px solid #35516e!important;border-radius:12px!important;background:#101e31!important;color:#edf6ff!important;text-decoration:none!important;box-sizing:border-box;cursor:pointer}
.commissionerQuickActions span{font-size:18px!important;line-height:1!important;font-weight:950!important}
.commissionerQuickActions small{display:none!important}
.commissionerQuickActions .commissionerPayBtn span{font-size:24px!important;color:#53dd91!important}
.commissionerCardV2 .commissionerBadges{margin-top:0!important}
.commissionerCardV2 .commissionerNote{margin-top:12px!important}

.leagueRuleSettings select{appearance:none;-webkit-appearance:none;padding-right:52px!important;background-color:#0d1624!important;background-repeat:no-repeat!important;background-position:right 16px center!important;background-size:22px 22px!important;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none'%3E%3Cpath d='M7 9.5 12 14.5 17 9.5' stroke='%239eb6d2' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E")!important}
.leagueRuleSettings select:focus{border-color:#5f83ad!important;box-shadow:0 0 0 2px rgba(95,131,173,.15)}
.leagueRuleSettings select:disabled{opacity:.72!important;cursor:not-allowed!important;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none'%3E%3Crect x='6.5' y='10' width='11' height='9' rx='2' stroke='%237f93aa' stroke-width='1.8'/%3E%3Cpath d='M9 10V7.8a3 3 0 0 1 6 0V10' stroke='%237f93aa' stroke-width='1.8' stroke-linecap='round'/%3E%3C/svg%3E")!important}

@media (orientation:landscape) and (max-height:600px){
  .picksboardwrap{width:fit-content!important;max-width:100%!important;overflow:visible!important;margin-right:auto!important}
  .boardscroll{width:fit-content!important;max-width:100%!important;overflow-x:auto!important;margin-right:auto!important;scrollbar-gutter:auto!important}
  .pickstable{min-width:760px!important;width:760px!important;max-width:760px!important}
}
@media (orientation:portrait){.picksboardwrap{position:relative}.picksboardwrap::after{content:'';position:absolute;right:0;top:1px;bottom:1px;width:18px;pointer-events:none;border-radius:0 14px 14px 0;background:linear-gradient(90deg,rgba(13,23,37,0),rgba(13,23,37,.72))}}

.gcScoreboardV2{grid-template-columns:minmax(0,1fr) 92px minmax(0,1fr)!important;gap:8px!important}
.gcSideV2{padding:0 6px!important}.gcLogoScoreV2{gap:7px!important}.gcLogoScoreV2 img{max-width:64px!important;max-height:64px!important}.gcmeta{margin-top:8px!important;color:#9babc0;text-align:center}.gcBroadcast{margin-bottom:2px}
@media(max-width:430px){.gcScoreboardV2{grid-template-columns:minmax(0,1fr) 74px minmax(0,1fr)!important;gap:3px!important}.gcSideV2{padding:0 3px!important}.gcLogoScoreV2 img{max-width:46px!important;max-height:46px!important}}

#weekStandingsList .standingrow{padding-top:9px!important;padding-bottom:9px!important;min-height:58px}

.chatcomposer{margin-top:12px;padding:12px;border:1px solid #2d4058;border-radius:14px;background:#0d1725}
.chatcomposer textarea{width:100%;box-sizing:border-box;min-height:58px;padding:12px 13px!important;border:1px solid #3a4e68!important;border-radius:12px!important;background:#101c2c!important;color:#f3f7fc!important;font:inherit;line-height:1.35;outline:none}
.chatcomposer textarea::placeholder{color:#7f91a7}.chatcomposer textarea:focus{border-color:#5a7da6!important;box-shadow:0 0 0 2px rgba(90,125,166,.14)}.chatcomposer .attachbtn,.chatcomposer .smallbtn{background:#111f31;color:#e8f0f9}.chatcomposer .chatsend{border-radius:11px!important;min-height:40px!important}

/* Beta 2.3 — final Thursday UAT polish */
/* Exact compact commissioner profile treatment: actions are supporting controls, not dashboard tiles. */
.commissionerCardV2 .commissionerQuickActions{gap:6px;margin-top:8px}
.commissionerCardV2 .commissionerQuickActions button,.commissionerCardV2 .commissionerQuickActions a{width:38px!important;height:38px!important;min-height:38px!important;border-radius:11px!important;padding:0!important;background:#0e1b2c!important}
.commissionerCardV2 .commissionerQuickActions span{font-size:17px!important}.commissionerCardV2 .commissionerQuickActions .commissionerPayBtn span{font-size:22px!important}
.commissionerCardV2 .commissionerBadges{margin-top:10px!important}
@media(max-width:430px){.commissionerCardV2 .commissionerQuickActions button,.commissionerCardV2 .commissionerQuickActions a{width:38px!important;height:38px!important}}

/* Game Center: team + score are one visual unit, safely away from the FINAL dividers. */
.gcScoreboardV2{grid-template-columns:minmax(0,1fr) 82px minmax(0,1fr)!important;gap:16px!important}
.gcLogoScoreV2{gap:12px!important}.gcSideV2.away .gcLogoScoreV2{justify-content:flex-end!important;padding-right:4px}.gcSideV2.home .gcLogoScoreV2{justify-content:flex-start!important;padding-left:4px}
.gcCenterV2{padding:0 12px!important}.gcLogoScoreV2 strong{margin:0!important}
@media(max-width:430px){.gcScoreboardV2{grid-template-columns:minmax(0,1fr) 68px minmax(0,1fr)!important;gap:8px!important}.gcLogoScoreV2{gap:7px!important}.gcCenterV2{padding:0 7px!important}.gcSideV2.away .gcLogoScoreV2{padding-right:0}.gcSideV2.home .gcLogoScoreV2{padding-left:0}}

/* Landscape board: use the phone width instead of leaving either dead space or an undersized table. */
@media (orientation:landscape) and (max-height:600px){
  .picksboardwrap{width:100%!important;max-width:100%!important}
  .boardscroll{width:100%!important;max-width:100%!important;overflow-x:hidden!important}
  .pickstable{width:100%!important;min-width:100%!important;max-width:100%!important;table-layout:fixed!important}
  .pickstable .playercol{width:11.5%!important;min-width:0!important;max-width:none!important}
  .pickstable .gamehead,.pickstable .pickcell{width:auto!important;min-width:0!important;padding-left:3px!important;padding-right:3px!important}
  .pickstable .tbhead,.pickstable .tbcell{width:4.8%!important;min-width:0!important}
}

/* Beta 2.4 — navigation, modal, league organization and global feedback polish */
.notice.hidden{display:none!important}
.transientToast{transition:opacity .2s ease,transform .2s ease}
.transientToast.toastLeaving{opacity:0;transform:translate(-50%,-8px)}

/* My Leagues: subtle format identity + reliable mobile rearranging. */
.groupCardLabels{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.leagueTypePill{display:inline-flex;align-items:center;border-radius:999px;padding:3px 7px;font-size:9px;line-height:1;font-weight:900;letter-spacing:.12em;border:1px solid #36516e;color:#a9c0d8;background:#102033}
.groupcard.weeklyLeagueCard{border-left:3px solid #2b8b75}
.groupcard.weeklyLeagueCard .leagueTypePill{border-color:#2b685f;color:#80d9c5;background:#102a28}
.groupcard.seasonLeagueCard{border-left:3px solid #4a77a6}
.groupcard.seasonLeagueCard .leagueTypePill{border-color:#3f6186;color:#a9c9eb;background:#12243a}
.leagueReorderControls{margin-left:auto;display:inline-flex;align-items:center;gap:5px}
.dragMark{font-size:18px;color:#7891ad;margin-right:2px}
.leagueMoveBtn{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;border:1px solid #3a536f;border-radius:9px;background:#0d1928;color:#dbe9f8;font-weight:900;font-size:17px}
.leagueMoveBtn.disabled{opacity:.25}
.groupcard.reorderMode{cursor:default;outline:1px dashed rgba(110,147,188,.18)}

/* Quick Game Center is a true floating modal, never a page masquerading as one. */
body.gameModalOpen{overflow:hidden}
.scheduleGameModal{align-items:flex-start!important;justify-content:center!important;padding:calc(env(safe-area-inset-top,0px) + 72px) 18px 24px!important;background:rgba(2,7,14,.70)!important;backdrop-filter:blur(5px);-webkit-backdrop-filter:blur(5px);overflow:auto}
.scheduleGameCard{position:relative;width:min(520px,calc(100vw - 30px))!important;max-height:min(76vh,720px)!important;border-radius:24px!important;padding:17px!important;border:1px solid #46627f!important;box-shadow:0 30px 90px rgba(0,0,0,.70),0 0 0 1px rgba(111,164,217,.06)!important;animation:quickGamePop .18s ease-out}
.scheduleGameTop{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;position:sticky;top:-17px;z-index:4;background:linear-gradient(#101b2b 82%,rgba(16,27,43,0));padding:16px 0 10px;margin-top:-16px}
.scheduleGameTop h2{margin:3px 0 0;font-size:20px}
.modalCloseBtn{flex:0 0 auto;width:38px;height:38px;padding:0;border-radius:50%;border:1px solid #3d5876;background:#0b1726;color:#e7f1fb;font-size:25px;line-height:1;display:flex;align-items:center;justify-content:center}
@keyframes quickGamePop{from{opacity:0;transform:translateY(14px) scale(.98)}to{opacity:1;transform:none}}
@media(max-width:430px){.scheduleGameModal{padding-top:calc(env(safe-area-inset-top,0px) + 64px)!important}.scheduleGameCard{width:calc(100vw - 28px)!important;max-height:78vh!important}}

/* Full Game Center: keep each logo and score together, keep FINAL safely centered. */
.gcScoreboardV2{grid-template-columns:minmax(0,1fr) 86px minmax(0,1fr)!important;gap:10px!important;overflow:hidden}
.gcSideV2{min-width:0!important;padding:0 6px!important;overflow:hidden}
.gcLogoScoreV2{display:flex!important;align-items:center!important;justify-content:center!important;gap:10px!important;min-width:0!important;padding:0!important}
.gcLogoScoreV2 img{flex:0 0 auto;max-width:58px!important;max-height:58px!important;object-fit:contain!important}
.gcLogoScoreV2 strong{flex:0 0 auto;font-variant-numeric:tabular-nums;line-height:1!important}
.gcCenterV2{min-width:0!important;padding:0 10px!important;border-left:1px solid #29425e!important;border-right:1px solid #29425e!important}
@media(max-width:430px){.gcScoreboardV2{grid-template-columns:minmax(0,1fr) 72px minmax(0,1fr)!important;gap:5px!important}.gcSideV2{padding:0 2px!important}.gcLogoScoreV2{gap:5px!important}.gcLogoScoreV2 img{max-width:42px!important;max-height:42px!important}.gcLogoScoreV2 strong{font-size:34px!important}.gcCenterV2{padding:0 5px!important}}

/* Settings dropdowns: clear affordance and no clipped option text in the closed control. */
#seasonFormatSettings select,#leagueRuleSettings select{padding-right:48px!important;text-overflow:ellipsis;white-space:nowrap;overflow:hidden}

/* Beta 2.5 — QA foundation + touch drag + Game Center containment */
.qaFab{font-size:11px!important;font-weight:950;letter-spacing:.04em;border-color:#6e5e2c!important;color:#ffe49a!important;background:#241f12!important}
.leagueOrderHint{font-size:11px;color:#7f91a8;font-weight:800;white-space:nowrap}
.groupcard{position:relative;padding-right:42px!important;transition:transform .16s ease,box-shadow .16s ease,opacity .16s ease}
.leagueDragHandle{position:absolute;right:10px;top:50%;transform:translateY(-50%);width:20px;height:48px;border-radius:10px;border:1px solid rgba(111,139,172,.45);background:#0c1725;display:grid;grid-template-columns:repeat(2,4px);grid-auto-rows:4px;align-content:center;justify-content:center;gap:4px;touch-action:none;z-index:5;box-shadow:inset 0 0 0 1px rgba(255,255,255,.015)}
.leagueDragHandle i{display:block;width:4px;height:4px;border-radius:50%;background:#6f86a2}
.groupcard:has(.leagueDragHandle:active) .leagueDragHandle{border-color:#89a8ca;background:#14243a}
.groupcard.leagueDragging{transform:scale(1.018);box-shadow:0 18px 44px rgba(0,0,0,.45),0 0 0 1px rgba(92,151,212,.35);z-index:20;opacity:.98}
body.leagueDraggingActive{user-select:none;-webkit-user-select:none;overflow:hidden}
body.leagueDraggingActive .groupcard:not(.leagueDragging){transition:transform .16s ease}
@media(max-width:430px){.leagueOrderHint{font-size:10px}.groupcard{padding-right:40px!important}.leagueDragHandle{right:9px;width:18px;height:46px}}

/* Full Game Center: balanced three-column header that cannot clip team marks. */
.gcHeroV2{overflow:hidden!important;padding-left:2px!important;padding-right:2px!important}
.gcScoreboardV2{width:100%!important;box-sizing:border-box!important;grid-template-columns:minmax(0,1fr) 80px minmax(0,1fr)!important;gap:6px!important;padding:0 4px!important;overflow:visible!important}
.gcSideV2{min-width:0!important;width:100%!important;padding:0!important;overflow:visible!important}
.gcLogoScoreV2{width:100%!important;max-width:100%!important;display:flex!important;align-items:center!important;justify-content:center!important;gap:7px!important;padding:0!important;overflow:visible!important}
.gcLogoScoreV2 img{width:52px!important;height:52px!important;max-width:52px!important;max-height:52px!important;flex:0 0 52px!important;object-fit:contain!important}
.gcLogoScoreV2 strong{font-size:42px!important;line-height:1!important;min-width:0!important;flex:0 0 auto!important}
.gcPossInline{min-width:14px!important;font-size:14px!important;flex:0 0 14px!important}
.gcCenterV2{min-width:0!important;width:80px!important;box-sizing:border-box!important;padding:0 5px!important}
.gcmeta{margin-top:12px!important;padding-bottom:10px!important;line-height:1.45!important}
@media(max-width:430px){
  .gcScoreboardV2{grid-template-columns:minmax(0,1fr) 64px minmax(0,1fr)!important;gap:3px!important;padding:0 2px!important}
  .gcLogoScoreV2{gap:4px!important}
  .gcLogoScoreV2 img{width:38px!important;height:38px!important;max-width:38px!important;max-height:38px!important;flex-basis:38px!important}
  .gcLogoScoreV2 strong{font-size:31px!important}
  .gcPossInline{min-width:10px!important;flex-basis:10px!important;font-size:11px!important}
  .gcCenterV2{width:64px!important;padding:0 3px!important}
  .gcCenterV2 strong.final{font-size:17px!important}
  .gcSideV2>b{font-size:12px!important;line-height:1.15!important}
}

/* Developer / QA diagnostics */
.qaPanel{border-color:#31445d}
.qaHealthPill{display:inline-flex;align-items:center;justify-content:center;border-radius:999px;padding:6px 9px;font-size:10px;font-weight:950;letter-spacing:.08em;border:1px solid #3c516c;color:#aec0d5;background:#111d2c;white-space:nowrap}
.qaHealthPill.good{border-color:#2d6d58;color:#8de0be;background:#10251e}.qaHealthPill.watch{border-color:#7d642b;color:#ffd976;background:#292313}.qaHealthPill.bad{border-color:#84404b;color:#ff9aa8;background:#2b151b}
.qaSummary{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:14px 0}
.qaSummary>div{border:1px solid #2a3b51;border-radius:12px;padding:10px;background:#0d1724;min-width:0}.qaSummary span{display:block;color:#7f92aa;font-size:9px;text-transform:uppercase;letter-spacing:.09em;font-weight:900}.qaSummary b{display:block;margin-top:4px;color:#eaf2fb;font-size:12px;line-height:1.25;overflow-wrap:anywhere}
.qaActions{display:grid;grid-template-columns:1fr 1fr;gap:8px}.qaActions button{margin:0}
.qaEventLog{display:grid;gap:9px}.qaEvent{border:1px solid #2a3b51;border-left-width:4px;border-radius:12px;padding:11px 12px;background:#0d1724}.qaEvent.error{border-left-color:#e65368}.qaEvent.warn{border-left-color:#d8aa3c}.qaEvent.info{border-left-color:#3d9c7b}.qaEvent.note{border-left-color:#5f88bf}.qaEventHead{display:flex;align-items:center;justify-content:space-between;gap:8px}.qaEventHead span{font-size:9px;letter-spacing:.1em;font-weight:950;color:#9fb1c6}.qaEventHead time{font-size:9px;color:#687b93}.qaEvent h4{margin:6px 0 5px;font-size:14px}.qaEvent h4 small{font-size:10px;color:#8ea1b8}.qaEvent p{margin:3px 0;color:#a7b7ca;font-size:11px;line-height:1.4}.qaEvent p b{color:#dce8f5}.qaEmpty{padding:14px;border:1px dashed #31445d;border-radius:12px;color:#8195ad;font-size:12px;line-height:1.45}
.qaKnownIssues{display:grid;gap:9px}.qaKnownRow{display:grid;grid-template-columns:auto 1fr;gap:10px;align-items:flex-start;border-top:1px solid #223248;padding-top:10px}.qaKnownRow:first-child{border-top:0;padding-top:0}.qaKnownRow b{font-size:13px}.qaKnownRow p{margin:3px 0 0;color:#91a3b9;font-size:11px;line-height:1.4}.qaStatus{display:inline-flex;border-radius:999px;padding:4px 7px;font-size:8px;line-height:1;font-weight:950;letter-spacing:.08em;border:1px solid #3e536d;color:#b2c3d6;background:#101b2a}.qaStatus.retest{border-color:#7a6229;color:#ffd778;background:#292211}.qaStatus.pass{border-color:#2b6856;color:#8ce0bc;background:#10251e}
@media(max-width:430px){.qaSummary{grid-template-columns:1fr 1fr}.qaActions{grid-template-columns:1fr}.qaPanel .sectionhead{align-items:flex-start}}
.qaTrailWrap{margin-top:16px;padding-top:14px;border-top:1px solid #26374d}.qaTrail{display:grid;gap:6px;margin-top:8px}.qaTrailRow{display:grid;grid-template-columns:70px 1fr;gap:8px;align-items:start;padding:7px 8px;border-radius:9px;background:#0b1521}.qaTrailRow time{color:#6f829a;font-size:9px;padding-top:2px}.qaTrailRow b{display:block;color:#dce8f5;font-size:11px;line-height:1.2}.qaTrailRow span{display:block;margin-top:2px;color:#7f92aa;font-size:9px;line-height:1.3}
/* Beta 2.5.1 QA hotfix: keep the primary app title intact on phone headers. */
@media(max-width:430px){
  .topbar{padding-left:14px;padding-right:14px;gap:7px}
  .topbar h1{font-size:23px;gap:3px;white-space:nowrap}
  .appLogoBtn{width:34px!important;height:34px!important;font-size:27px!important;margin-right:1px!important}
  .headerActions{gap:6px}
  .topbar .qaFab{width:34px!important;height:34px!important;padding:0!important;border-radius:11px!important;font-size:10px!important}
  .topbar .helpfab{width:38px!important;height:38px!important;font-size:21px!important}
  .topbar #accountBtn{width:42px!important;height:38px!important}
}

/* Beta 2.6 — tactile reorder + live field movement + broadcast/kickoff treatment */
.leagueDragPlaceholder{border:1px dashed rgba(111,151,194,.28);border-radius:16px;background:rgba(17,31,48,.36);box-sizing:border-box}
.groupcard.leagueDragging{z-index:5000!important;transition:none!important;transform:scale(1.018)!important;box-shadow:0 22px 55px rgba(0,0,0,.55),0 0 0 1px rgba(92,151,212,.45)!important;opacity:.98!important;will-change:top}
body.leagueDraggingActive{overflow:auto!important;touch-action:none}
body.leagueDraggingActive .groupcard:not(.leagueDragging){transition:transform .14s ease,margin .14s ease}
.kickoffCenter{display:flex!important;flex-direction:column;align-items:center;justify-content:center;gap:2px;white-space:normal!important;text-transform:none!important}
.kickoffCenter>span{font-size:20px!important;line-height:1!important;color:#fff!important;font-weight:950!important}
.kickoffCenter>small{font-size:10px!important;line-height:1.1!important;letter-spacing:.04em;color:#9fb1c7!important;font-weight:900!important;text-transform:uppercase}
.popupCenterV2 .kickoffCenter>span{font-size:18px!important}.popupCenterV2 .kickoffCenter>small{font-size:9px!important}
.liveFieldWrap{margin:14px 0 4px;padding:10px 11px 11px;border:1px solid #2e4763;border-radius:14px;background:#0b1726}
.liveFieldMeta{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:7px;font-size:10px;color:#94a8bf}.liveFieldMeta b{color:#eef6ff;font-size:11px}.liveFieldMeta span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-align:right}
.liveField{position:relative;height:26px;border-radius:7px;overflow:hidden;background:linear-gradient(90deg,#173d2c 0 49.5%,#1b4b34 49.5% 50.5%,#173d2c 50.5% 100%);border:1px solid #325b45;box-shadow:inset 0 0 0 1px rgba(255,255,255,.02)}
.liveField:before,.liveField:after{content:"";position:absolute;top:0;bottom:0;width:8%;background:rgba(10,32,22,.7)}.liveField:before{left:0;border-right:1px solid rgba(255,255,255,.18)}.liveField:after{right:0;border-left:1px solid rgba(255,255,255,.18)}
.liveField .yard{position:absolute;top:0;bottom:0;width:1px;background:rgba(255,255,255,.14)}.liveField .y20{left:20%}.liveField .y40{left:40%}.liveField .y50{left:50%;background:rgba(255,255,255,.28)}.liveField .y60{left:60%}.liveField .y80{left:80%}
.liveField .end{position:absolute;top:50%;transform:translateY(-50%);z-index:2;font-size:7px;letter-spacing:.08em;color:#8fb19d;font-weight:900}.liveField .own{left:8px}.liveField .opp{right:8px}
.fieldBall{position:absolute;top:50%;transform:translate(-50%,-50%);z-index:4;font-size:15px;filter:drop-shadow(0 2px 2px rgba(0,0,0,.5));transition:left .35s ease}
.broadcastMark{display:inline-flex;align-items:center;justify-content:center;min-width:34px;height:23px;padding:0 8px;border-radius:999px;border:1px solid #36506d;background:#0d1827;color:#edf6ff;font-size:10px;font-weight:950;letter-spacing:.03em;margin-right:7px;vertical-align:middle}
.netflixMark{min-width:24px;width:24px;padding:0;border-radius:6px;border-color:#4a2228;background:#170b0d}.netflixMark b{color:#e50914;font-size:18px;line-height:1;font-family:Arial Black,Arial,sans-serif;transform:scaleX(.72)}
.espnMark{font-style:italic}.abcMark{border-radius:50%;min-width:25px;width:25px;padding:0}.foxMark{font-weight:1000}.primeMark{text-transform:lowercase}
@media(max-width:430px){.kickoffCenter>span{font-size:17px!important}.kickoffCenter>small{font-size:8px!important}.liveFieldWrap{margin-top:11px;padding:8px 9px 9px}.liveFieldMeta{font-size:9px}.liveFieldMeta b{font-size:10px}.liveField{height:24px}}

/* Beta 2.7 QA hardening */
.qaHistory summary{cursor:pointer;color:#aebfd2;font-weight:850;font-size:12px;padding:6px 0 10px}.qaHistory[open] summary{color:#eef5fc}.qaHistory .qaEventLog{margin-top:8px}.scheduleGameTop{padding-right:0}.scheduleGameTop>div{min-width:0}

/* Beta 2.8 upcoming Game Center consistency */
.popupSideV2>small{display:block;margin-top:5px;color:#8498b1;font-size:10px;line-height:1.1}
@media (max-width:430px){.popupSideV2>b{font-size:12px;line-height:1.12}.popupSideV2>small{font-size:9px}}

/* Beta 3.0 Core Platform — unified scoreboard geometry */
.gcCenterV2,.popupCenterV2{border-left:0!important;border-right:0!important}
.gcScoreboardV2,.popupScoreboardV2{position:relative}
.gcSideV2,.popupSideV2{display:flex;flex-direction:column;align-items:center;justify-content:center;min-width:0}
.gcSideV2>b,.popupSideV2>b{max-width:100%;text-align:center;text-wrap:balance}
.gcCenterV2,.popupCenterV2{align-self:stretch;justify-content:center}
/* Invisible grid does the alignment; no visible divider forest. */


/* Beta 3.1 — Color Assist accessibility mode */
.accessibilitysettings{margin-top:22px;padding-top:18px;border-top:1px solid var(--line)}
.accessibilitysettings .switchrow small{display:block;max-width:430px;margin-top:4px;line-height:1.35;color:var(--muted);font-weight:500}
body.color-assist .board-correct{background-color:#155a8a!important;background-image:repeating-linear-gradient(135deg,rgba(255,255,255,.12) 0 5px,rgba(255,255,255,0) 5px 11px)!important;color:#fff!important;box-shadow:inset 0 0 0 2px rgba(140,220,255,.9)!important}
body.color-assist .board-wrong{background-color:#8a4b10!important;background-image:repeating-linear-gradient(45deg,rgba(255,255,255,.14) 0 3px,rgba(255,255,255,0) 3px 9px)!important;color:#fff!important;box-shadow:inset 0 0 0 2px rgba(255,205,120,.95)!important}
body.color-assist .pickstable td.board-correct::before{content:'✓ ';font-weight:1000;color:#dff7ff}
body.color-assist .pickstable td.board-wrong::before{content:'✕ ';font-weight:1000;color:#fff1d7}
body.color-assist .legenddot.board-correct{background:#155a8a!important;border-radius:50%;box-shadow:inset 0 0 0 2px #9be0ff}
body.color-assist .legenddot.board-wrong{background:#8a4b10!important;border-radius:2px;transform:rotate(45deg);box-shadow:inset 0 0 0 2px #ffd28f}
body.color-assist .previewteam.schedule-your-pick.schedule-pick-correct{border-color:#72c8ff!important;background:rgba(21,90,138,.24)!important;box-shadow:inset 0 0 0 1px #72c8ff!important}
body.color-assist .previewteam.schedule-your-pick.schedule-pick-wrong{border-color:#ffc56c!important;background:rgba(138,75,16,.24)!important;box-shadow:inset 0 0 0 1px #ffc56c!important}
body.color-assist .previewteam.schedule-pick-correct .yourPickTag{color:#bfe9ff!important}
body.color-assist .previewteam.schedule-pick-wrong .yourPickTag{color:#ffe0ad!important}
body.color-assist .previewteam.schedule-pick-correct .yourPickTag::before{content:'✓ ';font-weight:1000}
body.color-assist .previewteam.schedule-pick-wrong .yourPickTag::before{content:'✕ ';font-weight:1000}

/* Beta 3.2 — Matchup UI Foundation
   One invisible geometry for Quick + Full Game Center.
   Away always left, home always right. Scores never shift team identity. */
.unifiedMatchupScoreboard{
  display:grid;
  grid-template-columns:minmax(82px,1fr) 48px 82px 48px minmax(82px,1fr);
  align-items:center;
  width:100%;
  box-sizing:border-box;
  gap:4px;
  margin:8px 0 12px;
}
.matchupTeamStack{
  min-width:0;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:flex-start;
  text-align:center;
}
.matchupLogoBox{
  width:68px;
  height:68px;
  display:flex;
  align-items:center;
  justify-content:center;
  margin:0 auto 5px;
}
.matchupLogoBox img{width:100%;height:100%;object-fit:contain;display:block}
.matchupPlace,.matchupNickname,.matchupRecord{display:block;width:100%;text-align:center;line-height:1.08}
.matchupPlace{font-size:14px;color:#f4f8fd;font-weight:900;white-space:normal;text-wrap:balance}
.matchupNickname{font-size:14px;color:#f4f8fd;font-weight:900;margin-top:2px;white-space:normal;text-wrap:balance}
.matchupRecord{font-size:10px;color:#8296ae;margin-top:5px;min-height:11px}
.matchupScoreCell{
  min-width:0;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:4px;
  align-self:center;
}
.matchupScoreCell strong{font-size:43px;line-height:1;color:#fff;font-weight:1000;font-variant-numeric:tabular-nums}
.scorePoss{font-size:14px;line-height:1}
.unifiedMatchupCenter{
  min-width:0;
  min-height:70px;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:5px;
  text-align:center;
}
.matchupState{font-size:17px;line-height:1;color:#f7fbff;font-weight:1000;text-transform:uppercase;white-space:nowrap}
.matchupState.final{font-size:18px}
.matchupDown{font-size:10px;line-height:1.2;color:#9fb2c9;font-weight:850;text-align:center}
.unifiedMatchupScoreboard .timeoutDots{margin:6px auto 0}

/* Quick Game Center uses the same columns at a smaller scale. */
.unifiedMatchupScoreboard.compact{
  grid-template-columns:minmax(66px,1fr) 34px 70px 34px minmax(66px,1fr);
  gap:2px;
  margin:2px 0 10px;
}
.unifiedMatchupScoreboard.compact .matchupLogoBox{width:48px;height:48px;margin-bottom:4px}
.unifiedMatchupScoreboard.compact .matchupPlace,
.unifiedMatchupScoreboard.compact .matchupNickname{font-size:12px}
.unifiedMatchupScoreboard.compact .matchupRecord{font-size:9px;margin-top:4px}
.unifiedMatchupScoreboard.compact .matchupScoreCell strong{font-size:31px}
.unifiedMatchupScoreboard.compact .unifiedMatchupCenter{min-height:62px}
.unifiedMatchupScoreboard.compact .matchupState{font-size:14px}
.unifiedMatchupScoreboard.compact .matchupState.final{font-size:15px}
.unifiedMatchupScoreboard.compact .kickoffCenter>span{font-size:18px!important}
.unifiedMatchupScoreboard.compact .kickoffCenter>small{font-size:9px!important}

/* Schedule Preview foundation.
   Pregame keeps the established look but uses fixed away/@/home lanes.
   Started/final rows use fixed score/status lanes so every FINAL is inline. */
.previewmatchup:not(.previewmatchup-started){
  display:grid!important;
  grid-template-columns:minmax(0,1fr) 28px minmax(0,1fr)!important;
  align-items:center!important;
  gap:6px!important;
}
.previewmatchup:not(.previewmatchup-started)>.previewteam{width:100%;min-width:0;box-sizing:border-box}
.previewmatchup:not(.previewmatchup-started)>.previewat{width:28px;text-align:center!important;justify-self:center}
.previewmatchup-started{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) 13px 28px 58px 28px 13px minmax(0,1fr)!important;
  align-items:center!important;
  gap:3px!important;
  width:100%!important;
}
.previewmatchup-started>.previewteam{width:100%;min-width:0;box-sizing:border-box}
.previewmatchup-started>.previewPossInline{width:13px!important;min-width:13px!important;justify-self:center}
.previewmatchup-started>.previewTeamScore{width:28px!important;min-width:28px!important;text-align:center!important;justify-self:center;font-variant-numeric:tabular-nums}
.previewmatchup-started>.previewCenterStatus{width:58px!important;min-width:58px!important;text-align:center!important;justify-self:center}
.previewCenterStatus.finalStatus{letter-spacing:.035em!important}

@media(max-width:430px){
  .unifiedMatchupScoreboard{
    grid-template-columns:minmax(70px,1fr) 35px 68px 35px minmax(70px,1fr);
    gap:2px;
    padding:0;
  }
  .matchupLogoBox{width:48px;height:48px;margin-bottom:4px}
  .matchupPlace,.matchupNickname{font-size:12px}
  .matchupRecord{font-size:9px;margin-top:4px}
  .matchupScoreCell strong{font-size:32px}
  .scorePoss{font-size:11px}
  .unifiedMatchupCenter{min-height:60px}
  .matchupState{font-size:14px}
  .matchupState.final{font-size:15px}
  .unifiedMatchupScoreboard.compact{
    grid-template-columns:minmax(58px,1fr) 30px 62px 30px minmax(58px,1fr);
    gap:1px;
  }
  .unifiedMatchupScoreboard.compact .matchupLogoBox{width:43px;height:43px}
  .unifiedMatchupScoreboard.compact .matchupPlace,
  .unifiedMatchupScoreboard.compact .matchupNickname{font-size:11px}
  .unifiedMatchupScoreboard.compact .matchupScoreCell strong{font-size:27px}
  .unifiedMatchupScoreboard.compact .matchupState{font-size:12px}
  .unifiedMatchupScoreboard.compact .matchupState.final{font-size:13px}
  .previewmatchup-started{
    grid-template-columns:minmax(0,1fr) 11px 25px 52px 25px 11px minmax(0,1fr)!important;
    gap:2px!important;
  }
  .previewmatchup-started>.previewPossInline{width:11px!important;min-width:11px!important;font-size:10px!important}
  .previewmatchup-started>.previewTeamScore{width:25px!important;min-width:25px!important;font-size:17px!important}
  .previewmatchup-started>.previewCenterStatus{width:52px!important;min-width:52px!important;font-size:10px!important}
}

/* Beta 3.2.1 — correction pass: alignment + Game Center regression fixes */

/* Dashboard controls: one fixed action rail on every repeated week panel. */
#weekEntriesPanel .sectionhead,
#weekStandingsPanel .sectionhead{display:grid!important;grid-template-columns:minmax(0,1fr) 166px!important;gap:12px!important;align-items:center!important}
.weekPanelActions{display:grid!important;grid-template-columns:78px 78px!important;gap:10px!important;align-items:center!important;justify-content:end!important;width:166px!important}
.weekPanelActions .smallbtn{width:78px!important;min-width:78px!important;height:46px!important;min-height:46px!important;padding:0 8px!important;display:flex!important;align-items:center!important;justify-content:center!important;margin:0!important;box-sizing:border-box!important;font-size:14px!important}

/* Schedule Preview: keep away/home sides fixed and make every matchup lane stable. */
.previewgame:not(.previewgame-started){display:grid!important;grid-template-columns:minmax(0,1fr) minmax(150px,40%)!important;column-gap:12px!important;align-items:start!important}
.previewgame:not(.previewgame-started) .previewleft{width:100%!important;min-width:0!important}
.previewgame:not(.previewgame-started) .pregamePreviewMeta{width:100%!important;max-width:none!important;box-sizing:border-box!important;justify-self:stretch!important;text-align:right!important}
.previewmatchup:not(.previewmatchup-started){grid-template-columns:minmax(118px,1fr) 28px minmax(118px,1fr)!important;gap:8px!important}
.previewmatchup:not(.previewmatchup-started)>.previewteam{width:100%!important;min-height:64px!important;padding:7px 8px!important;box-sizing:border-box!important;display:grid!important;grid-template-columns:38px minmax(0,1fr)!important;align-items:center!important;column-gap:7px!important}
.previewmatchup:not(.previewmatchup-started)>.previewteam>img{width:38px!important;height:38px!important;object-fit:contain!important}
.previewmatchup:not(.previewmatchup-started)>.previewteam>span{min-width:0!important}
.previewmatchup:not(.previewmatchup-started)>.previewteam.schedule-your-pick{min-height:64px!important}
.previewmatchup:not(.previewmatchup-started)>.previewat{align-self:center!important}

/* Final/live rows: explicit symmetric score/status columns. */
.previewmatchup-started{grid-template-columns:minmax(112px,1fr) 12px 32px 60px 32px 12px minmax(112px,1fr)!important;gap:3px!important}
.previewmatchup-started>.previewTeamScore{width:32px!important;min-width:32px!important;text-align:center!important}
.previewmatchup-started>.previewCenterStatus{width:60px!important;min-width:60px!important;text-align:center!important}
.previewmatchup-started>.previewteam{min-width:0!important}

/* Quick + Full Game Center: force the approved horizontal geometry.
   team | score | status/time | score | team — scores are never stacked under teams. */
.unifiedMatchupScoreboard,
.unifiedMatchupScoreboard.compact{display:grid!important;grid-auto-flow:row!important;align-items:center!important;width:100%!important;box-sizing:border-box!important}
.unifiedMatchupScoreboard{grid-template-columns:minmax(92px,1fr) 54px 88px 54px minmax(92px,1fr)!important;gap:5px!important}
.unifiedMatchupScoreboard.compact{grid-template-columns:minmax(86px,1fr) 46px 84px 46px minmax(86px,1fr)!important;gap:4px!important;margin:8px 0 14px!important}
.unifiedMatchupScoreboard>.matchupTeamStack.away,.unifiedMatchupScoreboard.compact>.matchupTeamStack.away{grid-column:1!important;grid-row:1!important}
.unifiedMatchupScoreboard>.matchupScoreCell.away,.unifiedMatchupScoreboard.compact>.matchupScoreCell.away{grid-column:2!important;grid-row:1!important}
.unifiedMatchupScoreboard>.unifiedMatchupCenter,.unifiedMatchupScoreboard.compact>.unifiedMatchupCenter{grid-column:3!important;grid-row:1!important}
.unifiedMatchupScoreboard>.matchupScoreCell.home,.unifiedMatchupScoreboard.compact>.matchupScoreCell.home{grid-column:4!important;grid-row:1!important}
.unifiedMatchupScoreboard>.matchupTeamStack.home,.unifiedMatchupScoreboard.compact>.matchupTeamStack.home{grid-column:5!important;grid-row:1!important}
.unifiedMatchupScoreboard.compact .matchupLogoBox{width:58px!important;height:58px!important}
.unifiedMatchupScoreboard.compact .matchupPlace,.unifiedMatchupScoreboard.compact .matchupNickname{font-size:13px!important;line-height:1.06!important}
.unifiedMatchupScoreboard.compact .matchupRecord{display:block!important;min-height:13px!important;font-size:10px!important;margin-top:5px!important}
.unifiedMatchupScoreboard.compact .matchupScoreCell strong{font-size:36px!important;line-height:1!important}
.unifiedMatchupScoreboard.compact .unifiedMatchupCenter{min-height:74px!important}
.unifiedMatchupScoreboard.compact .kickoffCenter>span{font-size:21px!important}
.unifiedMatchupScoreboard.compact .matchupState{font-size:14px!important}
.unifiedMatchupScoreboard.compact .matchupState.final{font-size:15px!important}

@media(max-width:430px){
  #weekEntriesPanel .sectionhead,#weekStandingsPanel .sectionhead{grid-template-columns:minmax(0,1fr) 150px!important;gap:8px!important}
  .weekPanelActions{grid-template-columns:71px 71px!important;gap:8px!important;width:150px!important}
  .weekPanelActions .smallbtn{width:71px!important;min-width:71px!important;height:44px!important;min-height:44px!important;font-size:13px!important}
  .previewgame:not(.previewgame-started){grid-template-columns:minmax(0,58%) minmax(0,42%)!important;column-gap:8px!important}
  .previewmatchup:not(.previewmatchup-started){grid-template-columns:minmax(91px,1fr) 22px minmax(91px,1fr)!important;gap:4px!important}
  .previewmatchup:not(.previewmatchup-started)>.previewteam{min-height:59px!important;padding:6px 5px!important;grid-template-columns:32px minmax(0,1fr)!important;column-gap:4px!important}
  .previewmatchup:not(.previewmatchup-started)>.previewteam>img{width:32px!important;height:32px!important}
  .previewmatchup-started{grid-template-columns:minmax(82px,1fr) 0 29px 54px 29px 0 minmax(82px,1fr)!important;gap:2px!important}
  .previewmatchup-started>.previewPossInline{display:none!important}
  .previewmatchup-started>.previewTeamScore{width:29px!important;min-width:29px!important;font-size:18px!important}
  .previewmatchup-started>.previewCenterStatus{width:54px!important;min-width:54px!important}
  .unifiedMatchupScoreboard{grid-template-columns:minmax(78px,1fr) 42px 72px 42px minmax(78px,1fr)!important;gap:2px!important}
  .unifiedMatchupScoreboard.compact{grid-template-columns:minmax(76px,1fr) 38px 68px 38px minmax(76px,1fr)!important;gap:2px!important}
  .unifiedMatchupScoreboard.compact .matchupLogoBox{width:52px!important;height:52px!important}
  .unifiedMatchupScoreboard.compact .matchupPlace,.unifiedMatchupScoreboard.compact .matchupNickname{font-size:12px!important}
  .unifiedMatchupScoreboard.compact .matchupScoreCell strong{font-size:32px!important}
  .unifiedMatchupScoreboard.compact .kickoffCenter>span{font-size:18px!important}
}

/* Beta 3.2.2 — UI cleanup & settings fix */

/* Game Center: no-score/pregame uses the same center axis without wasting score columns.
   Final/live preserves team | score | state | score | team. */
.unifiedMatchupScoreboard.no-score,
.unifiedMatchupScoreboard.compact.no-score{
  grid-template-columns:minmax(0,1fr) 0 88px 0 minmax(0,1fr)!important;
  gap:8px!important;
}
.unifiedMatchupScoreboard.no-score>.matchupScoreCell{display:none!important}
.unifiedMatchupScoreboard.no-score>.matchupTeamStack,
.unifiedMatchupScoreboard.compact.no-score>.matchupTeamStack{
  width:100%!important;
  min-width:0!important;
  max-width:100%!important;
  overflow:visible!important;
  justify-self:stretch!important;
}
.matchupTeamStack{min-width:0!important;max-width:100%!important;overflow:visible!important}
.matchupPlace,.matchupNickname{max-width:100%!important;overflow:visible!important;word-break:normal!important;overflow-wrap:normal!important;hyphens:none!important}
.unifiedMatchupScoreboard>.matchupTeamStack.home{padding-right:2px!important}
.unifiedMatchupScoreboard>.matchupTeamStack.away{padding-left:2px!important}

/* Schedule Preview: one non-overlapping row system.
   Matchup owns the left lane; schedule details own the right lane. */
.previewgame:not(.previewgame-started){
  display:grid!important;
  grid-template-columns:minmax(0,62%) minmax(0,38%)!important;
  column-gap:10px!important;
  align-items:center!important;
  overflow:hidden!important;
}
.previewgame:not(.previewgame-started) .previewleft{
  width:100%!important;
  min-width:0!important;
  max-width:100%!important;
  overflow:hidden!important;
}
.previewgame:not(.previewgame-started) .pregamePreviewMeta{
  position:relative!important;
  z-index:2!important;
  width:100%!important;
  min-width:0!important;
  max-width:100%!important;
  padding-left:4px!important;
  background:var(--panel)!important;
  text-align:right!important;
}
.previewmatchup:not(.previewmatchup-started){
  width:100%!important;
  min-width:0!important;
  max-width:100%!important;
  grid-template-columns:minmax(0,1fr) 18px minmax(0,1fr)!important;
  gap:4px!important;
  overflow:hidden!important;
}
.previewmatchup:not(.previewmatchup-started)>.previewteam,
.previewmatchup:not(.previewmatchup-started)>.previewteam.schedule-your-pick{
  width:100%!important;
  min-width:0!important;
  max-width:100%!important;
  min-height:58px!important;
  padding:5px 4px!important;
  grid-template-columns:30px minmax(0,1fr)!important;
  column-gap:4px!important;
  overflow:hidden!important;
}
.previewmatchup:not(.previewmatchup-started)>.previewteam>img{width:30px!important;height:30px!important;min-width:30px!important}
.previewmatchup:not(.previewmatchup-started)>.previewteam>span{width:100%!important;min-width:0!important;max-width:100%!important;overflow:hidden!important}
.previewmatchup:not(.previewmatchup-started)>.previewteam>span b,
.previewmatchup:not(.previewmatchup-started)>.previewteam>span small,
.previewmatchup:not(.previewmatchup-started)>.previewteam .yourPickTag{
  width:100%!important;max-width:100%!important;overflow:hidden!important;text-overflow:ellipsis!important;white-space:nowrap!important;
}
.previewmatchup:not(.previewmatchup-started)>.previewat{width:18px!important;min-width:18px!important;text-align:center!important}

/* Color Assist must be immediately visible, not only after games settle. */
body.color-assist::before{
  content:'COLOR ASSIST';position:fixed;left:10px;bottom:10px;z-index:998;pointer-events:none;
  font-size:9px;font-weight:1000;letter-spacing:.12em;color:#dff7ff;background:#155a8a;border:1px solid #9be0ff;border-radius:999px;padding:5px 8px;opacity:.88;
}
body.color-assist .schedule-your-pick:not(.schedule-pick-correct):not(.schedule-pick-wrong):not(.schedule-pick-tie):not(.schedule-pick-void){
  border-color:#74c9ff!important;background:rgba(21,90,138,.28)!important;box-shadow:inset 0 0 0 1px rgba(155,224,255,.65)!important;
}
body.color-assist .schedule-your-pick:not(.schedule-pick-correct):not(.schedule-pick-wrong):not(.schedule-pick-tie):not(.schedule-pick-void) .yourPickTag::before{content:'◆ ';color:#bfe9ff;font-weight:1000}
body.color-assist .board-pending{background-color:#3d526b!important;background-image:repeating-linear-gradient(90deg,rgba(255,255,255,.09) 0 2px,transparent 2px 7px)!important}

/* Brighter in-app appearance. Intentionally app-scoped; team colors/logos remain unchanged. */
body.light-mode{
  --bg:#edf3f9;--panel:#ffffff;--panel2:#f7faff;--line:#c8d5e4;--text:#152238;--muted:#607289;
  background:linear-gradient(180deg,#f5f8fc,#edf3f9 42%,#e7eef6)!important;color:var(--text)!important;
}
body.light-mode .topbar{background:rgba(248,251,255,.96)!important;border-color:var(--line)!important}
body.light-mode .panel{background:linear-gradient(180deg,#ffffff,#f6f9fd)!important;border-color:var(--line)!important;box-shadow:0 10px 28px rgba(36,61,91,.08)!important}
body.light-mode .eyebrow,body.light-mode .muted,body.light-mode .fine,body.light-mode .record,body.light-mode .deadline,body.light-mode .gcmeta,body.light-mode .matchupRecord{color:#61758e!important}
body.light-mode h1,body.light-mode h2,body.light-mode h3,body.light-mode .matchupPlace,body.light-mode .matchupNickname,body.light-mode .matchupState,body.light-mode .matchupScoreCell strong{color:#122038!important}
body.light-mode input,body.light-mode select,body.light-mode textarea{background:#fff!important;color:#17263b!important;border-color:#bdcbdc!important}
body.light-mode .secondary,body.light-mode .smallbtn,body.light-mode .backbtn,body.light-mode .iconbtn{background:#f1f6fb!important;color:#1b2d44!important;border-color:#b9c9dc!important}
body.light-mode .groupcard,body.light-mode .game,body.light-mode .team,body.light-mode .chatcomposer,body.light-mode .gcupdate,body.light-mode .boardscroll{background:#f8fbff!important;color:#17263b!important;border-color:#c7d4e3!important}
body.light-mode .previewgame:not(.previewgame-started) .pregamePreviewMeta{background:#fff!important}
body.light-mode .previewteam.schedule-your-pick{background:#dcecff!important;border-color:#6d9fd0!important}
body.light-mode .gcpeople span,body.light-mode .scorepill,body.light-mode .chip{background:#eef4fa!important;color:#1c314a!important;border-color:#c4d2e2!important}
body.light-mode .gcsection,body.light-mode .switchrow,body.light-mode .entry{border-color:#d2dde9!important}
body.light-mode .procard{background:linear-gradient(180deg,#fff8e5,#fffdf8)!important;border-color:#d3b25f!important}
body.light-mode .procard h3,body.light-mode .procard h2{color:#2b261a!important}

@media(max-width:430px){
  .unifiedMatchupScoreboard.no-score,
  .unifiedMatchupScoreboard.compact.no-score{grid-template-columns:minmax(0,1fr) 0 64px 0 minmax(0,1fr)!important;gap:4px!important}
  .unifiedMatchupScoreboard:not(.no-score){grid-template-columns:minmax(74px,1fr) 34px 66px 34px minmax(74px,1fr)!important;gap:1px!important}
  .unifiedMatchupScoreboard.compact:not(.no-score){grid-template-columns:minmax(70px,1fr) 34px 64px 34px minmax(70px,1fr)!important;gap:1px!important}
  .unifiedMatchupScoreboard .matchupPlace,.unifiedMatchupScoreboard .matchupNickname{font-size:11.5px!important;line-height:1.08!important}
  .unifiedMatchupScoreboard.no-score .matchupPlace,.unifiedMatchupScoreboard.no-score .matchupNickname{font-size:12.5px!important}
  .previewgame:not(.previewgame-started){grid-template-columns:minmax(0,60%) minmax(0,40%)!important;column-gap:6px!important}
  .previewmatchup:not(.previewmatchup-started)>.previewteam,
  .previewmatchup:not(.previewmatchup-started)>.previewteam.schedule-your-pick{min-height:56px!important;padding:4px 3px!important;grid-template-columns:27px minmax(0,1fr)!important;column-gap:3px!important}
  .previewmatchup:not(.previewmatchup-started)>.previewteam>img{width:27px!important;height:27px!important;min-width:27px!important}
  .previewmatchup:not(.previewmatchup-started)>.previewteam>span b{font-size:12px!important}
  .previewmatchup:not(.previewmatchup-started)>.previewteam>span small{font-size:9px!important}
  .previewmatchup:not(.previewmatchup-started)>.previewteam .yourPickTag{font-size:9px!important}
}


/* Beta 3.2.3 — final Step-1 cleanup */

/* Color Assist: no floating mode badge and no extra glyphs in compact Schedule cards.
   The mode remains obvious through blue/orange contrast, borders, patterns and board symbols. */
body.color-assist::before{content:none!important;display:none!important}
body.color-assist .schedule-your-pick:not(.schedule-pick-correct):not(.schedule-pick-wrong):not(.schedule-pick-tie):not(.schedule-pick-void) .yourPickTag::before{content:none!important}
body.color-assist .previewteam.schedule-your-pick{box-shadow:inset 0 0 0 2px rgba(116,201,255,.55)!important}

/* Soft Light: daytime version of the dark theme rather than stark white mode. */
body.light-mode{
  --bg:#dfe8f1;--panel:#edf3f8;--panel2:#e7eef6;--line:#aebfd0;--text:#1c2a3e;--muted:#5b6f86;
  background:linear-gradient(180deg,#e9f0f6,#dfe8f1 46%,#d9e3ed)!important;color:var(--text)!important;
}
body.light-mode .topbar{background:rgba(232,239,246,.97)!important;border-color:#aebfd0!important}
body.light-mode .panel{background:linear-gradient(180deg,#edf3f8,#e7eef5)!important;border-color:#b4c4d4!important;box-shadow:0 8px 22px rgba(35,56,81,.10)!important}
body.light-mode .groupcard,body.light-mode .game,body.light-mode .team,body.light-mode .chatcomposer,body.light-mode .gcupdate,body.light-mode .boardscroll{background:#eaf1f7!important;color:#1c2a3e!important;border-color:#b7c6d5!important}
body.light-mode .secondary,body.light-mode .smallbtn,body.light-mode .backbtn,body.light-mode .iconbtn{background:#e3ebf3!important;color:#20324a!important;border-color:#aebfd0!important}
body.light-mode input,body.light-mode select,body.light-mode textarea{background:#f3f7fb!important;color:#1b2b40!important;border-color:#aebfd0!important}
body.light-mode .eyebrow,body.light-mode .muted,body.light-mode .fine,body.light-mode .record,body.light-mode .deadline,body.light-mode .gcmeta,body.light-mode .matchupRecord{color:#566c84!important}
body.light-mode .previewgame:not(.previewgame-started) .pregamePreviewMeta{background:#edf3f8!important}
body.light-mode .previewteam.schedule-your-pick{background:#cfe0f1!important;border-color:#5f93c5!important}
body.light-mode .gcpeople span,body.light-mode .scorepill,body.light-mode .chip{background:#e0e9f2!important;color:#20334b!important;border-color:#adbed0!important}
body.light-mode .gcsection,body.light-mode .switchrow,body.light-mode .entry{border-color:#b9c8d7!important}
body.light-mode .procard{background:linear-gradient(180deg,#eee8da,#e9e5dc)!important;border-color:#b69b58!important}

/* Full/Quick Game Center: guarantee enough identity width for long city names while
   preserving team | score | state | score | team geometry. */
.unifiedMatchupScoreboard:not(.no-score){
  grid-template-columns:minmax(94px,1fr) 42px 72px 42px minmax(94px,1fr)!important;
  gap:3px!important;
}
.unifiedMatchupScoreboard.compact:not(.no-score){
  grid-template-columns:minmax(86px,1fr) 38px 68px 38px minmax(86px,1fr)!important;
  gap:3px!important;
}
.unifiedMatchupScoreboard .matchupTeamStack{padding-left:0!important;padding-right:0!important;overflow:visible!important}
.unifiedMatchupScoreboard .matchupPlace,.unifiedMatchupScoreboard .matchupNickname{
  white-space:normal!important;overflow:visible!important;text-overflow:clip!important;max-width:100%!important;
  overflow-wrap:normal!important;word-break:keep-all!important;text-wrap:balance!important;
}

/* Schedule Preview: give matchup and schedule-detail lanes clean ownership.
   Pick cards stay on the side of the team selected and text remains readable. */
.previewgame:not(.previewgame-started){
  grid-template-columns:minmax(0,64%) minmax(0,36%)!important;
  column-gap:8px!important;overflow:visible!important;
}
.previewgame:not(.previewgame-started) .previewleft{overflow:visible!important}
.previewmatchup:not(.previewmatchup-started){overflow:visible!important;grid-template-columns:minmax(0,1fr) 18px minmax(0,1fr)!important}
.previewmatchup:not(.previewmatchup-started)>.previewteam,
.previewmatchup:not(.previewmatchup-started)>.previewteam.schedule-your-pick{
  overflow:visible!important;min-height:60px!important;padding:5px!important;
  grid-template-columns:29px minmax(0,1fr)!important;column-gap:4px!important;
}
.previewmatchup:not(.previewmatchup-started)>.previewteam>span{overflow:visible!important}
.previewmatchup:not(.previewmatchup-started)>.previewteam>span b{white-space:normal!important;overflow:visible!important;text-overflow:clip!important;line-height:1.05!important}
.previewmatchup:not(.previewmatchup-started)>.previewteam>span small{white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important}
.previewmatchup:not(.previewmatchup-started)>.previewteam .yourPickTag{white-space:nowrap!important;overflow:visible!important;text-overflow:clip!important;font-size:8.5px!important;letter-spacing:.045em!important}
.previewgame:not(.previewgame-started) .pregamePreviewMeta{overflow:visible!important;padding-left:5px!important}

@media(max-width:430px){
  .unifiedMatchupScoreboard:not(.no-score){grid-template-columns:minmax(86px,1fr) 36px 62px 36px minmax(86px,1fr)!important;gap:2px!important}
  .unifiedMatchupScoreboard.compact:not(.no-score){grid-template-columns:minmax(80px,1fr) 34px 60px 34px minmax(80px,1fr)!important;gap:2px!important}
  .unifiedMatchupScoreboard .matchupPlace,.unifiedMatchupScoreboard .matchupNickname{font-size:12px!important;line-height:1.06!important}
  .unifiedMatchupScoreboard.compact .matchupPlace,.unifiedMatchupScoreboard.compact .matchupNickname{font-size:11.5px!important}
  .previewgame:not(.previewgame-started){grid-template-columns:minmax(0,65%) minmax(0,35%)!important;column-gap:6px!important}
  .previewmatchup:not(.previewmatchup-started)>.previewteam,
  .previewmatchup:not(.previewmatchup-started)>.previewteam.schedule-your-pick{min-height:58px!important;padding:4px!important;grid-template-columns:27px minmax(0,1fr)!important}
  .previewmatchup:not(.previewmatchup-started)>.previewteam>span b{font-size:11.5px!important}
  .previewmatchup:not(.previewmatchup-started)>.previewteam>span small{font-size:8.5px!important}
  .previewmatchup:not(.previewmatchup-started)>.previewteam .yourPickTag{font-size:8px!important}
  .previewgame:not(.previewgame-started) .pregamePreviewMeta{font-size:10px!important;line-height:1.22!important}
}


/* Beta 3.2.4 — Step-1 final polish */

/* Schedule geometry is frozen; remove the visual seam behind the game-info lane. */
.previewgame:not(.previewgame-started) .pregamePreviewMeta,
body.light-mode .previewgame:not(.previewgame-started) .pregamePreviewMeta{
  background:transparent!important;
  box-shadow:none!important;
}

/* One simple pick-state language: pending blue, correct green, wrong red.
   Color Assist adds symbols/patterns without replacing those base meanings. */
.previewteam.schedule-your-pick:not(.schedule-pick-correct):not(.schedule-pick-wrong):not(.schedule-pick-tie):not(.schedule-pick-void){
  border-color:#5d84ad!important;background:#203750!important;
}
.previewteam.schedule-your-pick.schedule-pick-correct{border-color:#28d17c!important;background:rgba(40,209,124,.16)!important}
.previewteam.schedule-your-pick.schedule-pick-wrong{border-color:#df5252!important;background:rgba(223,82,82,.16)!important}
body.color-assist .previewteam.schedule-your-pick.schedule-pick-correct{
  border-color:#28d17c!important;background-color:rgba(40,209,124,.18)!important;
  background-image:repeating-linear-gradient(135deg,rgba(255,255,255,.07) 0 4px,transparent 4px 10px)!important;
  box-shadow:inset 0 0 0 2px rgba(125,240,173,.32)!important;
}
body.color-assist .previewteam.schedule-your-pick.schedule-pick-wrong{
  border-color:#df5252!important;background-color:rgba(223,82,82,.18)!important;
  background-image:repeating-linear-gradient(45deg,rgba(255,255,255,.07) 0 3px,transparent 3px 9px)!important;
  box-shadow:inset 0 0 0 2px rgba(255,157,157,.30)!important;
}
body.color-assist .previewteam.schedule-pick-correct .yourPickTag{color:#7df0ad!important}
body.color-assist .previewteam.schedule-pick-wrong .yourPickTag{color:#ff9d9d!important}
body.color-assist .previewteam.schedule-pick-correct .yourPickTag::before{content:'✓ '!important}
body.color-assist .previewteam.schedule-pick-wrong .yourPickTag::before{content:'✕ '!important}

/* Softer daytime theme: closer tonal range, less white-vs-navy contrast. */
body.light-mode{
  --bg:#cfdbe6;--panel:#dce6ef;--panel2:#d6e1eb;--line:#9fb2c4;--text:#223247;--muted:#5d7188;
  background:linear-gradient(180deg,#dce5ed,#cfdbe6 48%,#c9d6e2)!important;
}
body.light-mode .topbar{background:rgba(218,228,237,.98)!important;border-color:#a6b8c9!important}
body.light-mode .panel{background:linear-gradient(180deg,#e1e9f1,#d7e2ec)!important;border-color:#a9bacb!important;box-shadow:0 7px 18px rgba(35,56,81,.09)!important}
body.light-mode .groupcard,body.light-mode .game,body.light-mode .team,body.light-mode .chatcomposer,body.light-mode .gcupdate,body.light-mode .boardscroll{background:#dbe5ee!important;color:#223247!important;border-color:#aebdcb!important}
body.light-mode .secondary,body.light-mode .smallbtn,body.light-mode .backbtn,body.light-mode .iconbtn{background:#d3e0ea!important;color:#24364d!important;border-color:#9fb3c5!important}
body.light-mode input,body.light-mode select,body.light-mode textarea{background:#e8eef4!important;color:#223247!important;border-color:#9fb2c4!important}
body.light-mode .eyebrow,body.light-mode .muted,body.light-mode .fine,body.light-mode .record,body.light-mode .deadline,body.light-mode .gcmeta,body.light-mode .matchupRecord{color:#566b82!important}
body.light-mode .previewteam.schedule-your-pick:not(.schedule-pick-correct):not(.schedule-pick-wrong):not(.schedule-pick-tie):not(.schedule-pick-void){background:#c2d6e8!important;border-color:#5689b8!important}
body.light-mode .gcpeople span,body.light-mode .scorepill,body.light-mode .chip{background:#d4e0ea!important;color:#263a52!important;border-color:#a4b6c7!important}
body.light-mode .procard{background:linear-gradient(180deg,#e8e3d6,#e1ded5)!important;border-color:#ad9357!important}

/* Destructive actions should read as destructive without dominating the page. */
.dangerbtn{background:transparent!important;border-color:#7a3f4a!important;color:#e3a6b0!important}
body.light-mode .dangerbtn{
  background:rgba(157,60,74,.035)!important;
  border:1px solid #a75a66!important;
  color:#813f4a!important;
  box-shadow:none!important;
}
body.light-mode .dangerbtn:active{background:rgba(167,90,102,.10)!important}

/* Super Bowl custom props: only user-created props can be removed. */
.customPropRow{display:grid!important;grid-template-columns:auto minmax(0,1fr) auto!important;align-items:start!important}
.customPropBadge{display:inline-block;margin-left:6px;padding:2px 6px;border:1px solid #607a97;border-radius:999px;font-size:9px;font-weight:900;letter-spacing:.05em;color:#a9c8e7;vertical-align:middle}
.customPropDelete{border:1px solid #6d4350;background:transparent;color:#e2a9b3;border-radius:9px;padding:5px 7px;font-size:10px;font-weight:800;line-height:1;margin-top:-2px}
body.light-mode .customPropBadge{color:#355b7d;border-color:#7d9bb7;background:rgba(255,255,255,.18)}
body.light-mode .customPropDelete{color:#7f3f4b;border-color:#a15a66;background:rgba(161,90,102,.04)}

/* Tiebreaker now behaves like an actual numeric field on mobile. */
input.tiebreakline{width:100%;box-sizing:border-box;font:inherit;-webkit-appearance:none;appearance:textfield}
input.tiebreakline::-webkit-outer-spin-button,input.tiebreakline::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}

/* Beta 3.2.5 — Light Mode Normalization
   Keep dark mode unchanged. Light mode is a coherent daytime system, not an inversion. */
body.light-mode{
  --lm-bg:#dce6ef;
  --lm-panel:#e9f0f6;
  --lm-panel-2:#e2ebf3;
  --lm-panel-3:#d7e3ed;
  --lm-line:#a9bbcc;
  --lm-text:#17263a;
  --lm-muted:#587089;
  --lm-action:#cbd9e5;
  --lm-action-border:#91a9bf;
  --lm-action-text:#24384f;
  --lm-danger:#8f3540;
  --lm-danger-bg:#ead4d7;
  --lm-danger-border:#ad5660;
  --lm-win:#b9ddc5;
  --lm-win-border:#4a9b68;
  --lm-win-text:#174d2d;
  --lm-loss:#e7bdc1;
  --lm-loss-border:#b55a63;
  --lm-loss-text:#6d222a;
  --lm-pending:#cbd8e6;
  background:linear-gradient(180deg,#e6eef5,#dce6ef 48%,#d7e2ec)!important;
  color:var(--lm-text)!important;
}
body.light-mode .topbar{background:rgba(225,234,242,.98)!important;border-color:var(--lm-line)!important}
body.light-mode .panel,
body.light-mode .accountpanel,
body.light-mode .helpcenter{background:linear-gradient(180deg,var(--lm-panel),#e5edf4)!important;border-color:#afc1d1!important;color:var(--lm-text)!important;box-shadow:0 8px 24px rgba(34,55,78,.08)!important}
body.light-mode h1,body.light-mode h2,body.light-mode h3,body.light-mode h4,
body.light-mode .standingname,body.light-mode .playername,body.light-mode .profileHero h2,
body.light-mode .gcsection h3,body.light-mode .popupSection h3{color:var(--lm-text)!important}
body.light-mode .eyebrow,body.light-mode .muted,body.light-mode .fine,body.light-mode .record,
body.light-mode .deadline,body.light-mode .gcmeta,body.light-mode .matchupRecord,
body.light-mode .playerrecord,body.light-mode .standingnumbers small,body.light-mode .standingnumbers span,
body.light-mode .profileNote,body.light-mode .profileStat small{color:var(--lm-muted)!important}

/* General controls and pills — no dark-mode blocks pasted into light mode. */
body.light-mode .secondary,body.light-mode .smallbtn,body.light-mode .backbtn,body.light-mode .iconbtn,
body.light-mode .seasonFormatBadge,body.light-mode .leagueTypePill,body.light-mode .groupCodeCopy,
body.light-mode .code,body.light-mode .scorepill,body.light-mode .chip,
body.light-mode .weekbtn,body.light-mode .leagueMoveBtn,
body.light-mode .leagueDragHandle,body.light-mode .gcBroadcast,
body.light-mode .modalCloseBtn{
  background:var(--lm-action)!important;color:var(--lm-action-text)!important;border-color:var(--lm-action-border)!important;
  box-shadow:none!important;
}
body.light-mode .weekbtn{background:#ccd9e5!important;color:#21354c!important}
body.light-mode .weekbtn.current{background:#c5d8cf!important;border-color:#4d9b6c!important;box-shadow:inset 0 0 0 1px #4d9b6c!important}
body.light-mode .weekbtn small,body.light-mode .weekbtn .weekArrow{color:#607890!important}
body.light-mode .groupCodeCopy,body.light-mode .code{background:#c7d5e2!important;color:#20364e!important}
body.light-mode .seasonFormatBadge{background:#cad8e5!important;color:#233a52!important}
body.light-mode .leagueTypePill{background:#cbd8e4!important;color:#29415a!important}
body.light-mode .groupcard.weeklyLeagueCard .leagueTypePill{background:#c7ded7!important;color:#245b4c!important;border-color:#6fa18f!important}
body.light-mode .groupcard.seasonLeagueCard .leagueTypePill{background:#cbdbea!important;color:#294b6b!important;border-color:#7f9fbd!important}
body.light-mode .leagueDragHandle{background:#c5d2df!important}
body.light-mode .leagueDragHandle i{background:#58728d!important}
body.light-mode .superbowlbtn{background:linear-gradient(180deg,#e2d5b3,#d8c79c)!important;color:#5d4610!important;border-color:#ad8a3f!important}

/* Destructive controls: richer red, still restrained. */
body.light-mode .dangerbtn,body.light-mode .danger,body.light-mode .customPropDelete{
  background:var(--lm-danger-bg)!important;color:var(--lm-danger)!important;border-color:var(--lm-danger-border)!important;
}
body.light-mode .dangerbtn:hover,body.light-mode .dangerbtn:active,
body.light-mode .customPropDelete:hover,body.light-mode .customPropDelete:active{background:#dfc0c4!important;color:#7d2b35!important}

/* Standings cards and mini standings. */
body.light-mode .standingrow{background:#d2dee9!important;border-color:#a3b6c8!important;color:var(--lm-text)!important;cursor:pointer}
body.light-mode .standingrow:hover,body.light-mode .standingrow:active{background:#c8d6e2!important}
body.light-mode .standingplace,body.light-mode .standingname b,body.light-mode .standingnumbers b{color:#20344b!important}
body.light-mode .liveStandingPlace{color:#287e58!important}

/* Picks Board: full light component, with readable result states. */
body.light-mode .boardscroll{background:#dce6ef!important;border-color:#9fb2c4!important}
body.light-mode .pickstable{color:#20334a!important}
body.light-mode .pickstable thead th,
body.light-mode .pickstable .playercol{background:#c6d5e2!important;color:#1d3148!important;border-color:#9fb2c3!important}
body.light-mode .pickstable thead th small,body.light-mode .pickstable tbody .playercol small{color:#61778f!important}
body.light-mode .pickstable th,body.light-mode .pickstable td{border-color:#9fb1c2!important}
body.light-mode .pickstable .tbcell{background:#c9d7e3!important;color:#253950!important}
body.light-mode .pickstable .board-pending{background:#c4d1de!important;color:#263b52!important}
body.light-mode .pickstable .board-correct{background:#69ad7f!important;color:#102f1c!important}
body.light-mode .pickstable .board-wrong{background:#ca777e!important;color:#4b171c!important}
body.light-mode .pickstable .board-tie{background:#d7bd67!important;color:#4d3c08!important}
body.light-mode .pickstable .board-canceled{background:#aab5c1!important;color:#2f3c49!important}
body.light-mode .legenddot.board-pending{background:#c4d1de!important}
body.light-mode .legenddot.board-correct{background:#69ad7f!important}
body.light-mode .legenddot.board-wrong{background:#ca777e!important}

/* Schedule results: keep geometry untouched; normalize contrast only. */
body.light-mode .previewTeamScore,body.light-mode .previewCenterStatus,
body.light-mode .previewCenterStatus.finalStatus{color:#20344b!important}
body.light-mode .previewLeaguePicks{color:#526b84!important}
body.light-mode .previewteam.schedule-your-pick{background:#c7d9ea!important;border-color:#6e9ac3!important;color:#21364d!important}
body.light-mode .previewteam.schedule-your-pick.schedule-pick-correct{background:var(--lm-win)!important;border-color:var(--lm-win-border)!important;color:var(--lm-win-text)!important}
body.light-mode .previewteam.schedule-your-pick.schedule-pick-wrong{background:var(--lm-loss)!important;border-color:var(--lm-loss-border)!important;color:var(--lm-loss-text)!important}
body.light-mode .previewteam.schedule-pick-correct .yourPickTag{color:#267448!important}
body.light-mode .previewteam.schedule-pick-wrong .yourPickTag{color:#963e47!important}
body.light-mode .previewgame:not(.previewgame-started) .pregamePreviewMeta{background:transparent!important}

/* Quick Game Center — fully themed component while backdrop remains dim. */
body.light-mode .scheduleGameCard{background:#e5edf4!important;border-color:#91aac1!important;color:var(--lm-text)!important;box-shadow:0 24px 70px rgba(8,19,31,.35)!important}
body.light-mode .scheduleGameTop{background:linear-gradient(#e5edf4 82%,rgba(229,237,244,0))!important}
body.light-mode .scheduleGameTop h2,body.light-mode .popupSideV2>b,body.light-mode .popupLogoScore strong,
body.light-mode .popupCenterV2 strong,body.light-mode .popupSection h3,body.light-mode .popupPickBarV2>div b{color:#182b41!important}
body.light-mode .popupCenterV2 span,body.light-mode .popupPickBarV2>div small,body.light-mode .popupMeta{color:#5c7188!important}
body.light-mode .popupCenterV2{border-color:#a8bbcc!important}
body.light-mode .popupWeather,body.light-mode .popupLatestPlay{background:#d4e0ea!important;border-color:#9fb4c6!important;color:#21364d!important}
body.light-mode .popupWeather span,body.light-mode .popupLatestHead span{color:#5c7188!important}
body.light-mode .popupPickBarV2>i{background:#b9c8d6!important}

/* Full Game Center — light surfaces and text, no dark-mode weather/broadcast islands. */
body.light-mode #gameCenterView>.panel{background:#e5edf4!important}
body.light-mode .gchero,body.light-mode .gcHeroV2,body.light-mode .gcsection{color:var(--lm-text)!important}
body.light-mode .matchupPlace,body.light-mode .matchupNickname,
body.light-mode .matchupScoreCell strong,body.light-mode .unifiedMatchupCenter strong,
body.light-mode .gcSplitTeam b,body.light-mode .gcsection h3{color:#182b41!important}
body.light-mode .unifiedMatchupCenter span,body.light-mode .matchupRecord,
body.light-mode .gcSplitTeam span{color:#60758c!important}
body.light-mode .gcWeatherDynamic{background:#d1dde8!important;border-color:#9db2c4!important}
body.light-mode .gcWeatherDynamic small{color:#5d7289!important}
body.light-mode .gcWeatherDynamic b{color:#20354c!important}
body.light-mode .gcBroadcast{background:#c4d3df!important;color:#23384f!important;border-color:#91a9bf!important}
body.light-mode .gcSplitTrack{background:#b7c7d5!important}
body.light-mode .gcpeople span{background:#d2dee8!important;color:#243950!important;border-color:#9fb3c5!important}
body.light-mode .gcLatestPlay{background:#d3dfe9!important;border-color:#9eb3c5!important;color:#21364d!important}

/* Player profile modal. */
body.light-mode .modalcard.playerProfileCard{background:#e5edf4!important;border-color:#98aec2!important;color:#1a2d43!important;box-shadow:0 24px 70px rgba(12,24,38,.30)!important}
body.light-mode .profileAvatar{background:#cad9e6!important;color:#29435f!important;border-color:#8ba6bf!important}
body.light-mode .profileMedal,body.light-mode .profileStat{background:#d5e0ea!important;border-color:#a3b6c8!important;color:#20344b!important}
body.light-mode .profileStat b,body.light-mode .profileMedal{color:#20344b!important}
body.light-mode .playerProfileCard>.secondary{background:#c8d7e3!important;color:#21364d!important;border-color:#91a9bf!important}

/* Color Assist in Light mode: preserve the same light surfaces; add shape/pattern cues. */
body.light-mode.color-assist .pickstable .board-correct{background-color:#78aeca!important;color:#17384b!important;box-shadow:inset 0 0 0 2px #3f819f!important}
body.light-mode.color-assist .pickstable .board-wrong{background-color:#d39a61!important;color:#4d2b0e!important;box-shadow:inset 0 0 0 2px #a86a2d!important}
body.light-mode.color-assist .previewteam.schedule-pick-correct{background:#bcd7e5!important;border-color:#4d91af!important}
body.light-mode.color-assist .previewteam.schedule-pick-wrong{background:#e5c69d!important;border-color:#ad7335!important}

/* Make entire standing/player-name cells reliable profile targets. */
.standingrow[data-profile-user],.pickstable .playercol[data-profile-user]{cursor:pointer}

/* Beta 3.2.6 — Light Mode semantic contrast pass.
   Every dark-theme semantic accent gets a purpose-built readable light-theme counterpart. */
body.light-mode{
  --lm-secondary:#4a627b;
  --lm-tertiary:#5a7189;
  --lm-success:#24754d;
  --lm-success-strong:#17643d;
  --lm-warning:#8a5b00;
  --lm-warning-strong:#714900;
  --lm-error:#943b46;
  --lm-info:#2e638f;
  --lm-gold:#76570b;
  --lm-purple:#6545c7;
}
/* Global secondary / helper copy: never use dark-mode pale ink on a light surface. */
body.light-mode .eyebrow,body.light-mode .muted,body.light-mode .fine,body.light-mode .record,
body.light-mode .deadline,body.light-mode .gcmeta,body.light-mode .matchupRecord,
body.light-mode .playerrecord,body.light-mode .standingnumbers small,body.light-mode .standingnumbers span,
body.light-mode .profileNote,body.light-mode .profileStat small,body.light-mode .weekbtn small,
body.light-mode .weekbtn .weekArrow,body.light-mode .previewLeaguePicks,body.light-mode .pregamePreviewMeta,
body.light-mode .popupMeta,body.light-mode .popupCenterV2 span,body.light-mode .popupPickBarV2>div small,
body.light-mode .gcSplitTeam span,body.light-mode .unifiedMatchupCenter span,
body.light-mode .pickstable thead th small,body.light-mode .pickstable tbody .playercol small,
body.light-mode .legend,body.light-mode .legend span,body.light-mode .boardlegend,body.light-mode .boardlegend span{
  color:var(--lm-secondary)!important;
  opacity:1!important;
}
/* Semantic statuses / badges / icons. */
body.light-mode .eligible,body.light-mode .liveStandingPlace,body.light-mode .success,
body.light-mode .submitted,body.light-mode .yourPickTag{color:var(--lm-success)!important}
body.light-mode .pendingapproval,body.light-mode .warning,body.light-mode .amber,
body.light-mode .approvalAttention,body.light-mode .deadlineSquare.approvalAttention{color:var(--lm-warning-strong)!important}
body.light-mode .groupApprovalAlert{color:#4d6076!important}
body.light-mode .groupApprovalAlert .deadlineSquare,
body.light-mode .deadlineSquare.approvalAttention{background:#e7d29e!important;border-color:#a87818!important}
body.light-mode .probadge{background:#7657e8!important;color:#fff!important;border-color:#5939c4!important}
body.light-mode .prooutlook,body.light-mode .prolinks span{color:var(--lm-gold)!important;border-color:#a9862e!important;background:#eee2bd!important}
body.light-mode .procard{background:linear-gradient(180deg,#eee8da,#e9e5dc)!important;border-color:#a88a3f!important;color:#342d1d!important}
body.light-mode .procard .muted,body.light-mode .procard .fine,body.light-mode .procard p{color:#665a3e!important}
body.light-mode .superbowlbtn{color:#5c4308!important;border-color:#a47b21!important}
/* Result-state labels must remain legible independent of fill color. */
body.light-mode .previewteam.schedule-pick-correct .yourPickTag{color:#1e6d42!important}
body.light-mode .previewteam.schedule-pick-wrong .yourPickTag{color:#8d303b!important}
body.light-mode .pickstable .board-tie{color:#4d3a05!important}
/* Disabled is subdued, but still readable enough to understand what the control is. */
body.light-mode button:disabled,body.light-mode .disabled,body.light-mode [aria-disabled="true"]{color:#687d92!important;opacity:.72}

/* Beta 3.2.7 — Light-mode league-card readability polish.
   Invite-code value and Week number/arrow are actionable information, not muted helper copy. */
body.light-mode .groupCodeCopy b{
  color:#29445f!important;
  font-weight:850!important;
}
body.light-mode .groupWeekLink,
body.light-mode .groupWeekLink b{
  color:#526b84!important;
  opacity:1!important;
}
body.light-mode .groupWeekLink{font-weight:800!important}
body.light-mode .groupWeekLink b{font-weight:900!important}

/* Beta 3.2.8 — Light Mode Surface + Contrast System
   In light mode there are no dark filled app cards/controls. Dark-mode pale ink maps to readable slate/navy. */
body.light-mode{
  --lm-surface:#e6eef5;
  --lm-surface-2:#d9e5ef;
  --lm-surface-3:#ceddea;
  --lm-border:#8fa9c0;
  --lm-ink:#172a41;
  --lm-ink-2:#35516c;
  --lm-ink-3:#48637d;
  --lm-active-blue:#d2e5f5;
  --lm-active-blue-border:#6b9bc6;
  --lm-active-green:#d6eadf;
  --lm-active-green-border:#62a17d;
}

/* Global light-mode text normalization: readable secondary copy everywhere. */
body.light-mode .muted,
body.light-mode .fine,
body.light-mode .record,
body.light-mode .deadline,
body.light-mode .settledText,
body.light-mode .settledOnly,
body.light-mode .previewat,
body.light-mode .previewteam small,
body.light-mode .previewteam .record,
body.light-mode .pregamePreviewMeta,
body.light-mode .previewLeaguePicks,
body.light-mode .weatherline,
body.light-mode .weatherline *,
body.light-mode .gcmeta,
body.light-mode .matchupRecord,
body.light-mode .popupMeta,
body.light-mode .popupCenterV2 span,
body.light-mode .popupPickBarV2 small,
body.light-mode .gcSplitTeam span,
body.light-mode .profileNote,
body.light-mode .profileStat small,
body.light-mode .pickstable thead th small,
body.light-mode .pickstable tbody .playercol small,
body.light-mode .boardlegend,
body.light-mode .boardlegend span,
body.light-mode .legend,
body.light-mode .legend span,
body.light-mode .weekStatusText,
body.light-mode .groupWeekLink,
body.light-mode .groupWeekLink b{
  color:var(--lm-ink-3)!important;
  opacity:1!important;
}

/* Commissioner area becomes a true light-mode component. */
body.light-mode .commissionerCard,
body.light-mode .commissionerCardV2{
  background:linear-gradient(180deg,#e8f0f6,#dfe9f2)!important;
  border-color:#9eb5c8!important;
  border-left-color:#49a775!important;
  color:var(--lm-ink)!important;
  box-shadow:0 6px 18px rgba(34,55,78,.08)!important;
}
body.light-mode .commissionerName{color:var(--lm-ink)!important}
body.light-mode .commissionerEyebrow{color:#277451!important}
body.light-mode .commissionerBadges span{
  background:#d5e2ec!important;
  color:#29445e!important;
  border-color:#91a9be!important;
}
body.light-mode .commissionerQuickActions button,
body.light-mode .commissionerQuickActions a{
  background:#d9e6ef!important;
  color:#28445f!important;
  border-color:#92abc0!important;
}
body.light-mode .commissionerQuickActions small{color:#405c75!important}
body.light-mode .commissionerCard .commissionerNote,
body.light-mode .commissionerCardV2 .commissionerNote{
  background:#d7e4ed!important;
  border-color:#9eb4c7!important;
  color:var(--lm-ink)!important;
}
body.light-mode .commissionerNote small{color:#2f7657!important}
body.light-mode .commissionerContact,
body.light-mode .commissionerContactLink,
body.light-mode .commissionerPhoneBtn{color:#29445e!important}

/* Week tabs: no black/navy fill in light mode. */
body.light-mode .tab,
body.light-mode .weektabs .tab{
  background:#d7e4ee!important;
  color:#34516b!important;
  border-color:#95aec3!important;
  box-shadow:none!important;
}
body.light-mode .tab.active,
body.light-mode .weektabs .tab.active{
  background:var(--lm-active-blue)!important;
  color:#1f4768!important;
  border-color:var(--lm-active-blue-border)!important;
}

/* Weekly record chip: light active status instead of dark block. */
body.light-mode .weekRecordChip{
  background:#d4e6f4!important;
  border-color:#6f9bc1!important;
  color:#1f3f5e!important;
}
body.light-mode .weekRecordChip b{color:#1b3854!important}
body.light-mode .weekRecordChip small{color:#277a56!important}
body.light-mode .settledText,body.light-mode .settledOnly{color:#425f79!important}

/* Season/weekly cards get approved full color-coded outer borders while staying light. */
body.light-mode .groupcard.seasonLeagueCard{
  border-color:#3f8fd7!important;
  box-shadow:inset 0 0 0 1px rgba(63,143,215,.14)!important;
}
body.light-mode .groupcard.weeklyLeagueCard{
  border-color:#35ad72!important;
  box-shadow:inset 0 0 0 1px rgba(53,173,114,.14)!important;
}
body.light-mode .groupcard.seasonLeagueCard .groupWeekLink{color:#236bb0!important}
body.light-mode .groupcard.weeklyLeagueCard .groupWeekLink{color:#23865b!important}

/* Create vs Join: intentional but equally polished. */
body.light-mode .createJoinPanel .or{
  display:flex!important;align-items:center!important;gap:12px!important;
  color:#526d86!important;font-weight:900!important;text-transform:uppercase!important;font-size:11px!important;letter-spacing:.12em!important;
}
body.light-mode .createJoinPanel .or::before,
body.light-mode .createJoinPanel .or::after{content:"";height:1px;background:#a6bacb;flex:1}
body.light-mode #createBtn{
  background:#27c978!important;color:#0e2d1e!important;border-color:#239a61!important;
}
body.light-mode #joinBtn{
  background:#d5e7f6!important;color:#214c70!important;border:1px solid #6a9cc6!important;
}
body.light-mode #groupName:focus{border-color:#35a875!important;box-shadow:0 0 0 2px rgba(53,168,117,.14)!important}
body.light-mode #inviteCode:focus{border-color:#5e95c4!important;box-shadow:0 0 0 2px rgba(94,149,196,.14)!important}
body.light-mode #groupName::placeholder,body.light-mode #inviteCode::placeholder{color:#5d7287!important;opacity:1!important}

/* Season list buttons / Show all weeks: no dark fill. */
body.light-mode .weekbtn,
body.light-mode .showAllWeeksBtn,
body.light-mode #seasonWeeksToggle{
  background:#d3e1ec!important;
  color:#1e3852!important;
  border-color:#91aac0!important;
}
body.light-mode .weekbtn.current{background:#d4e9dc!important;border-color:#4d9b6c!important}
body.light-mode .weekbtn .weekArrow,body.light-mode .weekbtn small{color:#425f79!important}

/* Schedule Preview: all metadata is readable slate/navy in light mode. */
body.light-mode .previewteam b{color:#2f4c67!important}
body.light-mode .previewteam small,
body.light-mode .previewat,
body.light-mode .pregamePreviewMeta,
body.light-mode .previewLeaguePicks,
body.light-mode .previewLeaguePicks *,
body.light-mode .previewWeather,
body.light-mode .previewWeather *,
body.light-mode .previewgame .weather,
body.light-mode .previewgame .weather *{color:#425f79!important}
body.light-mode .pregamePreviewMeta b,body.light-mode .previewTeamScore,body.light-mode .previewCenterStatus{color:#243f5a!important}
body.light-mode .yourPickTag{color:#2474aa!important}
body.light-mode .previewteam.schedule-pick-correct .yourPickTag{color:#1f7446!important}
body.light-mode .previewteam.schedule-pick-wrong .yourPickTag{color:#973b45!important}

/* Quick + Full Game Center: one readable navy/slate text hierarchy. */
body.light-mode .popupCenterV2 strong,
body.light-mode .popupCenterV2 span,
body.light-mode .popupMeta,
body.light-mode .popupWeather,
body.light-mode .popupWeather span,
body.light-mode .popupPickBarV2 small,
body.light-mode .matchupRecord,
body.light-mode .unifiedMatchupCenter strong,
body.light-mode .unifiedMatchupCenter span,
body.light-mode .gcmeta,
body.light-mode .gcWeatherDynamic small,
body.light-mode .gcWeatherDynamic b,
body.light-mode .gcSplitTeam span{
  color:#2b4964!important;
  opacity:1!important;
}
body.light-mode .popupCenterV2 strong,body.light-mode .unifiedMatchupCenter strong{color:#1c3853!important}
body.light-mode .popupWeather,body.light-mode .gcWeatherDynamic{background:#d6e3ed!important;color:#24435f!important}
body.light-mode .popupWeather b,body.light-mode .popupWeather strong{color:#24435f!important}

/* Picks board matchup headers: distinct from picks but readable, not white. */
body.light-mode .pickstable thead th:not(.playercol){
  background:#bfd0df!important;
  color:#36556f!important;
}
body.light-mode .pickstable thead th:not(.playercol) small,
body.light-mode .pickstable thead th:not(.playercol) span,
body.light-mode .pickstable thead th:not(.playercol) b{color:#36556f!important;opacity:1!important}

/* Member chips in Game Center are profile links. */
.gcPersonChip{cursor:pointer}
body.light-mode .gcPersonChip{background:#d5e1eb!important;color:#29445f!important;border-color:#9eb3c5!important}
body.light-mode .gcPersonChip b{color:#24704b!important}

/* Semantic accents get darker ink in light mode. */
body.light-mode .probadge{background:#d8cff7!important;color:#4f32a4!important;border-color:#8c74d3!important}
body.light-mode .warning,body.light-mode .amber,body.light-mode .approvalAttention{color:#785000!important}
body.light-mode .success,body.light-mode .eligible,body.light-mode .submitted{color:#236d49!important}

/* Beta 3.2.9 — Create / Join CTA consistency
   Keep the two league-entry actions coordinated in both themes:
   same geometry/typography, green for Create and blue for Join. */
#createBtn,#joinBtn{
  min-height:48px!important;
  border-radius:12px!important;
  padding:13px 14px!important;
  font-weight:850!important;
  letter-spacing:0!important;
  width:100%!important;
}
#createBtn{
  background:#27c978!important;
  color:#071d12!important;
  border:1px solid #239a61!important;
}
#createBtn:active{background:#22b96d!important}
#joinBtn{
  background:#17385a!important;
  color:#edf7ff!important;
  border:1px solid #4c82b4!important;
}
#joinBtn:active{background:#21496e!important}
body.light-mode #createBtn{
  background:#27c978!important;
  color:#0e2d1e!important;
  border-color:#239a61!important;
}
body.light-mode #joinBtn{
  background:#d5e7f6!important;
  color:#214c70!important;
  border-color:#6a9cc6!important;
}
body.light-mode #createBtn:active{background:#22b96d!important}
body.light-mode #joinBtn:active{background:#c7dff2!important}


/* Beta 3.2.10 — Light week controls + record contrast
   Keep light mode free of dark filled controls and ensure weekly record/status
   copy remains readable across current and future weeks. */
body.light-mode .seasonWeeksToggle{
  background:#cfddea!important;
  color:#20374f!important;
  border-color:#91abc2!important;
  box-shadow:none!important;
}
body.light-mode .seasonWeeksToggle:hover,
body.light-mode .seasonWeeksToggle:active{
  background:#c5d6e5!important;
  color:#1b334b!important;
}
body.light-mode .seasonWeeksToggle span{color:#34546e!important}
body.light-mode .seasonWeeksCaption{color:#425f79!important}

/* Week list records/statuses — readable on light surfaces for all weeks. */
body.light-mode .weekRecord,
body.light-mode .weekSnapshot .weekRecord{
  color:#26435f!important;
  opacity:1!important;
  font-weight:900!important;
}
body.light-mode .weekStatusText{
  color:#425f79!important;
  opacity:1!important;
}
body.light-mode .weekbtn.current .weekRecord{color:#24455f!important}
body.light-mode .weekbtn.current .weekStatusText{color:#3e6178!important}

/* Beta 3.2.11 — Light Mode Final Contrast + Chat Normalization
   Light mode uses readable dark ink throughout and light sender-colored chat surfaces.
   Dark mode remains unchanged. */
body.light-mode{
  --lm-readable:#1f3b56;
  --lm-readable-strong:#172f49;
  --lm-readable-soft:#2d4d69;
}

/* Schedule Preview: weather, indoor/outdoor, league-pick percentages and team metadata stay dark/readable. */
body.light-mode .previewLeaguePicks,
body.light-mode .previewLeaguePicks *,
body.light-mode .previewWeather,
body.light-mode .previewWeather *,
body.light-mode .previewgame .weather,
body.light-mode .previewgame .weather *,
body.light-mode .gameweather,
body.light-mode .gameweather *,
body.light-mode .weatherline,
body.light-mode .weatherline *,
body.light-mode .previewteam small,
body.light-mode .previewteam .record,
body.light-mode .previewat,
body.light-mode .pregamePreviewMeta,
body.light-mode .pregamePreviewMeta span,
body.light-mode .pregamePreviewMeta small{
  color:var(--lm-readable)!important;
  opacity:1!important;
}
body.light-mode .previewLeaguePicks,
body.light-mode .previewLeaguePicks *{font-weight:800!important}
body.light-mode .previewWeather,
body.light-mode .previewWeather *,
body.light-mode .gameweather,
body.light-mode .gameweather *,
body.light-mode .weatherline,
body.light-mode .weatherline *{font-weight:750!important}

/* Game Center: one dark readable text family for kickoff, venue, records, weather and pick counts. */
body.light-mode .popupCenterV2 strong,
body.light-mode .popupCenterV2 span,
body.light-mode .popupCenterV2 small,
body.light-mode .popupMeta,
body.light-mode .popupMeta *,
body.light-mode .popupWeather,
body.light-mode .popupWeather *,
body.light-mode .popupPickBarV2 b,
body.light-mode .popupPickBarV2 small,
body.light-mode .matchupRecord,
body.light-mode .unifiedMatchupCenter strong,
body.light-mode .unifiedMatchupCenter span,
body.light-mode .unifiedMatchupCenter small,
body.light-mode .gcmeta,
body.light-mode .gcmeta *,
body.light-mode .gcWeatherDynamic,
body.light-mode .gcWeatherDynamic *,
body.light-mode .gcSplitTeam b,
body.light-mode .gcSplitTeam span{
  color:var(--lm-readable)!important;
  opacity:1!important;
}
body.light-mode .popupCenterV2 strong,
body.light-mode .unifiedMatchupCenter strong,
body.light-mode .gcSplitTeam b{color:var(--lm-readable-strong)!important}
body.light-mode .popupWeather,
body.light-mode .gcWeatherDynamic{
  background:#d6e3ed!important;
  border-color:#91acc3!important;
}

/* Picks Board matchup headers: distinct from selected picks, but never white/faded. */
body.light-mode .pickstable thead th:not(.playercol),
body.light-mode .pickstable thead th:not(.playercol) *,
body.light-mode .pickstable thead th:not(.playercol) small,
body.light-mode .pickstable thead th:not(.playercol) span,
body.light-mode .pickstable thead th:not(.playercol) b{
  color:#294a66!important;
  opacity:1!important;
}

/* Chat in light mode: blue = others, green = me, but both use light surfaces and dark copy. */
body.light-mode .chatmsg .chatbubble{
  background:#d7e7f4!important;
  border-color:#8fb2cf!important;
  color:var(--lm-readable-strong)!important;
  box-shadow:none!important;
}
body.light-mode .chatmsg.mine .chatbubble{
  background:#d8ecdf!important;
  border-color:#85b99a!important;
  color:var(--lm-readable-strong)!important;
}
body.light-mode .chatmeta b,
body.light-mode .chatmeta .profileNameBtn,
body.light-mode .chatbody{
  color:var(--lm-readable-strong)!important;
  opacity:1!important;
}
body.light-mode .chatmeta small{color:var(--lm-readable-soft)!important;opacity:1!important}
body.light-mode .chatavatar{
  background:#d1dfeb!important;
  color:#26445f!important;
  border:1px solid #9bb0c3!important;
}
body.light-mode .chatmsg.mine .chatavatar{
  background:#d3e9db!important;
  color:#235f44!important;
  border-color:#92b9a1!important;
}
body.light-mode .reaction,
body.light-mode .reactionadd,
body.light-mode .addreaction{
  background:#e2ebf3!important;
  color:#29465f!important;
  border-color:#a3b7c8!important;
  opacity:1!important;
}
body.light-mode .reaction.mine{
  background:#d3eadb!important;
  color:#245f43!important;
  border-color:#87b599!important;
}
body.light-mode .chatcomposer{
  background:#e5edf4!important;
  border-color:#a8bacb!important;
}
body.light-mode .chatcomposer textarea{
  background:#f2f6fa!important;
  color:var(--lm-readable-strong)!important;
  border-color:#a8bacb!important;
}
body.light-mode .chatcomposer textarea::placeholder{color:#506b84!important;opacity:1!important}
body.light-mode .chatcomposer .attachbtn,
body.light-mode .chatcomposer .smallbtn,
body.light-mode .chatJumpLatest{
  background:#d7e4ee!important;
  color:#29465f!important;
  border-color:#9fb4c6!important;
}
body.light-mode .reactionPickerCard{
  background:#e7eef5!important;
  color:var(--lm-readable-strong)!important;
  border-color:#9eb3c5!important;
}
body.light-mode .reactionPickerTitle{color:var(--lm-readable-strong)!important}
body.light-mode .reactionPickerRow button{
  background:#d8e5ef!important;
  color:#29465f!important;
  border-color:#9fb4c7!important;
}

/* Light-mode semantic accents: keep the hue, darken text/icons/borders for readability. */
body.light-mode .warning,
body.light-mode .amber,
body.light-mode .approvalAttention,
body.light-mode .warning *,
body.light-mode .amber *,
body.light-mode .approvalAttention *{color:#6f4a00!important}
body.light-mode .probadge,
body.light-mode .probadge *{color:#4b3293!important}
body.light-mode .success,
body.light-mode .eligible,
body.light-mode .submitted,
body.light-mode .success *,
body.light-mode .eligible *,
body.light-mode .submitted *{color:#216548!important}

/* Beta 3.2.12 — approved screenshot-review cleanup pass */
/* Picks Board: sticky PLAYER owns a fixed lane; first game starts beside it, never underneath. */
:root{--board-player-w:112px;--board-game-w:54px;--board-tb-w:44px}
.boardscroll{position:relative!important;scroll-padding-left:var(--board-player-w)!important}
.pickstable .playercol{width:var(--board-player-w)!important;min-width:var(--board-player-w)!important;max-width:var(--board-player-w)!important;left:0!important;box-shadow:1px 0 0 rgba(92,117,143,.35)!important}
.pickstable .gamehead,.pickstable .pickcell{width:var(--board-game-w)!important;min-width:var(--board-game-w)!important;max-width:var(--board-game-w)!important}
.pickstable .tbhead,.pickstable .tbcell{width:var(--board-tb-w)!important;min-width:var(--board-tb-w)!important;max-width:var(--board-tb-w)!important}

/* Pending picks get subtle team-specific tints. Settled result classes remain stronger via existing !important rules. */
.pickstable .pickcell.board-pending.board-team-pick{background:hsl(var(--team-hue) 30% 29%)!important;color:#f5f8fc!important}
body.light-mode .pickstable .pickcell.board-pending.board-team-pick{background:hsl(var(--team-hue) 34% 78%)!important;color:#17314a!important}
body.light-mode .pickstable .pickcell.board-pending.board-team-pick span{color:#17314a!important}

/* Island Pick becomes a quiet, self-explaining SOLO marker. */
.islandIcon{display:none!important}
.soloBadge{position:absolute;right:2px;top:2px;padding:1px 2px;border-radius:4px;border:1px solid rgba(255,255,255,.32);background:rgba(8,17,29,.32);color:#f3f7fb;font-style:normal;font-size:5.5px;font-weight:950;line-height:1;letter-spacing:.02em;pointer-events:none}
body.light-mode .soloBadge{background:rgba(236,244,250,.78);border-color:rgba(39,69,95,.32);color:#294a66}

/* Entry/leader cards: readable surfaces instead of near-black pills. */
.standingrow{background:#18283c!important;border-color:#40546c!important}
body.light-mode .standingrow{background:#d7e3ed!important;border-color:#9fb4c7!important;color:#1b334b!important}
body.light-mode .standingrow .standingname,body.light-mode .standingrow .standingname *,body.light-mode .standingrow .standingscore,body.light-mode .standingrow .standingscore *{color:#1b334b!important;opacity:1!important}

/* Schedule: no compact-label truncation and no faded metadata in light mode. */
.previewmatchup:not(.previewmatchup-started)>.previewteam .yourPickTag{font-size:8px!important;letter-spacing:.025em!important;white-space:nowrap!important;overflow:visible!important;text-overflow:clip!important}
body.light-mode .previewLeaguePicks,body.light-mode .previewLeaguePicks *,body.light-mode .previewWeather,body.light-mode .previewWeather *,body.light-mode .gameweather,body.light-mode .gameweather *,body.light-mode .weatherline,body.light-mode .weatherline *,body.light-mode .pregamePreviewMeta,body.light-mode .pregamePreviewMeta *,body.light-mode .previewteam small{color:#27445f!important;opacity:1!important}

/* Game Center identity: full NFL names may wrap, never clip. Quick + Full share the unified renderer geometry. */
.unifiedMatchupScoreboard .matchupTeamStack,.unifiedMatchupScoreboard .matchupTeamStack *{overflow:visible!important}
.unifiedMatchupScoreboard .matchupPlace,.unifiedMatchupScoreboard .matchupNickname{white-space:normal!important;text-overflow:clip!important;overflow-wrap:normal!important;word-break:normal!important;text-wrap:balance!important}

/* Restrained border hierarchy: secondary containers recede; selected/result states remain strong. */
body.light-mode .panel{border-color:#bdcad6!important}
body.light-mode .previewgame{border-color:#c7d3de!important}
body.light-mode .gcsection{border-color:#c4d1dc!important}
body.light-mode .previewteam:not(.schedule-your-pick){border-color:transparent!important}

@media(max-width:430px){
  :root{--board-player-w:112px;--board-game-w:52px;--board-tb-w:42px}
  .pickstable .playercol{padding-left:8px!important;padding-right:6px!important}
  .soloBadge{font-size:5px;right:1px;top:2px}
  .previewmatchup:not(.previewmatchup-started)>.previewteam .yourPickTag{font-size:7.6px!important;letter-spacing:.015em!important}
}


/* Beta 3.2.13 — approved light-mode identity + mobile alignment pass */
/* Main league cards: color lives inside the card too, not only on the outline. */
body.light-mode .groupcard.seasonLeagueCard{
  background:linear-gradient(180deg,#deebf7,#d4e5f3)!important;
  border-color:#4a91cf!important;
  box-shadow:inset 0 0 0 1px rgba(74,145,207,.16),0 6px 16px rgba(39,78,113,.07)!important;
}
body.light-mode .groupcard.weeklyLeagueCard{
  background:linear-gradient(180deg,#e0efe7,#d6e9df)!important;
  border-color:#4aa978!important;
  box-shadow:inset 0 0 0 1px rgba(74,169,120,.16),0 6px 16px rgba(39,92,62,.06)!important;
}
body.light-mode .groupcard.seasonLeagueCard h3,
body.light-mode .groupcard.weeklyLeagueCard h3,
body.light-mode .groupcard.seasonLeagueCard .eyebrow,
body.light-mode .groupcard.weeklyLeagueCard .eyebrow{color:#1d3851!important}
body.light-mode .groupcard.seasonLeagueCard .groupCodeCopy{background:#c8ddef!important;border-color:#78a3c7!important;color:#294c69!important}
body.light-mode .groupcard.weeklyLeagueCard .groupCodeCopy{background:#c9e2d5!important;border-color:#78a98d!important;color:#285845!important}
body.light-mode .groupcard.seasonLeagueCard .groupCodeCopy b{color:#1f496b!important}
body.light-mode .groupcard.weeklyLeagueCard .groupCodeCopy b{color:#1f5d43!important}

/* League detail: only the identity card + code inherit league-type color. */
body.light-mode #leagueIdentityPanel.seasonLeagueIdentity{background:linear-gradient(180deg,#deebf7,#d5e5f3)!important;border-color:#4a91cf!important}
body.light-mode #leagueIdentityPanel.weeklyLeagueIdentity{background:linear-gradient(180deg,#e0efe7,#d7e9df)!important;border-color:#4aa978!important}
body.light-mode #leagueIdentityPanel.seasonLeagueIdentity #homeGroupCode{background:#c8ddef!important;border:1px solid #78a3c7!important;color:#1f496b!important;padding:5px 9px;border-radius:999px}
body.light-mode #leagueIdentityPanel.weeklyLeagueIdentity #homeGroupCode{background:#c9e2d5!important;border:1px solid #78a98d!important;color:#1f5d43!important;padding:5px 9px;border-radius:999px}
body.light-mode #leagueIdentityPanel h2,body.light-mode #leagueIdentityPanel .eyebrow,body.light-mode #leagueIdentityPanel .groupmeta{color:#223e58!important}

/* Week Entries: medium blue-gray rows with dark readable names + restrained controls. */
body.light-mode .submittednames{gap:9px!important}
body.light-mode .submittedname{
  background:#cfdae5!important;
  color:#1b344d!important;
  border:1px solid #8fa8bf!important;
  border-radius:14px!important;
  padding:8px 10px!important;
  min-height:38px!important;
  box-shadow:none!important;
}
body.light-mode .submittedname .profileNameBtn{color:#19344e!important;font-weight:850!important}
body.light-mode .submittedname .correctionBtn,
body.light-mode .submittedname .tinybtn{background:#dbe5ee!important;color:#24445f!important;border:1px solid #7898b2!important;box-shadow:none!important}
body.light-mode .submittedname .commissionerdot{width:8px!important;height:8px!important;margin-right:6px!important}
body.light-mode .submittedname .eligible{color:#216a49!important}
body.light-mode .submittedname .pendingapproval{color:#775000!important}

/* Picks Board pending state: away = lighter gray, home = darker gray. Result colors override these. */
.pickstable .pickcell.board-pending.board-away{background:#c8d0d8!important;color:#182d42!important}
.pickstable .pickcell.board-pending.board-home{background:#aeb8c3!important;color:#14293d!important}
.pickstable .pickcell.board-pending.board-away span,
.pickstable .pickcell.board-pending.board-home span{color:inherit!important}
body.light-mode .pickstable .pickcell.board-pending.board-away{background:#dce3e9!important;color:#1b334a!important}
body.light-mode .pickstable .pickcell.board-pending.board-home{background:#c5ced7!important;color:#172f46!important}
/* Solo pick is just a small corner star — no extra result-like box. */
.soloBadge{
  right:3px!important;top:3px!important;padding:0!important;border:0!important;background:transparent!important;
  color:#2f8be6!important;font-size:10px!important;line-height:1!important;text-shadow:0 1px 0 rgba(255,255,255,.35);
}
body.light-mode .soloBadge{background:transparent!important;border:0!important;color:#2f8be6!important}

/* Schedule Preview: stable away/home lanes; selected and unselected teams own identical geometry. */
.previewgame:not(.previewgame-started){grid-template-columns:minmax(0,68%) minmax(0,32%)!important;column-gap:7px!important}
.previewmatchup:not(.previewmatchup-started){display:grid!important;grid-template-columns:minmax(0,1fr) 18px minmax(0,1fr)!important;gap:4px!important;align-items:center!important}
.previewmatchup:not(.previewmatchup-started)>.previewteam,
.previewmatchup:not(.previewmatchup-started)>.previewteam.schedule-your-pick{
  width:100%!important;min-width:0!important;min-height:62px!important;box-sizing:border-box!important;
  display:grid!important;grid-template-columns:28px minmax(0,1fr)!important;column-gap:5px!important;
  align-items:center!important;justify-content:stretch!important;padding:5px!important;border-radius:10px!important;
}
.previewmatchup:not(.previewmatchup-started)>.previewteam>img{width:28px!important;height:28px!important;justify-self:center!important}
.previewmatchup:not(.previewmatchup-started)>.previewteam>span{width:100%!important;min-width:0!important;align-items:center!important;text-align:center!important}
.previewmatchup:not(.previewmatchup-started)>.previewteam>span b{font-size:11.5px!important;line-height:1.05!important;white-space:nowrap!important}
.previewmatchup:not(.previewmatchup-started)>.previewteam>span small{font-size:8.5px!important;white-space:nowrap!important;text-overflow:clip!important;overflow:visible!important}
.previewmatchup:not(.previewmatchup-started)>.previewteam.schedule-your-pick{background:#cfdfed!important;border:1px solid #6996bc!important}
.previewmatchup:not(.previewmatchup-started)>.previewteam .yourPickTag{font-size:7.5px!important;line-height:1!important;margin-top:2px!important;white-space:nowrap!important}
.previewgame:not(.previewgame-started) .pregamePreviewMeta{align-self:center!important;text-align:right!important;padding-left:3px!important;color:#29455f!important}
body.light-mode .previewgame:not(.previewgame-started) .pregamePreviewMeta,
body.light-mode .previewgame:not(.previewgame-started) .pregamePreviewMeta *{color:#29455f!important}

/* Unified Game Center: true mirrored lanes; long names wrap inward instead of spilling off-card. */
.unifiedMatchupScoreboard:not(.no-score),
.unifiedMatchupScoreboard.compact:not(.no-score){
  grid-template-columns:minmax(0,1fr) 34px 62px 34px minmax(0,1fr)!important;
  gap:1px!important;width:100%!important;max-width:100%!important;
}
.unifiedMatchupScoreboard.no-score,
.unifiedMatchupScoreboard.compact.no-score{grid-template-columns:minmax(0,1fr) 0 62px 0 minmax(0,1fr)!important;gap:3px!important}
.unifiedMatchupScoreboard .matchupTeamStack{min-width:0!important;width:100%!important;overflow:hidden!important;padding:0 2px!important;align-items:center!important;text-align:center!important}
.unifiedMatchupScoreboard .matchupTeamStack *{max-width:100%!important}
.unifiedMatchupScoreboard .matchupPlace,
.unifiedMatchupScoreboard .matchupNickname{width:100%!important;white-space:normal!important;overflow:visible!important;text-align:center!important;text-wrap:balance!important;word-break:normal!important;line-height:1.06!important}
.unifiedMatchupScoreboard .matchupScoreCell{min-width:0!important;text-align:center!important}
.unifiedMatchupScoreboard .unifiedMatchupCenter{min-width:0!important;text-align:center!important}
body.light-mode .gcstatus{color:#2b4a66!important;opacity:1!important}
body.light-mode .popupMeta{color:#2b4a66!important}

/* Broadcaster treatment: official brand mark when available, light pill fallback otherwise. */
.broadcastMark{gap:0!important;overflow:hidden!important}
.broadcastLogoMark img{display:block;max-width:42px;max-height:14px;object-fit:contain}
.broadcastFallback{display:inline-block}
body.light-mode .broadcastMark{
  background:#d8e5ef!important;color:#24445f!important;border-color:#91aac0!important;
  min-height:24px!important;box-shadow:none!important;
}
body.light-mode .broadcastFallback{color:#24445f!important}
body.light-mode .popupMeta .broadcastMark{margin-bottom:5px!important;margin-right:6px!important}

/* Game Modes drawer: complete light-mode surface + dark ink audit. */
body.light-mode .gameSwitcherOverlay{background:rgba(24,38,55,.42)!important}
body.light-mode .gameSwitcherDrawer{background:#e7eef5!important;border-right-color:#a8bacb!important;box-shadow:18px 0 42px rgba(34,54,76,.20)!important;color:#1b334b!important}
body.light-mode .gameSwitcherDrawer h2,
body.light-mode .gameSwitcherDrawer .eyebrow{color:#294963!important}
body.light-mode .gameModeItem{background:#dce6ef!important;border-color:#a5b7c8!important;color:#1c344d!important}
body.light-mode .gameModeItem b{color:#1b334b!important}
body.light-mode .gameModeItem small{color:#536c84!important}
body.light-mode .gameModeItem.active{background:#cfe1f1!important;border-color:#5e92be!important;color:#173b5a!important}
body.light-mode .gameModeItem.active b{color:#173b5a!important}
body.light-mode .gameModeItem.active small{color:#24714e!important}
body.light-mode .gameSwitcherDivider{border-color:#aabccc!important;background:#aabccc!important}
body.light-mode .gameSwitcherDrawer>.secondary{background:#d6e2ec!important;color:#213b54!important;border-color:#93aabf!important}

/* QA diagnostics: light mode must not retain dark cards/rows or pale-on-pale text. */
body.light-mode .qaEvent{background:#d8e3ed!important;border-color:#9fb2c3!important;color:#1b344d!important}
body.light-mode .qaEvent.error{border-left-color:#c64050!important;background:#ead8dc!important}
body.light-mode .qaEvent.warn{border-left-color:#aa761e!important;background:#eadfca!important}
body.light-mode .qaEvent.info{border-left-color:#2e8a68!important;background:#d7e7df!important}
body.light-mode .qaEvent.note{border-left-color:#527fb0!important;background:#d9e3ee!important}
body.light-mode .qaEventHead span,body.light-mode .qaEventHead time{color:#4c647b!important}
body.light-mode .qaEvent h4,body.light-mode .qaEvent h4 small{color:#19344e!important}
body.light-mode .qaEvent p,body.light-mode .qaEvent p b{color:#27455f!important;overflow-wrap:anywhere!important}
body.light-mode .qaTrailWrap{border-top-color:#9fb2c3!important}
body.light-mode .qaTrailRow{background:#d3dfe9!important;border:1px solid #9fb2c3!important}
body.light-mode .qaTrailRow time{color:#506981!important}
body.light-mode .qaTrailRow b{color:#1b344d!important}
body.light-mode .qaTrailRow span{color:#4b647d!important}
body.light-mode .qaEmpty{background:#e0e8f0!important;color:#425c75!important;border-color:#9fb2c3!important}

@media(max-width:430px){
  .previewgame:not(.previewgame-started){grid-template-columns:minmax(0,69%) minmax(0,31%)!important;column-gap:5px!important}
  .previewmatchup:not(.previewmatchup-started)>.previewteam,
  .previewmatchup:not(.previewmatchup-started)>.previewteam.schedule-your-pick{min-height:58px!important;grid-template-columns:25px minmax(0,1fr)!important;padding:4px!important;column-gap:4px!important}
  .previewmatchup:not(.previewmatchup-started)>.previewteam>img{width:25px!important;height:25px!important}
  .previewmatchup:not(.previewmatchup-started)>.previewteam>span b{font-size:11px!important}
  .previewmatchup:not(.previewmatchup-started)>.previewteam>span small{font-size:8px!important}
  .unifiedMatchupScoreboard:not(.no-score),.unifiedMatchupScoreboard.compact:not(.no-score){grid-template-columns:minmax(0,1fr) 31px 57px 31px minmax(0,1fr)!important;gap:1px!important}
  .unifiedMatchupScoreboard.no-score,.unifiedMatchupScoreboard.compact.no-score{grid-template-columns:minmax(0,1fr) 0 57px 0 minmax(0,1fr)!important;gap:2px!important}
  .unifiedMatchupScoreboard .matchupPlace,.unifiedMatchupScoreboard .matchupNickname{font-size:11px!important}
  .unifiedMatchupScoreboard.compact .matchupPlace,.unifiedMatchupScoreboard.compact .matchupNickname{font-size:10.5px!important}
}


/* Beta 3.2.14 — Light settings surfaces + final schedule baseline alignment */

/* League Settings: light mode must be fully light, including nested rule cards. */
body.light-mode .settingsOverlay{background:#dfe8f1!important;color:#1c2f45!important}
body.light-mode .settingsTopbar{background:#dfe8f1!important;border-color:#aebfce!important}
body.light-mode .settingsWrap>.panel{background:#edf3f8!important;border-color:#aabcca!important;color:#1c2f45!important}
body.light-mode .settingsWrap>.panel>h2,
body.light-mode .settingsWrap>.panel>.eyebrow{color:#1b3148!important}
body.light-mode .settingsWrap>.panel>.muted{color:#49647c!important}
body.light-mode .leagueRuleSettings{
  background:#d3dfe9!important;
  border-color:#91a8bb!important;
  color:#1b334b!important;
  box-shadow:none!important;
}
body.light-mode .leagueRuleSettings .eyebrow{color:#375875!important}
body.light-mode .leagueRuleSettings .muted,
body.light-mode .leagueRuleSettings .fine{color:#4e687f!important}
body.light-mode .leagueRuleSettings .fieldlabel{color:#38556f!important}
body.light-mode .leagueRuleSettings input,
body.light-mode .leagueRuleSettings select{
  background-color:#edf3f7!important;
  color:#203a53!important;
  border-color:#8ea6ba!important;
  box-shadow:none!important;
}
body.light-mode .leagueRuleSettings input::placeholder{color:#6f8397!important}
body.light-mode .leagueRuleSettings .secondary{
  background:#c7d7e5!important;
  color:#213e58!important;
  border-color:#87a2b8!important;
}
/* One restrained lock cue only; never tile a lock icon through the control. */
body.light-mode .leagueRuleSettings select:disabled{
  background-image:none!important;
  background-repeat:no-repeat!important;
  opacity:1!important;
  color:#546b80!important;
  background-color:#c4d0db!important;
  border-color:#93a7b8!important;
  cursor:not-allowed!important;
}
body.light-mode .leagueRuleSettings .fieldlabel:has(+ select:disabled)::after{
  content:'  🔒';font-size:11px;letter-spacing:0;opacity:.72
}

/* Upcoming schedule: reserve identical text geometry for both sides.
   YOUR PICK is overlaid so selection never moves the team abbreviation/record. */
.previewmatchup:not(.previewmatchup-started)>.previewteam,
.previewmatchup:not(.previewmatchup-started)>.previewteam.schedule-your-pick{
  position:relative!important;
  min-height:62px!important;
  align-items:center!important;
}
.previewmatchup:not(.previewmatchup-started)>.previewteam>span{
  display:flex!important;
  flex-direction:column!important;
  justify-content:center!important;
  align-items:center!important;
  min-height:32px!important;
  text-align:center!important;
  padding-bottom:0!important;
}
.previewmatchup:not(.previewmatchup-started)>.previewteam>span b{
  display:block!important;
  line-height:14px!important;
  height:14px!important;
  margin:0!important;
}
.previewmatchup:not(.previewmatchup-started)>.previewteam>span small{
  display:block!important;
  line-height:11px!important;
  height:11px!important;
  margin:1px 0 0!important;
}
.previewmatchup:not(.previewmatchup-started)>.previewteam .yourPickTag{
  position:absolute!important;
  left:33px!important;
  right:3px!important;
  bottom:3px!important;
  margin:0!important;
  text-align:center!important;
  line-height:9px!important;
  height:9px!important;
}
@media(max-width:430px){
  .previewmatchup:not(.previewmatchup-started)>.previewteam,
  .previewmatchup:not(.previewmatchup-started)>.previewteam.schedule-your-pick{min-height:58px!important}
  .previewmatchup:not(.previewmatchup-started)>.previewteam>span{min-height:30px!important}
  .previewmatchup:not(.previewmatchup-started)>.previewteam .yourPickTag{left:29px!important;bottom:2px!important}
}

/* Beta 3.2.15 — mobile geometry + Quick Game Center refinement */
/* Schedule: keep the fixed Away | @ | Home lanes, but make team identity easier to read. */
.previewmatchup:not(.previewmatchup-started)>.previewteam,
.previewmatchup:not(.previewmatchup-started)>.previewteam.schedule-your-pick{
  grid-template-columns:31px minmax(0,1fr)!important;
  column-gap:5px!important;
}
.previewmatchup:not(.previewmatchup-started)>.previewteam>img{
  width:31px!important;height:31px!important;
}
.previewmatchup:not(.previewmatchup-started)>.previewteam>span b{
  font-size:12.25px!important;line-height:14px!important;height:14px!important;
}
.previewmatchup:not(.previewmatchup-started)>.previewteam>span small{
  font-size:9px!important;line-height:11px!important;height:11px!important;
}
.previewmatchup:not(.previewmatchup-started)>.previewteam .yourPickTag{
  left:36px!important;right:3px!important;bottom:3px!important;
  font-size:8.25px!important;font-weight:950!important;letter-spacing:.035em!important;
  color:#244866!important;opacity:1!important;
}
body.light-mode .previewmatchup:not(.previewmatchup-started)>.previewteam .yourPickTag{
  color:#244866!important;opacity:1!important;
}

/* Quick Game Center: date, venue, then broadcaster on its own centered line. */
.popupMeta{display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:center!important;gap:3px!important;text-align:center!important}
.popupMetaDate,.popupMetaVenue,.popupMetaBroadcast{display:block!important;width:100%!important;text-align:center!important}
.popupMetaBroadcast{margin-top:3px!important}
.popupMetaBroadcast .broadcastMark{margin:0 auto!important}
body.light-mode .popupMetaDate{color:#2b4a66!important;font-weight:750!important}
body.light-mode .popupMetaVenue{color:#2b4a66!important}

/* Quick Game Center records need to remain legible at a glance. */
.unifiedMatchupScoreboard.compact .matchupRecord{font-size:10.5px!important;line-height:1.1!important;margin-top:5px!important}

/* Quick FINAL/LIVE score geometry: keep score numbers away from the center status. */
.unifiedMatchupScoreboard.compact:not(.no-score){
  grid-template-columns:minmax(0,1fr) 38px 76px 38px minmax(0,1fr)!important;
  gap:4px!important;
}
.unifiedMatchupScoreboard.compact .matchupScoreCell strong{font-size:29px!important}
.unifiedMatchupScoreboard.compact .matchupState{padding:0 2px!important}

/* Picks Board: on landscape phones/tablets, fit the entire weekly card inside the viewport.
   Portrait remains horizontally scrollable with the sticky PLAYER lane. */
@media (orientation:landscape) and (min-width:600px){
  .boardscroll{overflow-x:hidden!important}
  .pickstable{width:100%!important;min-width:100%!important;max-width:100%!important;table-layout:fixed!important}
  .pickstable .playercol{width:11%!important;min-width:0!important;max-width:none!important}
  .pickstable .gamehead,.pickstable .pickcell{width:5.3%!important;min-width:0!important;max-width:none!important;padding-left:2px!important;padding-right:2px!important}
  .pickstable .tbhead,.pickstable .tbcell{width:4.2%!important;min-width:0!important;max-width:none!important;padding-left:2px!important;padding-right:2px!important}
  .pickstable .matchuphead span{font-size:8.5px!important}
  .pickstable .matchuphead small{font-size:7px!important}
  .pickstable .pickcell span{font-size:9.5px!important}
  .pickstable .playername{font-size:11px!important}
  .pickstable .playerrecord{font-size:8px!important}
}

@media(max-width:430px){
  .previewmatchup:not(.previewmatchup-started)>.previewteam,
  .previewmatchup:not(.previewmatchup-started)>.previewteam.schedule-your-pick{
    grid-template-columns:29px minmax(0,1fr)!important;
  }
  .previewmatchup:not(.previewmatchup-started)>.previewteam>img{width:29px!important;height:29px!important}
  .previewmatchup:not(.previewmatchup-started)>.previewteam>span b{font-size:11.75px!important}
  .previewmatchup:not(.previewmatchup-started)>.previewteam>span small{font-size:8.75px!important}
  .previewmatchup:not(.previewmatchup-started)>.previewteam .yourPickTag{left:34px!important;font-size:8px!important}
  .unifiedMatchupScoreboard.compact:not(.no-score){grid-template-columns:minmax(0,1fr) 36px 70px 36px minmax(0,1fr)!important;gap:3px!important}
  .unifiedMatchupScoreboard.compact .matchupRecord{font-size:10px!important}
}

/* Beta 3.2.16 — authoritative theme isolation + schedule/Game Center geometry */

/* Theme reset: Light-mode visual choices must never leak back into Dark. */
body:not(.light-mode) .dangerbtn{
  background:#7f202c!important;
  border-color:#c84a57!important;
  color:#fff!important;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.04)!important;
}
body:not(.light-mode) .dangerbtn:active{background:#681923!important}
body:not(.light-mode):not(.color-assist) .pickstable .pickcell.board-pending{
  background:#3f4c60!important;
  color:#f4f7fb!important;
  background-image:none!important;
}
body:not(.light-mode):not(.color-assist) .pickstable .pickcell.board-pending span{color:#f4f7fb!important}
body:not(.light-mode) .previewmatchup:not(.previewmatchup-started)>.previewteam.schedule-your-pick.schedule-pick-pending{
  background:#263d5d!important;
  border-color:#6d91bd!important;
  color:#f4f8ff!important;
}
body:not(.light-mode) .previewmatchup:not(.previewmatchup-started)>.previewteam.schedule-your-pick .yourPickTag{
  color:#eef6ff!important;
}
body:not(.light-mode) .previewgame:not(.previewgame-started) .pregamePreviewMeta,
body:not(.light-mode) .previewgame:not(.previewgame-started) .pregamePreviewMeta *,
body:not(.light-mode) .previewgame:not(.previewgame-started) .gameweather{
  color:#d9e5f2!important;
  opacity:1!important;
}
body:not(.light-mode) .previewmatchup:not(.previewmatchup-started)>.previewteam>span b{color:#f3f7fc!important}
body:not(.light-mode) .previewmatchup:not(.previewmatchup-started)>.previewteam>span small{color:#b5c3d4!important}

/* Light schedule selection remains intentionally light and high contrast. */
body.light-mode .previewmatchup:not(.previewmatchup-started)>.previewteam.schedule-your-pick.schedule-pick-pending{
  background:#cbddeb!important;
  border-color:#5f92bd!important;
}
body.light-mode .previewmatchup:not(.previewmatchup-started)>.previewteam.schedule-your-pick .yourPickTag{
  color:#21445f!important;
}

/* Schedule Preview: one stable, mirrored Away | @ | Home component. */
.previewgame:not(.previewgame-started){
  display:grid!important;
  grid-template-columns:minmax(0,66%) minmax(0,34%)!important;
  column-gap:8px!important;
  align-items:start!important;
}
.previewgame:not(.previewgame-started) .previewleft{min-width:0!important;width:100%!important}
.previewmatchup:not(.previewmatchup-started){
  display:grid!important;
  grid-template-columns:minmax(0,1fr) 20px minmax(0,1fr)!important;
  gap:5px!important;
  align-items:center!important;
  width:100%!important;
  overflow:visible!important;
}
.previewmatchup:not(.previewmatchup-started)>.previewteam,
.previewmatchup:not(.previewmatchup-started)>.previewteam.schedule-your-pick{
  width:100%!important;
  min-width:0!important;
  height:68px!important;
  min-height:68px!important;
  padding:6px 5px!important;
  box-sizing:border-box!important;
  display:grid!important;
  grid-template-columns:38px minmax(0,1fr)!important;
  column-gap:5px!important;
  align-items:center!important;
  justify-content:stretch!important;
  border-radius:10px!important;
  overflow:hidden!important;
}
.previewmatchup:not(.previewmatchup-started)>.previewteam>img{
  width:38px!important;height:38px!important;min-width:38px!important;
  object-fit:contain!important;justify-self:center!important;align-self:center!important;
}
.previewmatchup:not(.previewmatchup-started)>.previewteam>span{
  width:100%!important;min-width:0!important;height:auto!important;min-height:0!important;
  display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:center!important;
  text-align:center!important;overflow:visible!important;
}
.previewmatchup:not(.previewmatchup-started)>.previewteam>span b{
  width:100%!important;height:auto!important;line-height:1.05!important;
  font-size:13.5px!important;font-weight:900!important;text-align:center!important;white-space:nowrap!important;
}
.previewmatchup:not(.previewmatchup-started)>.previewteam>span small:not(.yourPickTag){
  width:100%!important;height:auto!important;line-height:1.08!important;
  margin-top:2px!important;font-size:10.25px!important;font-weight:650!important;text-align:center!important;white-space:nowrap!important;
}
.previewmatchup:not(.previewmatchup-started)>.previewteam .yourPickTag{
  position:static!important;inset:auto!important;left:auto!important;right:auto!important;top:auto!important;bottom:auto!important;
  display:block!important;width:100%!important;height:auto!important;line-height:1!important;
  margin:4px 0 0!important;padding:0!important;
  font-size:8.5px!important;font-weight:950!important;letter-spacing:.045em!important;text-align:center!important;white-space:nowrap!important;
}
.previewmatchup:not(.previewmatchup-started)>.previewat{
  width:20px!important;min-width:20px!important;justify-self:center!important;text-align:center!important;font-weight:850!important;
}
.previewgame:not(.previewgame-started) .pregamePreviewMeta{
  width:100%!important;min-width:0!important;box-sizing:border-box!important;
  align-self:center!important;justify-self:stretch!important;text-align:right!important;
  padding:1px 2px 0 4px!important;
  font-size:11.5px!important;line-height:1.28!important;
}
.previewgame:not(.previewgame-started) .pregamePreviewMeta b{font-size:14.5px!important;line-height:1.18!important}
.previewgame:not(.previewgame-started) .pregamePreviewMeta small{font-size:10.5px!important;line-height:1.2!important}
.previewgame:not(.previewgame-started) .gameweather{
  margin-top:4px!important;min-height:18px!important;font-size:10.5px!important;line-height:1.15!important;font-weight:800!important;
}

/* Game Center: symmetric team lanes with deliberate score/status breathing room. */
.unifiedMatchupScoreboard:not(.no-score){
  grid-template-columns:minmax(76px,1fr) 44px 84px 44px minmax(76px,1fr)!important;
  gap:5px!important;
}
.unifiedMatchupScoreboard.compact:not(.no-score){
  grid-template-columns:minmax(68px,1fr) 42px 82px 42px minmax(68px,1fr)!important;
  gap:4px!important;
}
.unifiedMatchupScoreboard.no-score,
.unifiedMatchupScoreboard.compact.no-score{
  grid-template-columns:minmax(0,1fr) 0 88px 0 minmax(0,1fr)!important;
  gap:8px!important;
}
.unifiedMatchupScoreboard .matchupTeamStack,
.unifiedMatchupScoreboard.compact .matchupTeamStack{
  min-width:0!important;width:100%!important;padding:0!important;overflow:visible!important;
  align-items:center!important;text-align:center!important;
}
.unifiedMatchupScoreboard.compact .matchupLogoBox{width:60px!important;height:60px!important;margin-bottom:6px!important}
.unifiedMatchupScoreboard.compact .matchupPlace,
.unifiedMatchupScoreboard.compact .matchupNickname{font-size:13px!important;line-height:1.05!important;text-align:center!important}
.unifiedMatchupScoreboard.compact .matchupRecord{font-size:11.5px!important;line-height:1.1!important;margin-top:5px!important;min-height:13px!important}
.unifiedMatchupScoreboard.compact .matchupScoreCell{width:42px!important;min-width:42px!important;text-align:center!important}
.unifiedMatchupScoreboard.compact .matchupScoreCell strong{font-size:31px!important;line-height:1!important}
.unifiedMatchupScoreboard.compact .unifiedMatchupCenter{width:82px!important;min-width:82px!important;min-height:72px!important;text-align:center!important}
.unifiedMatchupScoreboard.compact .matchupState{display:block!important;font-size:14px!important;line-height:1.05!important;white-space:nowrap!important}
.unifiedMatchupScoreboard.compact .matchupState.final{font-size:15px!important;letter-spacing:.025em!important}
.unifiedMatchupScoreboard .matchupScoreCell strong{white-space:nowrap!important}

/* Quick + Full Game Center metadata: date, venue, then TV network on its own line. */
.popupMeta,.gcmeta{
  display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:center!important;
  gap:4px!important;text-align:center!important;
}
.popupMetaDate,.popupMetaVenue,.popupMetaBroadcast,.gcVenueLine,.gcBroadcastLine{
  display:block!important;width:100%!important;text-align:center!important;
}
.popupMetaBroadcast,.gcBroadcastLine{margin-top:2px!important}
.popupMetaBroadcast .broadcastMark,.gcBroadcastLine .broadcastMark{margin:0 auto!important}
.gcstatus{font-weight:800!important;opacity:1!important}
body:not(.light-mode) .gcstatus,
body:not(.light-mode) .popupMetaDate,
body:not(.light-mode) .popupMetaVenue,
body:not(.light-mode) .gcmeta,
body:not(.light-mode) .gcmeta *{color:#dce7f4!important}
body.light-mode .gcstatus,
body.light-mode .popupMetaDate,
body.light-mode .popupMetaVenue,
body.light-mode .gcmeta,
body.light-mode .gcmeta *{color:#294863!important}

/* Picks Board landscape: leave a small width safety margin so the final column cannot clip. */
@media (orientation:landscape) and (min-width:600px){
  .boardscroll{overflow-x:hidden!important}
  .pickstable{width:100%!important;min-width:100%!important;max-width:100%!important;table-layout:fixed!important}
  .pickstable .playercol{width:10.4%!important;min-width:0!important;max-width:none!important}
  .pickstable .gamehead,.pickstable .pickcell{width:5.1%!important;min-width:0!important;max-width:none!important;padding-left:1px!important;padding-right:1px!important}
  .pickstable .tbhead,.pickstable .tbcell{width:4%!important;min-width:0!important;max-width:none!important;padding-left:1px!important;padding-right:1px!important}
  .pickstable .matchuphead span{font-size:8px!important}
  .pickstable .matchuphead small{font-size:6.75px!important}
  .pickstable .pickcell span{font-size:9px!important}
}

@media(max-width:430px){
  .previewgame:not(.previewgame-started){grid-template-columns:minmax(0,66%) minmax(0,34%)!important;column-gap:6px!important}
  .previewmatchup:not(.previewmatchup-started){grid-template-columns:minmax(0,1fr) 18px minmax(0,1fr)!important;gap:4px!important}
  .previewmatchup:not(.previewmatchup-started)>.previewteam,
  .previewmatchup:not(.previewmatchup-started)>.previewteam.schedule-your-pick{
    height:64px!important;min-height:64px!important;grid-template-columns:35px minmax(0,1fr)!important;padding:5px 4px!important;column-gap:4px!important;
  }
  .previewmatchup:not(.previewmatchup-started)>.previewteam>img{width:35px!important;height:35px!important;min-width:35px!important}
  .previewmatchup:not(.previewmatchup-started)>.previewteam>span b{font-size:13px!important}
  .previewmatchup:not(.previewmatchup-started)>.previewteam>span small:not(.yourPickTag){font-size:9.75px!important}
  .previewmatchup:not(.previewmatchup-started)>.previewteam .yourPickTag{font-size:8px!important;margin-top:3px!important}
  .previewgame:not(.previewgame-started) .pregamePreviewMeta{font-size:10.75px!important;line-height:1.25!important}
  .previewgame:not(.previewgame-started) .pregamePreviewMeta b{font-size:14px!important}
  .previewgame:not(.previewgame-started) .pregamePreviewMeta small{font-size:10px!important}
  .unifiedMatchupScoreboard.compact:not(.no-score){grid-template-columns:minmax(64px,1fr) 40px 78px 40px minmax(64px,1fr)!important;gap:3px!important}
  .unifiedMatchupScoreboard.compact .matchupLogoBox{width:56px!important;height:56px!important}
  .unifiedMatchupScoreboard.compact .matchupPlace,.unifiedMatchupScoreboard.compact .matchupNickname{font-size:12.5px!important}
  .unifiedMatchupScoreboard.compact .matchupRecord{font-size:11px!important}
  .unifiedMatchupScoreboard.compact .matchupScoreCell{width:40px!important;min-width:40px!important}
  .unifiedMatchupScoreboard.compact .matchupScoreCell strong{font-size:29px!important}
  .unifiedMatchupScoreboard.compact .unifiedMatchupCenter{width:78px!important;min-width:78px!important}
}

/* Beta 3.2.17 — final UAT polish: theme isolation, protected schedule lanes, readable help/network, matched actions. */

/* Week dashboard action pairs: Show and Refresh are equal-weight actions unless actually disabled. */
.weekPanelActions{display:flex;gap:10px;align-items:center}
.weekPanelActions .smallbtn,.weekPanelActions .quietRefresh{
  min-width:74px!important;min-height:42px!important;
  opacity:1!important;font-weight:750!important;
}
body:not(.light-mode) .weekPanelActions .smallbtn:not(:disabled),
body:not(.light-mode) .weekPanelActions .quietRefresh:not(:disabled){
  background:#16243a!important;color:#eef5ff!important;border-color:#38506d!important;
}
body.light-mode .weekPanelActions .smallbtn:not(:disabled),
body.light-mode .weekPanelActions .quietRefresh:not(:disabled){
  background:#cbd9e5!important;color:#24384f!important;border-color:#91a9bf!important;
}

/* Help page: readable body copy and accordion controls in Light mode. */
body.light-mode .helpcenter .helpbody,
body.light-mode .helpcenter .helpbody p,
body.light-mode .helpcenter .helpbody b,
body.light-mode .helpcenter .helpcolors,
body.light-mode .helpcenter .helpcolors span,
body.light-mode .helpcenter summary{color:#21374f!important;opacity:1!important}
body.light-mode .helpcenter summary:after{color:#4f6b86!important}

/* Picks Board pregame language: same system in both themes — away slightly lighter, home slightly darker. */
.pickstable .pickcell.board-pending-away{background:#4a586d!important;color:#f0f5fb!important}
.pickstable .pickcell.board-pending-home{background:#3f4d62!important;color:#f0f5fb!important}
body.light-mode .pickstable .pickcell.board-pending-away{background:#dbe3ea!important;color:#20364e!important}
body.light-mode .pickstable .pickcell.board-pending-home{background:#c9d4df!important;color:#20364e!important}
.pickstable .pickcell.board-correct,.pickstable .pickcell.board-wrong,.pickstable .pickcell.board-tie,.pickstable .pickcell.board-canceled{background-clip:padding-box!important}

/* Schedule: protected matchup + gutter + details; no dark rectangle behind date/time. */
.previewgame:not(.previewgame-started){
  grid-template-columns:minmax(0,64%) minmax(0,36%)!important;
  column-gap:10px!important;
}
.previewgame:not(.previewgame-started) .pregamePreviewMeta{
  background:transparent!important;box-shadow:none!important;border:0!important;
  padding:2px 10px 0 2px!important;text-align:right!important;
  color:inherit!important;
}
body:not(.light-mode) .previewgame:not(.previewgame-started) .pregamePreviewMeta,
body:not(.light-mode) .previewgame:not(.previewgame-started) .pregamePreviewMeta *{
  color:#edf4fc!important;opacity:1!important;
}
.previewmatchup:not(.previewmatchup-started){
  grid-template-columns:minmax(0,1fr) 22px minmax(0,1fr)!important;
  gap:4px!important;
}
.previewmatchup:not(.previewmatchup-started)>.previewteam,
.previewmatchup:not(.previewmatchup-started)>.previewteam.schedule-your-pick{
  height:74px!important;min-height:74px!important;
  grid-template-columns:42px minmax(0,1fr)!important;
  padding:6px 4px!important;column-gap:4px!important;
  overflow:visible!important;
}
.previewmatchup:not(.previewmatchup-started)>.previewteam>img{
  width:42px!important;height:42px!important;min-width:42px!important;
}
.previewmatchup:not(.previewmatchup-started)>.previewteam>span{overflow:visible!important;min-width:0!important}
.previewmatchup:not(.previewmatchup-started)>.previewteam>span b{font-size:15px!important;line-height:1!important}
.previewmatchup:not(.previewmatchup-started)>.previewteam>span small:not(.yourPickTag){font-size:11px!important;line-height:1.05!important;margin-top:3px!important}
.previewmatchup:not(.previewmatchup-started)>.previewteam .yourPickTag{
  font-size:9.5px!important;line-height:1!important;margin-top:5px!important;
  width:100%!important;text-align:center!important;overflow:visible!important;
}
body:not(.light-mode) .previewteam .yourPickTag{color:#f3f7fb!important;opacity:1!important}
.previewmatchup:not(.previewmatchup-started)>.previewat{font-size:15px!important;color:inherit!important}
.previewgame:not(.previewgame-started) .gameweather{padding-left:1px!important}

/* Broadcast marks: large, legible neutral badges in both themes. */
.broadcastMark.broadcastLogoMark{
  display:inline-flex!important;align-items:center!important;justify-content:center!important;
  min-width:58px!important;height:30px!important;padding:3px 9px!important;border-radius:16px!important;
  box-sizing:border-box!important;
}
.broadcastLogoMark img{max-width:42px!important;max-height:20px!important;width:auto!important;height:auto!important;display:block}
body:not(.light-mode) .broadcastMark.broadcastLogoMark{
  background:#dce6ef!important;border:1px solid #8ea6bd!important;color:#17385a!important;
}
body.light-mode .broadcastMark.broadcastLogoMark{
  background:#d5e0ea!important;border:1px solid #91a9bf!important;color:#23384f!important;
}
.broadcastFallback{font-size:12px!important;font-weight:900!important;line-height:1!important;color:inherit!important}

/* Quick + Full Game Center venue hierarchy: stadium, city/state, network. */
.popupMeta,.gcmeta{gap:5px!important}
.popupMetaVenue,.gcVenueLine{font-size:15px!important;line-height:1.2!important;font-weight:650!important}
.popupMetaLocation,.gcLocationLine{display:block!important;width:100%!important;text-align:center!important;font-size:13px!important;line-height:1.15!important;font-weight:550!important}
.popupMetaBroadcast,.gcBroadcastLine{margin-top:5px!important}
body:not(.light-mode) .popupMetaLocation,body:not(.light-mode) .gcLocationLine{color:#b8c8da!important}
body.light-mode .popupMetaLocation,body.light-mode .gcLocationLine{color:#536c84!important}

/* Game Center score geometry: preserve equal team lanes and visible separation from status. */
.unifiedMatchupScoreboard:not(.no-score){grid-template-columns:minmax(78px,1fr) 48px 92px 48px minmax(78px,1fr)!important;gap:7px!important}
.unifiedMatchupScoreboard.compact:not(.no-score){grid-template-columns:minmax(70px,1fr) 44px 88px 44px minmax(70px,1fr)!important;gap:6px!important}
.unifiedMatchupScoreboard .matchupScoreCell strong{letter-spacing:.01em!important}
.unifiedMatchupScoreboard .unifiedMatchupCenter{padding:0 5px!important;box-sizing:border-box!important}
.unifiedMatchupScoreboard .matchupRecord{font-size:13px!important}
.unifiedMatchupScoreboard.compact .matchupRecord{font-size:12.5px!important}

@media(max-width:430px){
  .previewgame:not(.previewgame-started){grid-template-columns:minmax(0,63%) minmax(0,37%)!important;column-gap:8px!important}
  .previewmatchup:not(.previewmatchup-started){grid-template-columns:minmax(0,1fr) 18px minmax(0,1fr)!important;gap:3px!important}
  .previewmatchup:not(.previewmatchup-started)>.previewteam,
  .previewmatchup:not(.previewmatchup-started)>.previewteam.schedule-your-pick{
    height:70px!important;min-height:70px!important;grid-template-columns:39px minmax(0,1fr)!important;padding:5px 3px!important;column-gap:3px!important;
  }
  .previewmatchup:not(.previewmatchup-started)>.previewteam>img{width:39px!important;height:39px!important;min-width:39px!important}
  .previewmatchup:not(.previewmatchup-started)>.previewteam>span b{font-size:14px!important}
  .previewmatchup:not(.previewmatchup-started)>.previewteam>span small:not(.yourPickTag){font-size:10.25px!important}
  .previewmatchup:not(.previewmatchup-started)>.previewteam .yourPickTag{font-size:8.75px!important;margin-top:4px!important}
  .previewgame:not(.previewgame-started) .pregamePreviewMeta{padding-right:7px!important;font-size:10.8px!important}
  .previewgame:not(.previewgame-started) .pregamePreviewMeta b{font-size:14px!important}
  .popupMetaVenue,.gcVenueLine{font-size:14.5px!important}
  .popupMetaLocation,.gcLocationLine{font-size:12.5px!important}
  .unifiedMatchupScoreboard.compact:not(.no-score){grid-template-columns:minmax(62px,1fr) 40px 82px 40px minmax(62px,1fr)!important;gap:4px!important}
}

/* Beta 3.2.18 — authoritative UAT cleanup. Keep these rules last. */

/* Picks Board: unfinished picks use the same Away-light / Home-dark language in both themes. */
body:not(.light-mode) .pickstable .pickcell.board-pending-away{
  background:#53647b!important;color:#f5f8fc!important;
}
body:not(.light-mode) .pickstable .pickcell.board-pending-home{
  background:#3c4b60!important;color:#f5f8fc!important;
}
body.light-mode .pickstable .pickcell.board-pending-away{
  background:#e1e7ed!important;color:#21384f!important;
}
body.light-mode .pickstable .pickcell.board-pending-home{
  background:#c8d3de!important;color:#21384f!important;
}
body:not(.light-mode) .pickstable .pickcell.board-pending-away span,
body:not(.light-mode) .pickstable .pickcell.board-pending-home span{color:#f5f8fc!important}
body.light-mode .pickstable .pickcell.board-pending-away span,
body.light-mode .pickstable .pickcell.board-pending-home span{color:#21384f!important}

/* Schedule preview: three protected lanes — matchup, breathing room, details. */
.previewgame:not(.previewgame-started){
  grid-template-columns:minmax(0,66%) minmax(0,34%)!important;
  column-gap:10px!important;
  overflow:visible!important;
}
.previewgame:not(.previewgame-started) .previewleft{min-width:0!important;overflow:visible!important}
.previewmatchup:not(.previewmatchup-started){
  width:100%!important;min-width:0!important;
  grid-template-columns:minmax(0,1fr) 20px minmax(0,1fr)!important;
  gap:4px!important;overflow:visible!important;
}
.previewmatchup:not(.previewmatchup-started)>.previewteam,
.previewmatchup:not(.previewmatchup-started)>.previewteam.schedule-your-pick{
  width:100%!important;min-width:0!important;box-sizing:border-box!important;
  height:76px!important;min-height:76px!important;
  grid-template-columns:44px minmax(0,1fr)!important;
  column-gap:5px!important;padding:6px 5px!important;
  overflow:hidden!important;
}
.previewmatchup:not(.previewmatchup-started)>.previewteam>img{
  width:44px!important;height:44px!important;min-width:44px!important;max-width:44px!important;
}
.previewmatchup:not(.previewmatchup-started)>.previewteam>span{
  min-width:0!important;width:100%!important;overflow:hidden!important;
  display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:center!important;text-align:center!important;
}
.previewmatchup:not(.previewmatchup-started)>.previewteam>span b{
  width:100%!important;font-size:15.5px!important;line-height:1!important;white-space:nowrap!important;text-align:center!important;
}
.previewmatchup:not(.previewmatchup-started)>.previewteam>span small:not(.yourPickTag){
  width:100%!important;font-size:11.25px!important;line-height:1.05!important;margin-top:3px!important;white-space:nowrap!important;text-align:center!important;
}
.previewmatchup:not(.previewmatchup-started)>.previewteam .yourPickTag{
  position:static!important;width:100%!important;max-width:100%!important;
  margin:5px 0 0!important;padding:0!important;
  font-size:9.25px!important;line-height:1!important;font-weight:950!important;letter-spacing:.04em!important;
  white-space:nowrap!important;text-align:center!important;overflow:hidden!important;text-overflow:clip!important;
}
.previewmatchup:not(.previewmatchup-started)>.previewat{
  width:20px!important;min-width:20px!important;display:flex!important;align-items:center!important;justify-content:center!important;text-align:center!important;
}
.previewgame:not(.previewgame-started) .pregamePreviewMeta{
  min-width:0!important;width:100%!important;box-sizing:border-box!important;
  padding:2px 12px 0 4px!important;margin:0!important;
  background:transparent!important;border:0!important;box-shadow:none!important;
  text-align:right!important;overflow:visible!important;
}
body:not(.light-mode) .previewgame:not(.previewgame-started) .pregamePreviewMeta,
body:not(.light-mode) .previewgame:not(.previewgame-started) .pregamePreviewMeta *{
  background:transparent!important;color:#eef5fc!important;opacity:1!important;
}
body.light-mode .previewgame:not(.previewgame-started) .pregamePreviewMeta,
body.light-mode .previewgame:not(.previewgame-started) .pregamePreviewMeta *{
  background:transparent!important;color:#29445e!important;opacity:1!important;
}
body.light-mode .previewteam .yourPickTag{color:#284b69!important;opacity:1!important}
body:not(.light-mode) .previewteam .yourPickTag{color:#f3f7fb!important;opacity:1!important}

/* Schedule page / pick-card page: complete Light-mode surface + contrast correction. */
body.light-mode .game{
  background:#eef4f9!important;border-color:#afc1d2!important;color:#1d3047!important;
}
body.light-mode .game .gamehead{
  background:#e7eef5!important;border-color:#aebfd0!important;color:#49647e!important;
}
body.light-mode .game .gamehead span,
body.light-mode .game .weather,
body.light-mode .daylabel{color:#506b84!important;opacity:1!important}
body.light-mode .game .teams{background:#afbdca!important}
body.light-mode .game .team{
  background:#e6edf4!important;color:#21364e!important;border-color:#afbfce!important;opacity:1!important;
}
body.light-mode .game .team .teamabbr,
body.light-mode .game .team .teamname{color:#29445e!important;opacity:1!important}
body.light-mode .game .team .record{color:#526b83!important;opacity:1!important}
body.light-mode .game .team.selected{
  background:#d8eee1!important;color:#193f2d!important;box-shadow:inset 0 0 0 2px #3f9f70!important;
}
body.light-mode .game .team.selected .teamabbr{color:#246f4e!important}
body.light-mode .game .team.selected .teamname{color:#1f3e31!important}
body.light-mode .game .team.selected .record{color:#496b5a!important}
body.light-mode .game.game-started{opacity:1!important}

/* Light-mode success/submitted surfaces: semantic but no dark-mode blocks. */
body.light-mode .successbox,
body.light-mode #submittedBanner{
  background:#d8efe2!important;border-color:#56a879!important;color:#214e38!important;box-shadow:none!important;
}
body.light-mode .successbox *,body.light-mode #submittedBanner *{color:#214e38!important;opacity:1!important}
body.light-mode .successbox.pendingbox{background:#f4ead2!important;border-color:#ba9450!important;color:#654819!important}
body.light-mode .successbox.pendingbox *{color:#654819!important}

/* Super Bowl challenge preset cards: proper Light mode, including all secondary copy. */
body.light-mode .presetgrid .preset{
  background:#dce7f0!important;border-color:#8fa8be!important;color:#20354c!important;box-shadow:none!important;
}
body.light-mode .presetgrid .preset small{color:#526b83!important;opacity:1!important}
body.light-mode .presetgrid .preset.selected{
  background:#cfe0ef!important;border-color:#4f88b8!important;box-shadow:inset 0 0 0 1px #4f88b8!important;
}
body.light-mode .presetgrid .preset.selected small{color:#3f5d77!important}

/* Help center: no washed-out body copy anywhere in Light mode. */
body.light-mode .helpcenter,
body.light-mode .helpcenter p,
body.light-mode .helpcenter li,
body.light-mode .helpcenter b,
body.light-mode .helpcenter strong,
body.light-mode .helpcenter .helpbody,
body.light-mode .helpcenter .helpbody *{color:#263d55!important;opacity:1!important}
body.light-mode .helpcenter summary{color:#1f334a!important;opacity:1!important}
body.light-mode .helpcenter summary:after{color:#536f89!important;opacity:1!important}

/* Broadcaster: clearly visible in both themes, larger than before. */
.broadcastMark.broadcastLogoMark{
  min-width:66px!important;height:34px!important;padding:4px 10px!important;border-radius:17px!important;
}
.broadcastLogoMark img{max-width:48px!important;max-height:23px!important}
.broadcastFallback{font-size:13px!important;font-weight:950!important}
body:not(.light-mode) .broadcastMark.broadcastLogoMark{
  background:#e7eef5!important;border-color:#91a7bb!important;color:#173a5b!important;
}
body.light-mode .broadcastMark.broadcastLogoMark{
  background:#d8e3ec!important;border-color:#8fa8be!important;color:#203b55!important;
}

/* Quick + Full Game Center venue hierarchy. */
.popupMetaVenue,.gcVenueLine{font-size:16px!important;line-height:1.2!important;font-weight:700!important}
.popupMetaLocation,.gcLocationLine{font-size:14px!important;line-height:1.15!important;font-weight:600!important;margin-top:1px!important}
.popupMetaBroadcast,.gcBroadcastLine{margin-top:7px!important}
body:not(.light-mode) .popupMetaVenue,body:not(.light-mode) .gcVenueLine{color:#edf4fb!important}
body:not(.light-mode) .popupMetaLocation,body:not(.light-mode) .gcLocationLine{color:#c3d1df!important}
body.light-mode .popupMetaVenue,body.light-mode .gcVenueLine{color:#29445e!important}
body.light-mode .popupMetaLocation,body.light-mode .gcLocationLine{color:#506b83!important}

/* Full/Quick final score: keep state separated from both scores. */
.unifiedMatchupScoreboard:not(.no-score){grid-template-columns:minmax(78px,1fr) 48px 96px 48px minmax(78px,1fr)!important;gap:8px!important}
.unifiedMatchupScoreboard.compact:not(.no-score){grid-template-columns:minmax(68px,1fr) 44px 92px 44px minmax(68px,1fr)!important;gap:6px!important}
.unifiedMatchupScoreboard .unifiedMatchupCenter{min-width:0!important;padding:0 7px!important}

/* Show and Refresh are matched peer actions unless truly disabled. */
.weekPanelActions .smallbtn:not(:disabled),
.weekPanelActions .quietRefresh:not(:disabled){opacity:1!important;font-weight:750!important}
body.light-mode .weekPanelActions .smallbtn:not(:disabled),
body.light-mode .weekPanelActions .quietRefresh:not(:disabled){background:#cbd9e5!important;color:#24384f!important;border-color:#91a9bf!important}
body:not(.light-mode) .weekPanelActions .smallbtn:not(:disabled),
body:not(.light-mode) .weekPanelActions .quietRefresh:not(:disabled){background:#16243a!important;color:#eef5ff!important;border-color:#38506d!important}

@media(max-width:430px){
  .previewgame:not(.previewgame-started){grid-template-columns:minmax(0,66%) minmax(0,34%)!important;column-gap:8px!important}
  .previewmatchup:not(.previewmatchup-started){grid-template-columns:minmax(0,1fr) 18px minmax(0,1fr)!important;gap:3px!important}
  .previewmatchup:not(.previewmatchup-started)>.previewteam,
  .previewmatchup:not(.previewmatchup-started)>.previewteam.schedule-your-pick{
    height:72px!important;min-height:72px!important;grid-template-columns:40px minmax(0,1fr)!important;padding:5px 4px!important;column-gap:4px!important;
  }
  .previewmatchup:not(.previewmatchup-started)>.previewteam>img{width:40px!important;height:40px!important;min-width:40px!important;max-width:40px!important}
  .previewmatchup:not(.previewmatchup-started)>.previewteam>span b{font-size:14.5px!important}
  .previewmatchup:not(.previewmatchup-started)>.previewteam>span small:not(.yourPickTag){font-size:10.5px!important}
  .previewmatchup:not(.previewmatchup-started)>.previewteam .yourPickTag{font-size:8.6px!important;margin-top:4px!important}
  .previewgame:not(.previewgame-started) .pregamePreviewMeta{padding-right:10px!important;font-size:10.8px!important;line-height:1.24!important}
  .previewgame:not(.previewgame-started) .pregamePreviewMeta b{font-size:14px!important}
  .popupMetaVenue,.gcVenueLine{font-size:15.5px!important}
  .popupMetaLocation,.gcLocationLine{font-size:13.5px!important}
}

/* Beta 4.0.1 — mobile UAT cleanup from post-hardening screenshot review. */

/* Picks Board: make Away-light / Home-dark as obvious in Dark mode as it is in Light mode. */
body:not(.light-mode) .pickstable .pickcell.board-pending-away{
  background:#667b96!important;color:#f7faff!important;
}
body:not(.light-mode) .pickstable .pickcell.board-pending-home{
  background:#2f4057!important;color:#f7faff!important;
}
body.light-mode .pickstable .pickcell.board-pending-away{
  background:#e3eaf0!important;color:#20364e!important;
}
body.light-mode .pickstable .pickcell.board-pending-home{
  background:#c3cfdb!important;color:#20364e!important;
}
.pickstable .pickcell.board-pending-away span,
.pickstable .pickcell.board-pending-home span{color:inherit!important}
.pickstable .pickcell{position:relative!important}
.soloBadge{
  top:5px!important;right:5px!important;font-size:11px!important;
  line-height:1!important;transform:none!important;
}

/* Schedule Preview: give the matchup more of the phone width so YOUR PICK never truncates. */
.previewgame:not(.previewgame-started){
  grid-template-columns:minmax(0,70%) minmax(0,30%)!important;
  column-gap:7px!important;
}
.previewmatchup:not(.previewmatchup-started){
  grid-template-columns:minmax(0,1fr) 18px minmax(0,1fr)!important;
  gap:4px!important;
}
.previewmatchup:not(.previewmatchup-started)>.previewteam,
.previewmatchup:not(.previewmatchup-started)>.previewteam.schedule-your-pick{
  height:72px!important;min-height:72px!important;
  grid-template-columns:38px minmax(0,1fr)!important;
  column-gap:4px!important;padding:5px 4px!important;
}
.previewmatchup:not(.previewmatchup-started)>.previewteam>img{
  width:38px!important;height:38px!important;min-width:38px!important;max-width:38px!important;
}
.previewmatchup:not(.previewmatchup-started)>.previewteam>span{
  min-width:0!important;overflow:visible!important;
}
.previewmatchup:not(.previewmatchup-started)>.previewteam .yourPickTag{
  width:auto!important;max-width:none!important;
  font-size:8.4px!important;letter-spacing:0!important;
  white-space:nowrap!important;overflow:visible!important;text-overflow:clip!important;
  margin-top:4px!important;
}
.previewgame:not(.previewgame-started) .pregamePreviewMeta{
  padding:2px 8px 0 2px!important;font-size:10.4px!important;line-height:1.22!important;
}
.previewgame:not(.previewgame-started) .pregamePreviewMeta b{font-size:13.5px!important}
.previewgame:not(.previewgame-started) .pregamePreviewMeta small{font-size:9.8px!important}
.previewgame:not(.previewgame-started) .gameweather{margin-top:4px!important;margin-bottom:10px!important;line-height:1.2!important}
.previewgame.previewgame-started{padding-bottom:10px!important;margin-bottom:8px!important;border-bottom:1px solid rgba(121,148,175,.28)!important}
.previewgame-started .livePreviewMeta{margin-top:5px!important;margin-bottom:3px!important}
.previewgame-started .livePreviewPcts{position:static!important;clear:both!important;padding-top:2px!important}

/* Quick Game Center: the full identity already says the matchup, so remove the duplicate NE @ SEA line. */
.scheduleGameTop h2{display:none!important}
.scheduleGameTop{margin-bottom:2px!important}

/* Quick Game Center: stronger mirrored spacing around FINAL/LIVE and the two scores. */
.unifiedMatchupScoreboard.compact:not(.no-score){
  grid-template-columns:minmax(76px,1fr) 42px 78px 42px minmax(76px,1fr)!important;
  column-gap:7px!important;
}
.unifiedMatchupScoreboard.compact .matchupScoreCell.away{transform:translateX(-3px)}
.unifiedMatchupScoreboard.compact .matchupScoreCell.home{transform:translateX(3px)}
.unifiedMatchupScoreboard.compact .unifiedMatchupCenter{width:78px!important;min-width:78px!important;padding:0 3px!important}
.unifiedMatchupScoreboard.compact .matchupState{font-size:14px!important;white-space:nowrap!important}

/* League Picks is informational: use each team's identity color, not grading colors. */
.popupPickBarV2>i{background:#26394f!important}
.popupPickBarV2>i .away{background:var(--away-pick-color,#71849a)!important}
.popupPickBarV2>i .home{background:var(--home-pick-color,#38516b)!important}
body.light-mode .popupPickBarV2>i{background:#becbd7!important}
.gcSplitTrack .away{background:var(--away-pick-color,#71849a)!important}
.gcSplitTrack .home{background:var(--home-pick-color,#38516b)!important}

/* QA: keep the lower activity area above iPhone/Safari safe areas and make empty league wording cleaner. */
#qaView{padding-bottom:calc(110px + env(safe-area-inset-bottom,0px))!important}
#qaView .panel:last-child{margin-bottom:24px!important}

@media(max-width:430px){
  :root{--board-player-w:106px;--board-game-w:54px;--board-tb-w:42px}
  .pickstable .playercol{padding-left:7px!important;padding-right:5px!important}
  .pickstable .playername{font-size:13px!important}
  .pickstable .playerrecord{font-size:9.5px!important}
  .pickstable .gamehead,.pickstable .pickcell{padding-left:2px!important;padding-right:2px!important}

  .previewgame:not(.previewgame-started){grid-template-columns:minmax(0,70%) minmax(0,30%)!important;column-gap:6px!important}
  .previewmatchup:not(.previewmatchup-started)>.previewteam,
  .previewmatchup:not(.previewmatchup-started)>.previewteam.schedule-your-pick{
    height:70px!important;min-height:70px!important;
    grid-template-columns:36px minmax(0,1fr)!important;padding:4px 3px!important;column-gap:3px!important;
  }
  .previewmatchup:not(.previewmatchup-started)>.previewteam>img{width:36px!important;height:36px!important;min-width:36px!important;max-width:36px!important}
  .previewmatchup:not(.previewmatchup-started)>.previewteam>span b{font-size:14px!important}
  .previewmatchup:not(.previewmatchup-started)>.previewteam>span small:not(.yourPickTag){font-size:10px!important}
  .previewmatchup:not(.previewmatchup-started)>.previewteam .yourPickTag{font-size:8px!important;margin-top:3px!important}
  .previewgame:not(.previewgame-started) .pregamePreviewMeta{font-size:10px!important;padding-right:5px!important}
  .previewgame:not(.previewgame-started) .pregamePreviewMeta b{font-size:13.25px!important}

  .unifiedMatchupScoreboard.compact:not(.no-score){
    grid-template-columns:minmax(72px,1fr) 40px 74px 40px minmax(72px,1fr)!important;gap:5px!important;
  }
  .unifiedMatchupScoreboard.compact .unifiedMatchupCenter{width:74px!important;min-width:74px!important}
  .unifiedMatchupScoreboard.compact .matchupScoreCell strong{font-size:31px!important}
}


/* Beta 4.0.2 — make pending Away/Home choices unmistakable in Dark mode. */
body:not(.light-mode) .pickstable .pickcell.board-pending-away{
  background:#778ca8!important;
  color:#ffffff!important;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.10)!important;
}
body:not(.light-mode) .pickstable .pickcell.board-pending-home{
  background:#29394f!important;
  color:#ffffff!important;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.035)!important;
}
body.light-mode .pickstable .pickcell.board-pending-away{
  background:#e6edf3!important;
  color:#20364e!important;
}
body.light-mode .pickstable .pickcell.board-pending-home{
  background:#c4d0dc!important;
  color:#20364e!important;
}


/* Beta 4.0.4 — interaction reliability + mobile UI cleanup */
/* Definitive pending-pick contrast: these rules intentionally live last in the cascade. */
body:not(.light-mode):not(.color-assist) .pickstable .pickcell.board-pending.board-pending-away,
body:not(.light-mode):not(.color-assist) .pickstable .pickcell.board-pending.board-away{
  background:#7187a3!important;color:#fff!important;background-image:none!important;
}
body:not(.light-mode):not(.color-assist) .pickstable .pickcell.board-pending.board-pending-home,
body:not(.light-mode):not(.color-assist) .pickstable .pickcell.board-pending.board-home{
  background:#2c3c52!important;color:#fff!important;background-image:none!important;
}
body.light-mode .pickstable .pickcell.board-pending.board-pending-away,
body.light-mode .pickstable .pickcell.board-pending.board-away{background:#e6edf3!important;color:#20364e!important}
body.light-mode .pickstable .pickcell.board-pending.board-pending-home,
body.light-mode .pickstable .pickcell.board-pending.board-home{background:#c4d0dc!important;color:#20364e!important}

/* Finished Schedule Preview rows: same team identity scale as upcoming, no vertical score dividers. */
.previewgame-started .previewmatchup-started{grid-template-columns:minmax(0,1fr) 42px 70px 42px minmax(0,1fr)!important;gap:5px!important;align-items:center!important}
.previewgame-started .previewteam{min-height:70px!important;padding:5px 4px!important;display:grid!important;grid-template-columns:40px minmax(0,1fr)!important;gap:5px!important;align-items:center!important}
.previewgame-started .previewteam img{width:40px!important;height:40px!important;max-width:40px!important;object-fit:contain!important}
.previewgame-started .previewteam b{font-size:15px!important;line-height:1.05!important;color:#f4f8ff!important}
.previewgame-started .previewteam small{font-size:10.5px!important;color:#aebed0!important}
.previewgame-started .previewScore,.previewgame-started .previewFinalState{border-left:0!important;border-right:0!important;box-shadow:none!important}
body.light-mode .previewgame-started .previewteam b{color:#20364e!important}
body.light-mode .previewgame-started .previewteam small{color:#587087!important}
.previewgame.previewgame-started{border-bottom:0!important}

/* Quick Game Center follows Full Game Center hierarchy: date first, then matchup. */
.popupMetaDateTop{text-align:center;font-size:14px;font-weight:700;letter-spacing:.05em;color:#dbe6f1;margin:0 0 8px}
body.light-mode .popupMetaDateTop{color:#29445e}
.popupMeta .popupMetaDate{display:none!important}
.gcPregameUpdates{padding:16px!important;border:1px solid #31465e!important;border-radius:16px!important;background:#101c2c!important}
.gcPregameUpdates>b{display:block;font-size:17px;margin:3px 0 4px}
body.light-mode .gcPregameUpdates{background:#edf3f8!important;border-color:#a7bacb!important}
body.light-mode .gcPregameUpdates>b{color:#20364e!important}

/* iOS reorder: prevent selection loupe/callout while using the dedicated grip. */
.leagueDragHandle,.leagueDragHandle *,body.leagueDraggingActive .groupcard{
  -webkit-user-select:none!important;user-select:none!important;-webkit-touch-callout:none!important;
}
.leagueDragHandle{touch-action:none!important}
.leagueDragging{transform:scale(1.015)!important;box-shadow:0 18px 42px rgba(0,0,0,.35)!important;z-index:9999!important}
.leagueDragPlaceholder{border:1px dashed #5f7894;border-radius:18px;background:rgba(91,122,153,.10)}

/* Chat poll lives inside chat and message actions are native-app-like. */
.chatPollFeed{margin-top:14px}
.chatPollFeed .chatpoll{margin:10px 0;padding:14px;border:1px solid #31465e;border-radius:15px;background:#101c2c}
.chatPollFeed .chatpoll>b{display:block;font-size:16px;margin:5px 0 10px}
.voteopt{display:flex!important;justify-content:space-between!important;gap:10px!important;align-items:center!important}
.voteopt.voted{border-color:#28c979!important;box-shadow:inset 0 0 0 1px rgba(40,201,121,.25)!important}
.voteopt span{font-size:12px;opacity:.78}
.chatNoPolls{display:none}
.chatPollComposer{margin-top:14px;padding:14px;border:1px solid #31465e;border-radius:16px;background:#101c2c}
.chatPollComposer input{margin-top:8px}
.chatPollComposer .primary{margin-top:10px;width:100%}
body.light-mode .chatPollFeed .chatpoll,body.light-mode .chatPollComposer{background:#eef4f8!important;border-color:#a8bacb!important;color:#20364e!important}
.chatbubble[data-message-id]{-webkit-touch-callout:none;touch-action:pan-y}
.chatMessageMenu{position:fixed;z-index:12000;width:176px;padding:6px;background:#111d2d;border:1px solid #435a73;border-radius:14px;box-shadow:0 18px 50px rgba(0,0,0,.45)}
.chatMessageMenu button{width:100%;margin:0}
body.light-mode .chatMessageMenu{background:#f0f5f9;border-color:#9eb2c5}

/* Super Bowl builder wording / badges / scanning polish. */
.manualResultBadge{display:inline-flex;margin-left:7px;padding:3px 7px;border-radius:999px;border:1px solid #8c6c29;background:#2a2415;color:#f4cf70;font-size:9px;font-weight:800;letter-spacing:.07em;text-transform:uppercase;vertical-align:middle;white-space:nowrap}
body.light-mode .manualResultBadge{background:#fff2c8;color:#70530f;border-color:#c4a354}
.propcategory{margin-top:22px}
.propcheck{padding:12px 0!important;align-items:flex-start!important}
.propcheck label{line-height:1.28!important}
.preset small{margin-top:4px!important}

/* Keep utility pages out of Safari's bottom chrome. */
#accountView,#helpView,#qaView{padding-bottom:calc(110px + env(safe-area-inset-bottom,0px))!important}

@media(max-width:430px){
  .previewgame-started .previewmatchup-started{grid-template-columns:minmax(0,1fr) 38px 62px 38px minmax(0,1fr)!important;gap:3px!important}
  .previewgame-started .previewteam{min-height:66px!important;grid-template-columns:36px minmax(0,1fr)!important;gap:4px!important;padding:4px 3px!important}
  .previewgame-started .previewteam img{width:36px!important;height:36px!important;max-width:36px!important}
  .previewgame-started .previewteam b{font-size:14px!important}
  .previewgame-started .previewteam small{font-size:10px!important}
  .popupMetaDateTop{font-size:13px;margin-bottom:6px}
  .chatactions{gap:6px!important;flex-wrap:wrap!important}
  #openPollComposerBtn{flex:0 0 auto!important}
}

/* Beta 4.0.5 — FINAL Schedule rows use the same team-card scale as upcoming games. */
/* Completed games have five real lanes: away | away score | FINAL | home score | home. */
.previewgame-started .previewmatchup-started.previewmatchup-final{
  grid-template-columns:minmax(0,1fr) 42px 70px 42px minmax(0,1fr)!important;
  gap:5px!important;
  align-items:center!important;
}
.previewmatchup-final>.previewPossInline{display:none!important}
.previewmatchup-final>.previewteam,
.previewmatchup-final>.previewteam.schedule-your-pick{
  width:100%!important;
  height:72px!important;
  min-height:72px!important;
  box-sizing:border-box!important;
  display:grid!important;
  grid-template-columns:38px minmax(0,1fr)!important;
  column-gap:4px!important;
  align-items:center!important;
  padding:5px 4px!important;
  border-radius:10px!important;
}
.previewmatchup-final>.previewteam>img{
  width:38px!important;height:38px!important;min-width:38px!important;max-width:38px!important;
  justify-self:center!important;object-fit:contain!important;
}
.previewmatchup-final>.previewteam>span{min-width:0!important;width:100%!important;text-align:center!important;overflow:visible!important}
.previewmatchup-final>.previewteam>span b{font-size:15px!important;line-height:1.05!important;white-space:nowrap!important}
.previewmatchup-final>.previewteam>span small:not(.yourPickTag){font-size:10.5px!important;line-height:1.05!important;margin-top:3px!important;white-space:nowrap!important}
.previewmatchup-final>.previewteam .yourPickTag{font-size:8.4px!important;line-height:1!important;margin-top:4px!important;white-space:nowrap!important;overflow:visible!important}
.previewmatchup-final>.previewTeamScore{width:42px!important;min-width:42px!important;text-align:center!important;font-size:22px!important;border:0!important;box-shadow:none!important}
.previewmatchup-final>.previewCenterStatus{width:70px!important;min-width:70px!important;text-align:center!important;border:0!important;box-shadow:none!important}
.previewmatchup-final>.previewCenterStatus.finalStatus{font-size:12px!important;letter-spacing:.035em!important}

/* Live games keep possession lanes; do not apply the five-column FINAL geometry. */
.previewgame-started .previewmatchup-started.previewmatchup-live{
  grid-template-columns:minmax(0,1fr) 14px 38px 66px 38px 14px minmax(0,1fr)!important;
  gap:3px!important;
  align-items:center!important;
}

@media(max-width:430px){
  .previewgame-started .previewmatchup-started.previewmatchup-final{
    grid-template-columns:minmax(0,1fr) 38px 62px 38px minmax(0,1fr)!important;
    gap:3px!important;
  }
  .previewmatchup-final>.previewteam,
  .previewmatchup-final>.previewteam.schedule-your-pick{
    height:70px!important;min-height:70px!important;
    grid-template-columns:36px minmax(0,1fr)!important;
    padding:4px 3px!important;column-gap:3px!important;
  }
  .previewmatchup-final>.previewteam>img{width:36px!important;height:36px!important;min-width:36px!important;max-width:36px!important}
  .previewmatchup-final>.previewteam>span b{font-size:14px!important}
  .previewmatchup-final>.previewteam>span small:not(.yourPickTag){font-size:10px!important}
  .previewmatchup-final>.previewteam .yourPickTag{font-size:8px!important;margin-top:3px!important}
  .previewmatchup-final>.previewTeamScore{width:38px!important;min-width:38px!important;font-size:20px!important}
  .previewmatchup-final>.previewCenterStatus{width:62px!important;min-width:62px!important}
  .previewgame-started .previewmatchup-started.previewmatchup-live{
    grid-template-columns:minmax(0,1fr) 10px 34px 58px 34px 10px minmax(0,1fr)!important;
    gap:2px!important;
  }
}

/* Beta 4.0.6 — league-switch state isolation + matched green CTAs. */
.createJoinPanel #createBtn,
.createJoinPanel #joinBtn{
  background:#27c978!important;
  color:#071d12!important;
  border:1px solid #239a61!important;
  min-height:48px!important;
  border-radius:12px!important;
  padding:13px 14px!important;
  font-weight:850!important;
  width:100%!important;
}
.createJoinPanel #createBtn:active,
.createJoinPanel #joinBtn:active{background:#22b96d!important}
body.light-mode .createJoinPanel #createBtn,
body.light-mode .createJoinPanel #joinBtn{
  background:#d9efe2!important;
  color:#174f34!important;
  border-color:#5fa77e!important;
}
body.light-mode .createJoinPanel #createBtn:active,
body.light-mode .createJoinPanel #joinBtn:active{background:#cae6d5!important}

.weekSwitchLoading{min-height:210px;display:grid;place-content:center;justify-items:center;gap:9px;color:#91a6bd;text-align:center}
.weekSwitchLoading>span{display:block;width:min(72vw,280px);height:14px;border-radius:999px;background:rgba(123,151,180,.14)}
.weekSwitchLoading>span:nth-child(2){width:min(60vw,230px)}
.weekSwitchLoading>span:nth-child(3){width:min(66vw,250px)}
.weekSwitchLoading small{margin-top:5px;font-size:11px;font-weight:800;letter-spacing:.05em;text-transform:uppercase}
body.light-mode .weekSwitchLoading{color:#5d7389}
body.light-mode .weekSwitchLoading>span{background:#dbe5ee}

.finalPreviewVenue{margin:7px auto 0;text-align:center;color:#93a8bd;font-size:10.5px;font-weight:700;line-height:1.2;letter-spacing:.01em}
body.light-mode .finalPreviewVenue{color:#526a80}


/* Beta 4.0.7 — Light-mode readability pass. Dark mode intentionally untouched. */
body.light-mode{
  --text:#152b43!important;
  --muted:#405d78!important;
  --line:#91a9bf!important;
}
body.light-mode .accountnote,
body.light-mode .notifysettings .fine,
body.light-mode .accessibilitysettings .fine,
body.light-mode .accessibilitysettings .switchrow small,
body.light-mode .notifysettings .switchrow small{
  color:#405d78!important;opacity:1!important;
}
body.light-mode .notifysettings .switchrow,
body.light-mode .accessibilitysettings .switchrow{
  color:#172f48!important;border-color:#a0b5c8!important;
}
body.light-mode .notifysettings .switchrow b,
body.light-mode .accessibilitysettings .switchrow b{color:#152b43!important}
body.light-mode .notifysettings input[type=checkbox],
body.light-mode .accessibilitysettings input[type=checkbox]{
  border-color:#70869a!important;box-shadow:0 0 0 1px rgba(54,82,107,.10)!important;
}
body.light-mode .helpcenter,
body.light-mode .helpcenter p,
body.light-mode .helpcenter li,
body.light-mode .helpcenter b,
body.light-mode .helpcenter strong,
body.light-mode .helpcenter .helpbody,
body.light-mode .helpcenter .helpbody *{color:#18324b!important;opacity:1!important}
body.light-mode .helpcenter summary{color:#132c45!important;opacity:1!important}
body.light-mode .helpcenter summary:after{color:#365a78!important;opacity:1!important}
body.light-mode .helpcenter details,
body.light-mode .helpcolors{border-color:#8ea7bd!important}
body.light-mode .helpcolors span{color:#203c56!important;opacity:1!important}
body.light-mode .helpcenter>.muted{color:#36556f!important}

/* Super Bowl: result-source mechanics stay internal. Do not label entrants with implementation details. */
.manualResultBadge{display:none!important}

/* Beta 4.0.9 — final cleanup release-candidate pass. */
/* Schedule Preview: preserve horizontal geometry, tighten only vertical rhythm. */
.previewgame:not(.previewgame-started){padding-top:5px!important;padding-bottom:5px!important;margin-bottom:3px!important}
.previewgame:not(.previewgame-started) .gameweather{margin-top:2px!important;margin-bottom:5px!important}
.previewgame.previewgame-started{padding-top:4px!important;padding-bottom:5px!important;margin-bottom:3px!important}
.previewgame-started .livePreviewMeta{margin-top:3px!important;margin-bottom:1px!important}
.previewgame-started .livePreviewPcts{padding-top:0!important;margin-top:1px!important}
.finalPreviewVenue{margin-top:3px!important}

/* Picks Board: larger team abbreviations without changing cell geometry. */
.pickstable .pickcell span{font-size:12.25px!important;font-weight:900!important}
@media (orientation:landscape) and (max-height:600px){.pickstable .pickcell span{font-size:10.25px!important}}
@media (max-width:430px) and (orientation:portrait){.pickstable .pickcell span{font-size:10.5px!important}}

/* Commissioner quick actions: one consistent native-style SVG icon family. */
.commissionerQuickActions .commissionerActionIcon{width:25px;height:25px;display:grid;place-items:center;color:#dbe9f7!important}
.commissionerQuickActions .commissionerActionIcon svg{width:25px;height:25px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.commissionerQuickActions .commissionerDollarIcon{color:#62dfa0!important}
.commissionerQuickActions button,.commissionerQuickActions a{background:#101e31!important;border-color:#36536f!important}
body.light-mode .commissionerQuickActions button,body.light-mode .commissionerQuickActions a{background:#e8f0f6!important;border-color:#8fa9c0!important}
body.light-mode .commissionerQuickActions .commissionerActionIcon{color:#294b69!important}
body.light-mode .commissionerQuickActions .commissionerDollarIcon{color:#23865a!important}

/* Super Bowl prop rows: fixed control lane + vertically centered question lane. */
.propcheck{display:grid!important;grid-template-columns:38px minmax(0,1fr) auto!important;column-gap:12px!important;align-items:center!important;min-height:58px!important;padding:8px 0!important}
.propcheck input{grid-column:1!important;align-self:center!important;justify-self:start!important;margin:0!important}
.propcheck label{grid-column:2!important;align-self:center!important;margin:0!important;line-height:1.3!important}
.propcheck .customPropDelete{grid-column:3!important;align-self:center!important}

/* Long-press menus share the same above-finger treatment. */
.chatMessageMenu{transform:translateY(-2px)}

/* Light-mode status surfaces: never inherit near-black dark-mode fills. */
body.light-mode .notice{background:#e8f1f7!important;border-color:#91abc1!important;color:#294b68!important}
body.light-mode .notice.ok{background:#dff2e7!important;border-color:#6eae88!important;color:#1e6743!important}
body.light-mode .notice.bad{background:#f8e3e4!important;border-color:#c98b90!important;color:#7b3037!important}
body.light-mode .transientToast{background:#e8f1f7!important;border-color:#8ea9c0!important;color:#244760!important;box-shadow:0 10px 26px rgba(44,67,89,.16)!important}
body.light-mode .transientToast.ok{background:#dff2e7!important;border-color:#6eae88!important;color:#1e6743!important}
body.light-mode .transientToast.pending{background:#fff2cf!important;border-color:#c99d3d!important;color:#765711!important}
body.light-mode .pendingapproval,body.light-mode .pendingApproval,body.light-mode .standingsPending,body.light-mode .pendingApprovalBanner{background:#fff2cf!important;border:1px solid #c99d3d!important;color:#765711!important}
body.light-mode .pendingapproval *,body.light-mode .pendingApproval *,body.light-mode .standingsPending *,body.light-mode .pendingApprovalBanner *{color:#765711!important}
body.light-mode .pendingStrip{background:#fff2cf!important;border-color:#c99d3d!important;color:#765711!important}
body.light-mode .pendingStrip *{color:#765711!important}

/* Beta 4.1.0 — Full Week / Custom Games */
.weekGameSelector{margin-top:10px;padding:12px;border:1px solid rgba(135,160,190,.28);border-radius:14px;background:rgba(8,18,34,.28)}
.weekGameSelectorHead{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:10px}
.weekGameGrid{display:grid;grid-template-columns:1fr;gap:7px;margin:8px 0 12px}
.weekGameOption{display:grid;grid-template-columns:24px 1fr auto;align-items:center;gap:8px;min-height:46px;padding:8px 10px;border:1px solid rgba(135,160,190,.22);border-radius:11px;background:rgba(13,27,48,.48)}
.weekGameOption input{width:18px;height:18px;margin:0}
.weekGameOption b{font-size:13px;line-height:1.15}.weekGameOption small{display:block;margin-top:2px;color:var(--muted,#91a4ba);font-size:10px}.weekGameOption time{font-size:10px;color:var(--muted,#91a4ba);white-space:nowrap}
.gameSelectionCreateCard{max-width:560px;max-height:min(88vh,760px);overflow:auto}
body.light-mode .weekGameSelector{background:#edf4fa;border-color:#b6c8d8}
body.light-mode .weekGameOption{background:#f8fbfd;border-color:#c5d3df}
body.light-mode .weekGameOption small,body.light-mode .weekGameOption time{color:#52667c}


/* Beta 4.1.1 — consistency + state-fix pass. */
/* Schedule Preview: selected state must never change the team footprint. */
.previewmatchup>.previewteam{
  box-sizing:border-box!important;
  border:1px solid transparent;
  border-radius:10px;
  min-width:0!important;
  overflow:hidden;
}
.previewmatchup:not(.previewmatchup-started)>.previewteam,
.previewmatchup:not(.previewmatchup-started)>.previewteam.schedule-your-pick{
  height:64px!important;min-height:64px!important;
  padding:5px 6px!important;
}
.previewmatchup-started>.previewteam,
.previewmatchup-started>.previewteam.schedule-your-pick{
  height:64px!important;min-height:64px!important;
  padding:5px 6px!important;
  display:grid!important;grid-template-columns:38px minmax(0,1fr)!important;
  align-items:center!important;column-gap:6px!important;
}
.previewmatchup-started>.previewteam>img{width:38px!important;height:38px!important;object-fit:contain!important}
.previewmatchup>.previewteam.schedule-your-pick{border-width:1px!important}
@media(max-width:430px){
  .previewmatchup:not(.previewmatchup-started)>.previewteam,
  .previewmatchup:not(.previewmatchup-started)>.previewteam.schedule-your-pick,
  .previewmatchup-started>.previewteam,
  .previewmatchup-started>.previewteam.schedule-your-pick{
    height:60px!important;min-height:60px!important;padding:4px 4px!important;
  }
  .previewmatchup-started>.previewteam{grid-template-columns:34px minmax(0,1fr)!important;column-gap:4px!important}
  .previewmatchup-started>.previewteam>img{width:34px!important;height:34px!important}
}

/* Picks Board: one canonical cell geometry in portrait and landscape. */
:root{--board-player-w:150px;--board-game-w:82px;--board-tb-w:60px;--board-row-h:72px}
.boardscroll{overflow-x:auto!important;-webkit-overflow-scrolling:touch!important}
.pickstable{
  width:calc(var(--board-player-w) + (16 * var(--board-game-w)) + var(--board-tb-w))!important;
  min-width:calc(var(--board-player-w) + (16 * var(--board-game-w)) + var(--board-tb-w))!important;
  max-width:none!important;table-layout:fixed!important;
}
.pickstable tr{height:var(--board-row-h)!important}
.pickstable th,.pickstable td{height:var(--board-row-h)!important;min-height:var(--board-row-h)!important;max-height:var(--board-row-h)!important}
.pickstable .playercol{width:var(--board-player-w)!important;min-width:var(--board-player-w)!important;max-width:var(--board-player-w)!important}
.pickstable .gamehead,.pickstable .pickcell{width:var(--board-game-w)!important;min-width:var(--board-game-w)!important;max-width:var(--board-game-w)!important;padding-left:4px!important;padding-right:4px!important}
.pickstable .tbhead,.pickstable .tbcell{width:var(--board-tb-w)!important;min-width:var(--board-tb-w)!important;max-width:var(--board-tb-w)!important}
.pickstable .pickcell span{font-size:13.5px!important;font-weight:900!important}
.pickstable .matchuphead span{font-size:10px!important}.pickstable .matchuphead small{font-size:8px!important}
.pickstable .playername{font-size:14px!important}.pickstable .playerrecord{font-size:10px!important}
@media (orientation:landscape){
  .boardscroll{overflow-x:auto!important}
  .pickstable{width:calc(var(--board-player-w) + (16 * var(--board-game-w)) + var(--board-tb-w))!important;min-width:calc(var(--board-player-w) + (16 * var(--board-game-w)) + var(--board-tb-w))!important;max-width:none!important;table-layout:fixed!important}
  .pickstable .playercol{width:var(--board-player-w)!important;min-width:var(--board-player-w)!important;max-width:var(--board-player-w)!important}
  .pickstable .gamehead,.pickstable .pickcell{width:var(--board-game-w)!important;min-width:var(--board-game-w)!important;max-width:var(--board-game-w)!important}
  .pickstable .tbhead,.pickstable .tbcell{width:var(--board-tb-w)!important;min-width:var(--board-tb-w)!important;max-width:var(--board-tb-w)!important}
  .pickstable .pickcell span{font-size:13.5px!important}
}

/* Commissioner contact actions: larger, centered row directly under the name. */
.commissionerCardV2 .commissionerQuickActions{
  justify-content:center!important;gap:12px!important;margin:10px auto 12px!important;width:100%!important;
}
.commissionerCardV2 .commissionerQuickActions button,
.commissionerCardV2 .commissionerQuickActions a{
  width:56px!important;height:56px!important;min-width:56px!important;min-height:56px!important;border-radius:14px!important;
}
.commissionerCardV2 .commissionerQuickActions .commissionerActionIcon,
.commissionerCardV2 .commissionerQuickActions .commissionerActionIcon svg{width:30px!important;height:30px!important}

/* Beta 4.1.2 — consolidation + flow fixes. */
/* Custom Games: subtle but obvious day group separators. */
.weekGameDayHeader{margin:13px 2px 3px;padding:7px 4px 5px;border-bottom:1px solid rgba(120,151,183,.34);color:#9db3c9;font-size:10px;font-weight:950;letter-spacing:.12em;text-transform:uppercase}
.weekGameGrid .weekGameDayHeader:first-child{margin-top:2px}
body.light-mode .weekGameDayHeader{color:#47637d;border-bottom-color:#a9bdcf}

/* Header help/account are siblings: different shapes, same icon brightness/weight. */
.accountHeaderBtn{display:grid!important;place-items:center!important}
.headerAccountIcon{width:30px;height:30px;fill:none;stroke:#e8f3ff;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;opacity:.96}
body.light-mode .headerAccountIcon{stroke:#284a68}

/* Validation stays in view instead of sending the user to the top of a long pick card. */
.transientToast.bad{background:#4b1d23;border-color:#c74e5b;color:#ffe8ea;white-space:normal;max-width:min(88vw,480px)}
body.light-mode .transientToast.bad{background:#f8e3e4!important;border-color:#c98b90!important;color:#7b3037!important}
.game.validationMissing{outline:2px solid rgba(235,83,94,.82);outline-offset:2px;border-radius:15px}

/* Picks Board: restore the compact pre-4.1.1 geometry. Only the team text gets a modest bump. */
@media (orientation:landscape) and (min-width:600px){
  .boardscroll{width:100%!important;max-width:100%!important;overflow-x:hidden!important}
  .picksboardwrap{width:100%!important;max-width:100%!important}
  .pickstable{width:100%!important;min-width:100%!important;max-width:100%!important;table-layout:fixed!important}
  .pickstable tr{height:auto!important}
  .pickstable th,.pickstable td{height:auto!important;min-height:0!important;max-height:none!important}
  .pickstable .playercol{width:10.4%!important;min-width:0!important;max-width:none!important}
  .pickstable .gamehead,.pickstable .pickcell{width:5.1%!important;min-width:0!important;max-width:none!important;padding-left:1px!important;padding-right:1px!important}
  .pickstable .tbhead,.pickstable .tbcell{width:4%!important;min-width:0!important;max-width:none!important;padding-left:1px!important;padding-right:1px!important}
  .pickstable .matchuphead span{font-size:8px!important}.pickstable .matchuphead small{font-size:6.75px!important}
  .pickstable .pickcell span{font-size:10.25px!important;font-weight:900!important}
  .pickstable .playername{font-size:11px!important}.pickstable .playerrecord{font-size:8px!important}
}
@media (orientation:portrait){
  .pickstable .pickcell span{font-size:11.25px!important;font-weight:900!important}
}

/* Commissioner actions stay larger and centered under the name. */
.commissionerCardV2 .commissionerQuickActions{justify-content:center!important;gap:12px!important;margin:10px auto 12px!important;width:100%!important}
.commissionerCardV2 .commissionerQuickActions button,.commissionerCardV2 .commissionerQuickActions a{width:56px!important;height:56px!important;min-width:56px!important;min-height:56px!important;border-radius:14px!important}
.commissionerCardV2 .commissionerQuickActions .commissionerActionIcon,.commissionerCardV2 .commissionerQuickActions .commissionerActionIcon svg{width:30px!important;height:30px!important}


/* Beta 5.0.2 — Picks Board + Schedule UAT corrections. */
/* FINAL rows: give each team card more width while keeping the fixed score/status geometry. */
@media(max-width:430px){
  .previewgame-started .previewmatchup-started.previewmatchup-final{
    grid-template-columns:minmax(0,1fr) 32px 52px 32px minmax(0,1fr)!important;
    gap:2px!important;
  }
  .previewmatchup-final>.previewTeamScore{width:32px!important;min-width:32px!important;font-size:19px!important}
  .previewmatchup-final>.previewCenterStatus{width:52px!important;min-width:52px!important}
  .previewmatchup-final>.previewCenterStatus.finalStatus{font-size:10.5px!important;letter-spacing:.025em!important}
  .previewmatchup-final>.previewteam,
  .previewmatchup-final>.previewteam.schedule-your-pick{padding-left:5px!important;padding-right:5px!important}
}

/* Solo/island marker stays in a dedicated corner and never competes with the team abbreviation. */
.pickstable .pickcell{position:relative!important}
.pickstable .pickcell>span{display:block!important;position:relative!important;z-index:1!important}
.pickstable .soloBadge{
  position:absolute!important;top:3px!important;right:3px!important;
  font-size:8px!important;line-height:1!important;padding:0!important;border:0!important;
  background:transparent!important;color:#2f8be6!important;pointer-events:none!important;z-index:2!important;
}

/* Landscape target: fixed Player column + roughly eight game columns visible, then horizontal scroll. */
@media (orientation:landscape) and (min-width:600px){
  .picksboardwrap{width:100%!important;max-width:100%!important}
  .boardscroll{width:100%!important;max-width:100%!important;overflow-x:auto!important;-webkit-overflow-scrolling:touch!important}
  .pickstable{width:max-content!important;min-width:max-content!important;max-width:none!important;table-layout:fixed!important}
  .pickstable tr{height:52px!important}
  .pickstable th,.pickstable td{height:52px!important;min-height:52px!important;max-height:52px!important;padding-top:4px!important;padding-bottom:4px!important}
  .pickstable .playercol{width:128px!important;min-width:128px!important;max-width:128px!important;padding-left:8px!important;padding-right:6px!important}
  .pickstable .gamehead,.pickstable .pickcell{width:72px!important;min-width:72px!important;max-width:72px!important;padding-left:3px!important;padding-right:3px!important}
  .pickstable .tbhead,.pickstable .tbcell{width:50px!important;min-width:50px!important;max-width:50px!important;padding-left:2px!important;padding-right:2px!important}
  .pickstable .matchuphead span{font-size:8.5px!important}.pickstable .matchuphead small{font-size:7px!important}
  .pickstable .pickcell span{font-size:11.5px!important;font-weight:900!important}
  .pickstable .playername{font-size:12px!important}.pickstable .playerrecord{font-size:8.5px!important;margin-top:2px!important}
}

/* Portrait remains readable, but removes the oversized row/cell feel. */
@media (orientation:portrait){
  :root{--board-player-w:112px;--board-game-w:56px;--board-tb-w:44px;--board-row-h:60px}
  .pickstable tr{height:var(--board-row-h)!important}
  .pickstable th,.pickstable td{height:var(--board-row-h)!important;min-height:var(--board-row-h)!important;max-height:var(--board-row-h)!important;padding-top:5px!important;padding-bottom:5px!important}
  .pickstable .playercol{width:var(--board-player-w)!important;min-width:var(--board-player-w)!important;max-width:var(--board-player-w)!important}
  .pickstable .gamehead,.pickstable .pickcell{width:var(--board-game-w)!important;min-width:var(--board-game-w)!important;max-width:var(--board-game-w)!important}
  .pickstable .tbhead,.pickstable .tbcell{width:var(--board-tb-w)!important;min-width:var(--board-tb-w)!important;max-width:var(--board-tb-w)!important}
  .pickstable .pickcell span{font-size:10.75px!important}
  .pickstable .playername{font-size:12.5px!important}.pickstable .playerrecord{font-size:9px!important}
}

/* Beta 5.0.3 — responsive board, schedule alignment, auth polish. */
/* Schedule Preview team identity stays centered in its lane whether selected or not. */
.previewmatchup>.previewteam,
.previewmatchup>.previewteam.schedule-your-pick{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:5px!important;
  box-sizing:border-box!important;
}
.previewmatchup>.previewteam>img{flex:0 0 auto!important}
.previewmatchup>.previewteam>span{flex:0 1 auto!important;width:auto!important;max-width:calc(100% - 38px)!important}
.previewmatchup-final>.previewteam.schedule-your-pick{justify-content:center!important;padding-left:4px!important;padding-right:4px!important}

/* Late-entry missed games are neutral, not losses. */
.pickstable .pickcell.board-missed{background:#24364b!important;color:#8294a9!important}
.pickstable .pickcell.board-missed>span{opacity:.8!important}
body.light-mode .pickstable .pickcell.board-missed{background:#d7e1ea!important;color:#66798c!important}

/* Portrait: useful window of roughly 6–8 games. */
@media (orientation:portrait){
  :root{--board-player-w:96px;--board-game-w:44px;--board-tb-w:38px;--board-row-h:56px}
  .pickstable .playercol{width:96px!important;min-width:96px!important;max-width:96px!important;padding-left:6px!important;padding-right:4px!important}
  .pickstable .gamehead,.pickstable .pickcell{width:44px!important;min-width:44px!important;max-width:44px!important;padding-left:1px!important;padding-right:1px!important}
  .pickstable .tbhead,.pickstable .tbcell{width:38px!important;min-width:38px!important;max-width:38px!important}
  .pickstable tr,.pickstable th,.pickstable td{height:56px!important;min-height:56px!important;max-height:56px!important}
  .pickstable .pickcell span{font-size:9.7px!important}
  .pickstable .matchuphead span{font-size:8px!important}.pickstable .matchuphead small{font-size:6.5px!important}
  .pickstable .playername{font-size:11.5px!important}.pickstable .playerrecord{font-size:8px!important}
}

/* Landscape: Player + all 16 games + TB fit with no horizontal scrolling. */
@media (orientation:landscape) and (min-width:600px){
  .boardscroll{overflow-x:hidden!important}
  .pickstable{width:100%!important;min-width:100%!important;max-width:100%!important;table-layout:fixed!important}
  .pickstable .playercol{width:11.5%!important;min-width:0!important;max-width:none!important;padding-left:5px!important;padding-right:3px!important}
  .pickstable .gamehead,.pickstable .pickcell{width:5.15%!important;min-width:0!important;max-width:none!important;padding-left:0!important;padding-right:0!important}
  .pickstable .tbhead,.pickstable .tbcell{width:4.1%!important;min-width:0!important;max-width:none!important;padding-left:0!important;padding-right:0!important}
  .pickstable tr,.pickstable th,.pickstable td{height:46px!important;min-height:46px!important;max-height:46px!important;padding-top:2px!important;padding-bottom:2px!important}
  .pickstable .pickcell span{font-size:9.2px!important}
  .pickstable .matchuphead span{font-size:6.9px!important}.pickstable .matchuphead small{font-size:5.7px!important}
  .pickstable .playername{font-size:10px!important}.pickstable .playerrecord{font-size:7px!important}
  .pickstable .soloBadge{top:2px!important;right:2px!important;font-size:6.5px!important}
}

/* Keep transient feedback below the mobile app header instead of covering the brand. */
@media(max-width:430px){.transientToast{top:calc(env(safe-area-inset-top,0px) + 150px)!important}}

/* Account security: recovery is secondary, Cancel is obvious but subordinate. */
.changePasswordCancel{margin-top:8px!important}
.accountResetLink{font-size:13px!important;opacity:.8!important;margin-top:10px!important}

/* Beta 5.0.4 UAT — Schedule Preview geometry correction.
   Final rows contain two possession slots in the DOM, so preserve all seven grid tracks.
   Pregame rows reserve enough width for both team lanes and keep selected content inside its card. */
.previewmatchup-started.previewmatchup-final{
  grid-template-columns:minmax(0,1fr) 0 32px 52px 32px 0 minmax(0,1fr)!important;
  gap:3px!important;
}
.previewmatchup-final>.previewPossInline{width:0!important;min-width:0!important;overflow:hidden!important;font-size:0!important}
.previewmatchup-final>.previewteam,
.previewmatchup-final>.previewteam.schedule-your-pick{
  min-width:0!important;width:100%!important;overflow:hidden!important;
  display:grid!important;grid-template-columns:30px minmax(0,1fr)!important;
  column-gap:5px!important;justify-content:stretch!important;align-items:center!important;
  padding:6px 5px!important;
}
.previewmatchup-final>.previewteam>img{width:30px!important;height:30px!important;min-width:30px!important}
.previewmatchup-final>.previewteam>span{width:100%!important;max-width:100%!important;min-width:0!important;overflow:hidden!important}
.previewmatchup-final>.previewteam>span b,
.previewmatchup-final>.previewteam>span small,
.previewmatchup-final>.previewteam .yourPickTag{width:100%!important;max-width:100%!important;text-align:center!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:clip!important}

@media(max-width:430px){
  .previewgame:not(.previewgame-started){grid-template-columns:minmax(0,72%) minmax(0,28%)!important;column-gap:5px!important}
  .previewmatchup:not(.previewmatchup-started){grid-template-columns:minmax(0,1fr) 18px minmax(0,1fr)!important;gap:3px!important}
  .previewmatchup:not(.previewmatchup-started)>.previewteam,
  .previewmatchup:not(.previewmatchup-started)>.previewteam.schedule-your-pick{
    min-width:0!important;width:100%!important;overflow:hidden!important;
    display:grid!important;grid-template-columns:31px minmax(0,1fr)!important;
    column-gap:4px!important;padding:6px 4px!important;
  }
  .previewmatchup:not(.previewmatchup-started)>.previewteam>img{width:31px!important;height:31px!important;min-width:31px!important}
  .previewmatchup:not(.previewmatchup-started)>.previewteam>span{width:100%!important;max-width:100%!important;min-width:0!important;overflow:hidden!important}
  .previewmatchup:not(.previewmatchup-started)>.previewteam>span b{font-size:12.5px!important;overflow:hidden!important}
  .previewmatchup:not(.previewmatchup-started)>.previewteam>span small:not(.yourPickTag){font-size:9.5px!important;overflow:hidden!important}
  .previewmatchup:not(.previewmatchup-started)>.previewteam .yourPickTag{font-size:8px!important;overflow:hidden!important}
  .previewgame:not(.previewgame-started) .pregamePreviewMeta{font-size:10.5px!important;line-height:1.22!important;padding-left:2px!important}
  .previewgame:not(.previewgame-started) .pregamePreviewMeta b{font-size:13px!important}
  .previewgame-started .previewmatchup-started.previewmatchup-final{
    grid-template-columns:minmax(0,1fr) 0 30px 48px 30px 0 minmax(0,1fr)!important;
    gap:2px!important;
  }
  .previewmatchup-final>.previewTeamScore{width:30px!important;min-width:30px!important;font-size:18px!important}
  .previewmatchup-final>.previewCenterStatus{width:48px!important;min-width:48px!important;font-size:10px!important}
}


/* Beta 5.0.6 — mobile transient feedback must never run off-screen or cover the app brand.
   Long edit/save confirmations wrap naturally and sit directly below the sticky header. */
.transientToast{
  width:min(440px,calc(100vw - 32px))!important;
  max-width:min(440px,calc(100vw - 32px))!important;
  white-space:normal!important;
  overflow-wrap:anywhere!important;
  word-break:normal!important;
  line-height:1.25!important;
}
@media(max-width:430px){
  .transientToast{
    width:calc(100vw - 28px)!important;
    max-width:calc(100vw - 28px)!important;
    padding:10px 14px!important;
    border-radius:16px!important;
    font-size:13px!important;
    line-height:1.28!important;
    white-space:normal!important;
    text-align:center!important;
  }
}

/* Beta 5.1.0 — approved final polish + season-engine responsive foundation. */
/* Success feedback is intentionally compact; warnings/errors retain room to wrap. */
.transientToast.ok{width:max-content!important;max-width:calc(100vw - 32px)!important;padding:8px 14px!important;border-radius:999px!important;white-space:nowrap!important;font-size:12.5px!important;line-height:1.2!important}
@media(max-width:430px){.transientToast.ok{width:max-content!important;max-width:calc(100vw - 24px)!important;padding:8px 13px!important;border-radius:999px!important;white-space:nowrap!important}}

/* Season week status must stay readable instead of truncating "Awaiting approval". */
.weekbtn{min-width:0!important}.weekSnapshot{min-width:0!important;display:flex!important;align-items:center!important;gap:8px!important;flex:1 1 auto!important}.weekStatusText{min-width:0!important;overflow:visible!important;text-overflow:clip!important;white-space:nowrap!important}.weekRecord{flex:0 0 auto!important}
@media(max-width:430px){.weekbtn{gap:8px!important}.weekSnapshot{gap:5px!important}.weekStatusText{font-size:12px!important}.weekRecord{font-size:12px!important}}

/* Schedule Preview: center the Home record with its team identity; do not push "Home" right. */
@media(max-width:430px){
  .previewmatchup:not(.previewmatchup-started)>.previewteam:last-child>span{transform:translateX(-3px)!important}
  .previewmatchup:not(.previewmatchup-started)>.previewteam:last-child>span small{text-align:center!important;display:block!important;width:100%!important}
}

/* Approved Picks Board target: abbreviation centered inside a square-looking game tile. */
.pickstable .pickcell{position:relative!important;text-align:center!important;vertical-align:middle!important;padding:3px!important}
.pickstable .pickcell>span{display:flex!important;align-items:center!important;justify-content:center!important;width:100%!important;height:100%!important;min-height:0!important;border-radius:5px!important;font-weight:900!important;letter-spacing:.02em!important;line-height:1!important;text-align:center!important}
.pickstable .soloBadge{position:absolute!important;top:3px!important;right:3px!important;z-index:2!important;line-height:1!important;pointer-events:none!important}
@media(orientation:portrait){
  :root{--board-player-w:96px;--board-game-w:46px;--board-tb-w:38px;--board-row-h:52px}
  .pickstable tr,.pickstable th,.pickstable td{height:52px!important;min-height:52px!important;max-height:52px!important}
  .pickstable .gamehead,.pickstable .pickcell{width:46px!important;min-width:46px!important;max-width:46px!important}
  .pickstable .pickcell>span{font-size:11px!important}
}
@media(orientation:landscape) and (min-width:600px){
  .boardscroll{overflow-x:hidden!important}
  .pickstable{width:100%!important;min-width:100%!important;max-width:100%!important;table-layout:fixed!important}
  .pickstable tr,.pickstable th,.pickstable td{height:52px!important;min-height:52px!important;max-height:52px!important}
  .pickstable .pickcell{padding:3px!important}
  .pickstable .pickcell>span{font-size:10.5px!important}
}

/* Beta 5.2.0 — final carry-forward UI fixes. */
.hidden{display:none!important}
/* Selected Schedule Preview cards: keep record + Home/Away centered as one unit. */
.previewteam.schedule-your-pick>span{display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:center!important;min-width:0!important;text-align:center!important;transform:none!important}
.previewteam.schedule-your-pick>span small,.previewteam.schedule-your-pick .record{display:block!important;width:100%!important;text-align:center!important;white-space:nowrap!important;overflow:visible!important;text-overflow:clip!important;transform:none!important}
/* Account and Schedule Preview light-mode contrast audit. */
body.light-mode #accountView .settingrow b,body.light-mode #accountView .settingrow strong,body.light-mode #accountView .settingrow span:not(.muted),body.light-mode #accountView a,body.light-mode .leaguePickSummary,body.light-mode .previewLeaguePicks{color:#24364d!important}
body.light-mode #accountView .muted,body.light-mode #accountView small{color:#526981!important}

/* Beta 5.3.0 season standings + history */
.seasonStandingsPanel{overflow:hidden}.seasonStandingRows{display:grid;gap:8px;margin-top:14px}.seasonStandingRow{width:100%;display:grid;grid-template-columns:48px 1fr auto;gap:10px;align-items:center;text-align:left;background:var(--surface-2,#101b2b);border:1px solid var(--line,#30445f);border-radius:14px;padding:12px;color:inherit}.seasonRank{font-weight:900;font-size:18px}.seasonPlayer{display:flex;flex-direction:column;min-width:0}.seasonPlayer b{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.seasonPlayer small,.seasonMetric small{color:var(--muted,#9baac0);font-size:12px}.seasonMetric{text-align:right;display:flex;flex-direction:column}.seasonMetric b{font-size:20px}.seasonHistoryStrip{display:flex;gap:8px;overflow-x:auto;padding:14px 0 2px}.seasonHistoryWeek{min-width:64px;border:1px solid var(--line,#30445f);background:transparent;color:inherit;border-radius:12px;padding:8px;display:flex;flex-direction:column}.seasonHistoryWeek span{font-size:11px;color:var(--muted,#9baac0)}.seasonHistoryWeek.final{border-color:#2b9b67}.profileWeekHistory{margin-top:18px;display:grid;gap:7px}.profileWeekRow{display:grid;grid-template-columns:1fr auto;gap:4px;text-align:left;padding:10px 12px;border:1px solid var(--line,#30445f);border-radius:12px;background:transparent;color:inherit}.profileWeekRow small{grid-column:1/-1;color:var(--muted,#9baac0)}.soloBadge{display:none!important}

/* Beta 5.3.2 — pre-kickoff reliability + commissioner tools */
.pendingapproval.urgent{color:#ff6b73!important;background:rgba(163,35,45,.22);border:1px solid rgba(255,98,109,.72);border-radius:999px;padding:3px 7px;margin-left:5px}
.submittedname.pendingUrgent{border-color:#d94e59!important;background:rgba(121,27,35,.24)!important;box-shadow:0 0 0 1px rgba(217,78,89,.18) inset}
body.light-mode .submittedname.pendingUrgent{background:#fff0f1!important;border-color:#c94754!important}
body.light-mode .pendingapproval.urgent{background:#ffe3e5!important;border-color:#c94754!important;color:#a52632!important}
.dangerTiny{border-color:#8f3942!important;color:#ffb7bd!important;background:rgba(111,29,37,.22)!important}
body.light-mode .dangerTiny{color:#9b2530!important;background:#fff0f1!important;border-color:#c7616b!important}
#legacyGuestRecoverySettings select,#legacyGuestRecoverySettings input{width:100%}
#legacyGuestRecoverySettings #recoverLegacyGuestBtn{margin-top:10px;width:100%}

/* Keep team label stack geometrically centered even when a logo occupies the left side. */
.previewmatchup>.previewteam,
.previewmatchup>.previewteam.schedule-your-pick,
.previewmatchup-final>.previewteam,
.previewmatchup-final>.previewteam.schedule-your-pick{
  display:grid!important;
  grid-template-columns:34px minmax(0,1fr) 34px!important;
  align-items:center!important;
  justify-items:center!important;
  column-gap:4px!important;
  text-align:center!important;
}
.previewmatchup>.previewteam::after,
.previewmatchup-final>.previewteam::after{content:"";display:block;width:34px;height:1px;grid-column:3}
.previewmatchup>.previewteam>img,
.previewmatchup-final>.previewteam>img{grid-column:1!important;justify-self:center!important;margin:0!important}
.previewmatchup>.previewteam>span,
.previewmatchup-final>.previewteam>span,
.previewteam.schedule-your-pick>span{
  grid-column:2!important;
  width:100%!important;
  max-width:100%!important;
  min-width:0!important;
  display:flex!important;
  flex-direction:column!important;
  align-items:center!important;
  justify-content:center!important;
  text-align:center!important;
  transform:none!important;
}
.previewmatchup>.previewteam>span b,
.previewmatchup>.previewteam>span small,
.previewmatchup>.previewteam .yourPickTag{text-align:center!important;width:100%!important;margin-left:0!important;margin-right:0!important;transform:none!important}
@media(max-width:430px){
  .previewmatchup>.previewteam,.previewmatchup>.previewteam.schedule-your-pick,.previewmatchup-final>.previewteam,.previewmatchup-final>.previewteam.schedule-your-pick{grid-template-columns:30px minmax(0,1fr) 30px!important;column-gap:2px!important}
  .previewmatchup>.previewteam::after,.previewmatchup-final>.previewteam::after{width:30px!important}
}

/* Tiebreaker is a short numeric value; keep the control intentional and centered. */
.tiebreaker input#tiebreaker{width:132px!important;max-width:132px!important;text-align:center!important;font-size:24px!important;padding-left:10px!important;padding-right:10px!important}


/* Beta 5.3.4 — Schedule Preview mobile geometry repair.
   Center logo + team text as one unit and never truncate NFL abbreviations / YOUR PICK. */
.previewmatchup>.previewteam,
.previewmatchup>.previewteam.schedule-your-pick,
.previewmatchup-final>.previewteam,
.previewmatchup-final>.previewteam.schedule-your-pick{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:6px!important;
  min-width:0!important;
  overflow:visible!important;
  text-align:center!important;
}
.previewmatchup>.previewteam::after,
.previewmatchup-final>.previewteam::after{display:none!important;content:none!important}
.previewmatchup>.previewteam>img,
.previewmatchup-final>.previewteam>img{
  flex:0 0 31px!important;
  width:31px!important;
  height:31px!important;
  margin:0!important;
}
.previewmatchup>.previewteam>span,
.previewmatchup-final>.previewteam>span,
.previewteam.schedule-your-pick>span{
  flex:0 1 auto!important;
  width:auto!important;
  max-width:none!important;
  min-width:44px!important;
  overflow:visible!important;
  display:flex!important;
  flex-direction:column!important;
  align-items:center!important;
  justify-content:center!important;
  text-align:center!important;
  transform:none!important;
}
.previewmatchup>.previewteam>span b,
.previewmatchup-final>.previewteam>span b{
  display:block!important;
  width:auto!important;
  min-width:28px!important;
  max-width:none!important;
  white-space:nowrap!important;
  overflow:visible!important;
  text-overflow:clip!important;
  text-align:center!important;
}
.previewmatchup>.previewteam>span small,
.previewmatchup-final>.previewteam>span small{
  display:block!important;
  width:auto!important;
  max-width:none!important;
  white-space:nowrap!important;
  overflow:visible!important;
  text-overflow:clip!important;
  text-align:center!important;
}
.previewmatchup>.previewteam .yourPickTag,
.previewmatchup-final>.previewteam .yourPickTag{
  width:auto!important;
  max-width:none!important;
  white-space:nowrap!important;
  overflow:visible!important;
  text-overflow:clip!important;
  text-align:center!important;
}
/* Upcoming picks no longer use an absolute tag that can clip at the card edge. */
.previewmatchup:not(.previewmatchup-started)>.previewteam .yourPickTag{
  position:static!important;
  left:auto!important;
  right:auto!important;
  bottom:auto!important;
  height:auto!important;
  line-height:1.05!important;
  margin-top:2px!important;
}
.previewmatchup:not(.previewmatchup-started)>.previewteam>span{
  min-height:0!important;
  padding-bottom:0!important;
}
.previewmatchup:not(.previewmatchup-started)>.previewteam>span b,
.previewmatchup:not(.previewmatchup-started)>.previewteam>span small{
  height:auto!important;
  line-height:1.1!important;
}

@media(max-width:430px){
  .previewgame:not(.previewgame-started){
    grid-template-columns:minmax(0,72%) minmax(82px,28%)!important;
    column-gap:5px!important;
  }
  .previewmatchup:not(.previewmatchup-started){
    grid-template-columns:minmax(0,1fr) 16px minmax(0,1fr)!important;
    gap:2px!important;
  }
  .previewmatchup:not(.previewmatchup-started)>.previewteam,
  .previewmatchup:not(.previewmatchup-started)>.previewteam.schedule-your-pick{
    min-height:60px!important;
    padding:4px 3px!important;
    gap:4px!important;
  }
  .previewmatchup>.previewteam>img,
  .previewmatchup-final>.previewteam>img{
    flex-basis:28px!important;
    width:28px!important;
    height:28px!important;
  }
  .previewmatchup>.previewteam>span,
  .previewmatchup-final>.previewteam>span,
  .previewteam.schedule-your-pick>span{min-width:38px!important}
  .previewmatchup:not(.previewmatchup-started)>.previewteam>span b{font-size:12px!important}
  .previewmatchup:not(.previewmatchup-started)>.previewteam>span small{font-size:8.5px!important}
  .previewmatchup:not(.previewmatchup-started)>.previewteam .yourPickTag{font-size:8px!important;letter-spacing:.025em!important}
  .previewgame:not(.previewgame-started) .pregamePreviewMeta{
    padding-left:2px!important;
    font-size:9.5px!important;
    line-height:1.2!important;
  }
  /* Final/live score rows need full abbreviations and pick tags too. */
  .previewmatchup-started .previewteam{padding:4px 2px!important;gap:3px!important}
  .previewmatchup-started .previewteam>img{flex-basis:27px!important;width:27px!important;height:27px!important}
  .previewmatchup-started .previewteam>span{min-width:34px!important}
  .previewmatchup-started .previewteam>span b{font-size:12px!important}
  .previewmatchup-started .previewteam>span small{font-size:8.5px!important}
  .previewmatchup-started .previewteam .yourPickTag{font-size:8px!important;letter-spacing:.02em!important}
}

/* Late-entry controls: locked games remain visible but clearly non-interactive. */
.game.game-started .team:disabled{opacity:.58!important;cursor:not-allowed!important}
.game.game-started .team:disabled .teamabbr,
.game.game-started .team:disabled .teamname,
.game.game-started .team:disabled .record{opacity:.82!important}
#submitBtn:disabled{opacity:.58!important;cursor:not-allowed!important}

/* Beta 5.3.7 — live-day presentation containment hotfix.
   Narrow Android/light-mode safe geometry. No competition/data logic changes. */

/* Possession is an overlay, never a layout participant. */
.matchupScoreCell{position:relative!important;display:flex!important;justify-content:center!important;overflow:visible!important;gap:0!important}
.matchupScoreCell .scorePoss{position:absolute!important;top:50%!important;transform:translateY(-50%)!important;font-size:12px!important;line-height:1!important;pointer-events:none!important}
.matchupScoreCell.away .scorePoss{right:calc(100% + 1px)!important}
.matchupScoreCell.home .scorePoss{left:calc(100% + 1px)!important}

/* Full Game Center: five rigid lanes that always fit the card. */
.unifiedMatchupScoreboard:not(.no-score){
  grid-template-columns:minmax(0,1fr) 42px minmax(72px,84px) 42px minmax(0,1fr)!important;
  gap:2px!important;max-width:100%!important;overflow:visible!important;
}
.unifiedMatchupScoreboard .matchupTeamStack{min-width:0!important;width:100%!important;overflow:hidden!important;padding:0 2px!important;box-sizing:border-box!important}
.unifiedMatchupScoreboard .matchupLogoBox{max-width:100%!important}
.unifiedMatchupScoreboard .matchupPlace,.unifiedMatchupScoreboard .matchupNickname{max-width:100%!important;overflow:hidden!important;text-overflow:clip!important;overflow-wrap:anywhere!important}
.unifiedMatchupCenter{min-width:0!important;max-width:100%!important;overflow:hidden!important}
.matchupState{max-width:100%!important;font-variant-numeric:tabular-nums!important}
.matchupDown{max-width:100%!important}

/* Field can never escape its parent card. */
.liveFieldWrap,.liveField{width:100%!important;max-width:100%!important;box-sizing:border-box!important;min-width:0!important}
.liveFieldWrap{overflow:hidden!important}
.liveFieldMeta{min-width:0!important;max-width:100%!important}
.liveField .end.own{left:7px!important}.liveField .end.opp{right:7px!important}
.fieldBall{max-width:22px!important}

/* Schedule Preview live/final: team | score | state | score | team.
   Possession footballs overlay and consume zero grid width. */
.previewmatchup-started{position:relative!important;display:grid!important;grid-template-columns:minmax(0,1fr) 30px minmax(58px,70px) 30px minmax(0,1fr)!important;gap:2px!important;align-items:center!important;max-width:100%!important;overflow:visible!important}
.previewmatchup-started>.previewteam:first-child{grid-column:1!important}
.previewmatchup-started>.previewTeamScore:nth-of-type(2){grid-column:2!important}
.previewmatchup-started>.previewCenterStatus{grid-column:3!important;width:auto!important;min-width:0!important;max-width:100%!important;white-space:nowrap!important;overflow:hidden!important;text-align:center!important;font-variant-numeric:tabular-nums!important}
.previewmatchup-started>.previewTeamScore:nth-of-type(4){grid-column:4!important}
.previewmatchup-started>.previewteam:last-child{grid-column:5!important}
.previewmatchup-started>.previewTeamScore{width:auto!important;min-width:0!important;max-width:100%!important;font-variant-numeric:tabular-nums!important;font-size:18px!important;white-space:nowrap!important}
.previewmatchup-started>.previewPossInline{position:absolute!important;width:auto!important;min-width:0!important;z-index:3!important;font-size:11px!important;line-height:1!important;top:50%!important;transform:translateY(-50%)!important;pointer-events:none!important}
.previewmatchup-started>.previewPossInline:nth-of-type(1){left:calc((100% - 192px)/2 + 1px)!important}
.previewmatchup-started>.previewPossInline:nth-of-type(5){right:calc((100% - 192px)/2 + 1px)!important}
.previewmatchup-started>.previewteam{min-width:0!important;max-width:100%!important;overflow:hidden!important;padding:4px 2px!important;gap:3px!important}
.previewmatchup-started>.previewteam>img{flex:0 0 27px!important;width:27px!important;height:27px!important;min-width:27px!important}
.previewmatchup-started>.previewteam>span{min-width:0!important;max-width:100%!important;overflow:hidden!important}
.previewmatchup-started>.previewteam>span b,.previewmatchup-started>.previewteam>span small,.previewmatchup-started>.previewteam .yourPickTag{max-width:100%!important;overflow:hidden!important;text-overflow:clip!important;white-space:nowrap!important}

/* Light mode: selected pick remains readable in sunlight; finals use whole-box result color. */
body.light-mode .previewteam.schedule-your-pick .yourPickTag{color:#f7fbff!important;font-weight:1000!important;text-shadow:-1px 0 #173d62,0 1px #173d62,1px 0 #173d62,0 -1px #173d62!important;opacity:1!important}
body.light-mode .previewteam.schedule-your-pick.schedule-pick-correct{background:#2f8a59!important;border-color:#17663d!important;color:#fff!important;box-shadow:inset 0 0 0 1px rgba(255,255,255,.12)!important}
body.light-mode .previewteam.schedule-your-pick.schedule-pick-wrong{background:#b94b55!important;border-color:#8e2f39!important;color:#fff!important;box-shadow:inset 0 0 0 1px rgba(255,255,255,.10)!important}
body.light-mode .previewteam.schedule-your-pick.schedule-pick-correct b,body.light-mode .previewteam.schedule-your-pick.schedule-pick-correct small,body.light-mode .previewteam.schedule-your-pick.schedule-pick-correct .yourPickTag,
body.light-mode .previewteam.schedule-your-pick.schedule-pick-wrong b,body.light-mode .previewteam.schedule-your-pick.schedule-pick-wrong small,body.light-mode .previewteam.schedule-your-pick.schedule-pick-wrong .yourPickTag{color:#fff!important;opacity:1!important;text-shadow:0 1px 1px rgba(0,0,0,.34)!important}

/* Quick Game Center League Picks stays inside the card. */
.gcPickSplitSection,.gcSplitVisual{max-width:100%!important;box-sizing:border-box!important;min-width:0!important}
.gcSplitVisual{padding-left:2px!important;padding-right:2px!important}
.gcSplitTeam{min-width:64px!important;max-width:82px!important}.gcSplitTeam.right{justify-self:end!important}
.gcSplitTrack{min-width:0!important}

@media(max-width:430px){
  .unifiedMatchupScoreboard:not(.no-score){grid-template-columns:minmax(0,1fr) 36px minmax(66px,76px) 36px minmax(0,1fr)!important;gap:1px!important}
  .matchupLogoBox{width:44px!important;height:44px!important}
  .matchupPlace,.matchupNickname{font-size:11px!important;line-height:1.04!important}
  .matchupScoreCell strong{font-size:31px!important}
  .matchupScoreCell .scorePoss{font-size:10px!important}
  .unifiedMatchupCenter{min-height:58px!important}
  .matchupState{font-size:13px!important}
  .matchupDown{font-size:9px!important;line-height:1.1!important}
  .liveFieldWrap{padding:8px!important}
  .previewmatchup-started{grid-template-columns:minmax(0,1fr) 27px minmax(54px,64px) 27px minmax(0,1fr)!important;gap:1px!important}
  .previewmatchup-started>.previewTeamScore{font-size:17px!important}
  .previewmatchup-started>.previewCenterStatus{font-size:11px!important;letter-spacing:0!important}
  .previewmatchup-started>.previewPossInline:nth-of-type(1){left:calc((100% - 173px)/2)!important}
  .previewmatchup-started>.previewPossInline:nth-of-type(5){right:calc((100% - 173px)/2)!important}
  .previewmatchup-started>.previewteam>img{flex-basis:24px!important;width:24px!important;height:24px!important;min-width:24px!important}
  .previewmatchup-started>.previewteam>span b{font-size:11px!important}
  .previewmatchup-started>.previewteam>span small{font-size:8px!important}
  .previewmatchup-started>.previewteam .yourPickTag{font-size:7.5px!important}
}
@media(max-width:370px){
  .unifiedMatchupScoreboard:not(.no-score){grid-template-columns:minmax(0,1fr) 32px 62px 32px minmax(0,1fr)!important}
  .matchupLogoBox{width:40px!important;height:40px!important}
  .matchupPlace,.matchupNickname{font-size:10px!important}
  .matchupScoreCell strong{font-size:28px!important}
  .previewmatchup-started{grid-template-columns:minmax(0,1fr) 25px 52px 25px minmax(0,1fr)!important}
}

/* Beta 5.3.8 — emergency correction to 5.3.7 Android Schedule Preview geometry.
   Explicit child placement prevents auto-grid reflow from stacking scores/status vertically. */
.previewmatchup-started{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) 29px minmax(54px,64px) 29px minmax(0,1fr)!important;
  gap:2px!important;
  align-items:center!important;
  min-width:0!important;
  max-width:100%!important;
  overflow:visible!important;
}
.previewmatchup-started > .previewteam:first-child{grid-column:1!important;grid-row:1!important}
.previewmatchup-started > .previewTeamScore:first-of-type{grid-column:2!important;grid-row:1!important}
.previewmatchup-started > .previewCenterStatus{grid-column:3!important;grid-row:1!important}
.previewmatchup-started > .previewTeamScore:last-of-type{grid-column:4!important;grid-row:1!important}
.previewmatchup-started > .previewteam:last-child{grid-column:5!important;grid-row:1!important}
.previewmatchup-started > .previewPossInline{position:absolute!important;z-index:4!important;width:14px!important;min-width:14px!important;font-size:10px!important;line-height:1!important;top:50%!important;transform:translateY(-50%)!important;pointer-events:none!important}
.previewmatchup-started > .previewPossInline:nth-child(2){left:calc(50% - 82px)!important}
.previewmatchup-started > .previewPossInline:nth-child(6){right:calc(50% - 82px)!important}
.previewmatchup-started > .previewTeamScore{width:29px!important;min-width:29px!important;max-width:29px!important;text-align:center!important;justify-self:center!important;font-size:18px!important;line-height:1!important;white-space:nowrap!important;font-variant-numeric:tabular-nums!important}
.previewmatchup-started > .previewCenterStatus{width:100%!important;min-width:0!important;max-width:64px!important;text-align:center!important;justify-self:center!important;font-size:10.5px!important;line-height:1.05!important;letter-spacing:0!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:clip!important;font-variant-numeric:tabular-nums!important}
.previewmatchup-started > .previewteam{min-width:0!important;max-width:100%!important;overflow:visible!important;padding:4px 2px!important;box-sizing:border-box!important}
.previewmatchup-started > .previewteam > span{min-width:0!important;max-width:100%!important;overflow:visible!important}

/* Light mode settled picks should mirror the restrained translucent result treatment used in dark mode,
   not become solid blocks. Keep contrast high enough for outdoor Android use. */
body.light-mode .previewteam.schedule-your-pick.schedule-pick-correct{
  background:rgba(37,160,96,.18)!important;
  border-color:#278b59!important;
  color:#183c2b!important;
  box-shadow:inset 0 0 0 1px rgba(39,139,89,.22)!important;
}
body.light-mode .previewteam.schedule-your-pick.schedule-pick-wrong{
  background:rgba(190,67,76,.16)!important;
  border-color:#a43c47!important;
  color:#52242a!important;
  box-shadow:inset 0 0 0 1px rgba(164,60,71,.18)!important;
}
body.light-mode .previewteam.schedule-your-pick.schedule-pick-correct b,
body.light-mode .previewteam.schedule-your-pick.schedule-pick-correct small{color:#173d2a!important;opacity:1!important;text-shadow:none!important}
body.light-mode .previewteam.schedule-your-pick.schedule-pick-wrong b,
body.light-mode .previewteam.schedule-your-pick.schedule-pick-wrong small{color:#52242a!important;opacity:1!important;text-shadow:none!important}
body.light-mode .previewteam.schedule-your-pick.schedule-pick-correct .yourPickTag{
  color:#17683e!important;font-weight:1000!important;text-shadow:none!important;opacity:1!important;
}
body.light-mode .previewteam.schedule-your-pick.schedule-pick-wrong .yourPickTag{
  color:#8b2f39!important;font-weight:1000!important;text-shadow:none!important;opacity:1!important;
}

@media(max-width:370px){
  .previewmatchup-started{grid-template-columns:minmax(0,1fr) 26px 52px 26px minmax(0,1fr)!important;gap:1px!important}
  .previewmatchup-started > .previewTeamScore{width:26px!important;min-width:26px!important;max-width:26px!important;font-size:17px!important}
  .previewmatchup-started > .previewCenterStatus{max-width:52px!important;font-size:9.5px!important}
  .previewmatchup-started > .previewPossInline:nth-child(2){left:calc(50% - 72px)!important}
  .previewmatchup-started > .previewPossInline:nth-child(6){right:calc(50% - 72px)!important}
}

/* Beta 5.3.9 — compact, structural live/final Schedule Preview row.
   Team blocks flank a single self-contained score/status core on every viewport. */
.previewmatchup-started{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) minmax(112px,132px) minmax(0,1fr)!important;
  gap:4px!important;
  align-items:center!important;
  min-width:0!important;
  max-width:100%!important;
}
.previewmatchup-started > .previewteam:first-child{grid-column:1!important;grid-row:1!important}
.previewmatchup-started > .previewLiveCore{grid-column:2!important;grid-row:1!important}
.previewmatchup-started > .previewteam:last-child{grid-column:3!important;grid-row:1!important}
.previewLiveCore{
  position:relative!important;
  display:grid!important;
  grid-template-columns:30px minmax(50px,1fr) 30px!important;
  gap:2px!important;
  align-items:center!important;
  justify-items:center!important;
  width:100%!important;
  min-width:0!important;
  max-width:132px!important;
  margin:0 auto!important;
  font-variant-numeric:tabular-nums!important;
}
.previewLiveCore > .previewTeamScore{
  position:static!important;
  width:30px!important;
  min-width:30px!important;
  max-width:30px!important;
  margin:0!important;
  font-size:18px!important;
  line-height:1!important;
  text-align:center!important;
  white-space:nowrap!important;
}
.previewLiveCore > .previewCenterStatus{
  position:static!important;
  width:100%!important;
  min-width:0!important;
  max-width:none!important;
  margin:0!important;
  font-size:10.5px!important;
  line-height:1.05!important;
  text-align:center!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:clip!important;
}
.previewLiveCore > .previewPossInline{
  position:absolute!important;
  z-index:4!important;
  top:50%!important;
  transform:translateY(-50%)!important;
  width:auto!important;
  min-width:0!important;
  font-size:10px!important;
  line-height:1!important;
  pointer-events:none!important;
}
.previewLiveCore > .previewPossInline.away{left:-8px!important}
.previewLiveCore > .previewPossInline.home{right:-8px!important}
.previewmatchup-started > .previewteam{
  min-width:0!important;
  max-width:100%!important;
  overflow:hidden!important;
  padding:4px 3px!important;
  box-sizing:border-box!important;
}
.previewmatchup-started > .previewteam > span{min-width:0!important;max-width:100%!important;overflow:hidden!important}
.previewmatchup-started > .previewteam .yourPickTag{overflow:visible!important;max-width:none!important;white-space:nowrap!important}

/* Light mode: no chunky text outline. Use darker high-contrast YOUR PICK lettering. */
body.light-mode .previewteam.schedule-your-pick .yourPickTag{
  color:#173f68!important;
  font-weight:1000!important;
  text-shadow:none!important;
  -webkit-text-stroke:0!important;
  opacity:1!important;
}
body.light-mode .previewteam.schedule-pick-correct .yourPickTag{color:#17683e!important}
body.light-mode .previewteam.schedule-pick-wrong .yourPickTag{color:#8b2f39!important}
body.light-mode .previewteam.schedule-pick-tie .yourPickTag{color:#76570a!important}

@media(max-width:430px){
  .previewmatchup-started{grid-template-columns:minmax(0,1fr) 108px minmax(0,1fr)!important;gap:2px!important}
  .previewLiveCore{grid-template-columns:26px 54px 26px!important;max-width:108px!important;gap:1px!important}
  .previewLiveCore > .previewTeamScore{width:26px!important;min-width:26px!important;max-width:26px!important;font-size:17px!important}
  .previewLiveCore > .previewCenterStatus{font-size:9.5px!important}
  .previewLiveCore > .previewPossInline.away{left:-6px!important}
  .previewLiveCore > .previewPossInline.home{right:-6px!important}
  .previewmatchup-started > .previewteam{gap:2px!important;padding:4px 2px!important}
  .previewmatchup-started > .previewteam>img{flex:0 0 24px!important;width:24px!important;height:24px!important}
  .previewmatchup-started > .previewteam>span b{font-size:11px!important}
  .previewmatchup-started > .previewteam>span small{font-size:8px!important}
  .previewmatchup-started > .previewteam .yourPickTag{font-size:7.5px!important;letter-spacing:.01em!important}
}
@media(max-width:370px){
  .previewmatchup-started{grid-template-columns:minmax(0,1fr) 100px minmax(0,1fr)!important;gap:1px!important}
  .previewLiveCore{grid-template-columns:24px 50px 24px!important;max-width:100px!important}
  .previewLiveCore > .previewTeamScore{width:24px!important;min-width:24px!important;max-width:24px!important;font-size:16px!important}
  .previewLiveCore > .previewCenterStatus{font-size:9px!important}
}

/* Beta 5.3.10 — structural Schedule Preview live/final repair.
   IMPORTANT: use the full .previewgame-started selector so this wins over older
   high-specificity live-row rules instead of merely stacking another weak override. */
.previewgame-started .previewmatchup-started{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) 124px minmax(0,1fr)!important;
  grid-template-rows:auto!important;
  gap:5px!important;
  align-items:center!important;
  width:100%!important;
  min-width:0!important;
  max-width:100%!important;
  overflow:hidden!important;
}
.previewgame-started .previewmatchup-started > .previewteam:first-child{
  grid-column:1!important;grid-row:1!important;
}
.previewgame-started .previewmatchup-started > .previewLiveCore{
  grid-column:2!important;grid-row:1!important;
}
.previewgame-started .previewmatchup-started > .previewteam:last-child{
  grid-column:3!important;grid-row:1!important;
}
.previewgame-started .previewmatchup-started > .previewteam,
.previewgame-started .previewmatchup-started > .previewteam.schedule-your-pick{
  display:grid!important;
  grid-template-columns:26px minmax(0,1fr)!important;
  align-items:center!important;
  justify-content:stretch!important;
  gap:3px!important;
  width:100%!important;
  min-width:0!important;
  max-width:100%!important;
  min-height:54px!important;
  padding:5px 3px!important;
  margin:0!important;
  box-sizing:border-box!important;
  overflow:hidden!important;
}
.previewgame-started .previewmatchup-started > .previewteam > img{
  width:26px!important;height:26px!important;min-width:26px!important;max-width:26px!important;
  margin:0!important;justify-self:center!important;object-fit:contain!important;
}
.previewgame-started .previewmatchup-started > .previewteam > span{
  width:100%!important;min-width:0!important;max-width:100%!important;
  align-items:center!important;text-align:center!important;overflow:hidden!important;
}
.previewgame-started .previewmatchup-started > .previewteam > span b{
  width:100%!important;font-size:12px!important;line-height:1.05!important;
  white-space:nowrap!important;overflow:hidden!important;text-overflow:clip!important;
}
.previewgame-started .previewmatchup-started > .previewteam > span small{
  width:100%!important;font-size:8.5px!important;line-height:1.05!important;
  white-space:nowrap!important;overflow:hidden!important;text-overflow:clip!important;
}
.previewgame-started .previewmatchup-started > .previewteam .yourPickTag{
  display:block!important;width:100%!important;max-width:100%!important;
  margin-top:2px!important;font-size:8px!important;line-height:1!important;
  white-space:nowrap!important;overflow:hidden!important;text-overflow:clip!important;
}
.previewgame-started .previewLiveCore{
  position:relative!important;
  display:grid!important;
  grid-template-columns:31px 58px 31px!important;
  grid-template-rows:auto!important;
  gap:2px!important;
  align-items:center!important;
  justify-items:center!important;
  width:124px!important;min-width:124px!important;max-width:124px!important;
  margin:0!important;padding:0!important;
  overflow:visible!important;
  font-variant-numeric:tabular-nums!important;
}
.previewgame-started .previewLiveCore > .previewTeamScore{
  position:static!important;display:block!important;
  width:31px!important;min-width:31px!important;max-width:31px!important;
  margin:0!important;padding:0!important;
  font-size:19px!important;line-height:1!important;text-align:center!important;
  white-space:nowrap!important;overflow:visible!important;
}
.previewgame-started .previewLiveCore > .previewCenterStatus{
  position:static!important;display:block!important;
  width:58px!important;min-width:58px!important;max-width:58px!important;
  margin:0!important;padding:0!important;
  font-size:9.5px!important;line-height:1.05!important;text-align:center!important;
  letter-spacing:0!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:clip!important;
}
.previewgame-started .previewLiveCore > .previewPossInline{
  position:absolute!important;z-index:5!important;top:50%!important;
  transform:translateY(-50%)!important;width:12px!important;min-width:0!important;
  margin:0!important;padding:0!important;font-size:10px!important;line-height:1!important;
  pointer-events:none!important;
}
.previewgame-started .previewLiveCore > .previewPossInline.away{left:-5px!important}
.previewgame-started .previewLiveCore > .previewPossInline.home{right:-5px!important}

/* Final rows need no special alternate geometry. One component, one layout. */
.previewgame-started .previewmatchup-started.previewmatchup-final,
.previewgame-started .previewmatchup-started.previewmatchup-live{
  grid-template-columns:minmax(0,1fr) 124px minmax(0,1fr)!important;
}

@media(max-width:430px){
  .previewgame-started .previewmatchup-started,
  .previewgame-started .previewmatchup-started.previewmatchup-final,
  .previewgame-started .previewmatchup-started.previewmatchup-live{
    grid-template-columns:minmax(0,1fr) 116px minmax(0,1fr)!important;
    gap:3px!important;
  }
  .previewgame-started .previewLiveCore{
    grid-template-columns:29px 54px 29px!important;
    width:116px!important;min-width:116px!important;max-width:116px!important;
  }
  .previewgame-started .previewLiveCore > .previewTeamScore{
    width:29px!important;min-width:29px!important;max-width:29px!important;font-size:18px!important;
  }
  .previewgame-started .previewLiveCore > .previewCenterStatus{
    width:54px!important;min-width:54px!important;max-width:54px!important;font-size:9px!important;
  }
  .previewgame-started .previewmatchup-started > .previewteam,
  .previewgame-started .previewmatchup-started > .previewteam.schedule-your-pick{
    grid-template-columns:23px minmax(0,1fr)!important;gap:2px!important;min-height:52px!important;padding:4px 2px!important;
  }
  .previewgame-started .previewmatchup-started > .previewteam > img{
    width:23px!important;height:23px!important;min-width:23px!important;max-width:23px!important;
  }
  .previewgame-started .previewmatchup-started > .previewteam > span b{font-size:11px!important}
  .previewgame-started .previewmatchup-started > .previewteam > span small{font-size:8px!important}
  .previewgame-started .previewmatchup-started > .previewteam .yourPickTag{font-size:7.5px!important}
}
@media(max-width:370px){
  .previewgame-started .previewmatchup-started,
  .previewgame-started .previewmatchup-started.previewmatchup-final,
  .previewgame-started .previewmatchup-started.previewmatchup-live{
    grid-template-columns:minmax(0,1fr) 106px minmax(0,1fr)!important;
    gap:2px!important;
  }
  .previewgame-started .previewLiveCore{
    grid-template-columns:27px 50px 27px!important;
    width:106px!important;min-width:106px!important;max-width:106px!important;
  }
  .previewgame-started .previewLiveCore > .previewTeamScore{width:27px!important;min-width:27px!important;max-width:27px!important;font-size:17px!important}
  .previewgame-started .previewLiveCore > .previewCenterStatus{width:50px!important;min-width:50px!important;max-width:50px!important;font-size:8.5px!important}
  .previewgame-started .previewmatchup-started > .previewteam,
  .previewgame-started .previewmatchup-started > .previewteam.schedule-your-pick{grid-template-columns:21px minmax(0,1fr)!important}
  .previewgame-started .previewmatchup-started > .previewteam > img{width:21px!important;height:21px!important;min-width:21px!important;max-width:21px!important}
}

/* Beta 5.4.0 — consolidated live-day UX polish */

/* Live Schedule Preview: possession is decorative and must never consume score width. */
.previewgame-started .previewLiveCore > .previewPossInline{
  width:0!important;min-width:0!important;max-width:0!important;
  overflow:visible!important;
  font-size:11px!important;
}
.previewgame-started .previewLiveCore > .previewPossInline.away{left:1px!important;transform:translate(-100%,-50%)!important}
.previewgame-started .previewLiveCore > .previewPossInline.home{right:1px!important;transform:translate(100%,-50%)!important}

/* Protect live down/distance and clock readability in both themes. */
.livePreviewSituation{font-weight:900!important;color:#eef5ff!important;text-shadow:0 1px 1px rgba(0,0,0,.32)!important}
.previewCenterStatus{color:#c8d5e6!important;font-weight:900!important}
body.light-mode .livePreviewSituation{color:#173653!important;text-shadow:none!important}
body.light-mode .previewCenterStatus{color:#27435e!important;text-shadow:none!important}
body.light-mode .livePreviewPcts{color:#4a6076!important}

/* Special pick rings. Colors intentionally avoid yellow/gold tie/penalty language. */
.previewteam.schedule-your-pick.schedule-pick-solo{
  box-shadow:0 0 0 2px #a78bfa,0 0 10px rgba(167,139,250,.24)!important;
}
.previewteam.schedule-your-pick.schedule-pick-unanimous{
  box-shadow:0 0 0 2px #2dd4bf,0 0 10px rgba(45,212,191,.22)!important;
}
.schedulePickLegend{display:flex;flex-wrap:wrap;gap:8px 14px;justify-content:center;margin:12px 0 0;padding-top:10px;border-top:1px solid var(--line);font-size:11px;color:var(--muted)}
.schedulePickLegend span{display:inline-flex;align-items:center;gap:6px}
.pickRingSample{width:17px;height:13px;border-radius:5px;background:var(--panel2);display:inline-block;box-sizing:border-box}
.pickRingSample.solo{box-shadow:0 0 0 2px #a78bfa}
.pickRingSample.unanimous{box-shadow:0 0 0 2px #2dd4bf}

/* Light mode: keep final result feedback subtle, like dark mode, while readable outdoors. */
body.light-mode .previewteam.schedule-your-pick.schedule-pick-correct{
  background:rgba(41,157,99,.16)!important;border-color:rgba(23,126,75,.72)!important;color:#173d2a!important;
}
body.light-mode .previewteam.schedule-your-pick.schedule-pick-wrong{
  background:rgba(191,65,77,.14)!important;border-color:rgba(150,45,56,.70)!important;color:#52242a!important;
}
body.light-mode .previewteam.schedule-your-pick .yourPickTag{color:#173f68!important;font-weight:950!important;text-shadow:none!important;-webkit-text-stroke:0!important}
body.light-mode .previewteam.schedule-pick-correct .yourPickTag{color:#17683e!important}
body.light-mode .previewteam.schedule-pick-wrong .yourPickTag{color:#8b2f39!important}

/* Android/light Game Center containment + stronger field/readability. */
.liveFieldWrap{width:100%!important;max-width:100%!important;box-sizing:border-box!important;overflow:hidden!important}
.liveFieldMeta{color:#c7d6e8!important;font-weight:800!important}
.liveFieldMeta b{color:#f2f7ff!important}
.liveField{width:100%!important;max-width:100%!important;box-sizing:border-box!important;overflow:hidden!important;position:relative!important}
.liveField .end{font-weight:950!important;color:#d8e9df!important;opacity:.88!important}
.fieldBall{z-index:4!important;will-change:transform,left!important}
body.light-mode .liveFieldWrap{background:#edf3f8!important;border-color:#7590a8!important}
body.light-mode .liveFieldMeta{color:#24415f!important}
body.light-mode .liveFieldMeta b{color:#102e4d!important}
body.light-mode .liveField{background:#23643e!important;border-color:#164f30!important}
body.light-mode .liveField .end{color:#f2fff7!important;opacity:1!important;text-shadow:0 1px 1px rgba(0,0,0,.3)!important}
body.light-mode .matchupDown{color:#173653!important;font-weight:900!important}
body.light-mode .matchupState{color:#173653!important;font-weight:950!important}

/* Lightweight play-aware ball motion. Feed text chooses the motion; no fabricated route geometry. */
.liveField.motion-run .fieldBall{animation:fieldRun 1.2s ease-in-out}
.liveField.motion-pass .fieldBall,.liveField.motion-catchrun .fieldBall{animation:fieldPass 1.35s cubic-bezier(.3,.1,.2,1)}
.liveField.motion-interception .fieldBall{animation:fieldInterception 1.7s ease-in-out}
.liveField .fieldArc{display:none;position:absolute;left:32%;right:32%;top:12px;height:26px;border-top:2px dashed rgba(255,255,255,.7);border-radius:50%}
.liveField.motion-pass .fieldArc,.liveField.motion-catchrun .fieldArc,.liveField.motion-interception .fieldArc{display:block;animation:fieldArcFade 1.3s ease both}
@keyframes fieldRun{0%{transform:translate(-50%,-50%) scale(.92)}45%{transform:translate(calc(-50% + 10px),-50%) scale(1.04)}100%{transform:translate(-50%,-50%) scale(1)}}
@keyframes fieldPass{0%{transform:translate(-50%,-50%) translateY(0) rotate(0)}50%{transform:translate(-50%,-50%) translateY(-18px) rotate(220deg)}100%{transform:translate(-50%,-50%) translateY(0) rotate(360deg)}}
@keyframes fieldInterception{0%{transform:translate(-50%,-50%) translateY(0)}42%{transform:translate(calc(-50% + 18px),-50%) translateY(-18px) rotate(180deg)}70%{transform:translate(calc(-50% - 12px),-50%) translateY(0) rotate(270deg)}100%{transform:translate(-50%,-50%) rotate(360deg)}}
@keyframes fieldArcFade{0%{opacity:0;transform:scaleX(.65)}25%{opacity:.9}100%{opacity:0;transform:scaleX(1)}}
@media(prefers-reduced-motion:reduce){.liveField .fieldBall,.liveField .fieldArc{animation:none!important}.liveField .fieldArc{display:none!important}}

/* Quick modal navigation is explicit while backdrop tap still works. */
.scheduleGameTop{display:flex!important;align-items:flex-start!important;gap:10px!important}
.scheduleModalBack{flex:0 0 auto;border:1px solid var(--line);background:var(--panel2);color:var(--text);border-radius:10px;padding:8px 10px;font:inherit;font-weight:800;min-height:38px}
.scheduleGameTop>div{min-width:0;flex:1}
.modalBackBtn{margin-top:12px!important}

/* Picks Board comparison layer. */
.boardComparePanel{margin:8px 0 12px}
.boardCompareHead{display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.compareDiffToggle{display:inline-flex;align-items:center;gap:7px;font-size:12px;font-weight:800;color:var(--muted)}
.compareDiffToggle input{width:18px;height:18px}
.boardCompareChoices{display:flex;gap:7px;flex-wrap:wrap;margin-top:9px;padding:10px;border:1px solid var(--line);border-radius:12px;background:var(--panel2)}
.boardCompareChoices label,.compareAllBtn{display:inline-flex;align-items:center;gap:6px;min-height:36px;padding:6px 9px;border:1px solid var(--line);border-radius:9px;background:transparent;color:var(--text);font-weight:800;font-size:12px}
.boardCompareChoices input{width:17px;height:17px}
.pickcell.compare-same{opacity:.42}
.pickcell.compare-diff{box-shadow:inset 0 0 0 2px rgba(124,169,255,.72)}
.pickcell.compare-hidden{opacity:.14!important}
#boardCompareSummary{margin-top:7px}

/* Dashboard approval urgency: red for final hour, badge-only gentle pulse in final 15 min. */
.groupApprovalAlert.approvalUrgent{color:#ff8c93!important}
.groupApprovalAlert.approvalUrgent .deadlineSquare{background:#9f2632!important;border-color:#df5663!important;color:#fff!important}
.groupApprovalAlert.approvalPulse .deadlineSquare{animation:approvalSoftPulse 2.6s ease-in-out infinite}
@keyframes approvalSoftPulse{0%,100%{transform:scale(1);box-shadow:0 0 0 0 rgba(239,73,86,0)}50%{transform:scale(1.035);box-shadow:0 0 0 4px rgba(239,73,86,.12)}}
@media(prefers-reduced-motion:reduce){.groupApprovalAlert.approvalPulse .deadlineSquare{animation:none!important}}
body.light-mode .groupApprovalAlert.approvalUrgent{color:#8d202b!important}
body.light-mode .groupApprovalAlert.approvalUrgent .deadlineSquare{background:#b52c38!important;border-color:#8d202b!important;color:#fff!important}

/* Current-week navigation helper. */
.weekTitleActions{display:flex;align-items:center;justify-content:space-between;gap:10px}
#weekBrowseBtn{white-space:nowrap}
/* Richer field surface without changing live data semantics. */
.liveField{
  background:
    linear-gradient(90deg,rgba(255,255,255,.05) 0 9%,rgba(255,255,255,.11) 9% 9.4%,transparent 9.4% 19.4%,rgba(255,255,255,.11) 19.4% 19.8%,transparent 19.8% 29.8%,rgba(255,255,255,.11) 29.8% 30.2%,transparent 30.2% 39.8%,rgba(255,255,255,.11) 39.8% 40.2%,transparent 40.2% 49.7%,rgba(255,255,255,.16) 49.7% 50.3%,transparent 50.3% 59.8%,rgba(255,255,255,.11) 59.8% 60.2%,transparent 60.2% 69.8%,rgba(255,255,255,.11) 69.8% 70.2%,transparent 70.2% 79.8%,rgba(255,255,255,.11) 79.8% 80.2%,transparent 80.2% 90.6%,rgba(255,255,255,.11) 90.6% 91%,rgba(255,255,255,.05) 91% 100%),
    #174f31!important;
}
.liveField::after{content:"";position:absolute;left:12%;right:12%;top:50%;height:1px;background:repeating-linear-gradient(90deg,rgba(255,255,255,.48) 0 3px,transparent 3px 8px);opacity:.45;pointer-events:none}
body.light-mode .liveField{background:
  linear-gradient(90deg,rgba(255,255,255,.05) 0 9%,rgba(255,255,255,.18) 9% 9.4%,transparent 9.4% 19.4%,rgba(255,255,255,.18) 19.4% 19.8%,transparent 19.8% 29.8%,rgba(255,255,255,.18) 29.8% 30.2%,transparent 30.2% 39.8%,rgba(255,255,255,.18) 39.8% 40.2%,transparent 40.2% 49.7%,rgba(255,255,255,.24) 49.7% 50.3%,transparent 50.3% 59.8%,rgba(255,255,255,.18) 59.8% 60.2%,transparent 60.2% 69.8%,rgba(255,255,255,.18) 69.8% 70.2%,transparent 70.2% 79.8%,rgba(255,255,255,.18) 79.8% 80.2%,transparent 80.2% 90.6%,rgba(255,255,255,.18) 90.6% 91%,rgba(255,255,255,.05) 91% 100%),#23643e!important}

/* Beta 5.4.1 — live-day visual polish
   Keep special-pick indicators extremely thin and keep possession entirely out of the score line. */
.previewteam.schedule-your-pick.schedule-pick-solo{
  box-shadow:none!important;
  outline:1px solid #8b5cf6!important;
  outline-offset:1px!important;
}
.previewteam.schedule-your-pick.schedule-pick-unanimous{
  box-shadow:none!important;
  outline:1px solid #14b8a6!important;
  outline-offset:1px!important;
}
.pickRingSample.solo{box-shadow:none!important;outline:1px solid #8b5cf6!important;outline-offset:1px!important}
.pickRingSample.unanimous{box-shadow:none!important;outline:1px solid #14b8a6!important;outline-offset:1px!important}

/* Possession football is a tiny status marker below the score lane, never beside a score/logo. */
.previewgame-started .previewLiveCore > .previewPossInline{
  width:9px!important;min-width:9px!important;max-width:9px!important;
  top:calc(100% + 2px)!important;
  transform:none!important;
  font-size:8px!important;
  line-height:1!important;
  text-align:center!important;
  opacity:.96!important;
}
.previewgame-started .previewLiveCore > .previewPossInline.away{left:10px!important;right:auto!important}
.previewgame-started .previewLiveCore > .previewPossInline.home{right:10px!important;left:auto!important}

/* Make live state, downs, field position and possession metadata unmissable in both themes. */
.previewCenterStatus{color:#e8f0fb!important;font-weight:950!important;text-shadow:0 1px 1px rgba(0,0,0,.42)!important}
.livePreviewSituation{color:#f3f7ff!important;font-weight:950!important;text-shadow:0 1px 1px rgba(0,0,0,.42)!important}
.matchupDown{color:#dce8f6!important;font-weight:950!important;font-size:11px!important;text-shadow:0 1px 1px rgba(0,0,0,.38)!important}
.liveFieldMeta{color:#d8e5f3!important;font-weight:900!important;font-size:11px!important}
.liveFieldMeta b{color:#ffffff!important;font-weight:1000!important}
.liveField .end{color:#f0fff5!important;opacity:1!important;text-shadow:0 1px 1px rgba(0,0,0,.45)!important}
body.light-mode .previewCenterStatus{color:#183b5a!important;text-shadow:none!important}
body.light-mode .livePreviewSituation{color:#102f4d!important;text-shadow:none!important}
body.light-mode .matchupDown{color:#102f4d!important;text-shadow:none!important;font-weight:1000!important}
body.light-mode .liveFieldMeta{color:#183b5a!important;font-weight:950!important}
body.light-mode .liveFieldMeta b{color:#0b2945!important;font-weight:1000!important}
body.light-mode .liveField .end{color:#ffffff!important;text-shadow:0 1px 1px rgba(0,0,0,.5)!important}


/* Beta 5.4.2 — possession + special-pick cleanup
   No football icons live beside scores. Possession is shown in Game Center field metadata/ball position.
   Special-pick state changes only the existing border color — no glow/halo/outline. */
.previewteam.schedule-your-pick.schedule-pick-solo{
  box-shadow:none!important;
  outline:0!important;
  border-color:#8b5cf6!important;
}
.previewteam.schedule-your-pick.schedule-pick-unanimous{
  box-shadow:none!important;
  outline:0!important;
  border-color:#14b8a6!important;
}
.pickRingSample.solo{box-shadow:none!important;outline:0!important;border:1px solid #8b5cf6!important}
.pickRingSample.unanimous{box-shadow:none!important;outline:0!important;border:1px solid #14b8a6!important}
.previewPossInline,.scorePoss{display:none!important}
/* Three fixed live-score columns only: away score | status | home score. */
.previewgame-started .previewLiveCore{
  grid-template-columns:minmax(24px,1fr) minmax(62px,1.6fr) minmax(24px,1fr)!important;
}


/* Beta 5.4.3 — restore possession football as a zero-width overlay.
   It is visible on live Schedule Preview rows but never participates in grid sizing. */
.previewgame-started .previewLiveCore{position:relative!important;overflow:visible!important}
.previewgame-started .previewPossOverlay{
  position:absolute!important;z-index:8!important;
  display:block!important;width:13px!important;height:13px!important;
  margin:0!important;padding:0!important;
  font-size:11px!important;line-height:13px!important;text-align:center!important;
  pointer-events:none!important;
  top:calc(50% + 11px)!important;
  filter:drop-shadow(0 1px 1px rgba(0,0,0,.35));
}
.previewgame-started .previewPossOverlay.away{left:14px!important;transform:translateX(-50%)!important}
.previewgame-started .previewPossOverlay.home{right:14px!important;transform:translateX(50%)!important}
@media(max-width:430px){
  .previewgame-started .previewPossOverlay{font-size:10px!important;width:12px!important;height:12px!important;line-height:12px!important;top:calc(50% + 10px)!important}
  .previewgame-started .previewPossOverlay.away{left:12px!important}
  .previewgame-started .previewPossOverlay.home{right:12px!important}
}


/* Beta 5.4.4 — possession + special-pick border polish
   Special-pick color replaces the normal pick border itself; never draw a second ring. */
.previewteam.schedule-your-pick.schedule-pick-solo,
.previewteam.schedule-your-pick.schedule-pick-unanimous{
  box-shadow:none!important;
  outline:none!important;
  box-sizing:border-box!important;
  border-style:solid!important;
  border-width:2px!important;
}
.previewteam.schedule-your-pick.schedule-pick-solo{border-color:#8b5cf6!important}
.previewteam.schedule-your-pick.schedule-pick-unanimous{border-color:#14b8a6!important}
.pickRingSample.solo,.pickRingSample.unanimous{box-shadow:none!important;outline:none!important;border-style:solid!important;border-width:2px!important}
.pickRingSample.solo{border-color:#8b5cf6!important}
.pickRingSample.unanimous{border-color:#14b8a6!important}

/* Possession football stays visible as a pure overlay and never consumes score width. */
.previewgame-started .previewLiveCore{position:relative!important;overflow:visible!important}
.previewgame-started .previewPossOverlay{
  position:absolute!important;
  z-index:8!important;
  display:block!important;
  width:12px!important;
  height:12px!important;
  margin:0!important;
  padding:0!important;
  font-size:10px!important;
  line-height:12px!important;
  text-align:center!important;
  pointer-events:none!important;
  top:calc(50% + 10px)!important;
  filter:drop-shadow(0 1px 1px rgba(0,0,0,.28));
}
.previewgame-started .previewPossOverlay.away{left:13px!important;right:auto!important;transform:translateX(-50%)!important}
.previewgame-started .previewPossOverlay.home{right:13px!important;left:auto!important;transform:translateX(50%)!important}
@media(max-width:430px){
  .previewgame-started .previewPossOverlay{font-size:9px!important;width:11px!important;height:11px!important;line-height:11px!important;top:calc(50% + 9px)!important}
  .previewgame-started .previewPossOverlay.away{left:11px!important}
  .previewgame-started .previewPossOverlay.home{right:11px!important}
}


/* Beta 5.4.5 — possession marker placement
   Keep the football visible on the possessing side, centered vertically between
   the scoreboard core and that team's block. It is an absolute overlay and
   therefore can never push scores, clock text, logos, or pick boxes. */
.previewgame-started .previewLiveCore{position:relative!important;overflow:visible!important}
.previewgame-started .previewPossOverlay{
  position:absolute!important;
  top:50%!important;
  width:12px!important;
  height:12px!important;
  margin:0!important;
  padding:0!important;
  font-size:10px!important;
  line-height:12px!important;
  text-align:center!important;
  transform:translateY(-50%)!important;
  pointer-events:none!important;
  z-index:9!important;
  filter:drop-shadow(0 1px 1px rgba(0,0,0,.28));
}
/* Away possession sits immediately outside the away score toward the away team. */
.previewgame-started .previewPossOverlay.away{
  left:-8px!important;
  right:auto!important;
  transform:translate(-50%,-50%)!important;
}
/* Home possession mirrors it between the home score and home team. */
.previewgame-started .previewPossOverlay.home{
  right:-8px!important;
  left:auto!important;
  transform:translate(50%,-50%)!important;
}
@media(max-width:430px){
  .previewgame-started .previewPossOverlay{
    width:11px!important;height:11px!important;font-size:9px!important;line-height:11px!important;
  }
  .previewgame-started .previewPossOverlay.away{left:-6px!important}
  .previewgame-started .previewPossOverlay.home{right:-6px!important}
}

/* Beta 5.4.6 — compact boards + scroll stability + live-day density pass
   Preserve the now-stable score geometry while reducing vertical waste on the league screen,
   standings and Picks Board. Android portrait keeps a true horizontal scroller. */

/* Possession marker: visual midpoint between the team block and its score, never a layout item. */
.previewgame-started .previewPossOverlay{
  width:11px!important;height:11px!important;font-size:9px!important;line-height:11px!important;
  top:50%!important;pointer-events:none!important;z-index:9!important;
}
.previewgame-started .previewPossOverlay.away{
  left:-18px!important;right:auto!important;transform:translate(-50%,-50%)!important;
}
.previewgame-started .previewPossOverlay.home{
  right:-18px!important;left:auto!important;transform:translate(50%,-50%)!important;
}

/* Weekly commissioner: same information, much less first-screen real estate. */
.commissionerCardV2{padding:10px 11px!important}
.commissionerCardV2 .commissionerTopV2{gap:8px!important}
.commissionerCardV2 .commissionerEyebrow{font-size:9px!important;letter-spacing:.11em!important}
.commissionerCardV2 .commissionerName{font-size:18px!important;line-height:1.08!important;margin-top:2px!important}
.commissionerCardV2 .commissionerQuickActions{justify-content:flex-start!important;gap:7px!important;margin:6px 0!important;width:auto!important}
.commissionerCardV2 .commissionerQuickActions button,
.commissionerCardV2 .commissionerQuickActions a{
  width:36px!important;height:36px!important;min-width:36px!important;min-height:36px!important;
  border-radius:10px!important;padding:0!important
}
.commissionerCardV2 .commissionerQuickActions .commissionerActionIcon,
.commissionerCardV2 .commissionerQuickActions .commissionerActionIcon svg{width:21px!important;height:21px!important}
.commissionerCardV2 .commissionerBadges{gap:5px!important;margin-top:6px!important}
.commissionerCardV2 .commissionerBadges span{padding:3px 7px!important;font-size:10px!important}
.commissionerCardV2 .commissionerNote{margin-top:7px!important;padding:6px 8px!important;line-height:1.22!important;font-size:12px!important}
.commissionerCardV2 .commissionerNote small{font-size:9px!important;margin-bottom:2px!important}
.commissionerCardV2 .commissionerActions{gap:6px!important;margin-top:7px!important}
.commissionerCardV2 .commissionerActions button{min-height:36px!important;padding:7px 8px!important;font-size:12px!important}

/* Standings / leader cards: keep a >=44px touch target but remove dead vertical space. */
.standingrows{gap:6px!important;margin-top:8px!important}
.standingrow{
  min-height:46px!important;
  padding:6px 9px!important;
  grid-template-columns:36px minmax(0,1fr) auto!important;
  gap:8px!important;
  border-radius:11px!important;
}
.standingplace{font-size:11px!important}
.standingname .profileNameBtn,.standingname b{font-size:15px!important;line-height:1.05!important}
.standingname small{font-size:9px!important;margin-top:1px!important}
.standingnumbers b{font-size:20px!important;line-height:1!important}
.standingnumbers small,.standingnumbers span{font-size:9px!important;line-height:1.05!important}
.boardMiniStandings{margin:7px 0 9px!important}
.boardMiniStandings .standingrows{gap:5px!important;margin-top:6px!important}
.boardMiniStandings .standingrow{min-height:44px!important;padding:5px 8px!important}

/* Picks Board: compact, stable spreadsheet geometry on narrow phones. */
.boardscroll{
  overflow-x:auto!important;
  overflow-y:hidden!important;
  -webkit-overflow-scrolling:touch!important;
  overscroll-behavior-inline:contain!important;
  touch-action:pan-x pan-y!important;
  scroll-behavior:auto!important;
}
.pickstable{table-layout:fixed!important}
@media (max-width:600px){
  :root{--board-player-w:104px;--board-game-w:48px;--board-tb-w:40px;--board-row-h:46px}
  .picksboardwrap,.boardscroll{width:100%!important;max-width:100%!important}
  .boardscroll{overflow-x:auto!important}
  .pickstable{
    width:calc(var(--board-player-w) + (16 * var(--board-game-w)) + var(--board-tb-w))!important;
    min-width:calc(var(--board-player-w) + (16 * var(--board-game-w)) + var(--board-tb-w))!important;
    max-width:none!important;
    table-layout:fixed!important;
  }
  .pickstable tr{height:var(--board-row-h)!important}
  .pickstable th,.pickstable td{
    height:var(--board-row-h)!important;min-height:var(--board-row-h)!important;max-height:var(--board-row-h)!important;
    padding-top:3px!important;padding-bottom:3px!important;
  }
  .pickstable .playercol{width:var(--board-player-w)!important;min-width:var(--board-player-w)!important;max-width:var(--board-player-w)!important;padding-left:7px!important;padding-right:5px!important}
  .pickstable .gamehead,.pickstable .pickcell{width:var(--board-game-w)!important;min-width:var(--board-game-w)!important;max-width:var(--board-game-w)!important;padding-left:2px!important;padding-right:2px!important}
  .pickstable .tbhead,.pickstable .tbcell{width:var(--board-tb-w)!important;min-width:var(--board-tb-w)!important;max-width:var(--board-tb-w)!important;padding-left:2px!important;padding-right:2px!important}
  .pickstable .profileNameBtn,.pickstable .playername{font-size:11px!important;line-height:1.04!important}
  .pickstable .playerrecord{font-size:8.5px!important;line-height:1!important;margin-top:2px!important}
  .pickstable .gamehead{font-size:9px!important;line-height:1.05!important}
  .pickstable .matchuphead small{font-size:7px!important}
  .pickstable .pickcell{font-size:11px!important;line-height:1!important}
}

/* Preserve broad landscape density without disabling horizontal scrolling on smaller Android devices. */
@media (orientation:landscape) and (max-width:950px){
  :root{--board-player-w:92px;--board-game-w:40px;--board-tb-w:36px;--board-row-h:42px}
  .boardscroll{overflow-x:auto!important}
  .pickstable .profileNameBtn,.pickstable .playername{font-size:10px!important}
  .pickstable .playerrecord{font-size:8px!important}
  .pickstable .gamehead,.pickstable .pickcell{font-size:9px!important}
}

/* Beta 5.4.8 — live UX + QA reliability */
/* Schedule Preview possession gets dedicated, non-overlapping slots. */
.previewgame-started .previewLiveCore{
  display:grid!important;
  grid-template-columns:minmax(24px,1fr) 12px minmax(72px,1.65fr) 12px minmax(24px,1fr)!important;
  align-items:center!important;
  column-gap:2px!important;
  position:relative!important;
}
.previewgame-started .previewPossOverlay{display:none!important}
.previewgame-started .previewPossSlot{
  display:block!important;width:12px!important;min-width:12px!important;height:14px!important;
  font-size:9px!important;line-height:14px!important;text-align:center!important;overflow:visible!important;
  pointer-events:none!important;filter:drop-shadow(0 1px 1px rgba(0,0,0,.45));
}
.previewgame-started .previewCenterStatus{white-space:nowrap!important;min-width:0!important;text-align:center!important}
@media(max-width:390px){
  .previewgame-started .previewLiveCore{grid-template-columns:minmax(22px,1fr) 10px minmax(68px,1.6fr) 10px minmax(22px,1fr)!important;column-gap:1px!important}
  .previewgame-started .previewPossSlot{width:10px!important;min-width:10px!important;font-size:8px!important}
}

/* Quick Game Center: compact header row and protected center status width. */
.scheduleGameTop{
  position:sticky!important;top:-17px!important;z-index:4!important;
  display:grid!important;grid-template-columns:auto 1fr auto!important;align-items:center!important;
  gap:8px!important;padding:10px 0 7px!important;margin-top:-12px!important;margin-bottom:4px!important;
}
.scheduleGameTop>div{display:contents!important}
.scheduleGameTop .eyebrow{grid-column:2!important;justify-self:center!important;margin:0!important;white-space:nowrap!important}
.scheduleGameTop h2{display:none!important}
.scheduleModalBack{grid-column:1!important;min-height:36px!important;padding:7px 9px!important;font-size:13px!important}
.unifiedMatchupScoreboard.compact:not(.no-score){
  grid-template-columns:minmax(64px,1fr) 42px minmax(92px,102px) 42px minmax(64px,1fr)!important;
  gap:4px!important;
}
.unifiedMatchupScoreboard.compact .unifiedMatchupCenter{width:auto!important;min-width:92px!important;padding:0 3px!important;overflow:visible!important}
.unifiedMatchupScoreboard.compact .matchupState{font-size:13px!important;white-space:nowrap!important;overflow:visible!important;text-overflow:clip!important}
.unifiedMatchupScoreboard.compact .matchupDown{font-size:11px!important;line-height:1.15!important;text-align:center!important;white-space:normal!important}
@media(max-width:380px){
  .unifiedMatchupScoreboard.compact:not(.no-score){grid-template-columns:minmax(58px,1fr) 38px minmax(86px,94px) 38px minmax(58px,1fr)!important;gap:2px!important}
  .unifiedMatchupScoreboard.compact .unifiedMatchupCenter{min-width:86px!important}
  .unifiedMatchupScoreboard.compact .matchupState{font-size:12px!important}
}

/* Center commissioner contact actions as a group. */
.commissionerCardV2 .commissionerQuickActions{justify-content:center!important;width:100%!important}

/* Denser standings; rank belongs with the score, and TB stays hidden from live row cards. */
#weekStandingsList .standingrows{gap:5px!important;margin-top:7px!important}
#weekStandingsList .standingrow{
  grid-template-columns:minmax(0,1fr) auto!important;
  min-height:42px!important;padding:5px 9px!important;gap:8px!important;border-radius:10px!important;
}
#weekStandingsList .standingname .profileNameBtn,#weekStandingsList .standingname b{font-size:14px!important;line-height:1!important}
#weekStandingsList .standingnumbers{display:grid!important;grid-template-columns:auto auto!important;grid-template-rows:auto auto!important;column-gap:6px!important;align-items:center!important;justify-items:end!important}
#weekStandingsList .standingnumbers>b{grid-column:1!important;grid-row:1 / span 2!important;font-size:19px!important}
#weekStandingsList .standingnumbers>small{grid-column:2!important;grid-row:1!important;font-size:9px!important}
#weekStandingsList .standingnumbers>.standingplace{grid-column:2!important;grid-row:2!important;font-size:9px!important;white-space:nowrap!important}
#weekStandingsList .standingname small{display:none!important}
.boardMiniStandings .standingrow{min-height:42px!important;padding-top:4px!important;padding-bottom:4px!important}

/* QA health wording is explicit, not ambiguous. */
.qaHealthPill.watch{letter-spacing:.04em!important}


/* Beta 5.4.9 — Schedule Preview scoreboard lane repair
   The 5.4.8 possession tracks were wider than the center container, which let
   scores/footballs spill into team logos and pick boxes. These tracks now fit
   exactly inside a wider protected center column. */
.previewgame-started .previewmatchup-started,
.previewgame-started .previewmatchup-started.previewmatchup-final,
.previewgame-started .previewmatchup-started.previewmatchup-live{
  grid-template-columns:minmax(0,1fr) 146px minmax(0,1fr)!important;
  gap:4px!important;
  overflow:hidden!important;
}
.previewgame-started .previewLiveCore{
  width:146px!important;
  min-width:146px!important;
  max-width:146px!important;
  grid-template-columns:30px 10px 66px 10px 30px!important;
  column-gap:0!important;
  align-items:center!important;
  justify-items:center!important;
  overflow:hidden!important;
  box-sizing:border-box!important;
}
.previewgame-started .previewLiveCore > .previewTeamScore{
  width:30px!important;min-width:30px!important;max-width:30px!important;
  font-size:18px!important;line-height:1!important;text-align:center!important;
  overflow:visible!important;
}
.previewgame-started .previewLiveCore > .previewPossSlot{
  width:10px!important;min-width:10px!important;max-width:10px!important;
  height:12px!important;line-height:12px!important;font-size:8px!important;
  display:block!important;text-align:center!important;overflow:hidden!important;
  transform:none!important;margin:0!important;padding:0!important;
}
.previewgame-started .previewLiveCore > .previewCenterStatus{
  width:66px!important;min-width:66px!important;max-width:66px!important;
  font-size:9.5px!important;line-height:1.05!important;
  white-space:nowrap!important;overflow:hidden!important;text-overflow:clip!important;
}
@media(max-width:430px){
  .previewgame-started .previewmatchup-started,
  .previewgame-started .previewmatchup-started.previewmatchup-final,
  .previewgame-started .previewmatchup-started.previewmatchup-live{
    grid-template-columns:minmax(0,1fr) 138px minmax(0,1fr)!important;
    gap:3px!important;
  }
  .previewgame-started .previewLiveCore{
    width:138px!important;min-width:138px!important;max-width:138px!important;
    grid-template-columns:28px 9px 64px 9px 28px!important;
  }
  .previewgame-started .previewLiveCore > .previewTeamScore{
    width:28px!important;min-width:28px!important;max-width:28px!important;font-size:17px!important;
  }
  .previewgame-started .previewLiveCore > .previewPossSlot{
    width:9px!important;min-width:9px!important;max-width:9px!important;font-size:7px!important;
  }
  .previewgame-started .previewLiveCore > .previewCenterStatus{
    width:64px!important;min-width:64px!important;max-width:64px!important;font-size:9px!important;
  }
  .previewgame-started .previewmatchup-started > .previewteam,
  .previewgame-started .previewmatchup-started > .previewteam.schedule-your-pick{
    grid-template-columns:22px minmax(0,1fr)!important;
    gap:2px!important;
    padding-left:2px!important;padding-right:2px!important;
  }
  .previewgame-started .previewmatchup-started > .previewteam > img{
    width:22px!important;height:22px!important;min-width:22px!important;max-width:22px!important;
  }
}
@media(max-width:370px){
  .previewgame-started .previewmatchup-started,
  .previewgame-started .previewmatchup-started.previewmatchup-final,
  .previewgame-started .previewmatchup-started.previewmatchup-live{
    grid-template-columns:minmax(0,1fr) 130px minmax(0,1fr)!important;
    gap:2px!important;
  }
  .previewgame-started .previewLiveCore{
    width:130px!important;min-width:130px!important;max-width:130px!important;
    grid-template-columns:27px 8px 60px 8px 27px!important;
  }
  .previewgame-started .previewLiveCore > .previewTeamScore{
    width:27px!important;min-width:27px!important;max-width:27px!important;font-size:16px!important;
  }
  .previewgame-started .previewLiveCore > .previewPossSlot{
    width:8px!important;min-width:8px!important;max-width:8px!important;font-size:7px!important;
  }
  .previewgame-started .previewLiveCore > .previewCenterStatus{
    width:60px!important;min-width:60px!important;max-width:60px!important;font-size:8.5px!important;
  }
}

/* Beta 5.5.0 — unified scoreboards + UX consolidation */

/* A loading notice must never remain above a populated week screen. */
#status.hidden{display:none!important}

/* QUICK GAME CENTER: true modal-center title independent of Back button. */
.scheduleGameTop{
  position:relative!important;
  display:block!important;
  min-height:42px!important;
  padding:4px 0 6px!important;
  margin:0 0 2px!important;
  top:auto!important;
}
.scheduleGameTop>div{display:block!important}
.scheduleGameTop .eyebrow{
  position:absolute!important;
  left:50%!important;top:50%!important;
  transform:translate(-50%,-50%)!important;
  width:max-content!important;max-width:58%!important;
  margin:0!important;text-align:center!important;white-space:nowrap!important;
}
.scheduleModalBack{
  position:relative!important;z-index:2!important;
  min-height:34px!important;padding:6px 9px!important;font-size:13px!important;
}
.scheduleGameTop h2{display:none!important}

/* One shared score geometry: team | flexible score lane | state | flexible score lane | team.
   Score lanes self-center single/double/triple digits and never intrude into team identity. */
.unifiedMatchupScoreboard,
.unifiedMatchupScoreboard.compact{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) minmax(42px,.42fr) minmax(82px,.68fr) minmax(42px,.42fr) minmax(0,1fr)!important;
  gap:4px!important;
  align-items:center!important;
  width:100%!important;
}
.unifiedMatchupScoreboard .matchupScoreCell,
.unifiedMatchupScoreboard.compact .matchupScoreCell{
  width:100%!important;min-width:0!important;
  display:flex!important;align-items:center!important;justify-content:center!important;
  padding:0!important;gap:0!important;
}
.unifiedMatchupScoreboard .matchupScoreCell strong,
.unifiedMatchupScoreboard.compact .matchupScoreCell strong{
  display:block!important;width:auto!important;min-width:0!important;
  text-align:center!important;font-variant-numeric:tabular-nums!important;
}
.unifiedMatchupScoreboard .scorePoss{display:none!important}
.unifiedMatchupScoreboard .unifiedMatchupCenter,
.unifiedMatchupScoreboard.compact .unifiedMatchupCenter{
  width:100%!important;min-width:0!important;max-width:none!important;
  overflow:visible!important;padding:0 2px!important;
}
.unifiedMatchupScoreboard .matchupState,
.unifiedMatchupScoreboard.compact .matchupState{white-space:nowrap!important;overflow:visible!important;text-overflow:clip!important}

/* Uniform Quick Game Center scaling on narrow phones — never special-case a long team name. */
@media(max-width:430px){
  .unifiedMatchupScoreboard.compact:not(.no-score){
    grid-template-columns:minmax(0,1fr) minmax(36px,.40fr) minmax(74px,.64fr) minmax(36px,.40fr) minmax(0,1fr)!important;
    gap:2px!important;margin:4px 0 10px!important;
  }
  .unifiedMatchupScoreboard.compact.no-score{
    grid-template-columns:minmax(0,1fr) 0 minmax(70px,.58fr) 0 minmax(0,1fr)!important;
    gap:4px!important;
  }
  .unifiedMatchupScoreboard.compact .matchupLogoBox{width:48px!important;height:48px!important;margin-bottom:3px!important}
  .unifiedMatchupScoreboard.compact .matchupPlace,
  .unifiedMatchupScoreboard.compact .matchupNickname{font-size:11.25px!important;line-height:1.02!important;word-break:keep-all!important;overflow-wrap:normal!important;text-wrap:balance!important}
  .unifiedMatchupScoreboard.compact .matchupRecord{font-size:9px!important;margin-top:3px!important}
  .unifiedMatchupScoreboard.compact .matchupScoreCell strong{font-size:29px!important}
  .unifiedMatchupScoreboard.compact .matchupState{font-size:12px!important}
  .unifiedMatchupScoreboard.compact .matchupState.final{font-size:12px!important}
  .unifiedMatchupScoreboard.compact .matchupDown{font-size:10px!important;line-height:1.12!important}
}
@media(max-width:370px){
  .unifiedMatchupScoreboard.compact:not(.no-score){grid-template-columns:minmax(0,1fr) 33px 70px 33px minmax(0,1fr)!important;gap:1px!important}
  .unifiedMatchupScoreboard.compact .matchupLogoBox{width:44px!important;height:44px!important}
  .unifiedMatchupScoreboard.compact .matchupPlace,.unifiedMatchupScoreboard.compact .matchupNickname{font-size:10.5px!important}
  .unifiedMatchupScoreboard.compact .matchupScoreCell strong{font-size:27px!important}
}

/* Center every middle metadata item on the same physical axis. */
.popupMeta,.popupMetaDateTop,.popupMetaVenue,.popupMetaLocation,.popupMetaBroadcast{
  text-align:center!important;margin-left:auto!important;margin-right:auto!important;
}
.popupMeta{display:flex!important;flex-direction:column!important;align-items:center!important}

/* League Picks becomes an expandable two-column member breakdown. */
.popupLeaguePicksToggle{
  width:100%!important;border:0!important;background:transparent!important;color:inherit!important;
  display:flex!important;align-items:end!important;justify-content:space-between!important;gap:10px!important;
  padding:0 0 8px!important;text-align:left!important;cursor:pointer!important;
}
.popupLeaguePicksToggle span{font-size:18px!important;font-weight:900!important}
.popupLeaguePicksToggle small{font-size:9px!important;color:var(--muted)!important;font-weight:700!important;text-align:right!important}
.popupPickPeople{display:grid!important;grid-template-columns:1fr 1fr!important;gap:10px!important;margin-top:12px!important;padding-top:10px!important;border-top:1px solid var(--line)!important}
.popupPickPeople.hidden{display:none!important}
.popupPickSide{min-width:0!important;display:flex!important;flex-direction:column!important;gap:6px!important}
.popupPickSideHead{display:flex!important;align-items:center!important;gap:6px!important;font-size:12px!important}
.popupPickSideHead img{width:22px!important;height:22px!important;object-fit:contain!important}
.popupPickSide .profileNameBtn{width:100%!important;text-align:left!important;font-size:12px!important;padding:6px 7px!important;border:1px solid var(--line)!important;border-radius:8px!important;background:rgba(255,255,255,.025)!important}

/* Schedule Preview: one logo size and one aligned score/status geometry across live/final/upcoming. */
.previewteam>img,
.previewmatchup-started>.previewteam>img,
.previewmatchup:not(.previewmatchup-started)>.previewteam>img{
  width:28px!important;height:28px!important;min-width:28px!important;max-width:28px!important;object-fit:contain!important;
}
.previewmatchup-started>.previewteam,
.previewmatchup:not(.previewmatchup-started)>.previewteam{
  grid-template-columns:28px minmax(0,1fr)!important;
}
.previewgame-started .previewmatchup-started{
  grid-template-columns:minmax(0,1fr) 148px minmax(0,1fr)!important;
  gap:4px!important;align-items:center!important;
}
.previewgame-started .previewLiveCore{
  width:148px!important;min-width:148px!important;max-width:148px!important;
  grid-template-columns:34px 8px 64px 8px 34px!important;
  align-items:center!important;justify-items:center!important;overflow:visible!important;
}
.previewgame-started .previewLiveCore>.previewTeamScore{
  width:34px!important;min-width:34px!important;max-width:34px!important;
  font-size:18px!important;line-height:1!important;text-align:center!important;
}
.previewgame-started .previewLiveCore>.previewCenterStatus{
  width:64px!important;min-width:64px!important;max-width:64px!important;
  font-size:9.5px!important;line-height:1!important;text-align:center!important;
  white-space:nowrap!important;overflow:visible!important;text-overflow:clip!important;
}
.previewgame-started .previewLiveCore>.previewPossSlot{
  width:8px!important;min-width:8px!important;max-width:8px!important;
  font-size:6.5px!important;line-height:1!important;overflow:visible!important;
}
@media(max-width:430px){
  .previewgame-started .previewmatchup-started{grid-template-columns:minmax(0,1fr) 138px minmax(0,1fr)!important;gap:3px!important}
  .previewgame-started .previewLiveCore{width:138px!important;min-width:138px!important;max-width:138px!important;grid-template-columns:31px 7px 62px 7px 31px!important}
  .previewgame-started .previewLiveCore>.previewTeamScore{width:31px!important;min-width:31px!important;max-width:31px!important;font-size:17px!important}
  .previewgame-started .previewLiveCore>.previewCenterStatus{width:62px!important;min-width:62px!important;max-width:62px!important;font-size:9px!important}
  .previewteam>img,.previewmatchup-started>.previewteam>img,.previewmatchup:not(.previewmatchup-started)>.previewteam>img{width:26px!important;height:26px!important;min-width:26px!important;max-width:26px!important}
  .previewmatchup-started>.previewteam,.previewmatchup:not(.previewmatchup-started)>.previewteam{grid-template-columns:26px minmax(0,1fr)!important}
}

/* Picks Board leader cards: full names first, place moves right, rows get thinner. */
.boardMiniStandings .standingrows{gap:4px!important;margin-top:5px!important}
.boardMiniStandings .standingrow{
  display:grid!important;grid-template-columns:minmax(0,1fr) auto!important;
  min-height:38px!important;padding:3px 8px!important;gap:8px!important;
}
.boardMiniStandings .standingname{min-width:0!important}
.boardMiniStandings .standingname .profileNameBtn{
  display:flex!important;align-items:center!important;gap:6px!important;min-width:0!important;width:100%!important;
  white-space:nowrap!important;overflow:visible!important;text-overflow:clip!important;font-size:12.5px!important;
}
.boardMiniStandings .standingname .profileNameBtn b{white-space:nowrap!important;overflow:visible!important;text-overflow:clip!important}
.boardMiniStandings .standingnumbers{
  display:grid!important;grid-template-columns:auto auto!important;grid-template-rows:auto auto!important;
  align-items:center!important;justify-items:end!important;column-gap:6px!important;
}
.boardMiniStandings .standingnumbers>b{grid-column:2!important;grid-row:1 / span 2!important;font-size:18px!important}
.boardMiniStandings .standingnumbers>small{grid-column:2!important;grid-row:2!important;font-size:8px!important}
.boardMiniStandings .standingnumbers>.standingplace{grid-column:1!important;grid-row:1 / span 2!important;font-size:9px!important;white-space:nowrap!important}

/* Main live standings: even thinner, rank beside total, no visible TB. */
#weekStandingsList .standingrow{min-height:38px!important;padding:3px 8px!important}
#weekStandingsList .standingname .profileNameBtn{font-size:13px!important}
#weekStandingsList .standingnumbers>b{font-size:18px!important}

/* Landscape Picks Board: fit the whole eight-player table vertically on a phone. */
@media(orientation:landscape) and (max-height:500px) and (min-width:600px){
  body:has(#boardView:not(.hidden)) .topbar{min-height:58px!important;padding:8px 18px!important}
  body:has(#boardView:not(.hidden)) .topbar .eyebrow{display:none!important}
  body:has(#boardView:not(.hidden)) .topbar h1{font-size:20px!important;margin:0!important}
  body:has(#boardView:not(.hidden)) .topbar .appLogoBtn{font-size:24px!important}
  body:has(#boardView:not(.hidden)) #boardView>.backbtn{min-height:32px!important;padding:4px 8px!important;margin-bottom:4px!important}
  body:has(#boardView:not(.hidden)) #boardView>.panel{padding:7px!important}
  body:has(#boardView:not(.hidden)) #boardView .sectionhead,
  body:has(#boardView:not(.hidden)) #boardView .boardlegend,
  body:has(#boardView:not(.hidden)) #boardView .boardComparePanel,
  body:has(#boardView:not(.hidden)) #boardView .boardstatus,
  body:has(#boardView:not(.hidden)) #boardView .boardMiniStandings{display:none!important}
  body:has(#boardView:not(.hidden)) .pickstable tr,
  body:has(#boardView:not(.hidden)) .pickstable th,
  body:has(#boardView:not(.hidden)) .pickstable td{height:31px!important;min-height:31px!important;max-height:31px!important;padding-top:1px!important;padding-bottom:1px!important}
  body:has(#boardView:not(.hidden)) .pickstable .playername,
  body:has(#boardView:not(.hidden)) .pickstable .profileNameBtn{font-size:9px!important;line-height:1!important}
  body:has(#boardView:not(.hidden)) .pickstable .playerrecord{font-size:6.5px!important;line-height:1!important;margin-top:1px!important}
  body:has(#boardView:not(.hidden)) .pickstable .pickcell>span{font-size:8.5px!important}
  body:has(#boardView:not(.hidden)) .pickstable .matchuphead span{font-size:6px!important}
  body:has(#boardView:not(.hidden)) .pickstable .matchuphead small{font-size:5px!important}
}

/* Beta 5.5.1 — live polish + compare reliability */

/* Compare Players is a persistent editing surface. Normal compare mode keeps normal board colors. */
.boardComparePanel{margin:6px 0 8px!important}
.boardCompareHead{gap:8px!important;align-items:center!important}
.compareDiffToggle{gap:7px!important;font-size:13px!important;line-height:1!important;cursor:pointer!important}
.compareDiffToggle.disabled{opacity:.42!important;cursor:not-allowed!important}
.compareDiffToggle input{
  appearance:none!important;-webkit-appearance:none!important;
  width:20px!important;height:20px!important;min-width:20px!important;max-width:20px!important;
  padding:0!important;margin:0!important;border:1px solid var(--line)!important;border-radius:5px!important;
  background:var(--panel2)!important;display:inline-grid!important;place-items:center!important;
}
.compareDiffToggle input:checked{background:#168af3!important;border-color:#168af3!important}
.compareDiffToggle input:checked::after{content:'✓';font-size:15px;line-height:1;color:#fff;font-weight:950}
.compareDiffToggle input:disabled{opacity:.55!important}
.pickcell.compare-same{opacity:.52!important;filter:saturate(.72)!important}
.pickcell.compare-diff{box-shadow:inset 0 0 0 2px rgba(124,169,255,.58)!important;filter:none!important;opacity:1!important}
.pickcell.compare-hidden{opacity:.16!important;filter:saturate(.55)!important}
.boardCompareChoices{
  display:block!important;margin-top:8px!important;padding:9px!important;border:1px solid var(--line)!important;
  border-radius:12px!important;background:var(--panel2)!important;
}
.boardCompareChoices.hidden{display:none!important}
.comparePickerTop{display:grid!important;grid-template-columns:auto 1fr auto!important;align-items:center!important;gap:8px!important;margin-bottom:8px!important}
.comparePickerTop>b{text-align:center!important;font-size:13px!important}
.comparePickerBack,.compareClearAll{min-height:32px!important;padding:5px 8px!important;border:1px solid var(--line)!important;border-radius:8px!important;background:transparent!important;color:var(--text)!important;font-weight:800!important}
.compareClearAll:disabled{opacity:.4!important}
.compareSelectedRow{display:flex!important;gap:5px!important;flex-wrap:wrap!important;margin-bottom:8px!important}
.compareSelectedChip{min-height:28px!important;padding:4px 7px!important;border:1px solid var(--line)!important;border-radius:999px!important;background:rgba(255,255,255,.04)!important;color:var(--text)!important;font-size:11px!important;font-weight:800!important}
.compareSelectedChip span{font-size:14px!important;margin-left:3px!important}
.compareChoiceGrid{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:6px!important}
.compareChoiceGrid label{display:flex!important;align-items:center!important;gap:7px!important;min-height:34px!important;padding:5px 7px!important;border:1px solid var(--line)!important;border-radius:8px!important;font-size:12px!important;font-weight:800!important}
.compareChoiceGrid input{width:17px!important;height:17px!important;min-width:17px!important;margin:0!important;accent-color:#168af3!important}

/* Leader cards: readable full names, ranking sits left of the anchored total without collision. */
.boardMiniStandings .standingrow{min-height:36px!important;padding:2px 8px!important}
.boardMiniStandings .standingname .profileNameBtn{font-size:13.5px!important;line-height:1.05!important}
.boardMiniStandings .standingnumbers{grid-template-columns:auto 34px!important;column-gap:10px!important;min-width:96px!important}
.boardMiniStandings .standingnumbers>.standingplace{justify-self:end!important;font-size:9px!important;letter-spacing:.08em!important}
.boardMiniStandings .standingnumbers>b{justify-self:end!important;font-size:18px!important;line-height:1!important}
.boardMiniStandings .standingnumbers>small{justify-self:end!important;font-size:7.5px!important;line-height:1!important}
#weekStandingsList .standingrow{min-height:34px!important;padding:2px 8px!important}

/* Live status uses a balanced two-line time / quarter stack. */
.statusStack{display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:center!important;gap:1px!important;line-height:1!important;white-space:nowrap!important}
.statusStack>b{font-size:1.06em!important;line-height:1!important;font-weight:900!important;font-variant-numeric:tabular-nums!important}
.statusStack>small{font-size:.94em!important;line-height:1!important;font-weight:900!important;letter-spacing:.025em!important;color:inherit!important}
.statusSingle{display:block!important;text-align:center!important;white-space:nowrap!important;font-weight:900!important}

/* Schedule Preview: bring scores toward center, give possession a real slot, enlarge useful text, remove dead vertical space. */
.previewgame{padding-top:7px!important;padding-bottom:7px!important}
.previewleft{gap:2px!important}
.previewgame-started .previewmatchup-started{
  grid-template-columns:minmax(0,1fr) 126px minmax(0,1fr)!important;
  gap:3px!important;margin-bottom:2px!important;
}
.previewgame-started .previewLiveCore{
  width:126px!important;min-width:126px!important;max-width:126px!important;
  grid-template-columns:29px 9px 50px 9px 29px!important;column-gap:0!important;
}
.previewgame-started .previewLiveCore>.previewTeamScore{width:29px!important;min-width:29px!important;max-width:29px!important;font-size:18px!important;line-height:1!important}
.previewgame-started .previewLiveCore>.previewCenterStatus{width:50px!important;min-width:50px!important;max-width:50px!important;font-size:10.5px!important;line-height:1!important}
.previewgame-started .previewLiveCore>.previewPossSlot{width:9px!important;min-width:9px!important;max-width:9px!important;font-size:9px!important;line-height:1!important;display:flex!important;align-items:center!important;justify-content:center!important}
.livePreviewMeta{margin-top:1px!important;gap:2px!important}
.livePreviewSituation{font-size:11.5px!important;line-height:1.1!important;margin:1px 0!important}
.livePreviewPcts{font-size:12.5px!important;line-height:1.1!important;margin:1px 0!important}
.gameweather{font-size:11.5px!important;line-height:1.1!important;margin-top:3px!important;margin-bottom:1px!important}
.finalPreviewVenue{font-size:10.5px!important;line-height:1.1!important;margin-top:2px!important}
.previewteam>span b{font-size:13px!important}
.previewteam>span small{font-size:9.5px!important;line-height:1.05!important}
.previewteam .yourPickTag{font-size:8.5px!important;line-height:1!important}
.previewteam>img,.previewmatchup-started>.previewteam>img,.previewmatchup:not(.previewmatchup-started)>.previewteam>img{width:27px!important;height:27px!important;min-width:27px!important;max-width:27px!important}
.previewmatchup-started>.previewteam,.previewmatchup:not(.previewmatchup-started)>.previewteam{grid-template-columns:27px minmax(0,1fr)!important}
@media(max-width:390px){
  .previewgame-started .previewmatchup-started{grid-template-columns:minmax(0,1fr) 118px minmax(0,1fr)!important;gap:2px!important}
  .previewgame-started .previewLiveCore{width:118px!important;min-width:118px!important;max-width:118px!important;grid-template-columns:27px 8px 48px 8px 27px!important}
  .previewgame-started .previewLiveCore>.previewTeamScore{width:27px!important;min-width:27px!important;max-width:27px!important;font-size:17px!important}
  .previewgame-started .previewLiveCore>.previewCenterStatus{width:48px!important;min-width:48px!important;max-width:48px!important;font-size:10px!important}
  .previewgame-started .previewLiveCore>.previewPossSlot{width:8px!important;min-width:8px!important;max-width:8px!important;font-size:8px!important}
}

/* Quick Game Center: center title on modal, keep score lanes adjacent to state, uniformly scale narrow phones. */
.scheduleGameTop .eyebrow{left:50%!important;right:auto!important;transform:translate(-50%,-50%)!important;text-align:center!important}
.unifiedMatchupScoreboard.compact:not(.no-score){grid-template-columns:minmax(72px,1fr) 40px 78px 40px minmax(72px,1fr)!important;gap:2px!important}
.unifiedMatchupScoreboard.compact .matchupScoreCell.away,
.unifiedMatchupScoreboard.compact .matchupScoreCell.home{transform:none!important}
.unifiedMatchupScoreboard.compact .matchupScoreCell{justify-content:center!important}
.unifiedMatchupScoreboard.compact .unifiedMatchupCenter{min-width:0!important;width:78px!important;padding:0 2px!important}
.unifiedMatchupScoreboard.compact .statusStack{font-size:12px!important}
.unifiedMatchupScoreboard.compact .statusSingle{font-size:13px!important}
.unifiedMatchupScoreboard.compact .matchupDown{margin-top:4px!important;font-size:10.5px!important;line-height:1.1!important}
.popupPickBarV2{cursor:pointer!important;border-radius:8px!important}
.popupPickBarV2:active{background:rgba(255,255,255,.025)!important}
@media(max-width:430px){
  .unifiedMatchupScoreboard.compact:not(.no-score){grid-template-columns:minmax(58px,1fr) 34px 70px 34px minmax(58px,1fr)!important;gap:1px!important}
  .unifiedMatchupScoreboard.compact .matchupScoreCell strong{font-size:28px!important}
  .unifiedMatchupScoreboard.compact .unifiedMatchupCenter{width:70px!important}
  .unifiedMatchupScoreboard.compact .matchupLogoBox{width:46px!important;height:46px!important}
  .unifiedMatchupScoreboard.compact .matchupPlace,.unifiedMatchupScoreboard.compact .matchupNickname{font-size:10.75px!important}
}

/* Portrait Picks Board: less empty space, slightly larger useful text. */
@media(orientation:portrait){
  .pickstable th,.pickstable td{height:48px!important;min-height:48px!important;padding-top:2px!important;padding-bottom:2px!important}
  .pickstable .pickcell>span{font-size:12.5px!important}
  .pickstable .playername,.pickstable .profileNameBtn{font-size:12.5px!important}
  .pickstable .playerrecord{font-size:8.5px!important}
  .pickstable .matchuphead span{font-size:8px!important}
  .pickstable .matchuphead small{font-size:7px!important}
}

/* Landscape board: readable minimum density, compact legend, then scroll naturally for larger leagues. */
.boardLandscapeLegend{display:none}
@media(orientation:landscape) and (max-height:560px) and (min-width:600px){
  body:has(#boardView:not(.hidden)) #boardView .boardLandscapeLegend{
    display:flex!important;align-items:center!important;gap:10px!important;flex-wrap:nowrap!important;
    white-space:nowrap!important;overflow:hidden!important;padding:3px 5px!important;margin-bottom:3px!important;
    font-size:7.5px!important;color:var(--muted)!important;
  }
  .boardLandscapeLegend .lg-correct{color:#36b66b!important}.boardLandscapeLegend .lg-wrong{color:#d85158!important}.boardLandscapeLegend .lg-pending{color:#92a6bd!important}.boardLandscapeLegend .lg-tie{color:#c89421!important}.boardLandscapeLegend .lg-canceled{color:#9caabd!important}
  body:has(#boardView:not(.hidden)) #boardView .sectionhead,
  body:has(#boardView:not(.hidden)) #boardView .boardlegend,
  body:has(#boardView:not(.hidden)) #boardView .boardComparePanel,
  body:has(#boardView:not(.hidden)) #boardView .boardstatus,
  body:has(#boardView:not(.hidden)) #boardView .boardMiniStandings{display:none!important}
  body:has(#boardView:not(.hidden)) .pickstable tr,
  body:has(#boardView:not(.hidden)) .pickstable th,
  body:has(#boardView:not(.hidden)) .pickstable td{height:32px!important;min-height:32px!important;max-height:32px!important;padding-top:1px!important;padding-bottom:1px!important}
  body:has(#boardView:not(.hidden)) .pickstable .playername,
  body:has(#boardView:not(.hidden)) .pickstable .profileNameBtn{font-size:9.5px!important;line-height:1!important}
  body:has(#boardView:not(.hidden)) .pickstable .playerrecord{font-size:6.5px!important}
  body:has(#boardView:not(.hidden)) .pickstable .pickcell>span{font-size:9px!important}
  body:has(#boardView:not(.hidden)) .pickstable .matchuphead span{font-size:6.5px!important}
}


/* Beta 5.5.2 — week flow, light-board normalization, halftime state */

/* Week entry CTA keeps green identity without overpowering the entire page. */
#openWeek1Btn.pickActionInitial{
  background:linear-gradient(180deg,#2eaa70,#24895d)!important;
  border-color:#48bb83!important;color:#fff!important;
  box-shadow:0 5px 16px rgba(34,139,94,.22)!important;
}
#openWeek1Btn.pickActionEdit{
  background:linear-gradient(180deg,#2c7458,#255f4a)!important;
  border-color:#4c8e72!important;color:#f3fff8!important;
  box-shadow:0 4px 12px rgba(24,93,66,.18)!important;
}
#openWeek1Btn.pickActionView{
  background:var(--panel2)!important;border-color:var(--line)!important;color:var(--text)!important;
  box-shadow:none!important;
}
body.light-mode #openWeek1Btn.pickActionInitial{background:linear-gradient(180deg,#56b987,#429f72)!important;border-color:#4e9f75!important;color:#102e22!important}
body.light-mode #openWeek1Btn.pickActionEdit{background:linear-gradient(180deg,#b8dfcb,#a9d4bd)!important;border-color:#76ad8f!important;color:#173d2b!important}
body.light-mode #openWeek1Btn.pickActionView{background:#e4ecf3!important;border-color:#aebfd0!important;color:#20364e!important}

.weekbtn.futureLocked{opacity:.48!important;cursor:not-allowed!important;filter:saturate(.55)!important}
.weekbtn.futureLocked .weekArrow{font-size:11px!important}

/* Light-mode Picks Board should live in the same soft-card family as Schedule Preview. */
body.light-mode #boardView .picksboardwrap,
body.light-mode #boardView .boardscroll,
body.light-mode #boardView .pickstable{
  background:#edf3f8!important;border-color:#b4c4d4!important;
}
body.light-mode #boardView .pickstable thead th,
body.light-mode #boardView .pickstable .playercol,
body.light-mode #boardView .pickstable .gamehead,
body.light-mode #boardView .pickstable .tbhead{
  background:#e5edf5!important;color:#27435d!important;border-color:#b7c6d5!important;
}
body.light-mode #boardView .pickstable .playername,
body.light-mode #boardView .pickstable .profileNameBtn{color:#1e344a!important}
body.light-mode #boardView .pickstable .playerrecord{color:#60768b!important}
body.light-mode #boardView .pickstable .matchuphead span{color:#27435d!important}
body.light-mode #boardView .pickstable .matchuphead small{color:#71859a!important}
body.light-mode #boardView .pickstable .tbcell{background:#e1eaf2!important;color:#20364e!important;border-color:#b7c6d5!important}
body.light-mode #boardView .pickstable th,
body.light-mode #boardView .pickstable td{border-color:#b9c8d6!important}
body.light-mode #boardView .boardlegend{
  background:transparent!important;color:#536a81!important;border-color:transparent!important;
}
body.light-mode #boardView .boardLandscapeLegend{
  background:#e7eef5!important;color:#536a81!important;border:1px solid #b8c7d5!important;border-radius:7px!important;
}
/* Keep semantic red/green cells readable; soften only the neutral board shell. */
body.light-mode #boardView .pickstable .pickcell.board-pending.board-pending-away,
body.light-mode #boardView .pickstable .pickcell.board-pending.board-away{background:#e5edf4!important;color:#20364e!important}
body.light-mode #boardView .pickstable .pickcell.board-pending.board-pending-home,
body.light-mode #boardView .pickstable .pickcell.board-pending.board-home{background:#d2dee9!important;color:#20364e!important}

/* Differences Only dims context but keeps the actual pick visible. */
.pickcell.compare-same{opacity:.48!important;filter:saturate(.72)!important}
.pickcell.compare-diff{opacity:1!important;filter:none!important;box-shadow:inset 0 0 0 2px rgba(92,145,220,.58)!important}

.statusSingle.halftimeStatus{font-size:.94em!important;letter-spacing:.02em!important}

/* Beta 5.5.3 — final Weekly Pick'em polish */
/* Quick/Full Game Center possession: fixed reserved slot beside the possessing score. */
.matchupScoreCell{display:grid!important;align-items:center!important;justify-content:center!important;position:relative!important}
.matchupScoreCell.away{grid-template-columns:12px auto!important}.matchupScoreCell.home{grid-template-columns:auto 12px!important}
.matchupScoreCell.away .scorePossessionSlot{grid-column:1!important}.matchupScoreCell.away strong{grid-column:2!important}
.matchupScoreCell.home strong{grid-column:1!important}.matchupScoreCell.home .scorePossessionSlot{grid-column:2!important}
.scorePossessionSlot{display:grid!important;place-items:center!important;width:12px!important;min-width:12px!important;font-size:10px!important;line-height:1!important}

/* Live field: fixed away-left/home-right orientation; only the ball moves. */
.liveField{height:30px!important;overflow:hidden!important}
.fieldBall{font-size:12px!important;transition:left .45s ease!important;animation:none!important;transform:translate(-50%,-50%)!important}
.liveField .fieldArc{display:none!important}.liveField[class*="motion-"] .fieldBall{animation:none!important}
.liveField .end{font-size:7px!important;max-width:32px!important;overflow:hidden!important;text-overflow:clip!important}

/* Schedule Preview: larger consistent identities + tighter live/final center geometry. */
.previewteam>img,.previewmatchup-started>.previewteam>img,.previewmatchup:not(.previewmatchup-started)>.previewteam>img{width:30px!important;height:30px!important;min-width:30px!important;max-width:30px!important}
.previewmatchup-started>.previewteam,.previewmatchup:not(.previewmatchup-started)>.previewteam{grid-template-columns:30px minmax(0,1fr)!important}
.previewmatchup:not(.previewmatchup-started) .previewteam b,.previewmatchup-started .previewteam b{font-size:13.5px!important;font-weight:900!important}
.previewgame-started .previewmatchup-started{grid-template-columns:minmax(0,1fr) 116px minmax(0,1fr)!important}
.previewgame-started .previewLiveCore{width:116px!important;min-width:116px!important;max-width:116px!important;grid-template-columns:27px 7px 48px 7px 27px!important}
.previewgame-started .previewLiveCore>.previewTeamScore{width:27px!important;min-width:27px!important;max-width:27px!important}
.previewgame-started .previewLiveCore>.previewCenterStatus{width:48px!important;min-width:48px!important;max-width:48px!important}

/* Picks Board leader cards: rank and score stack never collide. */
.boardMiniStandings .standingnumbers{grid-template-columns:auto 42px!important;grid-template-rows:19px 11px!important;column-gap:10px!important;min-width:104px!important}
.boardMiniStandings .standingnumbers>.standingplace{grid-column:1!important;grid-row:1 / span 2!important;align-self:center!important}
.boardMiniStandings .standingnumbers>b{grid-column:2!important;grid-row:1!important;align-self:end!important;font-size:18px!important}
.boardMiniStandings .standingnumbers>small{grid-column:2!important;grid-row:2!important;align-self:start!important;font-size:8px!important}

/* Light mode board results use the same soft result family as Schedule Preview. Dark mode is unchanged. */
body.light-mode:not(.color-assist) .pickstable .pickcell.board-correct{background:#cfe8dc!important;color:#173d2a!important;box-shadow:inset 0 0 0 1px #47a477!important}
body.light-mode:not(.color-assist) .pickstable .pickcell.board-wrong{background:#ead8dc!important;color:#52242a!important;box-shadow:inset 0 0 0 1px #b95d68!important}
body.light-mode:not(.color-assist) .legenddot.board-correct{background:#cfe8dc!important;border:1px solid #47a477!important}
body.light-mode:not(.color-assist) .legenddot.board-wrong{background:#ead8dc!important;border:1px solid #b95d68!important}

/* Player profile: permanent recognition is wins, perfect weeks, championships. */
.profileAchievement{border-color:#6d5a26!important}.perfectTrophy{display:inline-block}.perfectTrophy.fancy{filter:drop-shadow(0 0 4px rgba(160,220,255,.9));background:linear-gradient(135deg,#fff,#9ee7ff,#d8b8ff,#fff);border-radius:999px;padding:1px 3px}

/* Once games start, ordinary members use Picks Board for entrants; commissioners retain management. */
#weekEntriesPanel.memberEntriesHidden{display:none!important}

/* Commissioner card: restore useful scale without bloating the outer card. */
.commissionerCardV2{padding:12px 13px!important}.commissionerCardV2 .commissionerEyebrow{font-size:10px!important}.commissionerCardV2 .commissionerName{font-size:20px!important}
.commissionerCardV2 .commissionerQuickActions{gap:9px!important;margin:8px 0!important}
.commissionerCardV2 .commissionerQuickActions button,.commissionerCardV2 .commissionerQuickActions a{width:48px!important;height:48px!important;min-width:48px!important;min-height:48px!important;border-radius:13px!important}
.commissionerCardV2 .commissionerQuickActions .commissionerActionIcon,.commissionerCardV2 .commissionerQuickActions .commissionerActionIcon svg{width:27px!important;height:27px!important}
.commissionerCardV2 .commissionerBadges span{padding:4px 8px!important;font-size:10.5px!important}.commissionerCardV2 .commissionerNote{font-size:13px!important;padding:7px 9px!important}.commissionerCardV2 .commissionerActions button{min-height:40px!important;font-size:13px!important}
.weekPanelDragHandle{appearance:none;-webkit-appearance:none;width:22px;height:30px;min-width:22px;padding:0;margin:0 6px 0 0;border:0;background:transparent;display:flex;flex-direction:column;justify-content:center;gap:3px;cursor:grab;touch-action:pan-y}
.weekPanelDragHandle i{display:block;width:14px;height:2px;border-radius:2px;background:var(--muted);opacity:.65}.weekPanelDragging{opacity:.88!important;outline:1px solid #5e8fbd!important}.weekPanelDraggingActive{user-select:none!important}

/* Beta 5.5.4 — Schedule Preview identity sizing */
/* Larger fixed logo box for every game state without increasing row height. */
.previewteam>img,
.previewmatchup-started>.previewteam>img,
.previewmatchup:not(.previewmatchup-started)>.previewteam>img{
  width:36px!important;height:36px!important;min-width:36px!important;max-width:36px!important;
  object-fit:contain!important;
}
.previewmatchup-started>.previewteam,
.previewmatchup:not(.previewmatchup-started)>.previewteam{
  grid-template-columns:36px minmax(0,1fr)!important;
}
/* Started/final/live team identity uses the same larger type as upcoming games. */
.previewteam>span b,
.previewmatchup-started>.previewteam>span b,
.previewmatchup:not(.previewmatchup-started)>.previewteam>span b{
  font-size:15px!important;line-height:1.05!important;font-weight:900!important;
}
.previewteam>span small,
.previewmatchup-started>.previewteam>span small,
.previewmatchup:not(.previewmatchup-started)>.previewteam>span small{
  font-size:11px!important;line-height:1.08!important;
}
.previewteam .yourPickTag{font-size:9px!important;line-height:1!important}
@media(max-width:390px){
  .previewteam>img,.previewmatchup-started>.previewteam>img,.previewmatchup:not(.previewmatchup-started)>.previewteam>img{width:34px!important;height:34px!important;min-width:34px!important;max-width:34px!important}
  .previewmatchup-started>.previewteam,.previewmatchup:not(.previewmatchup-started)>.previewteam{grid-template-columns:34px minmax(0,1fr)!important}
}

/* Beta 5.5.5 — force started/final Schedule Preview identity to match upcoming sizing.
   Older live-row safety rules used more-specific selectors and were winning over 5.5.4. */
.previewgame-started .previewmatchup-started > .previewteam,
.previewgame-started .previewmatchup-started > .previewteam.schedule-your-pick{
  grid-template-columns:36px minmax(0,1fr)!important;
  column-gap:5px!important;
}
.previewgame-started .previewmatchup-started > .previewteam > img,
.previewgame-started .previewmatchup-started > .previewteam.schedule-your-pick > img{
  width:36px!important;
  height:36px!important;
  min-width:36px!important;
  max-width:36px!important;
  object-fit:contain!important;
  margin:0!important;
}
.previewgame-started .previewmatchup-started > .previewteam > span b,
.previewgame-started .previewmatchup-started > .previewteam.schedule-your-pick > span b{
  font-size:15px!important;
  line-height:1.05!important;
  font-weight:900!important;
}
.previewgame-started .previewmatchup-started > .previewteam > span small,
.previewgame-started .previewmatchup-started > .previewteam.schedule-your-pick > span small{
  font-size:11px!important;
  line-height:1.08!important;
}
.previewgame-started .previewmatchup-started > .previewteam .yourPickTag,
.previewgame-started .previewmatchup-started > .previewteam.schedule-your-pick .yourPickTag{
  font-size:9px!important;
  line-height:1!important;
}
@media(max-width:390px){
  .previewgame-started .previewmatchup-started > .previewteam,
  .previewgame-started .previewmatchup-started > .previewteam.schedule-your-pick{
    grid-template-columns:34px minmax(0,1fr)!important;
  }
  .previewgame-started .previewmatchup-started > .previewteam > img,
  .previewgame-started .previewmatchup-started > .previewteam.schedule-your-pick > img{
    width:34px!important;height:34px!important;min-width:34px!important;max-width:34px!important;
  }
}

/* Beta 5.5.6 — Week panel reorder matches My Leagues without changing card layout */
.weekMovablePanel{position:relative!important;padding-right:inherit!important}
.weekPanelDragHandle{
  position:absolute!important;right:10px!important;top:50%!important;transform:translateY(-50%)!important;
  width:20px!important;height:48px!important;min-width:20px!important;margin:0!important;padding:0!important;
  border-radius:10px!important;border:1px solid rgba(111,139,172,.45)!important;background:#0c1725!important;
  display:grid!important;grid-template-columns:repeat(2,4px)!important;grid-auto-rows:4px!important;
  align-content:center!important;justify-content:center!important;gap:4px!important;touch-action:none!important;
  cursor:grab!important;z-index:6!important;box-shadow:inset 0 0 0 1px rgba(255,255,255,.015)!important;
  -webkit-user-select:none!important;user-select:none!important;-webkit-touch-callout:none!important;
}
.weekPanelDragHandle i{display:block!important;width:4px!important;height:4px!important;border-radius:50%!important;background:#6f86a2!important;opacity:1!important}
.weekPanelDragHandle:active{border-color:#89a8ca!important;background:#14243a!important}
body.light-mode .weekPanelDragHandle{background:#c5d2df!important;border-color:#91a9bf!important}
body.light-mode .weekPanelDragHandle i{background:#58728d!important}
.weekPanelDragging{transform:scale(1.015)!important;opacity:1!important;outline:0!important;box-shadow:0 18px 42px rgba(0,0,0,.35)!important;z-index:9999!important}
.weekPanelDraggingActive{user-select:none!important}
.weekPanelDragPlaceholder{border:1px dashed #5f7894;border-radius:18px;background:rgba(91,122,153,.10)}
/* The grip floats over the right edge like My Leagues; section headers return to their original geometry. */
.weekMovablePanel>.sectionhead{padding-left:0!important;margin-left:0!important}
@media(max-width:430px){.weekPanelDragHandle{right:9px!important;width:18px!important;min-width:18px!important;height:46px!important}}

/* Beta 5.5.7 — pin Week panel reorder grip to the header/title row */
.weekMovablePanel>.weekPanelDragHandle{
  top:52px!important;
  right:12px!important;
  transform:none!important;
}
#schedulePreviewPanel>.weekPanelDragHandle{top:54px!important}
#weekEntriesPanel>.weekPanelDragHandle,
#weekStandingsPanel>.weekPanelDragHandle{top:54px!important}
@media(max-width:430px){
  .weekMovablePanel>.weekPanelDragHandle{top:50px!important;right:10px!important;transform:none!important}
  #schedulePreviewPanel>.weekPanelDragHandle,
  #weekEntriesPanel>.weekPanelDragHandle,
  #weekStandingsPanel>.weekPanelDragHandle{top:50px!important}
}


/* Beta 5.5.7 — Week panel grips live in the header lane, never over controls */
.weekMovablePanel>.sectionhead{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) auto 24px!important;
  gap:10px!important;
  align-items:center!important;
  padding-right:0!important;
  position:relative!important;
}
.weekMovablePanel>.sectionhead>.weekPanelDragHandle{
  position:static!important;
  right:auto!important;top:auto!important;transform:none!important;
  grid-column:3!important;grid-row:1!important;
  justify-self:end!important;align-self:center!important;
  width:20px!important;min-width:20px!important;height:48px!important;
  z-index:1!important;
}
.weekMovablePanel>.sectionhead>.weekPanelActions,
.weekMovablePanel>.sectionhead>.smallbtn{
  grid-column:2!important;
  grid-row:1!important;
  justify-self:end!important;
  position:relative!important;
  z-index:2!important;
}
#schedulePreviewPanel>.sectionhead>div:first-child,
#weekEntriesPanel>.sectionhead>div:first-child,
#weekStandingsPanel>.sectionhead>div:first-child{
  grid-column:1!important;grid-row:1!important;min-width:0!important;
}
@media(max-width:430px){
  .weekMovablePanel>.sectionhead{
    grid-template-columns:minmax(0,1fr) auto 22px!important;
    gap:7px!important;
  }
  .weekMovablePanel>.sectionhead>.weekPanelDragHandle{
    width:18px!important;min-width:18px!important;height:46px!important;
  }
}


/* Beta 5.5.8 — Week panel drag should feel like My Leagues on iPhone */
.weekPanelDragHandle,.weekPanelDragHandle *{
  -webkit-user-select:none!important;user-select:none!important;
  -webkit-touch-callout:none!important;touch-action:none!important;
}
.weekPanelDragArmed,.weekPanelDragArmed *,body.weekPanelDragPending,body.weekPanelDragPending *{
  -webkit-user-select:none!important;user-select:none!important;-webkit-touch-callout:none!important;
}
body.weekPanelDragPending{touch-action:pan-y!important;}
body.weekPanelDraggingActive{overflow:auto!important;touch-action:none!important;-webkit-user-select:none!important;user-select:none!important;}
.weekPanelDragging{z-index:5000!important;transition:none!important;will-change:top!important;}
/* Match the My Leagues drag placeholder treatment exactly. */
.weekPanelDragPlaceholder{border:1px dashed #5f7894!important;border-radius:18px!important;background:rgba(91,122,153,.10)!important;box-sizing:border-box!important;}

/* ===== Beta 5.6.0 — Survivor v0.1 ===== */
.survivorBetaPill,.survivorPill{display:inline-flex;align-items:center;justify-content:center;border:1px solid rgba(90,220,150,.32);background:rgba(32,170,105,.12);color:#8df0bc;border-radius:999px;padding:5px 9px;font-size:10px;font-weight:900;letter-spacing:.08em}
.survivorSetupNotice{border-color:rgba(255,190,70,.35)!important;background:linear-gradient(180deg,rgba(255,190,70,.09),rgba(255,190,70,.035))!important}
.survivorCreateJoin{margin-top:12px}
.survivorRulesPreview{margin-top:12px}
.survivorRuleStrip{display:grid;grid-template-columns:repeat(4,1fr);gap:7px;margin:12px 0 8px}
.survivorRuleStrip span{min-width:0;text-align:center;border:1px solid rgba(140,160,190,.18);border-radius:12px;background:rgba(255,255,255,.035);padding:10px 5px}
.survivorRuleStrip b{display:block;font-size:18px;line-height:1.05}.survivorRuleStrip small{display:block;margin-top:5px;font-size:9px;color:var(--muted);font-weight:800;text-transform:uppercase;letter-spacing:.04em}
.survivorPoolCard{border-color:rgba(44,193,119,.24)!important}.survivorMiniStatus{font-size:10px;font-weight:900;color:#80e7ad;letter-spacing:.08em}
.survivorHero{background:linear-gradient(150deg,rgba(23,94,59,.30),rgba(12,22,35,.95))!important;border-color:rgba(52,196,123,.30)!important}
.survivorStatus{display:inline-flex;align-items:center;border-radius:999px;padding:7px 10px;font-size:11px;font-weight:950;letter-spacing:.08em}.survivorStatus.alive{background:rgba(33,190,105,.16);color:#86efb4;border:1px solid rgba(49,215,128,.3)}.survivorStatus.out{background:rgba(212,77,82,.15);color:#ff9ea2;border:1px solid rgba(222,85,91,.28)}
.survivorRuleLine{margin-top:10px;color:var(--muted);font-size:12px;font-weight:700}
.survivorUsedTeams{display:flex;gap:6px;align-items:center;flex-wrap:wrap;margin:9px 0 12px}.survivorUsedLabel{font-size:10px;color:var(--muted);font-weight:900;text-transform:uppercase;letter-spacing:.06em}.usedTeamChip{display:inline-flex;align-items:center;gap:5px;padding:4px 7px;border-radius:999px;background:rgba(255,255,255,.055);border:1px solid rgba(140,160,190,.16);font-size:10px;font-weight:900}.usedTeamChip img{width:16px;height:16px;object-fit:contain}
.survivorGames{display:grid;gap:9px}.survivorDay{margin:8px 2px 0}.survivorGame{border:1px solid rgba(135,155,185,.15);border-radius:14px;background:rgba(255,255,255,.025);padding:9px}.survivorGameMeta{display:flex;justify-content:space-between;gap:8px;color:var(--muted);font-size:9px;font-weight:800;margin:0 2px 7px}.survivorMatchup{display:grid;grid-template-columns:minmax(0,1fr) 18px minmax(0,1fr);align-items:center;gap:5px}.survivorAt{text-align:center;font-size:10px;color:var(--muted);font-weight:900}
.survivorTeam{display:grid;grid-template-columns:36px minmax(0,1fr) 18px;align-items:center;gap:7px;min-height:54px;padding:7px 8px;border-radius:11px;border:1px solid rgba(125,145,175,.19);background:rgba(255,255,255,.035);color:inherit;text-align:left}.survivorTeam img{width:36px;height:36px;object-fit:contain}.survivorTeam span{min-width:0}.survivorTeam b{display:block;font-size:13px;line-height:1.05}.survivorTeam small{display:block;margin-top:3px;color:var(--muted);font-size:9px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.survivorTeam i{font-style:normal;color:#8af0b7;font-size:16px;font-weight:900}.survivorTeam.selected{border-color:rgba(45,211,126,.72);background:rgba(38,183,105,.16);box-shadow:inset 0 0 0 1px rgba(65,228,143,.18)}.survivorTeam.used{opacity:.42}.survivorTeam:disabled{cursor:default}
.survivorSubmitBar{margin-top:12px}.survivorSubmitBar .big{width:100%}.survivorSubmitBar .fine{text-align:center;margin-bottom:0}
.survivorStandings{display:grid;gap:7px}.survivorStandingRow{display:grid;grid-template-columns:24px minmax(0,1fr) auto;align-items:center;gap:8px;padding:9px 6px;border-bottom:1px solid rgba(135,155,185,.11)}.survivorStandingRank{display:grid;place-items:center;width:22px;height:22px;border-radius:50%;background:rgba(255,255,255,.055);font-size:10px;font-weight:900}.survivorStandingRow b{display:block;font-size:12px}.survivorStandingRow small{display:block;color:var(--muted);font-size:9px;margin-top:2px}.survivorStandingPick{display:inline-flex;align-items:center;gap:5px;font-size:11px;font-weight:900}.survivorStandingPick img{width:24px;height:24px;object-fit:contain}.survivorHiddenPick{font-size:10px;color:var(--muted);font-weight:800}
.survivorHistory{display:grid;gap:5px}.survivorHistoryRow{display:grid;grid-template-columns:1fr auto 64px;align-items:center;gap:8px;padding:8px 4px;border-bottom:1px solid rgba(135,155,185,.1);font-size:11px}.survivorHistoryRow>b{text-align:right;font-size:9px;color:var(--muted)}
body.light-mode .survivorHero{background:linear-gradient(150deg,#dff3e7,#f5f8fb)!important;border-color:#b4ddc4!important}body.light-mode .survivorBetaPill,body.light-mode .survivorPill{color:#17663d;background:#e2f4e9;border-color:#acd8bd}body.light-mode .survivorTeam,body.light-mode .survivorGame,body.light-mode .survivorRuleStrip span{background:#f7fafc;border-color:#d7e0e8}body.light-mode .survivorTeam.selected{background:#dff3e8;border-color:#5da87c}body.light-mode .usedTeamChip{background:#f1f5f8;border-color:#d7e0e8}
@media(max-width:520px){.survivorRuleStrip{grid-template-columns:repeat(4,1fr);gap:5px}.survivorRuleStrip span{padding:9px 3px}.survivorRuleStrip b{font-size:16px}.survivorRuleStrip small{font-size:8px}.survivorTeam{grid-template-columns:32px minmax(0,1fr) 16px;padding:7px 6px}.survivorTeam img{width:32px;height:32px}.survivorTeam b{font-size:12px}.survivorGameMeta{font-size:8px}}

/* Beta 5.6.3 — Survivor pick flow + boards + compact shared header */
@media(max-width:600px){
 .topbar{padding-top:8px!important;padding-bottom:8px!important;min-height:0!important}
 .topbar .eyebrow{margin-bottom:2px!important;font-size:9px!important;line-height:1!important}
 .topbar h1{margin:2px 0!important;line-height:1.02!important}
 .topbar .appLogoBtn{font-size:28px!important;line-height:1!important}
}
.survivorPickSummary{display:flex;flex-direction:column;gap:5px;font-size:11px;color:var(--muted)}
.survivorPickSummary b{color:var(--text)}.survivorPickSummary small{font-size:8px;font-weight:900}
.survivorTeam{grid-template-columns:36px minmax(0,1fr)!important}.survivorTeam i{display:none!important}
.survivorTeam.selected,.survivorTeam.current{border-color:#5e93c8!important;background:rgba(61,112,166,.22)!important;box-shadow:inset 0 0 0 1px rgba(101,164,226,.28)!important}
.survivorTeam.used,.survivorTeam.started{opacity:.34!important;filter:saturate(.35)}
.survivorTeam.used small{font-weight:900!important;letter-spacing:.03em}
.survivorGameDetail{text-align:center;color:var(--muted);font-size:9px;font-weight:700;margin-top:6px}
.survivorBoardTabs{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin:10px 0 12px}.survivorBoardTabs .active{border-color:#5e93c8;background:rgba(61,112,166,.22);color:var(--text)}
.survivorAvailabilityScroll{overflow:auto;border:1px solid rgba(135,155,185,.14);border-radius:12px;max-width:100%}.survivorAvailabilityScroll table{border-collapse:separate;border-spacing:0;font-size:9px;min-width:max-content}.survivorAvailabilityScroll th,.survivorAvailabilityScroll td{width:46px;min-width:46px;height:48px;text-align:center;border-right:1px solid rgba(135,155,185,.08);border-bottom:1px solid rgba(135,155,185,.08);padding:3px}.survivorAvailabilityScroll thead th{position:sticky;top:0;background:var(--panel);z-index:2}.survivorAvailabilityScroll th:first-child{position:sticky;left:0;width:105px;min-width:105px;text-align:left;padding-left:8px;background:var(--panel);z-index:3}.survivorAvailabilityScroll td img,.survivorAvailabilityScroll thead img{width:26px;height:26px;object-fit:contain;display:block;margin:auto}.survivorAvailabilityScroll small{display:block;font-size:7px;font-weight:900;color:var(--muted)}.survivorAvailabilityScroll td.burned{background:rgba(0,0,0,.32);opacity:.32;filter:grayscale(.8)}.survivorAvailabilityScroll td.burned small{opacity:1;color:var(--text)}
body.light-mode .survivorTeam.selected,body.light-mode .survivorTeam.current{background:#cfe0f1!important;border-color:#5f93c5!important}
body.light-mode .survivorAvailabilityScroll thead th,body.light-mode .survivorAvailabilityScroll th:first-child{background:var(--panel)!important}


/* Beta 5.6.4 — Survivor unavailable selection states */
.survivorTeam.unavailable{
  opacity:1!important;
  filter:none!important;
  border-color:rgba(154,168,188,.28)!important;
  background:rgba(132,145,164,.055)!important;
  box-shadow:inset 0 0 0 1px rgba(160,174,194,.035)!important;
}
.survivorTeam.unavailable img{opacity:.38!important;filter:grayscale(.7) saturate(.35)!important}
.survivorTeam.unavailable b,.survivorTeam.unavailable small{color:rgba(190,201,216,.48)!important}
.survivorUnavailableReason{display:block;margin-top:4px;font-style:normal;font-size:8px;line-height:1;font-weight:950;letter-spacing:.09em;color:rgba(196,207,221,.58);text-transform:uppercase}
.survivorTeam.selected,.survivorTeam.current{opacity:1!important;filter:none!important;border-color:#5e93c8!important;background:rgba(61,112,166,.22)!important;box-shadow:inset 0 0 0 1px rgba(101,164,226,.28)!important}
.survivorTeam.selected img,.survivorTeam.current img{opacity:1!important;filter:none!important}
body.light-mode .survivorTeam.unavailable{background:#eef1f4!important;border-color:#cfd6dd!important}
body.light-mode .survivorTeam.unavailable img{opacity:.42!important}
body.light-mode .survivorTeam.unavailable b,body.light-mode .survivorTeam.unavailable small{color:#8b96a2!important}
body.light-mode .survivorUnavailableReason{color:#77828d!important}

/* ===== Beta 5.6.6 — Survivor preview parity + Weekly navigation cleanup ===== */
#survivorUsedTeams{display:none!important}
.survivorGames{display:block!important}
.survivorDay{margin:14px 4px 8px!important}
.survivorPreviewGame{
  width:100%;box-sizing:border-box;margin:0 0 4px!important;padding:8px 0!important;
  border:0!important;border-radius:0!important;background:transparent!important;
  cursor:default!important;
}
.survivorPreviewGame .previewleft{min-width:0;width:100%}
.survivorPreviewGame .previewmatchup{width:100%}
.survivorPreviewTeam{
  appearance:none;-webkit-appearance:none;font:inherit;color:inherit;cursor:pointer;
  border:1px solid transparent!important;background:transparent!important;
  box-shadow:none!important;margin:0!important;
}
.survivorPreviewTeam:disabled{cursor:default}
.survivorPreviewTeam.survivor-selected,.survivorPreviewTeam.survivor-current{
  background:rgba(61,112,166,.30)!important;
  border-color:#5e93c8!important;
  box-shadow:inset 0 0 0 1px rgba(101,164,226,.28)!important;
  border-radius:12px!important;
}
.survivorPreviewTeam.survivor-unavailable{
  background:rgba(132,145,164,.045)!important;
  border-color:rgba(154,168,188,.24)!important;
  border-radius:12px!important;
}
.survivorPreviewTeam.survivor-unavailable img{opacity:.34!important;filter:grayscale(.75) saturate(.3)!important}
.survivorPreviewTeam.survivor-unavailable b,.survivorPreviewTeam.survivor-unavailable small{color:rgba(190,201,216,.44)!important}
.survivorPreviewTeam .survivorUnavailableReason,.survivorPreviewTeam .survivorCurrentLabel{
  display:block;margin-top:3px;font-style:normal;font-size:8px;line-height:1;font-weight:950;letter-spacing:.08em;text-transform:uppercase
}
.survivorPreviewTeam .survivorUnavailableReason{color:rgba(196,207,221,.60)}
.survivorPreviewTeam .survivorCurrentLabel{color:#91bde7}
.survivorPreviewGame .pregamePreviewMeta{align-self:center}
.survivorBoardsPanel{margin-top:12px!important}
.survivorBoardTabs{position:relative;top:auto;z-index:1;padding-top:0;background:transparent!important}
body.light-mode .survivorPreviewTeam.survivor-selected,body.light-mode .survivorPreviewTeam.survivor-current{background:#cfe0f1!important;border-color:#5f93c5!important}
body.light-mode .survivorPreviewTeam.survivor-unavailable{background:#eef1f4!important;border-color:#cfd6dd!important}
body.light-mode .survivorPreviewTeam.survivor-unavailable b,body.light-mode .survivorPreviewTeam.survivor-unavailable small{color:#8b96a2!important}
body.light-mode .survivorPreviewTeam .survivorCurrentLabel{color:#35698f!important}
@media(max-width:600px){
 .survivorPreviewGame{padding:7px 0!important}
 .survivorPreviewGame .previewteam img{width:36px!important;height:36px!important}
 .survivorPreviewGame .previewteam b{font-size:16px!important}
 .survivorPreviewGame .previewteam small{font-size:11px!important}
}
/* Beta 5.6.6 Survivor elimination/result board states */
.survivorAliveSummary{display:flex;align-items:center;gap:7px;padding:8px 10px;margin:0 0 5px;border:1px solid rgba(135,155,185,.16);border-radius:10px;background:rgba(255,255,255,.025);font-size:11px}.survivorAliveSummary b:first-child{color:#6ee7a8}.survivorAliveSummary b:last-child{color:#a6b2c4}.survivorStandingRow.survivor-out{opacity:.46;background:rgba(0,0,0,.12);filter:grayscale(.45)}.survivorStandingRow.survivor-out .survivorStandingRank{text-decoration:line-through}.survivorStandingPick{flex-wrap:wrap;justify-content:flex-end}.survivorResult{display:block;width:100%;font-style:normal;text-align:right;font-size:7px;letter-spacing:.08em;font-weight:950}.survivorResult.survived{color:#6ee7a8}.survivorResult.lost{color:#ff8b95}.survivorResult.void{color:var(--muted)}.survivorAvailabilityScroll tr.survivor-out th:first-child,.survivorAvailabilityScroll tr.survivor-out td{opacity:.38;filter:grayscale(1);background:rgba(0,0,0,.22)}.survivorAvailabilityScroll tr.survivor-out th:first-child{text-decoration:line-through}.survivorAvailabilityScroll tr.survivor-out th:first-child small{display:block;text-decoration:none;color:#ff8b95;font-size:7px;letter-spacing:.08em}


/* ===== Beta 5.6.7 — Survivor schedule alignment + current-pick identity ===== */
#survivorPickStatus{margin-top:8px!important;min-height:30px;display:flex;align-items:center}
.survivorCurrentPickLine{display:flex;align-items:center;gap:8px;min-width:0;flex-wrap:nowrap}
.survivorCurrentPickLead{font-size:10px;line-height:1;font-weight:850;letter-spacing:.10em;text-transform:uppercase;color:var(--muted);white-space:nowrap}
.survivorCurrentPickTeam{display:inline-flex;align-items:center;gap:6px;min-width:0}
.survivorCurrentPickTeam img{width:27px;height:27px;min-width:27px;object-fit:contain}
.survivorCurrentPickTeam b{font-size:17px;line-height:1;font-weight:950;letter-spacing:.02em;color:var(--text)}
.survivorCurrentPickState{display:inline-flex;align-items:center;justify-content:center;min-height:22px;padding:0 8px;border-radius:999px;border:1px solid rgba(108,150,196,.38);background:rgba(65,112,164,.14);font-size:8px;line-height:1;font-weight:950;letter-spacing:.09em;text-transform:uppercase;color:#9cc5ec;white-space:nowrap}

/* Survivor gets one rigid matchup geometry so every final/live row aligns. */
.survivorPreviewGame{overflow:visible!important}
.survivorPreviewGame .previewleft{display:block!important;width:100%!important;min-width:0!important}
.survivorPreviewGame .previewmatchup,
.survivorPreviewGame .previewmatchup-started,
.survivorPreviewGame .previewmatchup-started.previewmatchup-final,
.survivorPreviewGame .previewmatchup-started.previewmatchup-live{
  display:grid!important;grid-template-columns:minmax(0,1fr) 120px minmax(0,1fr)!important;
  align-items:center!important;column-gap:8px!important;width:100%!important;min-width:0!important;
}
.survivorPreviewGame .previewmatchup:not(.previewmatchup-started){grid-template-columns:minmax(0,1fr) 28px minmax(0,1fr)!important}
.survivorPreviewGame .previewat{width:28px!important;min-width:28px!important;text-align:center!important;justify-self:center!important}
.survivorPreviewGame .previewLiveCore{
  width:120px!important;min-width:120px!important;max-width:120px!important;
  display:grid!important;grid-template-columns:32px 7px 42px 7px 32px!important;
  align-items:center!important;justify-content:center!important;column-gap:0!important;margin:0!important;
}
.survivorPreviewGame .previewLiveCore>.previewTeamScore{
  width:32px!important;min-width:32px!important;max-width:32px!important;
  text-align:center!important;font-size:19px!important;line-height:1!important;font-weight:950!important;
  font-variant-numeric:tabular-nums!important;
}
.survivorPreviewGame .previewLiveCore>.previewPossSlot{width:7px!important;min-width:7px!important;max-width:7px!important}
.survivorPreviewGame .previewLiveCore>.previewCenterStatus{
  width:42px!important;min-width:42px!important;max-width:42px!important;
  text-align:center!important;font-size:9px!important;line-height:1!important;font-weight:950!important;letter-spacing:.045em!important;
}
.survivorPreviewTeam,
.survivorPreviewGame .previewmatchup-started>.survivorPreviewTeam,
.survivorPreviewGame .previewmatchup:not(.previewmatchup-started)>.survivorPreviewTeam{
  width:100%!important;min-width:0!important;height:76px!important;min-height:76px!important;box-sizing:border-box!important;
  display:grid!important;grid-template-columns:34px minmax(0,1fr)!important;align-items:center!important;column-gap:8px!important;
  padding:8px 10px!important;border-radius:12px!important;
}
.survivorPreviewGame .survivorPreviewTeam>img,
.survivorPreviewGame .previewmatchup-started>.survivorPreviewTeam>img,
.survivorPreviewGame .previewmatchup:not(.previewmatchup-started)>.survivorPreviewTeam>img{
  width:34px!important;height:34px!important;min-width:34px!important;max-width:34px!important;margin:0!important;object-fit:contain!important;
}
.survivorPreviewTeam>span{min-width:0!important;display:flex!important;flex-direction:column!important;justify-content:center!important}
.survivorPreviewTeam>span b,
.survivorPreviewGame .previewmatchup-started>.survivorPreviewTeam>span b{
  font-size:15px!important;line-height:1!important;font-weight:950!important;letter-spacing:.025em!important;color:var(--text)!important;
}
.survivorPreviewTeam>span small,
.survivorPreviewGame .previewmatchup-started>.survivorPreviewTeam>span small{
  margin-top:4px!important;font-size:10px!important;line-height:1.05!important;font-weight:700!important;color:var(--muted)!important;white-space:nowrap!important;
}
.survivorPreviewTeam .survivorUnavailableReason,.survivorPreviewTeam .survivorCurrentLabel{margin-top:5px!important;font-size:8px!important;line-height:1!important;letter-spacing:.10em!important}
.survivorPreviewTeam.survivor-unavailable{background:rgba(132,145,164,.05)!important;border-color:rgba(154,168,188,.26)!important}
.survivorPreviewTeam.survivor-unavailable img{opacity:.52!important;filter:grayscale(.62) saturate(.42)!important}
.survivorPreviewTeam.survivor-unavailable b{color:rgba(220,228,239,.72)!important}
.survivorPreviewTeam.survivor-unavailable small{color:rgba(181,193,210,.60)!important}
.survivorPreviewTeam.survivor-unavailable .survivorUnavailableReason{color:rgba(188,202,220,.70)!important}
.survivorPreviewTeam.survivor-selected,.survivorPreviewTeam.survivor-current{background:rgba(61,112,166,.30)!important;border-color:#5e93c8!important}
.survivorPreviewTeam.survivor-selected img,.survivorPreviewTeam.survivor-current img{opacity:1!important;filter:none!important}
.survivorPreviewGame .finalPreviewVenue,.survivorPreviewGame .gameweather{
  width:100%!important;box-sizing:border-box!important;text-align:center!important;margin:5px 0 0!important;padding:0 8px!important;
  font-size:10px!important;line-height:1.15!important;font-weight:750!important;color:var(--muted)!important;
}
.survivorPreviewGame + .survivorPreviewGame{margin-top:2px!important}
.survivorDay{margin-top:16px!important;margin-bottom:8px!important}

body.light-mode .survivorCurrentPickState{color:#315f88!important;background:#e4eef7!important;border-color:#a9c4dd!important}
body.light-mode .survivorPreviewTeam.survivor-unavailable b{color:#65717d!important}
body.light-mode .survivorPreviewTeam.survivor-unavailable small{color:#87929e!important}

@media(max-width:600px){
 .survivorPreviewGame .previewmatchup,
 .survivorPreviewGame .previewmatchup-started,
 .survivorPreviewGame .previewmatchup-started.previewmatchup-final,
 .survivorPreviewGame .previewmatchup-started.previewmatchup-live{grid-template-columns:minmax(0,1fr) 104px minmax(0,1fr)!important;column-gap:5px!important}
 .survivorPreviewGame .previewmatchup:not(.previewmatchup-started){grid-template-columns:minmax(0,1fr) 22px minmax(0,1fr)!important}
 .survivorPreviewGame .previewat{width:22px!important;min-width:22px!important}
 .survivorPreviewGame .previewLiveCore{width:104px!important;min-width:104px!important;max-width:104px!important;grid-template-columns:28px 4px 40px 4px 28px!important}
 .survivorPreviewGame .previewLiveCore>.previewTeamScore{width:28px!important;min-width:28px!important;max-width:28px!important;font-size:18px!important}
 .survivorPreviewGame .previewLiveCore>.previewPossSlot{width:4px!important;min-width:4px!important;max-width:4px!important}
 .survivorPreviewGame .previewLiveCore>.previewCenterStatus{width:40px!important;min-width:40px!important;max-width:40px!important;font-size:8.5px!important}
 .survivorPreviewTeam,.survivorPreviewGame .previewmatchup-started>.survivorPreviewTeam,.survivorPreviewGame .previewmatchup:not(.previewmatchup-started)>.survivorPreviewTeam{height:72px!important;min-height:72px!important;grid-template-columns:30px minmax(0,1fr)!important;column-gap:6px!important;padding:7px 7px!important}
 .survivorPreviewGame .survivorPreviewTeam>img,.survivorPreviewGame .previewmatchup-started>.survivorPreviewTeam>img,.survivorPreviewGame .previewmatchup:not(.previewmatchup-started)>.survivorPreviewTeam>img{width:30px!important;height:30px!important;min-width:30px!important;max-width:30px!important}
 .survivorPreviewTeam>span b,.survivorPreviewGame .previewmatchup-started>.survivorPreviewTeam>span b{font-size:14px!important}
 .survivorPreviewTeam>span small,.survivorPreviewGame .previewmatchup-started>.survivorPreviewTeam>span small{font-size:9px!important}
 .survivorCurrentPickLead{font-size:9px}.survivorCurrentPickTeam img{width:25px;height:25px;min-width:25px}.survivorCurrentPickTeam b{font-size:16px}.survivorCurrentPickState{font-size:7.5px;padding:0 7px}
}

/* ===== Beta 5.6.8 — restore league landing + Survivor action at top ===== */
.survivorSubmitBarTop{
  margin:14px 0 18px;
  padding:0;
}
.survivorSubmitBarTop .primary.big{
  margin:0;
}
.survivorSubmitBarTop .fine{
  margin:10px 4px 0;
  text-align:center;
}


/* ===== Beta 5.6.9 — Week drag parity + Survivor board tab cleanup ===== */
/* Week section reordering now intentionally uses the same lifted-card behavior as My Leagues. */
body.weekPanelDraggingActive{overflow:auto!important;touch-action:none!important;-webkit-user-select:none!important;user-select:none!important}
.weekPanelDragging{
  z-index:5000!important;transition:none!important;transform:scale(1.018)!important;
  box-shadow:0 22px 55px rgba(0,0,0,.55),0 0 0 1px rgba(92,151,212,.45)!important;
  opacity:.98!important;will-change:top!important
}
body.weekPanelDraggingActive .weekMovablePanel:not(.weekPanelDragging){transition:transform .14s ease,margin .14s ease}
.weekPanelDragPlaceholder{border:1px dashed rgba(111,151,194,.28)!important;border-radius:18px!important;background:rgba(17,31,48,.36)!important;box-sizing:border-box!important}
body.light-mode .weekPanelDragPlaceholder{background:rgba(91,122,153,.10)!important}

/* Only the two Survivor tab buttons should have surfaces; remove the dark strip behind them. */
.survivorBoardTabs{
  background:transparent!important;
  padding:0!important;
  border:0!important;
  box-shadow:none!important;
  overflow:visible!important;
  position:relative!important;
  top:auto!important;
  z-index:1!important;
  gap:8px!important;
  margin:12px 0 14px!important;
}
.survivorBoardTabs::before,.survivorBoardTabs::after{content:none!important;display:none!important}
.survivorBoardTabs .smallbtn{margin:0!important}


/* ===== Beta 5.7.0 — Survivor Mulligans + definitive board-tab surface fix ===== */
.survivorBoardsPanel .survivorBoardTabs{
  display:grid!important;grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;gap:8px!important;
  margin:12px 0 14px!important;padding:0!important;
  background:none!important;background-color:transparent!important;background-image:none!important;
  border:0!important;border-radius:0!important;box-shadow:none!important;outline:0!important;
  position:relative!important;top:auto!important;z-index:auto!important;overflow:visible!important;
}
.survivorBoardsPanel .survivorBoardTabs::before,.survivorBoardsPanel .survivorBoardTabs::after{content:none!important;display:none!important;background:none!important}
.survivorBoardsPanel .survivorBoardTabs>.smallbtn{margin:0!important;position:relative!important;z-index:1!important}
.survivorCommissionerPanel{margin-top:12px!important}
.survivorCommissionerRow{display:flex;align-items:end;gap:8px;flex-wrap:wrap}
.survivorCommissionerRow label{display:grid;gap:5px;min-width:180px;flex:1;color:var(--muted);font-size:10px;font-weight:850;letter-spacing:.06em;text-transform:uppercase}
.survivorCommissionerRow select{width:100%;min-height:42px;border-radius:10px;border:1px solid var(--line);background:var(--panel2);color:var(--text);padding:0 10px;font:inherit}
.survivorMulliganList{display:grid;gap:8px;margin-top:12px}
.survivorMulliganMember{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px;padding:10px;border:1px solid rgba(135,155,185,.14);border-radius:11px;background:rgba(255,255,255,.02)}
.survivorMulliganMember b{display:block;font-size:12px}.survivorMulliganMember small{display:block;color:var(--muted);font-size:9px;margin-top:2px}
.survivorMulliganBadge{display:inline-flex;align-items:center;min-height:20px;padding:0 7px;margin-left:5px;border-radius:999px;border:1px solid rgba(111,151,194,.28);font-size:7px;font-weight:950;letter-spacing:.07em;text-transform:uppercase;color:var(--muted)}
body.light-mode .survivorMulliganMember{background:rgba(35,66,94,.03)}

/* Beta 5.7.1 — restore curtain, profile awards, Survivor timer, commissioner controls */
.bootCurtain{position:fixed;inset:0;z-index:99999;background:#07111f;display:grid;place-items:center;opacity:1;transition:opacity .16s ease;pointer-events:auto}.bootCurtain>div{display:flex;align-items:center;gap:12px;color:#eaf2ff;font-weight:900;letter-spacing:.02em}.bootBall{font-size:30px}.bootCurtainDone{opacity:0;pointer-events:none}
.profileAchievement{border-color:var(--line)!important}.weeklyMedal,.perfectTrophy{display:inline-block;vertical-align:-.08em}.perfectTrophy.fancy{filter:drop-shadow(0 0 5px rgba(120,220,255,.9)) drop-shadow(0 0 8px rgba(195,130,255,.7));background:linear-gradient(135deg,#fff,#86e7ff,#d6a6ff,#ffe57a,#fff);border-radius:999px;padding:1px 4px}
.survivorCountdown{display:flex;align-items:center;justify-content:space-between;gap:12px;border:1px solid rgba(94,147,200,.42);background:rgba(61,112,166,.12);border-radius:14px;padding:10px 12px;margin:10px 0 12px}.survivorCountdown small{font-weight:900;letter-spacing:.12em;color:var(--muted);font-size:10px;text-transform:uppercase}.survivorCountdown b{font-size:18px;letter-spacing:.02em}.survivorCountdown.warning{border-color:rgba(229,184,74,.62);background:rgba(229,184,74,.10)}.survivorCountdown.urgent{border-color:rgba(255,92,92,.75);background:rgba(255,72,72,.12)}.survivorCountdown.urgent b{color:#ff8c8c}.survivorCountdown.locked{border-color:rgba(145,158,178,.35);background:rgba(145,158,178,.07)}
.dangerQuiet{border-color:rgba(255,106,106,.45)!important;color:#ffb2b2!important;background:rgba(255,70,70,.06)!important}.commissionerActions .dangerQuiet{margin-left:auto}
.survivorCountdown.survived{border-color:rgba(47,207,132,.58);background:rgba(47,207,132,.10)}.survivorCountdown.survived b{color:#72e7ab}

/* Beta 5.8.0 — primary pick CTA middle-ground */
#openWeek1Btn.pickActionInitial,#openWeek1Btn.pickActionEdit,#openWeek1Btn.pickActionView{background:linear-gradient(180deg,#16314a,#10263b)!important;border:1.5px solid #39a9c8!important;color:#f4fbff!important;box-shadow:0 0 0 1px rgba(57,169,200,.10),0 5px 16px rgba(0,0,0,.18)!important}
#openWeek1Btn.pickActionInitial,#openWeek1Btn.pickActionEdit{border-color:#4fc4d8!important;box-shadow:0 0 14px rgba(79,196,216,.14),0 5px 16px rgba(0,0,0,.18)!important}
body.light-mode #openWeek1Btn.pickActionInitial,body.light-mode #openWeek1Btn.pickActionEdit,body.light-mode #openWeek1Btn.pickActionView{background:#e8f3f7!important;border-color:#4a9fb7!important;color:#17394a!important}
#proPreview{box-shadow:none!important}.procard{border-color:#6e6540!important}

/* Don't flash the boot curtain on fast restores; reveal only after 350ms. */
.bootCurtain{opacity:0!important;animation:bootCurtainDelay580 .01s .35s forwards}.bootCurtain.bootCurtainDone{animation:none!important;opacity:0!important}@keyframes bootCurtainDelay580{to{opacity:1}}

.weekSeasonStandingsTabs{display:flex;gap:8px;margin:4px 0 12px}.weekSeasonStandingsTabs .smallbtn{flex:1}.weekSeasonStandingsTabs .active{border-color:#46b9d1;background:#17334b;color:#fff}.seasonStandingRow.isMe{outline:1px solid rgba(70,185,209,.65);background:rgba(70,185,209,.07)}

.profilePerfectStat b{display:flex;align-items:center;gap:4px;flex-wrap:wrap}.perfectTrophyBadge{position:relative;display:inline-grid;place-items:center;width:30px;height:30px}.perfectTrophyBadge>span{font-size:27px;line-height:1}.perfectTrophyBadge>em{position:absolute;top:7px;font-size:8px;font-style:normal;font-weight:1000;color:#4a3100;text-shadow:0 1px rgba(255,255,255,.35)}.perfectTrophyBadge.fancy{filter:drop-shadow(0 0 5px rgba(255,210,67,.75))}.perfectTotal{font-size:12px!important;margin-left:3px;color:var(--muted)}

.watchAction{text-decoration:none!important;cursor:pointer;display:inline-flex!important;gap:6px!important;align-items:center!important}.watchAction em{font-size:8px;font-style:normal;text-transform:uppercase;letter-spacing:.08em;color:#79d7eb}.broadcastLogoMark img{max-width:32px;max-height:18px}

/* Cinematic live field */
.liveField580{padding:12px!important;border-radius:18px!important;background:#081421!important;border-color:#29445e!important}.cinematicField{height:148px!important;border-radius:12px!important;background:repeating-linear-gradient(90deg,rgba(255,255,255,.025) 0 9.8%,rgba(255,255,255,.10) 9.8% 10%),linear-gradient(#185f38,#114e2e)!important;border:1px solid #4f8064!important;overflow:hidden!important;position:relative!important}.cinematicField:before,.cinematicField:after{display:none!important}.fieldEndzone{position:absolute;top:0;bottom:0;width:9%;display:grid;place-items:center;z-index:2;background:#0b3154}.fieldEndzone.homeEnd{right:0;background:#53191e}.fieldEndzone.awayEnd{left:0}.fieldEndzone b{writing-mode:vertical-rl;transform:rotate(180deg);font-size:11px;letter-spacing:.18em;color:#fff}.gcYard{position:absolute;top:0;bottom:0;width:1px;background:rgba(255,255,255,.22)!important}.gcYard span{position:absolute;top:9px;transform:translateX(-50%);font-style:normal;font-size:8px;color:rgba(255,255,255,.68);font-weight:900}.lineScrimmage,.lineFirstDown{position:absolute;top:0;bottom:0;width:2px;z-index:3}.lineScrimmage{background:#2e9fff;box-shadow:0 0 6px rgba(46,159,255,.65)}.lineFirstDown{background:#ffd53d;box-shadow:0 0 5px rgba(255,213,61,.55)}.fieldBall580{position:absolute;left:var(--ball-to);top:55%;z-index:6;font-size:15px;transform:translate(-50%,-50%);filter:drop-shadow(0 2px 2px rgba(0,0,0,.6))}.motion-run .fieldBall580,.motion-move .fieldBall580{animation:gcRun580 1.05s ease-out}.motion-pass .fieldBall580,.motion-turnover .fieldBall580{animation:gcPass580 1.35s cubic-bezier(.2,.7,.25,1)}.motion-kick .fieldBall580{animation:gcKick580 1.55s cubic-bezier(.2,.65,.25,1)}@keyframes gcRun580{from{left:var(--ball-from)}to{left:var(--ball-to)}}@keyframes gcPass580{0%{left:var(--ball-from);top:55%;transform:translate(-50%,-50%) scale(1)}45%{top:18%;transform:translate(-50%,-50%) scale(.82) rotate(180deg)}100%{left:var(--ball-to);top:55%;transform:translate(-50%,-50%) rotate(360deg)}}@keyframes gcKick580{0%{left:var(--ball-from);top:55%}50%{top:8%;transform:translate(-50%,-50%) scale(.72) rotate(220deg)}100%{left:var(--ball-to);top:42%;transform:translate(-50%,-50%) rotate(520deg)}}.goalPost580{position:absolute;right:10%;top:19%;font-size:26px;color:#ffd53d;z-index:4}.fieldLegend580{display:flex;justify-content:center;gap:18px;margin-top:8px;font-size:9px;color:#9fb3c7}.fieldLegend580 i{display:inline-block;width:12px;height:2px;vertical-align:middle;margin-right:4px}.fieldLegend580 .blue{background:#2e9fff}.fieldLegend580 .yellow{background:#ffd53d}@media(max-width:430px){.cinematicField{height:126px!important}.fieldEndzone{width:10%}.liveField580{padding:9px!important}}@media(prefers-reduced-motion:reduce){.fieldBall580{animation:none!important}}

/* Universal Game Center presents as the app's game-detail overlay. */
#gameCenterView:not(.hidden){position:fixed;inset:0;z-index:8500;overflow-y:auto;background:rgba(3,9,17,.94);backdrop-filter:blur(12px);padding:calc(env(safe-area-inset-top) + 10px) max(12px,calc((100vw - 720px)/2)) calc(env(safe-area-inset-bottom) + 24px)}#gameCenterView>.backbtn{position:sticky;top:4px;z-index:10;max-width:720px;margin:0 auto 8px;display:block}#gameCenterView>.panel{max-width:720px;margin:0 auto;border-radius:20px}

.coCommissionerList{display:grid;gap:8px}.commissionerTeamPrimary,.coCommissionerRow{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:10px;border:1px solid var(--line);border-radius:11px;background:var(--panel2)}.coCommissionerRow>span:first-child{display:grid}.coCommissionerRow small{color:var(--muted)}.coActions{display:flex;gap:5px;flex-wrap:wrap;justify-content:flex-end}.coActions .smallbtn{width:auto}
.gcUltimateTabs{display:grid;grid-template-columns:repeat(5,1fr);gap:4px;margin-top:12px;padding:4px;border-radius:12px;background:#081522;border:1px solid #263b50}.gcUltimateTabs button{border:0;background:transparent;color:#8fa6bb;font-size:10px;font-weight:900;padding:8px 2px;border-radius:8px}.gcUltimateTabs button:first-child{background:#15334b;color:#73d7ed}.gcBroadcastLine{display:flex!important;gap:6px!important;flex-wrap:wrap!important;justify-content:center!important}


/* Beta 5.8.1 */
.survivorHeroActions{display:flex;align-items:center;gap:8px;flex-wrap:wrap;justify-content:flex-end}
.survivorCountdown.compactClock{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:14px;align-items:center}.survivorCountdown.compactClock small{min-width:0;line-height:1.2}.survivorCountdown.compactClock b{white-space:nowrap;font-variant-numeric:tabular-nums;font-size:clamp(22px,6vw,32px);letter-spacing:.02em}
.survivorMulliganSearchWrap{display:grid;gap:10px}.survivorMulliganSearchWrap input{width:100%}.survivorMulliganMember{display:flex;align-items:center;justify-content:space-between;gap:12px}.survivorMulliganMember>div{display:flex;flex-direction:column;min-width:0}.survivorMulliganMember small{color:var(--muted)}
.survivorSettingsCard{max-width:560px}.survivorSettingRow{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:16px 0;border-top:1px solid var(--line)}.survivorSettingRow span{display:flex;flex-direction:column;gap:4px}.survivorSettingRow small{color:var(--muted)}.survivorMulliganMaxWrap{margin:8px 0 16px}
.toggleSwitch{position:relative;display:inline-flex;flex:0 0 auto}.toggleSwitch input{position:absolute;opacity:0;pointer-events:none}.toggleSwitch i{width:54px;height:30px;border-radius:999px;background:#26364b;border:1px solid #425773;display:block;position:relative;transition:.18s}.toggleSwitch i:after{content:"";position:absolute;width:24px;height:24px;left:2px;top:2px;border-radius:50%;background:#a9b6c8;transition:.18s}.toggleSwitch input:checked+i{background:rgba(30,201,116,.25);border-color:#28d68a;box-shadow:0 0 18px rgba(40,214,138,.18)}.toggleSwitch input:checked+i:after{left:26px;background:#42e49c}
.myAvailabilityIntro{display:flex;flex-direction:column;gap:4px;margin:4px 0 14px}.myAvailabilityIntro span{color:var(--muted);font-size:13px}.myTeamGrid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.myTeamCell{min-width:0;border:1px solid var(--line);background:var(--surface-2);border-radius:13px;padding:9px 4px;color:inherit;display:flex;flex-direction:column;align-items:center;gap:3px}.myTeamCell img{width:36px;height:36px;object-fit:contain}.myTeamCell b{font-size:12px}.myTeamCell small{font-size:9px;color:var(--muted);white-space:nowrap}.myTeamCell.used{opacity:.35}.myTeamCell.closed{opacity:.5;filter:grayscale(.45)}.myTeamCell.current{border-color:#62aef5;background:rgba(56,130,201,.24);box-shadow:0 0 0 1px rgba(98,174,245,.2) inset}.myTeamCell.available:active{transform:scale(.97)}
.teamIntelCard,.survivorPlayerCard{max-width:620px}.teamIntelHero{display:flex;align-items:center;gap:18px;padding:8px 0 18px}.teamIntelHero>img{width:78px;height:78px;object-fit:contain}.teamIntelHero h2{margin:2px 0}.teamIntelFacts{display:grid;grid-template-columns:1fr 1fr;gap:10px}.teamIntelFacts>div{border:1px solid var(--line);border-radius:14px;padding:12px;display:flex;flex-direction:column;gap:4px}.teamIntelFacts small,.teamIntelFacts span{color:var(--muted)}.teamIntelPro{margin-top:16px;border:1px solid rgba(214,176,65,.4);background:linear-gradient(180deg,rgba(68,54,18,.26),rgba(20,25,34,.25));border-radius:16px;padding:14px}.intelChips{display:flex;flex-wrap:wrap;gap:7px}.intelChips span{border:1px solid rgba(214,176,65,.45);border-radius:999px;padding:6px 9px;font-size:12px}.proPill{background:#7754ff;color:#fff;border-radius:9px;padding:5px 10px;font-weight:900;font-size:12px;letter-spacing:.08em}
.survivorPlayerLink{text-decoration:underline;text-decoration-color:rgba(100,180,255,.45);text-underline-offset:3px;cursor:pointer}.survivorPlayerHistory{display:grid;gap:7px;margin:12px 0 18px}.survivorPlayerHistory>div{display:grid;grid-template-columns:70px 1fr auto;align-items:center;gap:10px;border:1px solid var(--line);border-radius:12px;padding:9px}.survivorPlayerHistory img{width:24px;height:24px;object-fit:contain;vertical-align:middle}.survivorPlayerHistory small{color:var(--muted)}.survivorProfileAvailEye{margin:16px 0 8px}.profileMiniTeamGrid{display:grid;grid-template-columns:repeat(8,1fr);gap:6px}.profileMiniTeamGrid span{display:flex;flex-direction:column;align-items:center;gap:2px;border:1px solid var(--line);border-radius:9px;padding:5px 2px}.profileMiniTeamGrid img{width:25px;height:25px;object-fit:contain}.profileMiniTeamGrid small{font-size:8px;color:var(--muted)}.profileMiniTeamGrid span.used{opacity:.35}
@media(max-width:520px){.teamIntelFacts{grid-template-columns:1fr}.myTeamGrid{grid-template-columns:repeat(4,minmax(0,1fr))}.profileMiniTeamGrid{grid-template-columns:repeat(6,1fr)}.survivorCountdown.compactClock{grid-template-columns:minmax(0,1fr) auto}.survivorCountdown.compactClock b{font-size:24px}.survivorMulliganMember{align-items:flex-end}}

/* Beta 5.8.2 — Game Center geometry, navigation, provider badges, Survivor advance weeks */
.backbtn{display:block!important;width:max-content!important;margin:12px auto 10px 0!important;justify-self:start!important;text-align:left!important}
#gameCenterView>.backbtn{margin-left:0!important}

/* Rigid 5-lane Game Center geometry: team | score | state | score | team */
#gameCenterView .unifiedMatchupScoreboard{
  grid-template-columns:minmax(76px,1fr) 64px 66px 64px minmax(76px,1fr)!important;
  gap:2px!important;align-items:center!important
}
#gameCenterView .matchupTeamStack{overflow:hidden;min-width:0!important}
#gameCenterView .matchupLogoBox{width:58px!important;height:58px!important;max-width:58px!important;max-height:58px!important}
#gameCenterView .matchupScoreCell{width:64px!important;min-width:64px!important;justify-content:center!important}
#gameCenterView .matchupScoreCell strong{font-size:46px!important;line-height:.95!important;letter-spacing:-.04em!important;font-variant-numeric:tabular-nums!important}
#gameCenterView .unifiedMatchupCenter{width:66px!important;min-width:66px!important;overflow:visible!important}
#gameCenterView .matchupState.final{font-size:14px!important;letter-spacing:.06em!important}
#gameCenterView .scorePossessionSlot{position:absolute;transform:translateY(40px);font-size:10px}
@media(max-width:430px){
 #gameCenterView .unifiedMatchupScoreboard{grid-template-columns:minmax(68px,1fr) 54px 58px 54px minmax(68px,1fr)!important}
 #gameCenterView .matchupScoreCell{width:54px!important;min-width:54px!important}
 #gameCenterView .matchupScoreCell strong{font-size:38px!important}
 #gameCenterView .unifiedMatchupCenter{width:58px!important;min-width:58px!important}
 #gameCenterView .matchupLogoBox{width:50px!important;height:50px!important}
 #gameCenterView .matchupPlace,#gameCenterView .matchupNickname{font-size:12px!important;line-height:1.05!important}
}

.gcUltimateTabs{grid-template-columns:repeat(6,1fr)!important}
.gcUltimateTabs button.active{background:#15334b!important;color:#73d7ed!important;box-shadow:inset 0 0 0 1px rgba(115,215,237,.28)}
.gcUltimateTabs button:first-child:not(.active){background:transparent!important;color:#8fa6bb!important}
.gcWatchGrid{display:flex;gap:10px;flex-wrap:wrap;margin-top:12px}

/* Provider badges: never white-on-white; recognizable, compact and tappable. */
.broadcastMark.broadcastLogoMark{min-height:36px!important;padding:7px 12px!important;border-radius:11px!important;background:#0b1725!important;border:1px solid #35506c!important;color:#fff!important;box-shadow:0 4px 14px rgba(0,0,0,.18)!important;text-decoration:none!important}
.broadcastMark.broadcastLogoMark img{max-width:58px!important;max-height:20px!important;width:auto!important;height:auto!important;object-fit:contain!important}
.broadcastMark.broadcastLogoMark .broadcastFallback{display:inline!important;color:#fff!important;font-size:12px!important;font-weight:900!important}
.broadcastMark.broadcastLogoMark em{display:inline!important;color:#8ddff0!important;font-size:8px!important;font-style:normal!important;font-weight:900!important;letter-spacing:.1em!important;margin-left:3px!important}
.provider-espn{background:#6e111b!important;border-color:#bd2635!important}.provider-amazonprime{background:#062a3d!important;border-color:#00a8e1!important}.provider-peacock{background:#191919!important;border-color:#676767!important}.provider-abc,.provider-cbs,.provider-fox,.provider-nbc,.provider-nfl{background:#0c2238!important;border-color:#41698e!important}

/* Cinematic live field */
.cinematicField .liveField{height:174px!important;border-radius:16px!important;overflow:hidden!important;background:linear-gradient(90deg,#173d20 0 10%,#21552b 10% 90%,#173d20 90% 100%)!important;border:1px solid rgba(255,255,255,.14)!important;position:relative!important}
.cinematicField .yardLines{position:absolute;inset:0 9%;background:repeating-linear-gradient(90deg,rgba(255,255,255,.25) 0 1px,transparent 1px 10%)!important}
.cinematicField .end{width:9%!important;top:0!important;bottom:0!important;display:flex!important;align-items:center!important;justify-content:center!important;writing-mode:vertical-rl!important;transform:none!important;background:#102b52!important;color:#fff!important;font-weight:1000!important;letter-spacing:.08em!important}
.cinematicField .end.own{left:0!important}.cinematicField .end.opp{right:0!important;background:#4a1732!important}
.cinematicField .scrimmageLine,.cinematicField .firstDownLine{position:absolute;top:0;bottom:0;width:2px;z-index:3}.cinematicField .scrimmageLine{background:#36a8ff}.cinematicField .firstDownLine{background:#ffd83d}
.cinematicField .goalpost{position:absolute;top:50%;z-index:4;color:#ffd65b;font-size:18px;font-weight:1000;transform:translateY(-50%)}.cinematicField .goalpost.left{left:4%}.cinematicField .goalpost.right{right:4%}
.cinematicField .fieldBall{position:absolute!important;left:var(--ball-x)!important;top:50%!important;z-index:7!important;transform:translate(-50%,-50%)!important;transition:left .8s cubic-bezier(.2,.7,.2,1)!important}.cinematicField .fieldBall i{display:block;font-style:normal;font-size:17px;filter:drop-shadow(0 2px 2px #000)}
.cinematicField .fieldBall-pass i{animation:ballArc582 1.25s ease-in-out}.cinematicField .fieldBall-kick i{animation:kickArc582 1.35s ease-in-out}.cinematicField .fieldBall-run i{animation:runBounce582 .75s ease-in-out}
@keyframes ballArc582{0%{transform:translateY(0) rotate(0)}50%{transform:translateY(-55px) rotate(220deg)}100%{transform:translateY(0) rotate(420deg)}}
@keyframes kickArc582{0%{transform:translateY(0) scale(1)}55%{transform:translateY(-72px) scale(.75) rotate(260deg)}100%{transform:translateY(-8px) scale(.9) rotate(520deg)}}
@keyframes runBounce582{0%,100%{transform:translateY(0)}50%{transform:translateY(-8px)}}
.fieldLastPlay{font-size:12px;color:#a9bdd2;margin-top:8px;line-height:1.35}

/* Survivor advance-week selector */
.survivorWeekNav{padding:14px!important}
.survivorWeekNavHead{display:flex;align-items:flex-end;justify-content:space-between;gap:12px;margin-bottom:10px}.survivorWeekNavHead>span{font-weight:1000;font-size:16px}.survivorWeekNavHead small{color:var(--muted);text-align:right;max-width:240px}
.survivorWeekScroller{display:flex;gap:8px;overflow-x:auto;padding:2px 1px 6px;scrollbar-width:none}.survivorWeekScroller::-webkit-scrollbar{display:none}
.survivorWeekScroller button{flex:0 0 88px;min-height:62px;border:1px solid #31475f;border-radius:12px;background:#0d1927;color:#dce8f5;padding:8px;text-align:left;position:relative}.survivorWeekScroller button.active{border-color:#63b8e7;background:#173453;box-shadow:0 0 0 1px rgba(99,184,231,.28),0 0 18px rgba(67,165,219,.14)}.survivorWeekScroller b{display:block;font-size:14px}.survivorWeekScroller small{display:block;color:#8fa6bb;font-size:9px;margin-top:5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.survivorWeekScroller em{position:absolute;right:6px;top:6px;font-size:7px;font-style:normal;color:#7d8b99;letter-spacing:.08em}
@media(max-width:520px){.survivorWeekNavHead{align-items:flex-start;flex-direction:column}.survivorWeekNavHead small{text-align:left;max-width:none}.survivorWeekScroller button{flex-basis:82px}.cinematicField .liveField{height:145px!important}}

/* Beta 5.8.3 cleanup + Pro foundation */
.bottomSaveEditBar{margin-top:22px;margin-bottom:10px}
.bottomSaveEditBar .fine{margin-bottom:0}
.proFoundationGrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:16px 0}
.proFoundationGrid>div{border:1px solid var(--line);border-radius:14px;padding:12px;background:rgba(7,18,32,.36);display:flex;flex-direction:column;gap:5px}
.proFoundationGrid small{font-size:.7rem;letter-spacing:.14em;color:var(--muted);font-weight:800}
.proFoundationGrid b{font-size:.92rem;line-height:1.25}
@media(max-width:520px){.proFoundationGrid{grid-template-columns:1fr}}

/* Beta 5.9.0 — Pro Phase 1 live data surface */
.proTopLine{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.proTopLine h3{margin:.45rem 0 0}.proProvider{font-size:.72rem;font-weight:900;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);border:1px solid var(--line);border-radius:999px;padding:7px 10px;white-space:nowrap}.proConnectState{margin-top:16px;padding:16px;border:1px solid rgba(118,215,237,.34);border-radius:16px;background:rgba(21,51,75,.42)}.proConnectState b{font-size:1rem}.proConnectState p{margin:8px 0;color:var(--muted);line-height:1.45}.proConnectState small{color:#72d7ed}.proMarketGrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:16px 0 20px}.proMarketGrid>div{border:1px solid var(--line);border-radius:14px;padding:12px;background:rgba(7,18,32,.42);min-width:0}.proMarketGrid small{display:block;color:var(--muted);font-size:.67rem;font-weight:900;letter-spacing:.13em;margin-bottom:5px}.proMarketGrid b{display:block;line-height:1.25;overflow-wrap:anywhere}.proSectionTitle{display:flex;align-items:baseline;justify-content:space-between;gap:10px;margin:22px 0 9px;border-top:1px solid var(--line);padding-top:17px}.proSectionTitle span{font-weight:900;font-size:1.05rem}.proSectionTitle small{color:var(--muted)}.proTwoCol{display:grid;grid-template-columns:1fr 1fr;gap:12px}.proTwoCol>div{border:1px solid var(--line);border-radius:14px;padding:12px;background:rgba(7,18,32,.28)}.proTwoCol h4{margin:0 0 9px}.proInjuryList,.proNewsList,.proPlayList{display:flex;flex-direction:column;gap:8px}.proInjuryRow{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:8px 0;border-bottom:1px solid rgba(255,255,255,.07)}.proInjuryRow:last-child{border-bottom:0}.proInjuryRow div{min-width:0}.proInjuryRow b,.proInjuryRow small{display:block}.proInjuryRow small{color:var(--muted);margin-top:2px}.proInjuryRow strong{font-size:.75rem;text-transform:uppercase;color:#ffd66b;text-align:right}.proNewsRow{display:flex;align-items:center;justify-content:space-between;gap:12px;border:1px solid var(--line);border-radius:12px;padding:11px 12px;background:rgba(7,18,32,.28);text-decoration:none;color:inherit}.proNewsRow b,.proNewsRow small{display:block}.proNewsRow b{line-height:1.3}.proNewsRow small{color:var(--muted);margin-top:4px}.proNewsRow>span{font-size:1.4rem;color:#72d7ed}.proFeedStatus{display:flex;flex-wrap:wrap;gap:6px;margin-top:18px}.proFeedStatus span{font-size:.68rem;font-weight:850;border:1px solid var(--line);border-radius:999px;padding:5px 8px;color:var(--muted)}.proFeedStatus span.ok{border-color:rgba(61,211,143,.36);color:#66dea4}.proFeedStatus span.off{opacity:.72}.proTimestamp{text-align:right;margin-top:10px}.proEmpty{font-size:.86rem;margin:0}.proStatTable{display:flex;flex-direction:column;margin-top:12px}.proStatTable>div{display:grid;grid-template-columns:1fr 1.4fr 1fr;align-items:center;text-align:center;padding:9px;border-bottom:1px solid var(--line)}.proStatTable .head{border:1px solid var(--line);border-radius:12px 12px 0 0;background:rgba(7,18,32,.4)}.proStatTable span{color:var(--muted);font-size:.82rem}.proPlayRow{border:1px solid var(--line);border-radius:12px;padding:11px 12px;background:rgba(7,18,32,.28)}.proPlayRow small,.proPlayRow b{display:block}.proPlayRow small{color:var(--muted);margin-bottom:5px}.proPlayRow b{line-height:1.35}.proPlayRow.scoring{border-color:rgba(61,211,143,.42)}
@media(max-width:560px){.proTwoCol{grid-template-columns:1fr}.proMarketGrid{grid-template-columns:1fr 1fr}.proTopLine{align-items:center}.proProvider{font-size:.62rem;padding:6px 8px}}
@media(max-width:390px){.proMarketGrid{grid-template-columns:1fr}}

/* Beta 5.9.1 — live QA cleanup */
/* Light mode season standings must never inherit the dark surface. */
.light-mode .seasonStandingRow{background:#fff!important;border-color:#c9d5e3!important;color:#172235!important;box-shadow:0 2px 8px rgba(23,34,53,.06)!important}
.light-mode .seasonStandingRow.isMe{background:#eaf7fb!important;border-color:#55aeca!important;outline:none!important}
.light-mode .seasonStandingRow .seasonPlayer small,.light-mode .seasonStandingRow .seasonMetric small{color:#64748b!important}
.light-mode .seasonHistoryWeek{background:#fff!important;border-color:#c9d5e3!important;color:#172235!important}
.light-mode .seasonHistoryWeek span{color:#64748b!important}

/* Rejected arcade field: replace with a restrained broadcast position strip. */
.cinematicField{height:auto!important;background:transparent!important;border:0!important;overflow:visible!important}
.cinematicField .liveFieldMeta{margin-bottom:8px!important}
.cinematicField .liveField{height:76px!important;border-radius:14px!important;overflow:hidden!important;background:linear-gradient(180deg,#174c2b,#123c23)!important;border:1px solid rgba(255,255,255,.12)!important;box-shadow:inset 0 0 0 1px rgba(0,0,0,.15)!important}
.cinematicField .yardLines{inset:0 4%!important;opacity:.38!important;background:repeating-linear-gradient(90deg,rgba(255,255,255,.25) 0 1px,transparent 1px 10%)!important}
.cinematicField .end{display:none!important}.cinematicField .goalpost{display:none!important}
.cinematicField .scrimmageLine,.cinematicField .firstDownLine{opacity:.72!important;width:1px!important}
.cinematicField .fieldBall{transition:left .7s ease!important;animation:none!important}
.cinematicField .fieldBall i{font-size:11px!important;animation:none!important;filter:drop-shadow(0 1px 1px #000)!important}
.cinematicField .fieldLastPlay{margin-top:9px!important}
@media(max-width:520px){.cinematicField .liveField{height:68px!important}}

/* Network actions: no white empty-player looking boxes. */
.gcWatchLink,.watchProviderLink,.watchLink,.watchBadge,.gameWatchLink{background:#10243a!important;color:#eaf7ff!important;border:1px solid #3c6f93!important;box-shadow:none!important}
.gcWatchLink:hover,.watchProviderLink:hover,.watchLink:hover,.watchBadge:hover,.gameWatchLink:hover{background:#17334f!important}

/* Locked Survivor choices should still look tappable for explanation feedback. */
.survivorTeamBtn.locked,.survivorGameTeam.locked,[data-survivor-team].locked{cursor:pointer!important}

/* Beta 5.9.3 — profile crown/history live-QA corrections */
.perfectTrophyBadge>em{top:4px!important;left:50%;transform:translateX(-50%);line-height:1!important;min-width:18px;text-align:center}
.profileHistoryHead{display:flex;align-items:flex-end;justify-content:space-between;gap:12px;margin:24px 0 10px}.profileHistoryHead .eyebrow{margin:0 0 4px}.profileHistoryHead small{color:var(--muted)}.profileHistoryToggle{border:1px solid var(--line);background:var(--panel2);color:var(--text);border-radius:10px;padding:8px 10px;font-weight:800;white-space:nowrap}.foundersCrownCard{margin:14px 0 18px}
/* Pro Beta 5.9.4 Survivor + Game Center cleanup */
.survivorHero{padding:18px 20px!important}.survivorHero .sectionhead{margin-bottom:5px}.survivorHero .groupmeta{display:flex;align-items:center;gap:7px;margin-top:7px}.survivorCompactCode{display:inline-flex!important;padding:5px 9px!important;border:1px solid rgba(110,231,168,.35);border-radius:8px;background:rgba(0,0,0,.15);letter-spacing:.12em;cursor:pointer}.survivorCopyHint{font-size:10px;color:var(--muted)}
.survivorCountdown.survived,.survivorCountdown.urgent{display:flex!important;justify-content:center!important;align-items:center!important;text-align:center!important}.survivorCountdown.survived b,.survivorCountdown.urgent b{font-size:22px!important;letter-spacing:.04em}.survivorCurrentPickState:empty{display:none}.survivorSubmitBar .hidden{display:none!important}
.survivorPreviewTeam{position:relative;cursor:pointer}.survivorSelectBtn{margin-left:auto;border:1px solid #4b8fc4;border-radius:9px;background:#16324b;color:#eaf6ff;font-size:9px;font-weight:950;letter-spacing:.08em;padding:7px 8px}.survivorSelectBtn[data-enabled="0"]{opacity:.35}.survivor-unavailable{filter:grayscale(.7);opacity:.55}.survivor-current{opacity:1!important;filter:none!important}
.survivorDistribution{display:flex;gap:7px;overflow-x:auto;padding:3px 0 10px}.survivorDistCard{flex:0 0 76px;border:1px solid var(--line);border-radius:12px;background:var(--surface-2);color:inherit;padding:7px;display:grid;grid-template-columns:25px 1fr;align-items:center;gap:2px}.survivorDistCard img{width:25px;height:25px;object-fit:contain;grid-row:1/3}.survivorDistCard strong{font-size:15px}.survivorDistCard small{grid-column:2;color:var(--muted);font-size:9px}.survivorDistCard.active{border-color:#63b8e7;box-shadow:0 0 0 1px rgba(99,184,231,.25)}.survivorPlayerGrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.survivorPlayerCard{min-width:0;text-align:left;border:1px solid var(--line);border-radius:12px;background:var(--surface-2);color:inherit;padding:9px;display:grid;grid-template-columns:1fr auto;gap:4px 6px;align-items:center}.survivorPlayerCard span b,.survivorPlayerCard span small{display:block}.survivorPlayerCard span small{font-size:8px;color:var(--muted)}.survivorPlayerCard img{width:27px;height:27px;object-fit:contain}.survivorPlayerCard strong{font-size:11px}.survivorPlayerCard em{grid-column:1/3;font-size:9px;font-style:normal;font-weight:900;color:var(--muted)}.survivorPlayerCard.survived{border-color:rgba(57,205,128,.45)}.survivorPlayerCard.survived em{color:#6ee7a8}.survivorPlayerCard.lost{border-color:rgba(255,90,100,.45)}.survivorPlayerCard.lost em{color:#ff8b95}.survivorPlayerCard.filteredOut{display:none}.survivorPrivacyNote{padding:10px;color:var(--muted);font-size:11px}
.myTeamRecord{font-size:9px;color:#9fb2c6;line-height:1}.survivorProfileTabs{display:flex;gap:8px;margin:14px 0 10px}.survivorProfileTabs .active{border-color:#63b8e7;background:#173453;color:#fff}
.popupPickBarV2{display:grid!important;grid-template-columns:74px minmax(80px,1fr) 74px!important;align-items:center!important;gap:8px!important}.popupPickBarV2>div{display:grid!important;grid-template-columns:28px 1fr!important;grid-template-rows:auto auto!important;align-items:center!important;gap:0 5px!important}.popupPickBarV2>div:last-child{grid-template-columns:1fr 28px!important;text-align:right!important}.popupPickBarV2>div img{width:28px!important;height:28px!important;object-fit:contain;grid-row:1/3!important}.popupPickBarV2>div b{font-size:18px!important;line-height:1!important}.popupPickBarV2>div small{font-size:8px!important;line-height:1.2!important;margin-top:3px!important}.popupPickBarV2>div:last-child img{grid-column:2;grid-row:1/3}.popupPickBarV2>div:last-child b,.popupPickBarV2>div:last-child small{grid-column:1}
.broadcastMark.broadcastLogoMark .broadcastFallback{display:none!important}.broadcastMark.broadcastLogoMark img[style*="display: none"]+.broadcastFallback{display:inline!important}.broadcastMark.broadcastLogoMark em{margin-left:0!important}.popupMetaBroadcast{display:flex!important;flex-wrap:wrap!important;gap:7px!important}
/* Pro Beta 5.9.5 — Survivor navigation + scalable boards */
.survivorSubmitBarBottom{margin:18px 0 2px!important}.survivorSubmitBarBottom.hidden{display:none!important}.survivorSubmitBarBottom .fine{margin:8px 0 0!important}.survivorSelectBtn{display:none!important}
.previewteam.survivorPreviewTeam{cursor:pointer}.previewteam.survivorPreviewTeam:hover{border-color:rgba(99,184,231,.45)}
.matchupTeamStack.teamCenterLink{appearance:none;border:0;background:transparent;color:inherit;padding:0;margin:0;font:inherit;cursor:pointer;width:100%}.matchupTeamStack.teamCenterLink:hover .matchupLogoBox{transform:scale(1.04)}
.survivorGcPicker{margin-top:14px!important}.survivorGcChoices{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:9px}.survivorGcChoice{display:flex;align-items:center;gap:10px;min-width:0;border:1px solid #3d6380;border-radius:14px;background:#10263b;color:#fff;padding:12px;text-align:left}.survivorGcChoice img{width:42px;height:42px;object-fit:contain}.survivorGcChoice span{display:grid;gap:2px}.survivorGcChoice b{font-size:16px}.survivorGcChoice small{font-size:9px;color:#8fd8ff;font-weight:800}.survivorGcChoice.selected{border-color:#42d98c;box-shadow:0 0 0 1px rgba(66,217,140,.25)}.survivorGcChoice.disabled{opacity:.38}
.teamCenterCard{max-height:min(86vh,780px);overflow:auto;-webkit-overflow-scrolling:touch}.teamCenterHero{display:flex;align-items:center;gap:16px;padding:12px 4px 18px}.teamCenterHero>img{width:76px;height:76px;object-fit:contain}.teamCenterHero h2{margin:0 0 4px}.teamCenterTabs{display:flex;gap:7px;border-bottom:1px solid var(--line);padding-bottom:10px;margin-bottom:16px}.teamCenterTabs span{font-size:10px;font-weight:900;color:var(--muted);padding:7px 9px;border-radius:8px}.teamCenterTabs span.active{background:#173a5a;color:#fff}.teamCenterCard section{margin:18px 0}.teamCenterGameRow{width:100%;display:grid;grid-template-columns:38px 1fr auto;align-items:center;gap:10px;border:1px solid var(--line);border-radius:11px;background:var(--surface-2);color:inherit;padding:10px;margin:7px 0;text-align:left}.teamCenterGameRow img{width:36px;height:36px;object-fit:contain}.teamCenterGameRow span{display:grid}.teamCenterGameRow small{color:var(--muted);font-size:9px}.teamCenterSurvivorUse{width:100%;margin-top:16px}
.survivorDistribution.chartRows{display:grid;gap:7px;overflow:visible}.survivorDistRow{display:grid;grid-template-columns:30px 34px minmax(70px,1fr) 42px 48px;align-items:center;gap:7px;width:100%;border:1px solid var(--line);border-radius:11px;background:var(--surface-2);color:inherit;padding:8px;text-align:left}.survivorDistRow img{width:28px;height:28px;object-fit:contain}.survivorDistRow span{height:7px;background:rgba(130,150,180,.18);border-radius:99px;overflow:hidden}.survivorDistRow span i{display:block;height:100%;background:#2b8bd8;border-radius:99px}.survivorDistRow strong{text-align:right}.survivorDistRow small{font-size:8px;color:var(--muted);text-align:right}.survivorDistRow.active{border-color:#63b8e7}.survivorRevealSummary{text-align:center;color:var(--muted);font-size:10px;margin:10px 0}.survivorViewAllBtn{width:100%}
.survivorBoardModalCard{width:min(620px,100%)!important;max-height:88dvh!important;display:flex!important;flex-direction:column!important;overflow:hidden!important}.stickyModalHead{flex:0 0 auto;padding-bottom:10px}.stickyModalHead h2{margin:4px 0 10px}.scrollModalBody{overflow-y:auto;-webkit-overflow-scrolling:touch;overscroll-behavior:contain;padding-right:2px}.scrollModalBody .survivorPlayerGrid{margin-top:10px}
.playerProfileCard{max-height:88dvh!important;display:flex!important;flex-direction:column!important;overflow:hidden!important}.playerProfileCard #playerProfileContent{overflow-y:auto!important;-webkit-overflow-scrolling:touch;overscroll-behavior:contain;min-height:0}.playerProfileCard .modalBackBtn{flex:0 0 auto;margin-top:10px}.survivorProfileTabs{position:sticky;top:0;z-index:3;background:#101b2b;padding:8px 0}
.foundersCrownCard.compact{margin:6px 0 12px!important}.foundersCrownBadge.compact{width:46px!important;height:42px!important;min-width:46px!important;border-radius:12px!important;padding:0!important;display:grid!important;place-items:center!important;font-size:26px!important;background:rgba(181,135,28,.10)!important;border:1px solid rgba(226,181,66,.42)!important}.foundersCrownBanner{margin-top:8px!important;border:1px solid rgba(226,181,66,.5)!important;border-radius:15px!important;padding:14px 16px!important;background:linear-gradient(110deg,rgba(87,65,15,.32),rgba(21,31,48,.95))!important;display:grid!important;gap:3px!important}.foundersCrownBanner.hidden{display:none!important}.foundersCrownBanner small{color:#f2cf66!important;font-weight:900;letter-spacing:.14em}.foundersCrownBanner b{font-size:20px}.foundersCrownBanner em{font-style:normal;color:var(--muted)}
@media(max-width:520px){.survivorGcChoices{grid-template-columns:1fr 1fr}.survivorGcChoice{padding:9px;gap:7px}.survivorGcChoice img{width:34px;height:34px}.survivorDistRow{grid-template-columns:26px 30px minmax(55px,1fr) 38px 42px;gap:5px;padding:7px}.survivorBoardModalCard,.playerProfileCard{max-height:90dvh!important}.modal:has(.playerProfileCard),.modal:has(.survivorBoardModalCard){padding:10px!important;align-items:center!important}}
.survivorPickStatus{position:relative}.survivorInlineEdit{margin-left:10px!important;padding:7px 10px!important;font-size:10px!important}.survivorSubmitBarBottom .primary.big{width:100%!important}
/* Pro 5.9.6 UAT corrections */
.survivorPanelTools{display:flex;align-items:center;justify-content:flex-end;gap:6px;margin:-4px 0 8px}.survivorPanelTools button{min-width:38px;min-height:38px;border:1px solid var(--line,#33445d);border-radius:10px;background:transparent;color:inherit}.survivorPanelGrip{font-weight:900;letter-spacing:-3px;opacity:.55;margin-right:auto}.survivorPanelCollapsed>:not(.survivorPanelTools){display:none!important}.survivorBoardMetrics{display:flex;gap:8px;flex-wrap:wrap;margin:8px 0 14px}.survivorBoardMetrics>*{border:1px solid var(--line,#33445d);border-radius:999px;padding:7px 10px;font-size:.8rem}.survivorBoardFilters{display:flex;gap:7px;overflow-x:auto;padding:8px 0 14px}.survivorBoardFilters button{white-space:nowrap;border:1px solid var(--line,#33445d);border-radius:999px;background:transparent;color:inherit;padding:8px 11px}.survivorBoardFilters button.active{border-color:#69b9ff;background:rgba(65,145,215,.18)}.survivorShowMore{width:100%;margin-top:12px}.universalModalHead{display:grid!important;grid-template-columns:auto 1fr;align-items:start;gap:12px}.universalModalHead .scheduleModalBack{grid-column:1;grid-row:1}.universalModalHead>div{grid-column:2;grid-row:1}.popupLoadError{display:grid;gap:12px;padding:18px 4px}.popupLoadError small{opacity:.75}.matchupTeamStack{cursor:pointer}

/* Pro Beta 5.9.7 UAT correction */
.survivorBigEdit{display:block;width:100%;margin-top:12px;min-height:52px;font-size:15px;font-weight:900;background:#22c875;color:#06130d;border:0;border-radius:13px}.survivorSubmitBarTop{margin:12px 0 8px}.survivorSubmitBarTop .primary{width:100%;min-height:50px}.survivorEditStatus{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:8px}.survivorEditStatus span{border:1px solid var(--line);border-radius:10px;padding:8px 10px}.survivorEditStatus small{display:block;color:var(--muted);font-weight:900}.survivorEditStatus .new{border-color:#45b7ff;box-shadow:0 0 0 1px rgba(69,183,255,.25)}.survivorNewLabel{display:block!important;color:#65c5ff!important;font-weight:1000!important}.survivorEditingPick .survivor-current{opacity:.72}.myTeamTile{appearance:none;color:inherit;font:inherit;text-align:center;cursor:pointer}.myTeamTile.used{cursor:pointer}.teamCenterTabs button{appearance:none;border:0;background:transparent;color:var(--muted);font:inherit;font-size:10px;font-weight:900;padding:7px 9px;border-radius:8px}.teamCenterTabs button.active{background:#173a5a;color:#fff}.modalTopBack{position:sticky;top:0;z-index:8;appearance:none;border:1px solid var(--line);background:var(--panel2);color:var(--text);border-radius:10px;padding:9px 12px;font-weight:900;margin-bottom:8px}.foundersCrownCard{position:absolute;right:18px;top:18px}.foundersCrownDetails{position:absolute;right:0;top:44px;width:min(310px,75vw);z-index:10}.quickProCard{width:100%;display:grid;grid-template-columns:auto 1fr;gap:3px 10px;align-items:center;text-align:left;margin:10px 0;padding:12px;border:1px solid rgba(220,176,58,.55);border-radius:12px;background:rgba(132,97,8,.13);color:var(--text)}.quickProCard b{font-size:14px}.quickProCard small{grid-column:2;color:var(--muted)}.quickProInline{margin:10px 0}.pickemStylePanelTools{display:flex;align-items:center;gap:8px;margin-left:auto}.pickemStylePanelTools .weekPanelDragHandle{position:static;transform:none}.survivorManagedPanel>.sectionhead{align-items:flex-start}.survivorPanelCollapsed>*:not(.sectionhead){display:none!important}

/* 5.9.8 Team Center content + iOS scroll reliability */
.teamCenterStatGrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;margin-top:9px}
.teamCenterStatGrid>div{border:1px solid var(--line);background:var(--surface-2);border-radius:12px;padding:12px;min-width:0}
.teamCenterStatGrid small{display:block;color:var(--muted);font-size:10px;font-weight:800;margin-bottom:4px}
.teamCenterStatGrid b{font-size:17px;color:var(--text)}
.teamCenterDataNote{font-size:10px;color:var(--muted);margin:10px 2px 0}
.teamCenterCard{overscroll-behavior:contain;touch-action:pan-y}
#teamCenterModal.hidden{pointer-events:none!important}

/* 5.9.9 — Game Center navigation + Founder’s Crown restoration */
.gcUltimateTabs button{cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent}
.gcUltimateTabs .gcProTab{border:1px solid rgba(238,194,72,.72)!important;color:#f0cf69!important;background:rgba(130,93,9,.10)!important}
.gcUltimateTabs .gcProTab span{font-size:9px;margin-right:2px}
.gcUltimateTabs .gcProTab.active{background:rgba(142,101,10,.28)!important;color:#ffe07b!important;box-shadow:inset 0 0 0 1px rgba(255,218,99,.24),0 0 14px rgba(220,176,58,.08)!important}
#gameCenterPro.gcProSurface>.gcsection{border-color:rgba(226,181,66,.58)!important;box-shadow:inset 0 0 0 1px rgba(226,181,66,.08)}
#gameCenterPro.gcProSurface .probadge::before{content:'★ ';color:#f2cf66}
.profileIdentity{min-width:0;flex:1}.profileNameLine{display:flex;align-items:center;gap:8px;position:relative;width:max-content;max-width:100%}.profileNameLine h2{margin:0}.foundersCrownInline{position:relative;display:inline-flex;align-items:center;flex:0 0 auto}.foundersCrownInline .foundersCrownBadge.compact{width:42px!important;height:40px!important;min-width:42px!important;font-size:25px!important;margin:0!important}.foundersCrownInline .foundersCrownDetails{position:absolute!important;right:0!important;top:46px!important;width:min(320px,78vw)!important;z-index:30!important}.foundersCrownBanner p{margin:7px 0 0;color:#d4d9e2;font-size:12px;line-height:1.4}.foundersCrownBanner{cursor:pointer}
@media(max-width:520px){.profileNameLine{max-width:calc(100vw - 150px)}.foundersCrownInline .foundersCrownDetails{right:-10px!important;width:min(300px,76vw)!important}}
/* Beta 5.10.0 — Survivor action consistency + separate Vegas tier + automatic Pro outlook */
.survivorBigEdit{display:block;width:100%;margin-top:12px;min-height:48px;font-size:15px;font-weight:900;background:#101d2b!important;color:#f4f8fc!important;border:1px solid #25a9f5!important;border-radius:10px;box-shadow:none!important}
.quickVegasPanel{margin:10px 0;padding:11px 12px;border:1px solid rgba(75,168,229,.5);border-radius:12px;background:rgba(10,31,48,.72)}
.quickVegasHead{display:flex;justify-content:space-between;align-items:center;margin-bottom:9px}.quickVegasHead span{font-size:11px;font-weight:1000;letter-spacing:.09em;color:#8dd7ff}.quickVegasHead small{font-size:9px;font-weight:1000;border:1px solid rgba(75,168,229,.55);border-radius:999px;padding:3px 7px;color:#a9ddff}
.quickVegasGrid{display:grid;grid-template-columns:1fr 1.35fr .7fr;gap:7px}.quickVegasGrid>div{min-width:0;border:1px solid var(--line);border-radius:9px;padding:8px;background:rgba(3,13,22,.35)}.quickVegasGrid small{display:block;font-size:8px;font-weight:900;color:var(--muted);margin-bottom:3px}.quickVegasGrid b{display:block;font-size:11px;line-height:1.25;overflow-wrap:anywhere}
.proPreviewGrid{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:9px}.proPreviewGrid>div{border:1px solid rgba(220,176,58,.3);border-radius:9px;padding:9px;background:rgba(132,97,8,.08)}.proPreviewGrid small{display:block;font-size:8px;font-weight:1000;color:#d9b84e;margin-bottom:4px}.proPreviewGrid b{font-size:11px;line-height:1.25}
@media(max-width:390px){.quickVegasGrid{grid-template-columns:1fr 1fr}.quickVegasGrid>div:last-child{grid-column:1/-1}.proPreviewGrid{grid-template-columns:1fr}}

/* Beta 5.10.1 — mobile navigation, Founder Crown containment, sticky pick-edit save */
.playerProfileCard{position:relative!important}
.playerProfileCard>.modalTopBack{position:sticky!important;top:0!important;left:0!important;align-self:flex-start!important;width:auto!important;max-width:max-content!important;margin:0 0 10px 0!important;z-index:50!important;border-radius:10px!important}
.foundersCrownInline .foundersCrownDetails{box-sizing:border-box!important;max-width:calc(100vw - 40px)!important}
@media(max-width:520px){
 .profileNameLine{width:100%!important;max-width:100%!important}
 .foundersCrownInline{position:static!important}
 .foundersCrownInline .foundersCrownDetails{position:absolute!important;left:12px!important;right:12px!important;top:86px!important;width:auto!important;max-width:none!important;transform:none!important}
}
.pickEditTopBar{margin:8px 0 4px}.pickEditTopBar .pickEditCancel{margin:0 0 5px}.pickEditTopBar .fine{margin:0}
.bottomSaveEditBar{position:sticky!important;bottom:max(8px,env(safe-area-inset-bottom))!important;z-index:45!important;margin:14px 0 10px!important;padding:8px!important;border:1px solid rgba(62,220,143,.34)!important;border-radius:16px!important;background:rgba(9,20,31,.94)!important;box-shadow:0 -8px 28px rgba(0,0,0,.32)!important;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}
.bottomSaveEditBar .primary{width:100%!important;margin:0!important}
body.light-mode .bottomSaveEditBar{background:rgba(239,245,249,.95)!important}
/* Broadcast marks are informational, not streaming CTA buttons. */
.broadcastMark.broadcastLogoMark em{display:none!important}.broadcastMark.broadcastLogoMark{cursor:default!important;text-decoration:none!important}
/* Beta 5.10.2 — Part Six consolidated UX fixes */
.survivorSubmitBarTop{display:none!important}
.survivorSubmitBarBottom:not(.hidden){position:sticky;bottom:calc(env(safe-area-inset-bottom,0px) + 10px);z-index:24;margin:12px 0;padding:8px;background:rgba(8,20,34,.94);backdrop-filter:blur(12px);border:1px solid var(--line);border-radius:14px;box-shadow:0 -8px 24px rgba(0,0,0,.28)}
.survivorSubmitBarBottom .fine{display:none}
.survivorNewLabel,.survivorCurrentLabel,.survivorUnavailableReason{white-space:nowrap!important;display:block!important;width:100%;font-size:10px!important;line-height:1.05!important;text-align:center}
.survivorPreviewTeam{cursor:pointer}.survivorPreviewTeam.survivor-unavailable{cursor:not-allowed}
.survivorCompactEdit{margin-top:10px;min-height:40px;padding:8px 14px}
.survivorManagedPanel{min-height:0}.survivorManagedPanel>.sectionhead{min-height:92px;align-items:center}.survivorManagedPanel .weekPanelActions{display:flex;gap:10px;margin-left:auto}.survivorManagedPanel .weekPanelDragHandle{position:static;transform:none;margin-left:8px}.survivorPanelCollapsed>*:not(.sectionhead){display:none!important}.survivorPanelCollapsed>.sectionhead{display:flex!important}.survivorPanelCollapsed{padding-top:18px!important;padding-bottom:18px!important}
.teamCenterGameRow strong{white-space:nowrap}.teamCenterGameRow strong:first-letter{font-weight:1000}
/* In pick-context Quick Game Center, keep the decision controls visible while research scrolls. */
#scheduleGameModal.survivorPickContext .survivorGcPicker{position:sticky;bottom:0;z-index:30;background:rgba(12,29,48,.96);backdrop-filter:blur(12px);padding:10px 0 6px;margin-bottom:0;border-top:1px solid var(--line)}
/* Beta 5.10.3 — verified Part Six correction pass */
.survivorCompactEdit{display:none!important}
#survivorPickStatus:not(.survivorPickWon):not(.survivorPickLost) .survivorCurrentPickLine{cursor:pointer}
.survivorPreviewTeam>span{min-width:0!important;width:100%!important;overflow:visible!important}
.survivorPreviewTeam .survivorCurrentLabel,.survivorPreviewTeam .survivorNewLabel,.survivorPreviewTeam .survivorUnavailableReason{white-space:nowrap!important;overflow:visible!important;text-overflow:clip!important;width:100%!important;max-width:none!important;letter-spacing:.08em!important;font-size:8.5px!important}
.survivorPreviewTeam.survivor-selected .survivorNewLabel{font-size:9px!important}
.survivorSubmitBarBottom:not(.hidden){position:fixed!important;left:max(12px,env(safe-area-inset-left));right:max(12px,env(safe-area-inset-right));bottom:max(10px,env(safe-area-inset-bottom));z-index:2700!important;margin:0!important;max-width:760px;margin-left:auto!important;margin-right:auto!important}
body:has(.survivorSubmitBarBottom:not(.hidden)) #survivorPoolView{padding-bottom:92px!important}
#scheduleGameModal.survivorPickContext .scheduleGameCard{display:flex!important;flex-direction:column!important;overflow:hidden!important}
#scheduleGameModal.survivorPickContext #scheduleGameContent{overflow-y:auto!important;-webkit-overflow-scrolling:touch!important;display:flex!important;flex-direction:column!important}
#scheduleGameModal.survivorPickContext .survivorGcPicker{position:sticky!important;bottom:0!important;order:99!important;flex:0 0 auto!important;margin-top:auto!important;padding:10px 0 6px!important;background:rgba(12,29,48,.98)!important}
.teamCenterCard{max-height:82dvh!important;overflow:auto!important}
.teamCenterGameRow{grid-template-columns:auto auto 1fr auto!important;gap:9px!important}
.teamCenterWeek{font-size:10px;font-weight:1000;color:var(--muted);white-space:nowrap}
.teamCenterGameRow.result-w{border-left:4px solid #28c982!important}.teamCenterGameRow.result-l{border-left:4px solid #e65c67!important}.teamCenterGameRow.result-t{border-left:4px solid #e7c55d!important}
.teamCenterByeRow{display:flex;align-items:center;gap:14px;padding:14px 16px;margin:8px 0;border:1px solid var(--line);border-radius:12px;color:var(--muted)}.teamCenterByeRow span{font-size:10px;font-weight:1000}.teamCenterByeRow b{color:var(--text)}

/* 5.10.4 Survivor edit-mode contract: stationary Edit, sticky Save only while editing */
.survivorStationaryEdit{display:block;width:100%;margin-top:12px;min-height:52px;font-size:16px;font-weight:900;background:var(--green)!important;color:#07150d!important;border:0!important;border-radius:13px!important}
.survivorStationaryEdit.hidden{display:none!important}
#survivorPickStatus{cursor:default!important}
body:has(#survivorEditPickBtn:not(.hidden)) .survivorPreviewTeam{cursor:default!important}

/* Beta 5.10.5 ranking clarification */
.weeklyRankExplainer{margin-top:10px;padding:8px 10px;border:1px solid var(--line,#30445f);border-radius:10px;color:var(--muted,#9baac0);font-size:11px;line-height:1.35}

/* Beta 5.10.6 — Sept 15 Survivor + Team Center UAT correction pass */
.survivorHero{position:relative;overflow:hidden;background:linear-gradient(145deg,rgba(17,104,69,.34),rgba(9,28,40,.96))!important;box-shadow:inset 0 1px 0 rgba(112,236,178,.08)}
.survivorHero:after{content:"";position:absolute;inset:auto -70px -90px auto;width:220px;height:220px;border-radius:50%;background:radial-gradient(circle,rgba(55,211,139,.10),transparent 68%);pointer-events:none}
.survivorHero h2{font-size:clamp(28px,7vw,38px);letter-spacing:-.02em}.survivorRuleLine{margin-top:13px;padding-top:11px;border-top:1px solid rgba(95,210,151,.16);line-height:1.45}
.survivorBoardTabs{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px!important}.survivorBoardTabs button{min-width:0!important;padding-left:6px!important;padding-right:6px!important}
.survivorAliveSummary.rich{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:12px}.survivorAliveSummary.rich b{display:flex;justify-content:space-between;align-items:center;padding:11px;border:1px solid var(--line);border-radius:11px;background:rgba(255,255,255,.025)}.survivorAliveSummary.rich b:first-child{border-color:rgba(47,207,132,.42)}.survivorAliveSummary.rich b:last-child{border-color:rgba(255,98,109,.34)}.survivorAliveSummary.rich small{font-size:11px;color:var(--muted)}
.survivorStatusGroups{display:grid;grid-template-columns:1fr 1fr;gap:10px}.survivorStatusGroups section{min-width:0}.survivorStatusPerson{width:100%;display:flex;justify-content:space-between;align-items:center;gap:8px;margin-top:6px;padding:9px 10px;border:1px solid var(--line);border-radius:9px;background:var(--surface-2);color:var(--text);text-align:left}.survivorStatusPerson b{font-size:9px;letter-spacing:.08em}.survivorStatusPerson.alive b{color:#72e7ab}.survivorStatusPerson.out b{color:#ff8c8c}
.survivorCountdown.safe{border-color:rgba(47,207,132,.52);background:rgba(47,207,132,.10)}.survivorCountdown.safe b{color:#72e7ab}.survivorCountdown.orange{border-color:rgba(243,154,72,.72);background:rgba(243,154,72,.12)}.survivorCountdown.orange b{color:#ffb56f}.survivorCountdown.warning b{color:#f3d45c}.survivorCountdown.noPick small{max-width:65%}
.survivorPreviewGame{display:grid!important;grid-template-columns:minmax(0,1fr) 188px!important;column-gap:10px!important;align-items:center!important}.survivorPreviewGame .pregamePreviewMeta{width:188px!important;max-width:188px!important;white-space:normal!important;overflow-wrap:anywhere!important;text-align:right!important}.survivorPreviewTeam{overflow:hidden!important}.survivorPreviewTeam>span{overflow:hidden!important}.survivorPreviewTeam .survivorCurrentLabel,.survivorPreviewTeam .survivorNewLabel,.survivorPreviewTeam .survivorUnavailableReason{white-space:normal!important;overflow-wrap:anywhere!important;line-height:1.1!important}
.teamCenterGameRow{padding:7px 9px!important;margin:5px 0!important;min-height:58px!important}.teamCenterGameRow img{width:30px!important;height:30px!important}.teamCenterOpponent{display:inline-flex;align-items:center;justify-content:center;cursor:pointer;border-radius:8px}.teamCenterOpponent:active{transform:scale(.96)}.teamCenterGameRow [data-tc-team]{cursor:pointer}
.survivorManagedPanel.isDragging{opacity:.94;box-shadow:0 12px 34px rgba(0,0,0,.36);z-index:80;max-height:calc(100dvh - 150px);overflow:hidden}
@media(max-width:520px){.survivorStatusGroups{grid-template-columns:1fr}.survivorPreviewGame{grid-template-columns:minmax(0,1fr) 150px!important}.survivorPreviewGame .pregamePreviewMeta{width:150px!important;max-width:150px!important;font-size:10px!important}.survivorPreviewTeam,.survivorPreviewGame .previewmatchup-started>.survivorPreviewTeam,.survivorPreviewGame .previewmatchup:not(.previewmatchup-started)>.survivorPreviewTeam{height:78px!important;min-height:78px!important;padding:6px!important}.survivorPreviewTeam .survivorCurrentLabel,.survivorPreviewTeam .survivorNewLabel,.survivorPreviewTeam .survivorUnavailableReason{font-size:7.5px!important}.teamCenterGameRow{min-height:54px!important}.teamCenterGameRow small{line-height:1.2!important}}
/* Beta 5.10.8 — comprehensive Sept 15 UAT + profile/avatar pass */
.accountDisplayHead{display:flex;align-items:center;justify-content:space-between;gap:10px}.accountNameEditActions{display:grid;grid-template-columns:1fr auto;gap:8px;margin-top:8px}#accountName[readonly]{opacity:.88;cursor:default}.accountAvatarSection{margin-top:18px;padding-top:16px;border-top:1px solid var(--line)}.editableAvatar{position:relative;margin-top:8px;overflow:hidden}.editableAvatar img{width:100%;height:100%;object-fit:cover}.editableAvatar i{position:absolute;right:-1px;bottom:-1px;width:22px;height:22px;border-radius:50%;display:grid;place-items:center;background:#1e8fe5;border:2px solid var(--surface);font-size:11px;font-style:normal}
.avatarCard{max-width:760px!important;max-height:88dvh!important;overflow:auto!important}.avatarChoices{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:9px;margin:14px 0}.avatarChoice{min-width:0;padding:10px 5px;border:1px solid var(--line);border-radius:12px;background:var(--surface-2);color:var(--text);text-align:center}.avatarChoice.active{border-color:#56b9ff;box-shadow:inset 0 0 0 1px #56b9ff}.avatarChoice .avatarArt{width:58px;height:58px;margin:0 auto 6px;border-radius:50%;display:grid;place-items:center;font-size:34px;background:#10253b;border:2px solid #47759d}.avatarChoice b,.avatarChoice small{display:block}.avatarChoice small{font-size:9px;color:var(--muted);margin-top:3px}.avatarTeamPanel,.avatarPhotoPanel{padding:12px;margin-top:10px;border:1px solid var(--line);border-radius:12px}.avatarTeamControls{display:grid;grid-template-columns:2fr 1fr;gap:8px;margin:8px 0}.avatarPhotoPanel small{display:block;margin-top:7px;color:var(--muted)}#avatarSaveBtn{width:100%;margin-top:12px}.avatarTeamArt img{width:46px;height:46px;object-fit:contain}
.survivorMulliganSearchLine{display:grid;grid-template-columns:1fr auto;gap:8px}.survivorSettingsEyebrow{margin-top:54px}.survivorBoardTabs{grid-template-columns:repeat(3,minmax(0,1fr))!important;grid-auto-flow:column!important}.survivorBoardTabs button{white-space:nowrap!important;font-size:clamp(9px,2.7vw,13px)!important}
body.color-assist .pickstable td.board-correct::before,body.color-assist .pickstable td.board-wrong::before{position:absolute!important;top:2px!important;left:50%!important;transform:translateX(-50%)!important;font-size:14px!important;line-height:1!important;text-shadow:0 1px 2px #000,0 0 3px #000!important;z-index:3!important}.pickstable td.pickcell{position:relative}.colorAssistBoardKey{display:flex;gap:12px;flex-wrap:wrap;align-items:center;margin:8px 0;padding:8px 10px;border:1px solid var(--line);border-radius:10px;font-size:11px}.colorAssistBoardKey span{display:inline-flex;align-items:center;gap:5px}.colorAssistBoardKey i{width:15px;height:15px;border-radius:3px;display:inline-grid;place-items:center;font-style:normal;font-weight:1000;color:#fff}.colorAssistBoardKey .caGood{background:#155a8a;border:1px solid #9be0ff}.colorAssistBoardKey .caBad{background:#8a4b10;border:1px solid #ffd28f}
@media(max-width:560px){.avatarChoices{grid-template-columns:repeat(2,minmax(0,1fr))}.avatarTeamControls{grid-template-columns:1fr}.survivorBoardTabs{gap:4px!important}.survivorBoardTabs button{padding:8px 3px!important}}
.profileSeasonSummary{display:flex;align-items:center;gap:10px;margin-top:18px;padding:12px;border:1px solid var(--line);border-radius:12px}.profileSeasonSummary .eyebrow{margin-right:auto}.profileSeasonSummary span{color:var(--muted);font-size:11px}.profileSeasonSummary b{font-size:16px}.profileAvatar img{width:100%;height:100%;object-fit:cover;border-radius:50%}.profileAvatar .avatarTeamArt{display:grid;place-items:center}.profileAvatar .avatarTeamArt img{width:42px;height:42px;object-fit:contain}.profileAvatar .avatarTeamArt small{display:none}

/* 5.10.9 UAT corrections */
.avatarCard>.modalTopBack{position:sticky!important;top:0!important;left:0!important;align-self:flex-start!important;width:max-content!important;z-index:100!important;pointer-events:auto!important}
.avatarChoice .avatarArt{overflow:visible!important}.avatarChoice .avatarArt span{line-height:1}.avatarChoice b{position:relative;z-index:2;margin-top:3px}.avatarChoice{overflow:hidden}
.avatarTeamPanel .secondary,#avatarSaveBtn{pointer-events:auto!important}
.profileSeasonSummary{width:100%;appearance:none;color:inherit;background:transparent;text-align:left;cursor:pointer}.profileSeasonSummary:hover{border-color:#4f789d}.profileSeasonWeeks{display:grid;gap:7px;margin-top:8px}.profileSeasonWeeks.hidden{display:none!important}
body.color-assist .colorAssistBoardKey .caGood{background-color:#155a8a!important;background-image:repeating-linear-gradient(135deg,rgba(255,255,255,.18) 0 4px,transparent 4px 9px)!important}
body.color-assist .colorAssistBoardKey .caBad{background-color:#8a4b10!important;background-image:repeating-linear-gradient(45deg,rgba(255,255,255,.18) 0 3px,transparent 3px 8px)!important}
.survivorBoardTabs{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;grid-auto-flow:column!important}.survivorBoardTabs>.smallbtn{min-width:0!important;white-space:nowrap!important}
@media(max-width:560px){.survivorBoardTabs>.smallbtn{font-size:10px!important;padding:8px 2px!important}.avatarChoice .avatarArt{font-size:30px!important}}

/* Beta 5.10.10 — Survivor commissioner/settings and UAT cleanup */
.survivorRuleCards{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px!important;border-top:1px solid rgba(95,210,151,.16)!important;padding-top:12px!important}.survivorRuleCards>span{min-width:0;padding:9px 5px;border:1px solid rgba(95,210,151,.18);border-radius:10px;background:rgba(3,18,27,.28);text-align:center}.survivorRuleCards b,.survivorRuleCards small{display:block}.survivorRuleCards b{font-size:16px;color:#72e7ab}.survivorRuleCards small{margin-top:2px;font-size:8px;line-height:1.2;color:var(--muted);font-weight:850}.survivorStationaryEdit{display:block!important;width:100%!important;background:var(--green)!important;color:#07150d!important;border:0!important;box-shadow:none!important}.survivorStationaryEdit:active{filter:brightness(.92)!important}.commissionerMulliganTools{margin-top:18px;padding-top:16px;border-top:1px solid var(--line)}.survivorMulliganSuggestions{display:grid;gap:6px;margin-top:7px;max-height:210px;overflow:auto;-webkit-overflow-scrolling:touch}.mulliganSuggestion{display:flex;justify-content:space-between;align-items:center;gap:10px;width:100%;padding:10px;border:1px solid var(--line);border-radius:10px;background:var(--surface-2);color:var(--text);text-align:left}.mulliganSuggestion small{color:var(--muted)}.survivorMulliganSelection{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:10px;padding:11px;border:1px solid rgba(47,207,132,.4);border-radius:11px;background:rgba(47,207,132,.08)}.survivorMulliganSelection div{min-width:0}.survivorMulliganSelection b,.survivorMulliganSelection small{display:block}.survivorMulliganSelection small{margin-top:3px;color:var(--muted)}#survivorSaveMulliganBtn{width:100%;margin-top:12px}.survivorBoardTabs>.smallbtn{width:100%!important;min-height:42px!important}.survivorSettingsCard>.modalTopBack{position:sticky!important;top:0!important;left:0!important;z-index:100!important;width:max-content!important}
@media(max-width:520px){.survivorRuleCards{grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:4px!important}.survivorRuleCards>span{padding:8px 2px}.survivorRuleCards small{font-size:7px}.survivorMulliganSelection{align-items:stretch;flex-direction:column}.survivorMulliganSelection button{width:100%}}

/* 5.10.12 Survivor edit button: true full-card width below status row */
.survivorWeekPanel>#survivorEditPickBtn.survivorStationaryEdit{display:block!important;width:100%!important;max-width:none!important;margin:12px 0 0!important;box-sizing:border-box!important;}
.survivorWeekPanel>#survivorEditPickBtn.survivorStationaryEdit.hidden{display:none!important;}

/* Beta 5.10.13 — Survivor commissioner + geometry corrections */
.survivorBoardTabs{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:10px!important;width:100%!important}
.survivorBoardTabs>button{width:100%!important;min-width:0!important;height:58px!important;padding:8px 6px!important;white-space:normal!important;line-height:1.1!important}
.survivorEditStatus{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:12px!important;align-items:stretch!important;width:min(500px,100%)!important}
.survivorEditStatus>span{box-sizing:border-box!important;min-height:104px!important;display:flex!important;flex-direction:column!important;justify-content:center!important;padding:16px 20px!important;border:1px solid #31455f!important;border-radius:18px!important}
.survivorEditStatus>span.new{border:2px solid #4bbcff!important;padding:15px 19px!important}
.survivorCommissionerMeta{margin-top:14px;padding-top:14px;border-top:1px solid rgba(114,222,171,.22);display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}
.survivorCommissionerMeta small{display:block;color:#93a6c2;font-weight:800;letter-spacing:.12em;font-size:11px}.survivorCommissionerMeta b{font-size:16px}
.commissionerTeamMember{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 0;border-bottom:1px solid #2a3c55}.commissionerTeamMember:last-child{border-bottom:0}.commissionerTeamActions{display:flex;gap:8px;flex-wrap:wrap}

/* Beta 5.10.14 — Color Assist Picks Board regression fix.
   Pending/not-final picks must visibly use the Color Assist palette too.
   Away selection = blue treatment; Home selection = orange treatment.
   Final result classes still override to Blue=Correct / Orange=Wrong. */
body.color-assist #boardView .pickstable .pickcell.board-pending.board-pending-away,
body.color-assist #boardView .pickstable .pickcell.board-pending.board-away{
  background-color:#155a8a!important;
  background-image:repeating-linear-gradient(135deg,rgba(255,255,255,.12) 0 5px,rgba(255,255,255,0) 5px 11px)!important;
  color:#fff!important;
  box-shadow:inset 0 0 0 2px rgba(140,220,255,.78)!important;
}
body.color-assist #boardView .pickstable .pickcell.board-pending.board-pending-home,
body.color-assist #boardView .pickstable .pickcell.board-pending.board-home{
  background-color:#8a4b10!important;
  background-image:repeating-linear-gradient(45deg,rgba(255,255,255,.14) 0 3px,rgba(255,255,255,0) 3px 9px)!important;
  color:#fff!important;
  box-shadow:inset 0 0 0 2px rgba(255,205,120,.82)!important;
}

/* Beta 5.10.15 — Sept 15 reconciliation */
/* Normal Survivor browsing is full-color. Only edit mode dims unavailable/used teams. */
#survivorPoolView:not(.survivor-editing) .survivorPreviewTeam.survivor-unavailable{filter:none!important;opacity:1!important;background:transparent!important;border-color:var(--line)!important;cursor:pointer!important}
#survivorPoolView:not(.survivor-editing) .survivorPreviewTeam.survivor-unavailable img{opacity:1!important;filter:none!important}
#survivorPoolView:not(.survivor-editing) .survivorPreviewTeam.survivor-unavailable b{color:var(--text)!important}
#survivorPoolView:not(.survivor-editing) .survivorPreviewTeam.survivor-unavailable small{color:var(--muted)!important}
#survivorPoolView:not(.survivor-editing) .survivorPreviewTeam .survivorUnavailableReason{display:none!important}
/* Eliminated pool hero changes state visually. */
.survivorHero.survivorHeroOut{background:linear-gradient(145deg,rgba(137,34,46,.38),rgba(35,12,20,.96))!important;border-color:rgba(255,98,109,.42)!important}
.survivorHero.survivorHeroOut:after{background:radial-gradient(circle,rgba(255,98,109,.13),transparent 68%)!important}
/* Settings must be independently scrollable on mobile. */
.survivorSettingsCard{max-height:88dvh!important;overflow-y:auto!important;-webkit-overflow-scrolling:touch!important;overscroll-behavior:contain!important}
/* Search-based commissioner assignment scales to large pools. */
.commissionerSearchResults{display:grid;gap:7px;max-height:230px;overflow:auto;-webkit-overflow-scrolling:touch;margin-top:8px}
.commissionerSearchResult{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:11px 12px;border:1px solid var(--line);border-radius:10px;background:var(--surface-2)}
.commissionerSearchResult span{min-width:0}.commissionerSearchResult b,.commissionerSearchResult small{display:block}.commissionerSearchResult small{color:var(--muted);margin-top:2px}
/* Beta 5.10.16 reconciliation */
.survivorBoardTabs{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:8px!important}
.survivorBoardTabs>button{width:100%!important;min-width:0!important;height:48px!important;padding:6px!important;font-size:clamp(10px,2.8vw,13px)!important;line-height:1.15!important;text-align:center!important}
.survivorCommissionerMeta{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}
.survivorCommissionerIdentity{display:flex;align-items:center;gap:10px;min-width:0}.survivorCommissionerIdentity>div:last-child{display:grid}.survivorCommissionerIdentity small{color:var(--muted);font-weight:900;letter-spacing:.14em}.survivorCommissionerIdentity b{font-size:18px}
.commissionerAvatar{width:44px;height:44px;border-radius:50%;display:grid!important;place-items:center;background:var(--surface-2);border:1px solid var(--line);overflow:hidden;font-weight:900}.commissionerAvatar img{width:100%;height:100%;object-fit:cover}.commissionerAvatar .avatarTeamArt{display:grid;place-items:center}.commissionerAvatar .avatarTeamArt img{width:30px;height:30px;object-fit:contain}.commissionerAvatar .avatarTeamArt small{display:none}
.survivorCommissionerActions{display:flex;gap:7px;flex-wrap:wrap}.survivorCommissionerActions .smallbtn{min-height:38px;text-decoration:none;display:inline-flex;align-items:center;justify-content:center}
#survivorPoolSettingsModal .modalcard,#survivorCommissionerToolsModal .modalcard{max-height:min(86vh,820px)!important;overflow-y:auto!important;-webkit-overflow-scrolling:touch!important;overscroll-behavior:contain}
#survivorCommissionerContactEditor{display:grid;gap:10px}.commissionerSearchResult{display:grid!important;grid-template-columns:minmax(0,1fr) auto!important;gap:12px!important;align-items:center!important}.commissionerSearchResult span{min-width:0}.commissionerSearchResult b,.commissionerSearchResult small{display:block!important}.commissionerSearchResult small{margin-top:3px;color:var(--muted)}
.survivorHero.survivorHeroOut{background:linear-gradient(135deg,rgba(86,18,30,.68),rgba(38,12,20,.82))!important;border-color:rgba(235,78,101,.55)!important}.survivorHero.survivorHeroOut .survivorRuleCards>span{border-color:rgba(235,78,101,.25)!important}
@media(max-width:520px){.survivorCommissionerMeta{align-items:stretch}.survivorCommissionerActions{width:100%}.survivorCommissionerActions .smallbtn{flex:1 1 calc(50% - 7px)}.commissionerSearchResult{grid-template-columns:1fr!important}.commissionerTeamActions{display:flex;gap:7px;flex-wrap:wrap}.commissionerTeamActions button{flex:1}.survivorBoardTabs{gap:6px!important}}
\n\n/* Beta 5.10.17 — Sept 15 Survivor UAT hardening */
/* Three board tabs are one visually balanced row on every phone width. */
#survivorPoolView .survivorBoardTabs{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:7px!important;width:100%!important;align-items:stretch!important}
#survivorPoolView .survivorBoardTabs>button{box-sizing:border-box!important;width:100%!important;min-width:0!important;max-width:none!important;height:54px!important;min-height:54px!important;margin:0!important;padding:7px 5px!important;display:flex!important;align-items:center!important;justify-content:center!important;text-align:center!important;font-size:clamp(10px,2.65vw,13px)!important;line-height:1.12!important;white-space:normal!important}
/* Save bar exists only during an intentional choose/edit session and never occupies schedule flow. */
#survivorPoolView:not(.survivor-editing) #survivorSubmitBar{display:none!important}
#survivorPoolView.survivor-editing #survivorSubmitBar:not(.hidden){display:block!important;position:fixed!important;left:max(12px,env(safe-area-inset-left))!important;right:max(12px,env(safe-area-inset-right))!important;bottom:max(12px,env(safe-area-inset-bottom))!important;width:auto!important;max-width:760px!important;margin:0 auto!important;z-index:4000!important;padding:8px!important;background:rgba(8,20,34,.96)!important;backdrop-filter:blur(14px)!important;border:1px solid #30445d!important;border-radius:16px!important;box-shadow:0 -10px 30px rgba(0,0,0,.36)!important}
#survivorPoolView.survivor-editing{padding-bottom:112px!important}
/* Normal browse mode is always full-color. Only edit mode may dim an ineligible/used team. */
#survivorPoolView:not(.survivor-editing) .survivorPreviewTeam{opacity:1!important;filter:none!important}
#survivorPoolView:not(.survivor-editing) .survivorPreviewTeam img{opacity:1!important;filter:none!important}
#survivorPoolView.survivor-editing .survivorPreviewTeam.survivor-unavailable:not(.survivor-current){opacity:.34!important;filter:grayscale(.82)!important}
/* Commissioner tool screens scroll independently and rows never collide. */
#survivorPoolSettingsModal,#survivorCommissionerToolsModal{overflow:hidden!important;align-items:center!important}
#survivorPoolSettingsModal .survivorSettingsCard,#survivorCommissionerToolsModal .survivorSettingsCard{box-sizing:border-box!important;width:min(94vw,620px)!important;max-height:86dvh!important;overflow-y:auto!important;-webkit-overflow-scrolling:touch!important;padding-bottom:calc(24px + env(safe-area-inset-bottom))!important}
#survivorCommissionerToolsModal .commissionerSearchResults{max-height:260px!important;overflow-y:auto!important}
#survivorCommissionerToolsModal .commissionerSearchResult{min-height:68px!important;padding:12px!important}
#survivorCommissionerToolsModal .commissionerSearchResult b{font-size:16px!important;line-height:1.2!important}
#survivorCommissionerToolsModal .commissionerSearchResult small{font-size:12px!important;line-height:1.25!important}
/* Contact/actions read as a polished commissioner control strip. */
.survivorCommissionerActions{display:grid!important;grid-template-columns:repeat(auto-fit,minmax(96px,1fr))!important;width:100%!important;gap:8px!important}
.survivorCommissionerActions .smallbtn{min-height:44px!important;width:100%!important;font-weight:850!important}
@media(max-width:430px){#survivorPoolView .survivorBoardTabs{gap:5px!important}#survivorPoolView .survivorBoardTabs>button{font-size:10px!important;padding:6px 3px!important}.survivorCommissionerActions{grid-template-columns:repeat(2,minmax(0,1fr))!important}}
/* Beta 5.10.18 — Survivor visual reconciliation */
#survivorPoolView .survivorBoardTabs{grid-template-columns:repeat(3,1fr)!important}
#survivorPoolView .survivorBoardTabs>button{width:auto!important;max-width:none!important;min-width:0!important;flex:none!important}
.survivorNewLabel{margin-top:6px!important}
.survivorCommissionerActions{grid-template-columns:repeat(3,minmax(0,1fr))!important}
.survivorCommissionerActions .commissionerToolsFull{grid-column:1/-1!important}
.survivorCommissionerActions .commissionerContactLink{font-size:12px!important;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.survivorStatusGroups{display:none!important}
.survivorCompactRosterActions{margin-top:10px;display:flex;justify-content:flex-end}
.survivorCompactRosterActions .smallbtn{min-height:36px}
.survivorPreviewGame{display:grid!important;grid-template-columns:minmax(0,1fr) 150px!important;column-gap:12px!important;align-items:start!important}
.survivorPreviewGame .previewleft{min-width:0!important}
.survivorPreviewGame .previewmatchup:not(.previewmatchup-started){display:grid!important;grid-template-columns:minmax(0,1fr) 28px minmax(0,1fr)!important;column-gap:6px!important;align-items:center!important}
.survivorPreviewGame .pregamePreviewMeta{width:150px!important;min-width:150px!important;max-width:150px!important;text-align:right!important;line-height:1.12!important}
.survivorPreviewGame .gameweather{margin-top:5px!important;min-height:18px!important;text-align:center!important}
@media(max-width:560px){.survivorPreviewGame{grid-template-columns:minmax(0,1fr) 116px!important;column-gap:7px!important}.survivorPreviewGame .pregamePreviewMeta{width:116px!important;min-width:116px!important;max-width:116px!important;font-size:9px!important}.survivorCommissionerActions{grid-template-columns:repeat(3,minmax(0,1fr))!important}}

/* 5.10.19 authoritative reconciliation */
.photoOnlyAvatarCard{max-width:520px!important}.avatarPhotoPreview{width:116px;height:116px;margin:18px auto;display:grid;place-items:center;border:2px solid #46769e;border-radius:50%;overflow:hidden;background:#17324e;font-size:42px;font-weight:950}.avatarPhotoPreview img{width:100%;height:100%;object-fit:cover}.photoOnlyAvatarCard #avatarPhotoBtn,.photoOnlyAvatarCard #avatarSaveBtn,.photoOnlyAvatarCard #avatarRemoveBtn{width:100%;margin-top:10px}.avatarRemoveBtn{border-color:rgba(255,98,109,.35)!important}.accountAvatarSection .profileAvatar{cursor:default!important}.accountAvatarSection .fine{margin-top:10px}
#survivorSaveMulliganBtn{background:var(--panel2)!important;color:var(--text)!important;border:1px solid var(--line)!important}#survivorSaveMulliganBtn.rulesDirty{background:#22c875!important;color:#06130d!important;border-color:#22c875!important;font-weight:950!important}
.survivorAliveSummary.rich{display:grid!important;grid-template-columns:1fr 1fr!important;gap:8px!important}.survivorStatusCount{appearance:none;display:flex;justify-content:space-between;align-items:center;width:100%;padding:11px;border:1px solid var(--line);border-radius:11px;background:rgba(255,255,255,.025);color:var(--text);font:inherit;text-align:left}.survivorStatusCount.alive{border-color:rgba(47,207,132,.42)}.survivorStatusCount.out{border-color:rgba(255,98,109,.34)}.survivorStatusCount.alive b{color:#6ee7a8}.survivorStatusCount.out b{color:#ff8c8c}.survivorStatusCount small{color:var(--muted);font-weight:900}.survivorStatusCount.active{box-shadow:0 0 0 2px rgba(84,174,235,.28);background:#18334f}.survivorStatusGroups{display:none!important;grid-template-columns:1fr!important;gap:10px!important;margin-top:10px}.survivorStatusGroups.open{display:grid!important}.survivorStatusGroups [data-status-group].hidden{display:none!important}
/* Survivor commissioner card follows Weekly Pick'em proportions instead of the old green hero treatment. */
.survivorHero{background:var(--panel)!important;border:1px solid var(--line)!important;border-left:4px solid #31d28a!important;box-shadow:none!important}.survivorHero:after{display:none!important}.survivorCommissionerMeta{border:1px solid #315d7e!important;border-left:4px solid #31d28a!important;border-radius:13px!important;padding:14px!important;background:#10243b!important;margin-top:14px!important}.survivorCommissionerActions{grid-template-columns:repeat(3,minmax(0,1fr))!important}.survivorCommissionerActions .smallbtn{min-height:46px!important;border-radius:11px!important}.survivorCommissionerActions .commissionerToolsFull{grid-column:1/-1!important}
/* Keep edit-state labels inside the team tile and visually below the team/record stack. */
.survivorPreviewTeam>span{display:flex!important;flex-direction:column!important;justify-content:center!important;min-width:0!important}.survivorNewLabel{margin-top:9px!important;position:relative!important;top:2px!important}.survivorPreviewGame{align-items:center!important}.survivorPreviewTeam img{flex:0 0 auto!important}
@media(max-width:520px){.survivorCommissionerActions{grid-template-columns:repeat(3,minmax(0,1fr))!important}.survivorCommissionerActions .commissionerContactLink{font-size:11px!important;padding:7px 4px!important}.survivorAliveSummary.rich{grid-template-columns:1fr 1fr!important}.survivorPreviewGame{grid-template-columns:minmax(0,1fr) 122px!important}.survivorPreviewGame .pregamePreviewMeta{width:122px!important;max-width:122px!important}}
\n/* Beta 5.10.20 — authoritative Survivor reconciliation. Weekly commissionerCardV2 is the single visual source of truth. */
#survivorPoolView .survivorCommissionerMeta.commissionerCardV2{display:block!important;margin-top:14px!important;padding:12px 13px!important;background:linear-gradient(145deg,#132137,#0e1a2b)!important;border:1px solid #315172!important;border-left:3px solid #35c978!important;border-radius:13px!important}
#survivorPoolView .survivorCommissionerMeta .commissionerTopV2{display:grid!important;grid-template-columns:1fr!important;gap:8px!important}
#survivorPoolView .survivorCommissionerMeta .commissionerQuickActions{display:flex!important;justify-content:center!important;width:100%!important;gap:9px!important;margin:8px 0!important}
#survivorPoolView .survivorCommissionerMeta .commissionerQuickActions button,#survivorPoolView .survivorCommissionerMeta .commissionerQuickActions a{width:48px!important;height:48px!important;min-width:48px!important;min-height:48px!important;border-radius:13px!important}
#survivorPoolView .survivorCommissionerMeta .commissionerActions{display:grid!important;grid-template-columns:1fr 1fr!important;gap:6px!important;margin-top:7px!important}
#survivorPoolView .survivorCommissionerMeta .commissionerActions button{min-height:40px!important;font-size:13px!important}
/* Remove the fixed 72/78px team-tile reservation that was creating dead air above weather. */
#survivorPoolView .survivorPreviewGame{align-items:start!important;margin-bottom:12px!important}
#survivorPoolView .survivorPreviewGame .previewleft{display:flex!important;flex-direction:column!important;justify-content:flex-start!important;gap:5px!important}
#survivorPoolView .survivorPreviewGame .previewmatchup{min-height:0!important}
#survivorPoolView .survivorPreviewGame .survivorPreviewTeam,#survivorPoolView .survivorPreviewGame .previewmatchup-started>.survivorPreviewTeam,#survivorPoolView .survivorPreviewGame .previewmatchup:not(.previewmatchup-started)>.survivorPreviewTeam{height:auto!important;min-height:58px!important;padding:6px 7px!important}
#survivorPoolView .survivorPreviewGame .gameweather{margin:0!important;min-height:18px!important;line-height:18px!important}
@media(max-width:520px){#survivorPoolView .survivorPreviewGame .survivorPreviewTeam,#survivorPoolView .survivorPreviewGame .previewmatchup-started>.survivorPreviewTeam,#survivorPoolView .survivorPreviewGame .previewmatchup:not(.previewmatchup-started)>.survivorPreviewTeam{height:auto!important;min-height:58px!important}}

/* 5.10.22 UAT reconciliation */
#survivorHeroSettingsBtn{display:none!important}
.survivorStatus{display:inline-flex!important;align-items:center;gap:7px}
.mulliganTicketBadge{display:inline-flex;align-items:center;gap:3px;padding:3px 7px;border:1px solid rgba(255,132,164,.7);border-radius:6px;background:rgba(180,38,76,.18);color:#ffd5df;font-weight:950;letter-spacing:.02em}
.avatarNativeFile{position:absolute!important;width:1px!important;height:1px!important;opacity:.01!important;overflow:hidden!important;pointer-events:none!important}
.avatarPhotoLabel{display:flex!important;align-items:center;justify-content:center;width:100%;box-sizing:border-box;cursor:pointer}
#survivorCommissionerNote{width:100%;box-sizing:border-box;resize:vertical;min-height:64px}
/* One shared control language across Weekly and Survivor */
.quietRefresh,.weekPanelActions .smallbtn,.survivorBoardsPanel .smallbtn{min-height:42px;border-radius:12px;padding:0 16px;font-weight:800}
/* 5.10.22 UAT reconciliation */
#survivorPoolView .survivorCommissionerMeta.commissionerCardV2{width:100%!important;max-width:none!important;box-sizing:border-box!important;margin:14px 0 0!important}
#survivorPoolView .survivorCommissionerMeta .commissionerNote{margin-top:12px!important;padding:9px 10px!important;border:1px solid rgba(255,255,255,.16)!important;border-radius:10px!important;background:#0d1727!important;color:#edf8f2!important;font-size:inherit!important;line-height:1.35!important;font-weight:600!important}
#survivorPoolView .survivorCommissionerMeta .commissionerNote small{display:block!important;margin-bottom:3px!important;color:#9fd7b5!important;font-size:10px!important;font-weight:900!important;letter-spacing:.07em!important}
.dangerBtn{border-color:#b94b59!important;background:#431923!important;color:#ffb8c1!important}.dangerBtn:hover{background:#5b1e2b!important}
.mulliganTicketBadge{appearance:none;-webkit-appearance:none;font:inherit;cursor:pointer;margin:0 0 0 4px}.mulliganInfoPopover{position:fixed;z-index:10050;width:min(310px,calc(100vw - 24px));padding:13px;border:1px solid #44627f;border-radius:13px;background:#0e1a2b;color:#f3f8ff;box-shadow:0 14px 38px rgba(0,0,0,.42)}.mulliganInfoPopover b{display:block;margin-bottom:6px}.mulliganInfoPopover p{margin:0 0 10px;color:#c3d1e2;font-size:13px;line-height:1.4}.mulliganInfoPopover button{width:100%;margin:0}
.avatarPickerWrap{position:relative!important;overflow:hidden!important;display:flex!important;align-items:center!important;justify-content:center!important;cursor:pointer!important}.avatarPickerWrap .avatarNativeFile{position:absolute!important;inset:0!important;width:100%!important;height:100%!important;opacity:0!important;cursor:pointer!important;pointer-events:auto!important;font-size:100px!important}
.weekPanelActions .smallbtn,#survivorPoolView .weekPanelActions .smallbtn{min-width:74px!important;height:38px!important;min-height:38px!important;padding:0 12px!important;border-radius:10px!important;font-size:12px!important;font-weight:850!important}
