Spaces:
Sleeping
Sleeping
| @import "tailwindcss"; | |
| /* ββ Design Tokens βββββββββββββββββββββββββββββββββββββββ */ | |
| @theme { | |
| /* Surfaces */ | |
| --color-surface: #f8f8fa; | |
| --color-surface-white: #ffffff; | |
| --color-surface-warm: #f3f2f0; | |
| --color-surface-hover: #f0eff2; | |
| /* Borders */ | |
| --color-border: rgba(0, 0, 0, 0.06); | |
| --color-border-subtle: rgba(0, 0, 0, 0.04); | |
| --color-border-focus: rgba(99, 102, 241, 0.35); | |
| /* Text */ | |
| --color-text-primary: #1a1a2e; | |
| --color-text-secondary: #4a4a5e; | |
| --color-text-muted: #8b8b9e; | |
| --color-text-dim: #b5b5c6; | |
| --color-text-ghost: #d0d0da; | |
| /* Accent */ | |
| --color-accent: #6366f1; | |
| --color-accent-light: #818cf8; | |
| --color-accent-soft: rgba(99, 102, 241, 0.08); | |
| --color-accent-softer: rgba(99, 102, 241, 0.04); | |
| /* Semantic */ | |
| --color-emerald: #34d399; | |
| --color-emerald-soft: rgba(52, 211, 153, 0.10); | |
| --color-amber: #fbbf24; | |
| --color-amber-soft: rgba(251, 191, 36, 0.10); | |
| --color-blue: #60a5fa; | |
| --color-blue-soft: rgba(96, 165, 250, 0.08); | |
| --color-rose: #fb7185; | |
| --color-rose-soft: rgba(251, 113, 133, 0.08); | |
| /* Typography */ | |
| --font-family-sans: 'Inter', system-ui, -apple-system, sans-serif; | |
| --font-family-mono: 'JetBrains Mono', 'SF Mono', monospace; | |
| } | |
| /* ββ Reset βββββββββββββββββββββββββββββββββββββββββββββββ */ | |
| *, *::before, *::after { | |
| box-sizing: border-box; | |
| margin: 0; | |
| padding: 0; | |
| } | |
| html { | |
| font-family: var(--font-family-sans); | |
| -webkit-font-smoothing: antialiased; | |
| -moz-osx-font-smoothing: grayscale; | |
| text-rendering: optimizeLegibility; | |
| } | |
| body { | |
| background-color: var(--color-surface); | |
| color: var(--color-text-primary); | |
| min-height: 100dvh; | |
| overflow-x: hidden; | |
| } | |
| #root { | |
| min-height: 100dvh; | |
| } | |
| /* ββ Scrollbar βββββββββββββββββββββββββββββββββββββββββββ */ | |
| ::-webkit-scrollbar { width: 5px; } | |
| ::-webkit-scrollbar-track { background: transparent; } | |
| ::-webkit-scrollbar-thumb { | |
| background: rgba(0, 0, 0, 0.08); | |
| border-radius: 10px; | |
| } | |
| ::-webkit-scrollbar-thumb:hover { | |
| background: rgba(0, 0, 0, 0.14); | |
| } | |
| /* ββ Cards β glassmorphic βββββββββββββββββββββββββββββββ */ | |
| .card { | |
| background: rgba(255, 255, 255, 0.30); | |
| backdrop-filter: blur(24px) saturate(1.4); | |
| -webkit-backdrop-filter: blur(24px) saturate(1.4); | |
| border: none; | |
| box-shadow: inset 0 0 0 0.5px rgba(255, 255, 255, 0.35), | |
| 0 2px 8px rgba(0, 0, 0, 0.02), | |
| 0 8px 20px rgba(0, 0, 0, 0.012); | |
| } | |
| .card-elevated { | |
| background: rgba(255, 255, 255, 0.38); | |
| backdrop-filter: blur(28px) saturate(1.4); | |
| -webkit-backdrop-filter: blur(28px) saturate(1.4); | |
| border: none; | |
| box-shadow: inset 0 0 0 0.5px rgba(255, 255, 255, 0.4), | |
| 0 2px 8px rgba(0, 0, 0, 0.03), | |
| 0 8px 24px rgba(0, 0, 0, 0.02); | |
| } | |
| /* ββ User message bubble ββββββββββββββββββββββββββββββββ */ | |
| .bubble-user { | |
| background: rgba(99, 102, 241, 0.08); | |
| backdrop-filter: blur(24px) saturate(1.3); | |
| -webkit-backdrop-filter: blur(24px) saturate(1.3); | |
| border: none; | |
| box-shadow: none; | |
| } | |
| /* ββ Agent message bubble βββββββββββββββββββββββββββββββ */ | |
| .bubble-agent { | |
| background: rgba(255, 255, 255, 0.28); | |
| backdrop-filter: blur(24px) saturate(1.4); | |
| -webkit-backdrop-filter: blur(24px) saturate(1.4); | |
| border: none; | |
| box-shadow: none; | |
| } | |
| /* ββ Input βββββββββββββββββββββββββββββββββββββββββββββββ */ | |
| .input-glass { | |
| background: rgba(255, 255, 255, 0.35); | |
| backdrop-filter: blur(28px) saturate(1.4); | |
| -webkit-backdrop-filter: blur(28px) saturate(1.4); | |
| border: none; | |
| box-shadow: inset 0 0 0 0.5px rgba(255, 255, 255, 0.35), | |
| 0 2px 8px rgba(0, 0, 0, 0.02), | |
| 0 8px 24px rgba(0, 0, 0, 0.015); | |
| transition: box-shadow 0.4s ease, transform 0.4s cubic-bezier(0.25, 0.46, 0.45, 0.94); | |
| } | |
| .input-glass:focus-within { | |
| box-shadow: inset 0 0 0 0.5px rgba(99, 102, 241, 0.2), | |
| 0 2px 8px rgba(0, 0, 0, 0.02), | |
| 0 8px 24px rgba(0, 0, 0, 0.015), | |
| 0 0 0 3px rgba(99, 102, 241, 0.05); | |
| transform: scale(1.008); | |
| } | |
| /* ββ Header β glass bar βββββββββββββββββββββββββββββββββ */ | |
| .header-glass { | |
| background: rgba(248, 248, 250, 0.5); | |
| backdrop-filter: blur(20px) saturate(1.3); | |
| -webkit-backdrop-filter: blur(20px) saturate(1.3); | |
| border: none; | |
| border-bottom: none; | |
| } | |
| /* ββ Message content βββββββββββββββββββββββββββββββββββββ */ | |
| .message-content { | |
| line-height: 1.75; | |
| letter-spacing: 0.005em; | |
| } | |
| .message-content p { margin-bottom: 0.6em; } | |
| .message-content p:last-child { margin-bottom: 0; } | |
| .message-content ul, .message-content ol { | |
| margin: 0.5em 0; | |
| padding-left: 1.4em; | |
| } | |
| .message-content li { margin-bottom: 0.3em; } | |
| .message-content strong { | |
| color: var(--color-text-primary); | |
| font-weight: 600; | |
| } | |
| .message-content code { | |
| background: rgba(99, 102, 241, 0.08); | |
| color: var(--color-accent); | |
| padding: 0.15em 0.4em; | |
| border-radius: 5px; | |
| font-size: 0.85em; | |
| font-family: var(--font-family-mono); | |
| } | |
| /* ββ Heading styles inside messages ββββββββββββββββββββββ */ | |
| .message-content h1, .message-content h2, .message-content h3 { | |
| font-weight: 650; | |
| color: var(--color-text-primary); | |
| margin-top: 0.8em; | |
| margin-bottom: 0.4em; | |
| } | |
| .message-content h1 { font-size: 1.1em; } | |
| .message-content h2 { font-size: 1.0em; } | |
| .message-content h3 { font-size: 0.95em; } | |
| .message-content h1:first-child, | |
| .message-content h2:first-child, | |
| .message-content h3:first-child { margin-top: 0; } | |
| /* ββ Selection βββββββββββββββββββββββββββββββββββββββββββ */ | |
| ::selection { | |
| background: rgba(99, 102, 241, 0.15); | |
| color: var(--color-text-primary); | |
| } | |