:root{font-family:system-ui,-apple-system,BlinkMacSystemFont,Inter,sans-serif;line-height:1.5;font-weight:400;color-scheme:dark}body{margin:0;min-height:100vh}.app-root{min-height:100vh}.theme-dark{--bg-main: #050816;--bg-sidebar: #0b1020;--bg-elevated: #101525;--border-subtle: rgba(255, 255, 255, .06);--text-primary: #f5f5f5;--text-secondary: #a1a1b5;--accent: #38bdf8;--accent-soft: rgba(56, 189, 248, .15);--user-bubble: linear-gradient(135deg, #38bdf8, #6366f1);--assistant-bubble: #111827}.theme-light{--bg-main: #f7f7fb;--bg-sidebar: #ffffff;--bg-elevated: #ffffff;--border-subtle: rgba(15, 23, 42, .08);--text-primary: #020617;--text-secondary: #6b7280;--accent: #2563eb;--accent-soft: rgba(37, 99, 235, .08);--user-bubble: linear-gradient(135deg, #2563eb, #8b5cf6);--assistant-bubble: #e5e7eb}.app-shell{display:grid;grid-template-columns:280px minmax(0,1fr);min-height:100vh;background:radial-gradient(circle at top,#1d2438 0,#050816 45%,#020617);color:var(--text-primary)}.sidebar{display:flex;flex-direction:column;border-right:1px solid var(--border-subtle);background:linear-gradient(180deg,#0f172af5,#020617 90%);padding:16px 14px;gap:16px}.sidebar-header{display:flex;flex-direction:column;gap:12px}.brand-main{display:flex;align-items:center;gap:10px}.brand-logo{width:34px;height:34px;object-fit:contain;border-radius:999px;background:#020617;padding:4px;box-shadow:0 0 20px #f8717140}.brand-title{font-size:1rem;font-weight:600;letter-spacing:.03em}.brand-subtitle{font-size:.78rem;color:var(--text-secondary)}.new-chat-btn{border-radius:999px;border:1px solid var(--border-subtle);background:#0f172ae6;padding:8px 12px;font-size:.86rem;color:var(--text-primary);display:inline-flex;align-items:center;justify-content:center;gap:6px;cursor:pointer;transition:all .15s ease}.new-chat-btn:hover{border-color:var(--accent);background:#0f172afa;box-shadow:0 0 18px #38bdf859}.sidebar-section{flex:1;display:flex;flex-direction:column;gap:6px}.sidebar-section-title{font-size:.8rem;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.09em}.sidebar-history{border-radius:12px;background:#0f172aa6;border:1px solid var(--border-subtle);padding:8px;max-height:260px;overflow:auto}.sidebar-history-item{display:flex;align-items:flex-start;gap:8px;font-size:.82rem;padding:6px 8px;border-radius:10px;color:var(--text-secondary);cursor:pointer;transition:all .12s ease}.sidebar-history-item:hover{background:#1e40af59;color:var(--text-primary)}.history-bullet{font-size:.7rem;margin-top:3px}.history-text{flex:1}.sidebar-history-empty{font-size:.8rem;color:var(--text-secondary);padding:6px}.sidebar-footer{display:flex;flex-direction:column;gap:10px}.uda-demo-pill{display:flex;align-items:center;gap:8px;border-radius:999px;padding:6px 10px;background:#0f172ad9;border:1px solid var(--border-subtle)}.uda-logo{width:24px;height:24px;border-radius:6px;object-fit:contain;background:#fff;padding:2px}.uda-text{display:flex;flex-direction:column}.uda-label{font-size:.75rem;font-weight:600}.uda-caption{font-size:.7rem;color:var(--text-secondary)}.theme-toggle{border-radius:999px;border:1px solid var(--border-subtle);background:#0f172ad9;padding:6px 10px;font-size:.8rem;color:var(--text-secondary);cursor:pointer;width:fit-content;transition:all .15s ease}.theme-toggle:hover{border-color:var(--accent);color:var(--text-primary)}.chat-main{display:flex;flex-direction:column;height:100vh}.chat-header{padding:16px 22px;border-bottom:1px solid var(--border-subtle);background:radial-gradient(circle at top,rgba(56,189,248,.18),transparent 55%)}.chat-title{margin:0;font-size:1.2rem;font-weight:600}.chat-subtitle{margin:4px 0 0;font-size:.85rem;color:var(--text-secondary)}.chat-window{flex:1;padding:18px 22px;overflow-y:auto;display:flex;flex-direction:column;gap:10px}.message-row{display:flex;gap:10px;align-items:flex-start}.message-row-user{flex-direction:row-reverse}.message-avatar{width:32px;height:32px;border-radius:999px;background:radial-gradient(circle,#f8fafcd9,#0f172af2);display:flex;align-items:center;justify-content:center;font-size:1rem}.avatar-logo{width:22px;height:22px;object-fit:contain}.message-bubble{max-width:min(700px,100%);padding:10px 12px;border-radius:14px;font-size:.95rem;line-height:1.4;box-shadow:0 8px 25px #0f172aa6}.message-row-user .message-bubble{border-bottom-right-radius:4px;background-image:var(--user-bubble);color:#f9fafb}.message-row-assistant .message-bubble{border-bottom-left-radius:4px;background:var(--assistant-bubble);color:var(--text-primary)}.message-content{white-space:pre-wrap}.chat-link{color:#38bdf8;text-decoration:underline;word-break:break-all;cursor:pointer;transition:color .15s ease}.chat-link:hover{color:#7dd3fc}.message-row-user .chat-link{color:#bfdbfe}.message-row-user .chat-link:hover{color:#fff}.typing-bubble{display:inline-flex;gap:4px;align-items:center;justify-content:center}.typing-dot{width:6px;height:6px;border-radius:999px;background:#94a3b8d9;animation:typingBlink 1s infinite ease-in-out}.typing-dot:nth-child(2){animation-delay:.15s}.typing-dot:nth-child(3){animation-delay:.3s}@keyframes typingBlink{0%,80%,to{opacity:.3;transform:translateY(0)}40%{opacity:1;transform:translateY(-2px)}}.chat-input-bar{padding:10px 22px 16px;border-top:1px solid var(--border-subtle);background:linear-gradient(180deg,#0f172ae6,#0f172afa)}.chat-input-wrapper{display:flex;gap:8px;align-items:flex-end;background:#0f172acc;border-radius:16px;padding:6px 6px 6px 12px;border:1px solid rgba(148,163,184,.25)}.chat-input{flex:1;resize:none;border:none;outline:none;background:transparent;color:var(--text-primary);font-size:.93rem;max-height:110px}.chat-input::placeholder{color:var(--text-secondary)}.send-btn{border-radius:999px;border:none;background:var(--accent);color:#fff;font-size:.86rem;padding:8px 14px;cursor:pointer;transition:all .12s ease;display:inline-flex;align-items:center;justify-content:center}.send-btn:disabled{opacity:.4;cursor:default}.send-btn:not(:disabled):hover{box-shadow:0 0 16px #38bdf899;transform:translateY(-1px)}.chat-footer-text{margin-top:6px;font-size:.78rem;color:var(--text-secondary)}@media(max-width:900px){.app-shell{grid-template-columns:1fr}.sidebar{display:none}}
