.sidebar-overlay{display:none}.sidebar{width:var(--sidebar-width);height:100vh;background:var(--bg-sidebar);border-right:1px solid var(--border);display:flex;flex-direction:column;flex-shrink:0;transition:width .2s ease,opacity .2s ease;overflow:hidden;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);position:relative;z-index:10}.sidebar.closed{width:0;border-right:none}.sidebar-top{padding:12px;border-bottom:1px solid var(--border)}.new-chat-btn{display:flex;align-items:center;gap:8px;width:100%;padding:8px 12px;background:transparent;border:1px solid var(--border);border-radius:var(--radius-md);color:var(--text-secondary);font-size:13px;transition:all .15s ease}.new-chat-btn:hover{background:var(--bg-hover);color:var(--text-primary);border-color:var(--border-focus)}.sidebar-search{position:relative;padding:4px 12px 8px}.sidebar-search-icon{position:absolute;left:22px;top:50%;transform:translateY(-50%);color:var(--text-muted);pointer-events:none}.sidebar-search-input{width:100%;padding:7px 30px 7px 32px;background:var(--bg-input, rgba(255, 255, 255, .05));border:1px solid var(--border);border-radius:var(--radius-md);color:var(--text-primary);font-size:12.5px;outline:none;transition:border-color .15s}.sidebar-search-input::placeholder{color:var(--text-muted)}.sidebar-search-input:focus{border-color:var(--border-focus)}.sidebar-search-clear{position:absolute;right:18px;top:50%;transform:translateY(-50%);background:none;border:none;color:var(--text-muted);cursor:pointer;padding:2px;display:flex;align-items:center;border-radius:4px}.sidebar-search-clear:hover{color:var(--text-secondary)}.sidebar-conversations{flex:1;overflow-y:auto;padding:8px}.sidebar-empty{display:flex;align-items:center;justify-content:center;padding:40px 16px}.sidebar-empty-text{color:var(--text-muted);font-size:13px}.conv-group{margin-bottom:8px}.conv-group-label{padding:6px 12px;font-size:11px;font-weight:500;color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em}.conv-item{display:flex;align-items:center;padding:8px 12px;border-radius:var(--radius-md);cursor:pointer;transition:background .1s ease;gap:8px}.conv-item:hover{background:var(--bg-hover)}.conv-item.active{background:var(--bg-active)}.conv-title{flex:1;font-size:13px;color:var(--text-secondary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.conv-item.active .conv-title{color:var(--text-primary)}.conv-actions{display:flex;gap:2px;flex-shrink:0;opacity:0;transition:opacity .1s ease}.conv-item:hover .conv-actions{opacity:1}.conv-action-btn{background:none;border:none;color:var(--text-muted);padding:3px;border-radius:4px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .1s ease}.conv-action-btn:hover{color:var(--text-primary);background:var(--bg-hover)}.conv-action-delete:hover{color:#f87171}.conv-delete:hover{color:var(--error);background:#ef44441a}.sidebar-footer{padding:10px 12px;border-top:1px solid var(--border)}.sidebar-brand{display:flex;align-items:center;gap:8px;color:var(--text-muted);font-size:13px;font-weight:500}.sidebar-brand-top{display:flex;align-items:center;gap:.6rem;padding:14px 14px 10px;border-bottom:1px solid var(--border)}.sidebar-brand-logo{width:28px;height:28px;border-radius:6px;object-fit:cover}.sidebar-brand-name{font-size:.95rem;font-weight:700;color:var(--text-primary);letter-spacing:.02em}.sidebar-nav{padding:8px;display:flex;flex-direction:column;gap:2px}.sidebar-nav-item{display:flex;align-items:center;gap:8px;width:100%;padding:7px 10px;background:none;border:none;border-radius:var(--radius-md);color:var(--text-secondary);font-size:.85rem;cursor:pointer;text-align:left;transition:background .15s,color .15s}.sidebar-nav-item:hover{background:var(--bg-hover);color:var(--text-primary)}.sidebar-nav-item.active{background:#63b3ed1f;color:#63b3ed}.sidebar-nav-icon{font-size:.95rem;flex-shrink:0}.sidebar-nav-label{font-weight:500}.sidebar-divider{height:1px;background:var(--border);margin:0 12px 4px}.sidebar-user{display:flex;align-items:center;gap:.6rem}.sidebar-user-avatar{width:30px;height:30px;background:linear-gradient(135deg,#2a6496,#1a3a5c);border:1px solid rgba(99,179,237,.3);border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:.8rem;font-weight:700;color:#63b3ed;flex-shrink:0}.sidebar-user-info{flex:1;min-width:0}.sidebar-user-name{display:block;font-size:.82rem;font-weight:600;color:var(--text-secondary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sidebar-user-role{display:block;font-size:.68rem;color:var(--text-muted);text-transform:capitalize}.sidebar-logout-btn{background:none;border:none;color:var(--text-muted);cursor:pointer;padding:.25rem;border-radius:4px;display:flex;align-items:center;transition:color .15s;flex-shrink:0}.sidebar-logout-btn:hover{color:#fc8181}.sidebar-theme-btn{background:none;border:none;color:var(--text-muted);cursor:pointer;padding:.25rem;border-radius:4px;display:flex;align-items:center;transition:color .15s;flex-shrink:0}.sidebar-theme-btn:hover{color:var(--warning)}.sidebar-top{display:flex;align-items:center;gap:8px}.cleanup-btn{background:transparent;border:1px solid var(--border-color);border-radius:var(--radius-sm);color:var(--text-muted);cursor:pointer;padding:8px;display:flex;align-items:center;justify-content:center;transition:all .15s ease;flex-shrink:0}.cleanup-btn:hover{background:var(--bg-hover);border-color:var(--border-focus);color:var(--text-primary)}@media(max-width:768px){.sidebar-overlay{display:block;position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;z-index:40}.sidebar{position:fixed;left:0;top:0;z-index:50}.sidebar.closed{transform:translate(-100%);width:var(--sidebar-width)}}.sidebar-v2-link{display:flex;align-items:center;gap:8px;margin:8px 12px 4px;padding:8px 10px;border-radius:8px;border:1px solid rgba(193,95,60,.35);background:linear-gradient(180deg,#c15f3c1a,#c15f3c0a);color:#f0d6c8;text-decoration:none;font-size:12.5px;transition:background .15s,border-color .15s}.sidebar-v2-link:hover{background:linear-gradient(180deg,#c15f3c2e,#c15f3c14);border-color:#c15f3c99}.sidebar-v2-spark{font-size:13px}.sidebar-v2-badge{margin-left:auto;font-size:9px;letter-spacing:.08em;padding:2px 6px;border-radius:4px;background:#c15f3c40;color:#ffd9c8;font-weight:600}.onboarding-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:10000}.onboarding-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:10001;pointer-events:none}.onboarding-spotlight-ring{position:fixed;z-index:10002;border-radius:12px;border:2px solid rgba(99,179,237,.6);box-shadow:0 0 0 4px #63b3ed26,0 0 20px #63b3ed33,inset 0 0 20px #63b3ed0d;pointer-events:none;animation:spotlightPulse 2s ease-in-out infinite}@keyframes spotlightPulse{0%,to{box-shadow:0 0 0 4px #63b3ed26,0 0 20px #63b3ed33,inset 0 0 20px #63b3ed0d}50%{box-shadow:0 0 0 6px #63b3ed40,0 0 30px #63b3ed4d,inset 0 0 30px #63b3ed14}}.onboarding-tooltip{z-index:10003;width:400px;max-width:calc(100vw - 32px);background:var(--bg-elevated, rgba(13, 17, 28, .97));border:1px solid var(--border);border-radius:16px;overflow:hidden;box-shadow:0 0 0 1px #63b3ed14,0 8px 32px #000000b3,0 0 60px #63b3ed14;-webkit-backdrop-filter:blur(24px);backdrop-filter:blur(24px);pointer-events:auto}.onboarding-tooltip-center{width:440px}.onboarding-tooltip-enter{animation:tooltipFadeIn .3s cubic-bezier(.16,1,.3,1) forwards}.onboarding-tooltip-exit{animation:tooltipFadeOut .15s ease-in forwards}@keyframes tooltipFadeIn{0%{opacity:0}to{opacity:1}}@keyframes tooltipFadeOut{0%{opacity:1}to{opacity:0}}.onboarding-progress{height:3px;background:#63b3ed1a;width:100%}.onboarding-progress-bar{height:100%;background:linear-gradient(90deg,#63b3ed,#4299e1);border-radius:0 2px 2px 0;transition:width .4s cubic-bezier(.16,1,.3,1)}.onboarding-tooltip-content{padding:24px 24px 16px;text-align:center}.onboarding-step-icon{font-size:36px;line-height:1;margin-bottom:12px;filter:drop-shadow(0 2px 8px rgba(0,0,0,.3))}.onboarding-step-label{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:1.5px;color:#63b3edb3;margin-bottom:8px}.onboarding-step-title{font-size:18px;font-weight:700;color:#f0f4ff;margin:0 0 10px;line-height:1.3}.onboarding-step-desc{font-size:13.5px;line-height:1.65;color:#94a3b8;margin:0}.onboarding-nav{display:flex;align-items:center;justify-content:space-between;padding:12px 24px 16px}.onboarding-skip{background:none;border:none;color:#64748b;font-size:12.5px;padding:6px 2px;cursor:pointer;transition:color .15s}.onboarding-skip:hover{color:#94a3b8}.onboarding-nav-btns{display:flex;gap:8px}.onboarding-btn{display:inline-flex;align-items:center;gap:6px;padding:8px 16px;border-radius:8px;font-size:13px;font-weight:600;border:none;cursor:pointer;transition:all .15s ease}.onboarding-btn-prev{background:#63b3ed1a;color:#94a3b8;border:1px solid rgba(99,179,237,.15)}.onboarding-btn-prev:hover{background:#63b3ed2e;color:#f0f4ff}.onboarding-btn-next{background:linear-gradient(135deg,#4299e1,#3182ce);color:#fff;box-shadow:0 2px 8px #4299e14d}.onboarding-btn-next:hover{background:linear-gradient(135deg,#63b3ed,#4299e1);box-shadow:0 4px 12px #4299e166}.onboarding-dots{display:flex;justify-content:center;gap:6px;padding:0 24px 18px}.onboarding-dot{width:7px;height:7px;border-radius:50%;border:none;padding:0;background:#63b3ed33;cursor:pointer;transition:all .25s ease}.onboarding-dot:hover{background:#63b3ed80;transform:scale(1.3)}.onboarding-dot.active{background:#63b3ed;width:20px;border-radius:4px;box-shadow:0 0 8px #63b3ed66}.onboarding-dot.completed{background:#63b3ed80}.onboarding-keys{position:fixed;bottom:16px;left:50%;transform:translate(-50%);z-index:10004;font-size:11px;color:#475569;display:flex;align-items:center;gap:4px;pointer-events:none}.onboarding-keys kbd{display:inline-flex;align-items:center;justify-content:center;min-width:22px;height:20px;padding:0 5px;background:#1e2637cc;border:1px solid rgba(99,179,237,.15);border-radius:4px;font-family:inherit;font-size:10px;color:#64748b}@media(max-width:640px){.onboarding-tooltip{width:calc(100vw - 24px)!important;position:fixed!important;bottom:16px!important;left:12px!important;top:auto!important;right:auto!important;transform:none!important}.onboarding-tooltip-center{width:calc(100vw - 24px)!important}.onboarding-keys{display:none}}.cmd-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;z-index:9990;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.cmd-palette{position:fixed;top:min(20%,160px);left:50%;transform:translate(-50%);width:min(560px,92vw);background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg),0 0 0 1px #63b3ed14;z-index:9991;overflow:hidden;animation:cmdSlideIn .15s ease}@keyframes cmdSlideIn{0%{opacity:0;transform:translate(-50%) translateY(-8px) scale(.98)}to{opacity:1;transform:translate(-50%) translateY(0) scale(1)}}.cmd-input-wrap{display:flex;align-items:center;gap:10px;padding:12px 16px;border-bottom:1px solid var(--border)}.cmd-search-icon{color:var(--text-tertiary);flex-shrink:0}.cmd-input{flex:1;background:none;border:none;outline:none;color:var(--text-primary);font-size:15px;font-family:inherit}.cmd-input::placeholder{color:var(--text-muted)}.cmd-kbd{font-size:11px;padding:2px 6px;background:var(--bg-hover);border:1px solid var(--border);border-radius:4px;color:var(--text-tertiary);font-family:inherit;line-height:1.4}.cmd-list{max-height:320px;overflow-y:auto;padding:6px}.cmd-empty{padding:24px;text-align:center;color:var(--text-muted);font-size:13px}.cmd-group-label{font-size:11px;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;padding:8px 10px 4px}.cmd-item{display:flex;align-items:center;gap:10px;width:100%;padding:8px 10px;background:none;border:none;border-radius:var(--radius-sm);color:var(--text-secondary);font-size:13.5px;font-family:inherit;text-align:left;cursor:pointer;transition:background .1s,color .1s}.cmd-item:hover,.cmd-item.selected{background:var(--bg-hover);color:var(--text-primary)}.cmd-item-icon{width:22px;text-align:center;font-size:14px;flex-shrink:0}.cmd-item-label{flex:1}.cmd-footer{display:flex;gap:16px;padding:8px 16px;border-top:1px solid var(--border);font-size:11px;color:var(--text-muted)}.cmd-footer kbd{font-size:10px;padding:1px 4px;background:var(--bg-hover);border:1px solid var(--border);border-radius:3px;color:var(--text-tertiary);font-family:inherit;margin-right:3px}*,*:before,*:after{margin:0;padding:0;box-sizing:border-box}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}:root{--bg-root: transparent;--bg-surface: rgba(13, 17, 26, .88);--bg-elevated: rgba(20, 26, 38, .92);--bg-hover: rgba(30, 38, 55, .85);--bg-active: rgba(35, 45, 65, .9);--bg-input: rgba(18, 24, 36, .95);--bg-code: rgba(10, 14, 22, .98);--bg-sidebar: rgba(10, 13, 20, .88);--text-primary: #f0f4ff;--text-secondary: #94a3b8;--text-tertiary: #64748b;--text-muted: #475569;--border: rgba(99, 179, 237, .12);--border-light: rgba(99, 179, 237, .07);--border-focus: rgba(99, 179, 237, .45);--accent: #ffffff;--accent-dim: #a1a1aa;--success: #22c55e;--error: #ef4444;--warning: #eab308;--info: #3b82f6;--sidebar-width: 260px;--header-height: 52px;--radius-sm: 6px;--radius-md: 8px;--radius-lg: 12px;--radius-xl: 16px;--radius-full: 9999px;--shadow-sm: 0 1px 2px rgba(0,0,0,.4);--shadow-md: 0 4px 12px rgba(0,0,0,.5);--shadow-lg: 0 8px 32px rgba(0,0,0,.6)}[data-theme=light]{--bg-root: #f5f7fa;--bg-surface: rgba(255, 255, 255, .95);--bg-elevated: rgba(255, 255, 255, .98);--bg-hover: rgba(0, 0, 0, .04);--bg-active: rgba(0, 0, 0, .07);--bg-input: rgba(0, 0, 0, .03);--bg-code: #f8f9fb;--bg-sidebar: rgba(248, 250, 252, .95);--bg-primary: #ffffff;--bg-secondary: #f8fafc;--text-primary: #0f172a;--text-secondary: #475569;--text-tertiary: #64748b;--text-muted: #94a3b8;--border: rgba(0, 0, 0, .1);--border-light: rgba(0, 0, 0, .06);--border-focus: rgba(59, 130, 246, .5);--accent: #1e293b;--accent-dim: #64748b;--shadow-sm: 0 1px 2px rgba(0,0,0,.06);--shadow-md: 0 4px 12px rgba(0,0,0,.08);--shadow-lg: 0 8px 32px rgba(0,0,0,.12)}[data-theme=light] body{background:#f5f7fa}[data-theme=light] .main-content{background:#ffffffd9;border-left-color:#00000014}[data-theme=light] .sidebar{background:#f8fafcfa;border-right-color:#00000014}[data-theme=light] .page-topbar{background:#ffffffd9;border-bottom-color:#00000014}[data-theme=light] .sidebar-nav-item.active{background:#3b82f61a;color:#2563eb}[data-theme=light] ::-webkit-scrollbar-thumb{background:#c4c9d4}[data-theme=light] .auth-spinner{border-color:#3b82f633;border-top-color:#3b82f6}[data-theme=light] .toast{background:#fff;border-color:#0000001a;box-shadow:0 4px 12px #0000001a}html,body,#root{width:100%;height:100%;overflow:hidden}body{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;background:var(--bg-root);color:var(--text-primary);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-size:14px;line-height:1.5}code,pre,.mono{font-family:JetBrains Mono,Fira Code,Consolas,monospace}a{color:var(--text-primary);text-decoration:none}button{cursor:pointer;font-family:inherit}input,textarea,select{font-family:inherit}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:#333;border-radius:3px}::-webkit-scrollbar-thumb:hover{background:#444}.app{display:flex;height:100vh;width:100vw;overflow:hidden;background:transparent;position:relative;z-index:1}.app-body{display:flex;flex:1;overflow:hidden}.main-content{flex:1;display:flex;flex-direction:column;overflow:hidden;min-width:0;background:#0a0d14d1;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border-left:1px solid rgba(99,179,237,.07);position:relative;z-index:2}.page-with-topbar{display:flex;flex-direction:column;height:100%;overflow:hidden}.page-topbar{display:flex;align-items:center;gap:.9rem;padding:0 1.2rem;height:var(--header-height);border-bottom:1px solid var(--border);background:#0a0a0ab3;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);flex-shrink:0}.topbar-menu-btn{background:none;border:none;color:var(--text-secondary);display:flex;align-items:center;padding:4px;border-radius:var(--radius-sm);transition:color .15s,background .15s}.topbar-menu-btn:hover{color:var(--text-primary);background:var(--bg-hover)}.page-topbar-title{font-size:.95rem;font-weight:600;color:var(--text-primary)}.page-scroll{flex:1;overflow-y:auto}.toast-stack{position:fixed;bottom:20px;right:20px;z-index:9999;display:flex;flex-direction:column;gap:8px}.toast{display:flex;align-items:center;gap:10px;padding:10px 16px;background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius-md);color:var(--text-primary);font-size:13px;animation:toastIn .2s ease;box-shadow:var(--shadow-md)}.toast-success{border-left:3px solid var(--success)}.toast-error{border-left:3px solid var(--error)}.toast-warning{border-left:3px solid var(--warning)}.toast-info{border-left:3px solid var(--info)}@keyframes toastIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.auth-spinner{width:22px;height:22px;border:2px solid rgba(99,179,237,.2);border-top-color:#63b3ed;border-radius:50%;animation:authSpin .8s linear infinite}@keyframes authSpin{to{transform:rotate(360deg)}}@media(max-width:768px){:root{--sidebar-width: 280px;--header-height: 48px}.page-topbar{padding:0 .8rem;gap:.6rem}.page-topbar-title{font-size:.88rem}.toast-stack{bottom:12px;right:12px;left:12px}.toast{font-size:12px;padding:8px 12px}}@media(max-width:480px){.page-topbar{padding:0 .6rem}}
