/* TubeGenix — Features grid keyframes only (layout/colour live inline on the markup).
   Global body/a resets from the original file are intentionally omitted so this does
   not override the site's fonts/background. */
@keyframes f-type { 0%,6% { width:0; } 40%,100% { width:100%; } }
@keyframes f-caret { 0%,49% { opacity:1; } 50%,100% { opacity:0; } }
@keyframes f-wave { 0%,100% { transform:scaleY(.28); } 50% { transform:scaleY(1); } }
@keyframes f-sweep { 0% { transform:translateX(-100%); } 100% { transform:translateX(320%); } }
@keyframes f-glow { 0%,100% { opacity:.35; } 50% { opacity:.85; } }
@keyframes f-pop { 0%,55% { transform:scale(1); box-shadow:0 6px 16px rgba(0,0,0,.22); } 66% { transform:scale(1.05); } 78%,100% { transform:scale(1); } }
@keyframes f-playhead { 0% { left:6%; } 100% { left:96%; } }
@keyframes f-spin { 0% { transform:rotate(0deg) scale(.9); } 50% { transform:rotate(180deg) scale(1.08); } 100% { transform:rotate(360deg) scale(.9); } }
@keyframes f-blink { 0%,100% { opacity:.32; } 50% { opacity:1; } }
@keyframes f-slide-dot { 0% { left:8%; } 50% { left:52%; } 100% { left:8%; } }
@keyframes f-fade-cycle-1 { 0%,26% { opacity:1; transform:translateY(0); } 34%,100% { opacity:.35; transform:translateY(2px); } }
@keyframes f-fade-cycle-2 { 0%,30% { opacity:.35; } 40%,66% { opacity:1; } 74%,100% { opacity:.35; } }
@keyframes f-fade-cycle-3 { 0%,66% { opacity:.35; } 76%,100% { opacity:1; } }
@keyframes f-arrow { 0%,100% { transform:translateX(0); opacity:.6; } 50% { transform:translateX(5px); opacity:1; } }
@keyframes f-rise { 0%,14% { opacity:0; transform:translateY(6px); } 26%,100% { opacity:1; transform:translateY(0); } }
@keyframes f-nf-cursor { 0%,30% { transform:translate(96px,150px); opacity:0; } 38% { opacity:1; } 62% { transform:translate(150px,86px); opacity:1; } 88% { transform:translate(150px,86px); opacity:1; } 100% { transform:translate(150px,86px); opacity:0; } }
@keyframes f-nf-select { 0%,60% { border-color:rgba(255,255,255,.07); background:rgba(255,255,255,.05); } 70%,100% { border-color:rgba(255,120,140,.55); background:rgba(255,255,255,.09); } }
@media (prefers-reduced-motion: reduce) { [style*="animation"] { animation:none !important; } }
