*{box-sizing:border-box}html,body{color:#e8f0f8;-webkit-user-select:none;user-select:none;touch-action:none;background:#0b1a2a;height:100%;margin:0;font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;overflow:hidden}#app,#app canvas{width:100%;height:100%;display:block;position:fixed;inset:0}#stick-indicator{pointer-events:none;border:1px solid #fff5;border-radius:50%;width:90px;height:90px;margin:-45px 0 0 -45px;position:fixed;top:50%;left:50%}#stick-indicator .dot{background:#9fe8ff;border-radius:50%;width:8px;height:8px;margin:-4px 0 0 -4px;position:absolute;top:50%;left:50%;box-shadow:0 0 6px #9fe8ff}#overlay{z-index:10;background:radial-gradient(#0b1a2acc,#050b12ee);justify-content:center;align-items:center;padding:16px;display:flex;position:fixed;inset:0;overflow-y:auto}#overlay.hidden{display:none}#overlay .panel{text-align:center;width:100%;max-width:520px}#overlay h1{letter-spacing:12px;color:#fff;margin:0;font-size:56px}#overlay .sub{color:#9fb8cc;margin:4px 0 22px}#overlay button{font:inherit;color:#fff;cursor:pointer;background:#1f4d73;border:1px solid #4f8ab8;border-radius:6px;padding:6px 12px}#overlay button:hover{background:#2a6596}#overlay button:disabled{opacity:.6;cursor:wait}.settings{color:#9fb8cc;margin-bottom:16px}.settings .row{flex-wrap:wrap;justify-content:center;align-items:center;gap:6px;margin-bottom:8px;display:flex}.quality button.active,.difficulty button.active,.time button.active{background:#d2862a;border-color:#ffb45e}.controls{border-collapse:collapse;text-align:left;margin:0 auto;font-size:14px}.controls td{border-bottom:1px solid #ffffff14;padding:3px 10px}.controls td:first-child{color:#ffd38a;white-space:nowrap}.hint{color:#9fb8cc;margin-top:12px;font-size:13px}body.touch .desktop-only,body.desktop .touch-only{display:none!important}body.touch #stick-indicator{display:none}body{-webkit-touch-callout:none}#touch-ui{z-index:5;pointer-events:none;display:none;position:fixed;inset:0}#touch-ui.visible{display:block}#touch-ui>*{pointer-events:auto;touch-action:none}.joy-zone{width:50%;position:absolute;top:0;bottom:0;left:0}.joy-base{width:130px;height:130px;left:calc(110px + env(safe-area-inset-left));top:calc(100% - 110px - env(safe-area-inset-bottom));opacity:.55;background:radial-gradient(circle,#ffffff10,#fff2);border:2px solid #ffffff40;border-radius:50%;margin:-65px 0 0 -65px;position:absolute}.joy-base.active{opacity:1}.joy-knob{background:#9fe8ffaa;border:2px solid #e8fbff;border-radius:50%;width:56px;height:56px;margin:-28px 0 0 -28px;position:absolute;top:50%;left:50%;box-shadow:0 0 12px #9fe8ff88}.touch-btn{letter-spacing:1px;color:#fff;text-shadow:0 1px 3px #000;-webkit-user-select:none;user-select:none;background:#ffffff1c;border:2px solid #fff5;border-radius:50%;justify-content:center;align-items:center;font-weight:800;display:flex;position:absolute}.touch-btn.pressed{background:#fff5;transform:scale(.94)}.touch-btn.fire{width:96px;height:96px;right:calc(96px + env(safe-area-inset-right));bottom:calc(28px + env(safe-area-inset-bottom));background:#ff6a3a33;border-color:#ff9d6c;font-size:18px}.touch-btn.missile{width:74px;height:74px;right:calc(196px + env(safe-area-inset-right));bottom:calc(92px + env(safe-area-inset-bottom));background:#ffc83a2a;border-color:#ffd36c;font-size:12px}.throttle{width:44px;top:calc(70px + env(safe-area-inset-top));bottom:calc(28px + env(safe-area-inset-bottom));right:calc(28px + env(safe-area-inset-right));background:#00000040;border:2px solid #fff5;border-radius:12px;position:absolute;overflow:hidden}.throttle-fill{opacity:.8;background:linear-gradient(#ffb45e,#d2862a);position:absolute;bottom:0;left:0;right:0}.throttle-label{text-align:center;writing-mode:vertical-rl;text-shadow:0 1px 2px #000;justify-content:center;align-items:center;width:100%;margin:0 auto;font-size:11px;font-weight:800;display:flex;position:absolute;top:50%;left:0;right:0;transform:translateY(-50%)rotate(180deg)}.touch-pause{top:calc(10px + env(safe-area-inset-top));right:calc(28px + env(safe-area-inset-right));background:#00000050;border:2px solid #fff5;border-radius:10px;justify-content:center;align-items:center;width:44px;height:44px;font-weight:900;display:flex;position:absolute}#rotate-hint{z-index:20;text-align:center;background:#0b1a2af2;justify-content:center;align-items:center;font-size:20px;display:none;position:fixed;inset:0}#rotate-hint .icon{margin-bottom:8px;font-size:64px}@media (orientation:portrait){body.touch #rotate-hint{display:flex}}@media (height<=500px){#overlay{align-items:flex-start}#overlay h1{letter-spacing:8px;font-size:34px}#overlay .sub{margin:0 0 10px}#overlay button.primary{padding:8px 28px;font-size:18px}.menu-buttons{gap:6px;margin-bottom:8px}.controls{font-size:12px}}#damage-flash{pointer-events:none;opacity:0;z-index:3;background:radial-gradient(#0000 45%,#ff1a0088 100%);position:fixed;inset:0}#stick-indicator{opacity:.5}#markers{pointer-events:none;z-index:4;position:fixed;inset:0;overflow:hidden}#crosshair{border:2px solid #b9ffcf;border-radius:50%;width:30px;height:30px;margin:-15px 0 0 -15px;position:absolute;top:0;left:0;box-shadow:0 0 4px #000a}#crosshair:before,#crosshair:after{content:"";background:#b9ffcf;position:absolute;top:50%;left:50%}#crosshair:before{border-radius:50%;width:4px;height:4px;margin:-2px 0 0 -2px}#crosshair:after{background:linear-gradient(90deg,#b9ffcf 0 25%,#0000 25% 75%,#b9ffcf 75%);width:44px;height:2px;margin:-1px 0 0 -22px}#crosshair.hit{border-color:#ff5a3c}#crosshair.hit:before{background:#ff5a3c}#crosshair.hit:after{background:linear-gradient(90deg,#ff5a3c 0 25%,#0000 25% 75%,#ff5a3c 75%)}.marker{width:0;height:0;position:absolute;top:0;left:0}.marker .box{border:2px solid #ff6a50;border-radius:3px;transition:transform 80ms linear;position:absolute;top:0;left:0;box-shadow:0 0 4px #000a}.marker .dist{white-space:nowrap;color:#ffb4a6;text-shadow:0 1px 2px #000;font:11px ui-monospace,Consolas,monospace;position:absolute;top:22px;left:0;transform:translate(-50%)}.marker .arrow{filter:drop-shadow(0 0 2px #000);border-top:10px solid #0000;border-bottom:10px solid #0000;border-left:22px solid #ff6a50;width:0;height:0;display:none;position:absolute;top:-10px;left:-14px}.marker.off .box,.marker.off .dist{display:none}.marker.off .arrow{display:block}.marker.locking .box{border-color:#ffd34a}.marker.locked .box{background:#ff2a2a22;border-width:3px;border-color:#ff2a2a}.marker.locked .box:after{content:"ZAMČENO";color:#ff4a3a;text-shadow:0 1px 2px #000;margin-bottom:3px;font:700 10px ui-monospace,Consolas,monospace;position:absolute;bottom:100%;left:50%;transform:translate(-50%)}.marker.locked .arrow{border-left-color:#ff2a2a}#hpbar{text-shadow:0 1px 2px #000;background:#0007;border-radius:8px;align-items:center;gap:8px;padding:5px 10px;font:700 14px ui-monospace,Consolas,monospace;display:flex}#hpbar .track{background:#fff2;border:1px solid #fff5;border-radius:6px;width:220px;height:12px;overflow:hidden}#hpbar .fill{background:#4ee07a;border-radius:6px;width:100%;height:100%;transition:width .15s,background-color .3s}#hpbar .value{text-align:right;min-width:30px}#hpbar.warn .fill{background:#f2c94c}#hpbar.crit .fill{background:#ff4a3a}#hpbar.crit{animation:.6s steps(2,end) infinite hp-blink}@keyframes hp-blink{50%{background:#a0100088}}body.touch #hpbar{font-size:12px}body.touch #hpbar .track{width:150px;height:10px}.marker .ehp{background:#0008;border-radius:2px;width:34px;height:4px;position:absolute;top:16px;left:0;overflow:hidden;transform:translate(-50%)}.marker .ehp i{background:#ff6a50;height:100%;display:block}.marker.off .ehp{display:none}#hud{pointer-events:none;z-index:4;text-shadow:0 1px 2px #000;font-family:ui-monospace,Consolas,monospace;position:fixed;inset:0}#hud.hidden{display:none}.hud-score{top:calc(10px + env(safe-area-inset-top));left:calc(14px + env(safe-area-inset-left));position:absolute}.hud-score .score{color:#fff;font-size:28px;font-weight:800}.hud-score .best{color:#9fb8cc;font-size:11px}.hud-score .fps{color:#fff6;margin-top:2px;font-size:10px}.hud-top{top:calc(10px + env(safe-area-inset-top));flex-direction:column;align-items:center;gap:4px;display:flex;position:absolute;left:50%;transform:translate(-50%)}.hud-wave{color:#ffd38a;letter-spacing:1px;font-size:12px;font-weight:700}.lives{color:#9fe8ff;letter-spacing:3px;font-size:14px}.hud-speed,.hud-alt{text-align:center;background:#0005;border:1px solid #ffffff30;border-radius:8px;min-width:86px;padding:6px 10px;position:absolute;top:50%;transform:translateY(-50%)}.hud-speed{left:15%}.hud-alt{right:15%}.hud-speed .lbl,.hud-alt .lbl{color:#9fb8cc;letter-spacing:1px;font-size:10px}.hud-speed .val,.hud-alt .val{color:#b9ffcf;font-size:22px;font-weight:800}.hud-speed .unit,.hud-alt .unit{color:#9fb8cc;font-size:10px}.hud-alt .agl{color:#9fb8cc;margin-top:2px;font-size:10px}.hud-speed .thr{background:#fff2;border-radius:2px;width:4px;position:absolute;top:6px;bottom:6px;left:-10px}.hud-speed .thr i{background:#ffb45e;border-radius:2px;position:absolute;bottom:0;left:0;right:0}.hud-weapons{right:calc(16px + env(safe-area-inset-right));bottom:calc(16px + env(safe-area-inset-bottom));text-align:right;background:#0005;border:1px solid #ffffff30;border-radius:8px;padding:8px 12px;position:absolute}.hud-weapons .gun{color:#9fb8cc;font-size:12px}.hud-weapons .gun b{color:#fff;margin-left:4px;font-size:18px}.hud-weapons .gun.low b{color:#ff6a50}.hud-weapons .missiles{justify-content:flex-end;gap:4px;margin-top:6px;display:flex}.hud-weapons .missiles i{background:#e8e8e2;border-radius:3px 3px 1px 1px;width:6px;height:20px;box-shadow:0 0 2px #000}.hud-weapons .missiles i.used{background:#fff2}.hud-weapons .lock{min-height:14px;margin-top:4px;font-size:11px;font-weight:800}.hud-weapons .lock.locking{color:#ffd34a}.hud-weapons .lock.locked{color:#ff3a2a}body.touch .hud-weapons{bottom:auto;top:calc(8px + env(safe-area-inset-top));right:calc(84px + env(safe-area-inset-right));padding:5px 9px}body.touch .hud-score .score{font-size:20px}body.touch .hud-speed,body.touch .hud-alt{min-width:70px;padding:4px 8px;top:38%}body.touch .hud-speed .val,body.touch .hud-alt .val{font-size:17px}body.touch .hud-alt{right:22%}.hud-warn{text-align:center;color:#ff3a2a;letter-spacing:2px;opacity:0;font:800 22px system-ui,sans-serif;position:absolute;top:64%;left:0;right:0}.hud-warn.show{opacity:1;animation:.5s steps(2,end) infinite hp-blink}#banner{text-align:center;opacity:0;font-family:system-ui,sans-serif;transition:opacity .35s,transform .35s;position:absolute;top:26%;left:0;right:0;transform:scale(.9)}#banner.show{opacity:1;transform:none}#banner .title{letter-spacing:6px;color:#fff;font-size:46px;font-weight:900}#banner .subtitle{color:#cfe2f2;margin-top:4px;font-size:16px}#banner.wave .title{color:#ffd38a}#banner.good .title{color:#7dffa6}#banner.bad .title{color:#ff5a3c}body.touch #banner .title{font-size:32px}#popups{position:absolute;top:44%;left:50%}.popup{white-space:nowrap;color:#ffe27a;font:800 20px system-ui,sans-serif;animation:1.2s ease-out forwards popup-rise;position:absolute;top:0;left:0;transform:translate(-50%)}@keyframes popup-rise{0%{opacity:1;margin-top:0}to{opacity:0;margin-top:-60px}}#overlay .m-main,#overlay .m-pause,#overlay .m-over,#overlay .m-missions,#overlay .m-brief,#overlay .m-hangar{display:none}#overlay[data-mode=main] .m-main,#overlay[data-mode=pause] .m-pause,#overlay[data-mode=over] .m-over,#overlay[data-mode=missions] .m-missions,#overlay[data-mode=brief] .m-brief,#overlay[data-mode=hangar] .m-hangar{display:revert}#overlay[data-mode=main] .row.m-main,#overlay[data-mode=pause] .row.m-pause{display:flex}.menu-buttons{flex-direction:column;align-items:center;gap:8px;margin-bottom:14px;display:flex}.menu-buttons button{min-width:220px}#overlay button.primary{background:#2a6596;padding:12px 36px;font-size:22px}#help{margin-top:6px}#help.hidden{display:none}#overlay.dim{background:#050b12aa}.gameover .go-title{letter-spacing:6px;color:#ff5a3c;margin:6px 0;font-size:40px;font-weight:900}.gameover .go-record{color:#7dffa6;letter-spacing:2px;margin-bottom:8px;font-weight:800;display:none}.gameover.record .go-record{display:block}.go-stats{grid-template-columns:1fr 1fr;gap:6px 18px;max-width:320px;margin:0 auto 16px;display:grid}.go-stats div{border-bottom:1px solid #ffffff14;justify-content:space-between;padding:2px 0;display:flex}.go-stats span{color:#9fb8cc}.go-stats b{color:#fff}@media (height<=500px){#overlay button.primary{padding:8px 28px;font-size:18px}.gameover .go-title{font-size:28px}}.volume{color:#cfe2f2;align-items:center;gap:6px;display:inline-flex}.volume input{accent-color:#d2862a;width:120px}.volume span{min-width:38px;font-size:13px}.version{color:#fff5;margin:10px 0 0;font-size:11px}#update-box{color:#dfffe8;background:#1d4a2c;border:1px solid #4fd17a;border-radius:8px;max-width:360px;margin:12px auto 0;padding:10px 14px;font-size:14px}#overlay #update-box.hidden{display:none}#install-box{max-width:380px;margin:14px auto 0}#overlay #install-box.hidden,#install-steps.hidden{display:none}#overlay #install-btn{background:#2f8a4c;border-color:#7dffa6;padding:8px 22px;font-size:16px}#install-steps{text-align:left;color:#dfefff;background:#12304a;border:1px solid #3f7fb0;border-radius:8px;margin-top:10px;padding:10px 14px;font-size:14px;line-height:1.5}#install-steps ol{margin:6px 0 0;padding-left:20px}#install-steps b{color:#ffd38a}#update-box button{margin-left:8px;background:#2f8a4c!important;border-color:#7dffa6!important}.joy-knob.gyro{background:#ffd38a99;border-color:#ffe9c2;box-shadow:0 0 12px #ffd38a88}#cloud-fog{pointer-events:none;z-index:2;opacity:0;background:radial-gradient(#f4f6f8 30%,#e6ebf0 100%);position:fixed;inset:0}.hud-squad{top:calc(78px + env(safe-area-inset-top));left:calc(14px + env(safe-area-inset-left));color:#cfe2f2;font-size:11px;position:absolute}.hud-squad .cmd{color:#9fe8a8;margin-bottom:3px;font-weight:700}.hud-squad .m{align-items:center;gap:6px;height:15px;display:flex}.hud-squad .m span{min-width:52px}.hud-squad .m i{background:#fff2;border-radius:3px;width:60px;height:5px;display:block;overflow:hidden}.hud-squad .m i b{background:#6fe08a;height:100%;display:block}.hud-squad .m.down{color:#ff8a70}.hud-squad .m em{color:#ffb4a6;font-style:normal}body.touch .hud-squad{top:calc(56px + env(safe-area-inset-top));font-size:10px}.hud-weapons .flares{color:#9fb8cc;margin-top:4px;font-size:11px}.hud-weapons .flares b{color:#ffe9b0;margin-left:3px;font-size:14px}.hud-weapons .flares.low b{color:#ff6a50}.hud-threat{text-align:center;opacity:0;letter-spacing:3px;color:#ffd34a;text-shadow:0 2px 6px #000;font:900 24px system-ui,sans-serif;position:absolute;top:19%;left:0;right:0}.hud-threat.show{opacity:1;animation:.6s steps(2,end) infinite hp-blink}.hud-threat.missile{color:#ff3a2a;font-size:28px;animation-duration:.25s}body.touch .hud-threat{font-size:18px;top:24%}body.touch .hud-threat.missile{font-size:21px}.marker.ally .box{border-width:2px;border-color:#6fe08a;border-radius:50%}.marker.ally .ehp i{background:#6fe08a}.marker.ally .dist{color:#b8f5c4}.marker.off.ally{display:none!important}.marker.ace .box{border-width:3px;border-color:#ffc23a}.marker.ace .dist{color:#ffd98a;font-weight:700}.marker.ace .arrow{border-left-color:#ffc23a}.marker.missile .box{background:#ff8a2a33;border-color:#ff8a2a;transform:translate(-50%,-50%)rotate(45deg)!important}.marker.missile .arrow{border-left-width:28px;border-left-color:#ff8a2a}.touch-btn.flare{width:66px;height:66px;right:calc(206px + env(safe-area-inset-right));bottom:calc(18px + env(safe-area-inset-bottom));background:#fff0a022;border-color:#fff0a0;font-size:12px}.touch-command{top:calc(108px + env(safe-area-inset-top));left:calc(14px + env(safe-area-inset-left));letter-spacing:1px;color:#b8f5c4;background:#00000050;border:2px solid #6fe08a88;border-radius:8px;padding:6px 10px;font:800 11px system-ui,sans-serif;position:absolute}.touch-command.pressed{background:#6fe08a55}.m-title{letter-spacing:4px;color:#fff;margin:4px 0 12px;font-size:26px;font-weight:900}#mission-list{flex-direction:column;gap:6px;margin-bottom:14px;display:flex}#overlay button.mission{text-align:left;background:#13324d;border-color:#2f5f88;grid-template-columns:34px 1fr auto;align-items:center;gap:10px;padding:10px 12px;display:grid}#overlay button.mission .n{color:#ffd38a;text-align:center;font-size:18px;font-weight:900}#overlay button.mission .t{font-weight:700}#overlay button.mission .s{color:#9fb8cc;font-size:12px}#overlay button.mission.done .s{color:#7dffa6}#overlay button.mission.locked{opacity:.45;cursor:default}.briefing{text-align:left;max-width:460px;margin:0 auto 14px}.briefing .b-num{color:#ffd38a;letter-spacing:2px;text-align:center;font-size:12px}.briefing .m-title{text-align:center}.briefing p{color:#cfe2f2;margin:0 0 10px;line-height:1.45}.briefing ul{color:#fff;margin:0;padding-left:20px}.briefing li{margin:3px 0}.briefing li.fail{color:#ffb4a6}.gameover .go-reason{color:#cfe2f2;margin:-2px 0 10px}.gameover.success .go-title{color:#7dffa6}@media (height<=500px){.m-title{margin:0 0 8px;font-size:20px}#overlay button.mission{padding:6px 10px}.briefing p{font-size:13px}}.hud-objectives{color:#fff;text-align:center;text-shadow:0 1px 3px #000;font:700 11px system-ui,sans-serif}.hud-objectives div{margin-top:1px}.hud-objectives .done{color:#7dffa6}body.touch .hud-objectives{font-size:10px}.marker.ground .box{border-style:dashed;border-color:#ff8a50;border-radius:0}.marker.ground .dist{color:#ffc4a0}.marker.ground .arrow{border-left-width:16px;border-left-color:#ff8a50}.marker.ground.ally .box{border-color:#6fe08a}.marker.ground.ally .dist{color:#b8f5c4}.marker.ground.ally .arrow{border-left-color:#6fe08a}.marker.ground.ally .ehp i{background:#6fe08a}.marker.objective .box{background:#5fd8ff22;border:2px solid #5fd8ff;transform:translate(-50%,-50%)rotate(45deg)!important}.marker.objective .dist{color:#a8ecff;font-weight:700}.marker.objective .arrow{border-left-width:26px;border-left-color:#5fd8ff}.marker.off.ground{display:none!important}.hangar{text-align:left;max-width:500px;margin:0 auto 12px}.hangar .m-title{text-align:center}.hangar .credits{text-align:center;color:#cfe2f2;margin:-6px 0 10px}.hangar .credits b{color:#ffd38a;font-size:20px}.hangar .h-sub{color:#ffd38a;letter-spacing:1px;margin:12px 0 6px;font-weight:700}#plane-list{grid-template-columns:1fr 1fr;gap:8px;display:grid}.plane{background:#13324dcc;border:1px solid #2f5f88;border-radius:8px;padding:8px 10px}.plane.selected{border-color:#ffb45e;box-shadow:inset 0 0 0 1px #ffb45e}.plane.locked{opacity:.8}.plane .p-head{justify-content:space-between;align-items:center;gap:6px;display:flex}.plane .p-head b{color:#fff;font-size:16px}#overlay .plane button,#overlay .upg button{padding:3px 8px;font-size:12px}.plane p{color:#9fb8cc;margin:4px 0 6px;font-size:12px;line-height:1.35}.plane .st{color:#cfe2f2;grid-template-columns:78px 1fr;align-items:center;gap:6px;font-size:10px;display:grid}.plane .st i{background:#ffffff1c;border-radius:3px;height:5px;display:block;overflow:hidden}.plane .st i b{background:linear-gradient(90deg,#4f8ab8,#9fe8ff);height:100%;display:block}.upg{border-bottom:1px solid #ffffff14;grid-template-columns:1fr auto auto;align-items:center;gap:10px;padding:5px 0;display:grid}.upg b{color:#fff;margin-right:6px}.upg span{color:#9fb8cc;font-size:12px}.upg .pips{gap:3px;display:flex}.upg .pips i{background:#fff2;border-radius:3px;width:12px;height:12px}.upg .pips i.on{background:#ffb45e}.gameover .go-credits{color:#ffd38a;margin:-4px 0 12px;font-weight:700}@media (width<=560px),(height<=500px){#plane-list{grid-template-columns:1fr 1fr}.plane p{display:none}}.hud-hint{color:#fff;text-align:center;text-shadow:0 1px 2px #000;background:#0b1d2ecc;border:1px solid #ffb45e88;border-radius:8px;max-width:min(560px,80vw);margin:8px auto 0;padding:8px 14px;font:600 14px/1.4 system-ui,sans-serif}body.touch .hud-hint{max-width:30vw;padding:5px 8px;font-size:11px;line-height:1.3}#overlay button.recommend{color:#ffd38a;border-color:#ffb45e}
