.player:focus-visible{outline:3px solid #7cff37;outline-offset:4px}.player{font-family:inherit;padding:0;color:inherit}.profile-bio{margin:16px 0}.profile-bio summary{cursor:pointer;font-size:16px;padding:10px 0}.sidepanel .copy{font-size:16px;line-height:1.6}.sidepanel .section h4{font-size:16px}.sidepanel .mini .k,.sidepanel .mini .v,.sidepanel .source{font-size:14px}.sidepanel .source{color:#aeb9c6}#playerDialog{box-sizing:border-box;width:100%;max-width:650px;max-height:85dvh;margin:auto auto 0;padding:0 16px 20px;border:1px solid #52677b;border-radius:20px 20px 0 0;background:#0b141d;color:#edf2f6;overscroll-behavior:contain}#playerDialog::backdrop{background:#0009}#playerDialog .sidepanel{border:0;padding:8px 0;max-width:100%}.profile-close{position:sticky;top:0;z-index:10;display:block;width:100%;min-height:48px;background:#142019;border:0;border-bottom:1px solid #496637;color:#a3ff6d;text-align:right;font:700 16px system-ui;cursor:pointer;padding:12px}.profile-bio .player-bio{margin:8px 0}@media(max-width:850px){.field .player{width:36px;height:36px}.field .player .p{font-size:8px}.field .player .n{font-size:10px}#playerDialog .s22-score-grid{gap:6px}#playerDialog .s22-score-value{font-size:21px}.profile-bio{font-size:16px}}

/* Player profiles: football first, supporting detail on demand. */
#playerDialog{width:min(100%,650px);max-height:90dvh;padding:0 16px 20px;overflow:auto;scrollbar-gutter:stable}
#playerDialog .profile-close{font-size:16px;line-height:1.3;text-align:left;padding:14px 4px;min-height:48px;background:#0b141d;border-bottom:1px solid #334457}
#playerDialog .sidepanel{position:static;max-height:none;overflow:visible;margin:0;padding:16px 0;background:none;box-shadow:none}
.sidepanel .pname{font-size:26px;line-height:1.15;margin:0 0 6px;overflow-wrap:anywhere}.sidepanel .ppos{font-size:14px;line-height:1.5}
.sidepanel .section{margin-top:16px}.sidepanel .section h4{font-size:14px;margin:0 0 8px;color:#aeb9c6}
.sidepanel .s22-score-grid{gap:8px;margin:16px 0;grid-template-columns:repeat(3,minmax(0,1fr))}.sidepanel .s22-score{padding:10px 6px;min-width:0}.sidepanel .s22-score-label{font-size:12px;line-height:1.35;letter-spacing:0}.sidepanel .s22-score-value{font-size:20px;line-height:1.3}.sidepanel .s22-score-sub{display:none}
.sidepanel .copy{font-size:16px;line-height:1.5}.sidepanel .matchup-callouts{grid-template-columns:1fr;gap:10px}.sidepanel .matchup-callout{font-size:16px;line-height:1.5;padding:14px}.sidepanel .matchup-callout b{font-size:13px;letter-spacing:.04em;margin-bottom:6px}.matchup-takeaway strong{display:block;color:#a3ff6d;font-size:19px;margin-bottom:6px}.sidepanel .status{font-size:14px;line-height:1.5}.sidepanel .profile-details{margin-top:14px;border-top:1px solid #334457;padding-top:4px}.sidepanel .profile-details summary{cursor:pointer;min-height:44px;padding:12px 0;font-size:16px;line-height:1.4;color:#e5edf4}.sidepanel .profile-details p{margin:10px 0}.sidepanel .profile-details .cards{grid-template-columns:repeat(2,minmax(0,1fr))}.sidepanel .season-tab{min-height:44px;font-size:14px}.sidepanel .source{font-size:14px;line-height:1.5}.profile-details summary:focus-visible,.profile-close:focus-visible{outline:2px solid #a3ff6d;outline-offset:2px}
@media(min-width:851px){.sidepanel .matchup-callouts{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* Stack labels above values so compact score cards never compete for width. */
.sidepanel .s22-score{display:flex;flex-direction:column;align-items:center;justify-content:space-between;gap:8px;text-align:center;box-sizing:border-box}.sidepanel .s22-score-label{width:100%;overflow-wrap:anywhere}.sidepanel .s22-score-value{max-width:100%;margin-top:0;overflow-wrap:anywhere;grid-column:auto;grid-row:auto}#playerDialog .s22-score-value{font-size:18px;line-height:1.35}

/* The live four-week selector keeps every label inside its own touch target. */
@media(max-width:650px){
  .restored-nav{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:18px 0}
  .restored-nav .week-stepper[style]{grid-column:1/-1;display:grid!important;grid-template-columns:44px repeat(3,minmax(0,1fr)) 44px;align-items:stretch;justify-self:center;width:min(100%,520px)!important;min-width:0!important;max-width:520px!important;gap:6px!important;padding:6px!important}
  .restored-nav .week-stepper a,.restored-nav .week-stepper button{width:auto!important;min-width:0;height:46px;padding:0 6px;font:800 13px/1 system-ui!important;white-space:nowrap}
  .restored-nav .week-stepper strong{display:grid;place-items:center;min-width:0;padding:0 4px;border:1px solid #7cff37;border-radius:8px;background:#142019;font:800 13px/1 system-ui!important;white-space:nowrap}
  .restored-nav>a{display:grid;place-items:center;min-width:0;min-height:52px;padding:10px 8px;text-align:center;font-size:14px}
}

/* Team-coded player profiles: one dark, readable treatment for every week. */
#playerDialog{
  appearance:none!important;
  color-scheme:dark!important;
  background:#071018!important;
  color:#f4f7fa!important;
  border:1px solid color-mix(in srgb,var(--player-team-color,#7cff37) 58%,#263746)!important;
  outline:0!important;
  box-shadow:0 -18px 60px rgba(0,0,0,.88)!important;
}
#playerDialog::backdrop{background:rgba(0,0,0,.86)!important;backdrop-filter:blur(5px)}
#playerDialog .sidepanel{
  background:#0b151f!important;
  color:#f3f7fa!important;
  border:1px solid color-mix(in srgb,var(--player-team-color,#7cff37) 38%,#263746)!important;
  border-radius:18px!important;
  padding:18px 16px!important;
  box-shadow:none!important;
}
#playerDialog .profile-close{
  appearance:none!important;
  background:#08121b!important;
  color:var(--player-team-color,#7cff37)!important;
  border:0!important;
  border-bottom:1px solid color-mix(in srgb,var(--player-team-color,#7cff37) 40%,#263746)!important;
  border-radius:0!important;
  box-shadow:none!important;
  font-weight:850!important;
}
.sidepanel .pname,#playerDialog .pname{color:var(--player-team-color,#7cff37)!important;text-shadow:0 0 24px color-mix(in srgb,var(--player-team-color,#7cff37) 20%,transparent)}
#playerDialog .ppos{color:color-mix(in srgb,var(--player-team-color,#7cff37) 68%,white)!important}
#playerDialog h1,#playerDialog h2,#playerDialog h3,#playerDialog h4,#playerDialog strong,#playerDialog b,#playerDialog summary{color:#f5f8fa!important}
#playerDialog p,#playerDialog .copy,#playerDialog .status,#playerDialog .source,#playerDialog .s22-score-sub,#playerDialog .mini .k{color:#c3ced8!important}
#playerDialog .section h4,#playerDialog .s22-score-label{color:color-mix(in srgb,var(--player-team-color,#7cff37) 58%,#bcc8d3)!important}
#playerDialog .s22-score,#playerDialog .matchup-callout,#playerDialog .profile-details{
  background:#08131f!important;
  border-color:color-mix(in srgb,var(--player-team-color,#7cff37) 26%,#304155)!important;
}
#playerDialog .s22-score-value,#playerDialog .mini .v{color:#fff!important}
#playerDialog .matchup-takeaway strong{color:var(--player-team-color,#7cff37)!important}
#playerDialog .profile-close:focus-visible,#playerDialog summary:focus-visible{outline:2px solid var(--player-team-color,#7cff37)!important;outline-offset:3px}
@media(max-width:850px){
  #playerDialog{width:calc(100% - 16px)!important;max-width:650px!important;margin:auto auto 8px!important;padding:0!important;border-radius:20px!important}
  #playerDialog .sidepanel{margin:10px!important;max-width:calc(100% - 20px)!important;box-sizing:border-box!important}
  #playerDialog .profile-close{padding:14px 18px!important;border-radius:20px 20px 0 0!important;text-align:left!important}
}
