:root{font-family:Trebuchet MS,Arial,sans-serif;color:#e9dfc5;background:#0c171b;font-synthesis:none;color-scheme:dark}*{box-sizing:border-box}body{margin:0;overflow:hidden}button,input{font:inherit}button{cursor:pointer;color:inherit}button:disabled{cursor:default;filter:saturate(.35);opacity:.45}button:focus-visible,input:focus-visible{outline:2px solid #ffe3a2;outline-offset:4px}button{transition:background .15s,border-color .15s,transform .15s}button:active:not(:disabled){transform:translateY(2px)}svg{width:28px;height:28px;flex-shrink:0}button svg{pointer-events:none}.stage{width:1600px;height:900px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%) scale(var(--scale, 1));transform-origin:center;overflow:hidden;box-shadow:0 0 100px #000}canvas{position:absolute;inset:0;width:100%;height:100%}#ui{position:absolute;inset:0;pointer-events:none}#ui button,#ui input,#ui nav{pointer-events:auto}#overlay{position:absolute;inset:0;pointer-events:none;z-index:20}#overlay:empty{display:none}[hidden]{display:none!important}.button,button:not([class]){padding:12px 18px;border:1px solid #657069;background:#253b3b;border-radius:3px}.button:hover,button:not([class]):hover{background:#354b45}.primary{display:inline-flex;justify-content:center;align-items:center;gap:13px;padding:18px 27px;border:1px solid #f0cb80;background:linear-gradient(#ceb17a,#a85);color:#1c2c2b;font-weight:800;font-size:14px;letter-spacing:1.2px;box-shadow:inset 0 0 0 3px #d9bc8444,0 5px #192a29aa,0 9px 25px #0003;border-radius:2px}.primary:hover{background:linear-gradient(#e4cb96,#c3a16a);border-color:#ffe3a7}.primary svg{width:25px}.eyebrow{display:block;font-size:11px;letter-spacing:2.5px;font-weight:700;color:#bdab82;line-height:1.4}h1,h2,h3,p{margin:0}h1,h2,h3{font-family:Georgia,Times New Roman,serif;font-weight:500}h2{font-size:34px;color:#eee3c5;margin-top:7px}h3{font-size:20px;color:#e4d7b5}.icon-button{width:48px;height:48px;padding:11px;display:inline-flex;align-items:center;justify-content:center;background:#172c30d9;border:1px solid #a2966b70;border-radius:3px;color:#cfbf94}.icon-button:hover{color:#f0d99f;border-color:#d8bf85;background:#2d4240}.icon-button svg{width:24px;height:24px}.text-button{background:none;border:0;padding:14px 18px;color:#b7baab;font-size:14px}.text-button:hover{color:#f0d496}.title-art{position:absolute;inset:0;background:url(../art/realm.png) center/cover}.title-shade{position:absolute;inset:0;background:linear-gradient(90deg,#0c2328e6,#122b306b 45%,transparent 70%),linear-gradient(0deg,#0c202cba,transparent 25%)}.top-corner{position:absolute;right:40px;top:32px;display:flex;gap:12px}.title-copy{position:absolute;left:125px;top:120px;width:530px}.brand-mark{width:62px;height:72px;color:#dbbf86;margin-bottom:23px}.brand-mark svg{width:62px;height:72px}.title-copy>.eyebrow{font-size:11px;letter-spacing:4px;color:#cab890}.title-copy h1{font-size:102px;line-height:.95;letter-spacing:-3px;margin:25px 0;color:#f4e8c7;text-shadow:0 3px 4px #0005}.title-copy h1 em{font-weight:400;font-style:normal;color:#dfbd7c}.title-divider{display:flex;gap:18px;align-items:center;font-size:12px;letter-spacing:4px;color:#c4b68f}.title-divider span{width:40px;height:1px;background:#a79364}.title-copy p{font-family:Georgia,serif;font-size:21px;line-height:1.7;color:#c3c9b8;margin:28px 0}.title-cta{min-width:370px;height:70px}.button-arrow{margin-left:auto;font-size:25px;font-weight:400}.title-copy>.text-button{display:block;padding-left:0;margin-top:13px}.title-bottom{position:absolute;bottom:34px;left:48px;right:48px;display:flex;justify-content:space-between;font-size:10px;letter-spacing:2px;color:#b6b99f}.title-bottom i{font-style:normal;font-size:6px;margin:0 18px;color:#c8b37b}.title-bottom b{margin:0 10px}.campaign-head{position:absolute;top:0;left:0;right:0;height:112px;padding:25px 42px;display:flex;justify-content:space-between;align-items:center;background:linear-gradient(#122a30f5,#142d32b3,transparent)}.campaign-brand{display:flex;gap:25px;align-items:center}.campaign-brand h2{font-size:30px}.campaign-progress{display:flex;align-items:center;gap:13px;color:#d4bd86}.campaign-progress>svg{width:29px}.campaign-progress strong{font:30px Georgia}.campaign-progress>span{color:#a0afa5}.progress-line{width:130px;height:5px;background:#1b3336;margin-right:23px;border:1px solid #64766a}.progress-line i{display:block;height:100%;background:#d1bb84}.map-label{position:absolute;top:180px;left:53px;writing-mode:vertical-rl;font-size:10px;letter-spacing:3px;color:#bdc7af}.map-label span{margin:20px 0}.map-hit{position:absolute;width:78px;height:78px;border:0;border-radius:50%;background:transparent}.map-hit:hover{box-shadow:0 0 0 1px #ebdba164,0 0 25px #d8c17a33}.campaign-footer{position:absolute;bottom:0;left:0;right:0;height:125px;display:flex;justify-content:space-between;align-items:center;padding:25px 45px;background:linear-gradient(transparent,#10282cee 30%);border-bottom:3px solid #86764c}.campaign-footer nav{display:flex;align-items:center;gap:12px}.nav-button{height:55px;padding:0 22px;display:flex;align-items:center;gap:13px;border:1px solid #90947688;background:#1d3538e8;font-family:Georgia,serif;font-size:18px;border-radius:2px}.nav-button:hover{background:#3d5047}.nav-button svg{width:23px;color:#d0bb88}.count{font:14px Trebuchet MS;border:1px solid #8a8468;border-radius:50%;width:23px;height:23px;padding-top:3px;color:#d8bd7e}.lore-note{display:flex;align-items:center;gap:17px}.small-flame svg{width:31px;height:40px;color:#c3a86e}.lore-note p{font-family:Georgia;font-size:16px;line-height:1.7;color:#c3c9b5}.lore-note em{color:#92a497;font-size:14px}.veil{position:absolute;inset:0;pointer-events:auto;display:flex;align-items:center;justify-content:center;background:#081b25c9;backdrop-filter:blur(5px);padding:40px}.modal{width:620px;max-height:820px;background:linear-gradient(125deg,#243b3d,#142b30);border:1px solid #a99566;box-shadow:0 0 0 5px #0c2329,0 0 0 6px #77816988,0 35px 120px #0009;padding:32px 36px;overflow:auto;scrollbar-width:thin;scrollbar-color:#8e8866 #183235}.modal.wide{width:1230px}.modal-head{display:flex;justify-content:space-between;gap:25px;align-items:center;margin-bottom:20px}.modal-head .icon-button{flex-shrink:0}.intro{font-size:16px;color:#b3c0b2;line-height:1.7;margin-bottom:25px}.prep-grid{display:grid;grid-template-columns:375px 1fr;gap:35px;border-bottom:1px solid #7c836144;padding-bottom:22px}.section-label{display:flex;align-items:center;gap:12px;color:#b6a37b;font:13px Georgia;margin-bottom:17px}.section-label h3{font-size:20px;flex:1}.section-label>span{font:12px Trebuchet MS;letter-spacing:2px;color:#b5bdae}.hero-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:9px}.hero-card{display:flex;flex-direction:column;align-items:center;min-height:193px;padding:9px 6px 14px;background:linear-gradient(#40565366,#1a3335);border:1px solid #71847166;position:relative}.hero-card img{width:105px;height:105px;object-fit:contain}.hero-card strong{font:20px Georgia;color:#e9d6a7;margin-top:8px}.hero-card>span{font-size:10px;line-height:1.5;margin-top:6px;color:#aab9ae}.chosen{border-color:#e0be79!important;background:linear-gradient(#8b815740,#b49b6720)!important;box-shadow:inset 0 0 0 1px #c4a56f44}.hero-description{padding:19px 0}.hero-description strong{font-family:Georgia;color:#d7c695;font-size:18px}.hero-description p{font-size:13px;color:#aebdaf;line-height:1.65;margin-top:10px}.arsenal-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.tower-card{position:relative;background:#193437;border:1px solid #6c816e77;height:130px;display:flex;flex-direction:column;align-items:center;padding:12px 8px}.tower-emblem{height:42px;width:42px;display:flex;align-items:center;justify-content:center}.tower-emblem svg{width:34px;height:34px}.tower-card strong{font-family:Georgia;font-size:14px;margin-top:9px;line-height:1.3}.tower-card>span:last-of-type{font-size:9px;margin-top:6px;color:#aab5a7}.tower-card>i{position:absolute;right:8px;top:5px;font-style:normal;color:#c8b480;font-size:13px}.prep-bottom{display:flex;justify-content:space-between;align-items:end;gap:15px;margin-top:23px}.form-label{display:block;color:#acb6a6;font-size:9px;letter-spacing:2px;margin-bottom:9px}.segmented{display:flex}.segmented button{padding:11px 12px;background:#183135;border:1px solid #687b6955;border-radius:0;font-size:12px;color:#b2beb1}.segmented button.active,.tabs button.active{background:#8a80583d;border-color:#c7ac71;color:#ead2a1}.prep-bottom .primary{padding:15px 19px;font-size:11px;height:43px}.prep-tip{font-size:11px;color:#8fa497;margin-top:17px}.catalog{display:grid;grid-template-columns:1fr 1fr;gap:12px;max-height:560px;overflow:auto;padding-right:8px;scrollbar-width:thin;scrollbar-color:#758570 #173033}.catalog-card{display:flex;align-items:center;gap:12px;padding:14px;background:#152e326b;border:1px solid #65766355;min-height:150px}.catalog-card img{width:115px;height:120px;object-fit:contain}.catalog-card h3{font-size:18px;margin-bottom:8px}.catalog-card p{font-size:12px;color:#aabbae;line-height:1.6;margin-top:7px}.catalog-card small{font-size:11px}.stat-row{display:flex;gap:12px;font-size:10px;color:#c0b58e;margin-top:12px}.seen-mark{font:8px Trebuchet MS;color:#a6bf88;letter-spacing:1px;margin-left:9px}.tabs{display:flex;gap:10px;margin-bottom:20px}.tabs button{background:#1a3438;border:1px solid #74837177;padding:11px 20px}.achievement-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin:30px 0}.achievement{border:1px solid #64796b;padding:28px 20px;text-align:center;opacity:.5}.achievement.earned{opacity:1;border-color:#c7ae72;background:#897e5220}.achievement>svg{width:55px;height:55px;color:#c7b17c;margin-bottom:22px}.achievement p{font-size:13px;line-height:1.6;color:#afbbac;margin:20px 0}.achievement small{font-size:10px;letter-spacing:1px;color:#cab27c}.upgrade-intro{display:flex;justify-content:space-between;align-items:center;color:#afbdad;font-size:14px;margin-bottom:25px}.upgrade-intro strong{display:flex;gap:9px;align-items:center;color:#dfc48a;font-size:17px}.upgrade-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.upgrade-branch{border:1px solid #68806a66;padding:16px;background:#142f3377}.branch-title{display:flex;gap:13px;align-items:center;margin-bottom:16px}.branch-title>svg{color:#c5ae79;width:25px}.branch-title small{margin-left:auto;color:#96ab97}.upgrade-node{width:100%;padding:10px 12px;margin-top:7px;display:flex;align-items:center;justify-content:space-between;background:#233e40;border:1px solid #647d6d77;text-align:left;border-radius:2px}.upgrade-node.owned{background:#58634644;border-color:#b4ac77;color:#d9c996}.upgrade-node strong{font:15px Georgia}.upgrade-node small{display:block;font-size:10px;color:#a5b6a5;margin-top:5px}.upgrade-node b{font-size:12px;color:#d5bc80}.modal-foot{display:flex;justify-content:space-between;align-items:center;gap:15px;margin-top:25px}.modal-foot>span{font-size:12px;color:#8fa493}.help-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:22px;margin:30px 0}.help-grid article{border-top:1px solid #71836b88;padding-top:23px}.help-grid svg{color:#cfb47a;width:35px;height:35px;margin-bottom:18px}.help-grid p{font-size:14px;line-height:1.7;color:#adbdad;margin-top:13px}.keybar{display:flex;align-items:center;gap:11px;color:#a9b9a7;font-size:12px;margin:30px 0}kbd{font:10px Trebuchet MS;padding:4px 6px;border:1px solid #83937a66;background:#263e3c;border-radius:2px;color:#d8c99f}.settings-body label{display:flex;align-items:center;justify-content:space-between;font-size:17px;color:#bfccba;padding:20px 0}.settings-body input[type=range]{width:220px;accent-color:#cbb681}.settings-body .check-label{justify-content:start;gap:20px}.check-label input{accent-color:#d4ba7f}.settings-body hr{border:0;border-top:1px solid #697d6555;margin:20px 0}.save-actions{display:flex;gap:12px}.muted{font-size:12px;line-height:1.7;color:#93a995;margin:17px 0}.danger{color:#e0a597;border:1px solid #a27765;background:#513c37;padding:12px 18px}.danger.text-button{background:none;border:0;padding-left:0}.battle-hud{position:absolute;top:0;left:0;right:0;display:flex;align-items:center;height:93px;padding:17px 35px;background:linear-gradient(#14282af2,#162e31ed);border-bottom:1px solid #a3936c99;box-shadow:0 7px 20px #0003}.resource{display:flex;align-items:center;gap:12px;margin-right:28px;position:relative;padding-bottom:5px;min-width:100px}.resource svg{width:31px;height:31px}.heart{color:#cc8771}.gold{color:#d1ba76}.resource strong{font:30px Georgia;color:#f0ddb1}.resource small{position:absolute;left:44px;bottom:-8px;font-size:8px;letter-spacing:2px;color:#9daa97}.battle-title{margin-left:15px;padding-left:30px;border-left:1px solid #82907655}.battle-title .eyebrow{font-size:9px}.battle-title>strong{font:23px Georgia;display:block;margin-top:6px;color:#e4d7b2}.wave-count{margin-left:auto;display:flex;align-items:center;gap:12px;color:#c9b480}.wave-count small{display:block;font-size:9px;letter-spacing:2px;color:#9aa78f}.wave-count strong{display:block;font:26px Georgia;margin-top:2px}.battle-controls{display:flex;gap:10px;margin-left:33px}.battle-controls .icon-button{height:44px;width:44px;background:#203638;font-size:16px;font-weight:700}.battle-bottom{position:absolute;bottom:0;left:0;right:0;height:133px;background:linear-gradient(0deg,#10252cf0 70%,transparent);display:flex;align-items:end;gap:20px;padding:0 30px 18px;pointer-events:none}.command-bar{display:flex;gap:12px;align-items:end;flex-shrink:0;width:475px}.hero-command{width:172px;height:99px;position:relative;background:#213c3c;border:1px solid #ad9d6e;display:flex;align-items:center;padding:0 10px 0 0;box-shadow:0 3px 10px #0004}.hero-command img{width:90px;height:90px;object-fit:contain;align-self:end}.hero-command>span{text-align:left;margin-left:-6px}.hero-command strong{font:18px Georgia;color:#e3cf9e}.hero-command small{display:block;font-size:8px;line-height:1.7;width:79px;color:#adbfab;margin-top:8px}.hero-command kbd{position:absolute;top:5px;left:5px;background:#1c3234}.power-row{display:flex;gap:7px}.power-button{position:relative;width:65px;height:82px;padding:10px 7px 18px;background:linear-gradient(#344a46,#1b3435);border:1px solid #a3976c;border-radius:3px;color:#dac18c;box-shadow:0 4px #10252a88}.power-button svg{width:34px;height:34px}.power-button small{position:absolute;bottom:5px;left:0;right:0;font-size:9px;color:#c1c5ad}.power-button kbd{position:absolute;left:3px;top:-13px;font-size:8px;background:#1d3333;padding:2px 4px}.power-cooldown:not(:empty){position:absolute;inset:0 0 20px;display:flex;align-items:center;justify-content:center;background:#112c30e8;font-size:18px;color:#b4bca5}.power-button.cooling{border-color:#637e6e}.armed{border-color:#ffe3a5!important;box-shadow:0 0 17px #e2cd8144}.context-panel{flex:1;min-width:0;min-height:104px;pointer-events:auto;background:linear-gradient(120deg,#213b3ee8,#173035f2);border:1px solid #89917488;padding:12px 15px;box-shadow:0 4px 15px #07181a44}.field-note{display:flex;align-items:center;gap:18px;height:79px;padding-left:16px}.field-note>svg{width:36px;height:45px;color:#9d926d}.field-note p{font:17px Georgia;color:#c5c6ae;margin-top:8px}.field-note .eyebrow{font-size:9px}.field-note>small{font-size:10px;color:#879e8c;margin-left:auto;margin-right:15px}.context-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.context-heading>span{display:flex;gap:20px;align-items:center}.context-heading .eyebrow{font-size:8px}.context-heading strong{font:16px Georgia}.context-heading .icon-button{width:24px;height:24px;border:0;padding:4px;background:none}.build-options{display:flex;gap:10px}.build-option{flex:1;position:relative;display:flex;align-items:center;gap:9px;background:#2d4642;border:1px solid #75866b77;padding:10px;min-width:0;height:57px}.build-option>span{display:flex}.build-option svg{width:25px;height:25px}.build-option>strong{font:13px Georgia;line-height:1.3;max-width:78px;text-align:left}.build-option>small{position:absolute;right:5px;bottom:2px;font-size:8px;color:#d9bf86}.build-option:hover{border-color:#d2bc82;background:#425743}.tooltip{display:none;position:absolute;bottom:calc(100% + 15px);left:0;width:250px;padding:18px;background:#142e32f5;border:1px solid #a6a078;box-shadow:0 6px 18px #0005;text-align:left;z-index:5;pointer-events:none}.build-option:last-child .tooltip{left:auto;right:0}.build-option:hover .tooltip,.build-option:focus-visible .tooltip{display:block}.tooltip b{font-size:13px;color:#e1cc98}.tooltip p{font-size:12px;line-height:1.6;color:#aebfae;margin:9px 0}.tooltip em{font-size:10px;font-style:normal;color:#cabb94}.tower-info{display:flex;gap:11px;align-items:center}.tower-info-icon{width:35px;height:35px}.tower-info-icon svg{width:30px;height:30px}.tower-info>div{display:flex;gap:15px;align-items:center;flex:1;flex-wrap:wrap}.tower-info .eyebrow{font-size:8px;letter-spacing:1px}.tower-info strong{font:19px Georgia}.tower-info small{font-size:10px;color:#a3b49f;margin-left:auto}.tower-info>.icon-button{width:25px;height:25px;padding:4px;border:0;background:none}.tower-actions{display:flex;gap:8px;align-items:center;margin-top:10px}.gold-button{display:flex;align-items:center;gap:16px;font-size:12px;background:#85744955;border:1px solid #c7af75;padding:10px 17px;color:#e8d197}.gold-button b{font-size:11px}.mini-button{padding:8px 11px;background:#29413e;border:1px solid #73846a77;font-size:10px;height:35px;white-space:nowrap;display:flex;gap:6px;align-items:center}.mini-button svg{width:17px;height:17px}.mini-button b{font-weight:400;color:#ddba7b;margin-left:7px}.sell-button{margin-left:auto;color:#c3af91}.skill-buttons{display:flex;gap:5px;flex:1}.skill-button{display:flex;align-items:center;gap:5px;background:#3b4c4055;border:1px solid #8b937155;padding:7px;font-size:10px;flex:1;text-align:left}.skill-button svg{width:16px;height:16px;color:#dbc38a}.skill-button small{display:block;font-size:8px;color:#c6b184;margin-top:4px}.wave-control{position:absolute;right:35px;bottom:155px;display:flex;flex-direction:column;align-items:end;gap:12px;text-align:right;pointer-events:auto}.wave-button{font-size:11px;padding:13px 18px;height:48px}.wave-button svg{height:23px;width:23px}#wave-preview{max-width:490px;background:#173234e6;border:1px solid #8e927460;padding:10px 16px}#wave-preview small{display:block;font-size:9px;letter-spacing:1.5px;color:#d3c18c}#wave-preview span{font:14px Georgia;display:block;margin-top:7px;color:#c8cbb6}.tutorial-note{position:absolute;top:128px;left:35px;width:325px;background:#183438f2;border:1px solid #a39b76;padding:20px;pointer-events:auto;box-shadow:0 5px 25px #0003}.tutorial-note>.eyebrow{font-size:9px}.tutorial-note>strong{display:block;font:23px Georgia;margin:12px 0;color:#e0cca0}.tutorial-note p{font-size:13px;line-height:1.6;color:#b2c3ae}.tutorial-note .text-button{padding:12px 0 0;color:#d2ba82;font-size:12px}.battle-notice{position:absolute;top:180px;left:400px;right:400px;text-align:center;font:24px Georgia;color:#f3ddaa;text-shadow:0 2px 5px #000;opacity:0;pointer-events:none}.battle-notice.show{animation:notice 3.5s ease-out}.pause-label{position:absolute;top:410px;left:530px;width:540px;text-align:center;letter-spacing:4px;font:26px Georgia;background:#142c32ee;border:1px solid #ab9d73;padding:24px;pointer-events:none}.pause-label small{font:12px Trebuchet MS;display:block;letter-spacing:1px;color:#a5b8a3;margin-top:13px}.aim-label{position:absolute;top:110px;left:520px;right:520px;background:#193338ee;border:1px solid #c0ad76;padding:12px;text-align:center;color:#e2cca0;font-size:12px;pointer-events:none}.pause-menu{display:flex;flex-direction:column;gap:18px;padding-top:20px}.boss-bar{position:absolute;top:111px;left:520px;right:520px;text-align:center;background:#142c30e8;border:1px solid #9c8a69;padding:10px 20px}.boss-bar strong{font:17px Georgia;color:#e3bf95}.boss-bar>div{height:7px;background:#233737;border:1px solid #6c6e5a;margin:9px 0 6px}.boss-bar i{display:block;height:100%;background:#bc805f;transition:width .2s}.boss-bar small{font-size:9px;color:#c1b395}.result{text-align:center;padding:20px 10px}.result-icon{margin:auto auto 20px;color:#d7b978}.result-icon svg{width:65px;height:75px}.result>.eyebrow{font-size:9px}.result h2{font-size:47px;margin:20px 0}.result p{font:16px Georgia;color:#b2bfa9;line-height:1.8}.result-stars{font-size:42px;letter-spacing:10px;color:#e4c37c;margin:18px 0}.result-stars span{color:#4e665c}.result-stats{display:flex;justify-content:center;gap:35px;font-size:11px;color:#95ad97;margin:30px 0}.result-stats b{display:block;font:25px Georgia;color:#c9c49e;margin-bottom:8px}.result>.primary{display:flex;width:100%;margin-top:20px}.result>.text-button{margin-top:10px}.defeat .result-icon{color:#bb917e}#toast{position:absolute;z-index:50;bottom:156px;left:50%;transform:translate(-50%,15px);max-width:700px;pointer-events:none;padding:15px 25px;background:#132d33f2;border:1px solid #b2a477;font-size:14px;line-height:1.6;text-align:center;color:#e0d1a8;opacity:0;transition:opacity .2s,transform .2s;box-shadow:0 5px 20px #0004}#toast.visible{opacity:1;transform:translate(-50%)}@keyframes notice{0%{opacity:0;transform:translateY(-12px)}10%,65%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(5px)}}button,#field{touch-action:manipulation}.orientation{display:none}.stage.compact{width:100vw;height:100dvh;top:0;left:0;transform:none}.compact button{min-height:44px}.compact .icon-button{width:44px;height:44px;min-width:44px;padding:10px}.compact .eyebrow{font-size:10px;letter-spacing:1.4px}.compact h2{font-size:26px}.compact .veil{padding:12px;backdrop-filter:blur(3px)}.compact .modal,.compact .modal.wide{width:min(900px,100%);max-height:calc(100dvh - 24px);padding:20px;overscroll-behavior:contain}.compact .modal-head{margin-bottom:12px;gap:12px}.compact .intro{font-size:14px;margin-bottom:15px}.compact .prep-grid{grid-template-columns:minmax(240px,.8fr) minmax(310px,1.2fr);gap:18px}.compact .hero-card{padding:6px;min-height:145px;min-width:0}.compact .hero-card img{height:65px;width:70px}.compact .hero-card span{font-size:11px}.compact .hero-description{font-size:13px}.compact .arsenal-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.compact .prep-grid>section{min-width:0}.compact .tower-card{padding:8px 20px 8px 36px;min-height:64px;height:auto;display:block;text-align:left;min-width:0}.compact .tower-card strong{font-size:13px}.compact .tower-card span:not(.tower-emblem){font-size:11px;display:block;margin-top:3px}.compact .tower-emblem{position:absolute;left:5px;top:9px;width:25px;height:30px}.compact .tower-emblem svg{width:24px}.compact .prep-bottom{flex-wrap:wrap;gap:14px;padding-top:14px}.compact .prep-bottom .primary{margin-left:auto}.compact .segmented button{font-size:12px;padding:8px 10px}.compact .catalog{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.compact .catalog-card{padding:10px;gap:7px}.compact .catalog-card img{width:65px;height:80px}.compact .catalog-card p{font-size:13px}.compact .upgrade-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.compact .upgrade-node{padding:8px;font-size:13px}.compact .help-grid{grid-template-columns:repeat(2,1fr);gap:16px}.compact .keybar{display:none}.compact .title-copy{left:7%;top:24px;width:410px}.compact .title-copy>.eyebrow{display:none}.compact .title-copy h1{font-size:64px;line-height:.95;margin:0 0 8px}.compact .title-copy p{font-size:14px;line-height:1.4;margin:8px 0}.compact .title-copy .brand-mark{display:none}.compact .title-divider{margin:8px 0;font-size:10px}.compact .title-cta{font-size:12px;padding:12px 18px;margin-top:8px;height:48px;min-width:340px}.compact .title-copy>.text-button{margin-top:0;padding:10px 0}.compact .title-bottom{bottom:12px;padding:0 22px;font-size:9px}.compact .top-corner{top:12px;right:15px;gap:8px}.compact .campaign-head{padding:8px 16px;height:65px}.compact .campaign-head h2{font-size:22px}.compact .campaign-progress{gap:8px}.compact .campaign-progress .progress-line{width:70px}.compact .map-label,.compact .lore-note{display:none}.compact .map-nodes{position:absolute;inset:78px 20px 74px;display:grid;grid-template-columns:repeat(4,1fr);gap:12px;align-content:center}.compact .map-hit{position:static;width:auto;height:66px;border-radius:3px;border:1px solid #b6a071;background:#193133ef;display:flex;align-items:center;gap:10px;padding:10px;text-align:left}.map-hit .map-card-label{display:none}.compact .map-hit .map-card-label{display:flex;gap:10px;align-items:center;font:13px Georgia;line-height:1.3}.map-card-label b{font:24px Georgia;color:#e0c588}.compact .map-hit.locked{filter:saturate(.3);color:#a4aaa1;border-color:#596d63;background:#1b2a2eea}.compact .campaign-footer{height:62px;padding:6px 16px;justify-content:center}.compact .campaign-footer nav{gap:8px}.compact .nav-button{height:44px;font-size:14px;padding:0 12px;gap:8px}.compact .battle-hud{height:50px;padding:3px 10px;gap:10px}.compact .resource{gap:6px;margin:0;min-width:65px;padding:0}.compact .resource strong{font-size:22px}.compact .resource svg{width:22px;height:22px}.compact .resource small,.compact .battle-title .eyebrow{display:none}.compact .battle-title{margin:0;padding:0 10px;border:0}.compact .battle-title>strong{font-size:15px;margin:0}.compact .wave-count{gap:6px}.compact .wave-count svg{width:22px}.compact .wave-count small{display:none}.compact .wave-count strong{font-size:18px;white-space:nowrap}.compact .battle-controls{gap:4px;margin-left:5px}.compact .battle-bottom{height:62px;padding:4px 8px;gap:0;background:#132b30f5;border-top:1px solid #8d805f;align-items:center}.compact .command-bar{width:auto;gap:8px;align-items:center}.compact .hero-command{width:128px;height:50px}.compact .hero-command img{width:48px;height:52px}.compact .hero-command strong{font-size:15px}.compact .hero-command small{font-size:9px;width:80px;margin-top:4px;white-space:nowrap}.compact kbd{display:none}.compact .power-button{width:55px;height:50px;padding:3px 8px 16px}.compact .power-button svg{width:26px;height:26px}.compact .power-button small{font-size:10px;bottom:3px}.compact .power-row{gap:6px}.compact .power-cooldown:not(:empty){font-size:16px;inset:0 0 14px}.compact .context-panel{display:none}.compact.inspecting .context-panel{display:block;position:fixed;right:7px;top:53px;bottom:64px;width:246px;min-height:0;padding:4px 8px;overflow:auto;background:#173034fa}.compact .context-heading{margin:0;height:34px}.compact .context-heading .eyebrow{display:none}.compact .context-heading strong{font-size:14px}.compact .context-heading .icon-button{height:36px;min-height:36px;width:44px}.compact .build-options{display:grid;gap:3px}.compact .build-option{height:44px;min-height:44px;padding:4px 8px;gap:10px}.compact .build-option>strong{max-width:120px;font-size:12px}.compact .build-option>small{font-size:12px;right:8px;bottom:14px}.compact .build-option>span{width:25px}.compact .tooltip{display:none!important}.compact .tower-info{gap:5px;align-items:flex-start}.compact .tower-info>div{display:block}.compact .tower-info strong{font-size:16px}.compact .tower-info small{font-size:12px;line-height:1.6;display:block}.compact .tower-info .eyebrow{font-size:10px}.compact .tower-info-icon{display:none}.compact .tower-actions{flex-wrap:wrap;gap:6px;margin-top:10px}.compact .gold-button,.compact .mini-button{font-size:12px;min-height:44px;padding:8px 10px}.compact .gold-button{width:100%;justify-content:space-between}.compact .skill-buttons{display:grid;gap:4px;flex-basis:100%}.compact .skill-button{min-height:44px;font-size:12px}.compact .skill-button small{font-size:11px}.compact .wave-control{right:10px;bottom:7px;gap:4px;z-index:2}.compact .wave-button{font-size:10px;letter-spacing:.2px;padding:8px;height:46px;max-width:205px}.compact #wave-preview{position:absolute;bottom:64px;right:0;width:220px;padding:8px;pointer-events:none}.compact #wave-preview small{font-size:10px;letter-spacing:.5px}.compact #wave-preview span{font-size:12px;margin-top:4px}.compact.inspecting #wave-preview{display:none}.compact .tutorial-note{top:64px;left:16px;width:260px;padding:14px}.compact .tutorial-note>strong{font-size:20px;margin:8px 0}.compact .tutorial-note .text-button{font-size:14px}.compact .aim-label{top:55px;left:50%;right:auto;transform:translate(-50%);width:280px;padding:7px;font-size:12px}.compact .pause-label{top:40%;left:50%;width:280px;transform:translate(-50%);font-size:20px;letter-spacing:1px;padding:14px}.compact .boss-bar{top:55px;left:34%;right:34%;padding:5px 10px}.compact .boss-bar strong{font-size:12px}.compact .boss-bar>div{margin:4px 0}.compact .boss-bar small{display:none}.compact .battle-notice{top:105px;left:25%;right:25%;font-size:18px}.compact #toast{bottom:80px;max-width:90%;width:max-content;font-size:13px;padding:10px 15px}.compact .result{padding:8px}.compact .result h2{font-size:32px;margin:12px 0}.compact .result-icon{margin-bottom:8px}.compact .result-icon svg{width:40px;height:45px}.compact .result-stars{font-size:30px;margin:10px}.compact .result-stats{margin:15px 0}.result-icon{animation:kindle .7s ease-out both}.result-stars{animation:kindle .9s .15s ease-out both}.defeat{animation:kindle .7s ease-out both}.battle-hud.leaking{animation:hurt .65s ease-out}@keyframes kindle{0%{opacity:0;transform:translateY(16px) scale(.92)}to{opacity:1;transform:none}}@keyframes hurt{0%,35%{background:#704239}to{background:#162e31}}@media(max-width:600px)and (orientation:portrait){.orientation{display:flex;position:fixed;inset:0;z-index:100;background:radial-gradient(ellipse at 50% 35%,#344c43,#10252b 70%);align-items:center;justify-content:center;flex-direction:column;text-align:center;padding:36px;gap:22px}.orientation .turn-device{font-size:72px;color:#d3b47a}.orientation h2{font:32px Georgia;color:#e4cf9f}.orientation p{font-size:16px;line-height:1.7;color:#bdc8b4}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}}
