*{box-sizing:border-box}html,body,#app{width:100%;height:100%;margin:0;overflow:hidden;font-family:Segoe UI,system-ui,sans-serif;color:#172033;background:#9ad0ec}body{-webkit-user-select:none;user-select:none}button,input{font:inherit}#game{position:fixed;top:0;right:0;bottom:0;left:0;width:100%;height:100%;display:block}.splash{position:fixed;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;z-index:20;background:radial-gradient(circle at 28% 20%,rgba(255,255,255,.52),transparent 28%),linear-gradient(180deg,#0915271f,#09152775);-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}.splash.hidden,#app.preplay .hud,#app.preplay .cab,#app.preplay .touch-drive,#app.preplay .throttle-panel,#app.preplay .builder,#app.preplay .world-builder,#app.preplay .challenge,#app.preplay .tutorial,#app.preplay .reward{display:none}.splash-content{width:min(620px,calc(100vw - 28px));padding:clamp(22px,5vw,42px);border-radius:8px;color:#fff;background:linear-gradient(145deg,#121c31f0,#1c4b76e0);border:2px solid rgba(255,255,255,.22);box-shadow:0 28px 90px #00000059}.badge{display:inline-flex;padding:6px 9px;border-radius:7px;background:#ffd43b;color:#172033;font-size:.82rem;font-weight:950;text-transform:uppercase}.splash h1{margin:14px 0 8px;font-size:clamp(2.2rem,7vw,5rem);line-height:.9;letter-spacing:0}.splash p{max-width:42rem;margin:0 0 20px;font-size:clamp(1rem,2.2vw,1.3rem);line-height:1.35}.splash button{min-height:52px;min-width:160px;border:0;border-radius:8px;background:#37b24d;color:#fff;cursor:pointer;font-size:1.15rem;font-weight:950;box-shadow:inset 0 -5px #0000002e}.hud{position:fixed;top:14px;left:14px;right:14px;display:flex;justify-content:space-between;gap:12px;pointer-events:none;z-index:7}.objective,.status,.kid-gauges,.cab,.touch-drive,.throttle-panel,.builder,.world-builder,.train-lab,.parent-panel,.tutorial,.reward,.quick-ui,.restore-ui,.mode-panel{border:2px solid rgba(255,255,255,.55);background:#ffffffc7;box-shadow:0 14px 30px #1720332e;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:8px}.mode-panel{position:fixed;left:14px;top:96px;z-index:8;width:min(460px,calc(100vw - 28px));padding:8px;display:grid;gap:7px}.mode-tabs{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:6px}.mode-tabs button{min-height:38px;border:0;border-radius:7px;background:#172033;color:#fff;font-weight:950;cursor:pointer}.mode-tabs button.active{background:#d9480f}.mode-status{display:flex;justify-content:space-between;gap:8px;font-size:.82rem;font-weight:900}.quick-ui{position:fixed;top:84px;right:14px;z-index:10;display:grid;grid-template-columns:repeat(5,minmax(42px,1fr));gap:6px;padding:7px}.quick-ui button,.restore-ui{min-height:38px;border:0;border-radius:7px;background:#172033;color:#fff;cursor:pointer;font-weight:950}.restore-ui{position:fixed;right:12px;bottom:12px;z-index:20;padding:10px 12px}.restore-ui.hidden,#app.ui-hidden .hud,#app.ui-hidden .cab,#app.ui-hidden .touch-drive,#app.ui-hidden .throttle-panel,#app.ui-hidden .builder,#app.ui-hidden .world-builder,#app.ui-hidden .train-lab,#app.ui-hidden .parent-panel,#app.ui-hidden .challenge,#app.ui-hidden .tutorial,#app.ui-hidden .quick-ui,#app.ui-hidden .mode-panel,#app.ui-hidden .reward,#app.ui-mini .status,#app.ui-mini .kid-gauges,#app.ui-mini .throttle-panel,#app.ui-mini .builder,#app.ui-mini .world-builder,#app.ui-mini .train-lab,#app.ui-mini .mode-status{display:none}#app.ui-mini .hud{right:auto;max-width:min(420px,calc(100vw - 96px))}#app.ui-mini .objective{min-width:0;width:100%}#app.ui-mini .cab{width:min(520px,calc(100vw - 28px));grid-template-columns:repeat(5,minmax(0,1fr))}.objective{min-width:min(420px,56vw);padding:10px 12px}.objective span{display:block;color:#386641;font-size:.82rem;font-weight:900;text-transform:uppercase}.objective strong{display:block;font-size:clamp(1rem,2vw,1.35rem);line-height:1.05}.mission-progress{height:8px;margin-top:9px;overflow:hidden;border-radius:999px;background:#17203324}.mission-progress span{display:block;width:0%;height:100%;background:linear-gradient(90deg,#4dabf7,#37b24d,#ffd43b);transition:width .24s ease}.status{display:flex;align-items:center;gap:10px;padding:10px 12px;font-weight:800}.status span{white-space:nowrap}.kid-gauges{display:flex;align-items:center;gap:10px;padding:8px 10px;min-width:160px}.speed-gauge{position:relative;width:82px;height:54px;overflow:hidden}.gauge-arc{position:absolute;top:3px;right:3px;bottom:-36px;left:3px;border-radius:999px 999px 0 0;background:conic-gradient(from 270deg,#37b24d 0deg 82deg,#ffd43b 82deg 126deg,#d9480f 126deg 180deg,transparent 180deg 360deg);border:4px solid rgba(23,32,51,.16)}.speed-gauge:after{content:"";position:absolute;left:15px;right:15px;bottom:0;height:28px;background:#ffffffdb;border-radius:999px 999px 0 0}.gauge-needle{position:absolute;width:32px;height:4px;left:41px;bottom:11px;transform-origin:0 50%;transform:rotate(-88deg);background:#172033;border-radius:999px;z-index:2;transition:transform .18s ease,background .18s ease}.speed-gauge b{position:absolute;left:0;right:0;bottom:3px;z-index:3;text-align:center;font-size:.92rem}.lever-gauge{position:relative;width:34px;height:62px;border-radius:999px;overflow:hidden;background:linear-gradient(#d9480f,#ffd43b,#37b24d);border:3px solid rgba(23,32,51,.2)}.lever-gauge span{position:absolute;left:0;right:0;bottom:0;height:0%;background:#17203340;transition:height .16s ease}.lever-gauge i{position:absolute;left:50%;bottom:2px;width:24px;height:11px;transform:translate(-50%);border-radius:999px;background:#172033;border:2px solid #fff;box-shadow:0 3px 7px #00000040;transition:bottom .16s ease}.cab{position:fixed;left:14px;bottom:14px;display:grid;grid-template-columns:repeat(5,minmax(70px,1fr));gap:8px;padding:9px;z-index:8}.touch-drive{position:fixed;left:50%;bottom:86px;z-index:8;transform:translate(-50%);display:none;grid-template-columns:repeat(4,minmax(68px,1fr));gap:8px;width:min(420px,calc(100vw - 28px));padding:8px}.touch-drive button{min-height:58px;background:#172033e6;box-shadow:inset 0 -5px #0003}.cab button,.touch-drive button,.builder button,.world-builder button,.tutorial button,.challenge button{min-height:42px;border:0;border-radius:7px;background:#172033;color:#fff;cursor:pointer;font-weight:900}.cab button{display:grid;place-items:center;gap:1px}.cab button span{font-size:1.25rem;line-height:1}.cab button small{font-size:.68rem;line-height:1;font-weight:950}.touch-drive button{font-size:1.45rem;line-height:1}.panel-close{position:absolute;top:8px;right:8px;width:34px;min-height:32px;padding:0;font-size:1.1rem;z-index:2}.cab button:active,.touch-drive button:active,.builder button:active,.world-builder button:active,.tutorial button:active,.challenge button:active{transform:translateY(2px)}.train-lab{position:fixed;right:14px;top:154px;z-index:11;width:min(420px,calc(100vw - 28px));max-height:calc(100vh - 252px);overflow:auto;padding:12px;display:grid;gap:10px}.parent-panel{position:fixed;right:14px;top:154px;z-index:12;width:min(480px,calc(100vw - 28px));max-height:calc(100vh - 210px);overflow:auto;padding:12px;display:grid;gap:10px}.parent-panel.hidden,.parent-results.hidden{display:none}.parent-login{display:grid;grid-template-columns:1fr auto;gap:8px}.parent-login input{min-height:42px;border:2px solid rgba(23,32,51,.18);border-radius:7px;padding:0 10px;font-weight:900}.parent-login button{border:0;border-radius:7px;padding:0 14px;background:#172033;color:#fff;font-weight:950}.results-list{display:grid;gap:8px}.parent-summary{display:grid;gap:7px}.summary-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px}.summary-grid span{display:grid;gap:2px;padding:8px;border-radius:7px;background:#17203314;text-align:center}.summary-grid b{font-size:1.08rem}.summary-grid small,.parent-summary p{margin:0;color:#53606f;font-size:.78rem;font-weight:800}.result-card{border:1px solid rgba(23,32,51,.16);border-radius:7px;background:#ffffffb8;padding:8px;display:grid;gap:4px;font-size:.84rem}.result-card strong{color:#172033}.result-card.wrong{border-color:#d9480f8c;background:#fff4e6}.train-lab.hidden{display:none}.lab-status{display:flex;justify-content:space-between;gap:8px;align-items:center;font-weight:950}.lab-status span{color:#53606f;font-size:.82rem}.part-row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}.part-row b{grid-column:1 / -1;font-size:.78rem;text-transform:uppercase;color:#386641}.part-row button,.lab-actions button{min-height:40px;border:0;border-radius:7px;background:#172033;color:#fff;font-weight:950;cursor:pointer}.part-row button.active,.lab-actions button.primary{background:#d9480f}.color-row{grid-template-columns:repeat(8,minmax(0,1fr))}.color-row b{grid-column:1 / -1}.color-row button{min-height:34px;border:2px solid rgba(23,32,51,.22)}.lab-actions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}.throttle-panel{position:fixed;right:14px;bottom:14px;width:min(360px,calc(100vw - 28px));padding:12px;display:grid;gap:7px;font-weight:900}#throttleSlider{width:100%;accent-color:#d62828}.key-hint{color:#53606f;font-size:.86rem;font-weight:700}.boost-meter{height:11px;border-radius:999px;background:#17203329;overflow:hidden}.boost-meter span{display:block;height:100%;width:0%;background:linear-gradient(90deg,#37b24d,#ffd43b,#f76707);transition:width .18s ease}.reward{position:fixed;left:50%;top:86px;z-index:9;transform:translate(-50%);padding:10px 16px;color:#172033;font-weight:950;pointer-events:none}.reward.hidden{display:none}.reward.pop{animation:rewardPop 1.35s ease both}.speed-vignette{position:fixed;top:0;right:0;bottom:0;left:0;z-index:3;pointer-events:none;opacity:0;background:radial-gradient(circle at center,transparent 0 42%,rgba(255,255,255,.18) 54%,transparent 64%),repeating-linear-gradient(90deg,transparent 0 34px,rgba(255,255,255,.16) 35px 37px,transparent 38px 88px);mix-blend-mode:screen;transition:opacity .16s ease}@keyframes rewardPop{0%{transform:translate(-50%,18px) scale(.92);opacity:0}18%{transform:translate(-50%) scale(1.04);opacity:1}78%{transform:translate(-50%) scale(1);opacity:1}to{transform:translate(-50%,-12px) scale(.96);opacity:0}}.builder{position:fixed;right:14px;top:96px;width:312px;padding:11px;display:grid;gap:9px;transition:transform .24s ease,opacity .24s ease}.builder.collapsed{transform:translate(calc(100% + 24px));opacity:0;pointer-events:none}.world-builder{position:fixed;left:14px;top:96px;width:min(340px,calc(100vw - 28px));padding:11px;display:grid;gap:9px}.world-builder>div:first-child{display:flex;justify-content:space-between;gap:8px;align-items:center}.world-builder span{color:#1971c2;font-weight:900}.world-builder input{width:100%;min-height:40px;border:2px solid rgba(23,32,51,.16);border-radius:7px;padding:8px 10px;background:#ffffffeb;color:#172033;font-weight:750}.builder-actions{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:6px}.builder-actions button{min-height:36px;padding:6px 4px;background:#e7f5ff;color:#172033;border:2px solid rgba(25,113,194,.18);font-size:.78rem;line-height:1.05}#buildButton{background:#37b24d}.builder>div:first-child{display:flex;justify-content:space-between;gap:8px}.builder input{min-width:0;width:120px;min-height:32px;border:2px solid rgba(23,32,51,.16);border-radius:7px;padding:5px 8px;font-weight:850}.builder-buttons,.car-buttons{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:6px}.builder-buttons button,.car-buttons button{background:#f1f3f5;color:#172033;border:2px solid rgba(23,32,51,.14);padding:7px 4px;font-size:.82rem;line-height:1.05}.builder-buttons button.active,.car-buttons button.active{background:#e7f5ff;border-color:#1971c2}.builder-buttons button.locked,.car-buttons button.locked{color:#697386;background:#f1f3f5ad;border-style:dashed;cursor:not-allowed}.unlock-note{display:block;margin-top:3px;font-size:.68rem;font-weight:800;color:#d9480f}.paint{display:grid;grid-template-columns:repeat(5,1fr);gap:6px}.paint button{min-height:34px;border:3px solid rgba(23,32,51,.14)}.paint button.active{border-color:#172033}.challenge{position:fixed;left:50%;top:50%;width:min(720px,calc(100vw - 28px));max-height:calc(100vh - 28px);overflow:auto;transform:translate(-50%,-50%);padding:18px;border:3px solid rgba(23,32,51,.15);border-radius:8px;background:#fffffff5;box-shadow:0 24px 70px #17203352}.tutorial{position:fixed;left:50%;top:50%;z-index:12;width:min(620px,calc(100vw - 28px));max-height:calc(100vh - 28px);overflow:auto;transform:translate(-50%,-50%);padding:18px;background:#fffffff5}.tutorial.hidden{display:none}.tutorial h1{margin:12px 0;font-size:clamp(1.7rem,4vw,3rem);line-height:.95}.tutorial li{margin:8px 0;font-size:1.08rem;line-height:1.35;font-weight:750}#startTutorial{width:100%;background:#37b24d}.challenge.hidden{display:none}.challenge-top{display:flex;justify-content:space-between;align-items:center;gap:12px}.challenge-top span{color:#1971c2;font-weight:900;text-transform:uppercase}#closeChallenge{width:42px;min-height:38px;font-size:1.5rem}.challenge h1{margin:10px 0 8px;font-size:clamp(1.5rem,3vw,2.35rem);letter-spacing:0}.challenge p{font-size:clamp(1rem,1.8vw,1.2rem);line-height:1.45}.question{font-weight:900}.coach-card{display:grid;gap:6px;padding:12px;border-radius:8px;background:#edf2ff;border-left:7px solid #4c6ef5}.coach-card p{margin:0}.coach-card button{width:fit-content;min-height:36px;background:#4c6ef5}.answer-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.answer-grid button{min-height:62px;text-align:left;padding:12px;background:#fff;color:#172033;border:3px solid #dbe1e8}.answer-grid button.correct{border-color:#2b8a3e;background:#ebfbee}.answer-grid button.wrong{border-color:#d9480f;background:#fff4e6}.answer-grid button:disabled{opacity:.62;cursor:not-allowed}.gate{margin-top:14px;display:grid;gap:6px;font-weight:900}.gate>div{height:14px;border-radius:999px;background:#e9ecef;overflow:hidden}#gateFill{display:block;width:0%;height:100%;background:linear-gradient(90deg,#1971c2,#2b8a3e)}.feedback{padding:10px 12px;border-radius:8px;background:#f1f3f5;font-weight:800}.feedback.good{background:#d3f9d8}.feedback.try{background:#ffe8cc}@media (max-width: 760px){.quick-ui{top:auto;right:8px;bottom:146px;grid-template-columns:repeat(2,minmax(42px,1fr));padding:6px}.quick-ui button{min-height:36px;font-size:.74rem;padding:4px}.mode-panel{top:auto;left:8px;right:96px;bottom:146px;width:auto;padding:6px}.mode-tabs button{min-height:36px;font-size:.72rem;padding:4px}.hud{top:8px;left:8px;right:8px;flex-direction:column;gap:6px}.objective{min-width:0;width:100%;padding:8px 10px}.objective strong{font-size:.95rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.status{width:100%;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:5px;padding:7px;font-size:.76rem}.status .text-stat{display:none}.status span{min-width:0;overflow:hidden;text-overflow:ellipsis}.kid-gauges{position:fixed;right:8px;top:82px;z-index:9;padding:6px;min-width:0;gap:6px}.speed-gauge{width:70px;height:48px}.gauge-needle{left:35px;width:27px}.lever-gauge{width:30px;height:54px}.builder{left:8px;right:8px;top:auto;bottom:176px;width:auto;max-height:42vh;overflow:auto;z-index:11}.world-builder{top:auto;left:8px;right:8px;bottom:176px;width:auto;max-height:38vh;overflow:auto;z-index:11}.train-lab{top:auto;left:8px;right:8px;bottom:146px;width:auto;max-height:48vh;padding:10px;z-index:12}.parent-panel{top:auto;left:8px;right:8px;bottom:146px;width:auto;max-height:52vh;padding:10px}.part-row{grid-template-columns:repeat(4,minmax(0,1fr))}.part-row button{min-height:38px;font-size:.72rem;padding:4px 2px}.color-row{grid-template-columns:repeat(8,minmax(0,1fr))}.builder.collapsed,.world-builder.collapsed{transform:translateY(calc(100% + 210px));opacity:0;pointer-events:none}.cab{left:8px;right:8px;bottom:78px;grid-template-columns:repeat(5,minmax(0,1fr));gap:6px;padding:7px}.cab button{min-height:42px;padding:5px 2px;line-height:1}.cab button span{font-size:1.12rem}.cab button small,#app.ui-mini .mode-panel{display:none}#app.ui-mini .hud{max-width:calc(100vw - 96px)}#app.ui-mini .cab{left:8px;right:96px;width:auto;grid-template-columns:repeat(3,minmax(0,1fr))}#app.ui-mini .cab button:nth-child(n+7){display:none}.touch-drive{display:grid;bottom:8px;width:calc(100vw - 16px);grid-template-columns:.9fr 1fr 1.2fr .9fr;gap:6px;padding:7px}.touch-drive button{min-height:56px}.throttle-panel{display:none}.builder-buttons,.car-buttons{grid-template-columns:repeat(2,minmax(0,1fr))}.answer-grid{grid-template-columns:1fr}.challenge{top:auto;bottom:190px;width:100%;max-height:calc(100vh - 336px);overflow:auto;transform:translate(-50%);border-radius:8px;padding:14px}.tutorial{width:calc(100vw - 16px);max-height:82vh;padding:14px}}@media (min-width: 761px) and (max-width: 1100px){.quick-ui{top:102px;right:10px}.mode-panel{top:104px;left:10px;width:min(440px,46vw)}.hud{top:10px;left:10px;right:10px;gap:8px}.objective{min-width:min(390px,48vw)}.status{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;font-size:.82rem}.status .text-stat{display:none}.kid-gauges{min-width:140px}.builder{top:104px;right:10px;width:330px;max-height:calc(100vh - 224px);overflow:auto;z-index:10}.world-builder{top:104px;left:10px;width:310px;max-height:calc(100vh - 224px);overflow:auto;z-index:10}.train-lab{top:168px;right:10px;width:min(390px,42vw);max-height:calc(100vh - 260px);overflow:auto}.parent-panel{top:168px;right:10px;width:min(430px,44vw);max-height:calc(100vh - 260px)}.cab{left:10px;right:10px;bottom:10px;grid-template-columns:repeat(10,minmax(0,1fr))}.cab button{min-height:50px;font-size:.78rem;padding:5px 3px}.touch-drive{display:grid;bottom:78px;width:min(520px,58vw)}.throttle-panel{right:10px;bottom:82px;width:min(330px,36vw)}.challenge{width:min(680px,calc(100vw - 70px));top:auto;bottom:92px;max-height:calc(100vh - 220px);overflow:auto}}
