/* Apex edition — warm graphite, racing vermilion, precise typography. */
:root { --bg:#101210;--panel:#191c19;--panel-edge:#2c302b;--text:#f2f0e7;--dim:#939b8e;--orange:#ff623e;--green:#a9d997;--purple:#bc97ee;--yellow:#e9d39b;--body:-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif; }
body { font-family:var(--body); }
button,a,input,select { -webkit-tap-highlight-color:transparent; }
button { cursor:pointer; }
button:disabled { cursor:default; }
button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible { outline:2px solid var(--orange);outline-offset:5px; }
[hidden] { display:none !important; }
#hub,#library { background:radial-gradient(ellipse at 70% 0,#232a202b,transparent 60%),var(--bg);height:100%;overflow-y:auto;overflow-x:hidden;touch-action:pan-y;padding:0; }
.edition-header { display:flex;align-items:center;justify-content:space-between;gap:24px;padding:24px max(24px,calc((100vw - 1200px)/2));border-bottom:1px solid var(--panel-edge);background:#101210ef; }
.brand-home { display:flex;align-items:center;gap:13px;background:none;border:0;color:var(--text);text-align:left;font:600 23px/.95 var(--display);letter-spacing:.8px;text-transform:uppercase; }
.brand-home small { display:block;color:var(--dim);font:9px var(--mono);letter-spacing:3.5px;margin-top:7px; }
.brand-symbol { display:inline-flex;gap:4px;transform:skewX(-20deg);align-items:center;width:40px;flex:none; }
.brand-symbol i { display:block;background:var(--orange);height:27px;width:8px; }
.brand-symbol i:nth-child(1){height:15px;opacity:.5}.brand-symbol i:nth-child(2){height:21px;opacity:.75}
.edition-header nav { display:flex;gap:8px; }
.edition-header nav button { display:flex;align-items:center;gap:12px;background:transparent;border:0;border-radius:4px;padding:12px 17px;color:var(--dim);font:500 12px var(--mono); }
.edition-header nav button.on { background:var(--text);color:var(--bg); }
.edition-header nav button:hover:not(.on) { color:var(--text);background:#ffffff06; }
.driver-dot { display:inline-block;width:9px;height:9px;flex:none;border-radius:50%;box-shadow:0 0 0 4px #ffffff07; }
.paddock { max-width:1200px;margin:auto;padding:50px 24px 24px; }
.page-heading { display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin-bottom:34px; }
.eyebrow { font:10px/1.5 var(--mono);letter-spacing:2.6px;color:var(--dim);text-transform:uppercase; }
.page-heading h1 { font:600 clamp(48px,5.6vw,80px)/.96 var(--display);letter-spacing:-.6px;text-transform:uppercase;margin-top:14px; }
.page-heading h1 em { font-style:normal;color:#a8b6a1; }
.driver-card { display:flex;align-items:center;gap:16px;border-block:1px solid var(--panel-edge);padding:16px 0;min-width:230px; }
.driver-card b { font-size:14px;font-weight:500; }.driver-card small { display:block;margin-top:6px;font:9px var(--mono);letter-spacing:1.8px;color:var(--dim); }.driver-number { font:42px var(--display);margin-left:auto;color:#4f574b; }
.featured-circuit { display:grid;grid-template-columns:1fr 1.08fr;background:#20261e;border:1px solid #353f30;border-radius:10px;overflow:hidden;min-height:350px;position:relative; }
.featured-content { padding:36px;position:relative;z-index:1; }.featured-content .eyebrow { color:#c7d0bd;display:flex;align-items:center;gap:10px; }.featured-content .eyebrow span { margin-left:12px;color:#8d9b80;letter-spacing:1px; }
.live-dot { width:5px;height:5px;border-radius:50%;background:var(--orange);box-shadow:0 0 0 4px #ff623e16; }
.featured-content h2 { font:600 clamp(46px,5vw,70px)/1 var(--display);text-transform:uppercase;letter-spacing:.3px;margin:25px 0 8px; }
.featured-content>p { color:#adb8a5;font:10px var(--mono);text-transform:uppercase;letter-spacing:1.4px; }.featured-content>p span { padding:0 10px;opacity:.4; }
.featured-metrics { display:flex;gap:34px;margin:30px 0; }.featured-metrics b { display:block;font:500 31px var(--display); }.featured-metrics small { font:15px var(--display); }.featured-metrics span { display:block;font:8px var(--mono);letter-spacing:1px;color:#adb8a5;margin-top:4px; }
.action-primary,.action-secondary { display:inline-flex;align-items:center;justify-content:center;gap:22px;min-height:48px;padding:14px 24px;border:1px solid transparent;border-radius:4px;font:600 16px var(--display);letter-spacing:1px;text-transform:uppercase;transition:background .16s,transform .16s; }
.action-primary { background:var(--orange);color:#171611; }.action-primary:hover { background:#ff7a59; }.action-primary:active,.action-secondary:active { transform:translateY(1px); }
.action-secondary { background:#20241f;color:var(--text);border-color:#40473a; }.action-secondary:hover { background:#2b3027; }
.action-primary svg,.action-secondary svg,.text-action svg { width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.5; }
.featured-art { position:relative;display:flex;align-items:center;justify-content:center;background:radial-gradient(ellipse,#4a5b354f,transparent 70%);overflow:hidden;min-height:260px; }
.map-grid { position:absolute;inset:0;background-image:linear-gradient(#b8c2ab07 1px,transparent 1px),linear-gradient(90deg,#b8c2ab07 1px,transparent 1px);background-size:34px 34px;mask-image:radial-gradient(ellipse,#000,transparent 80%); }
.circuit-art { width:100%;height:100%;overflow:visible; }.map-shadow { fill:none;stroke:#0008;stroke-width:7;transform:translate(0,6px); }.map-line { fill:none;stroke:#c9d1bf;stroke-width:2.2;stroke-linejoin:round;stroke-linecap:round; }.map-start { fill:var(--orange);stroke:#242d20;stroke-width:2; }
.featured-art .circuit-art { width:78%;height:84%;max-height:310px;transform:rotate(-8deg);filter:drop-shadow(0 8px 15px #0006); }
.featured-art .map-line { stroke-width:3.5;stroke:#e5e8d5; }.featured-art .map-start { r:5;stroke-width:3; }
.art-caption { position:absolute;bottom:25px;left:0;right:0;text-align:center;font:10px var(--mono);letter-spacing:2px;color:#afbda1;text-transform:uppercase; }.art-coordinates { position:absolute;top:25px;right:25px;font:9px var(--mono);color:#839574;letter-spacing:2px; }
.season-overview { display:flex;align-items:center;gap:42px;padding:25px 0;margin:0 0 24px;border-bottom:1px solid var(--panel-edge); }.season-overview>div:first-child { min-width:155px; }.season-overview strong { display:block;font:500 36px var(--display);margin-top:5px; }.season-overview strong small { font:10px var(--mono);color:var(--dim); }.season-progress { flex:1; }.season-progress>div:first-child { display:flex;justify-content:space-between;gap:20px;font:10px var(--mono);color:var(--dim); }.progress-rail { height:3px;margin-top:15px;background:#2e362b;border-radius:2px; }.progress-rail i { display:block;height:100%;background:var(--green);border-radius:2px; }
.text-action { display:flex;align-items:center;gap:16px;border:0;background:none;color:var(--text);font-size:12px;min-height:44px; }
.calendar-heading { display:flex;align-items:center;justify-content:space-between;gap:20px;margin:34px 0 20px; }.calendar-heading h2 { font:500 32px var(--display);text-transform:uppercase;margin-top:5px; }.tier-switch,.collection-switch { display:flex;gap:4px; }.tier-switch button,.collection-switch button { min-height:38px;border:1px solid transparent;background:none;padding:10px 15px;color:var(--dim);font:10px var(--mono);border-radius:3px; }.tier-switch button.on,.collection-switch button.on { background:#242a21;color:var(--text);border-color:#3a4433; }.tier-switch button:disabled { color:#555f4d; }.tier-switch span { font-size:13px; }
.circuit-grid { display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px; }
.circuit-card { color:var(--text);text-align:left;border:1px solid var(--panel-edge);background:linear-gradient(140deg,#1a1f19,#141813);border-radius:7px;padding:18px;min-width:0;position:relative;transition:border-color .2s,transform .2s,background .2s; }
.circuit-card:hover:not(:disabled) { border-color:#7e8d70;background:#21291c;transform:translateY(-3px); }.circuit-card.next { border-color:#788366; }.circuit-card.locked { opacity:.48; }
.card-top { display:flex;justify-content:space-between;gap:6px;font:8px var(--mono);letter-spacing:1px;color:var(--dim); }.next .card-top span:last-child { color:var(--green); }
.card-map { height:135px;margin:14px 0 12px; }.card-map .map-line { stroke:#aab39e;stroke-width:2.5; }.card-map .map-shadow { stroke-width:9;stroke:#0005; }
.country-code { color:#819077;font:8px var(--mono);letter-spacing:1.5px; }.card-bottom h3 { font:500 27px var(--display);text-transform:uppercase;margin:5px 0 12px;line-height:1; }.card-bottom p { display:flex;justify-content:space-between;gap:8px;font:9px var(--mono);color:var(--dim); }.card-bottom p span { color:#cfdbc0; }
.edition-footer { display:flex;align-items:center;justify-content:space-between;gap:20px;border-top:1px solid var(--panel-edge);margin-top:40px;padding:26px 0 10px; }.edition-footer>span { display:flex;align-items:center;gap:15px;color:#7b8772;font:9px var(--mono);letter-spacing:1.5px; }.edition-footer .brand-symbol { transform:skewX(-20deg) scale(.55);width:25px; }.edition-footer button { border:0;background:none;color:var(--dim);font:10px var(--mono);padding:12px 0; }
.heading-note { color:var(--dim);font:14px/1.8 var(--body); }.library-toolbar { display:flex;gap:18px;align-items:center;padding:0 0 25px;margin-bottom:8px;border-bottom:1px solid var(--panel-edge); }.search-control { margin-left:auto;display:flex;align-items:center;gap:10px;border:1px solid var(--panel-edge);padding:0 12px;border-radius:4px;background:#191e17; }.search-control span { color:var(--dim);font-size:22px; }.search-control input { width:155px;min-height:42px;background:none;border:0;color:var(--text);font:12px var(--body);user-select:text;outline-offset:10px; }.pace-control { display:flex;align-items:center;gap:10px;font:9px var(--mono);color:var(--dim); }.pace-control select { min-height:42px;border:1px solid var(--panel-edge);border-radius:4px;background:#191e17;color:var(--text);padding:10px;font:11px var(--mono); }
.section-label { display:flex;justify-content:space-between;gap:15px;margin:24px 0 18px;font:9px var(--mono);letter-spacing:1.6px;text-transform:uppercase;color:var(--dim); }.empty-state { padding:60px 20px;grid-column:1/-1;text-align:center; }.empty-state h2 { font:40px var(--display); }.empty-state p { color:var(--dim);margin-top:15px; }
/* Briefing / circuit dossier */
#overlay { background:radial-gradient(ellipse at 75% 35%,#34402766,transparent 58%),#101510;display:flex;justify-content:center;padding:32px 24px; }
.brief { max-width:1060px;width:100%;padding:0;display:grid;grid-template-columns:1fr 1fr;column-gap:80px;align-items:center;position:relative; }
.brief-top { grid-column:1/-1;margin-bottom:50px; }.brief-back,.brief-sound { font:10px var(--mono);letter-spacing:1.5px;min-height:40px;color:#b5bea9; }.brief-sound { border-radius:4px;padding:10px 13px; }
.brief-round { grid-column:1;font:10px var(--mono);letter-spacing:2px;color:var(--orange);margin:0 0 16px; }.brief-round b { color:var(--orange);font-weight:400; }
.brief-name { grid-column:1;font:600 78px/.92 var(--display);letter-spacing:0;margin:0; }.brief-full { grid-column:1;font:13px var(--body);color:#aeb9a4;margin-top:15px;line-height:1.4; }.brief-country { grid-column:1;margin:20px 0 24px;font:10px var(--mono);letter-spacing:2px; }.brief-code { color:#b4c2a4;border:1px solid #414d37;padding:5px 8px;border-radius:3px; }
.brief-maphead { grid-column:2;grid-row:2;align-self:start;margin:0;padding:0;border:0;font:9px var(--mono);letter-spacing:1.5px; }.brief-map { grid-column:2;grid-row:3/9;filter:drop-shadow(0 12px 12px #0008);margin:auto; }.brief-key { grid-column:2;grid-row:9;justify-content:center;font:9px var(--mono);letter-spacing:1px; }
.brief-stats { grid-column:1;margin:0 0 25px;padding:20px 0;border-color:#37432d; }.brief-stats .k { font:8px var(--mono);letter-spacing:.8px; }.brief-stats .v { font:500 31px var(--display); }.brief-nick { grid-column:1;letter-spacing:2px;font:10px var(--mono);color:var(--green);border-color:var(--green); }.brief-trivia { grid-column:1;font:14px/1.7 var(--body);color:#aeb9a4;margin:12px 0 25px; }.brief-go { grid-column:1;font:600 19px var(--display);letter-spacing:2px;border-radius:4px;min-height:56px; }.brief-go:disabled { background:#34402c;color:#77866b; }.brief-input-note { grid-column:1;margin-top:13px;font:9px var(--mono);color:#849476;text-align:center;letter-spacing:.6px; }
/* Race HUD — the track stays in charge. */
#hud { inset:16px auto auto 50%;transform:translateX(-50%);width:min(560px,calc(100% - 32px));border:1px solid #ffffff15;border-radius:9px;overflow:hidden;background:#131911de;backdrop-filter:blur(12px); }
#hud .strip { border:0;background:none;padding:12px 8px 7px;gap:0; }.strip .cell { border:0;min-height:0;padding:0 10px; }.strip .cell b { font:500 33px/.95 var(--display);letter-spacing:0; }.strip .cell.wide b { font-size:42px; }.strip .cell span { margin-top:7px;font:8px var(--mono);letter-spacing:1.8px;color:#a2ad96; }.strip .cell.wide { flex:1.35; }
#hud .deltaline { background:#0002;border:0;min-height:22px;height:22px;margin-top:5px; }.deltaline .read { font:8px var(--mono);letter-spacing:.6px; }.deltaline .mid { opacity:.3; }.lap-progress { position:relative;height:2px;background:#45503a; }.lap-progress i { display:block;height:100%;width:0;background:var(--orange); }
#race .corner-card { top:132px;left:24px;padding:12px 16px;max-width:calc(100% - 48px);border:1px solid #ffffff18;border-left:2px solid var(--orange);border-radius:0 5px 5px 0;background:#141b13df; }.corner-card .num { font:14px var(--mono);color:#88977b;margin-right:12px; }.corner-card .name { font:500 25px var(--display);letter-spacing:1px; }
#race .brake-prompt { bottom:24px;left:50%;right:auto;transform:translateX(-50%);width:min(420px,calc(100% - 32px));height:62px;border:1px solid #ffffff20;border-radius:7px;background:#151c13e8;backdrop-filter:blur(10px);gap:15px; }.brake-prompt .label { font:600 21px var(--display);letter-spacing:3px; }.brake-prompt .dot { width:7px;height:7px; }.brake-prompt.armed { background:#badfa9;box-shadow:0 0 32px #acde9230;border-color:#d4edc8; }.brake-prompt.armed .label,.brake-prompt.armed .dot { color:#1e3017; }.brake-prompt.armed .dot { background:#35532a; }
.pause-btn { position:absolute;z-index:25;top:132px;right:24px;bottom:auto;width:42px;height:42px;border:1px solid #ffffff26;border-radius:50%;background:#151c13dc;color:#e0e9d7;font:18px var(--body); }
#race .hold { bottom:98px;left:50%;right:auto;transform:translateX(-50%);width:min(420px,calc(100% - 32px));padding:10px 14px;border-radius:5px;border-color:#ffffff20;background:#141b13ef; }.hold-head span:first-child { font:10px var(--mono); }.hold-head span:last-child { font:10px var(--mono);letter-spacing:.3px; }.hold-track { height:18px; }.corner-flash { top:29%;font-family:var(--display);font-weight:600;text-shadow:0 2px 16px #0009; }.penalty-flash { top:39%;font:12px var(--mono); }.race-location { position:absolute;left:24px;bottom:35px;z-index:12;color:#d7dfcc;pointer-events:none; }.race-location b { display:block;font:500 20px var(--display);text-transform:uppercase; }.race-location span { display:block;font:8px var(--mono);letter-spacing:1.6px;margin-top:5px;color:#a7b39a; }
/* Interstitials, driver registration, pause, standings. */
#screen { background:radial-gradient(ellipse at 50% 0,#303c2455,transparent 65%),var(--bg); }.sc-head { min-height:66px;padding:18px max(24px,calc((100vw - 1100px)/2));border-color:var(--panel-edge); }.sc-head .bp { color:var(--orange);border:0;font-size:24px;font-style:italic; }.sc-head .wm { color:var(--text);letter-spacing:1.6px;font-size:16px; }.sc-head .where { font:9px var(--mono);letter-spacing:1.5px; }.sc-pad { width:min(100%,640px);margin:0 auto;padding:38px 28px; }.sc-title { font-size:60px;letter-spacing:0;line-height:.94; }.sc-kicker { font:10px var(--mono);letter-spacing:2px;color:#a9b59d;margin-bottom:12px; }.sc-body { font:15px/1.7 var(--body);color:#a6b09b; }.sc-actions { gap:10px;background:none; }.sc-btn { border:1px solid var(--panel-edge);border-radius:4px;background:#21271d;font-size:18px;letter-spacing:1px;min-height:50px; }.sc-btn.solid { background:var(--orange);color:#161811;border-color:var(--orange); }.beat { padding:20px 0;gap:24px; }.beat .n { color:#556848;font:500 28px var(--display); }.beat .h { font:500 24px var(--display);letter-spacing:.4px; }.beat .d { font:14px/1.6 var(--body);color:#a2ad97; }.zone { height:6px;border-radius:3px;overflow:hidden;margin-top:14px; }.sc-input { border-radius:4px;border:1px solid #465238;background:#1c2417;color:var(--text);padding:16px;font-family:var(--display); }.sw { border-radius:50%; }.sw.on { outline:2px solid var(--text);outline-offset:4px; }.splash .mark { font-size:90px;letter-spacing:-1px; }.splash .tag { font:10px var(--mono);letter-spacing:3px; }.splash .trace .line { stroke:var(--orange); }.splash .foot { color:#788c67; }.promo .to { font-size:86px; }.cred { max-width:720px; }.cred p,.cred .who { font-family:var(--body); }.cred .lic { color:#98a28e;background:#161c13; }.sc-pad .st-table { font-family:var(--mono); }
.garage-preview { height:160px;margin:22px 0;background:radial-gradient(ellipse,#54674233,transparent 70%);display:flex;align-items:center;justify-content:center; }.garage-preview svg { width:210px;height:130px;filter:drop-shadow(0 14px 8px #0007);transform:rotate(-15deg); }.setting-row { display:flex;align-items:center;justify-content:space-between;gap:20px;padding:18px 0;border-bottom:1px solid var(--panel-edge); }.setting-row label { font:13px var(--body); }.setting-row small { display:block;font-size:11px;color:var(--dim);margin-top:5px; }.setting-row select { background:#212a1c;border:1px solid #445437;color:var(--text);padding:10px;border-radius:3px;font:11px var(--mono); }.setting-row input[type=checkbox] { accent-color:var(--orange);width:20px;height:20px; }
/* Results: the wreath is a centered award with its own space. */
#results:not(.hidden) { background:radial-gradient(ellipse at 50% 8%,#46553455,transparent 55%),var(--bg);padding:0; }.result-shell { max-width:1000px;margin:0 auto;padding:25px 24px 120px; }.result-hero { position:relative;text-align:center;padding:16px 24px 25px;overflow:hidden; }.result-kicker { position:relative;z-index:1;font:10px var(--mono);letter-spacing:2px;color:#b0bca5;text-transform:uppercase; }.result-kicker span { padding:0 10px;color:#5a6c4b; }.result-track-art { position:absolute;right:-6%;top:0;width:280px;height:280px;opacity:.06;transform:rotate(12deg); }.result-hero h1 { position:relative;font:600 60px/1 var(--display);text-transform:uppercase;letter-spacing:-.5px;margin:15px 0 9px; }.result-hero>p { position:relative;color:#aab69f;font:13px/1.6 var(--body); }
.award { position:relative;width:156px;height:146px;display:block;margin:22px auto 0;flex:none; }.award-wreath { position:absolute;inset:0;background:var(--award);mask:url('../assets/ui/laurel.png') no-repeat center/contain;-webkit-mask:url('../assets/ui/laurel.png') no-repeat center/contain;opacity:.92; }.award-rank { position:absolute;inset:23px 25px 45px;display:flex;align-items:center;justify-content:center;flex-direction:column;color:var(--award); }.award-rank small { font:7px var(--mono);letter-spacing:1.5px;margin-bottom:2px; }.award-rank b { font:600 53px/.95 var(--display); }.result-medallion { width:65px;height:65px;margin:24px auto 0;border:1px solid #677b53;border-radius:50%;display:flex;align-items:center;justify-content:center;font:500 26px var(--display);color:var(--green); }
.result-stats { display:flex;justify-content:center;gap:0;margin:28px auto 0;position:relative;max-width:560px; }.result-stats>div { flex:1;border-left:1px solid #46523b; }.result-stats>div:first-child { border:0; }.result-stats b { display:block;font:500 43px/1 var(--display);color:#c1ceb4; }.result-stats .primary b { color:var(--text); }.result-stats small { font:20px var(--display); }.result-stats span { display:block;font:8px var(--mono);letter-spacing:1.5px;color:#90a17f;margin-top:10px; }
.lap-analysis { max-width:680px;margin:18px auto 0;padding-top:8px;border-top:1px solid var(--panel-edge); }.analysis-row { display:grid;grid-template-columns:28px 1fr 32px;align-items:center;gap:15px;padding:12px 0;border-bottom:1px solid #293124; }.analysis-number { font:10px var(--mono);color:#738766; }.analysis-corner>span { font:14px var(--body); }.analysis-track { height:2px;width:100%;background:#2c3724;margin-top:9px; }.analysis-track i { height:100%;display:block; }.analysis-row strong { font:500 23px var(--display);text-align:right; }.result-actions { position:fixed;z-index:40;bottom:0;left:50%;transform:translateX(-50%);width:min(760px,100%);display:flex;gap:10px;padding:18px 24px calc(env(safe-area-inset-bottom) + 18px);background:linear-gradient(transparent,#101710 20%); }.result-actions>button { flex:1; }.result-footnote { text-align:center;color:var(--dim);font:10px var(--mono);margin:24px 0; }.classification-details { max-width:680px;margin:24px auto;border:1px solid var(--panel-edge);border-radius:5px;padding:0 18px 18px;background:#141b11; }.classification-details summary { cursor:pointer;padding:20px 0;color:#b9c8aa;font:11px var(--mono);letter-spacing:1px; }.cl-tab { font-family:var(--mono);font-size:10px; }.cl-row { font-family:var(--body); }.cl-row .sc,.cl-row .pts,.cl-row .pos { font-family:var(--mono); }.result-status { max-width:680px;margin:22px auto;color:#aebfa0;font:12px/1.7 var(--body);text-align:center; }
#results .podium-badge { display:none; }
@media(min-width:900px){.result-hero { padding-top:10px; }.result-hero h1 { font-size:74px; }.result-shell { padding-top:22px; }.award { width:175px;height:160px; }.award-rank { inset:27px 30px 47px; }.award-rank b { font-size:59px; }}
@media(max-width:900px){.circuit-grid{grid-template-columns:repeat(3,minmax(0,1fr));}.featured-content{padding:28px}.featured-metrics{gap:24px}.featured-content .eyebrow span{display:none}.brief{column-gap:35px}.brief-name{font-size:62px}.library-toolbar{flex-wrap:wrap}.collection-switch{order:0}.search-control{flex:1}.pace-control{margin-left:auto}.season-overview{gap:20px}.driver-card{min-width:190px}.race-location{display:none}}
@media(max-width:600px){.edition-header{padding:19px 20px;gap:10px;align-items:flex-start}.brand-home{font-size:20px;gap:8px}.brand-symbol{width:29px;gap:3px}.brand-symbol i{width:6px;height:23px}.brand-home small{font-size:7px;letter-spacing:2.5px;margin-top:6px}.edition-header nav{gap:1px;margin-top:1px}.edition-header nav button{padding:10px 9px;font-size:9px;gap:6px}.edition-header nav button:last-child{font-size:0;padding-right:2px}.edition-header .driver-dot{width:10px;height:10px}.paddock{padding:30px 20px 20px}.page-heading{margin-bottom:25px;align-items:center}.page-heading h1{font-size:52px}.eyebrow{font-size:8px;letter-spacing:1.8px}.driver-card{min-width:auto;border:0;padding:0;gap:8px}.driver-card .driver-dot,.driver-card small,.driver-number{display:none}.driver-card b{font-size:11px;max-width:80px;display:block;text-align:right;color:#a2b094}.featured-circuit{grid-template-columns:1fr;min-height:0}.featured-content{padding:25px;z-index:2}.featured-content h2{font-size:53px;margin-top:20px;max-width:70%}.featured-content>p{max-width:65%;line-height:1.8;font-size:8px}.featured-content>p span{padding:0 3px}.featured-art{position:absolute;width:160px;height:190px;right:-32px;top:28px;min-height:0;opacity:.57;transform:rotate(5deg);pointer-events:none}.featured-art .circuit-art{width:96%;height:100%}.featured-art .art-caption,.featured-art .art-coordinates{display:none}.featured-metrics{gap:27px;margin:27px 0 24px}.featured-metrics b{font-size:29px}.featured-metrics span{font-size:7px}.featured-content .action-primary{width:100%;font-size:17px;justify-content:space-between;padding:14px 18px}.season-overview{display:grid;grid-template-columns:1fr auto;gap:15px;padding:24px 0}.season-overview>div:first-child{min-width:0}.season-overview strong{font-size:31px}.season-progress{grid-row:2;grid-column:1/-1}.season-progress>div:first-child{font-size:9px;gap:5px}.season-overview .text-action{grid-row:1;grid-column:2;font-size:11px}.calendar-heading{display:block;margin-top:29px}.calendar-heading h2{font-size:30px}.tier-switch{margin-top:18px;width:100%;background:#181f14;border:1px solid #303d25;border-radius:4px;padding:3px}.tier-switch button{flex:1;min-height:35px;padding:8px;font-size:9px}.circuit-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.circuit-card{padding:14px;border-radius:6px}.card-top{font-size:7px;letter-spacing:.4px}.card-map{height:105px;margin:8px 0}.card-bottom h3{font-size:25px;line-height:1.1;margin-bottom:10px}.card-bottom p{font-size:7px;line-height:1.5}.country-code{font-size:7px}.edition-footer{align-items:flex-start;margin-top:30px;padding-top:20px}.edition-footer>span{font-size:7px;letter-spacing:.6px;gap:5px;max-width:55%}.edition-footer button{font-size:8px;padding:7px 0}.heading-note{display:none}.library-toolbar{gap:12px;margin-bottom:0;padding-bottom:18px}.collection-switch{flex:1 1 100%;padding-bottom:8px;border-bottom:1px solid #293423}.collection-switch button{flex:1;padding:10px 8px;font-size:10px}.search-control{min-width:0;flex:1;padding:0 9px}.search-control input{width:100%;font-size:11px;min-width:0}.pace-control{font-size:0;gap:0}.pace-control select{font-size:9px;width:120px;padding:10px 6px}.section-label{font-size:7px;letter-spacing:.9px;gap:5px;margin:20px 0 15px}.brief{display:flex;flex-direction:column;align-items:stretch;width:100%;max-width:440px}.brief-top{margin-bottom:26px}.brief-round{font-size:9px;margin-bottom:12px}.brief-name{font-size:60px}.brief-full{font-size:12px;line-height:1.5;max-width:90%;margin-top:12px}.brief-country{font-size:9px;margin:16px 0 20px}.brief-maphead{font-size:8px;margin-top:4px;order:1}.brief-map{order:2;width:100%;max-height:200px;object-fit:contain;margin:12px 0}.brief-key{order:3;font-size:7px;margin:0 0 20px;gap:18px}.brief-stats{order:4;margin:0 0 20px;padding:18px 0}.brief-stats .k{font-size:7px}.brief-stats .v{font-size:28px}.brief-nick{order:5;font-size:9px}.brief-trivia{order:6;font-size:13px;line-height:1.6;margin:12px 0 20px}.brief-go{order:7;font-size:20px;min-height:55px}.brief-input-note{order:8;font-size:8px;margin-top:13px}#overlay{justify-content:flex-start;padding:20px 24px calc(env(safe-area-inset-bottom) + 24px)}#hud{top:calc(env(safe-area-inset-top) + 14px);width:calc(100% - 28px)}#hud .strip{padding:12px 5px 7px}.strip .cell b{font-size:31px}.strip .cell.wide b{font-size:39px}.strip .cell span{font-size:7px;letter-spacing:1.5px}#race .corner-card{top:132px;left:14px;padding:10px 12px;max-width:calc(100% - 84px)}.corner-card .name{font-size:21px;letter-spacing:.5px}.corner-card .num{font-size:11px;margin-right:9px}.pause-btn{top:132px;right:14px;width:38px;height:38px}#race .brake-prompt{bottom:calc(env(safe-area-inset-bottom) + 20px);height:59px}.brake-prompt .label{font-size:20px;letter-spacing:2px}.sc-head{padding:18px 22px;min-height:62px}.sc-head .wm{font-size:14px}.sc-head .where{font-size:8px;letter-spacing:1px}.sc-pad{padding:32px 24px}.sc-title{font-size:53px}.splash .mark{font-size:74px}.sc-kicker{font-size:9px}.sc-body{font-size:14px}.beat{padding:18px 0;gap:16px}.beat .h{font-size:24px}.beat .d{font-size:13px}.sc-actions{margin-top:24px}.sc-btn{font-size:17px;letter-spacing:.6px;padding:14px 8px}.result-shell{padding:19px 24px 112px}.result-hero{padding:10px 0 24px}.result-kicker{font-size:8px;letter-spacing:1.4px}.award{width:140px;height:134px;margin-top:20px}.award-rank{inset:21px 23px 41px}.award-rank b{font-size:47px}.result-hero h1{font-size:51px;margin-top:12px}.result-hero>p{font-size:12px;line-height:1.6;max-width:270px;margin:auto}.result-stats{margin-top:24px}.result-stats b{font-size:36px}.result-stats span{font-size:7px;letter-spacing:.8px}.result-stats small{font-size:15px}.result-medallion{width:56px;height:56px;font-size:23px}.analysis-row{gap:11px;padding:12px 0}.analysis-corner>span{font-size:12px}.analysis-row strong{font-size:23px}.result-actions{padding:14px 20px calc(env(safe-area-inset-bottom) + 18px);gap:8px}.result-actions button{padding:13px 12px;font-size:16px;letter-spacing:.7px;gap:10px}.result-actions svg{width:16px}.classification-details{padding-inline:13px}.result-status{font-size:12px}.garage-preview{height:120px;margin:17px 0}.setting-row{padding:14px 0}}
@media(max-width:360px){.brand-home{font-size:17px}.edition-header nav button{padding:9px 7px;font-size:8px}.brand-home small{font-size:6px}.page-heading h1{font-size:46px}.paddock{padding-inline:16px}.card-bottom h3{font-size:23px}.card-top{font-size:6px}.featured-content{padding:23px}.featured-content h2{font-size:47px}.featured-metrics{gap:22px}.edition-header{padding-inline:16px}.brief-name{font-size:54px}.result-stats span{font-size:6px}.result-kicker{font-size:7px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.001ms!important;transition-duration:.001ms!important;scroll-behavior:auto!important}}
body.reduce-motion *,body.reduce-motion *::before,body.reduce-motion *::after{animation-duration:.001ms!important;transition-duration:.001ms!important}

/* Fixed diagram block keeps the dossier stable while fonts and scenes load. */
.brief-map { height:340px; }
@media(max-width:600px){.brief-map{height:190px;flex:none;}}
/* Navigation stays anchored; each screen scrolls beneath its own header. */
.edition-header,.sc-head { position:sticky;top:0;z-index:50;flex:none; }
.edition-header { backdrop-filter:blur(16px);padding-top:calc(env(safe-area-inset-top) + 24px); }
.sc-head { background:#101210f5;backdrop-filter:blur(16px);padding-top:calc(env(safe-area-inset-top) + 18px); }
#race .corner-card { visibility:hidden;opacity:0;transform:translateX(-12px);transition:opacity .2s,transform .2s,visibility .2s; }
#race .corner-card.show { visibility:visible;opacity:1;transform:translateX(0); }
@media(max-width:600px){.edition-header{padding-top:calc(env(safe-area-inset-top) + 19px);}}

.garage-icon{display:none;width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.4}
@media(max-width:600px){.edition-header nav button:last-child{min-width:38px;justify-content:center;padding:7px;color:#c6d1bc}.edition-header nav button:last-child .driver-dot{display:none}.garage-icon{display:block}}
.brief-top{position:sticky;top:0;z-index:20;background:#131910f5;backdrop-filter:blur(12px);padding-block:8px;align-self:start;}
.brief-top{width:100%;align-self:stretch;}
@media(max-width:600px){
  .brief-top{width:calc(100% + 48px);margin-inline:-24px;margin-top:-20px;padding:18px 24px;top:-20px;background:#101510fa;}
  .brief-maphead{width:100%;align-self:stretch;gap:16px;}
  .brief-stats{grid-template-columns:.7fr 1.25fr 1.1fr .7fr;gap:10px;}
}
@media(max-width:360px){.brief-stats .v{font-size:24px}.brief-stats .v small{font-size:10px}.brief-round{font-size:8px;letter-spacing:1.4px;}}
@media(max-height:500px) and (min-width:600px){
  #hud{top:10px;max-width:440px;}#hud .strip{padding:7px 5px;}.strip .cell b,.strip .cell.wide b{font-size:27px;}.strip .cell span{font-size:6px;}
  #hud .deltaline{height:20px;}#race .corner-card{top:104px;padding:8px 12px;}.corner-card .name{font-size:20px;}.pause-btn{top:104px;width:35px;height:35px;}
  #race .brake-prompt{bottom:12px;height:44px;width:300px;}.brake-prompt .label{font-size:17px;}#race .hold{bottom:65px;}.race-location{bottom:18px;}
}
/* Keep briefing controls and race callouts clear of native status bars/notches. */
#race .corner-card,.pause-btn{top:calc(env(safe-area-inset-top) + 132px)}
#hud{top:calc(env(safe-area-inset-top) + 16px)}
@media(max-width:600px){.brief-top{padding-top:calc(env(safe-area-inset-top) + 18px)}#hud{top:calc(env(safe-area-inset-top) + 14px)}}
@media(orientation:landscape){#overlay,.paddock{padding-left:max(24px,env(safe-area-inset-left));padding-right:max(24px,env(safe-area-inset-right))}}
