/* Shared palette and roomy data workspace. */
:root{--ink:#101c2b;--surface:#182638;--raised:#213349;--line:#344358;--text:#eef2f7;--muted:#b2becd;--gold:#dec18b}
body,.workspace{background:var(--ink)}
.app-shell,.mobile-bar{background:#101a28}
.workspace main{max-width:none;padding-left:clamp(20px,2.4vw,42px);padding-right:clamp(20px,2.4vw,42px)}
.workspace .card,.workspace .stat{background:var(--surface);border-color:var(--line)}
.workspace input,.workspace select,.workspace textarea,.league-switcher,.headercontrols select{background:#142234;border-color:#46566d;color:var(--text)}
.workspace .page-bar{color:var(--muted);border-color:var(--line);margin-bottom:26px}
.workspace .heading{margin-bottom:24px}
.workspace .heading p{color:var(--muted)}
button,a,input,select{transition:background-color 160ms ease,border-color 160ms ease,color 160ms ease,box-shadow 160ms ease}
button:active:not(:disabled){transform:translateY(1px)}
:focus-visible{outline:2px solid var(--gold);outline-offset:3px}
.player-avatar img{object-fit:contain;object-position:center bottom;image-rendering:auto}
.player-avatar:has(img){width:58px;height:48px}
.drawer-player .player-avatar:has(img){width:160px;height:116px}
.player-name{line-height:1.35}
/* One continuous board; no tier dividers. */
.workspace .rankings-card{padding:0;overflow:hidden;background:#121d2b;border:1px solid #354358;border-radius:9px}
.rankings-card>.toolbar{padding:18px 24px;margin:0;gap:16px;flex-wrap:wrap}
.rankings-card>.toolbar+.toolbar{padding-top:0;padding-bottom:18px}
.rankings-card>.muted{padding:16px 24px;margin:0;font-size:.8rem;border-top:1px solid #354358}
.board-source{margin-left:auto;font-size:.8rem;color:#b9c5d5}
.rankings-card .tablewrap{border:0;border-radius:0;margin:0}
.rankings-card .ranking-board{width:100%;border-collapse:separate;border-spacing:0;table-layout:auto;min-width:720px}
.ranking-board thead th{background:#202e40;color:#c1ccdb;padding:12px 18px;border-bottom:1px solid #42516a;font-size:.75rem;letter-spacing:.035em;white-space:nowrap}
.rankings-card th .textbutton{color:#c1ccdb;font-weight:700;font-size:.75rem}
.rankings-card .ranking-board td{height:70px;padding:9px 18px;border-bottom:1px solid #293647;background:#172333;vertical-align:middle}
.rankings-card .ranking-board tr:nth-child(even) td{background:#1b2839}
.rankings-card .ranking-board tr:hover td{background:#27394d}
.rankings-card .ranking-board td{transition:background-color 140ms ease}
.rankings-card .ranking-board td.rank-cell{width:66px;text-align:center;font:750 1.2rem/1.2 var(--body);color:#f1d49c;border-right:1px solid #334155}
.ranking-board td:nth-child(2){width:36%;min-width:240px}
.rankings-card .player-name{font:700 .95rem/1.35 var(--body);color:#f0f4fa;text-align:left;white-space:normal}
.rankings-card .player-meta{color:#aebdce;font-size:.72rem;margin-top:5px}
.rankings-card .player-meta .pos{display:none}
.rankings-card .player-avatar:has(img){width:68px;height:52px}
.rankings-card .player-identity{gap:12px}
.rankings-card .ranking-board td.numeric{text-align:center;font-variant-numeric:tabular-nums}
.rankings-card .ranking-board td.board-index{background:#15372e;color:#a6f0cb;border-left:1px solid #2d5148;border-right:1px solid #2d5148}
.rankings-card .ranking-board td.board-trade{background:#2f2b21;color:#f5d898}
.rankings-card .ranking-board td.numeric strong{font:750 1.3rem/1.3 var(--body);letter-spacing:-.025em}
.rankings-card .ranking-board tr:hover td.board-index{background:#204b3e}
.rankings-card .ranking-board tr:hover td.board-trade{background:#413925}
.rankings-card .status-badge{background:transparent;border:0;color:#c0cad6;font-size:.76rem;line-height:1.4;white-space:normal}
.board-position{display:inline-block;min-width:53px;text-align:center;padding:5px 9px;border-radius:4px;background:#334155;color:#fff;font:750 .73rem/1.3 var(--body);white-space:nowrap}
.board-position.RB{background:#154c63;color:#a9e9ff}.board-position.WR{background:#603147;color:#ffd0e2}.board-position.QB{background:#5e4521;color:#ffe0a7}.board-position.TE{background:#4b3567;color:#e5ccff}
.rankings-card .segmented button{min-height:38px;padding:8px 18px}
.rankings-card .segmented button[aria-pressed=true]{background:#dec18b;color:#152133;box-shadow:none}
/* Production tables retain their own high-contrast reading surface. */
.stats-page-wrap .player-avatar img{object-fit:contain;object-position:center bottom}
.stats-page-wrap .player-avatar:has(img){width:62px;height:48px}
.player-drawer[open]{animation:profile-enter 200ms ease-out}
@keyframes profile-enter{from{opacity:0;transform:translateY(10px) scale(.99)}to{opacity:1;transform:none}}
@media(min-width:1800px){.ranking-board td:nth-child(2){width:40%}}
@media(max-width:760px){.workspace main{padding:20px 14px 28px}.rankings-card>.toolbar{padding:16px;gap:12px}.rankings-card>.muted{padding:14px 16px}.board-source{margin-left:0;flex-basis:100%}.rankings-card .ranking-board{min-width:620px}.rankings-card .ranking-board td,.ranking-board thead th{padding:9px 12px}.ranking-board td:nth-child(2){min-width:210px}.rankings-card .segmented button{padding:8px 13px}.rankings-card .player-name{font-size:.875rem}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important}}
@media(prefers-reduced-motion:no-preference){.ranking-board tbody{animation:board-refresh 150ms ease-out}@keyframes board-refresh{from{opacity:.65}to{opacity:1}}}
