@import "https://fonts.googleapis.com/css2?family=Outfit:wght@300;400;500;600;700&display=swap";
:root{--font-sans:"Outfit", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--bg-base:224 25% 6%;--bg-surface:224 25% 10%;--bg-surface-glass:224 25% 10% / .65;--border-color:224 20% 18%;--border-color-glow:263 70% 50% / .3;--color-primary:263 90% 70%;--color-primary-hover:263 90% 60%;--color-primary-glow:263 90% 70% / .15;--color-accent:190 90% 60%;--color-accent-hover:190 90% 50%;--color-text:224 10% 95%;--color-text-muted:224 12% 65%;--color-error:0 85% 65%}*{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--font-sans);background-color:hsl(var(--bg-base));color:hsl(var(--color-text));-webkit-font-smoothing:antialiased;flex-direction:column;min-height:100vh;display:flex;overflow:hidden}.glass-panel{background:hsl(var(--bg-surface-glass));-webkit-backdrop-filter:blur(16px);border:1px solid hsl(var(--border-color));border-radius:16px;transition:border-color .3s,box-shadow .3s;box-shadow:0 8px 32px #0000005e}.glass-panel:hover{border-color:hsl(var(--color-primary-glow));box-shadow:0 8px 32px #9333ea0d}@keyframes fadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes pulse-glow{0%,to{box-shadow:0 0 15px hsl(var(--color-primary-glow))}50%{box-shadow:0 0 25px hsl(var(--color-primary-glow))}}.app-container{flex-direction:column;width:100%;max-width:1200px;height:100vh;margin:0 auto;padding:24px;animation:.6s cubic-bezier(.16,1,.3,1) forwards fadeIn;display:flex}.app-header{justify-content:space-between;align-items:center;margin-bottom:20px;padding:16px 24px;display:flex}.brand-container{align-items:center;gap:12px;display:flex}.brand-logo{background:linear-gradient(135deg, hsl(var(--color-primary)), hsl(var(--color-accent)));color:#000;width:36px;height:36px;box-shadow:0 0 15px hsl(var(--color-primary-glow));border-radius:10px;justify-content:center;align-items:center;font-size:1.2rem;font-weight:700;display:flex}.brand-name{letter-spacing:-.025em;background:linear-gradient(120deg, #fff, hsl(var(--color-text-muted)));-webkit-text-fill-color:transparent;-webkit-background-clip:text;font-size:1.25rem;font-weight:600}.user-profile{align-items:center;gap:12px;display:flex}.user-email{color:hsl(var(--color-text-muted));font-size:.875rem;font-weight:500}.btn{font-family:var(--font-sans);cursor:pointer;border:1px solid #0000;border-radius:10px;align-items:center;gap:8px;padding:10px 18px;font-size:.875rem;font-weight:500;transition:all .2s cubic-bezier(.16,1,.3,1);display:flex}.btn-primary{background-color:hsl(var(--color-primary));color:#0f0720;box-shadow:0 4px 14px hsl(var(--color-primary-glow));font-weight:600}.btn-primary:hover{background-color:hsl(var(--color-primary-hover));box-shadow:0 6px 20px hsl(var(--color-primary-glow));transform:translateY(-1px)}.btn-primary:active{transform:translateY(0)}.btn-secondary{border-color:hsl(var(--border-color));color:hsl(var(--color-text));background-color:#0000}.btn-secondary:hover{background-color:hsl(var(--bg-surface));border-color:hsl(var(--color-text-muted))}.signin-screen{text-align:center;flex-direction:column;flex:1;justify-content:center;align-items:center;padding:40px;display:flex}.signin-card{flex-direction:column;align-items:center;gap:28px;width:100%;max-width:420px;padding:48px 32px;display:flex}.signin-title{letter-spacing:-.03em;background:linear-gradient(135deg, #fff 30%, hsl(var(--color-text-muted)));-webkit-text-fill-color:transparent;-webkit-background-clip:text;font-size:2rem;font-weight:700}.signin-desc{color:hsl(var(--color-text-muted));margin-top:-12px;font-size:.95rem;line-height:1.5}.chat-screen{flex-direction:column;flex:1;gap:20px;display:flex;overflow:hidden}.messages-viewport{scroll-behavior:smooth;flex-direction:column;flex:1;gap:16px;padding:16px;display:flex;overflow-y:auto}.messages-viewport::-webkit-scrollbar{width:6px}.messages-viewport::-webkit-scrollbar-track{background:0 0}.messages-viewport::-webkit-scrollbar-thumb{background:hsl(var(--border-color));border-radius:4px}.messages-viewport::-webkit-scrollbar-thumb:hover{background:hsl(var(--color-text-muted) / .4)}.message-wrapper{flex-direction:column;max-width:80%;animation:.3s ease-out forwards fadeIn;display:flex}.message-wrapper.user{align-self:flex-end}.message-wrapper.assistant{align-self:flex-start}.message-bubble{word-break:break-word;border-radius:16px;padding:14px 18px;font-size:.95rem;line-height:1.5}.message-wrapper.user .message-bubble{background-color:hsl(var(--color-primary));color:#0f0720;border-bottom-right-radius:4px;font-weight:500}.message-wrapper.assistant .message-bubble{background-color:hsl(var(--bg-surface));border:1px solid hsl(var(--border-color));color:hsl(var(--color-text));border-bottom-left-radius:4px}.message-meta{color:hsl(var(--color-text-muted));margin-top:6px;padding:0 4px;font-size:.75rem}.message-wrapper.user .message-meta{text-align:right}.chat-input-area{align-items:center;gap:12px;padding:16px;display:flex}.chat-textarea{background-color:hsl(var(--bg-base));border:1px solid hsl(var(--border-color));color:hsl(var(--color-text));font-family:var(--font-sans);resize:none;border-radius:12px;outline:none;flex:1;height:48px;padding:14px 16px;font-size:.95rem;transition:all .2s}.chat-textarea:focus{border-color:hsl(var(--color-primary));box-shadow:0 0 0 2px hsl(var(--color-primary-glow))}.chat-textarea::placeholder{color:hsl(var(--color-text-muted) / .7)}.loading-indicator{background-color:hsl(var(--bg-surface));border:1px solid hsl(var(--border-color));color:hsl(var(--color-text-muted));border-radius:16px;align-self:flex-start;align-items:center;gap:8px;padding:12px 18px;font-size:.875rem;animation:.2s ease-out forwards fadeIn;display:flex}.spinner{border:2px solid hsl(var(--color-text-muted) / .3);border-top-color:hsl(var(--color-accent));border-radius:50%;width:16px;height:16px;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.empty-state{color:hsl(var(--color-text-muted));text-align:center;opacity:.7;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:12px;display:flex}.empty-state-icon{color:hsl(var(--color-primary));opacity:.8}
