@import url('https://fonts.googleapis.com/css2?family=Chakra+Petch:wght@400;500;600;700&family=Space+Grotesk:wght@400;500;600;700&display=swap');
:root{color-scheme:dark;--cyan:#67eaff;--purple:#b29aff;--muted:#93a3c0;--line:#aecbff26;font-family:'Space Grotesk',system-ui,sans-serif}*{box-sizing:border-box}[hidden]{display:none!important}body{margin:0;background:#050817;color:#edf5ff;overflow:hidden}button,input,select,textarea{font:inherit}button{cursor:pointer}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--cyan);outline-offset:4px}#space,#fallback,#labels,.vignette{position:fixed;inset:0;width:100%;height:100%}#space,#fallback{z-index:0}#labels{z-index:1;pointer-events:none}.vignette{z-index:2;pointer-events:none;background:radial-gradient(ellipse at 65% 40%,transparent 20%,#03061180 100%)}.screen{position:fixed;inset:0;z-index:10;overflow:auto}#home{padding:30px 5vw 65px;background:linear-gradient(90deg,#050817f2,#050817a6 43%,transparent 74%)}.brand{display:flex;align-items:center;gap:12px;font-size:12px;letter-spacing:.15em}.brand-icon{display:grid;place-items:center;width:36px;height:36px;border:1px solid #67eaff66;border-radius:10px;color:var(--cyan);font-size:25px}.brand b{color:var(--cyan);font-weight:500}.version{border:1px solid var(--line);padding:6px 9px;font-size:9px;margin-left:12px;border-radius:4px}.landing{position:absolute;top:22%;max-width:640px}.eyebrow{font-size:10px;font-weight:600;letter-spacing:.24em;color:var(--cyan)}h1{font-size:clamp(46px,6.1vw,88px);line-height:1.03;letter-spacing:-.055em;font-weight:600;margin:22px 0}h1 em{font-style:normal;color:var(--cyan);text-shadow:0 0 60px #67eaff33}.intro{font-size:16px;line-height:1.8;color:#a9b9d4;margin-bottom:26px}.entry-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;max-width:460px}.primary,.secondary,.text-button,.back,.icon-button{border:0;transition:transform .18s,background .18s}.primary,.secondary{padding:15px 20px;border-radius:10px;font-size:13px;font-weight:600;display:flex;justify-content:center;align-items:center;gap:22px}.primary{background:var(--cyan);color:#041523;box-shadow:0 4px 25px #67eaff1f}.primary:hover{background:#a9f4ff;transform:translateY(-2px)}.secondary{background:#15223c9c;border:1px solid #9dc9fc36;color:#e0eaff}.secondary:hover{background:#233553}button:disabled{opacity:.45;cursor:wait}.text-button{grid-column:1/-1;background:transparent;color:#aabbd9;font-size:12px;padding:13px;text-align:left}.text-button:hover{color:var(--cyan)}.feature-row{display:flex;gap:24px;margin-top:27px;font-size:8px;letter-spacing:.12em;color:#8197b6}.hero-caption{position:absolute;left:66%;bottom:21%;display:grid;gap:12px;border-left:1px solid #67eaff77;padding-left:20px;text-shadow:0 2px 10px #000}.hero-caption small{font-size:10px;color:var(--cyan);letter-spacing:.2em}.hero-caption strong{font-size:12px;letter-spacing:.14em}.hero-caption span{font-size:11px;color:#c6d5ec;line-height:1.7}.home-footer{position:absolute;bottom:65px;left:5vw;right:5vw;display:flex;justify-content:space-between;gap:12px;font-size:9px;letter-spacing:.14em;color:#7d91b2}.panel-screen{display:flex;align-items:flex-start;justify-content:center;padding:55px 20px 100px;background:#030713a8;backdrop-filter:blur(10px)}.panel{background:linear-gradient(135deg,#111d38f5,#070e20f5);border:1px solid var(--line);border-radius:22px;padding:30px;box-shadow:0 30px 100px #0008;position:relative}.wide{width:min(900px,100%)}.compact{width:min(460px,100%);margin-top:6vh}.back{background:none;color:#9bb0cd;padding:0;margin-bottom:26px;font-size:12px}h2{font-size:clamp(24px,3vw,36px);letter-spacing:-.04em;margin:12px 0}h3{font-size:15px}.muted{color:var(--muted);font-size:13px;line-height:1.7}.form-row{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:15px;margin:24px 0}label{display:flex;flex-direction:column;gap:8px;font-size:11px;color:#a9bedc}input,select,textarea{background:#060d20;color:#e6f1ff;border:1px solid #7797bb44;border-radius:8px;padding:12px;min-width:0;width:100%}#joinForm label{margin:20px 0}#pinInput{font-size:36px;letter-spacing:.3em;text-align:center;font-family:'Chakra Petch',monospace}#connectBtn{width:100%;margin-top:20px}.topic-group{margin:19px 0;border:0;padding:0}.topic-group legend{color:#becfeb;font-size:11px;margin-bottom:10px;letter-spacing:.1em}.topic-chips{display:flex;flex-wrap:wrap;gap:7px}.topic-chips label{position:relative;display:block;cursor:pointer}.topic-chips input{position:absolute;opacity:0;width:1px;height:1px}.topic-chips span{display:block;border:1px solid #718ab944;background:#111d32;border-radius:6px;font-size:10px;padding:9px 12px;color:#93a6c7}.topic-chips input:checked+span{background:#67eaff18;border-color:#67eaff77;color:var(--cyan)}.topic-chips input:focus-visible+span{outline:2px solid var(--cyan)}.custom-questions{padding:13px;border:1px solid var(--line);border-radius:8px;margin:16px 0;font-size:11px;color:var(--muted)}summary{cursor:pointer;color:#becfeb}.custom-questions p{line-height:1.6}.settings-footer{display:flex;align-items:center;justify-content:space-between;gap:20px;border-top:1px solid var(--line);padding-top:20px}.settings-footer span{font-size:10px;color:#899dbd;line-height:1.8}.error{color:#ff94aa;background:#f6507020;border:1px solid #ff668044;padding:12px;border-radius:8px;font-size:12px}.lobby-header{display:flex;align-items:center;justify-content:space-between;gap:25px}.pin-block{background:#67eaff0c;border:1px solid #67eaff44;padding:15px 25px;text-align:center;border-radius:12px}.pin-block small{font-size:9px;letter-spacing:.2em;display:block;color:var(--cyan)}.pin-block strong{font:700 46px 'Chakra Petch',monospace;letter-spacing:.2em}.share-row{display:flex;gap:10px;margin:20px 0}.share-row input{font-size:11px}.player-chips{display:flex;flex-wrap:wrap;gap:8px;margin:20px 0;min-height:70px}.player-chip{padding:10px 14px;border-radius:8px;border:1px solid var(--line);background:#15213b;color:#d9ebff;font-size:12px}.lobby-actions{display:flex;justify-content:space-between;gap:12px;margin-top:24px}#qr{float:right;padding:10px;background:white;border-radius:10px;margin:0 0 15px 15px}#qr img,#qr canvas{width:100px;height:100px}.global-controls{position:fixed;left:20px;bottom:14px;display:flex;gap:6px;z-index:40;align-items:center}.control,.volume-label{border:1px solid #728ca333;border-radius:20px;padding:8px 11px;background:#0a1427e8;color:#9eb1d0;font-size:10px}.volume-label{display:flex;flex-direction:row;align-items:center;gap:5px}.volume-label input{width:56px;padding:0;accent-color:var(--cyan)}#hud{position:fixed;inset:0;pointer-events:none;z-index:8}#hud button{pointer-events:auto}.hud-top{display:flex;align-items:center;justify-content:space-between;padding:19px 24px}.hud-brand{display:flex;align-items:center;gap:10px;color:var(--cyan);font-size:22px}.hud-brand b{font-size:15px;letter-spacing:.13em}.hud-brand small{color:#90a7c7;font-size:9px;border-left:1px solid var(--line);padding-left:10px}.time-box{text-align:center;position:absolute;left:50%;transform:translateX(-50%);top:15px}.time-box small{font-size:8px;color:#a3b5d1;letter-spacing:.15em;display:block}.time-box strong{font:600 27px 'Chakra Petch',monospace}.icon-button{background:#0a1427c9;color:#9ab0cf;border:1px solid var(--line);width:32px;height:32px;border-radius:8px}.question-panel{position:absolute;top:78px;left:24px;width:min(380px,calc(100% - 48px));padding:18px 21px;background:#071126e6;border:1px solid #67eaff44;border-radius:14px;box-shadow:0 8px 40px #0004}.question-head{display:flex;justify-content:space-between;font-size:9px;letter-spacing:.14em;color:var(--cyan)}.question-panel h2{font:600 clamp(20px,2.2vw,29px) 'Chakra Petch',sans-serif;line-height:1.3;margin:13px 0}.question-panel p{font-size:10px;color:#a7bad5;margin:0 0 10px}.question-progress{height:2px;background:#ffffff13}.question-progress i{display:block;height:100%;width:100%;background:var(--cyan)}.rank-panel{position:absolute;right:24px;top:85px;width:180px;background:#081226ca;padding:15px;border:1px solid var(--line);border-radius:12px}.rank-panel>small{font-size:8px;letter-spacing:.13em;color:#829bbf}.rank-panel ol{padding:0;list-style:none;margin:12px 0}.rank-panel li{display:flex;justify-content:space-between;gap:10px;font-size:11px;padding:7px 0;border-bottom:1px solid #ffffff0b}.rank-panel p{font-size:9px;color:#728aab;margin:8px 0 0}.rank-panel .me{color:var(--cyan)}#minimap{position:absolute;right:24px;bottom:115px;width:135px;height:135px;border:1px solid #6786b744;background:#040c1ed9;border-radius:12px}.pilot-panel{position:absolute;left:24px;bottom:108px;width:270px;background:#081326da;border:1px solid var(--line);border-radius:14px;padding:16px}.pilot-panel>div:first-child{display:flex;justify-content:space-between;align-items:center}.pilot-panel small{font-size:8px;color:#93aac8;letter-spacing:.1em}.pilot-panel strong{font:600 26px 'Chakra Petch',sans-serif}.pilot-panel strong span{font-size:10px;color:var(--cyan)}.shield-track{height:4px;background:#233449;border-radius:3px;margin:9px 0 5px}.shield-track i{display:block;height:100%;width:100%;background:#67eaff}.weapon-slots{display:flex;gap:6px;margin-top:12px;pointer-events:auto}.weapon-slot{border:1px solid #617b9b44;padding:7px 9px;border-radius:6px;background:#15243b;color:#66809b;font-size:12px;flex:1}.weapon-slot.unlocked{color:#cae5ff}.weapon-slot.selected{border-color:var(--cyan);background:#67eaff22;color:var(--cyan)}.pilot-panel p{font-size:9px;margin:10px 0 0;color:#a0b6d6}.game-bottom{position:absolute;bottom:57px;left:24px;right:24px;display:flex;align-items:center;justify-content:center;gap:12px}.game-bottom span{font-size:10px;letter-spacing:.16em;color:var(--cyan)}.game-bottom button{padding:9px 13px;font-size:10px}.notice{position:absolute;left:50%;top:33%;transform:translateX(-50%);font-size:17px;font-weight:600;padding:14px 25px;text-align:center;color:var(--cyan);background:#07172ade;border:1px solid currentColor;border-radius:10px;max-width:90vw;box-shadow:0 0 35px #67eaff22}.respawn{position:absolute;left:50%;top:49%;transform:translate(-50%,-50%);background:#071126dd;border:1px solid #ff8dce77;border-radius:14px;padding:22px;text-align:center;color:#ffc3e7;font-size:20px}.teacher-overlay{position:absolute;bottom:57px;left:24px;right:24px;display:flex;justify-content:space-between;align-items:center;gap:12px;pointer-events:auto}.teacher-overlay span{font-size:10px;color:var(--cyan)}.teacher-overlay button{padding:10px;font-size:11px}.podium{display:flex;gap:12px;margin:24px 0}.podium>div{flex:1;padding:22px;background:#11213a;border:1px solid var(--line);border-radius:12px;text-align:center}.podium>div:first-child{border-color:#ffd17566;background:#ffd1750b}.podium small{display:block;color:#a5b8d4;font-size:11px}.podium b{display:block;margin:8px 0;font-size:17px}.podium strong{color:var(--cyan);font-size:24px}.result-columns{display:grid;grid-template-columns:1fr 1fr;gap:28px}.final-rank{padding:0;list-style:none;max-height:250px;overflow:auto}.final-rank li{display:flex;justify-content:space-between;padding:10px;border-bottom:1px solid var(--line);font-size:12px}.review-list{padding-left:15px;font-size:12px;line-height:1.8;color:#a7bad5;max-height:250px;overflow:auto}.fatal-error{position:fixed;inset:20%;padding:35px;background:#111c31;border:2px solid #ff8dce;border-radius:16px;z-index:100;color:#ffe1ee;overflow:auto}.fatal-error button{background:var(--cyan);color:#071526;border:0;padding:14px;border-radius:8px}.fatal-error p{font-size:13px;line-height:1.6}
@media(max-width:800px){#home{padding:20px 6vw;background:linear-gradient(90deg,#050817e8,#05081780)}.landing{top:22%;right:6vw}.hero-caption{display:none}h1{font-size:clamp(42px,9vw,70px)}.intro{font-size:13px}.feature-row{gap:12px;font-size:7px}.home-footer{left:6vw;right:6vw;bottom:100px;font-size:7px}.form-row{grid-template-columns:1fr 1fr}.form-row label:first-child{grid-column:1/-1}.panel{padding:23px}.panel-screen{padding:20px 12px 120px}.settings-footer{flex-direction:column;align-items:stretch}.rank-panel{right:12px;top:73px;width:132px;padding:10px}.rank-panel li{font-size:9px}.question-panel{top:73px;left:12px;width:calc(100% - 162px);padding:12px}.question-panel h2{font-size:19px}.question-panel p{font-size:9px}.hud-top{padding:15px 12px}.hud-brand small{display:none}.hud-brand b{font-size:12px}.pilot-panel{left:12px;bottom:128px;width:210px;padding:12px}.pilot-panel strong{font-size:21px}#minimap{right:12px;bottom:128px;width:95px;height:95px}.game-bottom{bottom:84px;left:12px;right:12px;gap:8px}.game-bottom span{display:none}.global-controls{left:10px;right:10px;bottom:13px;flex-wrap:wrap;justify-content:center;gap:5px}.control,.volume-label{padding:7px 9px;font-size:9px}.teacher-overlay{bottom:85px;left:12px;right:12px}.lobby-header{flex-direction:column;align-items:flex-start}.pin-block{width:100%}.result-columns{grid-template-columns:1fr}.podium>div{padding:15px 8px}.podium b{font-size:12px}.share-row{flex-direction:column}.fatal-error{inset:10% 5%}.question-head{font-size:8px}.version{display:none}.entry-grid{max-width:430px}.lobby-actions .primary,.lobby-actions .secondary{font-size:11px;padding:12px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}}

/* Touch controls and narrow-screen layout. */
.touch-steering{display:none;position:absolute;right:18px;bottom:245px;width:96px;pointer-events:auto;text-align:center}.touch-steering small{display:block;font:7px system-ui;letter-spacing:.09em;color:#9ab4d4;margin-top:9px}#steeringPad{display:grid;place-items:center;position:relative;width:96px;height:96px;border:1px solid #67eaff66;border-radius:50%;background:radial-gradient(circle,#193e5660,#071426d9);touch-action:none;user-select:none;-webkit-user-select:none;padding:0;box-shadow:inset 0 0 30px #67eaff0c}#steeringPad i{position:absolute;width:64px;height:64px;border:1px dashed #67eaff33;border-radius:50%}#steeringThumb{display:block;width:32px;height:32px;border-radius:50%;background:radial-gradient(circle at 35% 30%,#d9ffff,#67eaff 40%,#285473);box-shadow:0 0 18px #67eaff33;pointer-events:none}
@media(max-width:800px),(pointer:coarse){.touch-steering{display:block}.weapon-slot{min-height:40px}.pilot-panel{width:min(248px,calc(100vw - 122px))}}
@media(max-width:800px){.landing{left:6vw;right:6vw;max-width:none}.feature-row{flex-wrap:wrap;gap:9px 15px;line-height:1.8}.intro{max-width:100%}.home-footer{font-size:7px;letter-spacing:.06em}.entry-grid{grid-template-columns:1fr 1fr;gap:8px}.entry-grid .primary,.entry-grid .secondary{padding:14px 9px;font-size:12px}}
@media(max-height:500px) and (orientation:landscape){.landing{top:85px}#home{min-height:100%}.landing h1{font-size:38px;margin:10px 0}.landing .intro{font-size:11px;margin-bottom:12px}.feature-row{margin-top:8px}.home-footer{display:none}.landing .text-button{padding:7px}.global-controls{left:auto;right:10px;bottom:9px;max-width:50vw}.global-controls .volume-label{display:none}.pilot-panel{left:12px;bottom:57px;width:210px;padding:10px}.pilot-panel .weapon-slots{margin-top:7px}.pilot-panel .weapon-slot{min-height:32px}.pilot-panel p{margin-top:6px}.question-panel{top:58px;width:280px;padding:10px 14px}.question-panel h2{font-size:20px;margin:6px 0}.question-panel p{font-size:9px;margin-bottom:5px}.question-head{font-size:8px}.rank-panel{top:60px;width:135px;padding:9px}.rank-panel li{padding:4px 0;font-size:9px}.rank-panel>small{font-size:7px}#minimap{right:12px;bottom:63px;width:80px;height:80px}.touch-steering{right:113px;bottom:71px;width:82px}#steeringPad{width:82px;height:82px}.game-bottom{left:240px;right:210px;bottom:66px;flex-wrap:wrap;gap:6px}.game-bottom .secondary{font-size:9px;padding:8px}.game-bottom span{display:none}.time-box strong{font-size:22px}.time-box{top:8px}.hud-top{padding:10px 12px}.teacher-overlay{bottom:62px}}

#equipmentGuide{display:grid;grid-template-columns:1fr 1fr;gap:10px 20px;margin-top:16px}.equipment-guide-item{display:grid;gap:5px;padding:10px;background:#101d31;border-radius:8px}.equipment-guide-item b{font-size:12px}.equipment-guide-item span{font-size:10px;line-height:1.65;color:#9cb0ce}.equipment-status{position:absolute;left:24px;bottom:328px;width:300px;display:flex;flex-wrap:wrap;gap:5px;pointer-events:none}.equipment-status>span{font-size:9px;color:var(--item-color);border:1px solid color-mix(in srgb,var(--item-color),transparent 65%);background:#071126ed;border-radius:6px;padding:7px 9px;box-shadow:0 2px 10px #0005}.equipment-status b{font-size:9px;color:#edf5ff;margin-left:5px}#equipmentCounter{color:#d3b3ff!important;font-size:9px!important;line-height:1.5}
@media(max-width:800px){#equipmentGuide{grid-template-columns:1fr}.equipment-status{left:12px;bottom:298px;width:calc(100% - 125px)}.equipment-status>span{font-size:8px;padding:5px 7px}.equipment-status b{font-size:8px}}
@media(max-height:500px) and (orientation:landscape){.equipment-status{left:12px;bottom:218px;width:220px}.equipment-status>span{padding:4px 6px;font-size:8px}}

.equipment-status{max-height:160px;overflow-y:auto;pointer-events:auto;scrollbar-width:thin}.equipment-status>span{flex-shrink:0}@media(max-width:800px){.equipment-status{max-height:96px}}
