/* Forest Frontier v0.10.0-rc49
 * Stabilization hotfix:
 * - essential one-shot combat feedback remains visible in every browser mode;
 * - desktop responsive emulation no longer loses the strike line or card impact;
 * - reduced-motion still disables ambient/continuous motion, not combat readability.
 */

/*
 * These are functional, one-shot combat signals rather than ambient motion.
 * Keep them active globally so desktop device emulation, coarse-pointer modes
 * and browser/OS accessibility combinations cannot silently remove them.
 */

body.theme-ashen.screen-battle-active .combatant-enemy.hit,
body.theme-ashen.screen-battle-active .combatant-enemy.hit-strong,
body.theme-ashen.screen-battle-active .combatant-enemy.hit-perfect,
body.theme-ashen.screen-battle-active .combatant-enemy.hit-critical,
body.theme-ashen.screen-battle-active .combatant-enemy.hit-power,
body.theme-ashen.screen-battle-active .combatant-enemy.response-counter,
body.theme-ashen.screen-battle-active .combatant-enemy.response-parry {
  animation: ffRc48ImpactEnemy .34s cubic-bezier(.2, .8, .2, 1) both !important;
}

body.theme-ashen.screen-battle-active .combatant-hero.hit,
body.theme-ashen.screen-battle-active .combatant-hero.hit-strong,
body.theme-ashen.screen-battle-active .combatant-hero.hit-perfect,
body.theme-ashen.screen-battle-active .combatant-hero.hit-critical,
body.theme-ashen.screen-battle-active .combatant-hero.hit-power,
body.theme-ashen.screen-battle-active .combatant-hero.poison-tick {
  animation: ffRc48ImpactHero .34s cubic-bezier(.2, .8, .2, 1) both !important;
}

/* Reduced motion keeps the signal, but halves the displacement. */
@media (prefers-reduced-motion: reduce) {
  body.theme-ashen.screen-battle-active .combatant-enemy.hit,
  body.theme-ashen.screen-battle-active .combatant-enemy.hit-strong,
  body.theme-ashen.screen-battle-active .combatant-enemy.hit-perfect,
  body.theme-ashen.screen-battle-active .combatant-enemy.hit-critical,
  body.theme-ashen.screen-battle-active .combatant-enemy.hit-power,
  body.theme-ashen.screen-battle-active .combatant-enemy.response-counter,
  body.theme-ashen.screen-battle-active .combatant-enemy.response-parry {
    animation-name: ffRc48ImpactEnemyReduced !important;
  }

  body.theme-ashen.screen-battle-active .combatant-hero.hit,
  body.theme-ashen.screen-battle-active .combatant-hero.hit-strong,
  body.theme-ashen.screen-battle-active .combatant-hero.hit-perfect,
  body.theme-ashen.screen-battle-active .combatant-hero.hit-critical,
  body.theme-ashen.screen-battle-active .combatant-hero.hit-power,
  body.theme-ashen.screen-battle-active .combatant-hero.poison-tick {
    animation-name: ffRc48ImpactHeroReduced !important;
  }
}

/* -------------------------------------------------------------------------
 * Chapter II personal reward: make the epic rarity explicit, not implied by art.
 * ---------------------------------------------------------------------- */

/* -------------------------------------------------------------------------
 * Patrol: compact but readable expected-income presentation.
 * ---------------------------------------------------------------------- */

/* Five ruins floors need ordinary page scrolling and a clear bottom runway. */
body.theme-ashen.screen-ruins-active #ruinsFloorList {
  overflow: visible !important;
  max-height: none !important;
  padding-bottom: calc(var(--ff-bottom-safe, 0px) + 18px);
}
/* Forest Frontier v0.10.0-rc50 — epic trophy bonuses and named epic presentation. */
body.theme-ashen .item-presentation-badge{
  display:inline-flex;align-items:center;width:max-content;max-width:100%;margin-top:5px;padding:4px 8px;
  border:1px solid rgba(181,107,215,.54);border-radius:999px;background:rgba(74,35,88,.42);
  color:#e7b8fa;font-size:10px;font-weight:900;letter-spacing:.08em;line-height:1.1;text-transform:uppercase;
}
body.theme-ashen .item-presentation-badge.compact{margin-top:3px;padding:3px 6px;font-size:8.5px}
body.theme-ashen .item-presentation-badge.guardian-trophy{
  border-color:rgba(224,180,91,.66);background:linear-gradient(135deg,rgba(87,39,103,.58),rgba(92,61,25,.5));color:#f2d28e;
}
body.theme-ashen .item-presentation-badge.named-epic{
  border-color:rgba(237,199,104,.76);background:linear-gradient(135deg,rgba(93,37,108,.65),rgba(113,75,29,.56));color:#ffe0a0;
}
body.theme-ashen .item-special-bonus-list{display:grid;gap:5px;margin-top:7px;min-width:0}
body.theme-ashen .item-special-bonus-list.compact{gap:3px;margin-top:4px}
body.theme-ashen .item-special-bonus-line{
  display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:4px 10px;min-width:0;padding:7px 9px;
  border:1px solid rgba(75,184,191,.38);border-radius:10px;background:linear-gradient(135deg,rgba(18,59,61,.46),rgba(29,32,47,.5));
  color:#bceaf0;font-size:12px;line-height:1.2;
}
body.theme-ashen .item-special-bonus-list.compact .item-special-bonus-line{padding:4px 6px;border-radius:8px;font-size:10px}
body.theme-ashen .item-special-bonus-line b{color:#9ddde4;font-weight:800}
body.theme-ashen .item-special-bonus-line strong{color:#dcfbff;font-weight:900}
body.theme-ashen .item-special-bonus-line.guardian{
  border-color:rgba(232,190,91,.48);background:linear-gradient(135deg,rgba(67,38,75,.57),rgba(83,58,22,.5));color:#f4d999;
}
body.theme-ashen .item-special-bonus-line.guardian b{color:#e8bd69}
body.theme-ashen .item-special-bonus-line.guardian strong{color:#ffe7a7}
body.theme-ashen .item-unique-passive{
  display:grid;gap:4px;margin-top:9px;padding:10px 11px;border:1px solid rgba(230,193,99,.43);border-radius:12px;
  background:linear-gradient(145deg,rgba(77,31,91,.5),rgba(72,51,22,.42));
}
body.theme-ashen .item-unique-passive.compact{gap:2px;margin-top:5px;padding:6px 7px;border-radius:9px}
body.theme-ashen .item-unique-passive small{color:#c8aee0;font-size:9px;font-weight:900;letter-spacing:.1em;text-transform:uppercase}
body.theme-ashen .item-unique-passive strong{color:#f4d88f;font-size:14px}
body.theme-ashen .item-unique-passive p{margin:0;color:#d7d2c3;font-size:12px;line-height:1.4}
body.theme-ashen .item-unique-passive.compact strong{font-size:11px}
body.theme-ashen .item-unique-passive.compact p{font-size:10px;line-height:1.28}
body.theme-ashen .item-surface-card.guardian-trophy,
body.theme-ashen .inventory-detail-card.guardian-trophy{
  border-color:rgba(214,163,75,.7)!important;box-shadow:inset 0 0 0 1px rgba(155,76,184,.3),0 0 24px rgba(188,125,56,.12)!important;
}
body.theme-ashen .item-surface-card.named-epic,
body.theme-ashen .inventory-detail-card.named-epic{
  border-color:rgba(237,197,96,.78)!important;box-shadow:inset 0 0 0 1px rgba(189,88,220,.38),0 0 28px rgba(225,175,67,.15)!important;
}
body.theme-ashen .item-card-layout.guardian-trophy .item-icon,
body.theme-ashen .item-card-layout.named-epic .item-icon{
  box-shadow:inset 0 0 0 1px rgba(235,194,98,.42),0 0 14px rgba(194,117,53,.14);
}
@media(max-width:520px){
  body.theme-ashen .item-special-bonus-line{font-size:11px}
  body.theme-ashen .item-unique-passive{padding:8px 9px}
}
