.tower-icon{display:block;width:100%;height:100%;overflow:hidden;flex-shrink:0}
.menu-open .app-shell{visibility:hidden;pointer-events:none}
#main-menu{position:fixed;inset:0;z-index:15;overflow:auto;overscroll-behavior:contain;background:radial-gradient(ellipse at 45% 10%,#28495755,transparent 65%),#0d202c;color:#e4e8df}
.menu-shell{max-width:1440px;min-height:100dvh;margin:auto;padding:0 42px;display:flex;flex-direction:column}
.menu-header{display:flex;justify-content:space-between;align-items:center;min-height:92px;gap:20px;border-bottom:1px solid #a78b5140}
.menu-brand{display:flex;align-items:center;gap:12px;text-decoration:none;color:#e3c589;font:11px Georgia;letter-spacing:4px}.menu-brand img{width:48px;height:48px}.menu-brand strong{display:block;font-size:24px;font-weight:400;letter-spacing:6px;margin-top:3px}
.menu-currencies{display:flex;gap:12px}.menu-currencies>span{position:relative;display:flex;align-items:center;gap:12px;color:#f0cc77;border:1px solid #b59a5c4a;background:#112d3b;padding:12px 18px 22px;border-radius:9px;min-width:122px}.menu-currencies>span+span{color:#a2d7ff}.menu-currencies b{font-size:20px;color:#eef1df}.menu-currencies small{position:absolute;bottom:7px;left:43px;font-size:7px;letter-spacing:1.4px;color:#8ca9b3}
.menu-nav{display:flex;gap:30px;min-height:65px;align-items:stretch;overflow-x:auto;border-bottom:1px solid #a78b5124;flex-shrink:0;scrollbar-width:thin}.menu-nav button{position:relative;padding:0 3px;white-space:nowrap;background:none;font-size:12px;color:#88a8b8}.menu-nav button.active{color:#edce8c}.menu-nav button.active:after{position:absolute;content:'';height:2px;bottom:0;left:0;right:0;background:#d8b56b}.menu-nav i{position:absolute;width:5px;height:5px;background:#e6c36f;border-radius:50%;right:-7px;top:19px}
.menu-content{padding:28px 0 36px;flex:1}.menu-content h1,.menu-content h2,.menu-content h3{font-family:Georgia,serif;font-weight:400}.menu-content h1{color:#f0d8a4}.menu-content p{color:#91acb8;line-height:1.8;font-size:12px}.menu-footer{display:flex;justify-content:space-between;gap:12px;align-items:center;min-height:46px;color:#5f8597;font-size:9px;border-top:1px solid #a78b5128}.menu-footer b{margin:0 9px;color:#b29b69}
.home-layout{display:grid;grid-template-columns:215px minmax(300px,1fr) 235px;gap:24px}.menu-hero-card,.season-teaser,.chest-card,.home-deck{border:1px solid #ad956345;background:linear-gradient(145deg,#24414e65,#102936aa);border-radius:12px}.menu-hero-card{padding:22px;text-align:center;align-self:start}.menu-hero-card>.eyebrow{text-align:left}.menu-hero-card h2{font-size:30px;margin:9px 0;color:#ebd3a3}.menu-hero-card>small,.hero-choice>small{font-size:10px;letter-spacing:.7px;color:#a8c2c9}.menu-hero-card p{font-size:11px;min-height:88px}.menu-text{background:none;padding:0;color:#cbb889;font-size:11px}.hero-orbit{width:150px;height:175px;display:grid;place-items:center;position:relative;color:var(--hero-color,#89e0ee);margin:8px auto 16px;background:radial-gradient(ellipse,#6ea8b228,transparent 65%)}.hero-orbit>span{font:96px Georgia;text-shadow:0 0 32px #8bd4df40;z-index:1}.hero-orbit i{position:absolute;width:122px;height:122px;transform:rotate(45deg);border:1px solid #a98d535c;border-radius:25px}.hero-orbit i:last-child{width:150px;height:150px;border-radius:50%;border-color:#89dbe127}
.home-center{min-width:0}.campaign-cover{position:relative;isolation:isolate;min-height:310px;overflow:hidden;border:1px solid #ba9d625e;border-radius:12px;background:url('../assets/arena-v2-runtime.webp') center 38%/cover}.campaign-cover:before{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#091e2ff5,#0a2030c9 53%,#09203020);z-index:-1}.cover-copy{padding:30px}.cover-copy h1{font-size:43px;line-height:1.08;margin:14px 0}.cover-copy p{margin-bottom:20px;font-size:11px}.menu-primary{display:flex;align-items:center;justify-content:space-between;gap:28px;background:linear-gradient(#e8c882,#bd8e43);color:#2a271f;border:1px solid #f5d996;border-radius:7px;box-shadow:0 3px #725426;padding:13px 20px;font-size:13px}.menu-primary span{font-size:20px}
.home-missions{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:12px 0 18px}.home-missions button{display:grid;grid-template-columns:25px 1fr;gap:6px;text-align:left;border:1px solid #6888973d;background:#19344277;border-radius:8px;padding:11px 10px;min-width:0}.home-missions small{grid-row:1/3;color:#b7a478;font:19px Georgia}.home-missions strong{font-weight:400;font:12px Georgia;color:#dce4d7}.home-missions span{font-size:7px;letter-spacing:1px;color:#c7b477}.home-missions button:disabled{opacity:.45}
.home-deck{padding:15px}.home-deck>div:first-child{display:flex;justify-content:space-between;gap:10px}.menu-deck-strip{display:grid;grid-template-columns:repeat(5,1fr);gap:6px;margin-top:10px}.menu-deck-strip>div{text-align:center;min-width:0}.menu-deck-strip .tower-icon{height:64px}.menu-deck-strip span{display:block;font-size:8px;color:#9eb6be;line-height:1.4}
.home-aside{display:flex;flex-direction:column;gap:15px}.season-teaser{padding:22px;text-align:center;background:radial-gradient(ellipse at top,#81684830,transparent 70%),#172e3d}.season-teaser>.eyebrow{text-align:left}.season-symbol{font:73px Georgia;color:#d7bc80;margin:5px auto 0;text-shadow:0 0 35px #d6a34430}.season-teaser h2{font-size:24px;color:#e3c993;margin:7px 0}.season-teaser p{font-size:11px}.menu-progress{height:4px;overflow:hidden;background:#45637166;border-radius:3px;margin:14px 0 8px}.menu-progress i{height:100%;display:block;background:linear-gradient(90deg,#b99a59,#f0d18c)}.season-teaser>small{font-size:9px;color:#b6b898}.season-teaser button,.chest-card button{display:block;width:100%;margin-top:16px;border:1px solid #b6995970;padding:10px;background:#bc9d5220;border-radius:6px;color:#e3cd95;font-size:11px}
.chest-card{display:flex;flex-wrap:wrap;gap:10px;padding:16px;align-items:center}.chest-card>div:nth-child(2){flex:1;min-width:115px}.chest-card h3{font-size:18px;color:#e2c998;margin:0}.chest-card p{font-size:10px;margin:5px 0}.chest-card button{margin-top:9px}.chest-symbol{position:relative;font:60px Georgia;color:#caa35b;text-shadow:0 0 22px #dcb25a33}.chest-symbol span{position:absolute;font-size:21px;left:15px;top:20px;color:#ffe6ac}.chest-drops{flex-basis:100%;display:grid;gap:8px;border-top:1px solid #aa91552b;padding-top:10px}.chest-drops span{font-size:10px;color:#9db9c4}.chest-drops b{float:right;color:#edcf91}
.menu-page-title{max-width:700px;margin-bottom:26px}.menu-page-title h1{font-size:38px;margin:10px 0}.menu-page-title p{margin:0}.inventory-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.inventory-card{min-width:0;padding:15px 17px;border:1px solid color-mix(in srgb,var(--rarity),transparent 60%);border-radius:11px;background:radial-gradient(ellipse at 50% 25%,#91bdd00d,transparent 70%),#152e3c}.rarity-label{font-size:9px;letter-spacing:1px;color:var(--rarity)}.inventory-art{height:130px;position:relative;margin:5px 0}.inventory-art .tower-icon{max-width:150px;margin:auto}.inventory-art>span{position:absolute;bottom:2px;left:0;font-size:10px;border:1px solid #a8a17a55;padding:3px 6px;border-radius:4px;background:#0c2432}.inventory-card h2{font-size:21px;color:#e9d7b2;margin:8px 0}.inventory-card>small{font-size:8px;color:var(--accent);letter-spacing:.7px}.inventory-card p{font-size:10px;min-height:90px}.inventory-stats{border-top:1px solid #7e9aa32c;padding-top:10px;display:grid;gap:9px}.inventory-stats span{font-size:10px;color:#8dadba}.inventory-stats b{float:right;color:#d7e1d8;font-weight:400}.inventory-card>button,.hero-choice button,.pass-track button{margin-top:15px;width:100%;padding:11px 6px;border:1px solid #a58f5b77;border-radius:6px;background:#b1954c22;font-size:11px;color:#e8ce92}.inventory-card.locked .inventory-art{filter:saturate(.4);opacity:.6}.inventory-bottom{display:grid;grid-template-columns:1fr 1fr;gap:25px;margin-top:22px}.menu-note{font-size:11px!important;line-height:1.9!important;color:#7697a7!important}
.deck-editor{display:grid;grid-template-columns:repeat(5,1fr);gap:13px;margin-bottom:25px}.deck-editor>button{border:1px solid #6d929e66;border-radius:11px;min-width:0;padding:12px;background:#183342}.deck-editor>button.selected{border-color:#f0d08b;box-shadow:0 0 20px #c79a3420}.deck-editor small{color:#b2a37d;font-size:8px;letter-spacing:1px}.deck-editor .tower-icon{height:115px}.deck-editor strong{display:block;font:17px Georgia;color:#e5d6b3}.deck-roster{display:grid;grid-template-columns:1fr 1fr;gap:10px}.deck-roster button{display:flex;align-items:center;gap:12px;text-align:left;padding:9px 15px;background:#16313f;border:1px solid #789aa13a;border-radius:8px}.deck-roster .tower-icon{width:63px;height:63px}.deck-roster span{flex:1}.deck-roster strong{display:block;font:18px Georgia;color:#d9decf}.deck-roster small{display:block;font-size:9px;color:var(--rarity);margin-top:6px}.deck-roster b{font-size:8px;color:#d8c594;font-weight:400}
.hero-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px;max-width:840px}.hero-choice{text-align:center;border:1px solid #89aab049;border-radius:13px;background:radial-gradient(ellipse at 50% 15%,#7b9bb421,transparent 75%),#142f3e;padding:22px 32px}.hero-choice.selected{border-color:#cfb477}.hero-choice h2{font-size:36px;color:#eddbb4;margin:10px 0}.hero-choice h3{font-size:21px;color:var(--hero-color);margin:12px 0}.hero-choice p{min-height:55px}.hero-choice>span{font-size:10px;color:#b0bca8}.hero-choice button{max-width:260px}.season-banner{border:1px solid #b79b5d44;border-radius:12px;max-width:600px;display:flex;align-items:center;gap:30px;padding:18px 28px;background:#c2a15a0d}.season-banner>span{font:70px Georgia;color:#d7b574}.season-banner>div{flex:1;color:#b4c5c1;font-size:12px}.season-banner strong{font:40px Georgia;color:#ead5a6;margin-right:10px}.pass-track{display:grid;grid-template-columns:repeat(5,1fr);gap:14px;margin:28px 0}.pass-track article{text-align:center;padding:22px 12px;border:1px solid #7899a140;border-radius:10px;background:#16313f}.pass-track article.ready{border-color:#e2c17b;background:#92743420}.pass-track article.claimed{opacity:.6}.pass-track small{font-size:8px;color:#bdac81;letter-spacing:1px}.pass-reward{font:60px Georgia;color:#e7c57b;padding:15px 0}.pass-track h2{font-size:20px;color:#e3d2ab;min-height:48px}.pass-track p{font-size:10px}
.arena-choices{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.arena-choices button{overflow:hidden;padding:0 0 17px;min-width:0;border:1px solid #7c98a446;border-radius:10px;background:#183240}.arena-choices button.selected{border-color:#e5c780}.arena-swatch{height:190px;background:url('../assets/arena-v2-runtime.webp') center 48%/cover}.arena-swatch.moon{filter:sepia(.2) hue-rotate(20deg) saturate(.8)}.arena-swatch.ember{filter:sepia(.45)}.arena-choices strong{display:block;font:22px Georgia;color:#e8d6b1;margin:17px 0 8px}.arena-choices small{font-size:8px;color:#bdac83;letter-spacing:1px}.menu-subheading{font:26px Georgia;color:#e8d6b1;margin-top:30px}.weather-choices{display:flex;flex-wrap:wrap;gap:12px}.weather-choices button{padding:15px 25px;border:1px solid #7c98a466;border-radius:8px;background:#193645;color:#a6c3ce}.weather-choices button.selected{border-color:#e1bf76;color:#eacf96}.balance-form{max-width:620px;padding:22px;border:1px solid #8099a33b;border-radius:10px;background:#152f3e;display:grid;gap:17px}.balance-form label{display:flex;justify-content:space-between;align-items:center;gap:15px;font-size:12px;color:#b4c9cd}.balance-form input{width:100px;padding:9px;border:1px solid #7194a466;border-radius:6px;background:#102936;color:#f0dba9;font:16px Arial}.balance-form button{justify-self:start;margin-top:8px}.lab-callout{max-width:620px;border:1px solid #a58d563d;padding:22px;border-radius:10px;margin-top:22px}.lab-callout strong{font:22px Georgia;color:#e3c993}.lab-callout button{padding:12px 18px;border:1px solid #c5aa6e66;border-radius:6px;background:#d1ae501a;color:#e8cf91;font-size:12px}
/* Battle cards use a uniform clipped icon, not a background atlas crop. */
.brand{background:none;text-align:left}.deck-card{height:86px;overflow:hidden;display:grid;grid-template-rows:minmax(0,1fr) 18px;justify-items:center;align-items:center;padding:4px 5px 2px}.deck-card .tower-icon{width:100%;max-width:72px;height:100%;min-height:0}.deck-card .deck-info{width:100%;display:flex;justify-content:space-between;gap:2px;color:#e5d6ae;font-size:9px;z-index:2}.deck-card .deck-info b{font-weight:500;color:#9edfdc}.deck-card small{position:static;font-size:9px}.deck-card .deck-info .max{color:#d9bc7b}.portrait .tower-icon{width:100%;height:100%}.portrait{aspect-ratio:1;height:100%;max-height:140px}.battle-shell{grid-template-rows:26px minmax(0,1fr) 180px}.arena-frame{width:min(100%,calc((100dvh - 375px)*1.263158))}
@media(max-width:1100px){.menu-shell{padding-inline:25px}.home-layout{grid-template-columns:180px minmax(250px,1fr);gap:18px}.home-aside{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr}.menu-hero-card{padding:17px}.cover-copy h1{font-size:38px}.inventory-grid{grid-template-columns:repeat(3,1fr)}.menu-nav{gap:23px}.pass-track{gap:9px}.pass-track h2{font-size:17px}}
@media(max-width:700px){.menu-shell{padding-inline:16px}.menu-header{min-height:76px;gap:10px}.menu-brand{font-size:8px;letter-spacing:2px;gap:8px}.menu-brand strong{font-size:17px;letter-spacing:3px}.menu-brand img{width:36px;height:36px}.menu-currencies{gap:6px}.menu-currencies>span{min-width:70px;padding:9px 9px 18px;gap:6px}.menu-currencies b{font-size:14px}.menu-currencies small{left:25px;font-size:5px;bottom:6px;letter-spacing:.4px}.menu-nav{min-height:53px;gap:23px}.menu-nav button{font-size:11px}.menu-content{padding-top:18px}.home-layout{grid-template-columns:minmax(0,1fr)}.home-center{grid-row:1}.menu-hero-card{display:grid;grid-template-columns:90px 1fr;text-align:left;padding:17px;gap:0 20px}.menu-hero-card>.eyebrow{grid-column:2}.menu-hero-card .hero-orbit{grid-column:1;grid-row:1/6;width:90px;height:145px;margin:0}.menu-hero-card .hero-orbit i{width:75px;height:75px}.menu-hero-card .hero-orbit i:last-child{width:95px;height:95px}.menu-hero-card .hero-orbit span{font-size:66px}.menu-hero-card h2{font-size:25px}.menu-hero-card p{min-height:0;font-size:10px;margin:6px 0}.home-aside{grid-column:auto;gap:12px}.season-teaser{padding:16px}.season-teaser h2{font-size:21px}.season-teaser p{font-size:10px}.season-symbol{font-size:55px}.chest-card{padding:12px;align-content:center}.chest-symbol{font-size:50px}.chest-card h3{font-size:18px}.chest-card>div:nth-child(2){min-width:90px}.cover-copy{padding:24px}.cover-copy h1{font-size:39px}.campaign-cover{min-height:300px}.home-missions button{padding:10px 7px;grid-template-columns:18px 1fr}.home-missions strong{font-size:11px}.home-missions small{font-size:16px}.home-missions span{font-size:6px}.menu-deck-strip .tower-icon{height:58px}.menu-page-title h1{font-size:32px}.inventory-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.inventory-card{padding:13px 11px}.inventory-art{height:110px}.inventory-card h2{font-size:19px}.inventory-card p{font-size:10px;min-height:126px}.inventory-card>small{font-size:7px}.inventory-card>button{font-size:10px}.inventory-bottom{grid-template-columns:1fr;gap:10px}.deck-editor{gap:5px}.deck-editor>button{padding:9px 4px}.deck-editor small{font-size:6px;letter-spacing:0}.deck-editor .tower-icon{height:58px}.deck-editor strong{font-size:10px}.deck-roster{grid-template-columns:1fr}.deck-roster .tower-icon{width:55px;height:55px}.hero-grid{gap:12px}.hero-choice{padding:17px 12px}.hero-choice .hero-orbit{width:100px;height:145px}.hero-choice .hero-orbit i{width:90px;height:90px}.hero-choice .hero-orbit i:last-child{width:110px;height:110px}.hero-choice h2{font-size:28px}.hero-choice h3{font-size:18px}.hero-choice p{font-size:11px;min-height:100px}.pass-track{grid-template-columns:repeat(2,1fr);gap:12px}.pass-track h2{min-height:0}.pass-track article:last-child{grid-column:1/-1}.arena-choices{grid-template-columns:1fr;gap:13px}.arena-swatch{height:170px}.arena-choices strong{font-size:22px}.weather-choices{gap:8px}.weather-choices button{padding:12px 15px}.menu-footer{font-size:7px}.menu-page-title p{font-size:11px}.balance-form{padding:16px}.balance-form label{font-size:11px}.balance-form input{width:78px}.menu-note{font-size:10px!important}}
@media(max-width:520px){.deck-card{height:78px;padding:3px 3px 2px;grid-template-rows:minmax(0,1fr) 18px}.deck-card .deck-info{font-size:8px}.deck-card small{font-size:8px}.arena-frame{width:min(100%,calc((100dvh - 335px - env(safe-area-inset-bottom,0px))*1.263158))}.deck-card .tower-icon{max-width:63px}}
@media(max-width:900px) and (orientation:portrait){.battle-shell{grid-template-rows:23px auto 170px;align-content:center;row-gap:8px}}
@media(max-height:500px) and (max-width:900px) and (orientation:landscape){.battle-shell{grid-template-columns:minmax(0,1fr) 285px;grid-template-rows:18px minmax(0,1fr)}.arena-frame{width:min(100%,calc((100dvh - 107px)*1.263158))}.deck-card{height:74px}.deck{margin-top:47px}.deck-card .tower-icon{max-width:57px}.deck-card .deck-info{font-size:8px}}

.menu-brand{background:none;text-align:left;padding:0}

.balance-form select{width:100px;padding:9px;border:1px solid #7194a466;border-radius:6px;background:#102936;color:#f0dba9;font:16px Arial}
@media(max-width:700px){.balance-form select{width:78px}}
