/* HoraGP 3 · Revisión editorial. A: grafito; B: carbón y papel cálido. */
:root { --page:#15181b; --surface:#1c2125; --raised:#252b30; --ink:#f1f0eb; --muted:#b7c0c5; --rule:#3c454c; --accent:#ef454d; --green:#90d3ab; --gold:#d9b56a; --radius-feature:10px; --radius-card:5px; --radius-control:4px; --shadow-feature:none; --shadow-card:none; --asfalto:var(--page); --noche:var(--surface); --grafito:var(--raised); --tiza:var(--ink); --niebla:var(--muted); --linea:var(--rule); --linea-suave:#dbe0e51c; --senal:var(--ink); --button:#d82e38; --finished:#ef9ca1; --pending:var(--green); --ongoing:#e5c079; --text:Arial,Helvetica,sans-serif; }
html[data-editorial="warm"] { --page:#24221f; --surface:#2e2b26; --raised:#3a352d; --ink:#f3ecdf; --muted:#c5bba9; --rule:#5a5145; --accent:#e5574b; --green:#a0c8a7; --gold:#d9b56a; }
body { background:var(--page); color:var(--ink); font:400 16px/1.55 var(--text); padding-bottom:0; }
h1,h2,h3,h4,p { overflow-wrap:normal; }
h1,h2,h3 { letter-spacing:-.025em; }
h2,.section-head h2,.more-head h2 { font:600 clamp(23px,2.2vw,30px)/1.2 var(--text); }
a { text-underline-offset:4px; }
button,input,select { font-family:inherit; }
button:focus-visible,a:focus-visible,summary:focus-visible,input:focus-visible { outline:2px solid var(--accent); outline-offset:4px; }
.btn { min-height:44px; border-radius:4px; font-size:14px; line-height:1.3; padding:11px 16px; font-weight:600; }
.btn-primary { background:var(--button); border-color:var(--button); }
.btn-primary:hover { background:#b7212a; border-color:#b7212a; }
.btn-quiet,.btn-ghost { color:var(--ink); border-color:var(--rule); }
.more-link,.link-button { color:var(--ink); font-size:14px; font-weight:500; }
.more-link:hover,.link-button:hover { color:var(--accent); }
.topbar { background:#111518; color:var(--ink); border-bottom:1px solid var(--rule); position:sticky; top:0; z-index:25; }
.topbar .brand-logo { width:132px; }
.topbar .mainnav a,.topbar .mainnav a:hover,.topbar .mainnav a[aria-current="page"] { color:var(--ink); font-size:15px; }
.topbar .mainnav a[aria-current="page"]::after { background:var(--accent); }
.zone-chip { background:var(--raised); color:var(--ink); border-color:#5d6971; border-radius:4px; padding:8px 12px; }
.zone-chip:hover { background:#303a41; border-color:#9cabb4; }
.zone-chip-label,.zone-chip-offset,.zone-chip-caret { color:var(--muted); font-size:13px; }
.zone-chip-city { color:var(--ink); font-size:14px; }
.zone-chip-label { font-size:13px; }
.hero { background:var(--page); padding:24px 0 0; }
.hero-stage { border-radius:8px; box-shadow:none; min-height:430px; grid-template-columns:minmax(0,1fr) 300px 24px; }
body.page-gp .hero-stage { background-size:calc(100% - 280px) auto; }
.hero-id,body.page-gp .hero-id { display:flex; flex-direction:column; justify-content:flex-end; gap:10px; padding:150px 28px 28px; }
.hero-q { font-size:15px; line-height:1.45; margin:0 0 6px; color:#e4e8ea; }
.hero-round { font-size:13px; letter-spacing:.06em; line-height:1.5; }
.gp { gap:12px; }
.gp-name { font:650 clamp(30px,3.4vw,44px)/1.06 var(--text); max-width:19ch; letter-spacing:-.035em; }
.gp-flag .flag { width:34px; }
.gp-place { color:#d4dce0; font-size:14px; line-height:1.55; max-width:44ch; }
.hero .board { border-radius:5px; padding:22px; background:#151b20ed; color:var(--ink); border:1px solid #56626b; box-shadow:none; margin:20px 0; }
.board-date,.board-zone { color:var(--ink); font-size:14px; font-weight:400; line-height:1.45; }
.board-kicker { color:var(--muted); font-size:13px; letter-spacing:.07em; margin-bottom:6px; }
.board-time { font:650 76px/1 var(--text); color:var(--ink); margin:12px 0 8px; letter-spacing:-.065em; }
.board-local { display:none; }
.change-city { display:inline-flex; align-items:center; min-height:38px; padding:4px 0; border:0; border-bottom:1px solid #9caeb5; color:var(--ink); background:none; font-size:14px; cursor:pointer; }
.change-city:hover { color:var(--accent); border-color:var(--accent); }
.board-map { display:block; border-top:1px solid var(--rule); margin-top:14px; padding-top:10px; }
.board-map summary { cursor:pointer; color:var(--muted); font-size:13px; }
.board-map .hero-circuit { height:78px; margin-top:12px; }
.board-map .circuit { filter:grayscale(1) brightness(2.5); }
.board-circuit { font-size:13px; line-height:1.5; color:var(--muted); border-color:var(--rule); }
.board-note { font-size:13px; color:var(--muted); }
.strip { grid-template-columns:minmax(0,1fr) auto auto; grid-template-areas:"next countdown actions"; margin:0; padding:20px 0; border:0; border-top:1px solid var(--rule); border-radius:0; background:none; box-shadow:none; gap:20px; }
.next-name { font-size:18px; }
.next-kicker,.next-when,.cd i,.live-tag { font-size:13px; }
.next-label { gap:4px; }
.next-when { color:var(--muted); }
.cd b { font:600 25px/1 var(--text); color:var(--ink); }
.countdown { gap:4px; }
.cd { padding-inline:9px; }
.hero-actions { gap:10px; }
.hero .zone-line,.page-gp #contenido>.wrap:first-child { display:none; }
.race-note { font-size:14px; line-height:1.55; border-radius:0; background:var(--raised); color:var(--ink); border-color:var(--accent); }
.weekend { color:var(--ink); background:var(--page); padding-block:32px; border-bottom:1px solid var(--rule); }
.section-head { align-items:baseline; margin-bottom:22px; gap:18px; }
.section-meta,.weekend .section-meta,.weekend .footnote,.weekend .status-legend,.gp-source,.history-source { color:var(--muted); font-size:13px; line-height:1.6; }
.days { gap:28px; }
.day-col,.day-col:first-child,.day-col:last-child,.weekend .day-col { border:0; border-top:1px solid var(--rule); background:none; border-radius:0; padding:16px 0 0; }
.day-head,.weekend .day-head { font-size:15px; color:var(--ink); font-weight:500; margin-bottom:10px; }
.session-row { padding:11px 10px; border-radius:0; gap:4px 14px; }
.session-name,.weekend .session-row.is-finalizada .session-name { color:var(--ink); font-size:15px; font-weight:500; }
.session-date,.weekend .session-date { color:var(--muted); font-size:13px; line-height:1.45; margin-top:4px; }
.session-row .session-state { font-size:13px; font-weight:400; }
.session-time,.weekend .session-row.is-finalizada .session-time { font:600 26px/1.2 var(--text); color:var(--ink); }
.weekend .session-row:hover { background:var(--raised); }
.weekend .session-row.is-siguiente { background:#31544035; }
.weekend .session-row.is-en-curso,.page-gp .weekend .session-row.is-imminent { background:#8b6e2930; }
.weekend .is-siguiente .session-state,.weekend .is-programada .session-state { color:var(--green); }
.weekend .is-finalizada .session-state { color:var(--finished); }
.weekend .is-en-curso .session-state,.page-gp .weekend .session-row.is-imminent .session-state { color:var(--ongoing); }
.status-legend { font-size:13px; gap:16px; }
.gp-references { background:var(--surface); }
.reference-intro { font-size:15px; color:var(--muted); max-width:82ch; }
.reference-grid { gap:0; margin-top:24px; }
.reference-grid .day-col { border:0; border-left:1px solid var(--rule); padding:0 18px; }
.reference-grid .day-col:first-child { padding-left:0; border:0; }
.reference-time { font-size:32px; margin:14px 0 6px; }
.reference-date,.reference-details { color:var(--muted); font-size:13px; }
.reference-details summary { min-height:32px; }
.gp-details { background:var(--page); padding-block:32px; }
.gp-circuit-grid { align-items:start; gap:32px; }
.gp-info-card,.gp-track-card { border:0; border-top:1px solid var(--rule); border-radius:0; background:none; color:var(--ink); padding:22px 0; }
.gp-info-card h3,.gp-track-card h3 { color:var(--ink); font:600 23px/1.25 var(--text); }
.gp-detail-kicker { font-size:13px; color:var(--muted); letter-spacing:.05em; }
.gp-description { color:var(--muted); font-size:16px; line-height:1.7; max-width:66ch; }
.gp-circuit-type,.gp-track-tags li { color:var(--muted); background:var(--surface); border-radius:3px; font-size:13px; }
.gp-facts { border-color:var(--rule); gap:20px; }
.gp-facts dt,.gp-track-meta dt { color:var(--muted); font-size:13px; }
.gp-facts dd { color:var(--ink); font-size:22px; }
.gp-track-stage,.page-gp-miami .gp-track-stage { border-radius:4px; border:0; background:var(--surface); height:280px; }
.gp-track-image { filter:grayscale(1) brightness(2.5); padding:20px; }
.gp-track-meta { border-color:var(--rule); gap:16px; }
.gp-track-meta dd { color:var(--ink); font-size:15px; }
.gp-lap-record { border-color:var(--rule); }
.gp-lap-record strong { font-size:26px; color:var(--ink); }
.gp-lap-record p,.gp-lap-record a { color:var(--muted); font-size:13px; }
.gp-extra-grid { gap:32px; }
.gp-editorial { justify-content:flex-start; background:none; }
.gp-related { padding-block:16px 32px; }
.gp-result .history-podium { display:block; }
.gp-result .history-podium li { border-color:var(--rule); padding-block:10px; }
.gp-result .history-podium strong { font-size:16px; color:var(--ink); }
.history-edition,.gp-previous { padding:12px 0; border:0; border-radius:0; background:none; }
.gp-result .history-edition h4 { color:var(--ink); }
.history-podium .podium-meta { color:var(--muted); font-size:13px; }
.history-podium .podium-place { color:var(--gold); }
.last-race { background:none; border:0; border-top:1px solid var(--rule); border-radius:0; padding:24px 0; color:var(--ink); }
.last-race h3,.last-race .last-podium strong { color:var(--ink); }
.last-race .last-podium li { background:var(--surface); border:0; border-radius:4px; }
.last-race-head time,.last-podium .podium-label,.last-podium .podium-meta { color:var(--muted); font-size:13px; }
.last-podium .podium-1 strong { font-size:22px; }
.last-podium strong { font-size:18px; }
.last-race .editorial-kicker { color:var(--muted); font-size:13px; }
.result-pending { color:var(--muted); font-size:16px; }
.more-block { border:0; border-top:1px solid var(--rule); border-radius:0; box-shadow:none; background:none; padding:24px 0; }
.more-grid { gap:40px; }
.mini-cal li,.mini-standings li { border-radius:0; background:none; border-bottom:1px solid var(--rule); }
.mini-name { font-size:16px; }.mini-date,.mini-name small,.mini-team,.mini-pts small,.mini-note { font-size:13px; }
.about { background:var(--surface); }.about p { font-size:16px; }
.page-head>.wrap { border:0; border-radius:6px; box-shadow:none; padding:28px; min-height:210px; }
.page-calendario .page-head>.wrap { min-height:220px; }
.page-head h1 { font-size:clamp(30px,4vw,44px); }
.page-lead { font-size:16px; line-height:1.6; max-width:60ch; }
.editorial-kicker { font-size:13px; color:var(--muted); letter-spacing:.06em; }
.page-calendario .month-head { font:600 26px/1.2 var(--text); text-transform:none; }
.page-calendario .month-heading p { font-size:13px; color:var(--muted); }
.page-calendario .month-current .month-head { color:var(--green); }
.page-calendario .month { margin-bottom:36px; }
.page-calendario .race-list { gap:0; border-block:1px solid var(--rule); }
.page-calendario .race-card { border:0; border-bottom:1px solid var(--rule); border-radius:0; padding:14px 16px; background:var(--surface); box-shadow:none; }
.page-calendario .race-card:last-child { border-bottom:0; }
.page-calendario .race-card.is-proximo { background:#1c352d; border-left:3px solid var(--green); padding-left:13px; }
.page-calendario .race-card.is-en-curso { background:#373122; }
.page-calendario .race-card:hover { background:var(--raised); }
.page-calendario .race-card .race-row { min-height:62px; }
.page-calendario .race-card .race-title { font-size:16px; font-weight:600; color:var(--ink); }
.page-calendario .race-card .race-where { font-size:13px; color:var(--muted); margin-top:4px; }
.page-calendario .race-card .race-time { font-size:25px; color:var(--ink); }
.page-calendario .race-card .race-date { font-size:13px; color:var(--muted); }
.page-calendario .race-card .state-tag { border:0; border-radius:0; padding:0; background:none; font-size:13px; font-weight:600; }
.page-calendario .race-card .race-status { gap:6px; }
.page-calendario .race-extra,.page-calendario .winner-label { font-size:13px; }
.page-calendario .race-winner strong { font-size:14px; }
.page-calendario .race-winner .trophy-icon { width:18px; height:18px; }
.page-calendario .race-card .race-page-link { border:0; border-bottom:1px solid #77848a; border-radius:0; padding:6px 0; margin:0; font-size:14px; min-height:38px; min-width:0; color:var(--ink); width:max-content; justify-self:end; }
.page-calendario .race-card.is-finalizado .state-tag,.page-calendario .race-card.is-proximo .state-tag,.page-calendario .race-card.is-en-curso .state-tag { background:none; }
.page-calendario .race-winner { color:var(--gold); }
.season-legend { font-size:13px; }
.calendar-archive { margin-block:0 36px; }
.calendar-changes { list-style:none; padding:0; margin:0; border-block:1px solid var(--rule); }
.calendar-change { display:grid; grid-template-columns:26px minmax(0,1fr); gap:14px; padding:18px 16px; color:var(--muted); border-bottom:1px solid var(--rule); }
.calendar-change:last-child { border:0; }.change-cross { font-size:28px; line-height:1; }
.calendar-change h3 { font-size:17px; color:var(--muted); margin:4px 0; }.calendar-change p { font-size:14px; line-height:1.6; margin:4px 0; }
.calendar-change .change-status { font-size:13px; }.change-links { display:flex; flex-wrap:wrap; gap:14px; margin-top:10px; font-size:14px; }.change-links summary { cursor:pointer; }
.sheet,.sheet-wide { background:var(--page); color:var(--ink); border:1px solid var(--rule); border-radius:6px; max-height:calc(100dvh - 40px); box-shadow:0 12px 60px #0006; }
.sheet-panel { padding:24px; }.sheet-x { position:sticky; top:0; float:right; margin:0 0 8px 12px; width:40px; height:40px; border:1px solid var(--rule); border-radius:4px; background:var(--raised); z-index:4; }
.sheet h2 { font:600 26px/1.15 var(--text); }.race-sheet-head { padding-right:8px; gap:14px; margin-bottom:12px; }.sheet-kicker,.muted,.small { font-size:14px; color:var(--muted); }
.race-detail-top { display:grid; grid-template-columns:minmax(0,1fr) 170px; gap:24px; align-items:center; padding:16px 0; border-block:1px solid var(--rule); margin-block:16px; }
.race-detail-top .race-sheet-time { padding:0; background:none; border:0; border-radius:0; min-height:0; }.sheet-time { font:600 52px/1 var(--text); margin:10px 0; }
.circuit-card { background:var(--surface); border:0; border-radius:4px; padding:12px; margin:0; }.circuit-card .sheet-circuit { filter:grayscale(1) brightness(2.5); max-height:100px; width:100%; margin:8px 0; }.circuit-card-label,.circuit-card small { font-size:13px; color:var(--muted); }
.sheet-sub { font-size:17px; margin:20px 0 8px; }.sheet-sessions li { padding:11px 0; border-color:var(--rule); gap:12px; }.sheet-sessions .s-name { font-size:15px; }.sheet-sessions .s-state { font-size:13px; line-height:1.5; }.sheet-sessions .s-date { font-size:13px; }.sheet-sessions .s-time { font-size:23px; }
.sheet-actions { border-top:1px solid var(--rule); margin-top:24px; padding-top:16px; display:flex; gap:10px; align-items:center; }.sheet-actions .btn { margin:0; }
.zone-item { border-radius:4px; font-size:15px; }.zone-item-meta,.zone-item-badge,.zone-detected,.zone-item-zone { font-size:13px; }.zone-item:hover,.zone-item[aria-pressed=true] { background:var(--raised); }.zone-dialog .sheet-panel { background:var(--page); }.zone-dialog .search-field { border-radius:4px; }
.page-mundial .page-head>.wrap { min-height:200px; padding-bottom:28px; }
.championship-summary { transform:none; margin:20px 0 28px; gap:16px; }.championship-card,.championship-card:first-child { border-radius:4px; padding:20px; background:var(--surface); color:var(--ink); border:1px solid var(--rule); }.championship-card:first-child { border-top:2px solid var(--gold); }.championship-card strong { color:var(--ink); }.championship-card p,.championship-card span { font-size:14px; }.championship-card .championship-points { font-size:30px; }
.tabs { border:0; border-bottom:1px solid var(--rule); border-radius:0; background:none; }.tabs .tab { font-size:15px; padding:14px 18px; border-radius:0; }.tab[aria-selected=true] { background:var(--raised); border-color:var(--accent); color:var(--ink); }
.st-table { color:var(--ink); background:var(--surface); border-color:var(--rule); }.table-wrap { border-radius:4px; border-color:var(--rule); }.st-table th,.st-table td { padding-block:13px; border-color:var(--rule); }.st-table th { font-size:13px; }.st-table td { font-size:15px; }.st-table tr:hover { background:var(--raised); }
.title-fight-head { padding:28px 0 18px; border-bottom:1px solid var(--rule); }.title-fight-head h2 { font-size:30px; margin:10px 0 16px; }.fight-intro { font-size:18px; line-height:1.6; max-width:70ch; }.fight-context { font-size:14px; color:var(--muted); margin-top:16px; }
.title-candidates { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; margin:24px 0; }
.title-candidate { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:6px 14px; background:var(--surface); color:var(--ink); border:1px solid var(--rule); border-radius:4px; padding:18px; text-align:left; cursor:pointer; }
.title-candidate[aria-pressed=true] { border-color:var(--accent); border-left:3px solid var(--accent); padding-left:16px; }.title-candidate:hover { background:var(--raised); }
.candidate-position { grid-column:1/-1; color:var(--muted); font-size:13px; }.title-candidate strong { font-size:18px; font-weight:600; }.candidate-team { grid-column:1; color:var(--muted); font-size:14px; }.candidate-points { grid-column:2; grid-row:2/4; align-self:center; font-size:27px; font-weight:600; }.candidate-points small { font-size:13px; font-weight:400; }.title-candidate.is-eliminated { color:var(--muted); background:none; }
.math-analysis { border:0; border-left:3px solid var(--accent); border-radius:0; background:var(--surface); padding:24px; margin:26px 0; }.math-analysis h3 { font-size:26px; }.math-analysis p { font-size:16px; line-height:1.65; color:var(--ink)!important; }.math-analysis .editorial-kicker,.math-analysis .analysis-bound { font-size:13px; color:var(--muted)!important; }.driver-outlook { border-top:1px solid var(--rule); padding-top:16px; margin-top:18px; }
.eliminated-drivers,.math-comparison,.math-simulation,.math-rules { padding:18px 0; border-top:1px solid var(--rule); margin:0; font-size:14px; color:var(--muted); }.eliminated-drivers summary,.math-comparison summary,.math-simulation summary,.math-rules summary { cursor:pointer; color:var(--ink); font-size:15px; min-height:32px; }.math-simulation input { width:90px; border:1px solid var(--rule); border-radius:4px; background:var(--raised); color:var(--ink); font-size:16px; padding:8px; margin:12px; }.data-warning { border:0; border-left:2px solid var(--ongoing); border-radius:0; background:var(--surface); font-size:14px; padding:16px; }
.footer { background:#111518; color:var(--muted); }.footer::before { background:var(--rule); height:1px; }.footer-nav a,.disclaimer { font-size:14px; }
html[data-editorial="warm"] .hero .board { background:#eee6d7f5; color:#28251f; border-color:#e5d8c2; }
html[data-editorial="warm"] .board-date,html[data-editorial="warm"] .board-time,html[data-editorial="warm"] .board-zone,html[data-editorial="warm"] .board .change-city { color:#28251f; }
html[data-editorial="warm"] .board-kicker,html[data-editorial="warm"] .board-circuit,html[data-editorial="warm"] .board-map summary { color:#5c5548; }
html[data-editorial="warm"] .board-map,html[data-editorial="warm"] .board-circuit { border-color:#c9bfad; }
html[data-editorial="warm"] .board-map .circuit { filter:grayscale(1) brightness(.4); }
@media(max-width:1000px) {
 .hero-stage { grid-template-columns:minmax(0,1fr) 280px 20px; }.hero-id,body.page-gp .hero-id { padding:130px 24px 24px; }.hero .board { padding:20px; }.board-time { font-size:68px; }.strip { grid-template-columns:1fr auto; grid-template-areas:"next countdown" "actions actions"; }
 .title-candidates { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media(max-width:900px) and (min-width:761px) {
 .page-calendario .race-card { grid-template-columns:minmax(0,1fr) auto; gap:14px; }.page-calendario .race-card .race-row { grid-column:1; grid-template-columns:28px minmax(0,1fr) 84px; grid-template-areas:"flag main when" "flag status when"; gap:6px 12px; }.page-calendario .race-card .race-page-link { grid-column:2; grid-row:1; align-self:center; }
}
@media(max-width:760px) {
 body { padding-bottom:0; }.topbar-inner { height:auto; min-height:64px; display:grid; grid-template-columns:auto minmax(0,1fr); gap:4px 16px; padding-top:10px; padding-bottom:0; position:relative; }.topbar .brand-logo { width:112px; }.topbar .zone-chip { justify-self:end; padding:7px 9px; min-height:40px; gap:6px; min-width:0; max-width:100%; }.zone-chip-label,.zone-chip-offset { display:none; }.zone-chip-city { font-size:13px; }.zone-chip .flag { width:20px; }.zone-chip-caret { width:9px; }
 .topbar .mainnav { position:static; grid-column:1/-1; grid-row:2; display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); height:auto; inset:auto; margin:0; padding:0; background:none; border:0; border-top:1px solid #ffffff12; width:100%; box-shadow:none; }.topbar .mainnav a { min-height:44px; padding:10px 8px; font-size:14px; justify-content:center; }.topbar .mainnav a svg { display:none; }.topbar .mainnav a[aria-current=page]::after { display:none; }.topbar .mainnav a[aria-current=page] { color:var(--ink); background:#ffffff06; box-shadow:inset 0 -2px var(--accent); }
 .hero { padding-top:12px; }.hero-stage,body.page-gp .hero-stage,body.page-gp-miami .hero-stage.gp-hero-miami,body.page-inicio .hero-stage[class*="gp-hero-"] { display:grid; grid-template-columns:1fr; min-height:0; border-radius:6px; background-position:center top; background-size:100% 210px,100% auto; background-repeat:no-repeat; background-color:var(--page); }
 .hero-id,body.page-gp .hero-id,body.page-inicio .hero-stage.gp-hero-estados-unidos .hero-id { padding:122px 18px 18px; gap:8px; min-height:0; background:linear-gradient(180deg,transparent 65px,#15181b85 125px,var(--page) 255px); }
 .hero-q { font-size:14px; margin:0; }.hero-round { font-size:13px; letter-spacing:.025em; }.gp-name { font-size:30px; line-height:1.08; max-width:19ch; }.gp-flag { padding-top:3px; }.gp-flag .flag { width:28px; }.gp { gap:10px; }.gp-place { font-size:14px; line-height:1.5; max-width:42ch; }.hero-id .more-link { font-size:14px; }
 .hero .board { display:grid; grid-template-columns:minmax(0,1fr) auto; grid-template-areas:"date time" "zone time" "city city" "note note" "map map"; gap:4px 12px; grid-column:1; margin:0 18px 18px; padding:14px 0 0; border:0; border-top:1px solid var(--rule); border-bottom:1px solid var(--rule); border-radius:0; background:var(--surface); box-shadow:none; }
 .board-date { grid-area:date; font-size:14px; margin:0; }.board-kicker { font-size:13px; margin-bottom:2px; }.board-time { grid-area:time; font-size:62px; margin:0; align-self:center; padding-right:8px; }.board-zone { grid-area:zone; font-size:13px; margin:0; }.change-city { grid-area:city; justify-self:start; font-size:14px; margin-top:4px; }.board-note { grid-area:note; }.board-map { grid-area:map; display:block; padding-block:10px; margin:8px 0 0; }.board-map .hero-circuit { height:65px; }.board-circuit { display:none; }
 .strip { padding:16px 0; gap:14px; grid-template-columns:minmax(0,1fr) auto; grid-template-areas:"next countdown" "actions actions"; }.next-name { font-size:16px; }.next-when { font-size:13px; }.countdown { gap:0; align-self:start; }.cd { padding-inline:5px; }.cd b { font-size:22px; }.cd i { font-size:13px; }.cd-s { display:none; }.hero-actions { width:100%; display:flex; gap:10px; }.hero-actions .btn { flex:1; padding-inline:10px; font-size:14px; }
 .section-head { display:block; margin-bottom:18px; }.section-head h2 { font-size:24px; }.section-meta { margin-top:8px; }.weekend { padding-block:26px; }.days { display:block; }.days .day-col { margin-top:22px; }.days .day-col:first-child { margin-top:0; }.session-row { padding:10px; }.session-time { font-size:25px; }.status-legend { gap:8px 14px; font-size:13px; }
 .reference-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:22px 0; }.reference-grid .day-col { padding:0 12px; margin:0; }.reference-grid .day-col:nth-child(odd) { border-left:0; padding-left:0; }.reference-grid .day-head { font-size:14px; line-height:1.55; }.reference-time { font-size:30px; }.reference-date { font-size:13px; line-height:1.5; }
 .gp-circuit-grid,.gp-extra-grid { display:block; }.gp-info-card,.gp-track-card { padding-block:22px; margin:0; }.gp-description { font-size:16px; }.gp-track-stage { height:230px; }.gp-facts dd { font-size:21px; }.gp-related { display:flex; flex-wrap:wrap; gap:12px; }.gp-related .btn { font-size:14px; }
 .page-head>.wrap,.page-calendario .page-head>.wrap,.page-mundial .page-head>.wrap { padding:24px 20px; min-height:185px; border-radius:4px; }.page-head h1 { font-size:34px; }.page-lead { font-size:16px; }.page-calendario .page-head .zone-line { padding:0; border:0; border-radius:0; background:none; font-size:13px; }
 .page-calendario .race-card { grid-template-columns:1fr; padding:12px; gap:0; }.page-calendario .race-card.is-proximo { padding-left:9px; }.page-calendario .race-card .race-row { grid-column:1; grid-template-columns:24px minmax(0,1fr) 76px; grid-template-areas:"flag main when" "flag status when"; gap:6px 10px; min-height:0; }.page-calendario .race-card .race-status { margin:0; display:flex; gap:6px 12px; align-items:center; }.page-calendario .race-card .race-when { text-align:right; justify-items:end; align-self:start; }.page-calendario .race-card .race-time { font-size:24px; }.page-calendario .race-card .race-date { font-size:13px; line-height:1.5; }.page-calendario .race-card .race-title { font-size:16px; }.page-calendario .race-card .race-where { font-size:13px; }.page-calendario .race-card .race-page-link { grid-column:1; margin-top:6px; padding:5px 0; font-size:14px; min-height:36px; }.page-calendario .race-card .race-winner { display:flex; }.winner-label { display:none!important; }
 .page-calendario .month-heading { display:flex; flex-wrap:wrap; gap:10px; }.page-calendario .month-head { font-size:25px; }.page-calendario .month-heading p { margin:0; }.calendar-change { padding:16px 8px; gap:8px; grid-template-columns:22px minmax(0,1fr); }
 .sheet,.sheet-wide { width:calc(100vw - 20px); max-height:calc(100dvh - 24px); margin:auto; border-radius:5px; }.sheet-panel { padding:16px; }.sheet h2 { font-size:25px; }.race-detail-top { grid-template-columns:minmax(0,1fr) 116px; gap:12px; }.sheet-time { font-size:44px; }.circuit-card { padding:8px; }.circuit-card small { display:none; }.sheet-sessions li { gap:8px; grid-template-columns:minmax(0,1fr) 62px 66px; }.sheet-sessions .s-date { font-size:13px; }.sheet-sessions .s-time { font-size:22px; }.sheet-actions { display:grid; grid-template-columns:1fr 1fr; gap:10px; }.sheet-actions .btn:last-child { grid-column:1/-1; }
 .championship-summary { grid-template-columns:1fr; gap:8px; margin:16px 0 24px; }.championship-card,.championship-card:first-child { padding:16px; min-height:0; }.tabs .tab,.page-mundial .tabs .tab { font-size:14px; padding:12px 8px; min-width:0; }.tabs { margin-top:12px; }.title-fight-head { padding-top:24px; }.title-fight-head h2 { font-size:27px; }.fight-intro { font-size:17px; }.title-candidates { gap:10px; margin:20px 0; }.title-candidate { display:flex; flex-direction:column; gap:5px; padding:14px; }.title-candidate[aria-pressed=true] { padding-left:12px; }.title-candidate strong { font-size:17px; line-height:1.25; }.candidate-points { font-size:26px; margin-top:6px; }.candidate-team { font-size:13px; }.math-analysis { padding:20px 18px; }.math-analysis h3 { font-size:25px; }.math-analysis p { font-size:16px; }
 .last-race { padding:22px 0; }.last-race .last-podium li { padding:12px; }.last-podium .podium-1 strong { font-size:20px; }.more-grid { gap:0; }.page-inicio .more-block { padding:22px 0; }.footer-inner { gap:18px; }.about p { font-size:16px; }
 html[data-editorial="warm"] .hero .board { padding-inline:12px; }
}
@media(prefers-reduced-motion:reduce) { * { scroll-behavior:auto!important; } }
/* Correcciones de contraste en componentes heredados. */
.editorial-kicker,.hero-round,.board-kicker,.next-kicker,.day-head,.gp-detail-kicker,.sheet-kicker { font-family:var(--text); }
.home-schedule-intro,.weekend .home-schedule-intro { color:var(--muted); font-size:15px; line-height:1.6; }
.gp-source a,.gp-previous summary,.gp-track-card>figcaption p,.gp-result .history-edition-head time,.gp-result .podium-meta,.gp-lap-record p,.gp-lap-record a { color:var(--muted); font-size:13px; }
.gp-result .history-edition-head h3,.gp-result .history-edition h3 { color:var(--ink); }
.gp-result .history-edition-head,.gp-result .history-podium li+li,.gp-previous { border-color:var(--rule); }
.last-race .more-link { color:var(--ink); font-size:14px; }.last-race .history-source { color:var(--muted); font-size:13px; }
.page-inicio .more-block { padding:24px 0; border:0; border-top:1px solid var(--rule); background:none; }
.page-inicio .mini-list a,.page-inicio .mini-standings li { min-height:64px; padding:12px 0; border-radius:0; background:none; border-bottom:1px solid var(--rule); }
.page-inicio .mini-standings li:first-child { background:none; box-shadow:none; }
.page-inicio .mini-name { font-size:16px; }.page-inicio .mini-name small { display:block; font-size:13px; margin-top:4px; }.page-inicio .mini-name { display:block; }.page-inicio .mini-time,.page-inicio .mini-pts { font-style:normal; font-family:var(--text); }
.championship-card p,.championship-card small { color:var(--muted); font-size:13px; }.championship-card h3 { font-size:18px; }.championship-card strong { font-size:30px; }
.tabs .tab[aria-selected=true] { box-shadow:inset 0 -2px var(--accent); border-bottom:0; }
@media(max-width:760px) { .hero .strip { margin-inline:16px; }.hero .hero-actions .btn { font-size:14px; }.page-inicio .more-block { padding:22px 0; } }
.page-inicio .mini-name { white-space:normal; overflow:visible; text-overflow:clip; }.page-inicio .mini-list a { align-items:center; }.page-inicio .mini-name small { color:var(--green); }
.math-analysis { scroll-margin-top:96px; }.replacement-context { font-size:14px; color:var(--muted); }.replacement-context a { color:var(--ink); }
.title-conditions { margin-top:16px; }.title-conditions ul { padding-left:22px; }.title-conditions li { margin:8px 0; font-size:16px; }
.last-race .history-source a,.gp-track-card .gp-lap-record p { color:var(--muted); font-size:13px; }
.race-sheet-time .change-city { grid-area:auto; justify-self:start; }
.sheet .circuit-card { display:block; }
.sheet .circuit-card .sheet-circuit { display:block; }
.sheet-sessions { border-radius:4px; background:none; padding:0 10px; }
.sheet-actions .btn { min-width:0; white-space:normal; text-align:center; line-height:1.4; }
@media(max-width:760px) {
 .sheet-actions { grid-template-columns:minmax(0,1fr) minmax(0,1fr); align-items:stretch; }
 .sheet-actions .btn { padding:10px 8px; }
}
@media(max-width:760px) {
 .hero-id,body.page-gp .hero-id,body.page-inicio .hero-stage.gp-hero-estados-unidos .hero-id { padding-top:92px; }
}
/* Opción A aprobada: ajustes de contraste y respiración, sin cambiar estructura. */
.weekend:not(.gp-references) .day-head { display:inline-block; padding:6px 10px; border:1px solid #ffffff16; border-radius:4px; background:#252d33; color:#f1f0eb; font-size:14px; font-weight:600; letter-spacing:.015em; margin-bottom:14px; }
.weekend:not(.gp-references) .day-col { padding-top:14px; }
.weekend .session-row { padding-block:14px; }
.weekend .session-date { color:#abb6bf; }
.weekend .session-state { margin-top:3px; }
.weekend .session-row.is-siguiente { background:#31544020; }
.page-inicio .weekend .section-head h2,.page-gp .weekend .section-head h2,.page-inicio .more-head h2 { padding-left:12px; border-left:3px solid #c6424b; }
.page-inicio .last-race { background:linear-gradient(115deg,#292923,#20262b 70%); padding:26px; border:1px solid #ffffff16; border-top:2px solid #b9a27b; border-radius:5px; }
.last-race .last-race-head h3 { font-size:clamp(25px,2.5vw,32px); margin-top:6px; }
.last-race .last-race-head time { display:inline-block; margin-top:8px; color:#d0d4d3; }
.last-race .last-podium { gap:16px; margin-top:22px; }
.last-race .last-podium li { background:#15191d66; padding:18px 16px; border-top:2px solid #b5c3ce; }
.last-race .last-podium .podium-1 { background:#d9b56a0c; border-top-color:#d9b56a; }
.last-race .last-podium .podium-3 { border-top-color:#cf9b7c; }
.last-race .last-podium .podium-place { color:#c2ced6; font-size:28px; }
.last-race .last-podium .podium-1 .podium-place { color:#e2c787; }
.last-race .last-podium .podium-3 .podium-place { color:#dfac8f; }
.last-race .last-podium .podium-label { font-size:13px; letter-spacing:.08em; }
.page-inicio .mini-list .mini-next a { padding-left:16px; background:#90d3ab08; }
.page-inicio .mini-list .mini-next .mini-name small { margin-left:0; }
.page-mundial .page-head>.wrap { min-height:260px; padding:40px 44px; background-image:linear-gradient(90deg,#11191ff7 0%,#11191fed 38%,#11191f66 65%,#11191f15),url('/assets/images/standings-driver.webp?v=3.1.0'); background-position:center,72% 42%; }
.page-mundial .page-head .editorial-kicker { max-width:46ch; margin-bottom:14px; }
.page-mundial .page-head h1 { margin-bottom:16px; }
.page-mundial .page-head .page-lead { max-width:43ch; color:#d3dbe0; }
.page-mundial .championship-summary { margin:24px 0 28px; }
@media(max-width:760px) {
 .page-inicio .last-race { padding:20px 16px; }
 .last-race .last-podium { gap:10px; }
 .last-race .last-podium li { padding:16px 12px; }
 .page-mundial .page-head>.wrap { min-height:250px; padding:28px 22px; background-position:center,60% center; background-image:linear-gradient(90deg,#11191ff5,#11191fcb 55%,#11191f70),url('/assets/images/standings-driver.webp?v=3.1.0'); }
 .page-mundial .page-head .page-lead { max-width:30ch; }
 .page-mundial .championship-summary { margin:20px 0 24px; }
}
