@import url('https://fonts.googleapis.com/css2?family=Barlow+Condensed:wght@500;600;700&family=DM+Sans:wght@400;500;600;700&display=swap');
:root{color-scheme:dark;--bg:#131715;--line:#333b31;--text:#e8ebdc;--muted:#899181;--lime:#d6ee8a;--blue:#69b5f0;--red:#f16e5e}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font:13px 'DM Sans',sans-serif}button,select{font:inherit;color:inherit;cursor:pointer}button{border:1px solid var(--line);background:transparent;border-radius:4px;padding:10px 13px}button:hover{background:#313a2a;border-color:#84936a}button:focus-visible,select:focus-visible,canvas:focus-visible{outline:2px solid var(--lime);outline-offset:3px}header{height:82px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 36px}.brand{color:var(--text);text-decoration:none;font-weight:700;font-size:17px;letter-spacing:1.5px;display:flex;align-items:center;gap:12px}.brand b{font-size:36px;color:var(--lime);transform:rotate(-20deg)}.brand small{border-left:1px solid var(--line);padding-left:18px;margin-left:8px;font-size:10px;font-weight:500;color:var(--muted);letter-spacing:2px}header>div{display:flex;gap:12px;align-items:center}.live{font-size:9px;letter-spacing:1.5px;color:var(--lime);margin-right:20px}main{display:grid;grid-template-columns:280px 1fr;gap:32px;padding:32px 36px 24px;max-width:1800px;margin:auto}aside{border-right:1px solid var(--line);padding-right:28px}.eyebrow{font-size:9px;letter-spacing:2px;color:var(--muted)}h1{font:600 61px/.96 'Barlow Condensed',Impact,sans-serif;letter-spacing:-1px;margin:20px 0 14px}.intro{color:var(--muted);line-height:1.7;margin-bottom:28px}.section-label{display:flex;justify-content:space-between;font-size:9px;letter-spacing:1.3px;margin:24px 0 12px}.section-label span{color:var(--muted);letter-spacing:.5px}select{width:100%;background:#232a21;border:1px solid var(--line);border-radius:4px;padding:12px;font-size:12px}#brief{font-size:11px;color:var(--muted);line-height:1.65}.budget-track{height:3px;background:#343d2d;margin-bottom:14px}.budget-track i{display:block;height:100%;background:var(--lime);transition:width .2s}.unit-card{width:100%;display:grid;grid-template-columns:35px 1fr auto;align-items:center;gap:9px;text-align:left;margin:7px 0;padding:11px 10px;background:#1b211c}.unit-card.active{border-color:var(--lime);background:#2a3324;box-shadow:inset 3px 0 var(--lime)}.glyph{font-size:24px;color:var(--blue);text-align:center}.unit-card strong{display:block;font-size:12px}.unit-card small{font-size:9px;color:var(--muted);display:block;margin-top:4px}.cost{font-size:11px;color:var(--lime)}.tip{display:flex;gap:10px;margin-top:18px;color:var(--muted);font-size:10px;line-height:1.6}.tip p{margin:0}.aside-bottom{display:flex;gap:6px;margin-top:18px}.aside-bottom button{font-size:10px;padding:10px}.arena{min-width:0;display:flex;flex-direction:column}.arena-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:22px}h2{font:600 27px 'Barlow Condensed',Impact,sans-serif;letter-spacing:.4px;margin:7px 0 0}h2 span{font:9px 'DM Sans',sans-serif;letter-spacing:1px;color:var(--muted);margin-left:10px}.view-switch{display:flex;border:1px solid var(--line);border-radius:4px;padding:3px;gap:2px}.view-switch button{font-size:9px;border:0;padding:8px 12px}.active{color:var(--lime)!important;background:#303a27!important}.field-wrap{position:relative;flex:1;min-height:440px;max-height:680px;border:1px solid #46503b;border-radius:5px;overflow:hidden;background:#282f25}canvas{display:block;width:100%;height:100%;position:absolute;inset:0;touch-action:none}.field-label{position:absolute;left:50%;transform:translateX(-50%);font-size:8px;letter-spacing:2px;pointer-events:none;white-space:nowrap}.enemy{top:20px;color:#c18174}.friendly{bottom:20px;color:#91b9c6}.map-corner{position:absolute;right:20px;top:18px;text-align:center;color:#9fa68c;font-size:12px;line-height:1.7}#phase{position:absolute;bottom:20px;left:20px;color:var(--lime);font-size:8px;letter-spacing:1.5px;pointer-events:none}.army-status{display:flex;justify-content:space-between;align-items:center;padding:19px 0;border-bottom:1px solid var(--line)}.army-status>div{display:flex;align-items:center;gap:10px}.dot{display:inline-block;width:6px;height:6px;border-radius:50%}.blue{background:var(--blue)}.red{background:var(--red)}.army-status span{font-size:9px;letter-spacing:1px;color:var(--muted)}.army-status strong{font:500 27px 'Barlow Condensed',sans-serif}.army-status .versus{display:flex;flex-direction:column;gap:4px}.versus span{font:18px monospace;color:var(--text)}.versus small{font-size:7px;letter-spacing:1px;color:var(--muted)}.command-bar{display:flex;align-items:center;gap:12px;padding-top:20px}.speed{display:flex;align-items:center;gap:4px;margin-right:auto}.speed>span{font-size:8px;letter-spacing:1px;color:var(--muted);margin-right:10px}.speed button{font-size:10px;padding:8px;border:0}.launch{background:var(--lime);color:#22291b;border:0;font-weight:700;min-width:185px;padding:16px 18px;display:flex;justify-content:space-between}.launch:hover{background:#e5ff9d}footer{border-top:1px solid var(--line);display:flex;justify-content:space-between;gap:12px;padding:19px 36px;font-size:8px;letter-spacing:1px;color:var(--muted)}footer b{color:#4a5543;margin:0 6px}#overlay{position:absolute;inset:0;background:#141a14d9;backdrop-filter:blur(7px);display:flex;align-items:center;justify-content:center;flex-direction:column;text-align:center;z-index:3}#overlay[hidden]{display:none}#overlay h2{font-size:65px;color:var(--lime)}#overlay p{color:var(--muted);margin-bottom:25px}#overlay button{background:var(--lime);color:#22291b}dialog{max-width:500px;background:#1b201c;color:var(--text);border:1px solid var(--line);border-radius:8px;padding:35px;line-height:1.8}dialog::backdrop{background:#000b}dialog h2{font-size:36px}#closeHelp{float:right;border:0}@media(min-height:900px){.field-wrap{min-height:590px}}@media(max-width:1000px){main{gap:20px;padding:25px 20px;grid-template-columns:225px 1fr}aside{padding-right:18px}header{padding:0 20px}.brand small,.live{display:none}.speed>span{display:none}.launch{min-width:150px}h1{font-size:52px}.army-status>div{gap:6px}.army-status span{font-size:7px}footer>span:last-child{display:none}}@media(max-width:700px){header{height:65px;padding:0 15px}.brand{font-size:13px}header button{font-size:10px;padding:8px}main{display:flex;flex-direction:column;padding:20px 15px}aside{border:0;padding:0;display:contents}aside>.eyebrow,h1,.intro,#brief,.tip,.aside-bottom,.section-label,.budget-track{display:none}#cards{display:flex;gap:5px}.unit-card{display:flex;flex-direction:column;gap:5px;padding:8px 3px;flex:1}.glyph{font-size:21px}.unit-card strong{font-size:9px}.unit-card small{display:none}.cost{font-size:9px}.arena-top{margin-bottom:15px}h2{font-size:23px}h2 span{display:none}.field-wrap{min-height:440px}.command-bar{gap:5px}.launch{min-width:140px;padding:14px 10px}footer{padding:15px;font-size:7px}footer>span:nth-child(2){display:none}}

.deployment-tools{display:flex;align-items:center;gap:16px;padding:13px 0;border-bottom:1px solid var(--line)}.deployment-tools label{font-size:8px;letter-spacing:1px;color:var(--muted);white-space:nowrap}.deployment-tools strong{color:var(--text);margin-left:10px;font-size:11px}.deployment-tools input{width:110px;accent-color:var(--lime);cursor:pointer}.deployment-tools button{font-size:10px;padding:7px 12px}.deployment-tools>span{font-size:8px;color:var(--muted);letter-spacing:1px;margin-left:auto}.unit-card.empty{opacity:.45}button:disabled{opacity:.35;cursor:default}.unit-card{padding-top:9px;padding-bottom:9px}.glyph{font-size:21px}canvas{cursor:crosshair}@media(max-width:1000px){.deployment-tools>span{display:none}}@media(max-width:700px){#cards{flex-wrap:wrap}.unit-card{min-width:12%;gap:3px}.unit-card strong{font-size:8px}.deployment-tools{gap:9px}.deployment-tools input{width:90px}}

.unit-toolbar{display:flex;gap:6px;padding-top:10px}.unit-toolbar .unit-card{flex:1;min-width:0;display:grid;grid-template-columns:25px 1fr;gap:2px 6px;margin:0;padding:8px}.unit-toolbar .unit-card .glyph{grid-row:span 2}.unit-toolbar .unit-card strong{font-size:10px}.unit-toolbar .unit-card small{display:none}.unit-toolbar .unit-card .cost{font-size:11px}.field-wrap{min-height:clamp(300px,calc(100vh - 410px),600px);max-height:600px}.arena-top{margin-bottom:15px}.army-status{padding:12px 0}.command-bar{padding-top:12px}main{padding-top:24px;padding-bottom:20px}h1{font-size:55px}.intro{margin-bottom:20px}.deployment-tools{padding:9px 0}aside .tip{font-size:11px;margin-top:24px}@media(max-width:1000px){.unit-toolbar .unit-card{display:flex;flex-direction:column;padding:6px 3px}.unit-toolbar .unit-card strong{font-size:8px}.unit-toolbar .unit-card .glyph{font-size:18px}}@media(max-width:700px){.field-wrap{min-height:350px}.unit-toolbar{flex-wrap:nowrap!important}.unit-toolbar .unit-card{min-width:0!important}h1{display:none}}
.wallet{color:#e7ca77;font-size:15px;white-space:nowrap}.wallet small{font-size:8px;letter-spacing:1px;margin-left:5px}.campaign-actions{display:flex;gap:7px;margin:12px 0}.campaign-actions button{font-size:11px;padding:10px;flex:1}.campaign-actions button:last-child{color:var(--lime);border-color:#748653}.reward-hint{font-size:10px;color:#e7ca77;margin:10px 0}.save-state{font-size:7px;letter-spacing:1px;color:var(--muted);margin-top:24px}.campaign-dialog{width:min(1050px,94vw);max-width:1050px;max-height:90vh;padding:30px;overflow-y:auto}.dialog-top{display:flex;align-items:center;justify-content:space-between;gap:15px}.dialog-top>div:last-child{display:flex;align-items:center;gap:20px}.dialog-top h2{font-size:38px}.dialog-top button{border:0}.dialog-intro{color:var(--muted);font-size:12px;max-width:680px;margin-bottom:24px}.tree-lane h3{font-size:9px;letter-spacing:2px;color:var(--muted);margin:0 0 14px}#tree{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.tree-lane.foundation,.tree-lane.mastery{grid-column:1/-1;max-width:420px;width:100%;justify-self:center}.upgrade-node{border:1px solid #53633f;background:#252e21;border-radius:7px;padding:17px;position:relative;display:flex;flex-direction:column;margin-bottom:25px;min-height:220px}.upgrade-node:after{content:'↓';position:absolute;left:50%;bottom:-26px;color:#8ba063;font-size:18px}.tree-lane.mastery .upgrade-node:after{content:none}.upgrade-node .node-icon{color:var(--lime);font-size:27px}.upgrade-node strong{font-size:14px;margin:6px 0}.upgrade-node p{font-size:11px;line-height:1.6;color:#bcc5b0;margin:5px 0 10px}.upgrade-node small{font-size:9px;line-height:1.5;color:var(--muted);margin-bottom:13px}.upgrade-node button{margin-top:auto;font-size:11px;color:var(--lime);background:#303d27}.upgrade-node.purchased{border-color:var(--lime);background:#2e3924}.upgrade-node.locked{background:#1c221b;border-color:var(--line)}.upgrade-node.locked .node-icon{color:#687060}.upgrade-node.locked button{color:var(--muted)}.tree-lane.foundation .upgrade-node,.tree-lane.mastery .upgrade-node{min-height:0}#levelGrid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.level-card{display:flex;flex-direction:column;text-align:left;gap:8px;padding:17px;background:#252d22;min-height:170px}.level-number{font:32px 'Barlow Condensed',sans-serif;color:var(--lime)}.level-card strong{font-size:14px}.level-card small{font-size:10px;color:var(--muted)}.level-footer{display:flex;justify-content:space-between;gap:8px;font-size:8px;color:var(--muted);margin-top:auto}.level-footer b{color:#e7ca77;white-space:nowrap}.level-card.current{border-color:var(--lime)}.level-card.locked{opacity:.5}.battle-reward{color:#e7ca77!important;font-weight:700;font-size:16px}.report-actions{display:flex;gap:10px;flex-wrap:wrap;justify-content:center}#overlay .report-actions button{font-size:11px;padding:12px}#overlay #reportTree{background:#303d27;color:var(--lime)}#overlay #report{max-width:85%}#overlay h2{font-size:48px}aside h1{font-size:48px}aside .intro{margin-bottom:15px}aside .section-label{margin-top:18px}@media(max-width:700px){.wallet{font-size:12px}.wallet small{display:none}.campaign-actions{margin:0}.save-state,.reward-hint{display:none}.campaign-dialog{padding:20px}#tree{gap:10px}.upgrade-node{padding:10px;min-height:265px}.upgrade-node strong{font-size:11px}.upgrade-node p{font-size:10px}.upgrade-node button{padding:7px 4px;font-size:9px}#levelGrid{grid-template-columns:repeat(2,1fr)}.dialog-top h2{font-size:28px}.dialog-top>div:last-child{gap:5px}#overlay h2{font-size:36px}.report-actions{gap:5px}}
.team-picker{display:flex;gap:7px;margin:15px 0 10px}.team-picker button{flex:1;font-size:11px;padding:10px 6px}.team-picker button:first-child{color:var(--blue)}.team-picker button:last-child{color:var(--red)}.red-team .unit-card .glyph{color:var(--red)}#loadPreset{width:100%;font-size:11px}.aside-bottom{flex-wrap:wrap}.aside-bottom button{flex:1;white-space:nowrap}.wallet{font-size:11px}.save-state{margin-top:15px}aside h1{font-size:42px}aside .intro{margin:10px 0}aside .tip{margin-top:15px}.campaign-actions{margin:9px 0}.section-label{margin:15px 0 9px}.reward-hint{margin:8px 0}@media(max-width:700px){.team-picker{margin:0}.team-picker button{padding:10px}.wallet{font-size:9px}#loadPreset{width:auto}}

.unit-toolbar{display:grid;grid-template-columns:repeat(7,minmax(0,1fr))}.unit-toolbar .unit-card{display:flex;align-items:center;justify-content:center;flex-direction:column;padding:7px 3px;gap:3px}.unit-toolbar .unit-card strong{font-size:9px}.unit-toolbar .unit-card .glyph{font-size:18px}.unit-toolbar .unit-card .cost{font-size:10px}.unit-toolbar .unit-card[data-unit="7"] .glyph{color:#ffc078}.unit-toolbar .unit-card[data-unit="8"] .glyph{color:#f1ecc2}@media(max-width:700px){.unit-toolbar{display:grid!important;grid-template-columns:repeat(5,minmax(0,1fr))}.unit-toolbar .unit-card{padding:7px 3px}.unit-toolbar .unit-card strong{font-size:10px}}

.unit-toolbar .unit-card[data-unit="9"] .glyph{color:#f1f3e8}.unit-toolbar .unit-card[data-unit="9"] strong{font-size:8px}

.unit-toolbar .unit-card[data-unit="10"] .glyph{color:#c6a0ff}

.battle-input{display:flex;align-items:center;gap:8px;margin-top:10px}.battle-input button{font-size:10px;padding:8px 10px}.battle-input>span{font-size:8px;letter-spacing:1px;color:var(--muted);margin-left:auto}@media(max-width:1000px){.battle-input>span{display:none}}

.unit-toolbar .unit-card[data-unit="11"] .glyph{color:#b5dfba}.unit-toolbar .unit-card[data-unit="11"] strong{font-size:8px}

.unit-toolbar .unit-card[data-unit="12"] .glyph{color:#d6c49b}.unit-toolbar .unit-card[data-unit="13"] .glyph{color:#adcbbf}.unit-toolbar .unit-card[data-unit="13"] strong{font-size:8px}

.unit-tabs{display:flex;gap:6px;align-items:center;margin-top:10px}.unit-tabs button{font-size:11px;padding:8px 13px}.unit-tabs button:last-child{margin-left:auto;color:var(--muted)}.unit-card[hidden]{display:none!important}.unit-toolbar .unit-card[data-unit="14"] .glyph,.unit-toolbar .unit-card[data-unit="15"] .glyph{color:#c5c5ad}.unit-toolbar .unit-card[data-unit="16"] .glyph{color:#83c2d5}.unit-toolbar .unit-card[data-unit="17"] .glyph{color:#bb9b72}.unit-toolbar .unit-card[data-unit="18"] .glyph{color:#d8d6a8}@media(max-width:700px){.battle-input{flex-wrap:wrap}.battle-input button{padding:8px;font-size:10px}.unit-tabs button{font-size:10px}}

#toyPanel{margin-top:10px;border:1px solid #6a6040;border-radius:6px;padding:14px;background:#26291e}#toyPanel[hidden]{display:none}.toy-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px}.toy-grid button{display:flex;flex-direction:column;align-items:center;gap:6px;font-size:10px;padding:12px 5px;background:#1b211c}.toy-grid b{font-size:25px;color:#e6cc8b;font-weight:500}.toy-grid button:nth-child(2) b{color:#d2afff}.toy-grid button:nth-child(3) b{color:#9af3ac}.toy-grid button:nth-child(4) b{color:#88dfff}.toy-grid small{font-size:8px;color:var(--muted)}#toyDescription{font-size:11px;line-height:1.6;color:var(--text);margin:13px 0 7px}.toy-note{font-size:8px;color:var(--muted);letter-spacing:.3px}@media(max-width:700px){.toy-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.toy-grid button{font-size:10px}.toy-grid small{font-size:8px}}

@media(min-width:701px){.toy-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
