@tailwind base; @tailwind components; @tailwind utilities; @import url('https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800;900&family=JetBrains+Mono:wght@400;500&display=swap'); :root { --color-orange: #f97316; --color-orange-light: #fb923c; --color-blue: #2563eb; --color-blue-light: #60a5fa; --color-dark: #18212f; --color-darker: #111925; } * { box-sizing: border-box; } html { scroll-behavior: smooth; } body { background-color: #f0f4f8; color: #1a202c; font-family: 'Inter', system-ui, sans-serif; -webkit-font-smoothing: antialiased; } .dark body { background-color: #18212f; color: #f1f5f9; } @layer components { /* Primary button – orange, darkens on hover */ .btn-primary { @apply inline-flex items-center justify-center rounded-xl bg-orange-500 text-white font-bold transition-all duration-200 hover:bg-orange-600 hover:scale-[1.03] hover:shadow-lg hover:shadow-orange-900/40 active:scale-[0.98]; } /* Secondary button – outlined, fills subtly on hover */ .btn-secondary { @apply inline-flex items-center justify-center rounded-xl border border-slate-300 text-slate-700 font-semibold transition-all duration-200 hover:bg-slate-100 hover:border-slate-400 hover:text-slate-900 active:scale-[0.98] dark:border-gray-600 dark:text-slate-300 dark:hover:bg-white/5 dark:hover:border-gray-400 dark:hover:text-white; } /* Small nav button */ .btn-nav { @apply px-4 py-2 rounded-lg bg-orange-500 text-white text-sm font-bold transition-all duration-200 hover:bg-orange-600 hover:shadow-md hover:shadow-orange-900/30 active:scale-[0.97]; } } @layer utilities { .text-gradient { @apply bg-gradient-to-r from-blue-400 to-blue-600 bg-clip-text text-transparent; } .text-gradient-orange { @apply bg-gradient-to-r from-orange-400 to-orange-500 bg-clip-text text-transparent; } /* Dot matrix – default background pattern */ .bg-grid { background-image: radial-gradient(rgba(249, 115, 22, 0.06) 1px, transparent 1px); background-size: 28px 28px; } /* Alt: subtle line grid */ .bg-grid-lines { background-image: linear-gradient(rgba(249, 115, 22, 0.05) 1px, transparent 1px), linear-gradient(90deg, rgba(249, 115, 22, 0.05) 1px, transparent 1px); background-size: 60px 60px; } /* Alt: diagonal hatching */ .bg-diagonal { background-image: repeating-linear-gradient( -45deg, rgba(249, 115, 22, 0.04) 0px, rgba(249, 115, 22, 0.04) 1px, transparent 1px, transparent 14px ); } .card-hover { @apply transition-all duration-300 hover:-translate-y-1 hover:shadow-lg hover:shadow-orange-500/10; } } /* Dark-mode bg-grid override — must live outside @layer so it wins over the base rule */ .dark .bg-grid { background-image: radial-gradient(rgba(249, 115, 22, 0.15) 1px, transparent 1px); } /* Tagline ticker animation */ @keyframes ticker-scroll { 0% { transform: translateX(0); } 100% { transform: translateX(-50%); } } .animate-ticker { animation: ticker-scroll 25s linear infinite; } /* Legal pages content styling */ .legal-content section { margin-bottom: 2.5rem; } .legal-content h2 { font-size: 1.25rem; font-weight: 700; color: #1a202c; margin-bottom: 0.75rem; margin-top: 2rem; padding-bottom: 0.5rem; border-bottom: 1px solid #cbd5e0; } .legal-content h3 { font-size: 0.95rem; font-weight: 600; color: #ea6c00; margin-top: 1.25rem; margin-bottom: 0.4rem; text-transform: uppercase; letter-spacing: 0.05em; } .legal-content p { color: #4a5568; line-height: 1.8; margin-bottom: 0.75rem; font-size: 0.925rem; } .legal-content ul { list-style: none; padding: 0; margin: 0.75rem 0 1rem 0; } .legal-content ul li { color: #4a5568; font-size: 0.925rem; line-height: 1.75; padding-left: 1.25rem; position: relative; margin-bottom: 0.5rem; } .legal-content ul li::before { content: ''; position: absolute; left: 0; top: 0.65rem; width: 6px; height: 6px; border-radius: 50%; background: #f97316; } .legal-content a { color: #2563eb; text-decoration: underline; text-underline-offset: 3px; } .legal-content a:hover { color: #f97316; } .legal-content strong { color: #1a202c; font-weight: 600; } .legal-content .note { background: #e8eef4; border-left: 3px solid #f97316; padding: 0.75rem 1rem; border-radius: 0 0.5rem 0.5rem 0; margin: 0.75rem 0; } .legal-content .note p { margin-bottom: 0; font-size: 0.875rem !important; } /* Legal pages – dark mode overrides */ .dark .legal-content h2 { color: #f1f5f9; border-bottom-color: #2d3748; } .dark .legal-content h3 { color: #fb923c; } .dark .legal-content p, .dark .legal-content ul li { color: #94a3b8; } .dark .legal-content a { color: #60a5fa; } .dark .legal-content a:hover { color: #fb923c; } .dark .legal-content strong { color: #e2e8f0; } .dark .legal-content .note { background: #1e2a3d; } /* Scrollbar */ ::-webkit-scrollbar { width: 6px; } ::-webkit-scrollbar-track { background: #e8eef4; } ::-webkit-scrollbar-thumb { background: #94a3b8; border-radius: 3px; } ::-webkit-scrollbar-thumb:hover { background: #f97316; } .dark ::-webkit-scrollbar-track { background: #18212f; } .dark ::-webkit-scrollbar-thumb { background: #2d3748; } .dark ::-webkit-scrollbar-thumb:hover { background: #f97316; }