@font-face{font-family:'Cinzel';font-style:normal;font-weight:400 800;font-display:swap;src:url('assets/cinzel-latin.woff2') format('woff2')}
@font-face{font-family:'DM Sans';font-style:normal;font-weight:400 700;font-display:swap;src:url('assets/dm-sans-latin.woff2') format('woff2')}
:root{color-scheme:dark;--gold:#ddba78;--pale:#f2e7d0;--muted:#a5b2ad;--ink:#101b1e;--line:#c5b98a30;--font:'DM Sans','Segoe UI',sans-serif;--display:'Cinzel',Georgia,serif}*{box-sizing:border-box}html,body{width:100%;height:100%;margin:0;background:#0a1013;color:var(--pale);font-family:var(--font);overflow:hidden}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;color:inherit;cursor:pointer}button:focus-visible,a:focus-visible{outline:2px solid #f0cc86;outline-offset:5px}button{touch-action:manipulation}button:disabled{cursor:default}#game{position:relative;width:100%;height:100%;min-height:360px;isolation:isolate;background:#162b30;overflow:hidden}canvas{position:absolute;inset:0;width:100%;height:100%;touch-action:none;cursor:crosshair}.vignette{position:absolute;inset:0;pointer-events:none;background:linear-gradient(180deg,#081417c9,transparent 27%,transparent 65%,#071014 100%);z-index:1}.topbar{position:absolute;z-index:3;inset:0 0 auto;display:flex;align-items:center;justify-content:space-between;padding:25px 3.2%;border-bottom:1px solid #d6cfac12;background:linear-gradient(#0c171a96,#0c171a00);gap:20px}.brand{display:flex;align-items:center;gap:12px;color:var(--pale);text-decoration:none;font-family:var(--display);font-size:20px;letter-spacing:3px;line-height:1.3}.brand small{display:block;font:8px var(--font);letter-spacing:3.1px;color:var(--muted);margin-top:4px}.crest{width:36px;height:43px;clip-path:polygon(0 0,100% 0,100% 72%,50% 100%,0 72%);background:#d3b474;display:grid;place-items:center;color:#182429;font-size:27px;letter-spacing:0}.wave-status{display:flex;gap:15px;align-items:center;font-size:10px;letter-spacing:1.6px;color:#d4dfd8}.live-dot{width:5px;height:5px;background:var(--gold);border-radius:100%;box-shadow:0 0 12px var(--gold)}.divider{height:13px;width:1px;background:var(--line)}#wave-detail{color:#9aaba7;letter-spacing:.6px}.utilities{display:flex;gap:8px}.icon-button{width:34px;height:34px;display:grid;place-items:center;background:#0f21235c;border:1px solid #c5b98a26;border-radius:3px}.icon-button:hover{background:#bca16c22;border-color:#ddba7870}svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}.resources{position:absolute;z-index:3;top:111px;left:3.2%;display:flex;align-items:center;gap:26px;transition:opacity .4s}.resource{display:flex;gap:10px;align-items:center}.resource>div{width:155px}.resource-symbol{color:#bccfbc;display:flex}.resource-symbol svg{width:25px;height:25px}.resource-caption{display:flex;justify-content:space-between;font-size:8px;letter-spacing:1.4px;margin-bottom:7px}.resource-caption b{font-weight:500;letter-spacing:.3px;color:#bac8be}.meter{height:4px;background:#e7ead317;border-radius:1px;overflow:hidden}.meter i{display:block;width:100%;height:100%;background:linear-gradient(90deg,#557f64,#b5d093);box-shadow:0 0 15px #9dcb88;transition:width .2s}.mana .meter i{background:linear-gradient(90deg,#3d7a90,#a0d9d9);box-shadow:0 0 15px #79c5d5}.mana .resource-symbol{color:#a0d9d9}.gold{display:flex;align-items:center;gap:8px;padding-left:18px;border-left:1px solid var(--line)}.gold>span{color:var(--gold);display:flex}.gold b{font:21px var(--display);color:var(--gold)}.gold small{font-size:8px;color:#a7ada2;letter-spacing:1.5px}.bottom-hud{position:absolute;z-index:3;bottom:22px;left:3.2%;right:3.2%;display:flex;align-items:flex-end;justify-content:space-between;gap:20px}.hero-name{display:flex;align-items:center;gap:11px;padding-bottom:19px;min-width:150px}.hero-mark{color:var(--gold);width:36px;height:42px;border:1px solid #c4ad7b50;display:grid;place-items:center;font-size:15px;background:#112225}.hero-name b{display:block;font:16px var(--display)}.hero-name small{display:block;margin-top:5px;color:#8c9f9e;font-size:9px;letter-spacing:.3px}.loadout{width:626px;max-width:65vw}.loadout-label{display:flex;justify-content:space-between;font-size:8px;letter-spacing:1.7px;margin:0 2px 10px;color:#c4b88d}.loadout-label span+span{letter-spacing:.4px;color:#8d9f9d}.abilities{display:flex;gap:7px}.ability{height:77px;flex:1;min-width:0;position:relative;background:linear-gradient(155deg,#233438e0,#112024e8);border:1px solid #849b982d;border-radius:3px;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:4px;transition:background .2s,border-color .2s,transform .2s;overflow:hidden}.ability:hover{transform:translateY(-3px);border-color:#b8b18a90}.ability.active{background:linear-gradient(145deg,#8e764435,#30403890);border-color:#d9ba77;box-shadow:0 0 20px #d4ae6215,inset 0 0 22px #d4ae6210}.ability.active:after{content:'';position:absolute;bottom:0;width:25px;height:2px;background:var(--gold)}.ability svg{width:27px;height:27px;color:var(--ability-color,#e0d3b0)}.ability .ability-name{font-size:8px;letter-spacing:.3px;white-space:nowrap}.ability kbd{position:absolute;top:5px;left:7px;font-size:8px;color:#8b9b99}.ability .cost{font-size:8px;color:#8db4ba;position:absolute;right:6px;top:5px}.cooldown{position:absolute;inset:auto 0 0;background:#050e13b0;pointer-events:none;height:0}.ability .cd-label{position:absolute;inset:0;display:grid;place-items:center;font:19px var(--display);color:#eee5cd;text-shadow:0 1px 6px black;pointer-events:none}.ability.oil{margin-left:5px;border-color:#b78e4d55}.ability.oil .ability-name{font-size:7px}.field-note{min-width:145px;padding-bottom:20px;text-align:right}.field-note>span{font:13px var(--display);color:#d4d8c5;display:block;margin-bottom:9px}.field-note small{font-size:8px;color:#8d9e9d;letter-spacing:1px}.field-note small>span{padding:0 6px}kbd{font:inherit;display:inline-block}.battle-info{position:absolute;z-index:2;bottom:145px;left:50%;transform:translateX(-50%);display:flex;gap:13px;align-items:center;white-space:nowrap;color:#cad3c29c;font-size:8px;letter-spacing:2px}.tiny-rule{height:1px;width:30px;background:#bbc7ac40}.overlay{z-index:10;position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:#071115b8;backdrop-filter:blur(9px);transition:opacity .5s;overflow-y:auto;padding:85px 22px 25px}.hidden{display:none!important}.intro{background:linear-gradient(90deg,#071317eb 0%,#091a1dce 30%,#12232638 64%,#1423290a 100%);backdrop-filter:none;justify-content:flex-start;padding:90px 8% 100px}.intro-content{position:relative;z-index:1;width:650px;max-width:65vw}.eyebrow{display:flex;align-items:center;gap:12px;color:var(--gold);font-size:9px;letter-spacing:2.8px}.eyebrow>span{display:inline-block;width:27px;height:1px;background:var(--gold)}h1{font:500 clamp(62px,7.2vw,112px)/1 var(--display);letter-spacing:-5px;margin:27px 0 15px;color:#eee7d3;text-shadow:0 3px 30px #0004}h1 span{color:#d5b373}.subtitle{display:flex;align-items:center;gap:17px;font:12px var(--display);letter-spacing:5px;color:#d7ccb0}.subtitle>span{width:32px;height:1px;background:#d5b37369}.intro-content>p{font-size:14px;font-weight:400;line-height:1.9;color:#b5c2b9;margin:31px 0}.primary{position:relative;display:flex;align-items:center;justify-content:space-between;gap:25px;border:1px solid #ebd39b;background:linear-gradient(115deg,#dbbf84,#b39456);color:#182122;padding:19px 24px;font-size:10px;font-weight:700;letter-spacing:1.8px;box-shadow:0 5px 35px #0004;transition:filter .2s,transform .2s;min-height:53px}.primary:hover{filter:brightness(1.13);transform:translateY(-2px)}.primary:active{transform:translateY(0)}.button-arrow{font-size:23px;line-height:10px}.intro .primary{width:325px}.intro-controls{display:flex;align-items:center;gap:22px;margin-top:24px;font-size:8px;letter-spacing:1px;color:#8eaaa8;flex-wrap:wrap}.intro-controls>span{display:flex;align-items:center;gap:4px}.intro-controls svg{width:14px;height:18px;margin-right:3px}.intro-controls kbd{border:1px solid #91aaa644;padding:2px 3px;border-radius:2px;font-size:7px}.record{color:#adbdad;font-size:9px;margin-top:24px;letter-spacing:1px}.chapter{position:absolute;right:4%;bottom:65px;text-align:right}.chapter>span:first-child{font-size:9px;letter-spacing:2px;color:#ded9bc}.chapter p{font:italic 16px Georgia,serif;color:#b7c7bc;margin:10px 0}.chapter-line{display:inline-block;width:80px;height:1px;background:#d4b46e}.version{position:absolute;bottom:25px;left:8%;font-size:7px;letter-spacing:2px;color:#829695}.version span{padding:0 10px;color:#c1a66e}.panel{max-width:700px;width:100%;padding:35px 40px;background:linear-gradient(130deg,#233337f7,#112025f7);border:1px solid #ccb57a55;box-shadow:0 20px 100px #0007;position:relative}.panel:before,.panel:after{content:'◆';position:absolute;top:-6px;color:var(--gold);font-size:9px}.panel:before{left:20px}.panel:after{right:20px}.panel .eyebrow{justify-content:center;font-size:8px}.panel h2{font:36px var(--display);text-align:center;margin:18px 0 10px;color:#eee4c9}.panel>p{color:#a7bbb6;text-align:center;font-size:12px;line-height:1.8;margin-bottom:25px}.panel>.primary{width:100%}.compact{max-width:460px;text-align:center;padding:43px 40px}.compact h2{font-size:31px}.text-button{background:transparent;border:0;color:#acbdb7;font-size:11px;margin-top:23px}.text-button:hover{color:var(--gold)}.shop-balance{display:flex;justify-content:space-between;border-top:1px solid var(--line);padding-top:20px;font-size:9px;letter-spacing:1.6px;color:#a1b5b0}.shop-balance b{color:var(--gold);font-weight:500}.upgrade-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:15px 0 24px}.upgrade{padding:17px 15px;background:#0e1d2370;border:1px solid #708c8a38;text-align:left;display:grid;grid-template-columns:30px 1fr;gap:10px;transition:border .2s}.upgrade:hover:enabled{border-color:var(--gold)}.upgrade:disabled{opacity:.48}.upgrade svg{width:26px;height:26px;color:var(--gold)}.upgrade b{font:13px var(--display);display:block}.upgrade small{display:block;line-height:1.6;font-size:10px;color:#94aaa6;margin-top:5px}.upgrade .price{color:var(--gold);font-size:10px;margin-top:9px;display:block}.end-stats{display:flex;justify-content:space-around;margin:25px 0 32px}.end-stats b{display:block;font:30px var(--display);color:var(--gold)}.end-stats small{font-size:8px;letter-spacing:1.4px;color:#99b0a7}.wave-banner{position:absolute;z-index:4;top:28%;left:50%;transform:translate(-50%,-10px);text-align:center;opacity:0;pointer-events:none;transition:opacity .6s,transform .6s;text-shadow:0 2px 20px #000}.wave-banner.visible{opacity:1;transform:translate(-50%,0)}.wave-banner small{font-size:8px;letter-spacing:4px;color:var(--gold)}.wave-banner h2{font:54px var(--display);margin:9px 0;color:#eee5cb}.wave-banner p{font:italic 17px Georgia,serif;color:#d3daca;margin-top:5px}.toast{position:absolute;z-index:20;top:175px;left:50%;transform:translateX(-50%) translateY(-10px);padding:12px 23px;border:1px solid #d7b57270;background:#102027ee;font-size:11px;letter-spacing:.5px;opacity:0;pointer-events:none;transition:.25s;text-align:center}.toast.visible{opacity:1;transform:translateX(-50%)}.combo{position:absolute;z-index:3;right:4%;top:180px;opacity:0;transition:opacity .3s;text-align:right}.combo.visible{opacity:1}.combo b{display:block;font:48px var(--display);color:var(--gold);text-shadow:0 0 30px #dfad5555}.combo span{font-size:8px;letter-spacing:2.8px;color:#d4c29b}.rotate-hint{display:none}.menu-open .resources,.menu-open .bottom-hud,.menu-open .battle-info{opacity:0;pointer-events:none}.menu-open .topbar{z-index:11}.menu-open .wave-status{opacity:.5}
@media(min-width:1900px){.intro-content{margin-left:3%}.loadout{width:740px}.ability{height:88px}}
@media(max-width:1000px){.hero-name{display:none}.loadout{max-width:none;width:630px}.field-note{min-width:100px}.topbar{padding:18px 3%}.resources{top:94px;gap:18px}.resource>div{width:125px}.brand{font-size:17px}.brand small{font-size:7px}.wave-status{font-size:8px;gap:10px}.intro{padding-left:7%}.intro-content{max-width:76vw}h1{font-size:80px}.intro-controls{gap:14px}.chapter{bottom:50px}.bottom-hud{bottom:17px}.battle-info{bottom:130px}}
@media(max-width:650px){.topbar{padding:12px 4%;gap:6px}.brand{font-size:14px;letter-spacing:2px;gap:7px}.brand small{font-size:6px;letter-spacing:1.8px}.crest{height:30px;width:25px;font-size:20px}.wave-status{display:none}.utilities{gap:5px}.icon-button{width:30px;height:30px}.resources{left:4%;right:4%;top:75px;gap:12px}.resource{gap:5px;flex:1}.resource>div{width:100%}.resource-symbol svg{width:20px}.resource-caption{font-size:6px;letter-spacing:.7px}.resource-caption b{font-size:6px}.gold{padding-left:10px;gap:5px}.gold b{font-size:18px}.gold small{display:none}.bottom-hud{left:3%;right:3%;bottom:15px}.field-note{display:none}.loadout{width:100%}.loadout-label{font-size:7px}.ability{height:67px;gap:3px}.abilities{gap:4px}.ability svg{width:23px;height:23px}.ability .ability-name{font-size:7px}.ability kbd{left:4px;font-size:7px}.ability .cost{right:4px;font-size:7px}.ability.oil{margin-left:2px}.ability.oil .ability-name{font-size:6px}.battle-info{bottom:112px;font-size:6px}.intro{padding:90px 7% 90px;background:linear-gradient(90deg,#071317ed,#091a1da1)}.intro-content{max-width:100%;width:100%}.intro .eyebrow{font-size:6px;letter-spacing:1.8px}h1{font-size:clamp(50px,13.5vw,80px);letter-spacing:-3px;margin-top:24px}.subtitle{font-size:8px;letter-spacing:3px;gap:9px}.subtitle>span{width:20px}.intro-content>p{font-size:12px;margin:25px 0}.intro .primary{width:100%;max-width:320px;font-size:9px;padding:17px 18px}.intro-controls{gap:13px;font-size:6px;line-height:1.8}.intro-controls>span:last-child{display:none}.chapter{display:none}.version{left:7%;font-size:6px}.panel{padding:27px 19px}.panel h2{font-size:28px}.upgrade{padding:13px 9px;gap:5px;grid-template-columns:22px 1fr}.upgrade b{font-size:11px}.upgrade small{font-size:9px}.upgrade svg{width:20px;height:20px}.panel .eyebrow{font-size:6px;letter-spacing:2px}.toast{top:125px;font-size:10px;width:80%}.combo{top:130px}.combo b{font-size:32px}.wave-banner h2{font-size:39px}.wave-banner small{font-size:6px;letter-spacing:2px}.wave-banner p{font-size:13px}}
@media(max-height:560px){.topbar{padding-top:10px;padding-bottom:10px}.resources{top:73px}.intro{padding-top:65px;padding-bottom:40px}.intro-content h1{font-size:65px;margin:14px 0 8px}.intro-content>p{font-size:11px;line-height:1.6;margin:16px 0}.intro-content .primary{padding:13px 19px;min-height:42px}.intro-controls{margin-top:14px}.record{margin-top:10px}.chapter{bottom:35px}.version{bottom:12px}.ability{height:58px}.bottom-hud{bottom:10px}.battle-info{bottom:96px}.panel{padding:24px 30px;max-width:650px}.panel h2{font-size:27px;margin:9px 0}.panel>p{margin-bottom:12px}.upgrade-grid{margin:10px 0 14px}.upgrade{padding:10px}.upgrade small{margin-top:3px}.shop-balance{padding-top:11px}.primary{padding:13px 20px;min-height:43px}.hero-name{padding-bottom:10px}.field-note{padding-bottom:12px}.wave-banner{top:23%}.wave-banner h2{font-size:35px}.wave-banner p{font-size:13px}.toast{top:120px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{transition:none!important;scroll-behavior:auto!important}}
@media(orientation:portrait) and (max-width:650px){.rotate-hint{display:block;position:absolute;z-index:4;bottom:113px;left:10%;right:10%;text-align:center;color:#b8c6b6;font-size:8px;letter-spacing:.2px;pointer-events:none}.battle-info{display:none}.menu-open .rotate-hint{display:none}}
/* Ages command deck */
.income{display:flex;flex-direction:column;gap:4px}.income b{font-size:12px;color:#b6ce9e}.income small{font-size:7px;letter-spacing:1.2px;color:#92a59c}.enemy-fort{position:absolute;top:114px;right:3.2%;z-index:3;text-align:right;width:183px}.enemy-fort>span{font-size:8px;letter-spacing:1.7px;color:#d1b7a4}.enemy-fort>b{font-size:8px;font-weight:400;margin-left:10px}.enemy-fort .meter{margin-top:8px}.enemy-fort .meter i{background:linear-gradient(90deg,#8c5147,#d3a17c)}.enemy-fort>small{display:block;color:#bca28b;font-size:7px;letter-spacing:2px;margin-top:7px}.menu-open .command-hud,.menu-open .enemy-fort{opacity:0;pointer-events:none}.command-hud{position:absolute;z-index:3;bottom:0;left:0;right:0;padding:12px 3.2% 14px;display:grid;grid-template-columns:175px minmax(480px,1fr) 190px;gap:26px;background:linear-gradient(180deg,#102126dd,#0b171bfa);border-top:1px solid #a99f7038;box-shadow:0 -18px 50px #0b171b44;transition:opacity .25s;min-height:159px}.section-label{font-size:7px;letter-spacing:1.8px;color:#abb796;display:block}.hero-command{border-right:1px solid var(--line);padding:11px 22px 0 0}.hero-command>b{display:block;font:13px var(--display);margin:10px 0 6px}.hero-command>span:not(.section-label){font-size:7px;letter-spacing:.7px;color:#8eaaa6}.hero-command button{width:100%;height:33px;margin-top:17px;position:relative;overflow:hidden;display:flex;align-items:center;justify-content:space-around;background:#3245376e;border:1px solid #b3b18048;font-size:8px;letter-spacing:1px}.hero-command button>span{font-size:20px;color:#c1d3a4}.hero-command button kbd{font-size:6px;opacity:.6}.hero-command button i{position:absolute;inset:0;background:#0a161acc;width:0;pointer-events:none}.command-tabs{display:flex;align-items:center;gap:20px;height:26px;border-bottom:1px solid #a6b28f20;margin-bottom:7px}.command-tabs button{background:transparent;border:0;font-size:8px;letter-spacing:1.2px;color:#859d99;padding:0 0 9px;position:relative}.command-tabs button.active{color:#e6cb8e}.command-tabs button.active:after{content:'';height:2px;background:var(--gold);position:absolute;inset:auto 0 -1px}.command-tabs kbd{font-size:6px;opacity:.5;margin-left:3px}.command-tabs>span{margin-left:auto;font-size:8px;color:#8ea9a2;white-space:nowrap}.command-cards{display:grid;grid-template-columns:repeat(4,1fr);gap:7px;min-height:89px}.unit-card{display:flex;position:relative;align-items:center;gap:3px;padding:5px 9px 4px 3px;border:1px solid #7d99943d;border-radius:2px;background:linear-gradient(130deg,#293c3d80,#112125c9);text-align:left;overflow:hidden;transition:background .15s,border-color .15s,transform .15s;min-width:0}.unit-card:hover:enabled{border-color:#dec186;transform:translateY(-2px);background:#344c463d}.unit-card:disabled{opacity:.43}.unit-card.selected{border-color:#e2c180;background:#bc934023}.unit-card canvas{position:static;width:64px;height:77px;flex:0 0 64px;cursor:inherit;pointer-events:none}.unit-card>div{flex:1;min-width:0}.unit-card b{font:11px var(--display);display:block;line-height:1.45;white-space:normal}.unit-card .role{font-size:7px;letter-spacing:.7px;color:#8eb5ad;display:block;margin-top:3px}.unit-card .price{display:block;margin-top:7px;font-size:10px;color:var(--gold)}.unit-card kbd{position:absolute;top:5px;left:6px;font-size:7px;opacity:.65}.training{display:flex;justify-content:space-between;gap:10px;align-items:center;height:17px;margin-top:5px}.training>span{font-size:7px;color:#8da6a0;letter-spacing:.2px}.training-queue-item{display:inline-flex;position:relative;width:20px;height:12px;background:#d4b57418;border:1px solid #b4ab714f;margin-left:3px;overflow:hidden}.training-queue-item i{height:100%;background:#c6ae6c91;display:block}.age-command{padding:11px 0 0 19px;border-left:1px solid var(--line)}.age-command>b{font:17px var(--display);display:block;margin:8px 0}.age-progress{height:3px;background:#a3b89317}.age-progress i{height:100%;display:block;background:linear-gradient(90deg,#82734c,#e2c180);width:0;transition:width .15s}.age-command>small{display:block;font-size:6px;letter-spacing:.7px;color:#a1b7ac;margin-top:6px}.age-command button{width:100%;height:30px;margin-top:10px;border:1px solid #d8b57466;background:#ac864d22;display:flex;justify-content:space-between;align-items:center;padding:0 8px;font-size:7px;letter-spacing:.5px;color:var(--gold)}.age-command button:disabled{opacity:.4}.age-command button span{font-size:8px}.battle-info{bottom:178px}.turret-slot-controls{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.turret-slot-controls button{background:#21332d;border:1px solid #839c7b55;font-size:8px;padding:8px 10px;min-height:29px}.turret-slot-controls button:hover{border-color:var(--gold)}.turret-slot-controls .slot-selected{border-color:#dfc78e}.command-cards.turret-cards{grid-template-columns:repeat(3,minmax(0,1fr)) 123px}.command-cards.forge-cards{grid-template-columns:repeat(4,minmax(0,1fr))}.forge-card{display:flex;flex-direction:column;justify-content:center;padding:12px;border:1px solid #81968b42;background:#23382e4d;text-align:left}.forge-card b{font:11px var(--display);margin-bottom:6px}.forge-card small{font-size:8px;color:#99b4a8;line-height:1.6}.forge-card span{font-size:10px;color:var(--gold);margin-top:7px}.forge-card:disabled{opacity:.45}.secondary{width:100%;padding:13px;border:1px solid #ccb57a66;background:#ccb57a13;font-size:9px;letter-spacing:1px;color:#e0c38b;margin:0 0 13px}.secondary:disabled{opacity:.4}.intro-counts{display:flex;gap:22px;margin-top:29px;color:#8ea6a2;font-size:7px;letter-spacing:1.1px}.intro-counts b{font:18px var(--display);color:#cdb37d;margin-right:4px}.intro #intro-codex{font-size:8px;letter-spacing:1.5px;margin:17px 0 0;color:#c5bb97;padding:0}.intro-controls{margin-top:19px}.primary:disabled{opacity:.6;transform:none;cursor:wait}.codex-panel{max-width:1100px;padding:25px 30px}.codex-panel h2{font-size:30px;margin-top:10px}.close-button{position:absolute;right:16px;top:12px;border:0;background:transparent;font-size:29px;color:#b8c3b2}.codex-ages{display:flex;justify-content:center;gap:7px;flex-wrap:wrap;margin:20px 0 13px}.codex-ages button,.animation-tabs button{border:1px solid #81988b3d;background:#15282a;color:#9cb8ad;padding:9px 15px;font-size:9px}.codex-ages button.active,.animation-tabs button.active{border-color:#cfb579;color:#e0c899;background:#b49a571c}.animation-tabs{display:flex;justify-content:center;gap:4px;margin-bottom:15px}.animation-tabs button{font-size:7px;padding:6px 12px;letter-spacing:1px}.codex-units{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:11px}.codex-unit{border:1px solid #8da78c2b;background:linear-gradient(#1d343300,#122527c9);padding:0 12px 16px;min-width:0;text-align:center}.codex-unit canvas{position:static;width:100%;height:190px;cursor:default;pointer-events:none}.codex-unit h3{font:15px var(--display);color:#dfd5b9;margin:1px 0 5px}.codex-unit>span{font-size:7px;color:#a5bba9;letter-spacing:1px}.codex-unit p{font-size:9px;color:#95aba5;line-height:1.6;min-height:30px}.codex-unit .unit-stats{display:flex;justify-content:center;gap:13px;font-size:8px;color:#cdb67e}.codex-turrets{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:13px}.codex-turret{display:flex;align-items:center;border:1px solid #86a08e2a;background:#152a2b99;padding:5px 12px;gap:10px}.codex-turret canvas{position:static;flex:0 0 76px;width:76px;height:76px;cursor:default;pointer-events:none}.codex-turret h3{font:12px var(--display);margin:0 0 7px}.codex-turret p{font-size:9px;line-height:1.5;color:#91aaa3;margin:0}.codex-turret small{font-size:8px;color:var(--gold);display:block;margin-top:6px}.menu-open .combo{display:none}
@media(max-width:1200px){.command-hud{grid-template-columns:130px minmax(430px,1fr) 150px;gap:15px;padding-left:2%;padding-right:2%}.hero-command{padding-right:13px}.unit-card{padding-right:5px}.unit-card canvas{width:49px;flex-basis:49px}.unit-card b{font-size:9px}.age-command{padding-left:13px}.command-tabs{gap:14px}.command-cards.turret-cards{grid-template-columns:repeat(3,minmax(0,1fr)) 94px}.turret-slot-controls button{font-size:7px;padding:5px 6px}.enemy-fort{width:150px}.resources{gap:18px}}
@media(max-width:950px){.command-hud{grid-template-columns:minmax(0,1fr) 140px;gap:15px;min-height:150px}.hero-command{display:none}.unit-card canvas{width:52px;flex-basis:52px}.command-tabs>span{font-size:7px}.battle-info{bottom:166px}.resources{gap:13px}.resource>div{width:108px}.enemy-fort{width:130px;top:96px}.enemy-fort>span,.enemy-fort>b{font-size:6px}.income{display:none}.intro-counts{margin-top:20px}.intro-counts b{font-size:16px}.codex-panel{max-width:830px}.codex-unit canvas{height:155px}.codex-unit h3{font-size:12px}.codex-unit p{font-size:8px}.codex-turret{padding:4px 7px;gap:5px}.codex-turret canvas{width:54px;flex-basis:54px;height:64px}.codex-turret h3{font-size:10px}.codex-turret p{font-size:8px}}
@media(max-width:650px){.command-hud{grid-template-columns:minmax(0,1fr);padding:8px 3% 10px;min-height:143px;gap:0}.age-command{position:absolute;top:-36px;left:3%;right:3%;border:0;padding:0;display:flex;gap:9px;align-items:center;background:#102126c9;border:1px solid #75877940;padding:4px 7px;height:31px}.age-command>.section-label,.age-command>small,.age-command>.age-progress{display:none}.age-command>b{font-size:10px;margin:0}.age-command button{width:auto;margin:0 0 0 auto;height:21px;gap:12px;font-size:6px}.command-tabs{gap:15px;height:23px}.command-tabs>span{font-size:6px}.command-tabs button{font-size:7px}.unit-card{display:block;padding:2px;text-align:center;height:90px}.unit-card canvas{width:100%;height:50px;display:block}.unit-card b{font:8px var(--font);line-height:1.2}.unit-card .role{display:none}.unit-card .price{margin-top:3px;font-size:8px}.unit-card kbd{top:4px;left:4px;font-size:6px}.training>span{font-size:6px}.command-cards{gap:4px;min-height:90px}.command-cards.turret-cards{grid-template-columns:repeat(3,minmax(0,1fr)) 80px}.turret-slot-controls{gap:3px}.turret-slot-controls button{font-size:6px;min-height:23px;padding:4px}.forge-card{padding:7px}.forge-card b{font-size:8px}.forge-card small{font-size:6px}.forge-card span{font-size:8px}.enemy-fort{top:119px;right:4%;width:111px}.enemy-fort>small{font-size:6px}.enemy-fort>span{font-size:6px;letter-spacing:.5px}.enemy-fort>b{font-size:5px;margin-left:4px}.resources .resource>div{width:100%}.battle-info{bottom:191px}.rotate-hint{bottom:183px!important;font-size:7px}.intro-counts{gap:13px;font-size:6px}.intro-counts b{font-size:15px}.intro-controls{gap:10px}.chapter{display:none}.codex-panel{padding:24px 12px;max-width:550px}.codex-units{grid-template-columns:repeat(2,1fr);gap:7px}.codex-unit{padding:0 8px 10px}.codex-unit canvas{height:125px}.codex-unit p{font-size:8px;min-height:24px}.codex-unit h3{font-size:11px}.codex-ages{gap:4px;margin:15px 0 12px}.codex-ages button{font-size:7px;padding:7px 9px}.codex-turrets{grid-template-columns:1fr;gap:5px;margin-top:8px}.codex-turret{min-height:68px}.codex-turret canvas{height:63px;width:65px;flex-basis:65px}.codex-turret h3{font-size:11px}.codex-panel h2{font-size:24px}.codex-panel .eyebrow{font-size:6px}.intro #intro-codex{font-size:7px;margin-top:14px}}
@media(max-height:560px) and (min-width:651px){.command-hud{grid-template-columns:minmax(0,1fr) 135px;min-height:111px;padding:5px 2% 7px;gap:15px}.hero-command{display:none}.command-tabs{height:21px;margin-bottom:4px}.command-cards{min-height:65px}.unit-card{height:65px}.unit-card canvas{height:61px;width:43px;flex-basis:43px}.unit-card b{font-size:9px}.unit-card .price{margin-top:5px;font-size:9px}.training{height:12px;margin-top:2px}.age-command{padding-top:4px}.age-command>b{font-size:13px;margin:5px 0}.age-command button{height:24px;margin-top:6px}.age-command>.section-label{font-size:6px}.enemy-fort{top:72px}.battle-info{bottom:120px}.intro-counts{display:none}.intro #intro-codex{margin-top:11px}.codex-panel{padding:18px 25px;margin-top:8px}.codex-panel h2{font-size:20px;margin:7px 0}.codex-panel .eyebrow{font-size:6px}.codex-ages{margin:10px 0 8px}.codex-ages button{padding:6px 12px;font-size:7px}.animation-tabs{margin-bottom:7px}.codex-unit canvas{height:108px}.codex-unit p{display:none}.codex-unit{padding-bottom:9px}.codex-unit h3{font-size:10px}.codex-turrets{margin-top:8px}.codex-turret canvas{height:50px;width:48px;flex-basis:48px}.codex-turret p{font-size:7px}.codex-turret h3{font-size:9px}.codex-turret small{font-size:7px}.codex-panel{max-width:830px}}
@media(max-width:950px),(max-height:560px){.hero-command{display:contents}.hero-command>.section-label,.hero-command>b,.hero-command>span{display:none}.hero-command button{position:absolute;right:2%;top:-42px;width:114px;height:29px;margin:0;background:#13272bdc;font-size:7px}.hero-command button>span{font-size:17px}}
@media(max-width:650px){.hero-command button{top:-72px;right:3%;width:104px;font-size:6px}.turret-slot-controls button{letter-spacing:0;font-size:6px}}
/* Factions: seven tactical classes, readable counters, and scrollable army book. */
.command-cards.troop-cards{grid-template-columns:repeat(7,minmax(113px,1fr));overflow-x:auto;overflow-y:hidden;scrollbar-width:thin;scrollbar-color:#8a825750 transparent;scroll-snap-type:x proximity;padding-bottom:3px}.troop-cards .unit-card{scroll-snap-align:start;padding-left:2px;padding-right:5px}.troop-cards .unit-card canvas{width:47px;flex-basis:47px}.troop-cards .unit-card b{font-size:9px}.unit-card .price small{font-size:6px;color:#8ca89d}.codex-panel{max-width:1140px}.codex-unit{position:relative}.codex-unit canvas{height:155px}.codex-unit p{min-height:35px}.unit-ability{font-size:8px;color:#e0cba0;margin:9px 0;letter-spacing:.3px}.counter-info{text-align:left;font-size:8px;line-height:1.8;color:#a4b8ae;margin:9px 0 12px;min-height:30px}.counter-info b{font-weight:500;font-size:6px;letter-spacing:.6px;color:#c4b988;margin-right:4px}.tactics-legend{font-size:8px;color:#b1c5af;text-align:center;line-height:1.9;margin:10px 0 13px;letter-spacing:.3px}#codex-screen{align-items:flex-start;scrollbar-width:thin}.codex-panel{margin:20px auto 35px}.codex-units{grid-template-columns:repeat(4,minmax(0,1fr))}.codex-units .codex-unit:last-child{border-color:#cdb17d66;background:linear-gradient(#725c2022,#122527c9)}.age-command>b{font-size:15px}.training>span{max-width:85%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.topbar .wave-status{max-width:38%}.command-cards::-webkit-scrollbar{height:4px}.command-cards::-webkit-scrollbar-thumb{background:#a09a6350}
@media(max-width:1200px){.command-cards.troop-cards{grid-template-columns:repeat(7,minmax(111px,1fr))}.troop-cards .unit-card canvas{width:43px;flex-basis:43px}.troop-cards .unit-card b{font-size:8px}}
@media(max-width:950px){.codex-unit canvas{height:130px}.unit-ability{font-size:7px}.counter-info{font-size:7px}.codex-unit p{font-size:8px}.age-command>b{font-size:12px}}
@media(max-width:650px){.command-cards.troop-cards{grid-template-columns:repeat(7,94px)}.troop-cards .unit-card canvas{width:100%;height:50px;display:block}.troop-cards .unit-card b{font-size:8px}.codex-units{grid-template-columns:repeat(2,minmax(0,1fr))}.codex-unit canvas{height:130px}.codex-panel{margin-top:8px}.tactics-legend{font-size:7px;text-align:left;padding:0 5px}.counter-info{font-size:7px}.unit-ability{font-size:7px}.age-command>b{font-size:10px}.codex-unit p{min-height:38px}.codex-ages button{font-size:6px}.animation-tabs{flex-wrap:wrap}.training>span{font-size:6px}}
@media(max-height:560px) and (min-width:651px){.codex-panel{margin-top:0}.codex-unit canvas{height:105px}.codex-unit p{display:block;font-size:7px;min-height:28px}.counter-info{font-size:7px;margin:6px 0}.unit-ability{font-size:7px;margin:6px 0}.tactics-legend{font-size:7px}.troop-cards .unit-card canvas{height:61px;width:39px;flex-basis:39px}}
.army-cards .unit-card .price{font-size:7px}.command-tabs{gap:15px}.unit-card[disabled]{opacity:.48}.codex-unit .counter-info{overflow-wrap:anywhere}
/* World navigation stays separate from bow input and the command deck. */
.battle-navigation{position:absolute;z-index:4;top:165px;left:50%;transform:translateX(-50%);width:min(610px,94%);display:flex;align-items:flex-start;gap:7px;transition:opacity .2s}.battle-navigation button{flex:none;height:27px;padding:0 12px;background:#112326dd;border:1px solid #bfab7650;border-radius:3px;font-size:8px;letter-spacing:1px;color:#d7c6a0}.battle-navigation button:hover{background:#554b2be8;border-color:#ddba78}.map-wrap{flex:1;min-width:75px;text-align:center}.map-wrap canvas{position:static;display:block;width:100%;height:27px;border:1px solid #a6a88640;border-radius:3px;cursor:grab;touch-action:none}.map-wrap canvas:active{cursor:grabbing}.map-wrap span{display:block;margin-top:5px;font-size:6px;letter-spacing:1px;color:#c9ceb3aa;pointer-events:none}.menu-open .battle-navigation{opacity:0;pointer-events:none}.toast{top:218px}.wave-banner{pointer-events:none}
@media(max-width:650px){.battle-navigation{top:163px;gap:4px}.battle-navigation button{padding:0 7px;font-size:6px;letter-spacing:.5px;height:25px}.map-wrap canvas{height:25px}.map-wrap span{font-size:5px;letter-spacing:.3px}.toast{top:208px}}
@media(max-height:560px) and (min-width:651px){.battle-navigation{top:109px;width:min(540px,75%)}.battle-navigation button,.map-wrap canvas{height:23px}.map-wrap span{margin-top:3px}.toast{top:150px}.wave-banner{top:36%;transform:translate(-50%,-50%) scale(.75)}}
/* Campaign, opponent selection and field orders. */
.speed-button{font-size:12px;color:#dfcca1;font-weight:600}.difficulty-picker{border:0;padding:0;margin:23px 0 17px;max-width:720px}.difficulty-picker legend{font-size:8px;letter-spacing:2.2px;color:#b8b89b;padding:0 0 10px}#difficulty-options{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px}#difficulty-options button{padding:13px 9px;text-align:left;min-height:66px;border:1px solid #b8c6a42e;background:#182b2bd6;border-radius:3px;transition:background .15s,border-color .15s}#difficulty-options b{display:block;font:12px var(--display);color:#dde2cc}#difficulty-options small{display:block;font-size:7px;color:#99ada4;margin-top:7px;line-height:1.5}#difficulty-options button:hover{border-color:#dfbe7a9c;background:#344132dd}#difficulty-options button.selected{border-color:#d3b47a;background:linear-gradient(130deg,#7b653b66,#29392de8);box-shadow:inset 0 0 18px #d8ad5514}#difficulty-options button.selected b{color:#f0d8a7}.difficulty-picker>p{font-size:10px;line-height:1.7;color:#a6beb2;min-height:34px;margin:10px 0 0}.continue-button{display:flex;justify-content:space-between;align-items:center;gap:20px;background:#2c594940;border:1px solid #9bbda665;border-radius:3px;min-height:44px;width:100%;max-width:440px;text-align:left;padding:12px 16px;margin:0 0 10px;color:#c7ddbc;font-size:9px;letter-spacing:1px}.continue-button span{font-size:8px;letter-spacing:.3px;color:#91b8a5}.continue-button:hover{background:#447b555c}.intro-content{width:740px;max-width:73vw}.intro-content>p{margin:22px 0}.intro-counts{margin-top:18px}.intro #intro-codex{margin-top:13px}.intro-controls{margin-top:15px}.hero-hint{line-height:1.9!important;margin-top:17px!important;color:#9cac98!important;font-size:8px!important;letter-spacing:.4px!important}.hero-command>b{font-size:13px}
.battle-director{position:absolute;z-index:3;left:3.2%;top:169px;width:310px;max-width:42%;padding:12px 13px;background:linear-gradient(115deg,#0e2024eb,#14282bb5);border:1px solid #aec09c24;border-left:2px solid #ccb37680;border-radius:3px;box-shadow:0 6px 25px #08161735;pointer-events:none}.battle-director>div:first-child{display:flex;align-items:center;gap:9px;font-size:8px}.battle-director #difficulty-badge{font-size:6px;letter-spacing:1px;color:#bba570}.battle-director b{font-size:8px;letter-spacing:1px;color:#e2dcc0}.battle-director time{margin-left:auto;color:#96b2a8;font-size:9px;font-variant-numeric:tabular-nums}.battle-director p{font-size:9px;line-height:1.6;color:#b6cabb;margin:8px 0}.director-progress{height:2px;background:#f0e6ba14;overflow:hidden}.director-progress i{display:block;width:0;height:100%;background:#b5c39a;transition:width .3s}.battle-director>small{display:block;font-size:6px;line-height:1.6;color:#8ca69c;letter-spacing:.4px;margin-top:7px}.context-tip{position:absolute;z-index:3;top:287px;left:3.2%;width:310px;max-width:42%;padding:12px 28px 12px 14px;background:#152d2de0;border:1px solid #b1b69430;border-radius:3px;opacity:0;transform:translateY(5px);transition:opacity .25s,transform .25s;pointer-events:none}.context-tip.visible{opacity:1;transform:translateY(0);pointer-events:auto}.context-tip b{display:block;font:11px var(--display);color:#dec99a;margin-bottom:6px}.context-tip>span{font-size:9px;line-height:1.7;color:#aac4b7;display:block}.context-tip>button{position:absolute;right:6px;top:3px;border:0;background:none;color:#a4bbac;font-size:19px;padding:2px 4px}.tactical-actions{position:absolute;z-index:4;right:3.2%;bottom:calc(var(--deck-height,160px) + 15px);display:flex;gap:7px}.tactical-actions button{position:relative;display:grid;grid-template-columns:24px 1fr 25px;grid-template-rows:1fr 1fr;align-items:center;gap:2px 5px;width:146px;height:46px;padding:7px 9px;border:1px solid #c8b7826b;border-radius:3px;background:linear-gradient(135deg,#304037ed,#13292aed);text-align:left;overflow:hidden;box-shadow:0 4px 18px #07141655}.tactical-actions button>span{grid-row:1/3;font-size:23px;color:#d8c487;line-height:1}.tactical-actions button>b{font-size:8px;letter-spacing:1px;white-space:nowrap}.tactical-actions button>small{grid-column:2;font-size:6px;color:#acc5ad;letter-spacing:.6px}.tactical-actions kbd{grid-column:3;grid-row:1/3;font-size:6px;color:#b0bda5;justify-self:end}.tactical-actions i{position:absolute;left:0;bottom:0;height:2px;background:#d1bd8f;width:0}.tactical-actions button:disabled{opacity:.43;cursor:default}.tactical-actions button:not(:disabled):hover{border-color:#f0d294;background:#4a5634e6}.menu-open .battle-director,.menu-open .context-tip,.menu-open .tactical-actions{display:none}.combo{top:220px}.training-queue-item{padding:0;border:1px solid #8fac8d55;cursor:pointer;position:relative;overflow:hidden}.training-queue-item>span{position:absolute;inset:0;font-size:10px;line-height:8px;color:transparent;text-align:center}.training-queue-item:hover>span,.training-queue-item:focus-visible>span{color:#f4d5ae}.training-queue-item:hover{border-color:#dfbd86}
#shop-screen{align-items:flex-start;padding:35px 18px}.shop-panel{max-width:870px;margin:auto;padding:28px 34px}.shop-panel h2{font-size:32px;margin:9px 0}.shop-panel>p{font-size:11px;margin:10px 0 17px}.siege-results{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid #ddc68f29;border-bottom:1px solid #ddc68f29;padding:12px 0;gap:10px}.siege-results b{font:18px var(--display);display:block;color:#e1c994}.siege-results small{font-size:6px;letter-spacing:1.2px;color:#9ab2a6;display:block;margin-top:4px}.next-intel{border-left:2px solid #a5bc8a5c;background:#3f654219;padding:10px 13px;margin:16px 0}.next-intel>small{font-size:6px;letter-spacing:1.2px;color:#9fb99d}.next-intel b{display:block;font:13px var(--display);color:#d9dfba;margin-top:5px}.next-intel p{font-size:9px;line-height:1.6;color:#aac2b3;margin:5px 0 0}.doctrine-heading{font-size:8px;letter-spacing:1.6px;color:#d2c494;display:flex;justify-content:space-between;margin:15px 0 9px}.doctrine-heading span{font-size:6px;color:#8eac9e;letter-spacing:.8px}.doctrine-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.doctrine-options button{position:relative;text-align:left;min-height:91px;padding:13px 10px 12px 40px;border:1px solid #99ab8d33;background:#17302de3;border-radius:3px}.doctrine-options button>span{position:absolute;left:13px;top:14px;font-size:22px;color:#c9b37b}.doctrine-options b{font:11px var(--display);display:block;color:#d6dfc5;margin-bottom:7px}.doctrine-options small{font-size:8px;line-height:1.7;display:block;color:#9db9a8}.doctrine-options button.selected{border-color:#d2b678;background:linear-gradient(120deg,#7a653b45,#244331)}.doctrine-options button:hover{border-color:#d2b6789c}.shop-panel .shop-balance{margin:18px 0 10px}.shop-panel .upgrade-grid{gap:8px;margin:12px 0}.shop-panel .upgrade{padding:12px;min-height:65px}.shop-panel .upgrade small{font-size:8px}.shop-panel .upgrade b{font-size:11px}.shop-panel .upgrade .price{font-size:8px;margin-top:5px}.shop-panel .secondary{padding:10px;min-height:38px;font-size:9px;margin-top:7px}.shop-panel .primary{margin-top:12px;padding:12px 20px;min-height:43px}.shop-panel .eyebrow{font-size:7px}
@media(max-width:1100px){.battle-director,.context-tip{width:260px;max-width:31%}.battle-director{top:209px}.context-tip{top:327px}.intro-content{max-width:83vw}.hero-command{min-width:145px}.utilities{gap:5px}.tactical-actions{right:2%}}
@media(max-width:650px){.utilities{gap:4px}.icon-button{width:29px;height:30px}.brand{font-size:14px;letter-spacing:2px}.brand small{font-size:6px;letter-spacing:1.3px}.topbar{padding-left:4%;padding-right:4%}.brand .crest{width:25px;height:31px}.battle-director{top:209px;left:3%;width:94%;max-width:none;padding:9px 11px}.battle-director>div:first-child{font-size:7px}.battle-director p{font-size:8px;margin:6px 0}.battle-director>small{font-size:5px}.context-tip{left:3%;top:312px;width:94%;max-width:none;padding:9px 26px 9px 12px}.context-tip b{font-size:10px}.context-tip>span{font-size:8px}.tactical-actions{right:3%;bottom:calc(var(--deck-height,198px) + 12px);gap:5px}.tactical-actions button{width:115px;height:37px;grid-template-columns:16px 1fr 18px;padding:6px;gap:2px 3px}.tactical-actions button>span{font-size:19px}.tactical-actions button>b{font-size:6px;letter-spacing:.6px}.tactical-actions button>small,.tactical-actions kbd{font-size:5px}.intro-content{max-width:100%;width:100%;margin:0}.intro-content h1{font-size:55px;letter-spacing:1px;margin:10px 0}.intro-content>p{font-size:10px;margin:17px 0}.difficulty-picker{margin:17px 0 14px}#difficulty-options{grid-template-columns:repeat(2,minmax(0,1fr));gap:5px}#difficulty-options button{min-height:51px;padding:9px 10px}#difficulty-options b{font-size:10px}#difficulty-options small{font-size:6px;margin-top:4px}.difficulty-picker>p{font-size:8px;min-height:39px;margin-top:8px}.difficulty-picker legend{font-size:6px;padding-bottom:7px}.continue-button{font-size:7px;min-height:39px;padding:9px 12px;gap:10px}.continue-button span{font-size:6px}.intro .primary{width:100%;min-height:43px;padding:12px 16px;font-size:9px}.intro-counts{display:none}.intro-controls{margin-top:13px;font-size:5px}.intro #intro-codex{font-size:6px;margin-top:12px}.intro .chapter{display:none}.intro .version{font-size:5px}.shop-panel{padding:23px 17px}.shop-panel h2{font-size:25px}.shop-panel>p{font-size:9px}.siege-results{gap:5px}.siege-results b{font-size:14px}.siege-results small{font-size:5px;letter-spacing:.4px}.doctrine-heading{font-size:7px;letter-spacing:.8px}.doctrine-heading span{font-size:5px;letter-spacing:.3px}.doctrine-options{gap:5px}.doctrine-options button{padding:32px 8px 10px;min-height:124px}.doctrine-options button>span{left:9px;top:8px;font-size:18px}.doctrine-options b{font-size:9px}.doctrine-options small{font-size:7px}.next-intel{margin:13px 0}.shop-panel .upgrade{padding:9px;min-height:71px}.shop-panel .upgrade>div:first-child{font-size:16px!important}.shop-panel .upgrade b{font-size:10px}.shop-panel .upgrade small{font-size:7px}.shop-panel .secondary{font-size:7px}.shop-panel .primary{font-size:8px}.combo{top:312px}.combo b{font-size:25px}}
@media(max-height:560px) and (min-width:651px){.battle-director{top:146px;width:225px;max-width:29%;padding:7px 9px}.battle-director p{font-size:7px;margin:5px 0}.battle-director>small{display:none}.battle-director #difficulty-badge{font-size:5px}.battle-director b{font-size:7px}.context-tip{display:none}.tactical-actions{bottom:calc(var(--deck-height,114px) + 12px)}.tactical-actions button{width:125px;height:33px;padding:5px 7px}.tactical-actions button>b{font-size:7px}.tactical-actions button>small{font-size:5px}.tactical-actions button>span{font-size:19px}.intro{padding-top:75px;padding-bottom:25px;align-items:flex-start}.intro-content{width:670px;max-width:90%}.intro-content h1{font-size:45px;margin:5px 0}.intro-content>p{font-size:9px;margin:12px 0}.intro .subtitle{font-size:8px}.intro .eyebrow{font-size:6px}.difficulty-picker{margin:13px 0 12px}.difficulty-picker legend{font-size:6px;padding-bottom:6px}#difficulty-options button{min-height:49px;padding:9px}#difficulty-options b{font-size:10px}#difficulty-options small{font-size:6px;margin-top:4px}.difficulty-picker>p{font-size:8px;min-height:26px;margin:7px 0 0}.intro-controls,.intro .chapter,.intro .version{display:none}.intro #intro-codex{font-size:6px;margin-top:10px}.intro .primary{min-height:36px;padding:10px 15px;font-size:8px}.continue-button{min-height:33px;padding:8px 12px;font-size:7px}.continue-button span{font-size:6px}#shop-screen{padding-top:20px;padding-bottom:20px}.combo{top:150px}}
.menu-open .toast{display:none;transition:none}.rotate-hint{display:none!important}
@media(min-width:951px) and (min-height:561px){.hero-command>span{display:block}.hero-command>.hero-hint{margin-top:12px!important}}
@media(max-width:650px){.toast{top:auto;bottom:calc(var(--deck-height,200px) + 62px);max-width:calc(100% - 24px);font-size:9px;padding:10px 13px;line-height:1.5}}
