762 lines
20 KiB
CSS
762 lines
20 KiB
CSS
@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 */
|
|
|
|
/* ===== 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;
|
|
}
|
|
|
|
/* ===== VIEW TOGGLE CONTROLS ===== */
|
|
/* Hide tool call blocks when tools toggled off */
|
|
|
|
/* Hide thinking/reasoning blocks */
|
|
|
|
/* Hide system messages */
|
|
|
|
/* Hide timestamps on messages */
|
|
|
|
/* Hide browser tool output in chat when browser panel is open */
|
|
|
|
/* Smooth transition for tool-message visibility */
|
|
tool-message {
|
|
transition: opacity 0.2s ease, max-height 0.3s ease;
|
|
}
|
|
|
|
/* ===== SIDEBAR HOVER SCROLLBAR ===== */
|
|
.jae-sidebar {
|
|
scrollbar-width: none;
|
|
-ms-overflow-style: none;
|
|
}
|
|
.jae-sidebar::-webkit-scrollbar {
|
|
width: 4px;
|
|
background: transparent;
|
|
}
|
|
.jae-sidebar::-webkit-scrollbar-thumb {
|
|
background: transparent;
|
|
border-radius: 4px;
|
|
transition: background 0.3s ease;
|
|
}
|
|
.jae-sidebar:hover {
|
|
scrollbar-width: thin;
|
|
scrollbar-color: rgba(255,255,255,0.15) transparent;
|
|
}
|
|
.jae-sidebar:hover::-webkit-scrollbar-thumb {
|
|
background: rgba(255,255,255,0.15);
|
|
}
|
|
.jae-sidebar:hover::-webkit-scrollbar-thumb:hover {
|
|
background: rgba(255,255,255,0.25);
|
|
}
|
|
|
|
/* ===== GLASSMORPHISM ===== */
|
|
.jae-glass {
|
|
background: rgba(255,255,255,0.03) !important;
|
|
backdrop-filter: blur(16px) saturate(1.2);
|
|
-webkit-backdrop-filter: blur(16px) saturate(1.2);
|
|
border: 1px solid rgba(255,255,255,0.08) !important;
|
|
box-shadow: 0 8px 32px rgba(0,0,0,0.3), inset 0 1px 0 rgba(255,255,255,0.05);
|
|
}
|
|
.jae-glass-subtle {
|
|
background: rgba(255,255,255,0.02) !important;
|
|
backdrop-filter: blur(8px);
|
|
-webkit-backdrop-filter: blur(8px);
|
|
border: 1px solid rgba(255,255,255,0.05) !important;
|
|
}
|
|
.jae-glass-strong {
|
|
background: rgba(255,255,255,0.06) !important;
|
|
backdrop-filter: blur(24px) saturate(1.4);
|
|
-webkit-backdrop-filter: blur(24px) saturate(1.4);
|
|
border: 1px solid rgba(255,255,255,0.12) !important;
|
|
box-shadow: 0 12px 40px rgba(0,0,0,0.4), inset 0 1px 0 rgba(255,255,255,0.08);
|
|
}
|
|
|
|
/* ===== SMOOTH TRANSITIONS ===== */
|
|
* {
|
|
transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
|
|
}
|
|
button, a, input, [role="button"] {
|
|
transition: all 0.2s cubic-bezier(0.4, 0, 0.2, 1);
|
|
}
|
|
button:active, [role="button"]:active {
|
|
transform: scale(0.97);
|
|
}
|
|
|
|
/* ===== SCALE-IN ANIMATION ===== */
|
|
@keyframes jae-scale-in {
|
|
from { opacity: 0; transform: scale(0.95) translateY(8px); }
|
|
to { opacity: 1; transform: scale(1) translateY(0); }
|
|
}
|
|
.jae-scale-in {
|
|
animation: jae-scale-in 0.2s cubic-bezier(0.34, 1.56, 0.64, 1);
|
|
}
|
|
|
|
/* ===== SHAKE ANIMATION (anger) ===== */
|
|
@keyframes jae-shake {
|
|
0% { transform: translateX(0); }
|
|
25% { transform: translateX(-4px) rotate(-0.5deg); }
|
|
50% { transform: translateX(4px) rotate(0.5deg); }
|
|
75% { transform: translateX(-2px) rotate(-0.3deg); }
|
|
100% { transform: translateX(0); }
|
|
}
|
|
|
|
/* ===== CRACK OVERLAY ===== */
|
|
.jae-crack-overlay {
|
|
position: fixed;
|
|
inset: 0;
|
|
z-index: 9999;
|
|
background: radial-gradient(ellipse at 30% 40%, transparent 30%, rgba(0,0,0,0.02) 31%, transparent 32%),
|
|
radial-gradient(ellipse at 70% 60%, transparent 25%, rgba(0,0,0,0.02) 26%, transparent 27%);
|
|
background-size: 100% 100%;
|
|
pointer-events: none;
|
|
/* SVG crack lines */
|
|
background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='800' height='600'%3E%3Cpath d='M400 0 L395 80 L370 150 L380 200 L350 280 L340 350 L360 400 L345 500 L350 600' stroke='rgba(255,255,255,0.15)' stroke-width='2' fill='none'/%3E%3Cpath d='M395 80 L430 120 L460 110' stroke='rgba(255,255,255,0.1)' stroke-width='1.5' fill='none'/%3E%3Cpath d='M370 150 L330 180 L300 170' stroke='rgba(255,255,255,0.1)' stroke-width='1.5' fill='none'/%3E%3Cpath d='M380 200 L420 230 L450 220 L480 250' stroke='rgba(255,255,255,0.08)' stroke-width='1' fill='none'/%3E%3Cpath d='M350 280 L310 310 L280 300' stroke='rgba(255,255,255,0.08)' stroke-width='1' fill='none'/%3E%3C/svg%3E");
|
|
background-repeat: no-repeat;
|
|
background-position: center;
|
|
}
|
|
|
|
/* ===== ANGRY PULSE ===== */
|
|
@keyframes jae-angry-pulse {
|
|
0%, 100% { transform: scale(1); }
|
|
50% { transform: scale(1.3); filter: brightness(1.5); }
|
|
}
|
|
.jae-angry-pulse {
|
|
animation: jae-angry-pulse 0.5s ease-in-out infinite;
|
|
}
|
|
|
|
/* ===== TYPING WAVEFORM ===== */
|
|
@keyframes jae-wave {
|
|
0%, 60%, 100% { transform: scaleY(0.3); }
|
|
30% { transform: scaleY(1); }
|
|
}
|
|
.jae-typing-wave {
|
|
display: inline-flex;
|
|
align-items: center;
|
|
gap: 2px;
|
|
height: 16px;
|
|
}
|
|
.jae-typing-wave span {
|
|
display: inline-block;
|
|
width: 3px;
|
|
height: 16px;
|
|
border-radius: 2px;
|
|
background: currentColor;
|
|
opacity: 0.6;
|
|
animation: jae-wave 1.2s ease-in-out infinite;
|
|
}
|
|
.jae-typing-wave span:nth-child(1) { animation-delay: 0s; }
|
|
.jae-typing-wave span:nth-child(2) { animation-delay: 0.1s; }
|
|
.jae-typing-wave span:nth-child(3) { animation-delay: 0.2s; }
|
|
.jae-typing-wave span:nth-child(4) { animation-delay: 0.3s; }
|
|
.jae-typing-wave span:nth-child(5) { animation-delay: 0.4s; }
|
|
|
|
/* ===== TICKER PULSE ===== */
|
|
@keyframes jae-ticker-pulse {
|
|
0%, 100% { opacity: 0.4; }
|
|
50% { opacity: 1; }
|
|
}
|
|
.jae-ticker-pulse {
|
|
animation: jae-ticker-pulse 1.5s ease-in-out infinite;
|
|
}
|
|
|
|
/* ===== MOOD EMOJI FLOAT ===== */
|
|
.jae-mood-emoji {
|
|
transition: transform 0.3s ease;
|
|
}
|
|
.jae-mood-emoji:hover {
|
|
transform: scale(1.3) rotate(5deg);
|
|
}
|
|
|
|
/* ===== TOOLTIP PEEK ===== */
|
|
.jae-peek-tooltip {
|
|
position: absolute;
|
|
z-index: 100;
|
|
max-width: 300px;
|
|
padding: 8px 12px;
|
|
border-radius: 10px;
|
|
background: rgba(15,15,20,0.95);
|
|
backdrop-filter: blur(12px);
|
|
border: 1px solid rgba(255,255,255,0.1);
|
|
box-shadow: 0 8px 24px rgba(0,0,0,0.5);
|
|
font-size: 11px;
|
|
line-height: 1.4;
|
|
color: rgba(255,255,255,0.8);
|
|
pointer-events: none;
|
|
animation: jae-scale-in 0.15s ease;
|
|
}
|
|
|
|
/* ===== HOVER GLOW EFFECT ===== */
|
|
.jae-hover-glow {
|
|
position: relative;
|
|
overflow: hidden;
|
|
}
|
|
.jae-hover-glow::after {
|
|
content: '';
|
|
position: absolute;
|
|
inset: 0;
|
|
background: radial-gradient(circle at var(--mouse-x, 50%) var(--mouse-y, 50%), rgba(255,255,255,0.06) 0%, transparent 60%);
|
|
opacity: 0;
|
|
transition: opacity 0.3s ease;
|
|
pointer-events: none;
|
|
}
|
|
.jae-hover-glow:hover::after {
|
|
opacity: 1;
|
|
}
|
|
|
|
/* ===== FADE IN MESSAGES ===== */
|
|
@keyframes jae-msg-in {
|
|
from { opacity: 0; transform: translateY(12px); }
|
|
to { opacity: 1; transform: translateY(0); }
|
|
}
|
|
.jae-msg-enter {
|
|
animation: jae-msg-in 0.3s cubic-bezier(0.34, 1.56, 0.64, 1);
|
|
}
|
|
|
|
/* ===== VIEW TOGGLE SELECTORS (targeting actual DOM elements) ===== */
|
|
/* Hide tool messages */
|
|
.hide-tools tool-message {
|
|
display: none !important;
|
|
}
|
|
|
|
/* Hide thinking blocks */
|
|
.hide-thinking thinking-block {
|
|
display: none !important;
|
|
}
|
|
|
|
/* Hide system messages - target role attribute and system-related elements */
|
|
.hide-system [data-role="system"],
|
|
.hide-system .system-message,
|
|
.hide-system aborted-message {
|
|
display: none !important;
|
|
}
|
|
|
|
/* Hide timestamps */
|
|
.hide-timestamps time,
|
|
.hide-timestamps [data-timestamp],
|
|
.hide-timestamps .message-timestamp,
|
|
.hide-timestamps .text-muted-foreground:has(time) {
|
|
display: none !important;
|
|
}
|
|
|
|
/* Hide browser tool output in chat when side panel is open */
|
|
.browser-panel-active tool-message[data-tool-name="browser"],
|
|
.browser-panel-active tool-message[data-tool-name="web_fetch"],
|
|
.browser-panel-active tool-message[data-tool-name="navigate"] {
|
|
display: none !important;
|
|
}
|
|
|
|
/* ===== SIDEBAR SCROLLBAR (show on hover) ===== */
|
|
.jae-sidebar {
|
|
scrollbar-width: none;
|
|
-ms-overflow-style: none;
|
|
}
|
|
.jae-sidebar::-webkit-scrollbar {
|
|
width: 0;
|
|
background: transparent;
|
|
}
|
|
.jae-sidebar:hover {
|
|
scrollbar-width: thin;
|
|
scrollbar-color: rgba(255,255,255,0.15) transparent;
|
|
}
|
|
.jae-sidebar:hover::-webkit-scrollbar {
|
|
width: 5px;
|
|
}
|
|
.jae-sidebar:hover::-webkit-scrollbar-thumb {
|
|
background: rgba(255,255,255,0.15);
|
|
border-radius: 4px;
|
|
}
|
|
.jae-sidebar:hover::-webkit-scrollbar-thumb:hover {
|
|
background: rgba(255,255,255,0.25);
|
|
}
|
|
|
|
/* ===== KEYBOARD SHORTCUTS DARK MODE FIX ===== */
|
|
keyboard-shortcuts *,
|
|
keyboard-shortcuts span,
|
|
keyboard-shortcuts div,
|
|
keyboard-shortcuts h2,
|
|
keyboard-shortcuts h3 {
|
|
color: inherit !important;
|
|
}
|
|
keyboard-shortcuts {
|
|
color: hsl(0 0% 95%) !important;
|
|
}
|
|
keyboard-shortcuts kbd {
|
|
color: hsl(0 0% 90%) !important;
|
|
background: rgba(255,255,255,0.08) !important;
|
|
border-color: rgba(255,255,255,0.12) !important;
|
|
}
|
|
|
|
/* ===== COMMAND PALETTE DARK MODE FIX ===== */
|
|
command-palette *,
|
|
command-palette span,
|
|
command-palette div,
|
|
command-palette input {
|
|
color: inherit !important;
|
|
}
|
|
command-palette {
|
|
color: hsl(0 0% 95%) !important;
|
|
}
|
|
command-palette input {
|
|
color: hsl(0 0% 95%) !important;
|
|
background: rgba(255,255,255,0.06) !important;
|
|
}
|
|
command-palette input::placeholder {
|
|
color: hsl(0 0% 50%) !important;
|
|
}
|
|
|
|
/* ===== MEMORY MANAGER DARK MODE FIX ===== */
|
|
memory-manager * {
|
|
color: inherit !important;
|
|
}
|
|
memory-manager {
|
|
color: hsl(0 0% 95%) !important;
|
|
}
|
|
|
|
/* ===== MARKETPLACE DARK MODE FIX ===== */
|
|
jae-marketplace * {
|
|
color: inherit !important;
|
|
}
|
|
jae-marketplace {
|
|
color: hsl(0 0% 95%) !important;
|
|
}
|
|
jae-marketplace input {
|
|
color: hsl(0 0% 95%) !important;
|
|
background: rgba(255,255,255,0.06) !important;
|
|
}
|
|
|
|
|
|
/* ===== ENHANCED GLASSMORPHISM & SMOOTH ANIMATIONS ===== */
|
|
|
|
/* Glass card for overlays */
|
|
.glass-card {
|
|
background: rgba(20, 20, 30, 0.85);
|
|
backdrop-filter: blur(24px) saturate(180%);
|
|
-webkit-backdrop-filter: blur(24px) saturate(180%);
|
|
border: 1px solid rgba(255,255,255,0.08);
|
|
box-shadow: 0 8px 32px rgba(0,0,0,0.4), inset 0 1px 0 rgba(255,255,255,0.05);
|
|
}
|
|
|
|
/* Glass panel variant */
|
|
.glass-panel {
|
|
background: rgba(0,0,0,0.5);
|
|
backdrop-filter: blur(12px);
|
|
-webkit-backdrop-filter: blur(12px);
|
|
}
|
|
|
|
/* Smooth button interactions */
|
|
button {
|
|
transition: all 0.2s cubic-bezier(0.4, 0, 0.2, 1);
|
|
}
|
|
button:active {
|
|
transform: scale(0.97);
|
|
}
|
|
|
|
/* Interactive card hover lift */
|
|
.hover-lift {
|
|
transition: transform 0.25s ease, box-shadow 0.25s ease;
|
|
}
|
|
.hover-lift:hover {
|
|
transform: translateY(-2px);
|
|
box-shadow: 0 6px 20px rgba(0,0,0,0.3);
|
|
}
|
|
|
|
/* Smooth panel transitions */
|
|
#sidebar-wrap,
|
|
#right-panel {
|
|
transition: width 0.15s ease-out;
|
|
}
|
|
|
|
/* Chat messages smooth entry */
|
|
.message-row {
|
|
animation: jae-msg-in 0.3s cubic-bezier(0.16, 1, 0.3, 1);
|
|
}
|
|
|
|
/* Typing indicator waveform */
|
|
.jae-waveform {
|
|
display: flex;
|
|
align-items: center;
|
|
gap: 3px;
|
|
height: 20px;
|
|
padding: 0 8px;
|
|
}
|
|
.jae-waveform-bar {
|
|
width: 3px;
|
|
background: hsl(var(--primary));
|
|
border-radius: 2px;
|
|
animation: jae-waveform-bounce 0.8s ease-in-out infinite;
|
|
}
|
|
.jae-waveform-bar:nth-child(1) { animation-delay: 0s; height: 40%; }
|
|
.jae-waveform-bar:nth-child(2) { animation-delay: 0.1s; height: 60%; }
|
|
.jae-waveform-bar:nth-child(3) { animation-delay: 0.2s; height: 80%; }
|
|
.jae-waveform-bar:nth-child(4) { animation-delay: 0.3s; height: 100%; }
|
|
.jae-waveform-bar:nth-child(5) { animation-delay: 0.4s; height: 70%; }
|
|
.jae-waveform-bar:nth-child(6) { animation-delay: 0.5s; height: 50%; }
|
|
|
|
@keyframes jae-waveform-bounce {
|
|
0%, 100% { transform: scaleY(0.3); opacity: 0.4; }
|
|
50% { transform: scaleY(1); opacity: 1; }
|
|
}
|
|
|
|
/* Context peek tooltip */
|
|
.jae-context-tooltip {
|
|
position: absolute;
|
|
z-index: 300;
|
|
max-width: 300px;
|
|
padding: 8px 12px;
|
|
background: rgba(20, 20, 30, 0.95);
|
|
backdrop-filter: blur(20px);
|
|
-webkit-backdrop-filter: blur(20px);
|
|
border: 1px solid rgba(255,255,255,0.1);
|
|
border-radius: 10px;
|
|
box-shadow: 0 8px 32px rgba(0,0,0,0.5);
|
|
font-size: 11px;
|
|
color: hsl(0 0% 85%);
|
|
line-height: 1.5;
|
|
pointer-events: none;
|
|
animation: jae-tooltip-in 0.2s ease;
|
|
}
|
|
|
|
@keyframes jae-tooltip-in {
|
|
from { opacity: 0; transform: translateY(4px) scale(0.96); }
|
|
to { opacity: 1; transform: translateY(0) scale(1); }
|
|
}
|
|
|
|
/* Resize handles */
|
|
.jae-resize-handle {
|
|
width: 4px;
|
|
cursor: col-resize;
|
|
background: transparent;
|
|
transition: background 0.2s;
|
|
flex-shrink: 0;
|
|
}
|
|
.jae-resize-handle:hover {
|
|
background: hsl(var(--primary) / 0.3);
|
|
}
|
|
.jae-resize-handle:active {
|
|
background: hsl(var(--primary) / 0.5);
|
|
}
|
|
|
|
/* Scrollbar styling (global) */
|
|
::-webkit-scrollbar {
|
|
width: 6px;
|
|
height: 6px;
|
|
}
|
|
::-webkit-scrollbar-track {
|
|
background: transparent;
|
|
}
|
|
::-webkit-scrollbar-thumb {
|
|
background: rgba(255,255,255,0.1);
|
|
border-radius: 3px;
|
|
}
|
|
::-webkit-scrollbar-thumb:hover {
|
|
background: rgba(255,255,255,0.2);
|
|
}
|
|
|
|
/* Animate-in utility */
|
|
.animate-fade-in {
|
|
animation: jae-fade-in 0.3s ease;
|
|
}
|
|
.animate-scale-in {
|
|
animation: jae-scale-in 0.2s cubic-bezier(0.16, 1, 0.3, 1);
|
|
}
|
|
.animate-slide-up {
|
|
animation: jae-slide-up 0.3s cubic-bezier(0.16, 1, 0.3, 1);
|
|
}
|
|
|
|
/* Smooth focus rings */
|
|
input:focus, textarea:focus, select:focus {
|
|
outline: none;
|
|
box-shadow: 0 0 0 2px hsl(var(--primary) / 0.3);
|
|
transition: box-shadow 0.2s ease;
|
|
}
|
|
|
|
/* Crypto ticker glow */
|
|
.jae-ticker-glow {
|
|
text-shadow: 0 0 6px currentColor;
|
|
}
|
|
|
|
/* Marketplace skill cards */
|
|
.jae-skill-card {
|
|
background: rgba(255,255,255,0.03);
|
|
border: 1px solid rgba(255,255,255,0.06);
|
|
border-radius: 12px;
|
|
padding: 12px;
|
|
transition: all 0.25s cubic-bezier(0.4, 0, 0.2, 1);
|
|
}
|
|
.jae-skill-card:hover {
|
|
background: rgba(255,255,255,0.06);
|
|
border-color: rgba(255,255,255,0.12);
|
|
transform: translateY(-1px);
|
|
box-shadow: 0 4px 16px rgba(0,0,0,0.2);
|
|
}
|
|
|
|
/* Persona selector active glow */
|
|
.jae-persona-active {
|
|
box-shadow: 0 0 0 2px hsl(var(--primary) / 0.4), 0 4px 12px rgba(0,0,0,0.2);
|
|
}
|
|
|
|
/* Slash command autocomplete */
|
|
.jae-slash-popup {
|
|
background: rgba(20, 20, 30, 0.95);
|
|
backdrop-filter: blur(20px);
|
|
border: 1px solid rgba(255,255,255,0.1);
|
|
border-radius: 12px;
|
|
box-shadow: 0 8px 32px rgba(0,0,0,0.5);
|
|
overflow: hidden;
|
|
}
|
|
.jae-slash-item {
|
|
padding: 8px 12px;
|
|
cursor: pointer;
|
|
transition: background 0.15s;
|
|
}
|
|
.jae-slash-item:hover,
|
|
.jae-slash-item.active {
|
|
background: rgba(255,255,255,0.06);
|
|
}
|
|
|
|
/* Smooth header bar */
|
|
.jae-glass {
|
|
background: rgba(10, 10, 18, 0.8) !important;
|
|
backdrop-filter: blur(16px) saturate(150%) !important;
|
|
-webkit-backdrop-filter: blur(16px) saturate(150%) !important;
|
|
}
|
|
.jae-glass-sm {
|
|
background: rgba(10, 10, 18, 0.6) !important;
|
|
backdrop-filter: blur(8px) !important;
|
|
-webkit-backdrop-filter: blur(8px) !important;
|
|
}
|