#battle-options{margin:14px 0;display:flex;gap:14px;flex-wrap:wrap;align-items:center}
#battle-options[hidden]{display:none}
#battle-options select,#battle-options button{padding:8px;font:inherit}
#combat-panel{display:grid;gap:8px;padding:12px;background:#142034;border:1px solid #42556b;border-radius:12px;margin-top:10px}
#party-ui,#skill-ui,#tactic-ui{display:flex;gap:6px;flex-wrap:wrap}
#combat-panel button{background:#273a50;border:1px solid #62798c;border-radius:7px;color:#fff;padding:8px;cursor:pointer;font-size:12px}
#combat-panel button[aria-pressed="true"]{border-color:#ffdd75;color:#ffdd75}
#combat-panel button:disabled{opacity:.45;cursor:default}
#minimap{border:1px solid #829c9c}
.battlefield .map-unit{width:80px;transition:none;z-index:5;cursor:pointer}
.map-unit progress{width:66px;accent-color:#74e0bf}
.map-unit.enemy progress{accent-color:#f08080}
.map-unit.fainted{opacity:.3;pointer-events:none}
.map-unit.shielded{filter:drop-shadow(0 0 7px #99e5ff)}
.sprite-holder{height:64px;display:grid;place-items:center}
.sprite-holder canvas{width:64px;height:64px}
.arena-object{position:absolute;z-index:3;background:repeating-linear-gradient(40deg,#666b6d 0 12px,#555d60 12px 24px);border:3px solid #a2a5a0;border-radius:12px;color:white;font:12px system-ui;cursor:crosshair}
.arena-object.opened{opacity:.25;border-style:dashed}
.arena-object.destroyed{opacity:.12;pointer-events:none}
.arena-device{position:absolute;transform:translate(-50%,-50%);z-index:4;padding:12px;background:#454b24;border:2px solid #e6d981;border-radius:50%;color:#fff;font-size:12px;max-width:120px}
.arena-hazard{position:absolute;transform:translate(-50%,-50%);z-index:2;border:4px dashed #ffae71;background:#fd6a2859;pointer-events:none;border-radius:50%;text-align:center;padding-top:25px}
.projectile{position:absolute;width:16px;height:16px;transform:translate(-50%,-50%);z-index:7;border-radius:50%;background:#ffdd88;box-shadow:0 0 13px #ffb448;pointer-events:none}
#aim-marker{position:absolute;transform:translate(-50%,-50%);border:2px dashed #74f3cf;border-radius:50%;background:#63c8b422;z-index:8;pointer-events:none;color:#fff;text-align:center}
#aim-marker.invalid{border-color:#ff7777;background:#ff333322}
.combat-effect{z-index:6}.combat-effect.warning{border-style:dashed;background:#ff404044}
.battlefield[data-theme="0"]{background:radial-gradient(ellipse at center,#6d3c32,#302b2a)}
.battlefield[data-theme="1"]{background:repeating-linear-gradient(140deg,#81adb9 0 80px,#7198ac 80px 160px)}
.battlefield[data-theme="2"]{background:radial-gradient(ellipse at center,#496947,#173829)}
.battlefield[data-theme="3"]{background:repeating-linear-gradient(90deg,#2a3547 0 79px,#48617a 79px 80px)}
.battlefield .terrain{opacity:.25}
