*{box-sizing:border-box}:root{color-scheme:dark;--bg:#07100e;--panel:#101b17;--panel2:#17241f;--text:#f4f6f4;--muted:#a8b3ae;--accent:#ff5638;--yellow:#ffc857;--blue:#51c8ff;--border:rgba(255,255,255,.11)}
html{scroll-behavior:smooth}html,body{margin:0;background:var(--bg);color:var(--text);font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif}body{background:radial-gradient(circle at 14% 0,rgba(63,122,94,.25),transparent 30%),var(--bg)}button,input,select{font:inherit}.app{width:min(1450px,calc(100% - 28px));margin:auto;padding:20px 0 36px}
.topbar,.controls-head,.options,.section-heading,.run-controls{display:flex;align-items:center;justify-content:space-between;gap:16px}.actions,.transport{display:flex;gap:8px}h1,h2,p{margin-top:0}h1{margin-bottom:0;font-size:clamp(1.6rem,4vw,2.8rem)}h2{margin-bottom:0;font-size:clamp(1.15rem,2vw,1.65rem)}.eyebrow{margin-bottom:5px;color:var(--yellow);font-size:.71rem;font-weight:850;letter-spacing:.15em}
.btn,.icon-btn{border:0;border-radius:999px;color:var(--text);cursor:pointer;font-weight:800;transition:transform .15s,background .15s,box-shadow .15s}.btn{padding:10px 17px}.btn:hover,.icon-btn:hover{transform:translateY(-1px)}.btn:focus-visible,.icon-btn:focus-visible,select:focus-visible,input:focus-visible,.landmark-chip:focus-visible{outline:3px solid var(--yellow);outline-offset:2px}.primary{background:var(--accent);color:#210903;box-shadow:0 8px 30px rgba(255,86,56,.2)}.secondary{background:var(--panel2);border:1px solid var(--border)}.ghost{background:transparent;color:var(--muted)}.small{padding:8px 13px}.icon-btn{width:42px;background:var(--panel2);font-size:1.5rem}.hidden{display:none!important}
.btn.camera-active{border-color:var(--yellow);background:var(--yellow);color:#1d1402;box-shadow:0 0 0 3px rgba(255,200,87,.15)}
.map-card{position:relative;min-height:650px;margin-top:20px;overflow:hidden;border:1px solid rgba(255,255,255,.16);border-radius:26px;background:#0b1512;box-shadow:0 30px 80px rgba(0,0,0,.38),0 1px 0 rgba(255,255,255,.08) inset}#map{position:absolute;inset:0}.loading{position:absolute;inset:0;z-index:20;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;background:rgba(5,13,10,.86);backdrop-filter:blur(10px);text-align:center}.loading span{color:var(--muted)}.spinner{width:42px;height:42px;border:4px solid rgba(255,255,255,.15);border-top-color:var(--accent);border-radius:50%;animation:spin .9s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}
.hud{position:absolute;z-index:5;top:15px;left:15px;right:15px;display:flex;flex-wrap:wrap;gap:8px;pointer-events:none}.hud div{min-width:120px;padding:10px 13px;border:1px solid var(--border);border-radius:13px;background:rgba(6,14,12,.8);backdrop-filter:blur(12px)}.hud span{display:block;color:var(--muted);font-size:.67rem;text-transform:uppercase;letter-spacing:.08em}.info{position:absolute;z-index:5;right:15px;bottom:15px;width:min(365px,calc(100% - 30px));padding:18px;border:1px solid var(--border);border-radius:18px;background:rgba(7,16,13,.9);backdrop-filter:blur(15px)}.info p{color:var(--muted)}.info dl{margin:17px 0 0}.info dl div{display:flex;justify-content:space-between;gap:15px;padding:8px 0;border-top:1px solid var(--border)}.info dt{color:var(--muted)}.info dd{margin:0;font-weight:750;text-align:right}.info-handle{display:none;width:100%;padding:3px 0 12px;border:0;background:none;color:var(--text);font-weight:800;text-align:left}
.landmark-media{margin:12px 0 0;overflow:hidden;border:1px solid var(--border);border-radius:12px;background:#07100e}.landmark-media img{display:block;width:100%;max-height:175px;object-fit:cover}.landmark-media figcaption{padding:7px 9px;color:var(--muted);font-size:.64rem}.landmark-media a,.sector-record a,.legend-meta a,.rider-profile a,.archive-stats a{color:var(--blue)}.sector-record{margin-top:12px;padding:11px 12px;border-left:4px solid var(--yellow);border-radius:8px;background:rgba(255,200,87,.08)}.sector-record span{display:block;color:var(--yellow);font-size:.61rem;font-weight:900;letter-spacing:.11em}.sector-record strong{display:block;margin-top:3px;font-size:1.35rem;font-variant-numeric:tabular-nums}.sector-record p{margin:3px 0 0;font-size:.67rem;line-height:1.35}.rider-profile{margin:7px 0 0!important;color:var(--muted);font-size:.67rem;line-height:1.4}
.controls,.data-card{margin-top:16px;padding:24px;border:1px solid var(--border);border-radius:22px;background:linear-gradient(180deg,rgba(255,255,255,.018),transparent 50%),var(--panel)}#slider{width:100%;height:28px;margin-top:8px;accent-color:var(--accent);cursor:pointer}.timeline-meta{display:flex;justify-content:space-between;color:var(--muted);font-size:.76rem}.landmark-nav{display:flex;gap:7px;margin:20px 0 4px;padding:2px 0 8px;overflow-x:auto;scrollbar-width:thin}.landmark-chip{flex:0 0 auto;padding:8px 12px;border:1px solid var(--border);border-radius:999px;background:#0b1512;color:var(--muted);cursor:pointer;font-size:.76rem}.landmark-chip:hover{border-color:rgba(255,255,255,.3);color:#fff}.landmark-chip.active{border-color:var(--accent);background:rgba(255,86,56,.14);color:#fff}.options{justify-content:flex-start;flex-wrap:wrap;margin-top:20px;padding-top:16px;border-top:1px solid var(--border)}.options label,.run-controls label{display:flex;align-items:center;gap:9px;color:var(--muted)}select{max-width:270px;padding:9px 12px;border:1px solid var(--border);border-radius:10px;background:var(--panel2);color:var(--text)}.check input{accent-color:var(--accent)}.shortcuts,.source-note{margin:15px 0 0;color:var(--muted);font-size:.78rem}
.historical{background:linear-gradient(135deg,rgba(81,200,255,.08),transparent 40%),var(--panel)}.estimate-badge{padding:7px 11px;border:1px solid rgba(81,200,255,.4);border-radius:999px;color:var(--blue);font-size:.76rem;font-weight:800}.disclaimer{max-width:940px;margin:14px 0 20px;color:var(--muted);line-height:1.55}.run-controls{justify-content:flex-start;flex-wrap:wrap}.run-legend{display:flex;flex-wrap:wrap;gap:10px;margin-top:16px}.legend-item{display:flex;align-items:center;gap:8px;padding:8px 11px;border-radius:10px;background:#0b1512;font-size:.82rem}.legend-dot{width:10px;height:10px;border-radius:50%}.timing-table{margin-top:16px;overflow-x:auto}.timing-table table{width:100%;border-collapse:collapse;font-size:.82rem}.timing-table th,.timing-table td{padding:9px 11px;border-bottom:1px solid var(--border);text-align:left}.timing-table th{color:var(--muted);font-weight:650}.timing-table a{color:var(--blue)}
.elevation-card{overflow:hidden}#elevationChart{display:block;width:100%;height:auto;margin-top:16px}.profile-area{fill:url(#profileGradient)}.profile-line{fill:none;stroke:var(--yellow);stroke-width:4}.profile-grid{stroke:rgba(255,255,255,.08);stroke-width:1}.profile-cursor{stroke:var(--accent);stroke-width:3}.profile-dot{fill:#fff;stroke:var(--accent);stroke-width:4}.profile-label{fill:var(--muted);font-size:22px}.notes{margin-top:14px;padding:14px 16px;border-left:4px solid var(--yellow);background:rgba(255,255,255,.035);color:var(--muted)}.maplibregl-ctrl-group{border-radius:12px;overflow:hidden}.maplibregl-ctrl-attrib{font-size:10px}.course-marker{width:18px;height:18px;border:4px solid var(--accent);border-radius:3px 50% 50% 50%;background:#fff;transform:rotate(45deg);box-shadow:0 3px 16px #000}.landmark-map-marker{width:14px;height:14px;border:2px solid #07100e;border-radius:50%;background:var(--yellow);box-shadow:0 2px 10px #000}.rider-marker{display:grid;place-items:center;width:34px;height:34px;border:3px solid currentColor;border-radius:50%;background:#07100e;color:var(--blue);font-size:17px;box-shadow:0 4px 18px #000}.rider-marker::before{content:"➤"}
@media(max-width:760px){.app{width:calc(100% - 14px);padding-top:10px}.topbar{align-items:flex-start}.topbar .secondary{padding:8px 11px;font-size:.78rem}.map-card{min-height:610px}.hud{right:8px;left:8px}.hud div{min-width:0;flex:1 1 92px;padding:8px}.hud div:nth-child(1){display:none}.info{right:8px;bottom:8px;width:calc(100% - 16px);max-height:45%;overflow:auto;padding:14px}.info-handle{display:block}.info.collapsed #infoBody{display:none}.info.collapsed{width:auto;left:8px}.info.collapsed .info-handle{padding:4px}.controls-head,.section-heading{align-items:flex-start}.controls,.data-card{padding:17px}.timeline-meta #timelineHint{display:none}.options{align-items:stretch}.options label{justify-content:space-between;flex:1 1 100%}.options select{flex:1}.shortcuts{display:none}.estimate-badge{max-width:130px;text-align:center}.run-controls label{width:100%;justify-content:space-between}.run-controls select{flex:1}.timing-table{margin-right:-17px}.timing-table table{min-width:620px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important}}

/* Fan-focused race presentation */
.brand-lockup{display:flex;align-items:center;gap:16px}.brand-mark{display:grid;place-items:center;width:66px;height:66px;border-radius:8px 22px 8px 8px;background:var(--accent);color:#210903;font-size:2rem;font-weight:950;font-style:italic;letter-spacing:-.08em;box-shadow:8px 8px 0 rgba(255,200,87,.85)}h1{letter-spacing:-.035em}.tagline{margin:4px 0 0;color:var(--muted);font-size:.85rem}.course-facts{display:grid;grid-template-columns:repeat(4,auto) 1fr;align-items:center;margin-top:20px;overflow:hidden;border:1px solid var(--border);border-radius:16px;background:rgba(255,255,255,.03)}.course-facts div{display:flex;align-items:baseline;gap:6px;padding:13px 18px;border-right:1px solid var(--border)}.course-facts strong{font-size:1.25rem}.course-facts span{color:var(--muted);font-size:.7rem;text-transform:uppercase;letter-spacing:.08em}.course-facts p{margin:0;padding:0 18px;color:var(--muted);font-size:.78rem;text-align:right}.primary .play-icon{margin-right:7px;font-size:.72rem}
.replay-setup{display:grid;grid-template-columns:minmax(240px,.7fr) 2fr;gap:20px;padding:18px;border:1px solid var(--border);border-radius:16px;background:rgba(0,0,0,.16)}.primary-run{display:flex;flex-direction:column;align-items:flex-start;gap:8px;color:var(--muted);font-size:.78rem;font-weight:750;text-transform:uppercase;letter-spacing:.06em}.primary-run select{width:100%;max-width:none}.picker-label{display:block;margin-bottom:8px;color:var(--muted);font-size:.78rem;font-weight:750;text-transform:uppercase;letter-spacing:.06em}.rider-picker{display:flex;flex-wrap:wrap;gap:8px}.rider-choice{--rider-colour:var(--blue);position:relative;display:flex;align-items:center;gap:9px;padding:9px 12px;border:1px solid var(--border);border-radius:10px;background:#0b1512;color:var(--muted);cursor:pointer;font-size:.8rem}.rider-choice:has(input:checked){border-color:var(--rider-colour);background:rgba(81,200,255,.1);color:#fff}.rider-choice input{position:absolute;opacity:0;pointer-events:none}.rider-choice-dot{width:10px;height:10px;border-radius:50%;background:var(--rider-colour);box-shadow:0 0 0 3px rgba(255,255,255,.08)}.run-actions{display:flex;gap:8px;margin-top:12px}.run-legend{display:grid;grid-template-columns:repeat(auto-fit,minmax(235px,1fr));gap:10px;margin-top:18px}.legend-item{--rider-colour:var(--blue);position:relative;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:10px;padding:13px 14px;overflow:hidden;border:1px solid var(--border);border-radius:13px;background:#0b1512;font-size:.82rem}.legend-item::before{content:"";position:absolute;inset:0 auto 0 0;width:4px;background:var(--rider-colour)}.legend-dot{width:11px;height:11px;border-radius:50%}.legend-meta{display:flex;flex-direction:column;gap:2px}.legend-meta span{color:var(--muted);font-size:.72rem}.rider-gap{font-variant-numeric:tabular-nums;font-weight:850;color:#fff}.rider-gap.behind{color:var(--yellow)}.rider-marker::before{content:"➤"}
.archive-stats{margin:8px 0 4px;color:var(--yellow);font-size:.8rem;font-weight:750}.rider-picker{max-height:190px;overflow:auto;padding:2px;scrollbar-width:thin}
@media(max-width:760px){.brand-mark{width:48px;height:48px;font-size:1.45rem;box-shadow:5px 5px 0 rgba(255,200,87,.85)}.tagline{display:none}.course-facts{grid-template-columns:repeat(2,1fr)}.course-facts div{padding:10px 12px}.course-facts p{display:none}.transport .icon-btn{display:none}.replay-setup{grid-template-columns:1fr;padding:14px}.rider-picker{display:grid;grid-template-columns:1fr}.run-actions{flex-wrap:wrap}}

/* Comparison, guide and fan-library upgrade */
.map-standings{position:absolute;z-index:6;top:92px;left:15px;display:grid;gap:5px;width:min(250px,calc(100% - 30px));pointer-events:none}.map-standing{display:grid;grid-template-columns:22px 1fr auto;gap:8px;align-items:center;padding:7px 9px;border:1px solid var(--border);border-radius:9px;background:rgba(6,14,12,.84);backdrop-filter:blur(10px);font-size:.73rem}.map-standing strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.map-standing span:last-child{font-variant-numeric:tabular-nums;color:var(--yellow)}.position-number{display:grid;place-items:center;width:20px;height:20px;border-radius:50%;background:var(--rider-colour);color:#07100e;font-weight:900}.slider-wrap{position:relative}.slider-tooltip{position:absolute;bottom:35px;left:0;z-index:2;padding:6px 9px;border:1px solid var(--border);border-radius:8px;background:#07100e;color:#fff;font-size:.72rem;white-space:nowrap;transform:translateX(-10%);opacity:0;transition:opacity .15s}.slider-wrap:focus-within .slider-tooltip,.slider-wrap:hover .slider-tooltip{opacity:1}.guide-panel{display:grid;grid-template-columns:1fr 2fr auto;gap:18px;align-items:center;margin-top:16px;padding:16px;border:1px solid rgba(255,200,87,.35);border-radius:14px;background:linear-gradient(90deg,rgba(255,200,87,.09),transparent)}.guide-panel h3,.guide-panel p{margin:0}.library-filters{display:grid;grid-template-columns:2fr 1fr 1fr 1.3fr;gap:10px;margin-bottom:14px}.library-filters label{display:flex;flex-direction:column;gap:6px;color:var(--muted);font-size:.72rem;font-weight:750;text-transform:uppercase;letter-spacing:.06em}.library-filters input,.library-filters select{width:100%;max-width:none;padding:9px 11px;border:1px solid var(--border);border-radius:10px;background:var(--panel2);color:var(--text)}.quality-badge{display:inline-flex;width:max-content;margin-top:3px;padding:2px 6px;border:1px solid var(--border);border-radius:999px;color:var(--blue);font-size:.62rem}.comparison-summary,.machine-comparison{margin-top:16px;overflow-x:auto}.comparison-summary table,.machine-comparison table{width:100%;border-collapse:collapse;font-size:.78rem}.comparison-summary th,.comparison-summary td,.machine-comparison th,.machine-comparison td{padding:9px 10px;border-bottom:1px solid var(--border);text-align:left}.comparison-summary th,.machine-comparison th{color:var(--muted)}.gain{color:#67e8a5}.loss{color:var(--yellow)}.video-dock{display:grid;grid-template-columns:minmax(280px,2fr) 1fr;gap:15px;align-items:center;margin-top:18px;padding:14px;border:1px solid var(--border);border-radius:14px;background:#08110f}.video-dock video{width:100%;border-radius:10px}.profile-wrap{position:relative}.profile-tooltip{position:absolute;top:20px;left:20px;padding:7px 9px;border:1px solid var(--border);border-radius:8px;background:#07100e;font-size:.72rem;pointer-events:none}.controls{position:sticky;bottom:8px;z-index:10;box-shadow:0 -12px 40px rgba(0,0,0,.28)}.rider-marker{transition:width .15s,height .15s,opacity .15s}.rider-marker.featured{width:42px;height:42px;background:#fff;color:#07100e!important;border-width:5px;z-index:2}.rider-marker.comparison{opacity:.86}.landmark-chip::after{content:attr(data-mile);margin-left:5px;color:var(--muted);font-size:.65rem}
@media(max-width:760px){.map-standings{top:104px;max-width:210px}.map-standing{padding:5px 7px}.library-filters{grid-template-columns:1fr 1fr}.library-filters label:first-child,.library-filters label:last-child{grid-column:1/-1}.guide-panel{grid-template-columns:1fr}.controls{position:relative;bottom:auto}.video-dock{grid-template-columns:1fr}.comparison-summary table,.machine-comparison table{min-width:620px}}

/* Scalable archive browser */
.archive-tools{display:flex;align-items:center;gap:8px;margin:8px 0 14px}.filter-count{margin-left:auto;color:var(--muted);font-size:.75rem}.archive-browser{margin-bottom:16px;padding:16px;border:1px solid var(--border);border-radius:16px;background:rgba(0,0,0,.12)}.archive-browser-head{display:flex;justify-content:space-between;gap:12px}.archive-browser-head p{margin:2px 0 12px;color:var(--muted);font-size:.75rem}.archive-results{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:9px;max-height:370px;overflow:auto;padding:2px;scrollbar-width:thin}.archive-result{display:grid;grid-template-columns:1fr auto;gap:8px;padding:12px;border:1px solid var(--border);border-radius:12px;background:#0b1512}.archive-result.featured-record{border-color:color-mix(in srgb,var(--rider-colour) 60%,var(--border))}.archive-result-main{min-width:0}.archive-result strong,.archive-result span{display:block}.archive-result .result-event{overflow:hidden;color:var(--muted);font-size:.68rem;text-overflow:ellipsis;white-space:nowrap}.archive-result .result-time{margin-top:5px;font-size:1.05rem;font-weight:850}.record-badges{display:flex;flex-wrap:wrap;gap:4px;margin-top:7px}.record-badge{padding:2px 6px;border:1px solid var(--border);border-radius:999px;color:var(--yellow);font-size:.58rem}.record-badge.quality{color:var(--blue)}.archive-result-actions{display:flex;flex-direction:column;justify-content:space-between;align-items:flex-end;gap:8px}.archive-add{width:31px;height:31px;padding:0;border:1px solid var(--border);border-radius:50%;background:var(--panel2);color:#fff;cursor:pointer;font-weight:900}.archive-add:disabled{opacity:.35;cursor:not-allowed}.archive-results.compact .archive-result{padding:8px 10px}.archive-results.compact .record-badges,.archive-results.compact .result-event{display:none}.comparison-field{display:flex;max-height:none;overflow:visible}.comparison-chip{display:flex;align-items:center;gap:8px;padding:8px 10px;border:1px solid var(--rider-colour);border-radius:10px;background:#0b1512;cursor:grab;font-size:.74rem}.comparison-chip.dragging{opacity:.45}.comparison-chip button{padding:0;border:0;background:none;color:var(--muted);cursor:pointer}.comparison-message{align-self:center;color:var(--yellow);font-size:.72rem}.leaderboard-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:16px}.leaderboard-grid>div{padding:15px;border:1px solid var(--border);border-radius:14px;background:#0b1512}.leaderboard-grid h3{margin:0 0 10px}.leaderboard-row{display:grid;grid-template-columns:28px 1fr auto;gap:8px;padding:8px 0;border-top:1px solid var(--border);font-size:.76rem}.leaderboard-row:first-child{border-top:0}.leaderboard-row span:last-child{color:var(--yellow);font-variant-numeric:tabular-nums}.archive-skeleton{display:grid;grid-template-columns:repeat(3,1fr);gap:9px;margin-bottom:12px}.archive-skeleton i{display:block;height:88px;border-radius:12px;background:linear-gradient(90deg,#13201c,#1c2c26,#13201c);background-size:200% 100%;animation:skeleton 1.2s linear infinite}@keyframes skeleton{to{background-position:-200% 0}}.archive-skeleton.loaded{display:none}
@media(max-width:760px){.archive-tools{flex-wrap:wrap}.filter-count{width:100%;margin:0}.archive-results{grid-template-columns:1fr;max-height:440px}.leaderboard-grid{grid-template-columns:1fr}.archive-skeleton{grid-template-columns:1fr}.archive-skeleton i:nth-child(n+2){display:none}}

/* Keep the map fully interactive; race controls sit below it rather than covering landmarks. */
.controls{position:relative;bottom:auto;box-shadow:0 14px 40px rgba(0,0,0,.22)}

/* High-impact fan retention additions */
.virtual-race-flag{position:absolute;z-index:6;top:72px;left:15px;padding:6px 10px;border:1px solid rgba(255,200,87,.45);border-radius:999px;background:rgba(7,16,14,.9);color:var(--yellow);font-size:.62rem;font-weight:900;letter-spacing:.09em;pointer-events:none}.comparison-notice{margin:-8px 0 20px;padding:10px 13px;border-left:3px solid var(--blue);background:rgba(81,200,255,.06);color:var(--muted);font-size:.76rem;line-height:1.45}.legend-actions{display:flex;flex-direction:column;align-items:flex-end;gap:7px}.follow-rider{padding:5px 9px;border:1px solid var(--border);border-radius:999px;background:transparent;color:var(--muted);cursor:pointer;font-size:.65rem;font-weight:850}.follow-rider[aria-pressed="true"]{border-color:var(--yellow);background:rgba(255,200,87,.14);color:var(--yellow)}.legend-item.camera-target{border-color:color-mix(in srgb,var(--rider-colour) 65%,var(--border))}.rider-marker.finished{opacity:.7;box-shadow:0 0 0 5px rgba(255,200,87,.24),0 4px 18px #000}.map-standing.finished{border-color:rgba(255,200,87,.38)}.replay-summary{display:grid;grid-template-columns:minmax(190px,.7fr) 1.4fr auto;gap:20px;align-items:center;margin-top:18px;padding:20px;border:1px solid rgba(255,200,87,.4);border-radius:16px;background:linear-gradient(135deg,rgba(255,200,87,.12),rgba(255,86,56,.05)),#0b1512}.replay-summary h3,.replay-summary p{margin:0}.replay-summary p:not(.eyebrow){margin-top:5px;color:var(--muted);font-size:.72rem;line-height:1.4}.replay-summary-results{display:grid;gap:5px}.replay-result{display:grid;grid-template-columns:24px 1fr 1fr auto;gap:8px;align-items:center;padding:7px 9px;border-left:3px solid var(--rider-colour);background:rgba(255,255,255,.035);font-size:.72rem}.replay-result span{display:grid;place-items:center;width:21px;height:21px;border-radius:50%;background:var(--rider-colour);color:#07100e;font-weight:950}.replay-result small{color:var(--muted)}.replay-result b{color:var(--yellow);font-variant-numeric:tabular-nums}.replay-summary-actions{display:flex;flex-direction:column;gap:8px}
@media(max-width:760px){.virtual-race-flag{top:76px;left:8px;max-width:180px;white-space:normal}.map-standings{top:116px}.legend-actions{min-width:92px}.replay-summary{grid-template-columns:1fr}.replay-result{grid-template-columns:24px 1fr auto}.replay-result small{display:none}.replay-summary-actions{flex-direction:row;flex-wrap:wrap}}

/* Editorial race UI: visual hierarchy, clear feedback and accessible targets. */
:root{--surface:#0d1714;--surface-raised:#14211d;--line:rgba(255,255,255,.14);--glow:rgba(255,86,56,.24)}
body{background:radial-gradient(circle at 8% -5%,rgba(255,86,56,.13),transparent 28%),radial-gradient(circle at 92% 8%,rgba(81,200,255,.1),transparent 25%),linear-gradient(180deg,#07100e 0,#08120f 55%,#050b09 100%)}
.app{width:min(1500px,calc(100% - 32px))}.topbar{position:relative;padding:10px 0 2px}.topbar::after{content:"";position:absolute;right:0;bottom:-10px;left:0;height:1px;background:linear-gradient(90deg,var(--accent),var(--yellow),transparent 72%)}.actions{padding:5px;border:1px solid var(--line);border-radius:999px;background:rgba(6,14,12,.72);backdrop-filter:blur(14px)}
.btn{min-height:44px;padding-inline:18px}.btn.small{min-height:36px}.icon-btn{width:44px;height:44px}.btn,.icon-btn,.landmark-chip,.archive-add,.follow-rider{transition:transform .16s ease,border-color .16s ease,background .16s ease,box-shadow .16s ease}.btn:hover,.icon-btn:hover,.landmark-chip:hover,.archive-add:hover:not(:disabled),.follow-rider:hover{transform:translateY(-2px);box-shadow:0 10px 25px rgba(0,0,0,.24)}
.map-card{min-height:690px;border-color:rgba(255,255,255,.2);background:var(--surface);box-shadow:0 36px 100px rgba(0,0,0,.44),0 0 0 1px rgba(255,255,255,.025) inset}.map-card::after{content:"";position:absolute;inset:0;z-index:2;border-radius:inherit;box-shadow:inset 0 0 80px rgba(0,0,0,.23);pointer-events:none}.hud{z-index:7}.hud div{border-color:rgba(255,255,255,.16);background:rgba(5,13,11,.84)}.hud strong{font-variant-numeric:tabular-nums}.info{z-index:7;border-color:rgba(255,255,255,.18);box-shadow:0 18px 45px rgba(0,0,0,.3)}
.controls,.data-card{border-color:var(--line);background:linear-gradient(145deg,rgba(255,255,255,.025),transparent 42%),var(--surface);box-shadow:0 18px 55px rgba(0,0,0,.2)}.section-heading{padding-bottom:14px;border-bottom:1px solid var(--line)}
.landmark-map-marker{width:30px;height:30px;padding:0;border:0;background:transparent;box-shadow:none}.landmark-map-marker::after{content:"";display:block;width:13px;height:13px;margin:auto;border:2px solid #07100e;border-radius:50%;background:var(--yellow);box-shadow:0 2px 12px #000,0 0 0 4px rgba(255,200,87,.13)}.archive-add{width:38px;height:38px}.comparison-chip button{min-width:28px;min-height:28px}.follow-rider{min-height:30px;padding-inline:11px}
.speed-showcase{display:grid;grid-template-columns:minmax(250px,.75fr) 1.4fr;gap:28px;align-items:center;margin:20px 0 24px;padding:clamp(20px,3vw,34px);overflow:hidden;border:1px solid rgba(255,200,87,.3);border-radius:20px;background:radial-gradient(circle at 85% 10%,rgba(255,200,87,.13),transparent 34%),linear-gradient(135deg,rgba(255,86,56,.1),transparent 48%),#091310;box-shadow:0 24px 60px rgba(0,0,0,.25)}.speed-showcase-copy h3{max-width:520px;margin:0 0 10px;font-size:clamp(1.4rem,3vw,2.25rem);letter-spacing:-.04em}.speed-showcase-copy>p:not(.eyebrow){max-width:580px;color:var(--muted);font-size:.82rem;line-height:1.55}.speed-duel{display:grid;grid-template-columns:1fr auto 1fr;gap:14px;align-items:center}.speed-card{position:relative;min-height:205px;padding:21px;border:1px solid var(--line);border-radius:16px;background:rgba(255,255,255,.045);box-shadow:0 14px 35px rgba(0,0,0,.22)}.speed-card::before{content:"";position:absolute;inset:0 auto 0 0;width:4px;border-radius:16px 0 0 16px;background:var(--card-accent)}.speed-card.motorcycle{--card-accent:#45d9ff}.speed-card.car{--card-accent:#ffd447}.speed-card>span{display:block;color:var(--muted);font-size:.62rem;font-weight:900;letter-spacing:.11em}.speed-card strong{display:block;margin-top:15px;color:var(--card-accent);font-size:clamp(1.35rem,3vw,2.1rem);font-variant-numeric:tabular-nums}.speed-card b{display:block;margin-top:2px;font-size:1rem;font-variant-numeric:tabular-nums}.speed-card small{display:block;margin-top:10px;color:var(--muted);line-height:1.35}.speed-bar{height:7px;margin-top:18px;overflow:hidden;border-radius:99px;background:rgba(255,255,255,.09)}.speed-bar i{display:block;width:var(--speed);height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--card-accent),#fff);box-shadow:0 0 18px var(--card-accent)}.versus-mark{display:grid;place-items:center;width:42px;height:42px;border:1px solid var(--line);border-radius:50%;background:#07100e;color:var(--yellow);font-size:.72rem;font-weight:950}.archive-result{transition:transform .16s ease,border-color .16s ease,background .16s ease}.archive-result:hover{transform:translateY(-2px);border-color:rgba(255,255,255,.24);background:#0e1b17}.archive-result.benchmark-record{border-color:color-mix(in srgb,var(--rider-colour) 70%,var(--border));background:linear-gradient(145deg,color-mix(in srgb,var(--rider-colour) 9%,#0b1512),#0b1512)}.record-badge.vehicle{text-transform:uppercase;letter-spacing:.07em}.rider-marker.vehicle-car{border-radius:9px}.rider-marker.vehicle-car::before{content:"CAR";font-size:8px;font-weight:950}.rider-marker.vehicle-motorcycle::before{content:"➤"}
@media(max-width:900px){.topbar{flex-wrap:wrap}.actions{width:100%;justify-content:center;border-radius:16px}.speed-showcase{grid-template-columns:1fr}.speed-duel{max-width:760px}}
@media(max-width:620px){.app{width:calc(100% - 14px)}.actions{display:grid;grid-template-columns:1fr 1fr 1fr;gap:5px}.actions .btn{min-width:0;padding:9px 7px;font-size:.7rem}.map-card{min-height:640px}.speed-showcase{padding:18px}.speed-duel{grid-template-columns:1fr}.versus-mark{width:100%;height:28px;border-radius:999px}.speed-card{min-height:0}.speed-showcase-copy .btn{width:100%}}
@media(prefers-reduced-motion:no-preference){.speed-showcase,.archive-browser,.replay-setup{animation:ui-rise .45s ease both}.archive-browser{animation-delay:.06s}.replay-setup{animation-delay:.12s}@keyframes ui-rise{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}}
.duel-delta{display:flex;align-items:baseline;gap:9px;margin:16px 0}.duel-delta strong{color:var(--yellow);font-size:1.2rem;font-variant-numeric:tabular-nums}.duel-delta span{color:var(--muted);font-size:.7rem}

/* Editable contact footer */
.site-footer{display:flex;align-items:center;gap:14px;margin-top:16px}.site-footer .notes{flex:1;margin:0}.contact-dialog{position:relative;width:min(520px,calc(100% - 28px));padding:28px;border:1px solid rgba(255,255,255,.2);border-radius:22px;background:linear-gradient(145deg,rgba(255,86,56,.08),transparent 42%),#0d1714;color:var(--text);box-shadow:0 35px 100px rgba(0,0,0,.65)}.contact-dialog::backdrop{background:rgba(2,7,5,.75);backdrop-filter:blur(6px)}.contact-dialog h2{margin-bottom:8px;font-size:clamp(1.5rem,4vw,2.2rem)}.contact-dialog>strong{display:block;color:var(--yellow)}.contact-dialog>p:not(.eyebrow){color:var(--muted);line-height:1.55}.contact-close{position:absolute;top:14px;right:14px;display:grid;place-items:center;width:40px;height:40px;padding:0;border:1px solid var(--line);border-radius:50%;background:var(--surface-raised);color:var(--text);cursor:pointer;font-size:1.35rem}.contact-actions{display:flex;flex-wrap:wrap;gap:9px;margin-top:20px}.contact-actions a{text-decoration:none}.contact-address{margin:15px 0 0!important;font-size:.75rem;word-break:break-all}
@media(max-width:620px){.site-footer{align-items:stretch;flex-direction:column}.site-footer #contactBtn{width:100%}.contact-dialog{padding:22px}.contact-actions{display:grid}.contact-actions .btn{text-align:center}}

/* Clean map, record history and course-triggered clips */
.map-ui-toggle{position:absolute;z-index:14;top:15px;right:15px;display:flex;align-items:center;gap:7px;min-height:40px;padding:8px 13px;border:1px solid rgba(255,255,255,.2);border-radius:999px;background:rgba(5,13,11,.9);color:#fff;cursor:pointer;font-size:.72rem;font-weight:850;backdrop-filter:blur(12px);box-shadow:0 8px 25px rgba(0,0,0,.28)}.map-ui-toggle[aria-pressed="true"]{border-color:var(--yellow);color:var(--yellow)}.map-card .hud{right:165px}.map-card .hud,.map-card .info,.map-card .map-standings,.map-card .virtual-race-flag{transition:opacity .18s ease,transform .18s ease}.map-card.map-ui-minimized .hud,.map-card.map-ui-minimized .info,.map-card.map-ui-minimized .map-standings,.map-card.map-ui-minimized .virtual-race-flag{visibility:hidden;opacity:0;pointer-events:none}.map-card.map-ui-minimized .info{transform:translateY(12px)}
.course-clip{position:absolute;z-index:13;bottom:18px;left:18px;width:min(390px,calc(100% - 36px));overflow:hidden;border:1px solid rgba(255,200,87,.42);border-radius:15px;background:rgba(6,14,12,.96);box-shadow:0 24px 65px rgba(0,0,0,.58);backdrop-filter:blur(14px)}.course-clip-head{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 12px}.course-clip-head div{display:flex;flex-direction:column}.course-clip-head span{color:var(--yellow);font-size:.57rem;font-weight:900;letter-spacing:.11em}.course-clip-head strong{font-size:.82rem}.course-clip-head button{display:grid;place-items:center;width:32px;height:32px;padding:0;border:1px solid var(--line);border-radius:50%;background:var(--surface-raised);color:#fff;cursor:pointer;font-size:1.2rem}.course-clip video{display:block;width:100%;max-height:220px;background:#000}.course-clip>p{margin:0;padding:8px 12px;color:var(--muted);font-size:.62rem}
.record-timeline-card{margin:18px 0 24px;padding:22px;border:1px solid var(--line);border-radius:18px;background:linear-gradient(135deg,rgba(81,200,255,.07),transparent 45%),rgba(0,0,0,.13)}.record-timeline-head{display:flex;align-items:flex-end;justify-content:space-between;gap:18px}.record-timeline-head h3{margin:0;font-size:clamp(1.25rem,2.5vw,1.8rem)}.record-timeline-head p:not(.eyebrow){margin:5px 0 0;color:var(--muted);font-size:.76rem}.record-timeline{position:relative;display:flex;gap:10px;margin-top:20px;padding:3px 2px 12px;overflow-x:auto;scrollbar-width:thin}.record-timeline::before{content:"";position:absolute;top:29px;right:0;left:0;height:2px;background:linear-gradient(90deg,var(--blue),var(--accent),var(--yellow))}.record-milestone{position:relative;z-index:1;flex:0 0 145px;min-height:118px;padding:13px;border:1px solid var(--line);border-radius:13px;background:#0b1512;color:var(--text);cursor:pointer;text-align:left}.record-milestone::before{content:"";position:absolute;top:23px;left:17px;width:12px;height:12px;border:3px solid #0b1512;border-radius:50%;background:var(--blue);box-shadow:0 0 0 2px var(--blue)}.record-milestone>span{display:block;margin-left:25px;color:var(--blue);font-size:.68rem;font-weight:900}.record-milestone strong{display:block;margin-top:19px;font-size:.78rem}.record-milestone small{display:block;margin-top:3px;color:var(--yellow);font-variant-numeric:tabular-nums}.record-milestone i{display:block;margin-top:7px;color:var(--muted);font-size:.49rem;font-style:normal;letter-spacing:.06em}.record-milestone:hover,.record-milestone.active{border-color:var(--yellow);transform:translateY(-2px)}.record-milestone.active::before{background:var(--yellow);box-shadow:0 0 0 2px var(--yellow),0 0 18px var(--yellow)}.delta-line{color:#d4e8df!important;font-variant-numeric:tabular-nums}
@media(max-width:760px){.map-ui-toggle{top:auto;right:8px;bottom:8px}.map-card .hud{right:8px}.course-clip{right:8px;bottom:58px;left:8px;width:auto}.course-clip video{max-height:180px}.record-timeline-head{align-items:flex-start;flex-direction:column}.record-timeline-head .btn{width:100%}}

/* Multi-rider timestamped YouTube dock */
.course-clip-dock{position:absolute;z-index:13;right:18px;bottom:18px;left:18px;display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:10px;max-height:58%;overflow:auto;pointer-events:none;scrollbar-width:thin}.course-clip-player{position:relative;min-width:0;overflow:hidden;border:1px solid color-mix(in srgb,var(--clip-colour) 68%,rgba(255,255,255,.16));border-radius:15px;background:linear-gradient(145deg,color-mix(in srgb,var(--clip-colour) 16%,#07100e),#07100e 58%);box-shadow:0 24px 65px rgba(0,0,0,.58),0 0 30px color-mix(in srgb,var(--clip-colour) 13%,transparent);backdrop-filter:blur(14px);pointer-events:auto}.course-clip-player::before{content:"";position:absolute;z-index:2;inset:0 auto 0 0;width:4px;background:var(--clip-colour)}.course-clip-player .course-clip-head{padding-left:15px}.course-clip-head>div:first-child{min-width:0}.course-clip-head strong,.course-clip-head small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.course-clip-head strong{color:var(--clip-colour)}.course-clip-head small{margin-top:2px;color:var(--muted);font-size:.62rem}.course-clip-controls{display:flex;flex:0 0 auto;gap:5px}.course-clip-controls button{min-height:31px;border:1px solid var(--line);background:#101b17;color:#fff;cursor:pointer}.course-clip-controls button:disabled{opacity:.45;cursor:wait}.course-clip-controls .clip-sync{width:auto;padding:0 9px;border-radius:999px;font-size:.58rem;font-weight:950;letter-spacing:.07em}.course-clip-controls .clip-sync[aria-pressed="true"]{border-color:var(--clip-colour);background:color-mix(in srgb,var(--clip-colour) 18%,#101b17);color:var(--clip-colour)}.course-clip-controls .clip-close{width:31px;padding:0;border-radius:50%;font-size:1.15rem}.youtube-player-shell{position:relative;width:100%;height:200px;overflow:hidden;background:#000}.youtube-player-shell::before{content:"LOADING YOUTUBE…";position:absolute;inset:0;display:grid;place-items:center;color:#91a49c;font-size:.58rem;font-weight:850;letter-spacing:.09em}.youtube-player-shell iframe{position:relative;z-index:1;display:block;width:100%;height:100%;border:0}.course-clip-player>p{margin:0;padding:7px 12px 8px 15px;color:var(--muted);font-size:.58rem}.course-clip-player>p a{color:var(--clip-colour);font-weight:800;text-decoration:none}.course-clip-player>p a:hover{text-decoration:underline}.course-clip-player.is-synced::after{content:"REPLAY SYNC";position:absolute;right:9px;bottom:9px;padding:3px 6px;border-radius:999px;background:rgba(0,0,0,.72);color:var(--clip-colour);font-size:.48rem;font-weight:950;letter-spacing:.08em;pointer-events:none}
@media(max-width:760px){.course-clip-dock{right:8px;bottom:58px;left:8px;display:flex;max-height:62%;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x proximity}.course-clip-player{flex:0 0 min(88vw,370px);scroll-snap-align:start}.youtube-player-shell{height:200px}}
.course-clip-controls{flex-direction:row!important}
.course-clip-player.is-unavailable .youtube-player-shell{opacity:.35}.course-clip-player.is-unavailable>p{color:var(--yellow)}.course-clip-player.is-unavailable .clip-sync{opacity:.45;cursor:not-allowed}
.clip-play-prompt{position:absolute;z-index:3;inset:50% auto auto 50%;translate:-50% -50%;min-width:118px;padding:10px 16px;border:1px solid color-mix(in srgb,var(--clip-colour) 70%,#fff);border-radius:999px;background:rgba(7,16,14,.92);box-shadow:0 10px 35px rgba(0,0,0,.5);color:#fff;font:900 .72rem/1 var(--font-body);letter-spacing:.04em;cursor:pointer}.clip-play-prompt:hover{background:color-mix(in srgb,var(--clip-colour) 25%,#07100e)}

/* Side-stage YouTube clips: keep roughly 80% of each card in the page's side
   space so the course remains visible while several riders are on screen. */
@media(min-width:1101px){
  .map-card{
    width:calc(100% + 36px);
    margin-left:-18px;
    overflow:visible;
  }
  .map-card::before{
    content:"";
    position:absolute;
    z-index:3;
    inset:0;
    border:1px solid rgba(255,255,255,.16);
    border-radius:inherit;
    pointer-events:none;
  }
  #map,.loading{
    border-radius:inherit;
    overflow:hidden;
  }
  .course-clip-dock{
    --clip-width:clamp(300px,22vw,370px);
    --clip-overhang:min(80%,max(0px,calc((100vw - min(1500px,calc(100vw - 32px)))/2 - 24px)));
    top:var(--clip-dock-top,118px);
    right:0;
    bottom:auto;
    left:0;
    display:grid;
    grid-template-columns:1fr 1fr;
    grid-auto-rows:min-content;
    align-content:start;
    gap:12px 0;
    max-height:none;
    overflow:visible;
  }
  .course-clip-player{
    width:var(--clip-width);
    animation:clip-side-arrival .32s cubic-bezier(.2,.8,.2,1) both;
  }
  .course-clip-player:nth-child(odd){
    grid-column:1;
    justify-self:start;
    transform:translateX(calc(-1 * var(--clip-overhang)));
  }
  .course-clip-player:nth-child(even){
    grid-column:2;
    justify-self:end;
    transform:translateX(var(--clip-overhang));
  }
  .youtube-player-shell{height:200px}
  @keyframes clip-side-arrival{
    from{opacity:0;scale:.96}
    to{opacity:1;scale:1}
  }
}

@media(max-width:1100px){
  .course-clip-dock{
    right:10px;
    bottom:16px;
    left:10px;
    display:flex;
    max-height:52%;
    overflow-x:auto;
    overflow-y:hidden;
    scroll-snap-type:x proximity;
  }
  .course-clip-player{
    flex:0 0 min(44vw,370px);
    scroll-snap-align:start;
  }
}

@media(max-width:760px){
  .course-clip-dock{right:8px;bottom:58px;left:8px}
  .course-clip-player{flex-basis:min(88vw,370px)}
}

.course-clip-dock.is-viewport-pinned{position:fixed;z-index:1000;top:8px;right:8px;bottom:auto;left:8px;max-height:calc(100vh - 16px)}
@media(min-width:1101px){
  .course-clip-dock.is-viewport-pinned{top:12px;right:12px;left:12px;grid-template-columns:1fr 1fr;align-content:start}
  .course-clip-dock.is-viewport-pinned .course-clip-player:nth-child(odd),.course-clip-dock.is-viewport-pinned .course-clip-player:nth-child(even){transform:none}
}

/* V1.1 clarity pass: navigation, contextual camera controls and onboarding. */
.actions a,.experience-nav a{text-decoration:none}
.experience-nav{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;margin:16px 0 4px;overflow:hidden;border:1px solid var(--line);border-radius:15px;background:var(--line)}
.experience-nav a{display:flex;align-items:center;gap:10px;min-height:50px;padding:10px 16px;background:rgba(8,18,15,.96);color:var(--muted);font-size:.78rem;font-weight:800;transition:background .16s ease,color .16s ease}
.experience-nav a:hover,.experience-nav a:focus-visible{background:var(--surface-raised);color:#fff}
.experience-nav span{color:var(--yellow);font-size:.62rem;letter-spacing:.08em}

.view-controls{position:absolute;z-index:15;top:15px;right:165px;left:15px;display:grid;grid-template-columns:auto repeat(3,max-content);align-items:center;justify-content:start;gap:7px;width:max-content;max-width:calc(100% - 180px);padding:7px;border:1px solid rgba(255,255,255,.18);border-radius:15px;background:rgba(5,13,11,.9);box-shadow:0 12px 35px rgba(0,0,0,.3);backdrop-filter:blur(14px)}
.view-controls>span{padding:0 7px;color:var(--muted);font-size:.62rem;font-weight:900;letter-spacing:.1em;text-transform:uppercase}
.view-controls .btn{min-height:36px;padding:7px 12px;font-size:.7rem}
.view-controls small{grid-column:1/-1;padding:0 7px 2px;color:#bfd0c8;font-size:.61rem}
.map-card .hud{top:112px;right:15px}
.map-card .virtual-race-flag{top:184px}
.map-card .map-standings{top:215px}
.map-card.map-ui-minimized .view-controls{visibility:hidden;opacity:0;pointer-events:none}
.map-card .view-controls{transition:opacity .18s ease,transform .18s ease}
.map-card.camera-locked .maplibregl-canvas,.map-card.camera-locked .maplibregl-canvas-container{touch-action:pan-y!important}

.replay-primary-options{display:flex;align-items:center;gap:12px;margin-top:18px;padding:14px;border:1px solid var(--line);border-radius:14px;background:rgba(0,0,0,.14)}
.replay-primary-options label{display:flex;align-items:center;gap:9px;color:var(--muted);font-size:.78rem;font-weight:750}
.advanced-controls{margin-top:10px;border:1px solid var(--line);border-radius:13px;background:rgba(0,0,0,.1)}
.advanced-controls>summary{padding:13px 16px;color:var(--muted);cursor:pointer;font-size:.76rem;font-weight:850;list-style-position:inside}
.advanced-controls[open]>summary{border-bottom:1px solid var(--line);color:#fff}
.advanced-controls .options{margin:0;padding:14px;border:0}

.fan-insights{margin:18px 0;border:1px solid var(--line);border-radius:16px;background:rgba(0,0,0,.12)}
.fan-insights>summary{position:relative;display:grid;grid-template-columns:auto 1fr;gap:3px 14px;padding:16px 18px;cursor:pointer;list-style:none}
.fan-insights>summary::-webkit-details-marker{display:none}
.fan-insights>summary::after{content:"+";position:absolute;top:50%;right:18px;translate:0 -50%;display:grid;place-items:center;width:30px;height:30px;border:1px solid var(--line);border-radius:50%;color:var(--yellow);font-size:1.15rem}
.fan-insights[open]>summary::after{content:"–"}
.fan-insights>summary span{grid-row:1/3;align-self:center;padding:5px 8px;border-radius:999px;background:rgba(255,200,87,.11);color:var(--yellow);font-size:.61rem;font-weight:900;letter-spacing:.08em;text-transform:uppercase}
.fan-insights>summary strong{padding-right:42px;font-size:.9rem}
.fan-insights>summary small{padding-right:42px;color:var(--muted);font-size:.68rem}
.fan-insights-body{padding:0 18px 18px;border-top:1px solid var(--line)}
.fan-insights .speed-showcase{margin-top:18px}
.fan-insights .record-timeline-card{margin-bottom:0}

.user-tour{position:fixed;z-index:3000;inset:0;pointer-events:none}
.user-tour::before{content:"";position:absolute;inset:0;background:rgba(2,8,6,.42);pointer-events:auto}
.tour-card{position:fixed;z-index:3010;right:24px;bottom:24px;width:min(430px,calc(100% - 32px));padding:25px;border:1px solid rgba(255,200,87,.44);border-radius:20px;background:linear-gradient(145deg,rgba(255,86,56,.1),transparent 42%),#101b17;box-shadow:0 30px 100px rgba(0,0,0,.68);pointer-events:auto}
.tour-card h2{margin:8px 42px 9px 0;font-size:1.35rem}
.tour-card>p:not(.eyebrow){margin:0;color:#c3d0ca;font-size:.86rem;line-height:1.55}
.tour-close{position:absolute;top:14px;right:14px;display:grid;place-items:center;width:36px;height:36px;padding:0;border:1px solid var(--line);border-radius:50%;background:var(--surface-raised);color:#fff;cursor:pointer;font-size:1.25rem}
.tour-progress{display:flex;gap:6px;margin:10px 0 3px}
.tour-progress span{width:24px;height:4px;border-radius:99px;background:rgba(255,255,255,.15)}
.tour-progress span.active{background:var(--yellow)}
.tour-actions{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:20px}
.tour-actions>div{display:flex;gap:7px}
.archive-browser{position:relative}.tour-highlight{z-index:2005!important;outline:4px solid var(--yellow)!important;outline-offset:5px;box-shadow:0 0 0 8px rgba(255,200,87,.18),0 25px 80px rgba(0,0,0,.48)!important;pointer-events:none!important}
.tour-active{overflow-x:hidden}

@media(max-width:760px){
  .experience-nav{grid-template-columns:1fr 1fr}
  .experience-nav a{min-height:44px;padding:8px 11px;font-size:.7rem}
  .view-controls{top:8px;right:8px;left:8px;grid-template-columns:repeat(3,1fr);justify-content:stretch;width:auto;max-width:none;padding:7px}
  .view-controls>span{grid-column:1/-1;padding-top:2px}
  .view-controls .btn{padding-inline:5px;font-size:.65rem}
  .view-controls small{font-size:.58rem}
  .map-card .hud{top:137px;right:8px;left:8px}
  .map-card .virtual-race-flag{top:233px}
  .map-card .map-standings{top:269px}
  .map-card .info{bottom:58px}
  .replay-primary-options{align-items:stretch;flex-direction:column}
  .replay-primary-options label{justify-content:space-between}
  .replay-primary-options select,.replay-primary-options .btn{flex:1;max-width:none}
  .advanced-controls .options{padding:12px}
  .fan-insights>summary{grid-template-columns:1fr;padding:14px 54px 14px 14px}
  .fan-insights>summary span{grid-row:auto;width:max-content}
  .fan-insights>summary strong,.fan-insights>summary small{padding-right:0}
  .fan-insights-body{padding:0 12px 12px}
  .tour-card{right:8px;bottom:8px;width:calc(100% - 16px);padding:21px}
  .tour-actions{align-items:stretch;flex-direction:column-reverse}
  .tour-actions>div{display:grid;grid-template-columns:1fr 1fr}
  .tour-actions .btn{width:100%}
  .topbar .actions{grid-template-columns:1fr 1fr}
}

.archive-load-more{
  grid-column:1/-1;
  justify-self:center;
  margin:8px 0 2px;
}
.archive-load-more span{
  margin-left:6px;
  color:var(--muted);
  font-size:.68rem;
}

/* Original Mountain Course Replay identity and crawlable introduction */
.skip-link{
  position:fixed;
  z-index:1000;
  top:10px;
  left:10px;
  padding:10px 14px;
  border-radius:9px;
  background:var(--yellow);
  color:#181205;
  font-weight:900;
  transform:translateY(-160%);
  transition:transform .15s ease;
}
.skip-link:focus{transform:none}
.brand-lockup{color:inherit;text-decoration:none}
.brand-mark{
  display:block;
  width:66px;
  height:66px;
  padding:0;
  border-radius:18px;
  background:transparent;
  object-fit:contain;
  box-shadow:7px 7px 0 rgba(255,200,87,.82);
  transition:transform .18s ease,box-shadow .18s ease;
}
.brand-lockup:hover .brand-mark{transform:translateY(-2px);box-shadow:7px 10px 0 rgba(255,200,87,.82)}
.seo-intro{
  display:grid;
  grid-template-columns:minmax(260px,.72fr) 1.4fr;
  gap:28px;
  align-items:center;
  margin-top:16px;
  padding:18px 22px;
  border:1px solid var(--border);
  border-radius:16px;
  background:linear-gradient(105deg,rgba(255,86,56,.08),transparent 46%),rgba(255,255,255,.025);
}
.seo-intro h2,.seo-intro p{margin:0}
.seo-intro>p{color:var(--muted);font-size:.84rem;line-height:1.6}
.independent-notice{
  margin:10px 2px 0;
  color:var(--muted);
  font-size:.7rem;
  line-height:1.5;
}
.independent-notice strong{color:var(--text)}
@media(max-width:760px){
  .seo-intro{grid-template-columns:1fr;gap:8px;padding:15px 16px}
  .brand-mark{width:48px;height:48px;border-radius:14px;box-shadow:5px 5px 0 rgba(255,200,87,.82)}
}

.footer-links{display:inline-flex;margin-left:10px}.footer-links a{color:var(--yellow);text-underline-offset:3px}
.legal-page{min-height:100vh;background:radial-gradient(circle at 82% 10%,rgba(255,86,56,.12),transparent 35%),var(--bg);color:var(--text)}
.legal-shell{width:min(860px,calc(100% - 32px));margin:0 auto;padding:38px 0 70px}
.legal-brand{display:inline-flex;align-items:center;gap:13px;margin-bottom:24px;color:var(--text);text-decoration:none}.legal-brand img{border-radius:15px;box-shadow:5px 5px 0 rgba(255,200,87,.8)}.legal-brand span{display:grid;gap:2px}.legal-brand small{color:var(--orange);font-size:.68rem;font-weight:900;letter-spacing:.18em}.legal-brand strong{font-size:1.05rem}
.legal-card{padding:clamp(24px,5vw,48px);border:1px solid var(--line);border-radius:26px;background:linear-gradient(145deg,rgba(255,86,56,.055),transparent 28%),var(--surface);box-shadow:0 28px 75px rgba(0,0,0,.28)}.legal-card h1{margin:4px 0 2px;font-size:clamp(2.2rem,7vw,4rem);letter-spacing:-.04em}.legal-card h2{margin:32px 0 8px;font-size:1.22rem;color:var(--yellow)}.legal-card p{max-width:72ch;margin:0 0 14px;color:var(--muted);line-height:1.75}.legal-card a{color:var(--yellow)}.legal-updated{font-size:.76rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.legal-card .legal-note{margin-top:30px;padding-top:18px;border-top:1px solid var(--line);font-size:.8rem}.legal-back{display:inline-flex;margin-top:18px;text-decoration:none}
@media(max-width:620px){.footer-links{display:flex;margin:8px 0 0}.legal-shell{padding-top:20px}.legal-card{border-radius:20px}}

/* Crawlable rider, run, landmark and records pages */
.archive-page{min-height:100vh;margin:0;background:radial-gradient(circle at 88% 4%,rgba(255,86,56,.16),transparent 30%),radial-gradient(circle at 8% 36%,rgba(255,200,87,.07),transparent 28%),var(--bg);color:var(--text)}
.archive-page-shell{width:min(1120px,calc(100% - 32px));margin:0 auto;padding:24px 0 60px}
.archive-page-header{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:24px}
.archive-page-brand{display:flex;align-items:center;gap:14px;color:var(--text);text-decoration:none}.archive-page-brand img{border-radius:15px;box-shadow:5px 5px 0 rgba(255,200,87,.82)}.archive-page-brand span{display:grid;gap:3px}.archive-page-brand small{color:var(--orange);font-size:.62rem;font-weight:950;letter-spacing:.16em}.archive-page-brand strong{font-size:1.05rem}
.archive-breadcrumbs{display:flex;flex-wrap:wrap;gap:8px;margin:8px 0 34px;color:var(--muted);font-size:.74rem}.archive-breadcrumbs a{color:var(--muted);text-underline-offset:3px}.archive-breadcrumbs a:hover{color:var(--yellow)}.archive-breadcrumbs i{font-style:normal;opacity:.5}
.archive-hero{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(310px,.7fr);gap:28px;align-items:stretch;margin:8px 0 22px}.archive-hero>div,.archive-hero>dl{margin:0;border:1px solid var(--line);border-radius:26px;background:linear-gradient(145deg,rgba(255,86,56,.09),transparent 38%),var(--surface);box-shadow:0 28px 70px rgba(0,0,0,.25)}.archive-hero>div{padding:clamp(28px,5vw,54px)}.archive-hero h1{max-width:16ch;margin:9px 0 14px;font-size:clamp(2.5rem,7vw,5.6rem);line-height:.92;letter-spacing:-.055em}.archive-hero p{max-width:66ch;margin:0;color:var(--muted);font-size:.93rem;line-height:1.7}.archive-kicker{color:var(--yellow);font-size:.67rem;font-weight:950;letter-spacing:.18em}
.archive-hero-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:25px}.archive-hero-actions .btn{min-height:45px;text-decoration:none}
.archive-stat-grid{display:grid;grid-template-columns:1fr 1fr;overflow:hidden}.archive-stat-grid div{display:flex;min-width:0;flex-direction:column;justify-content:center;padding:22px;border-right:1px solid var(--line);border-bottom:1px solid var(--line)}.archive-stat-grid div:nth-child(even){border-right:0}.archive-stat-grid div:nth-last-child(-n+2){border-bottom:0}.archive-stat-grid dt{margin-bottom:8px;color:var(--muted);font-size:.63rem;font-weight:850;letter-spacing:.12em;text-transform:uppercase}.archive-stat-grid dd{margin:0;overflow-wrap:anywhere;color:var(--text);font-size:clamp(1.05rem,2.4vw,1.55rem);font-weight:950;line-height:1.08}
.archive-content-card,.archive-method-note,.archive-related{margin:18px 0;padding:clamp(20px,4vw,34px);border:1px solid var(--line);border-radius:22px;background:var(--surface)}
.archive-section-heading{display:flex;align-items:end;justify-content:space-between;gap:18px;margin-bottom:18px}.archive-section-heading span,.archive-prose>span{color:var(--orange);font-size:.64rem;font-weight:950;letter-spacing:.16em}.archive-section-heading h2,.archive-prose h2,.archive-related h2{margin:5px 0 0;font-size:clamp(1.4rem,3vw,2rem);letter-spacing:-.025em}.archive-section-heading p{margin:0;color:var(--muted);font-size:.75rem}
.archive-table-wrap{overflow-x:auto;border:1px solid var(--line);border-radius:15px}.archive-table-wrap table{width:100%;border-collapse:collapse;background:rgba(0,0,0,.1)}.archive-table-wrap th,.archive-table-wrap td{padding:12px 14px;border-bottom:1px solid var(--line);text-align:left;white-space:nowrap}.archive-table-wrap th{color:var(--muted);font-size:.61rem;letter-spacing:.1em;text-transform:uppercase}.archive-table-wrap td{font-size:.76rem}.archive-table-wrap tbody tr:last-child td{border-bottom:0}.archive-table-wrap tbody tr:hover{background:rgba(255,200,87,.035)}.archive-table-wrap a{color:var(--text);text-underline-offset:3px}.archive-table-wrap .table-action{color:var(--yellow);font-weight:900}
.archive-source,.archive-prose p,.archive-method-note p{margin:15px 0 0;color:var(--muted);font-size:.78rem;line-height:1.7}.archive-source a{color:var(--yellow)}.archive-method-note{border-color:rgba(255,200,87,.24);background:linear-gradient(110deg,rgba(255,200,87,.075),transparent 52%),var(--surface)}.archive-method-note strong{color:var(--yellow)}
.archive-related h2{margin-bottom:14px}.archive-related>div{display:flex;flex-wrap:wrap;gap:8px}.archive-related a{padding:9px 12px;border:1px solid var(--line);border-radius:999px;color:var(--text);font-size:.7rem;font-weight:800;text-decoration:none}.archive-related a:hover{border-color:var(--yellow);color:var(--yellow)}
.archive-page-footer{display:flex;align-items:flex-start;justify-content:space-between;gap:24px;padding:22px 4px 0;color:var(--muted);font-size:.7rem;line-height:1.5}.archive-page-footer p{max-width:65ch;margin:0}.archive-page-footer nav{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:12px}.archive-page-footer a{color:var(--yellow)}
.discovery-card{margin-top:18px}.discovery-intro{margin:-5px 0 20px;color:var(--muted);font-size:.78rem}.discovery-grid{display:grid;grid-template-columns:.85fr 1.35fr .9fr;gap:12px}.discovery-grid>div{display:flex;align-content:flex-start;flex-wrap:wrap;gap:7px;padding:17px;border:1px solid var(--line);border-radius:16px;background:rgba(0,0,0,.1)}.discovery-grid h3{flex:0 0 100%;margin:0 0 7px;color:var(--yellow);font-size:.78rem;letter-spacing:.08em;text-transform:uppercase}.discovery-grid a{padding:7px 9px;border:1px solid rgba(255,255,255,.09);border-radius:8px;color:var(--text);font-size:.66rem;font-weight:800;text-decoration:none}.discovery-grid a:hover{border-color:var(--orange);color:var(--orange)}
@media(max-width:820px){.archive-hero{grid-template-columns:1fr}.archive-stat-grid{min-height:250px}.archive-section-heading,.archive-page-footer{align-items:flex-start;flex-direction:column}.archive-page-footer nav{justify-content:flex-start}.discovery-grid{grid-template-columns:1fr}}
@media(max-width:560px){.archive-page-shell{width:min(100% - 20px,1120px);padding-top:12px}.archive-page-header{align-items:flex-start}.archive-page-header>.btn{display:none}.archive-breadcrumbs{margin-bottom:24px}.archive-hero>div{padding:24px 20px}.archive-hero h1{font-size:clamp(2.35rem,14vw,4rem)}.archive-stat-grid div{padding:17px 14px}.archive-stat-grid dd{font-size:1rem}.archive-hero-actions{align-items:stretch;flex-direction:column}.archive-hero-actions .btn{justify-content:center}.archive-section-heading{align-items:flex-start}.archive-table-wrap{margin-inline:-6px}.archive-page-footer nav{display:grid;grid-template-columns:1fr 1fr}.archive-page-brand strong{font-size:.9rem}}
