@import url('https://fonts.googleapis.com/css2?family=Bangers&display=swap'); @import url('https://fonts.googleapis.com/css2?family=Raleway:wght@800&display=swap'); @import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,400;0,500;0,600;0,700;1,400;1,500;1,600;1,700&family=Audiowide&display=swap'); @import "../styles/ai-assistant.css"; @tailwind base; @tailwind components; @tailwind utilities; .text-glow { text-shadow: 0 0 15px #39ff14, 0 0 30px #39ff14, 0 0 50px #39ff14, 0 0 80px rgba(57, 255, 20, 0.6); } .dark .text-glow { text-shadow: 0 0 10px #39ff14, 0 0 20px #39ff14, 0 0 35px #39ff14; } @keyframes loading { 0% { transform: translateX(-100%); } 100% { transform: translateX(400%); } } @keyframes pulse-glow-red { 0%, 100% { opacity: 0.12; } 50% { opacity: 0.5; } } @keyframes pulse-glow-blue { 0%, 100% { opacity: 0.12; } 50% { opacity: 0.5; } } @keyframes pulse-glow-intersection { 0%, 100% { opacity: 0.15; } 50% { opacity: 0.65; } } .saber-outer { stroke-width: 30; } .dark .saber-outer { stroke-width: 40; } .saber-mid { stroke-width: 18; } .dark .saber-mid { stroke-width: 24; } .saber-core { stroke-width: 6; } .dark .saber-core { stroke-width: 8; } .saber-blue-outer { stroke-width: 24; } .dark .saber-blue-outer { stroke-width: 40; } .saber-blue-mid { stroke-width: 13; } .dark .saber-blue-mid { stroke-width: 24; } .saber-blue-core { stroke-width: 4; } .dark .saber-blue-core { stroke-width: 8; } .animate-pulse-red { animation: pulse-glow-red 2.5s ease-in-out infinite; } .animate-pulse-blue { animation: pulse-glow-blue 2.8s ease-in-out infinite; } .animate-pulse-intersection { animation: pulse-glow-intersection 2.5s ease-in-out infinite; } @keyframes star-twinkle { 0%, 100% { opacity: 0.1; } 50% { opacity: 0.6; } } @keyframes star-drift { 0% { transform: translate(0, 0); } 50% { transform: translate(3px, -2px); } 100% { transform: translate(0, 0); } } .star-twinkle { animation: star-twinkle 4s ease-in-out infinite, star-drift 20s ease-in-out infinite; } :root { --background: 60 20% 95%; --foreground: 71 20% 16%; --card: 60 29% 97%; --card-foreground: 71 20% 16%; --popover: 60 29% 97%; --popover-foreground: 71 20% 16%; --primary: 0 53% 54%; --primary-foreground: 0 0% 100%; --secondary: 210 47% 56%; --secondary-foreground: 0 0% 100%; --muted: 75 10% 93%; --muted-foreground: 75 10% 52%; --accent: 159 32% 43%; --accent-foreground: 0 0% 100%; --destructive: 0 53% 54%; --destructive-foreground: 0 0% 100%; --border: 80 13% 82%; --input: 80 13% 82%; --ring: 0 53% 54%; --sidebar: 80 17% 92%; --sidebar-foreground: 71 20% 16%; --sidebar-primary: 0 53% 54%; --sidebar-primary-foreground: 0 0% 100%; --sidebar-accent: 80 17% 92%; --sidebar-accent-foreground: 71 20% 16%; --sidebar-border: 80 13% 82%; --sidebar-ring: 0 53% 54%; --radius: 0.5rem; --theme-primary: hsl(var(--primary)); --color-blue: 210 47% 56%; --color-teal: 159 32% 43%; --color-red-tint: 0 62% 95%; --color-blue-tint: 208 54% 93%; --color-teal-tint: 157 35% 91%; --color-avatar: 102 21% 52%; --event-call: 160 84% 39%; --event-follow_up: 38 92% 48%; --event-website_creation: 263 70% 50%; } .dark { /* ── Slate palette tokens ── */ --bg-page: 225 18% 9%; --bg-sidebar: 227 25% 7%; --bg-card: 224 24% 11%; --bg-card-inset: 224 24% 13%; --bg-nav-active: 221 43% 20%; --border: 228 21% 21%; --border-strong: 220 69% 59%; --text-primary: 226 30% 95%; --text-secondary: 228 13% 59%; --text-active: 221 100% 87%; --accent-hover: 220 70% 66%; /* ── Existing CSS variable overrides ── */ --background: 225 18% 9%; --foreground: 226 30% 95%; --card: 224 24% 11%; --card-foreground: 226 30% 95%; --popover: 224 24% 13%; --popover-foreground: 226 30% 95%; --primary: 220 69% 59%; --primary-foreground: 222.2 47.4% 11.2%; --secondary: 224 24% 13%; --secondary-foreground: 226 30% 95%; --muted: 224 24% 13%; --muted-foreground: 228 13% 59%; --accent: 224 24% 13%; --accent-foreground: 226 30% 95%; --destructive: 0 62.8% 30.6%; --destructive-foreground: 210 40% 98%; --border: 228 21% 21%; --input: 228 21% 21%; --ring: 220 69% 59%; --sidebar: 227 25% 7%; --sidebar-foreground: 226 30% 95%; --sidebar-primary: 221 43% 20%; --sidebar-primary-foreground: 221 100% 87%; --sidebar-accent: 224 24% 13%; --sidebar-accent-foreground: 226 30% 95%; --sidebar-border: 228 21% 21%; --sidebar-ring: 220 69% 59%; } .ocean { --primary: 187 75% 42%; --primary-foreground: 210 40% 98%; --ring: 187 75% 42%; --sidebar: 0 0% 100%; --sidebar-foreground: 222.2 84% 4.9%; --sidebar-primary: 187 75% 42%; --sidebar-primary-foreground: 0 0% 100%; --sidebar-accent: 187 30% 94%; --sidebar-accent-foreground: 187 50% 20%; --sidebar-border: 187 20% 88%; --sidebar-ring: 187 75% 42%; } .dark.ocean { --primary: 187 75% 50%; --primary-foreground: 222.2 47.4% 11.2%; --ring: 187 75% 50%; --sidebar: 222.2 84% 4.9%; --sidebar-foreground: 210 40% 98%; --sidebar-primary: 187 75% 55%; --sidebar-primary-foreground: 0 0% 100%; --sidebar-accent: 217.2 32.6% 17.5%; --sidebar-accent-foreground: 210 40% 98%; --sidebar-border: 217.2 32.6% 17.5%; --sidebar-ring: 187 75% 50%; } .forest { --primary: 142 76% 36%; --primary-foreground: 210 40% 98%; --ring: 142 76% 36%; --sidebar: 0 0% 100%; --sidebar-foreground: 222.2 84% 4.9%; --sidebar-primary: 142 76% 36%; --sidebar-primary-foreground: 0 0% 100%; --sidebar-accent: 142 30% 94%; --sidebar-accent-foreground: 142 50% 20%; --sidebar-border: 142 20% 88%; --sidebar-ring: 142 76% 36%; } .dark.forest { --primary: 142 76% 44%; --primary-foreground: 222.2 47.4% 11.2%; --ring: 142 76% 44%; --sidebar: 222.2 84% 4.9%; --sidebar-foreground: 210 40% 98%; --sidebar-primary: 142 76% 50%; --sidebar-primary-foreground: 0 0% 100%; --sidebar-accent: 217.2 32.6% 17.5%; --sidebar-accent-foreground: 210 40% 98%; --sidebar-border: 217.2 32.6% 17.5%; --sidebar-ring: 142 76% 44%; } .sunset { --primary: 24 95% 53%; --primary-foreground: 210 40% 98%; --ring: 24 95% 53%; --sidebar: 0 0% 100%; --sidebar-foreground: 222.2 84% 4.9%; --sidebar-primary: 24 95% 53%; --sidebar-primary-foreground: 0 0% 100%; --sidebar-accent: 24 30% 94%; --sidebar-accent-foreground: 24 50% 20%; --sidebar-border: 24 20% 88%; --sidebar-ring: 24 95% 53%; } .dark.sunset { --primary: 24 95% 58%; --primary-foreground: 222.2 47.4% 11.2%; --ring: 24 95% 58%; --sidebar: 222.2 84% 4.9%; --sidebar-foreground: 210 40% 98%; --sidebar-primary: 24 95% 65%; --sidebar-primary-foreground: 0 0% 100%; --sidebar-accent: 217.2 32.6% 17.5%; --sidebar-accent-foreground: 210 40% 98%; --sidebar-border: 217.2 32.6% 17.5%; --sidebar-ring: 24 95% 58%; } .midnight { --primary: 230 75% 55%; --primary-foreground: 210 40% 98%; --ring: 230 75% 55%; --sidebar: 0 0% 100%; --sidebar-foreground: 222.2 84% 4.9%; --sidebar-primary: 230 75% 55%; --sidebar-primary-foreground: 0 0% 100%; --sidebar-accent: 230 30% 94%; --sidebar-accent-foreground: 230 50% 20%; --sidebar-border: 230 20% 88%; --sidebar-ring: 230 75% 55%; } .dark.midnight { --primary: 230 75% 62%; --primary-foreground: 222.2 47.4% 11.2%; --ring: 230 75% 62%; --sidebar: 222.2 84% 4.9%; --sidebar-foreground: 210 40% 98%; --sidebar-primary: 230 75% 65%; --sidebar-primary-foreground: 0 0% 100%; --sidebar-accent: 217.2 32.6% 17.5%; --sidebar-accent-foreground: 210 40% 98%; --sidebar-border: 217.2 32.6% 17.5%; --sidebar-ring: 230 75% 62%; } .rose { --primary: 346 77% 50%; --primary-foreground: 210 40% 98%; --ring: 346 77% 50%; --sidebar: 0 0% 100%; --sidebar-foreground: 222.2 84% 4.9%; --sidebar-primary: 346 77% 50%; --sidebar-primary-foreground: 0 0% 100%; --sidebar-accent: 346 30% 94%; --sidebar-accent-foreground: 346 50% 20%; --sidebar-border: 346 20% 88%; --sidebar-ring: 346 77% 50%; } .dark.rose { --primary: 346 77% 58%; --primary-foreground: 222.2 47.4% 11.2%; --ring: 346 77% 58%; --sidebar: 222.2 84% 4.9%; --sidebar-foreground: 210 40% 98%; --sidebar-primary: 346 77% 60%; --sidebar-primary-foreground: 0 0% 100%; --sidebar-accent: 217.2 32.6% 17.5%; --sidebar-accent-foreground: 210 40% 98%; --sidebar-border: 217.2 32.6% 17.5%; --sidebar-ring: 346 77% 58%; } .amber { --primary: 38 92% 50%; --primary-foreground: 210 40% 98%; --ring: 38 92% 50%; --sidebar: 0 0% 100%; --sidebar-foreground: 222.2 84% 4.9%; --sidebar-primary: 38 92% 50%; --sidebar-primary-foreground: 0 0% 100%; --sidebar-accent: 38 30% 94%; --sidebar-accent-foreground: 38 50% 20%; --sidebar-border: 38 20% 88%; --sidebar-ring: 38 92% 50%; } .dark.amber { --primary: 38 92% 56%; --primary-foreground: 222.2 47.4% 11.2%; --ring: 38 92% 56%; --sidebar: 222.2 84% 4.9%; --sidebar-foreground: 210 40% 98%; --sidebar-primary: 38 92% 60%; --sidebar-primary-foreground: 0 0% 100%; --sidebar-accent: 217.2 32.6% 17.5%; --sidebar-accent-foreground: 210 40% 98%; --sidebar-border: 217.2 32.6% 17.5%; --sidebar-ring: 38 92% 56%; } .violet { --primary: 262 83% 58%; --primary-foreground: 210 40% 98%; --ring: 262 83% 58%; --sidebar: 0 0% 100%; --sidebar-foreground: 222.2 84% 4.9%; --sidebar-primary: 262 83% 58%; --sidebar-primary-foreground: 0 0% 100%; --sidebar-accent: 262 30% 94%; --sidebar-accent-foreground: 262 50% 20%; --sidebar-border: 262 20% 88%; --sidebar-ring: 262 83% 58%; } .dark.violet { --primary: 262 83% 65%; --primary-foreground: 222.2 47.4% 11.2%; --ring: 262 83% 65%; --sidebar: 222.2 84% 4.9%; --sidebar-foreground: 210 40% 98%; --sidebar-primary: 262 83% 68%; --sidebar-primary-foreground: 0 0% 100%; --sidebar-accent: 217.2 32.6% 17.5%; --sidebar-accent-foreground: 210 40% 98%; --sidebar-border: 217.2 32.6% 17.5%; --sidebar-ring: 262 83% 65%; } .slate { --primary: 215 20% 45%; --primary-foreground: 210 40% 98%; --ring: 215 20% 45%; --sidebar: 0 0% 100%; --sidebar-foreground: 222.2 84% 4.9%; --sidebar-primary: 215 20% 45%; --sidebar-primary-foreground: 0 0% 100%; --sidebar-accent: 215 20% 94%; --sidebar-accent-foreground: 215 50% 20%; --sidebar-border: 215 20% 88%; --sidebar-ring: 215 20% 45%; } .dark.slate { --primary: 215 20% 60%; --primary-foreground: 222.2 47.4% 11.2%; --ring: 215 20% 60%; --sidebar: 222.2 84% 4.9%; --sidebar-foreground: 210 40% 98%; --sidebar-primary: 215 20% 65%; --sidebar-primary-foreground: 0 0% 100%; --sidebar-accent: 217.2 32.6% 17.5%; --sidebar-accent-foreground: 210 40% 98%; --sidebar-border: 217.2 32.6% 17.5%; --sidebar-ring: 215 20% 60%; } .ruby { --primary: 351 85% 45%; --primary-foreground: 210 40% 98%; --ring: 351 85% 45%; --sidebar: 0 0% 100%; --sidebar-foreground: 222.2 84% 4.9%; --sidebar-primary: 351 85% 45%; --sidebar-primary-foreground: 0 0% 100%; --sidebar-accent: 351 30% 94%; --sidebar-accent-foreground: 351 50% 20%; --sidebar-border: 351 20% 88%; --sidebar-ring: 351 85% 45%; } .dark.ruby { --primary: 351 85% 52%; --primary-foreground: 222.2 47.4% 11.2%; --ring: 351 85% 52%; --sidebar: 222.2 84% 4.9%; --sidebar-foreground: 210 40% 98%; --sidebar-primary: 351 85% 55%; --sidebar-primary-foreground: 0 0% 100%; --sidebar-accent: 217.2 32.6% 17.5%; --sidebar-accent-foreground: 210 40% 98%; --sidebar-border: 217.2 32.6% 17.5%; --sidebar-ring: 351 85% 52%; } .bc-logo { font-family: 'Raleway', sans-serif; font-weight: 800; font-size: 18px; letter-spacing: 0.12em; text-transform: uppercase; color: hsl(var(--sidebar-foreground)); padding: 8px 16px; position: relative; display: inline-block; } .bc-logo .accent { color: var(--theme-primary, #3b91f7); } .bc-logo::before { content: ''; position: absolute; top: 0; left: 0; border-top: 1.5px solid var(--theme-primary, #3b91f7); border-left: 1.5px solid var(--theme-primary, #3b91f7); width: 0; height: 0; animation: drawTL 3s ease-in-out infinite; } .bc-logo::after { content: ''; position: absolute; bottom: 0; right: 0; border-bottom: 1.5px solid var(--theme-primary, #3b91f7); border-right: 1.5px solid var(--theme-primary, #3b91f7); width: 0; height: 0; animation: drawBR 3s ease-in-out infinite; } @keyframes drawTL { 0%, 5% { width: 0; height: 0; } 30% { width: 100%; height: 0; } 55% { width: 100%; height: 100%; } 85% { width: 100%; height: 100%; } 100% { width: 0; height: 0; } } @keyframes drawBR { 0%, 5% { width: 0; height: 0; } 30% { width: 100%; height: 0; } 55% { width: 100%; height: 100%; } 85% { width: 100%; height: 100%; } 100% { width: 0; height: 0; } } @layer base { * { @apply border-border; } body { @apply bg-background text-foreground; font-family: var(--font-inter), ui-sans-serif, system-ui, sans-serif; } } [data-radix-select-trigger] { background-color: hsl(0 0% 100%); } main { position: relative; z-index: 0; } @keyframes drift { 0% { background-position: 0% 0%; } 100% { background-position: 100% 100%; } } /* Login page custom styles */ .left-panel { background: #0a0a0f; position: relative; overflow: hidden; } .right-panel { background: #111118; width: 420px; flex: none; position: relative; } .panel-divider { width: 1px; background: rgba(180, 192, 210, 0.1); flex: none; } .growth-word { position: relative; color: #1BB0CE; } .growth-word::after { content: ""; position: absolute; bottom: -2px; left: 0; width: 100%; height: 2px; background: #1BB0CE; animation: pulseUnderline 2.5s ease-in-out infinite; } @keyframes pulseUnderline { 0%, 100% { background-color: #1BB0CE; } 50% { background-color: rgba(180, 192, 210, 0.6); } } .stats-row { display: flex; justify-content: center; margin-top: 32px; gap: 0; } .stat { flex: 1; max-width: 120px; text-align: center; position: relative; padding-top: 12px; } .stat::before { content: ""; position: absolute; top: 0; left: 0; width: 100%; height: 2px; background: linear-gradient(90deg, #1BB0CE, rgba(180,192,210,1), #1BB0CE); background-size: 200% 100%; animation: statSweep 2.5s ease-in-out infinite; } .stat:nth-child(2)::before { animation-delay: 0.6s; } .stat:nth-child(3)::before { animation-delay: 1.2s; } @keyframes statSweep { 0% { background-position: 0% 0; } 100% { background-position: -200% 0; } } .stat-number { font-size: 24px; font-weight: 700; color: #1BB0CE; line-height: 1.2; } .stat-label { font-size: 11px; color: rgba(232,232,239,0.3); margin-top: 4px; letter-spacing: 0.3px; } .testimonial { border-left: 2px solid rgba(27,176,206,0.25); background: rgba(27,176,206,0.06); padding: 10px 14px; } .stars-canvas { position: absolute; inset: 0; width: 100%; height: 100%; pointer-events: none; z-index: 0; } .wave-canvas { position: absolute; bottom: 0; left: 0; width: 100%; height: 200px; z-index: 0; pointer-events: none; background: #0a0a0f; } .accent-line { position: absolute; top: 0; left: 0; width: 100%; height: 2px; background: linear-gradient(90deg, transparent, #1BB0CE, rgba(232,232,239,0.15), transparent); animation: pulseAccent 3s ease-in-out infinite; } @keyframes pulseAccent { 0%, 100% { opacity: 0.5; } 50% { opacity: 1; } } .input-sheen { position: relative; overflow: hidden; border-radius: 4px; } .input-sheen::before { content: ""; position: absolute; top: -10%; left: -100%; width: 60%; height: 120%; background: linear-gradient(90deg, transparent, rgba(255,255,255,0.08), transparent); transform: rotate(-15deg); animation: sheenFloat 3.2s ease-in-out infinite; pointer-events: none; z-index: 2; } .input-sheen-delayed::before { animation-delay: 1s; } .input-sheen:focus-within::before { animation: none; opacity: 0; } @keyframes sheenFloat { 0% { left: -100%; } 100% { left: 200%; } } .login-input { width: 100%; height: 44px; background: linear-gradient(135deg, #0d0d15, #151520, #0d0d15); background-size: 200% 200%; animation: bgShift 6s ease-in-out infinite; border: 1.5px solid rgba(180,192,210,0.15); border-radius: 4px; font-size: 13px; color: #e8e8ef; padding: 0 12px; position: relative; z-index: 1; transition: border-color 0.2s ease, background 0.2s ease; box-sizing: border-box; } .login-input::placeholder { color: rgba(232,232,239,0.2); } .login-input:focus { border-color: #1BB0CE; outline: none; background: #111118; animation: none; } @keyframes bgShift { 0%, 100% { background-position: 0% 50%; } 50% { background-position: 100% 50%; } } .password-toggle { position: absolute; right: 8px; top: 50%; transform: translateY(-50%); background: none; border: none; color: rgba(232,232,239,0.3); cursor: pointer; padding: 4px; display: flex; align-items: center; z-index: 3; } .password-toggle:hover { color: rgba(232,232,239,0.5); } .login-checkbox { accent-color: #1BB0CE; width: 16px; height: 16px; cursor: pointer; } .auth-btn { width: 100%; display: inline-flex; align-items: center; justify-content: center; gap: 8px; background: #1BB0CE; color: #ffffff; font-size: 14px; font-weight: 700; padding: 13px; border-radius: 4px; border: none; cursor: pointer; position: relative; overflow: hidden; transition: background 0.2s ease; } .auth-btn:hover { background: #17a0bc; } .auth-btn:disabled { opacity: 0.5; cursor: not-allowed; } .auth-btn::before { content: ""; position: absolute; top: 0; left: -100%; width: 60%; height: 100%; background: linear-gradient(90deg, transparent, rgba(255,255,255,0.2), transparent); animation: btnSweep 2.2s ease-in-out infinite; pointer-events: none; } @keyframes btnSweep { 0% { left: -100%; } 100% { left: 200%; } } .login-label { font-size: 12px; font-weight: 600; color: rgba(232,232,239,0.4); display: block; margin-bottom: 6px; } @keyframes float { 0%, 100% { transform: translateY(0px); } 50% { transform: translateY(-5px); } } .body-text { color: rgba(232,232,239,0.5); } .subheading-text { color: rgba(232,232,239,0.38); } .checkbox-text { color: rgba(232,232,239,0.38); } .footer-text { color: rgba(232,232,239,0.2); }