/* course.css */
@font-face{font-family:Georgian;src:url('assets/georgian.ttf') format('truetype');font-display:swap}
/* Tour feedback stays below navigation, with a quiet accessible attention cue. */
.tour-feedback{display:inline-flex;align-items:center;gap:8px;background:transparent;color:#647482;border-color:transparent;font-size:11px;min-height:36px;padding:8px 3px;margin-top:14px;text-align:left}.tour-feedback:hover{background:#f5f2f2;color:#874e53;border-color:transparent}.feedback-dot{flex:none;width:7px;height:7px;border-radius:50%;background:#cf555f;animation:feedback-pulse 1.8s ease-in-out infinite}@keyframes feedback-pulse{0%,100%{opacity:1}50%{opacity:.35}}@media(prefers-reduced-motion:reduce){.feedback-dot{animation:none}}
:root{--ink:#24303a;--muted:#63717c;--accent:#346d94;--paper:#fffffff2;--line:#dbe2e7;--blue-wash:#eef5fa;--green:#286d56;--radius:12px}
*{box-sizing:border-box}html,body{margin:0;width:100%;height:100%;overflow:hidden;font-family:Georgian,system-ui,sans-serif;color:var(--ink);background:#f5f6f7}button,input,select,textarea{font:inherit}button,a,select{touch-action:manipulation}button,select{border:1px solid var(--line);background:#fffffff0;color:var(--ink);border-radius:9px;padding:10px 14px;cursor:pointer;font-size:14px;min-height:42px;transition:background .18s,border-color .18s,box-shadow .18s}button:hover{background:#edf3f7;border-color:#afc4d2}button:focus-visible,a:focus-visible,select:focus-visible,input:focus-visible,textarea:focus-visible{outline:3px solid #467fa6;outline-offset:3px}button:disabled{cursor:default;opacity:.65}button.primary{background:var(--accent);color:#fff;border-color:var(--accent);font-weight:600}button.primary:hover{background:#285c80}.quiet{background:transparent;border-color:transparent;color:var(--muted);padding:8px 9px}.quiet:hover{background:#eaf0f4;color:var(--accent)}a{color:#2d668c;text-underline-offset:3px}[hidden]{display:none!important}
h1{font-weight:600;font-size:clamp(26px,2.6vw,36px);line-height:1.5;letter-spacing:-.8px;margin:10px 0}h2{font-size:20px;line-height:1.65;font-weight:600;margin:12px 0}h3{font-size:15px;line-height:1.7;font-weight:600}p{font-size:16px;line-height:1.8}small{line-height:1.6}.kicker{font-size:12px;color:var(--muted);letter-spacing:.6px}
header{position:fixed;top:0;left:0;right:0;z-index:20;padding:18px 4%;display:flex;justify-content:space-between;align-items:center;gap:12px;background:#f5f6f7ec;backdrop-filter:blur(16px);border-bottom:1px solid #e5e9ec;pointer-events:none}header button{pointer-events:auto}.brand{background:transparent;border:0;border-radius:0;text-align:left;font-family:system-ui;letter-spacing:1.4px;font-size:16px;padding:0;min-height:36px}.brand b{color:var(--accent);font-weight:600}.brand small{display:block;font-family:Georgian;letter-spacing:0;font-size:11px;color:var(--muted);margin-top:3px}.brand:hover{background:transparent}.header-actions{display:flex;align-items:center;gap:8px}.header-actions button{font-size:12px;min-height:36px;padding:8px 11px}#score-display{color:var(--muted);font-size:12px;white-space:nowrap;padding:5px 7px}#world{position:fixed;inset:0;width:100%;height:100%;display:block;touch-action:none}.shade{position:fixed;inset:0;pointer-events:none;background:#f5f6f720}
body[data-screen=home] #world{visibility:hidden}body[data-screen=home] .shade{background:#f5f6f7}body[data-screen=home] #audio{display:none}
#home-panel{position:absolute;z-index:5;top:86px;left:4%;width:92%;max-height:calc(100dvh - 98px);overflow:auto;padding:8px 12px 24px 0;scrollbar-width:thin;scrollbar-color:#c7d1d8 transparent}.home-intro{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(280px,1fr);gap:34px;align-items:center;margin-bottom:26px}.home-copy h1{font-size:clamp(26px,2.8vw,37px);line-height:1.45;margin:12px 0 8px;font-weight:600;letter-spacing:-.65px}.lead{color:var(--muted);font-size:15px;margin:8px 0 18px;line-height:1.8}.home-actions{display:flex;gap:9px;flex-wrap:wrap}.home-actions button{font-size:14px;padding:12px 17px;min-height:46px}.home-photo{margin:0;position:relative;height:172px;overflow:hidden;border-radius:var(--radius);background:#e8eef1}#intro-film{position:absolute;inset:0;overflow:hidden;background:#e8eef1}#intro-film img{display:block;width:100%;height:100%;object-fit:cover;object-position:50% 65%}#intro-caption{position:absolute;bottom:0;right:0;left:0;z-index:1;padding:7px 11px;color:#fff;font-size:10px;line-height:1.5;background:linear-gradient(transparent,#182b3c88);text-shadow:0 1px 3px #0006;text-align:right}#intro-toggle{display:none!important}.section-heading{display:flex;align-items:baseline;justify-content:space-between;gap:14px;margin-bottom:12px}.section-heading h2{font-size:17px;margin:0}.section-heading>span{font-size:12px;color:var(--muted);line-height:1.7;text-align:right}
.chapter-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;margin-bottom:18px}.chapter-card{position:relative;display:flex;flex-direction:column;text-align:left;gap:5px;padding:12px 12px 10px 34px;background:#ffffffd9;border:1px solid #dfe5e9;min-height:92px;box-shadow:0 1px 2px #24303a04;overflow-wrap:anywhere}.chapter-card strong{font-size:13px;line-height:1.65;font-weight:500;color:#273743}.chapter-card small{font-size:10px;color:var(--muted);margin-top:auto;line-height:1.6}.chapter-card .ordinal{position:absolute;left:10px;top:14px;color:var(--accent);font:500 12px system-ui}.chapter-card:hover{background:#fff;border-color:#a5c0d3;box-shadow:0 2px 7px #24303a08}.chapter-locked{background:#f9fafbc9;border-color:#e3e7ea}.chapter-locked .ordinal{color:#81909c}.chapter-locked strong{color:#536370}progress{appearance:none;display:block;width:100%;height:3px;border:0;border-radius:3px;background:#e4ebef;accent-color:#6794b3;margin-top:2px}progress::-webkit-progress-bar{background:#e4ebef;border-radius:3px}progress::-webkit-progress-value{background:#6794b3;border-radius:3px}.home-footer{padding:6px 0 12px;border-top:1px solid #e1e6e9;color:var(--muted);font-size:11px}.home-footer nav{display:flex;flex-wrap:wrap;gap:1px 7px}.home-footer nav button{font-size:11px;min-height:34px;padding:8px 9px}.future{margin-top:7px;font-size:11px}.future summary{cursor:pointer;padding:5px 9px}.future p{font-size:12px;max-width:600px;margin:7px 9px}.future a{display:inline-block;font:11px system-ui;margin:0 9px 5px}
#chapter-panel{position:absolute;z-index:8;top:92px;bottom:20px;left:4%;width:min(850px,92vw);padding:24px;border-radius:16px;border:1px solid var(--line);background:var(--paper);backdrop-filter:blur(18px);overflow:auto;scrollbar-width:thin;box-shadow:0 5px 30px #21394a0d}#chapter-panel h1{font-size:27px;margin:10px 0}#chapter-summary{font-size:14px;color:var(--muted);line-height:1.8}.chapter-actions{display:flex;flex-wrap:wrap;gap:8px;margin:16px 0}#lesson-list details{margin-top:14px;padding-top:14px;border-top:1px solid var(--line)}#lesson-list summary{font-size:15px;line-height:1.7;cursor:pointer}#lesson-list summary small{color:var(--muted);font-size:12px}.lessons{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;padding:12px 0}.lesson-card{display:flex;gap:10px;align-items:flex-start;text-align:left;padding:12px;font-size:14px;line-height:1.6;background:#fff}.lesson-card em{font-style:normal;font:500 12px system-ui;color:var(--accent);min-width:22px;padding-top:4px}.lesson-card span{display:block}.lesson-card small{display:block;font-size:11px;color:var(--muted);margin-top:6px}.lesson-card.completed{border-color:#9fcebb}.lesson-card.review{border-color:#d9b58c}
#lesson-panel{position:absolute;z-index:9;right:24px;top:96px;bottom:88px;width:410px;max-width:37vw;padding:20px;background:#fffffff5;border:1px solid #d4dfe6;border-radius:14px;overflow:auto;backdrop-filter:blur(18px);scrollbar-width:thin;box-shadow:0 5px 28px #20394a18}.lesson-top{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin:-4px -7px 12px;font-size:11px;color:var(--muted);line-height:1.7}.lesson-top button{font-size:12px;white-space:nowrap;padding:6px 8px;min-height:32px}.phase-row{display:flex;align-items:center;justify-content:space-between;gap:8px;position:sticky;top:-1px;z-index:2;background:#fffffff5;padding:5px 0}.phase-row .kicker{font-size:11px;color:#647b8c}.phase-row #answer-jump{font-size:11px;padding:6px 8px;min-height:32px;white-space:nowrap;color:var(--accent)}#lesson-panel h2{font-size:19px;line-height:1.7;font-weight:600;color:#233742;padding:12px 13px;background:#f0f5f8;border-left:3px solid #6b94af;border-radius:2px 9px 9px 2px;margin:12px 0 14px}#lesson-panel h2[data-kind=practice]{background:#edf6f1;border-left-color:#5b9a7c;color:#245240}#lesson-panel h2[data-kind=check]{background:#f1f0f8;border-left-color:#8c88b5;color:#45436b}.answers-label{font-size:13px;font-weight:500;color:#607a8b;margin:17px 0 8px}#answers{display:grid;gap:8px}#answers button{display:flex;align-items:flex-start;gap:10px;text-align:left;font-size:16px;line-height:1.75;padding:12px;background:#fff;color:#2c3b45;border-color:#d6e1e8}#answers button:hover{background:#f7fafc;border-color:#9ab8cc}#answers .answer-number{display:inline-grid;place-items:center;flex:none;width:25px;height:25px;border-radius:6px;border:1px solid #c9dce9;background:#f2f7fb;color:#467898;font:500 12px system-ui;margin-top:3px}.answer-result{display:block;font-size:13px;font-weight:600;margin-top:5px}#answers button.correct,.check-answer.correct{border:2px solid #72b796;background:#edf8f1;color:#235e43;opacity:1}#answers button.incorrect,.check-answer.incorrect{border:2px solid #d79c9d;background:#fcf0f0;color:#793c40;opacity:1}.source-selected{background:#faf5e8!important;border-color:#cdb683!important}
#scene-context{font-size:13px;color:var(--muted);padding:8px 11px;border:1px solid #e2e9ee;border-radius:9px;background:#fafcfd;margin:10px 0}#scene-context summary{cursor:pointer;padding:3px 0;line-height:1.6}.role{font-size:14px;line-height:1.75;color:#566c7b;margin:9px 0}#facts{display:flex;flex-wrap:wrap;gap:5px}#facts span{font-size:12px;line-height:1.7;padding:5px 7px;border:1px solid #dce6ec;background:#f2f7fa;border-radius:6px;color:#4b6576}.source-controls{display:flex;gap:6px;flex-wrap:wrap;margin:11px 0}.source-controls button{font-size:12px;padding:8px 10px;min-height:36px}#detail{padding:10px 12px;background:#f9f7ef;border:1px solid #e4dcc5;border-radius:9px;font-size:14px;color:#625c47;margin:17px 0}#detail summary{cursor:pointer;font-weight:500;line-height:1.7}#detail p{font-size:15px;line-height:1.8;color:#41494b}#correction{font-size:13px!important;line-height:1.8;color:#7b6445}#feedback{border-left:3px solid #809aab;background:#f1f5f7;padding:10px 12px;margin:15px 0;font-size:15px;line-height:1.8;border-radius:0 7px 7px 0}#feedback.correct{border-left-color:#70ad8f;color:#2f6049;background:#f0f8f3}#feedback.incorrect{border-left-color:#ce9296;color:#79464b;background:#faf2f2}#lesson-actions{display:flex;flex-direction:column;gap:8px;margin-top:14px}button.practice-action,#lesson-actions button.practice-action{background:#edf6f1;color:#2c654c;border-color:#abcab9;font-weight:600}button.practice-action:hover{background:#dff0e7;border-color:#7bae94}button.simulation-action{background:#eff6fb;color:#376988;border-color:#b4cddd}button.check-action{background:#f2f1f8;color:#59547e;border-color:#cbc7e1}.feedback-link{font-size:11px;min-height:32px;margin-top:12px;text-align:left}.application-record{font-size:13px;line-height:1.8;border-left:2px solid #aabcc8;background:#f7fafb;padding:8px 10px;color:#566b79}.check-answer canvas{display:block;max-width:100%;height:100px;width:auto;margin:0 auto 6px;background:white;border-radius:4px}.practice-step-guide{background:#f2f8f5;border:1px solid #c7dfd3;border-radius:9px;padding:10px 12px}.practice-step-guide strong{font-size:14px;color:#3b6553}.practice-step-guide p{font-size:13px;line-height:1.7;color:#577567;margin:5px 0 0}.applied-sign{display:block;max-width:180px;max-height:110px;width:auto;object-fit:contain;background:#fff;border-radius:8px;margin:4px 0 12px}.learning-notice{font-size:13px;line-height:1.8;border-left:3px solid #bea268;background:#fbf6e9;color:#765f35;padding:10px 12px;margin:10px 0}.learning-notice a{color:#586f83}#evidence-image{width:100%;height:auto;max-height:155px;object-fit:contain;background:white;border-radius:8px;cursor:zoom-in;margin:0 0 10px}
#scene-status{position:absolute;z-index:11;top:100px;left:24px;max-width:calc(100vw - 460px);padding:9px 13px;border-radius:8px;background:#1c3040e5;color:#e9f1f6;font-size:13px;line-height:1.7;box-shadow:0 1px 8px #0001}body[data-screen=free] #scene-status{font-size:11px;max-width:410px;padding:7px 11px}#reference-view{position:absolute;z-index:10;left:24px;top:148px;width:calc(100vw - 460px);max-height:calc(100vh - 235px);display:flex;flex-direction:column;align-items:center;justify-content:center;background:#fafcfdf5;border:1px solid #d3dfe7;border-radius:12px;overflow:hidden}#reference-image{max-width:100%;max-height:calc(100vh - 286px);object-fit:contain}#reference-view p{font-size:11px;color:var(--muted);margin:8px}
#view-controls{position:fixed;z-index:12;left:24px;bottom:24px;display:flex;align-items:center;gap:7px}#view-controls label{font-size:11px;color:#eef4f7;text-shadow:0 1px 3px #0009}#view-controls select{font-size:12px;padding:8px;min-height:38px}#view-controls button{font-size:12px;padding:8px 11px;min-height:38px}#focus-road{position:fixed;z-index:16;right:24px;bottom:24px;padding:8px 12px;min-height:38px;font-size:12px}
#drive-controls{position:fixed;z-index:10;left:24px;bottom:86px;pointer-events:none}#drive-controls button{pointer-events:auto}.speed{display:flex;align-items:baseline;gap:6px;color:#fff;text-shadow:0 1px 5px #000a;margin-bottom:5px}.speed b{font:300 36px system-ui}.speed span,.speed small{font-size:11px}.indicators{display:flex;gap:6px}.indicators button{font-size:11px;padding:7px 12px;min-height:36px}.indicators button[aria-pressed=true],.indicators button.lit{background:#efc079;color:#27303b;border-color:#efc079}.drive-tools{display:flex;gap:5px;flex-wrap:wrap;margin-top:7px;pointer-events:auto}.drive-tools button{font-size:11px;padding:7px 10px;min-height:36px}.keys{display:none}#touch-controls{display:none;gap:7px;margin-top:9px;pointer-events:auto}#touch-controls button{min-width:52px;min-height:48px;font-size:12px;padding:9px}.drive-tools button[aria-pressed=true]{background:#406c87;color:#fff;border-color:#7899ad}#weather-controls{position:fixed;z-index:15;bottom:24px;right:24px;display:flex;gap:6px}#weather-controls button{font-size:11px;min-height:38px;padding:8px 11px}
body[data-screen=free] header,body[data-screen=lesson] header{background:linear-gradient(#10212e80,transparent);backdrop-filter:none;border:0}body[data-screen=free] .brand,body[data-screen=lesson] .brand{color:#fff;text-shadow:0 1px 5px #0007}body[data-screen=free] .brand b,body[data-screen=lesson] .brand b{color:#d7e7f1}body[data-screen=free] .brand small,body[data-screen=lesson] .brand small{color:#d9e6ee}body[data-screen=free] #score-display,body[data-screen=lesson] #score-display{color:#eaf2f7;text-shadow:0 1px 3px #0007}body[data-screen=free] header button:not(.brand),body[data-screen=lesson] header button:not(.brand),body[data-screen=free] #view-controls button,body[data-screen=lesson] #view-controls button,body[data-screen=free] #view-controls select,body[data-screen=lesson] #view-controls select,body[data-screen=free] #focus-road,body[data-screen=lesson] #focus-road,#drive-controls button,#weather-controls button{background:#203747d9;color:#eff4f7;border-color:#a3bbc83d;box-shadow:0 1px 4px #0001}#drive-controls button:hover,#weather-controls button:hover{background:#365469}body[data-screen=lesson] .shade,body[data-screen=free] .shade{background:linear-gradient(0deg,#142c4140,transparent 28%)}
#map-panel{position:fixed;z-index:14;top:100px;right:24px;width:160px;text-align:center;color:#edf5f9}#minimap{display:block;width:160px;height:160px;border-radius:50%;box-shadow:0 2px 15px #0003}#district-name{display:block;background:#203747df;border-radius:7px;padding:5px 8px;font-size:11px;margin-top:5px;line-height:1.5}#city-map{font-size:11px;min-height:34px;padding:6px 10px;margin-top:5px;background:#203747df;color:#edf5f9;border-color:#a3bbc83d}#city-mission{margin-top:7px;background:#203747df;border-radius:9px;border:1px solid #a3bbc83d;padding:8px 10px;text-align:left}#city-mission strong{display:block;font-size:11px;font-weight:500;line-height:1.65;color:#f0f5f8}#city-mission span{display:block;font-size:10px;color:#c8d9e4;line-height:1.6;margin-top:4px}#map-attribution.world-attribution{position:fixed;z-index:15;right:7px;bottom:3px;color:#dde8ef;background:#233c4ccc;border-radius:4px;font:9px system-ui;padding:2px 4px}.map-source{font-size:12px;margin-top:14px}.map-source summary{cursor:pointer}.map-source p{font-size:12px}
#mirrors{position:absolute;top:84px;left:3%;right:3%;display:flex;justify-content:space-between;pointer-events:none}#mirrors>div{position:relative;width:150px;height:60px;border:2px solid #384f5d;border-radius:8px;background:transparent}#mirror-rear{width:210px!important;height:62px!important}#mirrors span{position:absolute;bottom:2px;left:5px;font-size:9px;color:#edf4f8;text-shadow:0 1px 3px black}body.cockpit-active #map-panel{top:175px}body.cockpit-active #scene-status{top:172px}body[data-screen=lesson]:not(.road-focus) #mirrors{right:min(420px,39vw)}body[data-screen=lesson]:not(.road-focus) #mirror-rear{width:170px!important}
#control-onboarding{position:fixed;z-index:19;left:24px;top:100px;width:330px;max-width:calc(100vw - 36px);background:#fffffff5;color:var(--ink);border:1px solid #c4d5df;border-radius:12px;padding:14px 17px;box-shadow:0 8px 30px #102b3b26;backdrop-filter:blur(14px)}#control-onboarding>div{display:flex;justify-content:space-between;gap:8px;align-items:center}#control-onboarding h2{font-size:16px;line-height:1.7;margin:0}#control-onboarding p{font-size:13px;line-height:1.9;margin:8px 0;color:#4b6070}#control-onboarding .onboarding-footer{font-size:11px;line-height:1.75;color:var(--muted)}#hide-onboarding{font-size:22px;min-height:30px;padding:3px 7px}kbd{font:500 12px system-ui;background:#eff4f7;border:1px solid #cbd9e2;border-bottom-width:2px;border-radius:4px;padding:3px 5px;color:#3c6a87}.controls-intro #driving-guide,.controls-intro #horn,.controls-intro #headlights,.controls-intro #cockpit-toggle{animation:control-pulse 2s ease-out 3}@keyframes control-pulse{50%{border-color:#bddef0;box-shadow:0 0 0 3px #b8d9ea40}}
dialog{background:#fbfcfd;color:var(--ink);border:1px solid #d2dfe7;border-radius:16px;width:min(570px,94vw);max-height:86dvh;padding:28px;box-shadow:0 20px 75px #18394b24}dialog::backdrop{background:#10233460;backdrop-filter:blur(5px)}.close{position:absolute;top:10px;right:10px;font-size:21px;min-height:32px;padding:4px 8px;background:transparent;border:0;color:var(--muted)}#modal-body h2{padding-right:24px;font-size:21px}#modal-body p{font-size:14px;line-height:1.85;color:#566976}#modal-body ol{padding-left:20px}#modal-body li{font-size:14px;line-height:1.75;margin:10px 0}.profile-list{display:grid;gap:8px;margin:17px 0}.profile-list button{text-align:left;font-size:13px;line-height:1.7;background:#fff;padding:12px}.profile-list button span,.profile-list button small{display:block;font-size:13px;line-height:1.8;margin-top:4px}.profile-list button small{color:#6c7f8d;font-size:11px}input,textarea{display:block;font:inherit;color:var(--ink);background:#fff;border:1px solid #c8d7e0;border-radius:8px;padding:11px 12px;max-width:100%;width:100%;margin:7px 0 12px;font-size:15px;line-height:1.75}textarea{resize:vertical}label{font-size:13px}#feedback-form{display:grid;gap:9px}#feedback-form select{width:100%}#feedback-form textarea{margin:0}.local-note,.score-rules,.analytics-note{font-size:12px!important;line-height:1.8;color:#667b8a!important}.guide-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.guide-grid>div{background:#f0f5f8;border:1px solid #dce6ed;border-radius:9px;padding:11px}.guide-grid b,.guide-grid span{display:block;font-size:12px;line-height:1.8}.guide-grid b{color:#46748f;margin-bottom:3px}.guide-grid span{color:#607482}#modal-body table{width:100%;border-collapse:collapse;font-size:13px}th,td{text-align:left;padding:12px 6px;border-bottom:1px solid #e0e7ec;line-height:1.75}.active-player{background:#eff5f8}#leaderboard-profiles{margin-top:18px}.activity-stats{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:15px 0}.activity-stats>div{display:flex;flex-direction:column;gap:4px;background:#f0f5f8;border:1px solid #dce6ed;border-radius:10px;padding:12px}.activity-stats strong{font:500 21px system-ui;color:#346d94}.activity-stats span{font-size:12px;color:#627888}.empty{font-size:14px;color:var(--muted)}
#loading{position:fixed;z-index:90;inset:0;background:#f5f6f7;color:#5c7280;display:flex;flex-direction:column;gap:13px;align-items:center;justify-content:center;font-size:13px}.spinner{width:28px;height:28px;border:2px solid #d6e0e7;border-top-color:#5483a3;border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}#toast{position:fixed;z-index:100;left:50%;bottom:94px;transform:translateX(-50%);background:#eff6fa;color:#335c77;border:1px solid #b9cfdd;border-radius:10px;padding:12px 17px;max-width:90vw;font-size:13px;line-height:1.8;box-shadow:0 6px 28px #203b4c26}
/* These classes control the actual learning and driving layout. */
body.source-only #world{visibility:hidden}body.source-only .shade{background:#edf2f5}body.practicing #role,body.practicing #facts,body.practicing #detail,body.practicing #scene-context,body.practicing .source-controls,body.practicing #answer-jump{display:none}body.practicing #lesson-panel{bottom:auto;max-height:calc(100dvh - 205px)}body.inspecting #lesson-panel{max-height:calc(100dvh - 190px)}body.road-focus #lesson-panel{visibility:hidden}body.road-focus #scene-status{max-width:600px}
@media(min-width:1700px){.chapter-grid{grid-template-columns:repeat(6,minmax(0,1fr))}.home-intro{grid-template-columns:1.8fr 1fr}.home-photo{height:180px}}
@media(max-width:1150px){.chapter-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.home-intro{grid-template-columns:1.4fr 1fr;gap:22px}.home-copy h1{font-size:30px}.home-photo{height:176px}#lesson-panel{width:390px;max-width:39vw}#lesson-panel h2{font-size:18px}}
@media(max-width:850px){header{padding:13px 18px}.brand{font-size:14px}.brand small{font-size:10px}.header-actions{gap:5px}.header-actions button{font-size:11px;padding:7px 9px}#score-display{font-size:11px;padding:5px}#home-panel{top:76px;left:4%;width:92%;max-height:calc(100dvh - 87px);padding:6px 3px 20px}.home-intro{grid-template-columns:1.5fr 1fr;gap:18px;margin-bottom:21px}.home-copy h1{font-size:27px}.home-copy .lead{font-size:13px;line-height:1.8;margin:7px 0 14px}.home-actions{gap:7px}.home-actions button{font-size:12px;padding:10px 12px;min-height:42px}.home-photo{height:170px}.chapter-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}.chapter-card{min-height:92px;padding:11px 10px 9px 31px}.chapter-card strong{font-size:12px}.chapter-card .ordinal{left:9px;font-size:11px}.chapter-card small{font-size:10px}.section-heading h2{font-size:16px}.section-heading>span{font-size:11px}#chapter-panel{top:78px;bottom:12px;padding:19px}#chapter-panel h1{font-size:25px}.lessons{grid-template-columns:1fr}#lesson-panel{right:12px;top:auto;bottom:12px;width:calc(100% - 24px);max-width:none;max-height:43dvh;padding:16px}#lesson-panel h2{font-size:18px;line-height:1.7}#answers button{font-size:16px;line-height:1.75}.lesson-top{margin-bottom:10px}.lesson-top #lesson-count{font-size:11px}.source-controls{margin:9px 0}.source-controls button{font-size:11px;padding:7px 9px;min-height:34px}#scene-status{top:82px;left:12px;max-width:calc(100vw - 24px);font-size:12px;padding:8px 10px}#reference-view{top:133px;left:12px;width:calc(100% - 24px);max-height:calc(57dvh - 142px)}#reference-image{max-height:calc(57dvh - 167px)}#reference-view p{display:none}#view-controls{left:12px;bottom:calc(43dvh + 20px)}#view-controls select{font-size:11px;padding:7px}#view-controls button{font-size:11px;padding:8px;min-height:36px}#focus-road{right:12px;bottom:calc(43dvh + 20px);font-size:11px;min-height:36px}#drive-controls{left:12px;bottom:calc(43dvh + 74px)}.speed b{font-size:31px}#touch-controls{display:flex}.drive-tools{max-width:calc(100vw - 24px);gap:5px}.drive-tools button{font-size:10px;padding:7px 9px;min-height:34px}#weather-controls{right:12px;bottom:20px;flex-direction:column}#weather-controls button{font-size:10px;padding:7px 9px;min-height:36px}#map-panel{top:122px;right:12px;width:112px}#minimap{width:112px;height:112px}#district-name{font-size:10px;padding:5px}#city-map{font-size:10px;padding:6px 8px;min-height:32px}#city-mission{padding:7px}#city-mission strong{font-size:10px}#city-mission span{font-size:10px}#mirrors>div{width:92px;height:41px}#mirror-rear{width:134px!important;height:43px!important}body[data-screen=lesson]:not(.road-focus) #mirrors{right:3%}body.practicing #lesson-panel{bottom:12px;max-height:28dvh}body.practicing #view-controls,body.practicing #focus-road{bottom:calc(28dvh + 20px)}body.practicing #drive-controls{bottom:calc(28dvh + 74px)}body.road-focus #focus-road,body.road-focus #view-controls{bottom:16px}body.road-focus #drive-controls{bottom:80px}body.inspecting #lesson-panel{max-height:43dvh}body.inspecting #view-controls,body.inspecting #focus-road{bottom:calc(43dvh + 20px)}#control-onboarding{left:12px;top:82px;width:310px;padding:13px 15px}#control-onboarding h2{font-size:15px}#control-onboarding p{font-size:12px}body.cockpit-active #map-panel{top:153px}body.cockpit-active #scene-status{top:158px}}
@media(max-width:550px){header{padding:12px 16px}.brand{font-size:12px;letter-spacing:1px}.brand small{font-size:9px}.header-actions button{max-width:100px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:10px;padding:7px 8px;min-height:32px}#score-display{font-size:10px}body[data-screen=home] #score-display{margin-right:3px}.home-intro{grid-template-columns:1fr;gap:15px;margin-bottom:20px}.home-copy h1{font-size:28px;line-height:1.5;margin:9px 0 6px}.home-copy .lead{font-size:14px;line-height:1.8;margin:6px 0 15px}.home-actions button{font-size:13px;flex:1;padding:11px 9px;min-height:44px}.home-photo{height:100px;border-radius:10px}#intro-film img{object-position:50% 64%}#intro-caption{font-size:9px;padding:5px 9px}.chapter-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.chapter-card{min-height:96px;padding:11px 10px 9px 31px}.chapter-card strong{font-size:13px;line-height:1.7}.section-heading{gap:10px;margin-bottom:12px}.section-heading h2{font-size:16px;white-space:nowrap}.section-heading>span{font-size:10px}.home-footer nav{gap:0 4px}.home-footer nav button{font-size:10px;padding:7px 6px;min-height:32px}.home-footer .future{font-size:10px}#control-onboarding{width:calc(100vw - 24px);max-width:none}.controls-intro #map-panel{visibility:hidden}.guide-grid{grid-template-columns:1fr 1fr}dialog{padding:22px}.activity-stats{gap:7px}#modal-body h2{font-size:19px}}
@media(max-width:600px) and (min-height:551px){body[data-screen=lesson] #view-controls{display:grid;grid-template-columns:1fr 1fr;right:124px;gap:5px}body[data-screen=lesson] #view-controls label{grid-column:1/-1;display:flex;align-items:center;gap:6px;font-size:10px}body[data-screen=lesson] #view-controls select{min-width:0;width:100%;max-width:100%;font-size:10px}body[data-screen=lesson] #view-controls button{min-width:0;font-size:10px;padding:8px 6px}body[data-screen=lesson] #focus-road{width:104px;padding:8px;font-size:10px}body[data-screen=free] #scene-status{max-width:calc(100vw - 143px);font-size:10px;padding:7px 9px}body[data-screen=free] #drive-controls{bottom:84px}body[data-screen=free] #view-controls{left:12px;right:12px;bottom:16px;display:grid;grid-template-columns:1.2fr 1fr;gap:7px}body[data-screen=free] #view-controls label{display:flex;align-items:center;gap:5px;min-width:0;font-size:10px}body[data-screen=free] #view-controls select{width:100%;min-width:0;max-width:100%;font-size:10px}body[data-screen=free] #pause{display:none}body[data-screen=free] #reset{font-size:10px;padding:8px}body[data-screen=free] #weather-controls{top:396px;bottom:auto;max-width:130px}#map-panel{width:100px;top:122px}#minimap{width:100px;height:100px}#city-mission span{line-height:1.6}body.cockpit-active #map-panel{top:153px}}
@media(max-width:600px) and (min-height:551px) and (max-height:700px){body[data-screen=free] #city-mission span{display:none}body[data-screen=free] #weather-controls{top:334px;left:12px;right:12px;max-width:none;flex-direction:row}body[data-screen=free] #weather-controls button{flex:1}}
@media(max-height:550px) and (min-width:600px){header{padding:10px 18px}.brand small{display:none}.header-actions button{min-height:32px;font-size:10px;padding:7px 10px}#home-panel{top:58px;max-height:calc(100dvh - 66px)}.home-intro{grid-template-columns:1.7fr 1fr;gap:20px;margin-bottom:15px}.home-copy h1{font-size:25px;line-height:1.5}.home-copy .lead{font-size:12px;margin:5px 0 11px}.home-actions button{font-size:11px;min-height:37px;padding:9px 12px}.home-photo{height:134px}.chapter-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.chapter-card{min-height:86px}.chapter-card strong{font-size:12px}#lesson-panel{top:57px;bottom:10px;right:10px;left:auto;width:320px;max-width:43vw;max-height:none;padding:14px}#lesson-panel h2{font-size:17px;line-height:1.7}#answers button{font-size:14px;line-height:1.75;padding:10px}.lesson-top{font-size:10px}.lesson-top #lesson-count{font-size:10px}#view-controls{left:12px;bottom:12px;gap:5px}#view-controls label{font-size:10px}#view-controls select{max-width:182px;font-size:10px;min-height:36px}#view-controls button{font-size:10px;min-height:36px;padding:8px}body[data-screen=lesson] #focus-road{left:12px;right:auto;bottom:62px;font-size:10px;padding:8px 10px;min-height:34px}#scene-status{top:58px;left:12px;max-width:calc(100vw - 350px);font-size:11px;padding:7px 10px}#reference-view{left:12px;top:103px;width:calc(100vw - 350px);max-height:calc(100dvh - 151px)}#reference-image{max-height:calc(100dvh - 151px)}#drive-controls{left:12px;bottom:63px}.speed b{font-size:28px}.speed span,.speed small{font-size:10px}.indicators button,.drive-tools button{min-height:32px;font-size:10px;padding:6px 10px}.drive-tools{margin-top:5px}#touch-controls{margin-top:7px}#touch-controls button{min-height:42px;min-width:49px;font-size:11px;padding:8px}#chapter-panel{top:56px;bottom:10px;padding:17px}#weather-controls{bottom:12px;right:12px;flex-direction:row;gap:5px}#weather-controls button{min-height:36px;font-size:10px;padding:8px 10px}#map-panel{top:62px;right:12px;width:94px}#minimap{width:94px;height:94px}#district-name{font-size:9px;padding:4px}#city-map{font-size:9px;padding:5px 7px;min-height:30px}#city-mission{padding:6px}#city-mission strong{font-size:9px;line-height:1.6}#city-mission span{display:none}#control-onboarding{top:58px;left:12px;width:290px;padding:11px 14px}#control-onboarding h2{font-size:14px}#control-onboarding p{font-size:11px}.controls-intro #scene-status{visibility:hidden}#mirrors{top:57px}#mirrors>div{height:41px;width:100px}#mirror-rear{height:42px!important;width:140px!important}body.cockpit-active #map-panel{top:115px}body.cockpit-active #scene-status{top:113px}body[data-screen=lesson]:not(.road-focus) #mirrors{right:min(342px,calc(43vw + 22px))}body[data-screen=lesson]:not(.road-focus) #mirrors>div{width:23%;max-width:95px}body[data-screen=lesson]:not(.road-focus) #mirror-rear{width:33%!important;max-width:140px}body.practicing #lesson-panel,body.inspecting #lesson-panel{top:57px;bottom:10px;max-height:none}body.practicing #view-controls,body.inspecting #view-controls{bottom:12px}body.practicing #drive-controls{bottom:63px}body.practicing #focus-road,body.inspecting #focus-road{bottom:62px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}.controls-intro #driving-guide,.controls-intro #horn,.controls-intro #headlights,.controls-intro #cockpit-toggle{animation:none;border-color:#c1dcea}.spinner{animation-duration:3s}}
/* On phones, the city actions follow the live goal instead of overlapping it. */
@media(max-width:600px) and (min-height:551px){body[data-screen=free] #weather-controls{position:static;top:auto;bottom:auto;left:auto;right:auto;max-width:none;width:100%;margin-top:7px;gap:5px;flex-direction:column}body[data-screen=free] #weather-controls button{width:100%;padding:7px 6px;font-size:10px}body[data-screen=free] #city-mission span{font-size:9px}}
@media(max-width:600px) and (min-height:551px) and (max-height:700px){body[data-screen=free] #map-panel{top:100px;width:90px}body[data-screen=free] #minimap{width:90px;height:90px}body[data-screen=free] #district-name{display:none}body[data-screen=free] #city-mission strong{font-size:9px}body.cockpit-active[data-screen=free] #map-panel{top:137px}}
/* Change header foreground and surface together when entering the game. */
header .header-actions button{transition:border-color .18s,box-shadow .18s}
body[data-screen=lesson] header .header-actions button,body[data-screen=free] header .header-actions button{background:#203747e8;color:#f3f7fa}
/* Free driving keeps labels in accessible names and the on-demand guide. */
.icon-control svg{display:block;width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;pointer-events:none}
body[data-screen=free] #camera-label,body[data-screen=free] #audio,body[data-screen=free] #cockpit-toggle,body[data-screen=free] #district-name,body[data-screen=free] #city-mission,body[data-screen=free] .brand small{display:none!important}
body[data-screen=free] #view-controls{display:flex;left:24px;right:auto;bottom:24px;gap:6px}
body[data-screen=free] #view-controls .icon-control,body[data-screen=free] #drive-controls .icon-control,body[data-screen=free] #city-map,body[data-screen=free] #weather-controls .icon-control{display:grid;place-items:center;width:44px;height:44px;min-height:44px;min-width:44px;padding:11px;border-radius:10px;font-size:0}
body[data-screen=free] .drive-tools{gap:6px;max-width:none}
body[data-screen=free] #city-map{position:absolute;right:0;bottom:0;margin:0;box-shadow:0 1px 8px #0003}
body[data-screen=free] #weather-controls{position:fixed;left:auto;top:auto;right:24px;bottom:24px;display:flex;flex-direction:row;width:auto;gap:6px;margin:0;max-width:none}
body[data-screen=free] #map-panel{width:130px}body[data-screen=free] #minimap{width:130px;height:130px}
body[data-screen=free] #scene-status{display:none}
@media(max-width:850px){body[data-screen=free] #view-controls{left:12px;right:auto;bottom:16px}body[data-screen=free] #weather-controls{right:12px;bottom:16px}body[data-screen=free] #drive-controls{bottom:78px}body[data-screen=free] #map-panel{width:100px}body[data-screen=free] #minimap{width:100px;height:100px}}
@media(max-height:550px) and (min-width:600px){body[data-screen=free] #view-controls,body[data-screen=free] #weather-controls{bottom:12px}body[data-screen=free] #drive-controls{bottom:64px}body[data-screen=free] #map-panel{width:94px}body[data-screen=free] #minimap{width:94px;height:94px}}
/* Lesson navigation and learning tools are separate from numbered answers. */
.lesson-top{display:grid;grid-template-columns:minmax(0,1fr) 44px;align-items:center;gap:4px 12px}
.lesson-top #back-chapter{justify-self:start;grid-column:1;grid-row:1}
.lesson-top #lesson-count{grid-column:1;grid-row:2;font-size:11px;line-height:1.6;padding-left:8px;color:#6b7c87}
.lesson-top #lesson-free{grid-column:2;grid-row:1 / span 2;display:grid;place-items:center;width:44px;height:44px;min-height:44px;padding:11px;border-radius:50%;border:1px solid #dce5eb;background:#f2f6f8;color:#6b8494}
.lesson-top #lesson-free:hover{background:#e5edf2;color:#346d94;border-color:#aec6d5}
#answers{padding:4px 0 7px}#answers button{border-radius:8px}
.source-controls button{border-radius:18px;background:#f6f8fa;color:#627989;border-color:#e1e8ed;min-height:34px}
#lesson-actions{border-top:1px solid #e1e7eb;padding-top:13px}
#lesson-actions:empty{display:none}
#lesson-actions .lesson-action:not(.check-answer){align-self:flex-start;max-width:100%;width:auto;border-radius:19px;min-height:40px;padding:9px 15px;text-align:left;font-size:13px;line-height:1.6}
#lesson-actions .navigation-action:not(.check-answer){background:#f5f7f9;color:#5e7584;border-color:#e3e9ed;font-weight:400}
#lesson-actions .practice-action:not(.check-answer){background:#e8f4ed;color:#28624a;border-color:#abcbb8}
#lesson-actions .simulation-action:not(.check-answer){background:#edf5fb;color:#3c708d;border-color:#bbd2df}
#lesson-actions .check-action:not(.check-answer){background:#f1eff9;color:#625a84;border-color:#cdc6e4}
@media(max-height:550px) and (min-width:600px){.lesson-top{gap:2px 8px}.lesson-top #lesson-count{font-size:10px}}
#tour-progress{margin:12px 0 15px;padding:12px 14px;border:1px solid #dbe6e2;border-radius:10px;background:#f4f9f6}#tour-progress progress{height:5px;margin:8px 0}.tour-progress-label{display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:12px;color:#426c59}.tour-progress-label button{font-size:12px;color:#346d94;padding:6px 8px;min-height:34px}#tour-progress small{color:#80735c;font-size:11px}.tour-milestone h2{margin:8px 0 18px}.tour-milestone p{font-size:14px!important}.tour-milestone progress{height:5px;margin:12px 0}.milestone-track{height:58px;position:relative;margin:22px 20px 4px;border-bottom:2px dashed #bbcfc7}.milestone-car{position:absolute;left:clamp(0px,calc(var(--tour-progress) - 48px),calc(100% - 48px));bottom:4px;width:48px;animation:milestone-arrive .8s ease-out}.milestone-car svg{width:48px;height:24px;fill:#527c91;stroke:#fff;stroke-width:1.5}.milestone-finish{position:absolute;right:-8px;bottom:10px;color:#62977b;font:22px system-ui}.milestone-held{color:#897559!important;font-size:12px!important}.milestone-actions{display:flex;flex-wrap:wrap;gap:7px;margin-top:20px}.milestone-actions button{font-size:13px}@keyframes milestone-arrive{from{transform:translateX(-35px);opacity:.3}to{transform:translateX(0);opacity:1}}@media(prefers-reduced-motion:reduce){.milestone-car{animation:none}}
.tour-progress-label .progression-next{background:#346d94;color:#fff;border-color:#346d94;border-radius:18px;padding:8px 13px;white-space:nowrap}.tour-progress-label .progression-next:hover{background:#285c80}@media(max-width:550px){.tour-progress-label{flex-wrap:wrap}.tour-progress-label .progression-next{font-size:11px;min-height:36px}}
.lesson-progress{position:sticky;top:0;z-index:4;background:#fffffff7;border-bottom:1px solid #e1e9e5;padding:7px 0;margin:0 0 7px;font-size:11px;line-height:1.6}.lesson-progress>div{display:flex;justify-content:space-between;align-items:baseline;gap:8px;flex-wrap:wrap}.lesson-progress strong{font-size:11px;font-weight:500;color:#466b58}.progress-definition{font-size:9px;color:#849089}.lesson-progress .unlock-remaining{display:block;color:#6f8090;font-size:10px;margin-top:2px}.lesson-progress button{display:block;min-height:28px;padding:4px 0;font-size:10px;color:#346d94}.lesson-progress~.phase-row{top:58px}.completion-summary{padding:13px 14px;background:#eef7f2;border:1px solid #bad6c8;border-radius:10px;margin:12px 0 15px;color:#315a45}.completion-summary>strong{display:block;font-size:14px;line-height:1.7}.completion-summary p{font-size:11px;line-height:1.7;margin:6px 0 10px}.completion-next{margin:10px 0;padding-top:9px;border-top:1px solid #d5e5dc}.completion-next small{display:block;font-size:10px;color:#74877b;margin-bottom:3px}.completion-next span{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;font-size:12px;line-height:1.7;color:#475e51}.completion-actions{display:flex;flex-wrap:wrap;gap:5px;margin-top:12px}.completion-actions button{font-size:12px;min-height:40px;padding:9px 12px;border-radius:19px}.completion-actions .quiet{font-size:11px}.completion-summary:not([hidden])~#question{font-size:15px;background:#f8faf9;color:#74837b;border-left-color:#c6d7cc}@media(max-width:550px){.lesson-progress strong{font-size:10px}.lesson-progress>div{gap:2px 6px}.progress-definition{font-size:8px}}
#lesson-actions .completion-action:not(.check-answer){background:#346f55;color:#fff;border-color:#346f55;font-weight:600}#lesson-actions .completion-action:not(.check-answer):hover{background:#285941}
/* Ticket practice keeps the road clear; mouse orbit and C still change views. */
body[data-screen=lesson].practicing #view-controls #camera-label,
body[data-screen=lesson].practicing #view-controls #camera-cycle,
body[data-screen=lesson].practicing #view-controls #pause{display:none}

/* Shared driving controls keep descriptive names for assistive technology. */
body[data-screen=lesson] #view-controls #camera-label{display:none}
body[data-screen=lesson] #view-controls .icon-control{display:grid;place-items:center;width:44px;height:44px;min-height:44px;min-width:44px;padding:11px;border-radius:10px}
#feedback-lesson.feedback-link{display:flex;align-items:center;gap:8px;background:#edf1ff;color:#433f92;border:1px solid #c4caed;border-radius:10px;font-size:12px;font-weight:600;min-height:44px;padding:10px 12px;cursor:pointer}
#feedback-lesson.feedback-link:hover{background:#e0e6ff;border-color:#969fda}
#feedback-lesson.feedback-link:focus-visible{outline:3px solid #8a95db;outline-offset:3px}
#feedback-lesson.feedback-link svg{width:18px;height:18px;flex-shrink:0;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;pointer-events:none}
/* City entry is a small car control, distinct from answer choices. */
#lesson-free.lesson-city-link{display:grid;place-items:center;flex-shrink:0;width:44px;height:44px;min-width:44px;min-height:44px;padding:10px;border:1px solid #167b78;border-radius:11px;background:#177b78;color:#fff;box-shadow:0 2px 5px #124f4d26}
#lesson-free.lesson-city-link:hover{background:#116763;border-color:#116763}
#lesson-free.lesson-city-link:focus-visible{outline:3px solid #7abcb8;outline-offset:3px}

body[data-screen=lesson] #pause[aria-pressed=true],body[data-screen=free] #pause[aria-pressed=true]{background:#177b78;border-color:#7abcb8}

/* A light game accent in free drive without adding labels over the road. */
body[data-screen=free] #minimap{border:2px solid #cde9ac;box-shadow:0 0 0 4px #0a3545a3,0 8px 24px #051b2f66}
body[data-screen=free] #score-display{color:#e5f6a7}
body[data-screen=free] .speed b{color:#f4ffe3;text-shadow:0 0 14px #7cdbbd85,0 2px 6px #071b2a}
body[data-screen=free] #view-controls .icon-control,
body[data-screen=free] #drive-controls .icon-control,
body[data-screen=free] #weather-controls .icon-control,
body[data-screen=free] #city-map{background:#102d3de8;border:1px solid #a7d3ba75;box-shadow:0 3px 12px #071b2f3a}
body[data-screen=free] #view-controls .icon-control:hover,
body[data-screen=free] #drive-controls .icon-control:hover,
body[data-screen=free] #weather-controls .icon-control:hover,
body[data-screen=free] #city-map:hover{background:#1c5e63}
body[data-screen=free] #drive-controls [aria-pressed=true]{background:#a7d985!important;color:#123831!important;border-color:#e5f5a5!important}

/* Source illustration belongs to the question, ahead of answer choices. */
#question + #evidence-image{margin:0 0 14px;border:1px solid #e1e8eb}
body[data-screen=lesson].practicing #evidence-image{display:none}
#lesson-free.lesson-city-link{position:relative}
#lesson-free .city-entry-dot{position:absolute;right:-3px;top:-3px;width:10px;height:10px;border:2px solid #fff;border-radius:50%;background:#e63748;pointer-events:none;box-shadow:0 1px 3px #19302a33}

.reset-confirm{display:flex;align-items:flex-start;gap:9px;font-size:13px;line-height:1.7;margin:18px 0;color:#566570}.reset-confirm input{flex-shrink:0;width:18px;height:18px;margin-top:3px}.reset-actions{display:flex;gap:8px;flex-wrap:wrap;margin:14px 0}.reset-danger{background:#a9434e;color:#fff;border-color:#a9434e}.reset-danger:disabled{opacity:.45;cursor:not-allowed}.reset-restore{padding-top:14px;border-top:1px solid #e3e8eb;margin-top:18px;font-size:13px}.reset-restore summary{cursor:pointer}

.lesson-progress .progress-definition{font-size:10px;color:#697d78}.lesson-progress strong{font-size:12px;font-weight:600}#tour-progress .practice-progress{display:block;color:#697d78}

/* Answer navigation is separate from optional demonstrations and practice. */
#ticket-navigation{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:12px 0;margin:4px 0;border-bottom:1px solid #e1e9e5}
#ticket-navigation[hidden]{display:none}
#ticket-navigation button{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:44px;padding:10px 13px;font-size:12px;border-radius:12px}
#ticket-navigation button[hidden]{display:none}
#ticket-navigation svg{width:18px;height:18px;flex-shrink:0;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
#ticket-navigation .ticket-skip{background:transparent;color:#667686;border:1px dashed #bdc9d1}
#ticket-navigation .ticket-next{margin-left:auto;background:#2e7057;border-color:#2e7057;color:white;font-weight:600}
#ticket-navigation .ticket-next:disabled{background:#edf1f4;color:#82909b;border-color:#dce4e9;cursor:not-allowed}
#lesson-progress #lesson-next-tour{padding:7px 10px;font-size:11px;min-height:34px;margin-top:5px;border-radius:9px;color:white}

.steering-views{display:flex;align-items:center;gap:6px;flex-wrap:wrap;margin:10px 0 13px}.steering-views[hidden],body.practicing .steering-views{display:none}.steering-views small{width:100%;font-size:11px;color:#697b88}.steering-views button{min-height:36px;padding:6px 12px;border-radius:18px;font-size:12px;background:#edf5fb;border-color:#c4d9e5;color:#41677f}.steering-views button[aria-pressed="true"]{background:#d5e8f4;border-color:#7ca9c3}

.run-ended{text-align:center;padding:12px 0}.run-ended-score{display:inline-grid;place-items:center;width:80px;height:80px;border-radius:50%;font-size:40px;font-weight:750;color:#b8333e;background:#fbe8eb;margin-bottom:8px}.run-ended .primary{width:100%;margin-top:16px}

/* Discoverable map and compact low-balance recovery. */
#city-map::after{content:'';position:absolute;right:2px;top:2px;width:8px;height:8px;border-radius:50%;background:#ef3340;box-shadow:0 0 0 3px #fff;animation:map-notice 2.2s ease-in-out infinite}
@keyframes map-notice{50%{box-shadow:0 0 0 5px #ef334033}}
@media(prefers-reduced-motion:reduce){#city-map::after{animation:none}}
.invite-low-points{font-size:11px!important;padding:5px 9px!important;background:#fff0dc!important;color:#774913!important;border:1px solid #e4bc76!important;border-radius:20px!important}
.invite-recovery{background:#e3f4ed;color:#153e33;width:100%;margin:12px 0}

/* Compact non-modal analytics preference, kept away from driving controls. */
#analytics-notice{position:fixed;bottom:max(16px,env(safe-area-inset-bottom));left:50%;transform:translateX(-50%);z-index:100;width:min(640px,calc(100vw - 24px));box-sizing:border-box;display:flex;align-items:center;gap:16px;padding:14px 16px;background:#fff;color:#23333b;border:1px solid #dbe1e5;border-radius:16px;box-shadow:0 8px 32px #10273324;font-size:12px;line-height:1.5}
#analytics-notice[hidden],body[data-screen="free"] #analytics-notice,body[data-screen="lesson"] #analytics-notice{display:none}
#analytics-notice strong{font-size:12px}#analytics-notice p{margin:3px 0;font-size:11px;color:#56636c}#analytics-notice summary{font-size:11px;cursor:pointer}#analytics-notice details p{max-height:90px;overflow:auto}
.analytics-notice-actions{display:flex;align-items:center;gap:6px;flex-shrink:0}#analytics-notice button{font-size:11px;padding:8px 10px;min-height:36px;border-radius:9px}#analytics-dismiss{font-size:18px!important;padding:4px 8px!important}
@media(max-width:600px){#analytics-notice{align-items:flex-start;gap:8px;flex-direction:column;padding:12px}.analytics-notice-actions{width:100%}#analytics-dismiss{margin-left:auto}}


/* home-dashboard.css */
/* Home has its own restrained layout; driving and lesson HUDs are unchanged. */
.sr-only{position:absolute!important;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
body[data-screen=home]{background:#f5f5f2;color:#20332f}
body[data-screen=home] .shade{background:#f5f5f2}
body[data-screen=home] header{background:#f5f5f2ed;border-bottom:1px solid #e5e8e3;padding:15px max(4%,calc((100vw - 1360px)/2));height:76px}
body[data-screen=home] .brand b{color:#26735f}
body[data-screen=home] #score-display{display:none}
body[data-screen=home] #profile{border-radius:24px;background:#fff;border-color:#dde4df;max-width:200px;padding:9px 16px}
body[data-screen=home] #home-panel{top:76px;left:0;width:100%;height:calc(100dvh - 76px);max-height:none;padding:28px max(4%,calc((100vw - 1360px)/2)) 36px;overflow:auto;scrollbar-gutter:stable;scroll-behavior:smooth}
#home-panel .eyebrow{font-size:10px;line-height:1.7;letter-spacing:.25px;color:#75867e;font-weight:500}
#home-panel .home-welcome{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:22px}
#home-panel .home-welcome p{font-size:20px;line-height:1.6;margin:3px 0 0;font-weight:500;letter-spacing:-.35px}
#home-panel .home-welcome button{font-size:12px;color:#536b60}
.home-stage{display:grid;grid-template-columns:minmax(0,1fr) 316px;gap:20px;align-items:stretch}
.home-hero{position:relative;min-height:420px;border-radius:22px;overflow:hidden;background:#284c45;isolation:isolate;color:#fff;display:flex;flex-direction:column;padding:25px 30px 12px}
.home-hero #intro-film{z-index:-2;background:#284c45}
.home-hero #intro-film .city-slide{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:55% 50%;opacity:0;transform:scale(1.055);transition:opacity 1.6s ease;will-change:opacity}
.home-hero #intro-film .city-slide.is-active{opacity:1;animation:city-photo-drift 12s ease-out both}
.home-hero #intro-film .city-slide:nth-child(2){object-position:60% 50%}
.home-hero .hero-shade{position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,#0d272bdd 0%,#122c2c83 54%,#102d2910 100%),linear-gradient(0deg,#102e319c,transparent 70%)}
.hero-topline{display:flex;justify-content:space-between;gap:12px;align-items:center}
.hero-badge{font-size:10px;line-height:1.6;border:1px solid #ffffff45;border-radius:20px;background:#122d2e40;padding:7px 11px;backdrop-filter:blur(6px)}
.hero-location{font-size:10px;color:#fff;text-shadow:0 1px 6px #163126}
.hero-copy{margin:auto 0;padding:32px 0 20px;max-width:580px}
.home-hero h1{color:#fff;font-size:clamp(27px,3vw,43px);font-weight:500;line-height:1.5;letter-spacing:-.7px;margin:0 0 12px;text-shadow:0 2px 15px #0c2a2225}
.home-hero .hero-copy p{font-size:13px;color:#ecf2ef;line-height:1.9;margin:0 0 23px;max-width:450px}
.home-hero .home-actions{gap:9px}
.home-hero .home-actions button{padding:12px 17px;min-height:46px;font-size:12px;border-radius:10px;border-color:#ffffff70;background:#1d3d3659;color:#fff;backdrop-filter:blur(8px)}
.home-hero .home-actions button.primary{background:#f5f8f1;border-color:#f5f8f1;color:#244d3f;font-weight:600;box-shadow:0 4px 20px #102d2920}
.home-hero .home-actions button:hover{background:#3f615ab5}.home-hero .home-actions button.primary:hover{background:#fff}
.home-hero #intro-caption{position:relative;inset:auto;padding:0;display:flex;justify-content:space-between;align-items:center;text-align:left;background:none;text-shadow:0 1px 3px #0003;font-size:9px;color:#e4ece6;gap:10px;min-height:34px}
.film-controls{display:flex;align-items:center;gap:0}
.film-controls button{display:grid;place-items:center;width:30px;height:34px;min-height:34px;padding:6px;border:0;background:transparent;color:#fff;border-radius:8px}
.film-controls button i{display:block;width:5px;height:5px;border-radius:4px;background:#ffffff7a;transition:width .3s,background .3s}
.film-controls button[aria-pressed=true] i{width:19px;background:#fff}.film-controls button:hover{background:#ffffff1a}
.film-controls #city-film-pause{margin-left:5px;width:34px;border:1px solid #ffffff40}
.film-controls svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.8}
.home-hero.film-still #intro-film .city-slide{animation-play-state:paused}
@keyframes city-photo-drift{from{transform:scale(1.035) translateX(-.5%)}to{transform:scale(1.105) translateX(.6%)}}
.learner-card{border:1px solid #e1e7df;border-radius:22px;background:#fff;padding:22px;min-width:0;display:flex;flex-direction:column;justify-content:space-between}
.learner-identity{display:flex;align-items:center;gap:11px}
.learner-avatar{display:grid;place-items:center;flex-shrink:0;width:43px;height:43px;border-radius:50%;background:#edf3e9;color:#497055;font:500 21px Georgian,system-ui}
.learner-avatar svg{width:23px;height:23px}
.learner-identity>div{min-width:0;flex:1}
#home-panel .learner-identity h2{font-size:16px;line-height:1.65;margin:1px 0;overflow-wrap:anywhere;font-weight:600}
.learner-identity .icon-control{display:grid;place-items:center;flex-shrink:0;min-height:36px;width:36px;padding:7px;border:0;color:#708475;background:transparent}
.profile-create{width:100%;font-size:11px;min-height:35px;margin:11px 0 0;background:#f1f6ee;border-color:#dde9d5;color:#3e694b}
.learner-progress{margin:22px 0 17px}
.learner-progress>div{display:flex;justify-content:space-between;align-items:baseline;gap:8px;font-size:11px;color:#52665b}
.learner-progress b{font:600 21px system-ui;color:#2a4536}
.learner-progress b small{font:400 12px system-ui;color:#88958d}
.learner-progress progress{height:5px;margin:9px 0 6px;background:#eaf0e8}
.learner-progress progress::-webkit-progress-bar{background:#eaf0e8}.learner-progress progress::-webkit-progress-value{background:#62906b}
.learner-progress>small{font-size:9px;color:#7b897f}
.learner-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:0 0 20px}
.learner-stats>div+div{border-left:1px solid #e7ece5;padding-left:15px}
.learner-stats dt{font-size:10px;color:#7d8b81}.learner-stats dd{font:500 24px/1.6 system-ui;margin:0;color:#304838}
.study-week{border-top:1px solid #e8ede5;padding-top:18px}
.streak-heading{display:flex;justify-content:space-between;gap:4px;align-items:center}
.streak-heading>span{display:flex;align-items:center;gap:6px;font-size:11px;font-weight:500;color:#426548}
.streak-heading b{font-weight:500}.streak-heading svg{width:17px;height:19px;color:#b87645}.streak-heading small{font-size:9px;color:#7d8b81}
.week-days{display:grid;grid-template-columns:repeat(7,1fr);gap:6px;margin:14px 0 10px}
.week-day{display:flex;flex-direction:column;gap:7px;align-items:center;font-size:9px;color:#7c8b81}
.week-day b{display:grid;place-items:center;width:27px;height:27px;border-radius:50%;background:#f2f5ef;color:#a0ad9e;font:16px system-ui}
.week-day svg{width:15px;height:15px}.week-day.today b{outline:1px solid #608668;outline-offset:3px}.week-day.today i{width:5px;height:5px;background:#63886b;border-radius:50%}
.week-day.studied b{background:#527b5c;color:white}.week-day.future-day{opacity:.55}
#home-panel .study-week p{font-size:9px;line-height:1.8;color:#7d8b81;margin:12px 0 0}
#home-panel .text-link{display:inline-flex;align-items:center;gap:5px;background:transparent;border:0;box-shadow:none;border-radius:8px;color:#47705c;font-size:11px;padding:8px 0;min-height:36px;line-height:1.65;text-align:left}
#home-panel .text-link:hover{color:#204d37;text-decoration:underline;text-underline-offset:4px}
#home-panel #home-statistics{justify-content:space-between;margin-top:12px;width:100%;font-size:10px}
.learning-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;padding:23px 26px;margin:0 0 16px;border-bottom:1px solid #e0e6dc}
.learning-steps>div{display:flex;align-items:center;gap:12px}.learning-steps>div>span{font:500 12px system-ui;color:#899c86;width:28px;height:28px;border:1px solid #dce4d8;border-radius:50%;display:grid;place-items:center;flex-shrink:0}
.learning-steps p{margin:0;font-size:11px;line-height:1.6}.learning-steps b{display:block;font-weight:500;color:#3c5145}.learning-steps small{display:block;font-size:10px;color:#7b897f;margin-top:3px}
.home-content-grid{display:grid;grid-template-columns:minmax(0,1fr) 316px;gap:30px;padding-top:8px;align-items:start}
#home-panel .section-heading{align-items:center;margin-bottom:16px;gap:12px}#home-panel .section-heading h2{font-size:19px;color:#263f31;font-weight:500;margin:3px 0 0}
#topics-heading span{font:400 11px system-ui;color:#859582;vertical-align:middle;border:1px solid #dce5d8;border-radius:12px;padding:3px 7px;margin-left:5px}
.topic-search{display:flex;align-items:center;gap:8px;color:#88998b;width:190px;padding:7px 11px;background:#fff;border:1px solid #e0e6dc;border-radius:10px}
.topic-search svg{width:16px;height:16px;flex-shrink:0;fill:none;stroke:currentColor;stroke-width:1.6}.topic-search input{width:100%;min-width:0;border:0;background:transparent;font:11px Georgian,system-ui;padding:3px 0;color:#304d3d;min-height:22px}
.topic-search:focus-within{outline:2px solid #63947a;outline-offset:2px}.topic-search input:focus-visible{outline:none}
.home-next-step{padding:12px 15px;border:1px solid #d8e3d1;border-radius:12px;background:#eaf0e4;display:flex;align-items:center;gap:12px;margin-bottom:14px;cursor:pointer}
.home-next-step[hidden]{display:none}
.home-next-step:focus-visible{outline:3px solid #1A1650;outline-offset:3px}
.home-next-arrow{font-size:20px;color:#46633b;margin-left:auto;flex-shrink:0}
.home-next-step .next-mark{display:grid;place-items:center;flex-shrink:0;border-radius:50%;width:32px;height:32px;background:#fff8;color:#64845b}
.next-mark svg{width:17px;height:17px}.home-next-step>div{flex:1;min-width:0}
.home-next-step b{font-size:11px;font-weight:500;line-height:1.65;color:#334e31;display:block}.home-next-step small{font-size:9px;line-height:1.7;color:#6e8166;display:block;margin-top:3px}
#home-panel .home-next-step button{min-height:36px;flex-shrink:0;font-size:11px;border-color:#c5d6bb;color:#46633b;background:#f7faf3;padding:7px 12px}
.topic-toolbar{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px;gap:10px}
.topic-filters{display:flex;gap:4px}.topic-filters button{font-size:10px;background:transparent;border:0;min-height:34px;border-radius:8px;padding:7px 10px;color:#758576}.topic-filters button[aria-pressed=true]{background:#e5ece0;color:#3d5e35;font-weight:600}
#home-progress{font-size:9px;color:#84917e;white-space:nowrap}
#home-panel .chapter-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 22px;margin:0}
#home-panel .chapter-card{display:flex;flex-direction:row;align-items:center;gap:11px;position:relative;text-align:left;padding:14px 4px;min-height:85px;background:transparent;border:0;border-bottom:1px solid #e0e6dc;border-radius:0;box-shadow:none;overflow-wrap:normal}
#home-panel .chapter-card:hover{background:#fff7;border-bottom-color:#a7bf9b}.chapter-card .chapter-copy{flex:1;min-width:0}
#home-panel .chapter-card .ordinal{position:static;flex-shrink:0;color:#79916f;font:500 11px system-ui;align-self:flex-start;margin-top:3px;min-width:18px}
#home-panel .chapter-card strong{font-size:11px;font-weight:500;line-height:1.8;display:block;color:#3a4e3b}
#home-panel .chapter-card small{font-size:9px;line-height:1.75;margin:4px 0 0;display:block;color:#7f8e7b}
#home-panel .chapter-card progress{height:2px;margin-top:7px;background:#e5ecdf}.chapter-card progress::-webkit-progress-value{background:#799b6f}
.chapter-state{color:#a1b096;flex-shrink:0}.chapter-state svg{width:15px;height:15px}
#home-panel .chapter-locked strong{color:#7a8674}#home-panel .chapter-locked .ordinal{color:#9ba890}#home-panel .chapter-locked .chapter-state{color:#a5af9d}
#home-panel .chapter-current strong{color:#355b32}.chapter-current .ordinal{font-weight:700!important}
#home-panel #topics-expand{display:flex;justify-content:center;width:100%;margin-top:10px;font-size:11px}
#home-panel .chapter-unlock-note{font-size:9px;line-height:1.8;color:#88937f;margin:8px 0 20px;text-align:center}
#topics-empty{font-size:12px;color:#73866e;padding:24px 8px}
.home-ranking{padding:18px 21px;border:1px solid #e0e6dc;border-radius:17px;background:#fff8}
#home-panel .home-ranking .section-heading{margin-bottom:0}#home-panel .home-ranking h2{font-size:15px}#home-panel .home-ranking .text-link{font-size:10px}
#home-panel .ranking-scope{font-size:9px;color:#83937e;margin:1px 0 13px;line-height:1.7}
#home-leaderboard{list-style:none;margin:0 0 6px;padding:0}#home-leaderboard li{display:flex;align-items:center;gap:10px;padding:11px 0;border-bottom:1px solid #e8ede3;font-size:11px;min-width:0}
#home-leaderboard .rank{color:#7e9073;font:500 12px system-ui;min-width:14px}
#home-leaderboard li>span:nth-child(2){flex:1;min-width:0;overflow-wrap:anywhere;color:#485b3f}#home-leaderboard small{font-size:9px;color:#92a085;margin-left:5px}
#home-leaderboard b{font:500 16px system-ui;color:#4c6741;white-space:nowrap}#home-leaderboard b small{font:9px Georgian;display:block;text-align:right;margin:2px 0 0}
.home-review-card{padding:24px 7px 10px}#home-panel .home-review-card h2{font-size:16px;font-weight:500;line-height:1.7;margin:5px 0 8px}#home-panel .home-review-card p{font-size:11px;line-height:1.8;color:#809075;margin:0}
#home-panel .home-footer{border-color:#e0e6da;padding-top:14px;margin-top:16px;display:flex;justify-content:space-between;align-items:flex-start;gap:12px}
#home-panel .home-footer nav button{font-size:10px;color:#7b8c73}#home-panel .home-footer .future{margin:0;font-size:10px;max-width:320px;color:#8e9b86}
.profile-personal-stats{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;margin:18px 0}.profile-personal-stats div{padding:14px;border-radius:12px;background:#f3f6f0}.profile-personal-stats b{display:block;font:500 24px system-ui;color:#496845}.profile-personal-stats small{font-size:11px;color:#788971;display:block;margin-top:5px}
#home-launch-status{display:block;font-size:11px;line-height:1.8;margin-top:10px;color:#fff}
#home-panel .eyebrow,#home-panel .learner-progress>small,#home-panel .learner-stats dt,#home-panel .study-week p,#home-panel .learning-steps small,#home-panel .chapter-card small,#home-panel .chapter-unlock-note,#home-progress,#home-panel .ranking-scope{color:#667561}
#home-panel .week-day{color:#65755f}#home-panel .week-day.future-day{opacity:1}#home-panel .chapter-locked strong{color:#697562}
.personal-week{padding:15px 0;border-top:1px solid #e4eadf}.personal-week p{font-size:12px!important}.personal-week .week-days{max-width:330px}
@media(min-width:1450px){.home-hero{min-height:450px}.hero-copy{padding-top:42px}.home-stage,.home-content-grid{grid-template-columns:minmax(0,1fr) 340px}.learner-card{padding:25px}.hero-copy h1{font-size:45px}}
@media(max-width:1050px){.home-stage,.home-content-grid{grid-template-columns:minmax(0,1fr) 285px;gap:18px}.home-hero{padding:21px 23px 10px}.home-hero h1{font-size:30px}.home-hero .hero-copy p{font-size:12px}.hero-location{display:none}.learner-card{padding:19px}.learner-stats>div+div{padding-left:10px}.streak-heading{flex-wrap:wrap;gap:6px}.week-days{gap:4px}.learning-steps{padding:22px 6px;gap:15px}#home-panel .chapter-grid{grid-template-columns:1fr}#home-panel .chapter-card{min-height:71px;padding:12px 4px}}
@media(max-width:740px){body[data-screen=home] header{height:68px;padding:12px 5%}body[data-screen=home] #home-panel{top:68px;height:calc(100dvh - 68px);padding:20px 5% 25px}#home-panel .home-welcome{margin-bottom:17px}#home-panel .home-welcome p{font-size:17px}#home-panel .home-welcome .eyebrow{display:none}#home-panel .home-welcome button{font-size:10px;padding:5px}.home-stage{grid-template-columns:1fr;gap:16px}.home-hero{min-height:370px;padding:22px 24px 10px}.home-hero h1{font-size:35px}.hero-location{display:block}.learner-card{padding:20px;min-height:0}.learner-card #home-learner{display:grid;grid-template-columns:1fr 1fr;gap:0 26px}.learner-identity{grid-column:1/-1;margin-bottom:4px}.learner-progress{margin:15px 0 0;grid-column:1}.learner-stats{grid-column:1;margin:14px 0 0}.study-week{grid-column:2;grid-row:2 / span 2;border-top:0;padding-top:16px}.profile-create{grid-column:1/-1}#home-panel #home-statistics{margin:13px 0 0;font-size:10px;justify-content:flex-end;gap:8px}.learning-steps{grid-template-columns:repeat(3,1fr);gap:15px;padding:21px 0;margin-bottom:12px}.learning-steps>div{align-items:flex-start;gap:7px}.learning-steps>div>span{width:24px;height:24px;font-size:10px}.learning-steps p{font-size:10px}.learning-steps small{font-size:9px}.home-content-grid{grid-template-columns:1fr;gap:14px}.home-side{display:grid;grid-template-columns:1fr 1fr;gap:16px}.home-review-card{padding:15px 6px}.home-ranking{padding:15px 17px}#home-panel .chapter-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:0 17px}#home-panel .chapter-card{min-height:87px}.home-next-step b{font-size:11px}#home-panel .home-footer{display:block}.home-footer .future{margin-top:8px!important}}
@media(max-width:450px){body[data-screen=home] #profile{max-width:136px;font-size:11px;padding:7px 12px}.home-hero{min-height:355px;padding:19px 20px 9px;border-radius:17px}.home-hero h1{font-size:29px;letter-spacing:-.5px}.home-hero .hero-copy p{font-size:11px;line-height:1.9}.hero-copy{padding:30px 0 17px}.hero-location{display:none}.hero-badge{font-size:9px}.home-hero .home-actions{gap:7px}.home-hero .home-actions button{font-size:10px;min-height:43px;padding:10px 11px;flex:initial}.home-hero #intro-caption{font-size:8px}.film-controls button{width:24px}.film-controls #city-film-pause{width:29px}.learner-card{padding:19px 17px;border-radius:17px}.learner-card #home-learner{column-gap:16px}.learner-identity{gap:9px}.learner-avatar{height:38px;width:38px}.learner-progress b{font-size:18px}.learner-progress>div{font-size:10px}.learner-progress b small{font-size:10px}.learner-progress>small{font-size:8px;line-height:1.75}.learner-stats{gap:5px}.learner-stats>div+div{padding-left:7px}.learner-stats dt{font-size:8px}.learner-stats dd{font-size:20px}.streak-heading>span{font-size:10px}.streak-heading svg{display:none}.streak-heading small{font-size:8px}.week-days{gap:3px;margin-top:12px}.week-day{font-size:7px;gap:6px}.week-day b{width:17px;height:17px;font-size:12px}.week-day svg{width:12px;height:12px}.week-day.today b{outline-offset:2px}#home-panel .study-week p{font-size:8px}.learning-steps{gap:10px}.learning-steps>div{display:block}.learning-steps p{margin-top:7px}.learning-steps b{font-size:10px}#home-panel .section-heading h2{font-size:17px}.topic-search{width:154px;padding:7px 9px}.topic-search input{font-size:10px}#home-panel .chapter-grid{grid-template-columns:1fr}.chapter-unlock-note{text-align:left!important}#home-panel .chapter-card{min-height:70px}#home-panel .chapter-card strong{font-size:12px}#home-panel .chapter-card small{font-size:9px}.home-next-step{padding:12px;gap:8px}.home-next-step .next-mark{display:none}#home-panel .home-next-step button{font-size:10px;padding:7px 10px}.home-side{gap:15px}.home-ranking{padding:14px 12px}#home-panel .home-ranking h2{font-size:14px}#home-panel .ranking-scope{font-size:8px}#home-leaderboard li{font-size:10px;gap:6px}#home-leaderboard b{font-size:14px}#home-leaderboard small{font-size:8px}#home-panel .home-review-card h2{font-size:14px}#home-panel .home-review-card p{font-size:10px}.home-review-card{padding:15px 0}.home-footer nav button{padding:6px!important}}
@media(prefers-reduced-motion:reduce){.home-hero #intro-film .city-slide.is-active{animation:none}.home-hero #intro-film .city-slide{transition:none}body[data-screen=home] #home-panel{scroll-behavior:auto}}
/* Keep the weekly calendar legible on small phones, without squeezed columns. */
@media(max-width:450px){
 .learner-card #home-learner{display:block}.learner-identity{margin-bottom:16px}
 .learner-progress{margin:14px 0 16px}.learner-progress>div{font-size:11px}.learner-progress>small{font-size:9px}.learner-progress b{font-size:22px}
 .learner-stats{margin:0 0 18px;gap:14px}.learner-stats dt{font-size:10px}.learner-stats dd{font-size:24px}.learner-stats>div+div{padding-left:17px}
 .study-week{border-top:1px solid #e8ede5;padding-top:17px}.streak-heading>span{font-size:12px}.streak-heading svg{display:block}.streak-heading small{font-size:10px}
 .week-days{gap:9px;margin-top:15px}.week-day{font-size:9px;gap:8px}.week-day b{width:28px;height:28px}.week-day svg{width:16px;height:16px}.week-day.future-day{opacity:.8}
 #home-panel .study-week p{font-size:10px}#home-panel #home-statistics{font-size:11px}
}
/* A game opening: the actual playable car over the changing Tbilisi backdrop. */
.home-welcome-actions{display:flex;align-items:center;gap:15px;flex-wrap:wrap;justify-content:flex-end}
#home-panel .invite-friends{display:flex;align-items:center;gap:7px;border:1px solid #d3dfd4;background:#fff8;border-radius:20px;padding:8px 13px;min-height:37px;color:#3a6650;font-size:11px}
.invite-friends svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.6}
.home-hero{min-height:465px;background:#14272c}
.home-hero #intro-film .city-slide{filter:saturate(.7) brightness(.66)}
.home-hero .hero-shade{background:linear-gradient(90deg,#071c28ec 0%,#11252bd0 39%,#14313318 100%),linear-gradient(0deg,#091f2df7 0%,transparent 80%)}
.hero-topline,.hero-copy{position:relative;z-index:2}
.hero-badge{display:inline-flex;align-items:center;gap:7px;background:#0d283c85;border-color:#bbefdd55}
.hero-badge svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linejoin:round}
.hero-location{opacity:.8}.home-hero .hero-copy{max-width:55%;padding:50px 0 38px}
.home-hero h1{font-size:clamp(27px,2.6vw,39px);line-height:1.55}
.home-hero .hero-copy p{font-size:12px}.home-hero .home-actions{flex-wrap:nowrap;white-space:nowrap}
.home-hero .home-actions button.primary{background:#ddf29d;border-color:#ddf29d;color:#233b27}.home-hero .home-actions button.primary:hover{background:#eefacb}
.hero-game-stage{position:absolute;right:-3%;bottom:31px;width:64%;height:85%;pointer-events:none;opacity:0;transition:opacity 1s;z-index:1}
.game-preview-ready .hero-game-stage{opacity:1}
#home-game-car{position:absolute;inset:0;width:100%;height:100%;display:block;z-index:1}
.game-car-caption{position:absolute;bottom:3%;right:14%;color:#c7decfba;font-size:9px;letter-spacing:.3px}
.game-road-perspective{position:absolute;bottom:8%;left:3%;width:105%;height:55%;transform:perspective(360px) rotateX(67deg) rotateZ(-20deg);background:linear-gradient(90deg,transparent,#08151db8 8%,#294045d9 50%,#0a1923cf 94%,transparent);border-top:1px solid #adc7c557;border-bottom:1px solid #adc7c55c;mask-image:linear-gradient(90deg,transparent,#000 15%,#000 85%,transparent)}
.game-road-perspective:after{content:'';position:absolute;inset:50% 0 auto;height:3px;background:repeating-linear-gradient(90deg,#d8e9da99 0 22px,transparent 22px 48px)}
#home-panel .home-ranking h2{font-size:13px}.friend-invite input{width:100%;padding:12px;border:1px solid #d9e3e0;border-radius:9px;margin:8px 0 12px;background:#f4f8f5;font:13px system-ui;color:#29493e}.friend-invite label{font-size:12px}.friend-invite small{display:block;line-height:1.8;color:#607465;font-size:12px}.friend-invite .invite-local-note{background:#f4f0df;border-radius:10px;padding:12px;color:#78602e!important;font-size:12px!important;line-height:1.8}
@media(min-width:1450px){.home-hero{min-height:490px}.home-hero h1{font-size:42px}}
@media(min-width:741px) and (max-width:1050px){.home-hero .hero-copy{max-width:75%;padding:28px 0 135px}.home-hero h1{font-size:29px}.hero-game-stage{width:77%;right:-12%;height:72%;bottom:16px}.home-hero .home-actions{position:relative;z-index:2}.home-hero .hero-copy p{max-width:240px}}
@media(max-width:740px){.home-welcome-actions{gap:4px;flex-direction:column;align-items:flex-end}#home-panel .invite-friends{font-size:10px;padding:6px 10px;min-height:32px}.home-hero{min-height:505px;padding:19px 20px 9px}.home-hero .hero-copy{max-width:100%;margin:0;padding:22px 0 230px}.home-hero h1{font-size:29px;line-height:1.5;max-width:330px;margin-bottom:10px}.home-hero .hero-copy p{font-size:11px;max-width:280px}.home-hero .home-actions{position:absolute;top:calc(100% - 71px);left:0;right:0;gap:7px}.home-hero .hero-copy .home-actions button{padding:11px 12px;font-size:11px}.home-hero #intro-caption{margin-top:auto}.hero-game-stage{width:110%;right:-9%;height:280px;bottom:58px}.game-car-caption{bottom:5%;right:17%}.hero-location{display:none}.home-hero .hero-shade{background:linear-gradient(180deg,#0b253deb,#14303358 55%,#091f2df7 100%)}#home-launch-status{position:absolute;bottom:9px;left:0;font-size:10px}.hero-copy .home-actions{z-index:3}}
@media(prefers-reduced-motion:reduce){.hero-game-stage{transition:none}}
@media(max-width:450px){
 body[data-screen=home] #home-panel{overflow-x:hidden}
 .home-welcome>div:first-child{min-width:0;flex:1}
 .home-welcome-actions{flex:0 0 auto;max-width:48%}
 .home-welcome-actions .invite-friends{white-space:normal;text-align:center;line-height:1.5}
 .home-hero .hero-copy h1{font-size:clamp(25px,7.4vw,29px)}
 .learning-steps{grid-template-columns:repeat(3,minmax(0,1fr))}
 .learning-steps>div,.home-side>section{min-width:0}
 .home-hero .hero-copy .home-actions{display:grid;grid-template-columns:1fr 1fr}
 .home-hero .hero-copy .home-actions button{white-space:normal}
}
/* The game identity is carried by one accent palette and a compact level HUD. */
body[data-screen=home],body[data-screen=home] .shade{background:#eff4f0}
body[data-screen=home] header{background:#f6faf6f2;border-bottom-color:#dbe8dd}
body[data-screen=home] .brand{font-weight:650;letter-spacing:1.6px}
body[data-screen=home] .brand b{color:#378571}
#home-panel .home-welcome .eyebrow{color:#467f70;letter-spacing:1.2px;text-transform:uppercase}
.home-hero{box-shadow:0 25px 55px #203a3650}
.home-hero .hero-shade{background:linear-gradient(90deg,#0a1d31f2 0%,#102f3ae0 42%,#14313317 100%),linear-gradient(0deg,#071d30ed 0%,transparent 78%)}
.hero-badge{border-color:#b8e3d6a6;background:#103b42d9;color:#effff9}
.hero-level{display:inline-flex;align-items:center;gap:5px;padding:6px 10px;color:#effaf2;background:#0d2a38b7;border:1px solid #b8e3d676;border-radius:10px;font:500 10px system-ui;backdrop-filter:blur(8px)}
.hero-level small{font:500 10px Georgian,system-ui;color:#d4e2db;margin-right:3px}
.hero-level strong{color:#dff399;font:650 21px/1 system-ui}.hero-level-divider{opacity:.55}
.home-hero .home-actions button.primary{box-shadow:0 8px 24px #d8f67d46,0 2px 0 #b6d76e}
.home-hero .home-actions button.primary:hover{box-shadow:0 8px 30px #d8f67d8a}
.learner-card{border-color:#d3e3d8;box-shadow:0 12px 24px #335a4a0d}
.learner-avatar{background:#dff19d;color:#244b3f}
.learner-progress progress::-webkit-progress-value{background:#a4c659}
.learner-stats>div:first-child dd{color:#247f70}
.week-day.studied b{background:#2d7d6c}
.home-next-step{border-color:#c9ddbc;background:linear-gradient(110deg,#e2f3cc,#edf7ea)}
#home-panel .chapter-card.chapter-current{box-shadow:inset 3px 0 #8bc988;padding-left:10px;background:#e5f0e354}
#home-panel .chapter-card.chapter-current strong{font-weight:600}
#home-panel .topic-filters button[aria-pressed=true]{background:#d9edce;color:#23584a}
#home-panel .home-ranking{background:#fbfdfa;border-color:#d9e5dc}
#home-panel .invite-friends{border-color:#b9ddc7;color:#217364;background:#edf8ec}
#home-panel .invite-friends:hover{background:#dff0de}
.film-controls #home-music{width:auto;min-width:93px;padding:5px 8px;margin-right:6px;color:#ebf3ed;border:1px solid #ffffff60;border-radius:9px;font:500 9px Georgian,system-ui;white-space:nowrap;background:#11323c75}
.film-controls #home-music[aria-pressed=true]{color:#e4f99c;border-color:#d9f29d9c;background:#173b41b8}
.tour-restart-confirm p{font-size:13px!important;line-height:1.8;color:#536574}
.tour-restart-confirm .milestone-actions{margin-top:19px}
@media(max-width:740px){.home-hero .hero-shade{background:linear-gradient(180deg,#0c283ceb,#143b3ba8 55%,#071d2cf0 100%)}.hero-level{gap:3px;padding:5px 7px}.hero-level small{font-size:9px}.hero-level strong{font-size:16px}.film-controls #home-music{min-width:82px;font-size:8px;padding:4px 6px;margin-right:2px}}

/* OSM game attribution belongs in the menu, outside the driving canvas. */
.home-map-credit{font-size:12px;line-height:1.5;color:#63716b;text-decoration:none;white-space:nowrap;align-self:center;padding:4px 0}
.home-map-credit:hover,.home-map-credit:focus-visible{color:#293d34;text-decoration:underline}


/* pilot.css */
body.local-pilot .home-content-grid,body.local-pilot .home-side,body.local-pilot .home-footer,body.local-pilot .learner-card,body.local-pilot .home-welcome,body.local-pilot .hero-level,body.local-pilot #score-display,body.local-pilot #invite-low-points{display:none!important}
body.local-pilot .home-stage{display:block;max-width:none}body.local-pilot .home-hero{min-height:460px;max-height:560px;border-radius:24px}body.local-pilot .hero-copy{max-width:620px}body.local-pilot #home-panel{padding-top:22px}body.local-pilot #profile{display:none}body.local-pilot #lesson-progress{display:none}body.local-pilot #lesson-panel{padding-top:20px}body.local-pilot #back-chapter{font-size:0}body.local-pilot #back-chapter::after{content:'10 ბილეთი';font-size:12px}body.local-pilot .source-controls{display:none}body.local-pilot #scene-status{max-width:calc(100vw - 390px);font-size:12px}body.local-pilot #pilot-tickets{margin:24px 0;padding:22px 0}body.local-pilot .learning-steps{margin-top:22px}
.pilot-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:20px}.pilot-heading h2{font-size:22px;line-height:1.5;margin:4px 0;color:inherit}.pilot-heading>span{font-size:11px;color:#65747b}.pilot-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.pilot-card{display:flex;align-items:center;gap:17px;min-height:78px;text-align:left;background:#fff9;border:1px solid #d2dedb;border-radius:14px;padding:15px 18px;transition:transform .15s,background .15s}.pilot-card:hover{background:#fff;transform:translateY(-2px)}.pilot-card>b,.pilot-card span>b{font-size:13px;color:#173439;font-weight:650}.pilot-card small{display:block;font-size:10px;color:#738086;margin-top:7px}.pilot-number{flex-shrink:0;width:31px;font-size:17px;font-weight:750;letter-spacing:-1px;color:#547b76}.pilot-state{margin-left:auto;color:#537b74}.pilot-card.is-correct{border-color:#96c9af;background:#edf6ef}.pilot-card.is-review{border-color:#d6b19b;background:#fbf2eb}.pilot-footnote{font-size:11px;color:#677a7d;line-height:1.7;margin-top:20px;max-width:700px}
#pilot-lesson-bar{position:fixed;left:22px;bottom:22px;z-index:34;display:flex;align-items:center;gap:6px;padding:6px;border:1px solid #ffffff40;background:#122d35e8;backdrop-filter:blur(16px);border-radius:14px;box-shadow:0 8px 24px #00152126;color:#f0f4f5}#pilot-lesson-bar[hidden]{display:none}#pilot-lesson-bar button{border:0;background:#ffffff10;color:#fff;min-width:36px;height:36px;padding:6px 12px;border-radius:9px;font-size:12px}#pilot-lesson-bar button:hover{background:#ffffff25}#pilot-lesson-bar>span{font-size:11px;padding:0 12px;max-width:290px}#pilot-stop{position:fixed;left:24px;top:100px;z-index:21;max-width:340px;border:1px solid #ffffff40;border-radius:16px;padding:19px;background:#122d35ed;backdrop-filter:blur(12px);color:#f2f6f4;box-shadow:0 14px 50px #00152130}#pilot-stop[hidden]{display:none}#pilot-stop>.eyebrow{color:#aacbc1;font-size:9px}#pilot-stop>b{display:block;font-size:13px;line-height:1.6;margin:9px 0}#pilot-stop>small{display:block;font-size:10px;line-height:1.8;color:#bdccd1}#pilot-stop>div{display:flex;gap:6px;margin-top:14px}#pilot-stop button{font-size:10px;padding:10px 12px;border-radius:9px}#pilot-stop .primary{color:#12392e;background:#a7ddbd;border-color:#a7ddbd}#pilot-map-open{width:100%;display:flex;align-items:center;justify-content:center;gap:8px;font-size:10px;border-color:#759c96;background:#163d42;color:#e6f2ed;margin-top:7px}#pilot-map-open svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.6}
.pilot-map-dialog{width:min(780px,calc(100vw - 30px));border:1px solid #d4dfdc;border-radius:22px;background:#f2f5f1;color:#163139;padding:28px}.pilot-map-dialog::backdrop{background:#0c2227bd;backdrop-filter:blur(7px)}.pilot-map-dialog p{font-size:12px;color:#6a7d80;line-height:1.8}.pilot-map-list>div{display:flex;align-items:center;gap:12px;padding:12px 0;border-bottom:1px solid #dce4df}.pilot-map-list b{font-size:12px;flex:1}.pilot-map-list button{font-size:11px;background:#fff;border-color:#c5d4cf;color:#1f4b48}.pilot-map-list button:first-of-type{background:#24594f;color:#fff}.pilot-map-dialog .pilot-heading button{font-size:22px;line-height:1;background:none;border:0;padding:4px}
@media(max-width:800px){body.local-pilot .home-hero{min-height:440px}body.local-pilot .hero-copy{max-width:88%}.pilot-grid{grid-template-columns:1fr}.pilot-heading{align-items:flex-start;flex-direction:column;gap:8px}.pilot-card{padding:14px}#pilot-stop{top:82px;left:12px;max-width:280px;padding:12px}#pilot-lesson-bar{left:12px;bottom:12px;right:12px;width:max-content;max-width:calc(100vw - 24px)}#pilot-lesson-bar>span{max-width:150px;padding:0 4px;font-size:10px}.pilot-map-dialog{padding:20px}.pilot-map-list>div{flex-wrap:wrap}.pilot-map-list b{width:calc(100% - 45px);flex:auto}.pilot-map-list button{margin-left:auto}body.local-pilot #scene-status{max-width:calc(100vw - 28px)}}
@media(prefers-reduced-motion:reduce){.pilot-card{transition:none}.pilot-card:hover{transform:none}}
body.local-pilot #lesson-panel{background:#f3f6f1f5;color:#193339;border:1px solid #d5e1da;border-radius:19px;box-shadow:0 20px 80px #08232a35;backdrop-filter:blur(18px);width:370px;right:18px;top:22px;bottom:88px;padding:20px 18px}body.local-pilot #lesson-panel h2{font-size:18px;line-height:1.62;font-weight:650;color:#18343b;margin:18px 0 13px}body.local-pilot #lesson-panel .kicker{color:#6a807b;font-size:10px;line-height:1.6}body.local-pilot #lesson-panel .lesson-top{gap:8px}body.local-pilot #lesson-panel .lesson-top #lesson-count{font-size:10px;max-width:205px;color:#71827c;line-height:1.6}body.local-pilot #lesson-panel button.quiet{color:#466561;background:#e9efea;border-color:#d5e1da}body.local-pilot #lesson-panel .lesson-city-link{background:#173f46;color:#fff;border:0;border-radius:50%;width:35px;height:35px}body.local-pilot #lesson-panel #evidence-image{border:1px solid #c5d4cb;border-radius:10px}body.local-pilot #answers{display:flex;flex-direction:column;gap:7px;margin:8px 0 15px}body.local-pilot #answers>button{display:flex;align-items:flex-start;gap:11px;padding:13px 12px;text-align:left;font-size:13px;line-height:1.6;min-height:51px;background:white;color:#1b343a;border:1px solid #c7d5cc;border-radius:10px;box-shadow:none}body.local-pilot #answers>button:hover:not(:disabled){background:#e6efe8;border-color:#638c80}body.local-pilot #answers>button.correct{background:#e0f1e3;color:#165130;border-color:#50a570;box-shadow:inset 3px 0 #388b59}body.local-pilot #answers>button.incorrect{background:#fae6e2;color:#8e302a;border-color:#d37a73;box-shadow:inset 3px 0 #bd5c53}body.local-pilot .answer-number{background:#edf2ed;color:#476a5f;font-size:11px;min-width:25px;min-height:25px;display:grid;place-content:center;border-radius:7px}body.local-pilot .answer-result{font-size:10px;margin-top:5px}body.local-pilot #feedback{font-size:12px;line-height:1.75;border-radius:11px;margin-top:10px;padding:13px}body.local-pilot #feedback.correct{background:#e2f0e4;color:#225a39;border-color:#9ac2a5}body.local-pilot #feedback.incorrect{background:#f8e9e4;color:#933e32;border-color:#d4a196}body.local-pilot #scene-context,body.local-pilot #detail{font-size:11px;background:transparent;color:#526d69;border:0;border-radius:0;padding:8px 0}body.local-pilot #scene-context summary,body.local-pilot #detail summary{color:#526d69;font-size:11px}body.local-pilot #scene-context .role{color:#46635f}body.local-pilot #facts span{color:#526d69;background:#e4eee6}body.local-pilot #detail p{font-size:12px;line-height:1.8;color:#526d69}body.local-pilot #feedback-lesson{background:#e3ece8;color:#567970;border:0;font-size:10px;margin-top:18px;border-radius:8px}body.local-pilot .answers-label{font-size:11px;color:#526d69;margin-top:12px}body.local-pilot .pilot-purpose{font-size:11px;line-height:1.8;color:#6b827b;margin:6px 0}body.local-pilot .pilot-learning-steps{list-style:none;padding:0;margin:16px 0 4px;display:flex;gap:14px;align-items:center}body.local-pilot .pilot-learning-steps li{display:flex;gap:5px;align-items:center;color:#8b9c92;font-size:9px}body.local-pilot .pilot-learning-steps li>span{display:grid;place-content:center;width:20px;height:20px;border-radius:50%;background:#e1e8df;font:700 10px system-ui}body.local-pilot .pilot-learning-steps li.is-active{color:#285c4f}body.local-pilot .pilot-learning-steps li.is-active>span{background:#285c4f;color:white}body.local-pilot #pilot-why{background:#fff8;border:1px solid #d6e1d7;border-radius:10px;padding:12px 13px;margin:9px 0}body.local-pilot #pilot-why summary{list-style:none;display:flex;justify-content:space-between;align-items:center;font-size:12px;color:#315e4e;cursor:pointer}body.local-pilot #pilot-why .why-expand{font-size:10px;color:#6c8979}body.local-pilot #pilot-why p{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;font-size:12px;line-height:1.8;color:#4d6c60;margin:10px 0 0}body.local-pilot #pilot-why[open] p{display:block}body.local-pilot #pilot-why[open] .why-expand{visibility:hidden}body.local-pilot #pilot-original-question{font-size:10px;line-height:1.8;color:#647e71}body.local-pilot #pilot-original-question p{font-size:12px;color:#405f53}body.local-pilot .pilot-actions-label{font-size:11px;color:#668176;margin:18px 0 8px}body.local-pilot #lesson-actions{display:flex;flex-wrap:wrap;gap:6px}body.local-pilot #lesson-actions>button{font-size:11px;line-height:1.5;border-radius:9px;background:#e6eee7;border:1px solid #b8cec2;color:#31594d;box-shadow:none;padding:10px 12px}body.local-pilot #lesson-actions>button.primary{background:#255f50;color:#f0f7f3;border-color:#255f50}body.local-pilot #ticket-navigation{background:#f3f6f1ed;position:sticky;bottom:-20px;padding:13px 0 5px;z-index:2;border-top:1px solid #dae5db}body.local-pilot #ticket-next{background:#255f50;color:white;border:0;border-radius:11px;min-height:47px;font-size:13px;box-shadow:none}body.local-pilot #ticket-next:disabled{background:#dce5dc;color:#889d92;opacity:1}body.local-pilot #ticket-skip{background:none;border:0;font-size:10px;color:#758d80}body.local-pilot #pilot-stop{top:178px;max-width:292px;padding:14px}body.local-pilot #city-map{display:none!important}
@media(max-width:850px){body.local-pilot #lesson-panel{width:calc(100vw - 24px);right:12px;left:12px;top:auto;bottom:72px;max-height:46vh;max-height:46dvh;padding:15px 16px;border-radius:17px}body.local-pilot #lesson-panel h2{font-size:16px;margin-top:12px}body.local-pilot #pilot-lesson-bar{bottom:10px}body.local-pilot .pilot-learning-steps{margin-top:10px}body.local-pilot #pilot-stop{top:168px;max-width:230px}body.local-pilot #scene-status{left:12px;top:82px;width:max-content;max-width:calc(100vw - 24px)}}

body.local-pilot.scene-loading::after{content:'გარემო მზადდება…';position:fixed;inset:0;z-index:100;display:grid;place-items:center;background:#163239c4;color:#f1f7ef;font-size:15px;letter-spacing:.2px;backdrop-filter:blur(10px)}
.pilot-finish-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:20px}.pilot-finish-actions button{font-size:12px}

body.local-pilot #pilot-lesson-bar{position:static;left:auto;right:auto;top:auto;bottom:auto;width:auto;max-width:none;transform:none;margin:14px 0 4px;padding:5px;background:#e6eee8;border:1px solid #d2dfd5;color:#34594b;border-radius:11px;box-shadow:none;backdrop-filter:none;gap:4px}
body.local-pilot #pilot-lesson-bar[hidden]{display:none!important}
body.local-pilot #pilot-lesson-bar button{color:#34594b;background:#fff7;font-size:11px;min-width:30px;height:30px;padding:4px 8px}
body.local-pilot #pilot-lesson-bar>span{font-size:10px;max-width:none;min-width:0;flex:1;padding:0 5px;line-height:1.6}
body.local-pilot #pilot-lesson-bar [data-pilot-menu]{display:none}

body.local-pilot #lesson-panel .phase-row{position:static;top:auto;background:transparent;border:0}
body.local-pilot.steering-study #scene-status{display:none}
@media(max-width:850px) and (min-height:551px){
 body.local-pilot[data-screen=lesson] #view-controls{top:calc(54dvh - 119px);bottom:auto;left:12px;display:flex;flex-wrap:nowrap;gap:5px}
 body.local-pilot[data-screen=lesson] #view-controls>button{min-height:34px;width:34px;height:34px}
 body.local-pilot[data-screen=lesson] #focus-road{top:calc(54dvh - 119px);bottom:auto;right:12px;left:auto;min-height:34px;font-size:10px}
}
@media(max-height:550px) and (min-width:600px){
 body.local-pilot #lesson-panel{right:12px;left:auto;top:58px;bottom:12px;width:320px;max-width:43vw;max-height:none;padding:14px}
 body.local-pilot #scene-status{top:62px;max-width:calc(100vw - 356px)}
 body.local-pilot #lesson-panel h2{font-size:16px;line-height:1.65}
 body.local-pilot #view-controls{left:12px;bottom:12px;top:auto}
 body.local-pilot[data-screen=lesson] #focus-road{left:12px;right:auto;bottom:62px;top:auto}
}


/* brand.css */
:root{
 --cb-ink:#172d35;--cb-paper:#f8fbf5;--cb-mint:#c0f1d1;--cb-green:#1d7856;
 --cb-coral:#e46550;--cb-muted:#586c68;--cb-line:#d7e4dc;--cb-radius:18px;
}
body.local-pilot{--accent:var(--cb-green);font-kerning:normal}
body.local-pilot button{touch-action:manipulation}
body.local-pilot button:focus-visible,body.local-pilot summary:focus-visible{outline:3px solid var(--cb-green);outline-offset:3px}
body.local-pilot[data-screen=home]{background:var(--cb-paper)}
body.local-pilot[data-screen=home] header{background:#f8fbf5ed;border-bottom:1px solid var(--cb-line)}
body.local-pilot[data-screen=home] .brand{color:var(--cb-ink);letter-spacing:1px}
body.local-pilot[data-screen=home] .brand b{color:var(--cb-green);font-weight:750}
body.local-pilot[data-screen=home] .brand small{color:var(--cb-muted);letter-spacing:.15px}
body.local-pilot #home-panel{background:radial-gradient(ellipse at 80% 0,#c0f1d132,transparent 50%),var(--cb-paper)}
body.local-pilot .home-hero{border:1px solid #172d351f;border-radius:26px;box-shadow:0 12px 36px #172d3512}
body.local-pilot .hero-shade{background:linear-gradient(90deg,#102d32f0 0%,#153b40c4 43%,#153b4020 80%),linear-gradient(0deg,#0b242b87,transparent 48%)}
body.local-pilot .hero-copy h1{font-size:clamp(30px,3.5vw,50px);letter-spacing:-.75px;line-height:1.3;max-width:620px;color:#f8fbf5}
body.local-pilot .hero-copy>p{font-size:14px;line-height:1.85;color:#e0eee8;max-width:450px}
body.local-pilot .hero-badge{background:#ffffff12;border-color:#d9f5e43d;border-radius:24px;color:#e7f5ed;font-size:10px}
body.local-pilot .hero-badge svg{color:var(--cb-mint)}
body.local-pilot .home-actions{gap:10px;flex-wrap:wrap}
body.local-pilot .home-actions button{min-height:48px;padding:13px 20px;border-radius:14px;font-size:13px;box-shadow:none;transition:transform .15s,background .15s}
body.local-pilot #begin{background:var(--cb-mint);color:var(--cb-ink);border-color:var(--cb-mint);font-weight:700}
body.local-pilot .home-hero .home-actions #begin{box-shadow:none}
body.local-pilot #free{background:#ffffff12;color:var(--cb-paper);border:1px solid #dff3e86b}
body.local-pilot .home-hero .home-actions #garage-open{background:#f8fbf5;color:var(--cb-ink);border:1px solid #f8fbf5;box-shadow:none}
body.local-pilot .home-actions button:hover:not(:disabled){transform:translateY(-2px)}
body.local-pilot #intro-caption{font-size:10px;color:#e9f3ef}
body.local-pilot .film-controls #home-music{width:34px;min-width:34px;height:34px;padding:4px;font-size:19px;margin-right:2px}
body.local-pilot .film-controls [data-city-slide]{display:none}
body.local-pilot .learning-steps{gap:12px;border:0;padding:0;background:none}
body.local-pilot .learning-steps>div{background:white;border:1px solid var(--cb-line);border-radius:16px;padding:16px 18px;gap:13px;flex:1}
body.local-pilot .learning-steps>div>span{display:grid;place-items:center;width:30px;height:30px;border-radius:10px;background:#edf7ef;color:var(--cb-green);font-size:11px}
body.local-pilot .learning-steps p b{color:var(--cb-ink);font-size:13px}
body.local-pilot .learning-steps p small{color:var(--cb-muted);font-size:11px;line-height:1.5}
body.local-pilot .pilot-heading h2{font-size:22px;letter-spacing:-.3px;color:var(--cb-ink)}
body.local-pilot .pilot-heading .eyebrow{color:var(--cb-green);letter-spacing:.2px}
body.local-pilot #pilot-total{color:var(--cb-green);background:#edf7ee;border:1px solid var(--cb-line);border-radius:22px;padding:8px 12px;line-height:1.6}
body.local-pilot .pilot-grid{gap:10px}
body.local-pilot .pilot-card{min-height:82px;border:1px solid var(--cb-line);background:#fff;border-radius:16px;padding:16px;box-shadow:0 3px 10px #172d3503}
body.local-pilot .pilot-card:hover{background:#f0f9f1;border-color:#a0c7b2;box-shadow:0 7px 20px #172d3509}
body.local-pilot .pilot-number{width:35px;height:35px;display:grid;place-items:center;border-radius:11px;font-size:15px;letter-spacing:-.3px;background:#eef6ed;color:var(--cb-green)}
body.local-pilot .pilot-card small{color:var(--cb-muted);font-size:10px}
body.local-pilot .pilot-card.is-correct{background:#ebf8ed;border-color:#95c7a5}
body.local-pilot .pilot-card.is-review{background:#fff1eb;border-color:#e6b7a4}
body.local-pilot .pilot-card.is-review .pilot-number{background:#ffe3d8;color:#9c483b}
body.local-pilot .pilot-footnote{color:var(--cb-muted)}
body.local-pilot #lesson-panel{background:#f8fbf5f7;border-color:#d5e4d9;box-shadow:0 16px 56px #1028312b}
body.local-pilot #lesson-panel h2{color:var(--cb-ink);line-height:1.65}
body.local-pilot .pilot-purpose,body.local-pilot .pilot-actions-label,body.local-pilot #pilot-why p,body.local-pilot #detail p{color:var(--cb-muted)}
body.local-pilot .pilot-purpose,body.local-pilot .pilot-actions-label,body.local-pilot #scene-context summary,body.local-pilot #detail summary{font-size:12px;line-height:1.7}
body.local-pilot #pilot-lesson-bar{background:#edf6ed;border-color:var(--cb-line);border-radius:12px}
body.local-pilot #answers>button{border-color:#c9d9ce;border-radius:12px;min-height:52px;color:var(--cb-ink)}
body.local-pilot #answers>button.correct{background:#e0f4e5;border-color:#4b9a69;color:#185531}
body.local-pilot #answers>button.incorrect{background:#ffe9e4;border-color:#c76f63;color:#8c3028}
body.local-pilot #lesson-actions>button{background:#eaf0f1;border-color:#c5d4d8;color:#244750;border-radius:10px}
body.local-pilot #lesson-actions>button.primary{background:var(--cb-ink);border-color:var(--cb-ink);color:white}
body.local-pilot #ticket-next{background:var(--cb-green);border-radius:12px}
body.local-pilot #ticket-next:disabled{background:#e0e8df;color:#738775}
body.local-pilot #ticket-navigation{background:#f8fbf5f5}
body.local-pilot #pilot-stop{background:#172d35ec;border-color:#e9fff035;border-radius:18px}
body.local-pilot #pilot-stop .primary{background:var(--cb-mint);border-color:var(--cb-mint);color:var(--cb-ink)}
body.local-pilot #pilot-map-open{background:var(--cb-ink);border-color:#aacaba;color:var(--cb-paper);border-radius:12px}
body.local-pilot .pilot-map-dialog{background:var(--cb-paper);border-color:var(--cb-line);color:var(--cb-ink)}
body.local-pilot .pilot-map-dialog::backdrop{background:#102a34b3;backdrop-filter:blur(5px)}
body.local-pilot .pilot-finish-actions .primary{background:var(--cb-green);border-color:var(--cb-green);color:white}
body.local-pilot #toast{background:var(--cb-ink);border:1px solid #b3d0bf80;border-radius:14px;color:var(--cb-paper);font-size:12px;line-height:1.6}
body.local-pilot[data-screen=free] .icon-control{background:#172d35d9;border-color:#d0efde40;color:var(--cb-paper);border-radius:12px}
body.local-pilot[data-screen=free] .icon-control[aria-pressed=true]{background:var(--cb-mint);color:var(--cb-ink)}
@media(max-width:850px){
 body.local-pilot .hero-copy h1{font-size:32px;letter-spacing:-.5px}
 body.local-pilot .hero-copy>p{font-size:12px;max-width:280px}
 body.local-pilot .learning-steps{gap:8px}
 body.local-pilot .learning-steps>div{padding:12px 15px;width:100%}
 body.local-pilot .pilot-heading h2{font-size:19px}
 body.local-pilot .pilot-card{padding:14px;min-height:78px}
}
@media(max-width:740px){
 body.local-pilot .home-hero{min-height:650px;max-height:none}
 body.local-pilot .home-hero .hero-copy{max-width:100%;padding:20px 0 280px}
 body.local-pilot .home-hero .hero-copy .home-actions{top:auto;bottom:0;grid-template-columns:1fr 1fr;gap:8px}
 body.local-pilot .home-hero .home-actions #begin{grid-column:1 / -1}
 body.local-pilot .home-hero .home-actions #garage-open{grid-column:auto;min-height:44px}
 body.local-pilot .hero-game-stage{height:240px;bottom:145px}
 body.local-pilot .game-car-caption{bottom:4%;font-size:9px}
 body.local-pilot .home-hero #intro-caption{padding-top:12px;margin-top:auto;gap:8px}
 body.local-pilot .home-hero #intro-caption>span{max-width:110px;line-height:1.6}
 body.local-pilot .learning-steps{grid-template-columns:1fr}
 body.local-pilot .learning-steps>div{display:flex;align-items:center;padding:12px 15px}
 body.local-pilot .learning-steps p{margin:0}
 body.local-pilot .learning-steps p b{font-size:12px}
 body.local-pilot .learning-steps p small{font-size:12px}
}
@media(prefers-reduced-motion:reduce){
 body.local-pilot .home-actions button,body.local-pilot .pilot-card{transition:none}
 body.local-pilot .home-actions button:hover{transform:none}
}
@media(max-height:550px) and (min-width:600px){
 body.local-pilot[data-screen=free] #pilot-stop{top:60px;left:12px;max-width:230px;padding:10px;max-height:205px;overflow:auto}
 body.local-pilot #lesson-panel #ticket-navigation{position:static;bottom:auto;background:var(--cb-paper);padding:10px 0 4px;margin-top:12px}
 body.local-pilot #lesson-panel .lesson-top{gap:6px}
 body.local-pilot #lesson-panel #pilot-lesson-bar{margin:8px 0 4px}
 body.local-pilot #lesson-panel .pilot-learning-steps{margin:6px 0 2px;gap:8px}
 body.local-pilot #lesson-panel .phase-row{padding:2px 0}
 body.local-pilot #lesson-panel h2{margin-top:7px}
}
@media(max-width:600px) and (min-height:551px){
 body.local-pilot.cockpit-active[data-screen=free] #pilot-stop{max-width:220px;padding:10px}
 body.local-pilot.cockpit-active #pilot-stop>.eyebrow,body.local-pilot.cockpit-active #pilot-stop>small{display:none}
 body.local-pilot.cockpit-active #pilot-stop>b{font-size:11px;line-height:1.6;margin:0 0 5px}
 body.local-pilot.cockpit-active #pilot-stop>div{gap:4px;margin-top:7px}
 body.local-pilot.cockpit-active #pilot-stop button{font-size:10px;padding:8px 7px;min-height:36px}
}


/* full-rebuild.css */
body.full-rebuild #profile,body.full-rebuild #score-display{display:inline-flex!important;align-items:center;min-height:34px;border-radius:10px;font-size:11px}
body.full-rebuild #profile{background:#edf6ee;color:var(--cb-green);border-color:var(--cb-line)}
body.full-rebuild #score-display{color:var(--cb-green);background:#edf6ee;padding:6px 10px}
body.full-rebuild[data-screen=free] #profile,body.full-rebuild[data-screen=free] #score-display{display:none!important}
body.full-rebuild #lesson-progress{display:block!important;color:var(--cb-ink);background:#edf6ee;border-color:var(--cb-line);border-radius:12px;padding:10px 12px;font-size:11px;line-height:1.7}
body.full-rebuild #lesson-progress button{min-height:34px;border-radius:9px;background:var(--cb-green);color:white;font-size:10px}
body.full-rebuild #back-chapter::after{content:'ტურის ბილეთები'}
body.full-rebuild #city-map{display:inline-flex!important}
body.full-rebuild[data-screen=lesson] .header-actions{display:none}
body.full-rebuild #full-tours{margin:24px 0;padding:22px 0}
.full-library-heading{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:18px}
.full-library-heading .eyebrow{color:var(--cb-green);font-size:10px}
.full-library-heading h2{margin:4px 0;font-size:23px;line-height:1.5;color:var(--cb-ink)}
.full-search{display:grid;gap:6px;color:var(--cb-muted);font-size:11px;width:260px}
.full-search input{width:100%;box-sizing:border-box;border:1px solid var(--cb-line);border-radius:12px;background:white;padding:12px 14px;color:var(--cb-ink);font-size:12px}
.full-player-summary{display:grid;grid-template-columns:1.6fr 1fr 1fr .7fr;align-items:center;gap:10px;border:1px solid var(--cb-line);background:#edf7ee;border-radius:18px;padding:14px;margin:18px 0}
.full-player-summary button{border:0;background:transparent;color:var(--cb-ink);text-align:left;min-height:44px;box-shadow:none}
.full-profile{display:flex;align-items:center;gap:12px;padding:2px}
.full-avatar{display:grid;place-items:center;width:40px;height:40px;border-radius:13px;background:var(--cb-mint);font-size:20px;font-weight:700;color:var(--cb-green)}
.full-profile b,.full-stat b{display:block;font-size:17px;line-height:1.5;color:var(--cb-ink)}
.full-profile small,.full-stat span{display:block;font-size:11px;line-height:1.6;color:var(--cb-muted)}
.full-topic-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.full-topic-card{display:flex;align-items:flex-start;gap:13px;background:white;border:1px solid var(--cb-line);border-radius:16px;min-height:102px;text-align:left;padding:16px;color:var(--cb-ink);box-shadow:none}
.full-topic-card:hover{background:#f0f9f1;border-color:#a0c7b2}
.full-topic-card .pilot-number{flex-shrink:0;margin-top:1px}
.full-topic-copy{flex:1;min-width:0}
.full-topic-copy b{display:block;font-size:13px;line-height:1.7;font-weight:650}
.full-topic-copy small{display:block;font-size:11px;color:var(--cb-muted);line-height:1.6;margin-top:5px}
.full-topic-copy progress{width:100%;height:5px;accent-color:var(--cb-green);margin-top:9px}
.full-topic-state{color:var(--cb-green);padding-top:6px}
.full-topic-card.is-complete{background:#eaf8ed;border-color:#a0c7b2}
.full-empty{color:var(--cb-muted);font-size:13px}
body.full-rebuild #chapter-panel{background:var(--cb-paper);color:var(--cb-ink);border:1px solid var(--cb-line);border-radius:20px}
body.full-rebuild #chapter-panel h2,body.full-rebuild #chapter-summary{color:var(--cb-ink)}
body.full-rebuild .lesson-card{background:white;border-color:var(--cb-line);color:var(--cb-ink);border-radius:13px}
body.full-rebuild .lesson-card small{color:var(--cb-muted)}
body.full-rebuild .lesson-card em{color:var(--cb-green);background:#edf6ee;border-radius:9px}
body.full-rebuild #chapter-panel .primary{background:var(--cb-green);color:white;border-color:var(--cb-green)}
body.full-rebuild #chapter-panel .quiet{background:#edf6ee;color:var(--cb-green);border-color:var(--cb-line)}
body.full-rebuild #chapter-panel details{border-color:var(--cb-line)}
body.full-rebuild #chapter-panel summary{color:var(--cb-ink)}
@media(max-width:1000px){.full-topic-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:740px){.full-library-heading{align-items:stretch;flex-direction:column;gap:10px}.full-library-heading h2{font-size:21px}.full-search{width:100%}.full-player-summary{grid-template-columns:repeat(3,1fr);gap:10px}.full-profile{grid-column:1/-1}.full-topic-grid{grid-template-columns:1fr}.full-topic-card{min-height:88px}.full-stat b{font-size:15px}.full-stat span{font-size:10px}}


/* practice-guidance.css */
.practice-guidance{display:grid;gap:5px;margin:0;padding:12px 13px;background:#f5faf7;border:1px solid #c5dacd;border-radius:10px;color:#314b3d;line-height:1.65}
.practice-guidance-progress{font-size:10px;font-weight:650;color:#586f60;letter-spacing:.025em}
.practice-guidance-title{font-size:14px;font-weight:650;color:#294e3b}
.practice-guidance p{margin:0;font-size:12px;line-height:1.75}
.practice-guidance-observation{color:#516657}
.practice-guidance-action{padding-top:6px;border-top:1px solid #dce7df;color:#294e3b;font-weight:550}
.practice-guidance[data-mode="observation"]{background:#fafcf9}
@media(max-width:600px){.practice-guidance{padding:10px 11px;gap:4px}.practice-guidance p{font-size:12px}}


/* chapter-celebration.css */
dialog.chapter-celebration{
 --cc-ink:var(--cb-ink,#172d35);--cc-muted:var(--cb-muted,#586c68);--cc-green:var(--cb-green,#1d7856);--cc-mint:var(--cb-mint,#c0f1d1);--cc-paper:var(--cb-paper,#f8fbf5);--cc-line:var(--cb-line,#d7e4dc);
 width:min(480px,calc(100vw - 40px));max-height:calc(100dvh - 32px);box-sizing:border-box;overflow:auto;padding:30px 32px 24px;border:1px solid var(--cc-line);border-radius:24px;background:var(--cc-paper);color:var(--cc-ink);box-shadow:0 24px 90px #173b2d24;font-family:inherit;
 opacity:1;animation:cc-appear 240ms ease-out;
}
dialog.chapter-celebration::backdrop{background:#142d354d;backdrop-filter:blur(4px)}
.chapter-celebration .cc-eyebrow{display:inline-flex;position:relative;z-index:1;padding:6px 10px;border:1px solid var(--cc-line);border-radius:9px;background:#ffffffb3;color:var(--cc-green);font-size:10px;line-height:1.6}
.chapter-celebration h2{position:relative;z-index:1;margin:16px 0 8px;padding:0;max-width:370px;color:var(--cc-ink);font-size:clamp(20px,3vw,26px);font-weight:650;line-height:1.55;letter-spacing:-.3px}
.chapter-celebration .cc-description{position:relative;z-index:1;margin:0;color:var(--cc-muted);font-size:12px;line-height:1.9}
.chapter-celebration .cc-route{position:relative;height:72px;margin:24px 4px 20px;border-bottom:2px dashed #abcbbb}
.chapter-celebration .cc-route-fill{position:absolute;left:0;bottom:-2px;width:calc(100% - 22px);height:2px;background:var(--cc-green);transform-origin:left;animation:cc-route 1600ms 200ms cubic-bezier(.2,.6,.25,1) both}
.chapter-celebration .cc-route-car{position:absolute;bottom:5px;left:calc(100% - 96px);width:68px;height:34px;animation:cc-drive 1600ms 200ms cubic-bezier(.2,.6,.25,1) both}
.chapter-celebration .cc-route-car svg{display:block;width:100%;height:100%;overflow:visible}
.chapter-celebration .cc-car-body{fill:var(--cc-mint);stroke:var(--cc-green);stroke-width:1.35;stroke-linejoin:round}
.chapter-celebration .cc-car-window{fill:#e9f8f3;stroke:var(--cc-green);stroke-width:1}
.chapter-celebration .cc-car-light{fill:#fff9d9}
.chapter-celebration .cc-car-wheel{fill:var(--cc-ink)}
.chapter-celebration .cc-car-hub{fill:#d2ddd8}
.chapter-celebration .cc-route-finish{position:absolute;right:-1px;bottom:7px;display:grid;place-items:center;width:29px;height:29px;border:1px solid #92bda7;border-radius:50%;background:var(--cc-mint);animation:cc-check 400ms 1500ms ease-out both}
.chapter-celebration .cc-route-finish svg{width:19px;fill:none;stroke:var(--cc-green);stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.chapter-celebration .cc-stats{position:relative;z-index:1;display:grid;grid-template-columns:1fr 1fr;gap:12px;padding:16px 0;border-top:1px solid var(--cc-line);border-bottom:1px solid var(--cc-line)}
.chapter-celebration .cc-stats>div{display:grid;gap:5px}
.chapter-celebration .cc-stats>div+div{border-left:1px solid var(--cc-line);padding-left:20px}
.chapter-celebration .cc-stats strong{color:var(--cc-green);font-size:27px;font-weight:600;line-height:1.25;font-variant-numeric:tabular-nums;letter-spacing:-.7px}
.chapter-celebration .cc-stats span{color:var(--cc-muted);font-size:10px;line-height:1.8}
.chapter-celebration .cc-balance{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:14px 0 0;color:var(--cc-muted);font-size:11px;line-height:1.8}
.chapter-celebration .cc-balance strong{color:var(--cc-ink);font-size:15px;font-weight:600;font-variant-numeric:tabular-nums}
.chapter-celebration .cc-progress-note,.chapter-celebration .cc-held{margin:9px 0 0;color:var(--cc-muted);font-size:10px;line-height:1.9}
.chapter-celebration .cc-held{color:#736d58}
.chapter-celebration .cc-actions{position:relative;z-index:1;display:flex;align-items:center;gap:12px;margin-top:23px}
.chapter-celebration .cc-actions button{font:inherit;font-size:12px;min-height:44px;padding:10px 17px;border-radius:12px;box-shadow:none;cursor:pointer}
.chapter-celebration .cc-continue{display:flex;align-items:center;justify-content:space-between;gap:22px;flex:1;border:1px solid var(--cc-green);background:var(--cc-green);color:#fff}
.chapter-celebration .cc-continue:hover{background:#176548}
.chapter-celebration .cc-skip{border:1px solid transparent;background:transparent;color:var(--cc-muted)}
.chapter-celebration .cc-skip:hover{color:var(--cc-green);background:#eaf3ed}
.chapter-celebration button:focus-visible{outline:3px solid var(--cc-green);outline-offset:3px}
.chapter-celebration .cc-countdown{display:block;width:100%;height:2px;margin-top:18px;border-radius:2px;background:#abcbbb;transform-origin:left;animation:cc-countdown var(--cc-duration,4000ms) linear both}
.chapter-celebration .cc-confetti{pointer-events:none;position:absolute;inset:0 0 auto;height:245px;overflow:hidden}
.chapter-celebration .cc-confetti i{position:absolute;left:var(--cc-x);top:5px;width:4px;height:7px;border-radius:1px;background:#86b8a0;opacity:0;animation:cc-confetti 1900ms var(--cc-delay) ease-out both}
.chapter-celebration .cc-confetti i:nth-child(3n){background:#d8cdad;width:4px;height:4px;border-radius:50%}
.chapter-celebration .cc-confetti i:nth-child(3n+1){background:var(--cc-mint);height:9px}
@keyframes cc-appear{from{transform:translateY(8px)}to{transform:none}}
@keyframes cc-route{from{transform:scaleX(.12)}to{transform:scaleX(1)}}
@keyframes cc-drive{from{left:0;opacity:.4}to{left:calc(100% - 96px);opacity:1}}
@keyframes cc-check{from{opacity:0;transform:scale(.8)}to{opacity:1;transform:scale(1)}}
@keyframes cc-countdown{from{transform:scaleX(1)}to{transform:scaleX(0)}}
@keyframes cc-confetti{0%{opacity:0;transform:translateY(-12px) rotate(0deg)}15%{opacity:.65}75%{opacity:.45}100%{opacity:0;transform:translate(var(--cc-drift),190px) rotate(calc(120deg * var(--cc-turn)))}}
.chapter-celebration.cc-reduced-motion,.chapter-celebration.cc-reduced-motion *{animation:none!important}
.chapter-celebration.cc-reduced-motion .cc-confetti,.chapter-celebration.cc-reduced-motion .cc-countdown{display:none}
@media(prefers-reduced-motion:reduce){dialog.chapter-celebration,.chapter-celebration *{animation:none!important}.chapter-celebration .cc-confetti,.chapter-celebration .cc-countdown{display:none}}
@media(max-width:520px){dialog.chapter-celebration{width:calc(100vw - 24px);padding:24px 23px 20px;border-radius:20px}.chapter-celebration h2{font-size:21px}.chapter-celebration .cc-stats strong{font-size:24px}.chapter-celebration .cc-stats>div+div{padding-left:14px}.chapter-celebration .cc-actions{gap:6px}.chapter-celebration .cc-actions button{padding:10px 13px}}
@media(max-height:480px){dialog.chapter-celebration{padding-top:20px;padding-bottom:15px}.chapter-celebration h2{margin-top:10px}.chapter-celebration .cc-route{height:42px;margin:13px 4px}.chapter-celebration .cc-stats{padding:11px 0}.chapter-celebration .cc-actions{margin-top:15px}}


/* simple-controls.css */
/* Keyboard on desktop; concise, accessible arrows on touch screens. */
#touch-controls button[data-key="w"],#touch-controls button[data-key="s"]{font-size:22px;line-height:1}
#toast{pointer-events:none}
.practice-next-action{border-color:var(--cb-mint,#c0f1d1)!important;box-shadow:0 0 0 2px #7ac8a733!important}
body.practice-controls-locked #touch-controls{display:none!important}

/* Touch hardware includes wide iPads and laptops with a coarse pointer. */
body:not(.touch-device) #touch-controls,body:not(.touch-device) .ground-touch { display:none!important; }
body.touch-device { --touch-bank-height:112px; --touch-edge:max(12px,env(safe-area-inset-bottom)); }
body.touch-device #drive-controls,
body.touch-device #ground-driving { left:max(12px,env(safe-area-inset-left))!important; right:max(12px,env(safe-area-inset-right))!important; bottom:var(--touch-edge)!important; width:auto!important; max-width:none!important; pointer-events:none; }
body.touch-device #touch-controls,
body.touch-device #ground-driving .ground-touch { display:flex!important; align-items:flex-end!important; justify-content:space-between!important; width:100%!important; margin:0!important; gap:10px!important; pointer-events:none; }
body.touch-device #ground-driving { display:block!important; }
body.touch-device #ground-driving[hidden],body.touch-device #drive-controls[hidden] { display:none!important; }
.touch-extra { display:contents; }
.touch-extra-actions { display:none; }
.touch-menu-camera { display:none; }
body.touch-device .touch-steering { display:flex; gap:8px; }
body.touch-device .touch-pedals { display:grid; grid-template-columns:repeat(2,62px); grid-template-rows:repeat(2,52px); gap:8px; }
body.touch-device .touch-forward { grid-column:2; grid-row:1 / 3; }
body.touch-device .touch-center { display:flex; flex-direction:column; justify-content:flex-end; align-self:stretch; min-height:112px; padding:0 2px; }
body.touch-device :is(#touch-controls,#ground-driving .ground-touch) button { display:flex!important; flex-direction:column; align-items:center; justify-content:center; width:62px!important; height:62px!important; min-width:0!important; min-height:0!important; padding:8px 4px!important; border-radius:18px!important; background:#1a1650e8!important; border:1px solid #ffffff80!important; color:#fff!important; box-shadow:0 4px 18px #10132e35!important; touch-action:none; user-select:none; -webkit-user-select:none; -webkit-touch-callout:none; pointer-events:auto; }
body.touch-device :is(#touch-controls,#ground-driving .ground-touch) .touch-pedals button { width:62px!important; height:auto!important; border-radius:14px!important; }
body.touch-device :is(#touch-controls,#ground-driving .ground-touch) .touch-forward { background:#2bf5a0!important; color:#1a1650!important; }
body.touch-device :is(#touch-controls,#ground-driving .ground-touch) .touch-brake { background:#fff7eb!important; color:#602a24!important; }
body.touch-device :is(#touch-controls,#ground-driving .ground-touch) button.is-held { background:#fff!important; color:#1a1650!important; box-shadow:inset 0 0 0 3px #2bf5a0!important; transform:scale(.96); }
body.touch-device :is(#touch-controls,#ground-driving .ground-touch) button svg { width:27px; height:27px; fill:none; stroke:currentColor; stroke-width:2; stroke-linecap:round; stroke-linejoin:round; }
body.touch-device :is(#touch-controls,#ground-driving .ground-touch) button span { margin-top:4px; font-size:9px!important; line-height:1.2; white-space:nowrap; }
body.touch-device :is(#touch-controls,#ground-driving .ground-touch) .touch-drive-button span { display:none; }
body.touch-device :is(#touch-controls,#ground-driving .ground-touch) .touch-center button { width:44px!important; height:44px!important; border-radius:13px!important; }
body.touch-device :is(#touch-controls,#ground-driving .ground-touch) .touch-center svg { width:22px; height:22px; }
body.touch-device #drive-controls .speed,
body.touch-device #ground-driving .ground-drive-speed { position:absolute!important; left:50%!important; bottom:46px!important; transform:translateX(-50%); display:flex!important; align-items:baseline; justify-content:center; width:88px!important; gap:4px; margin:0!important; padding:0!important; background:none!important; color:#fff!important; pointer-events:none; text-align:center; }
body.touch-device :is(#drive-controls .speed,#ground-driving .ground-drive-speed) b { font-size:22px!important; line-height:1!important; color:inherit!important; }
body.touch-device :is(#drive-controls .speed,#ground-driving .ground-drive-speed) span { display:block!important; font-size:8px!important; color:inherit!important; }
body.touch-device #drive-controls .speed small { display:none; }
body.touch-device :is(#drive-controls,#ground-driving) .touch-extra { display:none!important; position:absolute; bottom:calc(var(--touch-bank-height) + 12px); left:50%; transform:translateX(-50%); width:min(360px,100%); max-height:min(40dvh,260px); overflow:auto; padding:10px; border:1px solid #ffffff70; border-radius:18px; background:#1a1650f5; box-shadow:0 8px 30px #08061f40; pointer-events:auto; }
body.touch-device :is(#drive-controls,#ground-driving).touch-options-open .touch-extra { display:grid!important; gap:8px; }
body.touch-device .touch-options-open .touch-menu-camera { display:flex; align-items:center; justify-content:center; gap:8px; }
body.touch-device .touch-menu-camera svg { width:22px; height:22px; fill:none; stroke:currentColor; stroke-width:2; }
body.touch-device .touch-extra #headlights { display:flex!important; }
body.touch-device :is(#drive-controls,#ground-driving) .touch-extra :is(.indicators,.drive-tools,.ground-gears,.ground-tool-icons,#ground-window-views,.touch-extra-actions) { display:flex; flex-wrap:wrap; justify-content:center; gap:8px!important; margin:0!important; }
body.touch-device :is(#drive-controls,#ground-driving) .touch-extra button { min-width:44px!important; min-height:44px!important; height:auto!important; width:auto!important; border-radius:12px!important; padding:9px!important; touch-action:manipulation; }
body.touch-device .touch-extra-actions button { display:flex; align-items:center; gap:7px; font-size:10px; }
body.touch-device .touch-extra-actions svg { width:20px; height:20px; fill:none; stroke:currentColor; stroke-width:2; }
body.touch-device #ground-driving #ground-window-views[hidden] { display:none!important; }
body.touch-device #ground-camera,body.touch-device #drive-controls #cockpit-toggle { display:none!important; }
body.touch-driving-active #view-controls { display:none!important; }
body.touch-driving-active #focus-road { display:none!important; }
body.touch-driving-active :is(#free-cockpit-controls,#weather-controls,#garage-drive-open) { display:none!important; }
body.touch-device:is(.touch-driving-active,[data-screen=ground]) #audio { display:none!important; }
body.touch-driving-active #control-onboarding { max-height:140px!important; overflow:auto; }
body.touch-driving-active[data-screen=lesson] #lesson-panel { top:132px!important; bottom:auto!important; right:12px!important; left:auto!important; width:min(360px,calc(100vw - 24px))!important; max-height:min(30dvh,230px)!important; }
body.touch-device:is(.touch-driving-active,[data-screen=ground]) #mirrors { top:76px!important; left:12px!important; right:12px!important; justify-content:center; gap:8px; }
body.touch-device:is(.touch-driving-active,[data-screen=ground]) #mirrors>div { height:40px!important; width:min(25vw,120px)!important; }
body.touch-device:is(.touch-driving-active,[data-screen=ground]) #mirror-rear { height:40px!important; width:min(32vw,160px)!important; }
body.touch-device[data-screen=ground] #ground-hud { top:132px!important; bottom:auto!important; right:12px!important; left:auto!important; width:min(300px,calc(100vw - 24px))!important; max-height:min(34dvh,260px)!important; }
body.touch-device[data-screen=ground] #ground-hud .ground-hud-actions>button { min-height:44px!important; }
body.touch-device[data-screen=ground] #ground-map { top:132px!important; }
body.touch-device.practice-controls-locked #touch-controls { display:none!important; }
/* Keep the required map credit clear of the right thumb's pedal controls. */
body.touch-driving-active #map-attribution { top:124px!important; left:12px!important; right:auto!important; bottom:auto!important; }
@media(max-width:360px) {
 body.touch-device :is(#touch-controls,#ground-driving .ground-touch) { gap:6px!important; }
 body.touch-device .touch-center { padding:0; }
 body.touch-device .touch-pedals { grid-template-columns:repeat(2,54px); }
 body.touch-device :is(#touch-controls,#ground-driving .ground-touch) button { width:54px!important; height:54px!important; }
 body.touch-device :is(#touch-controls,#ground-driving .ground-touch) .touch-pedals button { width:54px!important; height:auto!important; }
 body.touch-device :is(#touch-controls,#ground-driving .ground-touch) .touch-center button { width:44px!important; height:44px!important; }
}
@media(max-width:600px) {
 body.touch-driving-active[data-screen=lesson] #lesson-panel { left:12px!important; width:auto!important; max-height:26dvh!important; }
 body.touch-device[data-screen=ground] #ground-hud { left:12px!important; width:auto!important; max-height:26dvh!important; }
 body.touch-device[data-screen=ground] #ground-map { top:calc(144px + 26dvh)!important; }
}
@media(max-height:550px) and (orientation:landscape) {
 body.touch-driving-active #map-attribution { top:104px!important; }
 body.touch-device { --touch-bank-height:104px; --touch-edge:max(8px,env(safe-area-inset-bottom)); }
 body.touch-device .touch-pedals { grid-template-rows:repeat(2,48px); }
 body.touch-device .touch-center { min-height:104px; }
 body.touch-device:is(.touch-driving-active,[data-screen=ground]) #mirrors { top:58px!important; }
 body.touch-device:is(.touch-driving-active,[data-screen=ground]) #mirrors>div { height:34px!important; }
 body.touch-driving-active[data-screen=lesson] #lesson-panel,body.touch-device[data-screen=ground] #ground-hud { top:104px!important; left:auto!important; width:min(300px,38vw)!important; max-height:calc(100dvh - 238px)!important; }
 body.touch-device :is(#drive-controls,#ground-driving) .touch-extra { left:0; transform:none; width:min(340px,calc(100vw - 330px)); max-height:calc(100dvh - 230px); }
 body.touch-driving-active #free-departure-prompt { bottom:60px!important; }
 body.touch-device[data-screen=ground] #ground-map { top:104px!important; }
}


/* rustavi.css */
/* Compact navigation and course controls; all artwork is native SVG. */
body.full-rebuild .home-hero{min-height:400px;max-height:none;padding:22px 28px 13px}body.full-rebuild .home-hero .hero-copy{padding:34px 0 20px}body.full-rebuild .hero-copy h1{font-size:clamp(30px,3.3vw,46px)}body.full-rebuild .hero-copy>p{font-size:13px;max-width:450px;line-height:1.8}
.game-mode-choices{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin:18px 0 30px}
.game-mode-choice{min-width:0;overflow:hidden;background:#fff;border:1px solid #dce7e2;border-radius:22px;box-shadow:0 8px 28px #203d320a;transition:transform .18s,box-shadow .18s}
.game-mode-choice:hover{transform:translateY(-3px);box-shadow:0 14px 30px #203d3210}
.mode-art{position:relative;height:106px;overflow:hidden;background:#e5f2eb;color:#277461}
.ground-art{background:#edf0fc;color:#6172ad}.free-art{background:#f8efe0;color:#9d7850}
.mode-illustration{height:112px;width:100%;display:block}.mode-symbol{position:absolute;left:18px;top:16px;display:grid;place-items:center;width:35px;height:35px;background:#fff9;border:1px solid #fff;border-radius:11px}
.mode-symbol svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.mode-card-copy{padding:17px 20px 18px}.game-mode-choice h2{font-size:19px;line-height:1.45;margin:0 0 4px;color:#173c39;font-weight:650}.game-mode-choice small{font-size:10px;color:#6b7e76}.game-mode-choice p{font-size:12px;line-height:1.6;color:#667971;margin:9px 0 15px}.game-mode-choice button{display:flex;align-items:center;gap:15px;font-size:12px;min-height:40px;padding:10px 15px;border-radius:11px;background:#194c47;color:#fff;border:0}
.game-mode-choice #begin{background:#c4ead8!important;color:#194c47!important}.game-mode-choice #free{background:#194c47!important;color:#fff!important;border-color:#194c47!important;text-shadow:none!important}
body[data-screen=ground] header{background:#fafbf9ed;backdrop-filter:blur(12px);z-index:30}body.full-rebuild[data-screen=ground] #score-display{display:none!important}body[data-screen=ground] .shade{background:linear-gradient(0deg,#0f322829,transparent 25%);pointer-events:none}
#ground-menu{position:fixed;inset:78px 0 0;z-index:22;overflow:auto;padding:22px max(28px,calc((100vw - 1000px)/2)) 36px;background:radial-gradient(ellipse at 100% 0%,#e8efe9,transparent 45%),#f7f9f6;color:#203a36}
#ground-menu[hidden],#ground-hud[hidden],#ground-hud [hidden],#ground-driving[hidden],#ground-map[hidden],#ground-window-views[hidden],#ground-parking-status[hidden],#ground-run-steps[hidden],#ground-driving button[hidden],#ground-why[hidden]{display:none!important}
.ground-menu-top{display:flex;justify-content:space-between;align-items:center;gap:16px}.ground-back{display:flex;align-items:center;gap:5px;border:0;background:none;color:#36534c;padding:5px 0;font-size:12px}.ground-back svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.8}
.ground-chip{display:flex;align-items:center;gap:7px;background:#e7eee7;border-radius:99px;font-size:10px;padding:7px 11px}.ground-chip svg{width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:1.6}
.ground-menu-heading{display:flex;align-items:center;justify-content:space-between;margin:25px 0 20px}.ground-menu-heading .eyebrow{font-size:10px;letter-spacing:.04em;color:#7f9286}.ground-menu-heading h1{font-size:clamp(25px,3vw,34px);line-height:1.3;font-weight:650;letter-spacing:-.025em;margin:7px 0 9px}.ground-menu-heading p{font-size:13px;margin:0;color:#728479}
.ground-heading-icon{display:grid;place-items:center;width:72px;height:72px;border-radius:24px;background:#e4ece4;color:#53826e}.ground-heading-icon svg{width:40px;height:40px;fill:none;stroke:currentColor;stroke-width:1.15}
.ground-mode-tabs{display:flex;gap:5px;background:#e8eee7;border-radius:14px;padding:5px;width:max-content;max-width:100%}.ground-mode-tabs button{display:flex;align-items:center;gap:8px;background:none;border:0;border-radius:10px;padding:11px 23px;color:#698074;font-size:12px}.ground-mode-tabs button[aria-pressed=true]{background:white;color:#234f40;box-shadow:0 2px 9px #28483510}.ground-mode-tabs b{font-size:12px;font-weight:600}.ground-mode-tabs svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linejoin:round;stroke-linecap:round}
.ground-mode-description{font-size:11px;color:#6d8174;margin:12px 0 18px;min-height:18px}
.ground-elements{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:11px}.ground-elements button{display:flex;align-items:center;gap:9px;position:relative;min-height:105px;background:#fff;border:1px solid #e0e8dd;border-radius:17px;padding:14px;text-align:left;color:#36564a;transition:background .18s,border-color .18s}.ground-elements button[aria-pressed=true]{border-color:#77a58a;background:#eef6ee;box-shadow:0 0 0 1px #77a58a inset}.ground-elements button:disabled{opacity:.62;cursor:default}
.maneuver-artwork{flex:0 0 64px;width:64px;height:64px;color:#426c57}.diagram-lane{fill:none;stroke:#b6c8b7;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.diagram-route{fill:none;stroke:#477665;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}
.ground-element-copy{display:flex;flex-direction:column;gap:6px;padding-right:12px}.ground-element-copy small{font:10px system-ui;color:#95a597}.ground-element-copy b{font-size:12px;line-height:1.5;font-weight:600}.ground-element-check{display:none;position:absolute;right:9px;top:9px;width:18px;height:18px;color:#427457}.ground-element-check svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.6}.ground-elements button[aria-pressed=true] .ground-element-check{display:block}
.ground-elements button:disabled{opacity:1;background:#f0f5ef;border-color:#dce7da;box-shadow:none}.ground-elements button:disabled .ground-element-check{color:#6d9075}
.ground-start-card{display:flex;align-items:center;justify-content:space-between;gap:22px;margin:18px 0 16px;background:#e9efe7;border-radius:17px;padding:18px 20px}.ground-start-card b{font-size:14px}.ground-start-card p{font-size:11px;line-height:1.65;max-width:620px;color:#66806a;margin:7px 0 0}.ground-start-card button{display:flex;align-items:center;justify-content:center;gap:14px;flex-shrink:0;padding:12px 18px;border:0;border-radius:11px;background:#245847;color:#fff;font-size:12px}.ground-start-card svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.6}
.ground-basics{max-width:850px;margin:16px 0;color:#6d8372}.ground-basics summary{display:flex;align-items:center;gap:6px;font-size:11px;cursor:pointer;list-style:none;width:max-content}.ground-basics summary::-webkit-details-marker{display:none}.ground-basics summary svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.5}.ground-basics[open]{padding:12px 16px;background:#fff;border:1px solid #e0e8dd;border-radius:12px}.ground-basics p{font-size:11px;line-height:1.8;color:#768676;max-width:760px}.ground-calibration,#ground-local-history{font-size:9px;line-height:1.7;color:#8a998c;margin:9px 0}.ground-key-guide{display:flex;flex-wrap:wrap;gap:10px 16px;margin:14px 0}.ground-key-guide span{display:flex;align-items:center;gap:6px;font-size:10px;color:#637e6b}.ground-key-guide kbd{font:10px system-ui;padding:3px 5px;border:1px solid #dce7dd;border-bottom-width:2px;border-radius:4px;color:#375a46;background:#f6f9f3}
#ground-hud{position:fixed;z-index:20;top:94px;right:18px;width:264px;max-height:calc(100dvh - 116px);overflow:auto;background:#f9fcf5ed;backdrop-filter:blur(14px);padding:13px 15px;border:1px solid #ffffffb0;border-radius:17px;box-shadow:0 8px 30px #173c361a;color:#1a3d36}
.ground-hud-heading{display:flex;align-items:center;gap:7px;font-size:10px;color:#839686}.ground-hud-heading button{display:grid;place-items:center;width:24px;height:24px;padding:3px;background:none;border:0;color:#688777}.ground-hud-heading svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.7}.ground-hud-heading b{margin-left:auto;font:10px system-ui}.ground-hud-note{display:block;margin-top:9px;font-size:8px;line-height:1.6;color:#8b9d8f}.ground-hud-note:empty{display:none}
#ground-run-steps{display:flex;gap:7px;list-style:none;padding:0;margin:9px 0}#ground-run-steps li{width:20px;height:20px;display:grid;place-items:center;background:#e0e9e1;color:#677f71;border-radius:50%;font:10px system-ui}#ground-run-steps .current{background:#315944;color:white}#ground-run-steps .done{background:#b4dca4;color:#255838}
#ground-current-title{font-size:16px;line-height:1.45;font-weight:650;margin:7px 0 10px}.ground-score-row{display:flex;gap:18px;padding-bottom:9px;margin-bottom:11px;border-bottom:1px solid #e1e9de}.ground-score-row span{display:flex;align-items:center;gap:4px}.ground-score-row svg{width:13px;height:13px;fill:none;stroke:#8a9d8b;stroke-width:1.7}.ground-score-row small{font-size:8px;color:#8b9c8a}.ground-score-row b{font:500 13px system-ui;color:#516d54;margin-left:3px}
.ground-instruction b{font-size:9px;color:#7d947e}.ground-instruction p{font-size:12px;line-height:1.7;margin:5px 0 11px}
.ground-hud-actions{display:flex;align-items:flex-start;flex-wrap:wrap;gap:7px;margin-top:11px}.ground-hud-actions>button{min-height:36px;font-size:11px;padding:8px 11px;border-radius:9px;background:#e8eee5;border:0;color:#56725b;display:flex;align-items:center;gap:7px}.ground-hud-actions .primary{background:#245847;color:#fff}.ground-hud-actions svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
#ground-why{display:block;margin-left:auto}#ground-why summary{display:grid;place-items:center;min-width:36px;height:36px;list-style:none;cursor:pointer;border-radius:9px;color:#668472;background:#eef2e9}#ground-why summary::-webkit-details-marker{display:none}#ground-why[open]{width:100%;margin-left:0}#ground-why[open] summary{width:36px}.ground-help-content{padding-top:12px}.ground-help-content b{font-size:10px;color:#66816d}.ground-help-content p{font-size:11px;line-height:1.8;color:#66806b}.ground-help-content .ground-key-guide{gap:8px 10px}
#ground-mistake,#ground-controls-message{font-size:10px;line-height:1.6;border-radius:9px;padding:8px 10px;background:#ffebe1;color:#95402c;margin:9px 0}
#ground-parking-status{padding:10px;border-radius:11px;background:#eef2e7;margin:10px 0;color:#688066}#ground-parking-status>b{display:flex;align-items:center;gap:6px;font-size:11px;line-height:1.5}#ground-parking-status svg{width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linejoin:round}#ground-parking-status[data-tone=success]{background:#daefdf;color:#286b43}#ground-parking-status[data-tone=confirming]{background:#edf0d7;color:#6e783b}.parking-checks{display:flex;gap:8px;flex-wrap:wrap;margin-top:8px}.parking-checks span{display:flex;align-items:center;gap:3px;font-size:8px;color:#97a396}.parking-checks .is-met{color:#437e56}.parking-checks svg{width:11px;height:11px}.parking-checks i{width:9px;height:9px;border:1px solid #adb9a9;border-radius:50%}#ground-parking-status progress{display:block;margin-top:8px;width:100%;height:4px;accent-color:#528763;border:0;border-radius:4px;overflow:hidden}
#ground-parking-status[data-tone=warning]{background:#fff0db;color:#94602e}
#ground-driving{position:fixed;bottom:18px;left:18px;z-index:21;color:white;display:flex;flex-direction:column;gap:8px}.ground-drive-speed{display:flex;align-items:baseline;gap:6px;text-shadow:0 1px 5px #0008}.ground-drive-speed b{font:300 30px system-ui}.ground-drive-speed span{font-size:9px}.ground-gears,.ground-tool-icons,.ground-touch,#ground-window-views{display:flex;gap:6px}
#ground-driving button{display:grid;place-items:center;width:40px;height:40px;min-height:40px;min-width:40px;padding:8px;border-radius:11px;background:#193b3be8;color:#f1f7f0;border:1px solid #e1eee32e;font:12px system-ui}#ground-driving button[aria-pressed=true]{background:#c0dfbb;color:#173f30;border-color:#d6eaca}#ground-driving button:disabled{opacity:.55}#ground-driving svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}#ground-window-views{order:-1;margin-bottom:4px}#ground-window-views button{background:#f3f8edf0;color:#4d705c}#ground-window-views button[aria-pressed=true]{background:#b7d5b3;color:#254c38}.ground-touch{display:none}
#ground-map{position:fixed;top:100px;left:18px;width:118px;background:#f4f7f0de;border:1px solid #fff9;border-radius:14px;padding:6px;box-shadow:0 5px 20px #102c321a;z-index:19}#ground-map canvas{width:100%;height:auto;display:block;border-radius:9px}#ground-map>span{display:block;font-size:7px;text-align:center;color:#718572;margin:5px 0 0}
body[data-screen=ground] #scene-status{display:none!important}body[data-screen=ground] #mirrors{top:93px;left:calc(160px + 2vw);right:300px;z-index:10}body[data-screen=ground].cockpit-active #ground-map{top:174px;width:86px}body[data-screen=ground] #mirror-rear{width:145px!important}body[data-screen=ground] #mirrors>div{width:110px;height:55px}
#ground-result{width:410px;max-width:calc(100vw - 30px);border:0;border-radius:24px;padding:27px;color:#1d463d;background:#f9fcf6}#ground-result::backdrop{background:#102f3066;backdrop-filter:blur(5px)}#ground-result h2{font-size:24px;margin:13px 0}.ground-result-number{font:500 60px system-ui;color:#34744f;margin:12px 0}.ground-result-number small{font:10px system-ui;color:#798c7b;margin-left:12px}#ground-result p,#ground-result li{font-size:12px;line-height:1.75}#ground-result ul{padding-left:20px}#ground-result>small{display:block;font-size:9px;line-height:1.6;margin-top:17px;color:#7c8e7e}.ground-result-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:20px}.ground-result-actions button{font-size:11px;padding:10px 13px;min-height:40px;border-radius:10px}.ground-result-actions .primary{background:#245e4e;color:white}
@media(max-width:1100px){.game-mode-choice h2{font-size:16px}.mode-card-copy{padding:15px}.game-mode-choice small{font-size:9px}.game-mode-choice p{font-size:11px}body[data-screen=ground] #mirrors{left:145px;right:298px}}
@media(max-width:700px){
 body.full-rebuild .home-hero{min-height:320px;padding:20px 20px 12px}body.full-rebuild .home-hero .hero-copy{padding:27px 0 22px;max-width:90%}body.full-rebuild .hero-copy h1{font-size:28px}body.full-rebuild .hero-copy>p{font-size:11px;max-width:260px}body.full-rebuild .hero-game-stage{display:none}body.full-rebuild .home-hero .hero-copy .home-actions{position:static;display:flex}body.full-rebuild .home-hero .home-actions #garage-open{min-height:37px;font-size:11px;padding:9px 13px}
 .game-mode-choices{grid-template-columns:1fr;gap:11px}.game-mode-choice{display:grid;grid-template-columns:102px minmax(0,1fr);align-items:stretch;border-radius:18px}.mode-art{height:100%;min-height:155px}.mode-illustration{width:300px;height:112px;position:absolute;top:25px;left:-93px}.mode-symbol{left:11px;top:11px;width:28px;height:28px;border-radius:9px}.mode-symbol svg{width:18px;height:18px}.mode-card-copy{padding:15px}.game-mode-choice h2{font-size:16px}.game-mode-choice p{font-size:10px;margin:7px 0 11px}.game-mode-choice button{font-size:11px;min-height:36px;padding:8px 12px}.game-mode-choice small{font-size:9px}
 #ground-menu{inset:67px 0 0;padding:16px 16px 27px}.ground-menu-heading{margin:21px 0 18px}.ground-menu-heading h1{font-size:25px}.ground-menu-heading p{font-size:11px}.ground-heading-icon{width:47px;height:47px;border-radius:16px}.ground-heading-icon svg{width:28px;height:28px}.ground-chip{font-size:9px}.ground-mode-tabs{width:100%}.ground-mode-tabs button{justify-content:center;flex:1;padding:10px 7px;gap:6px}.ground-mode-tabs b{font-size:11px}.ground-mode-tabs svg{width:16px;height:16px}.ground-mode-description{font-size:10px;margin:10px 0 14px}
 .ground-elements{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.ground-elements button{padding:10px;gap:4px;min-height:107px}.maneuver-artwork{flex-basis:48px;width:48px;height:48px}.ground-element-copy{padding-right:0;gap:4px}.ground-element-copy b{font-size:10px}.ground-element-copy small{font-size:9px}.ground-element-check{width:14px;height:14px;top:6px;right:6px}.ground-element-check svg{width:14px;height:14px}.ground-start-card{display:block;padding:16px}.ground-start-card b{font-size:12px}.ground-start-card p{font-size:10px}.ground-start-card button{margin-top:13px;width:100%;font-size:11px}.ground-basics summary{font-size:10px}.ground-calibration{font-size:8px}
 #ground-hud{top:auto;bottom:125px;right:9px;left:9px;width:auto;max-height:218px;padding:10px 12px;border-radius:15px}.ground-hud-heading{font-size:9px}.ground-hud-heading button{width:20px;height:20px}#ground-current-title{font-size:14px;margin:5px 0 7px}.ground-score-row{position:absolute;top:43px;right:12px;border:0;margin:0;padding:0;gap:12px}.ground-score-row small{display:none}.ground-score-row b{font-size:11px}#ground-current-title{padding-right:92px}.ground-instruction b{font-size:8px}.ground-instruction p{font-size:11px;line-height:1.6;margin:4px 0 8px}.ground-instruction{max-height:64px;overflow:auto;scrollbar-width:thin}.ground-hud-actions{margin-top:7px}.ground-hud-actions>button{min-height:32px;padding:7px 10px;font-size:10px}#ground-why summary{height:32px;min-width:32px}#ground-run-steps{margin:7px 0}.ground-hud-note{display:none}#ground-parking-status{padding:7px 9px;margin:7px 0}#ground-parking-status>b{font-size:10px}.parking-checks{margin-top:5px}#ground-mistake,#ground-controls-message{padding:6px 9px;font-size:9px;margin:6px 0}
 #ground-driving{left:9px;right:9px;bottom:11px;flex-direction:row;align-items:flex-end;flex-wrap:wrap;gap:6px}.ground-drive-speed{width:33px}.ground-drive-speed b{font-size:23px}.ground-drive-speed span{display:none}.ground-gears,.ground-tool-icons,.ground-touch,#ground-window-views{gap:5px}#ground-driving button{width:34px;height:36px;min-width:34px;min-height:36px;padding:7px;border-radius:9px}.ground-tool-icons{margin-left:auto}.ground-touch{display:flex;width:100%;justify-content:flex-end}.ground-touch button{width:48px!important;height:40px!important}#ground-window-views{width:100%;margin-bottom:0;justify-content:center}body[data-screen=ground].cockpit-active #ground-hud{bottom:166px}
 #ground-map{top:82px;left:9px;width:83px;padding:5px}#ground-map>span{display:none}body[data-screen=ground] #mirrors{top:83px;left:5px;right:5px;gap:7px}body[data-screen=ground] #mirrors>div{width:29%;height:42px}body[data-screen=ground] #mirror-rear{width:32%!important;height:42px!important}body[data-screen=ground].cockpit-active #ground-map{top:136px;width:64px}#ground-result{padding:22px}#ground-result h2{font-size:22px}.ground-result-number{font-size:53px}
}
@media(max-height:550px) and (min-width:701px){
 #ground-menu{inset:62px 0 0;padding-top:15px}.ground-menu-heading{margin:14px 0}.ground-menu-heading h1{font-size:26px}.ground-menu-heading p{font-size:11px}.ground-heading-icon{width:48px;height:48px}.ground-heading-icon svg{width:28px;height:28px}.ground-elements button{min-height:85px;padding:11px}.maneuver-artwork{width:50px;height:50px;flex-basis:50px}.ground-mode-tabs button{padding:9px 20px}.ground-mode-description{margin:9px 0 12px}
 #ground-hud{top:69px;right:10px;width:220px;max-height:calc(100dvh - 80px);padding:10px 12px}#ground-current-title{font-size:14px;margin:6px 0}.ground-score-row{padding-bottom:6px;margin-bottom:7px;gap:12px}.ground-score-row small{display:none}.ground-instruction p{font-size:10px;margin:4px 0 7px}.ground-instruction{max-height:58px;overflow:auto;scrollbar-width:thin}.ground-hud-note{display:none}.ground-hud-actions{margin-top:7px;gap:5px}.ground-hud-actions>button{min-height:32px;font-size:10px;padding:7px 9px}#ground-why summary{min-width:30px;height:32px}#ground-mistake,#ground-controls-message{font-size:9px;padding:6px 8px}#ground-parking-status{padding:7px;margin:7px 0}#ground-parking-status>b{font-size:10px}.parking-checks span{font-size:7px}#ground-run-steps{gap:5px;margin:6px 0}#ground-run-steps li{width:17px;height:17px;font-size:9px}
 #ground-driving{bottom:9px;left:9px;gap:5px}#ground-driving button{width:34px;min-width:34px;height:33px;min-height:33px;padding:6px}.ground-drive-speed b{font-size:22px}.ground-touch{display:flex;gap:5px}#ground-window-views{margin-bottom:0}#ground-map{top:72px;left:10px;width:76px}#ground-map>span{display:none}body[data-screen=ground] #mirrors{top:72px;right:245px;left:105px}body[data-screen=ground] #mirrors>div{width:90px;height:42px}body[data-screen=ground] #mirror-rear{width:110px!important;height:42px!important}body[data-screen=ground].cockpit-active #ground-map{top:133px;width:60px}
}
@media(prefers-reduced-motion:reduce){.game-mode-choice,.ground-elements button{transition:none}.game-mode-choice:hover{transform:none}}


/* launch-theme.css */
/* Carborbala Launch Visuals, pages 1 / 5 / 10. UI colours only: traffic and
   source-world colours retain their educational meaning. */
:root{
 --launch-green:#2BF5A0;--launch-violet:#1A1650;--launch-grey:#6E7385;
 --launch-mist:#F4F4FA;--launch-white:#FFF;--launch-line:#DDDDEB;--launch-error:#BC2C4B;
 --cb-ink:var(--launch-violet);--cb-paper:var(--launch-white);--cb-mint:var(--launch-green);
 --cb-green:var(--launch-violet);--cb-coral:var(--launch-error);--cb-muted:var(--launch-grey);--cb-line:var(--launch-line);
 --ink:var(--launch-violet);--muted:var(--launch-grey);--accent:var(--launch-violet);
 --paper:var(--launch-white);--line:var(--launch-line);--blue-wash:var(--launch-mist);--green:var(--launch-violet);--radius:16px;
}
body.launch-design{color:var(--launch-violet);background:white;font-kerning:normal}
body.launch-design button{box-shadow:none;line-height:1.5}
body.launch-design button:hover:not(:disabled){border-color:var(--launch-violet)}
body.launch-design :is(button,a,summary,select,input,textarea):focus-visible{outline:3px solid var(--launch-violet);outline-offset:4px}
body.launch-design button.primary{background:var(--launch-green);border-color:var(--launch-green);color:var(--launch-violet);font-weight:700;border-radius:100px}
body.launch-design button.primary:hover:not(:disabled){background:#21DE90;border-color:#21DE90}
body.launch-design a{color:var(--launch-violet)}
body.launch-design progress{accent-color:var(--launch-violet);background:#DDDDEB}
body.launch-design progress::-webkit-progress-bar{background:#DDDDEB;border-radius:6px}
body.launch-design progress::-webkit-progress-value{background:var(--launch-violet);border-radius:6px}
.launch-icon{display:inline-block;width:21px;height:21px;flex:none;vertical-align:middle}
.launch-mark{width:38px;height:38px;flex:none;display:block}
.launch-wordmark{display:inline-flex;align-items:center;gap:10px;font-family:'Arial Rounded MT Bold',ui-rounded,system-ui,sans-serif;font-size:25px;font-weight:850;letter-spacing:-1.3px;line-height:1;white-space:nowrap;color:#1A1650}
.launch-domain{font-size:.82em}
body.launch-design header{background:#FFFFFFF2;border-color:var(--launch-line);backdrop-filter:none}
body.launch-design .brand{letter-spacing:0;padding:0;border-radius:0}
body.launch-design .header-actions button{background:var(--launch-mist);color:var(--launch-violet);border:1px solid var(--launch-line);border-radius:24px}
body.launch-design.full-rebuild #profile{background:var(--launch-mist);border-color:var(--launch-line);color:var(--launch-violet);gap:7px;max-width:150px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
body.launch-design.full-rebuild #profile:before{content:'';width:8px;height:8px;flex:none;border-radius:50%;background:var(--launch-violet)}
body.launch-design.full-rebuild #score-display{background:var(--launch-mist);color:var(--launch-violet);border-radius:24px;padding:7px 13px}
.launch-nav{display:flex;align-items:center;gap:24px;pointer-events:auto;margin-left:auto;margin-right:auto}
.launch-nav button{background:transparent;border:0;border-radius:12px;color:#1A1650;font-weight:700;font-size:13px;padding:8px;min-height:44px}
body:not([data-screen=home]) .launch-nav{display:none}
body.launch-design:not([data-screen=home]) .launch-wordmark{font-size:19px;letter-spacing:-.8px}
body.launch-design:not([data-screen=home]) .launch-mark{width:31px;height:31px}
/* A light split hero. The game and city photograph occupy the right half,
   rather than sitting underneath the text. */
body.launch-design[data-screen=home],body.launch-design[data-screen=home] .shade{background:white}
body.launch-design[data-screen=home] header{height:86px;padding:16px max(4.5%,calc((100vw - 1320px)/2));background:#FFFFFF;border-bottom-color:var(--launch-line)}
body.launch-design[data-screen=home] #home-panel{top:86px;left:0;width:100%;height:calc(100dvh - 86px);max-height:none;padding:36px max(4.5%,calc((100vw - 1320px)/2)) 24px;background:white;overflow:auto;scrollbar-gutter:stable;scroll-behavior:smooth}
body.launch-design.local-pilot .home-stage{display:block}
body.launch-design.local-pilot .home-hero{position:relative;isolation:isolate;display:grid;grid-template-columns:1fr 1fr;gap:6%;min-height:440px;max-height:none;padding:24px 0 32px;overflow:visible;background:white;border:0;border-radius:0;box-shadow:none}
body.launch-design.local-pilot .home-hero #intro-film{inset:20px 0 30px 52%;border-radius:28px;background:var(--launch-mist);z-index:0;overflow:hidden}
body.launch-design.local-pilot .home-hero #intro-film .city-slide{object-position:50% 38%;transform:none}
body.launch-design.local-pilot .home-hero .hero-shade{inset:20px 0 30px 52%;border-radius:28px;z-index:1;background:linear-gradient(180deg,#1A165000 0%,#1A165030 48%,#1A1650DE 100%);pointer-events:none}
body.launch-design.local-pilot .home-hero .hero-copy{grid-column:1;position:relative;z-index:3;max-width:none;margin:auto 0;padding:24px 0 16px}
body.launch-design.local-pilot .hero-copy h1{font-size:clamp(34px,3.65vw,53px);line-height:1.35;letter-spacing:-1px;font-weight:800;color:#1A1650;text-shadow:none;margin:17px 0 18px;max-width:590px}
body.launch-design.local-pilot .hero-copy>p{font-size:15px;line-height:1.85;color:#6E7385;max-width:450px;margin:0 0 23px}
body.launch-design .launch-eyebrow{display:inline-flex;border-radius:100px;background:var(--launch-mist);color:var(--launch-violet);padding:7px 13px;font-size:11px;font-weight:700}
body.launch-design.local-pilot .hero-copy>p.launch-disclaimer{border-top:1px solid var(--launch-line);padding-top:17px;margin:20px 0 0;font-size:10px;line-height:1.8;max-width:440px}
body.launch-design.local-pilot .home-hero .home-actions{position:static;display:flex;gap:10px;padding:0;flex-wrap:wrap}
body.launch-design.local-pilot .home-actions button{min-height:48px;border-radius:100px;font-size:13px;display:inline-flex;align-items:center;justify-content:center;gap:14px;backdrop-filter:none}
body.launch-design.local-pilot .home-actions #launch-choose{order:0;background:var(--launch-green);color:var(--launch-violet);border-color:var(--launch-green);padding:13px 20px;box-shadow:none;border-bottom:1px solid var(--launch-green)}
body.launch-design.local-pilot .home-hero .home-actions #garage-open{order:1;background:white;color:var(--launch-violet);border:1px solid var(--launch-line);padding:13px 19px}
body.launch-design.local-pilot .home-hero .hero-topline{display:block;position:absolute;left:calc(52% + 18px);top:38px;z-index:4}
body.launch-design.local-pilot .hero-badge{display:inline-flex;align-items:center;gap:8px;background:var(--launch-violet);border:0;color:white;border-radius:100px;padding:9px 15px;font-size:10px;backdrop-filter:none}
body.launch-design.local-pilot .hero-badge svg{color:var(--launch-green);width:19px;height:19px}
body.launch-design.local-pilot .hero-game-stage{display:block;z-index:2;right:0;bottom:40px;width:49%;height:72%;opacity:0;pointer-events:none}
body.launch-design.local-pilot .home-hero.game-preview-ready .hero-game-stage{opacity:1}
body.launch-design.local-pilot #home-game-car{width:100%;height:100%;display:block}
body.launch-design.local-pilot .game-road-perspective{display:none}
body.launch-design.local-pilot .home-hero #intro-caption{position:absolute;left:calc(52% + 16px);right:16px;bottom:44px;z-index:4;margin:0;min-height:30px;padding:0;display:flex;background:none;text-shadow:0 1px 4px #1A1650;color:white;font-size:9px;gap:8px}
body.launch-design.local-pilot .home-hero #intro-caption>span{max-width:none}
body.launch-design.local-pilot .film-controls button{background:var(--launch-violet);border:1px solid #FFFFFF70;color:white;border-radius:50%;width:34px;height:34px;min-height:34px}
body.launch-design.local-pilot .film-controls #home-music{width:34px;min-width:34px;height:34px;font-size:18px;padding:7px}
body.launch-design.local-pilot .film-controls #home-music[aria-pressed=true]{background:var(--launch-green);color:var(--launch-violet);border-color:var(--launch-green)}
body.launch-design.local-pilot .film-controls [data-city-slide]{display:grid;border:0;background:transparent;min-width:20px;width:20px}
body.launch-design.local-pilot .film-controls button i{height:5px;width:5px;background:white;opacity:.65}
body.launch-design.local-pilot .film-controls button[aria-pressed=true] i{width:13px;background:var(--launch-green);opacity:1}
body.launch-design #home-launch-status{color:var(--launch-violet)}
.launch-road-strip{display:flex;justify-content:center;align-items:center;flex-wrap:wrap;gap:12px 24px;background:var(--launch-grey);color:white;border-radius:16px;padding:18px 20px;margin:4px 0 28px;font-size:11px;font-weight:700;line-height:1.7}
.launch-road-strip span{display:inline-flex;align-items:center;gap:24px}
.launch-road-strip span:not(:last-child)::after{content:'';width:5px;height:5px;background:var(--launch-green);border-radius:50%;flex:none}
/* Library: quieter, smaller tiles, familiar numbering and real saved progress. */
body.launch-design.full-rebuild #full-tours{padding:24px 0 12px;margin:0;scroll-margin-top:12px}
/* The catalogue belongs inside Theory, never underneath the main menu. */
body.launch-design.full-rebuild dialog#full-tours{margin:auto;padding:24px 28px;width:min(1120px,calc(100vw - 40px));max-width:none;max-height:calc(100dvh - 48px);border-radius:26px;overflow:auto;background:white;scrollbar-gutter:stable}
.full-library-top{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:22px}
.full-library-top>span{display:inline-flex;align-items:center;gap:9px;color:var(--launch-violet);font-size:12px;font-weight:700}
.full-library-close{display:grid;place-items:center;padding:8px;width:42px;height:42px;border-radius:50%;background:var(--launch-mist);border:1px solid var(--launch-line)}
body.launch-design .game-mode-choices{gap:18px;margin:12px 0 20px;scroll-margin-top:14px}
body.launch-design .game-mode-choices .game-mode-choice{border-radius:22px;transition:background .18s,border-color .18s;box-shadow:none}
body.launch-design .game-mode-choices .game-mode-choice:hover{transform:none;box-shadow:none}
body.launch-design .game-mode-choices .mode-art{height:148px}
body.launch-design .game-mode-choices .mode-illustration{height:148px;width:100%}
body.launch-design .game-mode-choices .theory-art{background:#F4F4FA}
body.launch-design .game-mode-choices .ground-art{background:#2BF5A0}
body.launch-design .game-mode-choices .free-art{background:#1A1650}
body.launch-design .game-mode-choices .free-art .mode-symbol{color:white;background:#1A1650;border-color:#FFFFFF55}
body.launch-design .game-mode-choices .mode-symbol{left:14px;top:14px;width:32px;height:32px}
body.launch-design .game-mode-choices .mode-symbol svg{width:18px;height:18px}
body.launch-design .game-mode-choices .mode-card-copy{padding:20px}
body.launch-design .game-mode-choices .game-mode-choice h2{font-size:20px;margin-bottom:5px}
body.launch-design .game-mode-choices .game-mode-choice p{font-size:11px;margin:12px 0 17px;line-height:1.7}
body.launch-design .game-mode-choices .game-mode-choice button{min-height:44px;padding:11px 17px;font-size:12px}
body.launch-design .game-mode-choices [data-game-mode=theory] #begin{background:#1A1650!important;border-color:#1A1650!important;color:white!important}
body.launch-design .game-mode-choices [data-game-mode=free] #free{background:#F4F4FA!important;border-color:#DDDDEB!important;color:#1A1650!important}
body.launch-design .full-library-heading{margin-bottom:18px}
body.launch-design .full-library-heading h2{color:var(--launch-violet);font-weight:750;font-size:24px;letter-spacing:-.4px}
body.launch-design .full-library-heading .eyebrow{color:var(--launch-grey);font-size:11px}
body.launch-design #home-panel .full-library-heading .eyebrow{color:var(--launch-grey)}
body.launch-design .full-search{color:var(--launch-grey);width:270px}
body.launch-design .full-search input{background:white;border-color:var(--launch-line);color:var(--launch-violet);border-radius:100px;min-height:44px;padding-left:17px}
body.launch-design .full-player-summary{border:0;background:var(--launch-mist);border-radius:20px;padding:18px 20px;margin:16px 0 22px;gap:20px}
body.launch-design .full-profile{background:transparent;border:0;color:var(--launch-violet)}
body.launch-design .full-avatar{border-radius:50%;background:var(--launch-green);color:var(--launch-violet);width:44px;height:44px}
body.launch-design .full-stat{border-left:1px solid var(--launch-line);padding-left:20px}
body.launch-design .full-profile b,body.launch-design .full-stat b{color:var(--launch-violet);font-size:18px}
body.launch-design .full-profile small,body.launch-design .full-stat span{color:var(--launch-violet);opacity:.78;font-size:10px}
body.launch-design .full-topic-grid{gap:10px;grid-template-columns:repeat(3,minmax(0,1fr))}
body.launch-design .full-topic-card{padding:15px;min-height:96px;background:white;border-color:var(--launch-line);color:var(--launch-violet);border-radius:16px;gap:12px;transition:background .15s,border-color .15s}
body.launch-design .full-topic-card:hover{background:var(--launch-mist);border-color:var(--launch-violet)}
body.launch-design .full-topic-card .pilot-number{border-radius:50%;background:var(--launch-violet);color:white;width:32px;height:32px;flex:none;font:700 12px system-ui}
body.launch-design .full-topic-copy b{font-size:12px;line-height:1.7;color:var(--launch-violet);font-weight:650}
body.launch-design .full-topic-copy small{color:var(--launch-grey);font-size:10px}
body.launch-design .full-topic-state{color:var(--launch-violet);font-size:16px}
body.launch-design .full-topic-card.is-complete{background:#2BF5A018;border-color:#1A165040}
body.launch-design .full-topic-card.is-complete .pilot-number{background:var(--launch-green);color:var(--launch-violet)}
body.launch-design.local-pilot #home-panel .home-footer{display:flex!important;justify-content:space-between;border-color:var(--launch-line);margin:24px 0 0;padding:16px 0 0;gap:15px}
body.launch-design #home-panel .home-footer nav{display:flex;flex-wrap:wrap;gap:8px 18px}
body.launch-design #home-panel .home-footer nav button{display:inline-flex;align-items:center;gap:7px;color:var(--launch-grey);font-size:10px;padding:4px 0;min-height:40px;border:0}
body.launch-design .home-footer .launch-icon{width:16px;height:16px}
body.launch-design .home-footer .future{display:none}
/* Shared dialogs, profile/statistics, loading and garage. */
body.launch-design dialog{background:white;color:var(--launch-violet);border:1px solid var(--launch-line);border-radius:24px;box-shadow:0 22px 90px #1A16502B;scrollbar-color:var(--launch-grey) transparent}
body.launch-design dialog::backdrop{background:#1A165066;backdrop-filter:none}
body.launch-design dialog :is(h1,h2,h3){color:var(--launch-violet);font-weight:750}
body.launch-design #modal-body :is(p,li,small){color:var(--launch-violet)}
body.launch-design #modal-body p{font-size:13px;line-height:1.85}
body.launch-design #modal-body :is(input,textarea,select){border:1px solid var(--launch-line);border-radius:14px;color:var(--launch-violet);background:var(--launch-mist);padding:12px;max-width:100%}
body.launch-design #modal .close,body.launch-design .garage-close{background:var(--launch-mist);border-color:var(--launch-line);color:var(--launch-violet);border-radius:50%;display:grid;place-items:center;min-width:40px;min-height:40px}
body.launch-design :is(.profile-list button,.profile-personal-stats div,.activity-stats>div,.personal-week){background:var(--launch-mist);color:var(--launch-violet);border-color:var(--launch-line);border-radius:16px}
body.launch-design :is(.profile-list small,.profile-personal-stats b,.profile-personal-stats small,.activity-stats b,.activity-stats small,.week-day,.streak-heading>span,.streak-heading small){color:var(--launch-violet)}
body.launch-design .week-day b{background:var(--launch-mist);color:var(--launch-violet)}
body.launch-design .week-day.studied b{background:var(--launch-green);color:var(--launch-violet)}
body.launch-design .week-day.today b{outline-color:var(--launch-violet)}
body.launch-design .week-day.today i{background:var(--launch-violet)}
body.launch-design :is(#toast,#scene-status){background:var(--launch-violet);color:white;border:0;border-radius:14px;box-shadow:0 4px 18px #1A165022}
body.launch-design #loading{background:white;color:var(--launch-violet)}
body.launch-design #loading .spinner{border-color:var(--launch-line);border-top-color:var(--launch-violet)}
body.launch-design.scene-loading::after{background:#1A1650D9;color:white;backdrop-filter:none}
body.launch-design #map-attribution{color:var(--launch-violet);background:#FFFFFFDB;border-radius:8px}
body.launch-design .garage-dialog{background:white;color:var(--launch-violet);border-color:var(--launch-line)}
body.launch-design .garage-heading h2,body.launch-design .garage-car-text strong{color:var(--launch-violet)}
body.launch-design :is(.garage-eyebrow,.garage-preview-badge,.garage-car-number,.garage-car-text small,.garage-car-text>span,.garage-note){color:var(--launch-grey)}
body.launch-design .garage-preview{background:radial-gradient(ellipse at 50% 76%,#2BF5A026,transparent 66%),var(--launch-mist);border-radius:20px}
body.launch-design .garage-preview-code{color:#1A16501A}
body.launch-design .garage-dialog .garage-car{border-color:var(--launch-line);background:white;border-radius:16px}
body.launch-design .garage-dialog .garage-car:hover{background:var(--launch-mist);border-color:var(--launch-violet)}
body.launch-design .garage-dialog .garage-car[aria-checked=true]{background:var(--launch-mist);border-color:var(--launch-violet);box-shadow:inset 0 0 0 1px var(--launch-violet)}
body.launch-design .garage-selected{color:var(--launch-violet);background:var(--launch-green);width:22px;height:22px;display:grid;place-items:center;border-radius:50%}
body.launch-design .garage-dialog .garage-confirm{background:var(--launch-green);color:var(--launch-violet);border-radius:100px;border:0}
body.launch-design .garage-dialog .garage-confirm:hover{background:#21DE90}
body.launch-design .garage-status{color:var(--launch-error)}
body.launch-design #control-onboarding{background:white;color:var(--launch-violet);border-color:var(--launch-line);border-radius:18px;backdrop-filter:none}
body.launch-design #control-onboarding :is(h2,p,kbd){color:var(--launch-violet)}
body.launch-design #control-onboarding kbd{background:var(--launch-mist);border-color:var(--launch-line)}
@media(max-width:1100px){
 .launch-nav{gap:10px}.launch-nav button{font-size:11px}
 body.launch-design .launch-wordmark{font-size:23px}
 body.launch-design.local-pilot .hero-copy h1{font-size:38px}
 body.launch-design.local-pilot .hero-copy>p{font-size:13px}
 body.launch-design.local-pilot .hero-copy{max-width:none}
 body.launch-design .full-topic-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:740px){
 body.launch-design[data-screen=home] header{height:70px;padding:12px 5%;gap:10px}
 body.launch-design[data-screen=home] #home-panel{top:70px;height:calc(100dvh - 70px);padding:16px 5% 22px}
 .launch-nav{display:none}.launch-wordmark{font-size:21px;gap:7px;letter-spacing:-1px}.launch-mark{width:32px;height:32px}
 body.launch-design.full-rebuild #score-display{display:none!important}
 body.launch-design.full-rebuild #profile{font-size:10px;max-width:110px;padding:8px 11px;min-height:36px}
 body.launch-design.local-pilot .home-hero{display:flex;flex-direction:column;min-height:590px;padding:0 0 265px;gap:0}
 body.launch-design.local-pilot .home-hero .hero-copy{margin:0;padding:6px 0 0;max-width:100%}
 body.launch-design.local-pilot .hero-copy h1{font-size:34px;line-height:1.35;margin:15px 0 13px;max-width:none}
 body.launch-design.local-pilot .hero-copy>p{font-size:12px;line-height:1.85;max-width:none;margin-bottom:17px}
 body.launch-design.local-pilot .hero-copy>p.launch-disclaimer{font-size:9px;line-height:1.7;margin-top:15px;padding-top:13px}
 body.launch-design.local-pilot .home-hero .home-actions{position:static;display:flex;gap:8px;grid-template-columns:none}
 body.launch-design.local-pilot .home-hero .home-actions button{min-height:44px;font-size:11px;padding:11px 15px;flex:none}
 body.launch-design.local-pilot .home-hero #intro-film,body.launch-design.local-pilot .home-hero .hero-shade{inset:auto 0 6px;height:240px;border-radius:20px}
 body.launch-design.local-pilot .home-hero .hero-topline{left:13px;top:auto;bottom:199px}
 body.launch-design.local-pilot .hero-badge{padding:8px 12px;font-size:9px}
 body.launch-design.local-pilot .hero-game-stage{display:block;width:100%;height:205px;right:0;bottom:16px}
 body.launch-design.local-pilot .home-hero #intro-caption{left:13px;right:13px;bottom:17px;padding:0;margin:0;gap:4px;font-size:8px}
 body.launch-design.local-pilot .home-hero #intro-caption>span{max-width:none}
 .launch-road-strip{margin:12px 0 18px;border-radius:12px;font-size:9px;gap:7px 14px;padding:13px}
 .launch-road-strip span{gap:14px}.launch-road-strip span:not(:last-child)::after{width:4px;height:4px}
 body.launch-design .full-player-summary{grid-template-columns:repeat(3,minmax(0,1fr));padding:15px;gap:12px}
 body.launch-design .full-profile{grid-column:1/-1}
 body.launch-design .full-stat{padding-left:0;border-left:0}
 body.launch-design .full-stat b{font-size:16px}
 body.launch-design .full-stat span{font-size:9px}
 body.launch-design .full-library-heading{align-items:stretch;flex-direction:column;gap:10px}
 body.launch-design .full-library-heading h2{font-size:22px}
 body.launch-design .full-search{width:100%}
 body.launch-design .full-topic-grid{grid-template-columns:1fr}
 body.launch-design .full-topic-card{min-height:83px;padding:14px}
 body.launch-design .full-topic-copy b{font-size:12px}
 body.launch-design.full-rebuild dialog#full-tours{padding:18px;width:calc(100vw - 20px);max-height:calc(100dvh - 24px);border-radius:20px}
 body.launch-design .game-mode-choices{grid-template-columns:1fr;gap:12px;margin-top:14px}
 body.launch-design .game-mode-choices .game-mode-choice{display:grid;grid-template-columns:1fr;min-height:0}
 body.launch-design .game-mode-choices .mode-art{height:122px;min-height:0;width:100%}
 body.launch-design .game-mode-choices .mode-illustration{position:static;inset:auto;height:122px;width:100%}
 body.launch-design .game-mode-choices .mode-card-copy{padding:17px 19px}
 body.launch-design .game-mode-choices .game-mode-choice h2{font-size:19px}
 body.launch-design .game-mode-choices .game-mode-choice p{margin:9px 0 13px;font-size:11px}
 body.launch-design.local-pilot #home-panel .home-footer{display:flex!important;flex-direction:column}
 body.launch-design .home-footer nav{gap:2px 15px}
}
@media(max-height:550px) and (min-width:741px){
 body.launch-design[data-screen=home] header{height:64px;padding-block:10px}
 body.launch-design[data-screen=home] #home-panel{top:64px;height:calc(100dvh - 64px);padding-top:18px}
 body.launch-design.local-pilot .home-hero{min-height:345px;padding:0 0 20px}
 body.launch-design.local-pilot .hero-copy h1{font-size:33px;margin:11px 0}
 body.launch-design.local-pilot .hero-copy>p{font-size:11px;margin-bottom:16px}
 body.launch-design.local-pilot .home-hero #intro-film,body.launch-design.local-pilot .home-hero .hero-shade{top:4px;bottom:18px}
 body.launch-design.local-pilot .home-hero .hero-topline{top:18px}
 body.launch-design.local-pilot .hero-game-stage{height:74%;bottom:22px}
 body.launch-design.local-pilot .home-hero #intro-caption{bottom:30px}
}
@media(prefers-reduced-motion:reduce){body.launch-design #home-panel{scroll-behavior:auto}body.launch-design *,body.launch-design *::before,body.launch-design *::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}

body.launch-design #modal-body .cloud-newsletter-consent{display:flex;align-items:flex-start;gap:10px;margin:14px 0;cursor:pointer;text-align:left}body.launch-design #modal-body .cloud-newsletter-consent input[type="checkbox"]{display:block;width:20px;height:20px;flex:0 0 20px;padding:0;margin:3px 0 0;accent-color:var(--launch-mint,#63eda5);border-radius:4px}


/* launch-rustavi.css */
/* Launch brand skin. Course geometry, view controls and HUD anchors stay in rustavi.css. */
:is(#ground-menu,#ground-hud,#ground-driving,#ground-map,#ground-result,.game-mode-choices){
 --rg-green:var(--launch-green,#2BF5A0);
 --rg-violet:var(--launch-violet,#1A1650);
 --rg-grey:var(--launch-grey,#6E7385);
 --rg-mist:var(--launch-mist,#F4F4FA);
 --rg-line:var(--launch-line,#DDDDEB);
 --rg-error:var(--launch-error,#BC2C4B);
 color:var(--rg-violet);
}

/* The three directions share one illustration and action language. */
.game-mode-choices .game-mode-choice{background:#fff;border-color:var(--rg-line);border-radius:24px;box-shadow:none}
.game-mode-choices .game-mode-choice:hover{border-color:var(--rg-violet);box-shadow:0 10px 26px #1a16500a}
.game-mode-choices .mode-art{background:var(--rg-mist);color:var(--rg-violet)}
.game-mode-choices .ground-art{background:var(--rg-green);color:var(--rg-violet)}
.game-mode-choices .free-art{background:var(--rg-mist);color:var(--rg-violet)}
.game-mode-choices .mode-symbol{background:#fff;border:1px solid var(--rg-line);border-radius:50%;color:var(--rg-violet)}
.game-mode-choices .mode-symbol svg{stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.game-mode-choices .game-mode-choice h2{color:var(--rg-violet);font-weight:800;letter-spacing:-.03em}
.game-mode-choices .game-mode-choice :is(small,p){color:var(--rg-grey)}
.game-mode-choices .game-mode-choice button,
.game-mode-choices .game-mode-choice #begin,
.game-mode-choices .game-mode-choice #free{background:var(--rg-green)!important;color:var(--rg-violet)!important;border:1px solid var(--rg-green)!important;border-radius:999px;font-weight:800;box-shadow:none;text-shadow:none!important}
.game-mode-choices .game-mode-choice button:hover{box-shadow:0 0 0 3px #2bf5a02b}
.game-mode-choices .ground-home-actions{display:flex;flex-wrap:wrap;align-items:center;gap:8px 14px;margin-top:auto}
.game-mode-choices .ground-home-actions .ground-city-link{min-height:36px;padding:7px 0!important;background:transparent!important;border:0!important;border-radius:0!important;color:var(--rg-violet)!important;font-weight:650;text-align:left;text-decoration:underline;text-underline-offset:3px;box-shadow:none!important}
.game-mode-choices .ground-home-actions .ground-city-link:hover{color:#168262!important}

/* Menu: white cards, mist rails, and a clear green selection. */
body[data-screen=ground] header{background:#fffffff2;border-bottom-color:var(--launch-line,#DDDDEB)}
body[data-screen=ground] .shade{background:linear-gradient(0deg,#1a16501a,transparent 25%)}
#ground-menu{background:var(--rg-mist);color:var(--rg-violet);scrollbar-color:var(--rg-grey) transparent}
#ground-menu .ground-back{color:var(--rg-violet);font-weight:700;min-height:34px}
#ground-menu .ground-back:hover{background:transparent;color:var(--rg-grey)}
#ground-menu .ground-chip{background:#fff;color:var(--rg-violet);border:1px solid var(--rg-line);font-weight:700}
#ground-menu .ground-chip svg{color:var(--rg-violet)}
#ground-menu .ground-menu-heading .eyebrow{color:var(--rg-grey);font-weight:700;letter-spacing:.015em}
#ground-menu .ground-menu-heading h1{color:var(--rg-violet);font-weight:800;letter-spacing:-.045em}
#ground-menu .ground-menu-heading p{color:var(--rg-grey)}
#ground-menu .ground-heading-icon{background:var(--rg-green);color:var(--rg-violet);border-radius:24px}
#ground-menu .ground-heading-icon svg{stroke-width:1.8;stroke-linejoin:round;stroke-linecap:round}
#ground-menu .ground-mode-tabs{background:#fff;border:1px solid var(--rg-line);border-radius:999px}
#ground-menu .ground-mode-tabs button{color:var(--rg-grey);border-radius:999px;font-weight:700}
#ground-menu .ground-mode-tabs b{font-weight:800}
#ground-menu .ground-mode-tabs button:hover{background:var(--rg-mist);color:var(--rg-violet)}
#ground-menu .ground-mode-tabs button[aria-pressed=true]{background:var(--rg-green);color:var(--rg-violet);box-shadow:none}
#ground-menu .ground-mode-description{color:var(--rg-grey)}
#ground-menu .ground-elements button{background:#fff;border-color:var(--rg-line);border-radius:22px;color:var(--rg-violet);box-shadow:none}
#ground-menu .ground-elements button:hover:not(:disabled){background:#fff;border-color:var(--rg-violet)}
#ground-menu .ground-elements button[aria-pressed=true]{background:#fff;border-color:var(--rg-green);box-shadow:0 0 0 1px var(--rg-green) inset}
#ground-menu .maneuver-artwork{color:var(--rg-violet);background:var(--rg-mist);border-radius:18px;padding:5px}
#ground-menu .diagram-lane{stroke:var(--rg-grey);opacity:.5;stroke-linecap:round;stroke-linejoin:round}
#ground-menu .diagram-route{stroke:var(--rg-violet);stroke-linecap:round;stroke-linejoin:round}
#ground-menu .ground-element-copy small{color:var(--rg-grey);font-weight:600}
#ground-menu .ground-element-copy b{color:var(--rg-violet);font-weight:800}
#ground-menu .ground-element-check{border-radius:50%;background:var(--rg-green);color:var(--rg-violet);padding:2px;width:20px;height:20px}
#ground-menu .ground-element-check svg{width:100%;height:100%;stroke-width:2}
#ground-menu .ground-elements button:disabled{opacity:1;background:#fff;border-color:var(--rg-line);box-shadow:none}
#ground-menu .ground-elements button:disabled .ground-element-check{color:var(--rg-violet)}
#ground-menu .ground-start-card{background:#fff;border:1px solid var(--rg-line);border-radius:24px}
#ground-menu .ground-start-card b{color:var(--rg-violet);font-weight:800}
#ground-menu .ground-start-card p{color:var(--rg-grey)}
#ground-menu .ground-start-card button{background:var(--rg-green);color:var(--rg-violet);border:1px solid var(--rg-green);border-radius:999px;font-weight:800;box-shadow:none}
#ground-menu .ground-start-card button:hover{box-shadow:0 0 0 3px #2bf5a02b}
#ground-menu .ground-basics{color:var(--rg-grey)}
#ground-menu .ground-basics summary{color:var(--rg-violet);font-weight:700}
#ground-menu .ground-basics[open]{background:#fff;border-color:var(--rg-line);border-radius:20px}
#ground-menu .ground-basics p,#ground-menu .ground-calibration,#ground-local-history{color:var(--rg-grey)}
#ground-menu .ground-key-guide span{color:var(--rg-grey)}
#ground-menu .ground-key-guide kbd{background:var(--rg-mist);border-color:var(--rg-line);color:var(--rg-violet);border-radius:6px}

/* Driving overlay stays compact so all four windows and mirrors remain visible. */
#ground-hud{background:#fffffff2;color:var(--rg-violet);border:1px solid var(--rg-line);border-radius:22px;box-shadow:0 8px 30px #1a165014;scrollbar-color:var(--rg-grey) transparent}
#ground-hud .ground-hud-heading{color:var(--rg-grey);font-weight:700}
#ground-hud .ground-hud-heading button{background:var(--rg-mist);color:var(--rg-violet);border-radius:50%;border:0}
#ground-hud .ground-hud-heading button:hover{background:var(--rg-green)}
#ground-hud .ground-hud-heading b{color:var(--rg-grey);font-weight:700;font-variant-numeric:tabular-nums}
#ground-hud .ground-hud-note{color:var(--rg-grey)}
#ground-run-steps li{background:var(--rg-mist);color:var(--rg-grey);font-weight:700}
#ground-run-steps .current{background:var(--rg-violet);color:#fff}
#ground-run-steps .done{background:var(--rg-green);color:var(--rg-violet)}
#ground-current-title{color:var(--rg-violet);font-weight:800;letter-spacing:-.02em}
#ground-hud .ground-score-row{border-bottom-color:var(--rg-line)}
#ground-hud .ground-score-row svg,#ground-hud .ground-score-row small{color:var(--rg-grey);stroke:currentColor}
#ground-hud .ground-score-row b{color:var(--rg-violet);font-weight:700;font-variant-numeric:tabular-nums}
#ground-hud .ground-instruction b{color:var(--rg-grey);font-weight:700}
#ground-hud .ground-instruction p{color:var(--rg-violet)}
#ground-maneuver-status{padding:9px 10px;margin:8px 0;border:1px solid var(--rg-line);border-radius:14px;background:var(--rg-mist);color:var(--rg-violet)}
#ground-maneuver-status>b{font-size:10px;line-height:1.6;font-weight:800}
#ground-maneuver-status .ground-loop-progress{display:flex;gap:12px;margin-top:5px}
#ground-maneuver-status .ground-loop-progress>span{flex:1;min-width:0}
#ground-maneuver-status small{color:var(--rg-grey);font-size:9px}
#ground-maneuver-status progress{height:4px;margin-top:4px;background:var(--rg-line);accent-color:var(--rg-green)}
#ground-maneuver-status progress::-webkit-progress-bar{background:var(--rg-line)}
#ground-maneuver-status progress::-webkit-progress-value{background:var(--rg-green)}
#ground-maneuver-status progress::-moz-progress-bar{background:var(--rg-green)}
#ground-hud .ground-hud-actions>button{background:var(--rg-mist);color:var(--rg-violet);border:1px solid var(--rg-line);border-radius:999px;font-weight:800;box-shadow:none}
#ground-hud .ground-hud-actions>button:hover{border-color:var(--rg-violet)}
#ground-hud .ground-hud-actions>button.primary{background:var(--rg-green);border-color:var(--rg-green);color:var(--rg-violet)}
#ground-hud .ground-hud-actions>button.primary:hover{box-shadow:0 0 0 3px #2bf5a02b}
#ground-why summary{color:var(--rg-violet);background:var(--rg-mist);border:1px solid var(--rg-line);border-radius:50%}
#ground-why[open] summary{background:var(--rg-green);border-color:var(--rg-green)}
#ground-hud .ground-help-content b{color:var(--rg-violet);font-weight:800}
#ground-hud .ground-help-content p,#ground-hud .ground-key-guide span{color:var(--rg-grey)}
#ground-hud .ground-key-guide kbd{background:var(--rg-mist);border-color:var(--rg-line);color:var(--rg-violet);border-radius:6px}
#ground-mistake,#ground-controls-message{background:#fff0f3;color:var(--rg-error);border:1px solid #bc2c4b33;border-radius:12px}
#ground-parking-status{background:var(--rg-mist);color:var(--rg-violet);border-radius:16px;border:1px solid var(--rg-line)}
#ground-parking-status[data-tone=success]{background:var(--rg-green);color:var(--rg-violet);border-color:var(--rg-green)}
#ground-parking-status[data-tone=confirming]{background:var(--rg-mist);color:var(--rg-violet);border-color:var(--rg-violet)}
#ground-parking-status[data-tone=warning]{background:#fff0f3;color:var(--rg-error);border-color:#bc2c4b33}
#ground-parking-status .parking-checks span{color:var(--rg-grey)}
#ground-parking-status .parking-checks .is-met{color:var(--rg-violet)}
#ground-parking-status .parking-checks i{border-color:var(--rg-grey)}
#ground-parking-status[data-tone=success] .parking-checks span{color:var(--rg-violet)}
#ground-parking-status progress{accent-color:var(--rg-green);background:var(--rg-line)}
#ground-parking-status progress::-webkit-progress-bar{background:var(--rg-line)}
#ground-parking-status progress::-webkit-progress-value{background:var(--rg-green)}
#ground-parking-status progress::-moz-progress-bar{background:var(--rg-green)}

#ground-driving{color:var(--rg-violet)}
#ground-driving .ground-drive-speed{width:max-content;min-width:64px;padding:7px 11px;background:#fffffff2;border:1px solid var(--rg-line);border-radius:16px;text-shadow:none}
#ground-driving .ground-drive-speed b{color:var(--rg-violet);font-weight:750;font-variant-numeric:tabular-nums}
#ground-driving .ground-drive-speed span{color:var(--rg-grey)}
#ground-driving button{background:#fffffff2;color:var(--rg-violet);border:1px solid var(--rg-line);border-radius:13px;font-weight:750;box-shadow:0 3px 12px #1a16500a;text-shadow:none}
#ground-driving button:hover:not(:disabled){background:var(--rg-mist);border-color:var(--rg-violet)}
#ground-driving button[aria-pressed=true],#ground-window-views button[aria-pressed=true]{background:var(--rg-green);color:var(--rg-violet);border-color:var(--rg-green)}
#ground-driving button[aria-pressed=true]:hover:not(:disabled){background:var(--rg-green);border-color:var(--rg-violet)}
#ground-driving button:disabled{opacity:.6}
#ground-driving svg{stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
#ground-window-views button{background:#fffffff2;color:var(--rg-violet);border-color:var(--rg-line);border-radius:999px}
#ground-map{background:#fffffff2;border-color:var(--rg-line);border-radius:18px;box-shadow:0 5px 20px #1a165014}
#ground-map canvas{border-radius:12px}
#ground-map>span{color:var(--rg-grey)}

/* Results use a neutral violet score; green identifies the next action. */
#ground-result{background:#fff;color:var(--rg-violet);border:1px solid var(--rg-line);border-radius:28px;box-shadow:0 24px 80px #1a165026}
#ground-result::backdrop{background:#1a165060;backdrop-filter:blur(5px)}
#ground-result .eyebrow{color:var(--rg-grey);font-weight:700;letter-spacing:.015em}
#ground-result h2{color:var(--rg-violet);font-weight:800;letter-spacing:-.035em}
#ground-result .ground-result-number{color:var(--rg-violet);font-weight:800;letter-spacing:-.045em;font-variant-numeric:tabular-nums}
#ground-result .ground-result-number small,#ground-result>small{color:var(--rg-grey)}
#ground-result p{color:var(--rg-grey)}
#ground-result ul{background:var(--rg-mist);border-radius:18px;padding:13px 16px 13px 32px}
#ground-result li{color:var(--rg-violet)}
#ground-result .ground-result-actions button{background:var(--rg-mist);color:var(--rg-violet);border:1px solid var(--rg-line);border-radius:999px;font-weight:800;box-shadow:none}
#ground-result .ground-result-actions button:hover{border-color:var(--rg-violet)}
#ground-result .ground-result-actions .primary{background:var(--rg-green);color:var(--rg-violet);border-color:var(--rg-green)}
#ground-result .ground-result-actions .primary:hover{box-shadow:0 0 0 3px #2bf5a02b}

:is(#ground-menu,#ground-hud,#ground-driving,#ground-result,.game-mode-choices) button:focus-visible,
:is(#ground-menu,#ground-hud) summary:focus-visible{outline:3px solid var(--rg-violet);outline-offset:3px}
:is(#ground-menu,#ground-hud,#ground-driving,#ground-result) svg{stroke-linecap:round;stroke-linejoin:round}

@media(max-width:700px){
 .game-mode-choices .game-mode-choice{border-radius:22px}
 #ground-menu .ground-heading-icon{border-radius:16px}
 #ground-menu .ground-elements button{border-radius:18px}
 #ground-menu .maneuver-artwork{border-radius:14px;padding:3px}
 #ground-menu .ground-element-check{width:16px;height:16px}
 #ground-menu .ground-start-card{border-radius:22px}
 #ground-hud{border-radius:20px}
 #ground-driving .ground-drive-speed{min-width:33px;padding:4px 7px;border-radius:12px}
 #ground-driving button{border-radius:11px}
 #ground-driving #ground-window-views button{border-radius:999px}
 #ground-map{border-radius:14px}
 #ground-map canvas{border-radius:9px}
 #ground-result{border-radius:24px}
}
@media(max-height:550px) and (min-width:701px){
 #ground-driving .ground-drive-speed{min-width:54px;padding:4px 8px;border-radius:12px}
 #ground-driving button{border-radius:10px}
 #ground-driving #ground-window-views button{border-radius:999px}
 #ground-menu .ground-elements button{border-radius:18px}
 #ground-menu .maneuver-artwork{border-radius:14px;padding:3px}
}
@media(prefers-reduced-motion:reduce){.game-mode-choices .game-mode-choice{transition:none}.game-mode-choices .game-mode-choice:hover{transform:none}}

/* Practice controls: the touch-camera proxy belongs only to the touch menu.
   The old #ground-driving button selector otherwise made its text visible on
   desktop and let the caption spill into the D/R/P row. */
#ground-driving .touch-menu-camera{display:none}
#ground-driving .touch-menu-camera span{display:none!important}
#ground-driving .ground-tool-icons,#ground-driving .ground-gears,#ground-driving #ground-window-views{gap:6px;align-items:center}
#ground-driving button{box-sizing:border-box;width:44px;height:44px;min-width:44px;min-height:44px;padding:10px;line-height:1;overflow:hidden;flex:0 0 44px}
#ground-driving button svg{display:block;flex:none;width:22px;height:22px}
body:not(.touch-device) #ground-driving{
 display:grid;grid-template-columns:minmax(80px,1fr) auto;grid-template-areas:"speed tools" "windows windows" "gears gears";
 align-items:center;justify-items:start;gap:8px;left:max(18px,env(safe-area-inset-left));right:auto;
 bottom:max(18px,env(safe-area-inset-bottom));width:300px;max-width:calc(100vw - 36px);
}
body:not(.touch-device) #ground-driving .ground-drive-speed{grid-area:speed;box-sizing:border-box;width:100%;min-width:0;height:44px;margin:0;padding:6px 9px;gap:5px;align-items:center;justify-content:center;border-radius:13px}
body:not(.touch-device) #ground-driving .ground-drive-speed b{font-size:26px;line-height:1}
body:not(.touch-device) #ground-driving .ground-drive-speed span{display:block;font-size:9px;line-height:1}
body:not(.touch-device) #ground-driving .ground-tool-icons{grid-area:tools;margin:0}
body:not(.touch-device) #ground-driving .ground-gears{grid-area:gears}
body:not(.touch-device) #ground-driving #ground-window-views{grid-area:windows;order:initial;width:auto;justify-content:flex-start;margin:0}
body.touch-device #ground-driving.touch-options-open .touch-extra>.touch-menu-camera{display:grid!important;place-items:center;width:44px!important;height:44px!important;padding:10px!important;justify-self:center;flex:none}
body.touch-device #ground-driving .touch-extra :is(.ground-tool-icons,.ground-gears,#ground-window-views) button{width:44px!important;height:44px!important;padding:10px!important;flex:0 0 44px}
body.touch-device #ground-driving .touch-extra #ground-camera{display:none!important}
@media(max-width:700px){
 body:not(.touch-device) #ground-driving{left:max(12px,env(safe-area-inset-left));bottom:max(12px,env(safe-area-inset-bottom));max-width:calc(100vw - 24px)}
 body:not(.touch-device)[data-screen=ground] #ground-hud{bottom:calc(124px + env(safe-area-inset-bottom))}
 body:not(.touch-device)[data-screen=ground].cockpit-active #ground-hud{bottom:calc(168px + env(safe-area-inset-bottom))}
}

body.touch-device #ground-driving .ground-drive-speed{height:32px!important;padding:4px 8px!important;border-radius:999px;background:#1a1650e8!important;border-color:#ffffff80!important}

/* Two practical paths are equally visible; choosing a maneuver opens it. */
body.launch-design .launch-experiences [data-game-mode="ground"] .mode-card-copy{display:flex;flex-direction:column}
body.launch-design .launch-experiences .ground-home-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:stretch;gap:8px;width:100%;margin-top:auto}
body.launch-design .launch-experiences .ground-home-actions .ground-practice-choice{display:grid;grid-template-columns:28px minmax(0,1fr);align-items:center;gap:8px;width:100%;min-width:0;min-height:68px;padding:8px 10px!important;text-align:left;border:1px solid #d6e8df!important;border-radius:13px!important;background:#f5faf7!important;color:#1a1650!important;box-shadow:none!important}
body.launch-design .launch-experiences .ground-home-actions .city-practice-choice{border-color:#c9dff3!important;background:#f2f7fb!important}
body.launch-design .launch-experiences .ground-home-actions .ground-practice-choice:hover{border-color:#2e8f70!important;background:#e8f7ee!important}
body.launch-design .launch-experiences .ground-home-actions .ground-practice-choice:focus-visible{outline:3px solid #1a1650;outline-offset:2px}
.ground-practice-choice .practice-choice-icon{display:grid;place-items:center;width:29px;height:29px;border-radius:9px;background:#d8f2df;color:#205f50}
.city-practice-choice .practice-choice-icon{background:#dbeafa;color:#205c82}
.ground-practice-choice .practice-choice-icon svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.8}
.ground-practice-choice>span:nth-child(2){min-width:0}
body.launch-design .launch-experiences .ground-practice-choice b{display:block;font-size:12.5px;line-height:1.3}
body.launch-design .launch-experiences .ground-practice-choice small{display:block;font-size:10.5px;line-height:1.35;color:#61766e;overflow-wrap:anywhere}
#ground-menu .ground-elements button{min-height:128px;cursor:pointer;box-shadow:none}
#ground-menu .ground-elements button:hover:not(:disabled),#ground-menu .ground-elements button:focus-visible{border-color:#239a73;box-shadow:0 0 0 2px #2bf5a038}
#ground-menu .ground-elements button[aria-pressed="true"]{border-color:var(--rg-line);background:#fff;box-shadow:none}
#ground-menu .ground-element-task{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;line-clamp:2;overflow:hidden;color:#657d78;font-size:10px;line-height:1.45}
#ground-menu .ground-element-arrow{position:absolute;top:10px;right:12px;color:#237a64;font-size:17px}
@media(max-width:700px){#ground-menu .ground-elements button{min-height:154px;flex-direction:column;align-items:flex-start;gap:6px}#ground-menu .ground-element-copy{width:100%}#ground-menu .maneuver-artwork{flex:0 0 42px;width:42px;height:42px}#ground-menu .ground-element-task{-webkit-line-clamp:2;line-clamp:2}}

/* The city exam is a separate practical mode, not a seventh ground maneuver. */
#ground-menu .city-exam-entry{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-top:24px;padding:20px 22px;border:1px solid #bdd9ed;border-radius:22px;background:linear-gradient(115deg,#eaf4fc,#f8fbff);box-shadow:0 7px 24px #1a165009}
#ground-menu .city-exam-entry b{display:block;color:#214e71;font-size:17px;line-height:1.3}
#ground-menu .city-exam-entry p{max-width:550px;margin:5px 0 0;color:#607784;font-size:12px;line-height:1.45}
#ground-menu .city-exam-entry button{flex:none;min-height:42px;padding:10px 16px;border:1px solid #c1d9e9;border-radius:999px;background:#fff;color:#214e71;font-weight:800;white-space:nowrap;cursor:pointer}
#ground-menu .city-exam-entry button:hover{border-color:#4e8ab3;background:#e9f4fb}
@media(max-width:700px){#ground-menu .city-exam-entry{display:block;padding:17px}#ground-menu .city-exam-entry button{margin-top:13px}}

/* The full task is readable until the learner first moves. While driving,
   keep only the current cue, timer and penalty count away from cockpit mirrors. */
#ground-hud .ground-hud-heading #ground-hud-toggle{display:inline-flex;align-items:center;justify-content:center;gap:3px;flex:none;width:auto;min-width:67px;height:30px;margin-left:5px;padding:4px 7px;border:1px solid var(--rg-line);border-radius:999px;background:#fff;color:var(--rg-violet);font-size:9px;font-weight:750;line-height:1;cursor:pointer}
#ground-hud .ground-hud-heading #ground-hud-toggle:hover{background:var(--rg-mist)}
#ground-hud .ground-hud-heading #ground-hud-toggle svg{width:13px;height:13px;transition:transform .16s ease}
#ground-hud.ground-hud-compact #ground-hud-toggle svg{transform:rotate(180deg)}
#ground-compact-status{display:none}
#ground-hud.ground-hud-compact{box-sizing:border-box;top:max(86px,calc(72px + env(safe-area-inset-top)));bottom:auto!important;right:max(12px,env(safe-area-inset-right));left:auto!important;width:min(220px,calc(100vw - 24px));max-height:calc(100dvh - 100px);padding:8px 10px;border-radius:15px;overflow:hidden}
#ground-hud.ground-hud-compact .ground-hud-heading{gap:4px}
#ground-hud.ground-hud-compact .ground-hud-heading #ground-mode-name{display:none}
#ground-hud.ground-hud-compact .ground-hud-heading b{margin-left:auto}
#ground-hud.ground-hud-compact :is(#ground-run-steps,#ground-maneuver-status,#ground-parking-status,#ground-mistake,#ground-controls-message,.ground-hud-actions,.ground-hud-note){display:none!important}
#ground-hud.ground-hud-compact #ground-current-title{font-size:13px;line-height:1.3;margin:5px 0 3px;padding:0}
#ground-hud.ground-hud-compact .ground-score-row{position:static;display:flex;gap:11px;margin:0 0 3px;padding:0;border:0}
#ground-hud.ground-hud-compact .ground-score-row span{gap:3px}
#ground-hud.ground-hud-compact .ground-score-row small{display:inline;font-size:8px}
#ground-hud.ground-hud-compact .ground-score-row b{font-size:10px;margin-left:0}
#ground-hud.ground-hud-compact .ground-instruction{max-height:none;overflow:hidden}
#ground-hud.ground-hud-compact .ground-instruction b{display:none}
#ground-hud.ground-hud-compact .ground-instruction p{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;line-clamp:2;overflow:hidden;margin:2px 0 0;font-size:10px;line-height:1.35}
#ground-hud.ground-hud-compact #ground-compact-status:not([hidden]){display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;line-clamp:2;overflow:hidden;margin:5px 0 0;padding:4px 6px;border-radius:6px;background:#fff0f3;color:var(--rg-error);font-size:9px;line-height:1.35}
#ground-hud.ground-hud-compact #ground-compact-status[data-tone=success]:not([hidden]){background:#e1f7e9;color:#166144}
#ground-hud.ground-hud-compact #ground-compact-status[data-tone=confirming]:not([hidden]){background:#f0f5e4;color:#5b6925}
#ground-compact-line{display:none}
@media(max-width:700px){
 #ground-hud.ground-hud-compact{top:calc(136px + env(safe-area-inset-top));right:max(8px,env(safe-area-inset-right));width:min(246px,calc(100vw - 101px));max-height:calc(100dvh - 145px);padding:7px 9px}
 #ground-hud.ground-hud-compact .ground-score-row{top:auto;right:auto}
}
@media(max-height:550px) and (min-width:701px){
 #ground-hud.ground-hud-compact{top:max(68px,env(safe-area-inset-top));right:10px;width:210px;max-height:calc(100dvh - 76px)}
}
@media(prefers-reduced-motion:reduce){#ground-hud .ground-hud-heading #ground-hud-toggle svg{transition:none}}

/* The full assignment is available while stopped and by tap. During phone
   driving, one cue sits between the header/mirror aid and the windshield
   road, so neither the road nor the speedometer is covered. */
@media(max-width:700px) and (orientation:portrait){
 body.touch-device[data-screen=ground] #ground-hud.ground-hud-compact{
  top:calc(154px + env(safe-area-inset-top))!important;
  bottom:auto!important;
  left:max(12px,env(safe-area-inset-left))!important;
  right:max(12px,env(safe-area-inset-right))!important;
  width:auto!important;
  max-height:50px!important;
  min-height:0;
  padding:5px 8px;
  background:#fffffff0;
  border-radius:14px;
  box-shadow:0 5px 20px #11133a22;
 }
 body.touch-device[data-screen=ground] #ground-hud.ground-hud-compact .ground-hud-heading{height:38px;margin:0;gap:5px}
 body.touch-device[data-screen=ground] #ground-hud.ground-hud-compact #ground-back-menu,
 body.touch-device[data-screen=ground] #ground-hud.ground-hud-compact #ground-ordinal{display:none!important}
 body.touch-device[data-screen=ground] #ground-hud.ground-hud-compact #ground-hud-toggle{
  height:35px;min-height:35px;min-width:70px;margin-left:auto;padding:5px 7px;font-size:10px;
 }
 body.touch-device[data-screen=ground] #ground-hud.ground-hud-compact #ground-hud-details{display:none!important}
 body.touch-device[data-screen=ground] #ground-hud.ground-hud-compact #ground-compact-line{
  display:flex;flex:1;align-items:center;gap:7px;min-width:0;overflow:hidden;
 }
 body.touch-device[data-screen=ground] #ground-hud.ground-hud-compact #ground-compact-title{
  flex:none;max-width:48%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;
  color:var(--rg-violet);font-size:11px;font-weight:800;line-height:1.2;
 }
 body.touch-device[data-screen=ground] #ground-hud.ground-hud-compact #ground-compact-cue{
  flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;
  color:#4c5475;font-size:10px;line-height:1.2;
 }
 body.touch-device[data-screen=ground] #ground-hud:not(.ground-hud-compact) #ground-hud-toggle{
  min-width:77px;min-height:38px;padding:6px 9px;font-size:10px;
 }
}


/* launch-learning.css */
/* Carborbala launch palette: tickets, practice, and the driving interface. */
body {
 --learning-green: #2bf5a0;
 --learning-violet: #1a1650;
 --learning-muted: #6e7385;
 --learning-mist: #f4f4fa;
 --learning-line: #e1e1ec;
 --learning-error: #b7354d;
 --learning-error-wash: #fff0f2;
}

/* Theory follows the white ticket sheet and numbered violet answer circles. */
body:is(.local-pilot,.full-rebuild) #chapter-panel {
 background: #fff;
 color: var(--learning-violet);
 border: 1px solid var(--learning-line);
 border-radius: 24px;
 padding: 28px;
 box-shadow: 0 10px 38px #1a16500d;
 backdrop-filter: none;
 scrollbar-color: #c5c5d5 transparent;
}
body:is(.local-pilot,.full-rebuild) #chapter-panel h1,
body:is(.local-pilot,.full-rebuild) #chapter-panel h2 {
 color: var(--learning-violet);
 letter-spacing: -.5px;
}
body:is(.local-pilot,.full-rebuild) #chapter-kicker {
 display: inline-flex;
 align-items: center;
 border-radius: 999px;
 padding: 6px 12px;
 margin-top: 16px;
 background: var(--learning-muted);
 color: #fff;
 font-size: 11px;
}
body:is(.local-pilot,.full-rebuild) #chapter-summary {
 color: var(--learning-muted);
 font-size: 13px;
}
body:is(.local-pilot,.full-rebuild) #chapter-panel .quiet,
body:is(.local-pilot,.full-rebuild) #review-toggle {
 color: var(--learning-violet);
 border: 1px solid var(--learning-line);
 background: var(--learning-mist);
 border-radius: 999px;
}
body:is(.local-pilot,.full-rebuild) #review-toggle[aria-pressed=true] {
 background: var(--learning-violet);
 color: #fff;
 border-color: var(--learning-violet);
}
body:is(.local-pilot,.full-rebuild) #chapter-panel .primary,
body:is(.local-pilot,.full-rebuild) #tour-next {
 background: var(--learning-green);
 border-color: var(--learning-green);
 color: var(--learning-violet);
 border-radius: 999px;
 font-weight: 700;
}
body:is(.local-pilot,.full-rebuild) #tour-progress {
 padding: 16px 18px;
 background: var(--learning-mist);
 color: var(--learning-violet);
 border-color: var(--learning-line);
 border-radius: 16px;
}
body:is(.local-pilot,.full-rebuild) .tour-progress-label { color: var(--learning-violet); }
body:is(.local-pilot,.full-rebuild) #tour-progress small,
body:is(.local-pilot,.full-rebuild) #tour-progress .practice-progress { color: var(--learning-muted); }
body:is(.local-pilot,.full-rebuild) #chapter-panel progress { background: #e0e0ec; accent-color: var(--learning-violet); }
body:is(.local-pilot,.full-rebuild) #chapter-panel progress::-webkit-progress-bar { background: #e0e0ec; }
body:is(.local-pilot,.full-rebuild) #chapter-panel progress::-webkit-progress-value { background: var(--learning-violet); }
body:is(.local-pilot,.full-rebuild) #lesson-list details { border-color: var(--learning-line); }
body:is(.local-pilot,.full-rebuild) #lesson-list summary { color: var(--learning-violet); font-weight: 650; }
body:is(.local-pilot,.full-rebuild) #lesson-list summary small { color: var(--learning-muted); font-weight: 400; }
body:is(.local-pilot,.full-rebuild) .lesson-card {
 background: #fff;
 color: var(--learning-violet);
 border: 1px solid var(--learning-line);
 border-radius: 16px;
 padding: 16px;
 gap: 13px;
 box-shadow: none;
}
body:is(.local-pilot,.full-rebuild) .lesson-card:hover { background: var(--learning-mist); border-color: #c5c3dd; }
body:is(.local-pilot,.full-rebuild) .lesson-card em {
 display: grid;
 place-items: center;
 flex: none;
 width: 30px;
 height: 30px;
 border-radius: 50%;
 padding: 0;
 background: var(--learning-violet);
 color: #fff;
 font: 700 11px system-ui;
}
body:is(.local-pilot,.full-rebuild) .lesson-card small { color: var(--learning-muted); }
body:is(.local-pilot,.full-rebuild) .lesson-card.completed { border-color: #82dbb5; background: #f2fff9; }
body:is(.local-pilot,.full-rebuild) .lesson-card.completed em { background: var(--learning-green); color: var(--learning-violet); }
body:is(.local-pilot,.full-rebuild) .lesson-card.review { border-color: #e6bac2; background: var(--learning-error-wash); }
body:is(.local-pilot,.full-rebuild) .lesson-card.review em { background: var(--learning-error); color: #fff; }

body:is(.local-pilot,.full-rebuild) #lesson-panel {
 width: 420px;
 max-width: 38vw;
 right: 24px;
 top: 84px;
 bottom: 88px;
 padding: 24px;
 border: 1px solid var(--learning-line);
 border-radius: 24px;
 background: #fff;
 color: var(--learning-violet);
 box-shadow: 0 12px 44px #1a165018;
 backdrop-filter: none;
 scrollbar-color: #c5c5d5 transparent;
}
body:is(.local-pilot,.full-rebuild) #lesson-panel .lesson-top { align-items: center; margin: -4px 0 16px; gap: 10px; }
body:is(.local-pilot,.full-rebuild) #lesson-panel .lesson-top #lesson-count { color: var(--learning-muted); font-size: 10px; line-height: 1.7; }
body:is(.local-pilot,.full-rebuild) #lesson-panel button.quiet {
 background: var(--learning-mist);
 color: var(--learning-violet);
 border: 1px solid var(--learning-line);
 border-radius: 999px;
}
body:is(.local-pilot,.full-rebuild) #back-chapter { font-size: 11px; white-space: normal; text-align: left; }
body:is(.local-pilot,.full-rebuild) #back-chapter::after { content: none; }
body:is(.local-pilot,.full-rebuild) #lesson-panel .lesson-city-link {
 width: 40px;
 height: 40px;
 min-width: 40px;
 min-height: 40px;
 border-radius: 50%;
 border: 1px solid var(--learning-line);
 background: var(--learning-green);
 color: var(--learning-violet);
 box-shadow: none;
}
body:is(.local-pilot,.full-rebuild) #lesson-panel .city-entry-dot { display: block; }
body:is(.local-pilot,.full-rebuild) #lesson-progress {
 position: static;
 padding: 11px 13px;
 margin-bottom: 12px;
 background: var(--learning-mist);
 color: var(--learning-violet);
 border: 1px solid var(--learning-line);
 border-radius: 12px;
}
body:is(.local-pilot,.full-rebuild) #lesson-progress strong { color: var(--learning-violet); font-size: 11px; }
body:is(.local-pilot,.full-rebuild) #lesson-progress .progress-definition,
body:is(.local-pilot,.full-rebuild) #lesson-progress .unlock-remaining { color: var(--learning-muted); }
body:is(.local-pilot,.full-rebuild) #lesson-progress button { color: var(--learning-violet); background: var(--learning-green); border-color: var(--learning-green); border-radius: 999px; }
body:is(.local-pilot,.full-rebuild) #lesson-progress #lesson-next-tour,
body:is(.local-pilot,.full-rebuild) #chapter-panel .progression-next,
body:is(.local-pilot,.full-rebuild) #lesson-panel .progression-next {
 color: var(--learning-violet);
 background: var(--learning-green);
 border-color: var(--learning-green);
 border-radius: 999px;
}
body:is(.local-pilot,.full-rebuild) #lesson-panel .phase-row { position: static; background: transparent; padding: 2px 0; }
body:is(.local-pilot,.full-rebuild) #lesson-panel .kicker { color: var(--learning-muted); font-size: 10px; }
body:is(.local-pilot,.full-rebuild) #lesson-panel h2 {
 margin: 14px 0 18px;
 padding: 0;
 border: 0;
 border-radius: 0;
 background: transparent;
 color: var(--learning-violet);
 font-size: 19px;
 line-height: 1.7;
 font-weight: 750;
 letter-spacing: -.2px;
}
body:is(.local-pilot,.full-rebuild) #lesson-panel h2[data-kind=practice],
body:is(.local-pilot,.full-rebuild) #lesson-panel h2[data-kind=check] { color: var(--learning-violet); background: transparent; border: 0; }
body:is(.local-pilot,.full-rebuild) #evidence-image {
 max-height: 210px;
 object-fit: contain;
 border: 1px solid var(--learning-line);
 background: var(--learning-mist);
 border-radius: 14px;
}
body:is(.local-pilot,.full-rebuild) #answers { display: grid; gap: 9px; margin: 9px 0 17px; }
body:is(.local-pilot,.full-rebuild) #answers>button,
body:is(.local-pilot,.full-rebuild) #lesson-actions>button.check-answer {
 display: flex;
 align-items: flex-start;
 text-align: left;
 gap: 12px;
 width: 100%;
 min-height: 56px;
 padding: 14px 13px;
 border: 1px solid var(--learning-line);
 border-radius: 12px;
 color: var(--learning-violet);
 background: #fff;
 box-shadow: none;
 font-size: 13px;
 line-height: 1.7;
 font-weight: 500;
}
body:is(.local-pilot,.full-rebuild) #answers>button:hover:not(:disabled),
body:is(.local-pilot,.full-rebuild) #lesson-actions>button.check-answer:hover:not(:disabled) { background: var(--learning-mist); border-color: #bbb8d5; }
body:is(.local-pilot,.full-rebuild) #answers .answer-number,
body:is(.local-pilot,.full-rebuild) #lesson-actions>button.check-answer::before {
 display: inline-grid;
 place-items: center;
 flex: none;
 width: 29px;
 height: 29px;
 min-width: 29px;
 min-height: 29px;
 margin-top: 0;
 padding: 0;
 border: 0;
 border-radius: 50%;
 background: var(--learning-violet);
 color: #fff;
 font: 750 12px system-ui;
}
body:is(.local-pilot,.full-rebuild) #lesson-actions { counter-reset: learning-answer; }
body:is(.local-pilot,.full-rebuild) #lesson-actions>button.check-answer::before { counter-increment: learning-answer; content: counter(learning-answer); }
body:is(.local-pilot,.full-rebuild) #answers>button:disabled { opacity: 1; }
body:is(.local-pilot,.full-rebuild) #answers>button.correct,
body:is(.local-pilot,.full-rebuild) #lesson-actions>button.check-answer.correct {
 background: #e9fff5;
 color: var(--learning-violet);
 border: 2px solid #1bc982;
 padding: 13px 12px;
 box-shadow: none;
}
body:is(.local-pilot,.full-rebuild) #answers>button.correct .answer-number,
body:is(.local-pilot,.full-rebuild) #lesson-actions>button.check-answer.correct::before { background: var(--learning-green); color: var(--learning-violet); }
body:is(.local-pilot,.full-rebuild) #answers>button.incorrect,
body:is(.local-pilot,.full-rebuild) #lesson-actions>button.check-answer.incorrect {
 background: var(--learning-error-wash);
 color: #8f243c;
 border: 2px solid var(--learning-error);
 padding: 13px 12px;
 box-shadow: none;
}
body:is(.local-pilot,.full-rebuild) #answers>button.incorrect .answer-number,
body:is(.local-pilot,.full-rebuild) #lesson-actions>button.check-answer.incorrect::before { background: var(--learning-error); color: #fff; }
body:is(.local-pilot,.full-rebuild) #answers>button.source-selected { background: var(--learning-mist)!important; border-color: #9c98bf!important; }
body:is(.local-pilot,.full-rebuild) .answer-result { font-size: 11px; font-weight: 700; }
body:is(.local-pilot,.full-rebuild) .answers-label { color: var(--learning-muted); font-size: 11px; font-weight: 500; }

/* Auxiliary information uses grey strips; answer feedback retains its meaning. */
body:is(.local-pilot,.full-rebuild) #scene-context,
body:is(.local-pilot,.full-rebuild) #detail,
body:is(.local-pilot,.full-rebuild) #pilot-why,
body:is(.local-pilot,.full-rebuild) #pilot-original-question {
 background: var(--learning-mist);
 border: 1px solid var(--learning-line);
 border-radius: 12px;
 padding: 11px 13px;
 color: var(--learning-violet);
 margin: 11px 0;
}
body:is(.local-pilot,.full-rebuild) #scene-context summary,
body:is(.local-pilot,.full-rebuild) #detail summary,
body:is(.local-pilot,.full-rebuild) #pilot-why summary { color: var(--learning-violet); font-size: 11px; font-weight: 650; }
body:is(.local-pilot,.full-rebuild) #scene-context .role,
body:is(.local-pilot,.full-rebuild) #detail p,
body:is(.local-pilot,.full-rebuild) #pilot-why p,
body:is(.local-pilot,.full-rebuild) #pilot-original-question p,
body:is(.local-pilot,.full-rebuild) #correction { color: var(--learning-muted); font-size: 12px; line-height: 1.8; }
body:is(.local-pilot,.full-rebuild) #facts span { background: #fff; color: var(--learning-muted); border-color: var(--learning-line); border-radius: 8px; }
body:is(.local-pilot,.full-rebuild) #lesson-panel .pilot-purpose,
body:is(.local-pilot,.full-rebuild) #lesson-panel .pilot-actions-label,
body:is(.local-pilot,.full-rebuild) #pilot-why .why-expand { color: var(--learning-muted); }
body:is(.local-pilot,.full-rebuild) #feedback {
 padding: 13px 15px;
 border: 1px solid var(--learning-line);
 border-radius: 12px;
 background: var(--learning-mist);
 color: var(--learning-violet);
 font-size: 12px;
 line-height: 1.8;
}
body:is(.local-pilot,.full-rebuild) #feedback.correct { background: #e9fff5; border: 1px solid #61d8a7; color: var(--learning-violet); }
body:is(.local-pilot,.full-rebuild) #feedback.incorrect { background: var(--learning-error-wash); border: 1px solid #d88192; color: #8f243c; }
body:is(.local-pilot,.full-rebuild) .learning-notice { background: var(--learning-mist); color: var(--learning-muted); border-left-color: var(--learning-violet); border-radius: 10px; }
body:is(.local-pilot,.full-rebuild) .learning-notice a { color: var(--learning-violet); }
body:is(.local-pilot,.full-rebuild) #feedback-lesson { background: transparent; border: 0; color: var(--learning-muted); border-radius: 999px; font-size: 11px; font-weight: 500; margin-top: 14px; }
body:is(.local-pilot,.full-rebuild) #feedback-lesson:hover { color: var(--learning-violet); background: var(--learning-mist); border: 0; }
body:is(.local-pilot,.full-rebuild) #lesson-actions { gap: 8px; }
body:is(.local-pilot,.full-rebuild) #lesson-actions>button:not(.check-answer) {
 display: inline-flex;
 align-items: center;
 justify-content: flex-start;
 gap: 8px;
 min-height: 44px;
 padding: 10px 14px;
 border: 1px solid var(--learning-line);
 border-radius: 999px;
 background: var(--learning-mist);
 color: var(--learning-violet);
 box-shadow: none;
 font-size: 11px;
 line-height: 1.7;
}
body:is(.local-pilot,.full-rebuild) #lesson-actions>button.primary:not(.check-answer),
body:is(.local-pilot,.full-rebuild) #lesson-actions>button.completion-action:not(.check-answer) { background: var(--learning-green); color: var(--learning-violet); border-color: var(--learning-green); font-weight: 700; }
body:is(.local-pilot,.full-rebuild) #lesson-actions>button.practice-next-action { border-color: var(--learning-violet)!important; box-shadow: 0 0 0 2px #1a16501a!important; }
body:is(.local-pilot,.full-rebuild) .practice-guidance,
body:is(.local-pilot,.full-rebuild) .practice-step-guide,
body:is(.local-pilot,.full-rebuild) .application-record {
 background: var(--learning-mist);
 color: var(--learning-violet);
 border: 1px solid var(--learning-line);
 border-radius: 12px;
 padding: 12px 14px;
}
body:is(.local-pilot,.full-rebuild) .practice-guidance[data-mode=observation] { background: #fff; }
body:is(.local-pilot,.full-rebuild) .practice-guidance-title,
body:is(.local-pilot,.full-rebuild) .practice-guidance-action,
body:is(.local-pilot,.full-rebuild) .practice-step-guide strong { color: var(--learning-violet); }
body:is(.local-pilot,.full-rebuild) .practice-guidance-progress,
body:is(.local-pilot,.full-rebuild) .practice-guidance-observation,
body:is(.local-pilot,.full-rebuild) .practice-step-guide p { color: var(--learning-muted); }
body:is(.local-pilot,.full-rebuild) .practice-guidance-action { border-color: var(--learning-line); }
body:is(.local-pilot,.full-rebuild) .steering-views { background: var(--learning-mist); border-radius: 12px; padding: 10px; }
body:is(.local-pilot,.full-rebuild) .steering-views small { color: var(--learning-muted); }
body:is(.local-pilot,.full-rebuild) .steering-views button { background: #fff; color: var(--learning-violet); border-color: var(--learning-line); border-radius: 999px; }
body:is(.local-pilot,.full-rebuild) .steering-views button[aria-pressed=true] { background: var(--learning-violet); color: #fff; border-color: var(--learning-violet); }
body:is(.local-pilot,.full-rebuild) .pilot-learning-steps li { color: var(--learning-muted); }
body:is(.local-pilot,.full-rebuild) .pilot-learning-steps li>span { background: var(--learning-mist); color: var(--learning-muted); }
body:is(.local-pilot,.full-rebuild) .pilot-learning-steps li.is-active { color: var(--learning-violet); }
body:is(.local-pilot,.full-rebuild) .pilot-learning-steps li.is-active>span { background: var(--learning-violet); color: #fff; }
body:is(.local-pilot,.full-rebuild) #pilot-lesson-bar { background: var(--learning-mist); border-color: var(--learning-line); color: var(--learning-violet); }
body:is(.local-pilot,.full-rebuild) #pilot-lesson-bar button { background: #fff; color: var(--learning-violet); }

/* Forward action is green; skipping stays an explicitly labelled outline. */
body:is(.local-pilot,.full-rebuild) #lesson-panel #ticket-navigation {
 position: sticky;
 bottom: -24px;
 z-index: 5;
 display: flex;
 justify-content: space-between;
 gap: 9px;
 padding: 14px 0 9px;
 margin: 14px 0 5px;
 border-top: 1px solid var(--learning-line);
 border-bottom: 0;
 background: #fff;
}
body:is(.local-pilot,.full-rebuild) #lesson-panel #ticket-next {
 background: var(--learning-green);
 color: var(--learning-violet);
 border: 1px solid var(--learning-green);
 border-radius: 999px;
 min-height: 46px;
 font-size: 12px;
 font-weight: 750;
 box-shadow: none;
}
body:is(.local-pilot,.full-rebuild) #lesson-panel #ticket-next:disabled { background: #ededf5; color: var(--learning-muted); border-color: var(--learning-line); opacity: 1; }
body:is(.local-pilot,.full-rebuild) #lesson-panel #ticket-skip { background: #fff; color: var(--learning-muted); border: 1px solid var(--learning-line); border-radius: 999px; min-height: 44px; font-size: 11px; }
body:is(.local-pilot,.full-rebuild) #lesson-panel #ticket-skip:hover { color: var(--learning-violet); background: var(--learning-mist); }
body:is(.local-pilot,.full-rebuild) .launch-learning-button { display: inline-flex; align-items: center; gap: 8px; }
.launch-learning-button>.launch-icon { flex: none; width: 18px; height: 18px; }

/* Saved results and chapter celebrations share the launch palette. */
body:is(.local-pilot,.full-rebuild) .completion-summary { padding: 18px; background: var(--learning-mist); color: var(--learning-violet); border-color: var(--learning-line); border-radius: 16px; }
body:is(.local-pilot,.full-rebuild) .completion-summary>strong { color: var(--learning-violet); }
body:is(.local-pilot,.full-rebuild) .completion-summary p,
body:is(.local-pilot,.full-rebuild) .completion-next small { color: var(--learning-muted); }
body:is(.local-pilot,.full-rebuild) .completion-next { border-color: var(--learning-line); }
body:is(.local-pilot,.full-rebuild) .completion-next span { color: var(--learning-violet); }
body:is(.local-pilot,.full-rebuild) .completion-actions .primary,
body:is(.local-pilot,.full-rebuild) .milestone-actions .primary { background: var(--learning-green); color: var(--learning-violet); border-color: var(--learning-green); border-radius: 999px; font-weight: 700; }
body:is(.local-pilot,.full-rebuild) .completion-summary:not([hidden])~#question { color: var(--learning-muted); font-size: 14px; }
body:is(.local-pilot,.full-rebuild) .tour-review p,
body:is(.local-pilot,.full-rebuild) .tour-milestone p { color: var(--learning-muted); }
body:is(.local-pilot,.full-rebuild) .milestone-car svg { fill: var(--learning-green); stroke: var(--learning-violet); }
body:is(.local-pilot,.full-rebuild) .milestone-finish { color: var(--learning-violet); }
body:is(.local-pilot,.full-rebuild) .milestone-track { border-color: var(--learning-line); }
body:is(.local-pilot,.full-rebuild) .tour-feedback { color: var(--learning-muted); border-radius: 999px; }
body:is(.local-pilot,.full-rebuild) .tour-feedback:hover { background: var(--learning-mist); color: var(--learning-violet); }
body:is(.local-pilot,.full-rebuild) dialog.chapter-celebration {
 --cc-ink: var(--learning-violet);
 --cc-muted: var(--learning-muted);
 --cc-green: var(--learning-violet);
 --cc-mint: var(--learning-green);
 --cc-paper: #fff;
 --cc-line: var(--learning-line);
 background: #fff;
 border-color: var(--learning-line);
 box-shadow: 0 24px 90px #1a165024;
}
body:is(.local-pilot,.full-rebuild) .chapter-celebration .cc-eyebrow { background: var(--learning-mist); color: var(--learning-muted); border: 0; border-radius: 999px; }
body:is(.local-pilot,.full-rebuild) .chapter-celebration .cc-continue { background: var(--learning-green); color: var(--learning-violet); border-color: var(--learning-green); border-radius: 999px; font-weight: 700; }
body:is(.local-pilot,.full-rebuild) .chapter-celebration .cc-continue:hover { background: #20e693; }
body:is(.local-pilot,.full-rebuild) .chapter-celebration .cc-skip { border-radius: 999px; color: var(--learning-muted); }
body:is(.local-pilot,.full-rebuild) .chapter-celebration .cc-skip:hover { color: var(--learning-violet); background: var(--learning-mist); }
body:is(.local-pilot,.full-rebuild) .chapter-celebration .cc-route,
body:is(.local-pilot,.full-rebuild) .chapter-celebration .cc-route-finish { border-color: #c5c3d8; }
body:is(.local-pilot,.full-rebuild) .chapter-celebration .cc-car-window { fill: #fff; }
body:is(.local-pilot,.full-rebuild) .chapter-celebration .cc-car-light { fill: var(--learning-mist); }
body:is(.local-pilot,.full-rebuild) .chapter-celebration .cc-car-hub { fill: var(--learning-mist); }
body:is(.local-pilot,.full-rebuild) .chapter-celebration .cc-countdown { background: var(--learning-green); }
body:is(.local-pilot,.full-rebuild) .chapter-celebration .cc-confetti i { background: var(--learning-violet); }
body:is(.local-pilot,.full-rebuild) .chapter-celebration .cc-confetti i:nth-child(3n) { background: var(--learning-muted); }
body:is(.local-pilot,.full-rebuild) .chapter-celebration .cc-confetti i:nth-child(3n+1) { background: var(--learning-green); }

/* Road controls are compact white islands; mirrors keep their own clear row. */
body:is(.local-pilot,.full-rebuild):is([data-screen=free],[data-screen=lesson]) #view-controls button,
body:is(.local-pilot,.full-rebuild):is([data-screen=free],[data-screen=lesson]) #view-controls select,
body:is(.local-pilot,.full-rebuild) #focus-road,
body:is(.local-pilot,.full-rebuild) #drive-controls button,
body:is(.local-pilot,.full-rebuild) #weather-controls button,
body:is(.local-pilot,.full-rebuild)[data-screen=free] #city-map {
 background: #fff;
 color: var(--learning-violet);
 border: 1px solid var(--learning-line);
 border-radius: 999px;
 box-shadow: 0 4px 16px #1a165014;
 text-shadow: none;
}
body:is(.local-pilot,.full-rebuild):is([data-screen=free],[data-screen=lesson]) #view-controls button:hover,
body:is(.local-pilot,.full-rebuild) #drive-controls button:hover,
body:is(.local-pilot,.full-rebuild) #weather-controls button:hover,
body:is(.local-pilot,.full-rebuild)[data-screen=free] #city-map:hover { background: var(--learning-mist); border-color: #bbb8d5; }
body:is(.local-pilot,.full-rebuild)[data-screen=free] #view-controls .icon-control,
body:is(.local-pilot,.full-rebuild)[data-screen=free] #drive-controls .icon-control,
body:is(.local-pilot,.full-rebuild)[data-screen=free] #weather-controls .icon-control {
 background: #fff;
 color: var(--learning-violet);
 border: 1px solid var(--learning-line);
 border-radius: 999px;
 box-shadow: 0 4px 16px #1a165014;
}
body:is(.local-pilot,.full-rebuild)[data-screen=free] #view-controls .icon-control:hover,
body:is(.local-pilot,.full-rebuild)[data-screen=free] #drive-controls .icon-control:hover,
body:is(.local-pilot,.full-rebuild)[data-screen=free] #weather-controls .icon-control:hover { background: var(--learning-mist); border-color: #bbb8d5; }
body:is(.local-pilot,.full-rebuild)[data-screen=free] #view-controls .icon-control[aria-pressed=true],
body:is(.local-pilot,.full-rebuild)[data-screen=free] #drive-controls .icon-control[aria-pressed=true],
body:is(.local-pilot,.full-rebuild)[data-screen=free] #weather-controls .icon-control[aria-pressed=true] { background: var(--learning-green)!important; color: var(--learning-violet)!important; border-color: var(--learning-green)!important; }
body:is(.local-pilot,.full-rebuild):is([data-screen=free],[data-screen=lesson]) #pause[aria-pressed=true],
body:is(.local-pilot,.full-rebuild) #drive-controls button[aria-pressed=true],
body:is(.local-pilot,.full-rebuild) #drive-controls button.lit,
body:is(.local-pilot,.full-rebuild) #weather-controls button[aria-pressed=true] { background: var(--learning-green)!important; color: var(--learning-violet)!important; border-color: var(--learning-green)!important; }
body:is(.local-pilot,.full-rebuild) #view-controls label { color: var(--learning-violet); text-shadow: none; }
body:is(.local-pilot,.full-rebuild)[data-screen=free] #view-controls { left: 24px; right: auto; bottom: 24px; top: auto; display: flex; gap: 7px; }
body:is(.local-pilot,.full-rebuild)[data-screen=free] #weather-controls { right: 24px; left: auto; top: auto; bottom: 24px; flex-direction: row; gap: 7px; }
body:is(.local-pilot,.full-rebuild)[data-screen=free] #drive-controls { left: 24px; bottom: 86px; }
body:is(.local-pilot,.full-rebuild)[data-screen=free] .speed {
 width: max-content;
 align-items: baseline;
 gap: 7px;
 margin: 0 0 10px;
 padding: 8px 14px;
 border: 1px solid var(--learning-line);
 border-radius: 18px;
 background: #fff;
 color: var(--learning-violet);
 text-shadow: none;
}
body:is(.local-pilot,.full-rebuild)[data-screen=free] .speed b { color: var(--learning-violet); font-weight: 750; font-size: 30px; letter-spacing: -1px; text-shadow: none; }
body:is(.local-pilot,.full-rebuild)[data-screen=free] .speed span,
body:is(.local-pilot,.full-rebuild)[data-screen=free] .speed small { color: var(--learning-muted); text-shadow: none; }
body:is(.local-pilot,.full-rebuild)[data-screen=free] #map-panel { top: 88px; right: 24px; width: 128px; color: var(--learning-violet); }
body:is(.local-pilot,.full-rebuild)[data-screen=free].cockpit-active #map-panel { top: 166px; }
body:is(.local-pilot,.full-rebuild)[data-screen=free] #minimap { width: 128px; height: 128px; border: 3px solid #fff; box-shadow: 0 0 0 1px var(--learning-line),0 6px 20px #1a165026; border-radius: 50%; }
body:is(.local-pilot,.full-rebuild)[data-screen=free] #city-map { border: 1px solid var(--learning-line); box-shadow: 0 4px 12px #1a165022; }
body:is(.local-pilot,.full-rebuild)[data-screen=free] #city-map::after { background: #e63748; animation: none; box-shadow: 0 0 0 3px #fff; }
body:is(.local-pilot,.full-rebuild) #scene-status { background: #fff; color: var(--learning-violet); border: 1px solid var(--learning-line); border-radius: 12px; box-shadow: 0 4px 14px #1a16501a; }
body:is(.local-pilot,.full-rebuild)[data-screen=lesson] #scene-status { max-width: calc(100vw - 492px); }
body:is(.local-pilot,.full-rebuild)[data-screen=lesson].cockpit-active #scene-status { top: 168px; }
body:is(.local-pilot,.full-rebuild) #reference-view { background: #fff; border-color: var(--learning-line); border-radius: 16px; box-shadow: 0 8px 28px #1a165014; }
body:is(.local-pilot,.full-rebuild) #reference-view p { color: var(--learning-muted); }
body:is(.local-pilot,.full-rebuild) #control-onboarding {
 padding: 16px 18px;
 border: 1px solid var(--learning-line);
 border-radius: 20px;
 background: #fff;
 color: var(--learning-violet);
 box-shadow: 0 8px 30px #1a165020;
 backdrop-filter: none;
}
body:is(.local-pilot,.full-rebuild) #control-onboarding h2 { color: var(--learning-violet); }
body:is(.local-pilot,.full-rebuild) #control-onboarding p,
body:is(.local-pilot,.full-rebuild) #control-onboarding .onboarding-footer { color: var(--learning-muted); }
body:is(.local-pilot,.full-rebuild).cockpit-active #control-onboarding { top: 166px; }
body:is(.local-pilot,.full-rebuild) kbd { background: var(--learning-mist); border-color: var(--learning-line); color: var(--learning-violet); border-radius: 5px; }
body:is(.local-pilot,.full-rebuild) #hide-onboarding { color: var(--learning-muted); }
body:is(.local-pilot,.full-rebuild) #mirrors>div { border-color: var(--learning-violet); border-radius: 10px; }
body:is(.local-pilot,.full-rebuild) #mirrors span { left: 5px; bottom: 3px; padding: 1px 4px; border-radius: 4px; background: #1a1650c9; color: #fff; text-shadow: none; }
@media(min-width:851px) and (min-height:551px) {
 body:is(.local-pilot,.full-rebuild)[data-screen=lesson]:not(.road-focus) #mirrors { right: min(470px,calc(38vw + 48px)); }
 body:is(.local-pilot,.full-rebuild)[data-screen=lesson] #reference-view { width: calc(100vw - 492px); }
 body:is(.local-pilot,.full-rebuild)[data-screen=lesson].cockpit-active #reference-view { top: 166px; }
}
body:is(.local-pilot,.full-rebuild) #free-cockpit-controls { color: var(--learning-violet); }
body:is(.local-pilot,.full-rebuild) .free-cockpit-strip { padding: 6px; background: #fff; border-color: var(--learning-line); border-radius: 20px; box-shadow: 0 6px 20px #1a16501a; }
body:is(.local-pilot,.full-rebuild) .free-cockpit-strip button { background: var(--learning-mist); color: var(--learning-violet); border-color: var(--learning-line); border-radius: 999px; }
body:is(.local-pilot,.full-rebuild) .free-cockpit-strip button[aria-pressed=true] { background: var(--learning-green); color: var(--learning-violet); border-color: var(--learning-green); }
body:is(.local-pilot,.full-rebuild) .free-cockpit-strip button:hover { border-color: #bbb8d5; }
body:is(.local-pilot,.full-rebuild) #free-departure-prompt { background: #fff; color: var(--learning-violet); border-color: var(--learning-line); border-radius: 999px; box-shadow: 0 4px 14px #1a16501a; }
body:is(.local-pilot,.full-rebuild) #free-departure-prompt[data-notice=true] { background: var(--learning-mist); border-color: #bbb8d5; }
body:is(.local-pilot,.full-rebuild) #pilot-stop { background: #fff; color: var(--learning-violet); border-color: var(--learning-line); border-radius: 20px; box-shadow: 0 6px 24px #1a16501a; backdrop-filter: none; }
body:is(.local-pilot,.full-rebuild) #pilot-stop>.eyebrow,
body:is(.local-pilot,.full-rebuild) #pilot-stop>small { color: var(--learning-muted); }
body:is(.local-pilot,.full-rebuild) #pilot-stop .primary { background: var(--learning-green); color: var(--learning-violet); border-color: var(--learning-green); border-radius: 999px; }
body:is(.local-pilot,.full-rebuild) #pilot-map-open { background: var(--learning-mist); color: var(--learning-violet); border-color: var(--learning-line); border-radius: 999px; }
body:is(.local-pilot,.full-rebuild) #toast { background: var(--learning-violet); color: #fff; border: 1px solid #ffffff40; border-radius: 14px; box-shadow: 0 6px 24px #1a16502a; }
body:is(.local-pilot,.full-rebuild) .guide-grid>div { background: var(--learning-mist); border-color: var(--learning-line); border-radius: 14px; }
body:is(.local-pilot,.full-rebuild) .guide-grid b { color: var(--learning-violet); }
body:is(.local-pilot,.full-rebuild) .guide-grid span { color: var(--learning-muted); }
body:is(.local-pilot,.full-rebuild) .pilot-map-dialog { background: #fff; color: var(--learning-violet); border-color: var(--learning-line); }
body:is(.local-pilot,.full-rebuild) .pilot-map-dialog p { color: var(--learning-muted); }
body:is(.local-pilot,.full-rebuild) .pilot-map-list>div { border-color: var(--learning-line); }
body:is(.local-pilot,.full-rebuild) .pilot-map-list button { background: var(--learning-mist); color: var(--learning-violet); border-color: var(--learning-line); border-radius: 999px; }
body:is(.local-pilot,.full-rebuild) .pilot-map-list button:first-of-type { background: var(--learning-green); color: var(--learning-violet); border-color: var(--learning-green); }
/* Small copy on mist uses violet so contrast remains above 4.5:1. */
body:is(.local-pilot,.full-rebuild) #tour-progress small,
body:is(.local-pilot,.full-rebuild) #tour-progress .practice-progress,
body:is(.local-pilot,.full-rebuild) #lesson-progress .progress-definition,
body:is(.local-pilot,.full-rebuild) #lesson-progress .unlock-remaining,
body:is(.local-pilot,.full-rebuild) #scene-context .role,
body:is(.local-pilot,.full-rebuild) #detail p,
body:is(.local-pilot,.full-rebuild) #detail #correction,
body:is(.local-pilot,.full-rebuild) #pilot-why p,
body:is(.local-pilot,.full-rebuild) #pilot-why .why-expand,
body:is(.local-pilot,.full-rebuild) #pilot-original-question p,
body:is(.local-pilot,.full-rebuild) .learning-notice,
body:is(.local-pilot,.full-rebuild) .practice-guidance-progress,
body:is(.local-pilot,.full-rebuild) .practice-guidance-observation,
body:is(.local-pilot,.full-rebuild) .practice-step-guide p,
body:is(.local-pilot,.full-rebuild) .steering-views small,
body:is(.local-pilot,.full-rebuild) .completion-summary p,
body:is(.local-pilot,.full-rebuild) .completion-next small,
body:is(.local-pilot,.full-rebuild) .guide-grid span { color: var(--learning-violet); }
body:is(.local-pilot,.full-rebuild) #lesson-panel button.quiet,
body:is(.local-pilot,.full-rebuild) #answers>button.source-selected,
body:is(.local-pilot,.full-rebuild) .pilot-learning-steps li>span { color: var(--learning-violet); }
body:is(.local-pilot,.full-rebuild) :is(#chapter-panel,#lesson-panel,#drive-controls,#view-controls,#weather-controls,#control-onboarding,.chapter-celebration,.free-cockpit-strip) :is(button,summary,select):focus-visible {
 outline: 3px solid var(--learning-violet);
 outline-offset: 3px;
}

@media(max-width:1000px) and (min-width:851px) {
 body:is(.local-pilot,.full-rebuild) #lesson-panel { width: 370px; max-width: 39vw; right: 18px; padding: 20px; }
 body:is(.local-pilot,.full-rebuild) #lesson-panel #ticket-navigation { bottom: -20px; }
 body:is(.local-pilot,.full-rebuild)[data-screen=lesson] #scene-status { max-width: calc(100vw - 432px); }
 body:is(.local-pilot,.full-rebuild)[data-screen=lesson] #reference-view { width: calc(100vw - 432px); }
}
@media(max-width:850px) and (min-height:551px) {
 body:is(.local-pilot,.full-rebuild) #chapter-panel { top: 78px; padding: 20px; border-radius: 20px; }
 body:is(.local-pilot,.full-rebuild) #lesson-panel { left: 12px; right: 12px; top: auto; bottom: 12px; width: auto; max-width: none; max-height: 43dvh; padding: 18px; border-radius: 20px; }
 body:is(.local-pilot,.full-rebuild) #lesson-panel h2 { font-size: 17px; }
 body:is(.local-pilot,.full-rebuild) #lesson-panel #ticket-navigation { bottom: -18px; }
 body:is(.local-pilot,.full-rebuild)[data-screen=lesson] #view-controls { top: auto; bottom: calc(43dvh + 24px); left: 12px; right: auto; display: flex; gap: 6px; }
 body:is(.local-pilot,.full-rebuild)[data-screen=lesson] #focus-road { top: auto; bottom: calc(43dvh + 24px); right: 12px; left: auto; width: auto; font-size: 10px; }
 body:is(.local-pilot,.full-rebuild)[data-screen=lesson] #drive-controls { bottom: calc(43dvh + 76px); }
 body:is(.local-pilot,.full-rebuild)[data-screen=lesson].practicing #lesson-panel { max-height: 28dvh; }
 body:is(.local-pilot,.full-rebuild)[data-screen=lesson].practicing #view-controls,
 body:is(.local-pilot,.full-rebuild)[data-screen=lesson].practicing #focus-road { bottom: calc(28dvh + 24px); }
 body:is(.local-pilot,.full-rebuild)[data-screen=lesson].practicing #drive-controls { bottom: calc(28dvh + 76px); }
 body:is(.local-pilot,.full-rebuild)[data-screen=lesson].road-focus #view-controls,
 body:is(.local-pilot,.full-rebuild)[data-screen=lesson].road-focus #focus-road { bottom: 16px; }
 body:is(.local-pilot,.full-rebuild)[data-screen=lesson].road-focus #drive-controls { bottom: 76px; }
 body:is(.local-pilot,.full-rebuild)[data-screen=free] #view-controls { left: 12px; bottom: 16px; }
 body:is(.local-pilot,.full-rebuild)[data-screen=free] #weather-controls { right: 12px; bottom: 16px; }
 body:is(.local-pilot,.full-rebuild)[data-screen=free] #drive-controls { left: 12px; bottom: 78px; }
 body:is(.local-pilot,.full-rebuild)[data-screen=free] #map-panel { top: 82px; right: 12px; width: 100px; }
 body:is(.local-pilot,.full-rebuild)[data-screen=free].cockpit-active #map-panel { top: 140px; }
 body:is(.local-pilot,.full-rebuild)[data-screen=free] #minimap { width: 100px; height: 100px; }
 body:is(.local-pilot,.full-rebuild).cockpit-active #control-onboarding { top: 140px; }
 body:is(.local-pilot,.full-rebuild)[data-screen=lesson].cockpit-active #scene-status { top: 140px; }
 body:is(.local-pilot,.full-rebuild)[data-screen=lesson] #scene-status { max-width: calc(100vw - 24px); }
}
@media(max-width:600px) and (min-height:551px) {
 body:is(.local-pilot,.full-rebuild)[data-screen=free] #drive-controls { bottom: 138px; }
 body:is(.local-pilot,.full-rebuild)[data-screen=free] #free-cockpit-controls { width: 220px; bottom: 16px; }
 body:is(.local-pilot,.full-rebuild)[data-screen=free] #view-controls { bottom: 78px; }
 body:is(.local-pilot,.full-rebuild)[data-screen=free] #weather-controls { bottom: 78px; }
 body:is(.local-pilot,.full-rebuild)[data-screen=free] #view-controls .icon-control,
 body:is(.local-pilot,.full-rebuild)[data-screen=free] #drive-controls .icon-control,
 body:is(.local-pilot,.full-rebuild)[data-screen=free] #weather-controls .icon-control,
 body:is(.local-pilot,.full-rebuild)[data-screen=free] #city-map { width: 40px; height: 40px; min-width: 40px; min-height: 40px; padding: 9px; }
 body:is(.local-pilot,.full-rebuild)[data-screen=free] #drive-controls .speed { padding: 5px 11px; border-radius: 14px; margin-bottom: 7px; }
 body:is(.local-pilot,.full-rebuild)[data-screen=free] .speed b { font-size: 27px; }
 body:is(.local-pilot,.full-rebuild)[data-screen=free] #touch-controls { gap: 6px; margin-top: 8px; }
 body:is(.local-pilot,.full-rebuild)[data-screen=free] #touch-controls button { min-width: 48px; min-height: 48px; padding: 9px; }
 body:is(.local-pilot,.full-rebuild)[data-screen=free] .indicators button { min-width: 44px; min-height: 40px; }
 body:is(.local-pilot,.full-rebuild).free-cockpit-controls-active #toast { bottom: 80px; max-width: calc(100vw - 24px); }
 body:is(.local-pilot,.full-rebuild)[data-screen=free].cockpit-active #map-panel { top: 140px; }
 body:is(.local-pilot,.full-rebuild) #lesson-panel .lesson-top { gap: 7px; }
 body:is(.local-pilot,.full-rebuild) #lesson-panel .lesson-top #lesson-count { font-size: 9px; }
 body:is(.local-pilot,.full-rebuild) #lesson-panel #ticket-next { font-size: 11px; padding: 10px 13px; }
 body:is(.local-pilot,.full-rebuild) #lesson-panel #ticket-skip { font-size: 10px; padding: 10px 11px; }
 body:is(.local-pilot,.full-rebuild) #answers>button { font-size: 13px; padding: 12px; }
 body:is(.local-pilot,.full-rebuild) #answers>button:is(.correct,.incorrect) { padding: 11px; }
}
@media(max-height:550px) and (min-width:600px) {
 body:is(.local-pilot,.full-rebuild) #chapter-panel { top: 58px; bottom: 10px; padding: 18px; }
 body:is(.local-pilot,.full-rebuild) #lesson-panel { right: 12px; left: auto; top: 58px; bottom: 12px; width: 320px; max-width: 43vw; max-height: none; padding: 16px; border-radius: 18px; }
 body:is(.local-pilot,.full-rebuild) #lesson-panel h2 { font-size: 16px; margin-top: 10px; }
 body:is(.local-pilot,.full-rebuild) #lesson-panel #ticket-navigation { bottom: -16px; }
 body:is(.local-pilot,.full-rebuild)[data-screen=free] #view-controls { bottom: 12px; left: 12px; }
 body:is(.local-pilot,.full-rebuild)[data-screen=free] #weather-controls { bottom: 12px; right: 12px; }
 body:is(.local-pilot,.full-rebuild)[data-screen=free] #drive-controls { bottom: 66px; left: 12px; }
 body:is(.local-pilot,.full-rebuild)[data-screen=free] #map-panel { top: 62px; right: 12px; width: 94px; }
 body:is(.local-pilot,.full-rebuild)[data-screen=free] #minimap { width: 94px; height: 94px; }
 body:is(.local-pilot,.full-rebuild)[data-screen=free].cockpit-active #map-panel { top: 114px; }
 body:is(.local-pilot,.full-rebuild).cockpit-active #control-onboarding { top: 114px; max-height: calc(100dvh - 196px); overflow: auto; }
 body:is(.local-pilot,.full-rebuild)[data-screen=lesson].cockpit-active #scene-status { top: 114px; }
 body:is(.local-pilot,.full-rebuild)[data-screen=lesson] #scene-status { max-width: calc(100vw - 356px); }
 body:is(.local-pilot,.full-rebuild) #free-cockpit-controls { bottom: 12px; }
}
@media(prefers-reduced-motion:reduce) {
 body:is(.local-pilot,.full-rebuild).controls-intro :is(#driving-guide,#horn,#headlights,#cockpit-toggle) { animation: none; }
}


/* launch-home.css */
/* A quiet home and native swipe rail. The game HUD and ticket layout are scoped
   out: these styles apply to the landing experience only. */
body.launch-design[data-screen=home] #home-panel{padding-top:28px;scrollbar-width:thin}
body.launch-design.local-pilot .home-hero{min-height:422px;gap:6%;padding-top:12px;padding-bottom:25px}
body.launch-design.local-pilot .home-hero #intro-film,
body.launch-design.local-pilot .home-hero .hero-shade{top:12px;bottom:25px;border-radius:30px}
body.launch-design.local-pilot .hero-copy h1{font-size:clamp(36px,3.5vw,51px);font-weight:750;letter-spacing:-1.2px}
body.launch-design .launch-eyebrow{padding:0;background:none;gap:8px;font-size:12px}
body.launch-design .home-hero .hero-copy>.launch-eyebrow::before{content:none}
body.launch-design.local-pilot .hero-copy>p{font-size:15px;line-height:1.85}
body.launch-design.local-pilot .hero-copy>p.launch-disclaimer{border:0;padding:0;margin-top:17px;font-size:10px}
body.launch-design.local-pilot .home-hero .hero-topline{top:28px}
body.launch-design.local-pilot .home-hero #intro-caption{bottom:38px;font-size:10px;align-items:center}
body.launch-design.local-pilot .home-actions #launch-choose{gap:12px}
body.launch-design.local-pilot .home-actions #launch-choose .launch-icon{width:18px;height:18px}
.hero-film-arrows{position:absolute;top:45%;left:calc(52% + 12px);right:12px;z-index:5;display:flex;justify-content:space-between;pointer-events:none}
body.launch-design .hero-film-arrows button{display:grid;place-items:center;width:44px;height:44px;min-height:44px;padding:10px;pointer-events:auto;border:1px solid #FFFFFF80;border-radius:50%;color:white;background:#1A165080;transition:background .2s}
body.launch-design .hero-film-arrows button:hover{background:var(--launch-violet);border-color:#FFFFFF80}
.hero-film-arrows svg{width:22px;height:22px}
body.launch-design.local-pilot .film-controls button{transition:background .2s}
body.launch-design .city-slide{transition:opacity .6s ease}
.launch-experiences{margin-top:16px;scroll-margin-top:18px}
.home-mode-heading{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-bottom:20px}
body.launch-design .home-mode-heading h2{margin:0;font-size:25px;line-height:1.5;font-weight:700;letter-spacing:-.6px;color:var(--launch-violet)}
.home-mode-selector{display:none;align-items:center;gap:4px;background:var(--launch-mist);padding:5px;border-radius:100px;border:1px solid #1A165008}
body.launch-design .home-mode-selector button{display:flex;align-items:center;justify-content:center;gap:7px;min-height:40px;padding:9px 17px;border:0;border-radius:100px;background:transparent;color:var(--launch-violet);font-size:12px;font-weight:600;transition:background .2s,box-shadow .2s}
body.launch-design .home-mode-selector button[aria-pressed=true]{background:white;box-shadow:0 1px 5px #1A165012;font-weight:750}
.home-mode-selector .launch-icon{width:17px;height:17px}
body.launch-design .launch-experiences .game-mode-choices{position:relative;gap:18px;margin:0;scroll-margin-top:18px}
body.launch-design .launch-experiences .game-mode-choice{position:relative;cursor:pointer;border-color:#1A165014;border-radius:25px;transition:border-color .2s,box-shadow .2s;background:white}
body.launch-design .launch-experiences .game-mode-choice:hover{border-color:#1A16504D;box-shadow:0 4px 16px #1A165008;transform:none}
body.launch-design .launch-experiences .game-mode-choice>.mode-card-hit-area{position:absolute;inset:0;z-index:2;display:block;width:100%;height:100%;min-height:0;padding:0;border:0!important;border-radius:inherit;background:transparent!important;box-shadow:none!important;cursor:pointer}
body.launch-design .launch-experiences .game-mode-choice>.mode-card-hit-area:hover{box-shadow:none!important}
body.launch-design .launch-experiences .game-mode-choice>.mode-card-hit-area:focus-visible{outline:3px solid var(--launch-violet);outline-offset:-4px}
body.launch-design .launch-experiences .game-mode-choice .mode-action{display:none}
body.launch-design .launch-experiences .game-mode-choice:is([data-game-mode=theory],[data-game-mode=free])::after{content:'↗';position:absolute;right:23px;bottom:17px;z-index:1;pointer-events:none;color:var(--launch-violet);font-size:23px;line-height:1}
body.launch-design .launch-experiences .game-mode-choice .ground-home-actions{position:relative;z-index:3}
body.launch-design .launch-experiences .mode-art,
body.launch-design .launch-experiences .mode-illustration{height:164px}
body.launch-design .launch-experiences .mode-card-copy{padding:22px}
body.launch-design .launch-experiences .game-mode-choice h2{font-size:21px;font-weight:700;letter-spacing:-.3px}
body.launch-design .launch-experiences .game-mode-choice small{font-size:11px;line-height:1.7}
body.launch-design .launch-experiences .game-mode-choice p{font-size:12px;line-height:1.8;margin:12px 0 19px}
body.launch-design .launch-experiences .game-mode-choice button{min-height:44px;font-size:12px;padding:11px 18px}
.home-mode-browse{display:none}
body.launch-design.local-pilot #home-panel .home-footer{margin-top:26px;border-color:#1A165010}
@media(max-width:899px){
 .home-mode-heading{flex-direction:column;align-items:flex-start;gap:14px;margin-bottom:16px}
 body.launch-design .home-mode-heading h2{font-size:23px}
 .home-mode-selector{display:flex;width:100%;max-width:430px}
 body.launch-design .home-mode-selector button{flex:1;min-height:42px;padding:8px 10px;font-size:12px}
 body.launch-design .launch-experiences .game-mode-choices{display:flex;gap:14px;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;scroll-padding-inline:0;padding:1px 12% 8px 1px;scrollbar-width:none;overscroll-behavior-x:contain}
 body.launch-design .launch-experiences .game-mode-choices::-webkit-scrollbar{display:none}
 body.launch-design .launch-experiences .game-mode-choice{display:flex;flex-direction:column;flex:0 0 100%;min-width:0;scroll-snap-align:start;border-radius:24px}
 body.launch-design .launch-experiences .mode-art{min-height:0;width:100%;flex:none}
 body.launch-design .launch-experiences .mode-illustration{position:static;inset:auto;width:100%;height:100%}
 body.launch-design .launch-experiences .mode-card-copy{display:flex;flex:1;flex-direction:column;padding:22px}
 body.launch-design .launch-experiences .mode-action{margin-top:auto}
 body.launch-design .launch-experiences .mode-card-copy>#ground-open{align-self:flex-start;margin-top:auto}
 body.launch-design .launch-experiences .game-mode-choice h2{font-size:21px;line-height:1.5}
 body.launch-design .launch-experiences .game-mode-choice p{font-size:13px;line-height:1.8;margin:12px 0 20px}
 .home-mode-browse{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:10px}
 .home-mode-browse>div{display:flex;align-items:center;gap:8px}
 .home-mode-cue,.home-mode-count{font-size:10px;color:var(--launch-grey)}
 .home-mode-count{margin-right:5px;font-variant-numeric:tabular-nums}
 body.launch-design .home-mode-browse button{display:grid;place-items:center;border:1px solid var(--launch-line);border-radius:50%;width:40px;height:40px;min-height:40px;padding:8px;background:white;color:var(--launch-violet)}
 body.launch-design .home-mode-browse button:disabled{opacity:.3;cursor:default}
 .home-mode-browse .launch-icon{width:19px;height:19px}
}
@media(max-width:740px){
 body.launch-design[data-screen=home] #home-panel{padding-top:18px}
 body.launch-design.local-pilot .home-hero{min-height:565px;padding:0 0 255px}
 body.launch-design.local-pilot .hero-copy h1{font-size:35px;margin:16px 0 14px}
 body.launch-design.local-pilot .hero-copy>p{font-size:13px;line-height:1.85;margin-bottom:20px}
 body.launch-design.local-pilot .hero-copy>p.launch-disclaimer{font-size:9px;margin:13px 0 0}
 body.launch-design.local-pilot .home-hero #intro-film,
 body.launch-design.local-pilot .home-hero .hero-shade{inset:auto 0 4px;height:230px;border-radius:25px}
 body.launch-design.local-pilot .home-hero .hero-topline{top:auto;bottom:192px}
 body.launch-design.local-pilot .home-hero #intro-caption{bottom:18px;left:13px;right:13px;font-size:8px}
 body.launch-design.local-pilot .hero-game-stage{height:198px;bottom:14px}
 .hero-film-arrows{left:10px;right:10px;top:auto;bottom:99px}
 body.launch-design .hero-film-arrows button{width:40px;height:40px;min-height:44px;background:#1A165085}
 .launch-experiences{margin-top:14px}
 body.launch-design .home-mode-heading h2{font-size:22px}
 body.launch-design .launch-experiences .mode-art{height:146px}
 body.launch-design .launch-experiences .game-mode-choice small{font-size:11px}
 body.launch-design .launch-experiences .mode-card-copy{padding:20px}
}
@media(max-height:550px) and (min-width:741px){
 body.launch-design.local-pilot .home-hero{min-height:355px;padding:0 0 20px}
 body.launch-design.local-pilot .hero-copy h1{font-size:34px}
 body.launch-design.local-pilot .hero-copy>p{font-size:12px}
 body.launch-design.local-pilot .home-hero #intro-film,
 body.launch-design.local-pilot .home-hero .hero-shade{inset:4px 0 18px 52%}
 body.launch-design.local-pilot .home-hero .hero-topline{top:17px}
 body.launch-design.local-pilot .home-hero #intro-caption{bottom:30px;font-size:8px}
}
@media(prefers-reduced-motion:reduce){
 body.launch-design .launch-experiences .game-mode-choices{scroll-behavior:auto}
 body.launch-design .city-slide,body.launch-design .home-mode-selector button,body.launch-design .hero-film-arrows button{transition:none}
}


/* launch-canvas.css */
/* One cinematic city canvas. Home uses no additional WebGL renderer. */
body.launch-design[data-screen=home] #home-panel{padding:0 0 24px;scrollbar-gutter:auto}
body.launch-design.local-pilot .home-hero{
 display:flex;flex-direction:row;justify-content:flex-start;align-items:center;grid-template-columns:none;gap:0;
 height:calc(100dvh - 86px);min-height:540px;max-height:980px;
 padding:90px max(6%,calc((100vw - 1320px)/2));
 background:var(--launch-violet);border-radius:0;overflow:hidden;
}
body.launch-design.local-pilot .home-hero #intro-film,
body.launch-design.local-pilot .home-hero .hero-shade{inset:0;width:100%;height:100%;border-radius:0}
body.launch-design.local-pilot .home-hero #intro-film .city-slide{filter:saturate(1.12) contrast(1.04);object-position:50% 45%}
body.launch-design.local-pilot .home-hero .hero-shade{
 background:linear-gradient(90deg,#1A1650F2 0%,#1A1650D9 32%,#1A165055 65%,#1A16500D 100%),linear-gradient(0deg,#1A1650CE 0%,transparent 35%);
}
body.launch-design.local-pilot .home-hero .hero-copy{position:relative;z-index:3;width:53%;max-width:650px;margin:0;padding:0}
body.launch-design.local-pilot .home-hero .launch-eyebrow{color:#F4F4FA;background:#FFFFFF12;border:1px solid #FFFFFF26;font-size:11px;gap:8px;padding:7px 11px}
body.launch-design.local-pilot .home-hero .launch-eyebrow svg{width:16px;height:16px;color:var(--launch-green)}
body.launch-design.local-pilot .hero-copy h1{color:white;font-size:clamp(44px,4.8vw,72px);line-height:1.26;letter-spacing:-1.7px;margin:22px 0;text-shadow:none;font-weight:750}
body.launch-design.local-pilot .hero-copy h1 span{color:var(--launch-green)}
body.launch-design.local-pilot .hero-copy>p{color:#F4F4FA;font-size:15px;line-height:1.9;max-width:405px;margin-bottom:30px}
body.launch-design.local-pilot .home-hero .home-actions{position:static;display:flex;gap:12px;flex-wrap:wrap}
body.launch-design.local-pilot .home-hero .home-actions #garage-open{background:#FFFFFF14;color:white;border-color:#FFFFFF80}
body.launch-design.local-pilot .home-hero .home-actions #garage-open:hover{background:white;color:var(--launch-violet);border-color:white}
body.launch-design.local-pilot .home-hero .hero-topline{display:none}
body.launch-design.local-pilot .home-hero #intro-caption{left:max(6%,calc((100vw - 1320px)/2));right:max(6%,calc((100vw - 1320px)/2));bottom:24px;top:auto;font-size:10px;color:white}
body.launch-design .hero-film-arrows{left:auto;right:6%;width:104px;top:auto;bottom:85px;transform:none;gap:12px}
body.launch-design .hero-film-arrows button{background:#1A16504D;border-color:#FFFFFF80;backdrop-filter:none}
body.launch-design .hero-film-arrows button:hover{color:var(--launch-violet);background:var(--launch-green);border-color:var(--launch-green)}
body.launch-design.local-pilot .home-hero #intro-caption{border-top:1px solid #FFFFFF28;padding-top:17px}
body.launch-design .home-hero :is(button,a):focus-visible{outline-color:var(--launch-green)}
body.launch-design .full-topic-card.is-locked{opacity:.75;background:var(--launch-mist);cursor:default}
body.launch-design .full-topic-card.is-locked .launch-icon{width:17px;height:17px}
body.launch-design #home-launch-status{color:var(--launch-white);font-size:11px}
body.launch-design .launch-experiences{width:91%;max-width:1320px;margin:38px auto 0}
body.launch-design.local-pilot #home-panel .home-footer{width:91%;max-width:1320px;margin:26px auto 0}
body.launch-design .home-footer .future{display:block;align-self:center;font-size:10px;color:var(--launch-grey)}
body.launch-design .home-footer .future summary{cursor:pointer}
body.launch-design .home-footer .future p{max-width:360px}
@media(max-width:1050px) and (min-width:741px){
 body.launch-design.local-pilot .home-hero .hero-copy{width:51%}
 body.launch-design.local-pilot .hero-copy h1{font-size:44px}
}
@media(max-width:740px){
 body.launch-design.local-pilot .home-hero{align-items:center;height:calc(100dvh - 70px);min-height:570px;padding:65px 24px 130px}
 body.launch-design.local-pilot .home-hero #intro-film,
 body.launch-design.local-pilot .home-hero .hero-shade{inset:0;width:100%;height:100%;border-radius:0}
 body.launch-design.local-pilot .home-hero #intro-film .city-slide{object-position:52% 50%}
 body.launch-design.local-pilot .home-hero .hero-shade{background:linear-gradient(90deg,#1A1650D9 0%,#1A165055 100%),linear-gradient(180deg,#1A165029 0%,#1A1650AA 45%,#1A1650B8 100%)}
 body.launch-design.local-pilot .home-hero .hero-copy{width:100%;max-width:none;margin:0;padding:0}
 body.launch-design.local-pilot .hero-copy h1{font-size:39px;line-height:1.3;letter-spacing:-.8px;margin:19px 0}
 body.launch-design.local-pilot .hero-copy>p{font-size:13px;line-height:1.85;margin-bottom:21px;max-width:440px}
 body.launch-design.local-pilot .home-hero .home-actions{gap:9px}
 body.launch-design.local-pilot .home-hero .home-actions button{font-size:11px;padding:11px 14px}
 body.launch-design.local-pilot .home-hero #intro-caption{left:24px;right:24px;bottom:20px;font-size:8px}
 body.launch-design .hero-film-arrows{left:auto;right:24px;width:104px;bottom:88px}
 body.launch-design .launch-experiences{width:90%;margin-top:26px}
 body.launch-design.local-pilot #home-panel .home-footer{width:90%}
}
@media(max-width:360px){
 body.launch-design.local-pilot .home-hero{padding-inline:20px}
 body.launch-design.local-pilot .hero-copy h1{font-size:34px}
 body.launch-design.local-pilot .home-hero .home-actions button{padding:10px 12px;font-size:10px}
}
@media(max-height:550px) and (min-width:741px){
 body.launch-design.local-pilot .home-hero{height:calc(100dvh - 64px);min-height:326px;padding:26px 8% 70px}
 body.launch-design.local-pilot .home-hero .hero-copy{width:52%}
 body.launch-design.local-pilot .hero-copy h1{font-size:31px;margin:8px 0 10px;line-height:1.28}
 body.launch-design.local-pilot .hero-copy>p{font-size:11px;margin-bottom:13px;line-height:1.65}
 body.launch-design.local-pilot .home-hero #intro-caption{left:8%;right:8%;bottom:16px;font-size:8px}
 body.launch-design .hero-film-arrows{bottom:80px;right:8%}
}

/* Final theme and primary actions are present before any 3D assets load. */
.home-hero .home-actions>#begin,.home-hero .home-actions>#free{display:none}
body.launch-design .home-actions #garage-open{display:flex;align-items:center;gap:10px;white-space:normal;text-align:left;min-height:53px;padding:10px 17px;border-radius:14px}
#garage-open>svg{width:24px;height:24px;flex:0 0 24px}
.garage-launch-copy{display:flex;flex-direction:column;gap:3px}
.garage-launch-copy strong{font-size:12px;font-weight:650}
.garage-launch-copy small{font-size:10px;opacity:.78;font-weight:450}
@media(max-width:740px){body.launch-design .home-actions #garage-open{min-height:47px;padding:9px 12px;gap:8px}.garage-launch-copy strong{font-size:11px}.garage-launch-copy small{font-size:9px}}


/* music-controls.css */
.music-volume-toggle{display:inline-flex!important;align-items:center;justify-content:center;width:30px!important;min-width:30px!important;height:34px!important;min-height:34px!important;padding:6px!important;border-radius:9px!important;pointer-events:auto;flex-shrink:0;background:#f8fbf514;color:inherit;border-color:currentColor}
.music-volume-toggle svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round}
.music-volume-toggle[aria-expanded=true]{background:#2bf5a0!important;color:#1a1650!important;border-color:#2bf5a0!important}
[hidden]+.music-volume-toggle,body:is([data-screen=home],[data-screen=free]) #audio+.music-volume-toggle,body.touch-device:is(.touch-driving-active,[data-screen=ground]) #audio+.music-volume-toggle{display:none!important}
.film-controls .music-volume-toggle{margin-left:-3px;margin-right:3px;background:transparent!important;border-color:#ffffff40!important;color:#fff!important}
.music-volume-popover{position:fixed;z-index:1000;width:min(224px,calc(100vw - 24px));padding:14px 16px 12px;border:1px solid #1a16502e;border-radius:16px;background:#f8fbf5;color:#1a1650;box-shadow:0 12px 34px #10132e38;pointer-events:auto}
.music-volume-heading{display:flex;align-items:center;gap:10px;margin-bottom:6px;font-size:11px;line-height:1.5}
.music-volume-heading label{flex:1;font-weight:650;white-space:nowrap}
.music-volume-heading output{font:600 11px system-ui;white-space:nowrap}
.music-volume-heading .music-volume-close{display:grid;place-items:center;min-width:28px;min-height:28px;width:28px;height:28px;border:0;border-radius:50%;padding:0;background:#1a16500a;color:#1a1650;font:20px/1 system-ui}
.music-volume-popover input[type=range]{display:block;width:100%;height:32px;margin:0;accent-color:#1d7856;cursor:pointer;touch-action:pan-y}
.music-volume-credits{display:block;width:max-content;margin-top:6px;color:#49645a;font-size:9px;line-height:1.4;text-underline-offset:3px}
.music-volume-popover :is(button,input):focus-visible,.music-volume-toggle:focus-visible{outline:3px solid #56ad88;outline-offset:3px}
body.touch-device :is(#drive-controls,#ground-driving) .touch-extra .music-volume-toggle{min-width:36px!important;width:36px!important;padding:8px!important}


/* touch-interaction.css */
/* iOS long presses belong to the control, without selecting the page behind it. */
:is(button,[role="button"],summary,input[type="button"],input[type="submit"],input[type="reset"],#world,#minimap,#ground-map canvas,.garage-preview canvas,[data-game-surface],#drive-controls,#view-controls,#weather-controls,#ground-driving,.free-cockpit-strip),
:is(button,[role="button"],summary,#drive-controls,#view-controls,#weather-controls,#ground-driving,.free-cockpit-strip) * {
 -webkit-user-select:none;
 user-select:none;
 -webkit-touch-callout:none;
 -webkit-user-drag:none;
}
:is(button,[role="button"],summary) { touch-action:manipulation; }
:is(#world,#minimap,#ground-map canvas,.garage-preview canvas,[data-game-surface],[data-key],[data-ground-key]) { touch-action:none; }
/* Plain source links and images join the game surfaces only during play.
   Native taps, link focus and scrolling remain available. */
body:is([data-screen="free"],[data-screen="lesson"],[data-screen="ground"]) :is(#map-attribution,#learning-notice a,#learning-notice img,#reference-view,#reference-view *,#reference-image,#evidence-image) {
 -webkit-user-select:none;
 user-select:none;
 -webkit-touch-callout:none;
 -webkit-user-drag:none;
}
/* Keep typing, moving the caret, copying entered names and reading theory native. */
:is(input:not([type="button"]):not([type="submit"]):not([type="reset"]),textarea,select,[contenteditable]:not([contenteditable="false"]),[data-selectable]),
:is([contenteditable]:not([contenteditable="false"]),[data-selectable]) * {
 -webkit-user-select:text!important;
 user-select:text!important;
 -webkit-touch-callout:default!important;
 -webkit-user-drag:auto!important;
}


/* rustavi-mirrors.css */
/* Closed-course mirrors reuse the three cached glass textures. Their larger
   readouts sit beside, rather than over, the driving instruction card. */
body[data-screen=ground].cockpit-active #mirrors{
 top:82px;left:clamp(148px,12vw,220px);right:300px;z-index:22;
 align-items:flex-start;justify-content:space-between;gap:12px;
}
body[data-screen=ground].cockpit-active #mirrors>div{
 flex:none;width:180px;height:78px;border:2px solid #223b44;
 border-radius:12px;box-shadow:0 5px 18px #07141a66,0 0 0 1px #e7f4f0b5 inset;
 overflow:hidden;
}
body[data-screen=ground].cockpit-active #mirror-rear{width:192px!important;height:70px!important}
body[data-screen=ground].cockpit-active #mirrors span{
 background:#102d36b8;border-radius:5px;padding:1px 5px;white-space:nowrap;
}
@media(max-width:1200px) and (min-width:851px){
 body[data-screen=ground].cockpit-active #mirrors{left:140px;right:286px;gap:10px}
 body[data-screen=ground].cockpit-active #mirrors>div{width:155px;height:70px}
 body[data-screen=ground].cockpit-active #mirror-rear{width:172px!important;height:65px!important}
}
@media(max-width:850px) and (min-width:701px){
 body[data-screen=ground].cockpit-active #mirrors{left:110px;right:286px;gap:6px}
 body[data-screen=ground].cockpit-active #mirrors>div{width:clamp(95px,15.4vw,130px);height:58px}
 body[data-screen=ground].cockpit-active #mirror-rear{width:clamp(100px,17vw,145px)!important;height:55px!important}
}
@media(max-width:780px) and (min-width:701px){
 body[data-screen=ground].cockpit-active #mirrors{left:74px;right:316px;gap:5px}
 body[data-screen=ground].cockpit-active #mirrors>div{width:clamp(94px,13.8vw,120px)}
 body[data-screen=ground].cockpit-active #mirror-rear{width:clamp(104px,15.3vw,132px)!important}
}
@media(max-width:700px){
 body[data-screen=ground].cockpit-active #mirrors{top:77px;left:8px;right:8px;gap:6px}
 body[data-screen=ground].cockpit-active #mirrors>div{width:28%;height:50px}
 body[data-screen=ground].cockpit-active #mirror-rear{width:32%!important;height:48px!important}
}
@media(max-height:550px) and (min-width:701px){
 body[data-screen=ground].cockpit-active #mirrors{top:72px;left:105px;right:245px;gap:6px}
 body[data-screen=ground].cockpit-active #mirrors>div{width:clamp(98px,15.4vw,130px);height:53px}
 body[data-screen=ground].cockpit-active #mirror-rear{width:clamp(110px,17vw,145px)!important;height:51px!important}
}
/* The existing touch stylesheet has !important mirror defaults. Keep the
   practice-specific view wider without changing mirrors in Theory or City. */
body.touch-device[data-screen=ground].cockpit-active #mirrors{
 top:76px!important;left:8px!important;right:8px!important;
 justify-content:space-between!important;gap:6px!important;
}
body.touch-device[data-screen=ground].cockpit-active #mirrors>div{
 width:min(28%,160px)!important;height:50px!important;
}
body.touch-device[data-screen=ground].cockpit-active #mirrors #mirror-rear{
 width:min(32%,180px)!important;height:48px!important;
}
@media(max-height:550px) and (min-width:701px){
 body.touch-device[data-screen=ground].cockpit-active #mirrors{
  top:72px!important;left:74px!important;right:316px!important;gap:5px!important;
 }
 body.touch-device[data-screen=ground].cockpit-active #mirrors>div{
  width:clamp(94px,13.8vw,120px)!important;height:53px!important;
 }
 body.touch-device[data-screen=ground].cockpit-active #mirrors #mirror-rear{
  width:clamp(104px,15.3vw,132px)!important;height:51px!important;
 }
}

/* Portrait training cockpit: one switchable live mirror, no permanent row. */
#ground-mobile-mirror-toggle[hidden]{display:none!important}
body.mobile-ground-mirror #ground-mobile-mirror-toggle{
 position:fixed;z-index:24;top:76px;right:calc(18px + min(180px,45vw));display:block;min-height:36px;
 padding:5px 9px;border:1px solid #dce9e7;border-radius:11px;
 background:#102d36ee;color:#f7fffc;font:700 12px/1.2 system-ui,sans-serif;
 box-shadow:0 3px 12px #07141a66;touch-action:manipulation;
}
body.mobile-ground-mirror #ground-mobile-mirror-toggle[aria-expanded="false"]:before{
 content:"";display:inline-block;width:7px;height:7px;margin-right:7px;
 border-radius:50%;background:#f24444;box-shadow:0 0 0 3px #f2444440;
}
body[data-screen=ground].cockpit-active.mobile-ground-mirror #mirrors,
body.touch-device[data-screen=ground].cockpit-active.mobile-ground-mirror #mirrors{
 position:fixed!important;top:76px!important;left:auto!important;right:10px!important;
 width:min(180px,45vw)!important;height:70px!important;display:block!important;
 opacity:0;pointer-events:none!important;transition:opacity .18s ease;
}
body[data-screen=ground].cockpit-active.mobile-ground-mirror-open #mirrors,
body.touch-device[data-screen=ground].cockpit-active.mobile-ground-mirror-open #mirrors{
 opacity:1;pointer-events:auto!important;cursor:pointer;
}
body[data-screen=ground].cockpit-active.mobile-ground-mirror #mirrors>div,
body.touch-device[data-screen=ground].cockpit-active.mobile-ground-mirror #mirrors>div,
body.touch-device[data-screen=ground].cockpit-active.mobile-ground-mirror #mirrors #mirror-rear{
 position:absolute!important;inset:0!important;width:100%!important;height:100%!important;
 visibility:hidden!important;border:2px solid #d8ecea;border-radius:11px;
 box-shadow:0 4px 14px #07141a7a;overflow:hidden;
}
body[data-screen=ground].cockpit-active.mobile-ground-mirror #mirrors>div.is-mobile-selected,
body.touch-device[data-screen=ground].cockpit-active.mobile-ground-mirror #mirrors>div.is-mobile-selected,
body.touch-device[data-screen=ground].cockpit-active.mobile-ground-mirror #mirrors #mirror-rear.is-mobile-selected{
 visibility:visible!important;
}
body.mobile-ground-mirror #mirrors span{
 background:#102d36e6;color:#fff;font-size:10px;bottom:4px;left:5px;
}


/* garage.css */
.garage-dialog{--garage-ink:var(--cb-ink,#172d35);--garage-paper:var(--cb-paper,#f8fbf5);--garage-mint:var(--cb-mint,#c0f1d1);--garage-green:var(--cb-green,#1d7856);width:min(1000px,calc(100vw - 32px));max-width:none;max-height:calc(100dvh - 36px);padding:0;border:1px solid #172d3518;border-radius:26px;overflow:auto;background:var(--garage-paper);color:var(--garage-ink);box-shadow:0 30px 100px #1029203b}.garage-dialog::backdrop{background:#172d3570;backdrop-filter:blur(10px)}.garage-heading{display:flex;align-items:center;justify-content:space-between;padding:26px 32px 2px}.garage-eyebrow{font-size:10px;font-weight:700;letter-spacing:1.7px;color:#637771}.garage-heading h2{font-size:25px;line-height:1.4;margin:8px 0;color:var(--garage-ink);letter-spacing:-.6px}.garage-dialog button{font-family:inherit;cursor:pointer}.garage-close{width:38px;height:38px;border:1px solid #172d3520;border-radius:50%;font-size:26px;line-height:1;background:transparent;color:var(--garage-ink)}.garage-preview{position:relative;height:330px;margin:0 20px;background:radial-gradient(ellipse at 50% 76%,#cde6d850,transparent 64%);overflow:hidden}.garage-preview canvas{display:block;width:100%;height:100%;touch-action:none;cursor:grab}.garage-preview canvas:active{cursor:grabbing}.garage-preview-badge{position:absolute;left:14px;top:18px;color:#637771;font-size:10px;letter-spacing:.2px;pointer-events:none}.garage-preview-code{position:absolute;right:16px;top:9px;font:750 57px/1 system-ui;color:#1d785612;letter-spacing:-3px;pointer-events:none}.garage-car-list{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;padding:0 30px}.garage-dialog .garage-car{display:flex;position:relative;align-items:flex-start;text-align:left;gap:10px;padding:19px 14px 16px;border:1px solid #172d3520;border-radius:15px;background:#fff9;color:var(--garage-ink);transition:border-color .18s,background .18s;min-height:118px}.garage-dialog .garage-car:hover{border-color:#1d78567d;background:#eaf5ed}.garage-dialog .garage-car[aria-checked=true]{border-color:var(--garage-green);background:#c0f1d14d;box-shadow:inset 0 0 0 1px var(--garage-green)}.garage-car-number{position:absolute;right:12px;top:10px;font-size:9px;color:#78908a}.garage-colour{width:10px;height:10px;flex:0 0 10px;border-radius:50%;background:var(--car-colour);box-shadow:0 0 0 3px #172d3507;margin-top:6px}.garage-car-text{display:flex;flex-direction:column;gap:6px;min-width:0}.garage-car-text strong{font-size:15px;font-weight:650;letter-spacing:-.3px;padding-right:14px}.garage-car-text small{font-size:10px;line-height:1.6;color:#4b655e}.garage-car-text>span{font-size:10px;line-height:1.5;color:#71817b}.garage-selected{position:absolute;right:12px;bottom:11px;font-size:13px;color:var(--garage-green);opacity:0}.garage-car[aria-checked=true] .garage-selected{opacity:1}.garage-bottom{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:23px 30px 10px}.garage-note{font-size:11px;line-height:1.7;color:#657b71;margin:0;max-width:355px}.garage-dialog .garage-confirm{display:flex;align-items:center;justify-content:space-between;gap:24px;flex-shrink:0;min-height:46px;border:0;border-radius:12px;padding:12px 20px;font-size:12px;font-weight:700;color:var(--garage-paper);background:var(--garage-green)}.garage-dialog .garage-confirm:hover{background:#155d42}.garage-dialog .garage-confirm:disabled{opacity:.6;cursor:wait}.garage-status{min-height:16px;margin:0 30px 15px;color:var(--cb-coral,#e46550);font-size:11px}.garage-dialog button:focus-visible{outline:3px solid #56ad88;outline-offset:3px}body:not([data-screen=free]) #garage-drive-open{display:none}.garage-open{white-space:nowrap}#garage-drive-open{font-size:11px}.home-actions #garage-open{min-width:auto;padding-inline:17px;background:var(--cb-paper,#f8fbf5);border:1px solid #172d3530;color:var(--cb-ink,#172d35)}.home-actions #garage-open:hover{background:var(--cb-mint,#c0f1d1)}@media(max-width:650px){.garage-dialog{width:calc(100vw - 18px);max-height:calc(100dvh - 18px);border-radius:20px}.garage-heading{padding:20px 20px 0}.garage-heading h2{font-size:21px}.garage-preview{height:230px;margin:0}.garage-preview-badge{font-size:9px;left:20px}.garage-preview-code{font-size:42px;right:20px}.garage-car-list{grid-template-columns:1fr;padding:0 18px;gap:7px}.garage-dialog .garage-car{min-height:77px;padding:12px 15px;align-items:center}.garage-car-text{gap:3px}.garage-car-text strong{font-size:14px}.garage-car-text>span{font-size:9px}.garage-car-number{top:12px;right:14px}.garage-selected{bottom:13px;right:14px}.garage-bottom{padding:17px 18px 10px;align-items:stretch;flex-direction:column;gap:12px}.garage-note{font-size:10px;max-width:none}.garage-confirm{width:100%}.garage-status{margin:0 18px 12px}.home-actions #garage-open{padding-inline:12px}}@media(max-height:600px) and (min-width:651px){.garage-preview{height:210px}.garage-heading{padding-top:17px}.garage-heading h2{font-size:21px}.garage-dialog .garage-car{min-height:99px}.garage-bottom{padding-top:15px}}

.garage-dialog{--garage-ink:#1a1650;--garage-paper:#f6f6fa;--garage-green:#28613e;--garage-mint:#c6f48f}
.garage-dialog .garage-car{align-items:center;gap:10px;min-height:96px;padding:16px 13px}
.garage-thumbnail{width:66px;height:40px;flex:0 0 66px;color:#25323e}
.garage-dialog .garage-car[aria-checked=true]{background:#dff5c5;border-color:#28613e}
.garage-selected{background:#28613e;color:white;border-radius:50%;width:20px;height:20px;text-align:center;line-height:20px;bottom:9px;right:9px}
.garage-car-text strong{font-size:14px;padding-right:0}.garage-car-text small{color:#526258}
.garage-heading h2{font-weight:680}.garage-preview-code{color:#1a165012}
.garage-dialog .garage-confirm{background:#1a1650;color:white}.garage-dialog .garage-confirm:hover{background:#30266b}
@media(max-width:650px){.garage-dialog .garage-car{min-height:77px;padding:11px 16px}.garage-thumbnail{width:70px;flex-basis:70px}.garage-selected{bottom:27px}.garage-car-text strong{font-size:14px}}

/* Both launchers open the same garage directly, including touch driving. */
#garage-open .garage-launch-copy strong{display:inline-flex;align-items:center;gap:7px}
.garage-launch-dot{width:7px;height:7px;flex:0 0 7px;border-radius:50%;background:#2bf5a0;box-shadow:0 0 0 2px #2bf5a019}
body[data-screen=free] #garage-drive-open{position:fixed;right:max(24px,env(safe-area-inset-right));bottom:86px;z-index:26;display:grid;place-items:center;width:50px;height:50px;min-width:50px;min-height:50px;padding:12px;border:1px solid #2bf5a070;border-radius:50%;background:#fff;color:#1a1650;box-shadow:0 4px 18px #071b2f35;cursor:pointer;touch-action:manipulation}
#garage-drive-open svg{display:block;width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;pointer-events:none}
.garage-control-dot{position:absolute;top:2px;right:2px;width:11px;height:11px;border:2px solid #fff;border-radius:50%;background:#2bf5a0;pointer-events:none}
body[data-screen=free] #garage-drive-open:hover{background:#e3fff3;border-color:#2bf5a0}
#garage-drive-open:focus-visible{outline:3px solid #2bf5a0;outline-offset:3px}
body.touch-driving-active[data-screen=free] #garage-drive-open{display:grid!important;right:max(12px,env(safe-area-inset-right));bottom:calc(var(--touch-edge,12px) + var(--touch-bank-height,112px) + 14px)}
@media(max-width:600px){body[data-screen=free] #garage-drive-open{right:max(12px,env(safe-area-inset-right));bottom:150px}}


/* account/account-ui.css */
.cloud-leaderboard{margin-top:24px;padding-top:18px;border-top:1px solid #dce6ed}.cloud-leaderboard-heading{display:flex;align-items:center;justify-content:space-between;gap:12px}.cloud-leaderboard-heading h3{margin:0;font-size:16px}.cloud-leaderboard-heading button{font-size:12px;min-height:36px;padding:6px 10px}.cloud-leaderboard-status{font-size:13px;line-height:1.8}.cloud-leaderboard-table{table-layout:fixed}.cloud-leaderboard-table th:first-child{width:60px}.cloud-leaderboard-table th:last-child{width:85px;text-align:right}.cloud-leaderboard-table td:last-child{text-align:right;font-variant-numeric:tabular-nums}.cloud-leaderboard-table td{overflow-wrap:anywhere}.cloud-leaderboard-table .cloud-leaderboard-self{background:#eaf4fa}.cloud-leaderboard-you{white-space:nowrap;color:#376f91;font-size:11px}.cloud-leaderboard-own-rank{border-top:2px solid #b7cfde}.cloud-leaderboard-unranked{font-size:12px!important}
@media(max-width:400px){.cloud-leaderboard-table th:first-child{width:48px}.cloud-leaderboard-table th:last-child{width:70px}.cloud-leaderboard-table th,.cloud-leaderboard-table td{padding:9px 4px}}

