@font-face{font-family:Kingdom;src:local('Georgia')}*{box-sizing:border-box} :root{color-scheme:dark;--bg:#101919;--panel:#182321;--ink:#eceddc;--muted:#9eaea0;--gold:#e1bb70;--line:#354238;--green:#aac999;--red:#e3a294;--serif:Kingdom,Georgia,serif;font-family:'Segoe UI',sans-serif;color:var(--ink);background:var(--bg)}body{margin:0;background:radial-gradient(ellipse at 50% 10%,#2a3a2c66,transparent 70%),#101919}button,input,select{font:inherit}button{cursor:pointer;color:inherit}button:disabled{opacity:.42;cursor:not-allowed}button:hover:not(:disabled){filter:brightness(1.14)}button:focus-visible,a:focus-visible,select:focus-visible,canvas:focus-visible{outline:2px solid var(--gold);outline-offset:4px}.hidden{display:none!important}.topbar{min-height:80px;padding:16px 30px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:16px}.brand{background:none;border:0;text-align:left;display:flex;align-items:center;gap:13px;font:11px var(--serif);letter-spacing:2px}.brand small{display:block;font-size:20px;letter-spacing:3px;margin-top:4px}.brand-mark{font:42px var(--serif);color:var(--gold)}.edition{font-size:9px;letter-spacing:3px;color:#9ba58e}.top-actions{display:flex;align-items:center;gap:18px}.local-badge{font-size:8px;letter-spacing:1.5px;border:1px solid #537257;color:#afcfa7;padding:6px 9px}.quiet,.text-button{background:none;border:0;color:var(--muted);font-size:11px;padding:10px 0}.icon-button{border:1px solid var(--line);border-radius:50%;width:28px;height:28px;background:transparent;color:var(--gold)}main{max-width:1660px;margin:auto;padding:0 24px}h1,h2,h3,p{margin-top:0}h1,h2,h3{font-family:var(--serif);font-weight:400}h2{font-size:23px;line-height:1.3}p{color:var(--muted);font-size:12px;line-height:1.75}.resource-bar{display:flex;align-items:center;gap:40px;padding:21px 0;border-bottom:1px solid var(--line);margin-bottom:20px}.resource{display:flex;align-items:center;gap:13px}.resource>span:first-child{font-size:24px;color:var(--gold)}.resource strong{font-size:23px;font-weight:550;line-height:1}.resource small{font-size:8px;letter-spacing:1.7px;display:block;margin-top:8px;color:var(--muted)}em{font-style:normal;font-size:13px;color:var(--muted)}.gold strong,.income{color:var(--gold)}.income{font-size:10px;border-left:1px solid var(--line);padding:6px 14px}.vitality>span:first-child{color:#c49780}progress{width:80px;height:5px;accent-color:#94bc88;background:#343d31;border:0}progress::-webkit-progress-bar{background:#343d31}progress::-webkit-progress-value{background:#94bc88}.army>span:first-child{color:#aacaad}.wave-resource{margin-left:auto;text-align:right}.wave-resource small{display:block;color:var(--muted);font-size:8px;letter-spacing:2px;margin-bottom:6px}.wave-resource strong{font-size:18px;letter-spacing:2px;font-weight:500}.wave-resource strong span{color:var(--gold)}.game-layout{display:grid;grid-template-columns:205px minmax(0,1fr) 205px;gap:19px}.left-panel,.right-panel{padding:15px 0}.panel-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.eyebrow{font-size:8px;letter-spacing:2px;font-weight:650;color:var(--gold);display:block}.tiny{font-size:8px;letter-spacing:1px;color:var(--muted)}.wave-track{display:grid;grid-template-columns:repeat(6,1fr);gap:8px;margin:18px 0 24px}.wave-node{width:23px;height:23px;background:#23322a;border:1px solid #4c5b44;transform:rotate(45deg);display:flex;align-items:center;justify-content:center}.wave-node span{transform:rotate(-45deg);font-size:9px;color:#8b9b89}.wave-node.current{border:2px solid var(--gold);background:#6b6135;box-shadow:0 0 15px #c8b25b22}.wave-node.current span{color:#ffeead}.wave-node.complete{background:#47674a}.wave-node.boss{border-color:#a17c67}.enemy-preview{display:flex;gap:8px;align-items:center;margin-left:-12px}.enemy-preview canvas{width:72px;height:72px;image-rendering:pixelated}.enemy-preview strong{font-size:12px;font-weight:500}.enemy-preview small{display:block;color:var(--muted);font-size:10px;margin-top:5px}.event-box{display:flex;gap:10px;padding:14px 12px;background:#24322780;border:1px solid var(--line);margin-top:12px}.event-box>span{color:var(--gold);font-size:22px}.event-box b{font-size:10px;font-weight:500;color:#c0cead}.event-box p{font-size:10px;margin:4px 0 0;line-height:1.5}.divider{height:1px;background:var(--line);margin:20px 0}.objective{font-size:11px;margin:12px 0}.objective b{font-weight:400;color:#d1dabd}.world-wrap{position:relative;border:1px solid #50614a;background:#223b31;min-width:0;overflow:hidden;box-shadow:0 12px 40px #0004;align-self:stretch;display:flex;flex-direction:column;justify-content:center}.world-heading{position:absolute;top:17px;left:20px;right:20px;z-index:1;display:flex;align-items:center;gap:8px;font-size:8px;letter-spacing:2px;color:#d0dec2;pointer-events:none}.region-dot{width:5px;height:5px;background:#bddca2;transform:rotate(45deg)}#phase-label{margin-left:auto;color:#d6bc79;font-size:8px}.world-wrap>canvas{width:100%;height:auto;aspect-ratio:1200/720;display:block;image-rendering:pixelated;touch-action:manipulation}.world-tip{position:absolute;left:12px;right:12px;bottom:41px;text-align:center;font-size:10px;color:#e3e4c9;text-shadow:0 2px 4px #000;background:#10251dbb;padding:9px;pointer-events:none}.world-bottom{position:absolute;bottom:0;left:0;right:0;display:flex;justify-content:space-between;gap:10px;padding:12px 14px;border-top:1px solid #5a775044;background:#13251fc9;font-size:7px;letter-spacing:1.3px;color:#b2c6a0}.right-panel>canvas{display:block;width:125px;height:108px;margin:-8px auto 6px;image-rendering:pixelated}.right-panel h2{font-size:19px;margin-bottom:10px}.right-panel>p{font-size:11px;min-height:50px}.subtle{padding:11px 12px;border:1px solid #4c5a40;background:#253329;color:#dbe4c6;font-size:10px;border-radius:3px}.subtle span{color:var(--gold)}.wide{width:100%;margin-top:9px}.synergies{margin-top:10px}.synergy{padding:8px 0;border-bottom:1px solid #33422d66;font-size:10px;color:#abc997;line-height:1.5}.synergy span{display:block;font-size:9px;color:var(--muted)}.synergies p{font-size:10px}.boon-list{display:flex;gap:5px;flex-wrap:wrap;margin-top:12px}.boon{font-size:8px;border:1px solid #50634c;color:#c3d6b8;padding:5px;border-radius:3px}.boon.pact{color:#e5b39c;border-color:#805c48}.draft-section{padding:23px 0 12px}.draft-heading{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:15px}.draft-heading h2{font-size:24px;margin:7px 0 0}.draft-heading .text-button span{color:var(--gold);margin-left:12px}.draft-layout{display:grid;grid-template-columns:minmax(0,1fr) 210px;gap:22px}.cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:13px}.card{position:relative;display:grid;grid-template-columns:100px minmax(0,1fr);align-items:center;gap:8px;text-align:left;padding:17px 13px;background:linear-gradient(130deg,#2c3e32,#1b2923);border:1px solid #5c6c4c;border-top:3px solid #aac386;border-radius:4px;transition:transform .16s,box-shadow .16s;min-height:190px}.card.rare{border-color:#537777;border-top-color:#90cac3;background:linear-gradient(130deg,#2b4140,#192c2b)}.card.epic{border-color:#7d667d;border-top-color:#c7a0c3;background:linear-gradient(130deg,#3e3443,#26232d)}.card.pact{border-color:#946b54;border-top-color:#dfad85;background:linear-gradient(130deg,#493a2b,#2a2820)}.card:hover:not(:disabled){transform:translateY(-5px);box-shadow:0 8px 25px #0004}.card.selected{outline:2px solid #e6cb8e;outline-offset:3px;box-shadow:0 0 35px #ecd09817}.card canvas{width:100%;height:auto;image-rendering:pixelated}.card-tag{font-size:7px;letter-spacing:1.3px;color:#acc698;display:block}.rare .card-tag{color:#a0ccce}.epic .card-tag{color:#d5b5d6}.pact .card-tag{color:#deb28d}.card h3{font-size:17px;margin:8px 0;line-height:1.25;color:#f2eed3}.card p{font-size:10px;line-height:1.6;margin-bottom:15px;color:#b8c4ad}.card-foot{color:var(--gold);font-size:8px;letter-spacing:1px;display:block}.card.chosen{opacity:1;border-color:var(--gold)}.launch-panel{padding:12px 0;align-self:center}.launch-panel>p{font-size:12px;line-height:1.8;margin:0}.launch-panel b{color:var(--ink);font-weight:400}.primary{background:linear-gradient(135deg,#e2c27c,#c7a05c);color:#24291d;border:1px solid #edcd8a;padding:15px 20px;font-size:12px;font-weight:650;border-radius:3px;box-shadow:0 4px 15px #0002}.primary span{margin-left:8px}.micro{font-size:9px!important;line-height:1.7!important;color:#94a58c!important;margin-top:12px!important}.chronicle{display:flex;gap:20px;border-top:1px solid var(--line);padding:16px 0;margin-top:13px;align-items:center}.chronicle>span{font-size:8px;color:var(--gold);letter-spacing:2px}.chronicle p{font-size:10px;margin:0}footer{display:flex;justify-content:space-between;padding:18px 25px;border-top:1px solid #2a372b;color:#7e8e7d;font-size:8px;letter-spacing:1px}.battle-controls{position:absolute;bottom:80px;left:50%;transform:translateX(-50%);display:flex;gap:4px;align-items:center;border:1px solid #617352;background:#17261eeb;padding:6px;white-space:nowrap}.battle-controls button{border:0;background:transparent;color:#b8c9a6;font-size:10px;padding:8px}.battle-controls button.active{background:#586344;color:#f6dc9b}.battle-report{display:flex;align-items:center;justify-content:space-between;padding:25px 0;gap:25px}.battle-report h2{margin:10px 0}.battle-report p{margin:0}.coop-status{font-size:10px;line-height:1.6;color:#b6d7c3;background:#203d3488;padding:10px;margin:12px 0;border:1px solid #466c56}.toast{position:fixed;bottom:25px;left:50%;transform:translateX(-50%);z-index:20;background:#ead098;color:#263024;padding:14px 22px;font-size:12px;border:1px solid #f5db9e;border-radius:4px;box-shadow:0 8px 30px #0007;max-width:90vw}dialog{color:var(--ink);background:#19251f;border:1px solid #6b7552;border-radius:6px;padding:32px;max-width:550px;width:90vw;max-height:90vh;box-shadow:0 30px 120px #0008}dialog::backdrop{background:#07110ece;backdrop-filter:blur(7px)}dialog h2{font-size:30px;margin:12px 0 18px}dialog>p{font-size:13px}dialog .eyebrow{font-size:9px}dialog>canvas{display:block;margin:auto;image-rendering:pixelated}.menu-dialog{max-width:850px;width:94vw;padding:0;overflow:auto;grid-template-columns:1fr 1fr}.menu-dialog[open]{display:grid}.menu-illustration{background:radial-gradient(ellipse at 50% 20%,#496044,#1c3027);padding:30px;text-align:center;border-right:1px solid #526344}.menu-illustration canvas{width:100%;height:auto;image-rendering:pixelated}.menu-illustration h1{font-size:43px;line-height:1.1;margin:15px 0 20px}.menu-illustration h1 em{font-size:inherit;color:var(--gold);font-style:italic}.menu-illustration p{font-size:13px;line-height:1.9}.menu-illustration b{color:#cddbb9;font-weight:400}.menu-content{padding:35px}.menu-content h2{font-size:30px;margin-top:15px}.menu-content p{font-size:12px}.menu-content label{font-size:10px;color:#bfcdb1;display:block;margin:20px 0 10px}select{width:100%;background:#14251d;border:1px solid #4b6247;padding:11px 8px;border-radius:3px;font-size:11px;color:#d7dfc3}.help-step{display:flex;gap:17px;margin-top:20px}.help-step>b{font:italic 28px var(--serif);color:var(--gold)}.help-step h3{font-size:20px;margin-bottom:7px}.help-step p{margin-bottom:5px}.codex-dialog{max-width:900px}.codex-list{display:grid;grid-template-columns:1fr 1fr;gap:10px}.codex-entry{display:flex;align-items:center;gap:15px;border:1px solid #3c4f3c;padding:12px}.codex-entry canvas{width:65px;height:65px;flex-shrink:0;image-rendering:pixelated}.codex-entry h3{font-size:18px;margin:0 0 5px}.codex-entry p{font-size:11px;margin:0}.codex-entry small{font-size:8px;color:var(--gold)}#ending-dialog{text-align:center}
@media(min-width:1500px){.game-layout{grid-template-columns:220px minmax(0,1fr) 220px}.card{grid-template-columns:115px minmax(0,1fr);min-height:205px}.card h3{font-size:20px}.card p{font-size:11px}.world-wrap>canvas{aspect-ratio:1200/620}}
@media(max-width:1150px){.game-layout{grid-template-columns:170px minmax(0,1fr) 170px;gap:14px}.resource-bar{gap:23px}.edition{display:none}.card{grid-template-columns:1fr;padding:12px;gap:0;min-height:240px}.card canvas{width:85px;height:85px;margin:0 auto}.card h3{font-size:17px}.card p{margin-bottom:8px}.card-tag{font-size:7px}.draft-layout{grid-template-columns:minmax(0,1fr) 165px}.world-wrap>canvas{aspect-ratio:1200/850}.wave-node{width:20px;height:20px}.wave-track{gap:7px}.world-bottom{font-size:6px}.income{padding-left:10px}.right-panel h2{font-size:18px}.right-panel>canvas{width:100px;height:87px}.left-panel h2{font-size:21px}}
@media(max-width:850px){main{padding:0 15px}.topbar{padding:12px 16px}.brand small{font-size:17px}.brand{font-size:8px}.brand-mark{font-size:32px}.top-actions{gap:10px}.local-badge{display:none}.resource-bar{gap:15px;flex-wrap:wrap;padding:15px 0}.resource strong{font-size:18px}.resource small{font-size:7px}.resource>span:first-child{font-size:20px}.income{display:none}progress{display:none}.resource{gap:8px}.wave-resource strong{font-size:15px}.game-layout{grid-template-columns:1fr 185px;gap:15px}.left-panel{grid-column:1/-1;display:flex;gap:15px;align-items:center;padding:0}.left-panel .panel-heading,.left-panel .divider,.left-panel>.eyebrow,.left-panel .objective,.left-panel .enemy-preview,.left-panel>.text-button,.left-panel>.subtle,.left-panel .coop-status{display:none}.left-panel h2{font-size:19px;min-width:140px;max-width:180px;margin:0}.wave-track{display:flex;gap:7px;margin:0}.wave-node{width:15px;height:15px}.wave-node span{font-size:7px}.event-box{margin:0;padding:9px;flex:1}.event-box p{font-size:9px}.event-box>span{display:none}.world-wrap>canvas{aspect-ratio:1200/820}.draft-layout{grid-template-columns:1fr}.launch-panel{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:0}.launch-panel .primary{width:auto;margin:0;min-width:200px}.launch-panel .micro{display:none}.draft-section{padding-top:20px}.card{min-height:225px}.card canvas{width:90px;height:90px}.draft-heading h2{font-size:22px}.world-bottom span:first-child{display:none}}
@media(max-width:600px){.brand small{font-size:14px}.topbar{min-height:66px}.quiet{font-size:10px}.resource-bar{gap:14px;margin-bottom:15px}.army{display:none}.resource small{font-size:6px;letter-spacing:1px}.resource strong{font-size:17px}.wave-resource small{font-size:6px}.wave-resource strong{font-size:13px}.game-layout{grid-template-columns:1fr;gap:10px}.left-panel{flex-wrap:wrap;gap:12px}.left-panel h2{font-size:19px;max-width:none;min-width:0;flex:1}.wave-track{gap:6px}.wave-node{width:12px;height:12px}.wave-node span{font-size:6px}.event-box{flex-basis:100%;display:flex;align-items:center;padding:6px 10px}.event-box div{display:flex;gap:8px;align-items:center}.event-box b{font-size:9px}.event-box p{font-size:9px;margin:0}.world-wrap>canvas{aspect-ratio:1200/760}.world-heading{font-size:7px;left:12px;right:12px;top:12px;letter-spacing:1px}.world-tip{font-size:9px;bottom:31px;padding:7px}.world-bottom{padding:9px}.right-panel{display:grid;grid-template-columns:60px 1fr auto;gap:0 10px;padding:10px;border:1px solid var(--line);background:#20302455}.right-panel .panel-heading,.right-panel .divider,.right-panel>.eyebrow,.right-panel .synergies,.right-panel .boon-list{display:none}.right-panel>canvas{grid-row:1/3;width:60px;height:60px;margin:0}.right-panel h2{font-size:16px;margin:0 0 4px}.right-panel>p{font-size:10px;min-height:0;margin:0;grid-column:2/4}.right-panel .subtle{font-size:9px;margin:0;grid-column:3;grid-row:1;padding:6px}.right-panel .text-button{grid-column:1/-1;margin:0;padding:4px}.draft-heading{align-items:flex-start;margin-bottom:12px}.draft-heading h2{font-size:19px;max-width:240px}.draft-heading .text-button{font-size:9px;white-space:nowrap;padding-top:4px}.draft-heading .text-button span{display:block;margin:6px 0 0}.cards{gap:7px}.card{padding:9px 7px;min-height:220px;align-content:start}.card canvas{width:78px;height:78px}.card-tag{font-size:6px;letter-spacing:.6px}.card h3{font-size:15px;margin:6px 0}.card p{font-size:9px;line-height:1.5}.card-foot{font-size:7px;letter-spacing:.4px}.launch-panel>p{font-size:10px}.launch-panel .primary{min-width:170px;padding:14px 10px;font-size:11px}.chronicle{gap:12px}.chronicle p{font-size:9px}.chronicle>span{font-size:7px}.menu-dialog[open]{display:block;max-width:390px}.menu-illustration{padding:15px 20px;border-right:0;border-bottom:1px solid #4e654a}.menu-illustration canvas{display:none}.menu-illustration h1{font-size:32px;margin:10px 0}.menu-illustration p{display:none}.menu-content{padding:25px}.menu-content h2{font-size:27px}.menu-content>p{font-size:11px}.codex-list{grid-template-columns:1fr}dialog{padding:23px}.battle-report{flex-direction:column;align-items:stretch}.battle-report h2{font-size:24px}.battle-controls{bottom:68px}.battle-controls button{padding:6px;font-size:9px}footer{padding:14px 15px;font-size:6px;gap:15px}footer span:first-child{display:none}}
@media(prefers-reduced-motion:reduce){*{transition:none!important}}
.collection-dialog{width:min(1120px,94vw);max-width:1120px}.collection-tabs{display:flex;gap:8px;flex-wrap:wrap;margin:20px 0}.collection-summary{padding:14px;background:#26372c;border-left:3px solid #c6a966}.collection-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(205px,1fr));gap:14px;margin:20px 0}.collection-card{padding:16px;border:1px solid #53634a;background:#172721;border-radius:8px;display:flex;flex-direction:column;align-items:stretch}.collection-card canvas{align-self:center;image-rendering:pixelated}.collection-card p{flex:1;font-size:13px}.collection-card small{color:#cdbb87}.collection-card.rare{border-color:#5a9fbd}.collection-card.epic{border-color:#b895cf}.deck-order{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin:20px 0}.deck-slot{display:flex;align-items:center;gap:6px;background:#23352b;padding:9px;border-radius:5px}.deck-slot span{flex:1;font-size:13px}.deck-slot button{padding:6px}.market-form,.room-row{display:flex;gap:12px;align-items:center;flex-wrap:wrap;margin:14px 0;padding:14px;background:#22322a;border-radius:6px}.room-row strong{flex:1}.room-row input[type=number]{max-width:140px}.market-form input,.market-form select{flex:1;min-width:140px}input{background:#111f1b;color:#eee7d1;border:1px solid #53634a;padding:12px;border-radius:5px;font:inherit}label input{display:block;margin-top:7px}input[type=checkbox]{display:inline;width:20px;height:20px}.empty-state{padding:30px;text-align:center;border:1px dashed #53634a}.admin-layout{max-width:1100px;margin:40px auto;padding:24px}.admin-form{display:grid;grid-template-columns:1fr 1fr;gap:18px}.admin-form label{display:flex;flex-direction:column;gap:8px}.admin-form input,.admin-form select{width:100%}.admin-layout h2{margin-top:32px}.wave-track{grid-template-columns:repeat(6,minmax(0,1fr));padding:5px;gap:12px 9px}.wave-node{width:20px;height:20px}.top-actions{flex-wrap:wrap}.topbar{gap:12px}.room-row small{overflow-wrap:anywhere}.admin-layout p{overflow-wrap:anywhere}@media(max-width:850px){.topbar .edition{display:none}.deck-order,.admin-form{grid-template-columns:1fr}.left-panel .subtle,.left-panel .text-button{display:block}.topbar{flex-wrap:wrap}.top-actions{width:100%;justify-content:center}}@media(max-width:500px){.collection-grid{grid-template-columns:1fr}.collection-dialog{padding:18px}.deck-slot{flex-wrap:wrap}.deck-slot span{min-width:100%}.collection-tabs button{font-size:12px;padding:8px}.top-actions .quiet{padding:6px;font-size:11px}}
.home-links{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin:16px 0}.option-line{display:flex;gap:12px;align-items:center;margin:20px 0}.option-line input{margin:0}.ranking-table{width:100%;border-collapse:collapse;font-size:13px}.ranking-table th,.ranking-table td{padding:13px;text-align:left;border-bottom:1px solid #425340}.ranking-table th{color:#d9bd80}.abilities-editor{grid-column:1/-1;border:1px solid #53634a;padding:18px;border-radius:8px}.abilities-editor legend{color:#d9bd80}.ability-row{display:grid;grid-template-columns:minmax(160px,1fr) 130px auto;gap:10px;margin:10px 0}.sprite-gallery{display:grid;grid-template-columns:repeat(auto-fill,minmax(105px,1fr));gap:8px;max-height:430px;overflow:auto;border:1px solid #40523d;padding:12px}.sprite-choice{display:flex;flex-direction:column;align-items:center;background:#26372e;border:1px solid #3f5944;padding:7px;border-radius:6px}.sprite-choice canvas{image-rendering:pixelated}.sprite-choice span{font-size:10px;overflow-wrap:anywhere}.sprite-choice.selected{border:2px solid #edc779}.admin-card-row{display:flex;align-items:center;gap:16px;border-bottom:1px solid #3b4e3c;padding:15px 0}.admin-card-row>div{flex:1}.admin-card-row h3{margin-bottom:6px}.admin-card-row small{color:#c0a66a}.admin-card-row canvas{image-rendering:pixelated}.admin-card-row p{margin:8px 0}.admin-layout #admin-status{position:sticky;top:0;background:#182b20;padding:15px;z-index:3}.world-wrap>canvas{aspect-ratio:1200/650}.world-wrap{min-height:460px;justify-content:center}.wave-track{grid-template-columns:repeat(4,minmax(0,1fr))}@media(max-width:700px){.ability-row{grid-template-columns:1fr 90px}.ability-row button{grid-column:1/-1}.admin-card-row{flex-wrap:wrap}.admin-card-row>div{min-width:60%}.ranking-table th,.ranking-table td{padding:8px 5px;font-size:11px}.world-wrap{min-height:300px}}

#unit-form { align-items: start; }
#unit-form canvas { justify-self:center; background:#10221c; border:1px solid #59715c; border-radius:12px; }
#unit-form button { align-self:center; min-height:44px; }

.summon-settings { grid-column:1 / -1; display:grid; grid-template-columns:1fr 1fr 90px; gap:12px; align-items:center; padding:12px; background:#10221c; border-radius:8px; }
.summon-settings.hidden { display:none; }
.summon-settings label { display:grid; gap:6px; font-size:12px; }
@media(max-width:650px){.summon-settings{grid-template-columns:1fr;}}

.admin-tabs{display:flex;gap:8px;flex-wrap:wrap;margin:24px 0;position:sticky;top:0;background:#14261e;padding:12px;z-index:2;border-radius:12px}.admin-tabs [aria-selected="true"]{background:#e4c57e;color:#17241d}.admin-panel.hidden{display:none}#audio-prompt{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}#audio-prompt label{display:grid;gap:6px}#audio-prompt textarea{width:100%;background:#10221c;color:#e6e8d6;border:1px solid #52614e;border-radius:6px;padding:10px;resize:vertical;font:13px/1.5 monospace}#audio-preview{width:min(100%,600px)}#nickname-error{color:#f6a78e}#nickname-input{width:100%}@media(max-width:700px){#audio-prompt{grid-template-columns:1fr}}

#options-dialog>label{display:block;margin-top:20px}#options-dialog>label.option-line{display:flex}#change-nickname{display:block;margin-bottom:20px}

.roulette-stage{position:relative;width:min(100%,460px);margin:25px auto 18px}.roulette-wheel{display:block;width:100%;height:auto;filter:drop-shadow(0 12px 25px #0007)}.roulette-pointer{position:absolute;top:-9px;left:50%;transform:translateX(-50%);font-size:40px;color:#ffe3a0;text-shadow:0 3px 3px #000;line-height:1}.roulette-odds{padding:15px;border:1px solid #756342;border-radius:8px;background:#302f23;line-height:1.8}.roulette-result{text-align:center;min-height:45px;color:#f1d699}.roulette-spin{display:block;margin:16px auto;min-width:220px}.roulette-cards{grid-template-columns:repeat(4,minmax(0,1fr))}.roulette-cards .collection-card{min-width:0}.roulette-cards h3{font-size:19px}@media(max-width:750px){.roulette-cards{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:400px){.roulette-cards{grid-template-columns:1fr}}
/* The command area stays visible below the map; resources sit beside the cards. */
.game-page>footer{display:none}
#game-shell{padding:12px 20px;display:grid;gap:12px}
.command-dock{display:grid;grid-template-columns:174px minmax(0,1fr);gap:16px;align-items:stretch}
.command-dock .resource-bar{display:flex;flex-direction:column;align-items:stretch;justify-content:space-between;gap:12px;padding:16px;margin:0;border:1px solid var(--line);border-radius:8px;background:#192b23}
.command-dock .resource{display:flex;gap:9px;flex-wrap:wrap}
.command-dock .resource strong{font-size:22px}
.command-dock .resource small{font-size:8px;letter-spacing:1px}
.command-dock .income{display:block;border:0;padding:0;margin-left:26px;font-size:10px}
.command-dock .wave-resource{margin:0;text-align:left;padding-top:9px;border-top:1px solid var(--line)}
.command-dock .wave-resource strong{font-size:16px}
.command-dock progress{display:none}
.command-dock .draft-section{padding:0;min-width:0}
.command-dock .draft-heading{margin-bottom:10px}
.command-dock .draft-heading h2{font-size:21px;margin:5px 0 0}
.command-dock .draft-layout{grid-template-columns:minmax(0,1fr) 160px;gap:12px}
.command-dock .cards{gap:10px}
.command-dock .card{grid-template-columns:70px minmax(0,1fr);min-height:170px;padding:12px 10px;gap:8px}
.command-dock .card canvas{width:70px;height:70px;margin:auto}
.command-dock .card h3{font-size:16px;margin:6px 0}
.command-dock .card p{font-size:10px;line-height:1.5;margin-bottom:10px}
.command-dock .launch-panel{display:block;padding:0}
.command-dock .launch-panel>p{font-size:11px;line-height:1.5}
.command-dock .launch-panel .primary{width:100%;min-width:0;padding:13px 8px;font-size:11px}
.command-dock .micro{display:none}
.command-dock .battle-report{padding:18px;align-self:center;margin:0}
#game-shell .chronicle{padding:5px 0;margin:0;min-width:0}
#game-shell .chronicle p{overflow:hidden;white-space:nowrap;text-overflow:ellipsis}
@media(min-width:1024px) and (min-height:600px){
 #game-shell{height:100dvh;grid-template-rows:minmax(0,1fr) auto 24px}
 #game-shell .game-layout{grid-template-columns:170px minmax(0,1fr) 180px;gap:16px;min-height:0}
 #game-shell .left-panel,#game-shell .right-panel{min-height:0;overflow:auto;padding:8px 0;scrollbar-width:thin}
 #game-shell .world-wrap{min-height:0;height:100%;display:flex;border-radius:8px}
 #game-shell .world-wrap>canvas{width:100%;height:100%;min-height:0;aspect-ratio:auto;object-fit:contain}
 #game-shell .left-panel .divider,#game-shell .right-panel .divider{margin:10px 0}
 #game-shell .wave-track{margin:10px 0 16px}
 #game-shell .right-panel>canvas{height:75px;width:86px}
 #game-shell .right-panel>p{min-height:0}
 #game-shell .left-panel .objective{font-size:10px;margin:8px 0}
 #game-shell .enemy-preview canvas{width:50px;height:50px}
 #game-shell .world-heading{top:12px}
 #game-shell .resource-bar{max-height:240px}
}
@media(min-width:1024px) and (max-width:1300px){
 .command-dock .card{grid-template-columns:1fr;padding:9px;min-height:180px;gap:0;align-content:start}
 .command-dock .card canvas{width:52px;height:52px}
 .command-dock .card h3{font-size:15px}
 .command-dock .draft-layout{grid-template-columns:minmax(0,1fr) 140px}
}
@media(max-width:1023px){
 #game-shell{padding:10px 12px}
 .command-dock{grid-template-columns:140px minmax(0,1fr);gap:10px}
 .command-dock .resource-bar{padding:12px}
 .command-dock .draft-layout{grid-template-columns:1fr}
 .command-dock .launch-panel{display:flex;align-items:center;gap:12px}
 .command-dock .launch-panel .primary{width:auto;min-width:140px;margin-left:auto}
 .command-dock .card{grid-template-columns:1fr;align-content:start;min-height:190px}
 .command-dock .card canvas{width:52px;height:52px}
 #game-shell .world-wrap{min-height:240px}
}
@media(max-width:600px){
 .command-dock{grid-template-columns:96px minmax(0,1fr);gap:8px}
 .command-dock .resource-bar{padding:9px;justify-content:flex-start}
 .command-dock .resource strong{font-size:18px}
 .command-dock .resource small{font-size:7px;letter-spacing:0}
 .command-dock .income{margin:0}
 .command-dock .wave-resource strong{font-size:13px}
 .command-dock .draft-heading{align-items:start;gap:6px}
 .command-dock .draft-heading h2{font-size:17px}
 .command-dock .cards{grid-template-columns:1fr}
 .command-dock .card{grid-template-columns:54px minmax(0,1fr);min-height:110px}
 .command-dock .launch-panel{display:block}
 .command-dock .launch-panel .primary{width:100%}
 .command-dock .battle-report{padding:8px}
}

#game-shell .world-wrap>canvas{object-fit:contain}

.command-dock .resource-bar{gap:8px;padding:12px}.command-dock .resource{display:grid;grid-template-columns:18px minmax(0,1fr);gap:3px 8px;align-items:center}.command-dock .resource strong{font-size:19px}.command-dock .resource small{font-size:7px}.command-dock .income{grid-column:2;margin:0;font-size:9px}.command-dock .wave-resource{padding-top:6px}.command-dock .wave-resource small{font-size:7px;margin-bottom:4px}#abandon-button{position:sticky;top:0;z-index:2;background:#192b23;border:1px solid #586045;border-radius:4px;margin:0 0 12px;padding:9px;color:#d9c28f}#game-shell .left-panel #wave-name{font-size:21px}

.shop-filters{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin:16px 0}.shop-filters input{flex:1;min-width:200px}.shop-filters select{width:auto}.admin-world-row{border:1px solid #78908055;padding:16px;margin:12px 0}.admin-world-row label{display:block;margin:8px 0}.admin-world-row select[multiple]{min-height:100px;width:100%}

body.at-home #game-shell{visibility:hidden;pointer-events:none}#boot-screen{position:fixed;inset:0;z-index:100;background:#101e18;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:24px;text-align:center}#boot-screen.hidden{display:none}#story-chapters article{padding:14px;border-left:3px solid #b99b59;margin:14px 0}#save-summary:empty{display:none}
.player-badge{display:flex;flex-wrap:wrap;align-items:center;gap:.4rem .8rem;padding:.6rem 0;color:var(--gold,#dfc184);font-size:.85rem}.player-badge strong{overflow-wrap:anywhere}.player-badge span{font-size:.75rem;color:#bbc6b1}
.card.super_epic,.collection-card.super_epic{border-color:#ff9f52}.card.ultra_epic,.collection-card.ultra_epic{border-color:#f6df77;box-shadow:0 0 16px #efcb4933}.codex-entry p p{margin:.6rem 0;line-height:1.55}
.guide-detail p{margin:.6rem 0;line-height:1.55}.sprite-gallery>div{display:flex;flex-direction:column;gap:6px}

.home-actions{display:grid;grid-template-columns:minmax(0,2fr) minmax(0,1fr);gap:9px}.home-actions button{min-width:0;white-space:normal}
