/* v25 battle: transparent aligned top row and shared square controls. */
.battle-hud{--slot:51px;--hud-height:56px;--hud-glass:rgba(19,47,57,.19);color:#fffdf4}
.battle-hud .vitals,.battle-hud .route-hud{top:12px;height:var(--hud-height);background:var(--hud-glass);border:1px solid #ffffff36;backdrop-filter:blur(2px);border-radius:9px;color:#fffdf4;text-shadow:0 1px 3px #173b45}
.battle-hud .vitals{left:18px;width:236px;padding:4px 8px}
.vitals header{font-size:12px;line-height:14px;height:14px;margin:0 0 2px}
#heroName{max-width:150px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.vitals .bar{height:10px;margin:2px 0 0;background:#14394255;border-radius:3px}
.vitals .bar span{font-size:9px;line-height:10px;color:#fff;text-shadow:0 1px 2px #173b45}
.vitals .bar.mana{height:8px}.vitals .bar.mana span{line-height:8px;font-size:8px}
.xp-row{display:flex;align-items:center;gap:6px;margin-top:3px;height:10px}
.vitals .xp-row .bar.exp{flex:1;margin:0;height:3px}
#xpLabel{font-size:9px;line-height:10px;white-space:nowrap}
.battle-hud .route-hud{left:304px;right:auto;width:236px;padding:5px 8px;display:flex;flex-direction:column;justify-content:center;gap:1px;font-size:13px}
.route-hud strong{font-weight:600}.battle-hud .route-hud small{margin:0;font-size:10px;line-height:14px}
.route-caption{font-size:9px;opacity:.85;line-height:11px}
.battle-hud .top-tools{right:18px;top:12px;height:var(--hud-height);align-items:center;gap:6px}
.battle-hud .top-tools button{width:44px;min-width:44px;height:44px;padding:0;background:var(--hud-glass);border:1px solid #ffffff65;color:#fffdf4;backdrop-filter:blur(2px);display:grid;place-items:center}
.battle-hud .top-tools svg{width:25px;height:25px;filter:drop-shadow(0 1px 2px #173b45)}
.battle-hud .status-icons{left:260px;top:28px;gap:3px}
.battle-hud .status-icons span{background:#173b4530;border-color:#ffffff50;color:#fffdf4;text-shadow:0 1px 3px #173b45;font-size:10px;padding:2px 3px;min-width:32px}
.battle-hud .battle-bottom{left:18px;right:18px;bottom:12px;gap:12px;align-items:end}
.battle-hud .battle-bottom .skills,.battle-hud .battle-bottom .controls{display:flex;gap:6px;align-items:end}
.battle-hud .battle-bottom .combat-slot{width:var(--slot);min-width:var(--slot);max-width:var(--slot);height:var(--slot);min-height:var(--slot);padding:2px;border-radius:7px;background:rgba(246,248,241,.86);border:1px solid #e5efdfce;color:#25464c}
.battle-bottom .combat-slot img{width:36px;height:36px;object-fit:contain;margin:0 auto}
.battle-bottom .combat-slot .count{font-size:10px;line-height:12px;left:0;right:0;bottom:1px;text-align:center;background:transparent;color:#25464c}
.battle-bottom .combat-slot .quantity{position:absolute;right:3px;top:1px;font-size:12px;line-height:15px;color:#173b45;text-shadow:0 0 3px #fff,0 0 3px #fff}
.battle-bottom .combat-slot svg{width:29px;height:29px;display:block;margin:2px auto}
.control-symbol{font-size:34px;line-height:32px;display:block;margin:0 auto}
.battle-hud .battle-hint{bottom:70px;left:18px;background:#173b4526;color:#fffdf4;text-shadow:0 1px 3px #173b45;padding:3px 7px;font-size:10px;line-height:14px;max-width:450px}
.battle-hud .warning{top:80px;left:304px;right:auto;width:236px;background:#58402d70;border-color:#f4ddb37f;color:#fff4d5}

.paperdoll{overflow:hidden}.paperdoll-model{position:absolute;left:-44px;top:-56px;width:844px;height:390px;pointer-events:none}.paperdoll .equip-column,.paperdoll .equip-bottom,.paperdoll .paper-label{z-index:2}.paperdoll .paper-label{font-size:8px;background:#edf1e9ae}

/* The same glass recipe is used above and below; all interactive slots are 51px. */
.battle-hud .top-tools button{width:51px;min-width:51px;height:51px;border-radius:7px;display:flex;flex-direction:column;justify-content:center;gap:1px;text-shadow:0 1px 3px #173b45}
.battle-hud .top-tools button img{width:32px;height:32px;object-fit:contain;margin:0;filter:drop-shadow(0 1px 2px #173b4566)}
.battle-hud .top-tools button svg{width:29px;height:29px;margin:1px 0}
.battle-hud .top-tools button span{font-size:10px;line-height:12px;font-weight:600}
.battle-hud .battle-bottom .combat-slot{background:var(--hud-glass);border-color:#ffffff65;color:#fffdf4;backdrop-filter:blur(2px);box-shadow:inset 0 1px 0 #ffffff15}
.battle-hud .battle-bottom .combat-slot .count{color:#fffdf4;text-shadow:0 1px 3px #173b45;font-weight:600}
.battle-hud .battle-bottom .combat-slot .key{background:#173b4560;color:#fffdf4;font-size:8px;line-height:10px;padding:0 2px}
.battle-hud .battle-bottom .combat-slot .quantity{color:#fffdf4;text-shadow:0 1px 3px #173b45,0 1px 2px #173b45}
.battle-hud .battle-bottom .combat-slot img{filter:drop-shadow(0 1px 1px #173b4550)}
.battle-hud .combat-slot:hover,.battle-hud .top-tools button:hover{background:#ffffff32}
.battle-hud .combat-slot:focus-visible,.battle-hud .top-tools button:focus-visible{outline:2px solid #f5d082;outline-offset:2px}
.battle-hud .battle-hint{max-width:430px}
