:root{color-scheme:dark;font-family:Inter,ui-sans-serif,system-ui,-apple-system,Segoe UI,sans-serif;--ink: #080d1b;--glass: rgba(13, 20, 37, .9);--ivory: #e7dfcf;--ivory-dim: #a9a798;--gold: #b79361;--gold-bright: #e0bf7b;--turquoise: #54e0d5;--violet: #aa58ed;--danger: #df5a98}*{box-sizing:border-box}html,body,#game-shell{width:100%;height:100%;margin:0;overflow:hidden;background:#070b16;overscroll-behavior:none}body{-webkit-user-select:none;user-select:none}#performance-overlay{position:fixed;z-index:20000;top:max(8px,env(safe-area-inset-top));left:max(8px,env(safe-area-inset-left));width:min(780px,calc(100vw - 16px));box-sizing:border-box;margin:0;padding:8px 10px;border:1px solid rgba(111,238,225,.5);border-radius:7px;background:#030710d6;color:#b9fff6;font:600 9px/1.28 ui-monospace,SFMono-Regular,Consolas,monospace;white-space:pre-wrap;pointer-events:none;contain:content}#performance-overlay[data-severity=yellow]{border-color:#e9d85f;color:#fff4ad}#performance-overlay[data-severity=orange]{border-color:#ff9f43;color:#ffd0a2}#performance-overlay[data-severity=red]{border-color:#ff526d;color:#ffc0ca;background:#26050deb}#mobile-debug-panel{position:fixed;z-index:20001;left:max(8px,env(safe-area-inset-left));bottom:max(8px,env(safe-area-inset-bottom));display:flex;flex-wrap:wrap;gap:5px;width:min(620px,calc(100vw - 16px));pointer-events:auto}#mobile-debug-panel button{min-height:34px;padding:5px 9px;border:1px solid rgba(111,229,215,.72);color:#eafaf5;background:#0a1526;font-size:10px;font-weight:900;letter-spacing:.04em;touch-action:manipulation}#mobile-debug-panel button.active{border-color:#ff6a5f;color:#ffd4ce;background:#2a0d16}#mobile-debug-panel pre{flex:1 0 100%;max-height:116px;margin:0;padding:6px;overflow:auto;border:1px solid rgba(111,229,215,.35);color:#c7eee8;background:#040a14f0;font:9px/1.25 ui-monospace,monospace;white-space:pre-wrap;-webkit-user-select:text;user-select:text;touch-action:pan-y}button,select,input{font:inherit}button{color:inherit}#game-shell{position:relative;isolation:isolate;height:var(--visual-viewport-height, 100dvh);min-width:1px;min-height:1px}#game-shell:after{content:"";position:absolute;inset:0;z-index:4;pointer-events:none;background:radial-gradient(ellipse at 50% 48%,transparent 52%,rgba(2,6,16,.46) 100%),linear-gradient(180deg,rgba(7,12,26,.2),transparent 20%,transparent 78%,rgba(5,9,20,.35));box-shadow:inset 0 0 0 1px #c7e5e017}#game-canvas{display:block;width:100%;height:100%;cursor:none;touch-action:none;-ms-touch-action:none;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}.hidden{display:none!important}.screen{position:absolute;inset:0;z-index:20}.eyebrow{margin:0;color:var(--turquoise);font-size:.7rem;font-weight:800;letter-spacing:.25em;text-transform:uppercase}.relic-panel{position:relative;border:1px solid rgba(211,189,137,.54);background:linear-gradient(135deg,rgba(231,223,207,.08),transparent 25%),linear-gradient(180deg,#131d31f0,#080e1cf0);box-shadow:inset 0 0 0 1px #ffffff0d,inset 0 -18px 45px #0000002e,0 18px 60px #00000061;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.relic-panel:before,.relic-panel:after{content:"";position:absolute;width:12px;height:12px;border-color:var(--gold-bright);opacity:.72}.relic-panel:before{inset:5px auto auto 5px;border-top:1px solid;border-left:1px solid}.relic-panel:after{inset:auto 5px 5px auto;border-right:1px solid;border-bottom:1px solid}.primary-button,.secondary-button{min-height:48px;padding:.8rem 1.45rem;border:1px solid var(--gold);clip-path:polygon(10px 0,calc(100% - 10px) 0,100% 10px,100% calc(100% - 10px),calc(100% - 10px) 100%,10px 100%,0 calc(100% - 10px),0 10px);cursor:pointer;font-size:.76rem;font-weight:900;letter-spacing:.14em;text-transform:uppercase;transition:filter .16s ease,transform .16s ease,box-shadow .16s ease}.primary-button{color:#081322;background:linear-gradient(110deg,#d9c99c,#61ddd0 52%,#d8bd7c);box-shadow:0 0 34px #4bdacf2b}.secondary-button{background:#111a2cd1;color:var(--ivory)}.primary-button:hover,.secondary-button:hover{filter:brightness(1.13);transform:translateY(-1px);box-shadow:0 0 32px #53e2d740}.loading-screen{display:grid;place-content:center;justify-items:center;gap:18px;background:radial-gradient(circle at 50% 45%,rgba(68,154,157,.14),transparent 30%),#080d1b;color:var(--ivory)}.loading-screen p{margin:0;font-family:Georgia,serif;font-size:1.35rem;letter-spacing:.08em}.loading-screen small{color:var(--ivory-dim);letter-spacing:.12em}.loading-track{width:min(440px,72vw);height:7px;padding:2px;border:1px solid rgba(203,184,134,.6);background:#090e1c}.loading-track span{display:block;width:0;height:100%;background:linear-gradient(90deg,var(--gold),var(--turquoise));transition:width .18s ease;box-shadow:0 0 16px var(--turquoise)}.loading-glyph{display:flex;gap:12px;height:58px;align-items:center}.loading-glyph i{width:20px;height:38px;background:linear-gradient(150deg,#d5f7f4,#38b9cc 55%,#283a7d);clip-path:polygon(50% 0,100% 38%,70% 100%,30% 100%,0 38%);animation:resonate 1.5s ease-in-out infinite}.loading-glyph i:nth-child(2){animation-delay:-.18s;background:linear-gradient(150deg,#ffe9bd,#c78638 60%,#50331f)}.loading-glyph i:nth-child(3){animation-delay:-.36s;background:linear-gradient(150deg,#f5ddff,#9c4bdd 60%,#352056)}.loading-glyph i:nth-child(4){animation-delay:-.54s}.loading-glyph i:nth-child(5){animation-delay:-.72s}@keyframes resonate{50%{transform:translateY(-9px);filter:brightness(1.35)}}.critical-error{display:grid;place-items:center;padding:4vw;background:#04070ff2}.critical-error .relic-panel{max-width:760px;padding:2rem}.critical-error h2{font-family:Georgia,serif;font-size:2rem}.critical-error pre{white-space:pre-wrap;color:#ffb9c9;-webkit-user-select:text;user-select:text}.start-screen{padding:clamp(30px,5vw,88px);isolation:isolate;background:#050a18;color:var(--ivory)}.start-screen:before{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;background:linear-gradient(90deg,rgba(5,10,24,.91) 0%,rgba(5,10,24,.6) 31%,transparent 60%),linear-gradient(0deg,rgba(4,8,18,.48),transparent 45%)}.title-key-art{position:absolute;inset:0;z-index:0;width:100%;height:100%;object-fit:cover;pointer-events:none}.start-screen>:not(.title-key-art){z-index:2}.title-copy{max-width:610px;margin-top:3vh;text-shadow:0 4px 28px #040813}.title-copy h1{margin:.35rem 0 .7rem;font-family:Georgia,Times New Roman,serif;font-size:clamp(3.7rem,7.4vw,7.6rem);font-weight:500;line-height:.82;letter-spacing:-.06em}.title-copy h1 span{display:block;color:var(--ivory)}.title-copy h1:first-letter{color:var(--turquoise)}.tagline{max-width:500px;margin:1.1rem 0 0;color:#c7d8d6;font-family:Georgia,serif;font-size:clamp(1rem,1.5vw,1.35rem);line-height:1.45}.launch-panel{position:absolute;right:clamp(30px,5vw,88px);bottom:clamp(28px,5vh,64px);width:min(560px,calc(100vw - 60px));padding:1.2rem 1.35rem 1.25rem}.story{margin:0 0 1rem;color:#d4d7cf;font-size:.88rem;line-height:1.5}.controls-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.controls-grid div{display:flex;align-items:center;gap:8px;min-width:0;padding:7px;border:1px solid rgba(135,196,188,.16);background:#050c1875}kbd{min-width:24px;padding:3px 6px;border:1px solid rgba(214,195,145,.62);border-bottom-color:#d6c3914d;border-radius:2px;color:#efe7d4;background:#172236eb;box-shadow:inset 0 -2px #00000040;font-size:.64rem;font-weight:900;text-align:center}.controls-grid span{color:#aebdc1;font-size:.68rem}.control-oath{margin:.8rem 0 1rem;color:#77b9b3;font-size:.64rem;font-weight:750;letter-spacing:.08em;text-transform:uppercase}.launch-actions{display:grid;grid-template-columns:1fr auto;gap:8px}.launch-panel .primary-button{width:100%}.hud{position:absolute;inset:0;z-index:10;pointer-events:none;color:var(--ivory)}.wave-reliquary,.objective-card,.boss-panel,.announcement,.player-panel,.ability-dock{pointer-events:auto}.wave-reliquary{position:absolute;top:24px;left:50%;min-width:210px;padding:9px 30px 10px;transform:translate(-50%);text-align:center;background:linear-gradient(90deg,transparent,rgba(9,15,29,.94) 20%,rgba(9,15,29,.94) 80%,transparent);filter:drop-shadow(0 9px 22px rgba(0,0,0,.34))}.wave-reliquary:before{content:"";position:absolute;left:18px;right:18px;bottom:0;height:1px;background:linear-gradient(90deg,transparent,var(--gold),transparent)}.wave-reliquary span{display:block;color:#f1e8d4;font-size:.72rem;font-weight:900;letter-spacing:.2em}.wave-reliquary small{color:#78c8c1;font-size:.58rem;letter-spacing:.12em;text-transform:uppercase}.objective-card{position:absolute;top:25px;right:28px;display:flex;gap:10px;align-items:center;padding:9px 13px;border-right:2px solid var(--turquoise);background:linear-gradient(90deg,transparent,rgba(7,13,27,.86) 18%)}.objective-card i{width:18px;height:26px;clip-path:polygon(50% 0,100% 40%,70% 100%,30% 100%,0 40%);background:linear-gradient(#d7ffff,#32c8c2 55%,#365a7f);box-shadow:0 0 14px #43d7ce}.objective-card small{display:block;color:var(--gold-bright);font-size:.5rem;letter-spacing:.2em}.objective-card span{font-family:Georgia,serif;font-size:.74rem}.boss-panel{position:absolute;top:80px;left:50%;width:min(720px,62vw);transform:translate(-50%)}.boss-heading{display:flex;align-items:center;gap:10px;padding:6px 12px;background:linear-gradient(90deg,transparent,rgba(10,13,27,.88) 12%,rgba(10,13,27,.88) 88%,transparent)}.boss-heading .art-icon{width:40px;height:40px}.boss-heading div{flex:1}.boss-heading small{display:block;color:#b168da;font-size:.48rem;letter-spacing:.22em}.boss-heading strong{font-family:Georgia,serif;font-size:.9rem;letter-spacing:.1em}.boss-heading em{color:#dd9eff;font-size:.6rem;font-style:normal;font-weight:900;letter-spacing:.16em}.boss-track{height:12px;padding:3px;border:1px solid rgba(213,182,124,.5);clip-path:polygon(8px 0,calc(100% - 8px) 0,100% 50%,calc(100% - 8px) 100%,8px 100%,0 50%);background:#040710e6}.boss-track i{display:block;width:100%;height:100%;transform-origin:left center;background:linear-gradient(90deg,#47155d,#af4bf0 55%,#e6a6ff);box-shadow:0 0 16px #aa58ed;transition:transform .22s ease}.announcement{position:absolute;top:24%;left:50%;width:min(780px,calc(100vw - 64px));padding:15px 24px;box-sizing:border-box;transform:translate(-50%);background:linear-gradient(90deg,transparent,rgba(9,15,30,.88) 18%,rgba(9,15,30,.88) 82%,transparent);color:#f3ead8;font-family:Georgia,serif;font-size:clamp(1rem,2vw,1.7rem);letter-spacing:.16em;text-align:center;text-shadow:0 0 20px rgba(89,224,212,.38);white-space:nowrap;animation:announce .3s ease-out both}@keyframes announce{0%{opacity:0;transform:translate(-50%,-12px) scale(.96)}}.player-panel{position:absolute;left:24px;bottom:22px;display:flex;align-items:center;width:340px;min-height:102px;padding:10px 14px 10px 102px}.player-panel.test-mode-health{border-color:#df68ff;box-shadow:inset 0 0 0 1px #ffcf5c59,0 0 24px #d54bff6b}.player-panel.test-mode-health .health-track{box-shadow:inset 0 0 0 1px #ffcf5c,0 0 10px #d34cffb3}.portrait-art{position:absolute;left:8px;bottom:7px;width:88px;height:88px}.player-stats{width:100%}.player-name{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:7px}.player-name strong{font-family:Georgia,serif;letter-spacing:.18em}.player-name span{color:var(--gold-bright);font-size:.6rem;font-weight:900;letter-spacing:.13em}.stat-row{display:grid;grid-template-columns:42px 1fr 62px;align-items:center;gap:6px;margin:5px 0}.stat-row{position:relative}.stat-row small{color:#99b8b5;font-size:.5rem;font-weight:900;letter-spacing:.13em}.stat-row b{color:#d8dfd8;font-size:.58rem;font-variant-numeric:tabular-nums;text-align:right}.bar{height:8px;padding:2px;background:#060b17;box-shadow:inset 0 0 0 1px #d8c8a040}.bar i{display:block;width:100%;height:100%;transform-origin:left center;transition:transform .18s ease}.health-track i{background:linear-gradient(90deg,#387d74,#74dfbd 70%,#e6e0b9);box-shadow:0 0 9px #54e0d561}.xp-track i{background:linear-gradient(90deg,#4d347c,#9c65d4 65%,#d9a0ff)}#shard-count{position:absolute;right:0;bottom:-9px;color:#b69bcd;font-size:.42rem;font-weight:800;letter-spacing:.05em}.second-wind-state{position:absolute;left:80px;bottom:-15px;color:#ffd768;font-size:.46rem;font-weight:900;letter-spacing:.11em;text-shadow:0 0 10px rgba(255,199,82,.7)}.second-wind-state.consumed{color:#788684;text-shadow:none}.xp-track.power-pulse{animation:power-pulse .7s ease-out}@keyframes power-pulse{0%{filter:brightness(2);box-shadow:0 0 24px #d9a0ff}to{filter:none;box-shadow:none}}.test-mode-infinity{position:absolute;right:-7px;top:-10px;color:#ffe074;font-size:1.25rem;font-weight:900;text-shadow:0 0 10px #df54ff}.blocked-feedback{position:absolute;right:10px;top:-24px;padding:3px 8px;border:1px solid #f0cf68;color:#fff0a6;background:#331949e6;font-size:.58rem;font-weight:900;letter-spacing:.12em;animation:blocked-pop .18s ease-out both}@keyframes blocked-pop{0%{opacity:0;transform:translateY(7px) scale(.8)}}.test-mode-badge{position:absolute;left:50%;top:74px;z-index:30;transform:translate(-50%);padding:7px 18px;border:1px solid #e0b95a;color:#ffeaa1;background:linear-gradient(90deg,#54146ff0,#851b8bf5,#54146ff0);box-shadow:0 0 24px #de45ff7a,inset 0 0 10px #ffd65c26;font-size:.64rem;font-weight:950;letter-spacing:.16em;white-space:nowrap}.ability-dock{position:absolute;left:50%;bottom:18px;display:flex;gap:6px;align-items:flex-end;padding:8px 10px;transform:translate(-50%)}.ability-slot{--cooldown: 0;position:relative;width:78px;height:88px;overflow:hidden;border:1px solid rgba(193,166,109,.48);background:linear-gradient(#151d2e,#090e1b);box-shadow:inset 0 0 18px #00000061;transition:transform 90ms ease,border-color 90ms ease,box-shadow 90ms ease}.ability-slot:before{content:"";position:absolute;inset:3px;border:1px solid rgba(103,218,207,.12);pointer-events:none}.ability-slot .art-icon{position:absolute;left:11px;top:8px;width:48px;height:48px}.ability-slot kbd{position:absolute;z-index:4;left:3px;top:3px;min-width:19px;padding:2px 4px}.ability-slot small{position:absolute;z-index:4;left:0;right:0;bottom:5px;color:#aebfbd;font-size:.46rem;font-weight:900;letter-spacing:.08em;text-align:center}.ability-slot>em{position:absolute;z-index:5;inset:27px 0 auto;color:#fff;font-size:.68rem;font-style:normal;font-weight:900;text-align:center;text-shadow:0 1px 4px #000}.cooldown-mask{position:absolute;z-index:3;inset:0;transform:translateY(calc((1 - var(--cooldown)) * 100%));background:#03060ebf;border-top:1px solid rgba(185,118,232,.7);transition:transform 80ms linear}.ability-slot.ready{border-color:#67e3d5cc;box-shadow:inset 0 0 14px #46d7ca1f,0 0 12px #46d7ca17}.ability-slot.active{transform:translateY(-5px) scale(1.04);border-color:#f0c36f;box-shadow:inset 0 0 18px #f0c36f38,0 0 18px #f0c36f3d}.ability-slot.unavailable:not(.active) .art-icon{filter:grayscale(.82) brightness(.55)}.shield-slot.active{border-color:#7fdcff;box-shadow:inset 0 0 20px #52baff4d,0 0 20px #e8c45e40}.duration-track{position:absolute;z-index:7;left:5px;right:5px;bottom:1px;height:3px;background:#030812cc}.duration-track i{display:block;width:100%;height:100%;transform:scaleX(0);transform-origin:left center;background:linear-gradient(90deg,#e8c76e,#69ccff);box-shadow:0 0 6px #69ccff;transition:transform 80ms linear}.ability-slot.buffered:after{content:"";position:absolute;z-index:6;inset:2px;border:2px solid rgba(106,241,222,.9);animation:buffer-pulse .22s ease-in-out infinite alternate;pointer-events:none}.ability-slot.finisher{border-color:#ffdc7f;filter:brightness(1.14)}@keyframes buffer-pulse{to{opacity:.35;transform:scale(.94)}}.primary-slot{width:86px;border-color:#5dd6cc94}.dash-slot{display:flex;align-items:center;gap:4px;width:104px;height:66px;padding:5px;border-left:1px solid rgba(191,167,112,.5);background:#070c19b8}.dash-slot .art-icon{width:52px;height:52px;flex:0 0 auto;opacity:.5}.dash-slot.ready .art-icon{opacity:1;filter:drop-shadow(0 0 7px rgba(84,224,213,.48))}.dash-slot div{display:grid;gap:4px}.dash-slot small{color:#9fb9b7;font-size:.46rem;font-weight:900}.dash-slot em{position:absolute;right:8px;bottom:6px;color:var(--turquoise);font-size:.48rem;font-style:normal}.art-icon{--icon-x: 0%;--icon-y: 0%;display:inline-block;background-image:url(/assets/ui/warrior-system.compact.png);background-repeat:no-repeat;background-size:400% 100%;background-position:var(--icon-x) var(--icon-y);filter:drop-shadow(0 5px 8px rgba(0,0,0,.48))}.icon-dodge{--icon-x: 100%;--icon-y: 50%}.icon-vitality{--icon-x: 0%;--icon-y: 0%}.icon-power{--icon-x: 33.333%;--icon-y: 0%}.icon-tempo{--icon-x: 66.666%;--icon-y: 0%}.icon-boss{--icon-x: 100%;--icon-y: 0%}.icon-portrait{background-image:url(/assets/ui/warrior-gate-ui.compact.png);background-size:200% 100%}.icon-portrait{--icon-x: 0%;--icon-y: 0%}.icon-combo,.icon-heavy,.icon-shield{background-image:url(/assets/ui/warrior-abilities.compact.png);background-size:300% 100%}.icon-combo{--icon-x: 0%;--icon-y: 0%}.icon-heavy{--icon-x: 50%;--icon-y: 0%}.icon-shield{--icon-x: 100%;--icon-y: 0%}.icon-dodge{--icon-x: 66.666%;--icon-y: 0%}.overlay-screen{display:grid;place-items:center;padding:24px;color:var(--ivory);background:radial-gradient(circle at 50% 45%,rgba(57,98,102,.16),transparent 36%),#040812cc;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);pointer-events:auto}.level-screen{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:clamp(10px,1.5vh,17px);padding:clamp(16px,2.1vw,34px);overflow:hidden}.level-heading{text-align:center}.level-heading h2{margin:.28rem 0 .35rem;font-family:Georgia,serif;font-size:clamp(2.2rem,3.4vw,3.7rem);font-weight:500}.level-heading span{color:#aebcb9;font-size:clamp(.78rem,1vw,.94rem)}.upgrade-cards{display:grid;width:min(88vw,1240px);grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(20px,1.5vw,26px);margin-inline:auto}.upgrade-card{display:grid;grid-template-rows:auto minmax(0,1fr);width:100%;height:clamp(480px,58vh,525px);min-height:0;padding:0;color:var(--ivory);cursor:pointer;text-align:left;overflow:hidden;border-color:color-mix(in srgb,var(--rarity-color) 55%,transparent);transition:transform .18s ease,border-color .18s ease,filter .18s ease,box-shadow .18s ease}.upgrade-card:after{content:"";position:absolute;inset:0;pointer-events:none;border:1px solid color-mix(in srgb,var(--rarity-color) 62%,transparent);box-shadow:inset 0 0 26px color-mix(in srgb,var(--rarity-color) 13%,transparent)}.upgrade-card:hover:not(:disabled),.upgrade-card:focus-visible{transform:translateY(-8px);border-color:var(--rarity-color);filter:brightness(1.1);box-shadow:0 12px 40px color-mix(in srgb,var(--rarity-color) 28%,transparent),0 0 0 3px #75e0d738;outline:none}.upgrade-card:active:not(:disabled){transform:translateY(-3px) scale(.992)}.upgrade-card:disabled{color:var(--ivory);cursor:wait;opacity:.72}.upgrade-card.selected{z-index:2;opacity:1;border-color:var(--rarity-color);animation:mastery-selected .18s ease-out both;box-shadow:0 0 48px color-mix(in srgb,var(--rarity-color) 42%,transparent)}@keyframes mastery-selected{50%{transform:translateY(-10px) scale(1.025);filter:brightness(1.24)}to{transform:translateY(-6px) scale(1.012);filter:brightness(1.14)}}.upgrade-card.rarity-epic:after{animation:rarity-breathe 2.2s ease-in-out infinite}.upgrade-card.rarity-legendary:after{animation:rarity-breathe 1.35s ease-in-out infinite;box-shadow:inset 0 0 34px #ffc95f38,0 0 24px #ffc95f21}@keyframes rarity-breathe{50%{opacity:.55;filter:brightness(1.35)}}.card-art{display:grid;place-items:center;width:100%;aspect-ratio:5 / 3;min-height:0;overflow:hidden;background-image:linear-gradient(180deg,transparent 58%,rgba(4,8,18,.78));background-repeat:no-repeat;background-size:100% 100%;border-bottom:1px solid color-mix(in srgb,var(--rarity-color) 38%,transparent);image-rendering:auto}.card-art-attack{background-position:center,left top}.card-art-heavy{background-position:center,right top}.card-art-shield{background-position:center,left bottom}.card-art-survival{background-position:center,right bottom}.card-art .art-icon{display:none}.upgrade-card-body{display:grid;grid-template-rows:auto auto auto auto minmax(0,1fr) auto;min-height:0;padding:14px 18px 15px}.upgrade-card-body>small{color:var(--turquoise);font-size:clamp(12px,.72vw,13px);font-weight:900;letter-spacing:.15em}.upgrade-card strong{display:block;min-height:46px;margin:5px 0 2px;font-family:Georgia,serif;font-size:clamp(23px,1.45vw,27px);line-height:1.02}.upgrade-card p{margin:7px 0 5px;color:#c4cec9;font-size:clamp(15px,.9vw,16px);line-height:1.38}.rank-line{color:var(--rarity-color);font-size:clamp(12px,.72vw,13px);font-weight:900;letter-spacing:.11em}.current-effect{min-height:31px;margin-top:5px;padding:5px 8px;border-left:2px solid color-mix(in srgb,var(--rarity-color) 45%,transparent);color:#aab8b4;background:#050a146b;font-size:clamp(12px,.72vw,13px);line-height:1.35}.current-effect b,.upgrade-card p>b{color:var(--rarity-color);font-size:11px;letter-spacing:.08em}.current-effect.new-effect{color:var(--rarity-color);font-weight:900;letter-spacing:.08em}.upgrade-card-footer{display:flex;align-items:flex-end;justify-content:space-between;gap:10px;margin-top:auto}.upgrade-tags{display:flex;flex-wrap:wrap;gap:5px}.upgrade-tags span{padding:3px 6px;border:1px solid color-mix(in srgb,var(--rarity-color) 35%,transparent);color:#c4d2cf;background:#070d19a3;font-size:clamp(11px,.65vw,12px);font-weight:800;text-transform:uppercase}.upgrade-card em{flex:0 0 auto;color:var(--gold-bright);font-size:clamp(15px,.9vw,17px);font-style:normal;font-weight:900;letter-spacing:.12em}.upgrade-indicators{display:none;justify-content:center;gap:9px;min-height:12px}.upgrade-indicator{width:10px;height:10px;padding:0;border:1px solid rgba(110,224,214,.55);border-radius:50%;background:#091423e0;cursor:pointer}.upgrade-indicator.active{border-color:var(--gold-bright);background:var(--turquoise);box-shadow:0 0 10px #54e0d5a8}.settings-modal{width:min(700px,94vw);padding:28px}.settings-modal h2,.end-modal h2{margin:.35rem 0 1.2rem;font-family:Georgia,serif;font-size:2.8rem;font-weight:500}.settings-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px 20px}.settings-grid label{display:grid;gap:6px;color:#bdc7c2;font-size:.7rem;font-weight:800;letter-spacing:.06em}.settings-grid select,.settings-grid input[type=range]{width:100%;accent-color:var(--turquoise)}.settings-grid select{padding:8px;border:1px solid rgba(195,170,116,.45);color:var(--ivory);background:#10192b}.settings-grid .check-row{display:flex;align-items:center;gap:8px}.settings-scroll{max-height:min(66vh,610px);overflow:auto;padding:2px 6px 8px 2px}.touch-settings{display:grid;gap:10px;margin-top:16px;padding:13px;border:1px solid rgba(89,219,207,.3);background:#06121fad}.touch-settings-heading{display:grid;gap:3px}.touch-settings-heading strong{color:var(--turquoise);font-size:.66rem;letter-spacing:.12em;text-transform:uppercase}.touch-settings-heading span{color:#9eb6b2;font-size:.62rem}.mobile-controls{--touch-opacity: .78;display:none;position:fixed;inset:0;z-index:15;pointer-events:none;touch-action:none;-ms-touch-action:none;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}body[data-control-interface=touch][data-game-mode=playing] .mobile-controls[aria-hidden=false]{display:block}.touch-action-cluster{position:absolute;right:max(16px,calc(env(safe-area-inset-right) + 12px));bottom:max(16px,calc(env(safe-area-inset-bottom) + 12px));width:218px;height:178px;pointer-events:auto;opacity:var(--touch-opacity)}.mobile-controls[data-handedness=left] .touch-action-cluster{right:auto;left:max(16px,calc(env(safe-area-inset-left) + 12px));transform:scaleX(-1)}.touch-action{--cooldown: 0;position:absolute;display:grid;place-items:center;width:68px;height:68px;padding:5px;overflow:hidden;border:1px solid rgba(221,193,128,.68);border-radius:50%;color:var(--ivory);background:radial-gradient(circle at 42% 35%,#2b485bf2,#070d1cf0 70%);box-shadow:inset 0 0 0 3px #ffffff0a,0 5px 20px #0000006b;pointer-events:auto;touch-action:none;-webkit-tap-highlight-color:transparent}.mobile-controls[data-handedness=left] .touch-action{transform:scaleX(-1)}.touch-action .art-icon{width:44px;height:44px}.touch-action small{position:absolute;z-index:5;bottom:4px;color:#eef6ef;font-size:8px;font-weight:950;letter-spacing:.08em;text-shadow:0 1px 3px #000}.touch-action em{position:absolute;z-index:6;inset:25px 0 auto;color:#fff;font-size:11px;font-style:normal;font-weight:950;text-align:center;text-shadow:0 1px 4px #000}.touch-cooldown{position:absolute;z-index:4;inset:0;transform:translateY(calc((1 - var(--cooldown)) * 100%));background:#02050ec2;border-top:1px solid rgba(188,118,236,.8)}.touch-action.ready{border-color:#5febdae6;box-shadow:inset 0 0 14px #54e0d52e,0 0 13px #54e0d529}.touch-action.active,.touch-action.pressed{filter:brightness(1.2);transform:scale(.94);border-color:var(--gold-bright)}.mobile-controls[data-handedness=left] .touch-action.active,.mobile-controls[data-handedness=left] .touch-action.pressed{transform:scaleX(-1) scale(.94)}.touch-action.unavailable .art-icon{filter:grayscale(.8) brightness(.55)}.touch-primary{right:0;bottom:0;width:88px;height:88px}.touch-primary .art-icon{width:57px;height:57px}.touch-heavy{right:78px;top:0}.touch-shield{left:0;bottom:4px}.touch-dodge{right:0;top:0}.mobile-controls[data-button-size=small] .touch-action-cluster{transform:scale(.88);transform-origin:bottom right}.mobile-controls[data-button-size=large] .touch-action-cluster{transform:scale(1.12);transform-origin:bottom right}.mobile-controls[data-handedness=left][data-button-size=small] .touch-action-cluster{transform:scaleX(-1) scale(.88);transform-origin:bottom left}.mobile-controls[data-handedness=left][data-button-size=large] .touch-action-cluster{transform:scaleX(-1) scale(1.12);transform-origin:bottom left}.touch-pause-button{position:absolute;top:max(10px,calc(env(safe-area-inset-top) + 8px));right:max(12px,calc(env(safe-area-inset-right) + 10px));width:46px;height:46px;padding:0;border:1px solid rgba(208,188,140,.6);border-radius:50%;color:var(--ivory);background:#08101fc7;font-weight:900;pointer-events:auto;touch-action:none}.mobile-controls[data-handedness=left] .touch-pause-button{right:auto;left:max(12px,calc(env(safe-area-inset-left) + 10px))}.dynamic-joystick{position:fixed;width:116px;height:116px;margin:-58px 0 0 -58px;border:2px solid rgba(112,231,218,.48);border-radius:50%;opacity:0;transform:scale(.8);transition:opacity .14s ease,transform .14s ease;pointer-events:none}.dynamic-joystick:after{content:"";position:absolute;inset:16px;border:1px dashed rgba(224,196,124,.4);border-radius:50%}.dynamic-joystick>i{position:absolute;inset:47px;border-radius:50%;background:#5de0d366}.dynamic-joystick>b{position:absolute;left:33px;top:33px;width:48px;height:48px;border:1px solid rgba(234,211,159,.72);border-radius:50%;background:radial-gradient(circle,#64e2d6c7,#133443d1);box-shadow:0 0 18px #54e0d538}.dynamic-joystick.visible{opacity:var(--touch-opacity);transform:scale(1)}.dynamic-joystick.resting{opacity:calc(var(--touch-opacity) * .42)}.orientation-screen{z-index:20000;display:grid;place-items:center;padding:max(24px,env(safe-area-inset-top)) max(24px,env(safe-area-inset-right)) max(24px,env(safe-area-inset-bottom)) max(24px,env(safe-area-inset-left));color:var(--ivory);background:radial-gradient(circle at 50% 40%,rgba(53,130,134,.22),transparent 36%),#070b16}.orientation-screen .relic-panel{width:min(560px,92vw);padding:28px;text-align:center}.orientation-screen h2{margin:8px 0;font-family:Georgia,serif;font-size:clamp(1.8rem,8vw,3rem);font-weight:500}.orientation-screen p:last-child{color:#aebfba}.rotate-device{display:block;margin-bottom:8px;color:var(--turquoise);font-size:3rem}.controls-settings{display:grid;gap:10px;margin-top:18px;padding:13px;border:1px solid rgba(95,206,197,.24);background:#070e1c94}.controls-settings-heading{display:flex;align-items:center;justify-content:space-between;gap:12px}.controls-settings-heading>div{display:grid;gap:3px}.controls-settings strong,.code-section strong{color:var(--gold-bright);font-size:.66rem;letter-spacing:.12em;text-transform:uppercase}.controls-settings span,.code-section span{color:#aebfbd;font-size:.65rem;line-height:1.5}.controls-settings-heading button{min-width:178px;padding:8px 10px;font-size:.54rem}.control-rows{display:grid;gap:6px}.control-row{display:grid;grid-template-columns:minmax(126px,1fr) minmax(112px,.85fr) minmax(112px,.85fr) 38px;align-items:center;gap:7px}.control-row-name{color:#dbe6df;font-size:.65rem;font-weight:800}.binding-button,.restore-control{min-height:32px;border:1px solid rgba(108,226,216,.26);color:#c9dedb;background:#0f1b2dd6;cursor:pointer;font:800 .56rem/1.2 Inter,system-ui,sans-serif;letter-spacing:.05em}.binding-button:hover,.restore-control:hover{border-color:var(--turquoise);color:#fff}.binding-button.unassigned{color:#7e8e8d;border-style:dashed}.restore-control{padding:0;font-size:.86rem}.control-status{min-height:1em;margin:0;color:#76e5d8;font-size:.58rem}.binding-capture{z-index:12000;place-items:center;background:#030710d1;-webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px)}.binding-dialog{width:min(520px,90vw);padding:28px;text-align:center}.binding-dialog h2{margin:8px 0;font-family:Georgia,serif;color:var(--ivory)}.binding-dialog>p:not(.eyebrow){color:#b8c9c5}.binding-conflict-actions{display:flex;gap:8px;justify-content:center;margin-top:20px}.binding-conflict-actions button{min-width:112px}.code-section{display:grid;gap:10px;margin-top:14px;padding:14px;border:1px solid rgba(213,176,100,.34);background:linear-gradient(135deg,#74268b1f,#08111fb8)}.code-section>div:first-child{display:grid;gap:4px}.code-entry{display:flex;gap:8px}.code-entry input{flex:1;min-width:0;padding:10px 12px;border:1px solid rgba(119,209,207,.42);color:var(--ivory);background:#091426;outline:none;-webkit-user-select:text;user-select:text}.code-entry input:focus{border-color:#75e0d7;box-shadow:0 0 0 2px #5cdfd51f}.code-entry button,#disable-test-mode{min-height:39px;padding:.55rem .9rem}#test-code-result{min-height:1.1em;margin:0;color:#8fd7cf;font-size:.66rem;font-weight:800}#test-code-result[data-status=error]{color:#ff9bb6}#test-code-result[data-status=success]{color:#ffe07e}#disable-test-mode{justify-self:start}.modal-actions{display:flex;gap:10px;margin-top:22px}.modal-actions button{flex:1}.end-modal{width:min(620px,94vw);padding:30px;text-align:center}.end-emblem{width:120px;height:120px}.end-modal>p:not(.eyebrow){color:#bac7c2;line-height:1.6}.end-stats{display:grid;grid-template-columns:repeat(3,1fr);margin:24px 0;border-top:1px solid rgba(196,170,115,.3);border-bottom:1px solid rgba(196,170,115,.3)}.end-stats div{padding:14px 8px}.end-stats div+div{border-left:1px solid rgba(196,170,115,.24)}.end-stats strong{display:block;color:var(--turquoise);font-family:Georgia,serif;font-size:1.6rem}.end-stats span{color:#99aaa6;font-size:.56rem;font-weight:800;letter-spacing:.16em;text-transform:uppercase}.end-modal .primary-button{width:100%}.game-cursor{position:fixed;z-index:100;left:-15px;top:-15px;width:30px;height:30px;pointer-events:none;will-change:transform}.game-cursor:before,.game-cursor:after{content:"";position:absolute;inset:50% auto auto 50%;background:#c8f5ee;box-shadow:0 0 8px var(--turquoise)}.game-cursor:before{width:20px;height:1px;transform:translate(-50%,-50%)}.game-cursor:after{width:1px;height:20px;transform:translate(-50%,-50%)}.game-cursor i{position:absolute;inset:5px;border:1px solid rgba(224,191,123,.9);transform:rotate(45deg)}.game-cursor b{position:absolute;inset:12px;border-radius:50%;background:#fff;box-shadow:0 0 8px var(--turquoise)}body[data-quality=low] .objective-card,body[data-quality=low] #game-shell:after{-webkit-backdrop-filter:none;backdrop-filter:none}body[data-quality=low] .relic-panel,body[data-control-interface=touch][data-game-mode=playing][data-quality=medium] .hud .relic-panel,body[data-control-interface=touch][data-game-mode=playing][data-quality=low] .hud .relic-panel{-webkit-backdrop-filter:none;backdrop-filter:none}body[data-control-interface=touch][data-game-mode=playing] #game-shell:after{display:none}body[data-control-interface=touch][data-game-mode=playing] .hud .relic-panel{-webkit-backdrop-filter:none;backdrop-filter:none}body[data-control-interface=touch][data-game-mode=playing] .wave-reliquary,body[data-control-interface=touch][data-game-mode=playing] .art-icon{filter:none}body[data-control-interface=touch][data-game-mode=playing] .bar i,body[data-control-interface=touch][data-game-mode=playing] .boss-track i,body[data-control-interface=touch][data-game-mode=playing] .duration-track i{will-change:auto}body[data-control-interface=touch][data-game-mode=playing][data-performance-priority=fluidity] .objective-card i,body[data-control-interface=touch][data-game-mode=playing][data-performance-priority=fluidity] .health-track i,body[data-control-interface=touch][data-game-mode=playing][data-performance-priority=fluidity] .test-mode-badge,body[data-control-interface=touch][data-game-mode=playing][data-performance-priority=fluidity] .touch-action,body[data-control-interface=touch][data-game-mode=playing][data-performance-priority=fluidity] .dynamic-joystick>b{box-shadow:none}body[data-control-interface=touch][data-game-mode=playing][data-performance-priority=fluidity] .touch-action.active,body[data-control-interface=touch][data-game-mode=playing][data-performance-priority=fluidity] .touch-action.pressed{filter:none}body[data-control-interface=touch][data-game-mode=playing][data-performance-priority=fluidity] .announcement{text-shadow:none}body[data-mobile-benchmark-stage=A] #hud,body[data-mobile-benchmark-stage=A] #mobile-controls{visibility:hidden!important}body[data-pass5-hud-off=true] #hud,body[data-pass5-hud-off=true] #mobile-controls{display:none!important;visibility:hidden!important}body[data-control-interface=touch][data-game-mode=playing][data-quality=medium] .wave-reliquary,body[data-control-interface=touch][data-game-mode=playing][data-quality=low] .wave-reliquary{filter:none}body[data-control-interface=touch][data-game-mode=playing][data-quality=low] .ability-slot,body[data-control-interface=touch][data-game-mode=playing][data-quality=low] .touch-action{box-shadow:inset 0 0 0 1px #ffffff0a,0 4px 10px #0000004d}.player-panel,.ability-dock,.wave-reliquary,.boss-panel{contain:layout paint}.bar i,.boss-track i,.duration-track i{will-change:transform}body[data-quality=low] #game-shell:after{background:linear-gradient(180deg,rgba(7,12,26,.12),transparent 24%,transparent 80%,rgba(5,9,20,.22))}body[data-control-interface=touch] .game-cursor,body[data-control-interface=touch] .ability-dock{display:none!important}body[data-control-interface=touch] .objective-card{display:none}body[data-control-interface=touch] .player-panel{left:max(10px,env(safe-area-inset-left));top:max(54px,calc(env(safe-area-inset-top) + 46px));bottom:auto;transform:scale(.58);transform-origin:top left}body[data-control-interface=touch] .wave-reliquary{top:max(8px,env(safe-area-inset-top))}body[data-control-interface=touch] .boss-panel{top:max(55px,calc(env(safe-area-inset-top) + 48px));width:min(620px,58vw)}body[data-control-interface=touch] .test-mode-badge{top:max(48px,calc(env(safe-area-inset-top) + 42px));font-size:.52rem}body[data-control-interface=touch] .settings-modal button,body[data-control-interface=touch] .settings-modal select,body[data-control-interface=touch] .settings-modal input[type=text]{min-height:44px;font-size:16px;touch-action:manipulation}body[data-control-interface=touch] .settings-scroll{overscroll-behavior:contain;-webkit-overflow-scrolling:touch;touch-action:pan-y}@media(max-width:1320px){.player-panel{transform:scale(.82);transform-origin:bottom left}.ability-dock{transform:translate(-50%) scale(.9);transform-origin:bottom center}}@media(max-width:1230px){.upgrade-cards{width:100%;grid-template-columns:none;grid-auto-flow:column;grid-auto-columns:clamp(340px,76vw,380px);justify-content:start;gap:22px;overflow-x:auto;overflow-y:hidden;padding:8px max(5vw,20px) 10px;scroll-snap-type:x mandatory;scroll-padding-inline:max(5vw,20px);scrollbar-color:rgba(107,220,211,.55) rgba(7,13,25,.62);touch-action:pan-x}.upgrade-card{height:clamp(480px,62vh,525px);scroll-snap-align:center}.upgrade-indicators{display:flex}}@media(max-width:1050px),(max-height:700px){.objective-card{display:none}.player-panel{left:12px;bottom:10px;transform:scale(.68);transform-origin:bottom left}.ability-dock{left:58%;bottom:8px;transform:translate(-50%) scale(.72);transform-origin:bottom center}.boss-panel{top:62px;width:min(700px,76vw)}.wave-reliquary{top:10px}.launch-panel{bottom:18px;right:18px}.controls-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:720px){.start-screen{padding:24px;background-position:42% center}.title-copy h1{font-size:3.5rem}.tagline{font-size:.9rem}.launch-panel{left:18px;right:18px;bottom:18px;width:auto}.story{display:none}.controls-grid{grid-template-columns:repeat(2,1fr)}.control-oath{font-size:.55rem}.player-panel{width:300px}.ability-dock{left:auto;right:5px;transform:scale(.66);transform-origin:bottom right}.level-screen{padding-inline:0}.level-heading{padding-inline:18px}.level-heading h2{font-size:clamp(2rem,8vw,3rem)}.upgrade-cards{width:100%;grid-auto-columns:min(86vw,430px);padding-inline:7vw;scroll-padding-inline:7vw}.upgrade-card{height:clamp(470px,61vh,525px)}.settings-grid{grid-template-columns:1fr;max-height:52vh;overflow:auto}.controls-settings-heading{align-items:stretch;flex-direction:column}.controls-settings-heading button{width:100%}.control-row{grid-template-columns:1fr 1fr 38px}.control-row-name{grid-column:1 / -1}.binding-conflict-actions{flex-direction:column}}@media(max-height:560px)and (orientation:landscape){body[data-control-interface=touch] .start-screen{padding:max(12px,env(safe-area-inset-top)) max(16px,env(safe-area-inset-right)) max(12px,env(safe-area-inset-bottom)) max(16px,env(safe-area-inset-left));background-position:48% center}body[data-control-interface=touch] .title-copy{width:48vw;margin-top:1vh}body[data-control-interface=touch] .title-copy .eyebrow{font-size:clamp(.52rem,1.5vw,.68rem);letter-spacing:.16em;white-space:nowrap}body[data-control-interface=touch] .title-copy h1{margin-top:.2rem;font-size:clamp(2.7rem,10.8vw,5rem)}body[data-control-interface=touch] .tagline{max-width:43vw;margin-top:.55rem;font-size:clamp(.72rem,1.8vw,.95rem);line-height:1.28}body[data-control-interface=touch] .launch-panel{right:max(12px,env(safe-area-inset-right));bottom:max(10px,env(safe-area-inset-bottom));left:auto;width:min(43vw,365px);padding:.72rem .8rem .78rem}body[data-control-interface=touch] .story,body[data-control-interface=touch] .controls-grid{display:none}body[data-control-interface=touch] .control-oath{margin:0 0 .6rem;font-size:.52rem;line-height:1.35}body[data-control-interface=touch] .launch-actions{grid-template-columns:1fr;gap:6px}body[data-control-interface=touch] .launch-actions button{min-height:44px;padding:.55rem .8rem;font-size:.62rem}body[data-control-interface=touch] .player-panel{top:max(48px,calc(env(safe-area-inset-top) + 42px));transform:scale(.49)}body[data-control-interface=touch] .wave-reliquary{min-width:170px;padding:6px 18px 7px}body[data-control-interface=touch] .wave-reliquary span{font-size:.58rem}body[data-control-interface=touch] .wave-reliquary small{font-size:.47rem}body[data-control-interface=touch] .boss-panel{top:max(46px,calc(env(safe-area-inset-top) + 40px));width:min(460px,54vw)}body[data-control-interface=touch] .boss-heading .art-icon{display:none}body[data-control-interface=touch] .boss-heading strong{font-size:.66rem}body[data-control-interface=touch] .announcement{top:19%;width:56vw;padding:9px 14px;font-size:.76rem;white-space:normal}body[data-control-interface=touch] .test-mode-badge{left:25%;top:auto;bottom:max(8px,env(safe-area-inset-bottom));padding:5px 10px}body[data-control-interface=touch] .level-screen{gap:4px;padding:max(6px,env(safe-area-inset-top)) 0 max(6px,env(safe-area-inset-bottom))}body[data-control-interface=touch] .level-heading{padding-inline:max(16px,env(safe-area-inset-left))}body[data-control-interface=touch] .level-heading .eyebrow{font-size:.52rem}body[data-control-interface=touch] .level-heading h2{margin:.08rem 0;font-size:clamp(1.25rem,4.8vh,1.65rem)}body[data-control-interface=touch] .level-heading span{display:block;overflow:hidden;font-size:.6rem;line-height:1.2;text-overflow:ellipsis;white-space:nowrap}body[data-control-interface=touch] .upgrade-cards{grid-auto-columns:min(88vw,720px);gap:14px;padding:4px 6vw 3px;scroll-padding-inline:6vw}body[data-control-interface=touch] .upgrade-card{height:min(74dvh,310px);min-height:258px;grid-template-rows:auto minmax(0,1fr);touch-action:pan-y}body[data-control-interface=touch] .card-art{min-height:0;height:auto;aspect-ratio:5 / 1}body[data-control-interface=touch] .card-art-attack{background-position:center,left 9%}body[data-control-interface=touch] .card-art-heavy{background-position:center,right 9%}body[data-control-interface=touch] .card-art-shield{background-position:center,left 91%}body[data-control-interface=touch] .card-art-survival{background-position:center,right 91%}body[data-control-interface=touch] .upgrade-card-body{overflow-y:auto;overscroll-behavior:contain;padding:8px 12px 9px;scrollbar-width:thin}body[data-control-interface=touch] .upgrade-card-body>small{font-size:10px}body[data-control-interface=touch] .upgrade-card strong{min-height:0;margin:2px 0;font-size:clamp(18px,4.2vh,22px)}body[data-control-interface=touch] .rank-line,body[data-control-interface=touch] .current-effect{font-size:10px}body[data-control-interface=touch] .current-effect{min-height:0;margin-top:2px;padding:3px 6px}body[data-control-interface=touch] .upgrade-card p{margin:4px 0;font-size:12px;line-height:1.32}body[data-control-interface=touch] .upgrade-tags span{padding:2px 4px;font-size:9px}body[data-control-interface=touch] .upgrade-card em{padding:7px 10px;border:1px solid rgba(224,191,123,.55);font-size:12px}body[data-control-interface=touch] .upgrade-indicators{gap:7px;min-height:9px}body[data-control-interface=touch] .upgrade-indicator{width:8px;height:8px}body[data-control-interface=touch] .settings-modal{width:min(760px,calc(100vw - env(safe-area-inset-left) - env(safe-area-inset-right) - 18px));max-height:calc(var(--visual-viewport-height, 100vh) - env(safe-area-inset-top) - env(safe-area-inset-bottom) - 12px);padding:12px 14px}body[data-control-interface=touch] .settings-modal>.eyebrow{font-size:.5rem}body[data-control-interface=touch] .settings-modal h2{margin:.15rem 0 .45rem;font-size:1.55rem}body[data-control-interface=touch] .settings-scroll{max-height:calc(var(--visual-viewport-height, 100vh) - 132px)}body[data-control-interface=touch] .settings-grid{grid-template-columns:repeat(2,1fr);gap:8px 12px;max-height:none}body[data-control-interface=touch] .touch-settings,body[data-control-interface=touch] .controls-settings,body[data-control-interface=touch] .code-section{margin-top:9px;padding:9px}body[data-control-interface=touch] .modal-actions{margin-top:8px}body[data-control-interface=touch] .modal-actions button{min-height:44px;padding-block:.45rem}body[data-control-interface=touch] .end-modal{max-height:calc(100dvh - 18px);overflow-y:auto;padding:16px}body[data-control-interface=touch] .end-emblem{width:64px;height:64px}body[data-control-interface=touch] .end-modal h2{margin:.2rem 0 .5rem;font-size:2rem}body[data-control-interface=touch] .end-stats{margin:10px 0}}@media(max-width:780px)and (max-height:430px)and (orientation:landscape){.touch-action-cluster{right:max(8px,calc(env(safe-area-inset-right) + 6px));bottom:max(8px,calc(env(safe-area-inset-bottom) + 6px));transform:scale(.82);transform-origin:bottom right}.mobile-controls[data-handedness=left] .touch-action-cluster{transform:scaleX(-1) scale(.82);transform-origin:bottom left}.mobile-controls[data-button-size=small] .touch-action-cluster{transform:scale(.74)}.mobile-controls[data-button-size=large] .touch-action-cluster{transform:scale(.94)}.mobile-controls[data-handedness=left][data-button-size=small] .touch-action-cluster{transform:scaleX(-1) scale(.74)}.mobile-controls[data-handedness=left][data-button-size=large] .touch-action-cluster{transform:scaleX(-1) scale(.94)}body[data-control-interface=touch] .player-panel{transform:scale(.43)}}.level-screen{width:100%;height:100%;max-height:100dvh;gap:clamp(8px,1.1vh,13px);padding:clamp(18px,2vw,30px);overflow:hidden}.level-heading h2{margin:.2rem 0 .25rem;font-size:clamp(2.15rem,3vw,3.35rem)}.upgrade-cards{width:min(76vw,1140px);grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(18px,1.35vw,22px);align-items:stretch;overflow:visible}.upgrade-card{display:grid;grid-template-rows:auto minmax(0,1fr);width:100%;height:auto;min-height:475px;padding:0;overflow:hidden}.upgrade-card.disabled{cursor:wait;opacity:.72}.upgrade-card.disabled .upgrade-card-select{cursor:wait}.card-art{position:relative;display:block;width:100%;height:clamp(205px,12.2vw,230px);min-height:0;aspect-ratio:auto;overflow:hidden;background:#07111e;border-bottom:1px solid color-mix(in srgb,var(--rarity-color) 38%,transparent);isolation:isolate}.card-art-background,.card-art-main{position:absolute;display:block}.card-art-background{inset:-16px;width:calc(100% + 32px);height:calc(100% + 32px);object-fit:cover;object-position:center;filter:blur(18px) brightness(.42) saturate(.9);opacity:.82}.card-art-main{z-index:1;inset:0;width:100%;height:100%;padding:5px;object-fit:contain;object-position:center;filter:drop-shadow(0 8px 15px rgba(0,0,0,.34))}.card-art:after{content:"";position:absolute;z-index:2;inset:0;background:linear-gradient(180deg,rgba(3,8,16,.06),transparent 70%,rgba(3,8,16,.34));pointer-events:none}.upgrade-card-body{display:flex;flex-direction:column;min-height:0;padding:13px 17px 14px}.upgrade-card-body>small{font-size:clamp(12px,.7vw,13px)}.upgrade-card strong{min-height:44px;margin:4px 0 1px;font-size:clamp(23px,1.35vw,26px)}.upgrade-description{min-height:48px;margin:6px 0;overflow:visible;font-size:clamp(15px,.82vw,16px);line-height:1.38}.upgrade-card-footer{min-height:42px;margin-top:auto}.upgrade-card-select{flex:0 0 auto;min-height:40px;padding:7px 9px;border:1px solid transparent;color:var(--gold-bright);background:transparent;cursor:pointer;font:900 clamp(15px,.85vw,17px)/1 Inter,system-ui,sans-serif;letter-spacing:.1em}.upgrade-card-select:hover,.upgrade-card-select:focus-visible{border-color:#e0bf7b9e;outline:2px solid rgba(84,224,213,.28);outline-offset:2px}.select-long{display:none}.upgrade-carousel-controls{display:none;align-items:center;justify-content:center;gap:12px;min-height:38px}.upgrade-carousel-arrow{display:grid;place-items:center;width:44px;height:44px;padding:0;border:1px solid rgba(110,224,214,.4);border-radius:50%;color:var(--ivory);background:#08111fd1;font:500 1.7rem/1 Georgia,serif}.upgrade-carousel-arrow:disabled{opacity:.32}.upgrade-position{min-width:42px;color:var(--gold-bright);font-size:12px;font-weight:900;letter-spacing:.08em;text-align:center}.upgrade-indicators{display:flex;gap:8px;min-height:10px}.settings-modal{display:grid;grid-template-rows:auto auto minmax(0,1fr) auto;width:min(920px,calc(100vw - 48px));height:min(84dvh,820px);max-height:min(84dvh,820px);padding:0;overflow:hidden}.settings-header{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:18px 22px 12px;border-bottom:1px solid rgba(198,171,113,.22)}.settings-header .eyebrow{margin:0 0 3px}.settings-modal .settings-header h2{margin:0;font-size:clamp(2rem,3vw,2.65rem)}.settings-close-button{flex:0 0 auto;width:44px;height:44px;padding:0;border:1px solid rgba(202,179,127,.46);color:var(--ivory);background:#08111fcc;cursor:pointer;font-size:1.55rem}.settings-tabs{display:flex;gap:5px;min-width:0;padding:8px 14px;overflow-x:auto;border-bottom:1px solid rgba(95,206,197,.18);scrollbar-width:none;overscroll-behavior-x:contain}.settings-tabs::-webkit-scrollbar{display:none}.settings-tabs button{flex:1 0 auto;min-height:42px;padding:8px 12px;border:1px solid transparent;color:#aebfbd;background:transparent;cursor:pointer;font:850 .67rem/1 Inter,system-ui,sans-serif;letter-spacing:.07em;text-transform:uppercase;white-space:nowrap}.settings-tabs button.active,.settings-tabs button[aria-selected=true]{border-color:#54e0d56b;color:var(--turquoise);background:#0f2b367a}.settings-content{min-height:0;max-height:none;padding:18px 22px 22px;overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;scrollbar-gutter:stable}.settings-section{display:none;min-width:0;margin:0}.settings-section.active{display:block}.settings-section.touch-settings.active,.settings-section.controls-settings.active,.settings-section.code-section.active{display:grid}.settings-section-heading,.touch-settings-heading{display:grid;gap:4px;margin-bottom:15px}.settings-section-heading strong,.touch-settings-heading strong,.controls-settings strong,.code-section strong{color:var(--gold-bright);font-size:.75rem;letter-spacing:.13em;text-transform:uppercase}.settings-section-heading span,.touch-settings-heading span,.controls-settings span,.code-section span{color:#9eb6b2;font-size:.7rem}.settings-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 22px;max-height:none;overflow:visible}.settings-list label{min-width:0}.settings-list .check-row{justify-content:space-between;min-height:44px;padding:4px 0}.settings-list .check-row input{flex:0 0 auto;width:22px;height:22px}.touch-settings,.controls-settings,.code-section{margin:0;padding:0;border:0;background:transparent}.controls-settings-heading{margin-bottom:14px}.settings-footer{display:flex;gap:10px;margin:0;padding:12px 18px max(12px,env(safe-area-inset-bottom));border-top:1px solid rgba(198,171,113,.25);background:#050b17f0}.settings-footer button{min-height:46px}@media(min-width:1800px)and (min-height:900px){.upgrade-card{min-height:495px}}@media(max-width:1500px){.upgrade-card{min-height:460px}.card-art{height:clamp(198px,14.5vw,218px)}}@media(max-width:1230px){.level-screen{padding-inline:0}.upgrade-cards{width:100%;grid-template-columns:none;grid-auto-flow:column;grid-auto-columns:min(82vw,390px);justify-content:start;gap:18px;padding:7px 9vw 9px;overflow-x:auto;overflow-y:hidden;scroll-padding-inline:9vw;scroll-snap-type:x mandatory;scrollbar-width:none;touch-action:pan-x}.upgrade-cards::-webkit-scrollbar{display:none}.upgrade-card{min-height:470px;scroll-snap-align:center}.upgrade-carousel-controls{display:flex}}@media(max-width:700px)and (orientation:portrait){body[data-control-interface=touch] .level-screen{justify-content:start;gap:6px;padding:max(10px,env(safe-area-inset-top)) 0 max(10px,env(safe-area-inset-bottom))}body[data-control-interface=touch] .level-heading{padding-inline:max(14px,env(safe-area-inset-left))}body[data-control-interface=touch] .level-heading .eyebrow{font-size:9px}body[data-control-interface=touch] .level-heading h2{margin:2px 0 3px;font-size:clamp(27px,8.2vw,34px);line-height:1}body[data-control-interface=touch] .level-heading span{font-size:12px;line-height:1.25;white-space:normal}body[data-control-interface=touch] .upgrade-cards{grid-auto-columns:min(91vw,390px);gap:14px;padding:4px 4.5vw 6px;scroll-padding-inline:4.5vw}body[data-control-interface=touch] .upgrade-card{height:min(560px,calc(100dvh - 150px));min-height:0;grid-template-columns:1fr;grid-template-rows:auto minmax(0,1fr);cursor:default;transform:none}body[data-control-interface=touch] .card-art{width:100%;height:clamp(180px,25dvh,215px);border-right:0}body[data-control-interface=touch] .card-art-main{padding:6px}body[data-control-interface=touch] .upgrade-card-body{padding:11px 13px 12px;overflow:hidden}body[data-control-interface=touch] .upgrade-card strong{min-height:0;font-size:23px}body[data-control-interface=touch] .upgrade-description{min-height:0;overflow-y:auto;overscroll-behavior:contain;font-size:14px}body[data-control-interface=touch] .upgrade-card-footer{align-items:end}body[data-control-interface=touch] .upgrade-card-select{min-height:48px;border-color:#e0bf7b99;font-size:12px}body[data-control-interface=touch] .select-short{display:none}body[data-control-interface=touch] .select-long{display:inline}body[data-control-interface=touch] .upgrade-carousel-controls{min-height:44px;padding-inline:max(10px,env(safe-area-inset-left))}}@media(max-height:520px)and (orientation:landscape){body[data-control-interface=touch] .level-screen{display:grid;grid-template-rows:auto minmax(0,1fr) auto;justify-items:center;align-content:center;gap:4px;padding:max(4px,env(safe-area-inset-top)) 0 max(4px,env(safe-area-inset-bottom))}body[data-control-interface=touch] .level-heading{padding-inline:max(14px,env(safe-area-inset-left))}body[data-control-interface=touch] .level-heading .eyebrow{font-size:8px}body[data-control-interface=touch] .level-heading h2{margin:1px 0 2px;font-size:clamp(22px,5.5dvh,28px);line-height:1}body[data-control-interface=touch] .level-heading span{font-size:12px;line-height:1.15;white-space:nowrap}body[data-control-interface=touch] .upgrade-cards{width:100%;height:auto;grid-auto-columns:min(90vw,760px);gap:14px;align-items:center;padding:3px 5vw;scroll-padding-inline:5vw}body[data-control-interface=touch] .upgrade-card{display:grid;grid-template-columns:42% 58%;grid-template-rows:minmax(0,1fr);width:100%;height:min(72dvh,282px);min-height:0;cursor:default;transform:none;touch-action:pan-x}body[data-control-interface=touch] .card-art{width:100%;height:100%;min-height:0;border-right:1px solid color-mix(in srgb,var(--rarity-color) 38%,transparent);border-bottom:0}body[data-control-interface=touch] .card-art-main{padding:5px}body[data-control-interface=touch] .upgrade-card-body{min-width:0;padding:9px 11px;overflow:hidden}body[data-control-interface=touch] .upgrade-card-body>small{font-size:10px}body[data-control-interface=touch] .upgrade-card strong{min-height:0;margin:2px 0;font-size:clamp(19px,5dvh,23px)}body[data-control-interface=touch] .rank-line{font-size:10px}body[data-control-interface=touch] .current-effect{min-height:0;margin-top:2px;padding:3px 6px;font-size:10px}body[data-control-interface=touch] .upgrade-description{flex:1 1 auto;min-height:34px;margin:4px 0;overflow-y:auto;overscroll-behavior:contain;font-size:12px;line-height:1.3}body[data-control-interface=touch] .upgrade-card-footer{min-height:48px;gap:7px}body[data-control-interface=touch] .upgrade-tags{gap:3px}body[data-control-interface=touch] .upgrade-tags span{padding:2px 4px;font-size:9px}body[data-control-interface=touch] .upgrade-card-select{min-height:48px;max-width:205px;padding:6px 9px;border-color:#e0bf7b94;font-size:11px;line-height:1.15}body[data-control-interface=touch] .select-short{display:none}body[data-control-interface=touch] .select-long{display:inline}body[data-control-interface=touch] .upgrade-carousel-controls{gap:9px;min-height:34px}body[data-control-interface=touch] .upgrade-carousel-arrow{width:34px;height:34px;font-size:1.35rem}body[data-control-interface=touch] .upgrade-position{font-size:11px}body[data-control-interface=touch] .upgrade-indicator{width:8px;height:8px}}@media(max-width:900px),(max-height:600px){body[data-control-interface=touch] #pause-screen{padding:0;overflow:hidden}body[data-control-interface=touch] .settings-modal{position:fixed;inset:0;width:100%;height:var(--visual-viewport-height, 100dvh);max-width:none;max-height:none;padding:env(safe-area-inset-top) env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left);border:0;border-radius:0}body[data-control-interface=touch] .settings-header{min-height:58px;padding:8px 12px 7px 16px}body[data-control-interface=touch] .settings-header .eyebrow{display:none}body[data-control-interface=touch] .settings-modal .settings-header h2{font-size:clamp(1.55rem,6vw,2rem)}body[data-control-interface=touch] .settings-close-button{min-width:44px;min-height:44px}body[data-control-interface=touch] .settings-tabs{gap:3px;min-height:48px;padding:4px 10px}body[data-control-interface=touch] .settings-tabs button{min-height:44px;padding:7px 12px;font-size:11px}body[data-control-interface=touch] .settings-content{min-height:0;max-height:none;padding:14px 16px 18px}body[data-control-interface=touch] .settings-section-heading,body[data-control-interface=touch] .touch-settings-heading{margin-bottom:11px}body[data-control-interface=touch] .settings-list{grid-template-columns:1fr;gap:0;max-height:none;overflow:visible}body[data-control-interface=touch] .settings-list label{grid-template-columns:minmax(0,1fr) minmax(128px,46%);align-items:center;gap:12px;min-height:54px;padding:7px 0;border-bottom:1px solid rgba(118,174,172,.14);font-size:13px}body[data-control-interface=touch] .settings-list label>span{min-width:0}body[data-control-interface=touch] .settings-list select{min-height:44px;padding:7px 9px}body[data-control-interface=touch] .settings-list .check-row{display:grid;grid-template-columns:minmax(0,1fr) 44px}body[data-control-interface=touch] .settings-list .check-row input{justify-self:end}body[data-control-interface=touch] .touch-settings,body[data-control-interface=touch] .controls-settings,body[data-control-interface=touch] .code-section{margin:0;padding:0;border:0;background:transparent}body[data-control-interface=touch] .controls-settings-heading{align-items:center;flex-direction:row;gap:10px}body[data-control-interface=touch] .controls-settings-heading button{width:auto;min-width:124px;min-height:44px}body[data-control-interface=touch] .control-rows{gap:10px}body[data-control-interface=touch] .control-row{grid-template-columns:minmax(0,1fr) minmax(0,1fr) 44px;gap:7px;padding-bottom:10px;border-bottom:1px solid rgba(118,174,172,.15)}body[data-control-interface=touch] .control-row-name{grid-column:1 / -1;font-size:12px;letter-spacing:.05em;text-transform:uppercase}body[data-control-interface=touch] .binding-button,body[data-control-interface=touch] .restore-control{min-height:44px;font-size:11px}body[data-control-interface=touch] .code-section{gap:13px}body[data-control-interface=touch] .code-section>div:first-child{gap:6px}body[data-control-interface=touch] .code-entry{min-width:0}body[data-control-interface=touch] .code-entry input,body[data-control-interface=touch] .code-entry button{min-height:48px}body[data-control-interface=touch] .settings-footer{min-height:62px;padding:7px 10px max(7px,env(safe-area-inset-bottom))}body[data-control-interface=touch] .settings-footer button{min-height:48px;padding:8px 10px;font-size:11px}}@media(max-width:430px)and (orientation:portrait){body[data-control-interface=touch] .code-entry{display:grid;grid-template-columns:1fr}body[data-control-interface=touch] .code-entry button{width:100%}body[data-control-interface=touch] .settings-footer .restart-button{flex:0 0 42%}}body[data-control-interface=touch] .upgrade-card:hover,body[data-control-interface=touch] .upgrade-card:focus-visible,body[data-control-interface=touch] .upgrade-card:active,body[data-control-interface=touch] .upgrade-card.selected{transform:none}body[data-control-interface=touch] .upgrade-card.selected{animation:none}
