@layer reset,theme,layout,components,responsive,mech-theme;@layer reset{*,*:before,*:after{box-sizing:border-box}:root{color-scheme:light;font-family:Noto Sans SC,PingFang SC,Microsoft YaHei,system-ui,sans-serif;font-synthesis:none;text-rendering:optimizeLegibility;--ink: #18383d;--ink-deep: #102e33;--jade: #2f7d70;--paper: #f7e9bd;--paper-pale: #fff6d7;--brass: #e3ad3b;--brass-light: #f5d878;--clay: #b64f3d;--sky: #8fcfbb}html,body,#app{width:100%;min-width:320px;height:100%;margin:0;overflow:hidden}body{background:radial-gradient(circle at 50% -20%,rgba(255,250,209,.7),transparent 38%),#315f5a;color:var(--ink)}button,input,textarea,select{font:inherit}button{border:0}button:not(:disabled){cursor:pointer}button:focus-visible,canvas:focus-visible{outline:3px solid var(--paper-pale);outline-offset:3px}[hidden]{display:none!important}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}}@layer mech-theme{.mecha-theme{--ink: #a9eff8;--ink-deep: #07151b;--jade: #24c9dc;--paper: #13242b;--paper-pale: #d8fbff;--brass: #ff9f2e;--brass-light: #ffc45f;--clay: #ff6048;--sky: #0a2028;color:#d7f7fb;font-family:Microsoft YaHei,DIN Alternate,Bahnschrift,sans-serif;background:linear-gradient(90deg,rgba(53,220,244,.065) 1px,transparent 1px) 0 0 / 48px 48px,linear-gradient(rgba(53,220,244,.055) 1px,transparent 1px) 0 0 / 48px 48px,radial-gradient(circle at 50% 40%,rgba(39,181,202,.12),transparent 35%),linear-gradient(145deg,#0d252d,#061218 78%)}.mecha-theme:before{opacity:.32;background:repeating-linear-gradient(115deg,transparent 0 28px,rgba(74,225,247,.08) 29px 30px,transparent 31px 61px)}.mecha-theme:after{border-color:#37dbf412;border-radius:0;rotate:45deg}.mecha-theme.home-mode{background:linear-gradient(90deg,rgba(54,223,248,.065) 1px,transparent 1px) 0 0 / 48px 48px,linear-gradient(rgba(54,223,248,.055) 1px,transparent 1px) 0 0 / 48px 48px,radial-gradient(circle at 50% 48%,rgba(35,205,226,.15),transparent 34%),linear-gradient(145deg,#0d2730,#061319 76%)}.mecha-theme .command-header,.mecha-theme .build-dock{border-color:#59e7f9ad;background:linear-gradient(100deg,#1c343cfa,#0b1d24fa);box-shadow:0 0 0 1px #061117,0 7px #030d11b8,0 0 28px #2bd3ea1f}.mecha-theme .command-header:before,.mecha-theme .build-dock:before{border-color:#ffa02f3d}.mecha-theme .brand-lockup{border-color:#59e7f947}.mecha-theme .brand-seal,.mecha-theme .home-brand-seal{border-color:#69e7f8;color:#06151b;background:#56e3f5;box-shadow:inset 0 0 0 4px #0e3640,4px 4px #ff9e2fbf;font-family:Bahnschrift,Arial Narrow,sans-serif;font-size:16px;letter-spacing:-.08em;transform:none;clip-path:polygon(12% 0,100% 0,100% 78%,78% 100%,0 100%,0 18%)}.mecha-theme .brand-lockup strong,.mecha-theme .home-brand-copy strong{color:#d9fbff;font-family:Microsoft YaHei,Bahnschrift,sans-serif;font-weight:900;letter-spacing:.12em;text-shadow:0 0 15px rgba(86,228,246,.22)}.mecha-theme .brand-lockup span:not(.brand-seal),.mecha-theme .home-brand-copy small,.mecha-theme .home-brand-copy em{color:#67dceb;font-family:Arial Narrow,Bahnschrift,sans-serif}.mecha-theme .meter>span,.mecha-theme .map-picker-heading span,.mecha-theme .tower-card small,.mecha-theme .tower-hint span,.mecha-theme .tower-detail span{color:#6ba8b2}.mecha-theme .meter b,.mecha-theme .tower-card b,.mecha-theme .tower-hint b,.mecha-theme .tower-detail b{color:#d8faff;font-family:Bahnschrift,Microsoft YaHei,sans-serif}.mecha-theme .meter-track{border-color:#54d9e9;background:#07161c;transform:none}.mecha-theme .meter-track i{background:linear-gradient(90deg,#ff5d47,#ff9f2e 58%,#64e9f9);box-shadow:0 0 12px #ff723880}.mecha-theme .coin-value i{border-color:#ff9f2e;border-radius:2px;background:#ffbe52;box-shadow:inset 0 0 0 2px #6b3a14,0 0 8px #ffae385c;rotate:45deg}.mecha-theme .icon-button,.mecha-theme .codex-close{border-color:#5fe1f2;color:#b9f6ff;background:#102a33;box-shadow:3px 3px #061116;clip-path:polygon(9px 0,100% 0,100% calc(100% - 9px),calc(100% - 9px) 100%,0 100%,0 9px)}.mecha-theme .icon-button:hover,.mecha-theme .codex-close:hover{color:#06151b;background:#64e7f7}.mecha-theme .battle-stage{border-color:#66deec;background:#091b22;box-shadow:0 0 0 4px #061218,0 10px #020b0fd1,0 0 34px #37dbf129}.mecha-theme .card-ribbon:before{background:#59e7f973}.mecha-theme .ribbon-heading{color:#8cebf7}.mecha-theme .current-card,.mecha-theme .next-card{border-color:#60e4f5a3;border-radius:0;background:linear-gradient(90deg,#081c23f5,#0d2b33d6);clip-path:polygon(12px 0,100% 0,100% calc(100% - 10px),calc(100% - 10px) 100%,0 100%,0 12px)}.mecha-theme .card-portrait{border-color:#8cebf7;border-radius:0;box-shadow:0 0 0 2px #0d333c,3px 4px #061116;transform:none;clip-path:polygon(18% 0,100% 0,100% 82%,82% 100%,0 100%,0 18%)}.mecha-theme .card-portrait>em{color:#b9f7ff;background:#05171de0}.mecha-theme .card-threat{border-color:#ffb044;border-radius:0;color:#07141a;background:#ff9f2e;box-shadow:2px 2px #061116}.mecha-theme .manual-readout{border-color:#5ce3f3;color:#d9fbff;background:#06181ef0;box-shadow:4px 5px #041116,0 0 22px #32d6ec1f;clip-path:polygon(13px 0,100% 0,100% calc(100% - 13px),calc(100% - 13px) 100%,0 100%,0 13px)}.mecha-theme .manual-heading button{border-color:#ff9f2e;color:#ffbd58;background:#251c14}.mecha-theme .game-overlay{background:linear-gradient(90deg,#031015f5,#061c22e6),repeating-linear-gradient(120deg,transparent 0 28px,rgba(65,222,242,.035) 29px 30px)}.mecha-theme.home-mode .intro-overlay{background:transparent}.mecha-theme .intro-panel,.mecha-theme .upgrade-panel,.mecha-theme .result-panel,.mecha-theme .pause-panel,.mecha-theme .codex-panel{border-color:#5bd9e9;color:#d7f7fb;background:linear-gradient(90deg,transparent 58%,rgba(64,221,241,.035) 58%),linear-gradient(135deg,#142931,#0b1d24 78%);box-shadow:9px 10px #061116,13px 14px #ff9b2fad,0 0 38px #32d8ee24;clip-path:polygon(18px 0,100% 0,100% calc(100% - 22px),calc(100% - 22px) 100%,0 100%,0 18px)}.mecha-theme .intro-panel:before,.mecha-theme .upgrade-panel:before,.mecha-theme .result-panel:before,.mecha-theme .pause-panel:before,.mecha-theme .codex-panel:before{border-color:#53dff233}.mecha-theme .home-brand{border-color:#53dff24d}.mecha-theme .home-brand:after{background:#ff9f2e}.mecha-theme .home-brand-motto{border-color:#53dff23d}.mecha-theme .home-brand-motto span,.mecha-theme .eyebrow,.mecha-theme .diagram-kicker{color:#ffad3d;font-family:Bahnschrift,Arial Narrow,sans-serif}.mecha-theme .home-brand-motto b{color:#63cbd8}.mecha-theme .intro-copy h1,.mecha-theme .upgrade-panel h2,.mecha-theme .result-panel h2,.mecha-theme .pause-panel h2,.mecha-theme .codex-header h2{color:#e1fbff;font-family:Microsoft YaHei,Bahnschrift,sans-serif;font-weight:900;letter-spacing:.03em}.mecha-theme .intro-copy h1 em{color:#55e4f5}.mecha-theme .intro-copy>p,.mecha-theme .upgrade-panel>p,.mecha-theme .result-panel>p,.mecha-theme .pause-panel>p,.mecha-theme .codex-header p{color:#80aeb6}.mecha-theme .rule-pills span,.mecha-theme .archive-actions button,.mecha-theme .mode-switch button,.mecha-theme .map-choice{border-color:#52daed61;color:#bdeef5;background:#0c262ed1;box-shadow:none;clip-path:polygon(8px 0,100% 0,100% calc(100% - 8px),calc(100% - 8px) 100%,0 100%,0 8px)}.mecha-theme .rule-pills b,.mecha-theme .archive-actions em{color:#ffab3b}.mecha-theme .archive-actions button:hover,.mecha-theme .map-choice:hover:not(:disabled){color:#e5fcff;background:#173c46;box-shadow:inset 0 0 0 1px #5be1f1}.mecha-theme .archive-actions i,.mecha-theme .map-choice i{color:#07151b;background:#50ddeb;font-family:Bahnschrift,Microsoft YaHei,sans-serif;clip-path:polygon(18% 0,100% 0,100% 82%,82% 100%,0 100%,0 18%)}.mecha-theme .archive-actions button:nth-child(2) i{background:#ff9f2e}.mecha-theme .archive-actions small,.mecha-theme .map-choice small,.mecha-theme .mode-switch button small{color:#6da5ae}.mecha-theme .map-picker{border-color:#54def140}.mecha-theme .map-picker-heading b{color:#a9eff8}.mecha-theme .mode-switch button b{color:inherit;font-family:Microsoft YaHei,Bahnschrift,sans-serif}.mecha-theme .mode-switch button[aria-pressed=true],.mecha-theme .map-choice[aria-pressed=true]{border-color:#56e1f2;color:#e0fbff;background:#173b45;box-shadow:inset 4px 0 #55e0f0}.mecha-theme .mode-switch button[data-mode-choice=endless][aria-pressed=true],.mecha-theme .map-choice.endless-choice[aria-pressed=true]{border-color:#b28cff;background:#29243d;box-shadow:inset 4px 0 #ac7eff}.mecha-theme .map-choice.endless-choice{background:#251f39d1}.mecha-theme .map-choice.endless-choice i{color:#eef0ff;background:#8d6fdb}.mecha-theme .primary-button,.mecha-theme .next-wave-button{border-color:#ffb044;color:#07151b;background:linear-gradient(100deg,#ff8729,#ffc04c);box-shadow:4px 5px #061116,0 0 22px #ff9d2b38;font-family:Bahnschrift,Microsoft YaHei,sans-serif;clip-path:polygon(11px 0,100% 0,100% calc(100% - 11px),calc(100% - 11px) 100%,0 100%,0 11px)}.mecha-theme .primary-button:hover{background:linear-gradient(100deg,#ff9a31,#ffd36b)}.mecha-theme .intro-diagram{border-color:#52e0f37a;background:linear-gradient(90deg,rgba(77,220,240,.08) 1px,transparent 1px) 0 0 / 28px 28px,linear-gradient(rgba(77,220,240,.07) 1px,transparent 1px) 0 0 / 28px 28px,#071a21c7;box-shadow:inset 0 0 0 7px #06141aa6}.mecha-theme .diagram-creature,.mecha-theme .diagram-tower,.mecha-theme .diagram-ballista{color:#aeeef6}.mecha-theme .diagram-creature small{color:#729fa7}.mecha-theme .diagram-creature i,.mecha-theme .diagram-tower i,.mecha-theme .diagram-ballista i{border-color:#65e1ef;color:#dffbff;background:#172f43;border-radius:0;box-shadow:4px 5px #061116}.mecha-theme .diagram-creature i{font-family:Bahnschrift,Microsoft YaHei,sans-serif}.mecha-theme .diagram-creature i:before,.mecha-theme .diagram-creature i:after{border-color:#65e1ef;background:#283f50}.mecha-theme .diagram-tower i{background:#ff9f2e}.mecha-theme .diagram-ballista i{background:#e85d49}.mecha-theme .diagram-arrow{color:#55e3f3}.mecha-theme .codex-tabs{border-color:#52ddf04d}.mecha-theme .codex-tabs button{color:#7eabb3;font-family:Bahnschrift,Microsoft YaHei,sans-serif}.mecha-theme .codex-tabs button+button{border-color:#52ddf04d}.mecha-theme .codex-tabs button[aria-selected=true]{color:#06151b;background:#55dceb;box-shadow:inset 0 -4px #1c7f8e}.mecha-theme .codex-tabs button[data-codex-tab=towers][aria-selected=true]{color:#07151b;background:#ff9f2e;box-shadow:inset 0 -4px #9e5217}.mecha-theme .codex-entry,.mecha-theme .upgrade-choice,.mecha-theme .evolution-choice,.mecha-theme .pause-action,.mecha-theme .result-stats{border-color:#56ddef66;color:#c8f3f8;background:#0b232bdb;box-shadow:inset 0 -3px #32d0e61a}.mecha-theme .codex-sigil{border-color:#63e2f1;border-radius:0;box-shadow:3px 4px #061116;transform:none;clip-path:polygon(15% 0,100% 0,100% 85%,85% 100%,0 100%,0 15%)}.mecha-theme .codex-sigil span,.mecha-theme .codex-entry-title h3,.mecha-theme .upgrade-choice b,.mecha-theme .evolution-choice b{color:#d9fbff;font-family:Microsoft YaHei,Bahnschrift,sans-serif}.mecha-theme .codex-entry-copy p,.mecha-theme .upgrade-choice span,.mecha-theme .evolution-choice span{color:#7eabb3}.mecha-theme .codex-id{color:#5acddd}.mecha-theme .codex-role{color:#ffb243}.mecha-theme .codex-metrics label>span{color:#78aab2}.mecha-theme .codex-metrics label>i{border-color:#4cd3e666;background:#071920}.mecha-theme .codex-metrics label>i>b{background:linear-gradient(90deg,#39d7eb,#77edfa 68%,#ff9f2e);box-shadow:0 0 8px #41def166}.mecha-theme .codex-metrics label>em{color:#9ceaf4}.mecha-theme .codex-statline span{border-color:#52dbee4d;color:#9de8f2;background:#102e37}.mecha-theme .codex-unlock{color:#ffb74c}.mecha-theme .codex-tech span{color:#06151b;background:#55ddec}.mecha-theme .codex-tech b{color:#8edce6}.mecha-theme .danger-tech span{background:#ff814f}.mecha-theme .danger-tech b{color:#ffc16c}.mecha-theme .pause-seal,.mecha-theme .result-seal{border-color:#5ce0ef;border-radius:0;color:#06151b;background:#55ddec;font-family:Bahnschrift,Microsoft YaHei,sans-serif;box-shadow:4px 5px #061116;clip-path:polygon(15% 0,100% 0,100% 85%,85% 100%,0 100%,0 15%)}.mecha-theme .pause-action:hover,.mecha-theme .pause-action:focus-visible{border-color:#ffad3c;background:#2c2a25}.mecha-theme .pause-action b,.mecha-theme .result-stats b{color:#d9fbff}.mecha-theme .pause-action small,.mecha-theme .result-stats span{color:#709ca4}.mecha-theme .result-stats div+div{border-color:#54daed40}.mecha-theme .tower-card{border-color:#54daed73;color:#c8f3f8;background:#0d242c;box-shadow:none;clip-path:polygon(8px 0,100% 0,100% calc(100% - 8px),calc(100% - 8px) 100%,0 100%,0 8px)}.mecha-theme .tower-card:hover:not(:disabled){background:#173842;box-shadow:inset 0 0 0 1px #59deed}.mecha-theme .tower-card.selected{border-color:#ffac3a;background:#2b2a24;box-shadow:inset 0 -4px #ff9f2e}.mecha-theme .tower-card em{color:#ffbb54;font-family:Bahnschrift,sans-serif}.mecha-theme .tower-card kbd{border-color:#496c74;color:#81bec7;background:#09191f}.mecha-theme .tower-actions button{border-color:#4bcddd;color:#a9eff8;background:#102a32}.mecha-theme .tower-actions button:hover:not(:disabled){color:#06151b;background:#56ddec}.mecha-theme .next-wave-button small{color:#64350f}.mecha-theme .battle-toast{border-color:#56ddec;color:#d9fbff;background:#05161cf0}.mecha-theme .stage-banner{color:#d9fbff;background:#06191feb;border-color:#55deed;box-shadow:0 0 24px #33d6eb33}.mecha-theme .stage-banner small{color:#84bac2}.mecha-theme button:focus-visible,.mecha-theme canvas:focus-visible{outline-color:#ffb13f}}@layer theme{.game-app{--edge: clamp(8px, 1.25vw, 18px);width:100%;height:100dvh;padding:calc(var(--edge) + env(safe-area-inset-top)) calc(var(--edge) + env(safe-area-inset-right)) calc(var(--edge) + env(safe-area-inset-bottom)) calc(var(--edge) + env(safe-area-inset-left));display:grid;grid-template-rows:auto minmax(0,1fr) auto;gap:10px;background:linear-gradient(90deg,rgba(255,247,205,.06) 1px,transparent 1px) 0 0 / 56px 56px,linear-gradient(rgba(255,247,205,.05) 1px,transparent 1px) 0 0 / 56px 56px,radial-gradient(circle at 14% 15%,rgba(246,223,149,.18),transparent 24%),linear-gradient(145deg,#356f67,#234e51 75%);isolation:isolate}.game-app:before,.game-app:after{content:"";position:fixed;pointer-events:none;z-index:-1}.game-app:before{inset:0;opacity:.2;background:repeating-linear-gradient(115deg,transparent 0 21px,rgba(255,247,215,.13) 22px 23px,transparent 24px 49px);-webkit-mask-image:linear-gradient(to bottom,black,transparent 76%);mask-image:linear-gradient(to bottom,black,transparent 76%)}.game-app:after{width:46vw;height:46vw;right:-20vw;bottom:-28vw;border:2vw solid rgba(238,202,111,.08);border-radius:50%}.game-app.home-mode{--edge: clamp(10px, 2vw, 30px);grid-template-rows:minmax(0,1fr);gap:0;background:radial-gradient(circle at 50% 46%,rgba(234,205,119,.18),transparent 34%),linear-gradient(90deg,rgba(255,247,205,.055) 1px,transparent 1px) 0 0 / 56px 56px,linear-gradient(rgba(255,247,205,.05) 1px,transparent 1px) 0 0 / 56px 56px,linear-gradient(145deg,#356f67,#21474d 76%)}}@layer layout{.command-header,.build-dock{min-width:0;position:relative;z-index:20;display:flex;align-items:center;border:2px solid rgba(246,229,171,.44);background:var(--paper);box-shadow:0 7px #102e337a,0 13px 30px #0d2b2f38}.command-header:before,.build-dock:before{content:"";position:absolute;inset:5px;pointer-events:none;border:1px solid rgba(86,91,63,.24)}.command-header{min-height:62px;padding:8px 10px;gap:clamp(12px,2vw,28px);clip-path:polygon(0 8px,8px 8px,8px 0,calc(100% - 8px) 0,calc(100% - 8px) 8px,100% 8px,100% calc(100% - 8px),calc(100% - 8px) calc(100% - 8px),calc(100% - 8px) 100%,8px 100%,8px calc(100% - 8px),0 calc(100% - 8px))}.battle-stage{position:relative;min-width:0;min-height:0;width:100%;max-width:min(100%,calc((100dvh - 194px)*1.7778));justify-self:center;aspect-ratio:16 / 9;overflow:hidden;border:3px solid var(--paper);background:var(--sky);box-shadow:0 0 0 4px #0f3134a6,0 13px #0c292dad,0 24px 44px #0a282c57}canvas{display:block;width:100%;height:100%;touch-action:none;-webkit-user-select:none;user-select:none}.build-dock{min-height:92px;padding:8px 10px;gap:10px;clip-path:polygon(0 0,35% 0,calc(35% + 8px) 7px,calc(65% - 8px) 7px,65% 0,100% 0,100% 100%,0 100%)}.record-keeper,.home-mode .command-header,.home-mode .build-dock{display:none}.home-mode .battle-stage{width:100%;height:100%;max-width:none;aspect-ratio:auto;border:0;background:transparent;box-shadow:none;overflow:visible}.home-mode .battle-stage>canvas,.home-mode .card-ribbon,.home-mode .manual-readout,.home-mode .stage-banner,.home-mode .battle-toast,.home-mode .portrait-tip{visibility:hidden}.home-mode .intro-overlay{padding:clamp(8px,2vw,30px);background:transparent;-webkit-backdrop-filter:none;backdrop-filter:none}}@layer components{.brand-lockup{flex:0 0 auto;display:flex;align-items:center;gap:9px;padding-right:16px;border-right:1px solid rgba(62,82,65,.3)}.brand-seal{width:40px;height:40px;display:grid;place-items:center;background:var(--clay);border:2px solid var(--ink-deep);color:var(--paper-pale);font-family:STKaiti,KaiTi,serif;font-size:25px;font-weight:900;transform:rotate(-3deg);box-shadow:3px 3px #16363a40}.brand-lockup>div{display:grid;gap:1px}.brand-lockup strong{color:var(--ink-deep);font-family:STKaiti,KaiTi,Noto Sans SC,serif;font-size:clamp(18px,1.55vw,25px);line-height:1;letter-spacing:.08em;white-space:nowrap}.brand-lockup span:not(.brand-seal){color:#5d735f;font:800 8px/1.2 Arial Narrow,Arial,sans-serif;letter-spacing:.11em;white-space:nowrap}.battle-meters{min-width:0;flex:1;display:flex;align-items:center;gap:clamp(10px,2.3vw,34px)}.meter{min-width:74px;display:grid;grid-template-columns:auto;gap:2px}.meter>span{color:#687861;font-size:9px;font-weight:800;letter-spacing:.14em}.meter b{color:var(--ink-deep);font:900 17px/1 DIN Alternate,Bahnschrift,Arial Narrow,sans-serif}.gate-meter{width:min(250px,22vw);grid-template-columns:auto 1fr auto;align-items:center;column-gap:9px}.meter-track{height:10px;overflow:hidden;border:2px solid var(--ink);background:#53614833;transform:skew(-12deg)}.meter-track i{display:block;width:100%;height:100%;transform-origin:left;background:linear-gradient(90deg,var(--clay),#e68a55 45%,var(--brass-light));transition:transform .18s ease}.coin-value{display:inline-flex;align-items:center;gap:5px}.coin-value i{width:13px;height:13px;display:inline-block;border:2px solid #9f6923;border-radius:50%;background:var(--brass);box-shadow:inset 0 0 0 2px var(--brass-light)}.coin-value em{font-style:normal}.header-actions{display:flex;gap:6px}.icon-button{position:relative;width:40px;height:40px;display:grid;place-items:center;border:2px solid var(--ink);background:#efdca0;color:var(--ink);font:900 13px/1 Bahnschrift,Arial,sans-serif;box-shadow:2px 3px #2046433d;transition:translate .12s ease,box-shadow .12s ease,background .12s ease}.icon-button:hover{background:#fff0b8}.icon-button:active{translate:2px 3px;box-shadow:none}.card-ribbon{position:absolute;z-index:4;top:12px;left:50%;width:clamp(420px,48%,620px);min-height:84px;translate:-50% 0;pointer-events:none}.card-ribbon:before{content:"";position:absolute;top:28px;left:8%;right:8%;height:1px;background:#ffefb77a}.ribbon-heading{position:relative;z-index:1;display:flex;justify-content:space-between;padding:0 10px 6px;color:#fff4ceeb;text-shadow:0 1px 2px rgba(15,42,45,.7);font-size:10px;font-weight:900;letter-spacing:.12em}.ribbon-heading b{font-size:10px;letter-spacing:0}.card-flow{position:relative;min-height:64px}.battle-stage>.card-ribbon,.battle-stage>.manual-readout{display:none}.battle-stage>canvas.manual-hover{cursor:pointer}.enemy-card{position:relative;display:flex;align-items:center;color:var(--paper-pale);border:0;background:none;box-shadow:none}.enemy-card:after{display:none}.card-portrait{flex:0 0 auto;display:grid;grid-template-rows:1fr auto;place-items:center;border-radius:48% 52% 45% 55%;background:radial-gradient(circle at 35% 28%,rgba(255,246,203,.32),transparent 24%),var(--enemy-color, var(--clay));border:2px solid var(--enemy-accent, var(--ink-deep));color:var(--paper-pale);font-family:STKaiti,KaiTi,serif;font-style:normal;font-weight:900;overflow:hidden;box-shadow:0 0 0 2px #ffe79fb8,3px 4px #112d3070;transform:rotate(-3deg)}.card-portrait>span{align-self:end;font-size:inherit;line-height:1}.card-portrait>em{width:100%;padding:2px 1px;color:#fff0c0;background:var(--enemy-accent, rgba(25, 52, 53, .74));font:800 6px/1 Microsoft YaHei,sans-serif;text-align:center;white-space:nowrap}.card-threat{position:absolute;z-index:3;top:-3px;left:3px;width:23px;height:23px;display:grid;place-items:center;rotate:-12deg;border:2px solid #ffe6a0;color:#fff8d7;background:#6f3b69;box-shadow:2px 2px 0 var(--ink-deep);font:900 10px/1 Bahnschrift,Arial,sans-serif;border-radius:4px}.enemy-card>span{min-width:0;display:grid}.enemy-card b,.enemy-card small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.enemy-card b{font-size:12px}.enemy-card small{color:#ffefc0c7;font-size:9px}.current-card{position:absolute;z-index:4;left:50%;top:0;width:216px;height:64px;padding:7px 12px 7px 17px;gap:10px;translate:-50% 0;border:1px solid rgba(255,232,163,.72);border-radius:34px 8px 8px 34px;background:linear-gradient(90deg,#123336f0,#123336b3);box-shadow:0 5px 14px #0c262957;animation:card-nock .3s cubic-bezier(.18,.8,.24,1)}.current-card .card-portrait{width:45px;height:45px;font-size:20px}.current-card.empty{opacity:.78}.current-card.empty .card-portrait{--enemy-color: var(--jade);--enemy-accent: var(--ink-deep)}.current-card.empty .card-threat{display:none}.role-ranged .card-portrait{box-shadow:0 0 0 2px #cab7dc,3px 4px #112d3070}.role-support .card-portrait{box-shadow:0 0 0 2px #a9dfbe,3px 4px #112d3070}.is-flying .card-portrait{border-radius:60% 42%}.is-boss{border-color:#d69b86;background:linear-gradient(90deg,#472737f5,#292233c7)}.is-boss .card-threat{background:#9a3f42}.next-card-stack{position:absolute;inset:0}.next-card{position:absolute;top:calc(7px + var(--card-index) * 6px);left:calc(50% + 112px + var(--card-index) * 77px);width:98px;height:43px;padding:4px 6px;gap:5px;opacity:calc(.9 - var(--card-index) * .18);border-radius:23px;background:#113134d1;box-shadow:0 3px 9px #0d282b40;transform:scale(calc(1 - var(--card-index) * .08));transform-origin:left center}.next-card:nth-child(2){left:auto;right:calc(50% + 112px);transform-origin:right center}.next-card:nth-child(3){left:calc(50% + 188px)}.next-card .card-portrait{width:31px;height:31px;font-size:13px}.next-card .card-portrait>em{font-size:5px}.next-card .card-threat{top:-4px;left:-5px;width:18px;height:18px;border-width:1px;font-size:8px}.next-card b{font-size:10px}.next-card small{font-size:8px}.manual-readout{position:absolute;z-index:3;right:18px;bottom:18px;min-width:210px;padding:8px 10px;color:var(--paper-pale);background:#12363adb;border:2px solid rgba(246,223,154,.76);box-shadow:4px 5px #0d2a2e4d;pointer-events:auto}.manual-readout.locked{min-width:232px;border-style:dashed;background:#1d353ee6}.manual-readout.expiring{border-color:#ef8c62;box-shadow:0 0 16px #ef724f61,4px 5px #0d2a2e4d}.manual-readout.expiring .manual-heading>em{color:#ffb082}.manual-readout.unavailable{border-color:#a5adae9e;background:#2d393de6;filter:saturate(.55)}.manual-heading{display:flex;align-items:center;justify-content:space-between;gap:10px}.manual-heading>span{color:var(--brass-light);font-size:10px;font-weight:900;letter-spacing:.12em}.manual-heading>em{margin-left:auto;color:#fff0aa;font:900 11px/1 Bahnschrift,Arial,sans-serif;font-style:normal;letter-spacing:.05em}.manual-heading button{min-height:27px;padding:0 9px;border:1px solid #f1d88e;color:#253f43;background:#f1d88e;font-size:9px;font-weight:900}.manual-heading button:hover:not(:disabled){color:#fff2c4;background:var(--clay)}.manual-heading button:disabled{opacity:.45;filter:grayscale(.65)}.manual-lock-copy{display:block;margin-top:7px;color:#dccd9f;font-size:9px;font-weight:800}.manual-system{margin-top:6px;pointer-events:none}.manual-readout small{display:block;margin-top:5px;color:#d7e8cf;font-size:9px}.manual-readout small.reloading{color:#ffb58b}.heavy-charge{margin-top:7px;display:grid;gap:4px}.heavy-charge>span{color:#e8ddba;font-size:8px;font-weight:800;letter-spacing:.04em}.heavy-charge>i{height:6px;display:block;overflow:hidden;border:1px solid rgba(244,211,126,.68);background:#fff4c51a}.heavy-charge>i>b{width:100%;height:100%;display:block;transform:scaleX(0);transform-origin:left center;background:linear-gradient(90deg,#e2ad3d,#ff784d);box-shadow:0 0 9px #ffa64d94;transition:transform .12s linear}.heavy-charge.ready>span{color:#fff0a8;text-shadow:0 0 9px rgba(255,164,73,.8)}.heavy-charge.ready>i{border-color:#fff0a8;box-shadow:0 0 12px #ff8b46b8}.ammo-row{display:flex;flex-wrap:wrap;gap:4px}.ammo-row i{width:16px;height:5px;display:block;border:1px solid #c6ad68;background:#fff4c51f;transform:skew(-18deg)}.ammo-row i.loaded{background:var(--brass-light);box-shadow:0 0 8px #f5d8786b}.stage-banner{position:absolute;z-index:12;top:50%;left:50%;min-width:290px;padding:13px 38px 14px;display:grid;gap:3px;translate:-50% -40%;opacity:0;color:var(--paper-pale);text-align:center;background:var(--ink-deep);border-block:2px solid var(--brass-light);box-shadow:0 8px 28px #0a272b4d;pointer-events:none;transition:opacity .18s ease,translate .22s ease}.stage-banner:before,.stage-banner:after{content:"";position:absolute;top:50%;width:45px;height:100%;background:var(--ink-deep);translate:0 -50%;z-index:-1}.stage-banner:before{right:100%;clip-path:polygon(0 15%,100% 0,100% 100%,0 85%,14% 50%)}.stage-banner:after{left:100%;clip-path:polygon(100% 15%,0 0,0 100%,100% 85%,86% 50%)}.stage-banner.visible{translate:-50% -50%;opacity:1}.stage-banner span{font-family:STKaiti,KaiTi,serif;font-size:27px;font-weight:900;letter-spacing:.1em}.stage-banner small{color:#c8dec4;font-size:10px;letter-spacing:.08em}.battle-toast{position:absolute;z-index:14;left:20px;bottom:20px;max-width:min(520px,44%);padding:9px 16px;translate:0 16px;opacity:0;color:var(--paper-pale);background:#143437e6;border:1px solid rgba(246,222,151,.72);box-shadow:0 5px 16px #102c3040;font-size:11px;font-weight:800;text-align:left;pointer-events:none;transition:opacity .16s ease,translate .16s ease}.battle-toast.visible{translate:0 0;opacity:1}.portrait-tip{display:none}.game-overlay{position:absolute;z-index:30;inset:0;display:grid;place-items:center;padding:clamp(15px,3vw,42px);background:linear-gradient(90deg,#0f3134eb,#143f3fc7),repeating-linear-gradient(120deg,transparent 0 22px,rgba(255,243,193,.06) 23px 24px);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.intro-panel,.upgrade-panel,.result-panel,.pause-panel{position:relative;width:min(930px,92%);max-height:94%;border:3px solid var(--ink-deep);background:var(--paper);box-shadow:8px 9px 0 var(--brass),15px 18px #0c292c57}.intro-panel:before,.upgrade-panel:before,.result-panel:before,.pause-panel:before{content:"";position:absolute;inset:8px;border:1px solid rgba(51,80,65,.25);pointer-events:none}.intro-panel{min-height:470px;padding:clamp(24px,3.2vw,48px);display:grid;grid-template-columns:minmax(0,1.2fr) minmax(260px,.8fr);grid-template-rows:auto auto minmax(0,1fr) auto;grid-template-areas:"brand brand" "nav nav" "copy diagram" "action diagram";align-items:stretch;column-gap:clamp(24px,3vw,42px);row-gap:16px;overflow:hidden}.home-mode .intro-panel{width:min(1120px,96%);min-height:min(660px,92%);max-height:min(760px,96%);padding:clamp(25px,3.2vw,48px);background:linear-gradient(90deg,transparent 58%,rgba(47,125,112,.045) 58%),var(--paper);box-shadow:9px 10px 0 var(--brass),18px 20px #0c292c61}.home-brand{position:relative;z-index:2;grid-area:brand;min-width:0;padding-bottom:14px;display:flex;align-items:center;gap:13px;border-bottom:1px solid rgba(43,77,64,.34)}.home-brand:after{content:"";position:absolute;left:0;bottom:-2px;width:110px;height:3px;background:var(--clay)}.home-brand-seal{width:49px;height:49px;flex:0 0 auto;display:grid;place-items:center;border:2px solid var(--ink-deep);color:var(--paper-pale);background:var(--clay);box-shadow:4px 4px #18383d3d;font:900 29px/1 STKaiti,KaiTi,serif;transform:rotate(-3deg)}.home-brand-copy{min-width:0;display:grid;grid-template-columns:auto auto;align-items:end;column-gap:10px}.home-brand-copy small{grid-column:1 / -1;color:var(--clay);font-size:8px;font-weight:900;letter-spacing:.22em}.home-brand-copy strong{color:var(--ink-deep);font:900 clamp(24px,2.2vw,34px)/1 STKaiti,KaiTi,serif;letter-spacing:.08em;white-space:nowrap}.home-brand-copy em{padding-bottom:2px;color:#6a7763;font:900 8px/1 Arial Narrow,Arial,sans-serif;font-style:normal;letter-spacing:.12em;white-space:nowrap}.home-brand-motto{margin-left:auto;min-width:180px;padding-left:18px;display:grid;justify-items:end;gap:3px;border-left:1px solid rgba(43,77,64,.28)}.home-brand-motto span{color:var(--clay);font:900 16px/1 STKaiti,KaiTi,serif}.home-brand-motto b{color:#647363;font-size:9px;letter-spacing:.08em}.home-top-controls{position:relative;z-index:3;grid-area:nav;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px}.home-top-controls .mode-switch,.home-top-controls .archive-actions{display:contents;margin:0}.home-top-controls .mode-switch button,.home-top-controls .archive-actions button{min-width:0;min-height:54px;padding:6px 9px 6px 6px;display:grid;grid-template-columns:37px minmax(0,1fr);align-items:center;gap:8px;text-align:left}.home-top-controls button>i{width:37px;height:37px;display:grid;place-items:center;color:var(--paper-pale);background:var(--jade);font-family:Bahnschrift,Microsoft YaHei,sans-serif;font-size:17px;font-style:normal;font-weight:900;clip-path:polygon(18% 0,100% 0,100% 82%,82% 100%,0 100%,0 18%)}.home-top-controls .archive-actions button>i{background:var(--clay)}.home-top-controls .archive-actions button:last-child>i{background:var(--jade)}.home-top-controls button>span{min-width:0;display:grid;gap:2px}.home-top-controls button b{overflow:hidden;font-size:11px;text-overflow:ellipsis;white-space:nowrap}.home-top-controls button small{overflow:hidden;justify-self:start;max-width:100%;font-size:8px;text-overflow:ellipsis;white-space:nowrap}.intro-copy{position:relative;z-index:2;grid-area:copy;min-height:0;padding-right:6px;overflow:auto;scrollbar-width:thin;scrollbar-color:rgba(182,79,61,.55) transparent}.eyebrow{display:inline-block;color:var(--clay);font-size:10px;font-weight:900;letter-spacing:.18em;text-transform:uppercase}.intro-copy h1{margin:8px 0 10px;color:var(--ink-deep);font-family:STKaiti,KaiTi,Noto Sans SC,serif;font-size:clamp(30px,min(3vw,5vh),38px);line-height:1.02;letter-spacing:-.04em}.home-mode .intro-copy h1{margin-block:7px 9px;font-size:clamp(34px,min(3.6vw,6vh),50px)}.intro-copy h1 em{color:var(--clay);font-style:normal}.intro-copy>p{max-width:590px;margin:0;color:#4f6658;font-size:clamp(12px,1.1vw,15px);line-height:1.55}.rule-pills{margin:10px 0 0;display:flex;flex-wrap:wrap;gap:7px}.rule-pills span{padding:5px 8px;border:1px solid rgba(40,77,64,.35);background:#fff7d88f;color:#516556;font-size:10px;font-weight:800}.rule-pills b{color:var(--clay)}.archive-actions{margin-top:10px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.archive-actions button{min-width:0;min-height:49px;padding:5px 8px 5px 5px;display:grid;grid-template-columns:35px minmax(0,1fr) auto;align-items:center;gap:8px;border:1px solid rgba(35,69,62,.48);color:var(--ink);background:linear-gradient(100deg,#fffaddeb,#e9daa88a);text-align:left;transition:translate .14s ease,background .14s ease,box-shadow .14s ease}.archive-actions button:hover{translate:0 -2px;background:var(--paper-pale);box-shadow:0 4px #2d534833}.archive-actions i{width:35px;height:35px;display:grid;place-items:center;color:var(--paper-pale);background:var(--clay);font-family:STKaiti,KaiTi,serif;font-size:20px;font-style:normal;clip-path:polygon(50% 0,92% 23%,92% 77%,50% 100%,8% 77%,8% 23%)}.archive-actions button:nth-child(2) i{background:var(--jade)}.archive-actions span{min-width:0;display:grid;gap:1px}.archive-actions b{font-size:11px}.archive-actions small{overflow:hidden;color:#6b7763;font-size:8px;text-overflow:ellipsis;white-space:nowrap}.archive-actions em{color:var(--clay);font:900 10px/1 STKaiti,KaiTi,serif}.map-picker{margin-top:10px;padding-top:8px;border-top:1px solid rgba(40,77,64,.28)}.mode-switch{margin-bottom:8px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}.mode-switch button{min-height:43px;padding:6px 10px;display:grid;grid-template-columns:auto 1fr;align-items:center;gap:9px;border:1px solid rgba(35,69,62,.48);color:#56685b;text-align:left;background:#fff8d980}.mode-switch button b{font-family:STKaiti,KaiTi,serif;font-size:15px}.mode-switch button small{justify-self:end;font-size:8px}.mode-switch button[aria-pressed=true]{border-color:var(--clay);color:var(--ink-deep);background:#fff0bc;box-shadow:inset 4px 0 0 var(--clay)}.mode-switch button[data-mode-choice=endless][aria-pressed=true]{border-color:#66547e;background:#e9def2;box-shadow:inset 4px 0 #715c89}.map-picker-heading{margin-bottom:5px;display:flex;align-items:center;justify-content:space-between;gap:12px}.map-picker-heading b{color:var(--ink-deep);font-size:11px;letter-spacing:.08em}.map-picker-heading span{overflow:hidden;color:#6a7763;font-size:9px;text-overflow:ellipsis;white-space:nowrap}.map-choice-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:6px}.map-choice-grid.endless-mode{grid-template-columns:minmax(180px,1fr)}.map-choice{min-width:0;min-height:46px;padding:4px;display:grid;grid-template-columns:25px minmax(0,1fr);align-items:center;gap:5px;border:1px solid rgba(33,66,61,.44);color:var(--ink);background:#fff8d994;text-align:left;transition:translate .12s ease,background .12s ease,box-shadow .12s ease}.map-choice:hover:not(:disabled){translate:0 -2px;background:var(--paper-pale)}.map-choice[aria-pressed=true]{border-color:var(--clay);background:#fff1bf;box-shadow:inset 0 -3px 0 var(--brass)}.map-choice i{width:23px;height:30px;display:grid;place-items:center;color:var(--paper-pale);background:var(--jade);font-family:STKaiti,KaiTi,serif;font-size:15px;font-style:normal}.map-choice[aria-pressed=true] i{background:var(--clay)}.map-choice.locked{border-style:dashed;opacity:.48;filter:grayscale(.72)}.map-choice.locked i{background:#72786f;font-family:Microsoft YaHei,sans-serif;font-size:10px}.map-choice.endless-choice{border-color:#5043728f;background:#e1d9f180}.map-choice.endless-choice i{background:#5f577f;font-family:Bahnschrift,Arial,sans-serif;font-size:18px}.map-choice.endless-choice[aria-pressed=true]{border-color:#5f577f;background:#e8ddf2;box-shadow:inset 0 -3px #8d78ae}.map-choice.endless-choice[aria-pressed=true] i{background:#7b5d91}.map-choice>span{min-width:0;display:grid;gap:2px}.map-choice b,.map-choice small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.map-choice b{font-size:10px}.map-choice small{color:#74806d;font-size:8px}.primary-button{position:relative;min-height:48px;padding:0 25px;border:2px solid var(--ink-deep);color:var(--paper-pale);background:var(--clay);box-shadow:4px 5px 0 var(--ink);font-weight:900;letter-spacing:.08em;transition:translate .12s ease,box-shadow .12s ease,background .12s ease}.primary-button:hover{background:#cb5c43}.primary-button:active{translate:4px 5px;box-shadow:none}.intro-start-button{z-index:2;grid-area:action;min-width:154px;justify-self:start;align-self:end}.home-mode .intro-start-button{min-width:230px;min-height:55px;padding-inline:31px;font-size:15px}.intro-diagram{position:relative;grid-area:diagram;align-self:center;min-height:280px;display:grid;grid-template-columns:1fr auto 1fr;grid-template-rows:1fr auto 1fr;place-items:center;border:2px solid rgba(40,74,63,.26);background:linear-gradient(90deg,rgba(47,125,112,.08) 1px,transparent 1px) 0 0 / 28px 28px,linear-gradient(rgba(47,125,112,.08) 1px,transparent 1px) 0 0 / 28px 28px,#fff8d794}.home-mode .intro-diagram{min-height:350px;border-color:#264a4057;box-shadow:inset 0 0 0 7px #fff6d07a}.diagram-kicker{position:absolute;top:13px;left:15px;color:var(--clay);font-size:9px;font-weight:900;letter-spacing:.12em}.diagram-creature,.diagram-tower,.diagram-ballista{display:grid;justify-items:center;gap:4px;color:var(--ink);font-size:11px}.diagram-creature{grid-column:1;grid-row:1 / span 3;width:105px;padding:12px 6px}.diagram-creature i{position:relative;width:58px;height:45px;display:grid;place-items:center;border:3px solid var(--ink);border-radius:58% 42% 52% 48%;background:#7f5a91;color:var(--paper-pale);font-family:STKaiti,KaiTi,serif;font-size:24px;font-style:normal;box-shadow:4px 5px #1c444242}.diagram-creature i:before,.diagram-creature i:after{content:"";position:absolute;top:5px;width:24px;height:29px;border:2px solid var(--ink);background:#d9e3e8;z-index:-1}.diagram-creature i:before{right:calc(100% - 5px);rotate:-22deg;clip-path:polygon(100% 0,80% 100%,0 50%)}.diagram-creature i:after{left:calc(100% - 5px);rotate:22deg;clip-path:polygon(0 0,20% 100%,100% 50%)}.diagram-creature small{color:#6c775f;font-size:9px;text-align:center}.diagram-arrow{color:var(--clay);font-size:25px;font-weight:900}.diagram-tower{grid-column:3;grid-row:1}.diagram-ballista{grid-column:3;grid-row:3}.diagram-tower i,.diagram-ballista i{position:relative;width:64px;height:64px;display:block;border:4px solid var(--ink);background:var(--brass);clip-path:polygon(50% 0,93% 25%,93% 75%,50% 100%,7% 75%,7% 25%)}.diagram-tower i:before{content:"";position:absolute;top:25px;left:27px;width:43px;height:8px;background:var(--ink);rotate:-28deg}.diagram-ballista i{border-radius:50%;clip-path:none;background:var(--clay)}.diagram-ballista i:before{content:"";position:absolute;top:28px;left:28px;width:50px;height:8px;background:var(--paper-pale);rotate:-42deg;transform-origin:left}.codex-overlay{z-index:46;padding:clamp(12px,2vw,28px);background:linear-gradient(90deg,#0c272af5,#1a3f3de6),repeating-linear-gradient(120deg,transparent 0 22px,rgba(255,243,193,.06) 23px 24px)}.codex-panel{position:relative;width:min(1120px,96%);max-height:96%;padding:clamp(19px,2.4vw,32px);display:grid;grid-template-rows:auto auto minmax(0,1fr);gap:12px;overflow:hidden;border:3px solid var(--ink-deep);background:linear-gradient(90deg,transparent 49.85%,rgba(77,97,73,.16) 50%,transparent 50.15%),linear-gradient(100deg,#f8ebbe,#efdda3);box-shadow:8px 9px 0 var(--brass),15px 18px #0c292c57}.codex-panel:before{content:"";position:absolute;inset:8px;border:1px solid rgba(51,80,65,.25);pointer-events:none}.codex-header{position:relative;z-index:1;display:flex;justify-content:space-between;align-items:start;gap:16px}.codex-header h2{margin:3px 0 2px;color:var(--ink-deep);font-family:STKaiti,KaiTi,serif;font-size:clamp(27px,3vw,40px);line-height:1}.codex-header p{margin:0;color:#5d705f;font-size:10px}.codex-close{width:38px;height:38px;flex:0 0 auto;border:2px solid var(--ink);color:var(--ink);background:#efdca0;box-shadow:3px 3px #20464342;font:900 24px/1 Bahnschrift,Arial,sans-serif}.codex-close:hover{background:#fff0b8}.codex-tabs{position:relative;z-index:1;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));border-block:1px solid rgba(45,76,65,.34)}.codex-tabs button{min-height:39px;color:#617063;background:transparent;font-family:STKaiti,KaiTi,serif;font-size:15px;font-weight:900}.codex-tabs button+button{border-left:1px solid rgba(45,76,65,.34)}.codex-tabs button[aria-selected=true]{color:var(--paper-pale);background:var(--clay);box-shadow:inset 0 -4px #853b32}.codex-tabs button[data-codex-tab=towers][aria-selected=true]{background:var(--jade);box-shadow:inset 0 -4px #205d54}.codex-tabs small{margin-left:4px;font:900 9px/1 Bahnschrift,Arial,sans-serif;opacity:.74}.codex-grid{position:relative;z-index:1;min-height:0;padding:2px 5px 8px 1px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-content:start;gap:9px;overflow:auto;scrollbar-width:thin;scrollbar-color:rgba(182,79,61,.55) transparent}.codex-entry{min-width:0;min-height:176px;padding:11px;display:grid;grid-template-columns:82px minmax(0,1fr);align-items:center;gap:11px;border:1px solid rgba(43,76,65,.4);background:#fff9dcad;box-shadow:inset 0 -4px #75593414}.codex-entry-visual{min-width:0;display:grid;justify-items:center;gap:6px}.codex-id{color:#6d806f;font:900 8px/1 Bahnschrift,Arial Narrow,sans-serif;letter-spacing:.1em}.codex-role{max-width:100%;overflow:hidden;color:var(--ink);font-size:8px;text-overflow:ellipsis;white-space:nowrap}.codex-sigil{width:68px;height:80px;display:grid;grid-template-rows:1fr auto;place-items:center;overflow:hidden;color:var(--paper-pale);background:radial-gradient(circle at 32% 26%,rgba(255,244,197,.32),transparent 23%),var(--entry-color);border:3px solid var(--entry-accent);box-shadow:3px 4px #18383d40}.monster-sigil{height:68px;border-radius:50% 44% 48% 52%;transform:rotate(-2deg)}.monster-crossbow,.monster-bomber{border-radius:65% 35% 58% 42%}.monster-boss{border-width:4px;box-shadow:0 0 0 2px #c88d6f,3px 4px #18383d40}.tower-sigil{clip-path:polygon(50% 0,93% 22%,93% 78%,50% 100%,7% 78%,7% 22%)}.codex-sigil span{align-self:end;font:900 29px/1 STKaiti,KaiTi,serif}.codex-sigil small{width:100%;padding:3px 2px;color:#fff1bd;background:var(--entry-accent);font-size:7px;font-weight:900;text-align:center}.codex-entry-copy{min-width:0;display:grid;gap:5px}.codex-metrics{display:grid;gap:4px}.codex-metrics label{min-width:0;display:grid;grid-template-columns:30px minmax(0,1fr) 36px;align-items:center;gap:5px}.codex-metrics label>span{color:#657666;font-size:7px;font-weight:900}.codex-metrics label>i{height:5px;overflow:hidden;border:1px solid rgba(52,84,69,.3);background:#243c321f}.codex-metrics label>i>b{display:block;width:var(--metric);height:100%;background:linear-gradient(90deg,var(--jade),var(--brass))}.codex-metrics label>em{color:#596c5d;font:900 7px/1 Bahnschrift,Arial Narrow,sans-serif;font-style:normal;text-align:right}.codex-entry-title{display:flex;justify-content:space-between;align-items:baseline;gap:8px}.codex-entry-title h3{margin:0;color:var(--ink-deep);font-family:STKaiti,KaiTi,serif;font-size:18px;line-height:1}.codex-entry-title em{flex:0 0 auto;padding:2px 5px;color:var(--paper-pale);background:var(--clay);font-size:8px;font-style:normal;font-weight:900}.tower-entry .codex-entry-title em{background:var(--jade)}.codex-entry-copy p{margin:0;color:#536759;font-size:9px;line-height:1.4}.codex-statline{display:flex;flex-wrap:wrap;gap:4px}.codex-statline span{padding:2px 5px;border:1px solid rgba(57,89,71,.25);color:#476052;background:#f2e3b1b8;font:800 8px/1.3 Bahnschrift,Microsoft YaHei,sans-serif}.codex-unlock{color:#786743;font-size:8px;font-weight:800}.codex-tech{min-width:0;display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:6px}.codex-tech span{padding:2px 5px;color:var(--paper-pale);background:var(--jade);font-size:7px;font-weight:900}.codex-tech b{overflow:hidden;color:#5e705f;font-size:8px;text-overflow:ellipsis;white-space:nowrap}.danger-tech span{background:var(--clay)}.upgrade-panel{padding:clamp(27px,4vw,50px);text-align:center}.upgrade-panel h2,.result-panel h2{margin:7px 0 4px;font-family:STKaiti,KaiTi,serif;font-size:clamp(28px,3.4vw,46px);line-height:1}.upgrade-panel>p,.result-panel>p{margin:0;color:#60705e;font-size:12px}.upgrade-grid{position:relative;z-index:2;margin-top:27px;display:grid;grid-template-columns:repeat(3,1fr);gap:13px}.upgrade-choice{min-height:184px;padding:19px 15px 15px;display:flex;flex-direction:column;align-items:flex-start;border:2px solid var(--ink);color:var(--ink);text-align:left;background:var(--paper-pale);box-shadow:4px 5px #1d454245;transition:translate .15s ease,box-shadow .15s ease,background .15s ease}.upgrade-choice:hover{translate:0 -4px;background:#fff8dc;box-shadow:4px 9px #1d454245}.upgrade-choice small{padding:3px 6px;color:var(--paper-pale);background:var(--jade);font-size:9px;font-weight:900}.upgrade-choice b{margin-top:13px;font-family:STKaiti,KaiTi,serif;font-size:22px}.upgrade-choice span{margin-top:5px;color:#60705f;font-size:11px;line-height:1.55}.upgrade-choice em{margin-top:auto;align-self:flex-end;color:var(--clay);font-size:10px;font-style:normal;font-weight:900}.evolution-panel{width:min(760px,92%)}.evolution-grid{position:relative;z-index:2;margin-top:25px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px}.evolution-choice{min-height:205px;padding:18px;display:grid;grid-template-columns:54px minmax(0,1fr);grid-template-rows:auto auto 1fr auto;align-items:center;gap:5px 13px;border:2px solid var(--ink);color:var(--ink);text-align:left;background:var(--paper-pale);box-shadow:5px 6px #1d454245;transition:translate .15s ease,box-shadow .15s ease}.evolution-choice:hover{translate:0 -4px;box-shadow:5px 10px #1d454245}.evolution-choice>i{grid-column:1;grid-row:1 / span 4;width:52px;height:66px;display:grid;place-items:center;border:2px solid var(--ink);color:#fff3c4;font:900 28px/1 STKaiti,KaiTi,serif;font-style:normal;clip-path:polygon(50% 0,94% 23%,94% 77%,50% 100%,6% 77%,6% 23%)}.artillery-choice>i{background:#9f4e46}.laser-choice>i{background:#397c88}.evolution-choice small{color:var(--clay);font-size:9px;font-weight:900;letter-spacing:.08em}.evolution-choice b{font-family:STKaiti,KaiTi,serif;font-size:24px}.evolution-choice span{align-self:start;color:#60705f;font-size:11px;line-height:1.55}.evolution-choice em{color:#7b4960;font-size:10px;font-style:normal;font-weight:900}.evolution-cancel{position:relative;z-index:2;margin-top:16px;padding:7px 14px;border:1px solid rgba(41,71,62,.55);color:#5f6d5c;background:transparent;font-size:9px;font-weight:900}.evolution-cancel:hover{color:var(--paper-pale);background:var(--jade)}.result-panel{width:min(620px,90%);padding:38px 44px 34px;text-align:center}.pause-overlay{z-index:42;background:radial-gradient(circle at 50% 44%,rgba(47,91,82,.38),transparent 42%),#0b252ae0;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}.pause-panel{width:min(510px,92%);padding:42px 42px 36px;text-align:center}.pause-seal{position:absolute;top:-30px;left:50%;width:62px;height:62px;display:grid;place-items:center;translate:-50% 0;rotate:-4deg;border:3px solid var(--ink);color:var(--paper-pale);background:var(--jade);box-shadow:4px 5px 0 var(--brass);font-family:STKaiti,KaiTi,serif;font-size:32px;font-weight:900}.pause-panel h2{margin:8px 0 5px;font-family:STKaiti,KaiTi,serif;font-size:clamp(30px,4vw,44px);line-height:1}.pause-panel>p{margin:0;color:#60705e;font-size:12px}.pause-actions{position:relative;z-index:1;margin-top:27px;display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.pause-action{min-height:84px;padding:13px 9px;display:grid;place-content:center;gap:6px;border:2px solid var(--ink);color:var(--ink);background:#fff8d99e;box-shadow:3px 4px #234a433d;transition:translate .12s ease,box-shadow .12s ease,background .12s ease}.pause-action:hover,.pause-action:focus-visible{translate:0 -3px;background:var(--paper-pale);box-shadow:3px 7px #234a4347}.pause-action b{font:900 15px/1 Microsoft YaHei,sans-serif}.pause-action small{color:#6c7866;font-size:9px}.continue-action{color:var(--paper-pale);background:var(--jade)}.continue-action small{color:#fff8d9bd}.end-action{border-color:#8f4034;color:#8f4034;background:#de6a4f1a}.result-seal{position:absolute;top:-28px;left:50%;width:58px;height:58px;display:grid;place-items:center;translate:-50% 0;border:3px solid var(--ink);color:var(--paper-pale);background:var(--clay);font-family:STKaiti,KaiTi,serif;font-size:31px;font-weight:900;rotate:-3deg}.result-stats{margin:24px 0;display:grid;grid-template-columns:repeat(5,1fr);border:2px solid var(--ink);background:#fff8d97a}.result-stats div{padding:12px 6px;display:grid;gap:4px}.result-stats div+div{border-left:1px solid rgba(40,70,61,.25)}.result-stats span{color:#71806a;font-size:9px}.result-stats b{font:900 17px/1 Bahnschrift,Arial,sans-serif}.tower-cards{min-width:0;flex:1 1 auto;display:grid;grid-template-columns:repeat(7,minmax(74px,1fr));gap:7px}.tower-card{position:relative;min-width:0;min-height:66px;padding:7px 28px 7px 7px;display:grid;grid-template-columns:42px minmax(0,1fr);align-items:center;gap:7px;border:2px solid rgba(24,56,61,.62);color:var(--ink);text-align:left;background:#fff8db9e;transition:background .12s ease,translate .12s ease,box-shadow .12s ease}.tower-card:hover:not(:disabled){background:var(--paper-pale);translate:0 -2px}.tower-card.selected{border-color:var(--clay);background:#fff4c9;box-shadow:inset 0 -4px 0 var(--brass)}.tower-card:disabled{opacity:.48;filter:saturate(.45)}.tower-card.locked{border-style:dashed;background:#d7d4be94;filter:grayscale(.68)}.tower-card.locked em{color:#6f756e;font-family:Microsoft YaHei,sans-serif}.tower-card>span:not(.tower-glyph){min-width:0;display:grid;gap:2px}.tower-card b,.tower-card small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tower-card b{font-size:12px}.tower-card small{color:#697864;font-size:8px}.tower-card em{position:absolute;top:7px;right:6px;color:#8c5a22;font:900 11px/1 Bahnschrift,Arial,sans-serif;font-style:normal}.tower-card kbd{position:absolute;right:6px;bottom:6px;width:17px;height:17px;display:grid;place-items:center;border:1px solid rgba(43,69,59,.3);border-radius:2px;color:#667361;background:#ffffff52;font:800 8px/1 Arial,sans-serif}.tower-glyph{width:42px;height:42px;display:grid;place-items:center;border:2px solid var(--ink);color:var(--paper-pale);font-family:STKaiti,KaiTi,serif;font-size:20px;font-weight:900;clip-path:polygon(50% 0,93% 25%,93% 75%,50% 100%,7% 75%,7% 25%)}.tower-bolt{background:#bd7a42}.tower-cannon{background:#b64f3d}.tower-chain{background:#367b7b}.tower-frost{background:#6ba8a3}.tower-antiair{background:#667fa6}.tower-antiair{scale:.86;box-shadow:0 0 0 2px #667fa640}.tower-repair{background:#4f8c70}.tower-global{background:#70558d;box-shadow:inset 0 0 0 2px #f8de8f6b}.dock-center{flex:0 0 clamp(245px,24vw,370px);min-width:0;align-self:stretch;padding:5px 10px;display:grid;align-items:center;border-left:1px solid rgba(43,78,65,.24)}.tower-hint{display:grid;gap:3px}.tower-hint b{font-size:12px}.tower-hint span{color:#6b7864;font-size:9px}.tower-detail{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px}.tower-detail>div:first-child{min-width:0;display:grid;gap:4px}.tower-detail b{font-size:12px}.tower-detail span{overflow:hidden;color:#6a7763;font-size:9px;text-overflow:ellipsis;white-space:nowrap}.tower-actions{display:flex;gap:4px}.tower-actions button{min-height:35px;padding:0 8px;border:1px solid var(--ink);color:var(--ink);background:#f6e7b6;font-size:9px;font-weight:900}.tower-actions button:hover:not(:disabled){color:var(--paper-pale);background:var(--jade)}.tower-actions button:disabled{opacity:.45}.next-wave-button{flex:0 0 150px;min-height:62px;padding:8px 14px;display:grid;place-content:center;gap:3px;border:2px solid var(--ink);color:var(--paper-pale);background:var(--clay);box-shadow:3px 4px 0 var(--ink);text-align:center;transition:translate .12s ease,box-shadow .12s ease}.next-wave-button:active{translate:3px 4px;box-shadow:none}.next-wave-button span{font-size:12px;font-weight:900}.next-wave-button small{color:#ffe2a7;font-size:8px}.placement-cancel{display:none}@keyframes card-nock{0%{opacity:0;translate:-50% -14px}70%{translate:-50% 5px}to{opacity:1;translate:-50% 0}}}@layer responsive{@media(max-height:700px)and (min-width:761px){.game-overlay{padding:14px}.intro-panel{min-height:0;max-height:100%;padding:20px 24px;grid-template-columns:1fr;grid-template-areas:"brand" "nav" "copy" "action";row-gap:12px}.home-mode .intro-panel{min-height:0;max-height:100%}.home-brand{padding-bottom:8px}.home-brand-seal{width:40px;height:40px;font-size:24px}.home-top-controls button small{display:none}.home-top-controls .mode-switch button,.home-top-controls .archive-actions button{min-height:44px}.intro-copy{padding-right:0}.intro-copy h1{margin-block:7px 10px;font-size:clamp(30px,7vh,42px)}.intro-copy>p{line-height:1.5}.rule-pills{margin-top:10px}.intro-diagram{display:none}.codex-panel{max-height:100%;padding:16px 20px;gap:8px}.codex-entry{min-height:142px;grid-template-columns:64px minmax(0,1fr)}.codex-sigil{width:56px;height:63px}}@media(max-width:1050px){.game-app{gap:7px}.command-header{min-height:54px;padding:6px 8px}.brand-seal{width:34px;height:34px;font-size:21px}.brand-lockup strong{font-size:18px}.brand-lockup span:not(.brand-seal){display:none}.compact-meter{min-width:55px}.meter b{font-size:14px}.icon-button{width:34px;height:34px}.battle-stage{max-width:min(100%,calc((100dvh - 168px)*1.7778))}.build-dock{min-height:80px;padding:6px}.tower-cards{grid-template-columns:repeat(7,minmax(46px,1fr))}.tower-card{grid-template-columns:35px minmax(0,1fr);min-height:57px;padding-left:5px}.tower-glyph{width:35px;height:35px;font-size:17px}.tower-card small,.tower-hint span,.tower-card kbd{display:none}.dock-center{flex-basis:250px}.next-wave-button{flex-basis:128px;min-height:56px}}@media(max-width:760px){.game-app{--edge: 5px;gap:5px}.command-header{min-height:46px;gap:7px}.brand-lockup{padding-right:7px}.brand-seal{width:31px;height:31px}.brand-lockup strong{font-size:15px;letter-spacing:0}.battle-meters{gap:8px}.gate-meter{width:min(200px,25vw);grid-template-columns:1fr auto}.gate-meter>span{display:none}.compact-meter{min-width:48px}.desktop-only,.header-actions [data-sound]{display:none}.icon-button{width:31px;height:31px}.battle-stage{max-width:min(100%,calc((100dvh - 142px)*1.7778))}.build-dock{min-height:72px}.tower-cards{grid-template-columns:repeat(7,minmax(36px,1fr));gap:4px}.tower-card{min-height:54px;padding:4px;display:flex;justify-content:center}.tower-card>span:not(.tower-glyph),.tower-card kbd{display:none}.tower-card em{top:auto;right:3px;bottom:3px;padding:1px 3px;color:var(--paper-pale);background:#18383dd1;font-size:8px}.dock-center{flex-basis:190px;padding-inline:6px}.tower-detail{grid-template-columns:1fr;gap:3px}.tower-detail>div:first-child span{display:none}.tower-actions button{min-height:27px;padding:0 5px;font-size:8px}.tower-hint b{font-size:10px}.next-wave-button{flex-basis:105px;min-height:54px;padding-inline:7px}.next-wave-button span{font-size:10px}.card-ribbon{top:6px;width:370px;scale:.82;transform-origin:top center}.manual-readout{right:8px;bottom:8px;min-width:132px;padding:5px 7px}.manual-readout.locked{min-width:160px}.manual-heading{gap:5px}.manual-heading button{min-height:23px;padding-inline:6px;font-size:8px}.manual-lock-copy{font-size:7px}.manual-readout small{display:none}.heavy-charge{margin-top:5px}.heavy-charge>span{font-size:7px}.heavy-charge>i{height:5px}.ammo-row i{width:12px}.intro-panel{min-height:0;padding:24px;grid-template-columns:1fr;grid-template-rows:auto auto minmax(0,1fr) auto;grid-template-areas:"brand" "nav" "copy" "action";gap:16px}.home-mode .intro-panel{min-height:0;max-height:98%;padding:20px}.home-brand{gap:9px}.home-brand-seal{width:42px;height:42px;font-size:24px}.home-brand-copy strong{font-size:24px}.home-brand-copy em,.home-brand-motto{display:none}.home-top-controls{grid-template-columns:repeat(2,minmax(0,1fr));gap:5px}.home-top-controls .mode-switch button,.home-top-controls .archive-actions button{min-height:45px;padding:4px 6px 4px 4px;grid-template-columns:31px minmax(0,1fr);gap:6px}.home-top-controls button>i{width:31px;height:31px;font-size:14px}.home-top-controls button small{display:none}.intro-copy{padding-right:0}.intro-copy h1{font-size:34px}.archive-actions{grid-template-columns:1fr}.archive-actions button{min-height:45px}.map-choice{padding:5px 3px;grid-template-columns:1fr;justify-items:center;text-align:center}.map-choice>span{justify-items:center}.map-choice small{display:none}.intro-start-button{width:100%;justify-self:stretch}.intro-diagram{display:none}.upgrade-panel{padding:22px}.codex-overlay{padding:8px}.codex-panel{width:98%;max-height:98%;padding:18px 14px;gap:8px}.codex-header h2{font-size:27px}.codex-header p{display:none}.codex-close{width:34px;height:34px}.codex-grid{grid-template-columns:1fr;gap:7px}.codex-entry{min-height:150px;grid-template-columns:68px minmax(0,1fr)}.pause-panel{width:min(470px,94%);padding:31px 24px 22px}.pause-seal{top:-23px;width:48px;height:48px;font-size:25px}.pause-panel h2{font-size:29px}.pause-actions{margin-top:18px}.pause-action{min-height:66px;padding:9px 6px}.pause-action b{font-size:12px}.upgrade-grid{margin-top:17px;gap:8px}.evolution-grid{margin-top:16px;grid-template-columns:1fr;gap:8px}.evolution-choice{min-height:112px;padding:10px 12px;grid-template-columns:42px minmax(0,1fr)}.evolution-choice>i{width:40px;height:54px;font-size:22px}.evolution-choice b{font-size:19px}.evolution-choice span{font-size:8px}.upgrade-choice{min-height:145px;padding:13px 10px 10px}.upgrade-choice b{margin-top:8px;font-size:17px}.upgrade-choice span{font-size:9px}}@media(orientation:landscape)and (max-width:950px)and (max-height:560px){.game-app:not(.home-mode){--edge: 4px;padding:max(4px,env(safe-area-inset-top)) max(5px,env(safe-area-inset-right)) max(4px,env(safe-area-inset-bottom)) max(5px,env(safe-area-inset-left));grid-template-rows:42px minmax(0,1fr) 64px;gap:3px;overflow:hidden}.game-app:not(.home-mode) .command-header{min-height:42px;height:42px;padding:3px 5px;gap:7px;border-width:1px;background:#071b22f0;box-shadow:0 3px #030c11d1;clip-path:polygon(0 5px,5px 5px,5px 0,calc(100% - 5px) 0,calc(100% - 5px) 5px,100% 5px,100% calc(100% - 5px),calc(100% - 5px) calc(100% - 5px),calc(100% - 5px) 100%,5px 100%,5px calc(100% - 5px),0 calc(100% - 5px))}.game-app:not(.home-mode) .command-header:before,.game-app:not(.home-mode) .build-dock:before{inset:3px}.game-app:not(.home-mode) .brand-lockup{padding:0 6px 0 2px;border-right:1px solid rgba(89,224,241,.34)}.game-app:not(.home-mode) .brand-lockup>div{display:none}.game-app:not(.home-mode) .brand-seal{width:30px;height:30px;border-width:1px;font-size:17px;box-shadow:2px 2px #061116}.game-app:not(.home-mode) .battle-meters{justify-content:space-between;gap:clamp(5px,1.6vw,14px)}.game-app:not(.home-mode) .meter{min-width:42px;gap:0}.game-app:not(.home-mode) .meter>span{display:none}.game-app:not(.home-mode) .meter b{color:#d7f8fb;font-size:13px}.game-app:not(.home-mode) .gate-meter{width:min(190px,27vw);min-width:96px;grid-template-columns:minmax(44px,1fr) auto;column-gap:6px}.game-app:not(.home-mode) .meter-track{height:8px;border-width:1px;background:#72a9b038}.game-app:not(.home-mode) .coin-value i{width:10px;height:10px;border-width:1px}.game-app:not(.home-mode) .header-actions{gap:4px}.game-app:not(.home-mode) .icon-button{width:34px;height:34px;border-width:1px;color:#d9fbff;background:#0e343df0;box-shadow:1px 2px #061116}.game-app:not(.home-mode) .battle-stage{width:auto;height:100%;max-width:100%;max-height:100%;border-width:1px;box-shadow:0 0 0 2px #2fcee24d}.game-app:not(.home-mode) .build-dock{min-height:64px;height:64px;padding:4px;gap:5px;border-width:1px;background:#071b22f5;box-shadow:0 -2px #2fd5e93d;clip-path:polygon(0 0,38% 0,calc(38% + 6px) 5px,calc(62% - 6px) 5px,62% 0,100% 0,100% 100%,0 100%)}.game-app:not(.home-mode) .tower-cards{min-width:0;height:54px;display:grid;grid-template-columns:none;grid-auto-flow:column;grid-auto-columns:54px;gap:4px;overflow-x:auto;overflow-y:hidden;overscroll-behavior-inline:contain;scroll-snap-type:x proximity;scrollbar-width:none;touch-action:pan-x}.game-app:not(.home-mode) .tower-cards::-webkit-scrollbar{display:none}.game-app:not(.home-mode) .tower-card{width:54px;min-height:54px;padding:3px;display:grid;place-items:center;border-width:1px;scroll-snap-align:start;text-align:center}.game-app:not(.home-mode) .tower-card>span:not(.tower-glyph),.game-app:not(.home-mode) .tower-card kbd{display:none}.game-app:not(.home-mode) .tower-glyph{width:42px;height:42px;border-width:1px;font-size:19px}.game-app:not(.home-mode) .tower-card em{top:auto;right:2px;bottom:2px;padding:1px 3px;color:#07171c;background:#ffb044;font-size:8px}.game-app:not(.home-mode) .dock-center{flex:0 0 clamp(174px,29vw,240px);height:54px;padding:3px 5px;border-left-color:#5fe0f038}.game-app:not(.home-mode) .tower-hint{gap:1px}.game-app:not(.home-mode) .tower-hint b{color:#d7f8fb;font-size:9px}.game-app:not(.home-mode) .tower-hint span{display:block;color:#77aeb6;font-size:7px}.game-app:not(.home-mode) .tower-detail{grid-template-columns:minmax(0,1fr) auto;gap:4px}.game-app:not(.home-mode) .tower-detail>div:first-child span{display:none}.game-app:not(.home-mode) .tower-detail b{color:#d7f8fb;font-size:8px}.game-app:not(.home-mode) .tower-actions{gap:3px}.game-app:not(.home-mode) .tower-actions button{min-width:42px;min-height:44px;padding:0 4px;border-color:#4ed9e9;color:#c8f7fb;background:#0c333df0;font-size:8px}.game-app:not(.home-mode) .next-wave-button{flex:0 0 88px;min-height:54px;height:54px;padding:4px 6px;border-width:1px;box-shadow:2px 2px #061116}.game-app:not(.home-mode) .next-wave-button span{font-size:9px}.game-app:not(.home-mode) .next-wave-button small{font-size:7px}.game-app:not(.home-mode) .placement-cancel:not([hidden]){position:absolute;z-index:9;left:5px;bottom:calc(100% + 7px);min-width:92px;min-height:44px;display:grid;place-items:center;border:1px solid #ffb044;color:#ffd18a;background:#081d24f5;box-shadow:2px 3px #030c11d9;font-size:10px;font-weight:900}.game-app:not(.home-mode) .battle-toast{bottom:8px;max-width:64%;padding:7px 10px;font-size:9px}.game-app:not(.home-mode) .codex-panel,.game-app:not(.home-mode) .upgrade-panel,.game-app:not(.home-mode) .pause-panel,.game-app:not(.home-mode) .result-panel{max-height:94%;overflow:auto}@media(hover:none)and (pointer:coarse){button{-webkit-tap-highlight-color:transparent}.tower-card:hover:not(:disabled),.icon-button:hover,.next-wave-button:hover{translate:0}}}@media(orientation:portrait)and (max-width:820px){.game-app:not(.home-mode) .portrait-tip{position:fixed;z-index:80;inset:0;display:grid;place-content:center;gap:7px;padding:calc(20px + env(safe-area-inset-top)) calc(20px + env(safe-area-inset-right)) calc(20px + env(safe-area-inset-bottom)) calc(20px + env(safe-area-inset-left));color:#d9fbff;text-align:center;background:radial-gradient(circle at center,rgba(27,100,112,.34),transparent 34%),repeating-linear-gradient(120deg,transparent 0 28px,rgba(72,219,237,.045) 29px 30px),#030f15fa;border:0;pointer-events:auto}.game-app:not(.home-mode) .portrait-tip:before{content:"↻";width:64px;height:64px;margin:0 auto 5px;display:grid;place-items:center;border:1px solid #55deed;color:#ffb044;font:900 38px/1 Bahnschrift,Arial,sans-serif;box-shadow:0 0 24px #42dcee2e;clip-path:polygon(13px 0,100% 0,100% calc(100% - 13px),calc(100% - 13px) 100%,0 100%,0 13px)}.game-app:not(.home-mode) .portrait-tip b{font-size:21px;letter-spacing:.12em}.game-app:not(.home-mode) .portrait-tip span{color:#7db8c0;font-size:11px;font-weight:800}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation-duration:1ms!important;animation-iteration-count:1!important;transition-duration:1ms!important}}}
