/* V1.48 · Momentum delta language, full-charge threshold and restrained resource cadence. */
html body:not(.maintenance-mode) #appRoot#appRoot#appRoot.app #battle#battle#battle.battle:not([hidden]) .energy.energy.energy[data-momentum-feedback="v148"] {
  position: relative !important;
  isolation: isolate !important;
}

html body:not(.maintenance-mode) #appRoot#appRoot#appRoot.app #battle#battle#battle.battle:not([hidden]) .energy.energy.energy[data-momentum-state="full"] {
  border-color: rgba(255, 207, 91, .62) !important;
  box-shadow:
    0 0 0 1px rgba(255, 215, 112, .16),
    0 0 15px rgba(255, 186, 54, .17),
    inset 0 1px 0 rgba(255, 248, 211, .22) !important;
}

html body:not(.maintenance-mode) #appRoot#appRoot#appRoot.app #battle#battle#battle.battle:not([hidden]) .energy.energy.energy[data-momentum-state="full"]::after {
  content: "" !important;
  position: absolute !important;
  z-index: 0 !important;
  inset: 2px !important;
  pointer-events: none !important;
  border: 1px solid rgba(255, 220, 126, .42) !important;
  border-radius: inherit !important;
  opacity: .42 !important;
  animation: momentum-full-breathe 1.8s ease-in-out infinite !important;
}

html body:not(.maintenance-mode) #appRoot#appRoot#appRoot.app #battle#battle#battle.battle:not([hidden]) .energy.energy.energy.momentum-gain {
  animation: momentum-meter-gain 520ms cubic-bezier(.12,.78,.2,1) both !important;
}

html body:not(.maintenance-mode) #appRoot#appRoot#appRoot.app #battle#battle#battle.battle:not([hidden]) .energy.energy.energy.momentum-spend {
  animation: momentum-meter-spend 440ms cubic-bezier(.2,.72,.24,1) both !important;
}

html body:not(.maintenance-mode) #appRoot#appRoot#appRoot.app #battle#battle#battle.battle:not([hidden]) .energy.energy.energy.momentum-ready {
  animation: momentum-meter-ready 760ms cubic-bezier(.14,.8,.18,1) both !important;
}

html body:not(.maintenance-mode) #appRoot#appRoot#appRoot.app #battle#battle#battle.battle:not([hidden]) .energy.energy.energy .stat-marks > i.is-momentum-new {
  animation: momentum-token-gain 520ms cubic-bezier(.16,.82,.2,1) both !important;
}

html body:not(.maintenance-mode) #appRoot#appRoot#appRoot.app #battle#battle#battle.battle:not([hidden]) .energy.energy.energy .stat-marks > i.is-momentum-spent {
  animation: momentum-token-spend 440ms ease-out both !important;
}

html body:not(.maintenance-mode) #appRoot#appRoot#appRoot.app #battle#battle#battle.battle:not([hidden]) .energy.energy.energy > .momentum-delta {
  position: absolute !important;
  z-index: 8 !important;
  top: 50% !important;
  right: 4px !important;
  min-width: 28px !important;
  margin: 0 !important;
  padding: 3px 5px !important;
  pointer-events: none !important;
  border: 1px solid rgba(255, 226, 146, .68) !important;
  border-radius: 999px !important;
  color: #fff7d3 !important;
  -webkit-text-fill-color: #fff7d3 !important;
  background: linear-gradient(135deg, rgba(90, 59, 14, .94), rgba(21, 30, 39, .94)) !important;
  box-shadow: 0 5px 14px rgba(0,0,0,.28), 0 0 12px rgba(255, 191, 58, .22) !important;
  font: 950 10px/1 system-ui, "Microsoft YaHei", sans-serif !important;
  font-style: normal !important;
  font-variant-numeric: tabular-nums !important;
  letter-spacing: .01em !important;
  white-space: nowrap !important;
  transform: translateY(-50%) !important;
  animation: momentum-delta-in 720ms cubic-bezier(.16,.82,.2,1) both !important;
}

html body:not(.maintenance-mode) #appRoot#appRoot#appRoot.app #battle#battle#battle.battle:not([hidden]) .energy.energy.energy > .momentum-delta.spend {
  border-color: rgba(255, 145, 118, .66) !important;
  color: #ffe6de !important;
  -webkit-text-fill-color: #ffe6de !important;
  background: linear-gradient(135deg, rgba(104, 43, 34, .94), rgba(26, 27, 35, .94)) !important;
  box-shadow: 0 5px 14px rgba(0,0,0,.28), 0 0 10px rgba(255, 104, 77, .18) !important;
}

html body:not(.maintenance-mode) #appRoot#appRoot#appRoot.app #battle#battle#battle.battle:not([hidden]) .energy.energy.energy > .momentum-delta.ready {
  min-width: 58px !important;
  border-color: rgba(255, 232, 151, .84) !important;
  background: linear-gradient(135deg, rgba(142, 94, 14, .97), rgba(47, 40, 22, .97)) !important;
  box-shadow: 0 5px 16px rgba(0,0,0,.3), 0 0 18px rgba(255, 198, 64, .34) !important;
}

@keyframes momentum-meter-gain {
  0% { box-shadow: 0 0 0 rgba(255, 196, 59, 0); }
  42% { box-shadow: 0 0 0 1px rgba(255, 222, 128, .42), 0 0 16px rgba(255, 188, 43, .32); }
  100% { box-shadow: 0 0 0 rgba(255, 196, 59, 0); }
}

@keyframes momentum-meter-spend {
  0% { box-shadow: 0 0 0 rgba(255, 104, 77, 0); }
  38% { box-shadow: 0 0 0 1px rgba(255, 145, 118, .34), inset 0 0 12px rgba(150, 43, 31, .22); }
  100% { box-shadow: 0 0 0 rgba(255, 104, 77, 0); }
}

@keyframes momentum-meter-ready {
  0% { box-shadow: 0 0 0 rgba(255, 211, 101, 0); }
  34% { box-shadow: 0 0 0 2px rgba(255, 232, 157, .56), 0 0 24px rgba(255, 184, 38, .42); }
  100% { box-shadow: 0 0 0 1px rgba(255, 215, 112, .16), 0 0 15px rgba(255, 186, 54, .17); }
}

@keyframes momentum-token-gain {
  0% { opacity: .2; transform: scale(.66); filter: brightness(1.8) saturate(1.25); }
  54% { opacity: 1; transform: scale(1.24); filter: brightness(1.45) saturate(1.16); }
  100% { opacity: 1; transform: scale(1); filter: none; }
}

@keyframes momentum-token-spend {
  0% { opacity: 1; transform: scale(1); filter: brightness(1.35); }
  62% { opacity: .24; transform: scale(.72); filter: saturate(.45); }
  100% { opacity: .44; transform: scale(1); filter: blur(.35px) saturate(.7); }
}

@keyframes momentum-delta-in {
  0% { opacity: 0; transform: translate(6px, -50%) scale(.86); }
  20%, 72% { opacity: 1; transform: translate(0, -50%) scale(1); }
  100% { opacity: 0; transform: translate(-3px, -62%) scale(.96); }
}

@keyframes momentum-full-breathe {
  0%, 100% { opacity: .3; }
  50% { opacity: .62; }
}

@media (max-width: 720px) {
  html body:not(.maintenance-mode) #appRoot#appRoot#appRoot.app #battle#battle#battle.battle:not([hidden]) .energy.energy.energy > .momentum-delta {
    right: 2px !important;
    min-width: 24px !important;
    padding: 2px 4px !important;
    font-size: 9px !important;
  }

  html body:not(.maintenance-mode) #appRoot#appRoot#appRoot.app #battle#battle#battle.battle:not([hidden]) .energy.energy.energy > .momentum-delta.ready {
    min-width: 50px !important;
  }
}

@media (prefers-reduced-motion: reduce) {
  html body:not(.maintenance-mode) #appRoot#appRoot#appRoot.app #battle#battle#battle.battle:not([hidden]) .energy.energy.energy,
  html body:not(.maintenance-mode) #appRoot#appRoot#appRoot.app #battle#battle#battle.battle:not([hidden]) .energy.energy.energy::after,
  html body:not(.maintenance-mode) #appRoot#appRoot#appRoot.app #battle#battle#battle.battle:not([hidden]) .energy.energy.energy .stat-marks > i,
  html body:not(.maintenance-mode) #appRoot#appRoot#appRoot.app #battle#battle#battle.battle:not([hidden]) .energy.energy.energy > .momentum-delta {
    animation-duration: 100ms !important;
    animation-iteration-count: 1 !important;
  }
}
