/* ============================================================
   省电模式（body.powersave）—— 移动端/电脑端默认开启，设置里可关
     发热三大头里属于「改观感」的两块在此处理（第三块特效降帧由 JS 控 fxApp.ticker）：
       1. 关毛玻璃：backdrop-filter 在「会动的背景」上每帧重算高斯模糊，是移动 GPU 最贵操作之一。
          全项目 40+ 处 backdrop-filter，既有 var(--glass-blur) 也有硬编码 blur(N) →
          用 body.powersave 下的全局 !important 一刀切，不漏任何一处。
       2. 静态背景：Pixi 油彩由 JS 停 bg ticker 冻结（见 oil-shader.setBackgroundStatic）；
          WebGL 不可用时的 CSS 漩涡兜底动画在此冻结。
     关掉毛玻璃后，半透明玻璃面板会直接糊在背景上 → 同步提高面板底色不透明度，保证可读。
   ============================================================ */

/* —— 关毛玻璃：覆盖所有 backdrop-filter（含 ::before/::after 与硬编码 blur 值）—— */
body.powersave,
body.powersave *,
body.powersave *::before,
body.powersave *::after {
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
}

/* —— 补不透明：关模糊后玻璃面板靠底色保证文字可读（提高 alpha，非纯无感，省电模式的取舍）—— */
body.powersave {
  --glass-blur: none;
  --bg-panel: rgba(11, 34, 24, 0.94);
  --bg-panel-deep: rgba(4, 20, 13, 0.96);
  --bg-overlay: rgba(4, 10, 8, 0.94);
  --bg-input: rgba(8, 28, 20, 0.96);
  --tooltip-bg: rgba(8, 18, 13, 0.98);
}

/* —— 静态背景：冻结 CSS 漩涡兜底动画（WebGL 降级时）。Pixi 油彩另由 JS 停 ticker 冻结 —— */
body.powersave .swirl-layer,
body.powersave .swirl-center {
  animation: none !important;
}

/* —— 冻结装饰性循环动画（grep infinite 逐个评估的结果）——
     卡面流光（.card::after 每张牌常驻 cardShine！）/ foil/holo/polychrome 流光 /
     等待脉冲 / 选目标提示脉冲 —— 状态仍由文字/底色传达，仅去掉每帧重绘。
     保留：audioPulse（解锁前的短暂引导）、rotateHint（竖屏遮罩，对局被挡时才显示）。 */
body.powersave .card::after,
body.powersave .card.foil::after,
body.powersave .card.holo::before,
body.powersave .card.holo::after,
body.powersave .card.polychrome,
body.powersave .pulse,
body.powersave .lobby-waiting,
body.powersave .opponent-bar .opponent-status.waiting,
body.powersave .play-hint,
body.powersave .sw-opp-head b {
  animation: none !important;
}

/* 1 命告急的心跳闪烁停掉后，给静态高亮色保住警示信号 */
body.powersave .lives-crit .lives-heart.full,
body.powersave .livesbar.lives-crit .lives-heart.full {
  animation: none !important;
  color: #ff5577;
  text-shadow: 0 0 10px rgba(255, 100, 120, .8);
}

/* 背景漂浮粒子整层隐藏（animation:none 会留下静态色点） */
body.powersave #ambient-particles { display: none; }
