:root{color-scheme:dark;--bg:#050a0d;--panel:rgba(8,15,18,.91);--lime:#c9ff39;--lime-soft:#9cbf39;--white:#eff4ef;--muted:#82908a;--line:rgba(207,239,213,.14);--mono:'Rajdhani',sans-serif;--display:'Barlow Condensed',sans-serif}*{box-sizing:border-box}html,body{width:100%;height:100%;margin:0;overflow:hidden;background:var(--bg);color:var(--white);font-family:var(--mono);-webkit-tap-highlight-color:transparent;touch-action:manipulation}button,input{font:inherit}button{color:inherit}.game-shell{position:relative;width:100%;height:100%;height:100dvh;overflow:hidden;background:radial-gradient(ellipse at 75% 48%,#152225 0,#091114 34%,#05090c 72%)}#starfield,#game-canvas{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}#starfield{opacity:.72}#game-canvas{z-index:1;touch-action:none;user-select:none}.scanlines{position:absolute;inset:0;z-index:3;pointer-events:none;opacity:.12;background:repeating-linear-gradient(0deg,transparent 0px,transparent 3px,rgba(180,255,207,.12) 4px);mix-blend-mode:screen}.topbar{position:absolute;z-index:5;top:0;left:0;right:0;height:58px;padding:0 clamp(18px,4vw,64px);display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid rgba(221,255,236,.08)}.wordmark{text-decoration:none;color:#dce8e0;font-size:12px;font-weight:700;letter-spacing:.13em}.wordmark span{color:var(--lime);padding:0 5px}.connection{display:flex;gap:9px;align-items:center;font-size:10px;letter-spacing:.15em;color:#87938d}.connection i,.pulse-dot{width:7px;height:7px;border-radius:50%;background:var(--lime);box-shadow:0 0 10px var(--lime)}.connection.is-online i{background:#64edac;box-shadow:0 0 10px #64edac}.screen{position:absolute;inset:58px 0 0;z-index:4;display:none}.screen.active{display:flex}.home-screen{align-items:center;justify-content:space-between;padding:clamp(22px,5vh,66px) clamp(24px,8.4vw,140px) 44px;overflow:hidden}.home-copy{position:relative;z-index:2;width:min(49%,540px);animation:rise-in .72s both}.eyebrow{color:var(--lime);font-size:10px;font-weight:700;letter-spacing:.2em;text-transform:uppercase;display:flex;align-items:center;gap:10px}.logo{font:900 clamp(56px,8vw,112px)/.82 var(--display);letter-spacing:-.045em;margin:25px 0 10px;white-space:nowrap;transform:skewX(-8deg);color:#e6ece8;text-shadow:0 2px 0 #909994,0 4px 0 #5c6662,0 8px 22px rgba(0,0,0,.8),0 0 36px rgba(199,255,64,.12)}.logo b{display:block;color:var(--lime);font-weight:900;text-shadow:0 2px 0 #82a42b,0 4px 0 #566c20,0 8px 22px rgba(0,0,0,.85),0 0 30px rgba(201,255,57,.28)}.logo-rule{display:flex;align-items:center;gap:11px;color:#a3b09f;font-size:10px;letter-spacing:.34em}.logo-rule span{width:34px;height:1px;background:var(--lime);opacity:.7}.home-description{color:#a0aaa2;font-size:14px;letter-spacing:.04em;margin:23px 0 26px}.menu-actions{width:min(100%,335px);display:grid;gap:8px}.button{border:1px solid var(--line);min-height:48px;padding:0 17px;background:rgba(15,24,25,.68);display:flex;align-items:center;justify-content:space-between;gap:12px;cursor:pointer;text-align:left;letter-spacing:.09em;font-size:12px;font-weight:700;transition:background .18s,border-color .18s,transform .18s,color .18s}.button:hover:not(:disabled),.button:focus-visible{border-color:rgba(201,255,57,.76);background:rgba(30,43,32,.85);transform:translateX(3px);outline:none}.button:active:not(:disabled){transform:scale(.985)}.button:disabled{opacity:.38;cursor:not-allowed}.button b{color:var(--lime);font-size:17px}.button-primary{background:var(--lime);border-color:var(--lime);color:#11180c;box-shadow:0 5px 24px rgba(170,220,44,.12)}.button-primary b{color:#17200d}.button-primary:hover:not(:disabled){background:#dcff7b;border-color:#dcff7b;color:#11180c}.button-secondary{background:rgba(16,25,26,.68)}.button-secondary small{font-size:9px;letter-spacing:.12em;color:#8b9a8f}.button-quiet{background:transparent;border-color:transparent;color:#aeb9b0;min-height:38px}.home-foot{width:min(100%,335px);display:flex;justify-content:space-between;margin-top:22px;padding-top:12px;border-top:1px solid var(--line);font-size:9px;letter-spacing:.12em;color:#64736c}.home-foot b{color:var(--lime);padding-left:6px}.hero-art{position:absolute;inset:7% 0 0 39%;overflow:hidden;pointer-events:none;opacity:.96}.hero-planet{position:absolute;width:min(39vw,490px);aspect-ratio:1;right:9%;top:12%;border-radius:50%;background:radial-gradient(circle at 31% 26%,rgba(218,255,134,.3),transparent 5%),radial-gradient(ellipse at 35% 30%,#617d62 0,#253d43 24%,#12252c 51%,#0a1117 68%);box-shadow:inset -40px -8px 80px #020507,0 0 70px rgba(111,164,128,.13)}.hero-planet:before{content:"";position:absolute;inset:18% -8%;border:1px solid rgba(188,231,178,.24);border-radius:50%;transform:rotate(-24deg) scaleY(.24);box-shadow:0 0 20px rgba(175,235,149,.14)}.hero-planet:after{content:"";position:absolute;inset:12%;border-radius:50%;background:repeating-linear-gradient(165deg,transparent 0 34px,rgba(171,207,167,.08) 36px,transparent 42px);mask-image:linear-gradient(90deg,transparent,#000 30%,#000 70%,transparent);opacity:.6}.planet-orbit{position:absolute;right:1%;top:20%;width:60%;height:30%;border:1px solid rgba(206,236,191,.11);border-radius:50%;transform:rotate(-26deg)}.orbit-two{right:7%;top:26%;width:48%;height:24%;border-color:rgba(205,255,97,.16)}.hero-haze{position:absolute;right:12%;top:38%;width:75%;height:34%;background:radial-gradient(ellipse,rgba(145,203,119,.09),transparent 68%);filter:blur(20px)}.hero-ship{position:absolute;right:43%;top:44%;width:205px;height:75px;transform:rotate(-4deg);filter:drop-shadow(0 0 16px rgba(187,255,82,.33));animation:ship-float 4s ease-in-out infinite}.hero-ship:before{content:"";position:absolute;inset:14px 0;background:linear-gradient(180deg,#e9eee4,#687c75 48%,#1c2a2a);clip-path:polygon(0 50%,31% 11%,75% 0,100% 50%,75% 100%,31% 88%)}.hero-ship:after{content:"";position:absolute;left:12%;top:30%;width:70%;height:40%;background:linear-gradient(90deg,transparent,#bcff5a 15%,#efffd8 56%,#34493c 70%,transparent);clip-path:polygon(0 50%,36% 0,92% 0,100% 50%,92% 100%,36% 100%);opacity:.82}.hero-ship span{position:absolute;width:62px;height:16px;left:-48px;top:30px;background:linear-gradient(90deg,transparent,rgba(203,255,73,.4));filter:blur(8px)}.hero-enemy{position:absolute;width:51px;height:28px;background:linear-gradient(180deg,#829395,#202a30);clip-path:polygon(100% 50%,68% 0,20% 12%,0 50%,20% 88%,68% 100%);filter:drop-shadow(0 0 8px rgba(255,90,68,.48))}.enemy-a{right:17%;top:32%;animation:drift 5s ease-in-out infinite}.enemy-b{right:9%;top:55%;transform:scale(.7);animation:drift 4s ease-in-out -1s infinite}.hero-streak{position:absolute;height:1px;background:linear-gradient(90deg,transparent,rgba(214,255,142,.56),transparent);transform:rotate(-13deg)}.streak-one{width:48%;top:56%;left:23%}.streak-two{width:20%;top:25%;right:28%;opacity:.5}.hero-caption{position:absolute;right:14%;bottom:11%;display:grid;color:#a0aaa1;font-size:9px;letter-spacing:.2em}.hero-caption strong{font:700 23px var(--display);letter-spacing:.12em;color:#eff4e9}.hero-caption span{font-size:8px;color:var(--lime)}
.panel-screen{inset:58px 0 0;flex-direction:column;padding:clamp(20px,5vh,48px) clamp(22px,9vw,150px) 28px;max-width:1060px;margin:0 auto}.panel-head{display:flex;align-items:center;justify-content:space-between;padding-bottom:18px;border-bottom:1px solid var(--line)}.panel-head h2,.modal-card h2{font:800 clamp(32px,5vw,54px)/.95 var(--display);letter-spacing:.01em;margin:7px 0 0}.icon-button{width:42px;height:42px;border:1px solid var(--line);background:rgba(17,27,27,.6);color:#d5dfd5;font-size:24px;cursor:pointer}.icon-button:hover{border-color:var(--lime);color:var(--lime)}.settings-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px 34px;padding:17px 0;overflow:auto;scrollbar-width:thin;scrollbar-color:#536449 transparent}.setting-group{padding:14px 17px 15px;border:1px solid rgba(205,234,213,.1);background:rgba(9,17,18,.65)}.group-label{color:var(--lime);font-size:9px;font-weight:700;letter-spacing:.19em;margin-bottom:14px}.group-label span{color:#65736a;margin-left:7px}.setting-row,.setting-toggle{display:flex;align-items:center;justify-content:space-between;gap:12px}.setting-info{display:grid;gap:3px}.setting-info strong{font-size:12px;letter-spacing:.1em}.setting-info small{font-size:11px;color:var(--muted)}.setting-row output{color:var(--lime);font-weight:700;font-size:13px}.range{appearance:none;width:100%;height:3px;background:linear-gradient(90deg,var(--lime) 50%,#35413c 50%);outline:none;margin:13px 0 4px;cursor:pointer}.range::-webkit-slider-thumb{appearance:none;width:13px;height:13px;background:var(--lime);border:2px solid #edf9ca;border-radius:50%;box-shadow:0 0 12px rgba(201,255,57,.42)}.range::-moz-range-thumb{width:10px;height:10px;background:var(--lime);border:2px solid #edf9ca;border-radius:50%}.range-row{margin-top:12px}.range-row label{font-size:9px;letter-spacing:.12em;color:#a2ada3}.switch{position:relative;width:42px;height:23px;border:1px solid #56625a;border-radius:20px;background:#1a2523;cursor:pointer;flex:none}.switch:after{content:"";position:absolute;left:3px;top:3px;width:15px;height:15px;border-radius:50%;background:#89938b;transition:transform .2s,background .2s}.switch[aria-checked="true"]{border-color:#9abe35;background:rgba(159,196,53,.2)}.switch[aria-checked="true"]:after{transform:translateX(18px);background:var(--lime);box-shadow:0 0 10px rgba(201,255,57,.5)}.setting-toggle{padding:8px 0}.connection-group{grid-column:1/-1}.connection-options{display:flex;gap:8px;margin-top:14px}.mode-option{flex:1;text-align:left;padding:10px 13px;border:1px solid var(--line);background:rgba(3,8,9,.35);cursor:pointer}.mode-option b{display:block;font-size:11px;letter-spacing:.1em}.mode-option small{display:block;color:var(--muted);font-size:10px;margin-top:3px}.mode-option.selected{border-color:rgba(201,255,57,.68);background:rgba(201,255,57,.07)}.mode-option.selected b{color:var(--lime)}.network-status{display:flex;align-items:center;gap:8px;margin-top:11px;font-size:10px;letter-spacing:.07em;color:#8a9890}.network-status i{width:6px;height:6px;border-radius:100%;background:#7f8b83}.network-status.connected i{background:#66e9a6;box-shadow:0 0 8px #66e9a6}.network-status.checking i{background:var(--lime);animation:pulse 1s infinite}.panel-foot{display:flex;align-items:center;justify-content:space-between;margin-top:auto;padding-top:15px;border-top:1px solid var(--line)}.text-button{border:0;background:none;color:#8f9c91;letter-spacing:.11em;font-size:10px;cursor:pointer;padding:12px 0}.text-button:hover{color:var(--lime)}.foot-actions{display:flex;gap:8px}.compact{min-height:40px;padding:0 14px;font-size:10px}.hidden{display:none!important}
.tutorial-content{display:grid;grid-template-columns:1fr 1fr;gap:30px;align-items:center;flex:1;min-height:0}.tutorial-visual{height:min(36vh,255px);position:relative;overflow:hidden;border:1px solid rgba(201,255,57,.2);background:radial-gradient(ellipse at 50%,rgba(112,161,81,.15),transparent 65%),repeating-linear-gradient(0deg,transparent 0 31px,rgba(201,255,57,.06) 32px),repeating-linear-gradient(90deg,transparent 0 31px,rgba(201,255,57,.06) 32px),#091114}.tutorial-reticle{position:absolute;top:42%;left:52%;color:rgba(201,255,57,.3);font-size:46px}.tutorial-ship{position:absolute;left:21%;top:45%;font-size:40px;color:var(--lime);filter:drop-shadow(0 0 14px var(--lime));animation:ship-float 2s infinite}.tutorial-target{position:absolute;right:15%;top:41%;font-size:33px;color:#f7895f;filter:drop-shadow(0 0 8px #f7895f)}.tutorial-laser{position:absolute;top:52%;left:31%;width:48%;height:2px;background:linear-gradient(90deg,var(--lime),transparent);animation:laser-pulse 1.1s infinite}.tutorial-text{position:relative;padding:18px 7px}.tutorial-index{font:900 76px/.8 var(--display);color:rgba(201,255,57,.14)}.tutorial-text p{max-width:365px;position:relative;font-size:clamp(15px,2vw,19px);line-height:1.5;color:#ced7ce;margin:13px 0 21px}.tutorial-dots{display:flex;gap:7px}.tutorial-dots i{width:20px;height:2px;background:#344039}.tutorial-dots i.active{background:var(--lime)}.tutorial-foot{margin-top:0}.tutorial-foot .foot-actions{margin-left:auto}.tutorial-foot .text-button{min-width:100px;text-align:left}
.hud{position:absolute;z-index:5;inset:58px 0 0;pointer-events:none;padding:20px clamp(18px,4vw,54px);display:flex;flex-direction:column;justify-content:space-between}.hud-top{display:flex;align-items:flex-start;gap:clamp(20px,7vw,100px)}.hud-mission,.hud-score{display:grid;gap:4px}.hud-mission small,.hud-score small{font-size:9px;letter-spacing:.16em;color:#a5b2a6}.hud-mission small span{color:var(--lime)}.hud-mission strong{font:700 17px var(--display);letter-spacing:.12em}.hud-score strong{font:700 18px var(--mono);letter-spacing:.1em;color:var(--lime)}.pause-button{margin-left:auto;pointer-events:auto;width:40px;height:40px;font-size:17px}.hud-bottom{display:flex;align-items:flex-end;gap:clamp(20px,5vw,70px);padding-bottom:13px}.health-block{width:min(230px,38vw);display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:8px}.health-block span,.health-block b,.mission-progress small,.special-meter small{font-size:9px;letter-spacing:.13em;color:#d4ded4}.health-block b{color:var(--lime)}.health-track,.boss-track{height:4px;background:rgba(227,240,227,.16)}.health-track i,.boss-track i{height:100%;width:100%;display:block;background:var(--lime);box-shadow:0 0 9px rgba(201,255,57,.5);transition:width .2s}.mission-progress{display:grid;gap:2px}.mission-progress span{font-size:14px;color:#eff4e9}.special-meter{margin-left:auto;display:flex;align-items:center;gap:8px}.special-icon{width:30px;height:30px;border:1px solid rgba(201,255,57,.55);display:grid;place-items:center;color:var(--lime)}.special-meter small b{color:var(--lime)}.boss-hud{position:absolute;top:82px;left:50%;transform:translateX(-50%);width:min(390px,45vw)}.boss-title{display:flex;justify-content:space-between;font-size:9px;letter-spacing:.16em;color:#eff4e9;margin-bottom:6px}.boss-title span{color:#ff795d}.boss-track i{background:#ff6958;box-shadow:0 0 9px rgba(255,93,65,.5)}.touch-controls{position:absolute;z-index:6;inset:auto 0 48px;display:flex;justify-content:flex-end;align-items:flex-end;padding:0 24px;pointer-events:none}.touch-controls button{pointer-events:auto;touch-action:none;border:1px solid rgba(203,255,74,.55);background:rgba(8,17,15,.55);color:var(--lime);border-radius:50%;display:grid;place-items:center;user-select:none}.touch-fire{width:74px;height:74px;font-weight:700;font-size:10px;letter-spacing:.1em;box-shadow:inset 0 0 20px rgba(201,255,57,.09),0 0 22px rgba(201,255,57,.1)}.touch-fire i{position:absolute;width:42px;height:42px;border:1px solid rgba(201,255,57,.18);border-radius:50%}.touch-special{width:49px;height:49px;margin:0 0 13px;font-size:21px}.toast{position:absolute;z-index:10;left:50%;bottom:28px;transform:translate(-50%,15px);padding:10px 15px;border:1px solid rgba(201,255,57,.35);background:rgba(6,13,13,.95);font-size:11px;letter-spacing:.05em;color:#e5eee3;opacity:0;transition:.22s;pointer-events:none;white-space:nowrap}.toast.show{opacity:1;transform:translate(-50%,0)}
.modal-screen{align-items:center;justify-content:center;background:rgba(1,5,7,.55);backdrop-filter:blur(7px)}.modal-card{width:min(420px,calc(100% - 36px));padding:clamp(22px,4vw,38px);border:1px solid rgba(208,242,211,.18);background:linear-gradient(145deg,rgba(15,27,28,.97),rgba(6,12,14,.97));box-shadow:0 20px 100px #0009;animation:rise-in .24s both}.modal-card h2{font-size:42px;margin:10px 0 20px}.modal-actions{display:grid;gap:8px}.modal-actions .button{min-height:46px}.confirm-note{display:flex;align-items:center;justify-content:center;gap:12px;font-size:10px;color:#e4b078}.confirm-note button{border:0;background:none;color:var(--lime);font-size:10px;letter-spacing:.1em;cursor:pointer}.result-card{text-align:center}.result-card .eyebrow{justify-content:center}.result-card>p{color:#a8b4a9;margin:0 auto 19px;max-width:295px;font-size:13px;line-height:1.45}.result-score{padding:12px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);display:grid;gap:3px;margin-bottom:16px}.result-score small{font-size:9px;color:#94a096;letter-spacing:.14em}.result-score b{font-size:23px;color:var(--lime);letter-spacing:.1em}.result-card .button{justify-content:center}.result-card .button b{position:absolute;right:15px}.result-card .button-primary{position:relative}
@keyframes pulse{50%{opacity:.3;box-shadow:0 0 2px var(--lime)}}@keyframes rise-in{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes ship-float{0%,100%{translate:0 0}50%{translate:0 -7px}}@keyframes drift{0%,100%{translate:0 0}50%{translate:-14px 9px}}@keyframes laser-pulse{0%,100%{opacity:.35;transform:scaleX(.8);transform-origin:left}50%{opacity:1;transform:scaleX(1);transform-origin:left}}
@media(max-width:760px){.topbar{height:48px;padding:0 18px}.screen{inset:48px 0 0}.home-screen{align-items:flex-start;padding:clamp(26px,8vh,70px) 23px 30px}.home-copy{width:100%;max-width:450px}.logo{font-size:clamp(57px,14vw,92px);margin-top:21px}.home-description{margin:17px 0 20px}.menu-actions{width:min(100%,330px)}.button{min-height:45px}.home-foot{margin-top:14px}.hero-art{inset:0 0 0 12%;opacity:.5}.hero-planet{width:75vw;right:-4%;top:15%}.hero-ship{right:8%;top:41%;transform:scale(.73)}.hero-caption{right:9%;bottom:17%}.panel-screen{inset:48px 0 0;padding:18px 18px 18px}.settings-grid{grid-template-columns:1fr;gap:8px;padding:12px 0}.setting-group{padding:11px 13px}.group-label{margin-bottom:8px}.connection-group{grid-column:auto}.connection-options{margin-top:10px}.setting-toggle{padding:6px 0}.panel-head{padding-bottom:12px}.panel-head h2{font-size:37px}.panel-foot{padding-top:10px}.compact{padding:0 10px;font-size:9px}.tutorial-content{grid-template-columns:1fr;gap:5px;align-content:center}.tutorial-visual{height:clamp(150px,28vh,240px)}.tutorial-text{padding:6px 2px}.tutorial-index{font-size:54px}.tutorial-text p{font-size:15px;margin:8px 0 12px}.tutorial-foot .text-button{min-width:65px}.tutorial-foot .foot-actions{gap:5px}.tutorial-foot .compact{font-size:8px;padding:0 8px}.hud{inset:48px 0 0;padding:13px 16px}.hud-top{gap:20px}.hud-mission strong{font-size:14px}.hud-score strong{font-size:15px}.hud-bottom{gap:14px;padding-bottom:7px}.health-block{width:min(190px,48vw);gap:5px}.health-block span,.health-block b,.mission-progress small,.special-meter small{font-size:8px}.special-icon{width:26px;height:26px}.touch-controls{bottom:max(21px,env(safe-area-inset-bottom));padding:0 20px}.touch-special{width:45px;height:45px}.boss-hud{top:77px;width:55vw}.modal-card{padding:24px}.toast{bottom:108px;max-width:90%;white-space:normal;text-align:center}}@media(max-height:600px) and (min-width:761px){.home-screen{padding-top:16px;padding-bottom:18px}.logo{font-size:68px;margin:13px 0 7px}.home-description{margin:12px 0}.menu-actions{gap:5px}.button{min-height:39px}.home-foot{margin-top:10px}.panel-screen{padding-top:15px;padding-bottom:14px}.settings-grid{padding:8px 0}.setting-group{padding:9px 12px}.tutorial-visual{height:190px}}
@media(orientation:landscape) and (max-height:500px){.touch-controls{inset:auto 0 12px}.touch-special{width:40px;height:40px;margin-bottom:4px}.hud{padding-top:8px;padding-bottom:4px}.hud-bottom{padding-bottom:0}.modal-card{padding:18px 25px}.modal-card h2{font-size:34px;margin:6px 0 12px}.modal-actions{gap:5px}.modal-actions .button{min-height:37px}}
.life-info{grid-column:1/-1;font-size:8px;letter-spacing:.15em;color:#95a298;margin-top:-2px}.life-info b{color:#ff8394;font-size:9px}.power-status{position:absolute;right:clamp(16px,4vw,54px);bottom:65px;display:flex;flex-direction:column;align-items:flex-end;gap:5px;max-width:min(220px,55vw);pointer-events:none}.power-readout{display:grid;grid-template-columns:auto 54px auto;align-items:center;gap:7px;padding:4px 7px;background:rgba(5,12,14,.76);border:1px solid rgba(215,243,228,.15);font-size:8px;letter-spacing:.1em;color:#d9e4dc}.power-readout b{color:var(--lime);font-size:9px}.power-track{height:3px;width:54px;background:#36423c}.power-track i{display:block;height:100%;background:var(--lime);box-shadow:0 0 6px currentColor}.power-readout[data-power="shield"] .power-track i,.power-readout[data-power="beam"] .power-track i{background:#68e9ff}.power-readout[data-power="double"] .power-track i,.power-readout[data-power="triple"] .power-track i{background:#ffe276}@media(max-width:760px){.power-status{right:15px;bottom:108px}.power-readout{padding:3px 6px}}
.hero-ship{background:url('assets/sprite-player.png') center/contain no-repeat}.hero-ship:before,.hero-ship:after{display:none}.enemy-a,.enemy-b{clip-path:none;background-color:transparent;background-position:center;background-repeat:no-repeat;background-size:contain}.enemy-a{background-image:url('assets/sprite-scout.png')}.enemy-b{background-image:url('assets/sprite-weaver.png')}
