@import url('https://fonts.googleapis.com/css2?family=Nunito:wght@400;600;700;800;900&display=swap');
:root{font-family:Nunito,system-ui,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;color:#202945;background:#f3f5fc;font-synthesis:none}*{box-sizing:border-box}button{font:inherit;cursor:pointer}button:disabled{cursor:not-allowed;opacity:.4}body{margin:0;min-height:100vh;background:radial-gradient(ellipse at 12% 5%,#e6e6ff 0,transparent 37%),radial-gradient(ellipse at 85% 15%,#d9f6f3 0,transparent 33%),#f3f5fc}.topbar{height:83px;padding:0 max(24px,calc((100vw - 1260px)/2));display:flex;align-items:center;justify-content:space-between;background:#ffffffd9;border-bottom:1px solid #e7eaf4;backdrop-filter:blur(12px)}.brand{display:flex;gap:11px;align-items:center;text-decoration:none;color:#29314a;font-size:26px;font-weight:1000;letter-spacing:-1.8px;line-height:1}.brandicon{font-size:31px;background:#eff0ff;padding:8px;border-radius:15px;letter-spacing:0}.brandaccent{color:#8065e8}.brand small{display:block;font-size:9px;letter-spacing:3px;color:#9aa2b7;padding-top:5px;font-weight:900}.top-actions{display:flex;gap:9px}.iconbtn,.pillbutton{background:white;border:1px solid #e5e9f3;color:#606a84;box-shadow:0 3px 9px #18214308;height:41px;border-radius:12px;font-weight:900}.iconbtn{width:43px;font-size:21px}.pillbutton{padding:0 18px}.shell{max-width:1250px;margin:0 auto;padding:30px 22px;display:grid;grid-template-columns:minmax(0,1.45fr) minmax(290px,.8fr);gap:25px}.gamecol,.sidebar{min-width:0}.levelheader{display:flex;justify-content:space-between;align-items:center;margin:0 0 23px}.eyebrow{font-size:11px;font-weight:1000;letter-spacing:2.2px;color:#8974e2}.levelheader h1{font-size:clamp(25px,3.4vw,39px);line-height:1.2;margin:7px 0 5px;letter-spacing:-1.6px;font-weight:1000}.levelheader h1 em{font-style:normal;color:#8065e8}.levelheader p{margin:0;color:#9099ae;font-size:13px;font-weight:700}.levelchip{min-width:88px;background:white;border:1px solid #e9ebf7;border-radius:19px;text-align:center;padding:12px;box-shadow:0 9px 25px #24305b0a}.levelchip span{font-size:10px;font-weight:1000;letter-spacing:1.3px;color:#a4aabc;display:block}.levelchip b{font-size:30px;color:#8065e8}.statusbar{display:grid;grid-template-columns:repeat(4,1fr);background:white;border:1px solid #e6e9f5;border-radius:19px;margin-bottom:16px;box-shadow:0 9px 24px #222c5609;padding:16px 8px}.stat{padding:0 17px;border-right:1px solid #e9ebf4}.stat.last{border:0}.stat span{color:#a5adbd;letter-spacing:1.4px;font-weight:1000;font-size:10px;display:block;margin-bottom:3px}.stat strong{font-size:23px;font-weight:1000;letter-spacing:-1px}.starvalue{color:#eca94b}.boardwrap{border-radius:24px;background:white;border:1px solid #e7eaf3;box-shadow:0 20px 50px #26345b12;overflow:hidden}.boardtop,.boardbottom{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;font-size:12px;font-weight:900;letter-spacing:1px;color:#7b859b}.boardtop{background:#fff}.boardtop>span:first-child{color:#53617c}.pulse{display:inline-block;width:9px;height:9px;border-radius:50%;background:#56ceaa;box-shadow:0 0 0 4px #56ceaa25;margin-right:5px}.boardstage{background:#cad0df;position:relative;padding:17px;overflow:hidden}.floor{--n:7;position:relative;width:100%;aspect-ratio:1;background-color:#dce3e9;background-image:linear-gradient(#ffffff70 1px,transparent 1px),linear-gradient(90deg,#ffffff70 1px,transparent 1px),radial-gradient(#c7d1d9 1.1px,transparent 1.1px);background-size:calc(100% / var(--n)) calc(100% / var(--n)),calc(100% / var(--n)) calc(100% / var(--n)),13px 13px;border:7px solid #b4c4cb;border-radius:14px;box-shadow:inset 0 3px 9px #4c718326,0 5px 0 #adbcc5}.floor:before{content:'';position:absolute;inset:0;border:2px dashed #ffffff80;pointer-events:none;border-radius:5px}.bus{position:absolute;border:0;border-radius:14px;display:block;padding:0;z-index:2;background:linear-gradient(145deg,var(--light),var(--color) 48%,var(--dark));box-shadow:inset 0 4px 0 #ffffff60,inset 0 -5px 0 #0000001d,0 6px 2px #32485c36,0 8px 15px #25374f3b;transform-origin:center;transition:transform .55s cubic-bezier(.2,.82,.2,1),opacity .45s ease,filter .15s;overflow:visible;outline-offset:3px}.bus:hover:not(.departing){filter:brightness(1.08);z-index:5}.bus.blocked{cursor:not-allowed}.bus.blocked:after{content:' ';position:absolute;inset:0;border-radius:inherit;background:#29354608}.bus .roof{position:absolute;inset:12% 13%;border:2px solid #ffffff73;border-radius:10px;background:linear-gradient(90deg,#ffffff15,#ffffff40 48%,#ffffff12)}.bus .windows{position:absolute;inset:27% 21%;display:flex;gap:6%;align-items:stretch}.bus .windows i{display:block;flex:1;background:linear-gradient(145deg,#e5ffff,#5c8fbb);border:2px solid #ffffff9c;border-radius:4px;box-shadow:inset 1px 1px 1px #ffffffac}.bus .wind{position:absolute;right:3%;top:18%;bottom:18%;width:13%;background:linear-gradient(120deg,#c7f7ff,#3f789d);border-radius:5px;border:2px solid #ffffffac}.bus .arrow{position:absolute;z-index:2;top:50%;left:50%;transform:translate(-50%,-50%);background:#ffffffc9;border-radius:50%;width:25px;height:25px;display:grid;place-items:center;color:#4b5874;font-size:16px;font-weight:1000;box-shadow:0 2px 5px #00000022}.bus .wheel{position:absolute;width:13%;height:8px;background:#303747;border-radius:4px;bottom:-5px;left:18%;box-shadow:0 -2px 0 #788597}.bus .wheel.two{left:auto;right:18%}.bus.vertical .roof{inset:13% 12%}.bus.vertical .windows{inset:21% 27%;flex-direction:column}.bus.vertical .wind{left:18%;right:18%;top:3%;bottom:auto;width:auto;height:13%}.bus.vertical .wheel{width:8px;height:13%;bottom:auto;top:18%;left:-5px}.bus.vertical .wheel.two{left:auto;right:-5px;top:auto;bottom:18%}.bus.direction-1 .wind{right:auto;left:3%}.bus.direction-3 .wind{top:auto;bottom:3%}.bus.direction-1 .arrow{transform:translate(-50%,-50%) rotate(180deg)}.bus.direction-2 .arrow{transform:translate(-50%,-50%) rotate(-90deg)}.bus.direction-3 .arrow{transform:translate(-50%,-50%) rotate(90deg)}.bus.suggested{animation:glow 1s ease-in-out 3}.bus.departing{z-index:20;pointer-events:none;filter:brightness(1.07)}@keyframes glow{50%{box-shadow:0 0 0 6px #ffde55,0 0 22px 8px #f0bc3dbb}}@keyframes shake{0%,100%{transform:translateX(0)}25%{transform:translateX(-5px)}75%{transform:translateX(5px)}}.fx{position:absolute;inset:0;pointer-events:none;overflow:hidden}.boardbottom{font-size:11px;letter-spacing:0;background:#fff}.toolbar{display:grid;grid-template-columns:repeat(3,1fr);gap:11px;margin-top:15px}.tool{display:flex;align-items:center;justify-content:center;gap:10px;border:1px solid #e3e8f4;border-radius:15px;background:white;box-shadow:0 5px 13px #1b29620a;padding:15px 7px;color:#59667e}.tool span{font-size:23px;line-height:1}.tool b{font-size:13px;font-weight:1000}.tool small{padding:2px 6px;background:#ffffff40;border-radius:5px}.primarytool{background:linear-gradient(115deg,#8168e8,#a186ee);color:white;border:0}.sidebar{padding-top:3px;display:flex;flex-direction:column;gap:17px}.queuecard,.baycard,.progresscard{background:white;border:1px solid #e5e9f5;border-radius:23px;padding:22px;box-shadow:0 11px 33px #1c28530b}.sectitle{display:flex;justify-content:space-between;gap:10px;align-items:center;font-size:12px;letter-spacing:.8px;color:#515d77;font-weight:1000}.sectitle b{color:#8065e8;white-space:nowrap;font-size:12px}.queuecard p{font-size:12px;color:#9ba5b7;line-height:1.6;margin:11px 0 17px;font-weight:700}.queueviewport{display:flex;flex-wrap:wrap;gap:8px;min-height:111px;align-content:start}.passenger{height:34px;width:23px;position:relative;animation:pop .2s ease backwards;filter:drop-shadow(0 2px 1px #39415d23)}.passenger:before{content:'';position:absolute;width:14px;height:14px;background:#f5c5a4;border-radius:50%;left:4.5px;top:0;box-shadow:inset 3px 1px #bd7e5550}.passenger:after{content:'';position:absolute;width:21px;height:18px;background:var(--color);border-radius:9px 9px 5px 5px;bottom:0;left:1px;box-shadow:inset -4px -3px #00000019}.passenger i{position:absolute;left:6px;bottom:-2px;width:4px;height:8px;background:#47506b;box-shadow:8px 0 #47506b;z-index:1;border-radius:2px}.passenger:first-child{background:#fff3a7;border-radius:9px}.nextnotice{margin-top:17px;padding:11px 12px;background:#f6f7fb;border-radius:10px;font-size:12px;font-weight:900;color:#68758d}.bays{display:grid;grid-template-columns:repeat(3,1fr);gap:9px;margin-top:20px}.bay{min-width:0;height:92px;display:flex;flex-direction:column;align-items:center;justify-content:center;background:#f7f8fc;border:2px dashed #d9ddec;border-radius:13px;gap:8px}.bay.filled{background:#fff;border:2px solid var(--color)}.bay .mini{width:51px;height:23px;background:linear-gradient(var(--light),var(--color));border-radius:7px;box-shadow:0 4px 0 var(--dark),0 6px 7px #00000025;position:relative}.bay .mini:after{content:'';position:absolute;inset:5px 7px;background:repeating-linear-gradient(90deg,#bff0ff 0 9px,transparent 9px 14px);border-radius:3px}.bay .empty{font-size:21px;color:#c2c9da}.bay small{font-size:10px;color:#8591a6;font-weight:1000;text-align:center}.warning{display:flex;gap:10px;background:#fff8ed;border-radius:12px;padding:12px;color:#b38e59;font-size:11px;font-weight:800;line-height:1.5;margin-top:15px}.warning span{background:#ffe1a8;border-radius:50%;width:19px;height:19px;flex-shrink:0;text-align:center;color:#a67a32;font-weight:1000}.meter{height:12px;background:#eff0f6;border-radius:20px;overflow:hidden;margin:19px 0}.meter div{height:100%;width:0;background:linear-gradient(90deg,#67d6c2,#6caeee);border-radius:20px;transition:width .4s}.message{font-size:12px;color:#66778d;line-height:1.6;font-weight:800;min-height:39px}.asidebottom{font-size:12px;line-height:1.8;color:#8f98ad;padding:3px 12px}.asidebottom b{color:#7b64de}footer{text-align:center;padding:20px 10px 30px;color:#a1aabe;font-size:10px;letter-spacing:1.2px;font-weight:1000}footer span{padding:0 13px;color:#d0d4e2}.overlay{position:fixed;inset:0;background:#17203ba8;backdrop-filter:blur(5px);display:flex;align-items:center;justify-content:center;z-index:50;padding:18px}.hidden{display:none!important}.dialog{position:relative;width:min(530px,100%);max-height:min(90vh,850px);overflow:auto;background:white;border-radius:28px;padding:30px;box-shadow:0 30px 90px #0b143b58;text-align:center}.close{position:absolute;right:19px;top:15px;border:0;background:#f0f2f9;color:#758097;width:31px;height:31px;border-radius:50%;font-size:25px;line-height:1}.dialog h2{font-size:27px;font-weight:1000;margin:10px 0;color:#27324a}.dialog p{font-size:13px;color:#8993aa;line-height:1.7}.modalicon{font-size:53px}.bigstars{font-size:49px;color:#f1b54f;letter-spacing:6px;text-shadow:0 5px 10px #ffd26c88}.modalactions{display:flex;flex-wrap:wrap;gap:9px;justify-content:center;margin-top:23px}.action{padding:12px 17px;border-radius:12px;background:#f0f2fa;border:0;color:#56637c;font-weight:1000;font-size:13px}.action.main{background:#856bea;color:white}.levelgrid{display:grid;grid-template-columns:repeat(6,1fr);gap:7px;max-height:365px;overflow-y:auto;padding:8px 2px}.lev{border:1px solid #e7e9f3;border-radius:11px;background:#f7f8fc;padding:8px 1px;font-weight:1000;color:#475572}.lev small{display:block;font-size:9px;color:#e8a943}.lev.current{background:#8069e8;color:white}.lev.current small{color:#fff0b3}.dialog ol{text-align:left;font-size:13px;line-height:2;color:#6f7b95}.dialog .achievement{display:flex;justify-content:space-between;gap:12px;background:#f6f7fc;padding:15px;border-radius:13px;margin-top:17px}.achievement div{font-size:11px;color:#99a3b5;font-weight:900}.achievement strong{display:block;font-size:24px;color:#525e7a}.confetti{position:absolute;width:9px;height:15px;animation:fall 1.5s forwards;z-index:21}@keyframes fall{0%{opacity:1;transform:translateY(-30px) rotate(0)}100%{opacity:0;transform:translateY(390px) rotate(600deg)}}@keyframes pop{0%{transform:scale(.5)}100%{transform:scale(1)}}@media(max-width:860px){.shell{grid-template-columns:1fr;max-width:660px}.sidebar{padding:0}.topbar{padding:0 16px}.queueviewport{min-height:55px}.boardstage{padding:10px}}@media(max-width:480px){.shell{padding:17px 10px;gap:18px}.topbar{height:68px}.brand{font-size:21px}.brandicon{font-size:23px;padding:6px}.brand small{font-size:7px;letter-spacing:2px}.top-actions{gap:5px}.iconbtn{width:36px;height:36px}.pillbutton{padding:0 10px;height:36px;font-size:12px}.pillbutton span{display:none}.levelheader{margin-bottom:16px}.levelheader p{font-size:11px}.levelchip{min-width:69px}.levelchip b{font-size:25px}.statusbar{padding:12px 0}.stat{padding:0 9px}.stat span{font-size:8px}.stat strong{font-size:18px}.boardtop,.boardbottom{padding:13px}.floor{border-width:4px}.bus{border-radius:8px}.bus .roof{border-radius:4px;border-width:1px}.bus .windows{gap:3%}.bus .windows i{border-width:1px;border-radius:2px}.bus .arrow{width:19px;height:19px;font-size:13px}.bus .wheel{height:5px;bottom:-3px}.bus.vertical .wheel{width:5px;left:-3px}.bus.vertical .wheel.two{right:-3px}.tool{gap:4px;padding:12px 4px}.tool b{font-size:11px}.tool span{font-size:20px}.queuecard,.baycard,.progresscard{padding:17px}.dialog{padding:23px 15px}.levelgrid{grid-template-columns:repeat(5,1fr)}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important}}
/* NEON CITY — original hand-crafted arcade presentation */
:root{font-family:ui-rounded,'Trebuchet MS',Nunito,system-ui,sans-serif;color:#f8faff;background:#10182e}
body{background:radial-gradient(ellipse at 17% 0%,#4e3b80 0,transparent 32%),radial-gradient(ellipse at 92% 5%,#156080 0,transparent 36%),linear-gradient(160deg,#121b36,#11162b 70%,#201945);color:#f8faff;min-height:100vh}
body:before{content:'';position:fixed;inset:0;pointer-events:none;opacity:.16;background-image:radial-gradient(#fff 1px,transparent 1px);background-size:31px 31px;mask-image:linear-gradient(#000,transparent 75%)}
.topbar{background:#111b37c9;border-bottom:1px solid #ffffff1f;box-shadow:0 14px 35px #080c2250;backdrop-filter:blur(18px);position:relative;z-index:4}
.brand{color:#fff;font-size:30px;text-shadow:0 3px 0 #182e63,0 6px 15px #040a1c}
.brandicon{background:linear-gradient(145deg,#ffdb63,#ff7a58);box-shadow:inset 0 2px 2px #fff9,0 5px 0 #b95037,0 9px 20px #090f29;border:2px solid #ffe8a4}
.brandaccent{color:#42ceff;text-shadow:0 3px 0 #14699a,0 0 15px #24bfff80}
.brand small{color:#afc8ef;letter-spacing:2px}
.iconbtn,.pillbutton{background:linear-gradient(180deg,#384870,#1f2d53);border:1px solid #7e98bc7c;color:#fff;box-shadow:inset 0 2px 0 #ffffff24,0 5px 0 #11172b,0 8px 16px #0a0f26;transition:transform .16s,filter .16s}
.iconbtn:hover,.pillbutton:hover,.tool:hover{filter:brightness(1.18);transform:translateY(-2px)}
.shell{max-width:1380px;grid-template-columns:minmax(0,1.6fr) minmax(300px,.68fr);gap:28px;padding-top:24px}
.eyebrow{color:#50dcff;text-shadow:0 0 16px #39cfff64}
.levelheader h1{font-size:clamp(35px,4vw,52px);color:#fff;letter-spacing:-2px;text-shadow:0 5px 0 #152349,0 10px 25px #0005}
.levelheader h1 em{background:linear-gradient(#ffe786,#ffa631 65%,#e9771f);background-clip:text;color:transparent;filter:drop-shadow(0 4px 0 #77422b)}
.levelheader p{color:#aebddd;font-size:14px}
.levelchip{background:linear-gradient(150deg,#3b5b93,#1b2756);border:2px solid #7796c9;color:white;box-shadow:inset 0 3px #ffffff26,0 6px 0 #0c1230,0 12px 26px #0006}
.levelchip span{color:#b5dfff}.levelchip b{color:#ffd561;text-shadow:0 3px 0 #b66e35}
.statusbar{background:linear-gradient(160deg,#263961e9,#1c2a4ee9);border:1px solid #7b9fc244;box-shadow:inset 0 2px 0 #ffffff17,0 10px 30px #0005;border-radius:22px}
.stat{border-right:1px solid #ffffff1f}.stat span{color:#aabde6}.stat strong{color:#fff}.starvalue{color:#ffcc54!important}
.boardwrap{background:#1d2b4d;border:2px solid #8cb5de88;border-radius:29px;box-shadow:0 14px 0 #0d1631,0 27px 50px #0009,inset 0 3px #ffffff30;overflow:hidden}
.boardtop,.boardbottom{background:linear-gradient(#344a70,#1b2e54);color:#d9ecff;padding:15px 21px;text-shadow:0 2px #0005}.boardtop>span:first-child{color:#e7f6ff}
.boardstage{padding:48px 37px 30px;background:linear-gradient(180deg,#90d7f3 0%,#c4e9f5 12%,#c3b8a9 12.2%,#adb7ad 20%,#7b929e 34%,#748496 100%);isolation:isolate;box-shadow:inset 0 12px 23px #172e4775;overflow:hidden}
.boardstage:before{content:'';position:absolute;left:0;top:13%;height:11%;width:100%;background:repeating-linear-gradient(90deg,#f8e8cb 0 38px,#d0bd9e 38px 40px);opacity:.6;box-shadow:0 8px 0 #4e617174}
.boardstage:after{content:'';position:absolute;inset:auto 0 0;height:18%;pointer-events:none;background:linear-gradient(transparent,#12243b50);z-index:0}
.scene-sky{position:absolute;inset:0 0 auto;height:16%;overflow:hidden;pointer-events:none;background:linear-gradient(#7ed0fc,#c8edff)}
.scene-sky:before{content:'';position:absolute;left:10%;top:-38px;width:95px;height:95px;border-radius:50%;background:#fff2b1;box-shadow:0 0 46px 15px #ffedab}
.scene-sky i{position:absolute;bottom:0;width:12%;height:65%;border-radius:6px 6px 0 0;background:linear-gradient(120deg,#79adce,#47769d);box-shadow:inset 7px 0 #ffffff35;border:2px solid #effaff47}
.scene-sky i:nth-child(1){left:30%;height:85%}.scene-sky i:nth-child(2){left:45%;height:57%}.scene-sky i:nth-child(3){left:60%;height:95%}.scene-sky i:nth-child(4){left:75%;height:75%}.scene-sky i:nth-child(5){left:89%;height:66%}
.floor{z-index:1;border:9px solid #d5d8d4;border-radius:18px;background-color:#667487;background-image:linear-gradient(#ffffff17 1px,transparent 1px),linear-gradient(90deg,#ffffff17 1px,transparent 1px),repeating-linear-gradient(35deg,#00000005 0 4px,transparent 4px 9px);box-shadow:inset 0 7px 25px #15253880,0 0 0 4px #879ba9,0 10px 0 #445364,0 19px 30px #111c315c}
.floor:before{inset:1.5%;border:3px dashed #dce7eb83;border-radius:5px}
.floor:after{content:'➜   ➜   ➜';position:absolute;bottom:2%;right:2%;color:#e7f5ff3d;font-weight:1000;font-size:clamp(11px,2.5vw,29px);pointer-events:none;letter-spacing:18px}
.exit-panel{position:absolute;right:0;top:44%;width:35px;background:linear-gradient(160deg,#5cf9ac,#078764);z-index:2;border:3px solid #b3ffd0;border-radius:11px 0 0 11px;box-shadow:0 0 21px #19ff9da8,0 7px 0 #116852;color:white;text-align:center;padding:12px 0;writing-mode:vertical-rl;font-size:12px;font-weight:1000;letter-spacing:2px}
.exit-panel span{display:inline-block;font-size:15px;margin-top:11px}
.bus{border:0!important;border-radius:13px!important;background:transparent!important;box-shadow:none!important;overflow:visible!important;transition:transform .52s cubic-bezier(.2,.82,.19,1),opacity .48s ease,filter .22s!important;filter:drop-shadow(1px 5px 3px #0a182b9c)}
.bus:before,.bus:after{display:none!important}.bus *:not(.bus-art):not(.bus-motion){box-sizing:border-box}
.bus-art{display:block;width:100%;height:100%;overflow:visible;filter:drop-shadow(0 3px 0 #192d4680)}
.bus.vertical .bus-art{position:absolute;left:50%;top:50%;width:calc(100% * var(--rot-ratio,2));height:calc(100% / var(--rot-ratio,2));transform:translate(-50%,-50%) rotate(90deg)}
.bus.direction-1 .bus-art{transform:scaleX(-1)}.bus.vertical.direction-2 .bus-art{transform:translate(-50%,-50%) rotate(-90deg)}
.bus-motion{position:absolute;right:12%;top:30%;font-size:clamp(10px,1.8vw,17px);color:#fff;text-shadow:0 2px 5px #13345d;opacity:.9;animation:arrowglow 1.4s infinite alternate}.bus-motion.reverse{right:auto;left:12%;transform:rotate(180deg)}
.bus.vertical .bus-motion{right:33%;top:15%;transform:rotate(90deg)}.bus.vertical.direction-2 .bus-motion{transform:rotate(-90deg)}
.bus.free:hover{filter:drop-shadow(0 4px 4px #051528b0) drop-shadow(0 0 10px #a6faff);z-index:8}
.bus.free:focus-visible{outline:3px solid #fff;outline-offset:2px}
.bus.blocked{filter:drop-shadow(1px 4px 2px #0a182b9c) saturate(.79)}
.bus.suggested{filter:drop-shadow(0 0 9px #fff) drop-shadow(0 0 17px #ffed76)!important;animation:buspulse 1.05s ease-in-out infinite alternate}
.bus.departing{z-index:20;filter:drop-shadow(0 0 16px #b8ffff)}
@keyframes buspulse{to{filter:drop-shadow(0 0 15px #fff) drop-shadow(0 0 24px #ffda51)}}@keyframes arrowglow{to{opacity:.28;transform:translateX(5px)}}
.toolbar{gap:13px}.tool{background:linear-gradient(180deg,#7ac4ff 0%,#318cff 60%,#1966cf);border:2px solid #a6ddff;box-shadow:inset 0 3px #ffffff9c,0 6px 0 #194b99,0 12px 20px #0005;color:white;border-radius:18px;text-shadow:0 2px #17467b;transition:transform .16s,filter .16s}
.tool:nth-child(2){background:linear-gradient(#ffa56f,#ef743b 70%,#ce4f32);border-color:#ffbd8c;box-shadow:inset 0 3px #ffffff75,0 6px 0 #853d25,0 12px 20px #0005}
.tool.primarytool{background:linear-gradient(#e2a3ff,#ad60f3 65%,#8132ce);border-color:#efc8ff;box-shadow:inset 0 3px #ffffff7a,0 6px 0 #50218d,0 12px 20px #0005}
.tool:active,.iconbtn:active,.pillbutton:active{transform:translateY(4px)}
.queuecard,.baycard,.progresscard{background:linear-gradient(155deg,#31466c,#172544);border:1px solid #8ab2ec4f;box-shadow:inset 0 2px 0 #ffffff1b,0 10px 30px #0006;color:#eff6ff;border-radius:23px}
.sectitle,.sectitle span{color:#fff}.queuecard p,.warning,.asidebottom{color:#b3c5e8}.queueviewport{background:#101d36!important;border:2px solid #6f8aaf5c!important;box-shadow:inset 0 7px 16px #0006;border-radius:16px}
.passenger{background:transparent!important;border:none!important;box-shadow:none!important;position:relative!important;flex:0 0 27px!important;width:27px!important;height:44px!important;transform-origin:center bottom;animation:riderbob 1.5s ease-in-out infinite alternate!important;filter:drop-shadow(0 4px 3px #0006)}
.passenger .head{position:absolute;top:2px;left:6px;width:16px;height:16px;border-radius:50%;background:radial-gradient(circle at 31% 23%,#fff9,var(--color) 49%,#21375f 150%);border:1.5px solid #fff9;box-shadow:0 0 0 1px #050d2240}
.passenger .face{position:absolute;top:9px;left:12px;width:3px;height:3px;border-radius:50%;background:#193456;box-shadow:5px 0 #193456}
.passenger .torso{position:absolute;top:18px;left:3px;width:23px;height:17px;border-radius:9px 9px 6px 6px;background:linear-gradient(125deg,#ffffff94,var(--color) 39%,#182f56a6);border:1px solid #ffffff8c}
.passenger .feet{position:absolute;top:32px;left:7px;width:6px;height:10px;background:var(--color);border-radius:0 0 4px 4px;box-shadow:9px 0 var(--color)}
@keyframes riderbob{from{transform:translateY(0)}to{transform:translateY(-3px)}}
.nextnotice{background:#17325f!important;color:#cfe7ff!important;border:1px solid #4a83ad6c}.bay{background:#14233f!important;border:2px dashed #6e95c188!important}.bay.filled{background:#263b61!important}
.bay .mini{background:linear-gradient(#fff8,var(--color) 35%,var(--dark,#183154))!important;border:2px solid #fff9!important;box-shadow:0 3px 0 #0006!important}
.progresscard .meter{background:#101e3c}.progresscard #meterFill{background:linear-gradient(90deg,#23d6c7,#53e4a7,#dfff78)}.message{color:#e3efff!important}.asidebottom{border-color:#5b7a9d59!important}
footer{color:#90a5cd!important}.overlay{background:#080e24cd!important;backdrop-filter:blur(9px)}.dialog{background:linear-gradient(150deg,#354d79,#182648)!important;border:2px solid #8cb8e7!important;color:#fff;box-shadow:0 22px 0 #0a102d,0 32px 80px #000c!important}.dialog h2{color:#fff!important}.dialog p,.dialog li{color:#cad9f5!important}.action{background:#344b73!important;color:#fff!important;border:1px solid #8eb7ec75!important}.action.main{background:linear-gradient(#6dc8ff,#287fea)!important}.lev{background:#24375c!important;color:#fff!important;border-color:#729ace6a!important}.lev.current{background:#0c86c8!important}
@media(max-width:830px){.shell{display:block;padding:18px 12px}.sidebar{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:23px}.progresscard,.asidebottom{grid-column:1/-1}.boardstage{padding:37px 29px 24px}.topbar{padding:0 14px}.levelheader h1{font-size:34px}.boardwrap{border-radius:23px}}
@media(max-width:530px){.sidebar{display:block}.topbar{height:70px}.brand{font-size:22px}.brandicon{font-size:21px;padding:7px}.brand small{font-size:7px}.iconbtn{width:35px;height:36px}.pillbutton{height:36px;padding:0 9px}.pillbutton span{display:none}.levelheader p{font-size:12px}.levelchip{min-width:69px;padding:7px}.levelchip b{font-size:23px}.stat{padding:0 7px}.stat strong{font-size:18px}.stat span{font-size:8px}.statusbar{padding:13px 3px}.boardstage{padding:31px 22px 24px}.floor{border-width:5px}.exit-panel{width:22px;font-size:8px;padding:6px 0;letter-spacing:0}.boardtop,.boardbottom{padding:12px 13px;font-size:10px}.toolbar{gap:9px}.tool{padding:10px 4px;border-radius:13px}.tool span{font-size:23px}.tool b{font-size:10px}.levelheader{margin-bottom:15px}.queuecard,.baycard,.progresscard{margin-top:13px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important}}

/* Release polish: visible keyboard navigation and touch ergonomics */
button:focus-visible,a:focus-visible{outline:3px solid #ffde72!important;outline-offset:3px!important}
button{touch-action:manipulation}
.bus{transition:filter .18s ease,box-shadow .18s ease,opacity .4s ease,transform .52s cubic-bezier(.2,.82,.25,1)}
.bus.free:hover{filter:brightness(1.14) drop-shadow(0 0 6px #78daff)}
#message{min-height:2.5em}
@media(max-width:360px){.shell{padding-left:8px;padding-right:8px}.boardstage{padding:28px 17px 20px}.levelheader h1{font-size:28px}.statusbar{gap:0}}

/* Accessibility and release 1.1 refinements */
:root.reduce-motion *, :root.reduce-motion *::before, :root.reduce-motion *::after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important;scroll-behavior:auto!important}
:root.high-contrast .bus.free{outline:3px solid #ffffff;outline-offset:2px;filter:drop-shadow(0 0 8px #00263d)}
:root.high-contrast .message,:root.high-contrast .boardbottom,:root.high-contrast .queuecard p{color:#fff!important}
.settings-list{display:grid;gap:12px;margin:22px auto;max-width:340px;text-align:left}.settings-list label{display:flex;gap:12px;align-items:center;padding:15px;border-radius:14px;background:#ffffff16;color:#fff;font-weight:850;cursor:pointer}.settings-list input{width:20px;height:20px;accent-color:#4fc9ff}
button:focus-visible{outline:3px solid #ffde6e!important;outline-offset:3px!important}
@media(max-width:420px){.top-actions{gap:4px}.top-actions .iconbtn{width:32px;min-width:32px;font-size:17px}.brandicon{display:none}.brand{font-size:20px}}

.theme-picker{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:10px 0 22px}.themechip{border:2px solid #7899c1;background:#28456c;color:#fff;border-radius:12px;padding:12px 6px;font-weight:900;font-size:12px}.themechip:hover,.themechip:focus-visible{background:#3b6da1}[data-world="neon"] .themechip[data-theme="neon"],[data-world="sunset"] .themechip[data-theme="sunset"],[data-world="mint"] .themechip[data-theme="mint"]{border-color:#ffde74;box-shadow:0 0 0 2px #ffde7444}
[data-world="sunset"] body{background:radial-gradient(ellipse at 80% 5%,#ffce9a66,transparent 45%),linear-gradient(150deg,#34244e,#523b78 62%,#83567f)}
[data-world="sunset"] .boardstage{background:linear-gradient(180deg,#f3b888,#e9bfab 14%,#c59f90 14.2%,#b18483 26%,#806d87 100%)}
[data-world="sunset"] .floor{background-color:#987e8b;background-image:linear-gradient(#ffeed35d 1px,transparent 1px),linear-gradient(90deg,#ffeed35d 1px,transparent 1px),radial-gradient(#ead0b440 1.2px,transparent 1.2px)}
[data-world="mint"] body{background:radial-gradient(ellipse at 80% 5%,#9ef4d077,transparent 46%),linear-gradient(150deg,#133c57,#236b72 62%,#27756c)}
[data-world="mint"] .boardstage{background:linear-gradient(180deg,#72cbeb,#a2f4d8 15%,#74bca4 15.2%,#629994 27%,#467881 100%)}
[data-world="mint"] .floor{background-color:#79a7a3;background-image:linear-gradient(#f1fff17a 1px,transparent 1px),linear-gradient(90deg,#f1fff17a 1px,transparent 1px),radial-gradient(#e4f6db45 1.2px,transparent 1.2px)}
@media(max-width:450px){.theme-picker{grid-template-columns:1fr}.themechip{padding:9px}}

/* Premium v2 visual treatment: artwork supports, never obscures, the interactive board */
.levelheader{position:relative;isolation:isolate;overflow:hidden;border:1px solid rgba(165,211,255,.25);border-radius:28px;padding:24px 26px !important;min-height:188px;box-shadow:0 18px 42px rgba(2,9,34,.28),inset 0 1px rgba(255,255,255,.17);background:linear-gradient(90deg,rgba(7,18,48,.96) 0%,rgba(10,25,57,.88) 42%,rgba(10,22,46,.2) 100%),url('assets/terminal-banner-v2.png') right center / cover no-repeat !important}
.levelheader::after{content:'';position:absolute;inset:0;z-index:-1;pointer-events:none;background:linear-gradient(0deg,rgba(8,17,40,.3),transparent 75%)}
.levelheader .hero-copy{position:relative;z-index:1;text-shadow:0 2px 20px rgba(0,0,0,.65);max-width:80%}
.levelheader .levelchip{position:relative;z-index:1;box-shadow:0 8px 30px rgba(0,0,0,.3)}
.boardwrap{box-shadow:0 24px 65px rgba(0,0,0,.34),inset 0 1px rgba(255,255,255,.2)}
.bus.free{filter:drop-shadow(0 6px 5px rgba(0,0,0,.22));transition:filter .2s ease,transform .55s cubic-bezier(.16,.76,.22,1),opacity .5s ease}
.bus.free:hover{filter:drop-shadow(0 0 10px rgba(143,227,255,.8)) drop-shadow(0 7px 6px rgba(0,0,0,.25))}
.tool:focus-visible,.bus:focus-visible,.iconbtn:focus-visible{outline:3px solid #fff6a2;outline-offset:4px}
@media(max-width:600px){.levelheader{min-height:152px;padding:16px !important;background-position:64% center !important}.levelheader .hero-copy{max-width:80%}.levelheader h1{font-size:clamp(1.75rem,8vw,3rem)}}
@media(prefers-reduced-motion:reduce){.bus.free{transition:none}}

/* Premium original asset integration */
.real-logo{width:145px;max-height:65px;object-fit:contain;filter:drop-shadow(0 3px 5px #001529aa)}.brand-sub{font-weight:900;font-size:10px;letter-spacing:1.3px;color:#c5f2ff}.brand{gap:3px}
.hero-copy h1{font-size:clamp(19px,2.7vw,28px)!important;letter-spacing:-.6px!important}
.boardstage{background:linear-gradient(180deg,#78cdf4 0 17%,#cceffd 17.2% 24%,#6398a6 24.2% 29%,#405166 29.2% 100%)!important}
.floor{background:#273345!important;border:8px solid #d5b881!important;box-shadow:0 9px 0 #735b3e,0 24px 36px #05162cb0,inset 0 0 0 3px #fbefc466,inset 0 0 28px #0c1628!important}
.bus,.bus.vertical,.bus.horizontal{background:none!important;border:0!important;box-shadow:none!important;overflow:visible!important;border-radius:0!important;filter:drop-shadow(0 5px 3px #111b32b0)!important}
.bus .asset-bus{position:absolute;width:133%;height:160%;max-width:none;object-fit:fill;left:-16.5%;top:-29%;pointer-events:none;filter:drop-shadow(0 4px 3px #0008)}
.bus.vertical .asset-bus{width:185%;height:115%;left:-42%;top:-8%;object-fit:fill}
.bus .bus-motion{display:none!important}.bus.free:hover{filter:drop-shadow(0 0 9px #86f7ff)!important}.bus.blocked{filter:grayscale(.24) brightness(.85) drop-shadow(0 3px 2px #000a)!important}
.bus.suggested{filter:drop-shadow(0 0 12px #ffe277)!important}
.passenger{width:38px!important;flex:0 0 38px!important;height:54px!important;filter:drop-shadow(0 3px 3px #0005)!important}.asset-passenger{display:block;width:100%;height:100%;object-fit:contain}.bay-bus{width:80%;height:55px;object-fit:contain;display:block;margin:auto}.bay .mini{display:none}
.toolbar .tool{display:flex;flex-direction:column;align-items:center;gap:0!important;background:linear-gradient(180deg,#243f79,#12264d)!important;border:1px solid #4e8fd5!important;box-shadow:0 6px 0 #0b1634,0 10px 14px #0006!important}.toolbar .tool img{height:57px;width:65px;object-fit:contain;filter:drop-shadow(0 3px 4px #0006)}.toolbar .tool b{font-size:12px;color:white}
.queuecard,.baycard,.progresscard{background-image:linear-gradient(#ffffffef,#ffffffef),url('art/scene/arka_plan_okul_park.webp')!important}
@media(max-width:520px){.real-logo{width:105px}.brand-sub{display:none}.toolbar .tool img{height:40px;width:48px}.passenger{width:30px!important;flex-basis:30px!important;height:43px!important}}
/* A real pause state keeps the shared BerfinidaGames portrait centered. */
.iconbtn img{width:27px;height:27px;object-fit:contain;vertical-align:middle}
.pause-avatar{display:block;width:145px;height:145px;object-fit:contain;margin:0 auto 8px}
/* Keep the supplied bus art inside its grid footprint so routes stay readable. */
.bus .asset-bus{width:114%;height:134%;left:-7%;top:-17%}
.bus.vertical .asset-bus{width:158%;height:98%;left:-29%;top:1%}

/* Original terminal surface: a clean, readable road built for the supplied bus art. */
.boardstage{background:linear-gradient(180deg,#78cdf4 0 17%,#cceffd 17.2% 24%,#6398a6 24.2% 29%,#405166 29.2% 100%)!important}
.boardstage:before{top:22%;height:7%;opacity:.7;background:repeating-linear-gradient(90deg,#f5e2bf 0 32px,#bea47c 32px 35px)!important;box-shadow:0 8px 0 #2d496055!important}
.scene-sky{height:24%;background:linear-gradient(180deg,#65c4f1,#d9f6ff)!important}
.scene-sky:before{left:9%;top:-34px;width:96px;height:96px;background:#fff0a1;box-shadow:0 0 42px 14px #fff1a3aa}
.floor{background-color:#273345!important;background-image:linear-gradient(90deg,transparent 0 7%,#f7d76f 7.2% 7.8%,transparent 8% 92%,#f7d76f 92.2% 92.8%,transparent 93%),repeating-linear-gradient(90deg,#ffffff2b 0 9%,transparent 9% 18%),repeating-linear-gradient(0deg,#ffffff0d 0 1px,transparent 1px 13px)!important;background-size:100% 100%,100% 100%,100% 13px!important;border:8px solid #d5b881!important;box-shadow:0 9px 0 #735b3e,0 24px 36px #05162cb0,inset 0 0 0 3px #fbefc466,inset 0 0 28px #0c1628!important}
.floor:before{inset:3%!important;border:2px dashed #f5e8be66!important;border-radius:8px!important}
.queuecard,.baycard,.progresscard{background-image:linear-gradient(155deg,#324b76,#162443)!important}
