/* ========================================================
   21天旅程地图节点光晕 · 层3 光韵
   [2026-08-18 拍板A] 数值源=TALENT_GLOW_LEVELS(0-100口径, cat_config.json)
   视觉=buildCatGlowHTML 渲染方式；nestGlow/progressGlow 自 challenge_21days.css 移植
   challenge_21days 三件套(v3.0旧口径)已废弃归档，勿回引
   ======================================================== */

/* 节点光晕 halo：径向渐变 + drop-shadow 辉光，随天赋档位渐亮 */
.node-glow-halo {
    position: absolute;
    top: 50%;
    left: 50%;
    width: 52px;
    height: 52px;
    transform: translate(-50%, -50%);
    border-radius: 50%;
    pointer-events: none;
    z-index: 0;
    animation: journeyGlowBreath 3s ease-in-out infinite;
}
@keyframes journeyGlowBreath {
    0%, 100% { transform: translate(-50%, -50%) scale(1); }
    50% { transform: translate(-50%, -50%) scale(1.18); }
}
.journey-node-glow {
    z-index: 2;
}

/* 当前节点：首亮入场动画（nestGlow 一次性点亮；D7 首亮时刻的视觉化） */
.journey-node.current .node-icon.node-firstlight {
    animation: currentPulse 1.5s ease-in-out infinite, nestGlow 1.2s ease-in-out 1;
}
@keyframes nestGlow {
    0%, 100% { filter: brightness(1) saturate(1); }
    50% { filter: brightness(1.35) saturate(1.15); }
}

/* 今日节点：已完成图标光晕过渡 */
.jdn-icon {
    transition: box-shadow 0.8s ease;
}

/* 今日进度条：光韵脉动（progressGlow 自 challenge_21days.css 移植） */
.jdn-progress-fill.jdn-progress-glow {
    animation: progressGlow 2s ease-in-out infinite;
}
@keyframes progressGlow {
    0%, 100% { box-shadow: 0 0 4px rgba(255, 140, 66, 0.4); }
    50% { box-shadow: 0 0 12px rgba(255, 140, 66, 0.8); }
}

/* 低动画偏好设备：静态光晕，关闭动画 */
@media (prefers-reduced-motion: reduce) {
    .node-glow-halo,
    .journey-node.current .node-icon.node-firstlight,
    .jdn-progress-fill.jdn-progress-glow {
        animation: none !important;
    }
}
