@keyframes revealUp { from { opacity:0; transform:translateY(12px); } to { opacity:1; transform:none; } }
@keyframes growBar { from { transform:scaleY(.05); opacity:.2; } to { transform:scaleY(1); opacity:1; } }
@keyframes orbit { from { transform:rotate(0deg); } to { transform:rotate(360deg); } }
@keyframes pulseSoft { 0%,100%{box-shadow:0 0 0 4px rgba(54,185,120,.08)} 50%{box-shadow:0 0 0 7px rgba(54,185,120,.02)} }
.reveal { animation: revealUp .5s var(--ease) both; }
.delay-1 { animation-delay:.07s }.delay-2 { animation-delay:.14s }.delay-3 { animation-delay:.21s }
.orbit-ring.ring-two { animation:orbit 18s linear infinite; }
.status-dot { animation:pulseSoft 2.6s ease-in-out infinite; }
.surface-card { transition: background .3s ease, border-color .3s ease, box-shadow .3s ease; }
@media (prefers-reduced-motion:reduce){ *,*::before,*::after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important} }


@keyframes cyanPulse { 0%,100%{ box-shadow:0 0 0 0 rgba(13,156,166,.14);} 50%{ box-shadow:0 0 0 10px rgba(13,156,166,0);} }
.status-dot { animation:cyanPulse 2.8s ease-in-out infinite; }
