Spaces:
Running
Running
| @import '@fontsource/dm-serif-display'; | |
| @import '@fontsource/ibm-plex-sans/400.css'; | |
| @import '@fontsource/ibm-plex-sans/500.css'; | |
| @import '@fontsource/ibm-plex-sans/600.css'; | |
| @import '@fontsource/ibm-plex-mono/400.css'; | |
| @import '@fontsource/ibm-plex-mono/500.css'; | |
| @import "tailwindcss"; | |
| @config "../tailwind.config.js"; | |
| /* βββ Design Engineering: Custom Easing Curves βββ */ | |
| :root { | |
| --ease-out-expo: cubic-bezier(0.23, 1, 0.32, 1); | |
| --ease-in-out-expo: cubic-bezier(0.77, 0, 0.175, 1); | |
| --ease-drawer: cubic-bezier(0.32, 0.72, 0, 1); | |
| } | |
| @layer utilities { | |
| .glass-card { | |
| @apply bg-white/5 backdrop-blur-2xl border border-white/10; | |
| } | |
| .glass-ai-bubble { | |
| @apply bg-senti-primary-container/5 backdrop-blur-xl border border-senti-primary-container/20 relative; | |
| } | |
| .glass-ai-bubble-biz { | |
| @apply bg-senti-blue-600/5 backdrop-blur-xl border border-senti-blue-500/20 relative; | |
| } | |
| .glass-ai-bubble::before { | |
| content: ''; | |
| position: absolute; | |
| inset: 0; | |
| border-radius: inherit; | |
| padding: 1px; | |
| background: linear-gradient(135deg, rgba(80, 250, 123, 0.3), transparent, rgba(0, 218, 243, 0.3)); | |
| -webkit-mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0); | |
| mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0); | |
| -webkit-mask-composite: xor; | |
| mask-composite: exclude; | |
| pointer-events: none; | |
| } | |
| .glass-ai-bubble-biz::before { | |
| content: ''; | |
| position: absolute; | |
| inset: 0; | |
| border-radius: inherit; | |
| padding: 1px; | |
| background: linear-gradient(135deg, rgba(59, 130, 246, 0.4), transparent, rgba(168, 85, 247, 0.3)); | |
| -webkit-mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0); | |
| mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0); | |
| -webkit-mask-composite: xor; | |
| mask-composite: exclude; | |
| pointer-events: none; | |
| } | |
| /* βββ Neon glow: custom curve replaces ease-in-out βββ */ | |
| .neon-glow { | |
| animation: neon-pulse 3s infinite cubic-bezier(0.77, 0, 0.175, 1); | |
| } | |
| /* βββ Button Press Feedback (Emil Design Eng) βββ */ | |
| .btn-press { | |
| transition: transform 160ms var(--ease-out-expo); | |
| cursor: pointer; | |
| } | |
| .btn-press:active { | |
| transform: scale(0.97); | |
| } | |
| /* βββ Stagger Cascade Reveal (Stitch + High-End) βββ */ | |
| .stagger-item { | |
| opacity: 0; | |
| transform: translateY(8px); | |
| animation: fadeSlideIn 350ms var(--ease-out-expo) forwards; | |
| } | |
| .stagger-item:nth-child(1) { animation-delay: 0ms; } | |
| .stagger-item:nth-child(2) { animation-delay: 40ms; } | |
| .stagger-item:nth-child(3) { animation-delay: 80ms; } | |
| .stagger-item:nth-child(4) { animation-delay: 120ms; } | |
| .stagger-item:nth-child(5) { animation-delay: 160ms; } | |
| .stagger-item:nth-child(6) { animation-delay: 200ms; } | |
| .stagger-item:nth-child(7) { animation-delay: 240ms; } | |
| .stagger-item:nth-child(8) { animation-delay: 280ms; } | |
| .stagger-item:nth-child(9) { animation-delay: 320ms; } | |
| .stagger-item:nth-child(10) { animation-delay: 360ms; } | |
| /* βββ Nav stagger: tighter 30ms intervals βββ */ | |
| .stagger-nav { | |
| opacity: 0; | |
| transform: translateY(6px); | |
| animation: fadeSlideIn 300ms var(--ease-out-expo) forwards; | |
| } | |
| .stagger-nav:nth-child(1) { animation-delay: 0ms; } | |
| .stagger-nav:nth-child(2) { animation-delay: 30ms; } | |
| .stagger-nav:nth-child(3) { animation-delay: 60ms; } | |
| .stagger-nav:nth-child(4) { animation-delay: 90ms; } | |
| .stagger-nav:nth-child(5) { animation-delay: 120ms; } | |
| .stagger-nav:nth-child(6) { animation-delay: 150ms; } | |
| .stagger-nav:nth-child(7) { animation-delay: 180ms; } | |
| .stagger-nav:nth-child(8) { animation-delay: 210ms; } | |
| .stagger-nav:nth-child(9) { animation-delay: 240ms; } | |
| .stagger-nav:nth-child(10) { animation-delay: 270ms; } | |
| /* βββ Modal overlay entrance βββ */ | |
| .modal-enter { | |
| animation: modalFadeIn 200ms var(--ease-out-expo) forwards; | |
| } | |
| .modal-panel-enter { | |
| animation: modalPanelIn 250ms var(--ease-out-expo) forwards; | |
| } | |
| } | |
| /* βββ Keyframes βββ */ | |
| @keyframes neon-pulse { | |
| 0%, 100% { opacity: 0.8; box-shadow: 0 0 10px rgba(80, 250, 123, 0.3); } | |
| 50% { opacity: 1; box-shadow: 0 0 20px rgba(80, 250, 123, 0.6); } | |
| } | |
| @keyframes fadeSlideIn { | |
| from { | |
| opacity: 0; | |
| transform: translateY(8px); | |
| } | |
| to { | |
| opacity: 1; | |
| transform: translateY(0); | |
| } | |
| } | |
| @keyframes modalFadeIn { | |
| from { opacity: 0; } | |
| to { opacity: 1; } | |
| } | |
| @keyframes modalPanelIn { | |
| from { | |
| opacity: 0; | |
| transform: scale(0.96); | |
| } | |
| to { | |
| opacity: 1; | |
| transform: scale(1); | |
| } | |
| } | |
| /* βββ Alert pulse: subtle opacity only, no bounce βββ */ | |
| @keyframes alertPulse { | |
| 0%, 100% { opacity: 0.6; } | |
| 50% { opacity: 1; } | |
| } | |
| .alert-pulse { | |
| animation: alertPulse 2.5s cubic-bezier(0.77, 0, 0.175, 1) infinite; | |
| } | |
| /* βββ Accessibility: Reduced Motion βββ */ | |
| @media (prefers-reduced-motion: reduce) { | |
| .stagger-item, | |
| .stagger-nav, | |
| .modal-enter, | |
| .modal-panel-enter { | |
| animation: none; | |
| opacity: 1; | |
| transform: none; | |
| } | |
| .neon-glow { | |
| animation: none; | |
| } | |
| .btn-press:active { | |
| transform: none; | |
| } | |
| } | |
| /* βββ Touch Device Hover Gate βββ */ | |
| @media (hover: none) { | |
| .hover-gate:hover { | |
| background: initial; | |
| transform: none; | |
| } | |
| } | |
| /* Custom Scrollbar for dark theme */ | |
| * { | |
| -ms-overflow-style: none; /* IE and Edge */ | |
| scrollbar-width: none; /* Firefox */ | |
| } | |
| *::-webkit-scrollbar { | |
| display: none; /* Chrome, Safari and Opera */ | |
| } | |
| .scrollbar-hide::-webkit-scrollbar { | |
| display: none; | |
| } | |
| .scrollbar-hide { | |
| -ms-overflow-style: none; | |
| scrollbar-width: none; | |
| } | |
| .chat-scroll::-webkit-scrollbar { | |
| width: 4px; | |
| } | |
| .chat-scroll::-webkit-scrollbar-track { | |
| background: transparent; | |
| } | |
| .chat-scroll::-webkit-scrollbar-thumb { | |
| background: rgba(80, 250, 123, 0.1); | |
| border-radius: 10px; | |
| } |