:root{--mint:#6fffe1;--lime:#caff69;--violet:#a16cff;--pink:#ff5d9e;--ink:#040912;--panel:rgba(7,15,33,.92);--line:rgba(111,255,225,.32);--text:#efffff;--muted:#99b9c3}
*{box-sizing:border-box}html,body{width:100%;height:100%;margin:0;overflow:hidden;background:#03070e;color:var(--text);font-family:"Segoe UI",system-ui,sans-serif;touch-action:none}button,a{font:inherit}button{cursor:pointer}button:focus-visible,a:focus-visible{outline:3px solid var(--lime);outline-offset:3px}
#game,#world3d{position:fixed;inset:0;width:100%;height:100%;display:block}#game{z-index:0;background:radial-gradient(circle at 50% 50%,#102b33,#050b16 70%)}#world3d{z-index:2;pointer-events:none;background:transparent}
.hud{position:fixed;z-index:12;pointer-events:none}.top-hud{left:0;right:0;top:0;display:grid;grid-template-columns:auto minmax(180px,1fr) auto auto auto auto auto;align-items:stretch;gap:7px;padding:max(8px,env(safe-area-inset-top)) 10px 8px;background:linear-gradient(#020711ef,#050a18c9,transparent);text-shadow:0 2px 7px #000}.top-hud>*{pointer-events:auto}.back,.timer-box,.stat,.mission,.icon-button{border:1px solid var(--line);background:rgba(5,13,28,.82);backdrop-filter:blur(8px);border-radius:12px}.back{align-self:center;padding:12px 15px;color:var(--mint);font-size:12px;font-weight:900;text-decoration:none;letter-spacing:.08em}.mission,.timer-box,.stat{display:flex;flex-direction:column;justify-content:center;padding:7px 13px;min-width:0}.mission small,.timer-box small,.stat small,.bottom-hud small{color:#82a7b4;font-size:8px;font-weight:900;letter-spacing:.18em}.mission strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--mint);font-size:13px;letter-spacing:.08em}.timer-box strong{color:var(--lime);font-size:20px}.stat{text-align:center}.stat strong{font-size:19px}.icon-button{width:45px;color:var(--mint);font-weight:1000}
.bottom-hud{left:12px;right:12px;bottom:max(10px,env(safe-area-inset-bottom));display:grid;grid-template-columns:minmax(190px,300px) minmax(180px,1fr) auto;align-items:end;gap:12px}.health-block,.xp-block,.weapon-strip{border:1px solid var(--line);background:rgba(4,11,25,.85);box-shadow:0 12px 45px #0008;backdrop-filter:blur(9px);border-radius:15px}.health-block{display:flex;align-items:center;gap:9px;padding:8px}.portrait{display:grid;place-items:center;width:42px;height:42px;border:1px solid #aaffcf66;border-radius:50%;background:#143d35;font-size:25px}.health-block>div{flex:1}.health-block i,.xp-block i,.boss-panel i{display:block;height:9px;margin-top:5px;overflow:hidden;border-radius:999px;background:#09121d;border:1px solid #ffffff20}.health-block i b,.xp-block i b,.boss-panel i b{display:block;width:100%;height:100%;background:linear-gradient(90deg,#62ffbd,#caff69);box-shadow:0 0 15px #6fffe1}.xp-block{padding:9px 13px}.xp-block i b{width:0;background:linear-gradient(90deg,#755cff,#e266ff)}.weapon-strip{display:flex;gap:5px;padding:6px}.weapon{position:relative;display:grid;place-items:center;width:43px;height:43px;border-radius:10px;border:1px solid #ffffff24;background:#0f1b32;font-size:20px}.weapon b{position:absolute;right:3px;bottom:1px;color:var(--lime);font-size:10px}.weapon.locked{opacity:.25;filter:grayscale(1)}
.boss-panel{position:fixed;z-index:13;top:82px;left:50%;width:min(520px,70vw);transform:translateX(-50%);padding:9px 14px;border:1px solid #ff648b88;border-radius:13px;background:#160b20e8;box-shadow:0 12px 45px #000a}.boss-panel div{display:flex;justify-content:space-between;color:#ffd6e2;font-weight:900;font-size:11px;letter-spacing:.12em}.boss-panel i b{background:linear-gradient(90deg,#ff476f,#ffb94e);box-shadow:0 0 18px #ff4d7c}
.announcement{position:fixed;z-index:11;top:20%;left:50%;width:min(90vw,780px);margin:0;transform:translate(-50%,-30px);opacity:0;text-align:center;color:var(--lime);font-size:clamp(22px,5vw,54px);font-weight:1000;letter-spacing:.08em;text-shadow:0 0 22px #000,0 0 25px #87ff5f;pointer-events:none;transition:.25s}.announcement.show{opacity:1;transform:translate(-50%,0)}
.joystick{position:fixed;z-index:15;display:none;width:116px;height:116px;margin:-58px;border:2px solid #77ffe066;border-radius:50%;background:#07172788;box-shadow:inset 0 0 28px #6fffe119;pointer-events:none}.joystick i{position:absolute;left:50%;top:50%;width:49px;height:49px;margin:-24.5px;border-radius:50%;background:linear-gradient(145deg,var(--mint),#318da0);box-shadow:0 0 18px #70ffe1}
.overlay{position:fixed;z-index:30;inset:0;display:none;place-items:center;padding:clamp(14px,4vw,40px);overflow:auto;background:radial-gradient(circle at 50% 30%,rgba(37,90,77,.5),rgba(2,6,15,.93) 65%);backdrop-filter:blur(8px)}.overlay.show{display:grid}.launch-card,.upgrade-panel,.small-card,.result-card{width:min(940px,100%);padding:clamp(23px,5vw,54px);border:1px solid var(--line);border-radius:28px;background:linear-gradient(145deg,rgba(10,27,47,.96),rgba(14,8,35,.97));box-shadow:0 35px 100px #000c,inset 0 0 55px #70ffe00d;text-align:center}.launch-card{position:relative;overflow:hidden}.launch-card:before,.launch-card:after{content:"";position:absolute;width:290px;height:290px;border-radius:50%;filter:blur(70px);opacity:.18}.launch-card:before{left:-110px;top:-110px;background:var(--mint)}.launch-card:after{right:-90px;bottom:-120px;background:var(--violet)}.eyebrow{margin:0;color:var(--mint);font-size:10px;font-weight:1000;letter-spacing:.25em}.launch-card h1,.result-card h2{position:relative;margin:10px 0 13px;font-size:clamp(42px,8vw,82px);line-height:.82;letter-spacing:.04em}.launch-card h1 span,.result-card h2 span{color:transparent;-webkit-text-stroke:1px var(--lime);text-shadow:0 0 35px #baff6630}.launch-card>p:not(.eyebrow),.upgrade-panel>p:not(.eyebrow){position:relative;max-width:720px;margin:0 auto 20px;color:var(--muted);font-size:clamp(14px,2vw,17px);line-height:1.55}.hero-alien{position:relative;width:74px;height:91px;margin:0 auto 14px;filter:drop-shadow(0 0 22px #76ffb9)}.hero-alien .head{position:absolute;left:8px;top:9px;width:58px;height:42px;border-radius:50% 50% 43% 43%;background:linear-gradient(145deg,#caff78,#42a761)}.hero-alien .head b{position:absolute;top:14px;width:15px;height:19px;border-radius:60%;background:#06131d;transform:rotate(9deg)}.hero-alien .head b:first-child{left:9px;transform:rotate(-9deg)}.hero-alien .head b:last-child{right:9px}.hero-alien .body{position:absolute;left:18px;top:47px;width:38px;height:40px;border-radius:12px 12px 18px 18px;background:linear-gradient(#5effcf,#185d68);border:3px solid #aaffdf}.hero-alien .antenna{position:absolute;left:36px;top:0;width:3px;height:15px;background:#aaff79}.hero-alien .antenna:after{content:"";position:absolute;left:-4px;top:-4px;width:11px;height:11px;border-radius:50%;background:var(--lime);box-shadow:0 0 12px var(--lime)}
.difficulty{position:relative;display:grid;grid-template-columns:repeat(3,1fr);gap:9px;max-width:690px;margin:20px auto}.difficulty button{padding:13px 10px;border:1px solid var(--line);border-radius:13px;color:var(--text);background:#091529;font-weight:900}.difficulty button small{display:block;margin-top:3px;color:var(--muted);font-size:10px}.difficulty button.selected{border-color:var(--lime);color:#071119;background:linear-gradient(105deg,var(--mint),var(--lime));box-shadow:0 0 25px #86ff9d2f}.difficulty button.selected small{color:#153823}.controls{position:relative;display:flex;justify-content:center;flex-wrap:wrap;gap:8px;margin:15px 0 22px}.controls span{padding:7px 11px;border-radius:999px;background:#091529;color:var(--muted);font-size:11px}.controls b{color:var(--mint)}.primary,.secondary{position:relative;display:inline-flex;justify-content:center;align-items:center;min-height:48px;padding:12px 22px;border-radius:13px;font-weight:1000;letter-spacing:.05em;text-decoration:none}.primary{border:0;color:#06131b;background:linear-gradient(105deg,var(--mint),var(--lime));box-shadow:0 14px 30px #58ffb52b}.secondary{border:1px solid var(--line);color:var(--mint);background:#091529}
.upgrade-panel{width:min(1050px,100%)}.upgrade-panel h2,.small-card h2{margin:8px 0 5px;font-size:clamp(28px,5vw,52px)}.upgrade-choices{display:grid;grid-template-columns:repeat(3,1fr);gap:13px;margin-top:22px}.upgrade-card{position:relative;min-height:260px;padding:24px 17px;border:1px solid color-mix(in srgb,var(--power) 60%,transparent);border-radius:20px;color:var(--text);background:linear-gradient(155deg,color-mix(in srgb,var(--power) 18%,#0b1930),#070c1c);text-align:left;overflow:hidden}.upgrade-card:before{content:"";position:absolute;right:-45px;top:-45px;width:130px;height:130px;border-radius:50%;background:var(--power);filter:blur(42px);opacity:.2}.upgrade-card:hover{transform:translateY(-4px);border-color:var(--power)}.upgrade-card .upgrade-icon{display:block;font-size:45px;filter:drop-shadow(0 0 15px var(--power))}.upgrade-card small{display:block;margin:13px 0 5px;color:var(--power);font-size:9px;font-weight:1000;letter-spacing:.18em}.upgrade-card strong{display:block;font-size:21px}.upgrade-card p{color:var(--muted);line-height:1.45}.upgrade-card em{position:absolute;right:13px;bottom:10px;color:var(--lime);font-size:11px;font-style:normal;font-weight:900}.small-card{width:min(460px,100%)}.small-card .primary{display:flex;margin:25px auto 10px}.small-card .secondary{display:flex}.result-card{width:min(720px,100%)}.result-card h2{font-size:clamp(45px,9vw,82px)}.result-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:25px 0}.result-stats div{padding:16px 9px;border:1px solid var(--line);border-radius:14px;background:#081426}.result-stats small{display:block;color:var(--muted);font-size:9px;font-weight:900;letter-spacing:.13em}.result-stats strong{display:block;margin-top:4px;color:var(--lime);font-size:22px}.result-actions{display:flex;justify-content:center;gap:10px}.result-card.lost h2 span{color:transparent;-webkit-text-stroke-color:var(--pink)}
@media(max-width:820px){.top-hud{grid-template-columns:auto 1fr auto auto}.top-hud .stat{display:none}.mission{padding-inline:9px}.mission strong{font-size:10px}.timer-box{padding-inline:9px}.timer-box strong{font-size:16px}.icon-button{width:40px}.bottom-hud{grid-template-columns:1fr auto}.xp-block{grid-row:1;grid-column:1/-1}.health-block{grid-row:2}.weapon-strip{grid-row:2}.boss-panel{top:76px;width:90vw}.upgrade-choices{grid-template-columns:1fr;max-width:560px;margin-inline:auto}.upgrade-card{min-height:0}.overlay{align-items:start}.launch-card,.upgrade-panel,.small-card,.result-card{margin-block:auto}.hero-alien{transform:scale(.82);margin-bottom:3px}.launch-card h1{font-size:clamp(38px,11vw,66px)}}
@media(max-width:520px){.top-hud{gap:4px;padding-inline:5px}.back{padding:10px 8px}.back span{display:none}.mission small{font-size:6px}.timer-box small{font-size:6px}.icon-button{width:35px}.bottom-hud{left:5px;right:5px;bottom:max(5px,env(safe-area-inset-bottom));gap:5px}.health-block{min-width:0}.portrait{display:none}.health-block small{font-size:7px}.weapon{width:34px;height:34px;font-size:16px}.weapon-strip{gap:3px;padding:4px}.xp-block{padding:7px 9px}.difficulty{grid-template-columns:1fr;gap:5px}.difficulty button{padding:9px}.controls{margin:8px 0 15px}.controls span{font-size:9px}.launch-card{padding:18px 14px}.launch-card>p:not(.eyebrow){margin-bottom:10px}.launch-card h1{margin-top:4px}.result-stats{grid-template-columns:1fr 1fr}.result-actions{flex-direction:column}.boss-panel{top:67px}.announcement{top:16%}}
@media(pointer:coarse){.joystick.active{display:block}.icon-button{min-height:42px}.upgrade-card{min-height:150px}.upgrade-card:hover{transform:none}}
@media(prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}
