:root{
  --gold:#ffd33d;--gold2:#ffae00;--ink:#101619;--glass:rgba(13,19,22,.88);--glass2:rgba(19,28,32,.95);
  --line:rgba(255,255,255,.13);--text:#f5f7f8;--muted:#a7b3b8;--green:#148a53;--red:#b42435;--blue:#2b647e;
}
*{box-sizing:border-box}
html,body,#root{width:100%;height:100%;margin:0;overflow:hidden}
body{font-family:'Cairo',system-ui,sans-serif;background:#0d1214;color:var(--text);-webkit-tap-highlight-color:transparent}
button,input{font:inherit}button{cursor:pointer}button:disabled{opacity:.55;cursor:not-allowed}
.spin{animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}

/* Auth */
.mb-auth-shell{position:relative;width:100%;height:100%;display:grid;place-items:center;padding:20px;overflow:auto;background:linear-gradient(#92bdd0 0 58%,#cbb38c 58% 100%)}
.mb-egypt-sky{position:fixed;inset:0;background:radial-gradient(circle at 78% 16%,rgba(255,237,171,.88),transparent 16%),linear-gradient(#8ebdd2,#d7d2bc 62%,#c9b28c);pointer-events:none}
.mb-city-silhouette{position:fixed;left:0;right:0;bottom:0;height:31%;opacity:.35;background:linear-gradient(90deg,#7c664f 0 9%,transparent 9% 11%,#90745a 11% 20%,transparent 20% 22%,#725c49 22% 38%,transparent 38% 40%,#866d55 40% 53%,transparent 53% 55%,#735d49 55% 75%,transparent 75% 77%,#8a7056 77% 100%)}
.mb-auth-card{position:relative;z-index:2;width:min(660px,100%);padding:30px;border:1px solid var(--line);border-radius:28px;background:rgba(10,17,20,.93);box-shadow:0 28px 90px rgba(0,0,0,.33);backdrop-filter:blur(18px)}
.mb-auth-card.error{text-align:center}.mb-auth-logo{display:flex;align-items:center;gap:10px;color:var(--gold);font-weight:900;letter-spacing:.04em}.mb-auth-logo svg{width:30px;height:30px}
.mb-kicker{font-size:.72rem;letter-spacing:.16em;color:#91a4ab}.mb-auth-card h1{font-size:3rem;line-height:1.05;margin:8px 0}.mb-auth-card h1 em{font-style:normal;color:var(--gold)}
.mb-auth-sub{color:#c2cdd1;line-height:1.9}.mb-auth-features{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin:16px 0}.mb-auth-features span{padding:10px;border:1px solid var(--line);border-radius:13px;background:#152025;display:flex;gap:7px;align-items:center;font-size:.83rem}.mb-auth-features svg{width:17px;color:var(--gold)}
.mb-auth-tabs{display:flex;gap:8px;margin:18px 0 12px}.mb-auth-tabs button,.mb-auth-form button,.mb-auth-card>button,.mb-auth-card>a{border:0;border-radius:13px;padding:13px;background:#202a2d;color:white;text-decoration:none;display:flex;justify-content:center;align-items:center;gap:8px}
.mb-auth-tabs .active,.mb-primary{background:linear-gradient(135deg,var(--gold),var(--gold2))!important;color:#181818!important;font-weight:900}
.mb-auth-form{display:grid;gap:12px}.mb-auth-form label{display:grid;gap:7px;color:#dce4e7}.mb-auth-form input{width:100%;border:1px solid var(--line);border-radius:12px;background:#0e1416;color:white;padding:12px 14px;outline:none}.mb-auth-form input:focus{border-color:var(--gold)}
.mb-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.mb-auth-footer{display:flex;gap:8px;align-items:center;color:#9fafb5;font-size:.8rem;margin-top:17px}.mb-splash{color:#152126;text-align:center}.mb-splash-bus{font-size:6rem;animation:busfloat 1.7s ease-in-out infinite}@keyframes busfloat{50%{transform:translateY(-8px) rotate(-2deg)}}

/* Game shell */
.mb2d-game{position:relative;width:100%;height:100%;overflow:hidden;background:#8eb9cb;user-select:none}
.mb2d-scene{position:absolute;inset:0;z-index:1}
.mb2d-world{position:absolute;inset:0;overflow:hidden;background:#8ebfd3}
.mb2d-sky{position:absolute;left:0;right:0;top:0;height:35%;background:linear-gradient(#87bad0 0%,#c8d5d2 72%,#d7ccb1 100%);overflow:hidden}
.mb2d-sky .sun{position:absolute;right:11%;top:14%;width:72px;height:72px;border-radius:50%;background:radial-gradient(circle,#fff9d6 0 28%,#ffe993 44%,rgba(255,221,120,.2) 70%,transparent 72%);filter:blur(.2px)}
.mb2d-sky .haze{position:absolute;inset:auto 0 0;height:45%;background:linear-gradient(transparent,rgba(238,221,187,.55))}
.mb2d-cairo-title{position:absolute;left:50%;top:86px;transform:translateX(-50%);display:grid;gap:1px;text-align:center;padding:8px 20px;border-radius:999px;background:rgba(28,48,56,.72);border:1px solid rgba(255,255,255,.16);backdrop-filter:blur(8px);box-shadow:0 6px 20px rgba(0,0,0,.12)}
.mb2d-cairo-title small{font-size:.62rem;color:#d5dfe2}.mb2d-cairo-title b{font-size:.88rem;color:white}

/* 2D city */
.mb2d-city{position:absolute;left:0;right:0;top:17%;height:40%;overflow:hidden;z-index:2}
.mb2d-building{position:absolute;bottom:0;border:2px solid;border-bottom:0;box-shadow:0 -8px 28px rgba(0,0,0,.08),inset -8px 0 rgba(0,0,0,.05);overflow:hidden}
.mb2d-building:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(255,255,255,.11),transparent 23%,rgba(0,0,0,.04));pointer-events:none}
.mb2d-roof{position:absolute;left:-6px;right:-6px;top:0;height:10px;background:#735a46;border-bottom:3px solid rgba(0,0,0,.14)}
.mb2d-window{position:absolute;width:25px;height:22px;background:#45626d;border:2px solid #5e4a3b;box-shadow:inset 0 0 0 3px rgba(169,208,220,.14)}
.mb2d-window i{position:absolute;left:50%;top:0;bottom:0;width:2px;background:#7e6551}
.mb2d-balcony-row{position:absolute;left:16px;right:16px;top:104px;height:10px;border-top:3px solid #7e6652;border-bottom:2px solid rgba(0,0,0,.2);opacity:.55}
.mb2d-shop{position:absolute;left:0;right:0;bottom:0;height:32px;color:#fff;text-align:center;font-size:.7rem;font-weight:800;padding-top:5px;border-top:3px solid rgba(255,255,255,.5);text-shadow:0 1px 2px #000}
.mb2d-egypt-flag{position:absolute;right:12px;top:17px;width:28px;height:18px;box-shadow:0 1px 4px rgba(0,0,0,.35)}.mb2d-egypt-flag i{display:block;height:6px}.mb2d-egypt-flag i:nth-child(1){background:#ce2b37}.mb2d-egypt-flag i:nth-child(2){background:#fff}.mb2d-egypt-flag i:nth-child(3){background:#111}
.mb2d-street-sign{position:absolute;bottom:10px;padding:5px 9px;border:2px solid #d7d8d5;background:#285b3b;color:#fff;border-radius:4px;font-size:.68rem;font-weight:900;box-shadow:0 4px 10px rgba(0,0,0,.25)}

/* Road */
.mb2d-sidewalk{position:absolute;left:0;right:0;z-index:4;background:#c8b083}
.mb2d-sidewalk.back{top:54%;height:4.5%;border-top:3px solid #9b896c}
.mb2d-sidewalk.front{top:80%;height:4.8%;border-top:3px solid #aa9475}
.mb2d-sidewalk .curb{position:absolute;left:0;right:0;bottom:0;height:8px;background:repeating-linear-gradient(90deg,#202020 0 24px,#ece7d6 24px 48px)}
.mb2d-sidewalk .curb.blackyellow{background:repeating-linear-gradient(90deg,#1f1f1f 0 24px,#e4bd27 24px 48px)}
.mb2d-road{position:absolute;left:0;right:0;top:58.5%;height:21.5%;z-index:5;background:linear-gradient(#333638,#272a2c);border-top:2px solid #101214;border-bottom:2px solid #111}
.mb2d-road:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent 0 50%,rgba(255,255,255,.018) 50% 51%,transparent 51%),radial-gradient(circle at 20% 50%,rgba(255,255,255,.025),transparent 16%);background-size:110px 100%,auto}
.mb2d-road .lane-line{position:absolute;left:0;right:0;height:3px;background:repeating-linear-gradient(90deg,#f1eac7 0 54px,transparent 54px 102px);opacity:.8}.mb2d-road .l1{top:35%}.mb2d-road .l2{top:70%}
.mb2d-road-text{position:absolute;left:53%;top:13%;transform:translateX(-50%);font-size:.58rem;color:rgba(255,255,255,.18);letter-spacing:.08em}
.mb2d-stop{position:absolute;bottom:2%;width:120px;height:118px;z-index:9;transform:translateX(-50%)}.mb2d-stop .pole{position:absolute;left:59px;bottom:0;width:5px;height:74px;background:#343a3d;border-radius:4px}.mb2d-stop .sign{position:absolute;left:3px;top:0;min-width:116px;padding:6px 8px;background:#f6f2df;border:3px solid #2d4f65;border-radius:8px;color:#172329;font-size:.67rem;font-weight:900;text-align:center;box-shadow:0 4px 12px rgba(0,0,0,.22)}
.mb2d-stop.active .sign{background:var(--gold);border-color:#805f00;animation:stoppulse 1s ease-in-out infinite}@keyframes stoppulse{50%{transform:translateY(-3px);box-shadow:0 7px 18px rgba(255,201,0,.4)}}
.mb2d-passengers{position:absolute;bottom:0;width:90px;height:60px}.mb2d-passengers span{position:absolute;bottom:0;width:22px;height:48px}.mb2d-passengers .head{position:absolute;left:6px;top:0;width:12px;height:12px;border-radius:50%;background:#b77d57;border:1px solid #6d4432}.mb2d-passengers .body{position:absolute;left:3px;top:12px;width:17px;height:30px;border-radius:8px 8px 3px 3px;background:#506b7e}.mb2d-passengers span:nth-child(2) .body{background:#8a4e55}.mb2d-passengers span:nth-child(3) .body{background:#6d7848}.mb2d-passengers span:nth-child(4) .body{background:#5f4f76}
.mb2d-passengers.active{animation:peoplebounce .8s ease-in-out infinite alternate}@keyframes peoplebounce{to{transform:translateY(-2px)}}
.mb2d-light{position:absolute;bottom:4%;z-index:8}.mb2d-light-head{width:18px;padding:3px;border-radius:5px;background:#1a1f21;display:grid;gap:2px}.mb2d-light-head i{display:block;width:12px;height:12px;border-radius:50%;background:#32383a}.mb2d-light-head .red.on{background:#f04444;box-shadow:0 0 12px #f04444}.mb2d-light-head .amber.on{background:#ffd149;box-shadow:0 0 12px #ffd149}.mb2d-light-head .green.on{background:#3cdf79;box-shadow:0 0 12px #3cdf79}.mb2d-light-pole{width:4px;height:48px;background:#434a4e;margin:auto}
.mb2d-ai-car{position:absolute;z-index:6;width:150px;height:58px;transform-origin:center bottom;pointer-events:none}.mb2d-ai-car .car-body{position:absolute;left:8px;right:8px;bottom:6px;height:40px;border:3px solid;border-radius:28px 35px 11px 11px;box-shadow:0 6px 8px rgba(0,0,0,.25)}.mb2d-ai-car .car-glass{position:absolute;left:40px;top:-17px;width:68px;height:22px;background:#36515e;border:3px solid #1e2a30;border-radius:22px 30px 2px 2px}.mb2d-ai-car .car-stripe{position:absolute;left:10px;right:10px;top:20px;height:5px}.mb2d-ai-car b{position:absolute;left:50%;top:8px;transform:translateX(-50%);font-size:.5rem;color:white;text-shadow:0 1px 2px #000}.mb2d-ai-car .wheel{position:absolute;bottom:-11px;width:22px;height:22px;border-radius:50%;background:#101315;border:4px solid #343a3d}.mb2d-ai-car .w1{left:25px}.mb2d-ai-car .w2{right:25px}.mb2d-ai-car.bus{width:235px}.mb2d-ai-car.bus .car-body{height:52px;border-radius:12px}.mb2d-ai-car.bus .car-glass{left:35px;top:5px;width:135px;height:18px;border-radius:3px}.mb2d-ai-car.tuk{width:100px}.mb2d-ai-car.tuk .car-body{height:47px;border-radius:15px 30px 10px 10px}
.mb2d-player-bus{position:absolute;z-index:15;width:285px;height:118px;transform:translate(-46%,-50%);transition:top .07s linear;filter:drop-shadow(0 8px 5px rgba(0,0,0,.32))}.mb2d-shadow{position:absolute;left:45px;right:36px;bottom:4px;height:18px;border-radius:50%;background:rgba(0,0,0,.38);filter:blur(4px)}.mb2d-bus-wrap{position:absolute;inset:0;transform:rotate(var(--lean,0deg));transform-origin:55% 78%;transition:transform .06s linear}.mb2d-bus-svg{width:100%;height:100%;overflow:visible}.mb2d-bus-wrap.reverse{filter:saturate(.92)}.mb2d-driver-tag{position:absolute;left:48%;top:-13px;transform:translateX(-50%);padding:3px 8px;border-radius:999px;background:rgba(0,0,0,.78);font-size:.62rem;font-weight:900;border:1px solid rgba(255,255,255,.14)}
.mb2d-remote-player{position:absolute;z-index:10;width:180px;height:75px;transform:translate(-50%,-50%);opacity:.86}.mb2d-remote-player .mb2d-bus-wrap{position:absolute;inset:0}.mb2d-remote-player .name{position:absolute;left:50%;top:-13px;transform:translateX(-50%);z-index:3;background:rgba(0,0,0,.7);padding:2px 7px;border-radius:999px;font-size:.52rem;white-space:nowrap}
.mb2d-route-progress{position:absolute;left:50%;top:47%;transform:translateX(-50%);z-index:12;width:min(520px,62vw);height:38px;padding:7px 10px;border-radius:11px;background:rgba(19,28,31,.84);border:1px solid rgba(255,255,255,.13);backdrop-filter:blur(8px);display:flex;align-items:center;gap:9px}.mb2d-route-progress .line{height:5px;flex:1;background:#313d41;border-radius:999px;overflow:hidden}.mb2d-route-progress .line i{display:block;height:100%;background:linear-gradient(90deg,var(--gold2),var(--gold));border-radius:999px}.mb2d-route-progress span{font-size:.62rem;color:#d0d9dc;white-space:nowrap}.mb2d-route-progress b{font-size:.68rem;color:var(--gold);min-width:42px}

/* HUD */
.mb2d-topbar{position:absolute;z-index:30;top:12px;left:12px;right:12px;height:56px;display:flex;gap:8px;align-items:center;pointer-events:none}.mb2d-topbar>*{pointer-events:auto}
.mb2d-brand,.mb2d-route-card,.mb2d-topstats,.mb2d-icon{height:52px;background:linear-gradient(180deg,rgba(18,27,31,.94),rgba(10,16,19,.88));border:1px solid var(--line);border-radius:15px;box-shadow:0 7px 25px rgba(0,0,0,.18);backdrop-filter:blur(12px)}
.mb2d-brand{display:flex;align-items:center;gap:9px;padding:0 13px}.mb2d-brand>svg{color:var(--gold)}.mb2d-brand span{display:grid;line-height:1.05}.mb2d-brand small{font-size:.53rem;color:#9eb0b6;letter-spacing:.08em}
.mb2d-route-card{flex:1;max-width:540px;display:flex;align-items:center;gap:9px;padding:0 13px}.mb2d-route-card>svg{color:var(--gold)}.mb2d-route-card div{display:grid;min-width:0;flex:1}.mb2d-route-card small{font-size:.62rem;color:#9fb0b6}.mb2d-route-card b{font-size:.92rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.mb2d-route-card strong{padding:5px 9px;background:#29383e;border-radius:9px;font-size:.72rem;color:#f1f5f6}
.mb2d-topstats{display:flex;align-items:center;gap:8px;padding:0 10px}.mb2d-topstats span{display:flex;align-items:center;gap:5px;font-size:.72rem;white-space:nowrap}.mb2d-topstats svg{width:16px;color:var(--gold)}
.mb2d-icon{width:52px;border:0;color:white;display:grid;place-items:center}.mb2d-icon.active{box-shadow:inset 0 0 0 1px rgba(255,211,61,.28)}.mb2d-icon.mic-on{background:#0c7a49}.mb2d-icon.menu{display:none;margin-right:auto}
.mb2d-side-menu{position:absolute;z-index:25;top:78px;left:12px;width:145px;display:grid;gap:5px}.mb2d-side-menu button{height:39px;border:1px solid var(--line);border-radius:11px;background:rgba(15,22,25,.86);color:white;display:flex;align-items:center;gap:7px;padding:0 10px;box-shadow:0 5px 15px rgba(0,0,0,.14);backdrop-filter:blur(10px);font-size:.75rem}.mb2d-side-menu svg{width:16px}
.mb2d-announcement{position:absolute;z-index:35;left:50%;top:80px;transform:translateX(-50%);max-width:min(680px,82vw);display:flex;gap:9px;align-items:center;padding:9px 15px;border-radius:13px;background:linear-gradient(135deg,#245d34,#173d25);border:2px solid rgba(255,221,75,.8);box-shadow:0 7px 24px rgba(0,0,0,.28);animation:announcein .25s ease both}.mb2d-announcement svg{color:var(--gold);flex:0 0 auto}.mb2d-announcement b{font-size:.8rem;text-align:center}@keyframes announcein{from{opacity:0;transform:translate(-50%,-10px)}}
.mb2d-trip-chip{position:absolute;right:12px;top:78px;z-index:25;display:flex;gap:6px;align-items:center}.mb2d-trip-chip>span,.mb2d-trip-chip>button{height:38px;border-radius:11px;border:1px solid var(--line);background:rgba(13,20,23,.88);color:white;padding:0 10px;display:flex;align-items:center;gap:5px;font-size:.71rem}.mb2d-trip-chip svg{width:15px}.mb2d-trip-chip>button{border:0;background:linear-gradient(135deg,var(--gold),var(--gold2));color:#171717;font-weight:900}
.mb2d-action-strip{position:absolute;z-index:28;right:15px;bottom:24.5%;display:flex;gap:6px}.mb2d-action-strip button{height:43px;min-width:74px;padding:0 10px;border:1px solid var(--line);border-radius:12px;background:rgba(13,20,23,.9);color:white;display:flex;align-items:center;justify-content:center;gap:6px;box-shadow:0 6px 18px rgba(0,0,0,.18);font-size:.75rem}.mb2d-action-strip .horn{border-color:rgba(255,211,61,.35)}.mb2d-action-strip .nidaa{background:linear-gradient(135deg,#f4c531,#dca100);color:#171717;font-weight:900}.mb2d-action-strip .recording{background:#a31f2f;animation:recordpulse 1s ease-in-out infinite}@keyframes recordpulse{50%{box-shadow:0 0 0 8px rgba(163,31,47,.15)}}

/* Nidaa */
.mb2d-nidaa-dock{position:absolute;z-index:60;left:50%;bottom:25%;transform:translateX(-50%);width:min(860px,calc(100vw - 28px));background:rgba(11,17,20,.97);border:1px solid rgba(255,255,255,.16);border-radius:20px;box-shadow:0 20px 70px rgba(0,0,0,.45);padding:12px;backdrop-filter:blur(18px)}
.mb2d-nidaa-dock header{display:flex;align-items:center;justify-content:space-between;padding:2px 4px 9px}.mb2d-nidaa-dock header>div{display:flex;align-items:center;gap:7px}.mb2d-nidaa-dock header svg{color:var(--gold)}.mb2d-nidaa-dock header button{border:0;background:#253136;color:white;border-radius:9px;width:33px;height:33px}
.mb2d-nidaa-status{font-size:.68rem;color:#a9b9be;margin-bottom:9px;padding:7px 9px;border-radius:10px;background:#13211c;border:1px solid rgba(40,180,100,.15)}
.mb2d-nidaa-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:7px}.mb2d-nidaa-grid button{min-height:58px;border:1px solid rgba(255,255,255,.11);border-radius:11px;background:#182226;color:white;padding:7px;display:flex;gap:6px;align-items:flex-start;text-align:right}.mb2d-nidaa-grid button span{font-size:1rem}.mb2d-nidaa-grid button b{font-size:.65rem;line-height:1.6}.mb2d-nidaa-grid button:hover{border-color:var(--gold);background:#202b2f}
.mb2d-test-voice{margin-top:8px;width:100%;border:0;border-radius:11px;padding:10px;background:linear-gradient(135deg,var(--gold),var(--gold2));color:#171717;font-weight:900}

/* Cockpit */
.mb2d-cockpit{position:absolute;z-index:24;left:0;right:0;bottom:0;height:22.5%;min-height:142px;background:linear-gradient(180deg,#2b231d,#171311 72%,#0f0e0d);border-top:5px solid #3c3128;box-shadow:0 -12px 28px rgba(0,0,0,.25);display:grid;grid-template-columns:1fr 1.05fr 1fr;align-items:center;padding:8px 20px 10px;gap:18px}
.mb2d-cockpit:before{content:"";position:absolute;left:0;right:0;top:0;height:9px;background:linear-gradient(90deg,#4b3a2b,#231b16 23%,#544231 50%,#231b16 76%,#4b3a2b);opacity:.65}
.mb2d-steering-box{display:grid;justify-items:center;gap:2px}.mb2d-steering-box>small{font-size:.6rem;color:#ae9e91}.mb2d-wheel{width:78px;height:78px;border-radius:50%;border:11px solid #22272a;box-shadow:inset 0 0 0 4px #5d6466,0 5px 14px rgba(0,0,0,.35);position:relative;background:#16191a}.mb2d-wheel i{position:absolute;left:50%;top:50%;width:10px;height:65px;background:#555d60;border-radius:5px;transform-origin:50% 50%;margin-left:-5px;margin-top:-32px}.mb2d-wheel i:after{content:"";position:absolute;left:-20px;top:27px;width:50px;height:10px;border-radius:5px;background:#555d60}
.mb2d-steer-buttons{display:flex;gap:8px;margin-top:3px}.mb2d-steer-buttons button{width:54px;height:31px;border:1px solid #566065;border-radius:9px;background:#20272a;color:white;font-size:1rem;touch-action:none}.mb2d-steer-buttons button:active{transform:scale(.95);background:#354349}
.mb2d-instruments{display:flex;align-items:center;justify-content:center;gap:10px}.mb2d-gauge{position:relative;width:118px;height:118px;border-radius:50%;background:radial-gradient(circle,#12171a 0 45%,#1d2529 46% 55%,#0c1012 56%);border:7px solid #61686a;box-shadow:inset 0 0 0 4px #222a2e,0 5px 18px rgba(0,0,0,.38);display:grid;place-items:center}.mb2d-gauge:before{content:"";position:absolute;inset:9px;border-radius:50%;border:2px dashed rgba(255,255,255,.42)}.mb2d-gauge strong{font-size:1.8rem;line-height:1;color:#eef2f3;z-index:2;margin-top:16px}.mb2d-gauge small{position:absolute;bottom:17px;font-size:.54rem;color:#b9c3c6}.mb2d-gauge .needle{position:absolute;width:3px;height:40px;background:#e33d3d;left:50%;bottom:50%;transform-origin:50% 100%;border-radius:3px;z-index:2}.mb2d-gauge .needle:after{content:"";position:absolute;left:-4px;bottom:-5px;width:11px;height:11px;border-radius:50%;background:#e7e7e7;border:3px solid #222}
.mb2d-gear,.mb2d-rpm{display:grid;gap:2px;text-align:center;padding:8px 10px;border-radius:10px;background:#101518;border:1px solid #374146;min-width:58px}.mb2d-gear small,.mb2d-rpm small{font-size:.5rem;color:#7e8d93}.mb2d-gear b{font-size:1.2rem;color:var(--gold)}.mb2d-rpm b{font-size:.72rem;color:#e5eaec}
.mb2d-pedals{display:flex;align-items:end;justify-content:center;gap:9px}.mb2d-pedals button{height:78px;min-width:72px;padding:0 12px;border-radius:15px;border:3px solid rgba(255,255,255,.12);color:white;font-weight:900;box-shadow:inset 0 0 0 4px rgba(0,0,0,.2),0 6px 15px rgba(0,0,0,.3);touch-action:none;display:flex;align-items:center;justify-content:center;gap:5px}.mb2d-pedals .gas{height:100px;background:linear-gradient(#1a935b,#0f673f)}.mb2d-pedals .brake{background:linear-gradient(#b72c3c,#7d1b28)}.mb2d-pedals .reverse{background:linear-gradient(#465b66,#27373f)}.mb2d-pedals button:active{transform:translateY(3px) scale(.97)}

/* Panels */
.mb2d-panel{position:absolute;z-index:70;top:78px;right:16px;width:min(430px,calc(100vw - 32px));max-height:calc(100vh - 95px);background:rgba(10,17,20,.97);border:1px solid rgba(255,255,255,.14);border-radius:20px;box-shadow:0 28px 80px rgba(0,0,0,.42);overflow:hidden;backdrop-filter:blur(20px)}.mb2d-panel.wide{width:min(760px,calc(100vw - 32px))}
.mb2d-panel>header{display:flex;justify-content:space-between;align-items:center;padding:13px 15px;border-bottom:1px solid var(--line)}.mb2d-panel>header>div{display:flex;align-items:center;gap:8px}.mb2d-panel>header svg{color:var(--gold)}.mb2d-panel>header button{border:0;background:#263238;color:white;border-radius:9px;width:34px;height:34px}
.mb2d-panel-body{padding:14px;overflow:auto;max-height:calc(100vh - 155px)}.mb2d-route-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.mb2d-route-cards button{display:grid;text-align:right;gap:4px;border:1px solid var(--line);background:#162126;color:white;border-radius:13px;padding:11px}.mb2d-route-cards button.selected{border-color:var(--gold);box-shadow:inset 0 0 0 1px var(--gold)}.mb2d-route-cards small{color:#9caab0}
.mb2d-direction{display:flex;gap:8px;margin:11px 0}.mb2d-direction button{flex:1;border:1px solid var(--line);border-radius:11px;padding:9px;background:#182125;color:white}.mb2d-direction button.active{background:var(--gold);color:#111;font-weight:900}
.mb2d-primary{border:0;border-radius:12px;padding:11px;background:linear-gradient(135deg,var(--gold),var(--gold2));color:#171717;font-weight:900}.mb2d-panel-body>.mb2d-primary{width:100%}
.mb2d-queue-box,.mb2d-trip-box{display:grid;gap:7px;background:#162126;border:1px solid var(--line);padding:13px;border-radius:14px}.mb2d-queue-box>div{display:flex;gap:8px}.mb2d-danger{border:0;border-radius:10px;background:#8e2630;color:white;padding:9px 12px}
.mb2d-vehicle-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:9px}.mb2d-vehicle-card{display:grid;gap:5px;background:#162126;border:1px solid var(--line);border-radius:15px;padding:12px}.mb2d-vehicle-card.equipped{border-color:var(--gold);box-shadow:inset 0 0 0 1px rgba(255,212,59,.3)}.mb2d-vehicle-card .bus-icon{font-size:2.2rem}.mb2d-vehicle-card small{color:#a4b0b5}.mb2d-vehicle-card strong{color:var(--gold)}.mb2d-vehicle-card button{border:0;border-radius:10px;padding:8px;background:#26343a;color:white}
.mb2d-stats-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}.mb2d-stats-grid div{display:grid;gap:4px;background:#162126;border-radius:13px;padding:12px}.mb2d-stats-grid small{color:#9fadb2}.mb2d-stats-grid b{color:var(--gold)}
.mb2d-chat-form{display:flex;gap:8px}.mb2d-chat-form input{flex:1;border:1px solid var(--line);background:#0e1416;color:white;border-radius:11px;padding:10px}.mb2d-chat-form button{width:50px}.mb2d-note{color:#b7c2c6;line-height:1.7;font-size:.82rem}
.mb2d-bubbles{position:absolute;top:137px;left:50%;transform:translateX(-50%);z-index:23;width:min(440px,78vw);display:grid;gap:4px;text-align:center;pointer-events:none}.mb2d-bubbles div{background:rgba(7,10,11,.76);border:1px solid rgba(255,255,255,.09);border-radius:999px;padding:6px 11px;font-size:.72rem}
.mb2d-voice-state{position:absolute;top:75px;left:12px;z-index:28;background:rgba(10,112,67,.92);border:1px solid rgba(255,255,255,.13);border-radius:999px;padding:6px 11px;font-size:.68rem;box-shadow:0 5px 18px rgba(0,0,0,.18)}

/* Tutorial */
.mb2d-tutorial-backdrop{position:absolute;inset:0;z-index:100;background:rgba(4,8,10,.75);display:grid;place-items:center;padding:18px;backdrop-filter:blur(7px)}
.mb2d-tutorial{width:min(560px,100%);position:relative;background:linear-gradient(180deg,#17252a,#0c1417);border:1px solid rgba(255,255,255,.15);border-radius:24px;padding:24px;box-shadow:0 30px 100px rgba(0,0,0,.54);text-align:right}.mb2d-tutorial-progress{display:flex;gap:5px;direction:ltr;margin-bottom:16px}.mb2d-tutorial-progress i{height:4px;flex:1;border-radius:999px;background:#344248}.mb2d-tutorial-progress i.active{background:var(--gold)}.mb2d-tutorial-bus{font-size:3.1rem;line-height:1}.mb2d-tutorial .step{position:absolute;top:27px;left:24px;color:#8fa2a9}.mb2d-tutorial h2{font-size:1.42rem;margin:7px 0}.mb2d-tutorial p{line-height:1.9;color:#d1dadd;margin:0}.mb2d-tutorial .tip{margin-top:13px;padding:10px 11px;border-radius:12px;background:rgba(255,212,59,.09);border:1px solid rgba(255,212,59,.17);color:#f5e5a3;font-size:.83rem}.mb2d-tutorial .keys{display:flex;gap:6px;flex-wrap:wrap;margin-top:10px}.mb2d-tutorial .keys span{background:#202b30;border:1px solid var(--line);border-radius:8px;padding:6px 8px;font-size:.72rem}.mb2d-tutorial footer{display:flex;justify-content:space-between;gap:8px;margin-top:18px}.mb2d-tutorial footer button{border:0;border-radius:11px;padding:10px 15px}.mb2d-tutorial .skip{background:#263238;color:#d2dcdf}.mb2d-tutorial .next{background:linear-gradient(135deg,var(--gold),var(--gold2));color:#151515;font-weight:900;min-width:120px}

/* Responsive */
@media(max-width:1050px){
  .mb2d-topstats{display:none}.mb2d-route-card{max-width:none}.mb2d-nidaa-grid{grid-template-columns:repeat(3,1fr)}
  .mb2d-cockpit{grid-template-columns:.9fr 1.05fr 1fr;gap:8px;padding-left:10px;padding-right:10px}
  .mb2d-pedals button{min-width:64px}
}
@media(max-width:900px){
  .mb-auth-shell{padding:8px}.mb-auth-card{padding:20px;border-radius:20px}.mb-auth-features{grid-template-columns:1fr 1fr}.mb-form-grid{grid-template-columns:1fr}
  .mb2d-topbar{top:7px;left:7px;right:7px;height:47px;gap:5px}.mb2d-brand,.mb2d-route-card,.mb2d-icon{height:45px;border-radius:12px}.mb2d-brand{padding:0 8px}.mb2d-brand small{display:none}.mb2d-brand b{font-size:.78rem}.mb2d-route-card{padding:0 8px}.mb2d-route-card small{display:none}.mb2d-route-card b{font-size:.76rem}.mb2d-route-card strong{font-size:.62rem;padding:4px 6px}.mb2d-icon{width:45px}.mb2d-icon.menu{display:grid}
  .mb2d-side-menu{display:none;top:58px;left:7px;width:154px;z-index:50}.mb2d-side-menu.open{display:grid}
  .mb2d-announcement{top:61px;font-size:.68rem;max-width:92vw;padding:7px 10px}.mb2d-trip-chip{top:59px;right:7px}.mb2d-trip-chip>span{display:none}.mb2d-trip-chip>button{height:34px;font-size:.64rem}
  .mb2d-cairo-title{top:62px;padding:5px 12px}.mb2d-cairo-title small{display:none}.mb2d-cairo-title b{font-size:.68rem}
  .mb2d-route-progress{top:49%;width:78vw;height:31px}.mb2d-route-progress span{display:none}
  .mb2d-player-bus{width:230px;height:96px}.mb2d-action-strip{right:8px;bottom:29%;gap:4px}.mb2d-action-strip button{min-width:48px;height:38px;padding:0 8px}.mb2d-action-strip button span{display:none}
  .mb2d-nidaa-dock{bottom:28%;width:calc(100vw - 14px);padding:9px;border-radius:16px}.mb2d-nidaa-grid{grid-template-columns:repeat(2,1fr);max-height:34vh;overflow:auto}.mb2d-nidaa-grid button{min-height:48px}.mb2d-nidaa-grid button b{font-size:.61rem}.mb2d-nidaa-status{font-size:.58rem}
  .mb2d-cockpit{height:27%;min-height:155px;grid-template-columns:.9fr 1fr 1.1fr;padding:6px 6px 8px;gap:4px}.mb2d-wheel{width:61px;height:61px;border-width:9px}.mb2d-wheel i{height:48px;margin-top:-24px}.mb2d-wheel i:after{left:-15px;top:20px;width:40px}.mb2d-steer-buttons{gap:4px}.mb2d-steer-buttons button{width:42px;height:29px}
  .mb2d-gauge{width:92px;height:92px;border-width:5px}.mb2d-gauge strong{font-size:1.35rem}.mb2d-gauge .needle{height:31px}.mb2d-rpm{display:none}.mb2d-gear{min-width:42px;padding:6px}.mb2d-pedals{gap:4px}.mb2d-pedals button{min-width:52px;height:60px;border-width:2px;padding:0 6px;font-size:.62rem}.mb2d-pedals .gas{height:78px}
  .mb2d-panel,.mb2d-panel.wide{top:auto;bottom:0;right:0;width:100%;max-height:80vh;border-radius:20px 20px 0 0}.mb2d-panel-body{max-height:calc(80vh - 57px)}.mb2d-route-cards{grid-template-columns:1fr}.mb2d-vehicle-grid{grid-template-columns:1fr 1fr}
  .mb2d-voice-state{top:59px;left:7px}.mb2d-bubbles{top:100px;width:90vw}
}
@media(max-width:560px){
  .mb-auth-card h1{font-size:2.25rem}.mb2d-brand{max-width:108px}.mb2d-brand svg{width:18px}.mb2d-route-card svg{display:none}
  .mb2d-city{top:19%;height:37%}.mb2d-sidewalk.back{top:55%}.mb2d-road{top:59%;height:20%}.mb2d-sidewalk.front{top:79%}
  .mb2d-player-bus{width:195px;height:83px}.mb2d-route-progress{top:50%}
  .mb2d-cockpit{height:28.5%;min-height:160px}.mb2d-steering-box>small{display:none}.mb2d-wheel{width:53px;height:53px}.mb2d-steer-buttons button{width:38px}
  .mb2d-gauge{width:80px;height:80px}.mb2d-gauge strong{font-size:1.15rem}.mb2d-gauge .needle{height:26px}.mb2d-gear{display:none}
  .mb2d-pedals button{min-width:44px;height:55px;font-size:.56rem}.mb2d-pedals .gas{height:72px}
  .mb2d-action-strip{bottom:30%;}.mb2d-nidaa-dock{bottom:29.5%}.mb2d-vehicle-grid{grid-template-columns:1fr}
  .mb2d-tutorial{padding:19px}.mb2d-tutorial h2{font-size:1.2rem}.mb2d-tutorial p{font-size:.88rem}
}

/* =========================================================
   EL MICROBUS 2D PRO v2.1.0 — TLGAWY
   Side-drive redesign: forward-only, stronger road presence,
   detailed Egyptian facades, people and minibus.
   ========================================================= */
.mb2d-game{background:#94c4d5}
.mb2d-topbar{top:10px;left:10px;right:10px;height:52px;gap:7px}
.mb2d-brand,.mb2d-route-card,.mb2d-topstats,.mb2d-icon{height:48px;border-radius:13px;background:linear-gradient(180deg,rgba(18,27,31,.94),rgba(9,14,16,.92));box-shadow:0 8px 24px rgba(0,0,0,.2)}
.mb2d-side-menu{top:69px;left:10px;width:142px;gap:4px}.mb2d-side-menu button{height:36px;border-radius:10px;background:rgba(10,16,18,.9)}
.mb2d-announcement{top:68px;max-width:min(760px,78vw);background:linear-gradient(180deg,#206238,#143f25);border:2px solid #e6c53e;box-shadow:0 8px 30px rgba(0,0,0,.26)}
.mb2d-trip-chip{top:68px;right:10px}.mb2d-nidaa-dock{bottom:25.5%;width:min(900px,calc(100vw - 26px));border-radius:18px}

/* Scene */
.mb210-world{position:absolute;inset:0;overflow:hidden;background:#9ac7d7;direction:ltr}
.mb210-sky{position:absolute;left:0;right:0;top:0;height:51%;background:linear-gradient(#8fc0d4 0%,#bdd7de 63%,#ead8b5 100%);overflow:hidden}
.mb210-sun{position:absolute;right:10%;top:12%;width:78px;height:78px;border-radius:50%;background:radial-gradient(circle,#fffdf2 0 22%,#ffe690 42%,rgba(255,218,102,.28) 68%,transparent 72%);filter:blur(.2px)}
.mb210-haze{position:absolute;inset:auto 0 0;height:46%;background:linear-gradient(transparent,rgba(245,222,183,.44))}
.mb210-route-title{position:absolute;z-index:3;left:50%;top:73px;transform:translateX(-50%);min-width:250px;text-align:center;padding:7px 18px;border-radius:999px;background:rgba(25,46,54,.68);border:1px solid rgba(255,255,255,.2);box-shadow:0 7px 18px rgba(0,0,0,.12);backdrop-filter:blur(7px)}
.mb210-route-title small{display:block;color:#dce9ed;font-size:.56rem;line-height:1.15}.mb210-route-title b{display:block;color:#fff;font-size:.82rem;line-height:1.45}
.mb210-far-city{position:absolute;left:0;right:0;top:23%;height:19%;opacity:.32;background-image:linear-gradient(90deg,#9c876c 0 7%,transparent 7% 9%,#8c7964 9% 17%,transparent 17% 19%,#a08b70 19% 27%,transparent 27% 29%,#8b7561 29% 39%,transparent 39% 41%,#9d876b 41% 50%,transparent 50% 52%,#8d7964 52% 64%,transparent 64% 66%,#9c866e 66% 78%,transparent 78% 80%,#8f7a65 80% 91%,transparent 91%);background-size:1040px 100%;filter:blur(.3px)}
.mb210-city{position:absolute;left:0;right:0;top:16%;height:33.5%;z-index:3;overflow:hidden}
.mb210-building{position:absolute;bottom:0;border:2px solid var(--trim);border-bottom:0;box-shadow:inset -12px 0 rgba(57,38,25,.07),0 -7px 22px rgba(0,0,0,.07);overflow:hidden}
.mb210-building:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(255,255,255,.13),transparent 28%,rgba(0,0,0,.035));pointer-events:none}
.mb210-roof{position:absolute;left:-2px;right:-2px;top:0;height:16px;background:var(--trim);border-bottom:3px solid rgba(55,42,32,.55)}
.mb210-roof span{position:absolute;bottom:10px;width:33px;height:15px;border:2px solid #7e6f5c;background:#aa9e8a}.mb210-roof span:nth-child(1){left:18px}.mb210-roof span:nth-child(2){left:83px;width:44px;height:20px}.mb210-roof span:nth-child(3){right:27px}
.mb210-facade-lines{position:absolute;inset:16px 0 54px;background:repeating-linear-gradient(0deg,transparent 0 37px,rgba(104,79,57,.12) 37px 39px)}
.mb210-window{position:absolute;width:31px;height:30px;border:3px solid #6b5545;background:#304c58;box-shadow:inset 0 0 0 3px rgba(174,210,221,.1),0 1px 0 rgba(255,255,255,.16);z-index:2}
.mb210-window .glass{position:absolute;inset:2px;background:linear-gradient(135deg,#587581,#2d4650)}
.mb210-window .curtain{position:absolute;top:2px;bottom:2px;left:50%;width:2px;background:#d1b898;opacity:.5}.mb210-window .curtain:after{content:"";position:absolute;left:-10px;right:-10px;top:50%;height:2px;background:#d1b898}
.mb210-window .ac{position:absolute;right:-15px;bottom:-9px;width:16px;height:8px;border:1px solid #777;background:#dedbd1;box-shadow:inset 0 -2px #a6a398}
.mb210-balcony{position:absolute;width:48px;height:14px;border-bottom:4px solid #7d6651;z-index:3}.mb210-balcony i{position:absolute;bottom:0;width:2px;height:11px;background:#514a43}.mb210-balcony i:nth-child(1){left:7px}.mb210-balcony i:nth-child(2){left:23px}.mb210-balcony i:nth-child(3){right:7px}.mb210-balcony:after{content:"";position:absolute;left:0;right:0;bottom:8px;height:2px;background:#514a43}
.mb210-shopfront{position:absolute;left:0;right:0;bottom:0;height:58px;background:var(--light);border-top:4px solid var(--trim);z-index:5}
.mb210-shopfront .awning{position:absolute;left:0;right:0;top:0;height:13px;background:repeating-linear-gradient(90deg,#f4f0df 0 15px,var(--trim) 15px 30px);border-bottom:2px solid #65503f}
.mb210-shopfront .shop-sign{position:absolute;left:12px;right:12px;top:14px;height:18px;line-height:18px;text-align:center;background:#654735;color:#fff8df;font-size:.58rem;font-weight:900;border:1px solid #392b23;text-shadow:0 1px 1px #000}
.mb210-shopfront .shop-door{position:absolute;left:16px;bottom:0;width:28px;height:25px;background:#493a32;border:2px solid #302620}.mb210-shopfront .shop-window{position:absolute;left:55px;bottom:0;width:68px;height:23px;background:#45626b;border:2px solid #40352d}.mb210-shopfront .shop-window.second{left:auto;right:18px;width:74px}
.mb210-flag{position:absolute;right:14px;top:20px;width:30px;height:18px;border:1px solid rgba(0,0,0,.2);z-index:6}.mb210-flag i{display:block;height:33.333%}.mb210-flag i:nth-child(1){background:#ce2028}.mb210-flag i:nth-child(2){background:#fff}.mb210-flag i:nth-child(3){background:#111}
.mb210-tree{position:absolute;bottom:-3px;width:70px;height:108px;transform-origin:bottom center;z-index:8}.mb210-tree .trunk{position:absolute;left:31px;bottom:0;width:9px;height:58px;background:#79513a;border-radius:7px}.mb210-tree span{position:absolute;border-radius:50%;background:#53734b;box-shadow:inset -8px -7px rgba(38,79,43,.16)}.mb210-tree .c1{width:52px;height:48px;left:9px;top:12px}.mb210-tree .c2{width:43px;height:42px;left:0;top:27px}.mb210-tree .c3{width:44px;height:43px;right:0;top:28px}

/* Sidewalk and people */
.mb210-backwalk{position:absolute;left:0;right:0;top:49%;height:7.5%;z-index:6;background:linear-gradient(#c6b08d,#a99170);border-top:4px solid #8f7558;border-bottom:8px solid #191919;box-shadow:0 4px 0 #e8e1cf}
.mb210-backwalk:after{content:"";position:absolute;left:0;right:0;bottom:-8px;height:8px;background:repeating-linear-gradient(90deg,#161616 0 30px,#efe9d7 30px 60px)}
.mb210-person{position:absolute;bottom:11px;width:31px;height:66px;overflow:visible;filter:drop-shadow(0 3px 2px rgba(0,0,0,.18));transform-origin:bottom center;z-index:11}
.mb210-lamp{position:absolute;bottom:0;width:58px;height:132px;z-index:10}.mb210-lamp .pole{position:absolute;left:27px;bottom:0;width:5px;height:114px;background:#41474b}.mb210-lamp .arm{position:absolute;left:28px;top:8px;width:26px;height:5px;background:#41474b;border-radius:4px;transform:rotate(-16deg);transform-origin:left center}.mb210-lamp .light{position:absolute;right:0;top:2px;width:15px;height:8px;border-radius:50% 50% 30% 30%;background:#eee0a0;border:2px solid #303538}
.mb210-stop{position:absolute;bottom:0;width:150px;height:128px;transform:translateX(-50%);z-index:20}.mb210-stop-pole{position:absolute;left:73px;bottom:0;width:6px;height:91px;background:#3a4246;border-radius:4px}.mb210-stop-sign{position:absolute;left:19px;top:0;width:116px;padding:7px 6px;background:#f6f0df;border:3px solid #31546a;border-radius:8px;text-align:center;box-shadow:0 5px 16px rgba(0,0,0,.2);direction:rtl}.mb210-stop-sign b{display:block;color:#1e3d4f;font-size:.6rem}.mb210-stop-sign span{display:block;color:#172126;font-weight:900;font-size:.68rem}.mb210-stop.active .mb210-stop-sign{background:#ffd94f;border-color:#735700;animation:mb210stop .8s ease-in-out infinite alternate}@keyframes mb210stop{to{transform:translateY(-4px)}}
.mb210-people{position:absolute;left:2px;bottom:2px;width:120px;height:70px}

/* Road: intentionally large and obvious */
.mb210-road{position:absolute;left:0;right:0;top:56.5%;height:20.5%;z-index:10;overflow:hidden;background-image:repeating-linear-gradient(90deg,rgba(255,255,255,.022) 0 2px,transparent 2px 78px),linear-gradient(#35393c,#25282a 62%,#1f2224);background-size:115px 100%,100% 100%;border-top:3px solid #111416;border-bottom:3px solid #111416;box-shadow:inset 0 14px 24px rgba(255,255,255,.025),inset 0 -15px 25px rgba(0,0,0,.2)}
.mb210-road:after{content:"";position:absolute;inset:0;background:radial-gradient(ellipse at 18% 40%,rgba(255,255,255,.035),transparent 22%),radial-gradient(ellipse at 73% 62%,rgba(0,0,0,.08),transparent 19%);pointer-events:none}
.mb210-road-highlight{position:absolute;left:0;right:0;top:8%;height:2px;background:rgba(255,255,255,.05)}
.mb210-lane{position:absolute;left:0;right:0;top:46%;height:4px;background:repeating-linear-gradient(90deg,#f0e8c7 0 70px,transparent 70px 135px);opacity:.9;filter:drop-shadow(0 1px 0 rgba(0,0,0,.5))}
.mb210-frontcurb{position:absolute;left:0;right:0;top:77%;height:3.2%;z-index:13;background:repeating-linear-gradient(90deg,#191919 0 33px,#e8c834 33px 66px);border-top:4px solid #b09872;box-shadow:0 -4px 0 #d8c29e}

/* Player and traffic */
.mb210-player{position:absolute;bottom:1.5%;width:342px;height:138px;transform:translateX(-44%);z-index:25;filter:drop-shadow(0 8px 5px rgba(0,0,0,.34));pointer-events:none}
.mb210-bus-shadow{position:absolute;left:42px;right:24px;bottom:2px;height:18px;border-radius:50%;background:rgba(0,0,0,.42);filter:blur(5px)}
.mb210-bus-wrap{position:absolute;inset:0}.mb210-bus-svg{width:100%;height:100%;overflow:visible}.mb210-bus-wrap.remote{opacity:.9}.mb210-driver-tag{position:absolute;left:46%;top:-7px;transform:translateX(-50%);padding:3px 9px;border-radius:999px;background:rgba(0,0,0,.82);border:1px solid rgba(255,255,255,.15);font-size:.58rem;font-weight:900;direction:rtl}
.mb210-traffic{position:absolute;bottom:10px;width:175px;height:82px;z-index:15;transform-origin:bottom center;filter:drop-shadow(0 5px 3px rgba(0,0,0,.28));pointer-events:none}.mb210-traffic svg{width:100%;height:100%;overflow:visible}.mb210-traffic.bus{width:250px;height:95px;bottom:7px}.mb210-traffic.tuk{width:118px;height:78px;bottom:8px}
.mb210-remote-player{position:absolute;width:265px;height:108px;transform:translateX(-50%);pointer-events:none;filter:drop-shadow(0 6px 4px rgba(0,0,0,.3))}.mb210-remote-player .name{position:absolute;left:50%;top:-10px;transform:translateX(-50%);z-index:2;white-space:nowrap;background:rgba(0,0,0,.72);border-radius:999px;padding:2px 7px;font-size:.52rem}.mb210-remote-player .mb210-bus-wrap{transform:scale(.78);transform-origin:center bottom}
.mb210-route-progress{position:absolute;z-index:23;left:50%;top:50.8%;transform:translateX(-50%);width:min(560px,54vw);height:35px;padding:6px 10px;border-radius:11px;background:rgba(18,26,29,.85);border:1px solid rgba(255,255,255,.12);backdrop-filter:blur(8px);display:flex;align-items:center;gap:9px;direction:rtl}.mb210-route-progress .line{height:5px;flex:1;background:#344146;border-radius:999px;overflow:hidden}.mb210-route-progress .line i{display:block;height:100%;background:linear-gradient(90deg,#f0ad00,#ffdf4b)}.mb210-route-progress span{font-size:.61rem;color:#d5dee1;white-space:nowrap}.mb210-route-progress b{font-size:.67rem;color:#ffda43;min-width:44px}

/* Big, obvious Egyptian callout controls */
.mb210-road-actions{position:absolute;z-index:42;left:166px;top:31%;display:grid;gap:9px;direction:rtl}.mb210-road-actions button{border:2px solid rgba(255,255,255,.2);box-shadow:0 7px 20px rgba(0,0,0,.25);color:white;background:rgba(18,25,28,.94);backdrop-filter:blur(9px)}
.mb210-road-actions .nidaa-main{width:78px;height:78px;border-radius:50%;display:grid;place-items:center;align-content:center;gap:1px;background:linear-gradient(145deg,#ffd83f,#e2a900);color:#191919;border-color:#9d7600}.mb210-road-actions .nidaa-main svg{width:26px}.mb210-road-actions .nidaa-main b{font-size:.72rem}.mb210-road-actions .route-call,.mb210-road-actions .horn{height:39px;min-width:78px;border-radius:12px;display:flex;align-items:center;justify-content:center;gap:5px;font-size:.63rem}.mb210-road-actions .route-call svg{width:16px}.mb210-road-actions .horn{font-size:.8rem}
.mb210-social-actions{position:absolute;z-index:41;right:14px;bottom:25.6%;display:flex;gap:6px}.mb210-social-actions button{height:40px;min-width:70px;border:1px solid rgba(255,255,255,.13);border-radius:11px;background:rgba(12,19,22,.92);color:white;padding:0 10px;display:flex;align-items:center;justify-content:center;gap:5px;font-size:.68rem}.mb210-social-actions svg{width:17px}.mb210-social-actions .recording{background:#9a2532}

/* Cockpit: no steering, forward-only */
.mb210-cockpit{position:absolute;z-index:35;left:0;right:0;bottom:0;height:23%;min-height:150px;background:linear-gradient(180deg,#2a211b,#171310 70%,#0d0c0b);border-top:7px solid #403126;box-shadow:0 -12px 30px rgba(0,0,0,.3);display:grid;grid-template-columns:.82fr 1.45fr 1fr;align-items:center;padding:8px 30px 11px;gap:24px;direction:ltr}
.mb210-cockpit:before{content:"";position:absolute;left:0;right:0;top:0;height:8px;background:linear-gradient(90deg,#5a4433,#211914 23%,#5c4635 50%,#211914 77%,#5a4433);opacity:.68}
.mb210-parking{display:grid;justify-items:center;gap:6px;direction:rtl}.mb210-parking small{font-size:.58rem;color:#b7a89a}.mb210-parking button{width:112px;height:88px;border-radius:18px 18px 9px 9px;border:4px solid #5d1d25;background:linear-gradient(#c33a49,#7f1c28);color:#fff;box-shadow:inset 0 0 0 5px rgba(0,0,0,.22),0 7px 18px rgba(0,0,0,.34);display:grid;place-items:center;align-content:center}.mb210-parking button b{font-size:2rem;line-height:1}.mb210-parking button span{font-size:.62rem}.mb210-parking button.active{background:linear-gradient(#ff4658,#971c2b);box-shadow:inset 0 0 0 5px rgba(0,0,0,.25),0 0 22px rgba(255,58,76,.3)}
.mb210-instruments{display:flex;align-items:center;justify-content:center;gap:12px;direction:ltr}.mb210-speedo{width:126px;height:126px;border-radius:50%;border:8px solid #2a3033;background:radial-gradient(circle,#172126 0 57%,#080a0b 58% 100%);box-shadow:inset 0 0 0 3px #697174,0 7px 18px rgba(0,0,0,.35);position:relative;display:grid;place-items:center;align-content:center}.mb210-speedo:before{content:"0   40   80   120";position:absolute;top:18px;left:13px;right:13px;color:#aeb8bc;font-size:.47rem;letter-spacing:.08em;word-spacing:2px;text-align:center}.mb210-speedo strong{font-size:2rem;line-height:1;color:#fff;margin-top:17px}.mb210-speedo small{font-size:.52rem;color:#aeb9bd}.mb210-speedo .needle{position:absolute;left:50%;bottom:49%;width:3px;height:43px;background:#ec443f;transform-origin:50% 100%;border-radius:3px;box-shadow:0 0 4px rgba(236,68,63,.45)}.mb210-speedo .needle:after{content:"";position:absolute;left:-5px;bottom:-6px;width:12px;height:12px;border-radius:50%;background:#e4e5e5;border:3px solid #333}
.mb210-fuel{width:74px;height:92px;border-radius:18px;background:#111719;border:3px solid #454d50;box-shadow:inset 0 0 0 3px #1f292d;display:grid;place-items:center;align-content:center;gap:5px}.mb210-fuel small,.mb210-gearbox small{font-size:.5rem;color:#89979c}.mb210-fuel i{width:42px;height:8px;border-radius:999px;background:linear-gradient(90deg,#2f9a65 0 78%,#263236 78%)}.mb210-fuel b{font-size:.78rem;color:#dce7e9}
.mb210-gearbox{width:82px;height:96px;border-radius:14px;background:#101517;border:2px solid #3d484c;display:grid;place-items:center;align-content:center;gap:2px}.mb210-gearbox b{font-size:2rem;color:#ffda43;line-height:1}.mb210-gearbox em{font-style:normal;font-size:.48rem;color:#87959a}.mb210-pedals{display:flex;align-items:end;justify-content:center;gap:12px;direction:ltr}.mb210-pedals button{border:4px solid rgba(255,255,255,.1);color:white;box-shadow:inset 0 0 0 5px rgba(0,0,0,.24),0 7px 18px rgba(0,0,0,.34);touch-action:none}.mb210-pedals .brake{width:88px;height:78px;border-radius:16px;background:linear-gradient(#596167,#30363a);display:grid;place-items:center;font-weight:900}.mb210-pedals .gas{width:105px;height:122px;border-radius:18px 18px 9px 9px;background:linear-gradient(#4d5559,#202527);display:grid;place-items:center;align-content:center;gap:2px}.mb210-pedals .gas svg{width:27px;color:#ffcf32}.mb210-pedals .gas b{font-size:.92rem}.mb210-pedals .gas small{font-size:.51rem;color:#aeb9bd}.mb210-pedals button:active{transform:translateY(4px);filter:brightness(1.15)}

/* Nidaa: make it obvious and touch friendly */
.mb2d-nidaa-status{margin-bottom:8px;text-align:center;color:#c7d2d5;font-size:.65rem}.mb2d-nidaa-grid{grid-template-columns:repeat(5,1fr)}.mb2d-nidaa-grid button{min-height:62px;background:#172225}.mb2d-nidaa-grid button:active{transform:scale(.98);background:#243238}

@media(max-width:1050px){
  .mb210-road-actions{left:12px;top:31%}.mb210-player{width:315px;height:128px}.mb210-cockpit{grid-template-columns:.75fr 1.35fr 1fr;padding:7px 16px;gap:12px}.mb210-parking button{width:92px;height:79px}.mb210-speedo{width:112px;height:112px}.mb210-pedals .gas{height:108px}.mb210-pedals .brake{width:76px}
}
@media(max-width:900px){
  .mb210-route-title{top:60px;min-width:190px;padding:5px 12px}.mb210-route-title small{display:none}.mb210-route-title b{font-size:.68rem}
  .mb210-city{top:18%;height:31%}.mb210-backwalk{top:49%;height:7.5%}.mb210-road{top:56.5%;height:20.5%}.mb210-frontcurb{top:77%}
  .mb210-player{width:260px;height:108px;bottom:1%}.mb210-traffic{width:145px;height:70px}.mb210-traffic.bus{width:205px;height:82px}.mb210-traffic.tuk{width:98px;height:67px}.mb210-remote-player{width:220px;height:92px}
  .mb210-route-progress{top:49%;width:72vw;height:31px}.mb210-route-progress span{display:none}
  .mb210-road-actions{left:8px;top:31%;gap:5px}.mb210-road-actions .nidaa-main{width:62px;height:62px}.mb210-road-actions .route-call,.mb210-road-actions .horn{min-width:62px;height:34px}.mb210-road-actions button span{display:none}
  .mb210-social-actions{right:7px;bottom:25.8%}.mb210-social-actions button{min-width:46px;height:37px;padding:0 7px}.mb210-social-actions button span{display:none}
  .mb210-cockpit{height:23%;min-height:148px;grid-template-columns:.7fr 1.4fr 1fr;padding:6px 8px;gap:7px}.mb210-parking small{display:none}.mb210-parking button{width:72px;height:68px;border-width:3px}.mb210-parking button b{font-size:1.55rem}.mb210-instruments{gap:5px}.mb210-speedo{width:88px;height:88px;border-width:5px}.mb210-speedo:before{display:none}.mb210-speedo strong{font-size:1.45rem;margin-top:8px}.mb210-speedo .needle{height:30px}.mb210-fuel{width:54px;height:70px}.mb210-fuel i{width:32px}.mb210-gearbox{width:54px;height:72px}.mb210-gearbox b{font-size:1.5rem}.mb210-gearbox em{display:none}.mb210-pedals{gap:5px}.mb210-pedals .brake{width:56px;height:60px;border-width:2px;font-size:.64rem}.mb210-pedals .gas{width:68px;height:88px;border-width:2px}.mb210-pedals .gas b{font-size:.72rem}.mb210-pedals .gas small{display:none}
  .mb2d-nidaa-dock{bottom:24%;}.mb2d-nidaa-grid{grid-template-columns:repeat(2,1fr);max-height:34vh;overflow:auto}
}
@media(max-width:560px){
  .mb210-city{top:20%;height:29%}.mb210-backwalk{top:49%;height:7.5%}.mb210-road{top:56.5%;height:20.5%}.mb210-frontcurb{top:77%}.mb210-player{width:220px;height:92px;bottom:0}.mb210-road-actions{top:33%}.mb210-road-actions .route-call{display:none}.mb210-route-progress{top:50.5%;width:69vw}
  .mb210-cockpit{height:23%;min-height:143px;grid-template-columns:.62fr 1.25fr 1fr}.mb210-parking button{width:60px;height:61px}.mb210-parking button span{display:none}.mb210-fuel{display:none}.mb210-speedo{width:82px;height:82px}.mb210-gearbox{width:47px}.mb210-pedals .brake{width:48px}.mb210-pedals .gas{width:60px;height:82px}.mb210-pedals .gas svg{width:20px}
}
/* Keep gameplay clean: main menu is collapsed until the hamburger is pressed. */
.mb2d-icon.menu{display:grid;margin-right:auto}.mb2d-side-menu{display:none}.mb2d-side-menu.open{display:grid;z-index:55}
