@tailwind base; @tailwind components; @tailwind utilities; :root { --gradient-angle: 0deg; } body { font-family: 'Inter', sans-serif; background-color: #050402; color: #f5f5f4; -webkit-font-smoothing: antialiased; } html { scroll-behavior: smooth; } ::selection { background-color: rgba(245, 158, 11, 0.2); color: #fef3c7; } /* Glass Panel */ .glass-panel { background: rgba(255, 255, 255, 0.02); backdrop-filter: blur(12px); border: 1px solid rgba(255, 255, 255, 0.06); box-shadow: 0 4px 30px rgba(0, 0, 0, 0.1); } .glass-panel-glow { background: rgba(251, 191, 36, 0.03); backdrop-filter: blur(12px); border: 1px solid rgba(251, 191, 36, 0.1); } /* Text Gradient */ .text-gradient-gold { background: linear-gradient(to right, #fef3c7, #f59e0b); -webkit-background-clip: text; -webkit-text-fill-color: transparent; background-clip: text; } /* Grid Pattern */ .bg-grid-pattern { 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); background-size: 40px 40px; } /* Spotlight Card */ .spotlight-card { transform-style: preserve-3d; transition: transform 0.1s ease-out, box-shadow 0.3s ease; will-change: transform; } .spotlight-card:hover { z-index: 10; box-shadow: 0 20px 40px -10px rgba(0,0,0,0.5), 0 0 30px rgba(251, 191, 36, 0.1); } /* Candle Glow */ .candle-glow { filter: drop-shadow(0 0 8px rgba(251, 191, 36, 0.5)); } /* Beam Line */ .beam-line { stroke-dasharray: 80 1000; stroke-linecap: round; } /* Shiny CTA Button */ .shiny-cta { position: relative; overflow: visible; border-radius: 9999px; padding: 1.25rem 2.5rem; font-size: 0.875rem; line-height: 1.2; font-weight: 600; color: #ffffff; background: transparent; border: none; cursor: pointer; isolation: isolate; z-index: 0; transition: all 0.5s ease; } .shiny-cta:hover { transform: scale(1.02); box-shadow: 0 0 40px -10px rgba(245, 158, 11, 0.5); } .shiny-cta:active { transform: translateY(1px) scale(1.02); } /* Border Spin Animation */ @keyframes border-spin { to { transform: rotate(360deg); } } .animate-border-spin { animation: border-spin 3s linear infinite; } /* Dots Movement Animation */ @keyframes dots-move { 0% { background-position: 0 0; } 100% { background-position: 24px 24px; } } .animate-dots-move { animation: dots-move 8s linear infinite; } /* Animation Delays */ .delay-100 { animation-delay: 100ms; } .delay-200 { animation-delay: 200ms; } .delay-300 { animation-delay: 300ms; } .delay-1000 { animation-delay: 1s; } .delay-2000 { animation-delay: 2s; } /* Animations */ @keyframes fadeIn { from { opacity: 0; } to { opacity: 1; } } @keyframes slideUp { from { transform: translateY(20px); opacity: 0; } to { transform: translateY(0); opacity: 1; } } @keyframes blurIn { from { filter: blur(10px); opacity: 0; } to { filter: blur(0); opacity: 1; } } .animate-fade-in { animation: fadeIn 1s cubic-bezier(0.16, 1, 0.3, 1) both; } .animate-slide-up { animation: slideUp 1s cubic-bezier(0.16, 1, 0.3, 1) both; } .animate-blur-in { animation: blurIn 1.2s ease-out both; } /* Sonar Animation */ @keyframes sonar-wave { 0% { r: 10px; opacity: 0.8; stroke-width: 1px; } 100% { r: 80px; opacity: 0; stroke-width: 0px; } } .animate-sonar { animation: sonar-wave 3s cubic-bezier(0, 0, 0.2, 1) infinite; } /* Spin Animations */ .animate-spin-slow { animation: spin 12s linear infinite; } .animate-spin-slow-reverse { animation: spin 15s linear infinite reverse; } @keyframes spin { to { transform: rotate(360deg); } } /* Pulse Fast */ .animate-pulse-fast { animation: pulse 1.5s cubic-bezier(0.4, 0, 0.6, 1) infinite; } @keyframes pulse { 0%, 100% { opacity: 1; } 50% { opacity: 0.5; } } /* Float Animation */ @keyframes float { 0%, 100% { transform: translateY(0); } 50% { transform: translateY(-10px); } } .animate-float { animation: float 6s ease-in-out infinite; } /* Flicker Animation */ @keyframes flicker { 0%, 100% { opacity: 1; } 50% { opacity: 0.8; } } .animate-flicker { animation: flicker 3s ease-in-out infinite; } /* Beam Animation */ @keyframes beam { 0% { stroke-dashoffset: 1000; } 100% { stroke-dashoffset: 0; } } .animate-beam { animation: beam 3s linear infinite; } /* Interactive Background Gradient */ .radial-glow-amber { background: radial-gradient(circle at 70% 50%, rgba(245, 158, 11, 0.25) 0%, rgba(5, 5, 5, 0) 60%); } .radial-glow-purple { background: radial-gradient(circle at 50% 30%, rgba(168, 85, 247, 0.2) 0%, rgba(5, 5, 5, 0) 50%); } /* ORA Page Enhanced Grid Background */ .ora-grid-bg { background-size: 80px 80px; background-image: linear-gradient(to right, rgba(168, 85, 247, 0.03) 1px, transparent 1px), linear-gradient(to bottom, rgba(168, 85, 247, 0.03) 1px, transparent 1px); mask-image: radial-gradient(ellipse 80% 60% at 50% 30%, black 20%, transparent 70%); -webkit-mask-image: radial-gradient(ellipse 80% 60% at 50% 30%, black 20%, transparent 70%); } /* Text Glow Effect */ .text-glow-amber { text-shadow: 0 0 25px rgba(245, 158, 11, 0.4); } /* Grid Background with mask */ .grid-bg { background-size: 100px 200px; 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(circle at center, black 40%, transparent 100%); } /* Infinite Marquee Animation */ @keyframes marquee { 0% { transform: translateX(0); } 100% { transform: translateX(-50%); } } .animate-marquee { animation: marquee 40s linear infinite; } /* Progressive Blur Effect for Navbar */ .gradient-blur { position: fixed; top: 0; left: 0; right: 0; height: 100px; pointer-events: none; z-index: 40; } .gradient-blur::before, .gradient-blur::after { content: ''; position: absolute; inset: 0; } .gradient-blur::before { background: linear-gradient(to bottom, rgba(5, 4, 2, 0.8), transparent); } .gradient-blur::after { backdrop-filter: blur(4px); mask-image: linear-gradient(to bottom, black 20%, transparent 80%); -webkit-mask-image: linear-gradient(to bottom, black 20%, transparent 80%); } /* Fade Slide In Animation */ @keyframes fadeSlideIn { from { opacity: 0; transform: translateY(20px); } to { opacity: 1; transform: translateY(0); } } .animate-fade-slide-in { animation: fadeSlideIn 0.8s ease-out forwards; } /* Column Reveal Animation */ @keyframes columnReveal { 0% { clip-path: inset(0 0 100% 0); } 100% { clip-path: inset(0 0 0% 0); } } .col-anim { animation: columnReveal 1.2s cubic-bezier(0.16, 1, 0.3, 1) forwards; } .col-anim.delay-1 { animation-delay: 0.1s; } .col-anim.delay-2 { animation-delay: 0.15s; } .col-anim.delay-3 { animation-delay: 0.2s; } .col-anim.delay-4 { animation-delay: 0.25s; } .col-anim.delay-5 { animation-delay: 0.3s; } .col-anim.delay-6 { animation-delay: 0.35s; } .col-anim.delay-7 { animation-delay: 0.4s; } /* Typing Animation */ @keyframes typing { from { width: 0; } to { width: 100%; } } @keyframes blink-caret { 50% { border-color: transparent; } } .type-writer { overflow: hidden; white-space: nowrap; border-right: 2px solid #f59e0b; width: 0; animation: typing 1.5s steps(30, end) 0.5s forwards, blink-caret 0.75s step-end infinite; } /* Button Shimmer Effect */ @keyframes button-shimmer { 0% { transform: translateX(-100%); } 100% { transform: translateX(100%); } } .animate-button-shimmer { animation: button-shimmer 1.5s infinite; } /* Breathing/Pulse Glow */ @keyframes breathe { 0%, 100% { box-shadow: 0 0 20px -5px rgba(245, 158, 11, 0.3); } 50% { box-shadow: 0 0 40px -5px rgba(245, 158, 11, 0.5); } } .animate-breathe { animation: breathe 3s ease-in-out infinite; } /* Stagger Animation Delays */ .stagger-1 { animation-delay: 0.1s; } .stagger-2 { animation-delay: 0.2s; } .stagger-3 { animation-delay: 0.3s; } .stagger-4 { animation-delay: 0.4s; } .stagger-5 { animation-delay: 0.5s; } .stagger-6 { animation-delay: 0.6s; } /* Enhanced Thinking Animations */ @keyframes ping-slow { 0% { transform: scale(1); opacity: 0.5; } 75%, 100% { transform: scale(1.5); opacity: 0; } } @keyframes ping-slower { 0% { transform: scale(1); opacity: 0.3; } 75%, 100% { transform: scale(2); opacity: 0; } } .animate-ping-slow { animation: ping-slow 2s cubic-bezier(0, 0, 0.2, 1) infinite; } .animate-ping-slower { animation: ping-slower 3s cubic-bezier(0, 0, 0.2, 1) infinite; } /* Agent Orb Glow Animations */ @keyframes orb-glow-purple { 0%, 100% { box-shadow: 0 0 20px rgba(168, 85, 247, 0.3), 0 0 40px rgba(168, 85, 247, 0.1); } 50% { box-shadow: 0 0 30px rgba(168, 85, 247, 0.5), 0 0 60px rgba(168, 85, 247, 0.2); } } @keyframes orb-glow-amber { 0%, 100% { box-shadow: 0 0 20px rgba(245, 158, 11, 0.3), 0 0 40px rgba(245, 158, 11, 0.1); } 50% { box-shadow: 0 0 30px rgba(245, 158, 11, 0.5), 0 0 60px rgba(245, 158, 11, 0.2); } } .animate-orb-glow-purple { animation: orb-glow-purple 2s ease-in-out infinite; } .animate-orb-glow-amber { animation: orb-glow-amber 2s ease-in-out infinite; } /* Shimmer Text Effect */ @keyframes shimmer-text { 0% { background-position: -100% 0; } 100% { background-position: 200% 0; } } .animate-shimmer-text { background: linear-gradient(90deg, rgba(168, 85, 247, 0.6) 0%, rgba(255, 255, 255, 0.8) 50%, rgba(168, 85, 247, 0.6) 100% ); background-size: 200% 100%; -webkit-background-clip: text; background-clip: text; -webkit-text-fill-color: transparent; animation: shimmer-text 2s linear infinite; } /* Chat Message Slide In */ @keyframes message-slide-in { from { opacity: 0; transform: translateY(10px) scale(0.98); } to { opacity: 1; transform: translateY(0) scale(1); } } .animate-message-in { animation: message-slide-in 0.3s ease-out forwards; } /* Agent Badge Pulse */ @keyframes badge-pulse { 0%, 100% { opacity: 1; transform: scale(1); } 50% { opacity: 0.7; transform: scale(1.05); } } .animate-badge-pulse { animation: badge-pulse 1.5s ease-in-out infinite; } /* Reasoning Trace Expand */ @keyframes trace-expand { from { opacity: 0; max-height: 0; transform: translateY(-10px); } to { opacity: 1; max-height: 500px; transform: translateY(0); } } .animate-trace-expand { animation: trace-expand 0.4s ease-out forwards; overflow: hidden; }