/* FNR / machine era — dark editorial surfaces and restrained holographic light. */
:root{--panel:#11131c;--ln:#ffffff16}body{background:#08090e}main{max-width:1440px}.machine-hero{min-height:760px;height:min(920px,calc(100svh - 94px));position:relative;isolation:isolate;border-bottom:1px solid #ffffff1a;margin-top:-12px;background:radial-gradient(ellipse at 64% 69%,#6c39a122,transparent 50%),radial-gradient(ellipse at 23% 81%,#21809915,transparent 50%);overflow:hidden}.machine-topline{display:flex;justify-content:space-between;padding:32px 0;font-size:10px;letter-spacing:.18em;color:#b7b1c9}.machine-topline>span:first-child{display:flex;align-items:center;gap:10px}.machine-title{position:relative;z-index:2;pointer-events:none}.machine-title h1{font-size:clamp(58px,7.5vw,112px);font-weight:500;line-height:.98;letter-spacing:-.065em;margin:28px 0 0}.machine-title h1>span{color:#cfbefe}.machine-title>p{font-size:14px;color:#a9a9bb;line-height:1.8;max-width:210px;margin-top:24px}.machine-stage{position:absolute;inset:125px -3% 50px 8%;z-index:1;touch-action:pan-y;cursor:grab;will-change:transform,opacity}.machine-stage:active{cursor:grabbing}.machine-stage canvas{display:block;width:100%;height:100%}.machine-fallback{width:100%;height:100%;filter:drop-shadow(0 0 30px #8b61d944)}.machine-stage.has-webgl .machine-fallback{display:none}.machine-callout{position:absolute;z-index:2;right:1%;top:36%;text-align:right;pointer-events:none}.machine-callout>.eyebrow{color:#a391bd;font-size:9px;letter-spacing:.14em}.machine-callout p{font-size:clamp(19px,2vw,30px);line-height:1.3;font-weight:400;letter-spacing:-.04em}.machine-bottom{position:absolute;bottom:30px;left:0;right:0;z-index:3;display:flex;align-items:end;justify-content:space-between;gap:25px;pointer-events:none}.machine-bottom>*{pointer-events:auto}.machine-race{display:grid;gap:9px;min-width:180px}.machine-race strong{font-size:23px;font-weight:500;letter-spacing:-.035em}.machine-race small{font-size:10px;color:#a7a4b7;letter-spacing:.08em}.machine-race .eyebrow{font-size:9px;color:#a38fd1}.machine-actions{display:flex;gap:10px}.machine-scroll{font-size:9px;color:#b7b1c7;letter-spacing:.12em;text-decoration:none;margin-bottom:13px}.machine-controls{position:absolute;right:0;bottom:135px;display:flex;align-items:center;gap:14px;z-index:3}.machine-controls>span{font-size:8px;letter-spacing:.13em;color:#818094}.machine-controls .btn{min-height:34px;padding:8px 12px;font-size:10px}.story-heading{padding:74px 0 40px;scroll-margin-top:100px}.story-heading h2{font-size:clamp(38px,5vw,62px);font-weight:500;line-height:1.05;letter-spacing:-.05em;margin:22px 0 0}.home-editorial{gap:24px}.home-editorial .card{background:linear-gradient(145deg,#151521,#0c0e16);border-color:#ffffff13;box-shadow:none}.quick-links a{background:#10111a;border-radius:14px}.page-title h1{font-weight:500;letter-spacing:-.055em}.championship-podium{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin:30px 0}.champion-card{position:relative;overflow:hidden;display:flex;flex-direction:column;align-items:flex-start;min-height:435px;padding:30px;text-align:left;color:#f7f5ff;background:linear-gradient(155deg,#1f1a2d,#0d1019);border:1px solid #ffffff16;border-radius:20px;font-family:inherit;cursor:pointer;transition:transform .25s,border-color .25s}.champion-card:before{content:'';position:absolute;inset:0 0 auto;height:5px;background:var(--podium-paint)}.champion-card:hover{transform:translateY(-5px);border-color:#b9a3ff70}.champion-rank{position:absolute;right:20px;top:22px;font-size:84px;font-weight:300;line-height:1;color:#ffffff0a;letter-spacing:-.07em}.champion-card>.eyebrow{font-size:9px;letter-spacing:.11em;color:#b2a5cb}.champion-portrait{margin:36px 0 24px}.champion-portrait .av,.champion-portrait img{border-radius:18px!important}.champion-name{font-size:30px;letter-spacing:-.04em;font-weight:600;overflow-wrap:anywhere}.champion-team{display:flex;gap:10px;align-items:center;color:#aaa8ba;font-size:12px;margin-top:12px}.champion-team .team-mark{width:24px;height:24px}.champion-points{margin-top:auto;padding-top:24px;font-size:46px;letter-spacing:-.04em;display:flex;align-items:baseline;gap:12px}.champion-points small{font-size:9px;letter-spacing:.12em;color:#a8a1ba}.champion-link{font-size:10px;color:#b9a3ef;margin-top:16px}.remaining-drivers{margin-bottom:24px}.rank-1{background:radial-gradient(ellipse at top left,#8b5fd124,transparent),#12121e}
.team-lineup{background:#10131b;box-shadow:none;contain:layout style}.team-lineup:hover{transform:translateY(-3px);box-shadow:none}.team-lineup>header,.team-profile-identity{background:var(--team-paint);background-size:220% 220%;animation:teamPaintShift 12s ease-in-out infinite alternate}.lineup-car-stage{height:245px;background:none;padding:12px 8px}.lineup-car-stage:before,.lineup-car-stage:after{display:none!important}.lineup-car-stage img{object-fit:contain;max-width:100%;filter:none;mask-image:linear-gradient(to right,transparent,#000 8%,#000 92%,transparent)}.lineup-car-stage:hover img{transform:scale(1.025)}.team-profile{animation:profileArrival .25s ease-out!important;transform:none!important}.team-profile .profile-car{width:100%;height:320px;max-height:320px;margin:5px 0 25px;object-fit:contain;background:none;mask-image:linear-gradient(to right,transparent,#000 9%,#000 91%,transparent)}.team-profile-content{scroll-behavior:smooth}.team-stat-button{font:inherit;color:inherit;text-align:left;display:grid;gap:8px;background:#ffffff04;border:1px solid #ffffff12;border-radius:16px;padding:24px;min-height:110px;cursor:pointer;transition:background .2s,border-color .2s,transform .2s}.team-stat-button:hover{background:#b9a3ff10;border-color:#b9a3ff55;transform:translateY(-2px)}.team-stat-button i{float:right;font-style:normal}.team-history-heading{margin:32px 0}.title-history{display:grid;gap:10px;padding:24px 0;border-bottom:1px solid #ffffff13}.title-history span{color:#aaa5b6;font-size:13px}.team-stat-button:focus-visible,.champion-card:focus-visible{outline:2px solid #bcacff;outline-offset:4px}.car-marker.pitting .car-halo{stroke:#ffdf61!important;stroke-width:.7!important;opacity:1!important;fill:#ffd65c26;filter:none}.car-marker.pitting .car-body{stroke:#ffe781!important;stroke-width:.5}.telemetry-counters{display:flex;gap:20px;border-top:1px solid #ffffff12;margin-top:12px;padding-top:12px;font-size:11px;color:#afacc0}.telemetry-counters b{color:#e9e6f4;margin-left:6px}.telemetry-battle{font-size:10px;color:#b2a1d8;margin:8px 0 0}.legend-pit{display:inline-block;width:9px;height:9px;border:2px solid #ffe781;border-radius:50%;vertical-align:middle}
@keyframes teamPaintShift{from{background-position:0% 20%}to{background-position:100% 80%}}@keyframes profileArrival{from{opacity:0}to{opacity:1}}
@media(max-width:900px){.machine-hero{min-height:740px}.machine-title h1{font-size:72px}.machine-callout{top:43%}.machine-scroll{display:none}.champion-card{padding:22px}.champion-name{font-size:24px}.machine-stage{inset:170px -10% 65px -10%}}
@media(max-width:600px){.machine-hero{height:780px;min-height:0;margin-top:-5px}.machine-topline{font-size:8px;letter-spacing:.06em;padding:24px 0}.machine-title h1{font-size:clamp(39px,10.8vw,61px);margin-top:23px}.machine-title>p{font-size:12px;max-width:240px;line-height:1.7;margin-top:22px}.machine-stage{inset:235px -18% 160px -18%}.machine-callout{top:277px;right:0}.machine-callout .eyebrow{font-size:7px}.machine-callout p{font-size:17px;margin:10px 0}.machine-bottom{bottom:28px;align-items:start;flex-direction:column;gap:22px}.machine-race{gap:6px}.machine-race strong{font-size:22px}.machine-actions{width:100%}.machine-actions a{flex:1;text-align:center;font-size:12px;padding:13px 8px}.machine-controls{bottom:205px;right:0;gap:8px}.machine-controls>span{font-size:7px}.machine-controls .btn{min-height:40px;font-size:10px}.story-heading{padding:42px 0 30px}.championship-podium{grid-template-columns:1fr;gap:16px}.champion-card{min-height:330px;padding:26px}.champion-portrait{margin:24px 0 16px}.champion-portrait .av,.champion-portrait img{width:80px!important;height:80px!important}.champion-name{font-size:29px}.champion-points{position:absolute;right:26px;bottom:55px;font-size:39px;flex-direction:column;gap:0}.champion-team{max-width:68%}.lineup-car-stage{height:210px;padding:8px 0}.team-profile .profile-car{height:210px;max-height:210px}.team-stat-button{padding:18px}.team-lineup>header,.team-profile-identity{animation-duration:18s}}
@media(prefers-reduced-motion:reduce){.team-lineup>header,.team-profile-identity{animation:none}.machine-stage{transform:none!important}.champion-card:hover,.team-stat-button:hover,.team-lineup:hover,.lineup-car-stage:hover img{transform:none}.team-profile-content{scroll-behavior:auto}.team-profile{animation:none!important}}

button.machine-scroll{background:none;border:0;font-family:inherit;padding:0;cursor:pointer}.lineup-car-stage img,.team-profile .profile-car{mask-image:linear-gradient(to right,transparent,#000 10%,#000 90%,transparent),linear-gradient(to bottom,transparent,#000 20%,#000 80%,transparent);mask-composite:intersect}
/* Compact global navigation and a separate administration shortcut. */
nav#nav{isolation:isolate;max-width:calc(100vw - 245px);overflow-x:auto;transition:translate .25s ease,box-shadow .25s ease,border-color .25s ease;background:radial-gradient(ellipse at var(--mouse-x,50%) 0%,#b6a0fa13,transparent 65%),#11131dde;border:1px solid #ffffff20}
nav#nav:hover{translate:0 -3px;box-shadow:0 12px 38px #0008,0 0 25px #bba3ff17;border-color:#c4b0ff60}nav#nav a{position:relative;white-space:nowrap;z-index:1}nav#nav a:hover{box-shadow:0 0 16px #bbabff17;color:#fff}.nav-brand,.nav-brand.on{font-size:23px!important;font-style:italic;font-weight:950!important;background:none!important;color:#f5f1ff!important;letter-spacing:-1.5px;padding:7px 17px!important}.admin-shortcut{position:fixed;top:25px;right:25px;z-index:1020;display:flex;align-items:center;justify-content:center;min-height:40px;padding:0 17px;border:1px solid #bba6ff35;border-radius:24px;background:#171422e8;color:#cfbdf7;font-size:12px;text-decoration:none;transition:translate .2s,box-shadow .2s}.admin-shortcut:hover,.admin-shortcut.on{translate:0 -2px;border-color:#c5afff;box-shadow:0 5px 25px #aa80ff26}.championship-switch{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin:12px 0 30px;padding:8px;background:#ffffff04;border:1px solid #ffffff10;border-radius:16px}.championship-switch>span{font-size:11px;color:#9f98ae;padding:0 10px}.championship-switch .btn{min-width:125px}.calendar-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;margin:30px 0}.calendar-round{border:1px solid #ffffff16;border-radius:22px;background:#11141f;overflow:hidden;padding:24px;position:relative}.calendar-round header,.calendar-round footer{display:flex;justify-content:space-between;gap:12px;align-items:center}.calendar-round header .eyebrow{font-size:10px}.calendar-round .pill{font-size:8px}.calendar-round.is-live{border-color:#b59dfb88}.calendar-track{height:145px;display:flex;justify-content:center;margin:14px 0 24px}.calendar-track .trk{width:100%;height:100%;max-height:145px;opacity:.85}.calendar-round h2{font-size:24px;margin:14px 0 10px;letter-spacing:-.035em}.calendar-round p{font-size:12px;color:#aba7ba}.calendar-round footer{border-top:1px solid #ffffff12;margin-top:20px;padding-top:18px;font-size:10px;color:#a59db7}.calendar-round footer .btn{font-size:10px;padding:8px 12px}.motion-card{--mouse-x:50%;--mouse-y:50%;position:relative;transition:transform .28s ease-out,border-color .25s,box-shadow .25s;isolation:isolate}.motion-card.cursor-active{transform:perspective(1100px) rotateX(var(--tilt-x,0deg)) rotateY(var(--tilt-y,0deg)) translateY(-4px);border-color:#c7afff45;box-shadow:0 14px 34px #0004}.motion-card:after{content:'';position:absolute;inset:0;border-radius:inherit;background:radial-gradient(350px circle at var(--mouse-x) var(--mouse-y),#c4a7ff13,transparent 65%);pointer-events:none;opacity:0;transition:opacity .25s;z-index:2}.motion-card.cursor-active:after{opacity:1}.division-profile .btn{margin-top:10px}.team-lineup .lineup-car-stage:after{display:none!important}
@media(max-width:1000px){nav#nav{max-width:calc(100vw - 150px);margin-left:-42px;padding:6px 12px;gap:2px}nav#nav a{padding:10px 11px;font-size:11px}.admin-shortcut{right:15px;padding:0 12px}.calendar-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){nav#nav{top:72px!important;left:12px!important;right:12px!important;width:auto!important;max-width:none!important;transform:none!important;margin:0!important;border-radius:18px;justify-content:flex-start}nav#nav:hover{translate:none}.admin-shortcut{top:17px;right:16px;min-height:40px}main#app{padding-top:135px!important}.nav-brand,.nav-brand.on{font-size:20px!important;padding:8px 12px!important}.calendar-grid{grid-template-columns:1fr}.calendar-track{height:165px}.championship-switch>span{width:100%;padding:8px 4px 2px}.championship-switch .btn{flex:1}.motion-card.cursor-active{transform:none}.calendar-round{padding:23px}.championship-switch{margin-top:0}}
@media(prefers-reduced-motion:reduce){nav#nav,.admin-shortcut,.motion-card,.motion-card:after{transition:none!important}.motion-card.cursor-active,nav#nav:hover,.admin-shortcut:hover{transform:none!important;translate:none!important}.motion-card:after{display:none}}
.machine-controls a{color:#aba0c4;text-decoration:none}.machine-controls a:hover{color:white;text-decoration:underline}.model-loading{position:absolute;bottom:18%;left:30%;color:#b7a7d0;font-size:11px;letter-spacing:.08em}

.machine-stage{left:-3%;right:-3%}@media(min-width:901px){.machine-stage{top:145px;bottom:80px}}@media(max-width:900px){.machine-stage{left:-10%;right:-10%}}@media(max-width:600px){.machine-stage{left:-18%;right:-18%}}
.race-host-picker{padding:18px 0;display:grid;gap:10px}.race-host-picker label{display:grid;gap:8px;font-weight:650}.race-host-picker select{width:100%;max-width:520px}.race-host-picker p,.local-host-banner p{font-size:13px;color:var(--mut);line-height:1.6;margin:0}.local-host-banner{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:18px 22px;border:1px solid #b8a4ff40;border-radius:18px;background:linear-gradient(120deg,#b8a4ff12,#64d7cf08);margin:0 0 20px}.local-host-banner b{display:block;margin-bottom:5px}.local-host-banner .btn{flex-shrink:0}@media(max-width:600px){.local-host-banner{align-items:stretch;flex-direction:column}.race-host-picker select{font-size:14px}}
