:root{--bg: #04080f;--ink: rgba(255, 255, 255, .92);--ink-dim: rgba(255, 255, 255, .62);--glass-tint: rgba(255, 255, 255, .04);--glass-stroke: rgba(255, 255, 255, .18);--grad-cyan: #00f0ff;--grad-violet: #a855f7;--grad-magenta: #ff3df0;--grad-gold: #ffce4b;--grad-mint: #5fffc0}*{box-sizing:border-box}html,body,#root{height:100%;margin:0;padding:0}body{background:var(--bg);color:var(--ink);font-family:ui-sans-serif,system-ui,-apple-system,SF Pro Text,Inter,sans-serif;font-size:15px;line-height:1.45;overflow:hidden;-webkit-font-smoothing:antialiased;-webkit-user-select:none;user-select:none}body:before{content:"";position:fixed;top:-20vmax;right:-20vmax;bottom:-20vmax;left:-20vmax;background:radial-gradient(50vmax 50vmax at 25% 30%,var(--grad-violet) 0%,transparent 55%),radial-gradient(45vmax 45vmax at 75% 25%,var(--grad-cyan) 0%,transparent 55%),radial-gradient(40vmax 40vmax at 80% 80%,var(--grad-magenta) 0%,transparent 55%),radial-gradient(35vmax 35vmax at 20% 85%,var(--grad-gold) 0%,transparent 60%),radial-gradient(30vmax 30vmax at 50% 50%,var(--grad-mint) 0%,transparent 55%);filter:blur(40px) saturate(1.4);opacity:.55;animation:drift 38s ease-in-out infinite,hue 60s linear infinite;z-index:0;pointer-events:none}body:after{content:"";position:fixed;top:0;right:0;bottom:0;left:0;background:radial-gradient(120% 80% at 50% 0%,#04080f00,#04080f8c 60%,#04080fd9);z-index:1;pointer-events:none}@keyframes drift{0%,to{transform:translate(0) scale(1)}33%{transform:translate(-3vmax,4vmax) scale(1.08)}66%{transform:translate(4vmax,-3vmax) scale(.95)}}@keyframes hue{0%{filter:blur(40px) saturate(1.4) hue-rotate(0deg)}to{filter:blur(40px) saturate(1.4) hue-rotate(360deg)}}.glass{position:relative;background:var(--glass-tint);backdrop-filter:blur(24px) saturate(1.3);-webkit-backdrop-filter:blur(24px) saturate(1.3);border-radius:22px;overflow:hidden;isolation:isolate}.glass:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;padding:1px;border-radius:inherit;background:conic-gradient(from 0deg,var(--grad-cyan),var(--grad-violet),var(--grad-magenta),var(--grad-gold),var(--grad-mint),var(--grad-cyan));-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude;animation:spin 14s linear infinite;opacity:.7;pointer-events:none}.glass:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:inherit;background:linear-gradient(135deg,rgba(255,255,255,.08),transparent 40%);pointer-events:none}@keyframes spin{to{transform:rotate(360deg)}}.app{position:relative;z-index:2;display:grid;grid-template-rows:auto 1fr auto;height:100%;width:100%;padding:max(env(safe-area-inset-top),14px) 14px max(env(safe-area-inset-bottom),14px);gap:10px}.orb-stage{display:grid;place-items:center;position:relative}.orb{width:min(46vw,220px);aspect-ratio:1;border-radius:50%;position:relative;background:radial-gradient(circle at 30% 30%,rgba(255,255,255,.85) 0%,transparent 35%),conic-gradient(from 0deg,var(--grad-cyan),var(--grad-violet),var(--grad-magenta),var(--grad-gold),var(--grad-mint),var(--grad-cyan));filter:blur(.4px) saturate(1.4);box-shadow:0 0 60px #a855f78c,0 0 120px #00f0ff59,inset 0 0 40px #fff6;animation:orb-spin 20s linear infinite,orb-pulse 4s ease-in-out infinite}.orb:after{content:"";position:absolute;top:-14%;right:-14%;bottom:-14%;left:-14%;border-radius:50%;background:radial-gradient(circle,rgba(255,255,255,.25),transparent 60%);animation:orb-halo 6s ease-in-out infinite;pointer-events:none}@keyframes orb-spin{to{transform:rotate(360deg)}}@keyframes orb-pulse{0%,to{box-shadow:0 0 60px #a855f78c,0 0 120px #00f0ff59,inset 0 0 40px #fff6}50%{box-shadow:0 0 90px #ff3df099,0 0 160px #5fffc066,inset 0 0 50px #ffffff80}}@keyframes orb-halo{0%,to{opacity:.5;transform:scale(1)}50%{opacity:.9;transform:scale(1.08)}}.orb.speaking{animation:orb-spin 8s linear infinite,orb-pulse 1.4s ease-in-out infinite}.orb.listening{animation:orb-spin 14s linear infinite,orb-pulse 2s ease-in-out infinite}.chat-scroll{overflow-y:auto;padding:10px 6px;display:flex;flex-direction:column;gap:8px;scrollbar-width:thin}.bubble{max-width:82%;padding:10px 14px;border-radius:18px;font-size:14px;line-height:1.4;word-wrap:break-word;white-space:pre-wrap}.bubble.user{align-self:flex-end;background:linear-gradient(135deg,#00f0ff2e,#a855f72e);border:1px solid rgba(255,255,255,.18)}.bubble.assistant{align-self:flex-start;background:#ffffff0d;border:1px solid rgba(255,255,255,.1)}.composer{display:flex;gap:8px;padding:10px}.composer input{flex:1;background:#ffffff0f;border:1px solid rgba(255,255,255,.12);color:var(--ink);border-radius:14px;padding:12px 14px;font-size:15px;outline:none}.composer input:focus{border-color:#00f0ff99;box-shadow:0 0 0 3px #00f0ff26}.composer button{background:linear-gradient(135deg,var(--grad-violet),var(--grad-cyan));border:0;color:#04080f;font-weight:700;border-radius:14px;padding:0 16px;font-size:14px;cursor:pointer}.composer button:disabled{opacity:.4;cursor:not-allowed}.auth{display:grid;place-items:center;height:100%;width:100%;position:relative;z-index:2;padding:20px}.auth-card{width:min(420px,100%);padding:28px}.auth h1{margin:0 0 6px;font-size:28px;background:linear-gradient(135deg,var(--grad-cyan),var(--grad-violet),var(--grad-magenta));-webkit-background-clip:text;background-clip:text;color:transparent;letter-spacing:.5px}.auth p{color:var(--ink-dim);margin:0 0 20px;font-size:14px}.auth label{display:block;font-size:12px;color:var(--ink-dim);margin:12px 0 4px}.auth input{width:100%;background:#ffffff0f;border:1px solid rgba(255,255,255,.14);color:var(--ink);padding:12px 14px;border-radius:12px;font-size:15px;outline:none}.auth button{width:100%;margin-top:14px;padding:13px;border:0;border-radius:12px;font-weight:700;font-size:15px;cursor:pointer;background:linear-gradient(135deg,var(--grad-violet),var(--grad-cyan));color:#04080f}.auth .alt{margin-top:12px;text-align:center;font-size:13px;color:var(--ink-dim);cursor:pointer}.auth .err{color:#ff8a8a;font-size:13px;margin-top:8px}.topbar{display:flex;justify-content:space-between;align-items:center;padding:6px 4px}.topbar .title{font-weight:700;letter-spacing:1px;background:linear-gradient(135deg,var(--grad-cyan),var(--grad-magenta));-webkit-background-clip:text;background-clip:text;color:transparent}.topbar .hint{font-size:11px;color:var(--ink-dim)}@media (prefers-reduced-motion: reduce){body:before,.orb,.orb:after,.glass:before{animation:none!important}}
