:root{font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;color:#eef6ff;background:#07101e;font-synthesis:none}*{box-sizing:border-box}html,body,#app{margin:0;width:100%;height:100%;min-height:100%;overflow:hidden}button,input,select{font:inherit}button{cursor:pointer;touch-action:manipulation}button:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #ffc34c;outline-offset:2px}.screen{width:100%;height:100%;position:relative}.hidden{display:none!important}#lobby{overflow:auto;background:radial-gradient(ellipse at 20% 14%,#1e486c 0%,transparent 40%),radial-gradient(ellipse at 84% 75%,#274b43 0%,transparent 42%),linear-gradient(145deg,#07101e,#13253a)}.lobby-shell{max-width:1110px;margin:auto;padding:27px 18px 32px}.brand{text-align:center;margin:0 0 22px}.eyebrow{color:#ffc754;font-size:12px;letter-spacing:4px;font-weight:900}.brand h1{font-weight:1000;font-stretch:condensed;font-size:clamp(42px,8vw,76px);letter-spacing:-3px;margin:1px 0;line-height:1.1;text-shadow:0 5px 0 #050a11}.brand h1 span{color:#ffc44f}.brand p{margin:6px;color:#c9d6e7}.lobby-grid{display:grid;grid-template-columns:minmax(260px,0.9fr) minmax(300px,1.2fr);gap:16px}.panel{background:#101d30ed;border:1px solid #36506c;border-radius:19px;padding:20px;box-shadow:0 16px 50px #03060b60}.panel h2{font-size:15px;letter-spacing:2px;color:#c6d7e9;margin:0 0 16px}.avatar-panel canvas{width:100%;height:200px;display:block;object-fit:contain;border-radius:12px;background:radial-gradient(circle at center,#304a6b,#0b1d32 75%)}.choices{display:flex;gap:8px;justify-content:center;margin:12px 0}.choice{width:45px;height:45px;border:3px solid #64788b;border-radius:50%;background:var(--c);color:#07101e;font-size:22px;font-weight:900}.choice.active{border-color:#ffce51;box-shadow:0 0 0 2px #ffce5160}.field{display:flex;flex-direction:column;gap:7px;margin-top:13px}.field label{font-size:11px;letter-spacing:1.5px;font-weight:900;color:#a9bfd4}.field input,.field select{border:1px solid #46647f;border-radius:9px;background:#0d1b2b;color:#e8f4ff;padding:12px;width:100%}.map-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.map-option{text-align:left;background:linear-gradient(145deg,#203c51,#152338);border:2px solid #4a6480;color:white;border-radius:12px;padding:12px;min-height:96px;display:flex;flex-direction:column;justify-content:space-between;gap:4px}.map-option .emoji{font-size:27px}.map-option b{font-size:14px}.map-option small{color:#bdd0e2;font-size:11px}.map-option.active{border-color:#ffc34c;background:linear-gradient(130deg,#36536b,#273544);box-shadow:inset 0 0 20px #ffc34c18}.lobby-stats{display:flex;gap:17px;flex-wrap:wrap;margin:15px 0;color:#bed3e8;font-size:14px}.primary{background:linear-gradient(#ffe27c,#ffb833);border:0;color:#1f2119;font-weight:1000;border-radius:10px;padding:13px 19px;box-shadow:0 5px 0 #a46417}.primary:active{transform:translateY(3px);box-shadow:0 2px 0 #a46417}.primary.large{width:100%;font-size:19px;padding:16px}.secondary{border:1px solid #6f8ca6;border-radius:10px;color:#e9f4ff;background:#263d57;padding:13px 19px;font-weight:800}.small{font-size:11px;color:#95b0c8;text-align:center;margin:15px 0 0}.howto{margin:15px 0 0;text-align:center;font-size:12px;color:#b3cae2;line-height:1.6}.howto b{color:#ffcc68}#game{background:#0b1a25;overflow:hidden}#gameCanvas{display:block;width:100%;height:100%;touch-action:none}#gameHud{position:absolute;inset:0;pointer-events:none;user-select:none}.top-hud{position:absolute;top:max(12px,env(safe-area-inset-top));left:12px;right:12px;display:flex;justify-content:space-between;gap:8px}.top-left,.top-right{display:flex;gap:7px}.chip{font-size:12px;font-weight:900;padding:10px 11px;background:#0b1726bb;border:1px solid #8cb3d644;border-radius:8px;color:white;backdrop-filter:blur(5px)}button.chip{pointer-events:auto}.minimap-wrap{position:absolute;right:12px;top:70px;padding:5px;background:#0b1726c9;border-radius:10px;border:1px solid #6383a6aa;width:145px;display:flex;flex-direction:column;align-items:center}.minimap-wrap canvas{width:135px;height:135px;image-rendering:auto}.minimap-wrap span{font-size:10px;font-weight:900;letter-spacing:2px;color:#bed3eb;padding:2px}.bottom-hud{position:absolute;left:15px;right:15px;bottom:15px;display:flex;justify-content:space-between;align-items:end;gap:16px}.vitals{width:min(240px,38vw)}.bar-label{display:flex;justify-content:space-between;font-size:11px;font-weight:1000;letter-spacing:1px;text-shadow:0 1px 2px #000}.shield-label{margin-top:8px}.bar{height:13px;background:#0b1121bb;border:1px solid #ffffff55;border-radius:5px;overflow:hidden;margin-top:3px}.bar>div{height:100%;width:100%;background:linear-gradient(90deg,#ee3e5b,#ff818e);transition:width .15s}.bar.shield>div{background:linear-gradient(90deg,#3074e5,#6edbff)}.weapon-info{text-align:right;background:#061322ac;border:1px solid #45647d;border-radius:10px;padding:7px 10px;min-width:165px}.weapon-info #weaponName{color:#ffd064;font-weight:1000;font-size:12px;letter-spacing:1.5px}.ammo strong{font-size:34px;line-height:1.05}.ammo span{color:#a9bdd0}.weapon-slots{display:flex;justify-content:end;gap:3px;margin-top:4px}.weapon-slot{display:flex;align-items:center;justify-content:center;border:1px solid #7b94a466;background:#ffffff15;border-radius:4px;font-size:13px;width:22px;height:21px;color:#bed4e5}.weapon-slot.active{border-color:#ffd35b;background:#ae7425;color:white}#crosshair{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:22px;height:22px}#crosshair:before,#crosshair:after{content:"";position:absolute;background:white;box-shadow:0 0 2px black}#crosshair:before{width:2px;height:22px;left:10px}#crosshair:after{height:2px;width:22px;top:10px}#crosshair i{display:none}#hitmarker{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);color:#ffdc73;font-weight:900;font-size:35px;text-shadow:0 0 8px black}#damageOverlay{position:absolute;inset:0;pointer-events:none}#toast{position:absolute;top:19%;left:50%;transform:translateX(-50%);max-width:80%;white-space:pre-line;text-align:center;color:#fff;font-weight:1000;font-size:16px;text-shadow:0 2px 5px black;opacity:0;transition:opacity .15s}.overlay{position:absolute;inset:0;background:#030b16bf;display:flex;justify-content:center;align-items:center;padding:20px;z-index:20;backdrop-filter:blur(7px)}.plane-card,.dialog{width:min(470px,100%);border:1px solid #7895af;background:linear-gradient(150deg,#203c56,#101c2d);padding:26px;border-radius:21px;text-align:center;box-shadow:0 22px 80px #000b}.plane-graphic{font-size:90px;color:#ffd274;filter:drop-shadow(0 0 15px #5bbef5);animation:fly 2.5s ease-in-out infinite alternate}@keyframes fly{from{transform:translate(-15px,3px) rotate(-7deg)}to{transform:translate(16px,-8px) rotate(6deg)}}.plane-card h2,.dialog h2{font-weight:1000;font-size:clamp(26px,5vw,42px);margin:12px 0}.plane-card p,.dialog p{color:#bfd3e7;line-height:1.5}.dialog button{display:block;width:100%;margin-top:13px}.end-emoji{font-size:65px}.desktop-tip{position:absolute;bottom:115px;left:50%;transform:translateX(-50%);font-size:10px;color:#e0efffcc;text-shadow:0 1px 3px black;white-space:nowrap}#mobileControls{display:none;position:absolute;inset:0;pointer-events:none}.joystick{pointer-events:auto;touch-action:none;position:absolute;bottom:clamp(92px,16vh,150px);left:22px;width:116px;height:116px;border-radius:50%;background:#ffffff21;border:2px solid #ffffff55}.joystick:after{content:"MOVE";position:absolute;left:50%;top:-22px;transform:translateX(-50%);font-size:10px;font-weight:900;color:#fff}#stick{position:absolute;left:31px;top:31px;width:52px;height:52px;border-radius:50%;background:#b6dcff88;border:2px solid #e8f5ffaa;box-shadow:0 0 10px #0006}.mobile-actions{pointer-events:none;position:absolute;right:13px;bottom:100px;display:grid;grid-template-columns:repeat(3,58px);gap:8px;align-items:center}.mobile-actions button{pointer-events:auto;touch-action:none;width:58px;height:58px;padding:0;border-radius:50%;border:2px solid #e0efff88;background:#12334dcf;color:#fff;font-size:9px;font-weight:1000;box-shadow:0 4px 13px #0009}.mobile-actions button.fire{grid-column:3;grid-row:1/3;width:78px;height:78px;margin-left:-20px;background:#e85b38e8;border-color:#ffc6a8;font-size:13px}.mobile-actions #aimTouch{grid-column:2;grid-row:1}.mobile-actions #reloadTouch{grid-column:1;grid-row:1}.mobile-actions #jumpTouch{grid-column:2;grid-row:2}.mobile-actions #swapTouch{grid-column:1;grid-row:2}.mobile-actions #pickupTouch{grid-column:3;grid-row:3;width:68px;height:40px;border-radius:14px;margin-left:-10px}@media(pointer:coarse),(max-width:700px){#mobileControls{display:block}.desktop-tip{display:none}.minimap-wrap{width:106px;top:62px;right:8px}.minimap-wrap canvas{width:96px;height:96px}.top-hud{left:7px;right:7px;top:max(6px,env(safe-area-inset-top))}.chip{font-size:10px;padding:7px}.bottom-hud{bottom:max(6px,env(safe-area-inset-bottom));left:8px;right:8px}.vitals{width:36vw}.weapon-info{min-width:125px;padding:6px}.ammo strong{font-size:27px}.weapon-slot{width:16px;height:17px;font-size:11px}.joystick{left:14px;bottom:clamp(90px,18vh,140px);width:104px;height:104px}#stick{left:27px;top:27px;width:46px;height:46px}.mobile-actions{bottom:95px;right:7px;grid-template-columns:repeat(3,48px);gap:7px}.mobile-actions button{height:48px;width:48px;font-size:8px}.mobile-actions button.fire{width:67px;height:67px;margin-left:-19px;font-size:12px}.mobile-actions #pickupTouch{width:60px;height:38px}.lobby-grid{grid-template-columns:1fr}.lobby-shell{padding:13px}.avatar-panel canvas{height:155px}.panel{padding:14px}.brand h1{letter-spacing:-2px}}@media(max-height:550px) and (pointer:coarse){.joystick{bottom:70px;width:90px;height:90px}#stick{width:40px;height:40px;left:23px;top:23px}.mobile-actions{bottom:65px}.minimap-wrap{top:46px}.bottom-hud{bottom:4px}.weapon-info{min-width:120px}.top-hud{top:3px}}

/* Keep the moving aircraft and map visible while choosing to jump. */
#planeOverlay{align-items:flex-end;justify-content:center;background:transparent;backdrop-filter:none;pointer-events:none;padding-bottom:max(23px,env(safe-area-inset-bottom))}
#planeOverlay .plane-card{pointer-events:none;width:min(590px,94vw);padding:14px 18px;background:#0c2132dd;border:1px solid #8ac5e4;border-radius:15px}
#planeOverlay .plane-card>*{margin:5px 0}
#planeOverlay .plane-card .plane-graphic{display:none}
#planeOverlay .plane-card h2{font-size:clamp(17px,3vw,23px)}
#planeOverlay .plane-card p{font-size:clamp(11px,2.5vw,14px)}
#planeOverlay #dropBtn{pointer-events:auto;padding:13px;font-size:clamp(13px,2.5vw,18px)}
#gameCanvas{cursor:crosshair;touch-action:none}
@media (max-height:450px){#planeOverlay .plane-card .eyebrow,#planeOverlay .plane-card p{display:none}#planeOverlay .plane-card{padding:6px 12px}#planeOverlay #dropBtn{padding:8px}}
