@keyframes heartbeat{0%{d:path("M 0,50 L 20,50 L 25,50 L 30,50 L 35,50 L 40,50 L 45,50 L 50,50 L 55,50 L 60,50 L 65,50 L 70,50 L 75,50 L 80,50 L 85,50 L 90,50 L 95,50 L 100,50")}10%{d:path("M 0,50 L 20,50 L 25,50 L 30,50 L 35,50 L 40,50 L 45,50 L 50,50 L 55,50 L 60,50 L 65,50 L 70,50 L 75,50 L 80,50 L 85,50 L 90,50 L 95,50 L 100,50")}15%{d:path("M 0,50 L 20,50 L 25,45 L 30,55 L 35,50 L 40,50 L 45,50 L 50,50 L 55,50 L 60,50 L 65,50 L 70,50 L 75,50 L 80,50 L 85,50 L 90,50 L 95,50 L 100,50")}20%{d:path("M 0,50 L 20,50 L 25,30 L 30,70 L 35,50 L 40,50 L 45,50 L 50,50 L 55,50 L 60,50 L 65,50 L 70,50 L 75,50 L 80,50 L 85,50 L 90,50 L 95,50 L 100,50")}25%{d:path("M 0,50 L 20,50 L 25,20 L 30,80 L 35,45 L 40,55 L 45,50 L 50,50 L 55,50 L 60,50 L 65,50 L 70,50 L 75,50 L 80,50 L 85,50 L 90,50 L 95,50 L 100,50")}30%{d:path("M 0,50 L 20,50 L 25,50 L 30,50 L 35,50 L 40,50 L 45,50 L 50,50 L 55,50 L 60,50 L 65,50 L 70,50 L 75,50 L 80,50 L 85,50 L 90,50 L 95,50 L 100,50")}to{d:path("M 0,50 L 20,50 L 25,50 L 30,50 L 35,50 L 40,50 L 45,50 L 50,50 L 55,50 L 60,50 L 65,50 L 70,50 L 75,50 L 80,50 L 85,50 L 90,50 L 95,50 L 100,50")}}.heartbeat-line{stroke:var(--accent,#f5f5f0);stroke-width:2px;fill:none;opacity:.3;animation:3s ease-in-out infinite heartbeat}@media (prefers-reduced-motion:reduce){.heartbeat-line{opacity:.2;animation:none}}.heartbeat-container{pointer-events:none;opacity:.5;z-index:0;height:100px;position:absolute;top:0;left:0;right:0;overflow:hidden}@keyframes status-pulse{0%,to{opacity:1}50%{opacity:.7}}.status-in-progress{animation:2s ease-in-out infinite status-pulse}@media (prefers-reduced-motion:reduce){.status-in-progress{animation:none}}.stat-card{transition:transform .2s,border-color .2s}.stat-card:hover{transform:translateY(-2px)}@media (prefers-reduced-motion:reduce){.stat-card:hover{transform:none}}@keyframes time-indicator-pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.7;transform:scale(1.2)}}.time-indicator-dot{animation:2s ease-in-out infinite time-indicator-pulse}@media (prefers-reduced-motion:reduce){.time-indicator-dot{animation:none}}@keyframes slide-up{0%{opacity:0;transform:translateY(100%)}to{opacity:1;transform:translateY(0)}}.animate-slide-up{animation:.3s ease-out slide-up}@media (prefers-reduced-motion:reduce){.animate-slide-up{animation:none}}@keyframes shimmer{0%{transform:translate(-100%)}to{transform:translate(100%)}}.animate-shimmer{animation:2s infinite shimmer}@media (prefers-reduced-motion:reduce){.animate-shimmer{animation:none}}
