/* ── Google Fonts ─────────────────────────────────────────────────────────── */ @import url('https://fonts.googleapis.com/css2?family=Poppins:wght@300;400;500;600;700;800;900&family=Inter+Tight:wght@400;500;600;700;800;900&family=JetBrains+Mono:wght@400;500;600;700&display=swap'); @import "tailwindcss"; @theme { /* Colors */ --color-primary: #cebdff; --color-primary-container: #a78bfa; --color-on-primary-container: #260069; --color-on-primary: #381385; --color-on-primary-fixed: #21005e; --color-primary-fixed: #e8ddff; --color-primary-fixed-dim: #cebdff; --color-on-primary-fixed-variant: #4f319c; --color-secondary: #b0c6ff; --color-secondary-container: #0558c8; --color-on-secondary: #002d6e; --color-on-secondary-container: #cbd8ff; --color-secondary-fixed: #d9e2ff; --color-secondary-fixed-dim: #b0c6ff; --color-on-secondary-fixed: #001945; --color-on-secondary-fixed-variant: #00429b; --color-tertiary: #ffb2be; --color-tertiary-container: #ff6b8c; --color-on-tertiary: #660025; --color-on-tertiary-container: #6e0029; --color-tertiary-fixed: #ffd9de; --color-tertiary-fixed-dim: #ffb2be; --color-on-tertiary-fixed: #400014; --color-on-tertiary-fixed-variant: #900038; --color-background: #09090B; --color-on-background: #e5e1e4; --color-surface: #131315; --color-surface-dim: #131315; --color-surface-bright: #39393b; --color-surface-container-lowest: #0e0e10; --color-surface-container-low: #1c1b1d; --color-surface-container: #201f22; --color-surface-container-high: #2a2a2c; --color-surface-container-highest: #353437; --color-surface-variant: #353437; --color-on-surface: #e5e1e4; --color-on-surface-variant: #cac4d4; --color-surface-tint: #cebdff; --color-inverse-surface: #e5e1e4; --color-inverse-on-surface: #313032; --color-inverse-primary: #674bb5; --color-outline: #948e9d; --color-outline-variant: #494552; --color-error: #ffb4ab; --color-error-container: #93000a; --color-on-error: #690005; --color-on-error-container: #ffdad6; /* Font Families */ --font-poppins: 'Poppins', sans-serif; --font-inter-tight: 'Inter Tight', sans-serif; } :root { --foreground-rgb: 255, 255, 255; --background-start-rgb: 0, 0, 0; --background-end-rgb: 0, 0, 0; } body { margin: 0; padding: 0; background: #09090B; font-family: 'Poppins', sans-serif; } /* ── Material Symbols ────────────────────────────────────────────────────── */ .material-symbols-outlined { font-family: 'Material Symbols Outlined'; font-weight: normal; font-style: normal; font-size: 24px; line-height: 1; letter-spacing: normal; text-transform: none; display: inline-block; white-space: nowrap; word-wrap: normal; direction: ltr; font-feature-settings: 'liga'; -webkit-font-feature-settings: 'liga'; -webkit-font-smoothing: antialiased; font-variation-settings: 'FILL' 0, 'wght' 400, 'GRAD' 0, 'opsz' 24; } /* ── Typography ──────────────────────────────────────────────────────────── */ .font-mono-data { font-family: 'JetBrains Mono', 'Courier New', monospace; } /* ── Glass Card ──────────────────────────────────────────────────────────── */ .glass { background: linear-gradient(135deg, rgba(28, 20, 45, 0.5) 0%, rgba(18, 14, 28, 0.7) 100%); backdrop-filter: blur(16px); -webkit-backdrop-filter: blur(16px); } /* ── Neon Card Gradient ──────────────────────────────────────────────────── */ .neon-card-gradient { background: linear-gradient(160deg, rgba(22, 16, 36, 0.8) 0%, rgba(12, 12, 14, 0.95) 100%); backdrop-filter: blur(12px); -webkit-backdrop-filter: blur(12px); } /* ── Primary Glow ────────────────────────────────────────────────────────── */ .primary-glow { box-shadow: 0 0 30px rgba(167, 139, 250, 0.15), 0 0 60px rgba(167, 139, 250, 0.05); } /* ── Interactive Elements ────────────────────────────────────────────────── */ .card-interactive { transition: transform 0.3s cubic-bezier(0.16, 1, 0.3, 1), box-shadow 0.3s cubic-bezier(0.16, 1, 0.3, 1), border-color 0.3s ease, opacity 0.3s ease; cursor: pointer; } .card-interactive:hover { transform: translateY(-3px); box-shadow: 0 12px 40px rgba(167, 139, 250, 0.12), inset 0 0 0 1px rgba(255, 255, 255, 0.03); } .btn-interactive { transition: all 0.2s cubic-bezier(0.16, 1, 0.3, 1); } .btn-interactive:hover { transform: translateY(-1px); } .btn-interactive:active { transform: scale(0.97); } /* ── Custom Scrollbar ────────────────────────────────────────────────────── */ .custom-scrollbar::-webkit-scrollbar { width: 4px; } .custom-scrollbar::-webkit-scrollbar-track { background: transparent; } .custom-scrollbar::-webkit-scrollbar-thumb { background: rgba(167, 139, 250, 0.25); border-radius: 2px; } .custom-scrollbar::-webkit-scrollbar-thumb:hover { background: rgba(167, 139, 250, 0.45); } /* ── Ticker Track (Scrolling marquee) ────────────────────────────────────── */ .ticker-track { display: inline-flex; gap: 3rem; white-space: nowrap; animation: ticker-scroll 35s linear infinite; } @keyframes ticker-scroll { 0% { transform: translateX(0); } 100% { transform: translateX(-50%); } } /* ── Animations ──────────────────────────────────────────────────────────── */ @keyframes fade-in-up { from { opacity: 0; transform: translateY(16px); } to { opacity: 1; transform: translateY(0); } } @keyframes fade-in-scale { from { opacity: 0; transform: scale(0.97); } to { opacity: 1; transform: scale(1); } } @keyframes fade-in-right { from { opacity: 0; transform: translateX(-12px); } to { opacity: 1; transform: translateX(0); } } .animate-fade-in-up { animation: fade-in-up 0.6s cubic-bezier(0.16, 1, 0.3, 1) forwards; } .animate-fade-in-scale { animation: fade-in-scale 0.5s cubic-bezier(0.16, 1, 0.3, 1) forwards; } .animate-fade-in-right { animation: fade-in-right 0.5s cubic-bezier(0.16, 1, 0.3, 1) forwards; } /* Delay utilities */ .delay-100 { animation-delay: 100ms; } .delay-150 { animation-delay: 150ms; } .delay-200 { animation-delay: 200ms; } .delay-300 { animation-delay: 300ms; } .delay-400 { animation-delay: 400ms; } .delay-500 { animation-delay: 500ms; } /* ── Neon Glow Utilities ─────────────────────────────────────────────────── */ .neon-glow-violet { box-shadow: 0 0 20px rgba(167, 139, 250, 0.2), 0 0 40px rgba(167, 139, 250, 0.08); } /* ── Active Pulse ────────────────────────────────────────────────────────── */ .active-pulse { box-shadow: 0 0 10px rgba(167, 139, 250, 0.5); animation: active-pulse-anim 2s cubic-bezier(0.4, 0, 0.6, 1) infinite; } @keyframes active-pulse-anim { 0%, 100% { opacity: 1; box-shadow: 0 0 10px rgba(167, 139, 250, 0.5); } 50% { opacity: 0.6; box-shadow: 0 0 20px rgba(167, 139, 250, 0.8); } } /* ── Landing Page Styles ─────────────────────────────────────────────────── */ .kinetic-grid { background-image: radial-gradient(circle at 2px 2px, rgba(167, 139, 250, 0.08) 1px, transparent 0); background-size: 32px 32px; } .glow-violet { box-shadow: 0 0 60px -15px rgba(167, 139, 250, 0.45); } .glass-card { background: linear-gradient(135deg, rgba(167, 139, 250, 0.08), rgba(32, 31, 34, 0.6)); backdrop-filter: blur(24px); -webkit-backdrop-filter: blur(24px); position: relative; } .glass-border { position: relative; } .glass-border::before { content: ""; position: absolute; inset: 0; border-radius: inherit; padding: 1px; background: linear-gradient(135deg, rgba(167, 139, 250, 0.4), rgba(167, 139, 250, 0.05) 40%, rgba(167, 139, 250, 0.05) 60%, rgba(139, 92, 246, 0.3)); -webkit-mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0); -webkit-mask-composite: xor; mask-composite: exclude; pointer-events: none; } @keyframes pulse-glow { 0%, 100% { opacity: 0.6; filter: blur(120px); transform: translate(-50%, -10%) scale(1); } 50% { opacity: 0.9; filter: blur(160px); transform: translate(-50%, -5%) scale(1.1); } } .alive-glow { animation: pulse-glow 10s ease-in-out infinite; } .hero-title-gradient { background: linear-gradient(to bottom right, #fff 30%, #cebdff 100%); -webkit-background-clip: text; background-clip: text; } /* ── Glowing Tech Background ─────────────────────────────────────────────── */ .tech-bg-base { background-color: #09090B; background-image: radial-gradient(circle at 15% 50%, rgba(167, 139, 250, 0.05) 0%, transparent 50%), radial-gradient(circle at 85% 30%, rgba(99, 102, 241, 0.05) 0%, transparent 50%); } .tech-grid { background-size: 50px 50px; background-image: linear-gradient(to right, rgba(255, 255, 255, 0.03) 1px, transparent 1px), linear-gradient(to bottom, rgba(255, 255, 255, 0.03) 1px, transparent 1px); mask-image: radial-gradient(ellipse at center, black 40%, transparent 80%); -webkit-mask-image: radial-gradient(ellipse at center, black 40%, transparent 80%); animation: grid-drift 40s linear infinite; } @keyframes grid-drift { 0% { background-position: 0px 0px; } 100% { background-position: -50px -50px; } } .tech-lights { background: linear-gradient(90deg, transparent 0%, rgba(167, 139, 250, 0.08) 50%, transparent 100%), linear-gradient(0deg, transparent 0%, rgba(167, 139, 250, 0.04) 50%, transparent 100%); background-size: 100% 4px, 4px 100%; animation: scan-lines 8s linear infinite; } @keyframes scan-lines { 0% { background-position: 0 0, 0 0; } 100% { background-position: 0 100px, 100px 0; } } /* ── Black Hole Glow Effect ───────────────────────────────────────────── */ .black-hole-ring { position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); border-radius: 50%; border: 16px solid #fff; background: #000; box-shadow: 0 0 40px 10px #fff, 0 0 80px 30px #d8b4fe, 0 0 160px 60px #a855f7, 0 0 250px 100px #7e22ce, inset 0 0 20px 5px #fff, inset 0 0 40px 10px #d8b4fe; z-index: 2; } .hero-beam { position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); width: 140vw; height: 8px; background: #fff; border-radius: 50%; filter: blur(10px); box-shadow: 0 0 30px 10px #fff, 0 0 60px 20px #d8b4fe, 0 0 120px 40px #a855f7, 0 0 250px 80px #7e22ce; z-index: 1; } .hero-beam-core { position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); width: 100vw; height: 2px; background: rgba(255, 255, 255, 1); filter: blur(2px); z-index: 3; } /* ── Orbit Rings Background ───────────────────────────────────────────── */ .orbit-ring { position: absolute; border-radius: 50%; border: 1px solid rgba(255, 255, 255, 0.08); top: 50%; left: 50%; transform: translate(-50%, -50%); pointer-events: none; } .orbit-ring::after { content: ""; position: absolute; width: 6px; height: 6px; background: rgba(167, 139, 250, 0.6); border-radius: 50%; top: 14.6%; left: 14.6%; box-shadow: 0 0 10px 2px rgba(167, 139, 250, 0.8); } .orbit-ring:nth-child(2)::after { top: 85.3%; left: 85.3%; } .orbit-ring:nth-child(3)::after { top: 14.6%; left: 85.3%; } .mask-radial-fade { mask-image: radial-gradient(ellipse at center, black 20%, transparent 70%); -webkit-mask-image: radial-gradient(ellipse at center, black 20%, transparent 70%); }