@import "tw-animate-css"; @plugin "@tailwindcss/typography"; @theme inline { --animate-marquee: marquee var(--duration) infinite linear; --animate-marquee-vertical: marquee-vertical var(--duration) linear infinite; --animate-fade-in: fade-in 1s var(--animation-delay, 0s) ease forwards; --animate-fade-up: fade-up 1s var(--animation-delay, 0s) ease forwards; --animate-image-glow: image-glow 4.1s ease-out 1s forwards; --animate-pulse-ring: pulse-ring 1.5s cubic-bezier(0.4, 0, 0.6, 1) infinite; --animate-voice-bars: voice-bars 0.5s ease-in-out infinite; @keyframes marquee { from { transform: translateX(0); } to { transform: translateX(calc(-100% - var(--gap))); } } @keyframes marquee-vertical { from { transform: translateY(0); } to { transform: translateY(calc(-100% - var(--gap))); } } @keyframes fade-in { 0% { opacity: 0; translate: 0 -10px; filter: blur(4px); } 100% { opacity: 1; translate: 0 0; filter: blur(0px); } } @keyframes fade-up { 0% { opacity: 0; translate: 0 20px; filter: blur(4px); } 100% { opacity: 1; translate: 0 0; filter: blur(0px); } } @keyframes image-glow { 0% { opacity: 0; animation-timing-function: cubic-bezier(0.74, 0.25, 0.76, 1); } 10% { opacity: 0.7; animation-timing-function: cubic-bezier(0.12, 0.01, 0.08, 0.99); } 100% { opacity: 0.4; } } @keyframes pulse-ring { 0%, 100% { box-shadow: 0 0 0 0 rgba(239, 68, 68, 0.7); } 50% { box-shadow: 0 0 0 8px rgba(239, 68, 68, 0); } } @keyframes voice-bars { 0%, 100% { transform: scaleY(0.3); } 50% { transform: scaleY(1); } } } @layer base { * { @apply border-border outline-ring/50; } html { scroll-behavior: smooth; overscroll-behavior-y: none; } body { @apply bg-background text-foreground; } ::selection { @apply bg-primary text-background; } ::-webkit-scrollbar { @apply h-2 w-2; } ::-webkit-scrollbar-track { @apply bg-muted/30; } ::-webkit-scrollbar-thumb { @apply bg-muted-foreground/20 rounded-lg; } ::-webkit-scrollbar-thumb:hover { @apply bg-muted-foreground/40; } } @utility container { width: 100%; max-width: 100%; margin-inline: auto; padding-inline: 2rem; @variant 2xl { max-width: 1400px; } }