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

/* =========================================================
   EL MICROBUS TLGAWY v5.0.0 — 2D FINAL SYSTEM
   One line · shared passengers · collisions · maintenance · traffic police
   ========================================================= */
.mb2d-topstats .bad{color:#ff7a7a;border-color:rgba(255,84,84,.45)}
.mb210-fuel i{background:linear-gradient(90deg,#2f9a65 0 var(--fuel,100%),#263236 var(--fuel,100%) 100%)!important}
.mb5-maint-quick{position:absolute;z-index:58;left:50%;bottom:25.2%;transform:translateX(-50%);height:39px;min-width:150px;border:1px solid rgba(255,255,255,.15);border-radius:12px;background:rgba(14,22,25,.94);color:#eef4f5;display:flex;align-items:center;justify-content:center;gap:7px;box-shadow:0 7px 18px rgba(0,0,0,.25);backdrop-filter:blur(10px)}
.mb5-maint-quick svg{width:17px;color:#ffd44a}.mb5-maint-quick span{font-size:.62rem}.mb5-maint-quick b{color:#45d689;font-size:.75rem}.mb5-maint-quick.bad{border-color:#e64a55;background:rgba(82,20,27,.94)}.mb5-maint-quick.bad b{color:#ff7c85}
.mb5-warning{position:absolute;z-index:90;left:50%;top:68px;transform:translateX(-50%);display:flex;align-items:center;gap:8px;padding:8px 14px;border-radius:999px;font-size:.67rem;font-weight:900;color:white;box-shadow:0 8px 20px rgba(0,0,0,.28);backdrop-filter:blur(9px)}
.mb5-warning.block{background:rgba(164,39,45,.94);border:1px solid #ff8287}.mb5-warning.fuel{top:106px;background:rgba(157,102,9,.95);border:1px solid #ffd252}.mb5-warning svg{width:18px}
.mb5-line-card{display:grid;gap:5px;padding:16px;border:1px solid rgba(255,255,255,.12);border-radius:16px;background:linear-gradient(135deg,#172326,#0f171a);margin-bottom:12px}.mb5-line-card b{font-size:1rem;color:#ffda48}.mb5-line-card small{color:#b9c6ca;line-height:1.8}
.mb5-maint-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:10px}.mb5-meter{padding:13px;border:1px solid rgba(255,255,255,.1);border-radius:14px;background:#111a1d;display:grid;gap:7px}.mb5-meter span{font-size:.62rem;color:#aebdc1}.mb5-meter b{font-size:1rem}.mb5-meter>i{height:7px;background:#263338;border-radius:999px;overflow:hidden}.mb5-meter>i>em{display:block;height:100%;background:linear-gradient(90deg,#24a96c,#51dc91);border-radius:999px}.mb5-meter.bad{border-color:#8f343c}.mb5-meter.bad b{color:#ff777f}.mb5-meter.bad>i>em{background:linear-gradient(90deg,#a62734,#ef5862)}
.mb5-maint-info{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0}.mb5-maint-info span{padding:8px 11px;border-radius:10px;background:#172226;color:#d9e2e5;font-size:.65rem;border:1px solid rgba(255,255,255,.08)}
.mb5-maint-actions{display:flex;gap:8px;flex-wrap:wrap}.mb5-maint-actions button{border:0;border-radius:11px;background:#263338;color:#fff;padding:10px 14px;display:flex;align-items:center;gap:6px}.mb5-maint-actions button svg{width:17px}.mb5-maint-actions .mb2d-danger{background:#8d2732}
.mb5-police{position:absolute;z-index:220;inset:0;display:grid;place-items:center;background:rgba(5,9,11,.72);backdrop-filter:blur(5px)}.mb5-police section{width:min(420px,92vw);padding:28px;border:1px solid rgba(255,255,255,.15);border-radius:24px;background:#10191d;text-align:center;box-shadow:0 30px 80px rgba(0,0,0,.45)}.mb5-police .siren{font-size:4rem;animation:mb5Siren .65s ease-in-out infinite alternate}.mb5-police h2{margin:5px 0;color:#ff6b72}.mb5-police p{color:#c6d1d4;line-height:1.8}.mb5-police b{display:block;color:#ffda4a;font-size:1.1rem;margin:9px}.mb5-police small{color:#94a5aa}@keyframes mb5Siren{to{transform:translateX(5px) rotate(2deg);filter:drop-shadow(0 0 12px #3d8cff)}}
.mb300-remote{transition:left .16s linear}.mb300-remote>span{font-weight:900;border:1px solid rgba(255,255,255,.14)}
.mb300-road{box-shadow:inset 0 11px 21px rgba(0,0,0,.18),0 0 0 1px rgba(255,255,255,.02)}
.mb300-player{filter:drop-shadow(0 8px 7px rgba(0,0,0,.22))}
.mb300-route-progress{z-index:52;top:65.4%}
.mb2d-trip-chip{z-index:62}

@media(max-width:900px){
  .mb5-maint-grid{grid-template-columns:repeat(2,1fr)}
  .mb5-maint-quick{bottom:28.6%;min-width:120px;height:35px}.mb5-maint-quick span{display:none}
  .mb5-warning{top:66px;max-width:86vw;text-align:center;font-size:.57rem}.mb5-warning.fuel{top:101px}
}

/* =========================================================
   TLGAWY v5.1.0 — 2D PRO STAGES
   Station/world fix + professional HUD + career stages
   ========================================================= */
.mb300-route-progress{display:none!important}
.mb510-route-hud{position:absolute;z-index:58;top:72px;left:50%;transform:translateX(-50%);width:min(780px,58vw);min-height:48px;padding:6px 8px;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:9px;border:1px solid rgba(255,255,255,.14);border-radius:15px;background:linear-gradient(180deg,rgba(10,17,20,.94),rgba(19,29,33,.91));box-shadow:0 9px 26px rgba(0,0,0,.25);backdrop-filter:blur(12px);direction:rtl;pointer-events:auto}
.mb510-stage-badge,.mb510-career{height:36px;border:0;border-radius:10px;background:#1d2a2e;color:#fff;display:flex;align-items:center;gap:7px;padding:0 10px;white-space:nowrap}.mb510-stage-badge svg,.mb510-career svg{width:17px;color:#ffd23f}.mb510-stage-badge span,.mb510-career span{display:grid;text-align:right;line-height:1.2}.mb510-stage-badge small,.mb510-career small{font-size:.48rem;color:#9eacb1}.mb510-stage-badge b,.mb510-career b{font-size:.66rem}.mb510-career{cursor:pointer;border:1px solid rgba(255,210,63,.22)}
.mb510-route-meter{display:grid;gap:4px;min-width:0}.mb510-route-meter .labels{display:flex;justify-content:space-between;align-items:center;gap:10px;font-size:.58rem}.mb510-route-meter .labels span{color:#e1e8ea;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mb510-route-meter .labels b{color:#ffd544;white-space:nowrap}.mb510-route-meter .bar{height:7px;border-radius:999px;background:#344247;overflow:hidden;box-shadow:inset 0 1px 3px rgba(0,0,0,.55)}.mb510-route-meter .bar i{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#e39a00,#ffd64c,#fff1a0);box-shadow:0 0 12px rgba(255,207,43,.35);transition:width .18s linear}
.mb2d-trip-chip{top:126px}
.mb300-stop-helper{top:auto!important;bottom:27.2%!important}

/* المحطة جسم ثابت في العالم، بدون أي انتقال/مطاردة للعربية */
.mb300-station{transition:none!important;will-change:left;z-index:31}.mb300-station:after{content:"";position:absolute;left:-86px;right:-10px;bottom:-5px;height:8px;border-radius:50%;background:rgba(0,0,0,.18);filter:blur(4px);z-index:-1}.mb300-shelter{box-shadow:0 8px 18px rgba(0,0,0,.22),inset 0 0 0 1px rgba(255,255,255,.14)}.mb300-shelter .roof:after{content:"TLGAWY • EGYPT";display:block;font-size:.38rem;opacity:.65;letter-spacing:.08em}.mb300-stop-sign{background:linear-gradient(#fff9e8,#eee6cd)}

/* عمق بصري أقرب لألعاب 2D التجارية */
.mb300-world:after{content:"";position:absolute;inset:0;pointer-events:none;z-index:47;background:linear-gradient(180deg,rgba(255,255,255,.035),transparent 18%,transparent 72%,rgba(0,0,0,.08));box-shadow:inset 0 0 85px rgba(24,31,31,.10)}
.mb300-road{background-color:#242829!important;background-image:linear-gradient(180deg,rgba(255,255,255,.035),rgba(0,0,0,.10)),repeating-linear-gradient(104deg,transparent 0 42px,rgba(255,255,255,.012) 42px 43px)!important;box-shadow:inset 0 12px 22px rgba(255,255,255,.025),inset 0 -16px 28px rgba(0,0,0,.12)}
.mb300-road:after{content:"";position:absolute;inset:0;pointer-events:none;background:radial-gradient(ellipse at 22% 63%,rgba(0,0,0,.12),transparent 11%),radial-gradient(ellipse at 72% 34%,rgba(255,255,255,.018),transparent 9%);background-size:460px 130px,620px 160px;opacity:.68}
.mb300-player{filter:drop-shadow(0 12px 9px rgba(0,0,0,.28));z-index:42}.mb300-player.accelerating{transform-origin:center bottom}.mb300-player.braking{filter:drop-shadow(0 10px 8px rgba(0,0,0,.34)) brightness(.99)}
.mb300-traffic{filter:drop-shadow(0 7px 5px rgba(0,0,0,.22))}.mb300-person{filter:drop-shadow(0 4px 2px rgba(0,0,0,.16))}
.mb300-building{box-shadow:0 8px 20px rgba(0,0,0,.10),inset 0 0 0 1px rgba(255,255,255,.10)}

/* تغير هوية المشهد مع مراحل الخط */
.mb510-district-sign{position:absolute;z-index:11;left:50%;top:132px;transform:translateX(-50%);display:flex;align-items:center;gap:7px;padding:5px 11px;border-radius:999px;background:rgba(31,45,49,.72);border:1px solid rgba(255,255,255,.15);box-shadow:0 5px 16px rgba(0,0,0,.14);backdrop-filter:blur(7px);direction:rtl}.mb510-district-sign small{font-size:.43rem;color:#d6dfe1}.mb510-district-sign b{font-size:.62rem;color:#fff}.mb510-district-sign span{font-size:.53rem;color:#ffd64b;font-weight:900}
.mb510-landmark{position:absolute;z-index:1;bottom:0;right:9%;width:135px;height:110px;opacity:.22;display:grid;place-items:end center;pointer-events:none}.mb510-landmark b{font-size:4.2rem;filter:grayscale(.3) saturate(.8);text-shadow:0 6px 10px rgba(0,0,0,.1)}.mb510-landmark i{position:absolute;bottom:0;width:115px;height:64px;border-radius:70% 70% 0 0;background:rgba(91,77,59,.24);filter:blur(.2px)}
.mb510-stage-1 .mb300-sky{background:linear-gradient(#8fbfd4,#d8d5c4 72%,#d8c19a)}.mb510-stage-2 .mb300-sky{background:linear-gradient(#93b9c7,#d7d0ba 74%,#cfb48f)}.mb510-stage-3 .mb300-city{filter:saturate(1.06) contrast(1.02)}.mb510-stage-4 .mb300-sky{background:linear-gradient(#8ab8cf,#d9d8ca 72%,#d8c3a0)}.mb510-stage-5 .mb300-city{filter:saturate(.94) brightness(1.035)}.mb510-stage-6 .mb300-sky{background:linear-gradient(#90bfd3,#e2d7ba 72%,#d9bb8d)}

/* لوحة المراحل */
.mb510-career-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px;border:1px solid var(--line);border-radius:14px;background:#172226}.mb510-career-head>div{display:flex;align-items:center;gap:10px}.mb510-career-head svg{color:#ffd43f;width:28px}.mb510-career-head span{display:grid}.mb510-career-head small{font-size:.62rem;color:#91a2a8}.mb510-career-head b{font-size:1rem}.mb510-career-head strong{font-size:.72rem;color:#ffd43f}.mb510-career-progress{height:9px;margin:10px 2px 16px;border-radius:999px;background:#2d383c;overflow:hidden}.mb510-career-progress i{display:block;height:100%;background:linear-gradient(90deg,#15925b,#f4c42f);border-radius:inherit}
.mb510-stages-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.mb510-stages-grid article{min-height:92px;border:1px solid var(--line);border-radius:13px;background:#131d21;padding:10px;display:grid;grid-template-columns:32px 1fr;gap:8px;position:relative}.mb510-stages-grid article.locked{opacity:.45;filter:grayscale(.75)}.mb510-stages-grid article.unlocked{border-color:rgba(255,208,53,.25);background:linear-gradient(145deg,#172327,#1d2929)}.mb510-stages-grid .num{width:30px;height:30px;border-radius:50%;display:grid;place-items:center;background:#27353a;color:#ffd441;font-weight:900}.mb510-stages-grid article div{display:grid;gap:2px}.mb510-stages-grid b{font-size:.7rem}.mb510-stages-grid small{font-size:.54rem;color:#99a8ad}.mb510-stages-grid em{font-style:normal;font-size:.51rem;color:#d4c07a}.mb510-stages-grid strong{position:absolute;left:8px;bottom:7px;font-size:.49rem;color:#73d9a5}.mb510-route-stage-title{margin:18px 0 9px;font-size:.9rem}.mb510-route-stage-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.mb510-route-stage-grid article{display:flex;gap:8px;align-items:center;padding:10px;border-radius:12px;background:#151f23;border:1px solid var(--line)}.mb510-route-stage-grid article.active{border-color:#e8b92e;box-shadow:0 0 0 1px rgba(232,185,46,.18),0 7px 20px rgba(0,0,0,.18)}.mb510-route-stage-grid>article>span{font-size:1.6rem}.mb510-route-stage-grid div{display:grid}.mb510-route-stage-grid b{font-size:.67rem}.mb510-route-stage-grid small{font-size:.55rem;color:#ffd24a}.mb510-route-stage-grid em{font-style:normal;font-size:.48rem;color:#93a4a9}

@media(max-width:900px){
  .mb510-route-hud{top:61px;width:calc(100vw - 14px);min-height:41px;grid-template-columns:auto 1fr;padding:5px 7px}.mb510-career{display:none}.mb510-stage-badge{height:31px;padding:0 7px}.mb510-stage-badge small{display:none}.mb510-route-meter .labels{font-size:.51rem}.mb2d-trip-chip{top:107px}.mb510-district-sign{top:110px}.mb510-stages-grid,.mb510-route-stage-grid{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:560px){
  .mb510-stage-badge b{font-size:.57rem}.mb510-stage-badge svg{display:none}.mb510-route-meter .labels span{max-width:42vw}.mb510-route-meter .labels b{font-size:.51rem}.mb510-stages-grid,.mb510-route-stage-grid{grid-template-columns:1fr}.mb510-district-sign{display:none}.mb2d-trip-chip{top:105px}
}


/* TLGAWY v5.1.2 — passenger complaint feedback */
.mb511-complaint{
  position:fixed;z-index:2147483100;top:186px;left:50%;transform:translateX(-50%);
  width:min(720px,calc(100vw - 28px));display:flex;align-items:center;gap:14px;
  background:linear-gradient(135deg,rgba(87,19,19,.97),rgba(45,14,14,.96));
  border:1px solid rgba(255,112,80,.55);box-shadow:0 18px 55px rgba(0,0,0,.42);
  border-radius:18px;padding:12px 16px;color:#fff;direction:rtl;animation:mb511ComplaintIn .26s ease-out both
}
.mb511-complaint .face{font-size:30px;filter:drop-shadow(0 3px 7px #0008)}
.mb511-complaint div{display:flex;flex-direction:column;gap:2px;min-width:0}
.mb511-complaint small{color:#ffb7a5;font-weight:800}
.mb511-complaint b{font-size:14px;line-height:1.65}
.mb511-complaint em{font-style:normal;color:#ffd86b;font-size:12px;font-weight:900}
.mb2d-trip-chip span.bad{color:#ff7b73}
@keyframes mb511ComplaintIn{from{opacity:0;transform:translate(-50%,-18px) scale(.97)}to{opacity:1;transform:translate(-50%,0) scale(1)}}
@media(max-width:700px){.mb511-complaint{top:178px;padding:10px 12px}.mb511-complaint b{font-size:12px}}

/* =========================================================
   TLGAWY v5.2.0 — 2D LIFE PRO + OWNER ADMIN STUDIO
   True world-distance stations, richer motion, sound studio.
   ========================================================= */
:root{--mb520-gold:#ffd43f;--mb520-green:#42d98f;--mb520-panel:#111b1f;--mb520-line:#304047}
.mb2d-brand small{color:#a9bbc1!important}.mb2d-brand b{letter-spacing:.01em}
.mb2d-side-menu button.admin{border-color:rgba(255,202,54,.34);background:linear-gradient(135deg,#252617,#192326);color:#ffe16c}.mb2d-side-menu button.admin svg{color:#ffd43f}

/* World movement: every landmark/station belongs to world coordinates, not to the player */
.mb300-world{overflow:hidden;isolation:isolate;background:#b8cbd1}
.mb300-sky{background:linear-gradient(#89bdd4 0%,#c8d8da 58%,#e6d0a5 100%);transition:background .7s ease}
.mb300-sky .haze{position:absolute;inset:45% 0 0;background:linear-gradient(180deg,rgba(237,220,181,.12),rgba(220,188,137,.36));pointer-events:none}
.mb300-city{will-change:contents}.mb300-building{transform:translateZ(0);backface-visibility:hidden}
.mb300-sidewalk{box-shadow:inset 0 8px rgba(255,255,255,.17),0 7px 10px rgba(0,0,0,.08)}
.mb300-road{will-change:background-position;transform:translateZ(0)}
.mb300-road:before,.mb300-road .lane-line,.mb300-front-curb:before{will-change:background-position}
.mb300-player.accelerating .mb300-bus{animation:mb520DriveLife .26s linear infinite}
.mb300-player.braking .mb300-bus{animation:mb520BrakeLife .18s ease-out both}
@keyframes mb520DriveLife{0%,100%{transform:translateY(0) rotate(.02deg)}25%{transform:translateY(-1px) rotate(-.04deg)}50%{transform:translateY(-1.8px) rotate(.03deg)}75%{transform:translateY(-.7px) rotate(.01deg)}}
@keyframes mb520BrakeLife{from{transform:translateX(0) rotate(0)}to{transform:translateX(-4px) rotate(-.34deg)}}
.mb300-bus:after{content:"";position:absolute;left:9%;right:8%;bottom:6%;height:12%;border-radius:50%;background:rgba(0,0,0,.22);filter:blur(8px);z-index:-1;transform:scaleX(.96)}
.mb300-remote{opacity:.96}.mb300-remote .mb300-bus{filter:saturate(.94) brightness(.98)}

/* Fixed route objects. left is recalculated from route meter every frame. Never tween a station toward the bus. */
.mb300-station{transition:none!important;animation:none;will-change:left;contain:layout style;pointer-events:none}
.mb300-station.active{filter:drop-shadow(0 7px 8px rgba(0,0,0,.20))}
.mb300-station.active .mb300-shelter .roof{background:linear-gradient(90deg,#9f6c07,#e8af19,#9b6705);box-shadow:0 0 0 2px rgba(255,219,97,.18),0 0 24px rgba(255,192,43,.36)}
.mb300-station.active .mb300-stop-sign{animation:mb520StationPulse 1s ease-in-out infinite alternate}
@keyframes mb520StationPulse{to{transform:translateY(-3px);filter:brightness(1.08)}}
.mb300-waiting .mb300-person{transition:opacity .2s linear}

/* Boarding people visibly walk from the physical stop to the microbus door. */
.mb300-flow{z-index:45;transform:translateX(-50%);width:620px;overflow:visible}
.mb300-flow .mb300-person.boarding{left:50%;animation:mb520Board 4.65s cubic-bezier(.18,.72,.27,1) forwards}
.mb300-flow .mb300-person.alighting{left:50%;animation:mb520Alight 4.4s cubic-bezier(.18,.72,.27,1) forwards}
@keyframes mb520Board{
  0%{transform:translateX(calc(var(--station-dx) + 70px + var(--i)*28px)) scale(.96);opacity:1}
  28%{transform:translateX(calc(var(--station-dx) + 25px + var(--i)*12px)) scale(.94);opacity:1}
  72%{transform:translateX(calc(95px + var(--i)*2px)) scale(.80);opacity:1}
  100%{transform:translateX(82px) translateY(-13px) scale(.47);opacity:0}
}
@keyframes mb520Alight{
  0%{transform:translateX(82px) translateY(-13px) scale(.47);opacity:0}
  15%{opacity:1}
  65%{transform:translateX(calc(var(--station-dx) + 18px + var(--i)*12px)) scale(.91);opacity:1}
  100%{transform:translateX(calc(var(--station-dx) + 78px + var(--i)*28px)) scale(.98);opacity:1}
}
.mb300-flow-label{top:-42px;background:rgba(11,20,23,.96);border-color:rgba(255,210,57,.28);box-shadow:0 11px 28px rgba(0,0,0,.28)}

/* 10 visual route districts: obvious progression even though gameplay is one line. */
.mb520-stage-1 .mb300-sky{background:linear-gradient(#8cc0d7,#d9d8c4 73%,#d9bd91)}
.mb520-stage-2 .mb300-sky{background:linear-gradient(#91bfd2,#dbd1b8 72%,#ceb085)}
.mb520-stage-3 .mb300-city{filter:saturate(1.04) contrast(1.02)}
.mb520-stage-4 .mb300-sky{background:linear-gradient(#86b8d0,#dcd6c5 73%,#d2b58c)}
.mb520-stage-5 .mb300-city{filter:saturate(.96) brightness(1.025)}
.mb520-stage-6 .mb300-sky{background:linear-gradient(#88bad2,#ded8c4 71%,#d6b98d)}
.mb520-stage-7 .mb300-sky{background:linear-gradient(#7eb5d1,#d5d9d0 69%,#d4bea0)}
.mb520-stage-8 .mb300-city{filter:saturate(1.08) brightness(1.015)}
.mb520-stage-9 .mb300-sky{background:linear-gradient(#83b8d0,#ded7c6 72%,#cfb082)}
.mb520-stage-10 .mb300-city{filter:saturate(1.05) contrast(1.035)}
.mb520-stage-7 .mb510-landmark b:after{content:" النيل";font:800 .55rem Cairo;color:#325f74}

/* More readable route HUD; progress animates continuously with distance driven by scene. */
.mb510-route-hud{top:70px;width:min(860px,64vw);z-index:76;background:linear-gradient(180deg,rgba(9,17,20,.965),rgba(18,28,32,.94));box-shadow:0 12px 32px rgba(0,0,0,.32)}
.mb510-route-meter .bar{height:9px;border:1px solid rgba(255,255,255,.06)}
.mb510-route-meter .bar i{transition:width .06s linear;background:linear-gradient(90deg,#d28b00,#ffd638 58%,#fff1a3)}
.mb510-district-sign{z-index:73}

/* Owner/admin studio */
.mb520-admin-overlay{position:fixed;z-index:2147483300;inset:0;background:rgba(4,9,11,.80);backdrop-filter:blur(8px);padding:18px;display:grid;place-items:center;direction:rtl}
.mb520-admin{width:min(1220px,calc(100vw - 32px));height:min(790px,calc(100vh - 34px));overflow:hidden;background:linear-gradient(145deg,#101a1e,#121f23);border:1px solid #36484f;border-radius:24px;box-shadow:0 32px 100px rgba(0,0,0,.60);color:#eef3f4;display:grid;grid-template-rows:auto auto auto 1fr}
.mb520-admin.loading{height:180px;display:flex;align-items:center;justify-content:center;gap:12px}.mb520-admin.loading svg{color:#ffd43f}
.mb520-admin-head{display:flex;align-items:center;justify-content:space-between;padding:15px 18px;border-bottom:1px solid #2c3b41;background:linear-gradient(90deg,#14242a,#101a1e)}
.mb520-admin-head>div{display:flex;align-items:center;gap:12px}.mb520-admin-head>div>svg{width:32px;height:32px;color:#ffd43f}.mb520-admin-head span{display:grid}.mb520-admin-head h2{font-size:1.05rem;margin:0}.mb520-admin-head small{font-size:.58rem;color:#9db0b6}.mb520-admin-head>button{width:40px;height:40px;border:1px solid #3b4b50;background:#1a282d;color:#fff;border-radius:12px;display:grid;place-items:center;cursor:pointer}
.mb520-admin-stats{display:flex;gap:7px;flex-wrap:wrap;padding:9px 16px;background:#0c1518;border-bottom:1px solid #243238}.mb520-admin-stats span{padding:6px 10px;border-radius:999px;background:#19262a;border:1px solid #2c3d42;font-size:.59rem;color:#d6e0e3}
.mb520-admin-tabs{display:flex;gap:6px;padding:9px 14px;border-bottom:1px solid #2b393e}.mb520-admin-tabs button{height:38px;border:1px solid #34454b;border-radius:10px;background:#172429;color:#d6dfe2;padding:0 12px;display:flex;align-items:center;gap:7px;font-family:Cairo;cursor:pointer}.mb520-admin-tabs button svg{width:17px}.mb520-admin-tabs button.active{border-color:#d6a91c;background:#2f2a16;color:#ffe16c}
.mb520-admin-body{overflow:auto;padding:13px;scrollbar-width:thin;scrollbar-color:#56676d #121d21}
.mb520-admin-search{height:42px;display:flex;align-items:center;gap:8px;border:1px solid #34464c;background:#0e181b;border-radius:12px;padding:0 10px;margin-bottom:10px}.mb520-admin-search svg{width:18px;color:#96aab0}.mb520-admin-search input{flex:1;background:transparent;border:0;outline:0;color:#fff;font-family:Cairo}
.mb520-users{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.mb520-users article,.mb520-sounds article,.mb520-game-settings article{background:#131f23;border:1px solid #2d3e44;border-radius:14px;padding:11px}.mb520-users .title,.mb520-sounds .sound-head{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:9px}.mb520-users .title>div,.mb520-sounds .sound-head>div{display:grid}.mb520-users .title small,.mb520-sounds .sound-head small{font-size:.5rem;color:#8fa2a8}.mb520-users .title strong{font-size:.52rem;padding:4px 8px;border-radius:999px;background:#153727;color:#70e4a8}.mb520-users .title strong.bad{background:#4a2021;color:#ff9b94}
.mb520-users .fields,.mb520-game-settings .fields{display:grid;grid-template-columns:repeat(3,1fr);gap:7px}.mb520-users label,.mb520-sounds label,.mb520-game-settings label{display:grid;gap:4px;font-size:.52rem;color:#9faeb3}.mb520-users input,.mb520-users select,.mb520-sounds textarea,.mb520-sounds select,.mb520-game-settings input{width:100%;box-sizing:border-box;border:1px solid #34464d;border-radius:9px;background:#0e181b;color:#fff;padding:7px 8px;font:600 .62rem Cairo;outline:none}.mb520-users input:focus,.mb520-sounds textarea:focus,.mb520-game-settings input:focus{border-color:#d3a91f;box-shadow:0 0 0 2px rgba(255,209,61,.08)}
.mb520-users .actions,.mb520-sounds .actions{display:flex;gap:6px;flex-wrap:wrap;margin-top:9px}.mb520-users button,.mb520-sounds button,.mb520-sounds .upload,.mb520-game-settings button{min-height:34px;border:1px solid #3b4c51;border-radius:9px;background:#1b2a2f;color:#edf3f4;padding:0 10px;font:700 .57rem Cairo;display:inline-flex;align-items:center;justify-content:center;gap:6px;cursor:pointer}.mb520-users button svg,.mb520-sounds button svg,.mb520-sounds .upload svg{width:15px}.mb520-users button.danger,.mb520-sounds button.danger{border-color:#673235;background:#32191b;color:#ffaaa4}.mb520-sounds .upload{position:relative;overflow:hidden}.mb520-sounds .upload input{position:absolute;inset:0;opacity:0;cursor:pointer}.mb520-sounds button.recording{background:#7a1f23;border-color:#e05d63;animation:mb520Record 1s ease-in-out infinite alternate}@keyframes mb520Record{to{box-shadow:0 0 0 5px rgba(255,70,75,.10)}}
.mb520-sounds{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.mb520-sounds article.disabled{opacity:.62}.mb520-sounds .wide{grid-column:1/-1}.mb520-sounds textarea{resize:vertical;min-height:55px}.mb520-sounds .sound-fields{display:grid;grid-template-columns:2fr 1fr;gap:9px;margin-top:7px}.mb520-sounds input[type=range]{width:100%}
.mb520-game-settings{display:grid;grid-template-columns:1fr 1fr;gap:10px}.mb520-game-settings article h3{font-size:.78rem;margin:0 0 9px;color:#ffd64b}.mb520-game-settings>button{grid-column:1/-1;background:linear-gradient(135deg,#b98808,#e6b421);color:#151709;border:0;height:43px;font-weight:900}

@media(max-width:900px){
 .mb510-route-hud{width:calc(100vw - 18px);top:61px}.mb520-admin-overlay{padding:7px}.mb520-admin{width:100%;height:calc(100vh - 14px);border-radius:16px}.mb520-users,.mb520-sounds,.mb520-game-settings{grid-template-columns:1fr}.mb520-users .fields,.mb520-game-settings .fields{grid-template-columns:repeat(2,1fr)}.mb520-admin-head small{display:none}.mb520-admin-tabs{overflow-x:auto}.mb520-admin-tabs button{white-space:nowrap}.mb300-flow{width:440px}
}
@media(max-width:560px){
 .mb520-users .fields,.mb520-game-settings .fields,.mb520-sounds .sound-fields{grid-template-columns:1fr 1fr}.mb520-admin-body{padding:8px}.mb520-admin-head{padding:10px}.mb520-admin-stats{padding:7px 9px}.mb520-admin-stats span{font-size:.50rem}.mb300-flow{width:360px}.mb510-route-hud{grid-template-columns:auto 1fr}
}
