/* Shared colors drawn from the metallic blue wordmark. */
:root {
  --primary: #1455d9;
  --rail: #080c14;
  --line: #d6dce6;
  --muted: #626d80;
  --radius: 6px;
  --brand-ink: #141c2c;
  --brand-silver: #f2f4f8;
  --brand-ice: #8edcff;
  --brand-action: linear-gradient(120deg, #1266e8, #1046bd);
  --brand-night: linear-gradient(120deg, #06080e 0%, #111b30 48%, #123675 80%, #091222 100%);
  color: var(--brand-ink);
  background: var(--brand-silver);
}
body { background: linear-gradient(135deg, #f7f8fa, #e9eef7); }
h2, h3, .page-heading h1, .player-identity strong, .matchup-team-text strong { color: var(--brand-ink); }
.sidebar { background: linear-gradient(160deg, #121d32, #080c14 65%); border-color: #283954; }
.brand, .sidebar-bottom { border-color: #2c3b52; }
.sidebar nav a, .nav-button { color: #c4cede; }
.sidebar nav svg, .sidebar-bottom p { color: #9aacc6; }
.sidebar nav a[aria-current=page] { background: linear-gradient(100deg, #173e81, #122440); color: #f4f8ff; border-color: #335a8c; box-shadow: inset 3px 0 var(--brand-ice); }
.sidebar nav a[aria-current=page] svg { color: var(--brand-ice); }
.sidebar nav a:hover, .nav-button:hover { background: #1a2d49; color: #fff; }
.topbar { background: #fcfdff; border-color: var(--line); }
.topbar .league-selectors select { background: #f0f3f8; border-color: #ced7e5; color: var(--brand-ink); }
.icon-button, .topbar .icon-button { background: #f8faff; border-color: #d1dbea; color: #285baa; }
.icon-button:hover, .topbar .icon-button:hover { background: #e5edfb; }
.primary, .landing-page .primary, .account-submit { background: var(--brand-action); border-color: #367bf0; color: #fff; box-shadow: 0 4px 12px #1455d922; }
.primary:hover:not(:disabled), .landing-page .primary:hover, .account-submit:hover { background: linear-gradient(120deg, #1b70ed, #164fd0); }
.secondary { border-color: #bac9e1; color: #284a80; }
.secondary:hover { background: #eaf0fc; }
.segmented { border-color: #cad4e4; }
.segmented button[aria-pressed=true] { background: var(--primary); }
.mode-switch { border-color: #cad4e4; box-shadow: 0 2px 8px #182d5010; }
.kind-tabs { border-color: var(--line); }
.kind-tabs button[aria-pressed=true] { color: var(--primary); border-color: #367df2; }
.overview-grid>.data-section, .decision-section { border-color: var(--line)!important; box-shadow: 0 4px 18px #16244105; }
.decision-section { border-top-color: #367df2!important; }
.inline-info { background: #edf3ff; border-left-color: #4589f5; color: #304967; }
.notice:not(.error) { background: #edf3ff; border-color: #afc9f3; color: #294d88; }
textarea, input:not([type=checkbox]), select { border-color: #cbd5e5; color: #25354d; }
th { background: #f0f3f8; color: #606f86; border-color: #d9e0ea; }
td, .data-section, .table-scroll, .league-matchup, .league-matchup-team, .matchup-compact, .target-section, .target-player { border-color: var(--line); }
tbody tr:hover { background: #f3f6fc; }
.slot-pill, .source-role { background: #eaf1ff; color: #275da8; border-color: #cadcf6; }
.player-identity img { background: #eef1f6; }
.player-identity small, .player-status small, .roster-group-title { color: #68758b; }
.healthy { color: #526279; background: #edf1f6; }
.status-label.ok { color: #275da8; }
.player-status .player-news, .player-news, .text-link { color: #275da8; }
.player-status .player-news:hover { color: #1046bd; }
.evidence-pane { background: #edf1f8; border-color: #ccd7e6; }
.answer { border-color: #c4d4ec; }
.answer h3, .matchup-teams strong { color: #2458aa; }
.team-scores span, .team-scores span:first-child, .target-stats { color: #2458aa; }
.projection-neutral, .roster-game .projection-neutral, .team-scores .projection-neutral { color: #2458aa!important; }
.roster-game>strong.roster-actual { color: var(--brand-ink); }
.connection-platforms button[aria-pressed=true] { border-color: var(--primary); background: #edf3ff; }
.landing-page { --primary: #1455d9; background: linear-gradient(135deg, #fafbfc, #e9edf4 55%, #f6f7fa); }
.landing-nav { background: #080c14; border-color: #2b3b54; }
.fm-hero { background: var(--brand-night); }
.fm-hero h1 { color: #f6f9ff; }
.fm-tagline { color: #e0eaff; }
.fm-hero .fm-kicker { color: var(--brand-ice); }
.fm-kicker span { background: var(--brand-ice); }
.fm-intro, .fm-terms { color: #c2cede; }
.fm-main-shot>img { border-color: #5d7da8; box-shadow: 0 20px 60px #0006; }
.fm-trust { background: #0d1421; color: #c3cfdf; border-color: #28374e; }
.fm-kicker, .fm-number, .fm-plan, .fm-text-link, .fm-pricing li:before { color: var(--primary); }
.fm-detail { background: linear-gradient(115deg, #e3e9f3, #f9fbff 55%, #dbe6f8); }
.fm-price-card { border-color: #a9c3eb; background: linear-gradient(145deg, #fff, #e7effc); box-shadow: 0 14px 35px #163a7015; }
.player-name-button{border:0;background:none;padding:0;color:inherit;font:inherit;font-weight:650;text-align:left;cursor:pointer;white-space:normal;overflow-wrap:anywhere}.player-name-button:hover{text-decoration:underline;color:#1455d9}.performance-dialog{width:min(560px,calc(100% - 24px));max-height:85dvh;padding:0;border:1px solid #cbd5e1;border-radius:8px;background:#fff;color:#172339}.performance-dialog::backdrop{background:#080c1499}.performance-dialog>header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px 20px;border-bottom:1px solid #dce3ec}.performance-dialog h2{font-size:20px;margin:0;overflow-wrap:anywhere}.performance-content{padding:16px 20px}.performance-dialog th,.performance-dialog td{padding:10px 7px;font-size:13px}.performance-dialog td:nth-child(n+3){text-align:right;font-variant-numeric:tabular-nums}.performance-dialog th:nth-child(n+3){text-align:right}.performance-actual{font-weight:650}.performance-projected{color:#1455d9}.performance-current{background:#edf4ff}.performance-note{font-size:12px;color:#63748c;margin:16px 0 0}.performance-dialog th:first-child{white-space:nowrap}@media(max-width:400px){.performance-content{padding:12px}.performance-dialog th,.performance-dialog td{font-size:12px;padding:9px 5px}}
.performance-dialog table{table-layout:fixed;width:100%}.performance-dialog thead th{white-space:normal;overflow-wrap:anywhere}.performance-dialog th:first-child{width:23%}
.account-page { --primary: #1455d9; background: var(--brand-night); background-attachment: fixed; }
.account-story { background: linear-gradient(145deg, #0a101ddd, #142c55bb); border-color: #334b6c; }
.account-story .account-eyebrow, .account-benefits svg { color: var(--brand-ice); }
.account-form-section { background: linear-gradient(135deg, #fff, #eef2f9); }
.account-eyebrow, .account-offer strong, .account-switch a { color: var(--primary); }
.account-field input:focus { outline-color: #a8cdff; border-color: #367df2; }
.account-reveal:hover { background: #edf3ff; color: var(--primary); }
@media (max-width: 380px) {
  .landing-nav { padding-inline: 14px; gap: 12px; }
  .landing-brand img { width: 110px; }
  .landing-nav nav { gap: 12px; }
  .landing-nav nav>a { white-space: nowrap; }
}

/* League context: persistent labels and a generous, consistent selection target. */
.topbar .selection-field{position:relative;display:block;flex:1;min-width:0;max-width:300px}
.topbar .selection-field>label{position:absolute;z-index:1;top:8px;left:14px;clip:auto;width:auto;height:auto;overflow:visible;margin:0;color:#60738a;font-size:10px;font-weight:700;line-height:14px;letter-spacing:.06em;text-transform:uppercase;pointer-events:none}
.topbar .selection-field select{appearance:none;-webkit-appearance:none;display:block;width:100%;max-width:none;min-height:58px;margin:0;padding:24px 38px 8px 14px;border:1px solid #d3deeb;border-radius:11px;background-color:#fff;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%235b718c' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 13px center;color:#18324d;font-size:14px;font-weight:650;line-height:24px;text-overflow:ellipsis;white-space:nowrap;cursor:pointer;box-shadow:0 1px 3px #132c4910}
.topbar .selection-field select:hover:not(:disabled){border-color:#90aecf;background-color:#f8fbff}
.topbar .selection-field select:focus-visible{outline:3px solid #3978c52b;outline-offset:2px;border-color:#3978c5}
.topbar .selection-field select:disabled{background-color:#f3f6fa;color:#7b8a9d;cursor:not-allowed;box-shadow:none}
.topbar #save-selection{border-radius:10px}
@media(max-width:620px){
 .topbar .selection-field{max-width:none}
 .topbar .league-selectors{gap:9px}
 .topbar .selection-field select{font-size:16px}
}
/* Enhance the real browser picker where supported; retain the OS picker elsewhere. */
@supports (appearance:base-select){
 .topbar .selection-field select,.topbar .selection-field select::picker(select){appearance:base-select}
 .topbar .selection-field select{overflow:hidden}
 .topbar .selection-field select>button{display:block;width:100%;min-width:0;margin:0;padding:0;border:0;background:transparent;color:inherit;font:inherit;text-align:left}
 .topbar .selection-field selectedcontent{display:block;min-width:0;width:100%;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}
 .topbar .selection-field select::picker-icon{display:none}
 .topbar .selection-field select:open{border-color:#3978c5;background-color:#f8fbff}
 .topbar .selection-field select::picker(select){margin-top:6px;padding:6px;border:1px solid #d3deeb;border-radius:12px;background:#fff;color:#18324d;box-shadow:0 12px 32px #132c4926;max-height:min(320px,60dvh);max-width:calc(100vw - 32px);overflow:auto}
 .topbar .selection-field option{min-height:44px;padding:10px 12px;border-radius:7px;font-size:14px;font-weight:500;line-height:1.5;white-space:normal;overflow-wrap:anywhere;gap:10px}
 .topbar .selection-field option:hover,.topbar .selection-field option:focus{background:#edf4ff;outline:none}
 .topbar .selection-field option:checked{background:#e9f2ff;color:#215aa2;font-weight:700}
 .topbar .selection-field option::checkmark{color:#215aa2;order:1;margin-left:auto}
 .topbar .selection-field option[value=""]{color:#728297;font-weight:400}
}
