:root{font-family:Inter,ui-rounded,"SF Pro Rounded","Segoe UI",Arial,sans-serif;color:#123d2e;background:#041d18;--green:#087a4b;--orange:#ff712c;--yellow:#ffd43b;--cream:#fff9e9}*{box-sizing:border-box}html,body{margin:0;width:100%;height:100%;overflow:hidden;background:#041d18}body.playing{touch-action:none;overscroll-behavior:none;user-select:none}button,a{font:inherit}button:focus-visible,a:focus-visible{outline:3px solid #fff;outline-offset:3px}#game-shell{position:relative;width:100%;height:100%;min-height:100dvh;overflow:hidden;background:#5cc8eb}#game-canvas{position:absolute;inset:0;width:100%;height:100%;display:block;touch-action:none}.screen{position:absolute;z-index:20;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:calc(20px + env(safe-area-inset-top)) max(18px,env(safe-area-inset-right)) calc(20px + env(safe-area-inset-bottom)) max(18px,env(safe-area-inset-left));overflow:auto;background:radial-gradient(circle at 50% 18%,#edfff4 0,#fff9df 45%,#ffd96a 100%)}.screen[hidden],.hud[hidden],.power-status[hidden],.turbo-meter[hidden],.turbo-banner[hidden],.swipe-hint[hidden]{display:none}.home-link{position:absolute;left:max(14px,env(safe-area-inset-left));top:max(14px,env(safe-area-inset-top));color:#087a4b;text-decoration:none;font-weight:950;font-size:.78rem}.brand{font-size:1.2rem;font-weight:1000;color:#087a4b}.brand span,.start-screen h1 span{color:#ef6426}.mascot-family{display:flex;align-items:end;justify-content:center;gap:4px;margin:10px 0 3px}.bowl{position:relative;display:grid;place-items:center;width:52px;height:38px;border:4px solid #d39450;border-top-width:7px;border-radius:6px 6px 25px 25px;background:#fff1da;color:#173d2e;font-weight:1000;font-size:1rem;box-shadow:0 7px 11px #174b3333;transform:rotate(-3deg)}.bowl:nth-child(even){transform:rotate(3deg) translateY(2px)}.bowl.rainbow{background:#fff0f7;border-color:#eb5ba4}.bowl.fire{background:#fff0cf;border-color:#e94b26}.bowl.king{background:#fff8d5;border-color:#d8a514;color:#d8a514;font-size:.8rem}.bowl.king i{position:absolute;bottom:4px;color:#173d2e;font-style:normal;font-size:1rem}.bowl.robot{background:#d9eef2;border-color:#3d8494}.eyebrow{margin:10px 0 0;font-size:.7rem;letter-spacing:.16em;font-weight:1000;color:#df5d16}.start-screen h1{font-size:clamp(3.4rem,14vw,6.2rem);line-height:.76;margin:8px 0 12px;letter-spacing:-.07em;color:#075b3d;text-shadow:0 5px 0 #fff}.tagline{margin:4px 0 18px;font-weight:850;font-size:clamp(.95rem,3vw,1.15rem)}.primary-button,.secondary-button{border:0;border-radius:18px;min-height:56px;padding:14px 30px;font-weight:1000;cursor:pointer}.primary-button{min-width:min(330px,90vw);font-size:1.1rem;color:#fff;background:linear-gradient(135deg,#ff7b29,#e94b28);box-shadow:0 13px 28px #c94f2448}.secondary-button{margin-top:9px;color:#075b3d;background:#fff;border:1px solid #cfe4d8}.primary-button:active,.menu-actions button:active{transform:scale(.97)}.controls{margin:11px 0 7px;color:#5a756b;font-size:.75rem;font-weight:750}.menu-actions{display:flex;gap:6px;flex-wrap:wrap;justify-content:center;max-width:480px}.menu-actions button{min-height:44px;border:1px solid #d8e8df;border-radius:13px;background:#ffffffdb;color:#174b39;padding:8px 10px;font-size:.78rem;font-weight:850;cursor:pointer}.wallet-pill{margin-top:10px;border:1px solid #d8e8df;border-radius:999px;background:#fff;padding:7px 14px;color:#087a4b;font-weight:950}.hud{position:absolute;z-index:8;top:max(7px,env(safe-area-inset-top));left:max(7px,env(safe-area-inset-left));right:max(7px,env(safe-area-inset-right));display:flex;align-items:center;gap:5px;pointer-events:none}.hud>span,.hud-button{min-height:43px;padding:5px 9px;border:1px solid #ffffff73;border-radius:13px;background:#073d31df;color:#fff;backdrop-filter:blur(7px);box-shadow:0 7px 18px #00170e38;display:flex;flex-direction:column;justify-content:center;white-space:nowrap;font-style:normal}.hud small{font-size:.48rem;letter-spacing:.08em;color:#a9ebce;font-weight:900}.hud b{font-size:.83rem}.hud i{font-style:normal}.hud em{font-size:.5rem;color:#ffd55e;font-style:normal}.hud-button{pointer-events:auto;width:42px;border:0;font-weight:1000;cursor:pointer}.hud .hearts{margin-left:auto;flex-direction:row;align-items:center;font-size:.85rem;padding:5px 7px}.power-status{position:absolute;z-index:9;right:10px;top:65px;border-radius:999px;background:#073d31df;color:#fff;padding:6px 10px;font-size:.75rem;font-weight:900}.turbo-meter{position:absolute;z-index:8;bottom:max(14px,env(safe-area-inset-bottom));left:50%;transform:translateX(-50%);min-width:166px;border:2px solid #ffd43b;border-radius:15px;background:#561b10e8;color:#fff;padding:7px 13px;text-align:center;box-shadow:0 6px 20px #51100066}.turbo-meter b{display:block;font-size:.6rem;letter-spacing:.12em;color:#ffd43b}.turbo-meter i{font-style:normal;font-size:1.18rem;filter:grayscale(1);opacity:.32}.turbo-meter i.on{filter:none;opacity:1}.turbo-banner{position:absolute;z-index:10;left:50%;top:22%;transform:translateX(-50%);border-radius:16px;background:linear-gradient(90deg,#d92c21,#ff8a20);color:#fff;border:3px solid #ffd43b;padding:12px 20px;font-size:1.35rem;font-weight:1000;white-space:nowrap;box-shadow:0 0 35px #ff6924;animation:pulse .42s ease-in-out infinite alternate}.swipe-hint{position:absolute;z-index:9;left:50%;bottom:86px;transform:translateX(-50%);border-radius:999px;background:#063d2bdc;color:#fff;padding:9px 16px;font-size:.75rem;font-weight:900;white-space:nowrap}.toast{position:absolute;z-index:40;left:50%;bottom:100px;transform:translate(-50%,20px);max-width:88vw;border-radius:14px;background:#073d31ee;color:#fff;padding:10px 15px;font-weight:900;opacity:0;pointer-events:none;transition:.22s}.toast.show{opacity:1;transform:translate(-50%,0)}.compact{background:#062f27e9;color:#fff;backdrop-filter:blur(10px)}.compact h2{margin:8px 0 14px;font-size:clamp(2.1rem,9vw,4rem);color:#fff}.compact .secondary-button{background:#ffffff18;color:#fff;border-color:#ffffff38}.celebration{font-size:2.3rem;animation:pop .7s ease-in-out infinite alternate}.reward-line{color:#ffd43b;font-size:1.35rem;font-weight:1000;margin:-6px 0 15px}.result-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px;width:min(430px,92vw);margin-bottom:16px}.result-grid span{border:1px solid #ffffff2b;border-radius:13px;background:#ffffff15;padding:10px;display:flex;flex-direction:column;color:#bfe6d4;font-size:.68rem;font-weight:850}.result-grid b{color:#fff;font-size:1.12rem}.new-record{color:#ffd43b;font-weight:1000;margin:0 0 10px}.crash-icon{font-size:3rem}.panel{inset:max(10px,env(safe-area-inset-top)) max(10px,env(safe-area-inset-right)) max(10px,env(safe-area-inset-bottom)) max(10px,env(safe-area-inset-left));border-radius:25px;justify-content:flex-start;background:#fffaf0;box-shadow:0 28px 80px #001c1588}.panel h2{margin:14px 45px 12px;font-size:1.9rem;color:#075b3d}.close-button{position:absolute;right:13px;top:13px;width:44px;height:44px;border:0;border-radius:50%;background:#e6f0eb;color:#153e30;font-size:1.7rem;cursor:pointer}.panel-content,#panel-content{width:min(590px,100%);text-align:left}.record-card,.mission-card,.garage-card,.setting-row{border:1px solid #dbe9e2;border-radius:17px;background:#fff;padding:14px;margin:8px 0}.record-card,.setting-row{display:flex;justify-content:space-between;align-items:center;font-weight:900}.mission-card header,.garage-card{display:flex;align-items:center;gap:12px}.mission-card header span:first-child{font-size:1.5rem}.mission-card header div,.garage-card div{flex:1}.mission-card small,.garage-card small{display:block;color:#71847b;margin-top:3px}.progress{height:8px;border-radius:99px;background:#e4eee9;overflow:hidden;margin-top:9px}.progress i{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#08a466,#ffd43b)}.garage-preview{position:relative;width:74px;height:66px;border-radius:16px;display:grid;place-items:center;color:#fff;font-size:2rem;border:4px solid var(--trim);background:var(--body)}.garage-preview:after{content:'🍜';position:absolute;top:-9px;font-size:1.8rem}.garage-card button,.setting-row button{border:0;border-radius:11px;background:#087a4b;color:#fff;padding:9px 12px;font-weight:900;cursor:pointer}.garage-card button[disabled]{background:#dce6e1;color:#73847b}.garage-card.selected{border-color:#0ca86b;box-shadow:0 0 0 2px #0ca86b22}.setting-row button.off{background:#85958e}@keyframes pulse{to{transform:translateX(-50%) scale(1.05)}}@keyframes pop{to{transform:scale(1.08)}}
@media(max-width:720px){.hud-wide{display:none!important}.hud{gap:4px}.hud>span,.hud-button{min-height:40px;padding:4px 7px}.hud .hearts{font-size:.75rem}.start-screen{justify-content:center}.mascot-family{transform:scale(.88);margin-top:3px}.start-screen h1{font-size:3.65rem}.menu-actions{max-width:360px}.menu-actions button{font-size:.72rem}.panel{padding-left:14px;padding-right:14px}}
@media(max-height:690px){.mascot-family{transform:scale(.72);margin:-5px 0}.start-screen h1{font-size:3rem;margin:4px 0 8px}.tagline{margin-bottom:11px}.controls{margin:7px 0 5px}.wallet-pill{margin-top:6px}.primary-button{min-height:51px}.menu-actions button{min-height:40px}}

/* V2: exact Phở Run mascot family and a cleaner racing interface. */
.start-screen{background:radial-gradient(circle at 72% 18%,rgba(255,218,74,.48),transparent 23rem),linear-gradient(148deg,#effff6 0 48%,#fff4c7 48% 100%)}
.start-screen:before{content:"";position:absolute;inset:0;pointer-events:none;opacity:.06;background-image:linear-gradient(45deg,#073d31 25%,transparent 25%),linear-gradient(-45deg,#073d31 25%,transparent 25%),linear-gradient(45deg,transparent 75%,#073d31 75%),linear-gradient(-45deg,transparent 75%,#073d31 75%);background-size:28px 28px;background-position:0 0,0 14px,14px -14px,-14px 0}
.start-screen>*{position:relative;z-index:1}.hero-racer{position:relative;width:min(300px,74vw);height:156px;margin:2px auto -2px;filter:drop-shadow(0 15px 15px rgba(0,71,46,.2))}.mascot-sprite{display:block;background-image:url('../assets/pho-run-mascots.png');background-repeat:no-repeat;background-size:500% 100%;background-position-y:center}.sprite-0{background-position-x:0}.sprite-1{background-position-x:25%}.sprite-2{background-position-x:50%}.sprite-3{background-position-x:75%}.sprite-4{background-position-x:100%}.hero-sprite{position:absolute;z-index:2;left:50%;top:0;width:126px;height:122px;transform:translateX(-50%)}.hero-car{position:absolute;z-index:3;left:50%;bottom:10px;width:188px;height:74px;transform:translateX(-50%);border:5px solid #9d251f;border-radius:44px 44px 25px 25px;background:linear-gradient(180deg,#ff7347 0 52%,#e3382f 53% 100%);box-shadow:inset 0 -10px 0 rgba(113,20,21,.18),0 13px 17px rgba(75,24,20,.25)}.hero-car:before,.hero-car:after{content:"";position:absolute;bottom:-10px;width:38px;height:24px;border-radius:8px;background:#17242d;border:5px solid #071115}.hero-car:before{left:18px}.hero-car:after{right:18px}.hero-car i{position:absolute;left:50%;top:7px;width:98px;height:31px;transform:translateX(-50%);border:4px solid #fff3cb;border-radius:25px 25px 8px 8px;background:linear-gradient(135deg,#83e8ff,#1a7ca0);box-shadow:inset 0 -7px 0 rgba(0,39,70,.16)}.hero-car b{position:absolute;left:50%;bottom:8px;transform:translateX(-50%);color:#fff;font-size:.7rem;letter-spacing:.08em}.speed-cloud{position:absolute;z-index:1;bottom:18px;width:50px;height:17px;border-radius:99px;background:#fff;opacity:.8;filter:blur(1px);animation:cloud 1s ease-in-out infinite}.cloud-one{left:2px}.cloud-two{right:2px;animation-delay:.35s}.mascot-family{display:flex;gap:4px;height:50px;margin:0 0 3px;transform:none}.mascot-family .mascot-sprite{width:48px;height:48px;border-radius:50%;background-color:#fff;border:2px solid rgba(8,122,75,.15);box-shadow:0 5px 11px rgba(13,83,55,.13)}.start-screen h1{font-size:clamp(3.1rem,12vw,5.3rem);line-height:.78;margin:5px 0 10px;text-shadow:0 4px 0 #fff,0 9px 22px rgba(5,91,61,.15)}.eyebrow{margin-top:5px}.tagline{margin-bottom:14px}.primary-button{background:linear-gradient(135deg,#ff7b29,#e23d2c);border:2px solid rgba(255,255,255,.72);box-shadow:0 11px 0 #a92f24,0 18px 29px rgba(169,47,36,.25);transition:transform .14s,box-shadow .14s}.primary-button:active{transform:translateY(6px);box-shadow:0 5px 0 #a92f24,0 10px 18px rgba(169,47,36,.2)}.menu-actions{display:grid;grid-template-columns:repeat(4,auto);gap:7px}.menu-actions button{background:rgba(255,255,255,.82);box-shadow:0 5px 14px rgba(8,77,50,.09)}
.hud{display:grid;grid-template-columns:42px minmax(92px,1fr) auto auto;grid-template-rows:45px 43px;gap:5px;align-items:stretch}.hud>span,.hud-button{min-height:0;height:auto;border-radius:14px;background:linear-gradient(180deg,rgba(4,56,45,.94),rgba(4,38,34,.92));border-color:rgba(255,255,255,.22);box-shadow:0 6px 20px rgba(0,23,14,.24)}.hud-button{grid-column:1;grid-row:1}.hud-level{grid-column:2;grid-row:1;align-items:flex-start!important;padding-left:11px!important}.hud-level small{font-size:.55rem}.hud-level small i{color:#ffd43b;font-style:normal}.hud-level b{font-size:.88rem}.hud-coins{grid-column:3;grid-row:1}.hud .hearts{grid-column:4;grid-row:1;margin:0}.hud-stars{grid-column:1/3;grid-row:2;align-items:flex-start!important;padding-left:12px!important;position:relative;overflow:hidden}.hud-stars:after{content:"";position:absolute;left:0;right:0;bottom:0;height:4px;background:linear-gradient(90deg,#ffd43b,#ff7a2d)}.hud-score{grid-column:3;grid-row:2}.hud-distance{grid-column:4;grid-row:2}.hud small{font-size:.46rem}.hud b{font-size:.78rem}.turbo-meter{bottom:max(13px,env(safe-area-inset-bottom));background:linear-gradient(180deg,rgba(104,22,13,.95),rgba(55,13,10,.95));border:2px solid #ffcf42;box-shadow:0 7px 23px rgba(69,13,0,.34),inset 0 0 14px rgba(255,125,32,.18)}
.garage-preview{overflow:hidden;border:3px solid var(--trim);background:linear-gradient(180deg,#c7f5ff 0 48%,var(--body) 49% 100%)}.garage-preview:after{display:none}.garage-preview .mascot-sprite{position:absolute;left:50%;top:-8px;width:58px;height:58px;transform:translateX(-50%)}.garage-preview:before{content:"";position:absolute;z-index:2;left:8px;right:8px;bottom:5px;height:27px;border-radius:18px 18px 9px 9px;background:var(--body);box-shadow:inset 0 -6px 0 rgba(0,0,0,.15)}
@keyframes cloud{50%{transform:translateX(-12px) scale(.82);opacity:.35}}@media(max-width:720px){.hud-wide{display:flex!important}.start-screen h1{font-size:3.35rem}.menu-actions{grid-template-columns:repeat(2,1fr);width:min(340px,92vw)}.hero-racer{height:143px}.hero-sprite{width:116px;height:112px}.hero-car{width:174px;height:68px}.hud{grid-template-columns:40px minmax(86px,1fr) auto auto}.hud .hearts{font-size:.7rem}.hud>span{padding:4px 7px}.hud-score,.hud-distance{min-width:70px}.hud-stars{min-width:126px}}
@media(max-width:380px){.hud-score{display:none!important}.hud-distance{grid-column:3/5}.start-screen h1{font-size:3rem}.hero-racer{height:134px}.hero-sprite{width:106px;height:103px}.mascot-family{height:43px}.mascot-family .mascot-sprite{width:42px;height:42px}}
@media(max-height:700px){.hero-racer{height:118px;width:245px}.hero-sprite{width:94px;height:92px}.hero-car{width:152px;height:60px}.mascot-family{height:38px;margin:-3px 0}.mascot-family .mascot-sprite{width:38px;height:38px}.start-screen h1{font-size:2.75rem}.tagline{margin-bottom:9px}.controls{margin:6px 0 4px}.menu-actions button{min-height:38px}.wallet-pill{margin-top:5px}}

/* V3: mascot stays inside each rear window; desktop uses a focused, fast game viewport. */
body{background:radial-gradient(circle at 50% 25%,#0a5745,#031914 72%)}
#game-shell{width:min(100%,720px);margin:0 auto;box-shadow:0 0 72px rgba(0,0,0,.58)}
body.playing #game-shell{contain:layout paint}
body:not(.playing) #game-shell{overflow:visible}
.start-screen{left:50%;right:auto;width:100vw;max-width:none;transform:translateX(-50%)}
.lives-note{margin:10px 0 0;color:#9d3028;font-size:.72rem;letter-spacing:.04em;font-weight:1000}
.controls{margin-top:5px}
.hero-car .hero-rear-window{position:absolute;left:50%;top:7px;width:98px;height:35px;transform:translateX(-50%);overflow:hidden;border:4px solid #fff3cb;border-radius:25px 25px 8px 8px;background:linear-gradient(135deg,#83e8ff,#1a7ca0);box-shadow:inset 0 -7px 0 rgba(0,39,70,.16)}
.hero-rear-window .mascot-sprite{position:absolute;left:50%;top:-31px;width:86px;height:86px;transform:translateX(-50%)}
.garage-preview .mascot-sprite{z-index:2;top:4px;width:50px;height:50px;clip-path:inset(20px 6px 0 round 8px)}
.garage-preview:before{z-index:1;left:8px;right:8px;top:21px;bottom:auto;height:25px;border:3px solid #e9fbff;border-radius:11px 11px 6px 6px;background:linear-gradient(180deg,#8fe8fb,#236d89);box-shadow:none}
.garage-preview:after{content:"";display:block;position:absolute;z-index:3;left:8px;right:8px;bottom:4px;height:18px;border-radius:11px 11px 7px 7px;background:var(--body);box-shadow:inset 0 -5px 0 rgba(0,0,0,.15)}
@media(max-width:720px){#game-shell{box-shadow:none}}
@media(max-height:700px){.hero-racer{height:105px}.hero-car .hero-rear-window{width:82px;height:30px}.hero-rear-window .mascot-sprite{width:72px;height:72px;top:-26px}.tagline{margin-bottom:7px}.lives-note{margin-top:7px}.controls{margin-top:3px}}

/* V4: uninterrupted levels and unmistakable Phở mascot cars. */
.level-flash{position:absolute;z-index:16;left:50%;top:29%;width:min(310px,84vw);transform:translate(-50%,-18px) scale(.9);opacity:0;pointer-events:none;border:3px solid #ffe56c;border-radius:22px;background:linear-gradient(145deg,rgba(5,93,60,.96),rgba(3,48,39,.96));color:#fff;padding:15px 20px;text-align:center;box-shadow:0 18px 55px rgba(0,30,18,.45),0 0 35px rgba(255,211,63,.38);transition:.22s ease}.level-flash[hidden]{display:none}.level-flash.show{transform:translate(-50%,0) scale(1);opacity:1}.level-flash span,.level-flash strong,.level-flash b,.level-flash small{display:block}.level-flash span{font-size:1.55rem}.level-flash strong{margin:3px 0;color:#fff;font-size:1.45rem}.level-flash b{color:#ffd83d;font-size:1.08rem}.level-flash i{font-style:normal}.level-flash small{margin-top:4px;color:#b8f3d7;font-size:.67rem;font-weight:900;letter-spacing:.08em}
.hero-racer{height:132px}.hero-car{width:174px;height:96px;bottom:6px;border:7px solid #138257;border-radius:25px 25px 58px 58px;background:linear-gradient(180deg,#fff6e9,#ffe7c9);box-shadow:inset 0 -12px 0 rgba(220,151,83,.2),0 14px 19px rgba(40,69,44,.27)}.hero-car:before,.hero-car:after{bottom:-9px;width:31px;height:25px}.hero-car:before{left:15px}.hero-car:after{right:15px}.hero-car .pho-rim{position:absolute;left:50%;top:-5px;width:170px;height:25px;transform:translateX(-50%);border:4px solid #075b3d;border-radius:15px 15px 9px 9px;background:linear-gradient(180deg,#20a66e,#08784e);box-shadow:inset 0 4px 0 rgba(255,255,255,.25)}.hero-car .mascot-eye{position:absolute;top:31px;width:15px;height:23px;border:0;border-radius:50%;background:#4b260d;transform:none;box-shadow:inset 4px 2px 0 #fff}.hero-car .eye-left{left:46px}.hero-car .eye-right{left:auto;right:46px}.hero-car .mascot-cheek{position:absolute;top:57px;width:18px;height:9px;border:0;border-radius:50%;background:#f6a089;transform:none;box-shadow:none}.hero-car .cheek-left{left:25px}.hero-car .cheek-right{left:auto;right:25px}.hero-car .mascot-smile{position:absolute;left:50%;top:54px;width:42px;height:27px;transform:translateX(-50%);border:0;border-radius:7px 7px 50% 50%;background:linear-gradient(180deg,#3e1c10 0 66%,#ff6453 67%);box-shadow:none}.hero-car b{bottom:7px;color:#087a4b;font-size:.58rem}.speed-cloud{bottom:15px}
.garage-preview{height:72px;border-radius:13px 13px 25px 25px;background:var(--bowl);border-color:var(--rim)}.garage-preview:before,.garage-preview:after{content:none;display:none}.garage-preview .garage-rim{position:absolute;left:3px;right:3px;top:5px;height:13px;border-radius:7px;background:var(--accent);border:2px solid var(--rim)}.garage-preview .garage-eye{position:absolute;top:28px;width:7px;height:11px;border-radius:50%;background:#4b260d;box-shadow:inset 2px 1px 0 #fff}.garage-preview .eye-left{left:20px}.garage-preview .eye-right{right:20px}.garage-preview .garage-cheek{position:absolute;top:42px;width:8px;height:4px;border-radius:50%;background:#f6a089}.garage-preview .cheek-left{left:10px}.garage-preview .cheek-right{right:10px}.garage-preview .garage-mouth{position:absolute;left:50%;top:40px;width:18px;height:13px;transform:translateX(-50%);border-radius:3px 3px 50% 50%;background:linear-gradient(180deg,#3e1c10 0 67%,#ff6453 68%)}
@media(max-height:700px){.hero-racer{height:94px}.hero-car{width:140px;height:76px;border-width:5px}.hero-car .pho-rim{width:138px;height:20px}.hero-car .mascot-eye{top:24px;width:12px;height:18px}.hero-car .eye-left{left:37px}.hero-car .eye-right{right:37px}.hero-car .mascot-cheek{top:46px}.hero-car .mascot-smile{top:42px;width:34px;height:22px}.hero-car b{bottom:4px}}

/* V5: selected Phở Compact Car and starting difficulty selector. */
.hero-racer{height:124px;width:min(260px,72vw);margin:3px auto 0}.hero-car-concept{position:absolute;z-index:2;left:50%;top:0;width:230px;height:122px;transform:translateX(-50%);object-fit:cover;border-radius:24px;box-shadow:0 11px 25px rgba(5,84,55,.2);user-select:none;pointer-events:none}.speed-cloud{z-index:3}
.difficulty-picker{width:min(390px,92vw);margin:0 0 10px}.difficulty-picker p{margin:0 0 5px;color:#547267;font-size:.6rem;font-weight:1000;letter-spacing:.12em}.difficulty-picker>div{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}.difficulty-picker button{min-height:48px;border:2px solid #d6e8df;border-radius:14px;background:rgba(255,255,255,.82);color:#315b4c;padding:6px 4px;cursor:pointer;transition:.16s ease}.difficulty-picker button b,.difficulty-picker button small{display:block}.difficulty-picker button b{font-size:.76rem}.difficulty-picker button small{margin-top:2px;color:#769087;font-size:.58rem;font-weight:750}.difficulty-picker button.selected{border-color:#0a8957;background:#087a4b;color:#fff;box-shadow:0 6px 15px rgba(8,122,75,.22);transform:translateY(-1px)}.difficulty-picker button.selected small{color:#c8f5df}
.garage-preview{height:72px;border-radius:19px;background:var(--bowl);border-color:var(--trim);box-shadow:inset 0 -9px 0 var(--body)}.garage-preview:before{content:"";display:block;position:absolute;left:10px;right:10px;top:5px;height:19px;border-radius:11px 11px 5px 5px;background:linear-gradient(180deg,#263e48,#101c23);border:2px solid var(--accent)}.garage-preview .garage-rim{left:5px;right:5px;top:25px;height:9px;border:0;border-radius:5px;background:var(--accent)}.garage-preview .garage-eye{top:38px}.garage-preview .garage-cheek{top:51px}.garage-preview .garage-mouth{top:49px}.garage-preview:after{content:"";display:block;position:absolute;left:5px;right:5px;bottom:3px;height:6px;border-radius:5px;background:var(--body)}
@media(max-height:760px){.hero-racer{height:90px}.hero-car-concept{width:178px;height:88px}.mascot-family{height:36px;margin:-2px 0}.mascot-family .mascot-sprite{width:36px;height:36px}.start-screen h1{font-size:2.65rem;margin:3px 0 7px}.tagline{margin-bottom:6px}.difficulty-picker{margin-bottom:7px}.difficulty-picker button{min-height:42px}.lives-note{margin-top:6px}}

/* V6: clean start screen and a smaller in-game mascot car. */
.start-screen{gap:0;overflow:hidden;padding-top:max(16px,env(safe-area-inset-top));padding-bottom:max(14px,env(safe-area-inset-bottom));background:radial-gradient(circle at 78% 12%,rgba(255,216,67,.55),transparent 18rem),linear-gradient(155deg,#effff5 0 58%,#fff2bd 58% 100%)}
.start-screen:before{opacity:.035;background-size:34px 34px;background-position:0 0,0 17px,17px -17px,-17px 0}
.start-screen .home-link{top:max(15px,env(safe-area-inset-top));left:max(16px,env(safe-area-inset-left))}
.start-wallet{position:absolute!important;right:max(14px,env(safe-area-inset-right));top:max(9px,env(safe-area-inset-top));margin:0;padding:7px 11px;font-size:.72rem;box-shadow:0 5px 14px rgba(8,77,50,.1)}
.start-screen .brand{margin:2px 0 3px;font-size:1.05rem}
.start-screen .hero-racer{width:min(224px,61vw);height:108px;margin:0 auto}
.start-screen .hero-car-concept{width:202px;height:106px;border-radius:22px;box-shadow:0 9px 22px rgba(5,84,55,.18)}
.start-screen h1{white-space:nowrap;font-size:clamp(2.5rem,9vw,4.4rem);line-height:.94;margin:2px 0 2px;letter-spacing:-.055em;text-shadow:0 3px 0 #fff,0 8px 19px rgba(5,91,61,.12)}
.start-screen .tagline{margin:0 0 11px;color:#365d4e;font-size:.88rem}
.difficulty-picker{width:min(360px,91vw);margin:0 0 9px}
.difficulty-picker p{margin-bottom:4px}.difficulty-picker button{min-height:43px;border-radius:12px;padding:5px 3px}
.start-screen .primary-button{min-width:min(330px,88vw);min-height:53px;padding:12px 28px}
.quick-guide{display:flex;align-items:center;justify-content:center;gap:9px;margin:9px 0 8px;color:#587268;font-size:.7rem;font-weight:850}.quick-guide b{letter-spacing:2px;font-size:.78rem}.quick-guide span{padding-left:9px;border-left:1px solid #bbd1c7}
.start-screen .menu-actions{display:grid;grid-template-columns:repeat(4,1fr);gap:6px;width:min(350px,91vw)}
.start-screen .menu-actions button{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1px;min-height:49px;padding:5px 3px;border-radius:12px;background:rgba(255,255,255,.78);box-shadow:0 4px 12px rgba(8,77,50,.07)}
.start-screen .menu-actions b{font-size:1.06rem;line-height:1}.start-screen .menu-actions small{font-size:.58rem;font-weight:900;color:#315b4c}
@media(max-width:720px){.start-screen h1{font-size:2.8rem}.start-screen .hero-racer{height:104px}.start-screen .hero-car-concept{width:194px;height:102px}.start-screen .menu-actions{grid-template-columns:repeat(4,1fr)}}
@media(max-width:360px){.start-wallet{font-size:.64rem;padding:6px 8px}.start-screen .hero-racer{height:94px}.start-screen .hero-car-concept{width:178px;height:92px}.start-screen h1{font-size:2.4rem}.start-screen .tagline{font-size:.78rem}.difficulty-picker button b{font-size:.68rem}.difficulty-picker button small{font-size:.52rem}}
@media(max-height:700px){.start-screen .brand{display:none}.start-screen .hero-racer{height:77px}.start-screen .hero-car-concept{width:151px;height:76px;border-radius:17px}.start-screen h1{font-size:2.15rem;margin:1px 0}.start-screen .tagline{margin-bottom:6px;font-size:.75rem}.difficulty-picker{margin-bottom:6px}.difficulty-picker p{display:none}.difficulty-picker button{min-height:38px}.start-screen .primary-button{min-height:47px;padding:9px 24px}.quick-guide{margin:6px 0}.start-screen .menu-actions button{min-height:42px}}

/* V7: single-layer start control and unobstructed mobile track. */
.start-screen .primary-button{border:0;box-shadow:0 8px 20px rgba(169,47,36,.24)}
.start-screen .primary-button:active{transform:scale(.98);box-shadow:0 4px 11px rgba(169,47,36,.22)}
.start-screen .hero-racer{margin-top:12px}
.start-screen .speed-cloud{display:none}
.turbo-meter{top:max(108px,calc(env(safe-area-inset-top) + 96px));bottom:auto;min-width:150px;padding:5px 11px;border-radius:12px}
.turbo-meter b{font-size:.54rem}.turbo-meter i{font-size:1rem}
@media(max-width:720px){.turbo-meter{top:max(105px,calc(env(safe-area-inset-top) + 93px))}}
@media(max-height:700px){.start-screen .hero-racer{margin-top:9px}}

/* V8: bilingual controls shared with the Phở.fun language preference. */
.home-link{font-size:.88rem;letter-spacing:-.02em}.home-link span{color:#ef6426}
.start-tools{position:absolute!important;z-index:2;right:max(14px,env(safe-area-inset-right));top:max(9px,env(safe-area-inset-top));display:flex;align-items:center;gap:7px}
.start-tools .start-wallet{position:static!important;margin:0}
.racing-language-switch{display:flex;padding:3px;border:1px solid #cfe4d8;border-radius:999px;background:#fff;box-shadow:0 5px 14px rgba(8,77,50,.1)}
.racing-language-switch button{min-width:34px;min-height:29px;border:0;border-radius:999px;background:transparent;color:#315b4c;font-size:.68rem;font-weight:950;cursor:pointer}
.racing-language-switch button[aria-pressed="true"]{background:#087a4b;color:#fff}
.result-grid span>i{color:#bfe6d4;font-size:.68rem;font-weight:850;font-style:normal}
.level-flash em{font-style:normal}
body.playing .home-link,body.playing .start-tools{display:none}
@media(max-width:410px){.start-tools{gap:4px}.start-tools .start-wallet{padding:6px 8px;font-size:.62rem}.racing-language-switch button{min-width:30px;min-height:27px}.home-link{font-size:.78rem}}

/* V9: a dedicated top bar keeps navigation completely separate from artwork. */
.racing-topbar{position:absolute!important;z-index:30;top:0;left:0;right:0;height:58px;padding:8px max(14px,env(safe-area-inset-right)) 8px max(14px,env(safe-area-inset-left));display:flex;align-items:center;justify-content:space-between;background:#fffdf7;border-bottom:1px solid rgba(8,122,75,.13);box-shadow:0 5px 18px rgba(7,61,43,.08);backdrop-filter:none}
.racing-topbar .home-link,.racing-topbar .start-tools{position:static!important;transform:none;margin:0}
.start-screen{padding-top:max(70px,calc(env(safe-area-inset-top) + 62px))}
.start-screen .hero-racer{margin-top:0}
body.playing .racing-topbar{display:none}
@media(max-width:410px){.racing-topbar{height:55px;padding-left:10px;padding-right:8px}.start-screen{padding-top:max(66px,calc(env(safe-area-inset-top) + 58px))}}
