:root{color-scheme:dark;font-family:ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,sans-serif;line-height:1.5;--bg: #0a0a0a;--surface: #111113;--surface-hover: #1a1a1e;--border: rgba(255, 255, 255, .08);--border-active: rgba(255, 255, 255, .15);--text: #e8e8ed;--text-muted: rgba(255, 255, 255, .45);--accent: #6e56cf;--accent-glow: rgba(110, 86, 207, .15);--accent-bright: #9b8afb;--green: #3dd68c;--green-muted: rgba(61, 214, 140, .12);--orange: #f5a623;--orange-muted: rgba(245, 166, 35, .1)}*{box-sizing:border-box;margin:0;padding:0}html,body,#root{min-height:100vh;background:var(--bg);color:var(--text)}.app{display:grid;grid-template-columns:260px 1fr;grid-template-rows:1fr auto;min-height:100vh}@media(max-width:768px){.app{grid-template-columns:1fr}.sidebar{display:none}}.sidebar{grid-row:1 / -1;background:var(--surface);border-right:1px solid var(--border);display:flex;flex-direction:column;padding:1.25rem;gap:1.5rem}.sidebar-brand{display:flex;align-items:center;gap:.65rem;padding-bottom:1rem;border-bottom:1px solid var(--border)}.sidebar-logo{width:34px;height:34px;flex-shrink:0;display:flex;align-items:center;justify-content:center}.sidebar-title{font-size:.95rem;font-weight:600;letter-spacing:-.01em}.sidebar-subtitle{font-size:.7rem;color:var(--text-muted);letter-spacing:.06em;text-transform:uppercase}.sidebar-section-label{font-size:.65rem;letter-spacing:.15em;text-transform:uppercase;color:var(--text-muted);margin-bottom:.5rem}.sidebar-caps{display:flex;flex-direction:column;gap:.35rem}.cap-item{display:flex;align-items:center;gap:.55rem;padding:.5rem .6rem;border-radius:6px;font-size:.8rem;color:#ffffffb3;cursor:default;transition:background .15s}.cap-item:hover{background:var(--surface-hover)}.cap-dot{width:7px;height:7px;border-radius:50%;flex-shrink:0}.cap-dot.green{background:var(--green)}.cap-dot.orange{background:var(--orange)}.cap-dot.accent{background:var(--accent-bright)}.sidebar-footer{margin-top:auto;padding-top:1rem;border-top:1px solid var(--border);display:flex;align-items:center;gap:.6rem}.status-dot{width:8px;height:8px;background:var(--green);border-radius:50%;box-shadow:0 0 6px var(--green)}.status-text{font-size:.75rem;color:var(--text-muted)}.chat-area{display:flex;flex-direction:column;overflow:hidden}.chat-messages{flex:1;overflow-y:auto;padding:2rem 2rem 1rem;display:flex;flex-direction:column;gap:1.25rem}.chat-messages::-webkit-scrollbar{width:5px}.chat-messages::-webkit-scrollbar-thumb{background:#ffffff14;border-radius:3px}.message{display:flex;gap:.75rem;max-width:52rem;animation:msgIn .25s ease-out}@keyframes msgIn{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.message.agent{align-self:flex-start}.message.user{align-self:flex-end;flex-direction:row-reverse}.message-avatar{width:30px;height:30px;border-radius:8px;display:flex;align-items:center;justify-content:center;font-size:.7rem;font-weight:700;flex-shrink:0;margin-top:2px}.message.agent .message-avatar{background:none}.message.user .message-avatar{background:#ffffff14;color:var(--text-muted)}.message-body{padding:.75rem 1rem;border-radius:12px;font-size:.88rem;line-height:1.6;max-width:42rem}.message.agent .message-body{background:var(--surface);border:1px solid var(--border);border-top-left-radius:4px}.message.user .message-body{background:var(--accent-glow);border:1px solid rgba(110,86,207,.2);border-top-right-radius:4px;color:var(--accent-bright)}.message-body code{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.82rem;background:#ffffff0f;padding:.15em .4em;border-radius:4px}.message-body pre{margin:.6rem 0 .3rem;padding:.75rem 1rem;background:#00000059;border:1px solid var(--border);border-radius:8px;overflow-x:auto;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.8rem;line-height:1.6}.message-meta{font-size:.65rem;color:var(--text-muted);margin-top:.35rem}.message.user .message-meta{text-align:right}.typing-indicator{display:flex;gap:4px;padding:.4rem 0}.typing-indicator span{width:6px;height:6px;background:var(--accent-bright);border-radius:50%;animation:blink 1.2s infinite}.typing-indicator span:nth-child(2){animation-delay:.2s}.typing-indicator span:nth-child(3){animation-delay:.4s}@keyframes blink{0%,60%,to{opacity:.2}30%{opacity:1}}.chat-input-wrap{padding:1rem 2rem 1.5rem;border-top:1px solid var(--border);background:var(--bg)}.chat-input-box{display:flex;align-items:flex-end;gap:.6rem;background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:.6rem .75rem;transition:border-color .15s}.chat-input-box:focus-within{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-glow)}.chat-input-box textarea{flex:1;background:none;border:none;outline:none;color:var(--text);font-family:inherit;font-size:.88rem;resize:none;line-height:1.5;min-height:24px;max-height:120px}.chat-input-box textarea::placeholder{color:var(--text-muted)}.send-btn{width:34px;height:34px;border-radius:8px;border:none;background:var(--accent);color:#fff;cursor:pointer;display:grid;place-items:center;transition:background .15s,transform .1s;flex-shrink:0}.send-btn:hover{background:var(--accent-bright)}.send-btn:active{transform:scale(.95)}.send-btn:disabled{opacity:.3;cursor:default}.send-btn svg{width:16px;height:16px}.chat-hint{text-align:center;font-size:.68rem;color:var(--text-muted);margin-top:.5rem}.welcome{display:flex;flex-direction:column;align-items:center;justify-content:center;flex:1;gap:1rem;padding:2rem;text-align:center}.welcome-logo{width:80px;height:80px;display:flex;align-items:center;justify-content:center;filter:drop-shadow(0 0 24px rgba(110,86,207,.35));animation:logoFloat 3s ease-in-out infinite}@keyframes logoFloat{0%,to{transform:translateY(0)}50%{transform:translateY(-6px)}}.welcome h2{font-size:1.3rem;font-weight:600;letter-spacing:-.02em}.welcome p{color:var(--text-muted);font-size:.88rem;max-width:26rem}.suggestion-chips{display:flex;flex-wrap:wrap;gap:.5rem;justify-content:center;margin-top:.5rem}.suggestion-chip{padding:.5rem 1rem;border:1px solid var(--border);border-radius:8px;background:var(--surface);color:#ffffffb3;font-size:.8rem;cursor:pointer;transition:background .15s,border-color .15s}.suggestion-chip:hover{background:var(--surface-hover);border-color:var(--accent);color:var(--text)}
