/* Station edition: one palette across arena, touch controls and mission screens. */
:root{--bg:#0a172a;--deep:#071220;--surface:#152c42;--mint:#9beaff;--paper:#eef7ff;--gold:#ffc477;--coral:#ff8497;--line:#9bdfff36;--muted:#a6bfd2;--shadow:0 20px 55px #010a2066}
.home{background:linear-gradient(90deg,#061120d9 0%,#07182c6b 39%,transparent 68%),url(assets/brand/future/hero.webp) 60% center/cover}
.home-head,.home footer{z-index:1}.wordmark{color:#b8d4e8;letter-spacing:1.6px}.wordmark img{border-color:#9de7ff55;box-shadow:0 0 20px #66dbff25}
.hero-copy h1{transform:none;font-size:clamp(62px,7vw,104px);letter-spacing:-3px;filter:drop-shadow(0 5px 0 #082137)}
.hero-copy h1 span{color:#84edff;letter-spacing:0;font-size:.81em;text-shadow:0 0 40px #53cdff35}
.hero-copy p{color:#f2f9ff}.hero-description{color:#bdd1e2}.eyebrow{color:#8fdef6}.eyebrow i{background:#7be8ff;box-shadow:0 0 16px #65e3ff}
.hero-caption{text-shadow:0 2px 14px #02091d}.hero-caption>span{color:#c0eaf7}.hero-caption b{color:#f2fbff}
.home footer{background:linear-gradient(transparent,#061224ef)}
.circle{background:linear-gradient(145deg,#294158e6,#102338f0);border-color:#96c6e347;box-shadow:inset 0 1px #d9f3ff26;color:#e2f5ff}
.primary{background:linear-gradient(#ffdc9b,#f2ae57);color:#162b3d;box-shadow:inset 0 2px #fff0c9,0 4px #795531,0 13px 25px #010b2466;border:1px solid #fce2b7}
.home-actions button,.secondary{background:linear-gradient(140deg,#243d54e8,#11273dea);border-color:#88cce23a;box-shadow:inset 0 1px #d0eeff14;color:#dfedf8}
.play,.play[data-world="1"],.play[data-world="2"]{background:#071220}
.play::before,.play[data-world="1"]::before,.play[data-world="2"]::before{opacity:1;background:radial-gradient(ellipse at 50% 45%,#23495c66,transparent 68%),linear-gradient(90deg,#0a1427,#0b2033 50%,#0a1427)}
.play[data-world="1"]::before{background:radial-gradient(ellipse at 50% 45%,#473b6666,transparent 68%),linear-gradient(90deg,#121329,#201d37 50%,#121329)}
.play[data-world="2"]::before{background:radial-gradient(ellipse at 50% 45%,#66482855,transparent 68%),linear-gradient(90deg,#161827,#242b36 50%,#161827)}
.play::after{content:'';position:absolute;inset:0;pointer-events:none;background-image:linear-gradient(#9dcde005 1px,transparent 1px),linear-gradient(90deg,#9dcde005 1px,transparent 1px);background-size:32px 32px;z-index:0}
#play .location h2{color:#eaf6ff}#play .location small{color:#92cbe2}#play .hearts{color:#ffc77e;text-shadow:0 0 13px #ffc47735}
#play .timer{background:linear-gradient(145deg,#2a4660,#112941);border-color:#78aeca66;box-shadow:inset 0 1px #d5eeff33,0 6px 20px #03091955}
#play .lesson{background:linear-gradient(135deg,#21445d,#10283e);border-color:#76c9e855;box-shadow:inset 0 1px #cdeaff29,0 8px 25px #03091855}
#play .lesson button{background:#081f3399;border-color:#89cbe644}
#play .loadout{background:linear-gradient(135deg,#193348cc,#0b1d30cc);border-color:#70b0d23b;box-shadow:inset 0 1px #bbe7ff20}
#play .loadout p{color:#9cb9ca}#play .loadout b{color:#b9f1ff}
#play #dpad button{background:linear-gradient(145deg,#365770,#172e45);border:1px solid #80bad457;box-shadow:inset 0 1px #cce9ff44,0 3px #020c1c;color:#c5f4ff}
#play #dpad button:active{background:linear-gradient(#3e7795,#245c7b);border-color:#a3efff;box-shadow:inset 0 0 17px #7ef3ff22}
.pad-centre{color:#7edfff88}
#play #joystick{border-color:#86d9ed66;background:radial-gradient(circle,#3b729459,#15334d 58%,#0b1c31);box-shadow:inset 0 4px 18px #010e2177,0 4px #031223}
#joystick i{color:#95d7f255}#joystick span{background:linear-gradient(145deg,#bceefa,#548eaf);box-shadow:inset 0 2px #eeffff,0 5px 12px #05162999}
#play .bomb{background:radial-gradient(ellipse at 25% 0%,#fff3cb,transparent 65%),linear-gradient(#ffd28a,#eca34c);border-color:#ffdb9e;box-shadow:inset 0 2px #fff1d7,0 5px #815536,0 12px 28px #010b2477;color:#183247}
.bomb-icon{background:radial-gradient(circle at 34% 27%,#8edcff 0 8%,#315569 15%,#132c43 60%);border:2px solid #2f5369;box-shadow:inset 0 0 0 3px #70efff}
.bomb-icon:before{top:-6px;left:9px;width:7px;height:6px;border:0;border-radius:3px;background:#eeb581;box-shadow:0 0 5px #d65343}.bomb-icon:after{background:#ed8063;left:8px;top:9px;width:5px;height:5px}
#play .shield{background:linear-gradient(135deg,#32566d,#153148);border-color:#92d9eb66;box-shadow:inset 0 1px #d8f6ff2b,0 4px #041225;color:#d7f4ff}#play .shield span{color:#86efff}
#play #toast{background:#0a243cf5;border-color:#83cae266;color:#e0f8ff}
dialog{background:radial-gradient(ellipse at 5% 0,#79dcff13,transparent 60%),linear-gradient(145deg,#203b53,#0b2035);border-color:#98cee16b;box-shadow:inset 0 1px #d9f6ff44,0 30px 100px #010a22c9}
dialog::backdrop{background:#030f24c2}.close{background:#152f47}.panel-heading{color:#edf8ff}.panel-copy{color:#aec9dc}
.pill-row span{border-color:#98cee138;background:#081e328c;color:#a3e7ff}.steps>div,.settings-row,.result-stats>div{background:linear-gradient(140deg,#19364c,#10293f);border:1px solid #8ebad52b}
.steps b{color:#ffd092}.steps em{color:#a7eaff}.toggle{background:#405c74}.toggle[aria-checked=true]{background:#82d6ee}.toggle[aria-checked=true]:after{background:#163952}
.level{background:linear-gradient(135deg,#2c4b64,#193149);border-color:#8dbed747;box-shadow:inset 0 1px #c9edff26}.level .number{background:#86ddff17;color:#a6eaff}.level:disabled{background:#152b40}.world-section{border-color:#a9cce52b}.world-section h3{color:#e0f1ff}
.training-note{background:#69d1ff15;border-color:#ffd08a;color:#b8ddec}.result-stats b{color:#a1ebff}.result-stars{color:#ffc982;text-shadow:0 0 26px #ffc98226}.result-stars .off{color:#8092ad44}
#rotate-screen::backdrop{background:#071429f7}.rotate-illustration{border-color:#89e9ff;box-shadow:0 0 45px #83deff15,inset 0 0 28px #6fcaff17}#loading{background:#091a2c}
@media(max-height:550px) and (orientation:landscape){.hero-copy h1{font-size:54px;margin:0 0 13px}.home{background-position:60% center}.hero-copy{top:85px}.wordmark{font-size:8px;letter-spacing:1px}.hero-play{font-size:16px}.home-actions button{font-size:11px}}

/* Friend rooms and mission celebrations share the station's softer panels. */
.home-actions{flex-wrap:wrap}.home-actions button{min-width:125px}
.join-room{margin:24px 0}.join-room label{display:block;color:#afc9dc;font-size:14px;margin-bottom:10px}.join-room>div{display:flex;gap:10px}.join-room input{min-width:0;flex:1;border:1px solid #5e7893;border-radius:14px;background:#0b1b30;color:#e7faff;padding:14px;font:700 18px Nunito;letter-spacing:2px;text-transform:uppercase}
.invite-box{display:flex;flex-wrap:wrap;gap:12px;align-items:center;padding:18px 22px;margin:20px 0;background:linear-gradient(115deg,#204658,#24364f);border:1px solid #668291;border-radius:22px}.invite-box>span{font-size:10px;letter-spacing:2px;color:#abd2dc}.invite-box strong{font-size:clamp(22px,4vw,32px);letter-spacing:4px;color:#ffe0a1}.invite-box button{margin-left:auto}
.crew-list{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:20px 0}.crew{display:grid;grid-template-columns:36px 1fr;gap:3px 10px;text-align:left;background:#122d3f;border:1px solid #34536a;border-radius:17px;padding:16px}.crew .pilot-dot{grid-row:span 2;align-self:center;width:32px;height:32px;display:grid;place-items:center;border-radius:11px;background:var(--pilot);color:#092032;font-weight:900;box-shadow:0 0 16px color-mix(in srgb,var(--pilot) 22%,transparent)}.crew b{font-size:15px}.crew small{font-size:10px;color:#a4bacb;letter-spacing:1px}.crew.empty{opacity:.5}.crew.empty .pilot-dot{background:#426078}
#online-message{color:#ffdda3;min-height:24px;overflow-wrap:anywhere}#online-message a{color:#a7eafb}.sector-brief{border:1px solid #42697f;padding:14px 18px;border-radius:16px;background:#143746;color:#b2e7f5;text-align:left}
.medal-list{display:grid;gap:8px;margin:18px auto;max-width:470px}.medal-list>div{display:flex;align-items:center;gap:14px;border-radius:13px;background:#112a3a;padding:12px 15px;opacity:.65}.medal-list .earned{opacity:1;background:linear-gradient(110deg,#244859,#1d3246)}.medal-list span{color:#ffe4a6;font-size:22px}.medal-list small{margin-left:auto;color:#aac6ce}.restoration{display:grid;gap:10px;border:1px solid #426677;border-radius:18px;padding:18px;margin:16px 0 24px}.restoration span{font-size:13px;color:#a4cbd9}.restoration b{font-size:15px}.restoration progress{appearance:none;width:100%;height:8px;border:0;border-radius:10px;overflow:hidden;background:#152c42}.restoration progress::-webkit-progress-bar{background:#152c42}.restoration progress::-webkit-progress-value{background:linear-gradient(90deg,#61d9ee,#d8f7b0);border-radius:10px}
.celebration{position:relative;width:110px;margin:12px auto -8px;filter:drop-shadow(0 0 20px #57badd50);animation:celebrate .7s ease-out}.celebration img{width:78px;border-radius:22px}.celebration span,.celebration i{position:absolute;color:#ffdf91;left:0;top:20px}.celebration i{left:auto;right:0;top:45px}.capacity-flash{animation:full-bay .45s ease-out}.panel-buttons button:disabled{opacity:.45;cursor:default}
@keyframes celebrate{from{transform:translateY(18px) scale(.85);opacity:0}to{transform:none;opacity:1}}@keyframes full-bay{0%,100%{filter:none}40%{filter:brightness(1.5);transform:translateY(-3px)}}
body[data-motion=false] .celebration,body[data-motion=false] .capacity-flash{animation:none}
@media(max-height:500px){.crew{padding:10px}.crew-list{gap:8px}.invite-box{margin:12px 0;padding:12px 18px}.panel-heading{margin-bottom:12px}.celebration{display:none}}
@media(max-width:650px){.crew-list{grid-template-columns:1fr}.invite-box button{margin-left:0}.join-room>div{flex-wrap:wrap}.join-room input{width:100%;flex-basis:100%}}


.panel-heading[tabindex='-1']{outline:none}
.arena-choices{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:20px 0 14px}.arena-choice{background:linear-gradient(140deg,#1c354b,#102238);border:1px solid #426078;border-radius:20px;padding:16px;display:flex;align-items:center;flex-direction:column;gap:8px;color:#eef7ff;min-width:0}.arena-choice.selected{border-color:var(--arena);box-shadow:inset 0 0 25px color-mix(in srgb,var(--arena) 13%,transparent),0 0 14px #0003}.arena-choice:disabled{cursor:default;opacity:.7}.arena-choice.selected:disabled{opacity:1}.arena-choice b{font-size:15px}.arena-choice small{font-size:11px;color:#adbed0}.arena-mini{display:grid;grid-template-columns:repeat(11,1fr);width:88px;height:80px;gap:2px}.arena-mini i{border-radius:1px;background:#87bad012}.arena-mini i.wall{background:var(--arena);opacity:.7}.hazard-option{display:flex;align-items:center;justify-content:space-between;gap:20px;border-radius:16px;background:#0d2035;padding:14px 20px;text-align:left}.hazard-option small{display:block;color:#adbed0;margin-top:5px;font-size:12px}.hazard-option .toggle{flex-shrink:0}.series-lobby{display:flex;align-items:center;flex-wrap:wrap;gap:12px;text-align:left;font-size:11px;color:#adbed0}.series-lobby>b{color:#ffda96;letter-spacing:1.5px}.score-strip{display:flex;flex-wrap:wrap;gap:8px;justify-content:center}.score-strip>span,#series-score>span{color:var(--pilot);background:#0618298c;border:1px solid #abcdeb20;border-radius:9px;padding:5px 9px;white-space:nowrap;font-size:13px}.result-score{margin:12px 0 24px}.result-score>span{font-size:20px;padding:12px 20px}.battle-banner{position:absolute;z-index:7;left:calc(var(--rail) + var(--edge-left));right:calc(var(--rail) + var(--edge-right));top:39%;pointer-events:none;text-align:center;filter:drop-shadow(0 6px 18px #001019)}.battle-banner strong{font-size:clamp(42px,8vh,86px);font-weight:1000;line-height:1.1;display:block;color:#ecfbff;text-shadow:0 0 30px #5de3ff90,-2px 2px #28708c}.battle-banner span{display:inline-block;margin-top:12px;border:1px solid #83c8dd80;border-radius:30px;background:#091a30e8;padding:8px 20px;color:#adf1ff;font-size:11px;letter-spacing:2px}.online-status{position:absolute;left:calc(var(--edge-left) + 10px);top:310px;width:calc(var(--rail) - 20px);display:flex;flex-direction:column;gap:10px;pointer-events:none;font-size:10px}#connection-status{color:#86ecc3;letter-spacing:.8px}#connection-status[data-quality=SLOW],#connection-status[data-quality=WAITING]{color:#ffd08c}#connection-status[data-quality=RECONNECTING]{color:#ff96a3}#series-score{display:grid;grid-template-columns:1fr 1fr;gap:5px}#series-score>span{padding:4px;font-size:10px}#bomb:disabled{opacity:.6;filter:saturate(.5)}
@media(max-height:550px){.online-status{top:156px;font-size:8px;gap:6px}#series-score{gap:3px}#series-score>span{font-size:8px;padding:3px 1px}.battle-banner span{font-size:9px;padding:6px 12px}.arena-choice{padding:10px}.arena-mini{height:55px;width:60px}.arena-choice small{font-size:10px}}
@media(max-width:650px){.arena-choices{gap:6px}.arena-choice b{font-size:12px}.arena-choice small{display:none}.hazard-option{padding:12px}.series-lobby{font-size:10px}}
@media(max-height:350px){#play .game-status{top:86px;font-size:9px;line-height:1.3;gap:4px}.online-status{top:146px;gap:3px;font-size:7px;line-height:1.2}#series-score>span{font-size:7px;line-height:1;padding:1px}}
/* Six station worlds, with a compact mission browser and earned finishes. */
.world-tabs{display:grid;grid-template-columns:repeat(6,1fr);gap:8px;margin:20px 0}.world-tabs button{display:flex;flex-direction:column;gap:6px;align-items:flex-start;text-align:left;min-height:95px;border:1px solid #3a526c;border-radius:17px;background:linear-gradient(145deg,#243c53,#101e32);padding:14px 11px;color:#e8f8ff}.world-tabs b{color:var(--world);font-size:12px;letter-spacing:2px}.world-tabs span{font-size:13px;font-weight:800}.world-tabs small{color:#a7bacd;font-size:10px}.world-tabs .selected{border-color:var(--world);box-shadow:inset 0 0 25px color-mix(in srgb,var(--world) 14%,transparent)}.world-intro{text-align:left;border-left:3px solid var(--world);padding:7px 18px 12px;margin:24px 0;background:linear-gradient(90deg,color-mix(in srgb,var(--world) 9%,transparent),transparent);border-radius:0 18px 18px 0}.world-intro h3{font-family:'Fraunces',serif;font-size:27px;margin:8px 0}.world-intro p,.story-copy{font-size:14px;line-height:1.65;color:#b6d1df}.world-intro progress{width:100%;height:5px;accent-color:var(--world)}.expansion-levels{grid-template-columns:repeat(2,1fr);gap:12px}.mission-choice{border:1px solid #3c5a72;border-radius:20px;overflow:hidden;background:#10283c}.mission-choice .level{border:none;border-radius:0;min-height:82px;width:100%;margin:0;text-align:left}.mission-choice .number{color:#d1eeff}.challenge-link{width:100%;font-size:11px;padding:12px;border:none;border-top:1px solid #56718a44;background:linear-gradient(110deg,#254151,#25354d);color:#d1edee;min-height:42px}.challenge-link:disabled{opacity:.45;cursor:default}.challenge-link:not(:disabled):hover{background:#365365}.cosmetic-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:12px;margin:25px 0}.cosmetic{border:1px solid #38526c;border-radius:22px;background:radial-gradient(ellipse at top,color-mix(in srgb,var(--finish) 18%,transparent),#132539 75%);color:#e2f5ff;display:flex;flex-direction:column;align-items:center;gap:8px;padding:16px 9px}.cosmetic.selected{border-color:var(--finish);box-shadow:inset 0 0 15px color-mix(in srgb,var(--finish) 13%,transparent)}.cosmetic:disabled{filter:grayscale(.9);opacity:.46}.cosmetic b{font-size:13px}.cosmetic small{font-size:10px;line-height:1.5;color:#b8cadb}.finish-preview{position:relative;display:grid;place-items:center;width:74px;height:74px;border-radius:22px;background:var(--finish);box-shadow:0 0 25px color-mix(in srgb,var(--finish) 24%,transparent);overflow:hidden}.finish-preview img{width:74px;height:74px;mix-blend-mode:multiply}.finish-preview i{position:absolute;right:4px;bottom:2px;color:white;font-style:normal}.journal-entry{text-align:left;border:1px solid #426179;border-radius:20px;padding:20px;margin:16px 0;background:linear-gradient(110deg,#1e384d,#12263b)}.journal-entry h3{margin:10px 0;color:#e4f6ff}.journal-entry p,.journal-entry blockquote{font-size:14px;line-height:1.7;color:#b2cddd}.journal-entry blockquote{border-left:2px solid #98e6ee;padding-left:16px;margin:14px 0 0;color:#d9eef1}.story-reveal,.unlock-reward{text-align:left;background:#264651;border:1px solid #6a9798;border-radius:18px;padding:18px;margin:18px 0;color:#dff5e8}.story-reveal p{font-size:15px;line-height:1.6}.unlock-reward{border-color:#9a8760;background:linear-gradient(100deg,#4b4631,#283847);color:#ffe5a3;font-size:14px}.boss-brief{display:flex;align-items:center;gap:22px;text-align:left;border:1px solid #527086;border-radius:24px;overflow:hidden;background:#102335;margin:20px 0;padding-right:22px}.boss-brief img{width:160px;height:160px;object-fit:cover}.boss-brief h3{font-size:22px;margin:10px 0}.boss-brief p{font-size:13px;line-height:1.6;color:#bbd0df}.boss-brief .eyebrow{font-size:9px}.story-copy{text-align:left;padding:15px 19px;background:#193b4a;border-radius:18px}.play[data-world='3']{background:radial-gradient(ellipse at center,#25495a,#081827 75%)}.play[data-world='4']{background:radial-gradient(ellipse at center,#514935,#171d28 75%)}.play[data-world='5']{background:radial-gradient(ellipse at center,#3d284b,#0b1125 75%)}
@media(max-width:900px){.world-tabs{grid-template-columns:repeat(3,1fr)}.world-tabs button{min-height:72px;padding:10px}.cosmetic-grid{grid-template-columns:repeat(3,1fr)}.boss-brief img{width:130px;height:150px}}
@media(max-width:650px){.cosmetic-grid{grid-template-columns:repeat(2,1fr)}.boss-brief{gap:13px;padding-right:12px}.boss-brief h3{font-size:17px}.boss-brief img{width:112px;height:145px}.expansion-levels{grid-template-columns:1fr}}
@media(max-height:500px){.world-tabs{grid-template-columns:repeat(6,1fr);gap:5px;margin:12px 0}.world-tabs button{padding:8px;min-height:67px}.world-tabs span{font-size:10px}.world-tabs small{font-size:9px}.world-intro{margin:12px 0}.expansion-levels{grid-template-columns:repeat(2,1fr)}.mission-choice .level{min-height:65px}.cosmetic-grid{grid-template-columns:repeat(5,1fr)}.cosmetic{padding:12px 7px}.finish-preview,.finish-preview img{width:55px;height:55px}.boss-brief img{width:120px;height:135px}}
@media(max-height:360px) and (orientation:landscape){.home-head{padding:9px 22px}.home-head .circle{width:40px;height:40px;min-width:40px}.hero-copy{top:64px;left:7%;bottom:48px}.hero-copy h1{font-size:39px;margin:0 0 8px}.hero-copy h1 span{margin-top:6px}.hero-play{margin:10px 0 0;min-height:43px;padding:8px 17px;font-size:14px}.hero-play span{font-size:22px}.home-actions{margin-top:10px}.home-actions button{min-height:43px;padding:8px 13px}.home footer{padding:0 20px}.home footer button{font-size:10px}.home footer button span{width:20px;height:20px;margin-left:5px}.home footer #saved-stars{font-size:8px;letter-spacing:.5px}}
