@keyframes blink{0%,to{opacity:1}50%{opacity:0}}.ai-cursor{display:inline-block;width:2px;height:1.1em;background:#00d4ff;margin-left:2px;vertical-align:text-bottom;animation:blink .8s step-end infinite}@keyframes pulse-live{0%,to{box-shadow:0 0 0 0 rgba(34,197,94,.5)}50%{box-shadow:0 0 8px 3px rgba(34,197,94,.25)}}@keyframes pulse-training{0%,to{box-shadow:0 0 0 0 rgba(245,158,11,.5)}50%{box-shadow:0 0 8px 3px rgba(245,158,11,.25)}}@keyframes pulse-rd{0%,to{box-shadow:0 0 0 0 rgba(139,92,246,.5)}50%{box-shadow:0 0 8px 3px rgba(139,92,246,.25)}}.status-live{animation:pulse-live 2.5s ease-in-out infinite}.status-training{animation:pulse-training 2.5s ease-in-out infinite}.status-rd{animation:pulse-rd 2.5s ease-in-out infinite}@keyframes hero-glow{0%,to{opacity:.12;transform:scale(1)}50%{opacity:.2;transform:scale(1.05)}}.ai-hero-glow{animation:hero-glow 6s ease-in-out infinite}@keyframes scanline{0%{transform:translateY(-100%)}to{transform:translateY(100vh)}}.ai-scanline{position:absolute;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,rgba(0,212,255,.08),transparent);animation:scanline 8s linear infinite;pointer-events:none}.phase-card{transition:transform .3s ease,border-color .3s ease,box-shadow .3s ease}.phase-card:hover{transform:translateY(-4px)}@keyframes stream{0%{opacity:0;transform:translateY(8px)}20%{opacity:1}80%{opacity:1}to{opacity:0;transform:translateY(-8px)}}.data-stream-dot{animation:stream 2s ease-in-out infinite}.ai-grid{background-image:linear-gradient(90deg,rgba(0,212,255,.03) 1px,transparent 0),linear-gradient(180deg,rgba(0,212,255,.03) 1px,transparent 0);background-size:48px 48px}.ai-noise{position:absolute;inset:0;opacity:.025;pointer-events:none;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noise'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noise)'/%3E%3C/svg%3E");background-size:256px 256px}@keyframes fadeInUp{0%{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}.ai-fade-in{animation:fadeInUp .7s ease-out both}.ai-delay-1{animation-delay:.1s}.ai-delay-2{animation-delay:.2s}.ai-delay-3{animation-delay:.3s}