.roster-player { display:flex; flex-direction:column; }
.roster-player.roster-listed { border-top:1px solid var(--line); }
.roster-player.roster-listed .weekly-muted strong { color:#ff4d5f; font-weight:900; }
.roster-actions { display:flex; flex-wrap:wrap; gap:8px; margin-top:auto; padding-top:16px; }
.roster-actions .weekly-save { max-width:100%; white-space:normal; }
.roster-summary { display:flex; flex-wrap:wrap; gap:20px 40px; margin-bottom:20px; }
.roster-summary > div { display:grid; gap:6px; }
.roster-summary strong { font-family:var(--font-display); font-size:40px; color:var(--text); }
.roster-summary span { font-size:14px; color:var(--text-soft); }
[data-roster-message] { min-height:24px; overflow-wrap:anywhere; }
@media(max-width:600px) {
 .roster-summary { gap:20px; }
 .roster-summary > div { flex:1 1 120px; }
 .roster-actions .weekly-save { flex:1 1 auto; }
}

.roster-updates { border-left:3px solid var(--teal); background:var(--bg-elevated); padding:20px; margin-bottom:28px; }
.roster-updates ul { list-style:none; padding:0; margin:16px 0; }
.roster-updates li { display:flex; justify-content:space-between; flex-wrap:wrap; gap:6px 18px; padding:12px 0; border-bottom:1px solid var(--line); overflow-wrap:anywhere; }
.roster-updates li span { color:var(--text-soft); }
.roster-updates p { line-height:1.5; }
@media(max-width:600px) { .roster-updates { padding:16px; } .roster-updates li { flex-direction:column; } }

/* Current Waiver Wars house palette. Selecting Fan Colors must never fall back to the retired purple/green theme. */
html:not([data-fan-team]) {
  --fan-primary:#16afe2;
  --fan-secondary:#f04488;
  --action:#16afe2;
  --action-bright:#42c8f3;
  --violet:#16afe2;
  --violet-bright:#42c8f3;
  --teal:#f04488;
  --teal-ink:#c92968;
  --teal-bright:#ff68a5;
  --on-accent:#071016;
}
html:not([data-fan-team])[data-theme="light"] {
  --violet-soft:#e4f7fd;
  --teal-soft:#fde7f0;
}
html:not([data-fan-team])[data-theme="dark"] {
  --violet-soft:#082d3a;
  --teal-soft:#351321;
}

/* Header cleanup */
.site-nav a[aria-current="page"],
.site-nav-menu.has-current > summary {
  color:#f04488!important;
}
.site-nav a[aria-current="page"]::after {
  background:#f04488!important;
}
.site-nav-my-team-menu [data-open-fan-picker] {
  border-top:1px solid var(--line)!important;
  color:#16afe2!important;
}
.site-nav-my-team-menu [data-open-fan-picker]:hover,
.site-nav-my-team-menu [data-open-fan-picker]:focus-visible {
  color:#f04488!important;
}

/* When a fan selects an NFL team, let its saved primary/secondary palette visibly own navigation and core actions. */
html[data-fan-team] .site-nav > a,
html[data-fan-team] .site-nav > details > summary,
html[data-fan-team] .site-nav-menu > div > a,
html[data-fan-team] .site-nav-my-team-menu [data-open-fan-picker] {
  color:var(--violet)!important;
}
html[data-fan-team] .site-nav > a:hover,
html[data-fan-team] .site-nav > a:focus-visible,
html[data-fan-team] .site-nav > details > summary:hover,
html[data-fan-team] .site-nav > details > summary:focus-visible,
html[data-fan-team] .site-nav-menu > div > a:hover,
html[data-fan-team] .site-nav-menu > div > a:focus-visible,
html[data-fan-team] .site-nav a[aria-current="page"],
html[data-fan-team] .site-nav-menu.has-current > summary {
  color:var(--teal)!important;
}
html[data-fan-team] .site-nav a[aria-current="page"]::after { background:var(--teal)!important; }
html[data-fan-team] .button-primary { background:var(--action)!important; border-color:var(--action)!important; color:var(--on-accent)!important; }


/* Waiver Wars My Team cleanup */
.ww-team-page{max-width:1180px}
.ww-team-hero{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;padding-bottom:20px;border-bottom:1px solid var(--line)}
.ww-team-hero h1{margin:6px 0 8px;font-size:clamp(38px,6vw,68px);line-height:1;letter-spacing:-.03em}
.ww-team-hero>div:first-child>p:last-child{max-width:620px;color:var(--text-soft)}
.ww-team-hero-actions{display:flex;gap:8px;flex-wrap:wrap}
.ww-team-tabs{margin:0 0 22px;border-bottom:1px solid var(--line)}
.ww-team-tabs a{padding:14px 2px;margin-right:22px;border-bottom:2px solid transparent}
.ww-team-tabs a:first-child{border-bottom-color:var(--violet);color:var(--text)}
.ww-add-player{border-top:1px solid var(--line);padding-top:26px}
.ww-roster-row{display:grid!important;grid-template-columns:minmax(0,1fr) minmax(160px,.9fr) auto;align-items:center;gap:18px;padding:14px 0!important;border:0!important;border-bottom:1px solid var(--line)!important;background:transparent!important;box-shadow:none!important}
.ww-roster-row.roster-listed{border-top:0!important}
.ww-roster-identity{display:flex;align-items:center;gap:12px;min-width:0}
.ww-roster-identity .roster-headshot{float:none!important;margin:0!important}
.ww-roster-identity>div{min-width:0}
.ww-roster-identity h3{margin:0 0 4px;font-size:16px;line-height:1.2}
.ww-roster-identity small{display:block;color:var(--text-soft);font-size:12px}
.ww-roster-identity .weekly-muted{margin-top:5px}
.ww-roster-news{min-width:0;font-size:12px!important;line-height:1.4;color:var(--text-soft)!important;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.ww-roster-row .roster-actions{margin:0!important;padding:0!important;justify-self:end}
.ww-roster-row .weekly-save{min-height:40px;white-space:nowrap}
.ww-team-page .weekly-player-grid{display:block!important}
.ww-team-page .roster-summary{padding:16px 0;border-bottom:1px solid var(--line)}
.ww-team-page .projected-roster{border:0;border-block:1px solid var(--line);border-radius:0;background:transparent;padding:18px 0}
@media(max-width:760px){
  .ww-team-hero{display:block}
  .ww-team-hero-actions{margin-top:14px;display:grid;grid-template-columns:1fr 1fr}
  .ww-team-tabs{display:flex;overflow-x:auto}
  .ww-team-tabs a{white-space:nowrap}
  .ww-roster-row{grid-template-columns:minmax(0,1fr) auto;gap:8px 12px}
  .ww-roster-identity{grid-column:1}
  .ww-roster-news{grid-column:1/-1;order:3;padding-left:64px}
  .ww-roster-row .roster-actions{grid-column:2;grid-row:1}
}
@media(max-width:460px){
  .ww-team-hero-actions{grid-template-columns:1fr}
  .ww-roster-news{padding-left:0}
  .ww-roster-row .weekly-save{padding-inline:10px;font-size:12px}
}
