/* Mobile-first overrides shared by every RaceVault view. */
.timing-row>a,.records-row>a:first-of-type,#classification tbody td:nth-child(2),.shared-sessions b,.event-row b,.achievement-row>span:first-child,.opponent-row>span:first-child{color:#fff;font-weight:900;letter-spacing:.01em;text-decoration:none}
.timing-row>a,.records-row>a:first-of-type{font-size:15px;text-transform:none}.timing-row>strong,.records-row .metric,#classification tbody td:first-child b,#classification tbody td:nth-child(3),.shared-sessions em{font-family:Consolas,"SFMono-Regular",monospace;font-weight:900}.timing-row>strong{font-size:21px;color:#f5f7fa}.timing-row>b,.records-row>b{font-weight:900}.timing-row{min-height:58px}.timing-row:hover,.records-row:hover{background:#151e29}.timing-row>a:hover,.records-row>a:first-of-type:hover{color:#fff;text-decoration:underline;text-decoration-color:#e52020;text-decoration-thickness:2px;text-underline-offset:3px}
.data-panel tbody td b,.classification-wrap tbody td b{color:#fff;font-weight:900}.data-panel tbody a,.classification-wrap tbody a{font-weight:800;color:#fff}.shared-sessions b{font-size:14px;line-height:1.3}.shared-sessions em{font-size:14px}.result-name{color:#fff;font-weight:900}
.championship-head .kicker a{color:#a879ff;font-weight:900;text-decoration:none}.championship-standings{max-height:none}.championship-standings tbody tr{transition:background .15s}.championship-standings tbody tr:hover{background:#151e29}.championship-standings tbody td{height:52px}.championship-standings tbody td:first-child b{color:#e52020;font:900 18px Consolas,"SFMono-Regular",monospace}.championship-standings tbody td:nth-child(2){color:#aab5c3;font:800 13px Consolas,"SFMono-Regular",monospace}.championship-standings tbody td:nth-child(3) a{color:#fff;font-size:15px;font-weight:900;text-decoration:none;text-underline-offset:4px}.championship-standings tbody td:nth-child(3) a:hover{text-decoration:underline;text-decoration-color:#e52020;text-decoration-thickness:2px}.championship-standings tbody td:nth-child(n+4){font:800 13px Consolas,"SFMono-Regular",monospace;color:#d6dee8}.championship-standings tbody td:last-child b{color:#ffcb45;font:900 17px Consolas,"SFMono-Regular",monospace}.championship-standings thead th:first-child,.championship-standings tbody td:first-child{padding-left:18px}
.championship-leaders{grid-template-columns:repeat(4,1fr)}.championship-leaders a:first-child{background:linear-gradient(145deg,#28131b,#121a25);border-color:#6b2d3d}.championship-results{overflow-x:auto}.championship-grid{display:grid;grid-template-columns:var(--standings-columns)!important;width:100%;min-width:900px;align-items:center}.championship-results .records-head,.championship-results .records-row{gap:10px}.championship-results .records-row{min-height:54px}.championship-results .records-row>a{color:#fff;font-size:15px;font-weight:900;text-decoration:none}.championship-results .records-row>a:hover{text-decoration:underline;text-decoration-color:#e52020;text-decoration-thickness:2px;text-underline-offset:3px}.championship-results .records-row>span{font:800 13px Consolas,"SFMono-Regular",monospace}.championship-total{color:#ffcb45;font:900 20px Consolas,"SFMono-Regular",monospace}.drop-mark{display:inline-block;color:#ffcb45;font:800 8px Arial,sans-serif;border:1px solid #6d5620;padding:2px 3px;margin-left:3px}.championship-results .records-row:first-of-type{background:linear-gradient(90deg,rgba(229,32,32,.08),transparent 35%)}
.nav-toggle,.nav-scrim{display:none}html{overflow-x:hidden;-webkit-text-size-adjust:100%}body{min-height:100dvh;overflow-x:hidden}button,a,input,select{touch-action:manipulation}
@supports(padding:max(0px)){.rail{padding-top:max(22px,env(safe-area-inset-top));padding-bottom:max(22px,env(safe-area-inset-bottom))}.topbar{padding-top:env(safe-area-inset-top);height:calc(64px + env(safe-area-inset-top))}main{padding-bottom:max(55px,env(safe-area-inset-bottom))}}
@media(max-width:1280px){
:root{--rail:0px}.app{margin-left:0;min-width:0}.rail{width:min(84vw,310px);transform:translateX(-105%);transition:transform .22s ease;box-shadow:18px 0 45px #0009;overflow-y:auto;overscroll-behavior:contain;padding-left:16px;padding-right:16px}.nav-open .rail{transform:none}.nav-scrim{display:block;position:fixed;inset:0;background:#030507b8;backdrop-filter:blur(2px);z-index:19;opacity:0;visibility:hidden;transition:.2s}.nav-open .nav-scrim{opacity:1;visibility:visible}.nav-open{overflow:hidden}.nav-toggle{display:grid;place-content:center;gap:4px;position:fixed;z-index:30;left:max(12px,env(safe-area-inset-left));top:max(10px,env(safe-area-inset-top));width:44px;height:44px;padding:0;border:1px solid #354254;background:#111923;color:#fff}.nav-toggle span{display:block;width:19px;height:2px;background:currentColor;transition:.2s}.nav-open .nav-toggle span:first-child{transform:translateY(6px) rotate(45deg)}.nav-open .nav-toggle span:nth-child(2){opacity:0}.nav-open .nav-toggle span:last-child{transform:translateY(-6px) rotate(-45deg)}.rail nav a{min-height:48px;font-size:14px}.brand{margin-left:48px;margin-bottom:24px}.source{position:relative;left:12px;bottom:auto;margin:28px 0 8px}
.topbar{height:64px;padding-left:68px;padding-right:max(12px,env(safe-area-inset-right))}.topbar>div:first-child{min-width:0}.eyebrow{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:42vw}.season,.db-state{display:none}main{width:100%;min-width:0;padding:18px max(14px,env(safe-area-inset-right)) max(32px,env(safe-area-inset-bottom)) max(14px,env(safe-area-inset-left))}.page-head{padding:18px 0 14px}.page-head h1{font-size:clamp(31px,10vw,42px);line-height:.95;letter-spacing:-1px;overflow-wrap:anywhere}
.hero{min-height:auto;padding:36px 20px}.hero h1{font-size:clamp(38px,12vw,52px);letter-spacing:-2px}.hero p{font-size:14px}.telemetry-ring{display:none}.hero-actions,.quick{flex-wrap:wrap}.btn,.quick a{display:inline-flex;align-items:center;justify-content:center;min-height:44px}.stat-strip{grid-template-columns:repeat(2,1fr);margin:-1px 0 0}.stat-strip article{padding:16px 14px}.stat-strip article:last-child{grid-column:1/-1}.stat-strip strong{font-size:21px}.section-head{align-items:start;margin-top:30px}.section-head h2{font-size:21px}.dashboard-grid{gap:10px}.event-row{grid-template-columns:42px minmax(0,1fr) 18px;padding:14px 12px;min-height:58px}.event-row>span:not(:last-child){display:none}.event-row b,.event-row small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.filterbar,.session-filters{display:grid;grid-template-columns:1fr;width:100%}.filterbar input,.filterbar select,.filterbar button,.session-filters input,.session-filters select{width:100%;max-width:none;min-width:0;min-height:44px}.data-panel,.classification-wrap,.shared-sessions{max-width:100%;overflow:auto;-webkit-overflow-scrolling:touch}.data-panel table{min-width:620px}th,td{white-space:nowrap}.session-head{display:block}.session-title{align-items:start}.session-title h1{font-size:25px;overflow-wrap:anywhere}.session-meta{grid-template-columns:repeat(2,minmax(0,1fr));margin-top:18px}.reference-alert span{display:block;margin:7px 0 0}.timing-tower{min-width:0}.rider-strip{grid-template-columns:34px 4px minmax(0,1fr) 84px 22px;padding:12px 9px;gap:7px}.rider-strip .timing:not(:first-of-type){display:none}.timing strong{font-size:15px}.rider-name{min-width:0}.rider-name b,.rider-name small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.control-row{min-width:0}.mode-tabs{display:flex;overflow-x:auto;scroll-snap-type:x proximity}.mode-tabs button{flex:0 0 auto;min-height:48px;scroll-snap-align:start}.analysis-stage{min-height:400px}.mode-heading{display:block}.mode-heading p{margin:7px 0 0}.plot,.wide .plot,.hero-plot{height:340px;min-width:0}.detail-riders{grid-template-columns:1fr}.ideal-times,.sector-mini{grid-template-columns:repeat(3,minmax(0,1fr))}.sector-toolbar{overflow-x:auto}.sector-toolbar button{flex:0 0 auto;min-height:44px}.lap-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.honours-stats,.career-stats,.career-stats-wide{grid-template-columns:repeat(2,1fr)!important}.honours-head{padding:18px}.profile-hero{display:block;padding:24px 18px}.profile-number{font-size:64px}.profile-hero h1{font-size:36px}.profile-pace{display:grid;grid-template-columns:1fr;margin-top:20px}.profile-pace div{min-width:0}.profile-tabs{overflow-x:auto}.profile-tabs button{flex:0 0 auto;min-height:48px}.circuit-layouts{grid-template-columns:1fr}.circuit-layouts article{padding:17px}.sector-sources{grid-template-columns:1fr}.theoretical-time{font-size:34px}.vs-pickers,.vs-hero{grid-template-columns:1fr}.vs-selector{padding:18px 14px}.vs-pickers{gap:8px}.vs-pickers select{width:100%;min-width:0}.vs-pickers strong{font-size:24px}.vs-hero{min-height:0;background:linear-gradient(145deg,#23121a,#101720 50%,#102030)}.vs-hero>div{padding:22px 18px}.vs-hero h1{font-size:clamp(29px,9vw,39px);overflow-wrap:anywhere}.vs-hero .rider-b{text-align:left}.vs-mark{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:10px;padding:15px 18px!important;border-top:1px solid #293647;border-bottom:1px solid #293647}.vs-mark strong{font-size:38px}.vs-mark small{text-align:right}.vs-mark span{text-align:left}.battle-stats{grid-template-columns:repeat(2,1fr)}.battle-stats div{min-width:0;padding:15px}.battle-stats div:last-child{grid-column:1/-1}.battle-stats span{overflow-wrap:anywhere}.battle-grid{grid-template-columns:1fr}.shared-sessions{overflow:visible;max-height:none}.shared-sessions a{min-width:0;grid-template-columns:78px minmax(0,1fr) auto;gap:8px;padding:14px 12px}.shared-sessions a>div{min-width:0}.shared-sessions b,.shared-sessions small{overflow-wrap:anywhere}.shared-sessions em{grid-column:2}.shared-sessions i{grid-column:3;grid-row:1/3}.shared-sessions a>span{white-space:nowrap}
.history-hero{padding:30px 20px;min-height:auto}.history-hero h1{font-size:clamp(42px,14vw,62px);letter-spacing:-3px}.history-hero p{font-size:14px}.history-stats{display:grid;grid-template-columns:1fr 1fr}.champion-season>header,.archive-vault>header{display:block;padding:20px}.champion-season header a{display:inline-flex;margin-top:14px;min-height:44px;align-items:center}.champion-card{grid-template-columns:34px minmax(0,1fr);padding:16px}.champion-card>strong{grid-column:2;text-align:left}.archive-vault>header>strong{font-size:46px}.archive-season-grid{grid-template-columns:1fr}
.records-hero,.track-hero{grid-template-columns:1fr!important;padding:24px 18px}.records-hero h1{font-size:39px}.records-badge{margin-top:18px}.record-holders{grid-template-columns:1fr}.records-filters,.timing-filters{grid-template-columns:1fr}.records-head,.records-row{grid-template-columns:55px minmax(0,1fr) 105px repeat(2,72px);min-width:0}.records-head span:nth-child(n+6),.records-row span:nth-child(n+6){display:none}.records-row.lead-source,.records-head.lead-source{min-width:560px}.records-table,.timing-board{overflow-x:auto}.board-head,.timing-row{grid-template-columns:48px minmax(0,1fr) 112px 72px;min-width:0}.board-head span:nth-child(n+5),.timing-row>span,.timing-row>i{display:none}.timing-row details{grid-column:2/-1}.record-hero{grid-template-columns:1fr}.timing-head{display:block}.timing-status{text-align:left;margin-top:12px}.circuit-panels{grid-template-columns:1fr}.circuit-intro{padding:24px 18px}.circuit-intro h1,.timing-head h1,.track-hero h1{font-size:clamp(34px,9vw,46px)}.reference-toggle{position:static;display:inline-flex;align-items:center;min-height:44px;margin-top:12px}.trust-strip{grid-template-columns:1fr;gap:8px}.garage-card{grid-template-columns:48px minmax(0,1fr);gap:12px;padding:20px 16px}.garage-index{font-size:42px}.garage-name h2{font-size:clamp(25px,7vw,31px);overflow-wrap:anywhere}.garage-times{grid-column:1/-1}.garage-coverage{grid-column:1/-1;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.garage-card>i{position:static;grid-column:1/-1;text-align:right;margin-top:8px}
}
@media(max-width:390px){.top-actions{gap:8px}.avatar{width:28px;height:28px}.stat-strip,.honours-stats,.career-stats,.career-stats-wide{grid-template-columns:1fr!important}.stat-strip article:last-child{grid-column:auto}.lap-grid,.history-stats,.session-meta{grid-template-columns:1fr}.rider-strip{grid-template-columns:30px 3px minmax(0,1fr) 22px}.rider-strip .timing{display:none}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
.championship-leaders{grid-template-columns:repeat(3,1fr)}
