:root{--bg:#050a14;--panel:#0b1728;--cyan:#31e7ff;--blue:#378dff;--violet:#8f5cff;--pink:#ff4f9a;--danger:#ff596d;--gold:#ffd369;--text:#eafcff;--muted:#7890a6;--card-w:clamp(48px,14.5vw,66px);--card-h:clamp(54px,16.5vw,74px)}
/* Fast custom stack entry */
.custom-stack-option{display:grid;grid-template-columns:minmax(0,1fr) 104px;gap:6px}.stack-options .custom-stack-option .custom-stack-play{width:100%;padding-right:72px}.stack-options .custom-stack-option .custom-stack-edit{min-height:72px;padding:8px;border-color:#54758b;background:linear-gradient(180deg,#223849,#101d29);color:#b9f5ff;font:900 8px ui-monospace;letter-spacing:.06em;text-align:center}.stack-options .custom-stack-option .custom-stack-edit:active{border-color:var(--cyan);box-shadow:0 0 12px rgba(49,231,255,.3)}
.custom-review-heading{margin:2px 0 9px}.custom-review-heading strong{display:block;color:#fff;font:900 15px ui-monospace;letter-spacing:.08em}.custom-review-heading small{display:block;margin-top:4px;color:#7f99ac;font:800 9px ui-monospace}.custom-review-sectors{display:grid;gap:7px}.custom-review-sectors section{padding:6px;border:1px solid #334e62;border-radius:7px;background:linear-gradient(110deg,rgba(16,35,50,.94),rgba(5,13,22,.96))}.custom-review-sectors header{display:flex;justify-content:space-between;align-items:center;margin-bottom:4px;color:#8eb2c8;font:900 7px ui-monospace;letter-spacing:.1em}.custom-review-sectors header strong{color:var(--cyan)}.custom-review-sectors section>div{display:grid;grid-template-columns:repeat(13,minmax(0,1fr));gap:2px}.custom-review-sectors button{min-width:0;height:43px;padding:2px 0;border:1px solid #8399a7;border-radius:3px;background:linear-gradient(#f8fbfc,#c4d0d7);color:#0d1921;font-family:ui-monospace;line-height:.86}.custom-review-sectors button small{display:block;color:#5a6b75;font-size:6px}.custom-review-sectors button b{display:block;margin-top:3px;font-size:10px}.custom-review-sectors button em{display:block;font-size:11px;font-style:normal}.custom-review-sectors button.red b,.custom-review-sectors button.red em{color:#c7224e}.custom-review-sectors button:active{transform:scale(.92);box-shadow:0 0 9px var(--cyan)}.custom-review-back{width:100%;height:38px;margin-top:7px;border:1px solid #526c80;border-radius:6px;background:#0b1928;color:#aac0ce;font:900 8px ui-monospace;letter-spacing:.06em}@media(max-width:380px){.custom-review-sectors{gap:5px}.custom-review-sectors section{padding:4px}.custom-review-sectors button{height:38px}.custom-review-sectors button b{font-size:9px}.custom-review-sectors button em{font-size:10px}}
.custom-builder-card{padding:10px 0;max-width:500px}.custom-builder-card>p:not(.eyebrow){margin-bottom:12px}.custom-position-display{display:grid;grid-template-columns:auto 68px 1fr;align-items:center;gap:10px;padding:10px 12px;border:1px solid rgba(49,231,255,.42);border-radius:8px;background:linear-gradient(110deg,#071521,#132a3c 52%,#08131f);box-shadow:inset 0 0 22px rgba(49,231,255,.08)}.custom-position-display span,.custom-control-label{color:#7590a4;font:900 8px ui-monospace;letter-spacing:.16em}.custom-position-display strong{color:#fff;font:900 32px ui-monospace}.custom-position-display b{color:var(--cyan);font:900 11px ui-monospace;text-align:right;letter-spacing:.07em}.custom-control-panel{display:grid;grid-template-columns:28px 1fr;gap:7px 6px;margin-top:10px;padding:10px;border:1px solid #273e51;border-radius:9px;background:rgba(4,12,22,.72)}.custom-control-label{display:grid;place-items:center;writing-mode:vertical-rl;transform:rotate(180deg)}.custom-rank-row{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:5px}.custom-suit-row{display:grid;grid-template-columns:repeat(4,1fr);gap:6px}.custom-rank-row .rank-button{height:38px}.custom-suit-row .suit-button{height:43px}.custom-rank-row button:disabled{opacity:.28}.custom-progress{display:grid;grid-template-columns:auto 1fr;align-items:center;gap:10px;margin:11px 2px;color:#9eb4c4;font:900 9px ui-monospace}.custom-progress>i{height:6px;overflow:hidden;border-radius:5px;background:#0d1b29;box-shadow:inset 0 1px 3px #000}.custom-progress b{display:block;width:0;height:100%;background:linear-gradient(90deg,#3487ee,var(--cyan));transition:width .2s}.custom-recent{min-height:43px;display:flex;justify-content:center;align-items:center;gap:5px;padding:6px;border:1px solid #20384c;border-radius:7px;background:#050d17;overflow:hidden}.custom-recent>b{min-width:45px;padding:5px;border:1px solid #405b70;border-radius:5px;background:linear-gradient(#eef5f8,#bacbd5);color:#101c25;font:900 15px ui-monospace}.custom-recent b small{display:block;color:#526a7a;font-size:7px}.custom-recent>span{color:#526b7f;font:800 8px ui-monospace;letter-spacing:.08em}.custom-name-panel{margin-top:10px;padding:11px;border:1px solid #37dba2;border-radius:9px;background:rgba(22,89,69,.15)}.custom-name-panel label{display:block;margin-bottom:7px;color:#8effcf;font:900 9px ui-monospace;letter-spacing:.09em}.custom-name-panel input{width:100%;height:43px;padding:0 12px;border:1px solid #7795a7;border-radius:6px;background:#f2f6f8;color:#0a1720;font:900 14px ui-monospace;text-align:center;text-transform:uppercase}.custom-builder-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:9px}.custom-builder-actions button{min-height:39px;border:1px solid #526c80;border-radius:6px;background:#0b1928;color:#aac0ce;font:900 8px ui-monospace;letter-spacing:.05em}.custom-builder-actions button:disabled{opacity:.3}@media(max-height:720px){.custom-builder-card h2{font-size:23px;margin:3px}.custom-builder-card>p:not(.eyebrow){display:none}.custom-position-display{padding:6px 10px}.custom-position-display strong{font-size:25px}.custom-control-panel{margin-top:6px;padding:7px}.custom-rank-row .rank-button{height:32px}.custom-suit-row .suit-button{height:36px}.custom-progress{margin:7px 2px}.custom-recent{min-height:37px;padding:4px}.custom-recent>b{padding:3px}.custom-builder-actions{margin-top:6px}}
.ship-wrap.retreating{animation:mothership-retreat .9s cubic-bezier(.45,0,1,.55) forwards;pointer-events:none}@keyframes mothership-retreat{to{transform:translateX(-50%) scale(.025);opacity:0;filter:blur(3px) drop-shadow(0 0 2px rgba(64,167,255,.2))}}
*{box-sizing:border-box}html,body{margin:0;min-height:100%;background:radial-gradient(circle at 50% 0,#122341 0,#060b15 48%,#02050b 100%);color:var(--text);font-family:Inter,ui-sans-serif,system-ui,-apple-system,sans-serif}button{font:inherit;color:inherit}.app-shell{width:min(100%,540px);min-height:100dvh;margin:auto;background:linear-gradient(180deg,rgba(6,14,27,.95),rgba(3,8,17,.98));box-shadow:0 0 80px #000;overflow:hidden}.topbar{display:flex;justify-content:space-between;align-items:center;padding:calc(14px + env(safe-area-inset-top)) 18px 10px;border-bottom:1px solid #19304b}.eyebrow{margin:0;color:var(--cyan);font-size:9px;font-weight:800;letter-spacing:.23em}.topbar h1{margin:3px 0 0;font-size:18px;letter-spacing:.09em}.icon-button{width:38px;height:38px;border:1px solid #285171;background:#0c1b2b;border-radius:9px;color:var(--cyan)}.status-strip{height:55px;display:grid;grid-template-columns:1fr 1fr 1fr;background:#07111f;border-bottom:1px solid #19304b}.status-strip div{display:flex;flex-direction:column;align-items:center;justify-content:center;border-right:1px solid #19304b}.status-strip div:last-child{border:0}.status-strip span,.objective span{font-size:8px;letter-spacing:.16em;color:var(--muted);font-weight:800}.status-strip strong{margin-top:2px;font:800 12px ui-monospace,monospace;color:var(--cyan)}
.battlefield{height:318px;position:relative;overflow:hidden;background:linear-gradient(180deg,rgba(10,25,48,.7),rgba(3,9,20,.55)),repeating-linear-gradient(90deg,transparent 0 39px,rgba(63,172,255,.025) 40px),repeating-linear-gradient(0deg,transparent 0 39px,rgba(63,172,255,.025) 40px);border-bottom:1px solid #254967}.battlefield:after{content:"";position:absolute;left:0;right:0;bottom:0;height:70px;background:linear-gradient(transparent,rgba(49,231,255,.08));pointer-events:none}.stars{position:absolute;inset:0;background-image:radial-gradient(#77cfff 1px,transparent 1px),radial-gradient(#fff 1px,transparent 1px);background-position:0 0,25px 33px;background-size:67px 71px,97px 103px;opacity:.25}.ship-wrap{position:absolute;z-index:4;top:9px;left:50%;width:82px;height:55px;transform:translateX(-50%);filter:drop-shadow(0 0 12px #207eff);animation:hover 2.8s ease-in-out infinite}.ship-glow{position:absolute;inset:18px 12px 0;background:#2876ff;filter:blur(18px);opacity:.38}.ship-body{position:absolute;top:5px;left:8px;width:66px;height:34px;display:flex;align-items:end;justify-content:center;clip-path:polygon(0 72%,22% 40%,39% 38%,50% 0,61% 38%,78% 40%,100% 72%,83% 100%,17% 100%);background:linear-gradient(180deg,#b9eaff,#2369ae 45%,#102945)}.ship-body b{width:27px;height:25px;background:#10284a;border:2px solid #49d9ff;border-radius:50% 50% 10% 10%}.ship-body i{width:16px;height:8px;background:#39ddff;margin-bottom:5px;box-shadow:0 0 8px var(--cyan)}.ship-core{position:absolute;top:40px;left:34px;width:14px;height:5px;background:#fff;border-radius:50%;box-shadow:0 0 7px 3px var(--pink)}@keyframes hover{50%{transform:translate(-50%,4px)}}
.fortress{position:absolute;z-index:5;left:50%;bottom:28px;transform:translateX(-50%);width:calc(var(--card-w)*4 + 12px);display:flex;flex-direction:column;align-items:center;gap:3px}.fortress-row{display:flex;gap:3px}.fortress-card{position:relative;width:var(--card-w);height:var(--card-h);border:1px solid #28465f;border-radius:6px;background:linear-gradient(145deg,rgba(16,34,55,.82),rgba(5,13,25,.92));display:flex;align-items:center;justify-content:center;overflow:hidden;transition:.25s;box-shadow:inset 0 0 15px #02060d}.fortress-card:before{content:attr(data-position);font:800 12px ui-monospace;color:#38516a}.fortress-card.next{border-color:var(--cyan);box-shadow:0 0 12px rgba(49,231,255,.6),inset 0 0 18px rgba(49,231,255,.11);animation:pulse 1.4s infinite}.fortress-card.built{background:linear-gradient(145deg,#e8f8ff,#9bbbd3);border-color:#fff;box-shadow:0 0 9px rgba(79,221,255,.65)}.fortress-card.built:before{display:none}.card-face{position:absolute;inset:3px;border:1px solid #46728f;border-radius:4px;color:#071323;font-weight:900}.card-face.red{color:#b51048}.card-face span{position:absolute;left:4px;top:3px;font-size:12px;line-height:.8}.card-face em{position:absolute;right:4px;bottom:2px;font-size:19px;font-style:normal}.health{position:absolute;left:3px;right:3px;bottom:2px;height:3px;background:#213c50}.health i{display:block;height:100%;background:var(--cyan);transition:width .2s}.fortress-card.damaged{filter:saturate(.75);box-shadow:0 0 10px var(--danger)}.fortress-card.damaged .health i{background:var(--danger)}.fortress-card.shake{animation:shake .2s}.battle-message{position:absolute;z-index:8;bottom:8px;left:50%;transform:translateX(-50%);white-space:nowrap;color:var(--cyan);font:800 8px ui-monospace;letter-spacing:.14em}.laser{position:absolute;z-index:3;width:3px;height:24px;background:white;border-radius:2px;box-shadow:0 0 4px 2px var(--pink);transition:top .3s linear,left .3s linear}.impact{position:absolute;z-index:7;width:28px;height:28px;border:2px solid var(--pink);border-radius:50%;animation:impact .35s forwards}.bomb{position:absolute;z-index:6;width:52px;height:68px;top:-74px;border:2px solid var(--pink);border-radius:10px;background:linear-gradient(145deg,#311847,#0f1125);box-shadow:0 0 18px rgba(255,79,154,.7);display:flex;flex-direction:column;align-items:center;justify-content:center;transition:top .05s linear}.bomb .card-symbol{font-size:22px;font-weight:900}.bomb small{color:#f9acd0;font:800 8px ui-monospace;letter-spacing:.08em}.bomb .bomb-position{position:absolute;top:-10px;right:-10px;width:24px;height:24px;border-radius:50%;background:var(--pink);display:grid;place-items:center;color:#fff;font:900 10px ui-monospace}
.control-deck{padding:8px 12px;background:linear-gradient(#0c1929,#07111e);border-bottom:1px solid #1d384e}.objective{height:42px;padding:5px 9px;display:grid;grid-template-columns:30px 1fr 50px;align-items:center;border:1px solid #285170;border-radius:8px;background:#091625}.objective-icon{color:var(--cyan);font-size:23px}.objective strong{display:block;color:#fff;font-size:14px}.target-card{justify-self:end;text-align:center;font:900 19px ui-monospace;color:var(--cyan);border-left:1px solid #25445d;padding-left:9px}.hint{margin:5px 1px;color:#8095aa;font-size:9px;line-height:1.25}.suit-row{display:grid;grid-template-columns:repeat(4,1fr);gap:5px}.suit-button{height:34px;border:1px solid #2a465f;border-radius:6px;background:#101d2c;color:#8da2b4;font-size:18px;cursor:pointer}.suit-button.selected{border-color:var(--cyan);color:#fff;background:linear-gradient(180deg,#123a51,#102538);box-shadow:0 0 10px rgba(49,231,255,.25)}.suit-button.red.selected{border-color:var(--pink);color:#ff6ca9;box-shadow:0 0 10px rgba(255,79,154,.25)}.rank-panel{display:grid;grid-template-columns:25px 1fr;margin-top:5px}.rank-label{writing-mode:vertical-rl;transform:rotate(180deg);display:grid;place-items:center;color:#536b80;font:800 7px ui-monospace;letter-spacing:.18em}.rank-row{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px;padding:0;overflow:visible}.rank-button{min-width:0;height:31px;border:1px solid #2b4a64;border-radius:5px;background:#0c1a2b;color:#cbe6f7;font:800 11px ui-monospace;cursor:pointer}.rank-button:active{transform:scale(.95)}.rank-button.correct-preview{border-color:var(--cyan)}.phase-two-title{text-align:center;margin:3px;color:var(--pink);font:900 12px ui-monospace;letter-spacing:.13em}.position-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:4px}.position-button{height:35px;border:1px solid #37516b;border-radius:6px;background:#0c1a2b;font:900 12px ui-monospace}.position-button:active{background:var(--pink)}
footer{display:flex;align-items:center;gap:8px;padding:7px 12px calc(7px + env(safe-area-inset-bottom));background:#050c16}.secondary-button{border:0;background:transparent;color:#6e879c;font:800 8px ui-monospace;letter-spacing:.06em}.progress-wrap{flex:1;text-align:center;color:#7991a6;font:800 8px ui-monospace}.progress{height:4px;margin-top:4px;background:#142537;border-radius:4px;overflow:hidden}.progress i{display:block;width:0;height:100%;background:linear-gradient(90deg,var(--blue),var(--cyan));transition:width .3s}.modal{position:fixed;z-index:30;inset:0;background:rgba(1,5,12,.84);display:grid;place-items:center;padding:22px;backdrop-filter:blur(6px)}.modal-card{width:min(100%,410px);padding:30px 22px;border:1px solid var(--cyan);border-radius:14px;text-align:center;background:radial-gradient(circle at 50% 0,#183e58,#091522 62%);box-shadow:0 0 35px rgba(49,231,255,.25)}.modal-card h2{margin:8px 0;color:#fff;font-size:25px}.modal-card p:not(.eyebrow){color:#93a8ba;font-size:13px}.primary-button{margin-top:11px;width:100%;height:48px;border:0;border-radius:7px;background:linear-gradient(90deg,#2279d8,var(--cyan));color:#03101a;font-weight:900;letter-spacing:.08em}.hidden{display:none!important}@keyframes pulse{50%{box-shadow:0 0 20px rgba(49,231,255,.8),inset 0 0 22px rgba(49,231,255,.18)}}@keyframes shake{25%{transform:translateX(-3px)}75%{transform:translateX(3px)}}@keyframes impact{to{transform:scale(2.2);opacity:0}}@media(max-height:760px){.topbar{padding-top:7px;padding-bottom:6px}.topbar h1{font-size:15px}.status-strip{height:42px}.battlefield{height:285px}:root{--card-w:44px;--card-h:50px}.control-deck{padding-top:6px}.hint{display:none}.rank-button{height:28px}}

/* Full-screen mobile game layout */
html,body{width:100%;height:100%;min-height:100%;overflow:hidden}.app-shell{width:100%;max-width:540px;height:var(--app-height,100dvh);min-height:0;display:grid;grid-template-rows:auto auto minmax(270px,1fr) auto auto;margin:auto;overflow:hidden;isolation:isolate}.topbar{background:linear-gradient(180deg,rgba(11,27,49,.98),rgba(5,13,25,.96));box-shadow:0 7px 20px rgba(0,0,0,.3);z-index:10}.topbar h1{background:linear-gradient(90deg,#fff,#7deeff);-webkit-background-clip:text;background-clip:text;color:transparent;text-shadow:0 0 22px rgba(49,231,255,.15)}.status-strip{height:48px;grid-template-columns:1.2fr repeat(3,1fr);z-index:9}.status-strip strong{font-size:11px}.battlefield{height:auto;min-height:0}.battlefield:before{content:"";position:absolute;inset:0;background:radial-gradient(ellipse at 50% 7%,rgba(45,122,255,.18),transparent 38%),radial-gradient(ellipse at 50% 100%,rgba(49,231,255,.12),transparent 45%);pointer-events:none}.ship-wrap{top:14px;transform:translateX(-50%) scale(1.08)}.fortress{bottom:31px}.laser{height:32px;box-shadow:0 0 5px 2px #ff4f9a,0 0 13px 4px rgba(255,79,154,.5)}.control-deck{z-index:8;box-shadow:0 -8px 24px rgba(0,0,0,.4);border-top:1px solid rgba(49,231,255,.16)}.objective{background:linear-gradient(110deg,rgba(10,37,57,.96),rgba(15,25,49,.96));box-shadow:inset 0 0 22px rgba(49,231,255,.05)}.suit-button,.rank-button,.position-button{touch-action:manipulation;-webkit-tap-highlight-color:transparent}.rank-button,.position-button{background:linear-gradient(180deg,#13263b,#091625);box-shadow:inset 0 1px rgba(255,255,255,.04)}.position-button{height:38px}.recall-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:6px}.recall-heading .phase-two-title,.recall-heading .hint{text-align:left;margin:0}.recall-heading strong{padding:6px 9px;border:1px solid var(--pink);border-radius:15px;color:#ff91bd;background:rgba(255,79,154,.09);font:900 9px ui-monospace;white-space:nowrap}.bomb.intercepted{animation:intercept-pop .22s forwards;box-shadow:0 0 35px var(--cyan);border-color:var(--cyan)}footer{z-index:8}@keyframes intercept-pop{to{transform:scale(1.5) rotate(8deg);opacity:0}}@media(min-width:700px){body{display:grid;place-items:center;padding:12px}.app-shell{height:min(920px,calc(var(--app-height,100dvh) - 24px));border:1px solid #1c3c58;border-radius:18px;box-shadow:0 25px 90px #000}}
@media(max-height:700px){.topbar{padding-top:5px;padding-bottom:5px}.eyebrow{font-size:7px}.status-strip{height:40px}.app-shell{grid-template-rows:auto auto minmax(235px,1fr) auto auto}.ship-wrap{top:6px;transform:translateX(-50%) scale(.9)}.fortress{bottom:25px}.control-deck{padding:5px 9px}.objective{height:36px}.suit-button{height:29px}.rank-button{height:25px}.rank-panel{margin-top:3px}.position-button{height:31px}}

.rank-button.selected{color:#03121d;border-color:var(--cyan);background:linear-gradient(180deg,#86f5ff,#31cfea);box-shadow:0 0 14px rgba(49,231,255,.45)}.suit-panel{display:grid;grid-template-columns:25px 1fr;align-items:center;margin-top:5px}.suit-panel>span{color:#536b80;font:800 7px ui-monospace;letter-spacing:.12em;writing-mode:vertical-rl;transform:rotate(180deg);text-align:center}.suit-button{display:flex;align-items:center;justify-content:center;gap:5px}.suit-button small{font:800 7px ui-monospace;letter-spacing:.05em}.suit-button:disabled{opacity:.35;filter:saturate(.3);cursor:not-allowed}.suit-button:not(:disabled):active{transform:scale(.97);border-color:var(--cyan)}
.entry-flow{display:grid;grid-template-columns:auto 12px auto 1fr;align-items:center;gap:4px;margin:5px 0 2px;color:#536b80;font:900 8px ui-monospace;letter-spacing:.07em}.entry-flow i{font-style:normal;text-align:center}.entry-flow span{padding:3px 5px;border:1px solid #263f55;border-radius:4px}.entry-flow span.active{color:var(--cyan);border-color:var(--cyan);background:rgba(49,231,255,.08);box-shadow:0 0 8px rgba(49,231,255,.16)}.entry-flow strong{justify-self:end;color:#dffaff;font:900 9px ui-monospace}
.stack-chooser{position:fixed;z-index:50;inset:0;display:grid;place-items:center;padding:calc(18px + env(safe-area-inset-top)) 18px calc(18px + env(safe-area-inset-bottom));background:radial-gradient(circle at 50% 12%,#163858 0,#07111f 42%,#02060e 100%);overflow:auto}.stack-chooser-card{width:min(100%,460px);text-align:center}.chooser-orbit{position:relative;width:84px;height:84px;margin:0 auto 18px;border:1px solid rgba(49,231,255,.45);border-radius:50%;display:grid;place-items:center;box-shadow:0 0 38px rgba(49,231,255,.16),inset 0 0 24px rgba(49,231,255,.1)}.chooser-orbit:before,.chooser-orbit:after{content:"";position:absolute;border:1px solid rgba(143,92,255,.5);border-radius:50%;inset:9px;transform:rotate(35deg) scaleY(.42)}.chooser-orbit:after{transform:rotate(-35deg) scaleY(.42)}.chooser-orbit i{position:absolute;width:7px;height:7px;border-radius:50%;background:var(--pink);box-shadow:0 0 12px var(--pink);top:5px}.chooser-orbit b{font:900 24px ui-monospace;color:var(--cyan)}.stack-chooser h2{margin:7px 0 8px;font-size:clamp(24px,8vw,36px);letter-spacing:.06em}.stack-chooser-card>p:not(.eyebrow){max-width:350px;margin:0 auto 20px;color:#8ca3b7;font-size:12px;line-height:1.5}.stack-options{display:grid;gap:9px}.stack-options button{position:relative;min-height:72px;padding:12px 86px 12px 15px;text-align:left;border:1px solid #294d68;border-radius:10px;background:linear-gradient(110deg,rgba(13,31,49,.98),rgba(9,18,34,.98));box-shadow:inset 0 1px rgba(255,255,255,.04);touch-action:manipulation}.stack-options button:active{transform:scale(.985);border-color:var(--cyan)}.stack-options strong{display:block;color:#eaffff;font-size:15px;letter-spacing:.08em}.stack-options small{display:block;margin-top:4px;color:#758da2;font-size:10px}.stack-options span{position:absolute;right:14px;top:50%;transform:translateY(-50%);color:var(--cyan);font:900 9px ui-monospace;letter-spacing:.06em}.stack-chooser.hidden{display:none!important}
.leaderboard{margin:16px 0 4px}.run-score{padding:13px;border:1px solid rgba(255,201,40,.55);border-radius:10px;background:radial-gradient(circle at 50% 0,rgba(255,118,26,.18),rgba(7,17,31,.8));box-shadow:0 0 22px rgba(255,118,26,.12)}.run-score span,.run-score small{display:block;font:900 8px ui-monospace;letter-spacing:.15em;color:#9aafc0}.run-score strong{display:block;margin:2px 0;font:900 31px ui-monospace;color:#ffd34f;text-shadow:0 0 16px rgba(255,118,26,.7)}.run-score small{color:#ff8b35}.leaderboard>p{margin:13px 0 6px!important;color:#8da4b8!important;font:900 8px ui-monospace!important;letter-spacing:.16em}.leaderboard ol{list-style:none;padding:0;margin:0;display:grid;gap:5px}.leaderboard li{display:grid;grid-template-columns:28px 1fr auto;align-items:center;padding:8px 10px;border:1px solid #263f55;border-radius:7px;background:#091522;text-align:left}.leaderboard li.current{border-color:#ff9d29;background:rgba(255,118,26,.09)}.leaderboard li b{color:#60798e;font:900 11px ui-monospace}.leaderboard li strong{font:900 14px ui-monospace;color:#dffaff}.leaderboard li span{color:#70899e;font:800 8px ui-monospace}.fireworks-layer{position:fixed;z-index:60;inset:0;overflow:hidden;pointer-events:none;display:none}.fireworks-layer.active{display:block}.fireworks-layer i{position:absolute;left:var(--x);top:var(--y);width:6px;height:6px;border-radius:50%;background:var(--color);box-shadow:0 0 8px 2px var(--color);animation:firework-sizzle .95s cubic-bezier(.15,.65,.3,1) var(--delay) forwards}.fireworks-layer i:after{content:"";position:absolute;width:18px;height:2px;right:2px;top:2px;background:linear-gradient(90deg,transparent,var(--color))}@keyframes firework-sizzle{0%{transform:translate(0,0) scale(.2);opacity:0}12%{opacity:1}75%{opacity:1}100%{transform:translate(var(--dx),var(--dy)) scale(.1);opacity:0}}

/* Refined play surface: less instructional chrome, more card contrast */
.topbar{position:relative;border-bottom-color:rgba(49,231,255,.18)}.topbar:after{content:"";position:absolute;left:18px;right:18px;bottom:0;height:1px;background:linear-gradient(90deg,transparent,var(--cyan),transparent);opacity:.35}.status-strip{background:linear-gradient(180deg,#081422,#050e19)}.status-strip div{border-right-color:rgba(62,105,139,.26)}.status-strip span{opacity:.72}.battlefield{border-bottom-color:rgba(49,231,255,.3);box-shadow:inset 0 -24px 40px rgba(18,84,113,.08)}.control-deck{padding-top:7px;background:linear-gradient(180deg,#0b1929 0,#06101c 100%)}.objective{height:40px;border-color:rgba(49,231,255,.28);border-radius:6px}.objective-icon{font-size:20px;opacity:.8}.rank-panel,.suit-panel{grid-template-columns:21px 1fr}.rank-label,.suit-panel>span{color:#607a8f;font-size:6px;letter-spacing:.16em}.rank-row{gap:5px}.rank-button{height:34px;color:#101c27;border-color:#b8cad7;background:linear-gradient(180deg,#f7fbfe 0,#cbd8e1 100%);box-shadow:0 2px 5px rgba(0,0,0,.35),inset 0 1px #fff;text-shadow:0 1px rgba(255,255,255,.5);font-size:12px}.rank-button:hover{background:linear-gradient(180deg,#fff,#dce8ef)}.rank-button.selected{color:#03121d;border-color:#fff;background:linear-gradient(180deg,#fff 0,#60eaff 100%);box-shadow:0 0 14px rgba(49,231,255,.65),inset 0 1px #fff}.suit-panel{margin-top:6px}.suit-button{height:34px;border-color:#38566e;background:linear-gradient(180deg,#14263a,#091725);color:#dceef7}.suit-button:not(:disabled){border-color:#6e95ac;box-shadow:0 2px 5px rgba(0,0,0,.3)}.suit-button:not(:disabled):active{background:linear-gradient(180deg,#1b4053,#102638);box-shadow:0 0 12px rgba(49,231,255,.35)}.suit-button:disabled{opacity:.22}.suit-button span{font-size:18px}.suit-button.red span{color:#ff669f}.suit-button small{opacity:.72}.secondary-button{opacity:.8}.progress{background:#0c1a26;box-shadow:inset 0 1px 3px #000}

/* Saucer, directional weapons, destructible cards, and station assembly */
.ship-wrap{width:112px;height:68px;top:12px;filter:drop-shadow(0 0 13px rgba(64,167,255,.8));animation:saucer-float 3s ease-in-out infinite}.ship-glow{inset:27px 5px 1px;background:#3d8fff;filter:blur(20px);opacity:.42}.saucer-dome{position:absolute;z-index:3;left:35px;top:3px;width:42px;height:28px;border:1px solid #8bf2ff;border-radius:50% 50% 35% 35%;background:radial-gradient(circle at 45% 25%,#d9ffff 0,#47d9f2 18%,#175288 58%,#091b36 100%);box-shadow:inset 0 -7px 10px #07182e,0 0 12px rgba(49,231,255,.55);overflow:hidden}.saucer-dome i{position:absolute;left:9px;top:6px;width:10px;height:4px;border-radius:50%;background:rgba(255,255,255,.8);transform:rotate(-18deg)}.saucer-hull{position:absolute;z-index:2;left:10px;top:24px;width:92px;height:27px;clip-path:polygon(0 50%,14% 18%,39% 4%,61% 4%,86% 18%,100% 50%,84% 82%,61% 96%,39% 96%,16% 82%);background:linear-gradient(180deg,#d3e5ee 0,#6d8798 25%,#273c50 52%,#101e30 73%,#6e8a9d 100%);border-radius:50%;box-shadow:inset 0 4px 5px rgba(255,255,255,.6),inset 0 -5px 7px #07111f}.saucer-hull b{position:absolute;left:38px;top:8px;width:16px;height:12px;border-radius:50%;background:#142b44;box-shadow:0 0 6px 2px var(--pink)}.saucer-hull i{position:absolute;top:10px;width:8px;height:5px;border-radius:50%;background:var(--cyan);box-shadow:0 0 7px 2px var(--cyan)}.saucer-hull i:first-child{left:19px}.saucer-hull i:last-child{right:19px}.saucer-rim{position:absolute;z-index:4;left:5px;top:34px;width:102px;height:9px;border:1px solid #9eb8c7;border-radius:50%;background:linear-gradient(180deg,#a8c0cd,#263d50 55%,#0b1827);box-shadow:0 3px 8px #000,0 0 5px rgba(49,231,255,.45)}.ship-cannon{position:absolute;z-index:1;left:49px;top:43px;width:14px;height:14px;border-radius:2px 2px 50% 50%;background:linear-gradient(90deg,#172b3d,#91b0c0,#172b3d);box-shadow:0 5px 7px var(--pink)}.ship-cannon:after{content:"";position:absolute;left:4px;bottom:-4px;width:6px;height:5px;border-radius:50%;background:#fff;box-shadow:0 0 8px 3px var(--pink)}@keyframes saucer-float{50%{transform:translate(-50%,5px) rotate(1deg)}}
.laser{height:3px;width:0;transform-origin:left center;border-radius:3px;background:linear-gradient(90deg,#fff 0,#fff 58%,#ff8bb9 75%,#ff2b78 100%);box-shadow:0 0 4px 2px #fff,0 0 9px 4px #ff4f9a,0 0 18px 6px rgba(255,30,110,.45);transition:transform .32s cubic-bezier(.15,.75,.15,1);will-change:transform}.impact{background:radial-gradient(circle,#fff 0,#ffbd38 16%,#ff385f 37%,transparent 68%);border-color:#ff9c38;box-shadow:0 0 13px #ff4f3d}
.fortress-row{position:relative;padding:1px 5px;transition:.35s}.fortress-row.completed{border-top:3px solid #809aab;border-bottom:3px solid #263d4d;background:linear-gradient(90deg,rgba(88,125,148,.16),rgba(49,231,255,.04),rgba(88,125,148,.16));box-shadow:inset 0 1px #c6d8e1,inset 0 -1px #07131e,0 0 10px rgba(49,231,255,.18);animation:frame-build .45s ease-out}.fortress-row.completed:before,.fortress-row.completed:after{content:"";position:absolute;z-index:7;top:-5px;bottom:-5px;width:7px;border:1px solid #9eb7c5;background:linear-gradient(90deg,#263b4a,#a8bdc8,#324a5a);box-shadow:0 0 6px rgba(49,231,255,.3)}.fortress-row.completed:before{left:-3px;clip-path:polygon(0 10%,100% 0,100% 100%,0 90%)}.fortress-row.completed:after{right:-3px;clip-path:polygon(0 0,100% 10%,100% 90%,0 100%)}.fortress.station-complete{filter:drop-shadow(0 0 12px rgba(49,231,255,.55))}.fortress.station-complete:after{content:"STATION ONLINE";position:absolute;left:50%;bottom:-13px;transform:translateX(-50%);padding:2px 8px;border:1px solid var(--cyan);border-radius:8px;background:#071726;color:var(--cyan);font:900 6px ui-monospace;letter-spacing:.16em;white-space:nowrap;box-shadow:0 0 10px rgba(49,231,255,.5)}@keyframes frame-build{0%{opacity:.25;transform:scaleX(.7);filter:brightness(3)}100%{opacity:1;transform:scaleX(1);filter:brightness(1)}}
.fortress-card.damaged{filter:none}.fortress-card.damaged .card-face{overflow:visible;background:linear-gradient(145deg,#e8f8ff,#9bbbd3);transition:clip-path .25s}.fortress-card.damage-1 .card-face{clip-path:polygon(0 0,88% 0,100% 12%,100% 100%,0 100%)}.fortress-card.damage-2 .card-face{clip-path:polygon(0 0,76% 0,100% 25%,100% 100%,0 100%)}.fortress-card.damage-3 .card-face{clip-path:polygon(0 0,67% 0,100% 34%,100% 83%,84% 100%,0 100%,0 16%)}.fortress-card.damage-4 .card-face{clip-path:polygon(12% 0,57% 0,100% 43%,100% 70%,72% 100%,0 100%,0 28%)}.scorch{position:absolute;z-index:6;right:-2px;top:-2px;width:32%;height:34%;border-radius:50%;background:radial-gradient(circle at 100% 0,#080402 0,#251007 25%,rgba(144,48,15,.75) 45%,transparent 72%);filter:blur(.2px)}.crack{position:absolute;z-index:7;right:17%;top:15%;width:32%;height:38%;background:linear-gradient(115deg,transparent 46%,#2b1a12 48%,#2b1a12 51%,transparent 53%),linear-gradient(50deg,transparent 47%,#52301c 49%,#52301c 52%,transparent 54%);opacity:.85}.damage-3 .scorch,.damage-4 .scorch{width:48%;height:52%}.damage-3 .crack,.damage-4 .crack{right:25%;top:22%;transform:scale(1.35)}
.laser-layer{position:absolute;z-index:9;inset:0;pointer-events:none}.battle-message{z-index:11}.impact{z-index:10}.card-flames{position:absolute;z-index:12;right:-5px;top:-17px;width:30px;height:35px;pointer-events:none;filter:drop-shadow(0 0 5px #ff5b18)}.card-flames i{position:absolute;bottom:0;width:12px;height:28px;border-radius:55% 45% 48% 52% / 70% 70% 30% 30%;transform-origin:center bottom;background:linear-gradient(0deg,#ff2c0b 0,#ff7b14 44%,#ffe45b 77%,rgba(255,255,255,.9) 100%);clip-path:polygon(50% 0,73% 30%,100% 55%,82% 100%,16% 100%,0 58%,27% 32%);animation:card-fire .34s ease-in-out infinite alternate}.card-flames i:nth-child(1){left:0;height:23px;animation-delay:-.12s}.card-flames i:nth-child(2){left:9px;height:34px;animation-delay:-.25s}.card-flames i:nth-child(3){right:0;height:25px;animation-delay:-.05s}.card-flames b{position:absolute;left:4px;top:-6px;width:18px;height:20px;border-radius:50%;background:rgba(79,86,91,.44);filter:blur(5px);animation:card-smoke 1.1s ease-out infinite}.fortress-card.critical{overflow:visible;box-shadow:0 0 9px 2px rgba(255,72,16,.8),inset 0 0 16px rgba(255,55,8,.4);animation:critical-flicker .42s steps(2) infinite}.fortress-card.critical .health i{background:linear-gradient(90deg,#ff1d0a,#ff8c17);box-shadow:0 0 6px #ff3d0a}@keyframes card-fire{0%{transform:rotate(-7deg) scale(.88,1);filter:brightness(.9)}100%{transform:rotate(7deg) scale(1.12,.86);filter:brightness(1.35)}}@keyframes card-smoke{0%{transform:translateY(10px) scale(.5);opacity:.55}100%{transform:translate(5px,-18px) scale(1.5);opacity:0}}@keyframes critical-flicker{50%{filter:brightness(1.12)}}
.card-explosion{position:absolute;z-index:14;width:0;height:0;pointer-events:none}.card-explosion b{position:absolute;left:-9px;top:-9px;width:18px;height:18px;border-radius:50%;background:#fff;box-shadow:0 0 8px 5px #fff08a,0 0 18px 13px #ff7b16,0 0 32px 22px rgba(255,43,10,.72);animation:blast-core .55s ease-out forwards}.card-explosion em{position:absolute;left:-12px;top:-12px;width:24px;height:24px;border:4px solid #ffc12c;border-radius:50%;box-shadow:0 0 8px #ff3511;animation:blast-ring .65s ease-out forwards}.card-explosion i{position:absolute;left:-3px;top:-3px;width:7px;height:5px;background:linear-gradient(135deg,#fff4a8,#ff7518 48%,#551108);box-shadow:0 0 5px #ff5b14;clip-path:polygon(0 0,100% 23%,70% 100%,14% 72%);animation:blast-fragment .72s cubic-bezier(.12,.65,.25,1) var(--delay) forwards}@keyframes blast-core{0%{transform:scale(.2);opacity:0}12%{transform:scale(1.8);opacity:1}100%{transform:scale(4.8);opacity:0}}@keyframes blast-ring{0%{transform:scale(.2);opacity:1}100%{transform:scale(4);opacity:0}}@keyframes blast-fragment{0%{transform:translate(0,0) rotate(0);opacity:1}100%{transform:translate(var(--dx),var(--dy)) rotate(var(--rot));opacity:0}}
.fortress{width:calc(var(--card-w)*5 + 22px)}.ship-wrap{animation:saucer-patrol 5.6s ease-in-out infinite alternate}.battlefield.danger:before{background:radial-gradient(ellipse at 50% 7%,rgba(255,58,27,.2),transparent 42%),radial-gradient(ellipse at 50% 100%,rgba(255,44,15,.18),transparent 48%);animation:danger-pulse .65s ease-in-out infinite alternate}.battlefield.danger{box-shadow:inset 0 0 28px rgba(255,43,13,.22)}.battlefield.battle-shake{animation:battle-hit .24s ease-out}@keyframes saucer-patrol{0%{left:18%;transform:translateX(-50%) translateY(0) rotate(-2deg)}48%{transform:translateX(-50%) translateY(4px) rotate(1deg)}100%{left:82%;transform:translateX(-50%) translateY(1px) rotate(2deg)}}@keyframes danger-pulse{to{opacity:.62}}@keyframes battle-hit{25%{transform:translate(2px,-1px)}50%{transform:translate(-2px,1px)}75%{transform:translate(1px,0)}}
.bomb.drone{width:86px;height:62px;border:0;border-radius:0;background:none;box-shadow:none;display:block;transform-origin:center 55%;transition:none;will-change:left,top,transform;filter:drop-shadow(0 0 8px rgba(255,47,112,.75))}.drone-wing{position:absolute;z-index:1;top:15px;width:39px;height:30px;background:linear-gradient(145deg,#8fa6b3 0,#2b4050 38%,#101a27 68%,#758895 100%);clip-path:polygon(0 18%,72% 0,100% 48%,70% 100%,14% 79%);border:1px solid #667f90}.drone-wing.left{left:0}.drone-wing.right{right:0;transform:scaleX(-1)}.drone-core{position:absolute;z-index:4;left:25px;top:4px;width:36px;height:43px;display:flex;flex-direction:column;align-items:center;justify-content:center;border:2px solid #ff4f9a;clip-path:polygon(22% 0,78% 0,100% 24%,91% 85%,50% 100%,9% 85%,0 24%);background:radial-gradient(circle at 50% 25%,#39224d,#121628 55%,#090b14);box-shadow:inset 0 0 11px rgba(255,79,154,.4),0 0 9px rgba(255,79,154,.65)}.drone-core b{color:#fff;font:900 17px ui-monospace;line-height:.9;text-shadow:0 0 7px #fff}.drone-core strong{margin-top:3px;color:#ff8cbd;font:900 6px ui-monospace;letter-spacing:.04em}.drone-eye{position:absolute;z-index:5;top:24px;width:7px;height:4px;border-radius:50%;background:#ff294f;box-shadow:0 0 6px 2px #ff294f}.drone-eye.left{left:14px}.drone-eye.right{right:14px}.drone-thruster{position:absolute;z-index:0;left:36px;top:42px;width:14px;height:19px;clip-path:polygon(25% 0,75% 0,100% 100%,50% 72%,0 100%);background:linear-gradient(180deg,#fff 0,#65eaff 24%,#4b78ff 56%,transparent 100%);filter:drop-shadow(0 0 5px #3f9fff);animation:drone-thrust .18s ease-in-out infinite alternate}.bomb.drone>small{position:absolute;z-index:5;left:50%;top:51px;transform:translateX(-50%);width:max-content;color:#ff9bc5;font:900 6px ui-monospace;letter-spacing:.08em;text-shadow:0 0 4px #000}.bomb.drone.intercepted{animation:drone-destroy .22s forwards;box-shadow:none;border:0}.bomb.drone.intercepted .drone-core{border-color:var(--cyan);box-shadow:0 0 24px var(--cyan)}@keyframes drone-thrust{to{height:24px;filter:drop-shadow(0 0 8px #58cfff) brightness(1.35)}}@keyframes drone-destroy{to{transform:scale(1.7) rotate(32deg)!important;filter:brightness(3);opacity:0}}
.bomb.drone{width:96px}.drone-wing{width:43px}.drone-core{left:24px;width:48px;height:46px}.drone-core b{display:flex;align-items:center;justify-content:center;gap:1px;color:#fff;font:900 22px ui-monospace;line-height:1;text-shadow:0 0 8px #fff;letter-spacing:-.08em}.drone-core b span{font-size:25px;line-height:1}.drone-core b.red{color:#ff75a8;text-shadow:0 0 8px #ff317d}.drone-eye.left{left:15px}.drone-eye.right{right:15px}.drone-thruster{left:41px;top:44px}.bomb.drone>small{top:54px}
.bomb.drone{width:112px;height:62px;filter:drop-shadow(0 4px 4px rgba(0,0,0,.8)) drop-shadow(0 0 7px rgba(255,47,112,.55))}.bomb.drone:before{content:"";position:absolute;z-index:2;left:37px;top:7px;width:38px;height:42px;clip-path:polygon(50% 0,84% 28%,100% 82%,50% 100%,0 82%,16% 28%);background:linear-gradient(135deg,#637986 0,#182532 38%,#080f19 65%,#405461 100%);box-shadow:inset 0 1px #a0b1bb}.drone-wing{top:9px;width:57px;height:39px;border:0;background:linear-gradient(155deg,#526875 0,#1b2a36 30%,#080e17 64%,#344956 100%);clip-path:polygon(100% 5%,73% 21%,11% 51%,0 70%,57% 94%,100% 69%);box-shadow:inset 0 1px rgba(184,210,222,.35)}.drone-wing.left{left:0}.drone-wing.right{right:0;transform:scaleX(-1)}.drone-core{left:32px;top:3px;width:48px;height:46px}.drone-eye{top:30px}.drone-eye.left{left:23px;transform:rotate(-11deg)}.drone-eye.right{right:23px;transform:rotate(11deg)}.drone-thruster{left:49px;top:45px}.bomb.drone>small{top:55px}
.bomb.drone{filter:drop-shadow(0 4px 4px rgba(0,0,0,.65)) drop-shadow(0 0 9px rgba(180,225,255,.6))}.bomb.drone:before{background:linear-gradient(135deg,#f2f7fa 0,#aebdc6 28%,#647986 58%,#d8e2e7 100%);box-shadow:inset 0 1px #fff}.drone-wing{background:linear-gradient(155deg,#f5f9fb 0,#b7c6ce 31%,#657b88 64%,#d7e1e6 100%);box-shadow:inset 0 1px #fff,0 0 5px rgba(181,225,248,.28)}
.drone-laser{position:absolute;z-index:13;height:3px;transform-origin:left center;border-radius:3px;background:linear-gradient(90deg,#fff 0,#ffef70 15%,#ff781d 52%,#ff2020 100%);box-shadow:0 0 4px 2px #fff,0 0 9px 4px #ff5a18,0 0 15px 6px rgba(255,31,16,.45);transition:transform .28s ease-out}.point-penalty{position:absolute;z-index:22;display:flex;flex-direction:column;align-items:center;transform:translateX(-50%);color:#ff3e27;font:900 clamp(34px,11vw,48px) ui-monospace;line-height:.9;text-shadow:0 2px #6b0800,0 0 5px #fff,0 0 18px #ff371d,0 0 35px rgba(255,33,10,.8);animation:penalty-pop 1.35s ease-out forwards;white-space:nowrap}.point-penalty b{margin-bottom:7px;padding:4px 9px;border:1px solid #ff6a3d;border-radius:5px;background:rgba(30,4,2,.78);color:#ffb29a;font:900 9px ui-monospace;letter-spacing:.2em;text-shadow:0 0 7px #ff3318}@keyframes penalty-pop{0%{transform:translate(-50%,18px) scale(.35);opacity:0}15%{transform:translate(-50%,0) scale(1.18);opacity:1}34%{transform:translate(-50%,0) scale(1);opacity:1}78%{transform:translate(-50%,-12px) scale(1);opacity:1}100%{transform:translate(-50%,-34px) scale(.9);opacity:0}}
.bomb.drone.targeted .drone-core{border-color:#52ff86;box-shadow:0 0 18px #21ff64,inset 0 0 12px rgba(41,255,105,.45);animation:target-lock .18s steps(2) infinite}.ground-laser{position:absolute;z-index:16;height:5px;transform-origin:left center;border-radius:5px;background:linear-gradient(90deg,#b9ffc9 0,#47ff79 28%,#0dff53 72%,#fff 100%);box-shadow:0 0 4px 2px #fff,0 0 10px 5px #22ff63,0 0 23px 8px rgba(16,255,82,.5);transition:transform .34s cubic-bezier(.1,.8,.18,1)}.ground-laser:after{content:"";position:absolute;right:-9px;top:-6px;border-left:12px solid #d9ffe3;border-top:8px solid transparent;border-bottom:8px solid transparent;filter:drop-shadow(0 0 5px #16ff5e)}.ground-muzzle{position:absolute;z-index:15;width:18px;height:18px;transform:translate(-50%,-50%);border-radius:50%;background:#fff;box-shadow:0 0 8px 4px #fff,0 0 18px 10px #28ff68;animation:ground-charge .42s ease-out forwards}.drone-explosion{position:absolute;z-index:18;width:0;height:0}.drone-explosion b{position:absolute;left:-10px;top:-10px;width:20px;height:20px;border-radius:50%;background:#fff;box-shadow:0 0 8px 5px #baffca,0 0 18px 13px #ffba24,0 0 34px 24px rgba(255,52,12,.8);animation:blast-core .65s ease-out forwards}.drone-explosion em{position:absolute;left:-14px;top:-14px;width:28px;height:28px;border:4px solid #51ff7f;border-radius:50%;box-shadow:0 0 10px #20ff5e;animation:blast-ring .72s ease-out forwards}.drone-explosion i{position:absolute;left:-5px;top:-3px;width:11px;height:5px;background:linear-gradient(135deg,#fff,#bfcbd1 38%,#ff6a18);box-shadow:0 0 5px #ff9a24;clip-path:polygon(0 0,100% 20%,72% 100%,12% 75%);animation:blast-fragment .86s cubic-bezier(.12,.65,.25,1) var(--delay) forwards}@keyframes target-lock{50%{filter:brightness(1.7)}}@keyframes ground-charge{0%{transform:translate(-50%,-50%) scale(.2);opacity:0}35%{opacity:1}100%{transform:translate(-50%,-50%) scale(1.8);opacity:0}}
.app-shell.damage-alarm{animation:screen-rattle .58s cubic-bezier(.2,.75,.25,1)}.app-shell.damage-alarm:after{content:"";position:absolute;z-index:45;inset:0;pointer-events:none;background:radial-gradient(circle at 50% 50%,rgba(255,50,22,.08) 0,rgba(255,21,8,.34) 62%,rgba(130,0,0,.72) 100%);box-shadow:inset 0 0 55px rgba(255,15,0,.85);animation:red-damage-flash .62s ease-out forwards}.app-shell.damage-alarm .topbar,.app-shell.damage-alarm .status-strip{filter:brightness(1.35) saturate(1.7)}@keyframes screen-rattle{0%,100%{transform:translate(0,0)}10%{transform:translate(-5px,2px) rotate(-.35deg)}21%{transform:translate(6px,-3px) rotate(.4deg)}34%{transform:translate(-4px,4px) rotate(-.3deg)}48%{transform:translate(5px,1px) rotate(.25deg)}63%{transform:translate(-3px,-3px)}78%{transform:translate(3px,2px)}90%{transform:translate(-1px,-1px)}}@keyframes red-damage-flash{0%{opacity:0}9%{opacity:1}30%{opacity:.8}100%{opacity:0}}
.defense-turrets{position:absolute;z-index:8;left:0;right:0;bottom:7px;height:47px;pointer-events:none}.defense-turret{position:absolute;bottom:0;width:49px;height:45px}.defense-turret.left{left:8px}.defense-turret.right{right:8px}.defense-turret>span{position:absolute;left:5px;bottom:0;width:39px;height:16px;clip-path:polygon(15% 0,85% 0,100% 100%,0 100%);background:linear-gradient(180deg,#aebfc8,#405663 55%,#172633);border-bottom:2px solid #0a121a;box-shadow:0 0 7px rgba(49,231,255,.3)}.turret-head{position:absolute;z-index:2;left:12px;bottom:9px;width:25px;height:25px;border:2px solid #a9bdc7;border-radius:50%;background:radial-gradient(circle at 40% 35%,#dce8ed,#637b89 38%,#182936 72%);box-shadow:inset 0 -4px 6px #0a1720,0 0 7px rgba(49,231,255,.42);transform-origin:center;transition:transform .08s linear}.turret-head b{position:absolute;left:7px;top:7px;width:7px;height:7px;border-radius:50%;background:#4dff7c;box-shadow:0 0 6px 2px #20ff5e}.turret-barrel{position:absolute;z-index:-1;left:8px;bottom:14px;width:5px;height:29px;border-radius:3px;background:linear-gradient(90deg,#263b48,#d5e1e6 48%,#405866);box-shadow:0 0 3px #61ff8b;transform-origin:center bottom}.turret-barrel:after{content:"";position:absolute;left:-2px;top:-3px;width:9px;height:7px;border-radius:2px;background:#b9cbd3;box-shadow:0 0 4px #45ff79}.defense-turret.firing{animation:turret-recoil .34s ease-out}.defense-turret.firing .turret-head b{background:#fff;box-shadow:0 0 9px 4px #35ff6e}@keyframes turret-recoil{35%{transform:translateY(4px) scale(.94)}100%{transform:translateY(0) scale(1)}}
/* Keep touch targets stationary while damage feedback shakes the battlefield. */
.app-shell.damage-alarm{animation:none!important}
/* The glass health readout replaces the old fortress completion badge. */
.fortress.station-complete:after{display:none!important}
/* Raiders enter beneath the scoreboard instead of appearing through it. */
#bombLayer{overflow:hidden!important}
