/* ============================================================================
 * scene.css —— 各脉修炼场换肤（九脉换色 / 换母题）+ VFX 六态落点
 * 依据：design/art/visual-experience.md §1.2（九脉换肤）§三（VFX 六态纪律）
 *
 * 🔒 换肤只覆盖语义层变量，不引入任何位图；本轮回只上色 MVP 两脉（言灵 / 衡律），
 *    其余七脉在 lanes.js 里 open:false，首页只作剪影（见 shell.css .lane-grid）。
 * 🔒 VFX 全局纪律（来自 tokens.css，不可超）：
 *     仅 transform / opacity；全局禁红；高频微交互 ≤100ms、单交互 ≤150ms、
 *     结算 ≤500ms、破境 ≤1200ms；失败态复用 base.css data-state="dim"（不重造）。
 * 🔒 六态落点（避免重复造轮子）：
 *     铭刻点亮 → .rune[data-state="inscribed"]（下）
 *     灵石获取 → .stone-delta（shell.css floatUp）
 *     法宝认主 → .loot[data-kind="artifact"]（下）
 *     破境     → .ascend（settle.css）
 *     符文黯淡 → .rune[data-state="dim"]（base.css，复用）
 *     任务完成 → .quest[data-done="1"]（shell.css）
 * ========================================================================== */

/* ============================ 各脉修炼场换肤 ============================ */

/* 言灵脉：主色偏青玉冷（jade），脉匾与「可攻关」描边转青玉 */
.levels[data-scene="yanling"] {
  --accent: var(--ok);
  --accent-on: #FFFFFF;
  --accent-text: var(--ok-text);
  padding: 12px;
  border-radius: var(--r-lg);
  border: 1px solid var(--border);
  background: var(--surface-2);
}

/* 衡律脉：主色偏镇重（鎏金深，取「秤与刻度」的庄重），
 *   母题靠中性面板传达「墨青沉」，不强行用深墨青做描边（暗底对比不足）。 */
.levels[data-scene="henglu"] {
  --accent: var(--ornament);
  --accent-on: #FFFFFF;
  --accent-text: var(--ornament);
  padding: 12px;
  border-radius: var(--r-lg);
  border: 1px solid var(--border);
  background: var(--surface-2);
}

/* 未开脉占位（预留钩子，暂不上色） */
.levels[data-scene="default"] { }

/* ============================ VFX 六态（仅 transform / opacity） ============================ */

/* 铭刻点亮：符文自暗转灵光描边 + 微扩（≤100ms，无回弹、无红） */
@keyframes vfxLit {
  from { transform: scale(1);    }
  to   { transform: scale(1.04); }
}
.rune[data-state="inscribed"] {
  animation: vfxLit var(--dur-micro) var(--ease-enter);
}

/* 法宝认主：鎏金流光扫过（≤150ms，降级即静态显示） */
@keyframes vfxGilt {
  from { opacity: .3; filter: brightness(1.5); }
  to   { opacity: 1;  filter: brightness(1);   }
}
.loot[data-kind="artifact"] {
  animation: vfxGilt var(--dur-inter) var(--ease-enter);
}
