@font-face{font-family:Baloo;src:url('baloo-bold.ttf') format('truetype');font-weight:700;font-display:swap}*{box-sizing:border-box}html{background:#fff8e3;color:#142e67;font-family:Arial,sans-serif}body{margin:0}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;color:inherit;cursor:pointer;transition:background .15s,transform .15s}button:hover:not(:disabled){transform:translateY(-2px)}button:active:not(:disabled){transform:translateY(1px)}button:disabled{opacity:.55;cursor:not-allowed}button:focus-visible,a:focus-visible,canvas:focus-visible{outline:3px solid #e37713;outline-offset:4px}[hidden]{display:none!important}::selection{background:#ffdf31;color:#132d67}.topbar{background:#183c8b;border-bottom:4px solid #ffe12c;color:#fff6d4;display:flex;justify-content:space-between;align-items:center;padding:17px max(4%,calc((100vw - 1325px)/2));gap:18px}.brand{display:flex;flex-direction:column;text-decoration:none;color:inherit;flex-shrink:0}.brand>span{font-size:11px;font-weight:800;letter-spacing:1.2px;padding-left:10px}.brand>img{width:167px;height:70px;object-fit:contain}.campaign{font-size:13px;letter-spacing:2px}.campaign strong{display:block;font-size:18px;letter-spacing:3px;margin-top:6px}.header-actions{display:flex;align-items:center;gap:12px}.wallet{display:flex;align-items:center;gap:7px;border-radius:30px;background:#ffdf2d;color:#163975;padding:9px 14px}.wallet img{width:30px;height:30px;object-fit:contain}.wallet strong{font:700 25px/1 Baloo}.wallet span{font-size:12px;font-weight:700}.icon-btn{border:1px solid #7996cb;width:40px;height:40px;border-radius:50%;background:none;color:#fff6d4;display:grid;place-items:center;font-size:20px;font-weight:bold}.icon-btn svg{width:21px;height:21px}main{max-width:1440px;margin:auto;padding:26px 4% 0}.intro{display:flex;align-items:center;justify-content:space-between;gap:25px;margin-bottom:24px}.eyebrow{font-size:12px;letter-spacing:1.6px;font-weight:800}h1,h2,h3,p{margin:0}h1{font:700 clamp(36px,3.3vw,48px)/1.04 Baloo;margin-top:7px;letter-spacing:-1px}h1 span{color:#e14028}.intro>p{font-size:16px;line-height:1.7;color:#4e5e7b}.hangar-grid{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(340px,1fr);gap:30px}.hero-stage{min-height:435px;border-radius:24px;background:#101e58 url('space-backdrop.png') center/cover;position:relative;overflow:hidden;color:#fff7d1;display:flex;flex-direction:column;border:2px solid #224684}.stage-label{display:flex;justify-content:space-between;gap:10px;padding:19px 23px;font-size:11px;font-weight:bold;letter-spacing:1px;position:relative;z-index:1;background:#0b205670}.ready{color:#ffe135}.pilot-art{position:relative;flex:1;display:grid;place-items:center;min-height:285px}.pilot-art img{width:290px;height:290px;object-fit:contain;filter:drop-shadow(0 15px 18px #050b3c55);animation:float 4s ease-in-out infinite}.stage-bottom{text-align:center;padding:0 20px 24px;background:linear-gradient(transparent,#0c184a80)}.stage-bottom h2{font:700 27px/1.15 Baloo;color:#ffe12b}.stage-bottom p{font-size:13px;margin-top:8px;color:#e0e7ff}.gear-panel{padding:5px 0}.gear-title h2{font:700 28px/1.15 Baloo}.gear-title p{font-size:14px;color:#52617c;margin-top:7px}.tabs{display:flex;gap:8px;margin:20px 0 13px;border-bottom:1px solid #d8daca;padding-bottom:10px}.tab{border:0;background:none;border-radius:9px;font-size:14px;font-weight:700;padding:10px 16px}.tab[aria-selected=true]{background:#244795;color:#fff8e0}#gearList{display:flex;flex-direction:column;gap:10px}.gear{display:grid;grid-template-columns:46px 1fr auto;gap:13px;align-items:center;text-align:left;min-height:86px;padding:13px;border:1px solid #d9d9c9;border-radius:14px;background:#fffdf5}.gear.equipped{border:2px solid #d8b816;background:#fff0a0;padding:12px}.gear-icon{display:grid;place-items:center;color:#294993}.gear-icon svg{width:34px;height:34px}.gear strong{display:block;font-size:15px;margin-bottom:5px}.gear small{display:block;font-size:13px;line-height:1.4;color:#52617c}.gear-price{border-radius:20px;background:#fff0b6;padding:7px 9px;white-space:nowrap;font-size:12px;font-weight:bold}.equipped .gear-price{background:#244795;color:#fff8dd}.flight-school{border-top:1px solid #d9dacb;margin-top:23px;padding-top:18px}.flight-school>.eyebrow{font-size:11px}.flight-school>div{display:flex;align-items:center;gap:13px;margin-top:12px}.key-pair{border:1px solid #b7c3d7;border-radius:8px;min-width:48px;min-height:32px;display:grid;place-items:center;font-size:12px;font-weight:bold}.flight-school p{font-size:13px;line-height:1.5;color:#53617c}.flight-school strong{color:#1c386e}.mission-row{display:flex;gap:24px;align-items:center;padding:23px 0}.mission-row>div:first-child{flex:1}.mission-row h2{font:700 26px/1.1 Baloo;margin-top:6px}.mission-row p{font-size:13px;color:#53617c;margin-top:6px}.mission-buttons{display:flex;gap:9px}.mission{background:none;border:1px solid #cbd1d7;border-radius:14px;text-align:left;padding:12px 16px;min-width:127px}.mission span{font:700 21px/1 Baloo}.mission strong{display:block;font-size:13px;margin-top:7px}.mission small{display:block;font-size:12px;margin-top:5px;color:#53617c}.mission.selected{background:#e7ecfa;border-color:#587bc3}.primary,.secondary{border:0;border-radius:13px;padding:16px 25px;font:700 22px/1 Baloo;display:inline-flex;align-items:center;justify-content:center;gap:24px}.primary{background:#ffd431;color:#102e78;border-bottom:4px solid #f58a16;box-shadow:0 5px 12px #00132933}.primary:hover{background:#ffe357}.secondary{border:1px solid #bdc9e0;background:#e8edfa}.primary#launch{min-width:207px;min-height:65px}.primary#launch span{font-family:Arial;font-size:28px}footer{max-width:1440px;padding:16px 4%;margin:auto;border-top:1px solid #d9d9c7;display:flex;justify-content:space-between;align-items:center;gap:12px;font-size:12px;color:#52617c}.text-btn{border:0;background:none;padding:5px;font-size:12px;font-weight:bold;text-decoration:underline;text-underline-offset:4px;margin-left:10px}#play{max-width:1440px;padding:18px 4%;margin:auto}.play-top{display:flex;justify-content:space-between;align-items:center;gap:15px;margin-bottom:13px}.compact{font:700 13px Arial;padding:12px 15px}.play-top>div{text-align:center}.play-top strong{font:700 25px/1.1 Baloo;display:block}.play-top span{font-size:13px;color:#52617c;display:block;margin-top:5px}.game-wrap{position:relative;background:#0d1846;border:2px solid #294c97;border-radius:20px;overflow:hidden}.game-wrap>canvas{display:block;width:100%;height:min(58vh,550px);min-height:330px;touch-action:none}.game-hud{position:absolute;top:17px;left:18px;right:18px;display:flex;gap:12px;justify-content:space-between;align-items:start;pointer-events:none}.hud-box{background:#173472e8;border:1px solid #647ba2;padding:10px 14px;border-radius:12px;min-width:77px;text-align:center;color:#fff3c6}.hud-box small{display:block;font-size:11px;font-weight:700;letter-spacing:.5px}.hud-box strong{display:block;font:700 27px/1.3 Baloo;color:#ffdf2c}.hud-route{padding:12px 15px;border-radius:12px;background:#142957df;color:#fff3c6;width:37%}.hud-route small{font-size:12px;font-weight:700;display:block;margin-bottom:8px}progress{appearance:none;background:#526188;display:block;width:100%;height:9px;border-radius:9px;border:0;overflow:hidden}progress::-webkit-progress-bar{background:#526188}progress::-webkit-progress-value{background:#ffe032;border-radius:9px}progress::-moz-progress-bar{background:#ffe032;border-radius:9px}.game-hint{position:absolute;bottom:17px;left:50%;transform:translateX(-50%);border-radius:24px;background:#fff1cbeF;color:#17396e;font-size:13px;padding:11px 20px;text-align:center;width:max-content;max-width:90%;pointer-events:none}.pause-overlay{position:absolute;inset:0;background:#081a47d9;color:#fff8df;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:20px}.pause-overlay h2{font:700 37px Baloo}.controls{display:flex;align-items:center;gap:13px;margin-top:15px}.fuel{width:210px;margin-right:auto}.fuel span{font-size:12px;letter-spacing:1px;font-weight:700}.fuel progress{margin:7px 0;background:#ccd2df}.fuel progress::-webkit-progress-bar{background:#ccd2df}.fuel progress::-webkit-progress-value{background:#e6542e}.fuel small{font-size:12px;color:#53617c}.steer-controls{display:flex;gap:9px}.steer{width:64px;height:61px;padding:0;font:700 28px Arial;touch-action:none;user-select:none}.boost{min-width:224px;min-height:61px;touch-action:none;user-select:none}.held{filter:brightness(.85);transform:translateY(2px)}kbd{font:11px Arial;border:1px solid currentColor;border-radius:4px;padding:5px}.toast{position:fixed;z-index:20;left:50%;bottom:24px;transform:translate(-50%,20px);background:#173472;color:#fff6d9;border-radius:13px;padding:14px 20px;font-size:14px;max-width:90%;text-align:center;opacity:0;pointer-events:none;transition:.2s}.toast.visible{opacity:1;transform:translate(-50%,0)}dialog{width:min(540px,calc(100% - 30px));padding:35px;border:0;border-radius:24px;background:#fff8e3;color:#16336d;box-shadow:0 20px 100px #050c474d}dialog::backdrop{background:#0b184bc7}dialog h2{font:700 37px/1.1 Baloo;margin:12px 0}dialog h3{font:700 23px Baloo;margin-top:20px}dialog p,dialog li{font-size:15px;line-height:1.6;color:#52617c}dialog ol{padding-left:20px}.close{position:absolute;right:12px;top:9px;font-size:28px;border:0;background:none;width:36px;height:36px}.pill{display:inline-block;border-radius:20px;background:#ffe451;padding:7px 12px;font-size:11px;font-weight:bold;letter-spacing:1px}.dialog-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:23px}.dialog-actions button{font-size:18px;padding:14px 19px}.result-score{font:700 68px/1 Baloo;color:#d63829;margin:20px 0 5px}.result-stats{display:flex;gap:26px;margin:20px 0;padding:15px 0;border-block:1px solid #d8d8c4}.result-stats strong{font:700 25px Baloo;display:block}.result-stats small{font-size:12px}.reset-row{border-top:1px solid #d8d8c4;padding-top:17px;margin-top:22px}.danger{color:#ffd431}@keyframes float{50%{transform:translateY(-9px) rotate(2deg)}}
@media(max-width:950px){.hangar-grid{grid-template-columns:minmax(0,1fr) minmax(310px,1fr);gap:20px}.gear-title h2{font-size:25px}.mission-row{flex-wrap:wrap;gap:16px}.mission-row>div:first-child{min-width:200px}.intro p{font-size:14px}.stage-bottom h2{font-size:24px}.campaign{display:none}}
@media(max-width:650px){.topbar{padding:11px 5%;gap:10px}.brand>img{width:142px;height:58px}.brand>span{font-size:10px}.header-actions{gap:5px}.wallet{padding:7px 9px;gap:3px}.wallet img{width:25px;height:25px}.wallet strong{font-size:22px}.wallet span{display:none}.icon-btn{width:33px;height:33px}.intro{margin-bottom:18px}.intro>p{display:none}main{padding:23px 5% 0}h1{font-size:37px}.eyebrow{font-size:11px}.hangar-grid{display:flex;flex-direction:column;gap:22px}.hero-stage{min-height:370px;border-radius:20px}.stage-label{padding:15px 15px;font-size:10px;letter-spacing:.5px}.pilot-art{min-height:238px}.pilot-art img{width:242px;height:242px}.stage-bottom{padding:0 15px 21px}.stage-bottom h2{font-size:23px}.stage-bottom p{font-size:12px}.gear-title h2{font-size:27px}.tabs{margin-top:17px}.gear{gap:10px;grid-template-columns:38px 1fr auto;padding:12px}.gear.equipped{padding:11px}.gear-icon svg{width:31px;height:31px}.gear small{font-size:13px}.gear strong{font-size:14px}.flight-school{margin-top:18px}.mission-row{display:grid;grid-template-columns:1fr;gap:17px;padding:24px 0}.mission-buttons{width:100%}.mission{flex:1}.primary#launch{width:100%;min-height:61px}footer{padding:16px 5%;flex-direction:column;align-items:start;gap:7px;font-size:11px}.text-btn{font-size:11px;margin-left:3px}#play{padding:13px 3%}.play-top{gap:8px}.compact{font-size:11px;padding:11px 10px}.play-top strong{font-size:20px}.play-top span{display:none}.game-wrap{border-radius:17px}.game-wrap>canvas{height:58vh;min-height:355px}.game-hud{top:11px;left:9px;right:9px;gap:6px}.hud-box{padding:7px;min-width:57px}.hud-box small{font-size:9px;letter-spacing:0}.hud-box strong{font-size:24px}.hud-route{padding:9px 8px;width:32%}.hud-route small{font-size:10px}.hud-route progress{height:7px}.game-hint{font-size:12px;width:90%;padding:9px 12px}.controls{flex-wrap:wrap;gap:9px}.fuel{display:flex;align-items:center;gap:12px;width:100%;margin-right:0}.fuel progress{flex:1}.fuel small{display:none}.fuel span{font-size:11px}.steer-controls{gap:8px}.steer{width:49px;height:57px}.boost{flex:1;min-width:0;min-height:57px;font-size:19px;padding:12px;gap:8px}kbd{display:none}.pause-overlay h2{font-size:29px}dialog{padding:30px 24px}dialog h2{font-size:33px}}
@media(prefers-reduced-motion:reduce){.pilot-art img{animation:none}button,.toast{transition:none}}
/* Immersive space lobby */
body{background:#041538;color:#f3f8ff;background-image:radial-gradient(ellipse at 45% 30%,#13479c99,transparent 65%),url('space-backdrop.png');background-size:cover;background-attachment:fixed}body:before{content:'';position:fixed;inset:0;background:#02112bcc;z-index:-1}.topbar{background:#051a42d9;border-bottom:1px solid #3679c34d;color:white}.campaign,.campaign strong,.brand span{color:#eaf6ff}.wallet{background:#103972;border:1px solid #396bb8;color:#fff}.icon-btn,.secondary{background:#11396d;color:#fff;border-color:#4684c7}.topbar{max-width:none;padding:14px 4vw}.brand img{width:135px}.lobby-title{padding:24px 0 10px;text-align:center}.lobby-title h1{font-size:clamp(28px,3.5vw,52px);line-height:1;margin:8px 0;letter-spacing:-1px}.lobby-title em{color:#ffcf34;font-style:normal}.eyebrow{color:#9bcaef;font-size:10px;letter-spacing:2px}#hangar{max-width:1440px;margin:auto;padding:0 4vw 20px}.lobby{display:grid;grid-template-columns:260px minmax(300px,1fr) 285px;gap:24px;align-items:center}.gear-panel,.world-panel{background:#082653c9;border:1px solid #3876bb6b;border-radius:22px;padding:18px}.gear-panel h2,.world-panel h2{font-size:23px;margin:0 0 17px;color:#fff}.gear-panel h2 span,.world-panel h2 span{color:#5cd9ff;float:right}.tabs{display:flex;gap:4px;margin-bottom:16px;border:none}.tab{font-size:12px;padding:10px 8px;background:#102f62;color:#b9dafc;border-radius:9px;border:0}.tab[aria-selected=true]{background:#3985f2;color:white}.gear{display:flex;flex-wrap:wrap;text-align:left;padding:15px;margin:10px 0;width:100%;border:2px solid #28517e;border-radius:15px;background:#0b2049;color:white;gap:10px}.gear.equipped{background:#164983;border-color:#67deff}.gear-icon{background:#1b5990;color:#79e8ff;width:42px;height:42px;border-radius:12px;display:grid;place-items:center}.gear-icon svg{width:28px}.gear>span:nth-child(2){flex:1;min-width:120px}.gear strong{font-size:15px;color:white}.gear small{font-size:11px;color:#b4cceb;line-height:1.4}.gear-price{font-size:11px;color:#ffdb54!important;margin-left:auto}.gear-tip{font-size:12px;line-height:1.5;color:#9fbddf;margin-top:16px}.hero-stage{height:auto;min-height:540px;background:transparent;border:0;box-shadow:none;overflow:visible;position:relative;display:flex;flex-direction:column;align-items:center}.pilot-tag{font-weight:900;font-size:12px;letter-spacing:1px;margin-top:5px}.pilot-tag span{font-size:9px;color:#79f4c1;margin-left:15px}#character{height:420px;width:100%;touch-action:pan-y;cursor:default}#character canvas{display:block;width:100%;height:100%}#character img{height:100%;object-fit:contain;width:100%}.turn-controls{display:flex;align-items:center;gap:15px;font-size:11px;color:#94bdeb;margin-top:-10px}.turn-controls button{border:0;background:#174b87;color:#bcf4ff;border-radius:50%;width:34px;height:34px;font-size:24px}.hero-stage #loadout{font-size:10px;color:#a5c9f0;text-align:center;margin:10px 0 15px}.dance-row{display:flex;gap:6px;justify-content:center}.dance-row button{background:#0c2f63;border:1px solid #3573b2;color:#dcefff;border-radius:10px;font-weight:700;font-size:11px;padding:12px 9px}.dance-row button[aria-pressed=true]{background:#286cdc;border-color:#8bdcff}.mission-buttons{display:grid;gap:13px}.mission{position:relative;display:block;padding:0;overflow:hidden;width:100%;height:142px;border:2px solid #3565a5;border-radius:15px;text-align:left;background:#092956;color:white}.mission img{width:100%;height:100%;object-fit:cover;transition:transform .25s}.mission:hover img{transform:scale(1.06)}.mission.selected{border:3px solid #6fe0ff;box-shadow:0 0 24px #11b4ff25;background:#124179}.world-info{position:absolute!important;inset:auto 0 0;padding:30px 13px 12px;background:linear-gradient(transparent,#031332);display:flex!important;flex-direction:column;gap:2px}.mission strong{color:#fff;font-size:20px}.mission small{color:#c8e7ff;font-size:10px}.mission-meta{display:none}#launch{width:100%;margin-top:20px;background:#ffd431;color:#132650;border:0;border-bottom:5px solid #dd8d0e;border-radius:12px;padding:16px;font-size:23px;font-family:Baloo,Arial,sans-serif}.control-tip{display:block;text-align:center;font-size:10px;color:#a7c3e5;margin-top:12px}footer{border-color:#285280;color:#8aaad1;background:#041332;padding:14px 4vw;font-size:10px}.text-btn{color:#a5c5eb}dialog{background:#092b5e;color:#eff7ff;border:1px solid #5294d3}dialog h2,dialog h3{color:#fff}dialog p,dialog li{color:#c4d8ed}.close{color:white;background:#163f73}.result-stats{background:#153e74}.result-score{color:#ffe054}.pill{background:#184a86;color:#79d9ff}.play-top{color:white}.play-top strong{color:white}.play-top span{color:#a9cced}.controls{background:#092857;color:#dfedff}.fuel span,.fuel small{color:#afccef}.game-wrap{border-color:#3b7bc1}.toast{background:#1d5aaa;color:#fff}button:focus-visible{outline:3px solid #ffdc3e;outline-offset:4px}button{cursor:pointer}[hidden]{display:none!important}
@media(min-width:1500px){#character{height:490px}}
@media(max-width:1050px){.lobby{grid-template-columns:220px minmax(250px,1fr) 235px;gap:12px}#hangar{padding:0 2vw 20px}.gear-panel,.world-panel{padding:12px}.dance-row button{font-size:10px;padding:10px 6px}}
@media(max-width:780px){.lobby{grid-template-columns:1fr 1fr;gap:12px}.hero-stage{grid-column:1/-1;grid-row:1;min-height:410px}#character{height:300px}.lobby-title{padding-top:18px}.lobby-title .eyebrow{font-size:8px}.gear-panel,.world-panel{align-self:start}.gear-panel h2,.world-panel h2{font-size:18px}.gear{padding:10px}.gear>span:nth-child(2){min-width:90px}.gear-icon{width:30px;height:30px}.gear strong{font-size:12px}.gear small{display:none}.tab{padding:9px 4px;font-size:10px}.mission{height:110px}.mission strong{font-size:16px}.world-info{padding:20px 8px 8px}.mission small{font-size:9px}#launch{font-size:18px;padding:13px 5px}.campaign{display:none}.topbar{padding:10px 4vw}.brand img{width:110px}.wallet{padding:7px;gap:4px}.wallet span{display:none}.gear-tip{font-size:10px}footer{gap:8px;flex-wrap:wrap}.dance-row button{padding:11px;font-size:11px}.hero-stage #loadout{margin-bottom:10px}#hangar{padding:0 12px 20px}}
html{background:#041538;color:#eef6ff}body{min-height:100vh}body:before{display:none}.lobby>*{min-width:0}.primary#launch{min-width:0}.gear-price{background:#164478;color:#ffe364!important}.game-hint{background:#0a316bef;color:#dff7ff;border:1px solid #439bdd}.gear.equipped{padding:15px}#character{user-select:none}.hero-stage{color:#f2f8ff}.gear-panel h2,.world-panel h2{font-family:Baloo,Arial,sans-serif}.danger{color:#ffd431;border-color:#f58a16}
@media(max-width:780px){.lobby{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.mission{min-width:0}.gear.equipped{padding:10px}.world-info{font-family:Arial,sans-serif}.world-info strong{font-family:Baloo,Arial,sans-serif}.gear-price{padding:6px;font-size:10px}.control-tip{font-size:9px}.dance-row{max-width:100%;flex-wrap:wrap}}
.dance-row button{display:inline-flex;align-items:center;gap:5px}.dance-row svg{width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;flex:none}
@media(max-width:780px){.dance-row button{padding:10px 8px;font-size:10px}}
.lift{touch-action:none;user-select:none;min-height:61px;font-size:20px}.lift.held{background:#1e8aca;color:white;box-shadow:0 0 22px #31c1ff66}.boost{min-width:150px}.controls{padding:10px;border-radius:14px}.control-tip{font-weight:bold;color:#cae9ff}
@media(max-width:650px){.controls{flex-wrap:wrap;gap:8px}.controls .fuel{width:100%;flex-basis:100%;display:flex;align-items:center;gap:10px}.fuel span{font-size:9px;white-space:nowrap}.fuel progress{flex:1}.fuel small{display:none}.lift,.boost{flex:1;min-width:0;font-size:18px;padding:12px;gap:8px}.lift kbd,.boost kbd{display:none}}
.dance-heading{width:100%;display:flex;justify-content:space-between;align-items:center;margin:12px 0;color:#d6ecff}.dance-heading h2{font:700 18px Baloo}.dance-heading span{font-size:12px;color:#ffd950}.dance-row{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));width:100%;gap:6px}.dance-row button{flex-direction:column;gap:6px;padding:10px 4px;font-size:11px;min-height:67px}.dance-row svg{width:27px;height:27px}.locker-audio{width:100%;margin:13px 0 8px;padding:13px;background:#082451;border:1px solid #326093;border-radius:14px;display:flex;align-items:center;gap:12px;flex-wrap:wrap;font-size:12px}.locker-audio button,.upload-track{background:#2260ac;border:1px solid #5596d1;border-radius:8px;color:#fff;padding:9px;font-size:12px;cursor:pointer}.locker-audio label{display:flex;align-items:center;gap:6px}.locker-audio input[type=range]{width:80px;accent-color:#5de0ff}.custom-track{display:flex;gap:8px;align-items:center;flex-wrap:wrap;width:100%}.upload-track input{max-width:150px;font-size:10px}.locker-audio input[type=number]{width:53px;background:#123969;color:white;border:1px solid #557eac;padding:5px;border-radius:5px}#trackStatus{overflow-wrap:anywhere;max-width:100%;color:#b5d9fa;font-size:11px}.lobby{align-items:start}.gear-panel,.world-panel{margin-top:40px}.hero-stage{min-width:0}#character{height:400px}.lobby-title{padding-top:18px}.dance-row button:focus-visible{outline-color:#ffe15d}
@media(max-width:780px){.gear-panel,.world-panel{margin-top:0}#character{height:340px}.dance-row{grid-template-columns:repeat(4,minmax(0,1fr))}.dance-row button{font-size:10px}.locker-audio{gap:8px}.dance-heading{margin-top:8px}.custom-track{font-size:10px}}
.dance-row button[aria-pressed=true]{background:#1f5ebf;color:#fff}
.dance-row button small{font:10px Arial,sans-serif;color:#b4d9ff}.dance-row{max-height:306px;overflow-y:auto;scrollbar-width:thin;scrollbar-color:#5597dd #0a2859;padding:3px}.dance-row button{min-height:79px}.dance-heading span{max-width:50%;text-align:right}
#boost.turbo-active{background:#ffe23d;color:#082955;border:2px solid #fff2a6;box-shadow:0 3px 20px #ffaa3366;transform:scale(1.035)}

.locker-audio .tempo-slider{gap:10px;font-size:14px;min-height:44px}.locker-audio .tempo-slider input{width:140px;height:32px;cursor:pointer}

#game{width:100%;height:min(68vh,720px);min-height:380px;touch-action:none;cursor:crosshair}.flight-message{position:absolute;top:24%;left:10%;right:10%;text-align:center;pointer-events:none;color:#ffe14c;font:700 clamp(18px,3vw,32px) Baloo;text-shadow:0 3px 16px #00132d}.steer-tip{font-size:11px;color:#92c5ed;line-height:1.6}.steer-tip strong{font-size:17px;color:white}.game-hud{pointer-events:none}.game-hint{pointer-events:none}.game-wrap{overflow:hidden}.tabs{flex-wrap:wrap}.boost{touch-action:none;user-select:none}@media(max-width:650px){#game{height:60vh;min-height:360px}.steer-tip{flex:1;font-size:9px}.steer-tip strong{font-size:14px}.flight-message{top:26%}.controls .boost{flex:1}}

.controls .action-btn{min-height:52px;padding:12px 18px;color:#bbfff2;border-color:#57bbbd;font-weight:bold;touch-action:manipulation}.controls .boost{background:#ffce30;border-color:#ff9c21;color:#102b5b}.controls .boost.turbo-active{background:#fff382;box-shadow:0 0 25px #ffac49}.controls{gap:12px}.controls .fuel{min-width:140px}@media(max-width:650px){.controls .steer-tip{flex-basis:100%;text-align:center}.controls .action-btn,.controls .boost{flex:1;min-width:0;padding:12px 7px;font-size:13px}.controls kbd{display:none}}

.locker-lights{display:flex;gap:6px;justify-content:center;flex-wrap:wrap;margin:15px 0 3px;width:100%}.locker-lights>span{width:100%;text-align:center;font-size:10px;letter-spacing:1px;color:#b0d3f1;margin-bottom:4px}.locker-lights button{display:flex;gap:5px;align-items:center;border:1px solid #376797;background:#0c2c59;border-radius:20px;padding:9px;color:white;font-size:12px;min-height:38px}.locker-lights button[aria-pressed=true]{border-color:#9ff3ff;background:#285694;box-shadow:0 0 12px #47bfff40}.light-dot{width:10px;height:10px;border-radius:50%;background:#36caff}.light-dot.pink{background:#ff53c4}.light-dot.lime{background:#a3ff62}.light-dot.party{background:linear-gradient(45deg,#ff50bf,#76ff8c,#528cff)}.light-dot.off{background:#7c8ca3}

.controls #boost{background:#ffce30;color:#102b5b;border-color:#ff9c21}.controls #boost.turbo-active{background:#fff382;box-shadow:0 0 25px #ffac49}

.fuel.zooming{color:#fff19b;filter:drop-shadow(0 0 9px #ffab34)}.fuel.zooming progress{accent-color:#ffe45c}.controls .fuel{flex:1}.controls .fuel small{display:block}.controls #roll{min-width:145px}@media(max-width:650px){.controls .fuel small{display:block;font-size:11px}.controls .fuel{flex-wrap:wrap}.controls #roll{width:100%}}

.finish-banner{position:absolute;inset:0;z-index:4;display:flex;flex-direction:column;align-items:center;justify-content:center;pointer-events:none;text-align:center;background:radial-gradient(ellipse at center,#155ad73d,transparent 65%);color:white;text-shadow:0 3px 18px #031332}.finish-banner>span{font-weight:bold;letter-spacing:3px;font-size:13px}.finish-banner>strong{font:700 clamp(35px,7vw,90px)/1.1 Baloo;color:#ffe343;animation:finish-pop .6s ease-out both}.finish-banner>p{font-size:17px;margin-top:12px;color:#d8ffff}.finish-confetti{position:absolute;inset:10% 0 auto;color:#65f0ff;font-size:40px;letter-spacing:14px;animation:finish-drift 2.4s ease-out both}.victory-modal{width:min(700px,94vw);max-height:94dvh;padding-top:25px;text-align:center;background:radial-gradient(ellipse at 50% 40%,#214cc4,#082554 65%)}.victory-modal h2{font:700 40px Baloo;color:#ffe149}.victory-modal #victoryCharacter{height:310px;width:100%;margin:0 auto}.victory-modal #victoryCharacter canvas{display:block;margin:auto;max-width:100%}.victory-caption{color:#75e6ff;font-size:11px;letter-spacing:2px;margin:-8px 0 14px}.victory-modal .result-score{font-size:48px;margin:12px 0 0}.victory-modal .result-stats{margin:14px 0}.victory-modal .dialog-actions{justify-content:center;position:sticky;bottom:-1px;background:#092857;padding:10px 0}.victory-modal .pill{background:#11585e;color:#91ffd6}@keyframes finish-pop{from{transform:scale(.75);opacity:0}to{transform:scale(1);opacity:1}}@keyframes finish-drift{from{transform:translateY(-40px) scale(.7);opacity:0}20%{opacity:1}to{transform:translateY(180px) scale(1.25);opacity:.2}}@media(max-width:650px){.victory-modal #victoryCharacter{height:230px}.victory-modal h2{font-size:30px}.finish-banner>span{font-size:10px;letter-spacing:1px}.finish-banner>p{font-size:13px}.finish-confetti{font-size:24px;letter-spacing:3px}}@media(prefers-reduced-motion:reduce){.finish-confetti,.finish-banner>strong{animation:none}}

.world-journey{position:relative;overflow:hidden;border:1px solid #3679be;border-radius:16px;margin-top:18px;background:#092454}.world-journey img{display:block;width:100%;height:190px;object-fit:cover}.world-journey strong{display:block;text-align:center;font:700 17px Baloo;padding:12px 8px 3px;color:#fff}.world-swatches{display:flex;justify-content:center;gap:8px;padding:10px 8px 18px}.world-swatches i{width:15px;height:15px;border:3px solid var(--world);border-radius:50%;box-shadow:0 0 8px var(--world)}.dance-heading{gap:12px;flex-wrap:wrap}@media(max-width:780px){.world-journey img{height:110px}.world-journey strong{font-size:12px}.world-swatches{gap:5px}.world-swatches i{width:11px;height:11px;border-width:2px}}

#mobileLaunch{display:none}.locker-audio{justify-content:center}.locker-audio #trackStatus:empty{display:none}@media(max-width:780px){#mobileLaunch{display:block;width:100%;margin:12px 0 16px;padding:14px;font:700 23px Baloo;position:sticky;top:10px;z-index:10;box-shadow:0 6px 24px #001329aa}.lobby-title{padding-top:10px}.lobby-title h1{font-size:32px}.hero-stage #character{height:260px}.hero-stage{min-height:0}.turn-controls{margin:0}.dance-row{max-height:168px;overflow-y:auto;overscroll-behavior:contain;padding:4px}.dance-heading h2{font-size:17px}.locker-audio{margin:8px 0;padding:8px}.world-journey img{height:90px}}

/* Let the flight canvas take the available viewport, without a control-button row. */
body.playing{height:100dvh;min-height:0;overflow:hidden;display:flex;flex-direction:column}body.playing .topbar{flex-shrink:0;padding-top:6px;padding-bottom:6px}body.playing .brand img{height:48px}body.playing #play{display:flex;flex-direction:column;flex:1;min-height:0;width:100%;max-width:none;padding:8px 16px;margin:0}body.playing .play-top{flex-shrink:0;margin-bottom:8px}body.playing .play-top span{display:none}body.playing .game-wrap{flex:1;min-height:0}body.playing #game{position:absolute;inset:0;width:100%;height:100%;min-height:0}body.playing .controls{flex-shrink:0;margin-top:6px;padding:6px 10px;min-height:32px}body.playing .controls .fuel{display:flex;align-items:center;gap:10px;flex-wrap:nowrap;width:100%;margin:0}body.playing .fuel progress{flex:1;margin:0}body.playing .controls .fuel small,body.playing .steer-tip{display:none}
@media(max-width:780px){body.playing .topbar{display:none}body.playing #play{padding:env(safe-area-inset-top,0px) 0 env(safe-area-inset-bottom,0px)}body.playing .play-top{padding:6px 8px;margin:0;min-height:46px}body.playing .play-top strong{font-size:16px}body.playing .game-wrap{border-radius:0;border-left:0;border-right:0}body.playing .controls{margin:0;border-radius:0;padding:7px 10px}body.playing .game-hud{display:grid;grid-template-columns:repeat(3,1fr);gap:5px;top:8px;left:8px;right:8px}body.playing .hud-box{min-width:0;padding:4px 6px;background:#102957bb}body.playing .hud-box strong{font-size:21px;line-height:1.1}body.playing .hud-route{grid-column:1/-1;grid-row:2;width:100%;padding:5px 8px;display:flex;align-items:center;gap:10px;background:#10295799}body.playing .hud-route small{margin:0;white-space:nowrap;font-size:9px}body.playing .hud-route progress{flex:1;height:5px}body.playing .flight-message{top:23%}body.playing .game-hint{font-size:10px;bottom:10px}}
@media(max-height:500px) and (max-width:950px){body.playing .topbar{display:none}body.playing .play-top{min-height:38px;padding:3px 8px}body.playing .play-top button{padding:8px}body.playing .game-hud{top:5px}body.playing .hud-box{padding:3px 7px}body.playing .hud-box strong{font-size:18px}}

#character,#character canvas,#victoryCharacter canvas{touch-action:pan-y;cursor:default}#character canvas{pointer-events:none}

#mobileLaunch{background:#ffd431;color:#102e78;border:0;border-bottom:5px solid #f58a16;box-shadow:0 6px 24px #001329aa}#mobileLaunch:hover{background:#ffe357}#mobileLaunch:active{background:#ffca22}
