@import "tailwindcss"; @theme { --font-heading: "Syne", sans-serif; --font-body: "DM Sans", sans-serif; --font-mono: "JetBrains Mono", monospace; --color-accent: #22d3ee; --color-accent-hover: #67e8f9; --color-surface: #18181b; --color-surface-2: #27272a; --color-border: #3f3f46; } @layer base { html { scroll-behavior: smooth; } body { background-color: #09090b; color: #fafafa; font-family: var(--font-body); -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; } h1, h2, h3, h4, h5, h6 { font-family: var(--font-heading); } code, pre, .mono { font-family: var(--font-mono); } * { border-color: #3f3f46; } ::selection { background-color: rgba(34, 211, 238, 0.25); color: #fafafa; } ::-webkit-scrollbar { width: 6px; } ::-webkit-scrollbar-track { background: #09090b; } ::-webkit-scrollbar-thumb { background: #3f3f46; border-radius: 3px; } ::-webkit-scrollbar-thumb:hover { background: #52525b; } } /* Scroll-triggered animation */ @keyframes fadeInUp { from { opacity: 0; transform: translateY(28px); } to { opacity: 1; transform: translateY(0); } } .reveal { opacity: 0; transform: translateY(28px); } .reveal.visible { animation: fadeInUp 0.55s ease-out forwards; } /* Stagger delays for project cards */ .reveal-delay-1 { animation-delay: 0.05s; } .reveal-delay-2 { animation-delay: 0.12s; } .reveal-delay-3 { animation-delay: 0.19s; } .reveal-delay-4 { animation-delay: 0.26s; } .reveal-delay-5 { animation-delay: 0.33s; } /* Gradient text utility */ .text-gradient { background: linear-gradient(135deg, #22d3ee 0%, #67e8f9 50%, #a5f3fc 100%); -webkit-background-clip: text; -webkit-text-fill-color: transparent; background-clip: text; } /* Accent glow effect */ .glow-accent { box-shadow: 0 0 24px rgba(34, 211, 238, 0.18); } /* Chat scrollbar */ .chat-scroll::-webkit-scrollbar { width: 4px; } .chat-scroll::-webkit-scrollbar-track { background: transparent; } .chat-scroll::-webkit-scrollbar-thumb { background: #3f3f46; border-radius: 2px; }