:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;font-family:system-ui,-apple-system,Segoe UI,sans-serif}html,body{width:100%;height:100%;overscroll-behavior:none;touch-action:none;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;-webkit-tap-highlight-color:transparent;-webkit-text-size-adjust:100%;background:#0b3d4a;height:100dvh;margin:0;position:fixed;inset:0;overflow:hidden}button,a,.card-tile,.car-arrow{touch-action:manipulation;-webkit-tap-highlight-color:transparent;-webkit-touch-callout:none}input{-webkit-user-select:text;user-select:text}#game{touch-action:none;-webkit-touch-callout:none;width:100%;height:100%;display:block}#ui{width:calc(100% / var(--ui-scale,1));height:calc(100% / var(--ui-scale,1));zoom:var(--ui-scale,1);pointer-events:none;color:#fff;position:fixed;top:0;left:0}.badge{top:max(12px, env(safe-area-inset-top));left:max(16px, env(safe-area-inset-left));letter-spacing:.02em;text-shadow:0 2px 6px #0006;font-size:16px;font-weight:700;position:absolute}.badge small{opacity:.8;font-weight:400;display:block}#ui{font-family:system-ui,-apple-system,Segoe UI,sans-serif}.hud{position:absolute;inset:0}.hud[hidden],.screens[hidden]{display:none}.fps{top:max(12px, env(safe-area-inset-top));right:max(16px, env(safe-area-inset-right));opacity:.85;text-shadow:0 2px 6px #0006;font-size:16px;font-weight:600;position:absolute}.toast{opacity:0;text-align:center;background:#052832bf;border-radius:14px;max-width:86vw;padding:12px 20px;font-size:18px;font-weight:600;transition:opacity .25s;position:absolute;top:18%;left:50%;transform:translate(-50%)}.toast.show{opacity:1}.stick-base,.stick-knob{border-radius:50%;position:absolute;top:0;left:0}.stick-base{background:#ffffff1a;border:3px solid #ffffff73;width:112px;height:112px}.stick-knob{background:#ffffffa6;width:52px;height:52px}.screens{pointer-events:auto;padding:max(16px, env(safe-area-inset-top)) max(16px, env(safe-area-inset-right)) max(16px, env(safe-area-inset-bottom)) max(16px, env(safe-area-inset-left));overscroll-behavior:contain;touch-action:manipulation;background:radial-gradient(at 50% 30%,#2fb8c659,#0b3d4acc);place-items:center;display:grid;position:absolute;inset:0;overflow-y:auto}.card{text-align:center;flex-direction:column;align-items:center;gap:16px;width:min(520px,100%);display:flex}.logo{white-space:nowrap;letter-spacing:.01em;color:#fff7d6;text-shadow:0 4px #f2603f,0 8px 18px #00000059;margin:0;font-size:clamp(44px,12vw,80px);line-height:1}h2{text-shadow:0 2px 8px #00000059;margin:0;font-size:30px}.tagline,.hint,.status{text-shadow:0 1px 6px #0006;margin:0;font-size:18px;line-height:1.35}.status.error{color:#ffd0c8;font-weight:700}.btn-col{flex-direction:column;gap:12px;width:min(300px,100%);display:flex}.btn{min-width:44px;min-height:56px;font:inherit;color:#05303a;cursor:pointer;background:#e9fbf8;border:0;border-radius:18px;width:min(300px,100%);padding:0 24px;font-size:20px;font-weight:700;box-shadow:0 4px #00000038}.btn.primary{background:#ffc83d}.btn.small{width:auto;min-width:44px;min-height:48px;padding:0 16px;font-size:16px}.btn.ghost{color:#fff;box-shadow:none;background:0 0;text-decoration:underline}.btn:disabled{opacity:.45;cursor:default}.btn:active:not(:disabled){transform:translateY(2px);box-shadow:0 2px #00000038}.tiles{justify-content:center;gap:10px;display:flex;position:relative}.tile{color:#05303a;background:#fff7d6;border-radius:16px;place-items:center;width:clamp(56px,18vw,76px);height:clamp(72px,22vw,96px);font-size:clamp(38px,12vw,54px);font-weight:800;display:grid;box-shadow:0 5px #00000038}.tile.active{outline:4px solid #ffc83d}.code-input{opacity:0;caret-color:#0000;touch-action:manipulation;border:0;width:100%;height:100%;padding:0;font-size:16px;position:absolute;inset:0}.link-row{align-items:center;gap:8px;width:100%;display:flex}input.link{color:#05303a;background:#e9fbf8;border:0;border-radius:12px;flex:1;min-width:0;min-height:48px;padding:0 12px;font-size:16px}.hull{top:max(12px, env(safe-area-inset-top));left:max(14px, env(safe-area-inset-left));box-sizing:border-box;background:#0528328c;border:3px solid #ffffffd9;border-radius:13px;width:min(240px,34vw);height:26px;position:absolute;overflow:hidden}.hull-fill,.mate-fill,.xp-fill{transform-origin:0;transition:transform .12s linear;position:absolute;inset:0}.hull-fill{background:linear-gradient(#ff8f7a,#f2603f)}.hull.low .hull-fill{background:linear-gradient(#ff5a5a,#d11f2f)}.hull-text{text-shadow:0 1px 3px #000000b3;place-items:center;font-size:15px;font-weight:800;display:grid;position:absolute;inset:0}.mate-hull{top:calc(max(12px, env(safe-area-inset-top)) + 32px);left:max(14px, env(safe-area-inset-left));box-sizing:border-box;background:#0528328c;border:2px solid #fff9;border-radius:5px;width:min(160px,30vw);height:9px;position:absolute;overflow:hidden}.mate-hull[hidden]{display:none}.mate-fill{background:#b58cff}.salvage{top:calc(max(12px, env(safe-area-inset-top)) + 46px);left:max(16px, env(safe-area-inset-left));color:#ffe9a0;text-shadow:0 1px 4px #0009;font-size:14px;font-weight:700;position:absolute}.zone-timer{top:max(10px, env(safe-area-inset-top));font-variant-numeric:tabular-nums;letter-spacing:.04em;text-shadow:0 2px 8px #0000008c;font-size:30px;font-weight:800;position:absolute;left:50%;transform:translate(-50%)}.xp{left:env(safe-area-inset-left);right:env(safe-area-inset-right);bottom:env(safe-area-inset-bottom);box-sizing:border-box;background:#0528328c;border-top:2px solid #ffffff8c;height:18px;position:absolute}.xp-fill{background:linear-gradient(#7ff0ff,#29c4e0)}.xp-level{text-align:center;background:#05303a;border:2px solid #7ff0ff;border-radius:12px;min-width:56px;height:22px;padding:0 12px;font-size:13px;font-weight:800;line-height:22px;position:absolute;bottom:2px;left:50%;transform:translate(-50%)}.vignette{opacity:0;background:radial-gradient(#0000 45%,#d21428b3 100%);transition:opacity .3s;position:absolute;inset:0}.vignette.on{opacity:1;animation:1.1s ease-in-out infinite vignette-pulse}@keyframes vignette-pulse{0%,to{opacity:.55}50%{opacity:1}}.hit-flash,.level-flash{opacity:0;position:absolute;inset:0}.hit-flash{background:radial-gradient(#0000 30%,#ff283c8c 100%)}.level-flash{background:radial-gradient(#fff4b48c,#fff4b400 70%)}.hit-flash.go{animation:.35s ease-out flash-out}.level-flash.go{animation:.7s ease-out flash-out}@keyframes flash-out{0%{opacity:1}to{opacity:0}}.note{opacity:0;box-sizing:border-box;text-align:center;background:#052832b3;border-radius:12px;width:max-content;max-width:calc(100vw - 32px);padding:8px 16px;font-size:16px;font-weight:700;transition:opacity .2s;position:absolute;top:28%;left:50%;transform:translate(-50%)}.note.show{opacity:1}.results{text-align:left;background:#0528328c;border-radius:18px;grid-template-columns:auto auto;gap:8px 28px;padding:16px 24px;font-size:20px;display:grid}.results dt{opacity:.8}.results dd{text-align:right;font-variant-numeric:tabular-nums;margin:0;font-weight:800}@media (max-width:480px){.zone-timer{font-size:24px}}.zone-timer{flex-direction:column-reverse;align-items:center;line-height:1.05;display:flex}.zone-timer[hidden],.zt-depth[hidden]{display:none}.zt-depth{letter-spacing:.1em;text-transform:uppercase;color:#ffc145;text-shadow:0 1px 3px #000000bf;margin-top:2px;font-size:12px;font-weight:800}:root{--tbtn:clamp(76px, 11vmin, 116px);--tgap:14px}.sweep{box-sizing:border-box;color:#fff;background:#05283299;border:3px solid #ffffffb3;border-radius:50%;place-items:center;width:52px;height:52px;display:grid;position:relative;overflow:hidden}.sweep-icon{z-index:1;place-items:center;display:grid;position:relative}.sweep-fill{background:conic-gradient(#0000009e var(--p,0deg), transparent 0);z-index:2;position:absolute;inset:0}.sweep-key{z-index:3;background:#052832d9;border-radius:8px;padding:0 4px;font-size:11px;font-weight:800;line-height:14px;position:absolute;bottom:-1px;right:1px}.sweep-key:empty{display:none}.sweep.ready{border-color:#ffd23f;box-shadow:0 0 10px #ffd23fa6}.sweep.spent{opacity:.45;filter:grayscale()}.sweep.active{border-color:#7ff0ff;box-shadow:0 0 12px #7ff0ffcc}.dive-hud{left:max(14px, env(safe-area-inset-left));position:absolute;top:50%;transform:translateY(-50%)}.ability-hud{top:calc(max(12px, env(safe-area-inset-top)) + 66px);left:max(14px, env(safe-area-inset-left));position:absolute}.parts-row{left:50%;bottom:calc(env(safe-area-inset-bottom) + 24px);pointer-events:none;flex-wrap:wrap;justify-content:center;gap:5px;max-width:min(92vw,560px);display:flex;position:absolute;transform:translate(-50%)}.part-chip{box-sizing:border-box;color:#fff;background:#052832b3;border:2px solid #ffffff8c;border-radius:12px;justify-content:center;align-items:center;gap:2px;min-width:38px;height:38px;padding:0 5px;display:flex;position:relative}.part-chip.perk{border-color:#c25cffbf;min-width:32px;height:32px;font-size:11px}.part-chip.link{color:#ffd23f;border-color:#ffd23f;animation:1.6s ease-in-out infinite link-glow;box-shadow:0 0 10px #ffd23fbf}@keyframes link-glow{50%{box-shadow:0 0 18px #ffd23f}}.chip-lv{text-shadow:0 1px 3px #000c;font-size:12px;font-weight:800}.action-buttons{right:max(16px, env(safe-area-inset-right));bottom:calc(env(safe-area-inset-bottom) + 34px);justify-content:flex-end;align-items:flex-end;gap:var(--tgap);width:calc(var(--tbtn) * 2 + var(--tgap));pointer-events:auto;flex-wrap:wrap;display:flex;position:absolute}.action-buttons[hidden]{display:none}.touch-btn{width:var(--tbtn);height:var(--tbtn);touch-action:none;-webkit-touch-callout:none}.touch-btn[hidden]{display:none}.touch-btn .icon{width:calc(var(--tbtn) * .45);height:calc(var(--tbtn) * .45)}.banner{top:calc(max(10px, env(safe-area-inset-top)) + 48px);text-align:center;opacity:0;pointer-events:none;white-space:normal;box-sizing:border-box;width:100%;padding:0 max(12px, env(safe-area-inset-left)) 0 max(12px, env(safe-area-inset-right));font-weight:900;position:absolute;left:50%;transform:translate(-50%)}.banner.show{opacity:1}.banner-main{letter-spacing:.03em;color:#fff7d6;-webkit-text-stroke:3px #b3401f;paint-order:stroke fill;text-shadow:0 5px #f2603f,0 0 26px #ffd65af2,0 0 60px #ffa028b3;max-width:100%;font-size:clamp(36px,11vw,96px);font-style:italic;line-height:1.05;display:inline-block}.banner-sub{color:#fff;text-shadow:0 3px #7a2ab8,0 0 18px #dc78ffe6;margin-top:4px;font-size:clamp(20px,5.5vw,34px)}.banner.show .banner-main{animation:.7s cubic-bezier(.2,1.6,.4,1) both arcade-in,1s ease-in-out .7s infinite alternate arcade-glow}.banner.show .banner-sub{animation:.5s ease-out .25s both arcade-sub}.banner.synergy .banner-main{color:#ffeaff;-webkit-text-stroke-color:#7a2ab8;text-shadow:0 5px #b15cff,0 0 26px #dc78fff2,0 0 60px #b450ffb3}.banner.clear .banner-main{color:#f1fff6;-webkit-text-stroke-color:#1e7a4a;text-shadow:0 5px #37d67a,0 0 26px #78ffb4f2,0 0 60px #3cdc8cb3}.spark{clip-path:polygon(50% 0,62% 38%,100% 50%,62% 62%,50% 100%,38% 62%,0 50%,38% 38%);opacity:0;background:#fff6a8;width:12px;height:12px;margin:-6px 0 0 -6px;position:absolute;top:36px;left:50%}.banner.show .spark{animation:.9s ease-out both spark-fly}@keyframes arcade-in{0%{opacity:0;transform:scale(.1)rotate(-8deg)}55%{opacity:1;transform:scale(1.25)rotate(2deg)}75%{transform:scale(.92)rotate(-1deg)}to{transform:scale(1)rotate(0)}}@keyframes arcade-glow{to{filter:brightness(1.2)drop-shadow(0 0 14px #ffdc78e6)}}@keyframes arcade-sub{0%{opacity:0;transform:translateY(-14px)scale(.6)}to{opacity:1;transform:none}}@keyframes spark-fly{0%{opacity:1;transform:translate(0)scale(.3)}to{transform:translate(var(--dx), var(--dy)) scale(1.4) rotate(120deg);opacity:0}}@media (max-width:480px){.dive-hud{top:60%}.parts-row{bottom:calc(env(safe-area-inset-bottom) + 26px);max-width:62vw;left:40%}.part-chip{min-width:34px;height:34px}}.cards-overlay{z-index:20;pointer-events:auto;padding:max(16px, env(safe-area-inset-top)) max(16px, env(safe-area-inset-right)) max(16px, env(safe-area-inset-bottom)) max(16px, env(safe-area-inset-left));box-sizing:border-box;touch-action:manipulation;overscroll-behavior:contain;background:radial-gradient(at 50% 45%,#06283c8c,#031422e0);flex-direction:column;justify-content:center;align-items:center;gap:14px;display:flex;position:absolute;inset:0;overflow-y:auto}.cards-overlay[hidden]{display:none}.cards-title{text-align:center;font-size:clamp(24px,6vw,36px)}.cards-timer{background:#fff3;border-radius:4px;width:min(360px,80vw);height:8px;overflow:hidden}.cards-timer[hidden]{display:none}.cards-timer-fill{transform-origin:0;background:#ffd23f;height:100%}.cards-row{perspective:900px;justify-content:center;align-items:stretch;gap:16px;display:flex}.cards-row.done .card-tile:not(.chosen){opacity:.45}.card-tile{box-sizing:border-box;border:4px solid var(--rar);color:#fff;width:210px;min-height:300px;font:inherit;text-align:center;cursor:pointer;box-shadow:0 0 22px color-mix(in srgb, var(--rar) 55%, transparent), 0 8px 0 #0000004d;animation:.55s cubic-bezier(.2,1.4,.4,1) backwards card-fan;animation-delay:calc(var(--i) * .11s);background:linear-gradient(170deg,#184660f5,#0a2438fa);border-radius:20px;flex-direction:column;align-items:center;gap:10px;padding:16px 14px 14px;transition:transform .12s;display:flex;position:relative}.card-tile.selected{box-shadow:0 0 34px var(--rar), 0 12px 0 #0000004d;transform:translateY(-8px)scale(1.04)}@media (hover:hover){.card-tile:hover{box-shadow:0 0 34px var(--rar), 0 12px 0 #0000004d;transform:translateY(-8px)scale(1.04)}}.tile-key{background:#ffffff2e;border-radius:8px;width:26px;height:26px;font-size:15px;font-weight:800;line-height:26px;position:absolute;top:8px;left:10px}.tile-icon{background:color-mix(in srgb, var(--rar) 28%, #06283a);border:3px solid var(--rar);color:#fff;border-radius:50%;place-items:center;width:72px;height:72px;display:grid}.tile-text{flex-direction:column;align-items:center;gap:6px;display:flex}.tile-rarity{text-transform:uppercase;letter-spacing:.06em;color:var(--rar);font-size:13px;font-weight:800}.tile-name{font-size:22px;font-weight:800;line-height:1.1}.tile-badge{color:#ffd23f;font-size:15px;font-weight:700}.tile-body{opacity:.95;font-size:15px;line-height:1.3}.tile-bonus{color:#c25cff;background:#c25cff24;border-radius:8px;padding:3px 8px;font-size:13px;font-weight:700}.cards-status{text-shadow:0 1px 6px #00000080;min-height:22px;margin:0;font-size:16px;font-weight:600}@keyframes card-fan{0%{opacity:0;transform:translateY(120px) rotate(calc((var(--i) - 1) * 18deg)) scale(.5)}to{opacity:1;transform:none}}@media (max-width:640px){.cards-overlay{justify-content:flex-start}.cards-row{flex-direction:column;gap:10px;width:100%}.card-tile{text-align:left;flex-direction:row;gap:12px;width:100%;min-height:0;padding:10px 12px 10px 40px}.tile-icon{flex:none;width:56px;height:56px}.tile-text{align-items:flex-start;gap:2px}.tile-name{font-size:19px}.tile-body{font-size:14px}.tile-key{top:50%;left:8px;transform:translateY(-50%)}@keyframes card-fan{0%{opacity:0;transform:translate(-80px)scale(.7)}to{opacity:1;transform:none}}}.screens.select{background:linear-gradient(#042436e0,#0424361f 38% 56%,#042436eb);place-items:stretch center;padding:10px}.select-card{text-align:center;flex-direction:column;justify-content:space-between;gap:8px;width:min(980px,100%);display:flex}.sel-row{justify-content:space-between;align-items:flex-start;gap:14px;display:flex}.sel-panel{text-align:left;background:#052832b8;border-radius:20px;flex-direction:column;flex:0 340px;gap:6px;padding:12px 14px;display:flex}.car-head{justify-content:space-between;align-items:center;gap:8px;display:flex}.car-arrow{color:#05303a;cursor:pointer;background:#e9fbf8;border:0;border-radius:50%;flex:none;width:48px;height:48px;font-size:30px;font-weight:800;line-height:1}.car-mid{text-align:center;flex:1}.car-kind{text-transform:uppercase;letter-spacing:.1em;opacity:.75;font-size:12px}.car-name{font-size:26px;font-weight:900;line-height:1.1}.car-sub{opacity:.85;font-size:15px}.portrait{background:radial-gradient(circle at 35% 30%, var(--accent), var(--suit) 70%);border:3px solid #fff;border-radius:50%;align-self:center;place-items:center;width:64px;height:64px;display:grid}.portrait-initial{color:#fff;text-shadow:0 2px 4px #00000080;font-size:30px;font-weight:900}.stat-row{grid-template-columns:78px 1fr 88px;align-items:center;gap:8px;font-size:14px;display:grid}.stat-track{background:#ffffff2e;border-radius:5px;height:10px;overflow:hidden}.stat-fill{background:linear-gradient(90deg,#7ff0ff,#ffd23f);height:100%}.stat-val{text-align:right;font-variant-numeric:tabular-nums;font-size:13px;font-weight:700}.sel-line{margin:0;font-size:14px;line-height:1.3}.ability-box{background:#ffffff1a;border-radius:12px;padding:8px 10px}.ability-head{align-items:center;gap:8px;margin-bottom:4px;display:flex}.ability-cd{opacity:.8;margin-left:auto;font-size:12px}.sel-foot{flex-direction:column;align-items:center;gap:6px;display:flex}.sel-combo{text-shadow:0 1px 6px #0009;font-size:16px;font-weight:700}.picks{flex-direction:column;align-items:center;gap:6px;width:100%;display:flex}.pick-line{align-items:baseline;gap:10px;font-size:18px;display:flex}.pick-who{color:#ffd23f;text-align:right;min-width:70px;font-weight:800}.pick-what{font-weight:600}@media (max-width:700px){.sel-row{flex-direction:column;gap:8px}.sel-panel{box-sizing:border-box;flex:none;gap:3px;width:100%;padding:8px 12px}.portrait{display:none}.car-arrow{width:44px;height:44px}.car-name{font-size:22px}.sel-line,.stat-row{font-size:13px}.stat-row{grid-template-columns:70px 1fr 64px}.select-card h2{font-size:22px}.sel-combo{font-size:14px}.sel-foot .btn{min-height:48px}}.banner.power .banner-main{color:#fff;-webkit-text-stroke-color:var(--pw,#ffb020);text-shadow:0 5px 0 var(--pw,#ffb020), 0 0 26px var(--pw,#ffb020), 0 0 60px var(--pw,#ffb020);font-size:clamp(32px,10vw,76px)}.power-bar{left:50%;bottom:calc(max(12px, env(safe-area-inset-bottom)) + 74px);border:2px solid var(--pw,#fff);width:min(240px,56vw);height:22px;box-shadow:0 0 14px var(--pw,#fff);pointer-events:none;background:#00000073;border-radius:11px;position:absolute;overflow:hidden;transform:translate(-50%)}.power-fill{background:var(--pw,#fff);transform-origin:0;opacity:.85;position:absolute;inset:0}.power-label{text-align:center;color:#fff;text-shadow:0 1px 3px #000c;font-size:14px;font-weight:900;line-height:18px;position:relative}.hud:has(.banner.show) .toast{top:calc(max(10px, env(safe-area-inset-top)) + 215px)}.power-bar{top:calc(max(10px, env(safe-area-inset-top)) + 40px);bottom:auto}@media (max-width:700px){.hud:has(.banner.show) .toast{top:calc(max(10px, env(safe-area-inset-top)) + 170px);font-size:15px}}@media (pointer:coarse),(max-width:700px){.parts-row{left:max(12px, env(safe-area-inset-left));bottom:calc(env(safe-area-inset-bottom) + 40px);max-width:calc(100vw - var(--tbtn) * 2 - var(--tgap) - 40px - env(safe-area-inset-left) - env(safe-area-inset-right));justify-content:flex-start;transform:none}.power-bar{width:min(240px,50vw)}}@media (orientation:landscape) and (max-height:500px){.cards-overlay{justify-content:flex-start;gap:8px}.cards-row{flex-direction:row;gap:8px}.card-tile{gap:6px;width:min(210px,30vw);min-height:0;padding:12px 8px 8px}.cards-title{font-size:20px}.tile-icon{width:36px;height:36px}.tile-key{display:none}.tile-rarity,.tile-badge{font-size:11px}.tile-name{font-size:16px}.tile-body{font-size:12px;line-height:1.2}.tile-bonus{font-size:11px}.logo{font-size:48px}.card{gap:10px}}.lil-gui.root{max-width:100vw}@media (max-width:700px){.lil-gui.root{top:env(safe-area-inset-top);opacity:.55;right:0}}@media (pointer:coarse){.sweep-key{display:none}}.banner.warn .banner-main{color:#fff1f0;-webkit-text-stroke-color:#a8161b;text-shadow:0 5px #ee3b3b,0 0 26px #ff5046f2,0 0 60px #ff2828b3;font-size:clamp(34px,10.5vw,84px)}.banner.warn.show .banner-main{animation:.7s cubic-bezier(.2,1.6,.4,1) both arcade-in,.18s linear .7s 6 warn-shake}@keyframes warn-shake{0%,to{transform:translate(0)}25%{transform:translate(-5px)}75%{transform:translate(5px)}}.banner.boss .banner-main{color:#fff5e0;-webkit-text-stroke-color:#7a2b0c;text-shadow:0 5px #ff8a2a,0 0 26px #ffa032f2,0 0 60px #ff641ebf;font-size:clamp(40px,12.5vw,92px)}.banner.boss .banner-sub{text-shadow:0 3px #a8161b,0 0 18px #ff5a46e6}.banner.zone .banner-main{color:#f1ffe9;-webkit-text-stroke-color:#1c5f30;text-shadow:0 5px #4fbf5a,0 0 26px #96ff78f2,0 0 60px #50dc5ab3;font-size:clamp(34px,10.5vw,84px)}.boss-bar{top:calc(max(10px, env(safe-area-inset-top)) + 4px);pointer-events:none;width:min(520px,46vw);position:absolute;left:50%;transform:translate(-50%)}.boss-bar[hidden]{display:none}.boss-name{text-align:center;letter-spacing:.06em;text-transform:uppercase;color:#fff3d6;text-shadow:0 2px #9a2a12,0 0 12px #ff783ccc;margin-bottom:3px;font-size:18px;font-weight:900}.boss-track{box-sizing:border-box;background:#1e0808a6;border:3px solid #fff;border-radius:11px;height:22px;position:relative;overflow:hidden}.boss-fill{transform-origin:0;background:linear-gradient(#ff9a5a,#e8431f);transition:transform .15s linear;position:absolute;inset:0}.boss-bar.shielded .boss-fill{background:linear-gradient(#b9c3cc,#6f7e8b)}.boss-bar.weak .boss-fill{background:linear-gradient(#ffe45c,#ffa51f)}.boss-bar.weak .boss-track{border-color:#ffe45c;box-shadow:0 0 14px #ffe45c}.boss-pips{justify-content:center;align-items:center;gap:8px;display:flex;position:absolute;inset:0}.boss-pip{background:#ffffff4d;border:1px solid #0006;border-radius:50%;width:8px;height:8px}.boss-pip.on{background:#fff}.hud:has(.boss-bar:not([hidden])) .banner{top:calc(max(10px, env(safe-area-inset-top)) + 84px)}.hud:has(.boss-bar:not([hidden])) .toast{top:calc(max(10px, env(safe-area-inset-top)) + 70px)}@media (max-width:700px){.boss-bar{top:calc(max(10px, env(safe-area-inset-top)) + 76px);width:min(360px,100vw - 100px);left:calc(50% + 31px)}.boss-name{font-size:15px}.hud:has(.boss-bar:not([hidden])) .banner{top:calc(max(10px, env(safe-area-inset-top)) + 130px)}}.descent{background:linear-gradient(rgb(18 90 100/calc(.75 * var(--fade,0))), rgb(4 24 28/calc(.97 * var(--fade,0))));opacity:var(--fade,0);pointer-events:none;text-align:center;z-index:6;place-content:center;justify-items:center;gap:8px;display:grid;position:absolute;inset:0}.descent[hidden]{display:none}.descent-title{color:#e7fff5;text-shadow:0 4px #1c7a68,0 0 30px #78ffdccc;font-size:clamp(30px,8vw,64px);font-style:italic;font-weight:900}.descent-depth{font-variant-numeric:tabular-nums;color:#fff;text-shadow:0 3px #0b4a52,0 0 24px #78dcffcc;font-size:clamp(40px,12vw,96px);font-weight:900}.banner.warn,.banner.zone,.banner.boss,.banner.clear{white-space:normal;box-sizing:border-box;padding:0 14px;line-height:1.02}.banner.clear .banner-main{font-size:clamp(34px,10.5vw,92px)}.banner.boss .banner-main{font-size:clamp(34px,10vw,92px)}.banner.warn .banner-main,.banner.zone .banner-main{font-size:clamp(30px,8.6vw,84px)}.hud:has(.boss-bar:not([hidden])):has(.banner.show) .toast{top:calc(max(10px, env(safe-area-inset-top)) + 235px)}@media (max-width:700px){.hud:has(.boss-bar:not([hidden])) .toast{top:calc(max(10px, env(safe-area-inset-top)) + 128px)}.hud:has(.boss-bar:not([hidden])):has(.banner.show) .toast{top:calc(max(10px, env(safe-area-inset-top)) + 250px)}}.fps{top:calc(max(12px, env(safe-area-inset-top)) + 78px);opacity:.55;font-size:12px}.score-box{top:max(10px, env(safe-area-inset-top));right:max(14px, env(safe-area-inset-right));text-align:right;text-shadow:0 2px 6px #0000008c;pointer-events:none;min-width:92px;position:absolute}.score-label{letter-spacing:.12em;text-transform:uppercase;opacity:.8;font-size:11px;font-weight:800}.score-val{font-variant-numeric:tabular-nums;font-size:28px;font-weight:900;line-height:1.05}.combo{color:#ffffff8c;transform-origin:100%;min-height:30px;font-size:24px;font-style:italic;font-weight:900;display:inline-block}.combo.on{color:#ffd23f;-webkit-text-stroke:1px #7a4a00;paint-order:stroke fill;text-shadow:0 0 14px #ffbe28cc}.combo.go{animation:.28s cubic-bezier(.2,1.8,.4,1) combo-pop}@keyframes combo-pop{0%{transform:scale(1.7)}to{transform:scale(1)}}.combo-bar{background:#05283273;border-radius:3px;height:5px;margin-top:2px;overflow:hidden}.combo-fill{transform-origin:100%;background:#ffd23f;height:100%;transition:transform .1s linear}.pearls-hud{top:calc(max(12px, env(safe-area-inset-top)) + 64px);left:max(16px, env(safe-area-inset-left));color:#ffc4f0;text-shadow:0 1px 4px #0009;transform-origin:0;font-size:14px;font-weight:700;position:absolute}.pearls-hud.go{animation:.4s cubic-bezier(.2,1.8,.4,1) combo-pop}.ability-hud{top:calc(max(12px, env(safe-area-inset-top)) + 86px)}.banner.evolve .banner-main{color:#fffbe8;-webkit-text-stroke-color:#8a5a00;text-shadow:0 5px #ffb82e,0 0 26px #ffd65a,0 0 70px #ff78dccc;font-size:clamp(32px,9vw,92px)}.banner.evolve .banner-sub{text-shadow:0 2px #3a1260,0 0 8px #000,0 0 12px #000,0 0 18px #dc78ffe6;font-weight:700}.part-chip.link.evolved{color:#fff2a8;background:linear-gradient(135deg,#7a2ab8d9,#052832cc);border-color:#fff2a8;box-shadow:0 0 16px #ffd65a}.screens{place-items:start center}.screens>.card{margin:auto}.btn-row{justify-content:center;gap:12px;display:flex}.btn-row .btn{flex:1;min-height:52px}.pearl-pill{color:#ffe3f7;box-sizing:border-box;background:#052832b3;border:2px solid #ffc4f0;border-radius:22px;align-items:center;gap:8px;min-height:44px;padding:0 16px;font-size:20px;font-weight:800;display:inline-flex}.pearl-num{font-variant-numeric:tabular-nums}.title-pearls{margin-top:4px}.screens.wide>.card{width:min(560px,100%)}.results-title{margin:0}.score-hero{box-sizing:border-box;background:linear-gradient(#7a2ab88c,#052832b3);border:2px solid #ffd65ab3;border-radius:20px;width:100%;padding:12px 16px}.score-hero-label{letter-spacing:.14em;text-transform:uppercase;opacity:.85;font-size:14px}.score-hero-val{font-variant-numeric:tabular-nums;color:#fff3b0;text-shadow:0 3px #b3401f,0 0 24px #ffbe28b3;font-size:clamp(40px,12vw,64px);font-weight:900;line-height:1.05}.score-flag{color:#05303a;background:#ffc83d;border-radius:14px;margin-top:6px;padding:4px 14px;font-size:16px;font-weight:900;animation:.5s cubic-bezier(.2,1.8,.4,1) .2s both combo-pop;display:inline-block}.results{box-sizing:border-box;grid-template-columns:1fr auto;gap:6px 20px;width:100%;padding:12px 18px;font-size:17px}.results dt.sub,.results dd.sub{border-top:1px solid #ffffff40;padding-top:6px}.results dt.total,.results dd.total{color:#fff3b0;opacity:1;font-size:20px}.results.stats{font-size:15px}.pearl-line{color:#ffc4f0;flex-wrap:wrap;justify-content:center;align-items:center;gap:4px 12px;font-weight:800;display:flex}.pearl-gain{font-size:22px}.pearl-bank{opacity:.85;font-size:14px;font-weight:600}.unlock-box{box-sizing:border-box;background:#ffc83d2e;border:2px solid #ffc83d;border-radius:16px;width:100%;padding:10px 14px;animation:1.6s ease-in-out infinite link-glow}.unlock-head{color:#ffc83d;letter-spacing:.05em;font-size:18px;font-weight:900}.unlock-item{font-size:18px;font-weight:700}.board{width:100%}.board h3,.ws-section h3,.set-save h3{margin:0 0 6px;font-size:18px}.score-list{text-align:left;flex-direction:column;gap:4px;margin:0;padding:0;list-style:none;display:flex}.score-row{background:#05283280;border-radius:10px;padding:6px 10px}.score-row.me{background:#ffc83d40;outline:2px solid #ffc83d}.score-row-top{align-items:baseline;gap:10px;display:flex}.score-rank{color:#ffd23f;min-width:22px;font-weight:900}.score-pts{font-variant-numeric:tabular-nums;font-size:17px;font-weight:800}.score-row-sub{opacity:.8;font-size:12px}.score-empty{opacity:.7;padding:4px 10px;font-size:15px}.screens:has(.workshop){place-items:start center}.workshop{text-shadow:0 1px 6px #0006;flex-direction:column;gap:14px;width:min(1000px,100%);margin:0 auto;display:flex}.ws-head{align-items:center;gap:12px;display:flex}.ws-head h2{text-align:center;flex:1;margin:0}.ws-grid{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:10px;display:grid}.ws-card{text-align:left;background:#052832b3;border-radius:16px;flex-direction:column;gap:6px;padding:12px;display:flex}.ws-top{align-items:center;gap:10px;display:flex}.ws-icon{background:#ffffff1f;border-radius:12px;flex:none;place-items:center;width:46px;height:46px;display:grid}.ws-name{font-size:18px;font-weight:800}.ws-per{opacity:.8;font-size:13px}.ws-pips{gap:5px;display:flex}.ws-pip{background:#fff3;border-radius:4px;width:22px;height:8px}.ws-pip.on{background:#ffc4f0}.ws-now{color:#d8f4ff;font-size:14px;font-weight:700}.ws-buy{justify-content:center;align-items:center;gap:6px;width:100%;min-height:48px;display:inline-flex}.ws-section{text-align:left}.gal{grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:8px;display:grid}.gal-tile{background:#052832b3;border-radius:14px;align-items:center;gap:10px;min-height:56px;padding:10px;display:flex}.gal-tile.locked{color:#ffffffb3;background:#0006}.gal-art{background:#ffffff24;border-radius:50%;flex:none;place-items:center;width:44px;height:44px;display:grid}.gal-tile.locked .gal-art{color:#ffffff8c;background:#02141a}.gal-art.pilot{background:radial-gradient(circle at 35% 30%, var(--accent), var(--suit) 70%);border:2px solid #fff;font-size:20px;font-weight:900}.gal-name{font-size:16px;font-weight:800}.gal-hint{opacity:.85;font-size:13px}.best-two{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:12px;display:grid}.best-col h4{margin:0 0 4px}.set-list{flex-direction:column;gap:8px;width:100%;display:flex}.set-row{text-align:left;background:#052832b3;border-radius:14px;align-items:center;gap:12px;padding:10px 14px;display:flex}.set-text{flex:1}.set-label{font-weight:800}.set-hint{opacity:.85;margin:0;font-size:14px}.set-group{text-align:left;letter-spacing:.06em;text-transform:uppercase;opacity:.8;margin:8px 4px 0;font-size:15px}.set-slider-row{flex-wrap:wrap}.set-slider{accent-color:#37d67a;flex:0 190px;min-width:120px;height:32px}.set-value{text-align:right;font-variant-numeric:tabular-nums;min-width:44px;font-weight:800}.set-toggle{color:#fff;background:#5a6d73;min-width:72px}.set-toggle.on{color:#05303a;background:#37d67a}.set-save{flex-direction:column;align-items:center;gap:8px;width:100%;display:flex}.btn.danger{color:#fff;background:#ff6a5a}.confirm{flex-direction:column;align-items:center;gap:8px;width:100%;display:flex}.zone-picker{flex-direction:column;align-items:center;gap:6px;width:100%;display:flex}.zone-label{letter-spacing:.1em;text-transform:uppercase;opacity:.85;font-size:13px}.zone-row{flex-wrap:wrap;justify-content:center;gap:8px;display:flex}.zone-btn{color:#fff;box-shadow:none;background:#e9fbf840;border:2px solid #fff6}.zone-btn.on{color:#05303a;background:#ffc83d;border-color:#ffc83d}.zone-note{opacity:.85;max-width:420px;font-size:13px}.locked-block{color:#ffffffb3;background:#02141a;border-radius:14px;flex-direction:column;align-items:center;gap:8px;padding:18px 8px;display:flex}.locked-art{background:#0b2a33;border:3px dashed #ffffff59;border-radius:50%;place-items:center;width:64px;height:64px;display:grid}.locked-hint{text-align:center;font-weight:700}@media (max-width:700px){.locked-block{flex-direction:row;padding:8px}.locked-art{width:44px;height:44px}.ws-grid{grid-template-columns:1fr}}.btn.endless-btn{color:#fff;background:linear-gradient(135deg,#7a2ab8,#c23b2e);border:2px solid #ffc878b3;justify-content:center;align-items:center;gap:10px;display:inline-flex}.btn.endless-btn.locked{color:#ffffffb3;box-shadow:none;background:#00000059;border-color:#ffffff40}.endless-hint{opacity:.9;text-align:center;font-size:14px}.endless-hint[hidden]{display:none}.zone-btn.zone-endless{border-color:#ffa05acc}.results-title.victory{color:#ffd35a;text-shadow:0 2px #00000059}.best-endless{margin-top:12px}.dmg-num{z-index:3;pointer-events:none;opacity:0;color:#fff;text-shadow:0 1px #001428d9,0 0 6px #001428b3;font:800 17px/1 system-ui,sans-serif;position:absolute;transform:translate(-50%,-50%)}.dmg-num.marked{color:#ffc83d}.dmg-num.weak{color:#ff8a3d;font-size:22px}.dmg-num.armoured{color:#b8c4d0;font-size:14px}.dmg-num.world{color:#ffa24d}.dmg-num.go{animation:.7s ease-out dmg-rise}@keyframes dmg-rise{0%{opacity:0;transform:translate(calc(-50% + var(--dx,0px) * .2), -30%) scale(.7)}15%{opacity:1;transform:translate(calc(-50% + var(--dx,0px) * .4), -80%) scale(1.15)}to{opacity:0;transform:translate(calc(-50% + var(--dx,0px)), -260%) scale(.9)}}@media (prefers-reduced-motion:reduce){.dmg-num.go{animation-duration:.5s}}@media (max-width:520px){.set-slider-row .set-text{flex:100%}.set-slider{flex:auto}}.game-overlay{z-index:30;pointer-events:auto;touch-action:manipulation;padding:max(16px, env(safe-area-inset-top)) max(16px, env(safe-area-inset-right)) max(16px, env(safe-area-inset-bottom)) max(16px, env(safe-area-inset-left));box-sizing:border-box;background:radial-gradient(at 50% 45%,#06283cb3,#031422eb);place-items:center;display:grid;position:absolute;inset:0;overflow-y:auto}.game-overlay[hidden]{display:none}.overlay-card{text-align:center;flex-direction:column;align-items:center;gap:14px;width:min(460px,100%);display:flex}.overlay-title{font-size:clamp(30px,8vw,44px)}.overlay-detail{text-shadow:0 1px 6px #0006;margin:0;font-size:18px;line-height:1.4}.overlay-buttons{flex-direction:column;gap:12px;width:min(300px,100%);display:flex}.pause-btn{top:calc(max(12px, env(safe-area-inset-top)) + 112px);right:max(14px, env(safe-area-inset-right));color:#fff;pointer-events:auto;touch-action:manipulation;cursor:pointer;background:#0528328c;border:3px solid #ffffffb3;border-radius:50%;place-items:center;width:48px;height:48px;padding:0;display:grid;position:absolute}.pause-btn .icon{width:22px;height:22px}.net-note{top:calc(max(10px, env(safe-area-inset-top)) + 44px);text-align:center;pointer-events:none;background:#781e14d1;border:2px solid #ffb3a3;border-radius:14px;max-width:min(420px,100vw - 32px);padding:6px 14px;font-size:15px;font-weight:700;position:absolute;left:50%;transform:translate(-50%)}.net-note[hidden]{display:none}.nav-focus,button:focus-visible,a:focus-visible,input:focus-visible,[tabindex]:focus-visible{outline-offset:3px;outline:4px solid #ffd23f;box-shadow:0 0 0 7px #051928cc,0 0 22px 6px #ffd23fb3}.btn.ghost.nav-focus,.btn.ghost:focus-visible{background:#ffffff24}.card-tile.nav-focus{transform:translateY(-8px)scale(1.04)}.set-quality{flex-direction:column;align-items:stretch;gap:10px}.seg{flex-wrap:wrap;gap:8px;display:flex}.seg-btn.on{background:#ffc83d}.map{text-align:left;flex-direction:column;align-items:stretch;gap:10px;display:flex}.map-head{margin:8px 0 0;font-size:18px}.map-list{flex-direction:column;gap:8px;display:flex}.map-row{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;display:flex}.map-label{min-width:110px;font-size:16px;font-weight:700}.map-slots{gap:8px;display:flex}.map-slot{min-width:96px}.map-slot.empty{opacity:.7;font-style:italic}.map-slot.capturing{background:#ffc83d}.map-note{min-height:2.6em}.nav-hint{opacity:.8;margin:0;font-size:14px}@media (pointer:coarse){.nav-hint{display:none}}.map{background:#052832b3;border-radius:14px;padding:10px 14px}.hc .btn,.hc .card-tile,.hc .set-row,.hc .map,.hc .sweep,.hc .pause-btn{box-sizing:border-box;border:3px solid #fff}.hc .btn.ghost{border-width:2px}.hc .set-row,.hc .map{background:#00141eeb}.hc .hull,.hc .mate-hull,.hc .boss-bar,.hc .xp,.hc .power-bar{border:3px solid #fff}.hc .banner-main,.hc .toast,.hc .note,.hc .zone-timer,.hc .salvage,.hc .pearls-hud,.hc .score-box{text-shadow:0 0 3px #000,0 0 3px #000,0 2px 4px #000}.hc .game-overlay,.hc .screens{background:#000e18f0}[hidden]{display:none!important}@media (max-width:700px){.salvage{top:calc(max(12px, env(safe-area-inset-top)) + 50px)}.pearls-hud{top:calc(max(12px, env(safe-area-inset-top)) + 70px)}.banner{top:calc(max(10px, env(safe-area-inset-top)) + 172px)}.power-bar{top:calc(max(10px, env(safe-area-inset-top)) + 112px);width:min(240px,56vw)}.hud:has(.banner.show) .toast{top:calc(max(10px, env(safe-area-inset-top)) + 286px)}.hud:has(.boss-bar:not([hidden])) .banner{top:calc(max(10px, env(safe-area-inset-top)) + 200px)}.hud:has(.boss-bar:not([hidden])):has(.banner.show) .toast{top:calc(max(10px, env(safe-area-inset-top)) + 320px)}}@media (orientation:landscape) and (max-height:500px){.banner{top:calc(max(10px, env(safe-area-inset-top)) + 40px)}.power-bar{top:calc(max(10px, env(safe-area-inset-top)) + 36px)}.hud:has(.banner.show) .toast{top:calc(max(10px, env(safe-area-inset-top)) + 170px)}}
