:root{font-family:'DM Sans',Arial,sans-serif;color:#eaf6f8;background:#071321}*{box-sizing:border-box}html,body{height:100%;margin:0}body{overflow:hidden}.shell{min-height:100%;display:grid;place-items:center;padding:16px;background:radial-gradient(ellipse at 50% 38%,#1b3844 0%,#0a1d2c 47%,#050e19 100%)}.game-frame{position:relative;width:min(100vw - 32px,calc((100dvh - 56px)*.6),480px);aspect-ratio:3/5;max-height:calc(100dvh - 56px);overflow:hidden;background:#0c2430;box-shadow:0 0 0 1px #4f789267,0 30px 90px #0009,0 0 80px #22718922;isolation:isolate}canvas{display:block;width:100%;height:100%;touch-action:none}.grain{position:absolute;inset:0;pointer-events:none;z-index:4;opacity:.12;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 160 160' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.65' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.3'/%3E%3C/svg%3E")}.hidden{display:none!important}.overlay{position:absolute;inset:0;z-index:5}.menu{display:flex;flex-direction:column;padding:6.5% 8%;background:linear-gradient(180deg,#071827cb 0%,#0718274d 35%,#071827db 68%,#071827f5 100%)}.menu-top,.menu-bottom{display:flex;align-items:center;justify-content:space-between}.brand-mark{display:inline-grid;place-items:center;position:relative;width:43px;height:43px;border:1px solid #7ce9e9a0;color:#ccffff;font:900 19px 'Barlow Condensed',sans-serif;letter-spacing:-2px;transform:skew(-8deg)}.brand-mark span{font-size:9px;color:#ffad6c;position:absolute;right:3px;top:1px}.build,.menu-bottom>span,.control-hint,.eyebrow,.chapter,.micro,.health-label,.boss-hud,.result-stats span,.desktop-note{font:700 10px 'DM Sans',sans-serif;letter-spacing:.22em}.build{color:#9abbc2;font-size:8px}.menu-main{margin:auto 0 7%;padding-top:8%}.eyebrow{display:flex;gap:10px;align-items:center;color:#8fe8e4;font-size:9px}.eyebrow-line{display:block;width:26px;height:1px;background:#8fe8e4}.menu h1,.result h2{margin:18px 0 12px;font:900 clamp(48px,13vw,78px)/.83 'Barlow Condensed',Impact,sans-serif;letter-spacing:-.02em;text-shadow:0 4px 30px #03131c}.menu h1 em,.result h2 em{font-style:normal;color:#8be2df}.intro{max-width:340px;color:#c5d4d9;font-size:12px;line-height:1.65;margin:24px 0 31px}.stage-card{display:flex;align-items:center;gap:13px;border-top:1px solid #80b9bd55;border-bottom:1px solid #80b9bd55;padding:14px 0;margin-bottom:22px}.card-index{font:700 35px/.9 'Barlow Condensed',sans-serif;color:#f0ab70}.stage-card div{display:flex;flex-direction:column;gap:4px}.stage-card strong{font:800 17px 'Barlow Condensed',sans-serif;letter-spacing:.08em}.stage-card small{font:700 8px 'DM Sans',sans-serif;color:#9bb7bc;letter-spacing:.17em}.card-arrow{margin-left:auto;color:#95eaeb;font-size:19px}.primary{cursor:pointer;border:0;display:flex;width:100%;align-items:center;justify-content:space-between;padding:15px 19px;background:#8be5df;color:#082b32;box-shadow:0 5px 25px #34c9bf44;font:900 18px 'Barlow Condensed',sans-serif;letter-spacing:.13em;transition:transform .15s,background .15s}.primary:hover{background:#b7fff3;transform:translateY(-2px)}.primary:active{transform:translateY(1px)}.control-hint{margin-top:16px;text-align:center;color:#93adb0;font-size:8px}.control-hint span{padding:0 5px;color:#ebaa73}.menu-bottom{border-top:1px solid #a7cbd645;padding-top:16px}.menu-bottom>span{color:#a4bbc1;font-size:8px}.sound-controls{display:flex;gap:10px}.icon-button{display:grid;place-items:center;width:39px;height:39px;background:#082330a8;border:1px solid #a4d0d275;color:#a9f4ec;cursor:pointer}.icon-button svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.icon-button[aria-pressed="false"]{color:#70888e;border-color:#70888e66;position:relative}.icon-button[aria-pressed="false"]::after{content:'';position:absolute;width:25px;height:1px;background:#e78972;transform:rotate(-42deg)}.hud{position:absolute;inset:0;z-index:3;pointer-events:none;padding:14px 17px;display:flex;flex-direction:column;justify-content:space-between}.hud-top{display:grid;grid-template-columns:1fr 1.25fr 1fr;align-items:start;gap:4px}.hud-block{display:flex;flex-direction:column;gap:2px}.hud-block.right{text-align:right}.micro{color:#91b9bc;font-size:8px}.hud-block strong{font:800 20px 'Barlow Condensed',sans-serif;letter-spacing:.06em;font-variant-numeric:tabular-nums}.hud-center{display:flex;flex-direction:column;align-items:center;gap:3px;text-align:center;font:800 11px 'Barlow Condensed',sans-serif;letter-spacing:.08em}.chapter{color:#a6fbeb;font-size:8px}.hud-bottom{width:38%;margin-bottom:1px}.health-label{display:flex;justify-content:space-between;font-size:8px;margin-bottom:5px;color:#d5f3ef}.health-track,.stage-track,.boss-hud div{height:7px;border:1px solid #a6cad766;background:#052330ae;overflow:hidden}.health-track div,.stage-track div,.boss-hud i{display:block;height:100%;width:100%;background:linear-gradient(90deg,#4ccdc8,#a7ffee);box-shadow:0 0 10px #8debe4}.stage-track{height:3px;border:0;margin-top:5px}.stage-track div{width:0%;background:#efaf76}.boss-hud{position:absolute;left:17px;right:17px;bottom:60px;color:#ffe0bb;font-size:8px;text-align:center}.boss-hud div{margin-top:7px;height:8px;border-color:#e9a87188}.boss-hud i{background:linear-gradient(90deg,#a3403d,#ffae68)}.result{display:grid;place-items:center;padding:8%;background:linear-gradient(#071927e3,#06151fef)}.result-content{width:100%}.result h2{font-size:clamp(63px,17vw,96px)}.result p{color:#c2d2d4;font-size:13px;line-height:1.6;max-width:300px;margin:22px 0}.result-stats{display:flex;gap:44px;border-top:1px solid #acd6d35e;border-bottom:1px solid #acd6d35e;padding:16px 0;margin:30px 0}.result-stats div{display:flex;flex-direction:column;gap:5px}.result-stats span{color:#92b7b9;font-size:8px}.result-stats strong{font:800 30px 'Barlow Condensed',sans-serif}.toast{position:absolute;z-index:6;left:50%;top:25%;transform:translate(-50%,-10px);font:800 22px 'Barlow Condensed',sans-serif;letter-spacing:.14em;color:#dffff7;text-shadow:0 2px 14px #002b30;white-space:nowrap;opacity:0;pointer-events:none;transition:opacity .2s,transform .2s}.toast.show{opacity:1;transform:translate(-50%,0)}.desktop-note{color:#6c959f;font-size:8px;text-align:center;margin:12px 0 0}.desktop-note span{color:#dca26f;margin:0 7px}@media(max-width:600px){.shell{padding:0;background:#071321}.game-frame{width:100vw;height:100dvh;max-height:none;aspect-ratio:auto;box-shadow:none}.menu{padding:calc(20px + env(safe-area-inset-top)) 8% calc(18px + env(safe-area-inset-bottom))}.menu h1{font-size:clamp(60px,16vw,88px)}.desktop-note{display:none}.hud{padding-top:calc(14px + env(safe-area-inset-top));padding-bottom:calc(14px + env(safe-area-inset-bottom))}}@media(max-height:650px){.menu-main{padding-top:0;margin-top:auto}.menu h1{margin:10px 0;font-size:54px}.intro{margin:12px 0 16px}.stage-card{padding:10px 0;margin-bottom:14px}.primary{padding:11px 16px}.control-hint{margin-top:9px}}

.menu{background:linear-gradient(180deg,#061622e8 0%,#07182755 34%,#061622af 69%,#061622f2 100%)}
.menu-main{padding-top:0;margin:auto 0 6%}
.menu h1{margin:14px 0 0;position:relative;z-index:1}
.menu-visual{position:relative;height:clamp(180px,33vh,290px);display:grid;place-items:center;margin:-4px 0 4px;overflow:hidden}
.menu-visual::before{content:'';position:absolute;width:78%;aspect-ratio:1;border:1px solid #9de4e259;border-radius:50%;box-shadow:0 0 60px #5acacb33,inset 0 0 30px #5acacb22}
.menu-visual::after{content:'';position:absolute;inset:15% 20%;background:radial-gradient(ellipse,#8adcd333,transparent 65%);filter:blur(12px)}
.visual-ring{position:absolute;width:58%;aspect-ratio:1;border:1px dashed #caa67c8a;border-radius:50%;transform:rotate(-20deg)}
.menu-visual img{position:relative;z-index:1;display:block;width:min(74%,285px);height:95%;object-fit:contain;filter:drop-shadow(0 18px 18px #03141ac7) drop-shadow(0 0 22px #74eee664)}
.stage-label{display:flex;align-items:center;gap:13px;border-top:1px solid #80b9bd66;padding:11px 0 17px}
.stage-label span{color:#f0ae78;font:800 29px 'Barlow Condensed',Impact,sans-serif}
.stage-label strong{font:700 10px 'DM Sans',Arial,sans-serif;letter-spacing:.15em;color:#d5eeec}
.pause-button{position:absolute;top:62px;right:17px;pointer-events:auto;width:35px;height:35px;display:grid;place-items:center;cursor:pointer;background:#082330c9;border:1px solid #a4d0d28a;color:#b9f6f0;font:800 20px Arial,sans-serif;line-height:1}
.pause-button:hover{background:#145163}
.bonus-hud{position:absolute;right:17px;bottom:17px;display:flex;gap:5px;flex-wrap:wrap;justify-content:flex-end;max-width:57%;font:700 8px 'DM Sans',Arial,sans-serif;letter-spacing:.08em;color:#d6fffa}
.bonus-hud span{border:1px solid #9cece08a;background:#082d37c9;padding:5px 6px}
.pause{display:grid;place-items:center;background:#04131cd6;backdrop-filter:blur(8px);padding:8%}
.pause-window{width:100%;padding:27px 25px 23px;border:1px solid #a1dbd09c;background:linear-gradient(145deg,#103442f2,#071a27f5);box-shadow:0 22px 70px #0009,0 0 40px #58d9d51f}
.pause h2{font:900 64px/.9 'Barlow Condensed',Impact,sans-serif;letter-spacing:.02em;margin:24px 0 26px;color:#e8fcf8}
.secondary{display:block;width:100%;margin-top:12px;padding:13px 15px;border:1px solid #92c9c68c;background:transparent;color:#d3efeb;cursor:pointer;font:800 15px 'Barlow Condensed',Impact,sans-serif;letter-spacing:.13em;text-align:left}
.secondary:hover{background:#174753}
.pause-options{display:flex;justify-content:space-between;align-items:center;border-top:1px solid #92c9c66b;margin-top:27px;padding-top:18px}
.pause-options>span{font:700 9px 'DM Sans',Arial,sans-serif;letter-spacing:.2em;color:#a6d0ce}
@media(max-height:650px){.menu-visual{height:clamp(130px,27vh,210px)}.menu h1{font-size:50px}.stage-label{padding:7px 0 10px}}
@media(max-width:600px){.pause-button{top:calc(62px + env(safe-area-inset-top))}.bonus-hud{bottom:calc(17px + env(safe-area-inset-bottom))}}

.mission-banner{position:absolute;z-index:3;top:19%;left:0;right:0;display:flex;flex-direction:column;align-items:center;gap:6px;pointer-events:none;opacity:0;text-align:center;text-shadow:0 2px 18px #001218}
.mission-banner small{font:800 11px 'DM Sans',Arial,sans-serif;letter-spacing:.32em;color:#99eee5}
.mission-banner strong{font:900 clamp(32px,9vw,47px) 'Barlow Condensed',Impact,sans-serif;letter-spacing:.05em;color:#f0faf6}
.field-warning{position:absolute;z-index:3;top:31%;left:5%;right:5%;padding:17px 9px;display:flex;flex-direction:column;align-items:center;gap:5px;text-align:center;pointer-events:none;opacity:0;border-top:2px solid #ffad72;border-bottom:2px solid #ffad72;background:#2d1b27c9;box-shadow:0 0 40px #ff815455}
.field-warning.active{opacity:1;animation:warning-pulse .8s ease-in-out infinite alternate}
.field-warning span{font-size:29px;color:#ffbe83}
.field-warning strong{font:900 clamp(26px,7vw,36px) 'Barlow Condensed',Impact,sans-serif;letter-spacing:.07em;color:#ffe5c1}
.field-warning small{font:700 9px 'DM Sans',Arial,sans-serif;letter-spacing:.2em;color:#ffd0ac}
@keyframes warning-pulse{from{box-shadow:0 0 20px #ff815433}to{box-shadow:0 0 60px #ff81548a}}

.movement-setting{display:flex;border:1px solid #a4d0d275;background:#082330a8}
.movement-setting button{min-height:39px;padding:0 9px;border:0;background:transparent;color:#8aaeb1;cursor:pointer;font:800 10px 'DM Sans',Arial,sans-serif;letter-spacing:.07em}
.movement-setting button+button{border-left:1px solid #a4d0d255}
.movement-setting button[aria-pressed="true"]{background:#8be5df;color:#082b32}
.movement-setting button:focus-visible,.icon-button:focus-visible{outline:2px solid #fff;outline-offset:2px}
.pause-options+.pause-options{margin-top:14px;padding-top:14px}

.bonus-hud{gap:3px;align-items:flex-end;max-width:62%}
.bonus-hud .bonus-indicator{position:relative;flex:0 0 36px;width:36px;height:44px;border:0;background:none;padding:0}
.bonus-hud .bonus-indicator svg{position:absolute;left:2px;top:2px;width:32px;height:32px;overflow:visible}
.bonus-hud .bonus-indicator circle{fill:none;stroke-width:2}
.bonus-hud .bonus-ring-track{stroke:#a4d0d255}
.bonus-hud .bonus-ring-progress{stroke:#a9f4ec;stroke-linecap:round;stroke-dasharray:138.23;transform:rotate(-90deg);transform-origin:24px 24px}
.bonus-hud span{border:0;padding:0;background-color:transparent}
.bonus-hud .bonus-icon{position:absolute;left:4px;top:4px;width:28px;height:28px;border:1px solid #a4d0d28a;border-radius:50%;background-color:#082330c9}
.bonus-hud .bonus-glyph{position:absolute;left:3px;top:3px;width:20px;height:20px;background-image:url('assets/hud-powerups.svg');background-size:300% 300%;background-repeat:no-repeat}
.bonus-hud .bonus-indicator--missiles .bonus-glyph{left:0;top:0;width:26px;height:26px}
.bonus-hud .bonus-indicator--drone .bonus-glyph{left:1px;top:1px;width:24px;height:24px}
.bonus-hud .bonus-count{position:absolute;left:0;right:0;bottom:0;border:0;text-align:center;color:#d9f4ec;font:800 8px 'DM Sans',Arial,sans-serif;letter-spacing:0;font-variant-numeric:tabular-nums;text-shadow:0 1px 3px #001a1c}
