:root{--bg:#0f0f0f;--surface:#1a1a1a;--surface-2:#222;--border:#2d2d2d;--text:#ededed;--text-dim:#aaa;--text-muted:#666;--primary:#f17a54;--primary-dim:#f17a541a;--primary-hover:#e86a44;--user-bg:#1b3b4a;--user-border:#ffffff0f;--confirm:#2a9d8f;--confirm-bg:#2a9d8f1a;--font:"Inter", system-ui, -apple-system, sans-serif;--radius:18px;--radius-sm:12px;--header-h:56px}*{box-sizing:border-box;margin:0;padding:0}html,body,#root{height:100%;font-family:var(--font);background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.auth-container{background:var(--bg);background-image:radial-gradient(70% 50% at 50% 0,#f17a540f 0%,#0000 70%);justify-content:center;align-items:center;min-height:100vh;padding:24px 16px;display:flex}.auth-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);width:100%;max-width:400px;padding:48px 44px;box-shadow:0 32px 80px #00000080}.auth-logo{flex-direction:column;align-items:flex-start;margin-bottom:40px;display:flex}.auth-logo img{object-fit:contain;width:auto;height:26px}.auth-logo-sub{color:var(--text-muted);letter-spacing:.08em;text-transform:uppercase;margin-top:7px;font-size:11px;font-weight:500}.auth-card h1{color:var(--text);letter-spacing:-.4px;margin-bottom:8px;font-size:22px;font-weight:600}.auth-subtitle{color:var(--text-dim);margin-bottom:32px;font-size:14px;line-height:1.65}.auth-form{flex-direction:column;gap:10px;display:flex}.auth-input{border:1px solid var(--border);border-radius:var(--radius-sm);width:100%;font-size:15px;font-family:var(--font);background:var(--surface-2);color:var(--text);outline:none;padding:14px 16px;transition:border-color .15s,box-shadow .15s}.auth-input::placeholder{color:var(--text-muted)}.auth-input:focus{border-color:#f17a5473;box-shadow:0 0 0 3px #f17a5414}.auth-error{color:#e07070;margin-top:2px;font-size:13px}.auth-sent{text-align:center;padding:8px 0 4px}.auth-sent-icon{background:var(--confirm-bg);width:56px;height:56px;color:var(--confirm);border:1px solid #2a9d8f33;border-radius:50%;justify-content:center;align-items:center;margin:0 auto 24px;font-size:22px;display:flex}.auth-sent h2{color:var(--text);letter-spacing:-.3px;margin-bottom:10px;font-size:18px;font-weight:600}.auth-sent p{color:var(--text-dim);margin-bottom:28px;font-size:14px;line-height:1.7}.btn-primary{background:var(--primary);color:#fff;border-radius:var(--radius-sm);font-size:15px;font-family:var(--font);cursor:pointer;letter-spacing:-.1px;border:none;padding:14px 20px;font-weight:500;transition:background .15s,box-shadow .15s}.btn-primary:hover:not(:disabled){background:var(--primary-hover);box-shadow:0 4px 20px #f17a5447}.btn-primary:disabled{opacity:.45;cursor:not-allowed}.btn-ghost{color:var(--text-muted);font-size:13px;font-family:var(--font);cursor:pointer;background:0 0;border:none;border-radius:8px;padding:6px 10px;transition:color .15s,background .15s}.btn-ghost:hover{color:var(--text-dim);background:var(--surface-2)}.chat-layout{flex-direction:column;max-width:800px;height:100vh;margin:0 auto;display:flex}.chat-header{height:var(--header-h);border-bottom:1px solid var(--border);-webkit-backdrop-filter:blur(16px);z-index:10;background:#0f0f0fe6;flex-shrink:0;justify-content:space-between;align-items:center;padding:0 24px;display:flex;position:sticky;top:0}.chat-header-left{flex-direction:column;gap:3px;display:flex}.chat-logo img{object-fit:contain;width:auto;height:32px}.chat-notice{color:var(--text-muted);letter-spacing:.02em;font-size:10px}.chat-messages{flex-direction:column;flex:1;gap:6px;padding:40px 24px 20px;display:flex;overflow-y:auto}.chat-messages::-webkit-scrollbar{width:3px}.chat-messages::-webkit-scrollbar-track{background:0 0}.chat-messages::-webkit-scrollbar-thumb{background:var(--border);border-radius:4px}.chat-empty{text-align:center;flex-direction:column;align-items:center;width:100%;max-width:500px;margin:auto;padding:0 24px;display:flex}.chat-empty-layout{flex:1;justify-content:center;align-items:center;display:flex}.chat-empty-logo{object-fit:contain;opacity:.95;width:auto;height:130px;margin:0 auto 16px;display:block}.chat-empty h2{color:var(--text);letter-spacing:-.5px;text-align:center;width:100%;margin-bottom:20px;font-size:32px;font-weight:600}.chat-empty p{color:var(--text-dim);margin-bottom:32px;font-size:14px;line-height:1.7}.chat-suggestions{text-align:left;grid-template-columns:1fr 1fr;gap:10px;display:grid}.suggestion-chip{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);font-size:13px;font-family:var(--font);color:var(--text-dim);cursor:pointer;text-align:left;padding:14px 16px;line-height:1.45;transition:border-color .15s,color .15s,background .15s}.suggestion-chip:hover{color:var(--text);background:var(--surface-2);border-color:#f17a5459}.bubble{gap:12px;padding:6px 0;display:flex}.bubble-user{flex-direction:row-reverse;align-self:flex-end}.bubble-assistant{align-self:flex-start;width:100%}.bubble-avatar{background:var(--primary-dim);width:28px;height:28px;color:var(--primary);letter-spacing:.02em;border:1px solid #f17a5438;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;margin-top:3px;font-size:9px;font-weight:700;display:flex}.bubble-body{flex-direction:column;gap:8px;min-width:0;display:flex}.bubble-user .bubble-body{align-items:flex-end;max-width:68%}.bubble-assistant .bubble-body{flex:1;min-width:0}.bubble-content{color:var(--text);font-size:15px;line-height:1.72}.bubble-user .bubble-content{background:var(--user-bg);border:1px solid var(--user-border);color:var(--text);border-radius:20px 20px 5px;padding:11px 18px}.bubble-assistant .bubble-content{padding:2px 0}.cursor{color:var(--primary);margin-left:2px;animation:.8s step-end infinite blink;display:inline-block}@keyframes blink{0%,to{opacity:1}50%{opacity:0}}.typing-dots{align-items:center;gap:5px;padding:4px 2px;display:inline-flex}.typing-dots span{background:var(--text-muted);border-radius:50%;width:7px;height:7px;animation:1.2s ease-in-out infinite bounce;display:inline-block}.typing-dots span:first-child{animation-delay:0s}.typing-dots span:nth-child(2){animation-delay:.2s}.typing-dots span:nth-child(3){animation-delay:.4s}@keyframes bounce{0%,60%,to{opacity:.4;transform:translateY(0)}30%{opacity:1;transform:translateY(-6px)}}.bubble-sources{flex-wrap:wrap;gap:6px;display:flex}.source-pill{background:var(--confirm-bg);color:var(--confirm);letter-spacing:.01em;border:1px solid #2a9d8f33;border-radius:20px;padding:3px 11px;font-size:11px;font-weight:500}.chat-disclaimer{text-align:center;color:var(--text-muted);letter-spacing:.01em;margin-top:10px;font-size:11px}.chat-footer{background:linear-gradient(to top, var(--bg) 55%, transparent);flex-shrink:0;padding:8px 20px 24px}.chat-input-wrapper{background:var(--surface);border:1px solid var(--border);border-radius:28px;align-items:center;gap:8px;padding:6px 6px 6px 20px;transition:border-color .15s,box-shadow .15s;display:flex}.chat-input-wrapper:focus-within{border-color:#f17a5466;box-shadow:0 0 0 3px #f17a5412}.chat-input{color:var(--text);font-size:15px;font-family:var(--font);background:0 0;border:none;outline:none;flex:1;min-width:0;padding:8px 0}.chat-input::placeholder{color:var(--text-muted)}.btn-send{background:var(--primary);color:#fff;cursor:pointer;border:none;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:36px;height:36px;font-size:16px;transition:background .15s,opacity .15s,transform .1s;display:flex}.btn-send:hover:not(:disabled){background:var(--primary-hover);transform:scale(1.06)}.btn-send:active:not(:disabled){transform:scale(.94)}.btn-send:disabled{opacity:.28;cursor:not-allowed;transform:none}@media (width<=600px){.auth-card{padding:36px 28px}.chat-messages{padding:24px 16px 12px}.chat-empty h2{font-size:22px}.chat-suggestions{grid-template-columns:1fr}.chat-footer{padding:6px 12px 20px}.bubble-user .bubble-body{max-width:84%}.bubble-avatar{display:none}}
