:root{--bg-color-1: #06060e;--bg-color-2: #0e0e1a;--bg-opacity: 1;--accent: #a855f7;--accent-rgb: 168, 85, 247;--accent-hover: #c084fc;--accent-muted: rgba(168, 85, 247, .15);--accent-subtle: rgba(168, 85, 247, .06);--accent-glow: rgba(168, 85, 247, .35);--text-primary: #eeedf0;--text-secondary: #9ca3af;--text-muted: #5b5e6b;--text-accent: var(--accent);--surface-1: rgba(14, 14, 26, .88);--surface-2: rgba(22, 22, 38, .75);--surface-3: rgba(30, 30, 50, .55);--surface-border: rgba(255, 255, 255, .07);--surface-border-accent: rgba(var(--accent-rgb), .25);--surface-glass: 16px;--bubble-user-bg: rgba(var(--accent-rgb), .1);--bubble-user-border: rgba(var(--accent-rgb), .22);--bubble-ai-bg: rgba(255, 255, 255, .04);--bubble-ai-border: rgba(255, 255, 255, .08);--bubble-radius: 18px;--font-body: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-mono: "JetBrains Mono", "Fira Code", "TheGoodMonolith", monospace;--font-display: "Inter", sans-serif;--font-size-xs: .75rem;--font-size-sm: .875rem;--font-size-base: 1rem;--font-size-lg: 1.25rem;--font-size-xl: 1.625rem;--font-size-2xl: 2.25rem;--orb-glow-idle: rgba(var(--accent-rgb), .15);--orb-glow-active: rgba(var(--accent-rgb), .5);--radius-sm: 8px;--radius-md: 12px;--radius-lg: 16px;--radius-xl: 24px;--radius-full: 9999px;--shadow-sm: 0 2px 8px rgba(0, 0, 0, .2);--shadow-md: 0 4px 16px rgba(0, 0, 0, .3);--shadow-lg: 0 8px 32px rgba(0, 0, 0, .4);--shadow-glow: 0 0 40px var(--accent-muted);--ease-out: cubic-bezier(.16, 1, .3, 1);--ease-in-out: cubic-bezier(.4, 0, .2, 1);--duration-fast: .15s;--duration-normal: .25s;--duration-slow: .4s;--z-background: 0;--z-orb: 1;--z-panels: 10;--z-chat: 20;--z-header: 30;--z-modal: 100;--z-notification: 200;--z-preloader: 999;--header-height: 52px;--chat-width: 420px;--chat-max-width: 720px;--sidebar-width: 340px}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{-webkit-text-size-adjust:100%;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{font-family:var(--font-body);font-size:var(--font-size-base);color:var(--text-primary);line-height:1.5;overflow:hidden;min-height:100vh;min-height:100dvh}a{color:var(--text-accent);text-decoration:none}a:hover{text-decoration:underline}button{font-family:inherit;font-size:inherit;color:inherit;background:none;border:none;cursor:pointer;outline:none}input,select,textarea{font-family:inherit;font-size:inherit;color:inherit;background:none;border:none;outline:none}ul,ol{list-style:none}img{display:block;max-width:100%}svg{max-width:100%}button svg,a svg{display:inline-block}::-webkit-scrollbar{width:5px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:rgba(var(--accent-rgb),.2);border-radius:var(--radius-full)}::-webkit-scrollbar-thumb:hover{background:rgba(var(--accent-rgb),.35)}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeInDown{0%{opacity:0;transform:translateY(-12px)}to{opacity:1;transform:translateY(0)}}@keyframes slideUp{0%{transform:translateY(100%)}to{transform:translateY(0)}}@keyframes slideDown{0%{transform:translateY(0)}to{transform:translateY(100%)}}@keyframes scaleIn{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}@keyframes breathe{0%,to{transform:scale(1)}50%{transform:scale(1.02)}}@keyframes orbPulse{0%,to{opacity:.6}50%{opacity:1}}@keyframes glowPulse{0%,to{box-shadow:0 0 20px var(--accent-muted)}50%{box-shadow:0 0 40px var(--accent-glow)}}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}.animate-fadeIn{animation:fadeIn var(--duration-normal) var(--ease-out)}.animate-fadeInUp{animation:fadeInUp var(--duration-normal) var(--ease-out)}.animate-scaleIn{animation:scaleIn var(--duration-normal) var(--ease-out)}.animate-breathe{animation:breathe 3s ease-in-out infinite}.transition-all{transition:all var(--duration-normal) var(--ease-out)}.transition-colors{transition:color var(--duration-fast),background-color var(--duration-fast),border-color var(--duration-fast)}:root{--hue: 270;--accent-r: 168;--accent-g: 85;--accent-b: 247;--accent-primary: var(--accent);--accent-secondary: #7c3aed;--accent-tertiary: #c4b5fd;--accent-secondary-rgb: 124, 58, 237;--accent-tertiary-rgb: 196, 181, 253}#app-background{position:fixed;inset:0;z-index:0;background:linear-gradient(145deg,var(--bg-color-1),var(--bg-color-2));background-size:cover;background-position:center;opacity:var(--bg-opacity)}#three-container{position:fixed;inset:0;z-index:1;pointer-events:none}#three-container canvas{pointer-events:auto}.circular-visualizer{position:fixed;inset:0;z-index:1;display:flex;align-items:center;justify-content:center;pointer-events:none}.circular-visualizer canvas{width:min(500px,80vw);height:min(500px,80vw)}#loading-overlay{position:fixed;inset:0;z-index:999;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:24px;background:var(--bg-color-1);transition:opacity .6s ease}#loading-overlay.fade-out{opacity:0;pointer-events:none}.preloader-brand{font-family:var(--font-body);font-size:2rem;font-weight:700;color:var(--text-primary);letter-spacing:-.03em}.preloader-spinner{width:40px;height:40px;border:3px solid rgba(var(--accent-rgb),.15);border-top-color:var(--accent);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}#voice-ui{position:fixed;inset:0;z-index:10;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;padding-bottom:max(80px,env(safe-area-inset-bottom,40px));pointer-events:none}#voice-ui>*{pointer-events:auto}#orb-status-label{position:fixed;top:50%;left:50%;transform:translate(-50%,80px);font-family:var(--font-body);font-size:14px;font-weight:500;color:var(--text-secondary);letter-spacing:.02em;padding:8px 20px;background:#0e0e1a99;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border:1px solid rgba(255,255,255,.06);border-radius:100px;white-space:nowrap;transition:all .3s ease;animation:fadeInUp .5s ease backwards;animation-delay:1s}#orb-status-label.active{color:var(--accent);border-color:rgba(var(--accent-rgb),.2);box-shadow:0 0 20px rgba(var(--accent-rgb),.1)}#mic-button{position:relative;width:72px;height:72px;border:none;border-radius:50%;background:#0e0e1ab3;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);color:var(--text-secondary);cursor:pointer;display:grid;place-items:center;transition:all .3s cubic-bezier(.16,1,.3,1);border:2px solid rgba(255,255,255,.08);margin-bottom:20px}#mic-button:hover{transform:scale(1.08);border-color:rgba(var(--accent-rgb),.3);box-shadow:0 0 30px rgba(var(--accent-rgb),.2)}#mic-button:active{transform:scale(.95)}.mic-icon{position:relative;z-index:2;width:28px;height:28px}.mic-icon svg{width:100%;height:100%}.mic-ring{position:absolute;inset:-4px;border-radius:50%;border:2px solid transparent;transition:all .3s ease}#mic-button.listening{background:#22c55e1f;border-color:#22c55e66;color:#22c55e;box-shadow:0 0 30px #22c55e26}#mic-button.listening .mic-ring{border-color:#22c55e4d;animation:mic-pulse 2s ease-in-out infinite}#mic-button.speaking{background:rgba(var(--accent-rgb),.15);border-color:rgba(var(--accent-rgb),.5);color:var(--accent);box-shadow:0 0 40px rgba(var(--accent-rgb),.25);animation:mic-breathe .8s ease-in-out infinite}#mic-button.processing{background:#fbbf241a;border-color:#fbbf244d;color:#fbbf24}#mic-button.processing .mic-ring{border-color:#fbbf2466;border-top-color:transparent;animation:spin 1s linear infinite}#mic-button.responding{background:rgba(var(--accent-rgb),.1);border-color:rgba(var(--accent-rgb),.3);color:var(--accent-hover);box-shadow:0 0 30px rgba(var(--accent-rgb),.15)}#mic-button.responding .mic-ring{border-color:rgba(var(--accent-rgb),.2);animation:mic-pulse 1.5s ease-in-out infinite}@keyframes mic-pulse{0%,to{transform:scale(1);opacity:.6}50%{transform:scale(1.15);opacity:1}}@keyframes mic-breathe{0%,to{transform:scale(1)}50%{transform:scale(1.05)}}#voice-transcript{position:fixed;bottom:max(180px,calc(env(safe-area-inset-bottom,40px) + 140px));left:50%;transform:translate(-50%);max-width:min(500px,85vw);text-align:center;font-family:var(--font-body);font-size:15px;font-weight:400;color:var(--text-primary);padding:12px 24px;background:#0e0e1ab3;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border:1px solid rgba(255,255,255,.06);border-radius:16px;opacity:0;transform:translate(-50%) translateY(8px);transition:opacity .4s ease,transform .4s ease;pointer-events:none;line-height:1.5;word-wrap:break-word}#voice-transcript.visible{opacity:1;transform:translate(-50%) translateY(0)}#voice-transcript.user{border-color:rgba(var(--accent-rgb),.2);color:var(--accent-hover);font-style:italic}@media(max-width:600px){#mic-button{width:64px;height:64px}.mic-icon{width:24px;height:24px}#orb-status-label{font-size:13px;padding:6px 16px}#voice-transcript{font-size:14px;padding:10px 18px;max-width:90vw}}@media(max-width:400px){#voice-ui{padding-bottom:max(60px,env(safe-area-inset-bottom,30px))}#mic-button{width:56px;height:56px}}@media(prefers-reduced-motion:reduce){#mic-button.listening .mic-ring,#mic-button.speaking,#mic-button.processing .mic-ring,#mic-button.responding .mic-ring,#orb-status-label{animation:none}}
