/* Club colours: ice, navy, red line. Layout and touch controls live in app.css. */
:root {
  --page: #eef2f5;
  --surface-subtle: #f2f6f8;
  --ink: #142a40;
  --ink-soft: #374c60;
  --muted: #617387;
  --line: #d5dfe7;
  --line-strong: #b8c8d5;
  --navy: #132d48;
  --navy-deep: #0c1c2d;
  --primary: #b52e40;
  --primary-dark: #8f2130;
  --primary-soft: #f8e9eb;
  --blue: #285f8d;
  --blue-soft: #e5eff6;
  --radius-sm: 6px;
  --radius: 10px;
  --radius-lg: 14px;
  --shadow: 0 12px 28px rgb(13 36 56 / 8%);
}
body { background: var(--page); }
h1, h2, .brand, .clock-round strong, .summary-card strong, .team-stats strong {
  font-family: 'Bahnschrift', 'Arial Narrow', 'Franklin Gothic Medium', ui-sans-serif, system-ui, sans-serif;
}
h1 { font-weight: 800; letter-spacing: -.04em; }
.site-header { border-bottom: 3px solid #bb3545; background: #0c1c2d; box-shadow: 0 3px 0 #fff, 0 5px 0 #c5d5e1; }
.site-header-inner { min-height: 74px; }
.brand { font-size: 1.1rem; letter-spacing: -.025em; }
.brand-mark { width: 32px; height: 37px; border-radius: 0; background: none; }
.brand-mark img { display: block; width: 100%; height: 100%; }
.nav-link.is-active, .my-team-link.is-active { background: #203b54; box-shadow: inset 0 -2px #da6571; }
.commissioner-label { border-color: #6c5d3a; color: #e6c884; }
.page-header, .team-hero, .week-hero { padding-bottom: 20px; border-bottom: 2px solid #c5d3df; }
.page-header h1, .team-hero h1, .week-hero h1 { text-transform: uppercase; }
.eyebrow { letter-spacing: .14em; }
.section-heading h2::after { display: block; width: 28px; height: 3px; margin-top: 8px; background: #b52e40; content: ''; }
.section-heading h2.active-heading::after, .section-heading h2.bench-heading::after { display: none; }
.summary-card, .team-stats article { border-top: 3px solid #24486a; }
.summary-card:first-child, .team-stats article:first-child { border-top-color: #b52e40; }
.summary-label, .team-stats article > span { letter-spacing: .075em; }
th { background: #eaf0f5; color: #3d5870; border-bottom: 2px solid #b9cbd9; }
.sort-link:hover, .sort-link.is-active { color: #922738; background: #faedef; }
.top-rank .rank-number { background: #f5e8c9; }
.standings-table .top-rank td:first-child { border-left-color: #c49b48; }
.table-shell { box-shadow: 0 2px 0 rgb(15 40 60 / 4%); }
.filter-panel { border-top: 2px solid #c8d7e2; }
.button, button:not(.nav-toggle):not(.text-button) { letter-spacing: .015em; }
button.secondary-button { color: var(--ink-soft); border-color: var(--line-strong); background: var(--surface); }
button.secondary-button:hover { color: var(--ink); border-color: #8b9fb0; background: #edf3f7; }
.status-new { color: #7d2936; background: #f8e9eb; }
.position-d { color: #845819; background: #f5ead5; }
.position-g { color: #4f4d78; background: #ebeaf5; }
.draft-clock { position: relative; isolation: isolate; overflow: hidden; border: 1px solid #24465d; border-left: 5px solid #c13949; background: #102b42; box-shadow: 0 5px 0 #d1dce4; }
.draft-clock::after { position: absolute; z-index: -1; right: -24px; top: -62px; width: 220px; height: 220px; border: 2px solid #365164; border-radius: 50%; content: ''; }
.clock-round { border-right-color: #486174; }
.clock-round span { color: #b5c9d8; }
.clock-round strong { font-size: 2.1rem; font-variant-numeric: tabular-nums; }
.clock-team .eyebrow { color: #e8be71; }
.clock-team p { color: #c2d2de; }
.draft-clock > .status-badge { color: #f5e3b9; background: #3d3e31; border: 1px solid #776440; }
.draft-idle { border-color: #c3d0db; border-left-color: #8a9fb0; background: #f7f9fb; box-shadow: none; }
.draft-idle::after { border-color: #e1e8ee; }
.draft-idle .clock-team .eyebrow { color: #617387; }
.commissioner-panel { border-color: #e5d9bf; background: #fcf8ef; }
.side-panel { border-top: 3px solid #254967; }
.side-panel .eyebrow { color: #7a3a44; }
.pick-list li:first-child > span { color: #9c293a; }
.player-card { border-color: #c5d4df; border-left-color: #b52e40; }
.player-card-inspect:hover, .bench .player-card-inspect:hover { background: #f1f5f8; }
.roster-avatar .player-avatar { border-color: #d5e0e8; }
.player-avatar { color: #36546c; background: #dce7ef; }
.player-card-title strong { font-weight: 800; }
.next-opponent { border-left: 2px solid #bbcddc; border-radius: 2px; }
.player-modal-chrome { border-top: 3px solid #b52e40; }
.avatar-xl { border-color: #d5e0e8; }
.login-page { background: #edf2f6; }
.login-panel { border-top: 4px solid #b52e40; }
.login-mark { color: white; background: #17334d; border-radius: 4px; }
.trade-exchange { color: #9a2838; background: #faebee; border-color: #dbb2b9; }
.week-hero article, .usage-card { background: #f7f9fb; }

/* The league entrance gets a hand-drawn rink, not another dashboard panel. */
.welcome-hero { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(0, .9fr); align-items: center; gap: 28px; max-width: none; padding: 42px; margin: 8px 0 32px; overflow: hidden; border-radius: 4px 24px 4px 4px; border-bottom: 6px solid #b52e40; color: #fff; background: #122d46; }
.welcome-hero .eyebrow { color: #e6be7a; }
.welcome-hero h1 { max-width: 15ch; font-size: clamp(2.6rem, 4.5vw, 4.1rem); text-transform: uppercase; line-height: 1; margin: 12px 0 18px; }
.welcome-hero .lede { color: #cbd9e4; max-width: 40ch; }
.hero-rink { width: 100%; max-height: 290px; transform: rotate(-7deg); }
.league-card { border-left: 4px solid #b52e40; border-radius: 6px; }
.league-card:hover { border-color: #b3c4d1; border-left-color: #b52e40; }
.league-card-icon { border-radius: 5px; color: #fff; background: #193c59; font-family: 'Bahnschrift', system-ui, sans-serif; }
.league-card-body strong { font-size: 1rem; }
:focus-visible { outline-color: #326b98; }
@media (max-width: 820px) {
  .site-header-inner { min-height: 59px; }
  .brand { font-size: 1rem; }
  .brand-mark { width: 27px; height: 31px; }
  .draft-clock { position: sticky; top: 0; }
  .clock-round strong { font-size: 1.75rem; }
  .draft-idle .clock-round strong { font-size: .8rem; }
  .scouting-table tr { border-radius: 8px; border-color: #c9d6e1; box-shadow: 0 2px 0 #dfe6ec; }
  .scouting-table td[data-cell=total], .scouting-table td[data-cell=ppg] { background: #edf3f7; border-radius: 4px; }
  .scouting-table td[data-cell=total] { box-shadow: inset 2px 0 #b52e40; }
  .draft-mobile-tabs { border-radius: 7px; background: #dce5ec; }
  .draft-mobile-tabs button[aria-pressed=true] { color: #922738 !important; box-shadow: inset 0 -2px #b52e40, var(--shadow-sm); }
  .mobile-sort .sort-link { border-radius: 5px; }
  .mobile-sort .sort-link.is-active { background: #faedef; }
  .welcome-hero { grid-template-columns: 1fr; padding: 26px 24px; gap: 12px; margin-top: 0; }
  .welcome-hero h1 { font-size: clamp(2.3rem, 9vw, 3.8rem); }
  .hero-rink { max-height: 135px; justify-self: end; max-width: 290px; transform: rotate(-4deg); }
}
