: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}

/* =========================================================
   EL MICROBUS v2.2.0 — Egyptian Route Edition
   Original semi-realistic 2D Egyptian street art by TLGAWY
   ========================================================= */
.mb2d-game{background:#b9d4df}
.mb2d-scene{bottom:24.5%}
.mb220-world{position:absolute;inset:0;overflow:hidden;background:#b8d7e2;direction:ltr}
.mb220-sky{position:absolute;inset:0 0 57% 0;background:linear-gradient(#89bed2 0%,#bfd8df 58%,#e6d3b3 100%);overflow:hidden}
.mb220-sky:after{content:"";position:absolute;left:0;right:0;bottom:0;height:42%;background:linear-gradient(transparent,rgba(229,205,167,.65))}
.mb220-sky .sun{position:absolute;right:8%;top:12%;width:88px;height:88px;border-radius:50%;background:radial-gradient(circle,#fffbdc 0 23%,#ffe892 40%,rgba(255,219,103,.35) 61%,transparent 72%);filter:blur(.1px)}
.mb220-sky .haze{position:absolute;left:0;right:0;bottom:0;height:34%;background:linear-gradient(transparent,rgba(239,220,187,.5))}
.mb220-route-name{position:absolute;z-index:20;left:50%;top:76px;transform:translateX(-50%);min-width:260px;text-align:center;padding:7px 20px;border-radius:999px;background:rgba(21,33,38,.75);border:1px solid rgba(255,255,255,.19);box-shadow:0 8px 25px rgba(0,0,0,.14);backdrop-filter:blur(9px);direction:rtl}
.mb220-route-name small{display:block;color:#c6d2d6;font-size:.58rem}.mb220-route-name b{font-size:.79rem;color:#fff}

.mb220-city{position:absolute;z-index:3;left:0;right:0;top:16%;height:48%;overflow:hidden;border-bottom:2px solid #a98f6e}
.mb220-building{position:absolute;bottom:0;border:2px solid rgba(75,55,42,.48);border-bottom:0;box-shadow:inset -13px 0 rgba(0,0,0,.055),0 -10px 30px rgba(87,58,32,.08);overflow:hidden;background-image:linear-gradient(90deg,rgba(255,255,255,.13),transparent 22%,rgba(79,48,30,.04) 72%)}
.mb220-building:after{content:"";position:absolute;inset:0;background:repeating-linear-gradient(0deg,transparent 0 58px,rgba(91,62,43,.12) 59px 61px);pointer-events:none}
.mb220-roofline{position:absolute;z-index:3;left:-4px;right:-4px;top:0;height:12px;background:var(--trim);border-bottom:3px solid rgba(44,28,20,.3)}
.mb220-roofline i{position:absolute;bottom:7px;width:31px;height:18px;background:#d8d0c1;border:2px solid #807567}.mb220-roofline i:nth-child(1){left:24px}.mb220-roofline i:nth-child(2){left:72px;width:43px}.mb220-roofline i:nth-child(3){right:34px;width:51px}
.mb220-window-grid{position:absolute;z-index:2;left:17px;right:17px;top:22px;bottom:76px;display:grid;grid-template-columns:repeat(5,1fr);grid-template-rows:repeat(5,1fr);gap:11px 12px;padding:8px 5px}
.mb220-window{position:relative;min-width:30px;background:#3f5056;border:3px solid var(--trim);box-shadow:0 2px 0 rgba(255,255,255,.18),inset 0 0 0 2px rgba(191,216,223,.16)}
.mb220-window .glass{position:absolute;inset:2px;background:linear-gradient(145deg,#73929c,#314951 64%,#253940);box-shadow:inset 9px 0 rgba(173,204,213,.13)}
.mb220-window.lit .glass{background:linear-gradient(#f2d399,#b98955)}
.mb220-window .shutter{position:absolute;z-index:4;top:-3px;bottom:-3px;width:8px;background:repeating-linear-gradient(0deg,#563d30 0 3px,#745442 3px 5px);border:1px solid #3c2b23}.mb220-window .shutter.left{left:-11px}.mb220-window .shutter.right{right:-11px}
.mb220-window .rail{position:absolute;z-index:5;left:-8px;right:-8px;bottom:-8px;height:8px;border-top:2px solid #665347;background:repeating-linear-gradient(90deg,transparent 0 8px,#625044 8px 10px)}
.mb220-window .ac{position:absolute;z-index:6;right:-16px;bottom:-16px;width:22px;height:11px;background:#e2ded4;border:1px solid #716e68;box-shadow:inset 0 -3px #aaa}
.mb220-balcony{position:absolute;z-index:6;left:23px;right:23px;height:13px;border-top:3px solid #7a6555;border-bottom:3px solid #826e5c;background:repeating-linear-gradient(90deg,transparent 0 13px,#6d5b4d 13px 16px);opacity:.84}.mb220-balcony.b1{top:123px}.mb220-balcony.b2{top:218px}
.mb220-shop{position:absolute;z-index:9;left:0;right:0;bottom:0;height:70px;background:#514339;border-top:4px solid rgba(255,255,255,.28);box-shadow:inset 0 12px rgba(0,0,0,.09)}
.mb220-shop .awning{position:absolute;left:0;right:0;top:0;height:16px;background:repeating-linear-gradient(90deg,#f0eee6 0 18px,#c73e3b 18px 36px);border-bottom:2px solid rgba(0,0,0,.18)}
.mb220-shop strong{position:absolute;left:14px;right:14px;top:19px;text-align:center;color:#fff7dd;font-size:.66rem;text-shadow:0 2px 2px #000;font-weight:900;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;direction:rtl}
.mb220-shop .door{position:absolute;left:18px;bottom:0;width:40px;height:30px;background:#271d19;border:3px solid #b08b68}.mb220-shop .glass{position:absolute;bottom:0;width:52px;height:28px;background:linear-gradient(#2c4b54,#152d34);border:3px solid #ae8966}.mb220-shop .g1{right:18px}.mb220-shop .g2{right:78px}
.mb220-shop.pharmacy .awning{background:repeating-linear-gradient(90deg,#f7f7f3 0 21px,#2f9c57 21px 42px)}.mb220-shop.pharmacy strong{color:#d9ffe7}.mb220-shop.cafe{background:#433226}.mb220-shop.market{background:#4f4c3a}.mb220-shop.workshop{background:#3c4143}
.mb220-signboard{position:absolute;z-index:8;left:50%;bottom:82px;transform:translateX(-50%);padding:4px 14px;border:2px solid #7d6c5b;background:#f4f0e2;color:#3b3028;font-size:.52rem;font-weight:800;white-space:nowrap;direction:rtl}
.mb220-flag{position:absolute;z-index:10;right:12px;top:20px;width:35px;height:22px;box-shadow:0 2px 5px rgba(0,0,0,.3)}.mb220-flag span{display:block;height:7.33px}.mb220-flag span:nth-child(1){background:#ce2d38}.mb220-flag span:nth-child(2){background:#fff}.mb220-flag span:nth-child(3){background:#111}

.mb220-sidewalk{position:absolute;z-index:7;left:0;right:0;top:64%;height:9.5%;background:linear-gradient(#d0b392 0 76%,#a98d6d 76%);border-top:3px solid #ad9274;border-bottom:6px solid #77634f;box-shadow:inset 0 3px rgba(255,255,255,.24);overflow:visible}
.mb220-sidewalk:after{content:"";position:absolute;left:0;right:0;bottom:-13px;height:13px;background:repeating-linear-gradient(90deg,#1b1b1b 0 30px,#e5c634 30px 60px);border-top:2px solid #575047}
.mb220-person{position:absolute;z-index:12;bottom:7px;width:39px;height:86px;transform-origin:center bottom;filter:drop-shadow(0 3px 2px rgba(0,0,0,.24))}.mb220-person svg{width:100%;height:100%;overflow:visible}
.mb220-person.walking{animation:mb220Walk 1.05s ease-in-out infinite alternate}@keyframes mb220Walk{from{transform:translateY(0) rotate(-1deg)}to{transform:translateY(-2px) rotate(1deg)}}

.mb220-station{position:absolute;z-index:15;bottom:0;width:238px;height:154px;transform:translateX(-50%);direction:rtl}.mb220-shelter{position:absolute;right:0;bottom:0;width:139px;height:130px;border-left:5px solid #353c40;border-right:5px solid #353c40;background:linear-gradient(90deg,rgba(87,111,119,.15),rgba(232,239,239,.38));box-shadow:0 5px 14px rgba(0,0,0,.18)}
.mb220-shelter .roof{position:absolute;left:-10px;right:-10px;top:0;height:25px;background:#2d4b5a;color:#fff;border-radius:6px 6px 1px 1px;text-align:center;font-size:.61rem;font-weight:900;padding-top:3px;box-shadow:0 3px 5px rgba(0,0,0,.25)}
.mb220-shelter .board{position:absolute;left:12px;right:12px;top:35px;padding:6px;border-radius:5px;background:#f3eedc;border:2px solid #896c4f;text-align:center;color:#25221f}.mb220-shelter .board b{display:block;font-size:.64rem}.mb220-shelter .board small{font-size:.45rem;color:#65564a}.mb220-shelter .bench{position:absolute;left:21px;right:21px;bottom:14px;height:9px;background:#6a4934;box-shadow:0 8px 0 #3b332e}
.mb220-waiting{position:absolute;left:-3px;bottom:0;width:180px;height:95px}.mb220-waiting .mb220-person{bottom:0}.mb220-station.active .mb220-shelter .roof{background:#c78911;box-shadow:0 0 18px rgba(255,192,43,.45)}.mb220-station.active{animation:mb220StopGlow 1.2s ease-in-out infinite alternate}@keyframes mb220StopGlow{to{filter:brightness(1.08)}}

.mb220-road{position:absolute;z-index:10;left:0;right:0;top:73.5%;height:19.5%;background-color:#2b2e30;background-image:linear-gradient(0deg,rgba(255,255,255,.012),rgba(255,255,255,.012)),repeating-linear-gradient(90deg,rgba(255,255,255,.012) 0 70px,rgba(0,0,0,.015) 70px 140px);border-top:3px solid #151718;border-bottom:3px solid #131516;box-shadow:inset 0 9px 16px rgba(0,0,0,.13);overflow:hidden}
.mb220-road:before{content:"";position:absolute;left:0;right:0;top:52%;height:4px;background:repeating-linear-gradient(90deg,#eee6bd 0 72px,transparent 72px 135px);opacity:.92}.mb220-road:after{content:"";position:absolute;left:0;right:0;bottom:16%;height:2px;background:repeating-linear-gradient(90deg,rgba(235,230,207,.58) 0 38px,transparent 38px 76px)}
.mb220-front-curb{position:absolute;z-index:14;left:0;right:0;top:93%;height:7%;background:#b09372;border-top:5px solid #6d5b49}.mb220-front-curb:before{content:"";position:absolute;left:0;right:0;top:-9px;height:9px;background:repeating-linear-gradient(90deg,#151515 0 30px,#e6c638 30px 60px)}
.mb220-traffic{position:absolute;bottom:2px;z-index:11;transform-origin:center bottom;filter:drop-shadow(0 6px 4px rgba(0,0,0,.27));pointer-events:none}.mb220-traffic svg{width:100%;height:100%}.mb220-traffic.coach{width:310px;height:112px}.mb220-traffic.taxi{width:166px;height:76px}.mb220-traffic.tuk{width:116px;height:80px}
.mb220-player{position:absolute;z-index:18;bottom:-1px;width:420px;height:157px;transform:translateX(-50%);pointer-events:none}.mb220-bus{position:absolute;inset:0;transform-origin:center bottom;filter:drop-shadow(0 6px 4px rgba(0,0,0,.33))}.mb220-bus svg{width:100%;height:100%;overflow:visible}.mb220-player.braking .mb220-bus{transform:translateX(-1px)}
.mb220-driver-tag{position:absolute;left:50%;top:-10px;transform:translateX(-50%);padding:3px 9px;border-radius:999px;background:rgba(10,14,16,.82);border:1px solid rgba(255,255,255,.16);color:white;font-size:.54rem;font-weight:800;direction:rtl}
.mb220-remote{position:absolute;z-index:16;bottom:1px;width:265px;height:103px;transform:translateX(-50%);pointer-events:none}.mb220-remote>span{position:absolute;left:50%;top:-11px;transform:translateX(-50%);padding:2px 7px;border-radius:999px;background:rgba(0,0,0,.66);color:#fff;font-size:.5rem;z-index:3}.mb220-remote .mb220-bus{transform:scale(.68);transform-origin:center bottom}

.mb220-flow{position:absolute;z-index:35;left:51%;bottom:0;width:340px;height:118px;pointer-events:none}.mb220-flow .mb220-person{left:240px;bottom:9px}.mb220-person.boarding{animation:mb220Board 2.2s cubic-bezier(.22,.74,.31,1) forwards}.mb220-person.alighting{left:125px;opacity:0;animation:mb220Alight 2.15s cubic-bezier(.22,.74,.31,1) forwards}
@keyframes mb220Board{0%{transform:translateX(calc(100px + var(--i)*22px)) scale(.86);opacity:1}70%{transform:translateX(calc(-70px + var(--i)*2px)) scale(.8);opacity:1}100%{transform:translateX(-110px) scale(.58);opacity:0}}
@keyframes mb220Alight{0%{transform:translateX(-110px) scale(.58);opacity:0}18%{opacity:1}100%{transform:translateX(calc(105px + var(--i)*25px)) scale(.88);opacity:1}}
.mb220-flow-label{position:absolute;left:50%;top:-25px;transform:translateX(-50%);white-space:nowrap;padding:5px 10px;border-radius:8px;background:#1c262b;color:#ffdf58;border:1px solid rgba(255,255,255,.13);font-size:.58rem;font-weight:900;direction:rtl}
.mb220-route-progress{position:absolute;z-index:26;left:50%;top:68.1%;transform:translateX(-50%);width:min(620px,58vw);height:35px;padding:6px 11px;border-radius:11px;background:rgba(17,24,28,.88);border:1px solid rgba(255,255,255,.14);box-shadow:0 7px 16px rgba(0,0,0,.22);display:flex;align-items:center;gap:9px;direction:rtl}.mb220-route-progress span{font-size:.59rem;color:#d8e1e4;white-space:nowrap}.mb220-route-progress b{font-size:.65rem;color:#ffdc52;min-width:48px}.mb220-route-progress .track{flex:1;height:5px;border-radius:999px;background:#344247;overflow:hidden}.mb220-route-progress .track i{display:block;height:100%;background:linear-gradient(90deg,#f4a900,#ffe05d);border-radius:999px}

/* HUD cleanup — closer to dedicated 2D driving games */
.mb2d-topbar{z-index:52;top:9px;left:10px;right:10px;height:58px;border-radius:18px;background:linear-gradient(180deg,rgba(17,25,29,.94),rgba(11,17,20,.9));border:1px solid rgba(255,255,255,.15);box-shadow:0 8px 24px rgba(0,0,0,.22);padding:7px 10px;backdrop-filter:blur(11px)}
.mb2d-brand{min-width:146px}.mb2d-brand small{font-size:.47rem}.mb2d-route-card{flex:1;max-width:none;justify-content:center}.mb2d-route-card strong{color:#ffdf4e}.mb2d-topstats span{background:rgba(255,255,255,.055)}
.mb2d-side-menu.open{top:76px;left:11px;border-radius:15px;background:rgba(12,18,21,.95);padding:7px;box-shadow:0 12px 30px rgba(0,0,0,.28)}
.mb2d-trip-chip{top:76px;right:12px;z-index:46}.mb2d-trip-chip button{background:linear-gradient(135deg,#ffd947,#e6a800)!important;color:#181818!important;font-weight:900}
.mb210-road-actions{z-index:49;left:17px;top:auto;bottom:26.3%;display:flex;align-items:center;gap:7px;direction:ltr}.mb210-road-actions .nidaa-main{width:76px;height:76px}.mb210-road-actions .route-call,.mb210-road-actions .horn{height:42px;min-width:92px}
.mb210-social-actions{z-index:49;right:17px;bottom:26.3%}
.mb2d-announcement{z-index:51;top:78px;left:50%;transform:translateX(-50%);max-width:700px;background:linear-gradient(90deg,rgba(20,29,33,.95),rgba(35,49,54,.95));border-color:rgba(255,212,53,.32);color:#fff}.mb2d-announcement svg{color:#ffda42}

/* dashboard/cockpit: dark brown Egyptian minibus dash, no steering */
.mb210-cockpit{z-index:44;height:24.5%;min-height:168px;background:linear-gradient(#30261f 0,#231b16 28%,#15110e 100%);border-top:9px solid #4b392c;padding:12px 44px 14px;grid-template-columns:.9fr 1.55fr 1.05fr;gap:32px;box-shadow:0 -18px 35px rgba(0,0,0,.34)}
.mb210-cockpit:before{height:10px;background:linear-gradient(90deg,#6a4c35,#2b2019 17%,#6f513a 36%,#241a15 53%,#684b36 72%,#241a15)}
.mb210-parking button{width:128px;height:102px;border-radius:24px 24px 11px 11px;background:linear-gradient(#d2444f,#7f202a);border:5px solid #5d1c23;box-shadow:inset 0 0 0 6px rgba(0,0,0,.22),0 9px 24px rgba(0,0,0,.42)}
.mb210-parking button b{font-size:2.3rem}.mb210-speedo{width:144px;height:144px;border-width:9px;background:radial-gradient(circle,#182329 0 54%,#080b0c 55% 100%);box-shadow:inset 0 0 0 3px #8c9396,0 10px 28px rgba(0,0,0,.43)}.mb210-speedo strong{font-size:2.25rem}.mb210-speedo .needle{height:49px}.mb210-fuel{width:86px;height:105px;background:radial-gradient(circle at 50% 15%,#213237,#101618 65%);border-color:#596368}.mb210-gearbox{width:92px;height:108px;background:#0e1315;border-color:#4e5a5f}.mb210-gearbox b{font-size:2.25rem}
.mb210-pedals{gap:18px}.mb210-pedals .brake{width:101px;height:88px;border-radius:20px;background:linear-gradient(#616a70,#30363a)}.mb210-pedals .gas{width:119px;height:136px;border-radius:22px 22px 11px 11px;background:linear-gradient(#51595d,#202527)}

.mb2d-nidaa-dock{z-index:70;bottom:25.5%;max-height:54vh}.mb2d-nidaa-grid{grid-template-columns:repeat(3,1fr)}.mb2d-nidaa-grid button{font-size:.67rem;line-height:1.6;min-height:72px}.mb2d-nidaa-status{line-height:1.6}

@media(max-width:1100px){
  .mb220-city{top:17%;height:47%}.mb220-player{width:355px;height:135px}.mb220-traffic.coach{width:260px;height:98px}.mb220-traffic.taxi{width:145px}.mb220-route-progress{width:63vw}.mb210-cockpit{padding:9px 18px;gap:12px}.mb210-parking button{width:101px;height:88px}.mb210-speedo{width:122px;height:122px}.mb210-pedals .gas{width:100px;height:118px}.mb210-pedals .brake{width:85px}
}
@media(max-width:900px){
  .mb2d-scene{bottom:23.5%}.mb220-sky{bottom:58%}.mb220-city{top:18%;height:45%}.mb220-sidewalk{top:63%;height:9%}.mb220-road{top:72%;height:20.5%}.mb220-front-curb{top:92.5%}.mb220-player{width:290px;height:116px}.mb220-route-name{top:70px}.mb220-route-progress{top:66.8%;width:70vw}.mb220-route-progress span{display:none}.mb220-station{transform:translateX(-50%) scale(.84);transform-origin:center bottom}.mb220-person{width:32px;height:72px}.mb220-traffic.coach{width:220px;height:84px}.mb220-traffic.taxi{width:126px;height:64px}.mb220-traffic.tuk{width:94px;height:65px}
  .mb210-road-actions{bottom:24.6%;left:8px}.mb210-road-actions .nidaa-main{width:62px;height:62px}.mb210-road-actions .route-call,.mb210-road-actions .horn{min-width:58px;height:36px}.mb210-social-actions{bottom:24.8%;right:7px}
  .mb210-cockpit{height:23.5%;min-height:150px;padding:7px 8px;grid-template-columns:.68fr 1.42fr 1fr;gap:7px}.mb210-parking button{width:72px;height:70px;border-width:3px}.mb210-speedo{width:94px;height:94px;border-width:5px}.mb210-speedo strong{font-size:1.5rem;margin-top:8px}.mb210-speedo .needle{height:31px}.mb210-fuel{width:56px;height:72px}.mb210-gearbox{width:58px;height:75px}.mb210-pedals{gap:6px}.mb210-pedals .brake{width:58px;height:61px;border-width:2px}.mb210-pedals .gas{width:72px;height:91px;border-width:2px}.mb2d-nidaa-grid{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:560px){
  .mb220-city{top:20%;height:43%}.mb220-sidewalk{top:63%;height:9%}.mb220-road{top:72%;height:20%}.mb220-player{width:236px;height:95px}.mb220-station{transform:translateX(-50%) scale(.68)}.mb220-route-name{display:none}.mb220-route-progress{top:67.2%;width:66vw}.mb220-route-progress b{font-size:.56rem}.mb220-traffic.coach{width:180px}.mb220-traffic.taxi{width:104px}.mb220-traffic.tuk{width:80px}
  .mb210-road-actions{bottom:24.1%}.mb210-road-actions .route-call{display:none}.mb210-road-actions .nidaa-main{width:58px;height:58px}.mb210-social-actions{bottom:24.2%}
  .mb210-cockpit{height:23.5%;min-height:145px;grid-template-columns:.61fr 1.24fr 1fr}.mb210-parking button{width:58px;height:61px}.mb210-speedo{width:82px;height:82px}.mb210-fuel{display:none}.mb210-gearbox{width:48px}.mb210-pedals .brake{width:49px}.mb210-pedals .gas{width:61px;height:82px}.mb2d-topbar{height:53px}.mb2d-brand{min-width:105px}.mb2d-brand small{display:none}.mb2d-topstats span:nth-child(2){display:none}
}

/* =========================================================
   EL MICROBUS TLGAWY v3.0.0 — EGYPTIAN LIFE EDITION
   Rebuilt 2D scene: bigger road, full minibus, living stations,
   visible boarding / alighting and stronger sense of speed.
   ========================================================= */
.mb2d-game{background:#88b9ca}
.mb2d-scene{position:absolute;inset:0 0 24% 0;overflow:hidden}
.mb300-world{position:absolute;inset:0;overflow:hidden;background:linear-gradient(#8ebfd1 0 36%,#cbb691 36% 100%);direction:ltr}
.mb300-sky{position:absolute;inset:0 0 54% 0;background:linear-gradient(#82b6cc 0%,#c8d6d2 68%,#e1d0ac 100%);overflow:hidden;z-index:1}
.mb300-sky .sun{position:absolute;right:9%;top:12%;width:82px;height:82px;border-radius:50%;background:radial-gradient(circle,#fffbe2 0 28%,#ffe68c 48%,rgba(255,221,120,.18) 72%,transparent 74%);filter:drop-shadow(0 0 16px rgba(255,225,120,.42))}
.mb300-sky .haze{position:absolute;inset:auto 0 0;height:48%;background:linear-gradient(transparent,rgba(238,224,193,.58))}
.mb300-far{position:absolute;inset:auto 0 0;height:43%;opacity:.24;overflow:hidden}.mb300-far i{position:absolute;bottom:0;width:210px;background:linear-gradient(#6d777a,#465256);clip-path:polygon(0 18%,18% 18%,18% 4%,28% 4%,28% 15%,42% 15%,42% 0,52% 0,52% 21%,75% 21%,75% 10%,90% 10%,90% 28%,100% 28%,100% 100%,0 100%)}
.mb300-route-name{position:absolute;left:50%;top:79px;transform:translateX(-50%);min-width:290px;text-align:center;padding:8px 24px;border-radius:999px;background:linear-gradient(180deg,rgba(35,48,52,.94),rgba(24,35,39,.90));border:1px solid rgba(255,255,255,.17);box-shadow:0 8px 24px rgba(0,0,0,.18);backdrop-filter:blur(10px);direction:rtl}.mb300-route-name small{display:block;font-size:.58rem;color:#d4dde0}.mb300-route-name b{display:block;font-size:.92rem;color:#fff}

.mb300-city{position:absolute;left:0;right:0;top:11%;height:47%;z-index:4;overflow:hidden;border-bottom:1px solid rgba(62,41,28,.2)}
.mb300-building{position:absolute;bottom:0;border:2px solid var(--trim);border-bottom:0;box-shadow:0 -10px 25px rgba(0,0,0,.08),inset -10px 0 rgba(0,0,0,.045);overflow:hidden}
.mb300-building:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(255,255,255,.14),transparent 22%,rgba(0,0,0,.045) 78%,rgba(0,0,0,.08));pointer-events:none}
.mb300-roofline{position:absolute;left:0;right:0;top:0;height:15px;background:#6f5847;border-bottom:4px solid rgba(46,34,27,.48);display:flex;gap:22px;padding:0 14px}.mb300-roofline i{width:44px;height:8px;background:#b7aa98;border:1px solid #6b5c4d;border-radius:0 0 2px 2px}
.mb300-window-grid{position:absolute;left:18px;right:18px;top:28px;bottom:92px;display:grid;grid-template-columns:repeat(5,1fr);grid-template-rows:repeat(5,1fr);gap:9px 11px}.mb300-window{position:relative;min-width:37px;min-height:34px;border:2px solid #5a5149;background:#27373c;box-shadow:inset 0 0 0 2px rgba(255,255,255,.08),0 1px 0 rgba(255,255,255,.15)}.mb300-window .glass{position:absolute;inset:3px;background:linear-gradient(135deg,#66818a,#2b3c43 62%,#17262c)}.mb300-window.lit .glass{background:linear-gradient(135deg,#ffe3a3,#d6aa5f)}.mb300-window .shade{position:absolute;top:-3px;left:-4px;right:-4px;height:5px;background:#6d4a35;z-index:3}.mb300-window .rail{position:absolute;left:-7px;right:-7px;bottom:-6px;height:5px;border:2px solid #63584e;border-top:0;z-index:4}.mb300-window .plant{position:absolute;right:3px;bottom:-2px;width:8px;height:8px;background:#4d7a39;border-radius:50% 50% 0 50%;z-index:5}.mb300-window .ac{position:absolute;right:-10px;bottom:-10px;width:17px;height:9px;background:#ddd;border:1px solid #777;border-radius:2px;z-index:6}.mb300-window .ac:after{content:"";position:absolute;inset:2px;border:1px solid #999;border-radius:50%}
.mb300-balcony{position:absolute;left:12%;width:31%;height:9px;background:#7d6553;border:2px solid #5d4a3d;box-shadow:0 8px 0 rgba(85,65,49,.16)}.mb300-balcony:after{content:"";position:absolute;left:0;right:0;top:-12px;height:12px;background:repeating-linear-gradient(90deg,#55493f 0 3px,transparent 3px 13px)}.mb300-balcony.b1{top:39%}.mb300-balcony.b2{left:57%;top:61%;width:30%}
.mb300-shop{position:absolute;left:0;right:0;bottom:0;height:86px;background:#554536;border-top:6px solid #3c3128;color:#fff;text-align:center;direction:rtl;box-shadow:inset 0 7px rgba(255,255,255,.035)}.mb300-shop .awning{position:absolute;left:0;right:0;top:0;height:17px;background:repeating-linear-gradient(90deg,#f7efe1 0 17px,#b64c3c 17px 34px)}.mb300-shop strong{position:absolute;left:0;right:0;top:21px;font-size:.72rem;text-shadow:0 1px 2px #000}.mb300-shop small{position:absolute;left:0;right:0;top:42px;font-size:.46rem;color:#e6ddd3}.mb300-shop .door{position:absolute;left:46%;bottom:0;width:35px;height:34px;background:#2c2a27;border:2px solid #171615}.mb300-shop .glass{position:absolute;bottom:0;width:56px;height:28px;background:#21414b;border:2px solid #2b2926}.mb300-shop .g1{left:11%}.mb300-shop .g2{right:11%}.mb300-shop.pharmacy .awning{background:repeating-linear-gradient(90deg,#f5f5ef 0 17px,#2b9e63 17px 34px)}.mb300-shop.market .awning{background:repeating-linear-gradient(90deg,#f6efe1 0 17px,#d54e3d 17px 34px)}.mb300-shop.cafe .awning{background:repeating-linear-gradient(90deg,#d9bc8e 0 17px,#654a35 17px 34px)}
.mb300-flag{position:absolute;right:18px;top:18px;width:32px;height:21px;border:1px solid rgba(0,0,0,.28);box-shadow:0 2px 3px rgba(0,0,0,.18)}.mb300-flag span{display:block;height:33.333%}.mb300-flag span:nth-child(1){background:#ce2f34}.mb300-flag span:nth-child(2){background:#f4f3ea}.mb300-flag span:nth-child(3){background:#161616}.mb300-signboard{position:absolute;left:17px;bottom:100px;padding:6px 12px;background:#f3edda;color:#362d27;border:2px solid #8e7b69;font-size:.52rem;font-weight:800;direction:rtl;box-shadow:0 3px 6px rgba(0,0,0,.13)}

.mb300-sidewalk{position:absolute;left:0;right:0;top:58%;height:13%;background:linear-gradient(#c7ad8d 0 42%,#b49a7b 42% 100%);border-top:3px solid #7e684f;border-bottom:7px solid #604f3f;z-index:10;box-shadow:inset 0 8px rgba(255,255,255,.16);overflow:visible}.mb300-sidewalk:after{content:"";position:absolute;left:0;right:0;bottom:-8px;height:8px;background:repeating-linear-gradient(90deg,#151515 0 28px,#e7d33d 28px 56px)}
.mb300-person{position:absolute;z-index:18;bottom:4px;width:46px;height:102px;transform-origin:center bottom;filter:drop-shadow(0 4px 2px rgba(0,0,0,.24));transition:opacity .25s}.mb300-person svg{width:100%;height:100%;overflow:visible}.mb300-person.walking .body{animation:mb300Bob .52s ease-in-out infinite alternate}.mb300-person.walking .leg-a,.mb300-person.walking .arm-b{transform-origin:28px 70px;animation:mb300Limb .52s ease-in-out infinite alternate}.mb300-person.walking .leg-b,.mb300-person.walking .arm-a{transform-origin:28px 70px;animation:mb300Limb .52s ease-in-out infinite alternate-reverse}@keyframes mb300Bob{to{transform:translateY(-2px)}}@keyframes mb300Limb{from{transform:rotate(-8deg)}to{transform:rotate(8deg)}}

.mb300-station{position:absolute;z-index:28;bottom:-2px;width:300px;height:152px;transform:translateX(-50%);direction:rtl;filter:drop-shadow(0 5px 6px rgba(0,0,0,.18))}.mb300-shelter{position:absolute;right:0;bottom:0;width:168px;height:139px;border-left:6px solid #30383c;border-right:6px solid #30383c;background:linear-gradient(90deg,rgba(84,105,111,.18),rgba(232,239,239,.46));box-shadow:0 5px 14px rgba(0,0,0,.18)}.mb300-shelter .roof{position:absolute;left:-12px;right:-12px;top:0;height:29px;background:#2e5363;color:#fff;border-radius:7px 7px 1px 1px;text-align:center;font-size:.66rem;font-weight:900;padding-top:4px;box-shadow:0 3px 5px rgba(0,0,0,.25)}.mb300-shelter .board{position:absolute;left:13px;right:13px;top:39px;padding:7px;border-radius:6px;background:#f4eedb;border:2px solid #8d7054;text-align:center;color:#28231f}.mb300-shelter .board b{display:block;font-size:.69rem}.mb300-shelter .board small{font-size:.48rem;color:#6c594a}.mb300-shelter .bench{position:absolute;left:23px;right:23px;bottom:15px;height:9px;background:#6b4934;box-shadow:0 8px 0 #3b332e}.mb300-waiting{position:absolute;left:-62px;bottom:0;width:245px;height:107px}.mb300-waiting .mb300-person{bottom:0}.mb300-stop-sign{position:absolute;left:-17px;top:3px;width:70px;padding:8px 5px;background:#f6f1df;border:3px solid #37444a;border-radius:8px;text-align:center;color:#1d272b;box-shadow:0 4px 10px rgba(0,0,0,.18)}.mb300-stop-sign b{display:block;font-size:.57rem;color:#c28a12}.mb300-stop-sign span{display:block;font-size:.52rem;font-weight:900;line-height:1.3}.mb300-station.active .mb300-shelter .roof{background:#c88711;box-shadow:0 0 21px rgba(255,192,43,.55)}.mb300-station.active .mb300-stop-sign{animation:mb300Glow .8s ease-in-out infinite alternate}@keyframes mb300Glow{to{transform:translateY(-4px);box-shadow:0 0 18px rgba(255,205,61,.58)}}

.mb300-road{position:absolute;z-index:15;left:0;right:0;top:71%;height:24%;background-color:#24282a;background-image:linear-gradient(0deg,rgba(255,255,255,.015),rgba(255,255,255,.015)),repeating-linear-gradient(90deg,rgba(255,255,255,.012) 0 70px,rgba(0,0,0,.02) 70px 140px);border-top:3px solid #151718;border-bottom:3px solid #121516;box-shadow:inset 0 11px 21px rgba(0,0,0,.18);overflow:visible}.mb300-road:before{content:"";position:absolute;left:0;right:0;top:49%;height:5px;background:repeating-linear-gradient(90deg,#eee8c9 0 80px,transparent 80px 150px);opacity:.94}.mb300-road:after{content:"";position:absolute;left:0;right:0;bottom:14%;height:3px;background:repeating-linear-gradient(90deg,rgba(236,231,211,.62) 0 43px,transparent 43px 86px)}.mb300-road .opposite-lane{position:absolute;left:0;right:0;top:-3px;height:45%;overflow:hidden;opacity:.86}.mb300-road .lane-line{position:absolute;left:0;right:0;top:49%;height:5px;background:repeating-linear-gradient(90deg,#efe7c0 0 80px,transparent 80px 150px);pointer-events:none}.mb300-front-curb{position:absolute;z-index:17;left:0;right:0;top:95%;height:5%;background:#aa8e6f;border-top:5px solid #675543}.mb300-front-curb:before{content:"";position:absolute;left:0;right:0;top:-10px;height:10px;background:repeating-linear-gradient(90deg,#141414 0 31px,#e6cc36 31px 62px)}

.mb300-traffic{position:absolute;bottom:2px;z-index:18;transform-origin:center bottom;filter:drop-shadow(0 7px 4px rgba(0,0,0,.28));pointer-events:none}.mb300-traffic svg{width:100%;height:100%}.mb300-traffic.coach{width:330px;height:118px}.mb300-traffic.taxi,.mb300-traffic.private{width:184px;height:82px}.mb300-traffic.tuk{width:126px;height:86px}.mb300-road .opposite-lane .mb300-traffic{bottom:6px;z-index:17;filter:brightness(.88) drop-shadow(0 5px 3px rgba(0,0,0,.24))}

.mb300-player{position:absolute;z-index:30;bottom:0;width:520px;height:198px;transform:translateX(-50%);pointer-events:none}.mb300-bus{position:absolute;inset:0;transform-origin:center bottom;transition:filter .1s}.mb300-bus svg{width:100%;height:100%;overflow:visible}.mb300-player.accelerating .mb300-bus{animation:mb300Drive .38s linear infinite}.mb300-player.braking .mb300-bus{transform:translateX(-3px) rotate(-.25deg)}@keyframes mb300Drive{0%,100%{transform:translateY(0)}50%{transform:translateY(-1.4px)}}.mb300-driver-tag{position:absolute;left:50%;top:-4px;transform:translateX(-50%);display:flex;gap:6px;align-items:center;padding:4px 10px;border-radius:999px;background:rgba(10,14,16,.86);border:1px solid rgba(255,255,255,.16);color:#fff;font-size:.55rem;font-weight:800;direction:rtl}.mb300-driver-tag span{color:#ffd955}.mb300-remote{position:absolute;z-index:24;bottom:1px;width:320px;height:125px;transform:translateX(-50%);pointer-events:none}.mb300-remote>span{position:absolute;left:50%;top:-10px;transform:translateX(-50%);padding:2px 7px;border-radius:999px;background:rgba(0,0,0,.68);color:#fff;font-size:.5rem;z-index:3}.mb300-remote .mb300-bus{transform:scale(.61);transform-origin:center bottom}

.mb300-flow{position:absolute;z-index:46;bottom:3px;width:520px;height:140px;transform:translateX(-35%);pointer-events:none}.mb300-flow .mb300-person{bottom:9px}.mb300-flow .mb300-person.boarding{left:360px;animation:mb300Board 4.35s cubic-bezier(.2,.78,.28,1) forwards}.mb300-flow .mb300-person.alighting{left:185px;opacity:0;animation:mb300Alight 4.1s cubic-bezier(.2,.78,.28,1) forwards}.mb300-flow-label{position:absolute;left:50%;top:-34px;transform:translateX(-50%);white-space:nowrap;padding:7px 13px;border-radius:10px;background:rgba(22,31,35,.94);color:#ffdf58;border:1px solid rgba(255,255,255,.14);font-size:.62rem;font-weight:900;direction:rtl;box-shadow:0 8px 18px rgba(0,0,0,.22)}.mb300-flow-label small{display:block;color:#cbd5d8;font-size:.47rem;font-weight:600;margin-top:2px}@keyframes mb300Board{0%{transform:translateX(calc(125px + var(--i)*26px)) scale(.96);opacity:1}30%{transform:translateX(calc(70px + var(--i)*16px)) scale(.94)}70%{transform:translateX(calc(-85px + var(--i)*4px)) scale(.84);opacity:1}100%{transform:translateX(-132px) scale(.58);opacity:0}}@keyframes mb300Alight{0%{transform:translateX(-78px) scale(.58);opacity:0}18%{opacity:1}65%{transform:translateX(calc(95px + var(--i)*16px)) scale(.90);opacity:1}100%{transform:translateX(calc(160px + var(--i)*26px)) scale(.96);opacity:1}}

.mb300-route-progress{position:absolute;z-index:55;left:50%;top:66.2%;transform:translateX(-50%);width:min(680px,56vw);height:36px;padding:6px 12px;border-radius:12px;background:rgba(17,24,28,.91);border:1px solid rgba(255,255,255,.14);box-shadow:0 7px 18px rgba(0,0,0,.24);display:flex;align-items:center;gap:10px;direction:rtl}.mb300-route-progress span{font-size:.59rem;color:#d8e1e4;white-space:nowrap}.mb300-route-progress b{font-size:.67rem;color:#ffdc52;min-width:50px}.mb300-route-progress .track{flex:1;height:6px;border-radius:999px;background:#344247;overflow:hidden}.mb300-route-progress .track i{display:block;height:100%;background:linear-gradient(90deg,#f1a800,#ffe05d);border-radius:999px}.mb300-stop-helper{position:absolute;z-index:56;left:50%;top:61.7%;transform:translateX(-50%) translateY(8px);opacity:0;transition:.22s;pointer-events:none}.mb300-stop-helper.show{opacity:1;transform:translateX(-50%) translateY(0)}.mb300-stop-helper span{display:block;padding:6px 12px;border-radius:999px;background:#b57910;color:#fff;font-size:.58rem;font-weight:900;box-shadow:0 5px 14px rgba(0,0,0,.23)}

/* HUD resized so the road and full vehicle remain visible */
.mb2d-topbar{height:54px;top:7px;left:9px;right:9px;border-radius:16px;padding:6px 9px}.mb2d-brand{min-width:132px}.mb2d-route-card{min-height:40px}.mb2d-topstats span{padding:7px 10px}
.mb2d-side-menu.open{top:69px}.mb2d-trip-chip{top:69px}.mb210-road-actions{bottom:25.2%;left:15px}.mb210-social-actions{bottom:25.2%;right:15px}.mb210-road-actions .nidaa-main{width:72px;height:72px}.mb210-road-actions .route-call,.mb210-road-actions .horn{height:40px}.mb2d-announcement{top:70px}
.mb210-cockpit{height:24%;min-height:158px;padding:10px 38px 11px;grid-template-columns:.82fr 1.45fr 1fr;gap:25px}.mb210-parking button{width:112px;height:94px}.mb210-speedo{width:128px;height:128px}.mb210-fuel{width:80px;height:98px}.mb210-gearbox{width:86px;height:101px}.mb210-pedals .gas{width:110px;height:125px}.mb210-pedals .brake{width:94px;height:82px}.mb2d-nidaa-dock{bottom:25%}

@media(max-width:1100px){
  .mb2d-scene{bottom:25%}.mb300-city{height:49%}.mb300-sidewalk{top:60%}.mb300-road{top:73%;height:22%}.mb300-player{width:430px;height:166px}.mb300-traffic.coach{width:275px;height:101px}.mb300-traffic.taxi,.mb300-traffic.private{width:155px;height:70px}.mb300-traffic.tuk{width:106px;height:73px}.mb300-route-progress{top:68%;width:61vw}.mb300-stop-helper{top:63.2%}.mb210-cockpit{padding:8px 18px;gap:11px}.mb210-parking button{width:96px;height:84px}.mb210-speedo{width:114px;height:114px}.mb210-pedals .gas{width:96px;height:112px}.mb210-pedals .brake{width:82px}
}
@media(max-width:900px){
  .mb2d-scene{bottom:27%}.mb300-sky{bottom:59%}.mb300-city{top:14%;height:46%}.mb300-sidewalk{top:60%;height:12%}.mb300-road{top:72%;height:23%}.mb300-front-curb{top:95%}.mb300-player{width:330px;height:132px}.mb300-route-name{top:65px;min-width:230px}.mb300-route-progress{top:65.8%;width:72vw}.mb300-route-progress span{display:none}.mb300-station{transform:translateX(-50%) scale(.82);transform-origin:center bottom}.mb300-person{width:34px;height:78px}.mb300-traffic.coach{width:225px;height:84px}.mb300-traffic.taxi,.mb300-traffic.private{width:126px;height:58px}.mb300-traffic.tuk{width:88px;height:61px}.mb300-flow{width:360px;transform:translateX(-38%)}.mb300-flow .mb300-person.boarding{left:250px}.mb300-flow .mb300-person.alighting{left:120px}.mb300-stop-helper{top:61%}
  .mb210-cockpit{height:27%;min-height:150px;padding:7px 9px;grid-template-columns:.7fr 1.35fr .95fr}.mb210-parking small{display:none}.mb210-parking button{width:78px;height:72px;border-width:4px}.mb210-parking button b{font-size:1.7rem}.mb210-speedo{width:99px;height:99px}.mb210-speedo strong{font-size:1.65rem}.mb210-fuel{width:61px;height:82px}.mb210-gearbox{width:66px;height:84px}.mb210-pedals{gap:8px}.mb210-pedals .gas{width:76px;height:99px}.mb210-pedals .brake{width:67px;height:73px}.mb210-road-actions{bottom:28.5%;left:8px}.mb210-road-actions .nidaa-main{width:58px;height:58px}.mb210-road-actions .route-call,.mb210-road-actions .horn{min-width:68px;height:36px}.mb210-social-actions{bottom:28.5%;right:8px}.mb2d-nidaa-dock{bottom:28%}
}
