/* The game owns a fixed viewport. Only named content panels scroll. */
html,body{position:fixed;inset:0;width:100%;height:var(--game-height,100dvh);overflow:hidden;overscroll-behavior:none}
.app-shell{height:var(--game-height,100dvh)}
#main-menu{height:var(--game-height,100dvh);overflow:hidden;overscroll-behavior:none}
.menu-shell{width:100%;height:100%;min-height:0;max-width:1440px;display:grid;grid-template-rows:calc(78px + env(safe-area-inset-top,0px)) 52px minmax(0,1fr) 28px;padding:0 36px;overflow:hidden}
.menu-header{min-height:0;padding-top:env(safe-area-inset-top,0px)}
.menu-brand img{width:44px;height:44px}.menu-brand strong{font-size:22px}
.menu-currencies>span{min-width:112px;padding:9px 15px 19px}.menu-currencies b{font-size:19px;font-variant-numeric:tabular-nums}.menu-currencies small{bottom:6px;left:38px;font-size:6px}
.menu-nav{min-height:0;gap:28px;overflow-y:hidden;scrollbar-width:none;overscroll-behavior-x:contain}.mobile-menu-nav{display:none}
.menu-content{min-height:0;min-width:0;overflow:hidden;display:flex;flex-direction:column;padding:18px 0;outline:none}
.menu-view{min-height:0;min-width:0;flex:1;display:flex;flex-direction:column;overflow:hidden}
.menu-scroll{flex:1;min-height:0;min-width:0;overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain;touch-action:pan-y;-webkit-overflow-scrolling:touch;scrollbar-width:thin;scrollbar-color:#9b895a55 transparent;scrollbar-gutter:stable;overflow-anchor:none;padding:2px 8px 10px 2px}
.menu-scroll::-webkit-scrollbar{width:5px}.menu-scroll::-webkit-scrollbar-thumb{background:#9b895a55;border-radius:8px}
.menu-footer{min-height:0;font-size:8px;overflow:hidden;white-space:nowrap}
.nav-badge{position:absolute;width:5px;height:5px;background:#e6c36f;border-radius:50%;right:-7px;top:14px}
.menu-primary,.menu-secondary{display:inline-flex;align-items:center;justify-content:center;gap:15px;min-height:42px;padding:11px 18px;border-radius:7px;font-size:12px;line-height:1.25}
.menu-secondary{background:#bc9d5216;border:1px solid #b6995970;color:#e3cd95}
.menu-primary:disabled,.menu-secondary:disabled{box-shadow:none}.menu-text{font-size:10px}
.menu-progress{display:block;height:4px;margin:0}.menu-progress i{transition:width .35s ease}
.menu-page-title{flex-shrink:0;margin:0 0 14px}.menu-page-title h1{font-size:30px;margin:7px 0 0}.menu-page-title p{font-size:11px;margin:6px 0 0}
/* Home is a composed screen, including on a phone. */
.home-layout{height:100%;min-height:0;grid-template-columns:200px minmax(260px,1fr) 210px;grid-template-rows:minmax(0,1fr);gap:22px}
.menu-hero-card{min-height:0;overflow:hidden;padding:20px;align-self:stretch;display:flex;flex-direction:column;align-items:center;text-align:center}
.menu-hero-card>.eyebrow{align-self:flex-start}.menu-hero-card>.menu-text{margin-top:auto;padding-top:12px}
.home-hero-info h2{font-size:29px;color:#ebd3a3;margin:8px 0}.home-hero-info>small{font-size:10px;color:#a8c2c9;letter-spacing:.4px}.home-hero-info p{font-size:11px;margin:8px 0}
.hero-orbit{width:145px;height:170px;flex-shrink:0;margin:10px auto 12px}.hero-orbit>span{font-size:88px}.hero-orbit i{width:112px;height:112px}.hero-orbit i:last-child{width:145px;height:145px}
.home-center{grid-row:auto;min-height:0;display:grid;grid-template-rows:minmax(0,1fr) 56px 100px;gap:12px}
.campaign-cover{min-height:0}.cover-copy{height:100%;min-height:0;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;padding:22px}
.cover-copy h1{font-size:clamp(30px,3.3vw,43px);line-height:1.08;margin:12px 0}.cover-copy p{margin:0 0 16px;font-size:11px}.cover-copy .menu-primary{flex-shrink:0;min-width:190px;justify-content:space-between}
.home-missions{min-height:0;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:0}.home-missions button{padding:9px;grid-template-columns:23px 1fr;gap:4px}.home-missions small{font-size:18px}.home-missions strong{font-size:12px;line-height:1.15}.home-missions span{letter-spacing:.7px}
.home-deck{min-height:0;padding:10px 12px;display:flex;flex-direction:column}.home-deck>div:first-child{align-items:center}
.menu-deck-strip{min-height:0;flex:1;grid-template-columns:repeat(5,minmax(0,1fr));gap:6px;margin-top:4px}.menu-deck-strip>button{background:none;min-width:0;min-height:0;display:flex;align-items:center;flex-direction:column;padding:0}.menu-deck-strip .tower-icon{height:auto;flex:1;min-height:0;max-height:58px}.menu-deck-strip>button>span{font-size:7px;line-height:1.3;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;width:100%;text-align:center}
.home-aside{grid-column:auto;min-height:0;display:flex;flex-direction:column;gap:14px}
.season-teaser{min-height:0;display:flex;flex-direction:column;align-items:center;gap:10px;padding:20px;color:inherit}.season-symbol{display:block;font-size:64px;line-height:1;margin:0;flex-shrink:0}.season-copy{display:flex;flex-direction:column;gap:10px;width:100%}.season-copy>small{font-size:8px;color:#b5a579;letter-spacing:1.5px}.season-copy>strong{font:24px Georgia;color:#e3c993}.season-copy>span:last-child{font-size:10px;color:#a9bbb9}.season-teaser>b{font-weight:400;color:#dec797;align-self:flex-end}
.chest-card{flex-wrap:nowrap;min-height:0;padding:17px;text-align:left}.chest-card>span:nth-child(2){min-width:0;flex:1}.chest-card strong{display:block;font:19px Georgia;color:#e2c998}.chest-card small{display:block;font-size:10px;margin-top:9px;color:#adbcba}.chest-card>b{font-weight:400;color:#d6bb7d}.chest-symbol{flex-shrink:0;font-size:53px}.chest-symbol i{position:absolute;font-size:20px;left:13px;top:18px;color:#ffe6ac;font-style:normal}.home-aside-note{font:20px/1.7 Georgia!important;text-align:center;color:#a18f6b!important;margin:auto 0 12px;opacity:.6}
/* Equipped row and actions are fixed; the card collection has its own scroller. */
.collection-page{display:flex;flex-direction:column;flex:1;min-height:0;overflow:hidden}
.collection-tabs{display:flex;gap:4px;flex-shrink:0;margin-bottom:10px;background:#0a23316b;border:1px solid #7a939c35;border-radius:8px;padding:3px}.collection-tabs>button{flex:1;min-height:34px;background:none;color:#84a5b5;font-size:12px;border-radius:5px}.collection-tabs>button[aria-pressed=true]{background:#294653;color:#ecd19a;box-shadow:inset 0 0 0 1px #c0a5705c}
.equipped-section{flex-shrink:0;margin-bottom:8px}.section-caption{display:flex;justify-content:space-between;align-items:center;gap:12px;min-height:20px;margin-bottom:4px;color:#a4bfc7;font-size:11px}.section-caption small{font-size:9px;color:#7495a4}
.deck-editor{grid-template-columns:repeat(5,minmax(0,1fr));gap:9px;height:112px;max-width:770px;width:100%;margin:0 auto}.deck-slot{position:relative;min-width:0;min-height:0;overflow:hidden;border:1px solid #6d929e66;border-radius:9px;padding:7px;display:grid;grid-template-rows:12px minmax(0,1fr) 23px;justify-items:center;align-items:center;background:#183342}.deck-slot>small{align-self:start;justify-self:start;color:#b2a37d;font-size:8px}.deck-editor .deck-slot>.tower-icon{height:100%;max-width:85px;min-height:0}.deck-slot>strong{text-align:center;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;font:12px/1.1 Georgia;color:#e5d6b3}.deck-slot.selected{border-color:#f0d08b;box-shadow:inset 0 0 16px #c79a3424,0 0 12px #c79a3418}
.deck-editor.compact{height:90px;max-width:650px}.deck-editor.compact .deck-slot{padding:5px;grid-template-rows:8px minmax(0,1fr) 20px}.deck-editor.compact .deck-slot>strong{font-size:10px}.awaiting-slot .deck-slot{border-color:#d2b574aa}.awaiting-slot .deck-slot:after{content:'↔';position:absolute;inset:0;background:#081e2d72;display:grid;place-items:center;font-size:25px;color:#f7d595;pointer-events:none}.awaiting-slot .deck-slot:hover:after,.awaiting-slot .deck-slot:focus-visible:after{background:#081e2d18}
.deck-prompt{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-shrink:0;min-height:35px;margin:0 0 6px;padding:5px 10px;border:1px solid #789aa12c;border-radius:6px;color:#8eabb8;background:#112a3860;font-size:11px}.deck-prompt.selecting{color:#ecd09a;border-color:#bda16070}.deck-prompt>span{flex:1}.prompt-icon{width:33px;height:33px}.deck-prompt .menu-text{white-space:nowrap}
.filter-strip{height:34px;display:flex;align-items:center;gap:6px;overflow-x:auto;overflow-y:hidden;overscroll-behavior-x:contain;flex-shrink:0;scrollbar-width:none;margin-bottom:8px}.filter-strip button{flex-shrink:0;background:#1c394744;border:1px solid #7898a32a;color:var(--rarity,#9ab9c6);border-radius:14px;font-size:9px;padding:6px 11px;white-space:nowrap}.filter-strip button.active{background:#b7985322;border-color:#b9a16a88;color:#ead29a}
.inventory-grid{grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:12px;align-content:start}
.tower-card{position:relative;min-width:0;padding:11px 12px 9px;background:radial-gradient(ellipse at 50% 30%,#8ab0bd13,transparent 75%),#152e3c;border:1px solid color-mix(in srgb,var(--rarity),transparent 62%);border-radius:10px;display:flex;flex-direction:column;align-items:center;text-align:center;overflow:hidden;transition:border-color .18s,transform .18s}.tower-card:hover{border-color:var(--rarity);transform:translateY(-1px)}.tower-card .rarity-label{align-self:flex-start;font-size:8px;letter-spacing:.6px;white-space:nowrap}.tower-card-art{position:relative;display:block;width:100%;height:91px}.tower-card-art .tower-icon{max-width:118px;margin:auto}.tower-card>strong{font:16px/1.15 Georgia;color:#e9d7b2;min-height:36px;display:grid;place-items:center}.tower-card-level{position:relative;display:block;font-size:10px;color:#b8cfcf;margin:3px 0 8px;width:100%}.tower-card-level b{position:absolute;right:0;color:#d4b876;font-size:8px}.tower-card-level i{position:absolute;left:0;color:#a5ead0;font-weight:700;font-style:normal;font-size:14px}.shard-track{display:block;width:100%;height:3px;border-radius:4px;background:#5b7b8d3f;overflow:hidden}.shard-track i{height:100%;display:block;background:var(--rarity)}.shard-count{font-size:8px;color:#7f9ea9;margin-top:5px}.tower-card.locked .tower-icon{filter:saturate(.2);opacity:.45}.tower-card.locked>strong{color:#8ba6b2}.tower-lock{position:absolute;right:4px;bottom:4px;border:1px solid #9fa88655;background:#102632c9;color:#c1c4a6;padding:2px 5px;border-radius:5px;font-size:16px}.tower-card.chosen{border-color:#ffe2a3;box-shadow:inset 0 0 22px #dec05d24}.deck-page:has(.tower-card.chosen) .tower-card:not(.chosen){opacity:.5}
.section-actions{display:flex;justify-content:space-between;align-items:center;gap:12px;min-height:48px;flex-shrink:0;padding-top:8px;border-top:1px solid #a58d5625}.section-actions>span{font-size:10px;color:#789aa9;line-height:1.5}.section-actions .menu-primary,.section-actions .menu-secondary{font-size:11px;min-height:36px;padding:9px 14px}
.hero-layout{flex:1;min-height:0;display:flex;flex-direction:column;overflow:hidden}.hero-stage-scroll{display:flex;justify-content:center;padding-bottom:8px}.hero-stage{max-width:620px;width:100%;padding:0 20px;text-align:center}.hero-stage>.hero-orbit{width:150px;height:160px;margin:0 auto 8px}.hero-stage>small{font-size:10px;letter-spacing:.8px;color:#94b2c1}.hero-stage h2{font:34px Georgia;color:#eddbb4;margin:6px 0 15px}.hero-skill{display:flex;align-items:center;gap:14px;text-align:left;padding:14px 18px;border:1px solid #7e99a445;border-radius:9px;background:#19344280}.hero-skill>span{font:39px Georgia;color:var(--hero-color)}.hero-skill h3{font-size:21px;color:var(--hero-color);margin:0 0 6px}.hero-skill p{font-size:11px;margin:0}.hero-stats{display:flex;justify-content:center;gap:30px;margin:12px 0;font-size:10px;color:#7e9ead}.hero-stats b{font-weight:400;color:#d4d4b1;margin-left:7px}.hero-roster{display:flex;justify-content:center;align-items:stretch;gap:12px;overflow-x:auto;overflow-y:hidden;overscroll-behavior-x:contain;flex-shrink:0;padding:9px 2px;scrollbar-width:thin}.hero-roster>button{min-width:145px;position:relative;border:1px solid #7897a24d;border-radius:8px;background:#193442;padding:10px 13px;display:grid;grid-template-columns:36px 1fr;gap:5px 9px;text-align:left}.hero-roster>button>span{grid-row:1/3;align-self:center;font:36px Georgia;color:var(--hero-color)}.hero-roster strong{font:17px Georgia;color:#dcd6ba}.hero-roster small{font-size:8px;color:#85a5b5}.hero-roster>button.selected{border-color:#e3c27e;box-shadow:inset 0 0 15px #d4ae3d13}.hero-actions{flex-shrink:0;display:flex;align-items:center;justify-content:space-between;gap:20px;border-top:1px solid #a58d5625;padding-top:12px}.hero-actions>span{font-size:10px;color:#789aa9}.hero-actions>.menu-primary{min-width:205px}
.pass-header{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-shrink:0;padding:2px 4px 15px}.pass-header h1{font-size:32px;margin:8px 0 0}.pass-header .season-symbol{font-size:58px}.pass-meter{flex-shrink:0;display:grid;grid-template-columns:110px minmax(0,1fr);gap:8px 20px;padding:13px 18px;margin-bottom:12px;border:1px solid #b79b5d44;border-radius:9px;background:#c2a15a0d}.pass-meter>span{grid-row:1/3;font-size:10px;color:#b4c5c1;align-self:center}.pass-meter strong{font:30px Georgia;color:#ead5a6;margin-right:5px}.pass-meter .menu-progress{align-self:end}.pass-meter>small{font-size:9px;color:#8ca6ac}.pass-scroll{padding:5px 10px 15px 2px}.pass-timeline{max-width:920px;margin:auto;position:relative;display:grid;gap:14px}.pass-timeline:before{content:'';position:absolute;top:25px;bottom:25px;left:19px;width:2px;background:linear-gradient(#e3c58277,#7897a333)}.pass-step{position:relative;display:grid;grid-template-columns:40px minmax(0,1fr);align-items:center;gap:16px;min-height:100px}.pass-node{position:relative;z-index:1;display:grid;place-items:center;width:33px;height:33px;margin-left:4px;border:1px solid #7c99a5;border-radius:9px;background:#1b3846;color:#9bb5bd;font:18px Georgia}.pass-step.ready .pass-node{border-color:#f0cc7e;color:#f4db9d;background:#584a2c}.pass-step.claimed .pass-node{color:#b0ded0;border-color:#86b9aa;background:#1a3d40}.pass-reward-card{display:flex;align-items:center;gap:20px;min-width:0;min-height:100px;padding:14px 20px;border:1px solid #7899a140;border-radius:10px;background:#16313f}.pass-step.ready .pass-reward-card{border-color:#dfbd7888;background:linear-gradient(110deg,#a584351c,#16313f)}.pass-step.claimed .pass-reward-card{opacity:.65}.pass-reward-icon{flex-shrink:0;width:58px;text-align:center;font:45px Georgia;color:#e7c57b}.pass-reward-card>div{flex:1;min-width:0}.pass-reward-card small{font-size:8px;color:#b9ac83;letter-spacing:.8px}.pass-reward-card h2{font-size:23px;margin:5px 0;color:#e3d2ab}.pass-reward-card>div>span{font-size:10px;color:#86a8b5}.pass-reward-card button{flex-shrink:0;min-width:86px}
.balance-form{max-width:680px}.balance-form .menu-note{margin:0}.lab-callout{margin-top:16px;max-width:680px}.arena-swatch{height:170px}
.view-enter,.hero-change{animation:menu-view-in .2s ease-out both}.slot-applied,.card-upgraded{animation:menu-slot-set .4s ease-out both}.currency-pop{animation:menu-currency-pop .38s ease-out}
.calm-ui *,.calm-ui *:before,.calm-ui *:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}
@keyframes menu-view-in{from{opacity:.35;transform:translateY(7px)}to{opacity:1;transform:translateY(0)}}@keyframes menu-slot-set{0%{box-shadow:inset 0 0 30px #ffe09b88;transform:scale(.95)}55%{transform:scale(1.025)}100%{transform:scale(1)}}@keyframes menu-currency-pop{45%{color:#ffe9ad;transform:scale(1.1)}100%{transform:scale(1)}}
@media(max-width:1100px){.home-layout{grid-template-columns:165px minmax(260px,1fr) 175px;gap:16px}.menu-shell{padding-inline:24px}.menu-hero-card{padding:17px}.hero-orbit{width:125px;height:145px}.hero-orbit i{width:95px;height:95px}.hero-orbit i:last-child{width:125px;height:125px}.hero-orbit>span{font-size:77px}.season-teaser{padding:17px}.season-copy>strong{font-size:21px}.chest-card{padding:14px;gap:7px}.chest-card strong{font-size:17px}.chest-symbol{font-size:44px}.chest-symbol i{font-size:17px;left:12px;top:16px}.home-aside{grid-column:auto;display:flex;flex-direction:column}.home-missions strong{font-size:11px}}
@media(max-height:640px) and (min-width:761px){.menu-shell{grid-template-rows:calc(60px + env(safe-area-inset-top,0px)) 44px minmax(0,1fr) 23px}.menu-brand img{width:36px;height:36px}.menu-brand strong{font-size:18px}.menu-currencies>span{padding:7px 12px 16px;min-width:94px}.menu-currencies b{font-size:16px}.menu-content{padding-block:10px}.cover-copy{padding:16px}.cover-copy h1{font-size:30px;margin:8px 0 12px}.cover-copy p{display:none}.home-center{grid-template-rows:minmax(0,1fr) 48px 82px;gap:9px}.home-hero-info p{display:none}.menu-hero-card>.hero-orbit{height:100px}.menu-hero-card>.hero-orbit i{width:80px;height:80px}.menu-hero-card>.hero-orbit i:last-child{width:96px;height:96px}.menu-hero-card>.hero-orbit>span{font-size:58px}.menu-hero-card{padding:14px}.home-hero-info h2{font-size:25px}.season-symbol{font-size:43px}.season-teaser{padding:13px;gap:6px}.season-copy{gap:7px}.season-copy>strong{font-size:19px}.home-aside{gap:10px}.home-aside-note{display:none}.chest-card{padding:11px}.home-deck{padding:8px 10px}.menu-page-title{margin-bottom:9px}.menu-page-title h1{font-size:25px}.hero-stage>.hero-orbit{height:120px}.hero-stage h2{font-size:28px;margin-bottom:10px}.pass-header{padding-bottom:8px}.pass-header h1{font-size:27px}.pass-meter{padding:9px 15px;margin-bottom:8px}}
.deck-editor>.deck-slot{padding:7px}
@media(max-width:760px){
 .menu-shell{padding-inline:14px;grid-template-rows:calc(62px + env(safe-area-inset-top,0px)) minmax(0,1fr) calc(64px + env(safe-area-inset-bottom,0px))}.menu-header{gap:10px}.menu-brand{font-size:7px;letter-spacing:2px;gap:7px}.menu-brand strong{font-size:16px;letter-spacing:3px}.menu-brand img{width:33px;height:33px}.menu-currencies{gap:6px}.menu-currencies>span{min-width:67px;padding:8px 8px 16px;gap:6px;border-radius:7px}.menu-currencies b{font-size:14px}.menu-currencies small{left:24px;font-size:5px;bottom:5px;letter-spacing:.4px}
 .desktop-menu-nav,.menu-footer{display:none}.menu-content{padding-block:11px}.mobile-menu-nav{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));align-items:stretch;min-height:0;gap:2px;padding:3px 0 calc(3px + env(safe-area-inset-bottom,0px));border-top:1px solid #a78b5140;background:linear-gradient(#1b35416b,#0b202d);z-index:2}.mobile-menu-nav button{min-width:0;position:relative;background:none;color:#799eae;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:4px;padding:4px 1px;font-size:8px;border-radius:6px}.mobile-menu-nav svg{width:21px;height:21px;stroke-width:1.5}.mobile-menu-nav button.active{color:#e8ce94;background:radial-gradient(ellipse at top,#d6b3521c,transparent 70%)}.mobile-menu-nav button.active:before{content:'';position:absolute;top:-4px;height:2px;left:15%;right:15%;background:linear-gradient(90deg,transparent,#dfbf79,transparent)}.mobile-menu-nav .nav-badge{right:21%;top:7px}
 .home-layout{grid-template-columns:minmax(0,1fr);grid-template-rows:48px minmax(0,1fr) 64px;gap:9px}.menu-hero-card{display:flex;flex-direction:row;align-items:center;text-align:left;gap:10px;padding:6px 10px;border-radius:8px}.menu-hero-card>.eyebrow{display:none}.menu-hero-card>.hero-orbit{width:35px;height:35px;margin:0}.menu-hero-card>.hero-orbit i{width:27px;height:27px;border-radius:6px}.menu-hero-card>.hero-orbit i:last-child{width:35px;height:35px}.menu-hero-card>.hero-orbit>span{font-size:28px}.home-hero-info{flex:1;min-width:0}.home-hero-info h2{font-size:20px;display:inline;margin:0 6px 0 0}.home-hero-info>small{font-size:8px;display:block;line-height:1.3}.home-hero-info p{display:none}.menu-hero-card>.menu-text{margin:0;padding:0;font-size:9px;white-space:nowrap}
 .home-center{grid-row:auto;grid-template-rows:minmax(0,1fr) 48px 84px;gap:8px}.cover-copy{padding:16px;justify-content:center}.cover-copy h1{font-size:clamp(27px,7.5vw,37px);margin:8px 0 12px}.cover-copy .eyebrow{font-size:7px;letter-spacing:1px}.cover-copy p{display:none}.cover-copy .menu-primary{font-size:12px;min-width:182px;min-height:39px;padding:9px 14px}.home-missions{gap:6px}.home-missions button{padding:7px 6px;grid-template-columns:16px 1fr;gap:3px}.home-missions small{font-size:15px}.home-missions strong{font-size:10px}.home-missions span{font-size:6px;letter-spacing:0}.home-deck{padding:8px 10px;border-radius:9px}.home-deck .eyebrow{font-size:7px;letter-spacing:1px}.home-deck .menu-text{font-size:9px}.menu-deck-strip{gap:4px}.menu-deck-strip>button>span{font-size:6px}
 .home-aside{display:grid;grid-column:auto;grid-template-columns:1fr 1fr;gap:8px}.season-teaser{min-width:0;flex-direction:row;gap:8px;padding:8px 10px;align-items:center;text-align:left;border-radius:8px}.season-symbol{font-size:32px;flex-shrink:0}.season-copy{min-width:0;gap:4px}.season-copy>small{font-size:6px;letter-spacing:.7px}.season-copy>strong{font-size:14px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.season-copy .menu-progress{height:2px}.season-copy>span:last-child{font-size:7px}.season-teaser>b{display:none}.chest-card{border-radius:8px;padding:8px 9px;gap:7px;overflow:hidden}.chest-card strong{font-size:14px;line-height:1.1}.chest-card small{font-size:8px;margin-top:5px}.chest-symbol{font-size:35px}.chest-symbol i{font-size:13px;left:9px;top:13px}.chest-card>b,.home-aside-note{display:none}
 .menu-page-title{margin-bottom:11px}.menu-page-title .eyebrow{font-size:7px;letter-spacing:1.2px}.menu-page-title h1{font-size:27px;margin-top:6px}.menu-page-title p{font-size:10px}.collection-tabs{margin-bottom:8px}.collection-tabs>button{min-height:32px;font-size:11px}.equipped-section{margin-bottom:5px}.section-caption{font-size:10px;margin-bottom:3px;min-height:17px}.section-caption small{font-size:8px}.deck-editor{height:91px;gap:6px}.deck-editor>.deck-slot{padding:4px;grid-template-rows:8px minmax(0,1fr) 22px;border-radius:7px}.deck-slot>small{font-size:6px}.deck-slot>strong{font-size:10px}.deck-editor.compact{height:78px}.deck-editor.compact>.deck-slot{grid-template-rows:7px minmax(0,1fr) 19px;padding:4px}.deck-editor.compact .deck-slot>strong{font-size:9px}.filter-strip{height:31px;margin-bottom:5px;gap:5px}.filter-strip button{font-size:8px;padding:6px 9px}.inventory-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.tower-card{padding:8px 7px 7px;border-radius:8px}.tower-card .rarity-label{font-size:6px;letter-spacing:.3px}.tower-card-art{height:76px}.tower-card>strong{font-size:13px;min-height:30px;line-height:1.12}.tower-card-level{font-size:8px;margin:3px 0 7px}.tower-card-level i{font-size:12px}.tower-card-level b{font-size:7px}.shard-count{font-size:7px}.menu-scroll{padding-right:4px}.section-actions{min-height:43px;gap:8px;padding-top:7px}.section-actions>span{font-size:8px}.section-actions>.eyebrow{font-size:7px;letter-spacing:.5px}.section-actions .menu-primary,.section-actions .menu-secondary{font-size:10px;min-height:34px;padding:8px 11px}.deck-prompt{font-size:10px;min-height:31px;padding:5px 8px;margin-bottom:4px}.prompt-icon{height:28px;width:28px}
 .hero-stage{padding:0 5px}.hero-stage>.hero-orbit{height:135px;width:130px}.hero-stage>.hero-orbit i{width:95px;height:95px}.hero-stage>.hero-orbit i:last-child{width:122px;height:122px}.hero-stage>.hero-orbit>span{font-size:77px}.hero-stage h2{font-size:30px;margin:5px 0 12px}.hero-skill{padding:12px;gap:11px}.hero-skill h3{font-size:19px}.hero-skill p{font-size:10px}.hero-stats{font-size:9px;gap:22px;margin-block:10px}.hero-roster{gap:9px;padding-block:8px}.hero-roster>button{min-width:135px;padding:8px 10px;grid-template-columns:28px 1fr;gap:5px 8px}.hero-roster>button>span{font-size:30px}.hero-roster strong{font-size:16px}.hero-roster small{font-size:7px}.hero-actions{gap:10px;padding-top:9px}.hero-actions>span{font-size:8px;max-width:125px;line-height:1.6}.hero-actions>.menu-primary{min-width:170px;font-size:11px;min-height:39px;padding:9px 12px}
 .pass-header{padding:0 2px 12px}.pass-header h1{font-size:27px;margin-top:6px}.pass-header .eyebrow{font-size:7px;letter-spacing:.7px}.pass-header .season-symbol{font-size:42px}.pass-meter{padding:11px 12px;grid-template-columns:80px minmax(0,1fr);gap:7px 12px;margin-bottom:9px}.pass-meter strong{font-size:25px}.pass-meter>small{font-size:8px;line-height:1.4}.pass-meter>span{font-size:9px}.pass-scroll{padding-right:4px}.pass-timeline{gap:12px}.pass-step{grid-template-columns:29px minmax(0,1fr);gap:8px;min-height:92px}.pass-timeline:before{left:14px}.pass-node{width:26px;height:26px;font-size:15px;margin-left:2px;border-radius:7px}.pass-reward-card{padding:11px;gap:10px;min-height:92px}.pass-reward-icon{width:30px;font-size:31px}.pass-reward-card small{font-size:6px;letter-spacing:.5px}.pass-reward-card h2{font-size:17px;margin:4px 0}.pass-reward-card>div>span{font-size:8px;line-height:1.4}.pass-reward-card button{min-width:62px;font-size:10px;min-height:34px;padding:8px}
 .arena-choices{grid-template-columns:1fr;gap:13px}.arena-swatch{height:150px}.arena-choices strong{font-size:21px}.weather-choices{gap:8px}.weather-choices button{padding:12px 14px;font-size:11px}.menu-subheading{font-size:23px}.balance-form{padding:15px;gap:15px}.balance-form label{font-size:11px}.balance-form input,.balance-form select{width:77px;padding:8px;font-size:16px}.lab-callout{padding:16px;margin-top:13px}.lab-callout strong{font-size:20px}.lab-callout p{font-size:10px}.lab-scroll+.section-actions>span{max-width:120px}.lab-scroll+.section-actions>.menu-primary{max-width:180px}
}
@media(max-width:380px){.menu-shell{padding-inline:10px;grid-template-rows:calc(57px + env(safe-area-inset-top,0px)) minmax(0,1fr) calc(58px + env(safe-area-inset-bottom,0px))}.menu-brand img{width:29px;height:29px}.menu-brand{gap:5px;font-size:6px}.menu-brand strong{font-size:14px;letter-spacing:2px}.menu-currencies>span{min-width:59px;padding:7px 7px 15px;gap:4px}.menu-currencies b{font-size:13px}.menu-currencies small{left:19px;letter-spacing:.2px}.menu-content{padding-block:8px}.home-layout{grid-template-rows:43px minmax(0,1fr) 58px;gap:7px}.home-center{grid-template-rows:minmax(0,1fr) 45px 76px;gap:7px}.cover-copy{padding:12px}.cover-copy h1{font-size:26px;margin:6px 0 9px}.cover-copy .menu-primary{min-height:34px;font-size:11px;padding:8px 12px}.season-copy>strong{font-size:12px}.season-symbol{font-size:27px}.chest-card strong{font-size:13px}.chest-card small{font-size:7px}.chest-symbol{font-size:30px}.chest-symbol i{font-size:12px;top:11px;left:7px}.mobile-menu-nav button{font-size:7px}.mobile-menu-nav svg{width:19px;height:19px}.home-hero-info h2{font-size:18px}.menu-hero-card>.menu-text{font-size:8px}.deck-editor.compact{height:72px}.deck-editor{height:84px}.tower-card-art{height:66px}.tower-card>strong{font-size:12px;min-height:29px}.tower-card .rarity-label{font-size:5px}.tower-card-level,.shard-count{font-size:7px}.inventory-grid{gap:7px}.tower-card{padding:7px 6px}.hero-actions>.menu-primary{min-width:153px}.pass-reward-card{padding:9px;gap:7px}.pass-reward-card h2{font-size:15px}.pass-reward-card button{min-width:55px;padding:7px;font-size:9px}}
@media(max-height:500px) and (max-width:900px) and (orientation:landscape){
 .menu-shell{padding-inline:14px;grid-template-rows:calc(48px + env(safe-area-inset-top,0px)) minmax(0,1fr) calc(44px + env(safe-area-inset-bottom,0px))}.desktop-menu-nav,.menu-footer{display:none}.menu-brand img{width:28px;height:28px}.menu-brand{font-size:6px;letter-spacing:2px}.menu-brand strong{font-size:14px;letter-spacing:3px}.menu-currencies>span{padding:5px 10px 14px;min-width:88px}.menu-currencies b{font-size:13px}.menu-currencies small{font-size:5px;left:29px;bottom:4px}.menu-content{padding-block:8px}.mobile-menu-nav{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:4px;border-top:1px solid #a78b5140;padding:2px 0 calc(2px + env(safe-area-inset-bottom,0px));background:#102b38}.mobile-menu-nav button{position:relative;display:flex;flex-direction:row;align-items:center;justify-content:center;gap:7px;padding:4px;background:none;color:#87a8b6;font-size:9px}.mobile-menu-nav button.active{color:#e5c78a}.mobile-menu-nav svg{width:19px;height:19px}.mobile-menu-nav .nav-badge{right:20%;top:5px}
 .home-layout{grid-template-columns:135px minmax(240px,1fr) 155px;grid-template-rows:minmax(0,1fr);gap:12px}.menu-hero-card{display:flex;flex-direction:column;text-align:center;padding:12px;gap:0}.menu-hero-card>.eyebrow{display:block;font-size:6px;letter-spacing:1px}.menu-hero-card>.hero-orbit{height:77px;width:85px;margin:4px auto 6px}.menu-hero-card>.hero-orbit i{width:60px;height:60px;border-radius:14px}.menu-hero-card>.hero-orbit i:last-child{width:75px;height:75px}.menu-hero-card>.hero-orbit>span{font-size:49px}.home-hero-info{flex:initial}.home-hero-info h2{display:block;font-size:24px;margin:5px 0}.home-hero-info small{font-size:8px}.home-hero-info p{display:none}.menu-hero-card>.menu-text{font-size:8px;margin-top:auto;padding-top:8px}.home-center{grid-template-rows:minmax(0,1fr) 41px 68px;gap:7px}.cover-copy{padding:12px}.cover-copy h1{font-size:25px;margin:5px 0 9px}.cover-copy p{display:none}.cover-copy .eyebrow{font-size:6px;letter-spacing:.6px}.cover-copy .menu-primary{min-height:32px;padding:7px 11px;font-size:10px;min-width:165px}.home-missions button{padding:6px;grid-template-columns:15px 1fr;gap:2px}.home-missions small{font-size:14px}.home-missions strong{font-size:9px}.home-missions span{font-size:6px}.home-deck{padding:6px 9px}.home-deck .eyebrow,.home-deck .menu-text{font-size:7px}.menu-deck-strip{margin-top:2px}.menu-deck-strip>button>span{font-size:6px}.home-aside{display:flex;flex-direction:column;gap:10px}.season-teaser{padding:11px;flex-direction:row;gap:9px}.season-symbol{font-size:34px}.season-copy{gap:6px}.season-copy>strong{font-size:16px}.season-copy>small{font-size:6px}.season-copy>span:last-child{font-size:8px}.season-teaser>b{display:none}.chest-card{padding:11px;gap:8px}.chest-card strong{font-size:15px}.chest-card small{font-size:8px;margin-top:7px}.chest-symbol{font-size:35px}.chest-symbol i{font-size:13px;left:9px;top:13px}.home-aside-note{display:none}
 .menu-page-title{margin-bottom:8px}.menu-page-title h1{font-size:24px}.menu-page-title .eyebrow{font-size:6px}.collection-tabs{margin-bottom:6px}.collection-tabs button{min-height:27px;font-size:10px}.equipped-section{margin-bottom:3px}.section-caption{font-size:9px;min-height:14px;margin-bottom:2px}.section-caption small{font-size:7px}.deck-editor,.deck-editor.compact{height:65px;max-width:540px;gap:7px}.deck-editor>.deck-slot,.deck-editor.compact>.deck-slot{padding:3px;grid-template-rows:6px minmax(0,1fr) 16px}.deck-slot>strong,.deck-editor.compact .deck-slot>strong{font-size:8px}.deck-slot>small{font-size:5px}.filter-strip{height:27px;margin-bottom:4px}.filter-strip button{font-size:7px;padding:5px 9px}.deck-prompt{font-size:9px;min-height:27px;margin-bottom:3px;padding:4px 9px}.deck-prompt .prompt-icon{width:22px;height:22px}.inventory-grid{grid-template-columns:repeat(auto-fill,minmax(105px,1fr));gap:9px}.tower-card-art{height:60px}.tower-card>strong{font-size:12px;min-height:28px}.tower-card{padding:8px}.tower-card .rarity-label{font-size:6px}.tower-card-level{font-size:8px}.shard-count{font-size:7px}.section-actions{min-height:36px;padding-top:5px}.section-actions>span{font-size:8px}.section-actions .menu-primary,.section-actions .menu-secondary{min-height:29px;font-size:9px;padding:7px 11px}
 .hero-layout{display:grid;grid-template-columns:minmax(0,1fr) 170px;grid-template-rows:minmax(0,1fr) auto;gap:8px 16px}.hero-stage-scroll{grid-column:1;grid-row:1/3}.hero-stage{padding:0 10px;display:grid;grid-template-columns:120px minmax(0,1fr);gap:5px 16px;align-content:center;text-align:left}.hero-stage>.hero-orbit{grid-column:1;grid-row:1/5;width:115px;height:155px;align-self:center}.hero-stage>.hero-orbit i{width:84px;height:84px}.hero-stage>.hero-orbit i:last-child{width:108px;height:108px}.hero-stage>.hero-orbit>span{font-size:73px}.hero-stage>small{grid-column:2;font-size:8px}.hero-stage h2{grid-column:2;margin:0;font-size:27px}.hero-skill{grid-column:2;padding:9px 11px;gap:9px}.hero-skill h3{font-size:17px}.hero-skill p{font-size:9px}.hero-skill>span{font-size:28px}.hero-stats{grid-column:2;justify-content:flex-start;gap:15px;margin:3px 0;font-size:8px}.hero-roster{grid-column:2;grid-row:1;flex-direction:column;justify-content:center;gap:8px;padding:0}.hero-roster>button{min-width:0;padding:9px;grid-template-columns:26px 1fr}.hero-roster strong{font-size:16px}.hero-roster small{font-size:7px}.hero-roster>button>span{font-size:28px}.hero-actions{grid-column:2;grid-row:2;display:block;padding-top:5px}.hero-actions>span{display:none}.hero-actions>.menu-primary{min-width:0;width:100%;font-size:10px;min-height:34px;padding:8px}
 .pass-header{padding-bottom:7px}.pass-header h1{font-size:24px;margin-top:4px}.pass-header .eyebrow{font-size:6px}.pass-header .season-symbol{font-size:34px}.pass-meter{padding:8px 12px;margin-bottom:7px;grid-template-columns:90px minmax(0,1fr);gap:5px 15px}.pass-meter strong{font-size:24px}.pass-meter>small{font-size:8px}.pass-step{min-height:79px}.pass-reward-card{min-height:79px;padding:10px 15px}.pass-reward-card h2{font-size:20px}.pass-reward-icon{font-size:34px;width:42px}.arena-choices{grid-template-columns:repeat(3,minmax(0,1fr))}.arena-swatch{height:115px}.arena-choices strong{font-size:18px}.balance-form{max-width:none;grid-template-columns:1fr 1fr;gap:14px 20px;padding:15px}.balance-form label{font-size:10px}.balance-form input,.balance-form select{width:78px;padding:7px;font-size:14px}.balance-form .menu-note{grid-column:1/-1}.lab-callout{padding:14px}.lab-callout strong{font-size:19px}
}
@media(prefers-reduced-motion:reduce){.view-enter,.hero-change,.slot-applied,.card-upgraded,.currency-pop{animation:none!important}.menu-progress i{transition:none!important}}
@media(max-width:620px) and (max-height:500px) and (orientation:landscape){.home-layout{grid-template-columns:105px minmax(0,1fr) 125px;gap:9px}.home-missions button{grid-template-columns:12px 1fr;padding:5px 4px}.home-missions strong{font-size:8px}.home-missions small{font-size:12px}.home-missions span{font-size:5px}.cover-copy{padding:10px}.cover-copy h1{font-size:23px}.cover-copy .menu-primary{min-width:0;font-size:9px;gap:12px}.season-copy>strong{font-size:13px}.season-symbol{font-size:27px}.chest-card strong{font-size:13px}.hero-layout{grid-template-columns:minmax(0,1fr) 140px;gap:8px}.hero-stage{grid-template-columns:85px minmax(0,1fr);gap:5px 10px}.hero-stage>.hero-orbit{width:82px;height:120px}.hero-stage>.hero-orbit i{width:64px;height:64px}.hero-stage>.hero-orbit i:last-child{width:80px;height:80px}.hero-stage>.hero-orbit>span{font-size:58px}}

.story-part{margin:12px 0;border:1px solid #c5a66c44;border-radius:12px;padding:12px;background:#0d2633aa}.story-part summary{cursor:pointer;display:flex;justify-content:space-between;gap:12px;color:#e9d3a2;font-size:13px;line-height:1.5}.story-part summary b{white-space:nowrap;color:#a9dfe4;font-size:11px}.story-part .chapter-path{margin-top:12px}.chest-purchase{width:100%;margin-top:10px}.story-part .menu-note{line-height:1.7;margin:12px 0}.wave-track{max-width:190px}.wave-track i{flex:1;min-width:1px}.wave-track{gap:2px!important}#mission-list{max-height:300px;overflow-y:auto}
@media(max-width:520px){.story-part{padding:10px}.story-part summary{font-size:11px;gap:6px}.story-part summary b{font-size:9px}.wave-track{max-width:120px}}
