/*
File: public/styles.css
Purpose: W106 governed Drivers source coverage, historical RaceResults matching, Throttle Hub follow layout, and global splash styling.
Owner/Card: TL-WEB-W106-DRIVERS-SOURCE-COVERAGE-HISTORICAL-RACERESULTS-MATCHING-THROTTLE-HUB-FOLLOW-LAYOUT-REPAIR-WAVE-NO-DEPLOY
*/
:root { color-scheme: dark; --bg: #11191b; --surface: #1a2528; --panel: #243137; --panel-2: #303f45; --line: #64737a; --text: #fffaf2; --muted: #d4dddd; --red: #f04b43; --teal: #39d2c6; --green: #8ad277; --amber: #f4bd59; --blue: #97b9ff; --app-page-background: radial-gradient(circle at 18% 0%, rgba(57,210,198,.16), rgba(57,210,198,0) 32%), linear-gradient(135deg, #123036 0%, #10262d 42%, #172c38 72%, #11191b 100%); --app-page-atmosphere: linear-gradient(120deg, rgba(255,255,255,.08), rgba(57,210,198,.06) 45%, rgba(151,185,255,.07)); --app-page-background-attachment: scroll; --non-home-feature-width: 1480px; --non-home-support-min: 600px; --non-home-feature-height: clamp(330px, 32vw, 470px); }
* { box-sizing: border-box; }
html { min-width: 320px; background: var(--app-page-background); background-attachment: var(--app-page-background-attachment); background-repeat: no-repeat; background-size: cover; }
body { margin: 0; min-height: 100vh; color: var(--text); background: var(--app-page-background); background-attachment: var(--app-page-background-attachment); background-repeat: no-repeat; background-size: cover; font: 14px/1.45 Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; letter-spacing: 0; }
body::before { content: ""; position: fixed; inset: 0; z-index: -1; background: var(--app-page-atmosphere); pointer-events: none; }
button, input, textarea, select { font: inherit; letter-spacing: 0; }
button, select, input, textarea { min-width: 0; }
a { color: var(--teal); overflow-wrap: anywhere; }
.app-root { min-height: 100vh; background: var(--app-page-background); background-attachment: var(--app-page-background-attachment); background-repeat: no-repeat; background-size: cover; }
.static-fallback-shell { position: relative; display: grid; align-content: center; justify-items: center; gap: 18px; min-height: 100vh; padding: 28px; text-align: center; overflow: hidden; background: var(--app-page-background); background-attachment: var(--app-page-background-attachment); background-repeat: no-repeat; background-size: cover; }
.static-fallback-shell::before { content: ""; position: absolute; inset: 0; background: rgba(255,255,255,.08); pointer-events: none; }
.static-fallback-shell > * { position: relative; z-index: 1; }
.static-fallback-splash { width: min(460px, 86vw); max-height: 34vh; object-fit: contain; border-radius: 8px; box-shadow: 0 18px 48px rgba(0,0,0,.42); }
.static-fallback-shell--js .static-fallback-splash { max-height: 28vh; opacity: .92; }
.static-fallback-logo { width: min(112px, 34vw); height: min(112px, 34vw); object-fit: contain; }
.static-fallback-copy { display: grid; gap: 8px; max-width: 680px; }
.static-fallback-copy h1 { margin: 0; }
.static-fallback-copy p { margin-bottom: 0; }
.static-fallback-kicker { color: var(--amber); font-size: 12px; font-weight: 900; text-transform: uppercase; }
.static-fallback-noscript { margin-top: 10px; padding: 14px; border: 1px solid rgba(239,180,79,.5); border-radius: 8px; background: rgba(239,180,79,.08); }
h1, h2, h3, h4, p { margin-top: 0; }
h1 { margin-bottom: 0; font-size: 32px; line-height: 1.05; }
h2 { margin-bottom: 8px; font-size: 24px; }
h3 { margin-bottom: 10px; font-size: 16px; }
h4 { margin: 14px 0 8px; }
p { color: var(--muted); }
label { display: grid; gap: 6px; color: var(--muted); font-size: 12px; font-weight: 800; text-transform: uppercase; }
input, select, textarea { border: 1px solid var(--line); border-radius: 7px; background: var(--surface); color: var(--text); }
input, select { min-height: 42px; padding: 9px 11px; }
textarea { width: 100%; min-height: 112px; padding: 11px; resize: vertical; }
.appbar { position: sticky; top: 0; z-index: 30; display: grid; grid-template-columns: minmax(0, 1fr); gap: 8px; min-height: 128px; padding: 10px clamp(14px, 4vw, 42px) 10px; border-bottom: 1px solid rgba(255,255,255,.2); background: linear-gradient(135deg, rgba(18,48,54,.99) 0%, rgba(16,38,45,.98) 48%, rgba(23,44,56,.99) 100%), #10232a; }
.route-home .back-btn { display: none; }
.appbar-row { display: flex; align-items: center; justify-content: space-between; gap: 12px; min-width: 0; }
.appbar-row--brand { display: grid; grid-template-columns: minmax(84px, 1fr) auto minmax(84px, 1fr); width: 100%; }
.appbar-brand-cluster { grid-column: 2; justify-self: center; display: inline-flex; align-items: center; justify-content: center; gap: clamp(8px, 1.4vw, 14px); min-width: 0; }
.brand { justify-self: center; display: inline-flex; align-items: center; gap: 14px; color: var(--text); text-decoration: none; text-shadow: 0 2px 12px rgba(0,0,0,.62); }
.brand img { width: 82px; height: 82px; object-fit: contain; filter: drop-shadow(0 5px 12px rgba(0,0,0,.64)); }
.brand strong { font-size: 38px; line-height: 1; white-space: nowrap; }
.menu-btn, .back-btn, .bell-btn, .avatar-btn, .icon-btn { min-height: 38px; border: 1px solid rgba(255,255,255,.28); border-radius: 7px; background: var(--panel-2); color: var(--text); cursor: pointer; }
.menu-btn, .back-btn { padding: 7px 10px; }
.top-actions { grid-column: 3; justify-self: end; display: flex; align-items: center; gap: 8px; }
.preview-pill, .identity-chip { display: inline-flex; align-items: center; min-height: 28px; padding: 4px 8px; border: 1px solid rgba(255,255,255,.2); border-radius: 999px; background: rgba(48,63,69,.82); color: var(--muted); font-size: 12px; }
.bell-btn { position: relative; padding: 0 10px; font-size: 0; }
.bell-btn::before { content: "\1F514"; font-size: 20px; }
.bell-btn span { position: absolute; top: -7px; right: -7px; display: grid; place-items: center; min-width: 20px; height: 20px; padding: 0 5px; border-radius: 999px; background: var(--red); color: white; font-size: 11px; font-weight: 900; }
.avatar-btn { width: 44px; height: 44px; overflow: hidden; border-radius: 50%; border-color: var(--teal); font-weight: 900; }
.avatar-btn img, .avatar img { display: block; width: 100%; height: 100%; object-fit: cover; }
.popover { position: fixed; top: 136px; right: 14px; z-index: 45; display: none; width: min(390px, calc(100vw - 28px)); max-height: calc(100vh - 152px); overflow: auto; padding: 14px; border: 1px solid var(--line); border-radius: 8px; background: rgba(26,37,40,.98); box-shadow: 0 18px 48px rgba(0,0,0,.36); }
.popover.open { display: grid; gap: 10px; }
.profile-popover { width: min(240px, calc(100vw - 28px)); }
.profile-popover button { display: flex; align-items: center; gap: 8px; min-height: 38px; border: 1px solid var(--line); border-radius: 7px; background: var(--panel-2); color: var(--text); text-align: left; cursor: pointer; }
.profile-menu-actions { display: grid; gap: 10px; }
.profile-menu-session { display: grid; gap: 10px; margin-top: 8px; padding-top: 14px; border-top: 1px solid rgba(255,255,255,.18); }
.profile-menu-session button { width: 100%; }
.app-shell { display: grid; grid-template-columns: minmax(0, 1fr); background: var(--app-page-background); background-attachment: var(--app-page-background-attachment); background-repeat: no-repeat; background-size: cover; }
.menu-btn { display: none; }
.primary-nav { z-index: 26; display: flex; justify-content: flex-start; gap: clamp(4px, 1vw, 12px); min-width: 0; min-height: 0; width: 100%; padding: 2px 0 0; border-top: 1px solid rgba(255,255,255,.12); border-bottom: 0; background: transparent; overflow-x: auto; scrollbar-width: thin; }
.primary-nav a { display: inline-flex; align-items: center; justify-content: center; gap: 7px; min-width: max-content; min-height: 38px; padding: 7px 8px; border: 1px solid transparent; border-radius: 4px; background: transparent; color: var(--muted); text-decoration: none; text-shadow: 0 1px 8px rgba(0,0,0,.72); white-space: nowrap; }
.primary-nav a:hover, .primary-nav a:focus-visible, .primary-nav a.active { border-color: rgba(255,255,255,.16); background: rgba(255,255,255,.07); color: var(--text); outline: none; }
.primary-nav a.active { box-shadow: inset 0 -2px 0 var(--red); }
.nav-icon { position: relative; display: inline-grid; place-items: center; flex: 0 0 auto; width: 20px; height: 20px; border: 2px solid currentColor; border-radius: 5px; opacity: .94; }
.nav-icon::before, .nav-icon::after { content: ""; position: absolute; display: block; }
.nav-icon--home::before { width: 10px; height: 10px; border-left: 2px solid currentColor; border-top: 2px solid currentColor; transform: rotate(45deg); top: 1px; }
.nav-icon--throttle-hub { border-radius: 50%; }
.nav-icon--throttle-hub::before { width: 6px; height: 6px; border-radius: 50%; background: currentColor; }
.nav-icon--pools::before { inset: 3px; border-top: 2px solid currentColor; border-bottom: 2px solid currentColor; }
.nav-icon--leagues::before { left: 4px; top: 3px; width: 3px; height: 12px; background: currentColor; }
.nav-icon--leagues::after { left: 8px; top: 4px; width: 7px; height: 6px; border: 2px solid currentColor; border-left: 0; }
.nav-icon--news::before { left: 4px; right: 4px; top: 5px; height: 2px; background: currentColor; box-shadow: 0 4px 0 currentColor, 0 8px 0 currentColor; }
.content { min-width: 0; padding: 14px clamp(14px, 4vw, 38px) 28px; }
.global-disclaimer { padding: 14px clamp(14px, 4vw, 38px) 88px; border-top: 1px solid rgba(255,255,255,.12); background: rgba(10,16,18,.76); }
.global-disclaimer p { max-width: 1180px; margin: 0 auto; color: rgba(212,221,221,.82); font-size: 11px; line-height: 1.45; text-align: center; }
.page-head { display: flex; align-items: flex-end; justify-content: space-between; gap: 12px; margin-bottom: 16px; }
.page-head p { margin-bottom: 5px; color: var(--amber); font-size: 12px; font-weight: 900; text-transform: uppercase; }
.hero-band { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(280px, .9fr); gap: 16px; min-height: 250px; margin-bottom: 16px; padding: 18px; border: 1px solid rgba(237,63,58,.36); border-radius: 8px; background: linear-gradient(145deg, rgba(237,63,58,.18), rgba(53,199,187,.08)), var(--panel); }
.hero-band--home { position: relative; overflow: hidden; min-height: 260px; background: linear-gradient(90deg, rgba(19,25,27,.5), rgba(25,33,35,.16)), var(--panel); }
.hero-band--home::before { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg, rgba(0,0,0,.18), rgba(0,0,0,.04) 54%, rgba(0,0,0,0) 78%); pointer-events: none; }
.hero-band--home > * { position: relative; z-index: 1; }
.hero-logo { width: 86px; height: 86px; object-fit: contain; margin-bottom: 14px; }
.dashboard-grid, .profile-grid, .settings-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; margin-bottom: 16px; }
.dashboard-summary { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; margin-top: 14px; }
.dashboard-summary article { display: grid; gap: 5px; min-width: 0; padding: 10px; border: 1px solid rgba(255,255,255,.14); border-radius: 8px; background: rgba(48,63,69,.62); }
.dashboard-summary span { color: var(--amber); font-size: 11px; font-weight: 900; text-transform: uppercase; }
.dashboard-summary strong, .dashboard-summary small { overflow-wrap: anywhere; }
.home-dashboard-hero { display: grid; grid-template-columns: minmax(0, .82fr) minmax(320px, 1.18fr); gap: 16px; align-items: center; margin-bottom: 14px; padding: 16px; border: 1px solid rgba(255,255,255,.18); border-radius: 8px; background: rgba(31,44,49,.86); box-shadow: 0 12px 26px rgba(0,0,0,.16); }
.home-dashboard-hero .hero-logo { width: 64px; height: 64px; margin-bottom: 8px; }
.home-dashboard-hero h2 { margin-bottom: 6px; }
.home-dashboard-hero .dashboard-summary { margin-top: 0; }
.home-card-row .card { background: rgba(36,49,55,.86); }
.home-reference-layout, .home-editorial-shell { display: grid; gap: 16px; margin-bottom: 18px; }
.home-race-feature { position: relative; display: grid; grid-template-columns: minmax(0, 1fr) clamp(280px, 24vw, 340px); gap: clamp(24px, 3vw, 42px); align-items: center; min-height: clamp(440px, 43vw, 560px); overflow: hidden; padding: clamp(30px, 4.8vw, 58px); border: 1px solid rgba(255,255,255,.2); border-radius: 8px; background: var(--panel); box-shadow: 0 20px 48px rgba(0,0,0,.32); }
.home-race-feature::before { content: ""; position: absolute; inset: 0; z-index: 1; background: linear-gradient(90deg, rgba(6,10,12,.56) 0%, rgba(7,11,13,.34) 30%, rgba(7,11,13,.08) 52%, rgba(6,10,12,.04) 72%, rgba(6,10,12,.08) 100%), linear-gradient(0deg, rgba(5,8,9,.14) 0%, rgba(5,8,9,0) 48%, rgba(5,8,9,.04) 100%); pointer-events: none; }
.home-race-feature--fia { border-color: rgba(86,198,209,.38); }
.home-race-feature--nascar { border-color: rgba(244,189,89,.4); }
.home-race-feature--motogp { border-color: rgba(230,92,81,.36); }
.home-race-feature--indycar { border-color: rgba(89,142,244,.35); }
.home-race-feature--fallback { border-color: rgba(255,255,255,.2); }
.home-race-copy { position: relative; z-index: 2; grid-column: 1; grid-row: 1; align-self: center; justify-self: start; display: grid; align-content: center; justify-items: start; gap: 14px; width: min(760px, 100%); max-width: 760px; min-width: 0; padding: 0; text-align: left; }
.home-race-feature .home-race-copy::before { content: none; }
.page-feature-hero .page-feature-copy::before { content: none; }
.home-hero-intro { display: grid; gap: 5px; max-width: 600px; margin-bottom: 4px; }
.home-hero-intro span { color: var(--amber); font-size: 14px; font-weight: 900; letter-spacing: 0; text-transform: uppercase; }
.home-hero-intro strong { color: var(--text); font-size: 28px; line-height: 1.05; }
.home-hero-intro p { margin: 0; color: var(--muted); font-size: 22px; font-weight: 850; }
.home-race-feature h2 { max-width: 760px; margin-bottom: 0; font-size: clamp(44px, 5.2vw, 74px); line-height: 1; text-wrap: balance; }
.home-race-meta { max-width: 780px; color: var(--text); font-size: 15px; font-weight: 800; }
.home-race-visual { position: absolute; inset: 0; z-index: 0; min-width: 0; min-height: 100%; margin: 0; background: rgba(12,18,20,.65); }
.home-race-visual img { display: block; width: 100%; height: 100%; min-height: 100%; object-fit: cover; object-position: center; filter: saturate(1.08) contrast(1.06); }
.page-feature-hero .page-feature-bg { position: absolute; inset: 0; z-index: 0; display: block; visibility: visible; opacity: 1; min-width: 0; min-height: 100%; margin: 0; }
.page-feature-hero .page-feature-bg img { display: block; visibility: visible; opacity: 1; width: 100%; height: 100%; min-height: 100%; object-fit: cover; }
.home-race-visual figcaption { position: absolute; left: 12px; right: auto; bottom: 10px; z-index: 3; max-width: min(520px, calc(100% - 24px)); padding: 5px 7px; border-radius: 6px; background: rgba(10,15,16,.72); color: var(--muted); font-size: 10px; }
.home-banner-pref-hint { position: relative; display: inline-flex; align-items: center; justify-content: center; min-width: 28px; min-height: 28px; }
.home-banner-pref-hint summary { list-style: none; }
.home-banner-pref-hint summary::-webkit-details-marker { display: none; }
.home-banner-pref-info { display: inline-flex; align-items: center; justify-content: center; width: 26px; height: 26px; border: 1px solid rgba(244,189,89,.48); border-radius: 50%; background: rgba(10,15,16,.62); color: var(--amber); font-size: 13px; font-weight: 950; cursor: pointer; box-shadow: 0 8px 18px rgba(0,0,0,.2); }
.home-banner-pref-info:focus { outline: 2px solid rgba(244,189,89,.72); outline-offset: 2px; }
.home-banner-pref-tooltip { position: absolute; left: 0; bottom: calc(100% + 8px); z-index: 6; display: none; width: min(330px, calc(100vw - 36px)); padding: 11px 12px; border: 1px solid rgba(244,189,89,.42); border-radius: 8px; background: rgba(9,14,16,.96); color: var(--text); font-size: 12px; font-weight: 760; line-height: 1.45; text-shadow: none; box-shadow: 0 18px 34px rgba(0,0,0,.38); }
.home-banner-pref-tooltip button { display: block; width: max-content; max-width: 100%; margin-top: 8px; padding: 6px 8px; border: 1px solid rgba(244,189,89,.48); border-radius: 6px; background: rgba(244,189,89,.12); color: var(--amber); font-size: 12px; font-weight: 900; cursor: pointer; }
.home-banner-pref-hint:hover .home-banner-pref-tooltip, .home-banner-pref-hint:focus-within .home-banner-pref-tooltip, .home-banner-pref-hint[open] .home-banner-pref-tooltip { display: block; }
.home-race-feature--empty { background: var(--panel); }
.home-countdown { display: grid; grid-template-columns: auto; align-items: center; gap: 4px; width: 100%; margin: 0 0 10px; padding: 12px 0 14px; border: 0; border-bottom: 1px solid rgba(244,189,89,.34); border-radius: 0; background: transparent; }
.home-countdown span, .home-next-race-panel span, .home-status-rail span { color: var(--amber); font-size: 11px; font-weight: 900; text-transform: uppercase; }
.home-countdown strong { font-size: 34px; line-height: 1; }
.home-countdown small, .home-next-race-panel small, .home-status-rail small { color: var(--muted); }
.home-hero-support-panel { position: relative; z-index: 2; grid-column: 2; grid-row: 1; align-self: center; justify-self: end; display: grid; align-content: center; gap: 10px; width: 100%; max-width: 340px; min-width: 0; }
.home-next-race-panel { position: relative; z-index: 2; display: grid; align-content: start; gap: 9px; min-width: 0; padding: 16px; border: 1px solid rgba(255,255,255,.22); border-radius: 8px; background: rgba(10,16,18,.78); box-shadow: inset 0 1px 0 rgba(255,255,255,.08); }
.home-next-race-panel strong { font-size: 22px; line-height: 1.05; overflow-wrap: anywhere; }
.home-next-race-panel b { color: var(--green); }
.home-hero-actions { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 4px; }
.home-status-rail { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 0; overflow: hidden; border: 1px solid rgba(255,255,255,.14); border-radius: 8px; background: rgba(14,22,25,.78); }
.home-status-rail article { display: grid; grid-template-columns: 32px minmax(0, 1fr); gap: 3px 10px; min-width: 0; padding: 11px 13px; border: 0; border-right: 1px solid rgba(255,255,255,.12); background: transparent; }
.home-status-rail article:last-child { border-right: 0; }
.home-status-rail span, .home-status-rail strong, .home-status-rail small { grid-column: 2; }
.home-status-rail strong, .home-status-rail small { overflow-wrap: anywhere; }
.home-hero-support-panel .home-countdown { margin: 0; padding-top: 0; }
.home-hero-support-panel .home-status-rail { grid-template-columns: 1fr; }
.home-hero-support-panel .home-status-rail article { border-right: 0; border-bottom: 1px solid rgba(255,255,255,.12); padding: 9px 11px; }
.home-hero-support-panel .home-status-rail article:last-child { border-bottom: 0; }
.rail-icon { grid-row: 1 / span 3; display: grid; place-items: center; width: 28px; height: 28px; margin-top: 2px; border: 1px solid rgba(255,255,255,.2); border-radius: 50%; color: var(--teal); }
.rail-icon::before { content: ""; display: block; width: 12px; height: 12px; border: 2px solid currentColor; border-radius: 3px; }
.rail-icon--flag::before { border-radius: 2px; border-left-width: 4px; }
.rail-icon--result::before { border-radius: 50%; box-shadow: inset 0 0 0 3px rgba(57,210,198,.18); }
.rail-icon--pool::before { width: 14px; height: 8px; border-radius: 999px; }
.dashboard-summary--editorial { margin-top: 0; }
.home-editorial-grid { display: grid; grid-template-columns: minmax(0, 1.22fr) minmax(320px, .78fr); gap: 16px; margin-bottom: 18px; align-items: start; }
.home-editorial-grid--single-news { grid-template-columns: minmax(0, 1.22fr) minmax(320px, .78fr); }
.home-editorial-grid--single-news .home-news-lead { max-width: none; width: 100%; }
.home-news-lead, .home-news-stack { min-width: 0; }
.home-news-lead { display: grid; gap: 10px; }
.home-side-card-stack { display: grid; gap: 12px; min-width: 0; }
.home-news-stack .rows { height: 100%; }
.home-compact-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; margin-bottom: 16px; align-items: start; }
.home-compact-card { background: rgba(26,37,40,.86); }
.home-themed-card { position: relative; overflow: hidden; border-color: rgba(255,255,255,.18); background: linear-gradient(135deg, rgba(57,210,198,.12), rgba(240,75,67,.1)), rgba(20,31,34,.92); }
.home-themed-card::before { content: ""; position: absolute; inset: 0; border-top: 3px solid rgba(244,189,89,.62); pointer-events: none; }
.home-themed-card > * { position: relative; z-index: 1; }
.pool-card--editorial { background: rgba(48,63,69,.78); }
.week-state-summary { margin: 0 0 14px; }
.news-mini--image { grid-template-rows: auto auto auto 1fr auto; overflow: hidden; padding: 0; background: rgba(32,44,48,.9); }
.news-mini--image > span, .news-mini--image > strong, .news-mini--image > small, .news-mini--image > em { display: block; padding: 0 18px; }
.news-mini--image > span { padding-top: 16px; color: var(--amber); font-size: 11px; font-weight: 900; text-transform: uppercase; }
.news-mini--image > strong { font-size: 16px; line-height: 1.18; }
.news-mini--image > small { padding-bottom: 10px; }
.news-mini--image > em { padding-bottom: 18px; color: var(--muted); font-size: 11px; font-style: normal; }
.news-mini--lead > strong { font-size: 26px; line-height: 1.12; }
.news-thumb { display: block; width: 100%; aspect-ratio: 16 / 9; object-fit: cover; background: var(--surface); border-bottom: 1px solid rgba(255,255,255,.12); }
.home-news-lead .news-mini--lead { width: 100%; max-width: none; min-height: clamp(390px, 36vw, 470px); padding-bottom: 4px; border-color: rgba(255,255,255,.2); background: linear-gradient(145deg, rgba(48,63,69,.98), rgba(20,31,34,.94)); }
.home-news-lead .news-mini--lead .news-thumb { width: 100%; height: clamp(190px, 17vw, 245px); max-height: 245px; aspect-ratio: 16 / 7; border-right: 0; border-bottom-right-radius: 0; }
.news-image-hold { display: grid; align-content: center; justify-items: start; gap: 5px; min-width: 0; padding: 14px; border-bottom: 1px solid rgba(255,255,255,.12); background: linear-gradient(135deg, rgba(48,63,69,.88), rgba(12,18,20,.82)); color: var(--text); }
.news-image-hold span { color: var(--amber); font-size: 11px; font-weight: 900; text-transform: uppercase; }
.news-image-hold strong { color: var(--muted); font-size: 14px; line-height: 1.15; overflow-wrap: anywhere; }
.news-thumb.news-image-hold { width: 100%; aspect-ratio: 16 / 9; }
.home-news-lead .news-mini--lead .news-image-hold { width: 100%; height: clamp(190px, 17vw, 245px); max-height: 245px; aspect-ratio: 16 / 7; border-right: 0; border-bottom-right-radius: 0; }
.news-row--with-image .news-image-hold { width: 138px; height: 86px; aspect-ratio: 16 / 10; border-radius: 6px; border-bottom: 0; }
.article-media .news-image-hold { width: 100%; min-height: clamp(220px, 28vw, 360px); border-bottom: 1px solid rgba(255,255,255,.12); }
.news-mini--compact small { display: block; color: var(--muted); }
.home-pools-teaser { display: grid; gap: 12px; }
.home-teaser-kicker { color: var(--amber); font-size: 11px; font-weight: 900; letter-spacing: 0; text-transform: uppercase; }
.home-pools-teaser h4 { margin: 0; max-width: 430px; color: var(--text); font-size: 20px; line-height: 1.1; }
.home-teaser-pitch { margin: 0; color: var(--text); font-size: 14px; font-weight: 700; }
.home-teaser-detail { display: grid; grid-template-columns: auto minmax(0, 1fr); gap: 7px 10px; padding: 12px; border: 1px solid rgba(255,255,255,.14); border-radius: 8px; background: rgba(8,11,12,.22); }
.home-teaser-detail strong { color: var(--amber); font-size: 11px; text-transform: uppercase; }
.home-teaser-detail span { color: var(--muted); overflow-wrap: anywhere; }
.home-teaser-chips .tag { background: rgba(8,11,12,.22); }
.home-pool-context { min-width: 0; }
.home-pool-member-preview { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
.home-pool-member-preview article, .home-pool-selector-held { min-width: 0; padding: 9px; border: 1px solid rgba(255,255,255,.12); border-radius: 8px; background: rgba(8,11,12,.2); }
.home-pool-member-preview strong, .home-pool-member-preview span, .home-pool-selector-held strong, .home-pool-selector-held span { display: block; overflow-wrap: anywhere; }
.home-pool-member-preview strong, .home-pool-selector-held strong { color: var(--text); font-size: 13px; line-height: 1.15; }
.home-pool-member-preview span, .home-pool-selector-held span { color: var(--muted); font-size: 12px; }
.home-pool-selector { display: grid; gap: 6px; min-width: 0; }
.home-pool-week-select { display: grid; gap: 6px; min-width: 0; color: var(--amber); font-size: 11px; font-weight: 900; text-transform: uppercase; }
.home-pool-week-select select { width: 100%; min-width: 0; }
.home-hub-teaser { display: grid; gap: 9px; width: 100%; padding: 14px; border: 1px solid rgba(255,255,255,.18); border-radius: 8px; background: linear-gradient(135deg, rgba(48,63,69,.72), rgba(12,18,20,.72)); color: var(--text); text-align: left; cursor: pointer; }
.home-hub-teaser:hover, .home-hub-teaser:focus-visible { border-color: var(--teal); outline: none; }
.home-hub-teaser strong { font-size: 20px; line-height: 1.12; overflow-wrap: anywhere; }
.home-hub-teaser small { color: var(--amber); font-size: 12px; font-weight: 800; }
.home-hub-teaser p { margin: 0; }
.home-hub-teaser em { color: var(--green); font-style: normal; font-weight: 900; }
.route-main-themed .content { width: 100%; margin: 0; }
.route-main-themed .page-head { margin-bottom: 18px; padding: clamp(16px, 2.4vw, 28px); border: 1px solid rgba(255,255,255,.18); border-radius: 8px; background: linear-gradient(135deg, rgba(57,210,198,.12), rgba(240,75,67,.09)), rgba(12,18,20,.72); box-shadow: 0 16px 36px rgba(0,0,0,.24); }
.route-main-themed .page-head h1 { font-size: clamp(34px, 4vw, 58px); line-height: 1; }
.route-main-themed .page-head p, .route-main-themed .auth-status { color: var(--amber); letter-spacing: 0; }
.route-main-themed .card, .route-main-themed .pool-shell, .route-main-themed .league-hero, .route-main-themed .article-detail, .route-main-themed .backfill-panel { border-color: rgba(255,255,255,.18); background: rgba(18,28,31,.92); box-shadow: 0 18px 40px rgba(0,0,0,.26); }
.page-feature-hero { position: relative; display: grid; grid-template-columns: minmax(0, 1fr) clamp(280px, 25vw, 360px); gap: clamp(22px, 3vw, 40px); align-items: center; justify-items: start; min-height: clamp(330px, 32vw, 470px); overflow: hidden; margin-bottom: 18px; padding: clamp(26px, 4vw, 52px); border: 1px solid rgba(255,255,255,.2); border-radius: 8px; background: var(--panel); box-shadow: 0 20px 48px rgba(0,0,0,.32); }
.page-feature-hero::before { content: ""; position: absolute; inset: 0; z-index: 1; background: linear-gradient(0deg, rgba(5,8,9,.12) 0%, rgba(5,8,9,0) 48%, rgba(5,8,9,.03) 100%); pointer-events: none; }
.page-feature-hero--news { border-color: rgba(244,189,89,.38); }
.page-feature-hero--leagues { border-color: rgba(57,210,198,.34); }
.page-feature-hero--pools-discovery, .page-feature-hero--pool-room { border-color: rgba(138,210,119,.34); }
.page-feature-hero--throttle-hub { border-color: rgba(240,75,67,.34); }
.page-feature-copy h1 { max-width: 820px; margin: 0; font-size: clamp(42px, 5vw, 72px); line-height: 1; text-wrap: balance; }
.page-feature-copy .subtle { max-width: 760px; color: rgba(255,250,242,.88); }
.page-feature-bg figcaption { opacity: .68; }
.page-feature-support { align-self: center; }
.page-feature-status-rail { grid-template-columns: 1fr; }
.page-feature-status-rail article { border-right: 0; border-bottom: 1px solid rgba(255,255,255,.12); }
.page-feature-status-rail article:last-child { border-bottom: 0; }
.main-feature-row { display: grid; grid-template-columns: minmax(0, 1480px) clamp(300px, 27vw, 400px); gap: clamp(16px, 2.4vw, 28px); align-items: stretch; width: min(1908px, 100%); margin: 0 0 18px; }
.main-feature-row--pools-discovery-refined, .main-feature-row--pool-room, .main-feature-row--leagues, .main-feature-row--news-refined { grid-template-columns: minmax(0, 1480px) minmax(600px, 1fr); width: 100%; }
.main-feature-row--non-home-lock { grid-template-columns: minmax(0, var(--non-home-feature-width)) minmax(var(--non-home-support-min), 1fr); width: 100%; }
.main-feature-row--non-home-lock > .page-feature-hero { min-height: var(--non-home-feature-height); height: var(--non-home-feature-height); }
.main-feature-row .page-feature-hero { min-width: 0; margin-bottom: 0; }
.main-feature-row > .main-page-rail { min-width: 0; align-self: stretch; }
.main-feature-row > .main-page-rail .card { height: 100%; }
.pools-availability-rail { width: 100%; }
.page-control-panel h4, .pools-availability-rail h4 { margin: 12px 0 6px; color: var(--amber); font-size: 12px; text-transform: uppercase; }
.league-control-buttons { align-items: stretch; }
.pools-availability-columns { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; min-height: 0; }
.pools-availability-column { display: grid; grid-template-rows: auto minmax(0, 1fr); gap: 8px; min-width: 0; min-height: 0; padding: 10px; border: 1px solid rgba(255,255,255,.12); border-radius: 8px; background: rgba(8,11,12,.16); }
.pools-availability-column h4 { margin: 0; }
.pool-search-strip, .pool-search-panel { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 10px; align-items: end; margin: 8px 0 10px; }
.pool-search-strip label, .pool-search-panel label { margin: 0; min-width: 0; }
.pool-search-strip input, .pool-search-panel input { min-width: 0; }
.pools-availability-scroll { display: grid; align-content: start; gap: 9px; min-height: clamp(180px, 18vw, 260px); max-height: clamp(320px, 29vw, 470px); overflow-y: auto; overflow-x: hidden; padding-right: 4px; overscroll-behavior: contain; scrollbar-gutter: stable; -webkit-overflow-scrolling: touch; }
.pools-availability-scroll--column { max-height: clamp(300px, 25vw, 430px); }
.pool-card--availability { padding: 11px; }
.pool-card--code-match { border-color: rgba(244,189,89,.45); }
.page-feature-corner-panel { position: relative; z-index: 2; grid-column: 2; grid-row: 1; align-self: end; justify-self: end; width: min(360px, 100%); }
.page-feature-corner-panel .card { padding: 12px; background: rgba(16,25,28,.86); }
.main-page-grid { align-items: start; }
.main-page-rail { display: grid; align-content: start; gap: 12px; min-width: 0; }
.two-col, .news-layout { display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(280px, .75fr); gap: 16px; margin-bottom: 16px; }
.news-layout { align-items: start; }
.news-layout .article-detail { position: sticky; top: 98px; align-self: start; }
.news-layout--modal-reader { grid-template-columns: minmax(0, 1fr); justify-content: stretch; align-items: start; gap: 18px; max-width: 1120px; margin: 0 auto 16px; }
.main-feature-row--news-refined { grid-template-areas: "news-hero news-list" "news-reader news-list"; align-items: start; row-gap: 6px; margin-bottom: 18px; }
.main-feature-row--news-refined > .page-feature-hero { grid-area: news-hero; }
.main-feature-row--news-refined > .news-top-list { grid-area: news-list; }
.main-feature-row--news-refined > .page-feature-hero { height: clamp(330px, 32vw, 470px); min-height: clamp(330px, 32vw, 470px); }
.news-top-list { min-width: 520px; }
.news-top-list .card { height: 100%; }
.news-top-list .news-list { max-height: clamp(420px, 31vw, 520px); overflow: auto; padding-right: 4px; overscroll-behavior: contain; }
.news-static-reader-row { align-items: start; margin: 0 0 18px; }
.news-static-reader-wrap { grid-column: 1; width: 100%; margin: 0; }
.route-news .news-static-reader-wrap { width: 100%; margin: 0; }
.main-feature-row--news-refined > .news-static-reader-wrap { grid-area: news-reader; }
.news-static-reader { display: grid; gap: 12px; padding: 18px; border: 1px solid rgba(244,189,89,.38); border-radius: 8px; background: rgba(16,25,28,.94); }
.news-static-reader .article-detail--modal { padding: 0; }
.news-static-reader .article-detail--modal::after { content: ""; display: block; clear: both; }
.news-static-reader .article-media { float: left; width: 50%; max-width: 640px; min-width: 280px; margin: 0 20px 12px 0; }
.news-static-reader .article-media img { width: 100%; height: auto; max-height: none; object-fit: contain; }
.news-list--compact { max-height: none; }
.news-source-card h3 { margin-top: 2px; }
.modal-scroll-lock { overflow: hidden; }
.news-article-modal { overflow: hidden; }
.news-article-modal .modal-panel { width: min(1040px, 100%); max-height: calc(100vh - 40px); border-color: rgba(244,189,89,.38); background: rgba(16,25,28,.98); }
.public-pool-browse-modal .modal-panel { width: min(1180px, 100%); }
.public-pool-browse-modal .pools-browse-band { max-width: none; margin: 0; }
.news-modal-panel { overflow: hidden; }
.news-modal-layout { display: grid; grid-template-columns: minmax(0, 1fr) 62px; gap: 12px; min-height: 0; overflow: hidden; }
.news-modal-content { min-height: 0; overflow: auto; padding-right: 4px; overscroll-behavior: contain; }
.news-modal-nav { display: grid; align-content: center; justify-items: center; gap: 10px; min-width: 0; padding-left: 10px; border-left: 1px solid rgba(255,255,255,.14); }
.news-modal-nav span { color: var(--muted); font-size: 11px; font-weight: 800; writing-mode: vertical-rl; }
.article-detail--modal { padding: 0; border: 0; background: transparent; box-shadow: none; }
.card, .pool-shell, .league-hero, .article-detail, .profile-hero, .backfill-panel { min-width: 0; border: 1px solid var(--line); border-radius: 8px; background: rgba(36,49,55,.92); padding: 16px; box-shadow: 0 12px 28px rgba(0,0,0,.18); }
.auth-gate { display: grid; gap: 16px; max-width: 760px; margin: 24px auto; padding: 18px; border: 1px solid rgba(237,63,58,.45); border-radius: 8px; background: rgba(23,30,34,.96); }
.auth-gate--branded { grid-template-columns: minmax(180px, .88fr) minmax(0, 1fr); max-width: 980px; align-items: stretch; padding: 0; overflow: hidden; }
.auth-gate, .auth-panel, .auth-form, .toolbar, .btn { pointer-events: auto; }
.auth-visual { min-height: 100%; background: var(--surface); }
.auth-visual img { display: block; width: 100%; height: 100%; min-height: 360px; object-fit: cover; }
.auth-panel { display: grid; align-content: center; gap: 16px; min-width: 0; padding: 18px; }
.auth-form { display: grid; gap: 10px; }
.auth-form .toolbar { justify-content: flex-start; }
.auth-status { color: var(--amber); font-size: 12px; font-weight: 900; text-transform: uppercase; }
.auth-status--validation { display: block; margin: 0; padding: 10px 12px; border: 1px solid rgba(240,75,67,.72); border-radius: 6px; background: rgba(240,75,67,.14); color: #fff; font-size: 14px; font-weight: 800; line-height: 1.45; text-transform: none; }
.auth-field-error { display: block; margin-top: 5px; color: #ffb8b3; font-size: 13px; font-weight: 800; line-height: 1.4; }
.onboarding-password-group { display: grid; gap: 10px; width: 100%; min-width: 0; }
.onboarding-password-field { display: grid; gap: 4px; width: 100%; min-width: 0; }
.auth-panel--onboarding-setup > .onboarding-password-group { width: 100%; }
.onboarding-password-guidance { display: grid; gap: 3px; min-width: 0; margin: 0; padding: 7px 9px; border-left: 3px solid var(--amber); border-radius: 4px; background: rgba(255,255,255,.045); color: #ffd27b; font-size: clamp(12px, 1.2vw, 13px); font-weight: 600; line-height: 1.4; overflow-wrap: anywhere; }
.onboarding-password-guidance p { min-width: 0; margin: 0; color: inherit; font-size: inherit; font-weight: inherit; line-height: inherit; text-transform: none; }
.onboarding-password-guidance strong { color: #ffd27b; font-weight: 900; }
.onboarding-password-policy-status { color: #ffd27b !important; font-size: 12px !important; font-weight: 700 !important; }
/* TL-WEB-W256-C4R31R1 onboarding_r2: substantial card width, lossless legal projection, and recovery-safe setup. */
.auth-gate--onboarding-legal, .auth-gate--onboarding-setup { display: grid; grid-template-columns: minmax(0, 1fr); width: min(1120px, calc(100vw - 32px)); max-width: 1120px; margin: 24px auto; overflow: visible; }
.auth-panel--onboarding-legal { align-content: start; padding: clamp(20px, 3vw, 34px); }
.auth-panel--onboarding-setup { align-content: start; grid-template-columns: minmax(0, 720px); justify-content: center; padding: clamp(20px, 3vw, 34px); }
.auth-panel--onboarding-setup > label, .onboarding-privacy-row, .auth-panel--onboarding-setup > .toolbar { width: 100%; }
.legal-document { width: 100%; max-width: 100%; min-width: 0; max-height: clamp(360px, 58vh, 620px); overflow-x: hidden; overflow-y: auto; overscroll-behavior: contain; padding: clamp(18px, 2.2vw, 28px); border: 1px solid rgba(255,255,255,.2); border-radius: 8px; background: rgba(8,11,12,.34); color: var(--text); }
.legal-document-content { display: block; width: 100%; max-width: 82ch; min-width: 0; margin: 0 auto; color: inherit; font: inherit; line-height: 1.65; white-space: normal; overflow-wrap: anywhere; word-break: normal; }
.legal-document-header { display: grid; gap: 5px; margin: 0 auto 20px; max-width: 82ch; color: var(--text); }
.legal-document-title { font-size: clamp(18px, 2vw, 24px); font-weight: 900; line-height: 1.15; }
.legal-document-effective { color: var(--amber); font-size: 12px; font-weight: 900; letter-spacing: .04em; text-transform: uppercase; }
.legal-document-paragraph { max-width: 82ch; margin: 0 0 1em; color: var(--text); font-size: 15px; line-height: 1.65; }
.legal-document-paragraph:last-child { margin-bottom: 0; }
.legal-acceptance { display: flex; align-items: center; gap: 10px; min-width: 0; }
.legal-acceptance { width: min(100%, 82ch); margin: 0 auto; }
.legal-acceptance input[type="checkbox"] { appearance: auto; flex: 0 0 auto; width: 18px; height: 18px; min-width: 18px; min-height: 18px; margin: 0; padding: 0; accent-color: var(--teal); cursor: pointer; }
.legal-acceptance input[type="checkbox"]:focus-visible { outline: 3px solid var(--amber); outline-offset: 3px; }
.legal-acceptance label { display: block; min-width: 0; margin: 0; color: var(--text); font-size: 14px; font-weight: 800; line-height: 1.35; text-transform: none; cursor: pointer; }
.legal-document:focus-visible { outline: 3px solid var(--amber); outline-offset: 2px; }
.onboarding-privacy-row { display: flex; align-items: center; gap: 10px; min-width: 0; }
.onboarding-privacy-row input[type="checkbox"] { appearance: auto; flex: 0 0 auto; width: 18px; height: 18px; min-width: 18px; min-height: 18px; margin: 0; padding: 0; accent-color: var(--teal); cursor: pointer; }
.onboarding-privacy-row input[type="checkbox"]:focus-visible { outline: 3px solid var(--amber); outline-offset: 3px; }
.onboarding-privacy-row label { display: block; min-width: 0; margin: 0; color: var(--text); font-size: 14px; font-weight: 700; line-height: 1.4; text-transform: none; cursor: pointer; }
.data-gap { border-color: rgba(239,180,79,.45); background: rgba(239,180,79,.08); }
.driver-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(165px, 1fr)); gap: 8px; margin: 10px 0; }
.driver-pill { display: inline-flex; justify-content: space-between; gap: 8px; min-height: 34px; padding: 7px 9px; border: 1px solid var(--line); border-radius: 999px; background: rgba(48,63,69,.58); color: var(--text); }
.race-row.active { border-color: var(--red); }
.profile-hero { display: flex; align-items: center; gap: 14px; margin-bottom: 16px; }
.profile-hero span { color: var(--amber); font-size: 12px; font-weight: 900; text-transform: uppercase; }
.pool-card, .action-card, .news-mini, .race-row, .notification-card { display: grid; gap: 6px; width: 100%; padding: 14px; border: 1px solid var(--line); border-radius: 8px; background: rgba(48,63,69,.94); color: var(--text); text-align: left; cursor: pointer; }
.pool-card:hover, .action-card:hover, .news-mini:hover, .race-row:hover, .notification-card:hover { border-color: var(--teal); }
.pool-card span { color: var(--red); font-size: 11px; font-weight: 900; }
.pool-card b { color: var(--green); }
.pool-card em, small, .subtle, .empty { color: var(--muted); }
.toolbar, .chip-row, .league-strip, .tabbar, .prompt-row, .pool-title { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; }
.pool-title { justify-content: space-between; margin-bottom: 14px; }
.league-strip, .tabbar { margin-bottom: 14px; }
.league-hero { justify-content: space-between; margin-bottom: 16px; }
.btn { min-height: 40px; padding: 9px 12px; border: 1px solid var(--line); border-radius: 7px; background: var(--panel-2); color: var(--text); cursor: pointer; text-transform: capitalize; }
.btn--primary { border-color: rgba(237,63,58,.7); background: var(--red); color: #fff; }
.btn:hover, .btn:focus-visible, .icon-btn:hover, .icon-btn:focus-visible { border-color: var(--teal); outline: none; }
.tag { display: inline-flex; align-items: center; min-height: 25px; padding: 3px 8px; border: 1px solid var(--line); border-radius: 999px; color: var(--muted); font-size: 12px; }
.tag--red { color: var(--red); } .tag--green { color: var(--green); } .tag--amber { color: var(--amber); } .tag--blue { color: var(--blue); }
.rows, .news-list, .chat, .action-stack { display: grid; gap: 10px; }
.row, .pick-option, .backfill-row { display: flex; justify-content: space-between; align-items: flex-start; gap: 12px; padding: 10px; border: 1px solid rgba(255,255,255,.12); border-radius: 7px; background: rgba(36,49,55,.72); text-align: left; }
.row--button { width: 100%; color: var(--text); cursor: pointer; }
.row--action { align-items: center; }
.row span, .row small, .news-row span { color: var(--muted); }
.soft-empty { display: grid; gap: 8px; padding: 12px; border: 1px solid rgba(255,255,255,.14); border-radius: 8px; background: rgba(48,63,69,.54); }
.soft-empty p { margin-bottom: 0; }
.full-copy { white-space: normal; overflow: visible; display: block; max-height: none; }
.avatar { display: grid; place-items: center; flex: 0 0 auto; width: 42px; height: 42px; border: 1px solid var(--teal); border-radius: 50%; font-weight: 900; }
.avatar--large { width: 74px; height: 74px; font-size: 22px; }
.table-wrap { overflow-x: auto; border: 1px solid var(--line); border-radius: 8px; }
table { width: 100%; min-width: 560px; border-collapse: collapse; }
th, td { padding: 9px 10px; border-bottom: 1px solid var(--line); text-align: left; vertical-align: top; }
th { color: var(--muted); font-size: 11px; text-transform: uppercase; }
tr:last-child td { border-bottom: 0; }
.news-row { display: grid; width: 100%; padding: 18px; border: 1px solid var(--line); border-radius: 8px; background: rgba(48,63,69,.68); color: var(--text); text-align: left; cursor: pointer; }
.news-row.active { border-color: var(--red); }
.news-row--with-image { grid-template-columns: 138px minmax(0, 1fr); gap: 16px; align-items: center; min-height: 132px; padding: 14px; }
.news-row--with-image img { width: 138px; height: 86px; aspect-ratio: 16 / 10; object-fit: cover; border-radius: 6px; background: var(--surface); }
.news-row--with-image span { display: grid; gap: 7px; min-width: 0; }
.news-row--with-image strong { font-size: 18px; line-height: 1.18; }
.news-row--with-image strong, .news-row--with-image small { overflow-wrap: anywhere; }
.news-row--unread { border-color: rgba(244,189,89,.58); }
.news-row--read { opacity: .78; }
.news-read-state { justify-self: start; width: max-content; min-height: 24px; padding: 3px 8px; border: 1px solid rgba(255,255,255,.16); border-radius: 999px; background: rgba(8,11,12,.22); color: var(--amber); font-weight: 900; text-transform: uppercase; }
.news-row--read .news-read-state { color: var(--green); }
.article-media { margin: 0 0 14px; overflow: hidden; border: 1px solid rgba(255,255,255,.14); border-radius: 8px; background: rgba(8,11,12,.24); }
.article-media img { display: block; width: 100%; max-height: 360px; object-fit: cover; }
.article-media figcaption { padding: 8px 10px; color: var(--muted); font-size: 11px; }
.article-reader-body { white-space: pre-wrap; overflow: visible; display: block; max-height: none; }
.summary-box { margin-top: 14px; padding: 12px; border: 1px solid rgba(255,255,255,.14); border-radius: 8px; background: rgba(48,63,69,.62); }
.room-status { display: grid; gap: 5px; margin-bottom: 12px; padding: 12px; border: 1px solid rgba(237,63,58,.35); border-radius: 8px; background: rgba(237,63,58,.08); }
.draft-status-grid { display: grid; grid-template-columns: minmax(220px, 1.35fr) repeat(3, minmax(170px, 1fr)); gap: 12px; margin: 16px 0 18px; }
.draft-status-card { display: grid; align-content: start; gap: 7px; min-width: 0; min-height: 116px; padding: 14px; border: 1px solid rgba(255,255,255,.15); border-radius: 8px; background: rgba(8,11,12,.2); }
.draft-status-card span { color: var(--amber); font-size: 11px; font-weight: 900; text-transform: uppercase; }
.draft-status-card strong { color: var(--text); font-size: 20px; line-height: 1.12; overflow-wrap: anywhere; }
.draft-status-card small { color: var(--muted); line-height: 1.3; }
.draft-status-card--week { min-height: 132px; border-color: rgba(237,63,58,.72); background: linear-gradient(135deg, rgba(237,63,58,.24), rgba(48,63,69,.34)); }
.draft-status-card--week strong { font-size: 2.25rem; }
.draft-status-card--current { border-color: rgba(57,210,198,.62); background: rgba(57,210,198,.12); }
.draft-status-card--current strong { font-size: 1.75rem; }
.draft-status-card--next { border-color: rgba(124,198,109,.45); background: rgba(124,198,109,.1); }
.draft-status-card--turn { border-color: rgba(239,180,79,.54); background: rgba(239,180,79,.11); }
.standings-gap { display: grid; gap: 8px; }
.crew-fab { position: fixed; right: 16px; bottom: 96px; z-index: 35; display: inline-flex; align-items: center; gap: 8px; min-height: 50px; padding: 0 14px; border: 1px solid rgba(237,63,58,.75); border-radius: 999px; background: var(--red); color: white; box-shadow: 0 14px 34px rgba(0,0,0,.38); cursor: pointer; }
.crew-fab span { display: grid; place-items: center; width: 30px; height: 30px; border-radius: 50%; background: rgba(0,0,0,.22); font-weight: 900; }
.crew-drawer { position: fixed; top: 0; right: 0; bottom: 0; z-index: 50; display: grid; grid-template-rows: auto 1fr auto auto; gap: 12px; width: min(420px, 100vw); padding: 18px; border-left: 1px solid var(--line); background: rgba(12,16,19,.98); transform: translateX(104%); transition: transform .18s ease; }
.crew-drawer.open { transform: translateX(0); }
.crew-head { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.crew-head span { display: block; color: var(--amber); font-size: 12px; font-weight: 900; text-transform: uppercase; }
.chat { overflow-y: auto; min-height: 0; }
.msg { padding: 10px; border: 1px solid var(--line); border-radius: 8px; color: var(--muted); }
.msg--assistant { border-left: 3px solid var(--red); color: var(--text); }
.msg--user { border-left: 3px solid var(--teal); }
.crew-form { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 8px; }
.crew-head strong { display: block; color: var(--text); font-size: 12px; font-weight: 700; text-transform: none; }
.crew-head em { display: block; margin-top: 3px; color: var(--muted); font-size: 11px; font-style: normal; }
.crew-moderation-card { position: fixed; right: 16px; bottom: 158px; z-index: 51; display: grid; gap: 9px; width: min(388px, calc(100vw - 32px)); padding: 14px; border: 1px solid rgba(237,63,58,.65); border-radius: 10px; background: rgba(18,25,28,.98); box-shadow: 0 18px 44px rgba(0,0,0,.42); }
.crew-moderation-card__head { display: flex; align-items: center; justify-content: space-between; gap: 10px; }
.crew-moderation-card textarea { min-height: 76px; resize: vertical; }
.crew-moderation-feedback { margin: 0; color: var(--amber); font-size: 12px; }
.crew-moderation-result { display: grid; grid-template-columns: auto 1fr; gap: 4px 10px; margin: 0; font-size: 12px; }
.crew-moderation-result dt { color: var(--muted); }
.crew-moderation-result dd { margin: 0; color: var(--text); }
.toast { position: fixed; left: 50%; bottom: 22px; z-index: 55; transform: translateX(-50%); max-width: min(560px, calc(100vw - 32px)); padding: 10px 14px; border: 1px solid rgba(124,198,109,.45); border-radius: 8px; background: #102017; color: var(--text); }
.wizard-overlay { position: fixed; inset: 0; z-index: 70; display: grid; align-items: center; justify-items: center; padding: 18px; background: rgba(8,12,13,.58); }
.wizard-panel { display: grid; gap: 18px; width: min(980px, 100%); max-height: calc(100vh - 36px); overflow: auto; padding: 22px; border: 1px solid var(--line); border-radius: 8px; background: rgba(32,45,50,.99); box-shadow: 0 22px 70px rgba(0,0,0,.42); }
.modal-overlay { position: fixed; inset: 0; z-index: 68; display: grid; align-items: center; justify-items: center; padding: 18px; background: rgba(8,12,13,.58); }
.modal-panel { display: grid; gap: 12px; width: min(960px, 100%); max-height: calc(100vh - 36px); overflow: auto; padding: 18px; border: 1px solid var(--line); border-radius: 8px; background: rgba(32,45,50,.99); box-shadow: 0 22px 70px rgba(0,0,0,.42); }
.modal-panel .public-pool-detail { border: 0; padding: 0; background: transparent; }
.follow-management-modal .modal-panel { width: min(1040px, 100%); }
.btn--quiet { background: transparent; border-color: rgba(255,255,255,.16); color: var(--muted); }
.driver-layout { align-items: start; }
.driver-filters label { max-width: 220px; }
.driver-list { display: grid; gap: 10px; max-height: 720px; overflow: auto; padding-right: 2px; }
.driver-card { width: 100%; display: grid; gap: 4px; padding: 12px; border: 1px solid rgba(255,255,255,.14); border-radius: 8px; background: rgba(48,63,69,.72); color: var(--text); text-align: left; cursor: pointer; }
.driver-card.active, .driver-card:hover { border-color: var(--teal); background: rgba(53,199,187,.12); }
.driver-card.disabled, .driver-card:disabled { cursor: not-allowed; border-style: dashed; opacity: .72; background: rgba(48,63,69,.42); }
.driver-card.active[data-w256-c4r9-driver-selected="true"] { box-shadow: inset 0 0 0 2px rgba(57,210,198,.34); }
.driver-card span, .driver-card small { color: var(--muted); }
.pool-pick-confirm-modal { z-index: 74; }
.pool-pick-confirm-panel { width: min(560px, 100%); }
.pool-pick-confirm-panel h3 { margin: 0; }
.pool-pick-confirm-panel .description-list p { display: grid; grid-template-columns: minmax(110px, .4fr) minmax(0, 1fr); gap: 10px; align-items: start; }
.pool-pick-confirm-panel .description-list strong { color: var(--amber); font-size: 11px; text-transform: uppercase; }
.pool-pick-confirm-panel .description-list span { color: var(--text); overflow-wrap: anywhere; }
.driver-detail { display: grid; gap: 12px; }
.driver-detail dl { display: grid; grid-template-columns: minmax(90px, .35fr) minmax(0, 1fr); gap: 8px 12px; margin: 0; }
.driver-detail dt { color: var(--muted); }
.driver-detail dd { margin: 0; }
.theme-high-contrast { --bg: #000; --surface: #050505; --panel: #111; --panel-2: #191919; --line: #f1f1f1; --text: #fff; --muted: #e1e1e1; --red: #ff453f; --teal: #5ff4e7; --green: #9cff80; --amber: #ffd166; --blue: #9ec5ff; }
.theme-system { color-scheme: dark light; }
.wizard-progress { display: flex; flex-wrap: wrap; gap: 6px; }
.wizard-step { min-height: 30px; padding: 6px 9px; border: 1px solid var(--line); border-radius: 999px; color: var(--muted); font-size: 12px; }
.wizard-step--active { border-color: var(--red); color: var(--text); background: rgba(237,63,58,.14); }
.wizard-grid, .scoring-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.scoring-stack { display: grid; grid-template-columns: minmax(0, 340px); gap: 8px; }
.scoring-stack label { display: grid; grid-template-columns: minmax(130px, 1fr) 86px; align-items: center; gap: 10px; }
.scoring-stack input { width: 86px; min-height: 36px; padding: 6px 8px; }
.wizard-choice-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(230px, 1fr)); gap: 10px; }
.wizard-field-group { display: grid; gap: 12px; margin-bottom: 14px; padding: 14px; border: 1px solid rgba(255,255,255,.16); border-radius: 8px; background: rgba(48,63,69,.74); }
.wizard-field-group h4 { margin: 0; font-size: 15px; }
.wizard-field-group label { font-size: 13px; }
.wizard-field-group input, .wizard-field-group select, .wizard-field-group textarea { min-height: 46px; font-size: 15px; }
.wizard-field-group .pick-option { min-height: 116px; flex-direction: column; justify-content: flex-start; }
.wizard-field-group .pick-option strong { font-size: 15px; }
.wizard-field-group .pick-option span { color: var(--muted); font-size: 13px; text-transform: none; }
.pick-option--selected { border-color: var(--red); background: rgba(237,63,58,.14); color: var(--text); }
.wizard-actions { justify-content: flex-end; }
.wizard-error { margin: 0; padding: 10px; border: 1px solid rgba(239,180,79,.5); border-radius: 8px; background: rgba(239,180,79,.08); color: var(--amber); }
.drivers-subsection { display: flex; justify-content: space-between; align-items: center; gap: 12px; margin-bottom: 14px; padding: 14px 16px; border: 1px solid var(--line); border-radius: 8px; background: rgba(48,63,69,.9); }
.drivers-subsection h3 { margin-bottom: 4px; }
.drivers-subsection p { margin-bottom: 0; }
.pools-discovery-grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(280px, 360px); gap: 16px; align-items: start; max-width: 1180px; margin: 0 auto 16px; }
.pools-discovery-side { display: grid; gap: 12px; min-width: 0; }
.pools-browse-band { max-width: 1040px; margin: 0 auto 16px; }
.pools-browse-band .card { width: 100%; }
.pool-room-context { display: grid; gap: 20px; width: min(1280px, max(940px, 66vw)); max-width: 100%; margin: 0 auto 22px; padding: clamp(20px, 2vw, 28px); }
.pool-room-context > .pool-title { display: grid; grid-template-columns: minmax(0, 1fr) minmax(260px, 360px); gap: 24px; align-items: start; margin: 0; padding-bottom: 20px; border-bottom: 1px solid rgba(255,255,255,.14); }
.pool-room-context > .pool-title > div { display: grid; gap: 8px; min-width: 0; }
.pool-room-context > .pool-title h2, .pool-room-context > .pool-title p { margin: 0; }
.pool-room-context > .pool-title label { display: grid; gap: 8px; width: 100%; padding: 13px; border: 1px solid rgba(244,189,89,.24); border-radius: 8px; background: rgba(8,11,12,.18); }
.pool-room-context > .pool-title select { min-height: 44px; }
.pool-room-context .week-state-summary { display: grid; gap: 12px; margin: 0; padding: 18px; }
.pool-room-context .week-state-summary h3, .pool-room-context .week-state-summary p { margin: 0; }
.pool-room-context .chip-row { gap: 10px; row-gap: 10px; }
.pool-room-context .tag { min-height: 30px; padding: 5px 10px; }
.pool-room-context .pool-room-tabs { display: grid; grid-template-columns: repeat(auto-fit, minmax(142px, 1fr)); gap: 10px; margin: 0; }
.pool-room-context .pool-room-tabs .btn { display: inline-flex; align-items: center; justify-content: center; width: 100%; min-height: 44px; padding: 10px 12px; text-align: center; }
.pool-room-body { display: grid; gap: 18px; }
.pool-room-body > .card, .pool-room-body > .backfill-panel { margin-top: 0; }
.pool-room-body > .card { display: grid; gap: 16px; padding: 22px; }
.pool-room-body > .card h3, .pool-room-body > .card h4, .pool-room-body > .card p { margin-top: 0; }
.pool-room-body > .card h4 { padding-top: 8px; border-top: 1px solid rgba(255,255,255,.12); }
.pool-room-body > .card .toolbar { gap: 10px; padding: 4px 0; }
.pool-room-body > .card .toolbar .btn { display: inline-flex; align-items: center; justify-content: center; flex: 1 1 148px; min-width: 148px; min-height: 44px; padding: 10px 12px; text-align: center; }
.pool-room-nav-strip { justify-content: center; gap: 12px; width: min(1280px, max(940px, 66vw)); max-width: 100%; margin: 0 auto 18px; padding: 4px 0; }
.pool-room-nav-strip .btn { display: inline-flex; align-items: center; justify-content: center; flex: 0 1 180px; width: 180px; min-width: 180px; min-height: 46px; padding: 10px 14px; text-align: center; }
.main-feature-row--pool-room .page-feature-copy { gap: 18px; max-width: 860px; }
.main-feature-row--pool-room .page-feature-copy .home-race-meta { margin: 0; font-size: 16px; }
.main-feature-row--pool-room .page-feature-copy .chip-row { display: flex; flex-wrap: wrap; gap: 8px 18px; align-items: center; max-width: 820px; padding-top: 4px; }
.main-feature-row--pool-room .page-feature-copy .tag { min-height: auto; padding: 2px 0 2px 10px; border: 0; border-left: 2px solid currentColor; border-radius: 0; background: transparent; font-size: 13px; font-weight: 900; }
.main-feature-row--pool-room .home-hero-actions { gap: 10px; margin-top: 0; }
.main-feature-row--pool-room .home-hero-actions .btn { display: inline-flex; align-items: center; justify-content: center; min-width: 150px; min-height: 44px; }
.pool-state-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(190px, 1fr)); gap: 12px; }
.pool-state-grid--week { grid-template-columns: minmax(240px, 1.25fr) minmax(210px, .95fr) repeat(2, minmax(160px, .8fr)); align-items: stretch; }
.pool-state-grid--home { grid-template-columns: repeat(auto-fit, minmax(185px, 1fr)); }
.pool-state-card { display: grid; align-content: start; gap: 7px; min-width: 0; min-height: 104px; padding: 14px; border: 1px solid rgba(255,255,255,.14); border-radius: 8px; background: rgba(8,11,12,.2); }
.pool-state-card span { color: var(--amber); font-size: 11px; font-weight: 900; text-transform: uppercase; }
.pool-state-card strong { color: var(--text); font-size: 20px; line-height: 1.12; overflow-wrap: anywhere; }
.pool-state-card small { color: var(--muted); line-height: 1.3; overflow-wrap: anywhere; }
.pool-state-card--selected-week { border-color: rgba(57,210,198,.62); background: rgba(57,210,198,.12); }
.pool-state-card--selected-week strong { font-size: 1.6rem; }
.pool-state-card--race { border-color: rgba(89,142,244,.45); background: rgba(89,142,244,.09); }
.pool-state-card--race strong { font-size: 1.35rem; }
.pool-state-card--completed { border-color: rgba(124,198,109,.5); background: rgba(124,198,109,.1); }
.pool-state-card--actionable { border-color: rgba(239,180,79,.5); background: rgba(239,180,79,.1); }
.pool-state-card--role { border-color: rgba(237,63,58,.58); background: rgba(237,63,58,.1); }
.pool-state-grid--week .pool-state-card--current { grid-column: span 2; min-height: 132px; border-color: rgba(239,180,79,.68); background: linear-gradient(135deg, rgba(239,180,79,.2), rgba(8,11,12,.44)); }
.pool-state-grid--week .pool-state-card--current strong { font-size: 1.9rem; }
.pool-state-grid--week .pool-state-card--next { border-color: rgba(124,198,109,.48); background: rgba(124,198,109,.1); }
.pool-state-grid--week .pool-state-card--next strong { font-size: 1.35rem; }
.pool-state-card--progress { border-color: rgba(89,142,244,.45); background: rgba(89,142,244,.09); }
.pool-state-card--selected-driver { border-color: rgba(237,63,58,.5); background: rgba(237,63,58,.1); }
.pool-state-card--confirm { border-color: rgba(239,180,79,.5); background: rgba(239,180,79,.1); }
.pool-draft-room-workspace { display: grid; grid-template-columns: minmax(400px, 430px) minmax(0, 1fr); gap: 14px; align-items: start; min-width: 0; }
.pool-draft-room-order-panel, .pool-draft-room-driver-panel { min-width: 0; }
.pool-draft-room-order-panel { width: 100%; max-width: 430px; }
.pool-draft-room-order-panel .summary-box { margin-top: 0; }
.pool-draft-room-order-box { display: grid; gap: 10px; overflow: hidden; padding: 10px; }
.pool-draft-room-order-box h4, .pool-draft-room-order-box p { margin: 0; }
.pool-draft-order-table-wrap { max-width: 100%; overflow-x: hidden; overflow-y: visible; border: 1px solid var(--line); border-radius: 6px; }
.pool-draft-room-order-box--long .pool-draft-order-table-wrap { max-height: calc(100vh - 260px); overflow-y: auto; }
.pool-draft-order-table { width: 100%; min-width: 0; table-layout: fixed; border-collapse: collapse; }
.pool-draft-order-table th, .pool-draft-order-table td { padding: 5px 6px; line-height: 1.2; overflow-wrap: anywhere; }
.pool-draft-order-table th:nth-child(1), .pool-draft-order-table td:nth-child(1) { width: 44px; text-align: right; }
.pool-draft-order-table th:nth-child(3), .pool-draft-order-table td:nth-child(3) { width: 86px; }
.pool-draft-order-table th:nth-child(4), .pool-draft-order-table td:nth-child(4) { width: 76px; }
.pool-draft-room-driver-panel .driver-grid { margin-top: 0; }
.pool-history-summary { display: grid; gap: 14px; min-width: 0; }
.pool-history-summary .table-wrap { max-height: clamp(280px, 34vw, 520px); overflow: auto; }
.pool-history-week-tabs { justify-content: flex-start; overflow-x: auto; padding-bottom: 2px; }
.pool-history-week-tabs .btn { flex: 0 0 auto; min-width: 96px; }
.pool-home-summary { display: grid; gap: 8px; padding: 0 0 4px; }
.pool-home-summary p { margin: 0; }
.pool-home-actions { display: grid; grid-template-columns: repeat(auto-fit, minmax(160px, 1fr)); gap: 10px; align-items: stretch; }
.pool-home-actions .btn { display: inline-flex; align-items: center; justify-content: center; width: 100%; min-height: 46px; min-width: 0; padding: 10px 12px; text-align: center; }
.pool-room-body > .card .pool-home-actions { padding: 2px 0 6px; }
.pool-room-body > .card .pool-home-actions .btn { flex: unset; min-width: 0; }
.route-pools .pool-card { background: rgba(32,45,50,.78); }
.route-pools .pool-card strong, .route-news .news-row strong, .route-leagues .race-row strong { color: var(--text); }
.leagues-main { align-items: start; grid-template-columns: minmax(0, 1fr) minmax(320px, .9fr); }
.route-leagues .league-hero { display: flex; align-items: center; }
.route-leagues .leagues-main { width: min(1908px, 100%); max-width: none; margin: 0 0 16px; grid-template-columns: minmax(520px, .72fr) minmax(900px, 1.28fr); }
.route-leagues .league-strip, .route-leagues .league-actions { max-width: 1240px; margin-left: auto; margin-right: auto; }
.leagues-control-panel .card { padding: 20px; }
.leagues-control-panel label { margin-bottom: 14px; }
.leagues-control-panel .league-control-buttons { display: grid; grid-template-columns: repeat(auto-fit, minmax(132px, 1fr)); gap: 10px; width: 100%; }
.leagues-control-panel .league-control-buttons .btn { width: 100%; min-width: 132px; }
.leagues-control-panel .league-control-buttons--series { margin-bottom: 16px; }
.leagues-control-panel .league-control-status-row { gap: 12px; padding-top: 12px; border-top: 1px solid rgba(255,255,255,.12); }
.route-leagues .race-detail-scroll { max-height: calc(100vh - 174px); overflow-x: visible; }
.route-leagues .race-detail-scroll .result-rows table { min-width: 860px; }
.leagues-main .card:nth-child(2) { position: sticky; top: 98px; }
.league-actions .btn { min-width: 104px; }
.sticky-detail { display: grid; gap: 12px; }
.race-detail-scroll { max-height: calc(100vh - 190px); min-height: 0; overflow-y: auto; overflow-x: visible; overscroll-behavior: contain; padding-right: 4px; }
.race-detail-scroll .summary-box { min-height: 0; }
.result-rows { min-height: 0; border: 1px solid rgba(255,255,255,.12); border-radius: 8px; padding: 10px; background: rgba(8,11,12,.18); }
.result-rows .table-wrap { overflow-x: auto; overflow-y: visible; max-width: 100%; }
.description-list { display: grid; gap: 8px; }
.description-list p { margin: 0; color: var(--muted); }
.result-detail-modal .modal-panel, .race-detail-modal .modal-panel, .standings-modal .modal-panel { overflow-y: auto; overflow-x: hidden; overscroll-behavior: contain; }
.back-to-top { position: fixed; right: 16px; bottom: 158px; z-index: 34; min-height: 42px; padding: 8px 12px; border: 1px solid rgba(57,210,198,.72); border-radius: 999px; background: var(--teal); color: #062724; font-weight: 900; box-shadow: 0 14px 30px rgba(0,0,0,.26); cursor: pointer; }
@media (max-width: 2120px) {
  .news-top-list { width: min(1120px, 100%); min-width: 0; }
}
@media (max-width: 980px) {
  :root { --non-home-feature-height: clamp(420px, 56vw, 470px); }
  .app-shell { grid-template-columns: 1fr; }
  .appbar { grid-template-columns: minmax(0, 1fr); min-height: 120px; }
  .appbar-row--brand { grid-template-columns: minmax(56px, 1fr) auto minmax(56px, 1fr); }
  .primary-nav { justify-content: flex-start; min-height: 0; padding: 0; }
  .primary-nav a { min-width: max-content; }
  .hero-band, .home-dashboard-hero, .home-editorial-grid, .home-compact-grid, .home-status-rail, .page-feature-hero, .main-feature-row, .two-col, .news-layout, .dashboard-grid, .dashboard-summary, .profile-grid, .settings-grid, .auth-gate--branded, .pools-discovery-grid { grid-template-columns: 1fr; }
  .news-layout .article-detail, .leagues-main .card:nth-child(2) { position: static; top: auto; }
  .news-layout--modal-reader { justify-content: stretch; max-width: none; }
  .main-feature-row--pools-discovery-refined, .main-feature-row--pool-room, .main-feature-row--leagues, .main-feature-row--news-refined, .main-feature-row--non-home-lock { width: 100%; }
  .main-feature-row--news-refined { grid-template-areas: "news-hero" "news-list" "news-reader"; row-gap: 12px; }
  .main-feature-row--non-home-lock > .page-feature-hero { height: var(--non-home-feature-height); min-height: var(--non-home-feature-height); }
  .page-feature-corner-panel { grid-column: 1; grid-row: auto; justify-self: stretch; width: 100%; }
  .pools-availability-columns { grid-template-columns: 1fr; }
  .news-modal-layout { grid-template-columns: minmax(0, 1fr); }
  .news-modal-nav { grid-template-columns: repeat(3, auto); align-content: center; justify-content: center; border-left: 0; border-top: 1px solid rgba(255,255,255,.14); padding: 10px 0 0; }
  .news-modal-nav span { writing-mode: horizontal-tb; }
  .main-page-rail { grid-template-columns: 1fr; }
  .pool-room-context, .pools-browse-band, .route-leagues .leagues-main { max-width: none; }
  .route-news .news-static-reader-wrap { width: 100%; margin: 0; }
  .pool-room-context { width: 100%; }
  .pool-room-context > .pool-title { grid-template-columns: 1fr; }
  .pool-room-nav-strip .btn { width: min(100%, 220px); min-width: 180px; }
  .pool-draft-room-workspace { grid-template-columns: 1fr; }
  .pool-draft-room-order-panel { max-width: none; }
  .pool-state-grid--week { grid-template-columns: 1fr; }
  .pool-state-grid--week .pool-state-card--current { grid-column: auto; }
  .draft-status-grid { grid-template-columns: 1fr; }
  .route-leagues .leagues-main { grid-template-columns: 1fr; margin-right: 0; }
  .auth-visual img { max-height: 240px; min-height: 220px; }
  .home-race-feature { grid-template-columns: 1fr; min-height: clamp(540px, 72vw, 680px); align-items: start; padding: 28px; }
  .home-race-visual img { min-height: 100%; }
  .home-race-copy, .home-hero-support-panel { grid-column: 1; grid-row: auto; }
  .home-race-copy { width: 100%; max-width: 720px; padding: 210px 0 0; }
  .home-hero-support-panel { align-content: start; justify-self: stretch; max-width: 440px; }
  .page-feature-support { grid-column: 1; grid-row: auto; justify-self: stretch; max-width: 520px; }
  .news-static-reader .article-media { float: none; width: 100%; max-width: none; min-width: 0; margin: 0 0 14px; }
  .home-next-race-panel { align-content: start; }
  .home-status-rail article { border-right: 0; border-bottom: 1px solid rgba(255,255,255,.12); }
  .home-status-rail article:last-child { border-bottom: 0; }
}
@media (max-width: 640px) {
  :root { --non-home-feature-height: clamp(430px, 126vw, 520px); }
  .appbar { grid-template-columns: minmax(0, 1fr); gap: 7px; min-height: 116px; padding: 8px 10px; }
  .appbar-row--brand { gap: 8px; }
  .appbar-row--brand { grid-template-columns: minmax(40px, 1fr) auto minmax(40px, 1fr); }
  .appbar-brand-cluster { gap: 8px; }
  .menu-btn, .back-btn { grid-row: auto; }
  .route-home .menu-btn { display: none; }
  .primary-nav { grid-column: auto; width: 100%; padding-top: 4px; }
  .brand { justify-self: center; }
  .brand { gap: 8px; }
  .brand img { width: 60px; height: 60px; }
  .brand strong { display: inline; font-size: 24px; }
  .top-actions { gap: 6px; }
  .preview-pill { display: none; }
  .wizard-grid, .scoring-grid { grid-template-columns: 1fr; }
  .scoring-stack { grid-template-columns: minmax(0, 1fr); }
  .scoring-stack label { grid-template-columns: minmax(120px, 1fr) 86px; }
  .content { padding: 12px 12px 92px; }
  .auth-gate--onboarding-legal, .auth-gate--onboarding-setup { width: 100%; max-width: none; margin: 12px 0; }
  .auth-panel--onboarding-legal, .auth-panel--onboarding-setup { padding: 16px; }
  .legal-document { max-height: 54vh; padding: 15px; }
  .legal-document-paragraph { font-size: 14px; line-height: 1.6; }
  .page-head, .pool-title, .league-hero, .row, .pick-option, .backfill-row { flex-direction: column; align-items: flex-start; }
  .route-main-themed .page-head { padding: 14px; }
  .route-main-themed .page-head h1 { font-size: 30px; }
  .news-row--with-image { grid-template-columns: 1fr; }
  .news-layout--modal-reader { gap: 12px; }
  .news-article-modal .modal-panel { max-height: calc(100vh - 24px); padding: 14px; }
  .home-race-feature { min-height: 560px; padding: 18px; }
  .page-feature-hero { min-height: var(--non-home-feature-height); padding: 18px; }
  .main-feature-row--news-refined > .page-feature-hero { height: var(--non-home-feature-height); min-height: var(--non-home-feature-height); }
  .page-feature-copy h1 { font-size: 38px; line-height: 1.04; }
  .home-race-feature h2 { font-size: 38px; line-height: 1.04; }
  .home-hero-intro span { font-size: 12px; }
  .home-hero-intro strong { font-size: 22px; }
  .home-hero-intro p { font-size: 18px; }
  .home-race-copy { padding-top: 170px; }
  .home-race-copy, .home-next-race-panel { padding: 0; }
  .home-next-race-panel { padding: 14px; }
  .home-countdown strong { font-size: 25px; }
  .primary-nav a { padding: 7px 8px; }
  .home-news-lead .news-mini--lead { max-width: 100%; }
  .home-news-lead .news-mini--lead { min-height: 360px; }
  .home-news-lead .news-mini--lead .news-thumb { width: 100%; height: 190px; max-height: 190px; border-bottom-right-radius: 0; }
  .home-teaser-detail { grid-template-columns: 1fr; }
  .home-pool-member-preview { grid-template-columns: 1fr; }
  .global-disclaimer { padding-bottom: 104px; }
  .nav-icon { width: 18px; height: 18px; }
  .news-row--with-image img { width: 100%; height: clamp(170px, 58vw, 230px); }
  h1 { font-size: 27px; }
  .crew-fab strong { display: none; }
}

@media (min-width: 981px) {
  .appbar { grid-template-columns: minmax(0, 1fr); }
}

/* BC-20260928-TL-CROSSREPO-LAUNCH-READINESS-RESPONSIVE-LIFECYCLE-COMPLETION-WAVE-225
   Shared responsive guardrails and exact retired-pool tombstone. */
*, *::before, *::after { box-sizing: border-box; }
html, body { max-width: 100%; overflow-x: hidden; }
button, input, select, textarea { max-width: 100%; }
button, .btn, a { min-height: 40px; }
.home-race-copy > .subtle, .home-race-copy > .chip-row { display: none !important; }
.pool-retired-tombstone { display: grid; place-items: center; min-height: 220px; width: 100%; padding: 32px 20px; color: var(--ink, #f4f7fb); text-align: center; }
.pool-retired-tombstone p { margin: 0; font-size: clamp(20px, 3vw, 30px); font-weight: 700; }
@media (max-width: 640px) {
  .content { width: 100%; max-width: 100%; }
  .toolbar, .tabbar, .league-control-buttons { flex-wrap: wrap; }
  .toolbar > *, .tabbar > * { max-width: 100%; }
  .pool-retired-tombstone { min-height: 180px; padding: 28px 16px; }
}

/* Task 265: explanations wrap within the existing odds table and dialog. */
[data-odds-disclosure-key] { min-width: 0; overflow-wrap: anywhere; }
[data-odds-disclosure-key] p { line-height: 1.5; margin: .5rem 0; }
[data-odds-disclosure-key] summary { white-space: normal; cursor: pointer; }

/* Task265: compact pool administration, preserving existing research dialogs. */
.pool-admin-section { border-top:1px solid var(--border, #ddd); padding:1rem 0; margin-top:.5rem; }
.pool-config-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:.75rem 1rem; }
.pool-config-field { min-width:0; display:flex; flex-direction:column; gap:.35rem; }
.pool-config-field input:not([type=checkbox]), .pool-config-field select, .pool-config-field textarea { width:100%; max-width:100%; box-sizing:border-box; }
.pool-config-field input[type=checkbox] { align-self:flex-start; }
.pool-config-field.invalid input,.pool-config-field.invalid select,.pool-config-field.invalid textarea { outline:2px solid #b42318; }
.pool-config-field .field-error { color:#b42318; }
[data-pool-member-surface] .toolbar { justify-content:flex-start; gap:.4rem; }
[data-pool-member-surface] button,.pool-admin-section button,[data-pool-commissioner-lifecycle] button { width:auto; flex:0 1 auto; }
.pool-notification-preferences { margin-top:1rem; }
@media(max-width:600px){.pool-config-grid {grid-template-columns:minmax(0,1fr)} .pool-admin-section button {max-width:100%}}

/* SECTION: Task265 audited shared mobile header, dismissal and destination surfaces.
 * Scope: Existing shell and named audit components; accepted Home hero and desktop brand remain unchanged. */
@media(max-width:640px){
 .appbar-row--brand{grid-template-columns:minmax(0,1fr) auto;gap:6px}
 .appbar-brand-cluster{grid-column:1;justify-self:start;justify-content:flex-start;max-width:100%;gap:5px}
 .appbar-brand-cluster .brand{min-width:0;gap:5px}
 .appbar-brand-cluster .brand img{width:34px;height:34px;flex:0 0 34px}
 .appbar-brand-cluster .brand strong{white-space:normal;font-size:clamp(15px,4.3vw,21px);line-height:1.1;overflow-wrap:normal}
 .appbar-row--brand .top-actions{grid-column:2;min-width:0;gap:6px;justify-self:end}
 .appbar-row--brand .preview-pill{display:none}
 .appbar-brand-cluster .back-btn,.appbar-brand-cluster .menu-btn{padding:5px;min-width:0;flex:0 0 auto;white-space:nowrap}
 .primary-nav{max-width:100%;touch-action:pan-x;overscroll-behavior-x:contain}
 .primary-nav a{flex:0 0 auto;min-width:0;padding:7px 8px}
 .profile-grid .row,.pool-detail-grid .row,.pool-detail-summary,.pool-room-summary{min-width:0;overflow-wrap:anywhere}
 .profile-grid .row{display:grid;gap:6px}
}
.modal-overlay button[data-action*="close"],.modal-head button,.messages-picker-close,.tl-reaction-panel header button,.shared-post-window header button{white-space:nowrap;flex:0 0 auto}
.member-avatar{position:relative;display:inline-grid;place-items:center;width:34px;height:34px;flex:0 0 34px;overflow:hidden;border-radius:50%;background:var(--panel-2,#18323d);color:var(--text,#fff);vertical-align:middle;font-weight:700}
.member-avatar img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block}
.my-hub-author{display:flex;align-items:center;gap:8px;min-width:0}
.my-hub-list p,.tl-reaction-scroll p{display:flex;align-items:center;gap:8px;min-width:0;overflow-wrap:anywhere}
.avatar--large,.avatar--large img{overflow:hidden;object-fit:cover;aspect-ratio:1}
.legal-support-links{display:flex;flex-wrap:wrap;justify-content:center;gap:8px 16px;margin:12px 0}
.legal-support-links a{display:inline-flex;align-items:center;min-height:44px}
.help-support{max-width:800px;margin:auto;overflow-wrap:anywhere}
.help-support details{padding:14px;border-bottom:1px solid var(--line)}
.help-support summary{cursor:pointer;min-height:44px;font-weight:700}
.settings-section-nav{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:16px}
.settings-grid label:has(>input[type=checkbox]){display:flex;align-items:flex-start;gap:9px;line-height:1.45}
.settings-grid label>input[type=checkbox]{width:18px;height:18px;min-height:18px;padding:0;flex:0 0 18px;margin:2px 0 0}
.settings-grid>[data-settings-target]{scroll-margin-top:160px}
.settings-grid>[data-settings-target]:focus-visible{outline:2px solid var(--teal);outline-offset:4px}
.crew-fab{bottom:calc(12px + env(safe-area-inset-bottom));right:calc(12px + env(safe-area-inset-right));min-height:44px}
.back-to-top{bottom:calc(68px + env(safe-area-inset-bottom));right:calc(12px + env(safe-area-inset-right));min-height:44px;min-width:44px}
.crew-fab[hidden],.back-to-top[hidden],.floating-controls-blocked .crew-fab,.floating-controls-blocked .back-to-top{display:none}
.global-disclaimer{padding-bottom:calc(110px + env(safe-area-inset-bottom))}
.shared-post-window{padding:16px;width:min(760px,calc(100vw - 24px));max-height:calc(100dvh - 32px);overflow:auto;border:1px solid var(--line);border-radius:12px;background:var(--panel,#152234);color:var(--text,#fff)}
.shared-post-window::backdrop{background:rgba(0,0,0,.65)}
.shared-post-window>header{display:flex;justify-content:space-between;align-items:center;gap:12px;position:sticky;top:-16px;background:var(--panel,#152234);z-index:2;padding:8px 0}
.shared-post-window h2{margin:0}
.shared-post-handoff-receipt{position:fixed;left:12px;right:12px;bottom:calc(12px + env(safe-area-inset-bottom));padding:12px;max-width:700px;margin:auto;z-index:60;border:1px solid var(--teal);border-radius:8px;background:var(--panel,#152234);color:var(--text,#fff)}
.shared-post-handoff-receipt p{margin:0 0 8px}
/* Preserve configured placements and consent reservation; an absent provider cannot serve an empty ad. */
.leagues-ad-slot[data-ad-request-state="disabled-unconfigured"],.pools-room-ad-slot[data-ad-request-state="disabled-unconfigured"],.shared-ad-slot[data-ad-request-state="disabled-unconfigured"]{display:none}

/* Task265 CC01: conversation rows fit their content; the remaining space belongs to the scrollable conversation. */
.crew-drawer .chat { display: flex; flex-direction: column; align-items: stretch; gap: 10px; overflow-y: auto; min-height: 0; }
.crew-drawer .msg { flex: 0 0 auto; min-height: 0; height: auto; overflow-wrap: anywhere; line-height: 1.5; }
.crew-drawer { height: 100dvh; padding-bottom: max(18px,env(safe-area-inset-bottom)); }
.crew-drawer .prompt-row { max-height: 160px; overflow-y: auto; }

/* Core may reconcile control attributes during a background update. Dialog/input safety applies in the same rendered frame; observer fallback remains for older engines. */
body:has(.modal-overlay,.wizard-overlay,dialog[open],.crew-drawer.open,input:focus,textarea:focus,select:focus,[contenteditable="true"]:focus) .crew-fab,body:has(.modal-overlay,.wizard-overlay,dialog[open],.crew-drawer.open,input:focus,textarea:focus,select:focus,[contenteditable="true"]:focus) .back-to-top{display:none!important}

/* R8: retain a reachable outside-tap gutter beside the ordinary CrewChief panel. */
@media (max-width: 600px) { .crew-drawer { width: min(420px, calc(100vw - 32px)); } }

/* SECTION: Task265 R9 bounded threads and compact semantic engagement controls. */
.tl-post-actions{display:flex;align-items:center;flex-wrap:wrap;gap:6px}
.tl-post-actions .tl-engagement-icon{display:inline-flex;align-items:center;justify-content:center;flex:0 0 44px;width:44px;min-width:44px;height:44px;min-height:44px;padding:8px;border-radius:8px}
.tl-post-actions .tl-engagement-icon[aria-pressed="true"]{color:var(--teal);background:var(--panel-2)}
.tl-engagement-icon:focus-visible,.tl-reaction-count:focus-visible{outline:2px solid var(--teal);outline-offset:2px}
.tl-post-actions .tl-reaction-count{width:auto;min-width:0;padding:4px 6px;flex:0 1 auto}
.tl-post-actions [data-hub-share-control]{margin-left:auto}
.tl-comment-header{display:flex;align-items:flex-start;justify-content:space-between;gap:8px;min-width:0}
.my-hub-thread{margin:12px 0;min-width:0;border-top:1px solid var(--line);padding-top:8px}
.my-hub-replies{margin-left:clamp(10px,3vw,24px);border-left:2px solid var(--line);padding-left:clamp(8px,2vw,16px);min-width:0}
.my-hub-replies:empty{display:none}
.my-hub-replies .my-hub-comment--reply{margin-left:0}
.my-hub-comment,.my-hub-copy{font-size:14px;font-weight:400;line-height:1.5;overflow-wrap:anywhere}
.my-hub-composer textarea{font-family:inherit;font-size:14px;font-weight:400;line-height:1.5}
.my-hub-reply-context,.my-hub-parent-status{font-size:12px;color:var(--muted);margin:4px 0}
.static-fallback-splash{height:clamp(160px,26vh,260px);object-fit:cover;object-position:center}
.messages-avatar>.member-avatar{width:100%;height:100%;flex-basis:100%}

/* R9: only individual-post headings; accepted Home and normal Hub banners retained. */
.hub-single-heading h1{font-size:22px;line-height:1.3;margin:8px 0}
.hub-single-post{max-width:960px;margin:auto}
.hub-single-post .my-hub-copy{font-size:14px;line-height:1.5;font-weight:400}

/* R9 D21: compact intended individual-post backdrop, with reserved fallback geometry. */
.hub-single-post .page-feature-hero{min-height:160px;height:clamp(160px,18vw,220px);max-height:220px}
.hub-single-post .page-feature-copy h1{font-size:22px;line-height:1.3}
.local-banner-fallback{position:absolute;inset:0;display:grid;place-items:center;padding:16px;background:var(--surface);color:var(--muted)}
img[data-local-banner-image][hidden]{display:none}

/* Task265 account password dialog stays outside shell refreshes; values remain in input nodes only. */
.account-password-overlay{position:fixed;inset:0;z-index:1200;display:flex;align-items:center;justify-content:center;background:#000b;padding:16px;overflow:auto}.account-password-dialog{width:min(100%,480px);max-height:calc(100dvh - 32px);overflow:auto;padding:20px;background:var(--panel,#172c34);border:1px solid #607580;border-radius:12px}.account-password-dialog label{display:block;margin:12px 0}.account-password-dialog input{display:block;width:100%;box-sizing:border-box}.account-password-dialog .field-error{color:#ffb8af;min-height:1em}.account-password-dialog .toolbar{flex-wrap:wrap}

/* PL-C: Reachable creation entry controls across the shared shell. */
[data-action="create-pool"] { min-height: 48px; }

/* Held-feature pages share the app typography, surface colors and responsive spacing. */
.coming-soon { width: min(900px, 100%); min-width: 0; margin: clamp(20px, 6vw, 72px) auto; padding: clamp(24px, 5vw, 64px); border: 1px solid var(--line); border-top: 3px solid var(--teal); border-radius: 8px; background: linear-gradient(135deg, var(--surface), var(--panel)); overflow-wrap: anywhere; }
.coming-soon--games { border-top-color: var(--amber); }
.coming-soon h1 { margin: 8px 0 20px; font-size: clamp(30px, 5vw, 54px); line-height: 1.1; }
.coming-soon p { max-width: 60ch; color: var(--muted); line-height: 1.65; }
.coming-soon .coming-soon-kicker { margin: 0; color: var(--teal); text-transform: uppercase; font-size: 13px; font-weight: 800; letter-spacing: .08em; }
.coming-soon--games .coming-soon-kicker { color: var(--amber); }

/* Existing assistant access remains in the route navigation when floating controls are hidden. */
.crew-page-access { flex: 0 0 auto; min-height: 44px; padding: 8px 12px; border: 1px solid var(--teal); border-radius: 6px; background: var(--surface); color: var(--text); font: inherit; font-weight: 800; cursor: pointer; }
