:root{font-family:"Segoe UI","Microsoft JhengHei",sans-serif;color:#e8e5da;background:#0c151b;font-synthesis:none;--gold:#d8b779;--muted:#8c9ca3;--line:#2a393f}*{box-sizing:border-box}body{margin:0}button,a,input,label{touch-action:manipulation}button{font:inherit;color:inherit;cursor:pointer;background:#1c2b33;border:1px solid #34444b;border-radius:6px;padding:10px 14px;transition:.2s}button:hover{background:#2b3e46;border-color:var(--gold)}button:disabled{opacity:.4;cursor:not-allowed}button:focus-visible,a:focus-visible,input:focus-visible{outline:2px solid #efd097;outline-offset:3px}header{height:100px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);padding:0 3vw;gap:20px}.brand{display:flex;align-items:center;gap:15px;color:var(--gold);text-decoration:none;font-size:30px;font-weight:700;letter-spacing:6px}.brand small{display:block;font:9px sans-serif;letter-spacing:2px;color:#85969d;margin-top:4px}.crest{font-size:45px}.wallet{display:flex;gap:34px;font-size:12px;color:var(--muted)}.wallet b{font-size:20px;color:#e8d1a1;display:block;margin-top:4px;font-variant-numeric:tabular-nums}main{display:grid;grid-template-columns:210px minmax(400px,1fr) 335px;gap:28px;max-width:1800px;margin:auto;padding:32px 3vw}aside{padding-top:15px}.eyebrow{font-size:10px;letter-spacing:2px;color:var(--gold);font-weight:600}h1{font-family:Georgia,"Microsoft JhengHei",serif;line-height:1.7;font-size:26px;font-weight:500;margin:24px 0 14px}h1 em{color:var(--gold);font-style:normal}p{line-height:1.8}.muted{color:var(--muted);font-size:12px}nav{display:grid;gap:10px;margin-top:36px}nav button{text-align:left;padding:17px 13px;background:transparent;border-color:transparent;font-size:14px}nav small{display:block;padding-left:23px;letter-spacing:2px;font-size:9px;color:#6b808c;margin-top:7px}nav .active{background:#253232;border-color:#6d6248;color:#e9cb91}.dispatch{border-top:1px solid var(--line);margin-top:50px;padding-top:24px;font-size:11px;color:#9ba9a4}.dispatch p{font-size:10px;color:#6e858d}.live{display:inline-block;width:6px;height:6px;border-radius:50%;background:#91c79b;margin-right:6px}.section-head{display:flex;justify-content:space-between;align-items:center;margin:3px 0 20px;gap:8px}h2{font-size:22px;font-weight:500;margin:8px 0 0}h2 span{font-size:12px;color:var(--muted);margin-left:12px}.pill{border:1px solid #40544e;color:#b3c9ab;font-size:11px;border-radius:20px;padding:6px 10px;white-space:nowrap}.battle{position:relative;border:1px solid #46514a;border-radius:10px;overflow:hidden;background:#172a2b}canvas{display:block;width:100%;aspect-ratio:960/560}.battle-top,.battle-bottom{position:absolute;left:20px;right:20px;display:flex;justify-content:space-between;gap:20px;font-size:10px;color:#d3ddd3}.battle-top{top:18px}.battle-top>div{width:37%;max-width:220px}.battle-top b{float:right;font-weight:400}.bar{height:5px;background:#0e1b20;border-radius:5px;margin-top:8px;overflow:hidden}.bar i{height:100%;display:block;background:#a4c48a;transition:width .2s}.blue i{background:#76b8c8}.battle-bottom{bottom:14px;color:#c6c9a7}.controls{display:flex;align-items:center;gap:9px;margin:16px 0 24px;flex-wrap:wrap;font-size:12px}.primary{background:#d0ae73;color:#1a221f;border-color:#d0ae73;font-weight:700}.primary:hover{background:#e5c78f}.controls label{font-size:11px;color:var(--muted)}input{accent-color:var(--gold)}.skill{margin-left:auto;color:#d4b7ef;border-color:#655275;background:#2d263c}.skill small{display:block;font-size:9px;margin-top:4px;opacity:.65}.formation-heading{display:flex;align-items:center;justify-content:space-between;gap:12px}h3{font-size:14px;font-weight:500}.formation-heading span{font-size:10px}.formation{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.slot{min-height:67px;display:flex;align-items:center;text-align:left;gap:10px;background:#16242b}.slot.selected{border-color:var(--gold);background:#2c332e}.slot .avatar{font-size:25px}.slot small{font-size:10px;color:#a6aba0;display:block;margin-top:6px}.journal{border-top:1px solid var(--line);margin-top:24px;padding-top:18px}.journal p{font-size:12px;color:#9aaeb3;margin:9px 0}.panel{border-left:1px solid var(--line);padding-left:25px}.panel h2{font-size:20px}.hero-card,.upgrade-card{border:1px solid var(--line);background:linear-gradient(120deg,#1b2a31,#142128);border-radius:7px;padding:13px;margin-bottom:10px}.hero-top{display:flex;gap:12px;align-items:center}.portrait{height:48px;width:48px;display:grid;place-items:center;background:#2a3939;border:1px solid #566152;border-radius:7px;font-size:28px;flex-shrink:0}.hero-name{font-size:13px}.hero-name small{display:block;font-size:10px;color:var(--muted);margin-top:6px}.hero-card p,.upgrade-card p{font-size:11px;line-height:1.7;color:#9eb0b4;margin:9px 0}.card-actions{display:flex;gap:7px}.card-actions button{flex:1;font-size:10px;padding:7px 4px}.recruit{width:100%;margin-bottom:14px;background:#30342b;border-color:#766545;color:#e1c186}.badge{margin-left:auto;color:#d8bd7e;font-size:10px}.upgrade-card h3{margin:0}.upgrade-card button{font-size:11px;width:100%}.tab-intro{font-size:11px;color:#8fa1a8;line-height:1.8;margin:0 0 15px}.tower-select{width:100%;margin-bottom:9px}footer{border-top:1px solid var(--line);margin:10px 3vw 0;padding:20px 0;font-size:10px;color:#637b85;display:flex;justify-content:space-between}dialog{background:#17262d;color:#dbe1dc;border:1px solid #627168;border-radius:12px;max-width:600px;padding:30px;line-height:1.8}dialog::backdrop{background:#030b10c9}dialog p{font-size:13px;color:#a8b9bc}.dialog-actions{display:flex;gap:10px;flex-wrap:wrap}.import{border:1px solid #34444b;padding:10px;border-radius:6px;cursor:pointer;font-size:13px}.import input{display:none}#toast{position:fixed;bottom:25px;left:50%;transform:translateX(-50%);padding:13px 24px;background:#d3b77e;color:#152128;border-radius:6px;opacity:0;pointer-events:none;z-index:20;font-size:13px}#toast.show{opacity:1}@media(min-width:1550px){main{grid-template-columns:240px minmax(400px,1fr) 365px;gap:36px}}@media(max-width:1150px){main{grid-template-columns:165px minmax(350px,1fr);gap:22px}.panel{grid-column:2;border:0;padding:0}#panelBody{display:grid;grid-template-columns:1fr 1fr;gap:10px}.recruit,.tab-intro{grid-column:1/-1}.hero-card,.upgrade-card{margin:0}h1{font-size:22px}.wallet{gap:20px}}@media(max-width:680px){header{height:auto;min-height:85px;padding:15px;flex-wrap:wrap;gap:14px}.brand{font-size:24px}.crest{font-size:32px}.wallet{gap:16px}.wallet b{font-size:16px}header>button{font-size:10px;padding:7px}main{display:flex;flex-direction:column;padding:15px;gap:20px}aside{padding:0}aside h1,aside>.eyebrow,aside>.muted,.dispatch{display:none}nav{display:flex;margin:0;gap:5px}nav button{flex:1;text-align:center;padding:10px 3px;font-size:11px}nav small{display:none}.center{min-width:0}.section-head{margin:0 0 15px}h2{font-size:20px}.battle-top{top:12px;left:12px;right:12px}.battle-top>div{width:43%}.battle-bottom{font-size:8px;left:12px;right:12px}.controls{gap:6px}.controls button{padding:10px;font-size:11px}.skill{margin-left:0}.slot{padding:8px;gap:5px;font-size:10px}.slot .avatar{font-size:20px}.slot small{font-size:9px}.formation-heading span{font-size:9px;max-width:65%}.panel{width:100%}#panelBody{gap:7px}.hero-card{padding:9px}.hero-top{gap:7px}.portrait{width:36px;height:40px;font-size:23px}.hero-name{font-size:11px}.hero-name small{font-size:9px}.badge{display:none}.hero-card p{font-size:10px}.card-actions{flex-wrap:wrap}.card-actions button{min-width:55px}footer{font-size:9px}dialog{max-width:92vw;padding:20px}}
