:root{font-family:PingFang SC,Microsoft YaHei,system-ui,sans-serif;color:#dce2cf;background:#0e1c20;font-synthesis:none}*{box-sizing:border-box}body{margin:0}button,select,textarea{font:inherit}button{cursor:pointer;border:1px solid #536158;background:#203834;color:#d8dfc8;border-radius:5px;padding:9px 13px;transition:.15s}button:hover{background:#354a3f;border-color:#c5b27f}button:disabled{opacity:.35;cursor:not-allowed}.gold{color:#e9ce91}.primary{background:#d5bd87;color:#182e2b;border-color:#d5bd87;font-weight:700}.primary:hover{background:#eed9a7}header{max-width:1550px;margin:auto;padding:22px 30px 18px;display:flex;align-items:center;justify-content:space-between}h1{font-size:26px;font-family:serif;letter-spacing:6px;margin:0;color:#eddfbd}header small{font-size:10px;letter-spacing:3px;color:#83988f}header p{margin:0;color:#83988f;font-size:12px}.header-right{display:flex;align-items:center;gap:18px}.tag{border:1px solid #486056;color:#a4b9a3;padding:5px 10px;font-size:10px;letter-spacing:2px}.layout{max-width:1550px;margin:auto;padding:0 30px 24px;display:grid;grid-template-columns:minmax(0,1fr) 260px;gap:18px}.battle{min-width:0}.toolbar{height:60px;display:flex;align-items:center;justify-content:space-between;border:1px solid #3b5149;background:#172c2d;padding:10px 16px;gap:10px}.stats{display:flex;gap:28px}.stat small{display:block;color:#8ca297;font-size:10px;letter-spacing:1px}.stat strong{font-size:19px;font-weight:500}.toolbar button{padding:7px 11px;font-size:12px}.controls{display:flex;gap:7px}.map-wrap{position:relative;border:1px solid #40564a;border-top:0;background:#1c3535}canvas{display:block;width:100%;height:auto;touch-action:none}.map-badge{position:absolute;left:18px;top:15px;color:#a7b4a1;font-size:10px;letter-spacing:3px;pointer-events:none}.hint{display:flex;justify-content:space-between;font-size:11px;color:#809c90;padding:11px 2px}.hero-panel{border:1px solid #3b5149;background:#172b2c;padding:17px;display:grid;grid-template-columns:185px 1fr;gap:20px}.hero-title{display:flex;gap:12px;align-items:center}.avatar{width:42px;height:48px;border:1px solid #9d956e;display:grid;place-items:center;background:#304b43;font-family:serif;font-size:27px;color:#e2d3a8}.hero-title b{font-family:serif;font-size:18px;letter-spacing:2px}.muted{color:#8fa397;font-size:11px}.health{height:5px;background:#0e2022;margin:11px 0 5px}.health i{display:block;background:#93b694;height:100%}.skills{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px}.skill{min-width:0;border:1px solid #3a5048;padding:9px;text-align:center;position:relative}.skill .glyph{font-family:serif;color:#e1c996;font-size:25px}.skill small{font-size:10px;display:block;color:#9bac9d;margin:3px 0}.skill button{font-size:10px;padding:5px 6px;width:100%;margin-top:4px}.skill .rank{color:#d7c398}.sidebar{border:1px solid #3b5149;background:#15292b;padding:18px;display:flex;flex-direction:column;gap:20px}.eyebrow{color:#9faf94;letter-spacing:3px;font-size:10px}h2{font:22px serif;color:#e5d6b6;letter-spacing:2px;margin:8px 0 10px}.sidebar p{color:#92a79b;font-size:12px;line-height:1.8;margin:4px 0}.divider{border-top:1px solid #354b42;padding-top:18px}.tower-row{display:flex;align-items:center;gap:10px;margin:12px 0}.element{width:30px;height:30px;border:1px solid currentColor;display:grid;place-items:center;transform:rotate(0);font-family:serif;font-size:19px}.tower-row b{font-size:12px;font-weight:500}.tower-row small{display:block;font-size:10px;color:#879f92;margin-top:3px}.cycle{display:flex;justify-content:space-around;font-family:serif;font-size:18px;margin:15px 0}.sidebar footer{margin-top:auto;font-size:10px;color:#617f73;line-height:1.9}#inspector{position:absolute;z-index:3;width:220px;right:16px;top:55px;border:1px solid #819270;background:#152a2af5;box-shadow:0 12px 40px #061318aa;padding:14px}#inspector[hidden]{display:none}.inspector-title{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px;font-size:14px}.inspector-title button{border:0;background:none;padding:0 4px}.build{display:flex;width:100%;text-align:left;justify-content:space-between;align-items:center;margin-top:6px;padding:8px}.build small{display:block;font-size:10px;color:#8fa398;margin-top:2px}#overlay{position:absolute;top:0;right:0;bottom:0;left:0;z-index:4;background:#0b2024d9;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);display:grid;place-items:center;padding:24px}#overlay[hidden]{display:none}.intro{max-width:680px;text-align:center}.intro h2{font-size:38px;margin:12px}.intro>p{font-size:13px;color:#adbbaa;line-height:1.9}.presets{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:23px 0}.preset{padding:17px 12px;background:#213b37;text-align:left}.preset.active{border-color:#ead29a;background:#35493a}.preset b{font:19px serif;color:#e5d3ac}.preset p{color:#a9b6a0;font-size:11px;line-height:1.8;margin:8px 0 0}.start{padding:12px 40px;letter-spacing:3px}.guide{font-size:11px!important}details{border:1px solid #3b5149;padding:12px 14px;background:#15292b;margin-top:15px;font-size:12px}summary{cursor:pointer;color:#a1b29a}.debug{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}.debug button,.debug select{font-size:11px;padding:7px;background:#243b35;color:#d2dcc4;border:1px solid #536158}.debug textarea{width:100%;height:65px;background:#102326;color:#c7d6be;border:1px solid #405749;padding:8px;font-size:11px}.legend{display:flex;gap:10px;color:#86a093;font-size:10px;margin-top:10px}.error{color:#eea186;font-size:11px}kbd{border:1px solid #40594e;border-radius:3px;padding:0 4px}a{color:#e0c68f}@media(min-width:1500px){.layout{grid-template-columns:minmax(0,1fr) 280px}}@media(max-width:1050px){header{padding:18px}.layout{padding:0 16px;grid-template-columns:1fr}.sidebar{display:none}.hero-panel{grid-template-columns:160px 1fr}.stats{gap:16px}}@media(max-width:660px){header p,.tag{display:none}.toolbar{padding:8px;height:auto}.stats{gap:10px}.stat strong{font-size:15px}.controls{gap:3px}.toolbar button{font-size:10px;padding:6px}.hero-panel{grid-template-columns:1fr;padding:10px;gap:10px}.hero-info{display:flex;align-items:center;gap:10px}.hero-title b{font-size:15px}.hero-info .health{width:70px}.skills{gap:4px}.skill{padding:5px}.hint{font-size:9px}.presets{gap:5px;margin:12px 0}.preset{padding:8px}.preset b{font-size:15px}.preset p{font-size:9px}.intro h2{font-size:25px}.intro>p{font-size:11px}.guide{display:none}#overlay{padding:12px}.intro .eyebrow{font-size:8px}#inspector{top:15px}h1{font-size:21px}}
