:root {
  color-scheme: light;
  --green: #08a31a;
  --green-dark: #067b14;
  --ink: #111714;
  --muted: #637069;
  --line: #dfe6e1;
  --surface: #ffffff;
  --wash: #f3f7f4;
  --shadow: 0 14px 40px rgba(11, 33, 18, .1);
}

* { box-sizing: border-box; }
html { background: var(--wash); scroll-behavior: smooth; }
body { margin: 0; color: var(--ink); background: var(--wash); font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; }
button, input, select { font: inherit; }

.hero {
  position: relative;
  overflow: hidden;
  padding: 20px max(20px, calc((100% - 1180px) / 2));
  color: #fff;
  background:
    linear-gradient(115deg, rgba(4, 11, 7, .98) 0 44%, rgba(4, 72, 15, .96) 75%, rgba(7, 163, 26, .92)),
    repeating-linear-gradient(135deg, transparent 0 24px, rgba(255,255,255,.04) 24px 48px);
  border-bottom: 5px solid var(--green);
}
.hero::after { content: ""; position: absolute; width: 420px; height: 420px; right: -170px; top: -220px; border: 80px solid rgba(255,255,255,.06); border-radius: 50%; }
.brand { display: flex; align-items: baseline; gap: 16px; position: relative; z-index: 1; }
.brand-logo { display:block; width:min(220px,60vw); height:auto; object-fit:contain; }
.brand-mark { color: #fff; font-size: clamp(2rem, 5vw, 3.5rem); font-weight: 950; font-style: italic; letter-spacing: -.1em; text-shadow: 3px 3px 0 var(--green); }
.brand-copy { max-width: 280px; color: #d6e4da; font-size: .76rem; font-weight: 700; line-height: 1.15; text-transform: uppercase; letter-spacing: .08em; }
.hero-copy { position: relative; z-index: 1; max-width: 100%; padding: 24px 0 20px; }
.hero h1 { margin: 0; max-width: 100%; font-size: clamp(1.8rem, 3.5vw, 3rem); line-height: 1.12; letter-spacing: -.035em; }
.hero-copy > p:last-child { max-width: 680px; margin: 12px 0 0; color: #e4ebe6; font-size: 1rem; line-height: 1.55; }
.eyebrow { margin: 0 0 10px; color: var(--green); font-size: .75rem; font-weight: 900; letter-spacing: .16em; text-transform: uppercase; }
.updated { position: relative; z-index: 1; display: inline-flex; padding: 9px 13px; color: #dbe6de; border: 1px solid rgba(255,255,255,.2); border-radius: 999px; background: rgba(0,0,0,.2); font-size: .82rem; }
.update-schedule { position: relative; z-index: 1; display: inline-block; margin: 8px 0 0 10px; color: #b8c9bd; font-size: .78rem; }

main { width: min(1180px, calc(100% - 32px)); margin: 0 auto; }
.overview { display: grid; grid-template-columns: repeat(4, 1fr); gap: 14px; margin: -2px 0 24px; transform: translateY(-20px); }
.overview article { display: flex; min-height: 116px; padding: 20px; flex-direction: column; justify-content: center; background: var(--surface); border: 1px solid var(--line); border-top: 4px solid var(--green); border-radius: 10px; box-shadow: var(--shadow); }
.overview strong { font-size: clamp(1.8rem, 4vw, 2.7rem); line-height: 1; }
.overview span { margin-top: 8px; color: var(--muted); font-size: .84rem; font-weight: 700; text-transform: uppercase; letter-spacing: .04em; }

.panel { margin: 0 0 24px; padding: clamp(20px, 4vw, 34px); background: var(--surface); border: 1px solid var(--line); border-radius: 14px; box-shadow: 0 8px 24px rgba(15, 35, 21, .06); }
.section-heading { display: flex; align-items: end; justify-content: space-between; gap: 20px; margin-bottom: 24px; }
.class-tabs { display: inline-flex; flex-wrap: wrap; gap: 0; margin-top: 14px; border: 1px solid #b9c5bd; border-radius: 5px; overflow: hidden; }
.class-tabs button { padding: 8px 12px; color: #26332b; background: #edf1ee; border: 0; border-right: 1px solid #b9c5bd; border-radius: 0; font-size: .76rem; }
.class-tabs button:last-child { border-right: 0; }
.class-tabs button[aria-pressed="true"] { color: #fff; background: var(--green-dark); }
.archive-link { position: relative; z-index: 1; display: inline-block; margin: 8px 0 0 10px; padding: 9px 16px; color: #055f10; background: #fff; border: 1px solid #fff; border-radius: 6px; box-shadow: 0 5px 18px rgba(0, 0, 0, .2); font-size: .78rem; font-weight: 900; text-decoration: none; }
.archive-link:hover { color: #fff; background: var(--green); border-color: var(--green); }
.youtube-channel-link { color: #fff; background: #c01919; border-color: #c01919; }
.youtube-channel-link:hover { color: #fff; background: #941111; border-color: #941111; }
.journey-stat { padding: 0 !important; overflow: hidden; }
.journey-map-button { display: flex; width: 100%; min-height: 103px; padding: 16px; flex-direction: column; align-items: flex-start; color: inherit; background: transparent; border: 0; border-radius: 7px; text-align: left; cursor: pointer; }
.journey-map-button span { text-decoration: underline dotted; text-underline-offset: 3px; }
.journey-map-button:hover { color: #fff; background: var(--green-dark); }
.journey-map-button:hover span { color: #fff; }
.journey-map-overlay { position: fixed; z-index: 1000; inset: 0; display: grid; padding: 24px; place-items: center; background: rgba(3,10,6,.82); }
.journey-map-overlay[hidden] { display: none; }
.journey-map-shell { position: relative; width: min(1180px, 96vw); padding: 22px; background: #fff; border-radius: 14px; box-shadow: 0 26px 90px rgba(0,0,0,.45); }
/* The journey sits inside the driver dialog. Give that dialog the entire
   viewport while the journey is open, then scroll only the white panel. */
.driver-dialog.journey-open { box-sizing:border-box; inset:0; width:100%; max-width:100%; height:100vh; height:100dvh; max-height:100dvh; margin:0; overflow:hidden; border-radius:0; }
.journey-map-overlay { box-sizing:border-box; height:100vh; height:100dvh; overflow:hidden; overscroll-behavior:contain; }
.journey-map-shell { box-sizing:border-box; max-height:calc(100vh - 32px); max-height:calc(100dvh - 32px); overflow-y:auto; overscroll-behavior:contain; scrollbar-gutter:stable; }
@media (min-width: 801px) {
  .journey-map-overlay:not(.fullscreen) .journey-map { height: clamp(260px, calc(100dvh - 560px), 520px); }
}
.journey-map-shell h3 { margin: 0; padding-right: 48px; font-size: clamp(1.35rem,3vw,2rem); }
.journey-map-copy { margin: 8px 50px 14px 0; color: var(--muted); }
.journey-map-close { z-index: 1001; }
.journey-map-controls { display: grid; grid-template-columns: minmax(190px, .8fr) minmax(130px, .45fr) auto minmax(270px, 1.3fr); gap: 12px; margin: 0 0 12px; align-items: end; }
.journey-map-controls label { display: grid; gap: 5px; color: #344039; font-size: .7rem; font-weight: 900; letter-spacing: .05em; text-transform: uppercase; }
.journey-map-controls input[type="search"] { width: 100%; min-height: 40px; padding: 8px 10px; color: var(--ink); background: #fff; border: 1px solid #b9c5bd; border-radius: 6px; text-transform: none; }
.journey-map-controls select { width: 100%; min-height: 40px; padding: 8px 10px; color: var(--ink); background: #fff; border: 1px solid #b9c5bd; border-radius: 6px; text-transform: none; }
.journey-map-controls button { min-height: 40px; padding: 9px 15px; color: #fff; background: var(--green-dark); border: 1px solid var(--green-dark); border-radius: 6px; font-size: .78rem; font-weight: 900; white-space: nowrap; }
.journey-map-controls button:hover { background: var(--green); border-color: var(--green); }
.journey-map-controls #journeyStandalone { display:none; padding:9px; color:#067b14; background:#eef9f0; border:1px solid #96d3a0; border-radius:6px; font-size:.76rem; font-weight:850; text-align:center; text-decoration:none; }
.journey-map-overlay.needs-standalone #journeyStandalone { display:block; }
.journey-timeline strong { display:block; min-width:0; margin-left:0; overflow:hidden; color: var(--green-dark); font-size: .75rem; font-variant-numeric:tabular-nums; letter-spacing: 0; text-overflow:ellipsis; text-transform: none; white-space:nowrap; }
.journey-timeline input[type="range"] { width: 100%; accent-color: var(--green); cursor: pointer; }
.journey-milestones { display: flex; max-width: 100%; margin: 0 0 10px; gap: 5px; overflow-x: auto; padding: 1px 1px 6px; scrollbar-width: thin; }
.journey-milestones span { flex: 0 0 auto; padding: 5px 8px; color: #657069; background: #edf1ee; border: 1px solid #d2dad4; border-radius: 999px; font-size: .68rem; font-weight: 850; }
.journey-milestones span.reached { color: #fff; background: var(--green-dark); border-color: var(--green-dark); }
.journey-milestones span.next { color: var(--green-dark); background: #e8f7eb; border-color: var(--green); box-shadow: inset 0 0 0 1px var(--green); }
.journey-milestones small { margin-left: 3px; font-size: .61rem; font-weight: 650; opacity: .8; }
.journey-map { width: 100%; height: min(66vh,680px); overflow: hidden; background: #dce8df; border: 1px solid var(--line); border-radius: 10px; }
.journey-map-legend { display: flex; flex-wrap: wrap; gap: 16px; margin-top: 12px; color: var(--muted); font-size: .78rem; }
.journey-map-legend span { display: inline-flex; align-items: center; gap: 6px; }
.journey-map-legend i,.journey-driver-icon i { display: block; width: 14px; height: 14px; background: #17211a; border: 2px solid #fff; border-radius: 50% 50% 50% 0; box-shadow: 0 1px 4px rgba(0,0,0,.45); transform: rotate(-45deg); }
.journey-map-legend i.selected,.journey-driver-icon i.selected { width: 18px; height: 18px; background: var(--green); }
.journey-driver-icon.car-avatar img { display:block; width:66px; height:50px; object-fit:contain; filter:drop-shadow(0 2px 3px rgba(0,0,0,.6)); }
.journey-driver-label { padding: 3px 6px !important; color: #fff !important; background: #17211a !important; border: 0 !important; box-shadow: 0 2px 7px rgba(0,0,0,.28) !important; font-size: 11px; font-weight: 800; }
.journey-driver-label.selected { background: var(--green-dark) !important; font-size: 12px; }
.journey-driver-label::before { border-top-color: #17211a !important; }
.journey-driver-label.selected::before { border-top-color: var(--green-dark) !important; }
.journey-driver-popup { display: grid; min-width: 190px; gap: 4px; color: #344039; }
.journey-driver-popup b { color: var(--ink); font-size: 1rem; }
.journey-driver-popup strong { color: var(--green-dark); font-size: 1.2rem; }
.journey-driver-popup span,.journey-driver-popup small { display: block; line-height: 1.35; }
.journey-driver-popup small { padding-top: 4px; border-top: 1px solid var(--line); }
@media(max-width:800px){.journey-map-controls{grid-template-columns:1fr auto}.journey-timeline{grid-column:1/-1}}
@media(max-width:700px){.journey-map-overlay{padding:8px}.journey-map-shell{width:100%;max-height:98vh;padding:14px;overflow-y:auto}.journey-map{height:58vh}.journey-map-copy{font-size:.82rem}.journey-map-legend{gap:8px}.journey-map-controls{grid-template-columns:1fr}.journey-timeline{grid-column:auto}.journey-map-controls button{width:100%}}
.results-nav { position: relative; z-index: 1; display: flex; flex-wrap: wrap; gap: 4px; margin-top: 16px; padding: 2px; }
.results-nav a { display: inline-flex; flex: 0 0 auto; align-items: center; min-height: 32px; padding: 6px 6px; white-space: nowrap; line-height: 1.25; color: #dce9df; border: 1px solid rgba(255,255,255,.18); border-radius: 5px; font-size: .72rem; font-weight: 800; text-decoration: none; }
.results-nav a:focus-visible { outline: 2px solid #90e895; outline-offset: 1px; }
.results-nav a:hover, .results-nav a[aria-current="page"] { color: #071109; background: #fff; }
.results-nav .tracker-nav-button { color:#07250d; background:#c8f3ce; border-color:#c8f3ce; }
.results-nav .tracker-nav-button:hover { background:#fff; border-color:#fff; }
.results-nav .avatar-nav-button { color:#fff; background:#057718; border-color:#2aba48; }
.results-nav .avatar-nav-button:hover { color:#071109; background:#fff; border-color:#fff; }
.avatar-upload-main { width:min(100% - 32px, 1100px); margin:24px auto 52px; }
.avatar-upload-panel { display:grid; grid-template-columns:minmax(0, 1fr) minmax(280px, .86fr); gap:clamp(20px,4vw,55px); padding:clamp(20px,4vw,44px); }
.avatar-upload-panel h2 { margin:0 0 15px; }
.avatar-upload-panel p { line-height:1.6; }
.avatar-direction-example { margin:20px 0; padding:20px; border:1px solid #d5e6d9; border-radius:12px; background:#eef7ef; text-align:center; }
.avatar-direction-example img { display:block; width:min(100%,350px); max-height:210px; margin:auto; object-fit:contain; }
.avatar-direction-example figcaption { margin-top:10px; font-size:.84rem; font-weight:800; }
.avatar-upload-panel form { display:grid; gap:9px; align-content:start; }
.avatar-upload-panel form > label:not(.avatar-flip) { margin-top:9px; font-size:.8rem; font-weight:850; }
.avatar-upload-panel input[type=search], .avatar-upload-panel input[type=file], .avatar-upload-panel select { width:100%; min-width:0; min-height:44px; padding:8px 11px; color:var(--ink); border:1px solid #b6c9bb; border-radius:7px; background:#fff; font:inherit; }
.avatar-upload-hint { margin:0; color:#4b6553; font-size:.83rem; line-height:1.45; }
.avatar-upload-preview { display:grid; min-height:165px; place-items:center; padding:10px; border:1px solid #d5e6d9; border-radius:10px; background:#edf6ef; }
.avatar-upload-preview[hidden] { display:none; }
.avatar-upload-preview img { max-width:100%; max-height:240px; object-fit:contain; }
.avatar-upload-preview img.flipped { transform:scaleX(-1); }
.avatar-flip { display:flex; align-items:flex-start; gap:9px; font-size:.88rem; line-height:1.5; }
.avatar-flip input { margin-top:5px; accent-color:#067b14; }
.avatar-honeypot { position:absolute; left:-10000px; }
.avatar-upload-panel button:disabled { opacity:.55; cursor:not-allowed; }
@media (max-width:750px) { .avatar-upload-panel { grid-template-columns:1fr; } .avatar-upload-main { width:min(100% - 20px, 1100px); } }

.season-selector { position: relative; z-index: 1; display: inline-flex; margin: 0 12px 12px 0; align-items: center; gap: 10px; color: #dce9df; }
.season-selector select { min-width: 170px; height: 40px; color: #0c1b10; background: #fff; border-color: #fff; font-weight: 850; }
.championship-overview strong { font-size: clamp(1.3rem, 3vw, 2.1rem); }
.championship-table th a { color: var(--green-dark); text-decoration: none; }
.championship-table th small { display: block; margin-top: 4px; color: var(--muted); font-size: .62rem; font-weight: 600; letter-spacing: 0; text-transform: none; }
.championship-table th:first-child, .championship-table td:first-child { text-align: center; }
.round-score a { display: block; color: inherit; text-decoration: none; }
.round-score strong, .round-score small { display: block; }
.round-score strong { font-size: 1rem; }
.round-score small { margin-top: 3px; color: var(--muted); font-size: .66rem; font-weight: 500; }
.dropped-score { background: #f4f4f4; opacity: .64; }
.empty-score { color: #a7b0aa; text-align: center; }
.championship-total { color: var(--green-dark); font-size: 1.05rem; font-weight: 950; }
.empty-standings { padding: 36px; color: var(--muted); text-align: center !important; }
.round-links { display: flex; flex-wrap: wrap; gap: 10px; }
.podium-main { width: min(1380px, calc(100% - 32px)); padding: 28px 0 50px; }
.podium-layout { display: grid; grid-template-columns: 275px minmax(0, 1fr); gap: 22px; align-items: start; }
.podium-sidebar { position: sticky; top: 18px; padding: 22px; }
.podium-sidebar h2 { margin-bottom: 18px; }
.podium-mobile-picker { display: none; }
.podium-archive details { margin: 0; border: 0; border-top: 1px solid var(--line); border-radius: 0; }
.podium-archive details:last-child { border-bottom: 1px solid var(--line); }
.podium-archive summary { display: flex; padding: 13px 4px; justify-content: space-between; color: var(--ink); }
.podium-archive summary span { display: inline-grid; width: 24px; height: 24px; place-items: center; color: var(--green-dark); background: #e6f5e9; border-radius: 50%; font-size: .7rem; }
.podium-archive details > div { display: grid; gap: 5px; padding-bottom: 12px; }
.podium-archive button { width: 100%; padding: 10px 11px; color: #344039; background: transparent; border: 1px solid transparent; border-radius: 7px; text-align: left; }
.podium-archive button:hover { color: var(--green-dark); background: #f1f8f2; }
.podium-archive button[aria-current="true"] { color: #fff; background: var(--green-dark); }
.podium-archive button strong, .podium-archive button small { display: block; }
.podium-archive button strong { font-size: .77rem; line-height: 1.3; }
.podium-archive button small { margin-top: 4px; color: inherit; font-size: .67rem; font-weight: 500; opacity: .76; }
.podium-event-heading { display: flex; min-height: 132px; margin-bottom: 18px; align-items: center; justify-content: space-between; gap: 22px; }
.podium-heading-actions { display:flex; flex-wrap:wrap; align-items:center; justify-content:flex-end; gap:8px; }
.podium-heading-actions .event-link { white-space:nowrap; }
.podium-event-heading h2 { max-width: 720px; }
.podium-event-meta { margin: 8px 0 0; color: var(--muted); }
.podium-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; }
.podium-card { overflow: hidden; background: var(--surface); border: 1px solid var(--line); border-radius: 14px; box-shadow: 0 8px 24px rgba(15, 35, 21, .07); }
.podium-photo { position: relative; display: grid; aspect-ratio: 16 / 10; place-items: center; overflow: hidden; color: #fff; background: radial-gradient(circle at 70% 20%, #0d7e1c, #101713 62%); }
.podium-photo::after { content: ""; position: absolute; width: 180px; height: 180px; right: -70px; top: -85px; border: 36px solid rgba(255,255,255,.07); border-radius: 50%; }
.podium-photo > img { position: absolute; z-index: 2; width: 100%; height: 100%; object-fit: cover; }
.podium-photo.has-photo { cursor: zoom-in; }
.podium-photo-expand { position: absolute; z-index: 3; right: 12px; bottom: 12px; padding: 9px 13px; background: rgba(7, 24, 12, .84); }
.podium-photo:not(.has-photo) .podium-photo-expand { display: none; }
.podium-illustration { position: absolute; inset: 0; z-index: 1; display: flex; flex-direction: column; justify-content: space-between; width: 100%; max-width: none; height: 100%; padding: 14px; }
.podium-illustration-title { color: #a1efac; font-size: clamp(.75rem, 1.4vw, 1rem); font-weight: 900; letter-spacing: .13em; }
.podium-illustration-places { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; width: 100%; align-items: end; }
.podium-illustration-place { display:flex; flex-direction:column; justify-content:space-between; min-width: 0; min-height:clamp(105px,16vw,165px); padding: 8px 5px; background: rgba(255, 255, 255, .96); border-top: 4px solid #d4dbe0; border-radius: 8px 8px 3px 3px; color: #14231a; text-align:center; }
.podium-illustration-1 { min-height:clamp(155px,22vw,225px); border-color: #f0c44e; }
.podium-illustration-2, .podium-illustration-3 { height:clamp(130px,19vw,195px); min-height:clamp(130px,19vw,195px); }
.podium-illustration-2 { border-color: #cbd5db; }
.podium-illustration-3 { border-color: #cd966b; }
.podium-illustration-rank { display: block; font-size: .82rem; font-weight: 900; }
.podium-illustration-art { display: grid; height: clamp(48px, 9vw, 115px); place-items: center; margin: 4px 0; }
.podium-illustration-art img { display: block; width: 100%; max-width: 145px; height: 100%; min-height:0; max-height:100%; object-fit: contain; object-position:center; }
.podium-illustration-art img[hidden], .podium-illustration-art span[hidden] { display: none; }
.podium-illustration-art span { font-size: clamp(.62rem, 1.2vw, .8rem); font-weight: 900; overflow-wrap: anywhere; }
.podium-illustration-place strong { display: block; margin: 0; font-size: clamp(.62rem, 1.3vw, .83rem); line-height: 1.15; overflow-wrap: anywhere; }
.podium-illustration > small { margin: 0; font-size: clamp(.55rem, 1vw, .72rem); }
@media (max-width: 520px) { .podium-illustration { padding: 7px; } .podium-illustration-places { gap: 4px; } .podium-illustration-place { padding: 5px 2px; min-height:90px; } .podium-illustration-2, .podium-illustration-3 { height:115px; min-height:115px; } .podium-illustration-1 { min-height:140px; } .podium-illustration-art { height: 48px; } }
.podium-lightbox[hidden] { display: none; }
.podium-lightbox {
  position: fixed; z-index: 10000; inset: 0; display: grid; place-items: center;
  width: 100%; height: 100vh; height: 100dvh; padding: 16px;
  background: rgba(0, 0, 0, .97); color: #fff;
}
.podium-lightbox-inner { display: flex; flex-direction: column; align-items: center; justify-content: center; width: 100%; height: 100%; min-height: 0; }
.podium-lightbox-inner img { display: block; max-width: 100%; max-height: calc(100% - 90px); min-height: 0; object-fit: contain; }
.podium-lightbox-copy { display: flex; align-items: center; justify-content: space-between; gap: 18px; width: min(900px, 100%); padding: 14px 0; }
.podium-lightbox-copy p { margin: 4px 0 0; color: #d4e3d9; }
.podium-lightbox-copy a { flex: none; color: #fff; }
.podium-lightbox-close { position: absolute; z-index: 2; top: max(12px, env(safe-area-inset-top)); right: max(12px, env(safe-area-inset-right)); width: 44px; height: 44px; padding: 0; border-radius: 50%; font-size: 32px; line-height: 1; }
body.podium-lightbox-open { overflow: hidden; }
.driver-profile-header { display: flex; align-items: center; justify-content: space-between; gap: 16px; min-width: 0; }
.driver-profile-header > div:first-child { min-width: 0; }
.driver-profile-avatar[hidden] { display: none; }
.driver-profile-avatar { flex: 0 0 auto; width: min(240px, 32%); height: 158px; display: grid; grid-template-columns:var(--avatar-column-tracks,minmax(0,1fr)); grid-template-rows:repeat(var(--avatar-rows,1),minmax(0,1fr)); gap:4px; padding: 8px; background: #f3f7f4; border: 1px solid #dfe6e1; border-radius: 12px; }
.driver-profile-avatar figure { margin:0; min-width:0; min-height:0; display:grid; grid-template-rows:minmax(0,1fr) auto; }
.driver-profile-avatar figcaption { text-align:center; font-size:11px; line-height:1.2; color:#37513e; }
.driver-profile-avatar img { display: block; width: 100%; height:100%; min-height:0; object-fit: contain; }
@media (max-width: 700px) {
  .driver-profile-header { align-items: flex-start; }
  .driver-profile-avatar { width: min(120px, 34%); height:98px; padding: 4px; }
  .driver-profile-avatar figcaption { font-size:9px; }
}
@media (max-width: 800px) {
  .podium-lightbox { padding: calc(54px + env(safe-area-inset-top)) 10px calc(10px + env(safe-area-inset-bottom)); }
  .podium-lightbox-inner img { flex: 1; max-height: none; width: 100%; }
  .podium-lightbox-copy { flex: none; flex-wrap: wrap; padding: 8px 4px; font-size: .86rem; }
}
.podium-placeholder { position: relative; z-index: 1; display: grid; max-width: 90%; padding: 22px; place-items: center; text-align: center; }
.podium-placeholder strong { margin-top: 8px; font-size: 1.05rem; }
.podium-placeholder small { margin-top: 9px; color: #c6d5ca; line-height: 1.45; }
.podium-placeholder code { overflow-wrap: anywhere; color: #fff; }
.podium-icon { font-size: 2.6rem; }
.podium-card-copy { padding: 22px; }
.podium-class { margin: 0 0 6px; color: var(--green-dark); font-size: .7rem; font-weight: 900; letter-spacing: .11em; text-transform: uppercase; }
.podium-card h3 { min-height: 2.5em; margin: 0 0 16px; font-size: 1.15rem; line-height: 1.25; }
.podium-results { overflow: hidden; }
.podium-results table { font-size: .76rem; }
.podium-results th, .podium-results td { padding: 9px 8px; }
.podium-results th:first-child, .podium-results td:first-child { width: 58px; text-align: left; }
.podium-results th:nth-child(2), .podium-results td:nth-child(2) { white-space: normal; }
.podium-place-1 { background: #fff9df; }
.podium-place-2 { background: #f5f7f8; }
.podium-place-3 { background: #fff4eb; }
.podium-no-results { padding: 20px !important; color: var(--muted); text-align: center !important; }
.podium-race-link { margin-top: 14px; }
h2 { margin: 0; font-size: clamp(1.5rem, 4vw, 2.1rem); letter-spacing: -.035em; }
.result-count { color: var(--muted); white-space: nowrap; }
.leaderboard-ranking { display: grid; min-width: 230px; gap: 8px; justify-items: end; }
.leaderboard-ranking label { width: min(280px, 100%); }
.leaderboard-ranking select { height: 40px; }
.leaderboard-ranking .result-count { margin: 0; }
.ranked-metric { color: var(--green-dark); background: #f0faf2; font-weight: 900; }
.filter-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(170px, 1fr)); gap: 14px; }
label { display: grid; gap: 7px; color: #344039; font-size: .8rem; font-weight: 800; text-transform: uppercase; letter-spacing: .045em; }
input, select { min-width: 0; height: 46px; padding: 0 12px; color: var(--ink); background: #fff; border: 1px solid #bcc8c0; border-radius: 8px; outline: none; }
input:focus, select:focus { border-color: var(--green); box-shadow: 0 0 0 3px rgba(8,163,26,.13); }
button { padding: 12px 18px; color: #fff; background: var(--green-dark); border: 0; border-radius: 8px; font-weight: 850; cursor: pointer; }
button:hover { background: var(--green); }
button.secondary { color: var(--green-dark); background: #eef8f0; border: 1px solid #bfe2c5; }

.table-wrap { overflow-x: auto; border: 1px solid var(--line); border-radius: 10px; }
table { width: 100%; border-collapse: collapse; font-size: .9rem; }
th, td { padding: 13px 14px; text-align: right; border-bottom: 1px solid var(--line); white-space: nowrap; }
th:nth-child(2), td:nth-child(2), .compact th:nth-child(2), .compact td:nth-child(2) { text-align: left; }
th { color: #415048; background: #f0f5f1; font-size: .72rem; letter-spacing: .045em; text-transform: uppercase; }
tbody tr:last-child td { border-bottom: 0; }
tbody tr:hover { background: #f7fbf8; }
td:nth-child(2) { font-weight: 750; }
.driver-name { padding: 0; color: var(--green-dark); background: transparent; border: 0; border-radius: 0; font-weight: 850; text-align: left; text-decoration: underline; text-decoration-color: #9dd7a5; text-underline-offset: 3px; }
.driver-name:hover { color: #044f0c; background: transparent; text-decoration-color: currentColor; }
.definition { margin: 14px 0 0; color: var(--muted); font-size: .82rem; }

.h2h-controls { display: grid; grid-template-columns: 1fr auto 1fr auto; align-items: end; gap: 14px; }
.event-picker { display: flex; max-width: 760px; margin-top: 16px; align-items: end; gap: 12px; }
.event-picker label { flex: 1; }
.event-link { display: inline-flex; min-height: 46px; padding: 0 16px; align-items: center; color: var(--green-dark); background: #eef8f0; border: 1px solid #bfe2c5; border-radius: 8px; font-size: .85rem; font-weight: 800; text-decoration: none; white-space: nowrap; }
.event-link:hover { color: #fff; background: var(--green-dark); }
.event-link[hidden] { display: none; }
.versus { align-self: center; margin-top: 20px; color: var(--green-dark); font-weight: 950; }
.empty-state { margin-top: 24px; padding: 30px; color: var(--muted); text-align: center; background: var(--wash); border: 1px dashed #bdc9c1; border-radius: 10px; }
.comparison-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px; margin-top: 26px; }
.comparison-grid article { min-height: 155px; padding: 22px; background: #101713; color: #fff; border-radius: 10px; border-bottom: 4px solid var(--green); }
.comparison-grid span { display: block; color: #b8c7bd; font-size: .78rem; text-transform: uppercase; letter-spacing: .05em; }
.comparison-grid strong { display: block; margin-top: 12px; font-size: 2.7rem; line-height: 1; }
.comparison-grid small { display: block; margin-top: 12px; color: #aebbb2; line-height: 1.35; }
.score { display: flex; gap: 8px; align-items: center; margin-top: 11px; font-size: 1.5rem; }
.score em { color: var(--green); font-style: normal; }
.comparison-summary { padding: 16px 18px; background: #eef8f0; border-left: 4px solid var(--green); border-radius: 6px; }
details { margin-top: 12px; border: 1px solid var(--line); border-radius: 9px; }
summary { padding: 15px 17px; font-weight: 800; cursor: pointer; }
details .table-wrap { margin: 0 14px 14px; }
.compact { max-height: 430px; }
.compact table { font-size: .78rem; }
.winner { color: var(--green-dark); font-weight: 900; }
.result-cell { min-width: 165px; line-height: 1.45; }
.result-cell strong, .result-cell small { display: block; }
.result-cell small { color: var(--muted); font-weight: 500; }
.race-explorer-controls { display: grid; grid-template-columns: minmax(220px, 1fr) minmax(280px, 1.5fr) repeat(3, auto); align-items: end; gap: 12px; margin-bottom: 22px; }
.video-link { color: #fff; background: #b81919; border-color: #b81919; }
.video-link:hover { color: #fff; background: #8e1010; }
.race-video-inline { color: #b81919 !important; font-weight: 900 !important; white-space: nowrap; }
.race-result-title { margin: 0 0 12px; font-size: 1.05rem; }
.inline-races summary { padding: 0; color: var(--green-dark); font-size: .78rem; white-space: nowrap; }
.inline-races[open] { min-width: 640px; }
.inline-races .table-wrap { margin: 10px 0 0; max-height: 300px; }

.driver-dialog { width: min(1120px, calc(100% - 28px)); max-height: 92vh; padding: 0; color: var(--ink); background: var(--surface); border: 0; border-radius: 16px; box-shadow: 0 28px 90px rgba(0,0,0,.35); }
.driver-dialog::backdrop { background: rgba(3, 10, 6, .72); backdrop-filter: blur(3px); }
.dialog-shell { position: relative; padding: clamp(22px, 4vw, 38px); }
.dialog-close { position: absolute; top: 14px; right: 14px; width: 42px; height: 42px; padding: 0; color: #344039; background: #eef3ef; border-radius: 50%; font-size: 1.65rem; line-height: 1; }
.dialog-close:hover { color: #fff; background: var(--green-dark); }
.profile-context { margin: 8px 52px 22px 0; color: var(--muted); }
.profile-stats { display: grid; grid-template-columns: repeat(auto-fit, minmax(145px, 1fr)); gap: 10px; }
.profile-stats article { min-height: 106px; padding: 16px; background: #f3f7f4; border: 1px solid var(--line); border-top: 3px solid var(--green); border-radius: 9px; }
.profile-stats strong { display: block; font-size: 1.65rem; line-height: 1; }
.profile-stats span { display: block; margin-top: 8px; color: var(--muted); font-size: .72rem; font-weight: 800; letter-spacing: .04em; text-transform: uppercase; }
.profile-section { margin-top: 28px; }
.profile-section h3 { margin: 0 0 12px; font-size: 1.2rem; }
.profile-history { max-height: 430px; }
.profile-history th:first-child, .profile-history td:first-child { text-align: left; }
.profile-history a, .profile-section a { color: var(--green-dark); font-weight: 800; }

.method { margin: 38px 0; padding: clamp(24px, 5vw, 46px); color: #fff; background: #111713; border-radius: 14px; }
.method p { max-width: 900px; color: #c7d1ca; line-height: 1.7; }
footer { display: flex; justify-content: space-between; gap: 20px; padding: 26px max(24px, calc((100vw - 1180px) / 2)); color: #bcc7c0; background: #080c09; font-size: .8rem; }
footer a { color: #85e391; }

@media (max-width: 820px) {
  .overview { grid-template-columns: repeat(2, 1fr); }
  .filter-grid { grid-template-columns: repeat(2, 1fr); }
  .h2h-controls { grid-template-columns: 1fr 1fr; }
  .versus { display: none; }
  .h2h-controls button { grid-column: 1 / -1; }
  .comparison-grid { grid-template-columns: 1fr; }
  .race-explorer-controls { grid-template-columns: 1fr 1fr; }
  .podium-layout { grid-template-columns: 1fr; }
  .podium-sidebar { position: static; }
  .podium-mobile-picker { display: grid; }
  .podium-archive { display: none; }
}

@media (max-width: 520px) {
  .brand { align-items: flex-start; flex-direction: column; gap: 7px; }
  .results-nav a { min-height: 44px; }
  .season-selector { display: grid; width: 100%; }
  .brand-copy { max-width: 230px; }

  .update-schedule { display: block; margin-left: 0; }
  .archive-link { display: block; width: max-content; margin-left: 0; }
  .class-tabs { display: flex; }
  .class-tabs button { flex: 1 1 auto; }
  main { width: min(100% - 20px, 1180px); }
  .overview { gap: 8px; }
  .overview article { min-height: 92px; padding: 14px; }
  .filter-grid, .h2h-controls { grid-template-columns: 1fr; }
  .event-picker { align-items: stretch; flex-direction: column; }
  .race-explorer-controls { grid-template-columns: 1fr; }
  .podium-main { width: min(100% - 20px, 1180px); }
  .podium-grid { grid-template-columns: 1fr; }
  .podium-event-heading { align-items: flex-start; flex-direction: column; }
  .podium-event-heading .event-link { width: 100%; justify-content: center; }
  .section-heading { align-items: flex-start; flex-direction: column; }
  .leaderboard-ranking { width: 100%; justify-items: stretch; }
  .leaderboard-ranking label { width: 100%; }
  .secondary { width: 100%; }
  th, td { padding: 11px; }
  footer { flex-direction: column; }
}

/* Journey controls: compact checkbox picker and usable full-screen map. */
.journey-map-controls { grid-template-columns: repeat(auto-fit,minmax(175px,1fr)); align-items:end; }
.journey-driver-picker { position:relative; z-index:1001; min-width:175px; }
.journey-driver-picker summary { min-height:40px; padding:11px; cursor:pointer; border:1px solid #b9c5bd; border-radius:6px; font-size:.78rem; font-weight:800; }
.journey-driver-picker-inner { position:absolute; top:100%; left:0; width:max(260px,100%); max-width:min(360px,90vw); padding:10px; background:#fff; border:1px solid #b9c5bd; border-radius:8px; box-shadow:0 8px 30px #0003; }
.journey-driver-picker-inner input[type=search] { width:100%; padding:8px; }
.journey-driver-picker-actions { display:flex; gap:8px; margin:7px 0; }
.journey-driver-picker-actions button { padding:4px 9px; min-height:30px; }
.journey-driver-checklist { max-height:220px; overflow:auto; }
.journey-driver-checklist label { display:block; padding:6px; font-size:.82rem; text-transform:none; letter-spacing:0; }
.journey-map-controls input[type=date] { min-height:40px; padding:7px; border:1px solid #b9c5bd; border-radius:6px; }
.journey-driver-label { text-align:center; white-space:nowrap; }
.journey-driver-label b { color:#8df38e; }
.journey-map-overlay.fullscreen { padding:0; }
.journey-map-overlay.fullscreen .journey-map-shell { width:100vw; max-width:none; height:100vh; height:100dvh; max-height:100dvh; border-radius:0; overflow-y:auto; }
.journey-map-overlay.fullscreen .journey-map { height:calc(100vh - 310px); min-height:350px; }
@media(min-width:701px){
 .journey-map-overlay.fullscreen .journey-map-shell{display:flex;flex-direction:column;padding:6px 10px;gap:3px;overflow-y:auto}
 .journey-map-overlay.fullscreen .journey-map-shell>.eyebrow{margin:0;font-size:.65rem}
 .journey-map-overlay.fullscreen .journey-map-shell h3{font-size:1.25rem;line-height:1.15}
 .journey-map-overlay.fullscreen .journey-map-copy{margin:0 44px 3px 0;font-size:.78rem;line-height:1.25}
 .journey-map-overlay.fullscreen .journey-map-controls{grid-template-columns:repeat(auto-fit,minmax(145px,1fr));gap:5px 8px;margin:0;flex:none}
 .journey-map-overlay.fullscreen .journey-map-controls label{gap:2px;font-size:.62rem;letter-spacing:.02em}
 .journey-map-overlay.fullscreen .journey-map-controls :is(select,input[type=search],input[type=date],button),.journey-map-overlay.fullscreen .journey-driver-picker summary{min-height:34px;padding:5px 8px;font-size:.78rem;line-height:1.2}
 .journey-map-overlay.fullscreen .journey-driver-picker{min-width:0}
 .journey-map-overlay.fullscreen .journey-map-controls :is(select,input[type=search],input[type=date]){height:34px}
 .journey-map-overlay.fullscreen .journey-driver-picker{margin:0}
 .journey-map-overlay.fullscreen .journey-timeline{grid-column:1/-1;grid-template-columns:auto 1fr;align-items:center;column-gap:5px}
 .journey-map-overlay.fullscreen .journey-timeline strong{text-align:right;font-size:.65rem}
 .journey-map-overlay.fullscreen .journey-timeline input[type=range]{grid-column:1/-1;height:26px;min-height:26px;margin:0;padding:0}
 .journey-map-overlay.fullscreen .journey-map-toolbar{margin:0;gap:8px}
 .journey-map-overlay.fullscreen .journey-map-toolbar button{min-height:32px;padding:5px 10px;font-size:.75rem}
 .journey-map-overlay.fullscreen .journey-round-note{margin:0;font-size:.66rem}
 .journey-map-overlay.fullscreen .journey-race-standings{margin:0;padding-bottom:2px;flex:none}
 .journey-map-overlay.fullscreen .journey-milestones{margin:0;flex:none}
 .journey-map-overlay.fullscreen .journey-map{flex:1 1 auto;min-height:260px;height:auto;margin:0}
 .journey-map-overlay.fullscreen .journey-map-legend{margin:0;gap:12px;font-size:.7rem;flex:none}
}

.journey-race-standings { display:flex; gap:8px; overflow-x:auto; margin:7px 0 12px; padding-bottom:6px; }
.journey-race-standings[hidden] { display:none; }
.journey-race-standings span { flex:0 0 auto; padding:7px 10px; border:1px solid #b9dec2; border-radius:8px; background:#f2faf3; font-size:.8rem; white-space:nowrap; }
.journey-race-standings strong { margin-left:6px; color:#067b14; }
.journey-map-controls button:disabled { opacity:.5; cursor:not-allowed; }
.journey-map-toolbar { display:flex; align-items:center; gap:12px; margin:8px 0; }
.journey-map-toolbar button { min-height:38px; padding:8px 14px; color:#fff; background:#067b14; border:0; border-radius:6px; font-weight:800; cursor:pointer; }
.journey-map-toolbar span { color:#52615a; font-size:.8rem; }
.journey-round-note { margin:0 0 8px; color:#52615a; font-size:.72rem; line-height:1.35; }

/* On a phone, show the map before the longer playback form. The panel scrolls
   within the available iframe height instead of overflowing the Wix page. */
@media (max-width:700px) {
  .driver-dialog { box-sizing:border-box; width:100%; max-width:100%; height:100vh; height:100dvh; max-height:100dvh; margin:0; overflow-y:auto; border-radius:0; }
  .driver-dialog .dialog-shell { padding:20px 14px 30px; }
  #driverProfileName { max-width:100%; padding-right:44px; overflow-wrap:anywhere; font-size:clamp(1.5rem,7vw,2rem); line-height:1.18; }
  .journey-map-overlay,.journey-map-overlay.fullscreen { display:block; padding:0; overflow:hidden; }
  .journey-map-overlay[hidden] { display:none; }
  .journey-map-shell,.journey-map-overlay.fullscreen .journey-map-shell {
    box-sizing:border-box; display:flex; flex-direction:column; gap:8px;
    width:100%; height:100vh; height:100dvh; max-height:none;
    padding:12px 12px 20px; overflow-y:auto; overscroll-behavior:contain;
    border-radius:0; box-shadow:none;
  }
  .journey-map-shell h3 { margin:0; padding-right:36px; font-size:clamp(1.15rem,5vw,1.6rem); line-height:1.2; }
  .journey-map-shell > .eyebrow { flex:none; margin:2px 44px 0 0; }
  .journey-map-copy { display:none; }
  .journey-map-close { position:sticky; top:0; align-self:flex-end; margin-bottom:-42px; }
  .journey-map,.journey-map-overlay.fullscreen .journey-map {
    order:2; flex:none; height:45vh; height:45dvh; min-height:230px; max-height:430px; margin:2px 0 0;
  }
  .journey-map-toolbar { order:1; flex:none; margin:0; justify-content:space-between; }
  .journey-map-toolbar span { font-size:.7rem; text-align:right; }
  .journey-race-standings { order:3; flex:none; margin:0; }
  .journey-map-controls { order:4; display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:9px; margin:3px 0; align-items:end; }
  .journey-map-controls > label,.journey-map-controls > details { min-width:0; }
  .journey-map-controls > label:first-child,.journey-map-controls > .journey-driver-picker,.journey-map-controls > .journey-timeline { grid-column:1/-1; }
  .journey-map-controls input[type=date],.journey-map-controls select,.journey-map-controls input[type=search] { min-width:0; font-size:16px; }
  .journey-map-controls button { width:100%; min-width:0; white-space:normal; min-height:44px; }
  .journey-driver-picker-inner { position:relative; top:auto; width:100%; max-width:none; box-shadow:none; }
  .journey-milestones { order:5; flex:none; margin-bottom:0; }
  .journey-map-legend { order:6; flex:none; margin-top:0; }
  .journey-round-note { order:5; flex:none; margin:0; font-size:.66rem; }
  .journey-driver-icon.car-avatar-mobile img { width:84px; height:62px; }
  /* Map-focused mode is visibly different even in mobile browsers that do
     not grant native fullscreen to an embedded Wix frame. */
  .journey-map-overlay.fullscreen .journey-map-shell {
    overflow:hidden; height:100vh; height:100dvh; max-height:100dvh;
    padding:8px; gap:4px;
  }
  .journey-map-overlay.fullscreen .journey-map-copy,
  .journey-map-overlay.fullscreen .journey-race-standings,
  .journey-map-overlay.fullscreen .journey-milestones,
  .journey-map-overlay.fullscreen .journey-map-legend,
  .journey-map-overlay.fullscreen .journey-round-note,
  .journey-map-overlay.fullscreen .journey-map-controls > :not(#journeyPlay):not(#journeyFullscreen):not(#journeyStandalone):not(.journey-timeline) { display:none; }
  .journey-map-overlay.fullscreen.needs-standalone #journeyStandalone { grid-column:1/-1; }
  .journey-map-overlay.fullscreen .journey-map-controls {
    order:4; flex:none; display:grid; grid-template-columns:1fr 1fr; gap:4px;
    margin:0; padding:0;
  }
  .journey-map-overlay.fullscreen .journey-timeline { grid-column:1/-1; }
  .journey-map-overlay.fullscreen .journey-map {
    order:2; flex:1 1 auto; height:auto; min-height:0; max-height:none;
    margin:0;
  }
  .journey-map-overlay.fullscreen .journey-map-toolbar { order:1; margin:0; }
  .journey-map-overlay.fullscreen .journey-map-shell h3 { font-size:1rem; line-height:1.1; }
}

/* Compact phone layout. Keep input text at 16px to prevent iOS zooming in
   when a menu opens, while reducing the surrounding labels and padding. */
@media (max-width:700px) {
  .journey-map-shell,.journey-map-overlay.fullscreen .journey-map-shell { gap:6px; padding:10px 10px 16px; }
  .journey-map-shell > .eyebrow { margin:0 42px 0 0; font-size:.62rem; }
  .journey-map-shell h3 { padding-right:36px; font-size:clamp(1.08rem,4.5vw,1.35rem); }
  .journey-map-close { width:36px; height:36px; margin-bottom:-36px; font-size:1.35rem; }
  .journey-map-toolbar { gap:6px; }
  .journey-map-toolbar button { min-height:40px; padding:7px 10px; font-size:.75rem; }
  .journey-map-toolbar span { max-width:45%; font-size:.68rem; line-height:1.2; }
  .journey-map-controls { gap:7px 8px; margin:2px 0; }
  .journey-map-controls label { gap:3px; font-size:.62rem; letter-spacing:.035em; }
  .journey-map-controls input[type=search],.journey-map-controls select,.journey-map-controls input[type=date] {
    box-sizing:border-box; width:100%; height:42px; min-height:42px;
    padding:5px 8px; font-size:16px; line-height:1.2;
  }
  .journey-driver-picker { min-width:0; }
  .journey-driver-picker summary { display:flex; align-items:center; min-height:42px; padding:6px 9px; font-size:.76rem; }
  .journey-map-controls button { min-height:42px; padding:7px 8px; font-size:.76rem; line-height:1.15; }
  .journey-driver-picker-actions button { min-height:40px; }
  .journey-driver-checklist label { min-height:40px; padding:7px 6px; }
  .journey-timeline strong { font-size:.71rem; }
  .journey-timeline input[type=range] { min-height:34px; margin:0; }
  .journey-milestones span { padding:4px 7px; font-size:.64rem; }
  .journey-map-legend { font-size:.68rem; line-height:1.35; }
}

/* Keep the illustrated names inside their blocks at narrow widths. */
.podium-illustration { box-sizing:border-box; position:relative; inset:auto; max-width:100%; min-height:240px; height:auto; gap:10px; text-align:center; }
.podium-illustration-place { height:auto; min-height:150px; gap:5px; }
.podium-illustration-1 { min-height:175px; }
.podium-illustration-art { flex:none; min-height:0; width:100%; grid-template-rows:minmax(0,1fr); justify-items:center; transform:translateY(-5px); }
.podium-illustration-place strong { margin:0; font-size:clamp(.65rem,2.8vw,.83rem); line-height:1.2; }
.podium-photo > img { opacity:0; pointer-events:none; object-fit:contain; background:#07180c; }
.podium-photo.has-photo { cursor:pointer; }
.podium-photo-expand { opacity:0; pointer-events:none; }
.podium-photo.show-photo > img,.podium-photo.show-photo .podium-photo-expand { opacity:1; }
.podium-photo.show-photo .podium-photo-expand { pointer-events:auto; }
.podium-photo:focus-visible { outline:3px solid #08a31a; outline-offset:-3px; }
@media(hover:hover) and (pointer:fine) {
 .podium-photo.has-photo:hover > img,.podium-photo.has-photo:hover .podium-photo-expand { opacity:1; }
 .podium-photo.has-photo:hover .podium-photo-expand { pointer-events:auto; }
}
/* Allow wheel/touch scrolling to reach the host page when the tall embed's
   panel already fits its content or reaches its edge. */
.journey-map-overlay,.journey-map-shell { overscroll-behavior-y:auto; }

/* A dedicated Wix tracker is page content, not a modal over another page.
   Natural document scrolling lets Wix carry the wheel past the iframe. */
body.embedded-tracker-page > :not(#driverDialog):not(script):not(.cobra-site-header):not(.cobra-site-footer) { display:none; }
body.embedded-tracker-page #driverDialog { position:static; inset:auto; display:block; width:100%; max-width:none; height:auto; max-height:none; margin:0; padding:0; border:0; overflow:visible; }
body.embedded-tracker-page #driverDialog > .dialog-shell { padding:0; }
body.embedded-tracker-page .dialog-shell > :not(#journeyMapOverlay) { display:none; }
body.embedded-tracker-page .journey-map-overlay:not(.fullscreen) { position:static; height:auto; max-height:none; padding:0; overflow:visible; }
body.embedded-tracker-page .journey-map-overlay:not(.fullscreen) .journey-map-shell { width:100%; height:auto; max-height:none; overflow:visible; border-radius:0; }
body.embedded-tracker-page #closeJourneyMap { display:none; }

.podium-photo { min-height:240px; }

.podium-photo-expand { visibility:hidden; }
.podium-photo.show-photo .podium-photo-expand { visibility:visible; }
@media(hover:hover) and (pointer:fine) { .podium-photo.has-photo:hover .podium-photo-expand { visibility:visible; } }

/* Equal artwork size and common horizontal centreline across podium positions. */
.podium-illustration-place { position:relative; display:grid; grid-template-columns:minmax(0,1fr); grid-template-rows:20px minmax(80px,1fr) 34px; justify-content:stretch; height:190px; gap:8px; }
.podium-illustration-1 { height:215px; }
.podium-illustration-art { position:absolute; left:50%; bottom:58px; width:calc(100% - 12px); max-width:145px; height:90px; margin:0; transform:translateX(-50%); }
.podium-illustration-art img { position:absolute; inset:0; width:100%; height:100%; margin:auto; object-position:center; }
.podium-illustration-place strong { grid-row:3; width:100%; align-self:center; text-align:center; }
@media(max-width:520px) { .podium-illustration-place { height:170px; } .podium-illustration-1 { height:195px; } .podium-illustration-art { height:64px; } }
.podium-illustration-1 .podium-illustration-art { bottom:70px; }

.results-nav .replay-nav-button{background:#b4ff63;color:#102407;font-weight:800}

/* Keep the archive leaderboard reachable while browsing race charts. */
.race-explorer .leaderboard-jump{position:sticky;top:12px;z-index:6;display:table;max-width:100%;margin:0 0 20px auto;padding:12px 16px;border:2px solid #a3f329;border-radius:8px;background:#0a1710;color:#a3f329;font-size:.9rem;font-weight:750;line-height:1.4;text-decoration:none;box-shadow:0 4px 14px #0003}
.race-explorer .leaderboard-jump:hover,.race-explorer .leaderboard-jump:focus-visible{background:#a3f329;color:#0a1710;outline:2px solid #0a1710;outline-offset:3px}
#driverLeaderboard{scroll-margin-top:20px}

/* Fastest lap timing uses the familiar racing purple/pink. */
.fastest-lap{color:#a500a5;font-weight:800}
