/* ============================================================
   Telegram Proxy · 动效层（克制：仅呼吸指示与入场）
   ============================================================ */

/* 状态点呼吸 */
.status-pulse,.status-dot,.live-indicator i{animation:pulse-dot 2.6s ease-in-out infinite}
@keyframes pulse-dot{
  0%,100%{box-shadow:0 0 0 3px rgba(22,163,74,.13)}
  50%{box-shadow:0 0 0 6px rgba(22,163,74,0)}
}

/* 概览页首屏依次浮现（轻量） */
.active-section .welcome-row{animation:rise-in .3s var(--ease) both}
.active-section .kpi-card:nth-child(1){animation:rise-in .3s .04s var(--ease) both}
.active-section .kpi-card:nth-child(2){animation:rise-in .3s .08s var(--ease) both}
.active-section .kpi-card:nth-child(3){animation:rise-in .3s .12s var(--ease) both}
.active-section .usage-card{animation:rise-in .3s .16s var(--ease) both}
.active-section .content-grid{animation:rise-in .3s .2s var(--ease) both}
.active-section .status-card{animation:rise-in .3s .24s var(--ease) both}
@keyframes rise-in{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}

@media(prefers-reduced-motion:reduce){
  .status-pulse,.status-dot,.live-indicator i{animation:none}
}
