/* Lightweight, event-scoped overlays. Never receive pointer input. */
.combat-accent{position:fixed;z-index:32;pointer-events:none;border:2px solid #f2c77b;border-radius:14px;box-shadow:inset 0 0 22px #e3b66555,0 0 16px #e3b66570;display:flex;align-items:center;justify-content:center;text-align:center;padding:8px;font:bold 16px Georgia;color:#fff2c9;text-shadow:0 2px 4px #000;background:radial-gradient(ellipse,transparent 40%,#dbbd5c38);will-change:transform,opacity}
.combat-accent.exhume{border-color:#b4a0eb;color:#e9dcff;box-shadow:inset 0 -25px 24px #7960b770,0 0 20px #ba9ee870;background:linear-gradient(0deg,#43345d99,transparent 65%)}
.combat-accent.legendary{border:3px double #ffe2a0;box-shadow:0 0 30px #e9bf69aa,inset 0 0 26px #e9bf6966}
.combat-accent.impact,.combat-accent.hero-impact{border-color:#edaa7c;background:radial-gradient(ellipse,#ffd9ac55,transparent 65%)}
.combat-accent.hero-impact{border-width:3px;box-shadow:0 0 28px #e69a7599}
.combat-accent.healing,.combat-accent.good{border-color:#a3ddc4;box-shadow:0 0 18px #8cdbb766}
.combat-accent.spell{border-color:#c2c6fa;box-shadow:inset 0 0 22px #999de055,0 0 18px #aaaee077;background:radial-gradient(ellipse,transparent 30%,#a5a8ed33)}
.combat-accent.evil{border-color:#d6a5d9;box-shadow:0 0 18px #b56ca766}
.combat-accent.guard-gain{border:3px double #f4db92;background:#dec88422}
.combat-accent.guard-expired{border:1px dashed #c0b69b;box-shadow:none;background:#19282377;font-size:13px}
.combat-accent.hero-defeat,.combat-accent.death{border-color:#a5988b;box-shadow:inset 0 0 28px #0c151baa;background:#1a171b55}
.combat-accent.quest-progress{border-width:1px;box-shadow:0 0 10px #e6be6966}
.event-banner{pointer-events:none;border:1px solid #bf9d64;border-radius:8px;padding:14px 24px;background:#162821ed;color:#f4e6bd;text-shadow:0 2px 4px #000}
.event-banner.exhume{border-color:#b79dde;background:#29213cec;color:#e6d6ff}.event-banner.quest,.event-banner.victory{border:2px double #e8c97f;color:#ffe5a3}.event-banner.good{border-color:#a3ddc4}.event-banner.evil{border-color:#d6a5d9}.event-banner.defeat{border-color:#b29a91;color:#dfc9bb}
.battle-quest [data-resolution]{display:block;width:100%;margin:8px 0;padding:10px;border-left:4px solid}.battle-quest [data-resolution=good]{border-left-color:#95cbb2}.battle-quest [data-resolution=evil]{border-left-color:#b48cba}
.combat-number{animation:none;font-size:32px;z-index:34}.moving-card{pointer-events:none;z-index:31}.battle .impact-target{outline:2px solid #e4b986;outline-offset:2px}
body[data-screen=result] .result{animation:result-arrive .35s ease-out both}body[data-screen=result] .reward{animation:reward-arrive .45s ease-out both}
@keyframes result-arrive{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}@keyframes reward-arrive{from{opacity:0;box-shadow:0 0 25px #dfbc7966}to{opacity:1;box-shadow:none}}
@media(max-width:700px){.combat-accent{font-size:13px}.event-banner{padding:10px 14px;margin-inline:12px;font-size:17px}.combat-number{font-size:27px}}
@media(prefers-reduced-motion:reduce){body[data-screen=result] .result,body[data-screen=result] .reward{animation:none}.combat-accent{will-change:auto}}
