html,body,#root{height:100%;margin:0;padding:0}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}@keyframes aui-pulse{50%{opacity:.5}}:where(.aui-md[data-status=running]):empty:after,:where(.aui-md[data-status=running])>:where(:not(ol):not(ul):not(pre)):last-child:after,:where(.aui-md[data-status=running])>pre:last-child code:after,:where(.aui-md[data-status=running])>:where(:is(ol,ul):last-child)>:where(li:last-child:not(:has(*>li))):after,:where(.aui-md[data-status=running])>:where(:is(ol,ul):last-child)>:where(li:last-child)>:where(:is(ol,ul):last-child)>:where(li:last-child:not(:has(*>li))):after,:where(.aui-md[data-status=running])>:where(:is(ol,ul):last-child)>:where(li:last-child)>:where(:is(ol,ul):last-child)>:where(li:last-child)>:where(:is(ol,ul):last-child)>:where(li:last-child):after{animation:aui-pulse 2s cubic-bezier(.4,0,.6,1) infinite;font-family:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji",Segoe UI Symbol,"Noto Color Emoji";--aui-content: "●";content:var(--aui-content);margin-left:.25rem;margin-right:.25rem}:root{--bg-primary: #0a0a0f;--bg-secondary: #12121a;--bg-tertiary: #1a1a25;--bg-hover: #22222f;--border-color: #2a2a3a;--border-light: #3a3a4a;--text-primary: #f0f0f5;--text-secondary: #a0a0b0;--text-muted: #606070;--accent: #8b5cf6;--accent-hover: #7c3aed;--accent-glow: rgba(139, 92, 246, .3);--success: #10b981;--error: #ef4444;--warning: #f59e0b}*{box-sizing:border-box;margin:0;padding:0}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,sans-serif;background:var(--bg-primary);color:var(--text-primary);height:100vh;overflow:hidden}#root{height:100vh}.app{display:flex;height:100vh}.login-container{display:flex;justify-content:center;align-items:center;height:100vh;background:var(--bg-primary);position:relative;overflow:hidden}.login-glow{position:absolute;width:600px;height:600px;background:radial-gradient(circle,var(--accent-glow) 0%,transparent 70%);top:50%;left:50%;transform:translate(-50%,-50%);pointer-events:none}.login-box{background:var(--bg-secondary);padding:48px 40px;border-radius:20px;border:1px solid var(--border-color);text-align:center;min-width:380px;position:relative;z-index:1;box-shadow:0 20px 60px #00000080}.login-logo{width:64px;height:64px;background:linear-gradient(135deg,var(--accent) 0%,#a78bfa 100%);border-radius:16px;margin:0 auto 20px;display:flex;align-items:center;justify-content:center;font-size:28px;font-weight:700;color:#fff;box-shadow:0 8px 24px var(--accent-glow)}.login-title{color:var(--text-primary);margin-bottom:8px;font-size:26px;font-weight:600}.login-subtitle{color:var(--text-muted);margin-bottom:32px;font-size:14px}.login-input{width:100%;padding:14px 18px;border:1px solid var(--border-color);border-radius:12px;background:var(--bg-tertiary);color:var(--text-primary);font-size:15px;margin-bottom:16px;outline:none;transition:all .2s ease}.login-input::placeholder{color:var(--text-muted)}.login-input:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-glow)}.login-button{width:100%;padding:14px;background:linear-gradient(135deg,var(--accent) 0%,var(--accent-hover) 100%);color:#fff;border:none;border-radius:12px;font-size:15px;font-weight:500;cursor:pointer;transition:all .2s ease;margin-top:8px}.login-button:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 8px 24px var(--accent-glow)}.login-button:disabled{opacity:.6;cursor:not-allowed}.login-error{color:var(--error);margin-top:16px;font-size:14px;padding:10px;background:#ef44441a;border-radius:8px}.sidebar{position:fixed;top:0;left:0;width:300px;height:100vh;background:var(--bg-secondary);border-right:1px solid var(--border-color);z-index:100;display:flex;flex-direction:column;transition:transform .3s ease}.sidebar-header{padding:20px;border-bottom:1px solid var(--border-color)}.brand{display:flex;align-items:center;gap:12px;margin-bottom:20px}.brand-icon{width:36px;height:36px;background:linear-gradient(135deg,var(--accent) 0%,#a78bfa 100%);border-radius:10px;display:flex;align-items:center;justify-content:center;font-size:16px;font-weight:700;color:#fff}.brand-text{font-size:18px;font-weight:600;color:var(--text-primary)}.new-session-btn{width:100%;padding:12px 16px;background:var(--bg-tertiary);color:var(--text-primary);border:1px solid var(--border-color);border-radius:10px;font-size:14px;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;justify-content:center;gap:8px}.new-session-btn:hover{background:var(--bg-hover);border-color:var(--accent);color:var(--accent)}.new-session-btn svg{width:18px;height:18px}.sidebar-content{flex:1;overflow-y:auto;padding:12px}.session-list-title{display:flex;align-items:center;gap:6px;font-size:11px;color:var(--text-muted);padding:12px 12px 8px;text-transform:uppercase;letter-spacing:1px;font-weight:600;cursor:pointer;-webkit-user-select:none;user-select:none;transition:color .15s ease}.session-list-title:hover{color:var(--text-secondary)}.session-list-title .collapse-icon{width:14px;height:14px;transition:transform .2s ease}.session-list-title .collapse-icon.expanded{transform:rotate(90deg)}.session-list-title .session-count{margin-left:auto;background:var(--bg-tertiary);padding:2px 6px;border-radius:10px;font-size:10px}.session-list{display:flex;flex-direction:column;gap:4px}.session-item{padding:12px 14px;border-radius:10px;cursor:pointer;transition:all .15s ease;position:relative;border:1px solid transparent}.session-item:hover{background:var(--bg-tertiary)}.session-item.active{background:var(--bg-tertiary);border-color:var(--accent)}.session-title{color:var(--text-primary);font-size:14px;margin-bottom:4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-weight:500}.session-meta{color:var(--text-muted);font-size:12px;display:flex;justify-content:space-between;align-items:center}.delete-btn{color:var(--text-muted);background:none;border:none;cursor:pointer;font-size:12px;opacity:0;transition:all .15s ease;padding:4px 8px;border-radius:6px}.session-item:hover .delete-btn{opacity:1}.delete-btn:hover{color:var(--error);background:#ef44441a}.no-sessions{color:var(--text-muted);text-align:center;padding:40px 20px;font-size:14px}.sidebar-footer{padding:16px 20px;border-top:1px solid var(--border-color)}.user-info{display:flex;align-items:center;justify-content:space-between}.user-name{display:flex;align-items:center;gap:10px;color:var(--text-secondary);font-size:14px}.user-avatar{width:32px;height:32px;background:var(--bg-tertiary);border-radius:8px;display:flex;align-items:center;justify-content:center;font-size:14px;color:var(--accent);font-weight:600}.logout-btn{padding:8px 14px;background:var(--bg-tertiary);color:var(--text-muted);border:1px solid var(--border-color);border-radius:8px;font-size:13px;cursor:pointer;transition:all .15s ease}.logout-btn:hover{color:var(--error);border-color:var(--error);background:#ef44441a}.chat-container{display:flex;flex-direction:column;height:100vh;margin-left:300px;background:var(--bg-primary);flex:1;min-width:0;overflow-x:hidden}.header{background:var(--bg-secondary);padding:16px 24px;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--border-color);min-height:64px}.header-left{display:flex;align-items:center;gap:16px}.sidebar-toggle{display:none;background:none;border:none;color:var(--text-secondary);font-size:22px;cursor:pointer;padding:4px}.header h1{font-size:16px;color:var(--text-primary);font-weight:600}.status{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--text-muted);padding:6px 12px;background:var(--bg-tertiary);border-radius:20px}.status-dot{width:8px;height:8px;border-radius:50%;background:var(--error);transition:background .2s ease}.status-dot.connected{background:var(--success);box-shadow:0 0 8px var(--success)}.thread-container{flex:1;overflow:hidden;display:flex;flex-direction:column}.composer-container{background:var(--bg-secondary);border-top:1px solid var(--border-color);padding:16px 24px}.sidebar-overlay{display:none;position:fixed;top:0;left:0;width:100vw;height:100vh;background:#0009;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:99;opacity:0;transition:opacity .3s ease}.sidebar-overlay.show{display:block;opacity:1}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--border-color);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:var(--border-light)}.aui-thread-root{height:100%;display:flex;flex-direction:column}.aui-thread-viewport{flex:1;overflow-y:auto;padding:24px;scroll-behavior:smooth;display:flex;flex-direction:column;gap:20px}.message{max-width:80%;padding:14px 18px;border-radius:16px;line-height:1.6;animation:messageIn .2s ease;word-wrap:break-word;overflow-wrap:break-word;min-width:0}@keyframes messageIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.message.user{align-self:flex-end;background:linear-gradient(135deg,var(--accent) 0%,var(--accent-hover) 100%);color:#fff;border-bottom-right-radius:6px}.message.assistant{align-self:flex-start;background:var(--bg-secondary);border:1px solid var(--border-color);border-bottom-left-radius:6px}.message.assistant pre{background:var(--bg-primary);padding:14px;border-radius:10px;overflow-x:auto;margin:12px 0;border:1px solid var(--border-color)}.message.assistant code{font-family:JetBrains Mono,Fira Code,Consolas,monospace;font-size:13px}.message.assistant p{margin:10px 0}.message.assistant p:first-child{margin-top:0}.message.assistant p:last-child{margin-bottom:0}.aui-md{line-height:1.6;overflow-wrap:break-word;word-wrap:break-word;min-width:0}.aui-md p{margin:10px 0}.aui-md p:first-child{margin-top:0}.aui-md p:last-child{margin-bottom:0}.aui-md pre{background:var(--bg-primary);padding:14px;border-radius:10px;overflow-x:auto;margin:12px 0;border:1px solid var(--border-color);max-width:100%}.aui-md code{word-break:break-all}.aui-md code{font-family:JetBrains Mono,Fira Code,Consolas,monospace;font-size:13px}.aui-md :not(pre)>code{background:var(--bg-tertiary);padding:2px 6px;border-radius:4px;font-size:.9em}.aui-md ul,.aui-md ol{margin:10px 0;padding-left:24px}.aui-md li{margin:4px 0}.aui-md blockquote{border-left:3px solid var(--accent);margin:10px 0;padding-left:16px;color:var(--text-secondary)}.aui-md h1,.aui-md h2,.aui-md h3,.aui-md h4{margin:16px 0 8px;font-weight:600}.aui-md h1{font-size:1.5em}.aui-md h2{font-size:1.3em}.aui-md h3{font-size:1.1em}.aui-md h4{font-size:1em}.aui-md a{color:var(--accent);text-decoration:none}.aui-md a:hover{text-decoration:underline}.aui-md hr{border:none;border-top:1px solid var(--border-color);margin:16px 0}.aui-md table{border-collapse:collapse;width:100%;margin:12px 0}.aui-md th,.aui-md td{border:1px solid var(--border-color);padding:8px 12px;text-align:left}.aui-md th{background:var(--bg-tertiary);font-weight:600}.aui-composer-root{display:flex;gap:12px;max-width:900px;margin:0 auto;background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:16px;padding:8px;transition:all .2s ease}.aui-composer-root:focus-within{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-glow)}.aui-composer-input{flex:1;padding:10px 14px;border:none;background:transparent;color:var(--text-primary);font-size:15px;resize:none;outline:none;font-family:inherit;min-height:44px;max-height:200px;line-height:1.5}.aui-composer-input::placeholder{color:var(--text-muted)}.aui-composer-send{padding:10px 20px;background:linear-gradient(135deg,var(--accent) 0%,var(--accent-hover) 100%);color:#fff;border:none;border-radius:10px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;gap:6px}.aui-composer-send svg{width:18px;height:18px}.aui-composer-send:hover:not(:disabled){transform:scale(1.02);box-shadow:0 4px 16px var(--accent-glow)}.aui-composer-send:disabled{opacity:.5;cursor:not-allowed}.aui-composer-cancel{padding:10px 20px;background:linear-gradient(135deg,#ef4444,#dc2626);color:#fff;border:none;border-radius:10px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;gap:6px}.aui-composer-cancel svg{width:18px;height:18px}.aui-composer-cancel:hover{box-shadow:0 4px 16px #ef444466}.thread-welcome{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;padding:40px;text-align:center}.thread-welcome .welcome-icon{width:80px;height:80px;background:linear-gradient(135deg,var(--accent) 0%,#a78bfa 100%);border-radius:20px;display:flex;align-items:center;justify-content:center;font-size:32px;font-weight:700;color:#fff;margin-bottom:24px;box-shadow:0 8px 32px var(--accent-glow)}.thread-welcome h2{font-size:24px;font-weight:600;color:var(--text-primary);margin-bottom:8px}.thread-welcome p{color:var(--text-muted);font-size:14px;margin-bottom:32px}.welcome-suggestions{display:flex;flex-wrap:wrap;gap:12px;justify-content:center;max-width:600px}.suggestion-btn{padding:12px 20px;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:12px;color:var(--text-secondary);font-size:14px;cursor:pointer;transition:all .2s ease}.suggestion-btn:hover{background:var(--bg-tertiary);border-color:var(--accent);color:var(--accent)}.scroll-to-bottom{position:absolute;bottom:100px;right:24px;width:40px;height:40px;border-radius:50%;background:var(--bg-secondary);border:1px solid var(--border-color);color:var(--text-secondary);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s ease;z-index:10}.scroll-to-bottom:hover{background:var(--bg-tertiary);border-color:var(--accent);color:var(--accent)}.scroll-to-bottom svg{width:20px;height:20px}@media(max-width:1200px){.sidebar{width:260px}.chat-container{margin-left:260px}}@media(max-width:900px){.sidebar{width:300px;transform:translate(-100%)}.sidebar.open{transform:translate(0)}.chat-container{margin-left:0}.sidebar-toggle{display:block!important}.message{max-width:95%}.login-box{min-width:auto;width:90%;max-width:380px;padding:32px 24px}.aui-composer-root{max-width:100%}}@media(max-width:600px){.header{padding:12px 16px}.header h1{font-size:14px}.aui-thread-viewport{padding:16px}.composer-container{padding:12px}.aui-composer-root{padding:6px;gap:8px}.aui-composer-send,.aui-composer-cancel{padding:10px 12px}.aui-composer-send span,.aui-composer-cancel span{display:none}.message{max-width:100%;padding:12px 14px}}@media(max-width:400px){.aui-thread-viewport{padding:12px}.header-left h1,.status span{display:none}}
