.subtitle,.difficulty-picker p,.keys,.touch-help,.vehicle-card>strong,.vehicle-type,.new-routes,.track-features,.crew-strip,.track-help,.eyebrow{display:none!important}
#race-hint,#care-hud,.edition{display:none!important}
#driver-badge,.touch-ui #driver-badge{display:flex!important;position:absolute;left:12px;top:76px;width:auto;min-width:0;max-width:150px;padding:4px 8px;border-radius:15px;pointer-events:none}#driver-badge b{display:none}#driver-badge img{max-height:44px;max-width:60px;object-fit:contain}#driver-badge .kd-duo{height:48px!important;width:110px!important}
#brief-vehicle{display:block;width:min(90%,500px);height:170px;object-fit:contain;margin:auto}#brief-shape,#brief-laps,#brief-car{display:none}#brief-rules{display:flex!important;justify-content:center;flex-wrap:wrap;gap:12px}#brief-rules article{min-width:90px;flex:1;padding:14px!important}#brief-rules .rule-icon{font-size:32px;display:block;animation:show-control 1.8s ease-in-out infinite}#brief-rules h3{font-size:12px}#brief-rules [data-type=turn] .rule-icon{animation-name:show-turn}@keyframes show-control{50%{transform:translateY(8px);filter:brightness(1.35)}}@keyframes show-turn{25%{transform:translateX(-10px) rotate(-8deg)}75%{transform:translateX(10px) rotate(8deg)}}
.vehicle-card img{height:150px;object-fit:contain;width:100%}.vehicle-title{font-size:22px}.vehicle-stats{font-size:18px}.vehicle-card{border-radius:24px!important;background:linear-gradient(145deg,#fdf8ef,#ece0ff)!important;transition:transform .18s}.vehicle-card:hover{transform:translateY(-4px)}
#vehicle-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}#garage-dialog{max-width:1100px;width:94vw;max-height:90dvh;overflow:auto}
.vehicle-card{display:flex!important;min-height:0!important;padding:12px!important;color:#302049!important}.vehicle-card img{margin:0!important;height:150px!important;max-height:none!important;width:100%!important;object-fit:contain!important}.vehicle-title{color:#302049}.vehicle-stats>span{color:#594169!important}.vehicle-select{color:#302049!important;margin-top:6px!important}.vehicle-stats{margin:6px 0!important;gap:4px!important}.vehicle-stats i.filled{background:#7944b6!important}
#touch-super{background:linear-gradient(135deg,#c74cff,#ff9c26);color:white}#touch button:disabled{opacity:.4}#countdown small{font-size:clamp(24px,5vw,48px)}
.grid-reveal{display:grid;grid-template-columns:repeat(2,80px);gap:6px;justify-content:center}.grid-reveal>span{position:relative;display:flex;align-items:center;justify-content:center;height:42px;border:2px solid #ffffff77;border-radius:10px;background:#29233bdd;font-size:26px}.grid-reveal b{font-size:12px;position:absolute;right:5px;top:4px}.grid-reveal .chosen{background:#7040ab;border:3px solid #ffe08b;animation:show-control .5s ease-in-out infinite}.grid-reveal .portrait{width:36px;height:36px;display:block}#countdown>strong{font-size:90px;line-height:1}
@media(max-width:700px){#vehicle-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.vehicle-card img{height:110px}.vehicle-title{font-size:18px}.pedal-controls{gap:6px}#touch .pedal-controls button{min-width:46px;width:clamp(46px,11vw,68px);padding:6px}}
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}
@media(min-width:701px) and (max-width:1100px){.intro{margin:95px 0 75px 5%!important;padding:0!important;width:52%!important}.intro h1{font-size:42px!important;margin-bottom:18px!important}.intro h1 .game-name{font-size:22px!important}.driver-picker{flex-direction:row!important;gap:8px!important}.driver{padding:10px!important;min-height:60px!important}.driver .portrait{width:40px!important;height:40px!important}.race-card{width:33%!important;bottom:105px!important}.preferences{font-size:12px!important;gap:8px!important}.menu-footer{font-size:11px!important}.difficulty-picker{margin:10px 0!important}}
@media(max-width:700px){.intro{margin-top:165px!important}.intro h1{font-size:40px!important}.intro h1 .game-name{font-size:22px!important}.vehicle-card img{height:115px!important}.vehicle-stats{font-size:13px!important}.vehicle-select{padding:8px!important}.preferences{font-size:12px!important;gap:10px!important}.menu-footer{position:relative!important;margin:15px!important;bottom:auto!important}}
/* Contrast and peripheral boost feedback; the central road stays unobscured. */
.vehicle-card .vehicle-select{color:#fff!important;background:#614080!important}.vehicle-card.selected .vehicle-select{background:#ffd071!important;color:#291a42!important}
body.racing::after{content:'';position:fixed;inset:0;pointer-events:none;z-index:2;opacity:0;transition:opacity .25s;box-shadow:inset 28px 0 60px -35px #70efff,inset -28px 0 60px -35px #70efff;background:repeating-conic-gradient(from 0deg at 50% 42%,transparent 0deg 14deg,#a9f5ff22 14.2deg 14.5deg,transparent 14.7deg 22deg);mask-image:radial-gradient(ellipse,transparent 47%,#000 100%)}
/* Streaks describe actual speed, including coasting after boost is released.
   The fixed central mask keeps the road clear. Pause/calm suppression is immediate. */
body.racing::after{background:repeating-conic-gradient(from 0deg at 50% 42%,transparent 0deg 14deg,var(--speed-line-color,#dffaff33) 14.2deg 14.5deg,transparent 14.7deg 22deg);background-position:center;transition:none;animation:speed-flow var(--speed-duration,1.05s) linear infinite;animation-play-state:paused;filter:none}
body.racing[data-speed-effects='true']::after{opacity:var(--speed-opacity,0);animation-play-state:running}
body.racing[data-boost='1']::after{--speed-line-color:#a9f5ff33}
body.racing[data-boost='2']::after{--speed-line-color:#ffcf7a33;box-shadow:inset 28px 0 60px -35px #ffcf7a,inset -28px 0 60px -35px #ffcf7a}
@keyframes speed-flow{from{transform:scale(1)}to{transform:scale(1.15)}}
@media(prefers-reduced-motion:reduce){body.racing::after{display:none}}
@media(max-width:700px){
 .menu.has-art{background-size:auto 270px!important;background-position:center top!important}
 .menu .intro{margin:0!important;padding:190px 5% 12px!important;width:100%!important;background:linear-gradient(0deg,#111024 0%,#111024 50%,transparent 100%)!important}
 .intro h1{display:none!important}.driver-picker{margin:8px 0!important;gap:8px!important}.driver{min-height:58px!important;padding:8px!important}.driver .portrait{width:42px!important;height:42px!important}
 .garage-open,.vehicle-picker{margin:8px 0!important}.difficulty-picker{margin:8px 0!important;min-height:48px!important}.start-row{margin-top:10px!important}
 .preferences{margin:12px 0!important;gap:8px!important}.race-card{position:relative!important;inset:auto!important;margin:8px 5%!important;width:90%!important;padding:12px!important}.race-card h2{font-size:24px!important}.track-meta{font-size:10px!important}.menu-footer{display:none!important}
 #race-condition:has(#warning-title:empty){width:auto!important;min-width:0!important;padding:10px!important}#warning-title:empty,#warning-detail:empty,#warning-distance:empty{display:none!important}
}
/* One action at a time, using the same free-driving physics as the race. */
#brief-dialog.training .route-preview,#brief-dialog.training .brief-car,#brief-dialog.training .eyebrow,#brief-dialog.training .brief-actions p{display:none}
#brief-dialog.training{width:min(680px,94vw);padding:20px}
#brief-dialog.training #brief-rules{display:block;margin:10px 0}
.lesson-progress{display:flex;justify-content:center;gap:10px;margin:6px 0 14px}
.lesson-progress span{display:grid;place-items:center;min-width:36px;height:36px;border-radius:50%;background:#e6dced;color:#746882;font-size:20px}
.lesson-progress .current{background:#59349a;color:white;box-shadow:0 0 0 4px #ddcbed}
.lesson-progress .complete{background:#c7eeb0;color:#264a37}
.lesson-road{display:block;width:100%;height:auto;border-radius:20px}
.lesson-actions{display:flex;align-items:center;justify-content:center;gap:22px;margin-top:18px}
.lesson-actions button{min-width:78px;min-height:66px;border:0;border-radius:20px;font-size:32px;touch-action:none;user-select:none}
.lesson-control{background:#59349a;color:#fff;box-shadow:0 5px 0 #372263}
.lesson-control.pressed{transform:translateY(4px);box-shadow:0 1px 0 #372263}
.lesson-next{background:#c6efab;color:#24423b}.lesson-next:disabled{opacity:.3}
.lesson-hint{font-size:34px;color:#34734a}
@media(max-width:500px){#brief-dialog.training{padding:15px}.lesson-progress{gap:7px}.lesson-progress span{min-width:31px;height:31px}.lesson-actions{gap:14px}}
#race-condition[data-type=turn],#race-condition[data-type=ice]:has(#warning-title:empty){width:auto;min-width:0;min-height:0;padding:8px 14px;gap:0;left:50%;right:auto;transform:translateX(-50%)}
#race-condition[data-type=turn]>div,#race-condition[data-type=ice]:has(#warning-title:empty)>div,#warning-distance:empty{display:none}
/* Controls remain discoverable on mouse, keyboard and touch alike. */
#touch:not([hidden]){display:flex;align-items:flex-end;z-index:6;gap:16px}
#touch .steering-controls{display:flex;gap:8px}
#touch .pedal-controls{display:flex;gap:8px;align-items:flex-end}
#touch button{display:flex;flex-direction:column;justify-content:center;align-items:center;gap:3px;width:76px;height:80px;border:2px solid #c7b4e2;background:#302542ef;backdrop-filter:none;border-radius:18px;box-shadow:0 4px 0 #181022;padding:6px;color:#fff}
#touch button b{font-size:30px;line-height:1}#touch button span{font-size:11px;line-height:1;font-weight:900}#touch button kbd{font-size:10px;color:inherit;background:#0002;border-color:currentColor;padding:2px 4px}
#touch .pedal-controls .boost{position:relative;overflow:hidden;width:88px;height:90px;font-size:14px;background:#53d8ef;color:#16314c;border-color:#c0f9ff}
#touch #touch-super{background:#ffbc62;color:#4c233e;border-color:#ffe3a1}
#touch .boost:after{content:'';position:absolute;bottom:0;left:0;height:5px;width:var(--charge,100%);background:currentColor;opacity:.65}
#touch .active-boost{box-shadow:0 0 0 3px #fff,0 0 26px #a4edff}
#touch button.pressed{transform:translateY(3px);box-shadow:0 0 0 3px #fff;background:#faf2ff;color:#302542}
body.racing .race-bottom{bottom:132px!important}
.touch-ui #touch .pedal-controls,.touch-ui.auto-drive #touch .pedal-controls{display:grid;grid-template-columns:64px 64px;gap:6px}
.touch-ui #touch .pedal-controls button,.touch-ui.auto-drive #touch .pedal-controls [data-control=brake]{width:64px;min-width:0;height:58px}
.touch-ui #touch .pedal-controls .boost{grid-column:auto;width:64px;height:70px;border-radius:17px}
.touch-ui #touch .steering-controls button{width:62px;height:78px;border-radius:20px}
.touch-ui #touch kbd{display:none}.touch-ui #touch .boost span{font-size:10px}.touch-ui #touch .boost b{font-size:26px}
.touch-ui.auto-drive #touch [data-control=brake]{grid-column:1/-1;justify-self:end}
.touch-ui.racing .race-bottom{bottom:166px!important}
#brief-dialog.training #brief-rules{display:block!important}
.lesson-title{text-align:center;font-size:18px;margin:8px 0;color:#fff8e7;font-weight:800}
.lesson-progress{flex-wrap:wrap;gap:8px}.lesson-progress button{border:2px solid transparent;border-radius:13px;min-width:40px;min-height:44px;background:#e6dced;color:#59416e;font-size:22px;padding:5px}
.lesson-progress button.current{background:#59349a;color:#fff;border-color:#d7c0f4}.lesson-progress button.complete{background:#c7eeb0;color:#264a37}
.lesson-progress button[data-step=boost]{background:#53d8ef;color:#16314c}.lesson-progress button[data-step=superBoost]{background:#ffbc62;color:#4c233e}
.lesson-actions .lesson-control{min-width:112px;min-height:78px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px}
.lesson-control[data-step=boost]{background:#53d8ef;color:#16314c;box-shadow:0 5px 0 #20718d}.lesson-control[data-step=superBoost]{background:#ffbc62;color:#4c233e;box-shadow:0 5px 0 #975535}
.lesson-control kbd{font-size:13px;color:inherit;border-color:currentColor}.lesson-command{text-align:center;font-size:13px;margin:12px 0 0;color:#f5e6ff}.lesson-ghost{opacity:.65}
.lesson-control kbd{background:#fff7e8;color:#302542;border:1px solid #302542}
@media(max-width:380px){#touch{left:10px!important;right:10px!important}.touch-ui #touch .steering-controls button{width:54px}.lesson-actions{gap:10px}}
@media(max-height:540px) and (orientation:landscape){.touch-ui #touch .pedal-controls,.touch-ui.auto-drive #touch .pedal-controls{display:flex}.touch-ui #touch .pedal-controls .boost{height:62px}.touch-ui #touch .steering-controls button{height:62px}.touch-ui.racing .race-bottom{bottom:96px!important}.lesson-road{max-height:130px;object-fit:contain}.lesson-actions{margin-top:8px}.lesson-actions .lesson-control{min-height:60px}.lesson-title{margin:4px 0}}

/* Child-readable choices: one clear benefit per toggle, without ambiguous shorthand. */
.preferences{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px!important;margin:14px 0 0!important;max-width:590px}
.preferences label{display:grid!important;grid-template-columns:22px 28px minmax(0,1fr);align-items:center;gap:6px!important;min-height:58px;padding:7px 9px;border:1px solid #e2cff3;border-radius:15px;background:#231b39e8;color:#fff7ff;font-size:13px!important;line-height:1.15}
.preferences label input{width:20px!important;height:20px!important;margin:0;accent-color:#c8ed76}
.preferences label>span:not(.option-icon){display:block;min-width:0}
.preferences label b{display:block;font-size:13px;color:#fff;font-weight:900}
.preferences label small{display:block;margin-top:3px;color:#e0cfea;font-size:10px;line-height:1.2;font-weight:700}
.option-icon{font-size:21px;line-height:1;text-align:center}
#garage-open{display:grid!important;grid-template-columns:118px minmax(0,1fr) auto;align-items:center!important;gap:10px!important;padding:9px 12px!important;min-height:86px;border:2px solid #b995d8!important;border-radius:18px!important;background:#231b39ed!important}
.car-thumb{display:grid;place-items:center;width:118px;height:66px;border-radius:13px;background:linear-gradient(145deg,#f3e8ff,#d8f5f0)}
.car-thumb img{width:100%;height:100%;object-fit:contain}
.car-copy{display:flex;flex-direction:column;gap:3px;min-width:0}
.car-copy small{font-size:9px;letter-spacing:1px;color:#e3c9f5;font-weight:900}
.car-copy b{font:700 19px Fredoka,system-ui,sans-serif;color:white;line-height:1.05}
#vehicle-summary{font-size:10px;line-height:1.25;color:#fff0c9;font-weight:800}
#garage-open .garage-action{font-size:10px;font-weight:900;color:#ffd07c;white-space:nowrap}
.vehicle-card{padding:10px!important;min-height:0!important;border:2px solid #d4c0e7!important;border-radius:22px!important;background:linear-gradient(155deg,#fffaf0,#e8f0ff)!important;color:#332344!important;overflow:hidden}
.vehicle-card.selected{border-color:#ffb94d!important;box-shadow:0 0 0 4px #ffcf6c66,0 7px 18px #20113830!important;background:linear-gradient(155deg,#fff5d7,#e6fbf7)!important}
.vehicle-card img{height:196px!important;max-height:none!important;margin:0!important;object-fit:contain!important;filter:drop-shadow(0 6px 4px #2d1f4022)}
.vehicle-class{align-self:flex-start;padding:5px 9px;border-radius:999px;background:#694795;color:white;font-size:10px;font-weight:900;letter-spacing:.4px}
/* Change the age group from the garage, without covering racing pedals. */
body.racing #age3-change{display:none!important}
.vehicle-title{margin:2px 0 7px!important;font:700 23px Fredoka,system-ui,sans-serif!important;color:#302049!important}
.vehicle-speeds{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:5px;width:100%;margin-top:auto}
.vehicle-speeds>span{display:grid;grid-template-columns:auto auto;align-items:baseline;justify-content:center;column-gap:3px;padding:6px 3px;border-radius:11px;background:#eee2fa;color:#302049;text-align:center}
.vehicle-speeds small{grid-column:1/-1;font-size:9px;line-height:1.1;letter-spacing:.4px;font-weight:900;color:#7040ab}
.vehicle-speeds b{font-size:18px;line-height:1.05;font-weight:900}
.vehicle-speeds i{font-style:normal;font-size:8px;font-weight:800;color:#664f7a}
.vehicle-speeds .has-super{background:#ffe5bb}
.vehicle-speeds .has-super small{color:#ae501d}
.vehicle-speeds .no-super{background:#f1edf4;color:#7e7485}
.vehicle-speeds .no-super small,.vehicle-speeds .no-super i{color:#847a8d}
.vehicle-select{display:flex!important;align-items:center;justify-content:center;min-height:40px;margin-top:8px!important;padding:7px!important;border-radius:13px!important;background:#654783!important;color:white!important;font-size:12px;font-weight:900}
.vehicle-card.selected .vehicle-select{background:#ffcf68!important;color:#33213d!important}
@media(max-width:700px){.preferences{gap:6px!important;margin-top:10px!important}.preferences label{min-height:54px;padding:6px!important;grid-template-columns:19px 23px minmax(0,1fr);gap:4px!important}.preferences label b{font-size:11px}.preferences label small{font-size:9px}.option-icon{font-size:18px}#garage-open{grid-template-columns:83px minmax(0,1fr) auto;gap:8px!important;min-height:72px;padding:7px!important}.car-thumb{width:83px;height:57px}.car-copy b{font-size:16px}#vehicle-summary{font-size:9px}.vehicle-card{padding:8px!important}.vehicle-card img{height:145px!important}.vehicle-title{font-size:18px!important}.vehicle-speeds{gap:3px}.vehicle-speeds>span{padding:5px 1px}.vehicle-speeds small{font-size:8px}.vehicle-speeds b{font-size:15px}.vehicle-speeds i{font-size:7px}.vehicle-select{min-height:34px;font-size:11px}}
@media(max-width:390px){#garage-open{grid-template-columns:68px minmax(0,1fr) auto}.car-thumb{width:68px;height:52px}.garage-action{font-size:9px!important}.vehicle-card img{height:132px!important}.vehicle-title{font-size:16px!important}.vehicle-speeds b{font-size:13px}}
@media(max-width:520px){#vehicle-grid{grid-template-columns:1fr!important}.vehicle-card{display:flex!important;flex-direction:column!important;align-items:stretch!important}.vehicle-card img{height:184px!important;flex:none!important}.vehicle-title{font-size:22px!important}.vehicle-speeds{gap:7px}.vehicle-speeds>span{padding:7px 4px}.vehicle-speeds b{font-size:18px!important}.vehicle-speeds small{font-size:9px}.vehicle-speeds i{font-size:8px}}

/* WD70: the portrait follows race time, including pause and restored countdowns. */
.grid-reveal{position:relative;margin-top:45px}
.grid-reveal>span{box-sizing:border-box}
.grid-reveal .chosen{animation:none;border-width:3px}
.grid-reveal .drawing{border-color:#d9c8ff;background:#473466}
.grid-reveal .grid-driver{position:absolute;left:0;top:0;margin:0;will-change:transform}

#countdown{display:flex;flex-direction:column;align-items:center;gap:12px;line-height:1}
@media(max-height:450px){#countdown{top:48%;gap:0}.grid-reveal{margin-top:20px;margin-bottom:0;transform:scale(.78);transform-origin:bottom center}#countdown>strong{font-size:56px}}

/* WD71: a canonical picture and a visible direction, before the prank. */
#hud #race-condition[data-type=prank]:not([hidden]){left:12px!important;right:auto;transform:none;display:grid;grid-template-columns:44px minmax(0,1fr) auto;gap:8px;align-items:center;border-color:#e4c7ff;background:#292035f5;color:#fff8eb}
#hud #race-condition[data-type=prank][hidden]{display:none}
#hud #race-condition[data-type=prank] #warning-icon{display:block;width:44px;height:66px;line-height:1;flex:none}
#hud #race-condition[data-type=prank] #warning-icon img{display:block;width:100%;height:100%;max-width:none;max-height:none;object-fit:contain;object-position:center}
#hud #race-condition[data-type=prank] #warning-title{display:block;white-space:normal;color:#fff8eb;font-size:12px!important;line-height:1.25!important}
#hud #race-condition[data-type=prank] #warning-detail{display:block;margin:4px 0 0;color:#292035;background:#fce3a5;border-radius:8px;text-align:center;font-size:30px;line-height:32px;font-weight:900}
#hud #race-condition[data-type=prank] #warning-distance{font-size:12px!important;white-space:nowrap;color:#fff8eb}
@media(max-height:450px){#hud #race-condition[data-type=prank] #warning-icon{height:54px;width:36px}#hud #race-condition[data-type=prank]{grid-template-columns:36px minmax(0,1fr) auto}#hud #race-condition[data-type=prank] #warning-detail{font-size:26px;line-height:27px}}
