@font-face{font-family:LocalSans;src:local("Avenir Next"),local("Arial")}*{box-sizing:border-box}html,body{margin:0;width:100%;height:100%;overflow:hidden;background:#101d25;color:#f3f0e7;font-family:LocalSans,Arial,sans-serif}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;cursor:pointer}button:focus-visible,a:focus-visible{outline:3px solid #76c4ff;outline-offset:5px}[hidden]{display:none!important}#game{width:100%;height:100%;display:block;outline:none}.geometry{position:absolute;width:0;height:0;overflow:hidden;pointer-events:none}.back,.pause{position:absolute;top:max(24px,env(safe-area-inset-top));z-index:5;color:#c7d1d4;background:#14232c99;border:1px solid #ffffff1c;border-radius:40px;text-decoration:none;padding:11px 17px;font-size:13px;backdrop-filter:blur(14px)}.back{left:24px}.pause{right:24px;font-size:18px;padding:8px 15px}.screen{position:absolute;inset:0;display:flex;align-items:center;justify-content:flex-start;padding:70px 8vw;background:linear-gradient(90deg,#0c171ff5,#0c171f9c 45%,#0c171f00 80%);z-index:4}.menu-card{width:400px;max-width:100%}.game-label{font-size:10px;letter-spacing:.18em;color:#dfb481;display:flex;align-items:center;gap:9px}.game-label i{width:6px;height:6px;background:#e7b475;border-radius:50%}h1{font-family:"Trebuchet MS",Arial,sans-serif;font-style:italic;font-size:clamp(40px,5.5vw,64px);font-weight:400;line-height:1.02;letter-spacing:-.019em;margin:23px 0}h1 em{font-family:inherit;font-style:inherit;font-weight:inherit;color:#e8b57c}p.pitch{font-size:16px;line-height:1.6;color:#b0c0c5}.racer-key{display:flex;gap:22px;margin:24px 0}.racer-key span{display:flex;align-items:center;gap:8px;font-size:12px}.racer-key i{height:8px;width:8px;border-radius:3px}.blue{background:#5ab7f3}.orange{background:#eaa66c}fieldset{border:0;padding:0;margin:0 0 20px}legend{font-size:11px;letter-spacing:.04em;color:#a5b6bd;margin-bottom:10px}.lap-options{display:flex;gap:7px}.lap-options button{width:54px;height:40px;background:#21323c;color:#c3d0d5;border:1px solid #ffffff15;border-radius:6px}.lap-options button.selected{background:#e6b67e;color:#17232a;border-color:#e6b67e}.primary{display:flex;justify-content:space-between;align-items:center;width:100%;padding:17px 21px;background:#e8b57c;border:0;border-radius:7px;color:#172631;font-weight:600;font-size:14px;text-decoration:none;box-shadow:0 8px 30px #0003}.primary:hover{background:#f5c996}.primary:disabled{opacity:.5;cursor:wait}.primary span{font-size:22px;line-height:14px}.instructions{font-size:12px;line-height:1.9;color:#91a7b2;margin:20px 0 12px}.instructions b{color:#cad8dd;font-weight:400}.version{font-size:8px;letter-spacing:.08em;color:#738b97}.top-hud{position:absolute;z-index:2;top:max(25px,env(safe-area-inset-top));left:50%;transform:translateX(-50%);display:flex;gap:40px;text-align:center;background:#11222ab8;backdrop-filter:blur(12px);border:1px solid #ffffff15;border-radius:12px;padding:12px 28px}.eyebrow{display:block;font-size:8px;letter-spacing:.15em;color:#a0b9c5;margin-bottom:4px}.top-hud strong{font-size:21px;font-variant-numeric:tabular-nums;font-weight:500}.top-hud strong span{font-size:12px;color:#98adb8}.message{position:absolute;top:24%;left:50%;transform:translateX(-50%);text-align:center;z-index:3;font-size:24px;font-weight:500;letter-spacing:-.03em;text-shadow:0 2px 16px #000;pointer-events:none;white-space:pre-line}.message.countdown{font-size:95px;color:#f0c493}.speedometer{position:absolute;bottom:40px;right:40px;min-width:145px;text-align:right;padding:20px;background:#10212b9c;border:1px solid #ffffff12;border-radius:14px;backdrop-filter:blur(12px)}.speedometer>span{font-size:9px;letter-spacing:.14em;color:#a4becd}.speedometer #mode{display:block;color:#e8b57c;font-size:10px}.speedometer strong{display:block;font-size:60px;line-height:1.1;font-weight:400;letter-spacing:-.08em;font-variant-numeric:tabular-nums}.speed-bar{margin:12px 0;height:3px;background:#ffffff15;border-radius:5px;overflow:hidden}.speed-bar i{display:block;background:#67befe;height:100%;width:0}.speedometer small{font-size:10px;color:#a7bcc6}.key-guide{position:absolute;bottom:35px;left:50%;transform:translateX(-50%);display:flex;gap:16px;font-size:10px;color:#9eb3bc;white-space:nowrap}.compact-card{margin:auto;width:380px;max-width:100%;padding:30px;background:#12232fe8;border:1px solid #ffffff1c;border-radius:18px;backdrop-filter:blur(22px)}.compact-card h2{font-size:43px;letter-spacing:-.06em;font-weight:500;line-height:1.08;margin:18px 0}.compact-card p{font-size:14px;color:#acc0ca;line-height:1.6}.text-button{display:block;text-align:center;border:0;background:transparent;color:#a9bdc8;margin:18px auto 0;text-decoration:none;font-size:12px}.result-stats{display:flex;gap:30px;margin:25px 0}.result-stats span{display:block;font-size:10px;color:#94aab6;margin-bottom:6px}.result-stats strong{font-size:20px;font-weight:400}.touch-controls{position:absolute;bottom:max(20px,env(safe-area-inset-bottom));left:18px;right:18px;z-index:3;display:flex;justify-content:space-between;pointer-events:none;user-select:none;-webkit-user-select:none}.touch-controls>div{display:flex;gap:8px;pointer-events:auto}.touch-controls button{height:62px;min-width:62px;border:1px solid #ffffff35;background:#173347c9;backdrop-filter:blur(8px);color:#d6e8f1;border-radius:15px;font-size:25px;touch-action:none}.touch-controls button.gas,.touch-controls button.brake{font-size:10px;font-weight:bold}.touch-controls button.gas{background:#3a86b9cb}.touch-controls button.active{background:#e5b67b;color:#152633}@media(pointer:fine){.touch-controls{display:none}}@media(max-width:700px){.screen{padding:85px 24px 30px;background:linear-gradient(#0b1824c9,#0b1824ed);justify-content:center;overflow:auto}.menu-card{width:340px}h1{font-size:51px;margin:18px 0}.pitch{font-size:14px!important;line-height:1.45!important}.racer-key{margin:16px 0}.instructions{font-size:11px;margin:15px 0 8px}.back{left:15px;padding:9px 12px;font-size:11px}.pause{right:15px}.top-hud{gap:18px;padding:10px 14px;top:76px}.top-hud strong{font-size:17px}.speedometer{right:16px;bottom:108px;padding:12px;min-width:105px}.speedometer strong{font-size:42px}.key-guide{display:none}.message{top:29%;font-size:20px}.message.countdown{font-size:74px}.compact-card{padding:25px}.touch-controls button{min-width:55px;height:58px}.touch-controls>div{gap:5px}}@media(max-height:680px){.screen{padding-top:65px;padding-bottom:20px}.menu-card h1{font-size:40px;margin:14px 0}.pitch{font-size:13px!important}.racer-key{margin:10px 0}.instructions{font-size:10px;margin:10px 0}.lap-options button{height:32px}.primary{padding:13px 18px}.version{display:none}}

@media(max-width:700px){.touch-controls{display:flex}}
@media(pointer:coarse){.speedometer{bottom:110px}.key-guide{display:none}}

/* Physical controls stay visible on desktop and accept simultaneous pointers. */
.driver-controls{position:absolute;bottom:max(16px,env(safe-area-inset-bottom));left:24px;right:24px;z-index:3;display:flex;align-items:flex-end;justify-content:space-between;pointer-events:none;user-select:none;-webkit-user-select:none}.wheel-unit{display:flex;flex-direction:column;align-items:center;gap:0}.wheel-unit>span{font-size:8px;letter-spacing:.14em;color:#8eaab8}.wheel-input{width:155px;height:155px;touch-action:none;pointer-events:auto;cursor:grab;outline-offset:-7px;border-radius:50%;filter:drop-shadow(0 6px 10px #0006)}.wheel-input.active{cursor:grabbing}.wheel-input svg{width:100%;height:100%;transform-origin:center;will-change:transform}.pedal-unit{display:flex;align-items:flex-end;gap:15px;pointer-events:auto;padding:0 8px 0 0}.pedal{border:0;background:none;color:#a9bfcb;padding:0;display:flex;flex-direction:column;align-items:center;gap:9px;touch-action:none}.pedal b{font-size:8px;letter-spacing:.12em;font-weight:400}.pedal-face{height:90px;width:60px;border-radius:8px;background:linear-gradient(120deg,#7a8d95,#344c5b 45%,#172c3b);border:2px solid #9baeb8;box-shadow:0 7px 0 #081923,0 12px 18px #0005;display:flex;flex-direction:column;justify-content:space-evenly;padding:10px 8px;transition:transform .07s,background .07s}.pedal.gas .pedal-face{width:43px;height:115px;border-color:#69b6e4}.pedal-face i{height:5px;background:#0b1f2c;border-top:1px solid #b4c9d655;border-radius:2px}.pedal.active .pedal-face{transform:translateY(6px) perspective(160px) rotateX(12deg);background:linear-gradient(120deg,#70b9e0,#325d79);box-shadow:0 2px 0 #081923}.pedal.brake.active .pedal-face{background:linear-gradient(120deg,#d88875,#683d3b);border-color:#e9a28e}.speedometer{bottom:205px;right:28px}.key-guide{bottom:18px}.flight-guide{position:absolute;top:112px;left:50%;transform:translateX(-50%);z-index:2;display:flex;align-items:center;gap:12px;padding:10px 15px;background:#102430c9;border:1px solid #e8b57c33;border-radius:12px;backdrop-filter:blur(10px);pointer-events:none}.flight-guide>span{font-size:38px;line-height:38px;color:#e8b57c;display:block;transform-origin:50% 50%}.flight-guide strong{display:block;font-size:12px;font-weight:500}.flight-guide small{display:block;color:#a4bcc9;font-size:10px;margin-top:5px;white-space:nowrap}.flight-guide.aligned{border-color:#8dceb17d}.flight-guide.aligned>span{color:#9fe0b9}@media(max-width:700px){.driver-controls{left:12px;right:16px;bottom:max(14px,env(safe-area-inset-bottom))}.wheel-input{width:133px;height:133px}.pedal-unit{gap:11px;padding:0}.pedal-face{height:78px;width:53px}.pedal.gas .pedal-face{height:102px;width:39px}.speedometer{bottom:180px;right:18px}.flight-guide{top:145px;max-width:calc(100% - 28px);padding:8px 12px}.flight-guide small{font-size:9px}.flight-guide>span{font-size:31px}.message{top:30%;font-size:17px}}@media(max-height:500px){.wheel-input{width:105px;height:105px}.pedal-face{height:61px;width:48px}.pedal.gas .pedal-face{height:80px;width:36px}.speedometer{bottom:132px;padding:10px}.speedometer strong{font-size:37px}.flight-guide{top:100px}.message{top:42%;font-size:16px}}

.cup-identity{display:flex;align-items:center;gap:17px;margin-bottom:10px}.cup-emblem{object-fit:contain;filter:drop-shadow(0 3px 13px #e6b65d22)}.result-cup{display:block;margin:-6px auto 16px;filter:drop-shadow(0 5px 18px #d6a24b20)}@media(max-height:750px){.cup-emblem{width:40px;height:55px}.cup-identity{margin-bottom:0}.result-cup{width:57px;height:79px;margin-bottom:10px}}@media(max-height:560px){.cup-identity{display:none}.result-cup{display:none}}

/* Garage and track selection. Panels scroll on short/landscape screens. */
.setup-screen{display:block;overflow:auto;padding:100px max(6vw,24px) 40px;background:linear-gradient(110deg,#0c171ff5,#0c171fd9 65%,#0c171f80);overscroll-behavior:contain}
.setup-card{width:min(1120px,100%);margin:auto;display:grid;grid-template-columns:320px minmax(0,1fr);gap:55px;max-width:none}.setup-intro{position:sticky;top:0;align-self:start}.setup-card h1{font-size:46px;margin:20px 0 15px}.setup-card .pitch{font-size:14px!important}.setup-card h2{font-size:17px;font-weight:500;letter-spacing:-.025em;margin:0}.section-title{display:flex;align-items:center;gap:10px;margin:0 0 13px}.section-title>span{color:#d7ab79;font-size:10px;font-variant-numeric:tabular-nums;border:1px solid #d7ab7938;border-radius:50%;padding:5px}.select-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.setup-options label{display:block;color:#c4d5dc;font-size:11px;margin:0 0 8px}.setup-options select{appearance:auto;background:#20333e;color:#eff0e9;border:1px solid #9ebccb38;border-radius:7px;min-height:44px;width:100%;padding:9px 10px;font:inherit;font-size:12px;cursor:pointer}.setup-options select:focus-visible{outline:2px solid #e8b57c;outline-offset:3px}.setup-note{font-size:11px;line-height:1.65;color:#9db2be;margin:9px 0 23px;min-height:2.8em}.track-options{display:grid;grid-template-columns:repeat(3,1fr);gap:9px}.track-options button{text-align:left;background:#1a2d36c9;color:#a5bbc5;border:1px solid #ffffff1a;border-radius:9px;padding:10px;min-width:0;transition:background .15s,border-color .15s}.track-options button.selected{background:#244452;border-color:#e8b57ca6;color:#e8b57c}.track-options button:hover{border-color:#e8b57c88}.track-options svg{width:100%;height:66px;display:block;margin-bottom:6px}.track-options span{display:block;color:#edf0e9;font-size:12px}.track-options small{display:block;font-size:9px;margin-top:4px}.setup-bottom{display:flex;align-items:flex-end;gap:20px;margin-top:2px}.setup-bottom fieldset{margin:0}.setup-bottom .primary{flex:1;min-height:44px;padding:13px 18px}.setup-bottom .lap-options button{height:44px;width:42px}.setup-options .instructions{font-size:11px}.garage-caption{text-align:center;color:#829daa;font-size:8px;letter-spacing:.12em;margin-top:-8px}#garage-preview{display:block;width:100%;max-width:320px;height:200px;margin:0 auto}.opponents{padding:0;list-style:none;margin:28px 0 12px}.opponents li{display:grid;grid-template-columns:8px 1fr auto;gap:10px;align-items:center;border-bottom:1px solid #ffffff0c;padding:9px 0;font-size:12px}.opponents li>i{height:7px;width:7px;border-radius:50%;background:var(--rival)}.opponents small{grid-column:2/4;color:#809ca9;font-size:9px;margin-top:-6px}.rival-stars{font-size:9px;letter-spacing:2px;color:#e8b57c}.rival-stars span{color:#46616f}.rival-note{font-size:10px;line-height:1.7;color:#859fab}.direction-unit{display:none;gap:10px;pointer-events:auto}.direction-unit button{display:grid;place-items:center;width:64px;height:64px;border:2px solid #90adbc;border-radius:50%;background:radial-gradient(circle at 35% 25%,#456374,#152e40);box-shadow:0 5px 0 #081923;color:#d8e8ed;font-size:22px;touch-action:none}.direction-unit button.active{background:#dfb481;color:#122732;transform:translateY(3px);box-shadow:0 2px 0 #081923}body[data-controls="buttons"] .wheel-unit{display:none}body[data-controls="buttons"] .direction-unit{display:flex}
/* Fixed CSS-pixel sizes on phone, tablet and desktop; no viewport scaling. */
.driver-controls{left:max(18px,env(safe-area-inset-left));right:max(18px,env(safe-area-inset-right));bottom:max(18px,env(safe-area-inset-bottom))}.wheel-input{width:132px;height:132px}.pedal-unit{gap:15px;padding:0}.pedal-face{width:58px;height:78px}.pedal.gas .pedal-face{width:44px;height:100px}.speedometer{bottom:175px}.key-guide{bottom:18px}
@media(max-width:1000px){.setup-card{grid-template-columns:250px minmax(0,1fr);gap:30px}.setup-card h1{font-size:37px}.select-grid{gap:12px}.track-options{grid-template-columns:repeat(2,1fr)}.setup-bottom{flex-wrap:wrap}.setup-bottom .primary{min-width:160px}}
@media(max-width:700px){.setup-screen{padding:85px 22px 30px}.setup-card{display:block;width:470px;max-width:100%}.setup-intro{position:static}.setup-card h1{font-size:39px}.setup-intro .pitch{margin-bottom:0}#garage-preview{height:150px;width:240px}.garage-caption{margin:0 0 22px}.opponents{display:none}.rival-note{margin:0 0 25px}.select-grid{grid-template-columns:1fr}.setup-note{min-height:0;margin-bottom:20px}.track-options{grid-template-columns:repeat(3,1fr)}.track-options button{padding:8px}.track-options svg{height:48px}.track-options span{font-size:10px}.setup-bottom{gap:12px}.setup-bottom .primary{min-width:140px}.setup-bottom .lap-options button{width:36px}.top-hud{gap:16px}.speedometer{bottom:170px}}
@media(orientation:landscape) and (max-height:600px){.setup-screen{padding:75px max(5vw,30px) 25px}.setup-card{display:grid;grid-template-columns:230px minmax(0,1fr);gap:30px;width:100%}.setup-card h1{font-size:34px}.setup-intro{position:static}.setup-card .cup-identity{display:flex}.cup-emblem{width:32px;height:44px}.cup-identity .game-label{font-size:8px}#garage-preview{height:145px;width:232px}.opponents{display:block;margin-top:20px}.track-options{grid-template-columns:repeat(3,1fr)}.select-grid{grid-template-columns:1fr 1fr}.setup-bottom{flex-wrap:wrap}.top-hud{top:max(15px,env(safe-area-inset-top));gap:20px;padding:8px 18px}.top-hud strong{font-size:17px}.back{top:15px}.pause{top:15px}.flight-guide{top:78px;padding:6px 10px}.flight-guide>span{font-size:25px}.flight-guide strong{font-size:10px}.flight-guide small{font-size:9px}.speedometer{right:calc(max(18px,env(safe-area-inset-right)) + 137px);bottom:20px;min-width:90px;padding:8px}.speedometer strong{font-size:30px}.speedometer>span,.speedometer #mode{font-size:8px}.speed-bar{margin:6px 0}.key-guide{display:none}.message{top:30%;font-size:18px}.wheel-input{width:132px;height:132px}.pedal-face{width:58px;height:78px}.pedal.gas .pedal-face{width:44px;height:100px}}
@media(max-width:700px) and (orientation:portrait){.opponents{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;margin:16px 0 12px}.opponents li{display:flex;flex-wrap:wrap;gap:5px;padding:8px;border:1px solid #ffffff16;border-radius:7px;font-size:10px}.opponents small{display:none}.opponents .rival-stars{width:100%;font-size:7px;letter-spacing:1px;padding-left:12px}.rival-note{font-size:9px;margin-bottom:25px}}
@media(orientation:landscape) and (max-height:600px){.screen:not(.setup-screen){overflow:auto;align-items:flex-start;padding-top:70px}.compact-card{margin:0 auto}}

/* Retina preview has its own fitting frame, independent of the race camera. */
#garage-preview{width:100%;height:auto;aspect-ratio:4/3;max-width:320px;margin:0 auto;display:block}.garage-caption{margin-top:3px}.setup-intro .opponents{margin-top:24px}
@media(max-width:700px) and (orientation:portrait){#garage-preview{width:100%;height:auto;max-width:280px}.setup-intro .opponents{margin-bottom:25px}}

body[data-layout="mirrored"] .driver-controls{flex-direction:row-reverse}.layout-choice{grid-column:1/-1;margin-bottom:22px}

/* Six possible strength points, with the local player clearly marked. */
.rival-stars .filled-dots{color:#e8b57c}.rival-stars .empty-dots{color:#46616f}.opponents .player-entry{border-color:#63c9ff66;background:#60c7ff0b;border-radius:7px;padding-left:8px;padding-right:8px}.opponents .player-entry>span:not(.rival-stars){color:#8dd8ff;font-weight:600}.player-entry .filled-dots{color:#75ceff}.rating-result{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:9px;padding:13px 0;border-top:1px solid #ffffff14;border-bottom:1px solid #ffffff14;margin-top:20px}.rating-result>span:first-child{font-size:11px;color:#a9bfca}.rating-result strong{font-size:13px;font-weight:500;width:100%;color:#cae9fa}.rating-result small{font-size:10px;color:#8bbad3;font-weight:400;margin-left:9px}.rating-result .rival-stars{font-size:12px}.rating-result .filled-dots{color:#75ceff}

/* Class, vehicle and wing selection stays directly below the preview. */
.setup-intro{position:static}.garage-pickers{margin:23px 0 20px}.garage-picker{margin-bottom:19px}.garage-picker>label{display:block;color:#b9ced9;font-size:11px;margin-bottom:8px}.choice-stepper{display:grid;grid-template-columns:52px minmax(0,1fr) 52px;align-items:stretch;gap:9px}.choice-stepper button{min-width:52px;min-height:52px;border:1px solid #8ab0c04d;border-radius:9px;color:#e8b57c;background:#203944;font-size:38px;line-height:1;touch-action:manipulation;padding:0 0 5px;transition:background .12s,transform .12s}.choice-stepper button:hover{background:#33515e}.choice-stepper button:active{transform:scale(.95);background:#47606a}.choice-current{display:flex;flex-direction:column;justify-content:center;gap:5px;text-align:center;background:#10283280;border:1px solid #ffffff10;border-radius:8px;padding:9px 5px}.choice-current output{color:#edf1ea;font-size:14px;font-weight:500;overflow-wrap:anywhere}.choice-current small{color:#8faab9;font-size:9px;font-variant-numeric:tabular-nums}.garage-picker .setup-note{font-size:10px;line-height:1.6;min-height:0;margin:7px 0 0;color:#92adbb}.garage-picker[data-picker="engineClass"] .choice-current output{color:#e8b57c;font-size:18px}.garage-picker[data-picker="engineClass"] .choice-current{border-color:#e8b57c3b}
@media(max-width:700px){.garage-pickers{margin-top:20px}.garage-picker{margin-bottom:20px}.choice-stepper button{min-height:54px}.choice-current output{font-size:14px}}

/* One vertical setup flow on every screen, including landscape desktop. */
.setup-card{display:block;width:min(680px,100%);margin:0 auto}.setup-intro{position:static}.setup-options{margin-top:42px}.setup-card h1{font-size:clamp(39px,6vw,58px)}.setup-card .pitch{font-size:16px!important}.garage-pickers{margin:25px auto;max-width:540px}.setup-intro .opponents{display:block;max-width:540px;margin:28px auto}.setup-card .select-grid{grid-template-columns:1fr}.layout-choice{margin-bottom:0}#garage-preview{width:100%;max-width:640px;height:auto;aspect-ratio:4/3}.track-options{grid-template-columns:repeat(3,minmax(0,1fr))}.setup-bottom{flex-wrap:wrap;margin-top:22px}.setup-bottom fieldset{width:100%;margin-bottom:5px}#result{overflow:auto;align-items:flex-start;background:#0c171fe8}#result .compact-card{width:560px;margin:auto}.standings{list-style:none;padding:0;margin:24px 0}.standings li{display:grid;grid-template-columns:24px 1fr auto;align-items:center;gap:12px;padding:11px 0;border-bottom:1px solid #ffffff18;font-size:13px}.standings li.player{color:#86d7ff}.standings small{color:#9eb6c3;font-size:11px}.podium{display:flex;align-items:flex-end;justify-content:center;gap:8px;margin:28px 0 16px}.podium>div{text-align:center;background:linear-gradient(#425564,#203440);border-radius:8px 8px 0 0;padding:15px 7px 12px;width:30%;font-size:12px}.podium>div:first-child{order:2;min-height:142px;background:linear-gradient(#b58c4e,#665236)}.podium>div:nth-child(2){order:1;min-height:115px}.podium>div:nth-child(3){order:3;min-height:92px}.podium img{height:49px;width:auto;display:block;margin:0 auto 8px}.podium strong,.podium span{display:block}.podium span{margin-top:8px;color:#d5dfe1;font-size:11px}.series-route{font-size:12px;line-height:1.9;color:#b5cbd6;padding-left:22px}.setup-options #mode-select{font-size:16px;min-height:52px}
@media(max-width:700px){.setup-options{margin-top:32px}#garage-preview{width:100%;max-width:640px;height:auto}.setup-screen{padding-left:20px;padding-right:20px}.setup-intro .opponents{display:block}.track-options{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* Wide garage: preview left, all three complete pickers stacked on the right. */
@media(min-width:701px) and (orientation:landscape){
 .setup-card{width:min(1120px,100%)}.setup-options{max-width:680px;margin:42px auto 0}
 .garage-config{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(240px,1fr);column-gap:32px;row-gap:8px;align-items:center}
 .garage-config #garage-preview{grid-column:1;grid-row:1;width:100%;max-width:640px}
 .garage-config .garage-caption{grid-column:1;grid-row:2;margin:0}
 .garage-config .garage-pickers{grid-column:2;grid-row:1/3;width:100%;max-width:none;margin:20px 0}
 .garage-config .garage-picker:last-child{margin-bottom:0}
}

/* Center the cup heading and introduction above the garage. */
.setup-intro>.cup-identity{justify-content:center}
.setup-intro>h1,.setup-intro>.pitch{text-align:center}

/* Reserve the same two text lines for every garage description. */
.garage-picker .setup-note{line-height:1.6;height:3.2em;min-height:3.2em;margin:7px 0 0}

/* Personal progress belongs to the preview; rivals appear only in results. */
.player-profile{display:flex;flex-direction:column;align-items:center;gap:7px;text-align:center;margin:16px auto 24px;min-height:82px}
.profile-label{font-size:8px;letter-spacing:.14em;color:#91adbb}.player-profile strong{font-size:15px;color:#d6ebf6;font-weight:500}.player-profile .rival-stars{font-size:14px}.player-profile .filled-dots{color:#75ceff}.player-profile small{font-size:10px;color:#91adbb}
.standings-title{font-size:13px;color:#c5d9e3;font-weight:500;margin:24px 0 0}
@media(min-width:701px) and (orientation:landscape){.garage-config .player-profile{grid-column:1;grid-row:3;margin:12px auto 20px}.garage-config .garage-pickers{grid-row:1/4}}

/* The same reachable control enters and leaves fullscreen, including in menus. */
.game-actions{position:absolute;top:max(24px,env(safe-area-inset-top));right:max(24px,env(safe-area-inset-right));display:flex;align-items:center;gap:9px;z-index:6}
.game-actions .pause{position:static;min-width:44px;min-height:44px;margin:0}
.fullscreen-button{display:flex;align-items:center;justify-content:center;gap:8px;min-width:44px;min-height:44px;padding:8px 14px;color:#c7d1d4;background:#14232cdd;border:1px solid #ffffff28;border-radius:40px;backdrop-filter:blur(14px);font-size:12px;touch-action:manipulation}
.fullscreen-button>span:first-child{font-size:25px;line-height:1}.fullscreen-button:hover{background:#284451}.fullscreen-button:disabled{opacity:.5;cursor:default}.fullscreen-button[aria-pressed="true"]{border-color:#e8b57c88;color:#e8b57c}
.fullscreen-status{position:absolute;z-index:6;top:max(76px,calc(env(safe-area-inset-top) + 52px));right:20px;max-width:calc(100% - 40px);padding:10px 14px;background:#203944;border:1px solid #ffffff24;border-radius:8px;color:#d4e1e7;font-size:12px}
@media(max-width:700px){.game-actions{top:max(24px,env(safe-area-inset-top));right:max(15px,env(safe-area-inset-right))}.fullscreen-label{display:none}.fullscreen-button{padding:8px}}
@media(orientation:landscape) and (max-height:600px){.game-actions{top:max(15px,env(safe-area-inset-top));right:max(15px,env(safe-area-inset-right))}}

.fullscreen-help{width:min(440px,calc(100% - 40px));max-height:calc(100dvh - 40px);overflow:auto;padding:26px;background:#142b39;color:#edf1ed;border:1px solid #adc8d044;border-radius:16px;box-shadow:0 15px 80px #0008;font-family:inherit}
.fullscreen-help::backdrop{background:#051019bd;backdrop-filter:blur(8px)}.fullscreen-help h2{font-size:23px;line-height:1.2;font-weight:500;margin:0 0 16px}.fullscreen-help p,.fullscreen-help li{font-size:13px;line-height:1.7;color:#b5cbd6}.fullscreen-help ol{padding-left:21px;margin:18px 0 24px}.fullscreen-help li{padding-left:4px;margin:10px 0}.fullscreen-help strong{color:#f0d0a5;font-weight:500}.fullscreen-help .primary{margin-top:20px}
