body.car-page{background:#050607;color:#e8f1f4;font-family:Arial,Helvetica,sans-serif;overflow:hidden}
.car-page .topbar{display:flex;gap:24px;z-index:20;background:#080a0bd9;padding-bottom:16px}
#car-back{color:#d5e1e5;text-decoration:none;font-size:12px;letter-spacing:.07em;margin-left:auto}
#car-sound{border:1px solid #72a3a8;background:#152129;color:#7edce3;padding:9px 12px;font:700 12px Arial,sans-serif;cursor:pointer}
.car-page #drive-canvas{mask-image:none}
.car-page .drive-hud #drive-score{top:105px}
.car-page .drive-hud #drive-status{top:105px}
.car-page .drive-commands{bottom:70px}
.car-page .drive-touch{bottom:70px}
.car-caption{position:fixed;bottom:18px;left:0;right:0;text-align:center;font-size:11px;letter-spacing:.14em;color:#8ea5ad;pointer-events:none}
@media(max-width:700px){.car-page .topbar{gap:12px}#car-back{font-size:10px}.car-page .brand{width:110px}}
@media(max-width:700px){.car-page .topbar{padding:12px;gap:8px}.car-page .brand{width:90px;flex:none}#car-back{max-width:95px;font-size:9px}}
.car-page #drive-panel .drive-phone-message{display:none!important}
.car-page #drive-panel #drive-canvas,.car-page #drive-panel .drive-hud{display:block!important;mask-image:none}
.car-page .topbar a,.car-page button{min-height:44px}.car-page #car-home{display:flex;align-items:center}
@media(pointer:coarse),(max-width:1024px){
 .car-page #drive-panel .drive-commands{display:none!important}
 .car-page #drive-panel .drive-touch{display:flex!important;position:absolute;left:16px;right:16px;bottom:calc(42px + env(safe-area-inset-bottom));width:auto;align-items:flex-end;justify-content:space-between;gap:20px;pointer-events:none;z-index:12}
 #drive-joystick{position:relative;width:120px;height:120px;border:2px solid #78bbc4;border-radius:50%;background:#101e28d9;touch-action:none;pointer-events:auto;flex:none;display:grid;place-items:center}
 #joystick-thumb{width:52px;height:52px;border:1px solid #86d5de;border-radius:50%;background:#294958;pointer-events:none}.joystick-label{position:absolute;bottom:-24px;font:700 12px Arial;color:#d6e9ed}
 .drive-touch-actions{--control-size:64px;order:0;display:grid;grid-template-columns:repeat(3,var(--control-size));grid-template-rows:repeat(3,var(--control-size));gap:6px;pointer-events:none}
 #drive-joystick{order:1;margin-bottom:24px}
 .car-page .drive-touch-actions button{width:var(--control-size);height:var(--control-size);min-height:0;padding:4px;border:1px solid #78bbc4;border-radius:50%;font:700 11px/1.15 Arial,sans-serif;touch-action:none;pointer-events:auto;background:#101e28ed;display:grid;place-items:center;text-align:center}
 .drive-touch-actions [data-drive="up"]{grid-column:2;grid-row:1}
 .drive-touch-actions #drive-engine-touch{grid-column:1;grid-row:2}
 .drive-touch-actions #drive-horn{grid-column:3;grid-row:2}
 .drive-touch-actions [data-drive="down"]{grid-column:2;grid-row:3}
 .car-page .drive-hud #drive-score{top:110px;font-size:clamp(50px,12vw,100px)}.car-page .drive-hud #drive-status{top:110px}
 .car-page .car-caption{font-size:10px;bottom:12px}
}
@media(max-width:420px){#drive-joystick{width:100px;height:100px}#joystick-thumb{width:44px;height:44px}.car-page #drive-panel .drive-touch{left:12px;right:12px;gap:12px}.drive-touch-actions{--control-size:52px;gap:4px}.car-page .drive-touch-actions button{font-size:10px;padding:2px}}
@media(max-height:500px){.car-page #drive-panel .drive-touch{bottom:20px}.drive-touch-actions{--control-size:52px;gap:4px}#drive-joystick{width:90px;height:90px}.joystick-label,.car-caption{display:none}.car-page .drive-hud #drive-score,.car-page .drive-hud #drive-status{top:85px}}
.car-page button:focus-visible,#drive-joystick:focus-visible,.car-page a:focus-visible{outline:3px solid #67d4dc;outline-offset:3px}
.car-page #drive-panel,.car-page .drive-touch,.car-page .drive-touch-actions{touch-action:none;user-select:none;-webkit-user-select:none}
.car-page .drive-touch-actions button[aria-pressed=true]{background:#346c78;border-color:#b1eff2}
/* Dark city background; controls remain readable over it. */
body.car-page:has(.city-mission){background:#090d10}
.city-mission{position:absolute;left:28px;top:185px;width:min(340px,30vw);padding:18px 20px;background:#142831eb;border:1px solid #72bed4;border-radius:18px;color:#f1f8fb;pointer-events:none;box-shadow:0 8px 30px #18364520}
.city-mission strong{display:block;font:900 24px/1.2 Arial;letter-spacing:.06em;color:#6de1ed}
.city-mission span{display:block;font:700 14px/1.5 Arial;margin-top:8px}
.city-mission progress{display:block;width:100%;height:8px;margin-top:12px;accent-color:#6de1ed}
.city-mission p{font:400 14px/1.5 Arial;margin:12px 0 0;color:#c4d9e2}
.city-toast{position:absolute;top:240px;left:50%;transform:translateX(-50%);background:#132b36ef;border:1px solid #8acde0;border-radius:50px;color:#fff;font:700 17px/1.3 Arial;padding:12px 24px;opacity:0;transition:opacity .2s;pointer-events:none;max-width:45vw;text-align:center}
.city-toast.visible{opacity:1}
@media(max-height:620px){.city-mission{top:175px;padding:12px;width:260px}.city-mission p{display:none}.city-toast{top:190px}.car-page:has(.city-mission) .drive-commands{bottom:30px}}
@media(max-width:1000px){.city-mission{left:16px;width:220px;padding:12px}.city-mission strong{font-size:20px}.city-mission p{font-size:13px}.city-toast{max-width:40vw;font-size:14px}}
@media(pointer:coarse),(max-width:700px){
 .city-mission{left:16px;right:16px;top:214px;width:auto;max-width:280px;padding:8px 12px;border-radius:12px}
 .city-mission strong,.city-mission p{display:none}
 .city-mission span{font-size:14px;margin:0}
 .city-mission progress{height:6px;margin-top:5px}
 .city-toast{top:215px;max-width:calc(100vw - 32px);padding:8px 14px}
}
@media(pointer:coarse) and (max-height:500px){
 .city-mission{top:142px;max-width:200px}
 .city-toast{top:138px}
 .car-page #drive-camera{top:85px!important}
}
/* One compact glass card keeps score, time and mission together. */
.car-page .city-mission{top:110px;left:24px;right:auto;width:300px;max-width:calc(100vw - 48px);padding:14px 18px;border-radius:24px;background:rgba(0,0,0,.65);border:1px solid rgba(255,255,255,.2);box-shadow:0 8px 28px #0005;backdrop-filter:blur(12px)}
.car-page .city-mission strong{display:none}
.car-page .city-mission span{margin:8px 0 0;font:600 14px/1.4 Arial;color:#dae9ed}
.car-page .city-stats{display:flex;align-items:baseline;justify-content:space-between;gap:16px}
.car-page .city-stats #drive-score{position:static;display:block;font:800 32px/1 Arial;color:#73d9e5;transform:none;margin:0;padding:0;background:none;letter-spacing:0}
.car-page .city-stats #drive-status{position:static;display:block;font:700 16px/1.3 Arial;transform:none;text-align:right;max-width:190px;margin:0;padding:0;background:none;color:#f1f8fb}
.car-page .city-mission progress{height:6px;margin-top:8px}
.car-page .city-toast{top:240px}
.car-page #drive-camera[hidden]{display:none!important}
@media(pointer:coarse),(max-width:700px){
 .car-page .city-mission{top:108px;left:12px;right:12px;width:auto;max-width:none;padding:10px 14px;border-radius:20px}
 .car-page .city-mission span{margin-top:5px}
 .car-page .city-stats #drive-score{font-size:28px}
 .car-page .city-stats #drive-status{font-size:14px;max-width:210px}
 .car-page .city-toast{top:225px}
 .car-page .drive-touch-actions #drive-camera{display:grid;position:static;grid-column:2;grid-row:2;transform:none;width:var(--control-size);height:var(--control-size);min-height:0;font:700 11px/1.15 Arial;padding:3px;border:1px solid #78bbc4;border-radius:50%;background:#101e28ed;color:#e8f1f4;pointer-events:auto}
}
@media(pointer:coarse) and (max-height:500px){
 .car-page .city-mission{top:76px;left:12px;right:auto;width:260px;max-width:calc(100vw - 24px);padding:8px 12px}
 .car-page .city-mission span{font-size:12px;margin-top:3px}
 .car-page .city-stats #drive-score{font-size:24px}
 .car-page .city-toast{top:76px;left:auto;right:12px;transform:none;max-width:240px}
}
/* Ford infographic surfaces carry the game controls and dialogs. */
.drive-game-overlay{position:fixed;pointer-events:auto;inset:0;z-index:40;display:grid;place-items:center;padding:24px;background:#0009;backdrop-filter:blur(6px);touch-action:auto}
.drive-game-overlay[hidden]{display:none}
.drive-game-card{width:min(520px,100%);max-height:calc(100dvh - 48px);overflow:auto;padding:28px;border-radius:24px;border:1px solid rgba(255,255,255,.14);background:rgba(0,0,0,.55);backdrop-filter:blur(20px) saturate(115%);box-shadow:0 8px 28px #0005;color:#edf5f6}
.drive-game-card h2{margin:0 0 18px;font:700 26px/1.2 Arial;color:#73d9e5}.drive-game-card p{font:400 16px/1.6 Arial;margin:0 0 24px}
.drive-game-dialog-actions{display:flex;flex-wrap:wrap;gap:12px}.drive-game-dialog-actions button,.drive-game-dialog-actions a{display:flex;justify-content:center;align-items:center;min-height:48px;padding:12px 18px;background:#151d24;border:1px solid #ffffff33;border-radius:16px;color:#edf5f6;text-decoration:none;font:700 14px/1.3 Arial;cursor:pointer}.drive-game-dialog-actions button{color:#73d9e5}
@media(pointer:coarse),(max-width:1024px){
 .car-page #drive-joystick.drive-steering-arrows{display:flex;gap:14px;width:auto;height:auto;background:none;border:0;border-radius:0;margin:0 0 30px;order:1}
 .drive-steering-arrows #joystick-thumb,.drive-steering-arrows .joystick-label{display:none}
 .car-page .drive-steering-arrows button{width:68px;height:90px;border:1px solid #ffffff44;border-radius:22px;background:#080b0fcc;color:#edf5f6;font-size:30px;pointer-events:auto;touch-action:none}
 .car-page .drive-steering-arrows button[aria-pressed=true]{background:#31515d;color:#97ecf4;border-color:#97ecf4}
 .car-page .drive-touch-actions button,.car-page .drive-touch-actions #drive-camera{background:#080b0fcc;border-color:#ffffff44}
}
@media(max-width:420px),(max-height:500px){.car-page .drive-steering-arrows button{width:54px;height:70px}.car-page #drive-joystick.drive-steering-arrows{gap:10px;margin-bottom:20px}.drive-game-card{padding:20px}.drive-game-card h2{font-size:22px}}

.car-page .city-mission,.car-page .drive-commands{background:rgba(0,0,0,.55);border:1px solid rgba(255,255,255,.14);border-radius:24px;backdrop-filter:blur(20px) saturate(115%)}
.car-page .drive-commands{padding:12px 16px}.car-page .drive-commands button,.car-page #car-sound{border:1px solid rgba(255,255,255,.14);border-radius:16px;background:rgba(0,0,0,.55);color:#e8f1f4}
