:root{--bg-base: #10141a;--surface-container: #1c2026;--surface-container-high: #262a31;--surface-container-low: #181c22;--surface-container-lowest: #0a0e14;--primary: #bdc2ff;--primary-container: #1a237e;--on-primary: #1b247f;--secondary: #d4bbff;--tertiary: #debbe4;--text-primary: #dfe2eb;--text-secondary: #c6c5d4;--text-muted: #908f9d;--text-them: #bdc2ff;--border: rgba(255, 255, 255, .07);--border-focus: rgba(189, 194, 255, .45);--outline-variant: #454652;--radius-card: 12px;--radius-pill: 9999px;--radius-input: 10px;--radius-bubble: 18px;--bg-surface: var(--surface-container-low);--bg-elevated: var(--surface-container-high);--bg-input: var(--surface-container);--amber: var(--primary-container);--amber-light: var(--primary);--amber-pale: #e0e0ff;--amber-dim: rgba(189, 194, 255, .1)}.material-symbols-outlined{font-variation-settings:"FILL" 0,"wght" 400,"GRAD" 0,"opsz" 24;display:inline-block;line-height:1}*{box-sizing:border-box;margin:0;padding:0}html,body,#root{height:100%}body{background:var(--bg-base);color:var(--text-primary);font-family:Manrope,-apple-system,BlinkMacSystemFont,sans-serif;font-weight:400;font-size:15px;-webkit-font-smoothing:antialiased;overflow-x:hidden}.font-headline{font-family:"Noto Serif",serif}input,textarea{background:var(--surface-container);border:1px solid var(--outline-variant);border-radius:var(--radius-input);color:var(--text-primary);font-family:Manrope,sans-serif;font-weight:400;font-size:15px;padding:12px 16px;width:100%;transition:border-color .15s;outline:none}input:focus,textarea:focus{border-color:var(--primary);box-shadow:0 0 0 3px #bdc2ff14}input::-moz-placeholder,textarea::-moz-placeholder{color:var(--text-muted)}input::placeholder,textarea::placeholder{color:var(--text-muted)}.btn-primary{background:var(--primary-container);color:#fff;border:none;border-radius:var(--radius-pill);font-family:Manrope,sans-serif;font-weight:700;font-size:14px;padding:14px 32px;cursor:pointer;transition:background .15s,transform .1s;letter-spacing:.05em;text-transform:uppercase}.btn-primary:hover:not(:disabled){background:var(--primary);color:var(--on-primary);transform:translateY(-1px)}.btn-primary:disabled{opacity:.3;cursor:not-allowed;transform:none}.btn-ghost{background:transparent;color:var(--text-secondary);border:1px solid var(--outline-variant);border-radius:var(--radius-pill);font-family:Manrope,sans-serif;font-weight:500;font-size:14px;padding:12px 24px;cursor:pointer;transition:border-color .15s,color .15s}.btn-ghost:hover{border-color:var(--primary);color:var(--primary)}.card{background:var(--surface-container-low);border:1px solid var(--outline-variant);border-radius:var(--radius-card);padding:32px}.page-bg{position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:0;background:radial-gradient(ellipse 60% 50% at 20% 20%,rgba(26,35,126,.25) 0%,transparent 70%),radial-gradient(ellipse 40% 40% at 80% 80%,rgba(189,194,255,.06) 0%,transparent 70%)}.presence-dot{width:7px;height:7px;border-radius:50%;background:#6bcb77;flex-shrink:0}.typing-dots{display:flex;gap:4px;align-items:center;padding:8px 4px}.typing-dot{width:5px;height:5px;border-radius:50%;background:var(--text-muted);animation:typingBounce 1.4s ease-in-out infinite}.typing-dot:nth-child(2){animation-delay:.15s}.typing-dot:nth-child(3){animation-delay:.3s}@keyframes typingBounce{0%,60%,to{transform:translateY(0);opacity:.4}30%{transform:translateY(-4px);opacity:.9}}.bubble-them{background:var(--surface-container-low);border-radius:24px 24px 24px 4px;padding:16px 20px;max-width:80%;font-size:15px;line-height:1.6;color:var(--text-primary);font-weight:300}.bubble-user{background:var(--primary-container);border-radius:24px 24px 4px;padding:16px 20px;max-width:80%;font-size:15px;line-height:1.6;color:#8690eef2}::-webkit-scrollbar{width:3px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--outline-variant);border-radius:2px}.breathing-glow{box-shadow:0 0 20px 3px #bdc2ff1f}.waveform-bar{width:3px;background:var(--primary);border-radius:9999px}@keyframes floatUp{0%,to{transform:translateY(0)}50%{transform:translateY(-12px)}}.animate-float{animation:floatUp 7s ease-in-out infinite}@keyframes pulseNode{0%,to{transform:scale(1);opacity:.5}50%{transform:scale(1.6);opacity:1}}.animate-pulse-node{animation:pulseNode 3s infinite ease-in-out}
