/* r16: one inviting garage, one real track, one action at a time. */
:root{--cream:#fffdf8;--purple:#7040ab;--ink:#43215f;--lime:#c3e867;--gold:#ffb44c}
#pause-dialog .secondary{background:#f1e8f7!important;color:var(--ink)!important;border:1px solid #d4bce6!important}#pause-dialog .primary{background:var(--gold)!important;color:var(--ink)!important;box-shadow:0 4px 0 #d3893b!important}
#menu .car-thumb img{width:100%!important;height:100%!important;transform:none!important}#menu #best{display:none!important}.practising .school-tools{z-index:2}
#menu #garage-open .car-thumb{position:relative;flex:none}#menu #garage-open .car-thumb img{position:absolute;inset:0;min-height:0!important;max-height:100%!important;max-width:100%!important;object-fit:contain}
.embedded .topbar .topright{display:none!important}
@media(max-width:700px){.practising #hud .race-top{top:82px!important}.school-top{width:calc(100% - 92px)!important}.school-tools{bottom:190px}}
#crew-grid .portrait{width:100px;height:100px;margin:auto}.special-friend img{height:180px!important;max-height:none;object-fit:contain!important}#race-condition[data-type=prank] #warning-icon img{height:75px;width:54px;object-fit:contain;border-radius:13px;background:#fffdf8}#crew-dialog .karolek-intro{display:none}
.practising #hud .race-bottom{justify-content:flex-end!important;pointer-events:none}.practising #hud .speedbox{width:120px;padding:14px;border-radius:22px}.practising #hud .speedbox>b{color:var(--ink)!important;font-size:48px;line-height:1}
body{font-family:ui-rounded,'Arial Rounded MT Bold','Trebuchet MS',sans-serif}
button{font-family:inherit}button:focus-visible,select:focus-visible,input:focus-visible{outline:4px solid var(--gold);outline-offset:4px}
[hidden]{display:none!important}
.topbar{height:80px;padding:14px 4%!important}.topbar .brand{background:var(--cream);padding:9px 18px;border-radius:22px;box-shadow:0 5px 22px #20113020}.topbar .brand .kd-logo{width:170px!important}.brand-game{color:var(--ink)!important}.topright .icon-btn{background:var(--cream)!important;color:var(--ink)!important;border:0;box-shadow:0 3px 0 #d9cde4}
#menu{min-height:100dvh;height:auto!important;overflow:auto!important;padding:110px max(4%,calc((100vw - 1180px)/2)) 38px!important;background:linear-gradient(145deg,#eef7f2,#f5e9ff 65%,#ffe7c3)!important;color:var(--ink)}
#menu.has-art{background:linear-gradient(90deg,#f6f1fbee,#f4f2f3dd),url('assets/race-keyart-helmets.webp') center/cover!important}
#menu .menu-shade{display:none!important}
#menu .intro{position:relative!important;display:grid!important;grid-template-columns:minmax(310px,1fr) minmax(350px,1.08fr);grid-template-areas:'heading car' 'drivers car' 'start car' 'tools car' 'friends car';gap:18px 45px;margin:0!important;padding:0!important;width:100%!important;max-width:none!important;background:none!important;color:var(--ink);z-index:1}
.menu-heading{grid-area:heading}.profile-label{display:inline-flex;padding:6px 12px;background:#7040ab12;border-radius:20px;font-size:12px;font-weight:800;color:var(--purple)}
#menu .intro h1{display:block!important;font-size:clamp(44px,5.2vw,72px)!important;line-height:1.05;margin:14px 0 10px!important;color:var(--ink)!important;text-shadow:none!important;letter-spacing:-2px}
#menu .intro .game-name{display:block;font-size:clamp(19px,2vw,25px)!important;letter-spacing:0;color:var(--purple)!important;margin-bottom:7px}
#menu .intro h1 em{font-style:normal;color:var(--ink)!important;background:none!important;-webkit-text-fill-color:currentColor!important}
.menu-heading p{font-size:14px;color:#745e89;margin:0}
#menu .driver-picker{grid-area:drivers;display:flex!important;flex-direction:row!important;margin:0!important;gap:12px!important}
#menu .driver{flex:1;min-width:0;min-height:100px!important;padding:12px!important;display:flex!important;align-items:center;gap:7px;border-radius:26px!important;background:#ffffffb8!important;color:var(--ink)!important;border:2px solid #ddd0ea!important;box-shadow:none}
#menu .driver.selected{border:3px solid var(--purple)!important;background:var(--cream)!important;box-shadow:0 5px 0 #d7c4e8!important}
#menu .driver .portrait{width:68px!important;height:68px!important;flex:none}#menu .driver[data-driver=dumka] .portrait{width:77px!important;height:77px!important}
#menu .driver b{font-size:20px!important;color:var(--ink)}#menu .driver .check{font-size:14px;background:var(--purple);color:white;width:22px;height:22px;margin-left:auto}
#menu #garage-open{grid-area:car;position:relative;display:flex!important;flex-direction:column;justify-content:center;align-items:stretch!important;min-height:400px!important;width:100%;padding:20px!important;margin:0!important;gap:0!important;border:2px solid #fff!important;border-radius:40px!important;background:radial-gradient(ellipse at 50% 40%,#fff 8%,#e6e6f8 70%,#d4d8f2)!important;box-shadow:0 20px 65px #6d4d8a22!important;overflow:hidden;text-align:center;transition:transform .2s}
#menu #garage-open:hover{transform:translateY(-3px)}
#menu .car-thumb{width:100%!important;height:clamp(230px,24vw,320px)!important;background:none!important;border-radius:0;display:grid}
#menu .car-thumb img{width:114%;height:114%;max-width:none;transform:translate(-6%,-7%);object-fit:contain;filter:drop-shadow(0 15px 12px #58497622)}
#menu .car-copy{gap:5px;text-align:center;padding-bottom:47px}#menu .car-copy small{color:#765591;font-size:10px;letter-spacing:2px}#menu .car-copy b{color:var(--ink)!important;font-size:34px!important}#menu #vehicle-summary{color:#70587f;font-size:12px}
#menu #garage-open .garage-action{position:absolute;bottom:17px;left:50%;transform:translateX(-50%);color:var(--cream)!important;background:var(--purple);padding:12px 32px;border-radius:18px;font-size:15px!important;box-shadow:0 4px 0 var(--ink)}.garage-action b{font-size:11px;padding:3px 7px;margin-left:6px;border-radius:20px;background:#ffffff22}
#menu .start-row{grid-area:start;display:grid!important;grid-template-columns:1fr 120px;gap:12px;margin:5px 0 0!important}#menu #start{font-size:25px;min-height:73px;background:var(--gold)!important;color:var(--ink)!important;border-radius:24px;box-shadow:0 7px 0 #d3893b!important;justify-content:center;gap:10px}#menu #start span{font-size:28px}
#menu #levels-open{min-height:73px;background:#fff9!important;border:2px solid #dac6eb!important;color:var(--ink)!important;border-radius:24px;display:flex;align-items:center;justify-content:center;gap:8px;font-size:16px}#levels-open small{font-size:10px}
.menu-tools{grid-area:tools;display:flex;gap:12px}.menu-tools button{flex:1;border:0;background:transparent;color:#76538c;padding:8px 0;min-height:44px;font-size:13px;font-weight:700}.menu-tools button span{font-size:19px;margin-right:6px}
#menu .crew-strip{grid-area:friends;display:flex!important;align-items:center;gap:12px;max-width:100%;padding:10px 16px!important;background:#fff7!important;color:var(--ink)!important;border:1px solid #ded0e9!important;border-radius:22px;margin:0!important;height:62px}
#menu .crew-strip strong{margin-left:auto}#crew-faces{display:flex;align-items:center}#crew-faces img{width:38px;height:38px;object-fit:contain}#crew-faces img+img{margin-left:-8px}#crew-count{display:none}#menu .crew-strip b{font-size:14px;color:var(--ink)}
#menu .race-card{display:grid!important;position:relative!important;inset:auto!important;width:100%!important;margin:27px 0 0!important;padding:16px 24px!important;grid-template-columns:1fr 240px;column-gap:20px;background:#fff9!important;color:var(--ink)!important;border:1px solid #fff!important;border-radius:26px;box-shadow:none!important}
#menu .race-card #world-logo{display:none}#menu .race-card h2{grid-column:1;font-size:23px!important;line-height:1.2;margin:0 0 6px!important;color:var(--ink)!important}#menu .track-meta{grid-column:1;color:#846497!important;font-size:10px!important;gap:10px}#menu .track-meta span{background:none;color:inherit;padding:0!important}#menu .card-bottom{grid-column:2;grid-row:1/3;display:flex!important;border:0;margin:0;padding:0;height:64px;align-items:center}#menu #menu-map{width:155px!important;height:62px!important}#menu #best{display:block;font-size:10px;color:#83698e}#menu #best b{font-size:15px;color:var(--purple)}#menu .menu-footer{display:none!important}
dialog{color:var(--ink)!important;background:var(--cream)!important;border:1px solid #e3d5ed!important;border-radius:30px!important;box-shadow:0 20px 100px #21102b66}dialog h2{color:var(--ink)!important}dialog .icon-btn{background:#eee2f5!important;color:var(--ink)!important;border:0!important}dialog::backdrop{background:#24133199;backdrop-filter:blur(6px)}
#settings-dialog{width:min(640px,92vw);max-height:88dvh;overflow:auto;padding:24px}#settings-dialog .difficulty-picker{margin:20px 0!important;display:grid;gap:8px}#settings-dialog select{background:#efe5f7;color:var(--ink);padding:14px;border:1px solid #cdb3e0;border-radius:14px;font-size:17px}#settings-dialog .difficulty-picker p{display:block!important;color:#856694;font-size:12px;margin:0}
#settings-dialog .preferences{max-width:none;gap:12px!important}#settings-dialog .preferences label{background:#f1eaf6;color:var(--ink);border:0;min-height:76px}#settings-dialog .preferences b{color:var(--ink);font-size:13px}#settings-dialog .preferences small{color:#765587;font-size:11px}#settings-dialog input{accent-color:var(--purple)}.voice-option{display:block;padding:18px 0 0;font-size:15px}.voice-option input{width:20px;height:20px;vertical-align:middle;margin-right:7px}.voice-option small{display:block;padding:5px 32px;color:#765587;font-size:11px}.settings-explanation{font-size:11px!important;color:#8a7494;line-height:1.5}
#garage-dialog,#crew-dialog,#levels-dialog{padding:25px!important}#vehicle-grid{gap:18px!important}#vehicle-grid .vehicle-card{border-radius:27px!important}#vehicle-grid .vehicle-card img{height:220px!important}#vehicle-grid .vehicle-class{background:#ece1f5;color:#7040ab}#crew-grid article{background:#f0e7f6;color:var(--ink);opacity:1}#crew-grid article p{color:#76588a}#crew-dialog>p{font-size:13px;color:#76588a}
/* The school is part of the actual game viewport, never a modal imitation. */
#driving-school{position:fixed;inset:0;z-index:7;pointer-events:none;color:var(--ink)}.school-top{position:absolute;top:18px;left:50%;transform:translateX(-50%);width:min(600px,calc(100% - 32px));display:flex;align-items:center;gap:15px;padding:12px 16px 12px 12px;border-radius:28px;background:#fffdf8f5;box-shadow:0 8px 30px #31234822;pointer-events:auto}
.school-duo{display:flex;align-items:flex-end;flex:none;width:116px;height:78px}.school-duo .portrait{width:66px;height:66px;flex:none}.school-duo .portrait-dumka{width:80px;height:80px;margin-left:-25px}.school-instruction{flex:1;min-width:0}#school-phase{text-transform:uppercase;letter-spacing:2px;font-size:10px;color:#8b679f;font-weight:800}#school-title{font-size:23px;line-height:1.15;margin:5px 0 10px;color:var(--ink)}.school-exit{align-self:flex-start;flex:none;border:0;color:var(--ink);background:#f0e7f7;border-radius:50%;width:40px;height:40px;font-size:24px}.school-progress{height:5px;overflow:hidden;border-radius:8px;background:#e8dbf0}.school-progress i{display:block;height:100%;background:var(--purple);width:0;transition:width .12s}.school-skills{position:absolute;top:137px;left:50%;transform:translateX(-50%);list-style:none;display:flex;gap:8px;padding:0;margin:0}.school-skills li{position:relative;display:grid;place-items:center;min-width:34px;height:32px;background:#fffdf8ce;border-radius:11px;color:#795991;font-size:17px}.school-skills li.current{background:var(--purple);color:white;box-shadow:0 0 0 3px #fff9}.school-skills small{position:absolute;right:-3px;bottom:-4px;display:grid;place-items:center;width:15px;height:15px;border-radius:50%;font-size:10px;background:var(--lime);color:var(--ink)}
.school-hint{position:absolute;top:178px;left:50%;transform:translateX(-50%);margin:0;max-width:90%;padding:7px 15px;background:#fffdf8ee;border-radius:14px;font-size:13px;box-shadow:0 5px 20px #30204015;text-align:center}.school-hint:empty{display:none}
.school-tools{position:absolute;bottom:145px;left:18px;display:flex;gap:10px;pointer-events:auto}.school-tools button{padding:9px 15px;min-height:40px;border:1px solid #fffe;border-radius:16px;color:var(--ink);background:#fffdf8dd;font-size:12px;font-weight:bold}.school-tools .school-retry{font-size:22px;padding:6px 15px}
.school-complete{pointer-events:auto;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);padding:25px 30px;display:grid;gap:12px;min-width:min(360px,88vw);text-align:center;background:var(--cream);border-radius:30px;box-shadow:0 15px 60px #34204466}.school-complete>span{font-size:48px;color:#f3a632}.school-complete h2{margin:0 0 5px;font-size:24px}.school-complete button{font-size:18px}.school-complete .secondary{background:#eee1f6;color:var(--ink)}
.practising .topbar,.practising #driver-badge,.practising .minimap,.practising .race-top .position,.practising .race-top .laps,.practising .race-top .timing,.practising #race-mode,.practising #camera,.practising #race-condition,.practising #toast{display:none!important}.practising .race-top{right:15px!important;left:auto!important;top:18px!important;width:auto;background:none!important;box-shadow:none;padding:0!important}.practising #pause{background:#fffdf8dd;color:var(--ink);width:42px;height:42px}
#touch{left:25px!important;right:25px!important;bottom:max(22px,env(safe-area-inset-bottom))!important}.practising #touch{z-index:9}.practising #touch button:not(.lesson-focus){opacity:.7}#touch button.lesson-focus{opacity:1!important;border:3px solid #fff;box-shadow:0 0 0 5px #7040ab,0 9px 0 #43215f!important;animation:hold-cue 1.5s ease-in-out infinite}#touch button.lesson-focus::before{content:none!important}#touch button{position:relative}#touch .boost.lesson-focus{overflow:visible}#touch button.pressed.lesson-focus{animation:none;background:var(--lime)!important;color:var(--ink)!important}
@keyframes hold-cue{50%{border-color:#c3e867;filter:brightness(1.13)}}@keyframes hold-finger{50%{transform:translateY(7px)}}
.junior-drive #touch .pedal-controls,.junior-drive .race-bottom,.junior-drive .laps,.junior-drive .timing,.junior-drive .minimap{display:none!important}.junior-drive #touch .steering-controls{width:100%;justify-content:space-between}.junior-drive #touch .steering-controls button{width:112px!important;height:104px!important;background:#fffdf8ed;color:var(--purple);border:3px solid var(--purple);border-radius:30px!important}.junior-drive #touch .steering-controls b{font-size:54px}.junior-drive #touch .steering-controls kbd{display:none}.junior-drive .school-skills{gap:12px}
.practising[data-boost='0'] .speedbox{background:#fffdf8df!important;color:var(--ink)!important}.speedbox b{font-variant-numeric:tabular-nums}.practising .speedbox span,.practising .speedbox small{color:var(--ink)!important;text-shadow:none}.practising #driving-school[data-phase=success] .school-top{background:#f5ffdf}
@media(max-width:1000px){#menu{padding-top:98px!important}#menu .intro{grid-template-columns:1fr 1fr;gap:16px 22px}#menu .driver b{font-size:16px!important}#menu .driver .portrait{width:48px!important;height:48px!important}#menu .driver[data-driver=dumka] .portrait{width:60px!important;height:60px!important}#menu #garage-open{min-height:355px!important}.menu-heading p{font-size:12px}.topbar .brand .kd-logo{width:150px!important}}
@media(max-width:700px){.topbar{height:66px;padding:10px 4%!important}.topbar .brand{padding:7px 12px;border-radius:16px}.topbar .brand .kd-logo{width:150px!important}.brand-game{display:none!important}.topbar .icon-btn{width:40px;height:40px;font-size:21px}#menu,#menu.has-art{padding:83px 5% 24px!important;background:linear-gradient(150deg,#f4f6ed,#eee5f7 68%,#ffedcf)!important}#menu .intro{display:grid!important;grid-template-columns:1fr;grid-template-areas:'heading' 'drivers' 'car' 'start' 'tools' 'friends';gap:13px!important;padding:0!important;margin:0!important;width:100%!important;background:none!important}.menu-heading{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap}.menu-heading p,.menu-heading .game-name{display:none!important}.profile-label{font-size:10px;order:2;padding:5px 10px}#menu .intro h1{display:block!important;font-size:34px!important;margin:0!important;letter-spacing:-1px}#menu .driver-picker{gap:10px!important;margin:0!important}#menu .driver{min-height:73px!important;padding:6px 10px!important;border-radius:20px!important}#menu .driver b{font-size:17px!important}#menu .driver .portrait{width:48px!important;height:48px!important}#menu .driver[data-driver=dumka] .portrait{width:60px!important;height:60px!important}#menu #garage-open{min-height:275px!important;padding:9px!important;border-radius:29px!important}#menu .car-thumb{height:184px!important}#menu .car-thumb img{width:110%;height:110%;transform:translate(-5%,-5%)}#menu .car-copy{padding-bottom:41px;gap:2px}#menu .car-copy small{display:none}#menu .car-copy b{font-size:26px!important}#menu #vehicle-summary{font-size:10px}#menu #garage-open .garage-action{bottom:12px;padding:8px 28px;font-size:13px!important;border-radius:13px}#menu .start-row{grid-template-columns:1fr 96px;margin:0!important}#menu #start{min-height:62px;font-size:23px;border-radius:20px}#menu #levels-open{min-height:62px;border-radius:20px;font-size:14px}.menu-tools{gap:8px}.menu-tools button{font-size:12px;padding:6px 0}.menu-tools button span{font-size:17px}#menu .crew-strip{height:52px!important;padding:6px 13px!important}#menu .race-card{margin:16px 0 0!important;padding:14px 16px!important;grid-template-columns:1fr 110px;gap:6px}#menu .race-card h2{font-size:19px!important}#menu .track-meta{gap:7px;font-size:8px!important}#menu .card-bottom{height:56px}#menu #menu-map{width:110px!important;height:52px!important}#menu #best{display:none}
 #settings-dialog .preferences{grid-template-columns:1fr!important}#settings-dialog .preferences label{min-height:63px;grid-template-columns:22px 28px 1fr;font-size:14px!important}#settings-dialog .preferences b{font-size:14px}#settings-dialog .preferences small{font-size:11px}#vehicle-grid .vehicle-card img{height:230px!important}
 .school-top{top:12px;gap:7px;padding:10px;left:12px;transform:none;width:calc(100% - 69px);border-radius:22px}.school-duo{width:67px;height:56px}.school-duo .portrait{width:44px;height:44px}.school-duo .portrait-dumka{width:55px;height:55px;margin-left:-24px}#school-phase{font-size:8px;letter-spacing:1px}#school-title{font-size:16px;margin:4px 0 7px}.school-exit{width:30px;height:30px;font-size:21px}.school-skills{top:112px;gap:5px}.school-skills li{min-width:28px;height:29px;font-size:15px}.school-hint{top:157px;font-size:11px;max-width:92%;width:max-content;max-width:calc(100% - 32px)}.school-tools{bottom:184px;left:12px;gap:7px}.school-tools button{min-height:36px;font-size:10px;padding:8px 11px}.school-tools .school-retry{font-size:20px;padding:4px 10px}.practising .race-top{right:12px!important;top:15px!important}#touch{left:13px!important;right:13px!important;bottom:22px!important}.practising .race-bottom{bottom:183px!important;right:12px!important}.practising .speedbox{min-width:86px!important;padding:9px 12px!important}.practising .speedbox b{font-size:29px!important}.practising .speedbox small{font-size:9px}.practising .speedbox span{font-size:9px}.practising .speedbox .nitro{margin-top:5px}.junior-drive .school-tools{bottom:147px}.junior-drive #touch .steering-controls button{width:103px!important;height:101px!important}
}
@media(max-height:550px) and (orientation:landscape){#menu .intro{grid-template-columns:1fr 1fr!important;grid-template-areas:'heading car' 'drivers car' 'start car' 'tools car' 'friends car'!important}#menu{padding-top:82px!important}#menu #garage-open{min-height:290px!important}#menu .car-thumb{height:190px!important}.school-top{top:8px;width:410px;left:50%;transform:translateX(-50%);padding:6px 10px;border-radius:17px}.school-duo{height:45px;width:66px}.school-duo .portrait{width:42px;height:42px}.school-duo .portrait-dumka{width:52px;height:52px;margin-left:-25px}#school-title{font-size:17px;margin:3px 0 5px}#school-phase{font-size:8px}.school-skills{top:85px}.school-skills li{min-width:26px;height:25px;font-size:13px}.school-hint{top:121px;font-size:10px}.school-tools{bottom:105px;left:15px}.practising .race-bottom{bottom:100px!important}.junior-drive .school-tools{bottom:130px}}
html[data-kd-reduced-motion=true] #touch button::before,html[data-kd-reduced-motion=true] #touch button,html[data-kd-reduced-motion=true] .grid-reveal .chosen{animation:none!important}html[data-kd-reduced-motion=true] body.racing::after{display:none!important}
@media(prefers-reduced-motion:reduce){#touch button,#touch button::before{animation:none!important}}
/* Bolidy has its own playable introduction; do not stack the portal's text guide over it. */
body[data-kd-game=bolidy] .kd-gesture-guide{display:none!important}
.difficulty-picker select{display:none}.difficulty-cards{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;width:100%;margin:12px 0}.difficulty-cards button{background:#f0e8fc;color:#43215f;border:3px solid transparent;border-radius:20px;min-height:84px;padding:9px 3px}.difficulty-cards button span{display:block;font-size:30px}.difficulty-cards button b{font-size:15px}.difficulty-cards button[aria-pressed=true]{background:#c3e867;border-color:#7040ab}.difficulty-cards button:focus-visible{outline:4px solid #ffb44c;outline-offset:3px}
#settings-dialog .difficulty-picker{width:100%;max-width:none;background:#f4eefd;color:#43215f;border:0;padding:14px;border-radius:22px}#settings-dialog .difficulty-picker p,#settings-dialog .difficulty-picker label{color:#43215f}
/* The portal already provides the same pause action; keep a single visible button. */
body.embedded #pause{display:none}body.embedded.practising #hud .race-top{display:none!important}
/* r17: original faces, no shopping props or decorative emoji. */
#menu{display:block!important}#menu .intro{grid-template-columns:minmax(310px,.9fr) minmax(400px,1.3fr)!important}#menu .race-card{display:grid!important;grid-template-columns:1fr 180px!important}#menu .car-thumb{overflow:hidden}#menu .car-thumb img{transform:none!important}#menu .menu-tools button{font-size:14px}
#menu[hidden]{display:none!important}.embedded .topbar{display:none!important}.embedded #menu{padding-top:32px!important}
@media(max-width:700px){#menu .intro{grid-template-columns:1fr!important}#menu .race-card{grid-template-columns:1fr 100px!important}}
.friend-portrait{position:relative;display:inline-block!important;overflow:hidden;flex:none;width:60px;height:60px;border-radius:50%;background:#e8dced;border:2px solid #fff}
.friend-portrait img{position:absolute!important;top:3px!important;left:50%!important;transform:translateX(-50%)!important;width:90%!important;height:auto!important;max-height:none!important;object-fit:contain!important}
#crew-faces .friend-portrait{width:40px;height:40px}#crew-faces .friend-portrait+.friend-portrait{margin-left:-8px}#crew-faces img+img{margin:0}
#crew-grid .friend-portrait{width:106px;height:106px;margin:12px auto!important}
#menu .driver .check{display:none!important}#menu .driver.selected{border-color:#7040ab!important}#menu .driver.selected b:after{content:'';display:inline-block;margin-left:9px;width:8px;height:8px;border-radius:50%;background:#7040ab}
.option-icon:empty{display:none}#settings-dialog .preferences label{display:grid!important;grid-template-columns:24px 1fr!important;gap:12px!important;padding:15px!important}
.boost-mark{font:800 24px/1 inherit!important;letter-spacing:2px}#touch .reverse{background:#ede7f7;color:#43215f;border-color:#c9b5df}
#touch button[data-control=reverse]{width:68px;height:80px}#touch button b{font-family:Arial,sans-serif}
.touch-ui #touch .pedal-controls{grid-template-columns:repeat(3,56px);gap:6px}.touch-ui #touch .pedal-controls button{width:56px;height:70px;border-radius:17px}.touch-ui #touch .pedal-controls .boost{grid-column:auto;width:56px;height:47px}.touch-ui #touch .pedal-controls #touch-boost{grid-column:2}.touch-ui #touch .pedal-controls #touch-super{grid-column:3}.touch-ui #touch .pedal-controls [data-control=reverse]{grid-column:1;grid-row:2}.touch-ui #touch .pedal-controls [data-control=brake]{grid-column:2;grid-row:2}.touch-ui #touch .pedal-controls [data-control=gas]{grid-column:3;grid-row:2}
.touch-ui.auto-drive #touch .pedal-controls{grid-template-columns:repeat(2,56px)}.touch-ui.auto-drive #touch .pedal-controls #touch-boost{grid-column:1}.touch-ui.auto-drive #touch .pedal-controls #touch-super{grid-column:2}.touch-ui.auto-drive #touch .pedal-controls [data-control=brake]{width:56px}
.touch-ui #touch .steering-controls{gap:7px}.touch-ui #touch .steering-controls button{width:68px;height:82px}
.junior-drive #touch .pedal-controls{display:grid!important;grid-template-columns:54px!important}.junior-drive #touch .pedal-controls button{display:none!important}.junior-drive #touch .pedal-controls [data-control=reverse]{display:flex!important;grid-column:1;grid-row:1;width:54px;height:54px}.junior-drive #touch .steering-controls{width:auto!important;flex:1;justify-content:space-between!important}.junior-drive #touch .steering-controls button{width:90px!important;height:88px!important}
.practising #race-condition[data-type=obstacle]:not([hidden]){display:flex!important;top:190px}
@media(max-width:380px){.touch-ui #touch .steering-controls button{width:56px}.touch-ui #touch{left:9px!important;right:9px!important}}

#menu .start-row{min-width:0;width:100%!important}#menu .start-row>button{min-width:0!important;width:100%;padding-left:8px;padding-right:8px}

/* r18: thumb reach on Fold square, tall cover screen and 21:9 landscape. */
.practising:has(#race-condition:not([hidden])) .school-hint{display:none!important}
@media(min-width:701px) and (max-width:920px){#menu .intro{grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr)!important;gap:16px 20px!important}#menu .driver{min-width:0!important;padding:8px!important}#menu .driver-picker{min-width:0!important}}
#touch{padding-bottom:env(safe-area-inset-bottom,0px)}
@media(min-width:701px){#touch .steering-controls button{width:88px!important;height:92px!important;font-size:34px}.touch-ui #touch .steering-controls{gap:10px}}
@media(max-aspect-ratio:1/1) and (min-width:701px){#touch .steering-controls button{width:96px!important;height:100px!important}#touch{bottom:30px!important;left:24px!important;right:24px!important}}
@media(min-aspect-ratio:2/1) and (max-height:600px){#touch .steering-controls button{width:82px!important;height:76px!important}#touch{left:max(16px,env(safe-area-inset-left))!important;right:max(16px,env(safe-area-inset-right))!important;bottom:max(14px,env(safe-area-inset-bottom))!important}.touch-ui .race-bottom{bottom:142px!important}.practising .school-tools{bottom:112px!important}.school-top{top:8px!important}.school-skills{top:86px!important}.school-hint{top:121px!important}.practising #race-condition[data-type=obstacle]:not([hidden]){top:120px!important}}

/* r20: clip the original portraits above shop props; no replacement character art. */
.friend-portrait:has(img[src$="fox.webp"]) img{width:185%!important;top:0!important;left:38%!important}
.friend-portrait:has(img[src$="hedgehog.webp"]) img,.friend-portrait:has(img[src$="sheep.webp"]) img{width:150%!important;top:0!important}
.friend-portrait:has(img[src$="gnomegreen.webp"]) img,.friend-portrait:has(img[src$="gnomepurple.webp"]) img{width:120%!important;top:0!important}
#level-grid .level-copy small{display:block;font-size:13px;line-height:1.5;margin-top:6px}#level-grid .level-map{height:145px!important}#level-grid .level[aria-pressed=true]{outline:3px solid #7040ab;outline-offset:2px}#level-grid .level-number{font-size:12px;letter-spacing:.06em}
#level-grid .level{display:flex;flex-direction:column;gap:12px;background:#fffdf8!important;border:2px solid #d6c5e4;border-radius:22px;padding:14px;min-height:0;color:#43215f}
#level-grid .level.current{background:#eee4f7!important;border-color:#7040ab}
#level-grid .level-copy b{font-size:18px;color:#43215f;margin:4px 0 0}
#level-grid .level-copy small,#levels-dialog .dialog-note,#levels-dialog .save-note{color:#654778}
#level-grid .level-number{color:#7040ab}
#level-grid .level .stars{top:20px;right:22px;color:#43215f;background:#c3e867;border-radius:8px;padding:2px 5px}
#level-grid .level .stars:empty{display:none}
@media(max-width:700px){#level-grid .level{display:grid;grid-template-columns:42% 1fr;align-items:center;gap:14px}#level-grid .level-map{height:115px!important}#level-grid .level-copy b{font-size:17px}}

/* A failed lesson write keeps the current skill, with an explicit retry. */
.school-save-state{position:absolute;top:178px;left:50%;transform:translateX(-50%);width:max-content;max-width:min(540px,calc(100% - 32px));display:flex;align-items:center;gap:10px;padding:8px 12px;background:#fff7dc;color:#382647;border:1px solid #b98237;border-radius:14px;font-size:12px;line-height:1.4;pointer-events:auto;box-sizing:border-box}
.school-save-state[hidden]{display:none}.school-save-state button{min-height:44px;min-width:44px;flex-shrink:0;border:1px solid #76528d;border-radius:12px;background:#fffdf8;color:#382647;font:inherit;padding:5px 10px}.school-save-state button[hidden]{display:none}
#driving-school:has(.school-save-state:not([hidden])) .school-hint{display:none}
@media(max-width:700px){.school-save-state{top:157px;font-size:11px;gap:8px}}
@media(max-height:550px) and (orientation:landscape){.school-save-state{top:121px}}
@media(min-aspect-ratio:2/1) and (max-height:600px){.school-save-state{top:121px}}

.school-tools button{min-height:44px!important;min-width:44px}.school-tools #motion-quick{position:static;margin:0;white-space:normal;font:inherit}

/* WD110: replace the hidden legacy select column with the visible choices. */
#settings-dialog .difficulty-picker{grid-template-columns:minmax(0,1fr)}
#settings-dialog .difficulty-cards{grid-column:1/-1;min-width:0;grid-template-columns:repeat(4,minmax(0,1fr))}
#settings-dialog .difficulty-cards button{min-width:0;width:100%}
@media(max-width:600px){#settings-dialog .difficulty-cards{grid-template-columns:repeat(2,minmax(0,1fr))}}
