@font-face{font-family:Rally;src:local('Arial Black');font-weight:900;font-display:swap}
@media (orientation:landscape) and (max-height:450px){#app .intro{padding:84px 24px 10px}#app .intro-top{display:none}#app .intro-bottom{width:100%;max-width:380px;margin:auto}#app .howto{padding:6px 12px;margin-bottom:8px}#app .mission-select{margin:8px 0 4px}}
:root{font-family:Arial,Helvetica,sans-serif;color:#fff;background:#062f43;font-synthesis:none;-webkit-tap-highlight-color:transparent}*{box-sizing:border-box}body{margin:0;overflow:hidden;overscroll-behavior:none}button,a{touch-action:manipulation}button{font:inherit;cursor:pointer}button:focus-visible,a:focus-visible{outline:3px solid #ffe27a;outline-offset:4px}[hidden]{display:none!important}#app{position:relative;width:100%;max-width:520px;height:100svh;height:100dvh;margin:auto;overflow:hidden;background:#81d9dd;isolation:isolate;user-select:none;-webkit-user-select:none}#scene{position:absolute;inset:0;touch-action:none}canvas{display:block;width:100%;height:100%}.vignette{position:absolute;inset:0;background:linear-gradient(#05445b66,transparent 26%,transparent 72%,#053d5566);pointer-events:none}.hud{position:absolute;top:calc(19px + env(safe-area-inset-top));left:24px;right:20px;display:flex;justify-content:space-between;align-items:center;z-index:3}.mission{display:grid;gap:4px}.eyebrow{font-size:10px;letter-spacing:1.7px;font-weight:800}.mission strong{font-size:17px;letter-spacing:-.4px}.controls{display:flex;gap:8px}.icon-button{width:42px;height:42px;border:1px solid #ffffff55;border-radius:14px;background:#07546e99;color:white;font-size:23px;backdrop-filter:blur(8px)}.screen{position:absolute;inset:0;z-index:4}.intro{pointer-events:none;display:flex;flex-direction:column;justify-content:space-between;padding:calc(108px + env(safe-area-inset-top)) 28px calc(22px + env(safe-area-inset-bottom))}.intro-top{max-width:330px}.tag{font-size:9px;font-weight:800;letter-spacing:2px}.intro .tag{display:inline-block;padding:8px 10px;background:#08546cba;border-radius:5px}h1{font-family:Rally,'Arial Black',Arial,sans-serif;font-weight:1000;font-size:clamp(64px,20vw,96px);line-height:.82;letter-spacing:-6px;margin:20px 0 16px;position:relative;transform:rotate(-5deg);text-shadow:0 5px 0 #08648a}h1 em{font-style:normal;color:#ffdf68}h1 .title-mark{display:inline-block;color:#ffdf68;font-size:.7em;vertical-align:middle;margin-left:12px}.intro-top p{font-size:16px;line-height:1.4;font-weight:600;text-shadow:0 2px 12px #07415c;margin-top:20px}.intro-bottom{pointer-events:auto;text-align:center}.howto{display:flex;align-items:center;text-align:left;gap:13px;background:#063e55e8;border:1px solid #7bdfd74a;border-radius:17px;padding:14px 16px;margin-bottom:12px}.swipe{font-size:32px;color:#ffdf68}.howto strong{display:block;font-size:15px}.howto div>span{display:block;font-size:10px;opacity:.78;margin-top:5px}.primary{width:100%;border:0;border-bottom:5px solid #d29123;border-radius:17px;background:#ffdc65;color:#163e4e;padding:17px 22px;font-size:19px;font-weight:900;text-align:left;min-height:60px;box-shadow:0 7px 22px #002c492b}.primary span{float:right;font-size:24px;line-height:22px}.primary:active{transform:translateY(2px);border-bottom-width:3px}.mission-select{display:flex;justify-content:center;gap:9px;margin:17px 0 10px}.mission-select button{border:1px solid #ffffff5e;color:white;background:#07475cbd;border-radius:50%;width:31px;height:31px;font-size:11px;font-weight:800}.mission-select button[aria-pressed=true]{background:#fff;color:#0c5064}.intro small{font-size:10px;color:#dbf5f2;letter-spacing:.3px}.progress{position:absolute;top:calc(80px + env(safe-area-inset-top));left:24px;right:24px;height:5px;border-radius:8px;background:#07516c66;pointer-events:none}.progress>div{height:100%;background:#ffdd66;border-radius:8px;width:0}.progress>span{position:absolute;right:-2px;top:-9px;font-size:20px}.stats{position:absolute;top:calc(107px + env(safe-area-inset-top));left:24px;right:24px;display:flex;justify-content:space-between;pointer-events:none}.stats>div{display:grid;gap:2px}.stats strong{font-size:37px;letter-spacing:-1.5px;text-shadow:0 2px 0 #125c77}.stats .weapon{text-align:right}.weapon strong{font-size:26px;color:#ffe27a}#boss-bar{position:absolute;top:calc(177px + env(safe-area-inset-top));left:20%;right:20%;text-align:center;font-size:10px;font-weight:800;letter-spacing:1px}#boss-bar>div{height:8px;background:#233742;border:1px solid #fff8;border-radius:8px;margin-top:6px;overflow:hidden}#boss-fill{display:block;height:100%;background:#ff8357;width:100%;transition:width .1s}#feedback{position:absolute;top:43%;left:0;right:0;text-align:center;font-weight:900;font-size:26px;text-shadow:0 3px 0 #07536c;pointer-events:none;color:#fff5aa;transition:opacity .25s}#drag-hint{position:absolute;bottom:calc(36px + env(safe-area-inset-bottom));left:0;right:0;text-align:center;font-size:11px;font-weight:800;letter-spacing:1px;pointer-events:none;text-shadow:0 2px 5px #052f41}.modal{display:flex;align-items:center;justify-content:center;background:#052e4373;backdrop-filter:blur(7px);padding:calc(25px + env(safe-area-inset-top)) 24px calc(25px + env(safe-area-inset-bottom))}.card{width:100%;padding:28px 23px;background:#f4f8eb;border-radius:26px;color:#134657;text-align:center;box-shadow:0 16px 60px #002b4955;max-height:100%;overflow:auto}.card .tag{color:#437b7b}.card h2{font-size:36px;line-height:1.05;letter-spacing:-1.6px;margin:16px 0 12px}.card p{font-size:14px;line-height:1.5;color:#52747b;margin:0 0 24px}.secondary{border:1px solid #b2c8c2;border-radius:14px;background:transparent;color:#134657;width:100%;font-weight:800;font-size:15px;padding:15px;margin-top:10px}.text-button{background:none;border:0;color:#51777d;margin-top:18px;font-size:12px;padding:10px}.result-icon{font-size:38px;margin:0 auto 15px;border-radius:50%;background:#d2ede3;width:70px;height:70px;line-height:70px}.result-stats{display:flex;justify-content:space-between;padding:16px 0 23px;border-top:1px solid #cfe0d8}.result-stats strong{display:block;font-size:25px;letter-spacing:-1px}.result-stats span{font-size:9px;color:#52747b}.cta{display:block;color:#086987;font-size:15px;font-weight:800;padding:14px;margin-top:10px}.desktop-note{display:none}@media(min-width:650px){#app{box-shadow:0 0 120px #001b31;border-left:1px solid #498695;border-right:1px solid #498695}.desktop-note{display:block;position:fixed;left:25px;bottom:26px;font-size:12px;letter-spacing:2px;color:#a4ccd2}.desktop-note span{display:block;font-size:10px;letter-spacing:0;margin-top:8px;opacity:.7}}@media(max-height:700px){.intro{padding-top:92px;padding-bottom:calc(12px + env(safe-area-inset-bottom))}h1{font-size:65px;margin:12px 0}.intro-top p{font-size:13px;margin:12px 0}.howto{padding:10px 14px}.primary{padding:13px 19px;min-height:53px}.mission-select{margin:10px 0 7px}.card{padding:19px}.card h2{font-size:30px}.result-icon{height:50px;width:50px;line-height:50px;font-size:28px;margin-bottom:10px}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}

/* Coastal Operations visual pass: authored metal, sea glass and field-card UI. */
:root{background:#122c38;color:#f3f3df}#app{background:#244c58}.vignette{background:linear-gradient(180deg,#0c2935bc 0%,#13354255 19%,transparent 37%,transparent 65%,#0d293575 100%)}
.hud{top:calc(20px + env(safe-area-inset-top));left:22px;right:20px}.mission strong{font-size:15px;font-weight:700}.eyebrow{font-size:9px;letter-spacing:1.8px;color:#c6d9cf}.icon-button{border-radius:50%;background:#143b49aa;border:1px solid #d4e6da35;width:39px;height:39px;font-size:21px}
.intro{padding:calc(112px + env(safe-area-inset-top)) 26px calc(18px + env(safe-area-inset-bottom))}.intro .tag{background:none;padding:0;font-size:9px;letter-spacing:2px;color:#d4e6d6}.tag b{color:#f1c574;margin-right:7px;font-size:17px}h1{font-size:86px;letter-spacing:-5px;line-height:.83;transform:none;text-shadow:0 3px 0 #173d4b,0 12px 24px #0d2b3944;margin:15px 0}h1 em{color:#f1c574}.intro-top p{font-size:14px;line-height:1.4;font-weight:500;color:#e4ede4;margin:15px 0;text-shadow:0 2px 8px #0d2c39}.intro-bottom{position:relative}.briefing{display:flex;align-items:center;justify-content:space-between;text-align:left;padding:15px 17px 13px;border:1px solid #d1e5d52a;background:#123541ed;border-radius:18px 18px 0 0;border-bottom:0}.briefing strong{display:block;font-size:20px;letter-spacing:-.4px;color:#f1efdf;margin-top:6px}.briefing p{font-size:11px;color:#abc5c4;margin:6px 0 0;line-height:1.4}.briefing-icon{font-size:33px;color:#f1c574;padding-left:10px}.primary{border-radius:13px;background:linear-gradient(180deg,#f7d792,#e9b968);color:#193b47;border-bottom:3px solid #af7d36;font-size:17px;letter-spacing:.2px;padding:17px 20px;box-shadow:0 9px 25px #082a3f38}.intro .primary{border-radius:0 0 15px 15px}.mission-select{margin:14px 0 10px;gap:8px}.mission-select button{height:32px;width:48px;border-radius:8px;background:#193f4cbd;color:#d4e3da;border-color:#e1eee628}.mission-select button[aria-pressed=true]{color:#1c414c;background:#d9e9d9;box-shadow:0 3px 10px #0d2d3a40}.howto{background:none;border:0;padding:3px 0 0;justify-content:center;margin:0;gap:9px}.swipe{font-size:26px;color:#d7e7d8}.howto strong{font-size:11px;font-weight:700}.howto div>span{font-size:9px;margin-top:3px;color:#c1dad6}.progress{top:calc(77px + env(safe-area-inset-top));height:4px;left:23px;right:25px;background:#173c4c88}.progress>div{background:#f1c574}.progress>span{color:#f3d694}.stats{top:calc(101px + env(safe-area-inset-top));left:22px;right:22px}.stats>div{padding:10px 14px;background:#143a49d9;border:1px solid #bfdacf29;border-radius:14px;min-width:82px}.stats strong{font-size:33px;letter-spacing:-1px;text-shadow:none;color:#eef2df}.stats .weapon strong{font-size:25px;color:#f1cc83}.weapon .eyebrow{font-size:8px;letter-spacing:1px}#streak{position:absolute;left:24px;bottom:calc(24px + env(safe-area-inset-bottom));width:133px;pointer-events:none}#streak>span{font-size:8px;font-weight:800;letter-spacing:1.1px;color:#e3eede}#streak>div{height:4px;background:#153745aa;margin-top:7px;border-radius:3px;overflow:hidden}#streak-fill{display:block;height:100%;width:0;background:#a4e8c8;transition:width .2s}#feedback{top:34%;font-size:17px;letter-spacing:.2px;color:#fff0c5;text-shadow:0 2px 9px #102e3e}#drag-hint{bottom:calc(83px + env(safe-area-inset-bottom));font-size:10px;color:#eaf3e7}#boss-bar{top:calc(190px + env(safe-area-inset-top));font-size:9px;letter-spacing:2px}#boss-fill{background:#ed9975}.modal{background:#0b253d88;backdrop-filter:blur(6px)}.card{background:#ecf0df;border-radius:24px;border:1px solid #fff9;padding:27px 22px}.card h2{font-size:34px;color:#1c4450}.card p{font-size:12px}.result-icon{background:#d0e4d3;color:#315e5d;border:1px solid #b5d0bd;width:60px;height:60px;line-height:60px;font-size:31px}#result-stars{font-size:29px;letter-spacing:8px;color:#be8f3f;margin:0 0 17px}.result-stats{border-color:#c6d6c5}.secondary{border-color:#b3c7bb}.text-button{margin-top:10px}.damage-flash:after{content:'';position:absolute;inset:0;pointer-events:none;z-index:6;box-shadow:inset 0 0 60px #e76d4b;animation:damage .4s ease-out both}@keyframes damage{from{opacity:.9}to{opacity:0}}
@media(max-height:720px){.intro{padding-top:96px;padding-bottom:12px}h1{font-size:65px;line-height:.82;margin:11px 0}.intro-top p{font-size:12px;margin:10px 0}.briefing{padding:11px 14px}.briefing strong{font-size:17px}.briefing p{font-size:10px}.intro .primary{min-height:51px;padding:13px 18px}.intro .mission-select{margin:9px 0 7px}.howto{padding:0}.card h2{font-size:29px}.card{padding:19px}#result-stars{font-size:24px;margin-bottom:10px}.result-icon{margin-bottom:10px}}
@media(max-width:340px){h1{font-size:58px}.intro .tag{font-size:8px}.intro-top p{display:none}.intro{padding-left:21px;padding-right:21px}.howto div>span{font-size:8px}.stats>div{padding:8px 10px}}
@media(orientation:landscape) and (max-height:450px){#app .intro{padding-top:77px}#app .briefing{padding:7px 13px}#app .briefing p{display:none}#app .mission-select{margin:5px 0}#app .howto{padding:0}#app .intro-bottom{max-width:330px}.stats{top:90px}}
/* Expedition: numbered power, collectible cards, restrained spectacle. */
#shop{z-index:10}.market{width:calc(100% - 28px);max-width:430px;max-height:calc(100dvh - 28px);overflow:auto;padding:22px}.market h2{font-size:30px;margin:9px 0}.market #shop-coins{font-weight:800;color:#52736c;margin:8px 0 14px}.relic-card{display:flex;align-items:center;gap:14px;text-align:left;width:100%;padding:12px;margin:8px 0;border:1px solid #b6c9b6;border-radius:13px;background:#f7f3dc;color:#244650;box-shadow:0 3px 0 #b7c8b4}.relic-card:disabled{opacity:.45;box-shadow:none}.relic-art{font-size:37px;line-height:60px;min-width:54px;text-align:center;background:#253d5a;color:#fbd287;border-radius:9px;box-shadow:inset 0 0 0 3px #55758a}.relic-card strong{display:block;font-size:16px}.relic-card small{display:block;font-size:11px;line-height:1.4;margin:5px 0}.relic-card b{font-size:11px;color:#96702f}.shop-note{line-height:1.45;font-size:10px!important}#surge{position:absolute;top:40%;width:100%;text-align:center;pointer-events:none;opacity:0;z-index:3;color:#fff0ab;text-shadow:0 3px 0 #6b4a34,0 6px 20px #193447}#surge strong{display:block;font-family:Rally,'Arial Black',sans-serif;font-size:clamp(36px,11vw,62px);letter-spacing:-2px}#surge span{display:block;font-size:12px;font-weight:900;letter-spacing:2px;margin-top:5px}.pop{animation:power-pop 1.3s cubic-bezier(.2,.8,.2,1) both}@keyframes power-pop{0%{opacity:0;transform:scale(.5) rotate(-8deg)}15%{opacity:1;transform:scale(1.17) rotate(2deg)}35%{transform:scale(1) rotate(-2deg);opacity:1}75%{opacity:1}100%{opacity:0;transform:translateY(-30px)}}#build-hud{display:none;position:absolute;bottom:calc(48px + env(safe-area-inset-bottom));left:24px;right:24px;pointer-events:none}.playing #build-hud{display:block}#relic-tray{color:#ffe6a1;font-size:25px;letter-spacing:5px;text-shadow:0 2px 6px #193745}#payouts{font-size:10px;font-weight:800;color:#fff3c0;margin-top:6px}#streak{width:calc(100% - 48px)}#streak>div{max-width:150px}#feedback{font-size:12px;padding:0 22px;top:32%;line-height:1.5}#stats strong{font-variant-numeric:tabular-nums}.mission-select{font-size:9px;letter-spacing:1px;color:#e0e6cf}#app[data-tier='3'] .vignette{box-shadow:inset 0 0 65px #b82b4338}#app[data-tier='4'] .vignette{box-shadow:inset 0 0 80px #773edd55}#app[data-tier='5'] .vignette{box-shadow:inset 0 0 95px #b64acc55}#app[data-tier='5'] #count{color:#ffe4a7}#drag-hint{bottom:120px}#boss-fill{transition:width .08s}#boss-bar{left:15%;right:15%}@media(max-height:650px){.market{padding:14px}.market h2{font-size:25px}.relic-card{padding:8px;margin:6px 0}.relic-card small{font-size:10px}.relic-art{font-size:28px;line-height:48px;min-width:42px}.shop-note{margin:6px 0}.market .secondary{padding:10px}#surge strong{font-size:36px}}@media(prefers-reduced-motion:reduce){.pop{animation:none;opacity:1}#surge{top:38%}#boss-fill{transition:none}}

#inventory{z-index:11}#inventory-list p{text-align:left;line-height:1.6;padding:12px 0;border-bottom:1px solid #b9c9b8}#relic-tray{pointer-events:auto;background:#143a4966;border:1px solid #b9e2d244;border-radius:8px;padding:4px 8px;min-height:44px;min-width:170px;text-align:left}#same-seed{display:block;width:100%}.market .primary{font-size:16px}

#evolution{position:absolute;top:37%;left:15px;right:15px;z-index:3;pointer-events:none;text-align:center;font-weight:900;font-size:22px;line-height:1.2;color:#fff2c8;text-shadow:0 2px 0 #6e4a29,0 3px 16px #121f32;opacity:0}.reveal{animation:form-reveal 2s ease-out both}#next-form{display:block;font-size:8px;letter-spacing:.5px;color:#dfd9ac;margin-bottom:5px}#streak{bottom:calc(16px + env(safe-area-inset-bottom))}#build-hud{bottom:calc(68px + env(safe-area-inset-bottom))}#app[data-tier="6"] .vignette,#app[data-tier="7"] .vignette{box-shadow:inset 0 0 65px #739eaa33}@keyframes form-reveal{0%{opacity:0;transform:translateY(10px) scale(.8)}15%,80%{opacity:1;transform:none}100%{opacity:0;transform:translateY(-10px)}}@media(prefers-reduced-motion:reduce){.reveal{animation:form-reveal 2s linear both}#evolution.reveal{transform:none}}

@keyframes form-fade{0%,100%{opacity:0}15%,80%{opacity:1}}@media(prefers-reduced-motion:reduce){#evolution.reveal{animation:form-fade 2s linear both}}

/* Siege tells are anchored near the steering area; battlefield lanes match collision widths. */
#boss-bar{pointer-events:none;letter-spacing:1px}#turret-health{display:flex;gap:12px;margin-top:7px;text-align:left;font-size:7px;letter-spacing:.7px}#turret-health label{flex:1;color:#ffe6b2}#turret-health i{display:block;height:4px;background:#193c49;margin-top:4px;overflow:hidden}#turret-health b{display:block;height:100%;background:#f1c574;transition:width .12s}#turret-health [data-broken="true"]{color:#9cb5ae;text-decoration:line-through}
#siege-cue{position:absolute;bottom:calc(137px + env(safe-area-inset-bottom));left:18%;right:18%;text-align:center;pointer-events:none;padding:9px 10px;background:#173b49e6;border:1px solid #ffcf8555;border-radius:9px;color:#fff0cc}#siege-cue strong{display:block;font-size:12px;letter-spacing:.7px}#siege-cue span{display:block;font-size:9px;margin-top:4px;line-height:1.35;color:#e5e9d7}#siege-cue>i{display:block;height:3px;background:#102b37;margin-top:6px}#siege-timer{display:block;height:100%;background:#ffd181}#siege-cue[data-phase="locked"],#siege-cue[data-phase="flight"]{background:#562f2ae8;border-color:#ff9464}#siege-cue[data-phase="exposed"]{background:#164d44e8;border-color:#a8ffe0}#siege-cue[data-phase="exposed"] #siege-timer{background:#a8ffe0}#siege-cue[data-phase="collapse"]{border-color:#ffdc83;background:#483821e8}
@media(max-height:650px){#siege-cue{bottom:calc(125px + env(safe-area-inset-bottom));left:15%;right:15%;padding:6px}#siege-cue strong{font-size:10px}#siege-cue span{font-size:8px}#turret-health{margin-top:4px}}@media(prefers-reduced-motion:reduce){#turret-health b{transition:none}}

/* Field armory: three distinct tactics, readable effects, and a persistent loadout. */
#shop .market{text-align:left;max-width:450px;padding:18px}#shop-title{font-size:27px;margin:8px 0 5px}#shop-coins{font-size:12px}#shop-build{padding:8px 10px;background:#254854;color:#fff0c5;border-radius:7px;font-size:12px;font-weight:800;letter-spacing:.4px;margin-bottom:10px}.relic-card{border-left:4px solid #8dcbd3;box-shadow:0 2px 0 #b7c8b4}.relic-card em{display:block;font-size:8px;font-style:normal;letter-spacing:1px;font-weight:900;margin-bottom:4px;color:#426a78}.relic-card[data-family="COUNTER"]{border-left-color:#9479c9}.relic-card[data-family="SUPPORT"]{border-left-color:#be954a}.relic-card[data-family="COUNTER"] .relic-art{background:#57466f}.relic-card[data-family="SUPPORT"] .relic-art{background:#6b5733}.relic-card small{font-size:11px}.relic-card b{display:inline-block;padding:3px 6px;background:#eee5c6;border-radius:4px}#shop-refresh{padding:10px;font-size:12px;margin:4px 0 9px}#shop-equipped{display:flex;gap:5px;flex-wrap:wrap}.sell-relic{border:1px solid #b4c6b8;border-radius:7px;padding:8px;background:#e0e7d6;color:#33554e;font-size:10px}#shop-note{font-size:10px;margin:12px 0}#shop-skip{position:sticky;bottom:0;min-height:46px;padding:12px 16px;box-shadow:0 -7px 18px #edf0df}.market button:disabled{cursor:default}#result-build{font-size:11px;margin-top:-12px;color:#47695c;font-weight:700}#relic-tray span{display:inline-block;transition:transform .16s,color .16s}#relic-tray .triggered{transform:translateY(-6px) scale(1.25);color:#fff9d6;text-shadow:0 0 13px #ffe7a6}#combo-meter{font-size:8px;letter-spacing:.8px;color:#e6edd9;font-weight:800;margin-top:5px}#combo-toast{--combo:#89e9ff;position:absolute;left:12%;right:12%;top:36%;z-index:3;text-align:center;pointer-events:none;opacity:0;border-top:2px solid var(--combo);border-bottom:1px solid var(--combo);background:#173744e8;padding:10px 7px;color:var(--combo);border-radius:6px}#combo-toast strong{display:block;font-size:17px;letter-spacing:.7px}#combo-toast span{display:block;font-size:8px;letter-spacing:2px;margin-top:5px}#combo-toast.active{animation:combo-pop 1.45s ease-out both}@keyframes combo-pop{0%{opacity:0;transform:scale(.85)}15%,72%{opacity:1;transform:scale(1)}100%{opacity:0;transform:translateY(-12px)}}@media(max-height:650px){#shop .market{padding:13px}#shop-title{font-size:23px}.relic-card strong{font-size:14px}.relic-card small{font-size:10px}.relic-card .relic-art{min-width:39px;line-height:48px;font-size:30px}#combo-toast strong{font-size:14px}}@media(prefers-reduced-motion:reduce){#combo-toast.active{animation:none;opacity:1}#relic-tray .triggered{transform:none}#relic-tray span{transition:none}}
