@import "tailwindcss"; @theme { --color-primary: #6d5acd; --color-primary-foreground: #ffffff; --color-secondary: #2a2a3e; --color-secondary-foreground: #e0e0e0; --color-background: #0f0f1a; --color-foreground: #e8e8f0; --color-muted: #1a1a2e; --color-muted-foreground: #8888aa; --color-border: #2a2a40; --color-card: #161625; --color-accent: #7c6fe0; } /* ===== BASE ===== */ html, body { background: var(--color-background); color: var(--color-foreground); font-family: 'Inter', system-ui, -apple-system, sans-serif; overflow: hidden; height: 100vh; } ::selection { background: rgba(109, 90, 205, 0.3); color: var(--color-foreground); } ::-webkit-scrollbar { width: 6px; height: 6px; } ::-webkit-scrollbar-track { background: transparent; } ::-webkit-scrollbar-thumb { background: rgba(136,136,170,0.2); border-radius: 3px; } ::-webkit-scrollbar-thumb:hover { background: rgba(136,136,170,0.4); } /* ===== GLASSMORPHISM ===== */ .jae-glass { background: rgba(22, 22, 37, 0.75); backdrop-filter: blur(20px) saturate(1.3); -webkit-backdrop-filter: blur(20px) saturate(1.3); border: 1px solid rgba(255, 255, 255, 0.06); } .jae-glass-sm { background: rgba(30, 30, 50, 0.5); backdrop-filter: blur(12px) saturate(1.2); -webkit-backdrop-filter: blur(12px) saturate(1.2); border: 1px solid rgba(255, 255, 255, 0.04); } .jae-glass-strong { background: rgba(15, 15, 26, 0.9); backdrop-filter: blur(30px) saturate(1.5); -webkit-backdrop-filter: blur(30px) saturate(1.5); border: 1px solid rgba(255, 255, 255, 0.08); } /* ===== ANIMATIONS ===== */ @keyframes jae-fade-in { from { opacity: 0; transform: translateY(8px); } to { opacity: 1; transform: translateY(0); } } @keyframes jae-scale-in { from { opacity: 0; transform: scale(0.95); } to { opacity: 1; transform: scale(1); } } @keyframes jae-slide-in { from { opacity: 0; transform: translateX(-20px); } to { opacity: 1; transform: translateX(0); } } @keyframes jae-slide-up { from { opacity: 0; transform: translateY(16px); } to { opacity: 1; transform: translateY(0); } } @keyframes jae-wave { 0% { height: 3px; } 100% { height: 16px; } } @keyframes jae-float { 0%, 100% { transform: translateY(0px); } 50% { transform: translateY(-6px); } } @keyframes jae-pulse-angry { 0%, 100% { transform: scale(1); filter: brightness(1); } 50% { transform: scale(1.1); filter: brightness(1.3) hue-rotate(-10deg); } } @keyframes jae-shake { 0%, 100% { transform: translateX(0); } 10%, 30%, 50%, 70%, 90% { transform: translateX(-3px); } 20%, 40%, 60%, 80% { transform: translateX(3px); } } @keyframes jae-glow-pulse { 0%, 100% { box-shadow: 0 0 5px rgba(109, 90, 205, 0.2); } 50% { box-shadow: 0 0 20px rgba(109, 90, 205, 0.4); } } @keyframes jae-shimmer { 0% { background-position: -200% 0; } 100% { background-position: 200% 0; } } @keyframes jae-crack-pulse { 0%, 100% { opacity: var(--crack-opacity, 1); } 50% { opacity: calc(var(--crack-opacity, 1) * 0.7); } } .jae-fade-in { animation: jae-fade-in 0.3s ease-out; } .jae-scale-in { animation: jae-scale-in 0.2s ease-out; } .jae-slide-in { animation: jae-slide-in 0.3s ease-out; } .jae-slide-up { animation: jae-slide-up 0.25s ease-out; } .jae-float { animation: jae-float 3s ease-in-out infinite; } .jae-shake { animation: jae-shake 0.5s ease-in-out; } /* ===== HOVER & CLICK TRANSITIONS ===== */ button, [role="button"] { transition: all 0.2s cubic-bezier(0.4, 0, 0.2, 1); } button:active, [role="button"]:active { transform: scale(0.97); } /* ===== BROKEN GLASS OVERLAY ===== */ .jae-cracked-overlay { position: fixed; inset: 0; pointer-events: none; z-index: 200; background: radial-gradient(ellipse at 30% 40%, rgba(220,38,38,0.08) 0%, transparent 50%), radial-gradient(ellipse at 70% 60%, rgba(220,38,38,0.05) 0%, transparent 50%); transition: opacity 1s ease; } .jae-cracked-overlay::before { content: ""; position: absolute; inset: 0; background-image: linear-gradient(135deg, transparent 40%, rgba(255,255,255,0.03) 40.5%, transparent 41%), linear-gradient(225deg, transparent 35%, rgba(255,255,255,0.02) 35.5%, transparent 36%), linear-gradient(45deg, transparent 55%, rgba(255,255,255,0.025) 55.5%, transparent 56%), linear-gradient(315deg, transparent 25%, rgba(255,255,255,0.015) 25.5%, transparent 26%), linear-gradient(160deg, transparent 45%, rgba(255,255,255,0.02) 45.5%, transparent 46%), linear-gradient(200deg, transparent 60%, rgba(255,255,255,0.018) 60.5%, transparent 61%), linear-gradient(80deg, transparent 30%, rgba(255,255,255,0.022) 30.5%, transparent 31%); animation: jae-crack-pulse 2s ease-in-out infinite; } /* ===== CHAT MESSAGE ANIMATIONS ===== */ .message-enter { animation: jae-slide-up 0.3s ease-out; } /* Hide tool outputs when toggled off */ .hide-tools [data-tool-call], .hide-tools .tool-output { display: none !important; } .hide-thinking [data-thinking], .hide-thinking .thinking-block { display: none !important; } .hide-system [data-system-message], .hide-system .system-message { display: none !important; } .hide-timestamps [data-timestamp], .hide-timestamps .message-timestamp { display: none !important; } /* ===== SHIMMER LOADING ===== */ .jae-shimmer { background: linear-gradient(90deg, transparent 0%, rgba(109,90,205,0.08) 50%, transparent 100%); background-size: 200% 100%; animation: jae-shimmer 2s infinite; } /* ===== SIDEBAR ===== */ .jae-sidebar { scrollbar-width: none; } .jae-sidebar:hover { scrollbar-width: thin; } .jae-sidebar::-webkit-scrollbar { width: 0; } .jae-sidebar:hover::-webkit-scrollbar { width: 4px; } /* ===== INPUT GLOW ===== */ .jae-input-glow:focus-within { box-shadow: 0 0 0 1px rgba(109, 90, 205, 0.3), 0 0 20px rgba(109, 90, 205, 0.1); border-color: rgba(109, 90, 205, 0.4); transition: all 0.3s ease; } /* ===== DARK MODE OVERRIDES ===== */ .dark input, .dark textarea, .dark select { color: var(--color-foreground); background: rgba(30, 30, 50, 0.5); } /* Fix keyboard shortcuts text */ .dark .kbd-text, .dark [class*="keyboard"] { color: var(--color-foreground) !important; } .dark kbd { background: rgba(42, 42, 62, 0.8); color: var(--color-foreground); border: 1px solid rgba(255,255,255,0.1); } /* ===== PROVIDER TABS ===== */ .provider-tab { transition: all 0.2s ease; border-bottom: 2px solid transparent; } .provider-tab:hover { background: rgba(109, 90, 205, 0.1); } .provider-tab.active { border-bottom-color: var(--color-primary); color: var(--color-foreground); } /* ===== RESIZE HANDLE ===== */ .jae-resize-handle { width: 4px; cursor: col-resize; background: transparent; transition: background 0.2s; flex-shrink: 0; } .jae-resize-handle:hover, .jae-resize-handle:active { background: rgba(109, 90, 205, 0.4); } /* ===== TOOL RESULTS IN CHAT ===== */ .inline-browser-result { display: none; } /* ===== AGENT INTERFACE OVERRIDES ===== */ [class*="AgentInterface"] { background: transparent !important; }