.dialog-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:var(--z-modal);display:flex;align-items:center;justify-content:center;background:#00000080;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);animation:overlayIn .15s ease-out}@keyframes overlayIn{0%{opacity:0}to{opacity:1}}.dialog-container{background:var(--bg-secondary);border:1px solid var(--surface-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-xl);width:90%;max-width:420px;overflow:hidden;animation:dialog-enter .2s ease-out}@keyframes dialog-enter{0%{opacity:0;transform:scale(.96) translateY(8px)}to{opacity:1;transform:scale(1) translateY(0)}}.dialog-header{display:flex;align-items:center;gap:var(--space-3);padding:18px 20px 0}.dialog-icon{font-size:var(--text-lg);line-height:1}.dialog-title{font-size:var(--text-base);font-weight:600;color:var(--text-primary);margin:0}.dialog-body{padding:18px 20px 16px}.dialog-message{margin:0;font-size:var(--text-sm);line-height:1.6;color:var(--text-secondary);white-space:pre-wrap}.dialog-input{margin-top:14px;width:100%;padding:10px 12px;font-size:var(--text-sm);border-radius:var(--radius-md);border:1px solid var(--surface-border);background:var(--bg-tertiary);color:var(--text-primary);outline:none;transition:border-color var(--transition-fast)}.dialog-input:focus{border-color:var(--accent-primary);box-shadow:0 0 0 3px var(--accent-primary-glow)}.dialog-footer{display:flex;justify-content:flex-end;gap:var(--space-2);padding:12px 20px 18px}.dialog-btn-cancel,.dialog-btn-confirm{padding:8px 18px;font-size:var(--text-sm);font-weight:500;border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-fast)}.dialog-btn-cancel{color:var(--text-secondary);background:transparent;border:none}.dialog-btn-cancel:hover{background:var(--bg-hover);color:var(--text-primary)}.dialog-btn-confirm.btn-danger{background:var(--error);color:#fff;border:none}.dialog-btn-confirm.btn-danger:hover{background:#dc2626;filter:brightness(1.1)}[data-theme=light] .dialog-box{background:#fff;border-color:#00000014;box-shadow:0 16px 48px #00000026}.auth-page{height:100vh;width:100vw;display:flex;align-items:center;justify-content:center;background:var(--bg-primary);position:relative;overflow:hidden}.auth-bg{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;overflow:hidden}.auth-bg-orb{position:absolute;border-radius:50%;filter:blur(100px);opacity:.4;animation:orbFloat 20s ease-in-out infinite}.auth-bg-orb-1{width:500px;height:500px;background:radial-gradient(circle,var(--accent-primary) 0%,transparent 70%);top:-15%;left:-10%;animation-duration:25s}.auth-bg-orb-2{width:400px;height:400px;background:radial-gradient(circle,var(--accent-secondary) 0%,transparent 70%);bottom:-10%;right:-5%;animation-duration:20s;animation-delay:-5s}.auth-bg-orb-3{width:300px;height:300px;background:radial-gradient(circle,var(--accent-secondary) 0%,transparent 70%);top:50%;left:60%;animation-duration:15s;animation-delay:-10s}@keyframes orbFloat{0%,to{transform:translate(0) scale(1)}25%{transform:translate(30px,-40px) scale(1.05)}50%{transform:translate(-20px,20px) scale(.95)}75%{transform:translate(40px,30px) scale(1.02)}}@keyframes authCardEntrance{0%{opacity:0;transform:translateY(24px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}.auth-container{position:relative;z-index:1;width:100%;max-width:420px;padding:var(--space-8);background:#111118bf;backdrop-filter:blur(24px) saturate(1.2);-webkit-backdrop-filter:blur(24px) saturate(1.2);border:1px solid rgba(255,255,255,.08);border-radius:var(--radius-2xl);box-shadow:var(--shadow-xl),0 0 80px #6366f114,inset 0 1px #ffffff0a;animation:authCardEntrance .6s cubic-bezier(.34,1.56,.64,1) forwards}.auth-logo{display:flex;flex-direction:column;align-items:center;margin-bottom:var(--space-8)}.auth-logo-icon{margin-bottom:var(--space-4);animation:fadeInDown .6s ease}.auth-title{font-size:var(--text-2xl);font-weight:800;color:var(--accent-primary);letter-spacing:-.02em}.auth-subtitle{font-size:var(--text-sm);color:var(--text-tertiary);margin-top:var(--space-1);letter-spacing:.05em;text-transform:uppercase}.auth-form{display:flex;flex-direction:column;gap:var(--space-4)}.auth-form-title{font-size:var(--text-xl);font-weight:700;color:var(--text-primary);text-align:center}.auth-form-subtitle{font-size:var(--text-sm);color:var(--text-tertiary);text-align:center;margin-top:calc(var(--space-1) * -1);margin-bottom:var(--space-2)}.auth-form .input-field{height:var(--input-height);padding:0 var(--space-3);background:var(--bg-secondary);border:1px solid var(--surface-border);border-radius:var(--radius-md);color:var(--text-primary);font-size:var(--text-base);transition:border-color var(--transition-normal),box-shadow var(--transition-normal),background var(--transition-normal)}.auth-form .input-field:focus{border-color:var(--accent-primary);box-shadow:0 0 0 3px var(--accent-primary-glow);background:var(--bg-primary);outline:none}.auth-form .input-field::placeholder{color:var(--text-tertiary)}.auth-error{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-3);background:var(--error-bg);border:1px solid rgba(248,81,73,.25);border-radius:var(--radius-md);color:var(--error);font-size:var(--text-sm);font-weight:500;animation:fadeIn .2s ease}.auth-error svg{flex-shrink:0}.auth-submit{width:100%;height:var(--input-height);margin-top:var(--space-2);font-weight:600;letter-spacing:.01em}.auth-switch{text-align:center;font-size:var(--text-sm);color:var(--text-tertiary);margin-top:var(--space-2)}.auth-switch a{color:var(--accent-primary);font-weight:500;transition:color var(--transition-fast)}.auth-switch a:hover{color:var(--accent-primary-hover);text-decoration:underline}.otp-inputs{display:flex;gap:var(--space-3);justify-content:center;margin:var(--space-2) 0 var(--space-4)}.otp-digit{width:var(--input-height-lg);height:56px;text-align:center;font-size:var(--text-2xl);font-weight:700;font-family:var(--font-mono);color:var(--text-primary);background:var(--surface-secondary);border:2px solid var(--surface-border);border-radius:var(--radius-lg);outline:none;caret-color:var(--accent-primary);transition:border-color var(--transition-normal),box-shadow var(--transition-normal),transform var(--transition-fast)}.otp-digit:focus{border-color:var(--accent-primary);box-shadow:0 0 0 3px var(--accent-primary-glow);transform:scale(1.05)}.otp-digit.filled{border-color:var(--accent-primary);background:var(--accent-primary-transparent)}.otp-actions{display:flex;justify-content:space-between;align-items:center;margin-top:var(--space-1)}.btn-link{background:none;border:none;color:var(--accent-primary);font-size:var(--text-sm);cursor:pointer;font-weight:500;padding:var(--space-1) 0;transition:color var(--transition-normal)}.btn-link:hover{color:var(--accent-primary-hover);text-decoration:underline}.btn-link.disabled,.btn-link:disabled{color:var(--text-tertiary);cursor:not-allowed;text-decoration:none}[data-theme=light] .auth-page{background:var(--bg-secondary)}[data-theme=light] .auth-bg-orb{opacity:.15}[data-theme=light] .auth-container{background:#ffffffeb;border-color:var(--surface-border);box-shadow:var(--shadow-xl),0 0 60px #2563eb0f,inset 0 1px #fff9}[data-theme=light] .auth-form-title{color:var(--text-primary)}[data-theme=light] .auth-form .input-field{background:var(--bg-primary);border-color:var(--input-border)}[data-theme=light] .auth-form .input-field:focus{border-color:var(--accent-primary);box-shadow:0 0 0 3px var(--accent-primary-glow);background:var(--bg-primary)}[data-theme=light] .otp-digit{background:var(--bg-primary);border-color:var(--input-border)}[data-theme=light] .otp-digit:focus{border-color:var(--accent-primary);box-shadow:0 0 0 3px var(--accent-primary-glow)}[data-theme=light] .auth-error{background:var(--error-bg);border-color:#dc262633;color:var(--error)}.auth-email-highlight{color:var(--text-primary)}.auth-spinner-wrap{text-align:center;margin:var(--space-4) 0}.auth-submit{width:100%;padding:12px 24px;border-radius:var(--radius-lg, 12px);font-size:.95rem;font-weight:600;letter-spacing:.01em;background:var(--accent-primary);color:#fff;border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:8px;transition:all .2s ease;box-shadow:0 2px 8px #0000001a}.auth-submit:hover:not(:disabled){background:color-mix(in srgb,var(--accent-primary) 88%,black);box-shadow:0 4px 16px #00000026;transform:translateY(-1px)}.auth-submit:active:not(:disabled){transform:translateY(0) scale(.98)}.auth-submit:disabled{opacity:.6;cursor:not-allowed}.auth-close-btn{position:absolute;top:12px;right:12px;width:28px;height:28px;border-radius:50%;border:none;background:var(--bg-hover, rgba(0,0,0,.05));color:var(--text-muted, #999);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .15s ease;z-index:10}.auth-close-btn:hover{background:var(--error-bg, #fef2f2);color:var(--error, #dc2626)}.captcha-slider-wrap{margin:4px 0 16px}.captcha-label{font-size:.78rem;color:var(--text-muted, #9aa0a6);margin-bottom:8px;font-weight:500}.captcha-slider-track{position:relative;height:48px;background:linear-gradient(135deg,#ffffff0f,#ffffff05);border:1px solid var(--surface-border, rgba(255,255,255,.08));border-radius:12px;-webkit-user-select:none;user-select:none;cursor:default;transition:border-color .2s;overflow:visible}.captcha-slider-track:hover{border-color:#ffffff26}.captcha-slider-fill{position:absolute;top:0;left:0;height:100%;background:linear-gradient(90deg,#6366f11f,#6366f10a);border-radius:12px;transition:width .04s linear;pointer-events:none;overflow:hidden}.captcha-slider-thumb{position:absolute;top:4px;width:40px;height:40px;background:linear-gradient(135deg,var(--accent-primary) 0%,var(--accent-primary-hover) 100%);border-radius:10px;display:flex;align-items:center;justify-content:center;color:#fff;cursor:grab;box-shadow:0 2px 10px #6366f159,0 1px 3px #0000001a;transition:box-shadow .15s;z-index:2}.captcha-slider-thumb:active{cursor:grabbing;box-shadow:0 4px 16px #6366f173,0 2px 6px #00000026}.captcha-slider-text{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);font-size:.8rem;color:var(--text-muted, #9aa0a6);pointer-events:none;white-space:nowrap;letter-spacing:.02em}.captcha-solving{display:flex;align-items:center;gap:10px;padding:12px 16px;background:#6366f10f;border:1px solid rgba(99,102,241,.15);border-radius:12px;font-size:.85rem;font-weight:500;color:var(--accent-primary);margin:4px 0 16px}.captcha-passed{display:flex;align-items:center;gap:8px;padding:12px 16px;background:#22c55e0f;border:1px solid rgba(34,197,94,.18);border-radius:12px;font-size:.85rem;font-weight:600;color:var(--success);margin:4px 0 16px;animation:captchaDoneIn .3s ease}@keyframes captchaDoneIn{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}[data-theme=light] .captcha-slider-track{background:linear-gradient(135deg,#f0f1f3,#e8eaed);border-color:#e5e7eb}[data-theme=light] .captcha-slider-track:hover{border-color:#d0d3d8}.sidebar{width:100%;height:100%;min-width:180px;max-width:400px;background:var(--bg-primary);border-right:1px solid var(--surface-border);display:flex;flex-direction:column;flex-shrink:0;z-index:var(--z-sidebar);overflow:hidden}.sidebar-resize-handle{width:4px;cursor:col-resize;background:transparent;flex-shrink:0;transition:background var(--transition-fast);position:relative;z-index:10}.sidebar-resize-handle:after{content:"";position:absolute;top:0;bottom:0;left:-2px;right:-2px}.sidebar-resize-handle:hover,.sidebar-resize-handle.dragging{background:var(--accent-primary)}.sidebar-actions{padding:var(--space-2) var(--space-3) 4px;flex-shrink:0;display:flex;flex-direction:column;gap:2px}.sidebar-new-chat-link{width:100%;display:flex;align-items:center;gap:var(--space-2);height:34px;padding:0 12px;font-size:var(--text-sm);font-weight:500;color:var(--text-primary);background:transparent;border:1px solid var(--surface-border-hover);border-radius:var(--radius-md);cursor:pointer;justify-content:flex-start;margin-bottom:var(--space-2);transition:all var(--transition-fast)}.sidebar-new-chat-link:hover{background:var(--bg-hover);border-color:var(--text-tertiary)}.sidebar-new-chat-link:active{transform:scale(.98)}.sidebar-nav-link{width:100%;display:flex;align-items:center;gap:var(--space-2);height:30px;padding:0 10px;font-size:var(--text-sm);font-weight:400;color:var(--text-secondary);background:none;border:none;border-radius:var(--radius-sm);cursor:pointer;justify-content:flex-start;transition:all var(--transition-fast)}.sidebar-nav-link svg{opacity:.5;flex-shrink:0;transition:opacity var(--transition-fast)}.sidebar-nav-link:hover{background:var(--bg-hover);color:var(--text-primary)}.sidebar-nav-link:hover svg{opacity:1}.sidebar-nav-link--disabled{opacity:.45;cursor:default;pointer-events:none}.sidebar-section-header{display:flex;align-items:center;justify-content:space-between;padding:var(--space-2) 10px var(--space-1);font-size:var(--text-xs);font-weight:600;color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.04em}.sidebar-section-actions{display:flex;gap:2px;flex-shrink:0}.sidebar-section-action{background:none;border:none;cursor:pointer;padding:3px;color:var(--text-tertiary);display:flex;align-items:center;border-radius:var(--radius-sm);transition:color var(--transition-fast),background var(--transition-fast)}.sidebar-section-action:hover{color:var(--text-secondary);background:var(--bg-hover)}.sidebar-workspaces{flex:1;overflow-y:auto;overflow-x:hidden;padding:2px 0}.sidebar-workspaces::-webkit-scrollbar{width:4px}.sidebar-workspaces::-webkit-scrollbar-track{background:transparent}.sidebar-workspaces::-webkit-scrollbar-thumb{background:var(--surface-border);border-radius:var(--radius-full)}.sidebar-workspaces::-webkit-scrollbar-thumb:hover{background:var(--text-tertiary)}.sidebar-loading{display:flex;justify-content:center;padding:var(--space-4)}.sidebar-empty{text-align:center;padding:var(--space-8) var(--space-4) var(--space-4);color:var(--text-tertiary);font-size:var(--text-sm);display:flex;flex-direction:column;align-items:center;gap:var(--space-1)}.sidebar-empty:before{content:"";display:block;width:36px;height:36px;margin-bottom:var(--space-2);border-radius:var(--radius-md);border:2px dashed var(--surface-border-hover);opacity:.5}.sidebar-empty-hint{font-size:var(--text-xs);margin-top:2px;color:var(--text-tertiary);opacity:.6;font-style:italic}.sidebar-workspace{margin-bottom:0}.sidebar-ws-header{display:flex;align-items:center;gap:var(--space-2);width:100%;padding:0 10px;height:30px;font-size:var(--text-sm);font-weight:400;color:var(--text-secondary);cursor:pointer;border:none;background:none;text-align:left;position:relative;transition:background var(--transition-fast),color var(--transition-fast)}.sidebar-ws-header:hover{background:var(--bg-hover);color:var(--text-primary)}.sidebar-ws-header.active{color:var(--text-primary);font-weight:500}.sidebar-ws-icon{flex-shrink:0;width:16px;height:16px;color:var(--text-tertiary);opacity:.65}.sidebar-ws-header.active .sidebar-ws-icon{color:var(--accent-primary);opacity:1}.sidebar-ws-name{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;line-height:1.3}.sidebar-ws-add-chat{opacity:0;display:flex;align-items:center;justify-content:center;width:20px;height:20px;border-radius:var(--radius-sm);background:none;border:none;color:var(--text-tertiary);cursor:pointer;flex-shrink:0;font-size:var(--text-base);transition:opacity var(--transition-fast),background var(--transition-fast),color var(--transition-fast)}.sidebar-ws-header:hover .sidebar-ws-add-chat{opacity:1}.sidebar-ws-add-chat:hover{background:var(--bg-active);color:var(--text-primary)}.sidebar-conversations{padding-left:18px;overflow-y:auto;overflow-x:hidden}.sidebar-conversations::-webkit-scrollbar{width:4px}.sidebar-conversations::-webkit-scrollbar-track{background:transparent}.sidebar-conversations::-webkit-scrollbar-thumb{background:var(--surface-border);border-radius:var(--radius-full)}.sidebar-conv-item{display:flex;align-items:center;width:100%;padding:0 8px;height:28px;font-size:var(--text-sm);font-weight:400;color:var(--text-secondary);cursor:pointer;border:none;border-left:2px solid transparent;background:none;text-align:left;border-radius:var(--radius-sm);margin:1px 0;position:relative;transition:background var(--transition-fast),color var(--transition-fast),border-color var(--transition-fast)}.sidebar-conv-item:hover{background:var(--bg-hover);color:var(--text-primary)}.sidebar-conv-item.active{border-left-color:var(--accent-primary);background:color-mix(in srgb,var(--accent-primary) 8%,transparent);color:var(--text-primary);font-weight:500}.sidebar-conv-title{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;line-height:28px}.sidebar-conv-meta{display:flex;align-items:center;gap:var(--space-1);flex-shrink:0}.sidebar-conv-item:hover .sidebar-conv-meta{display:none}.sidebar-conv-time{flex-shrink:0;font-size:var(--text-xs);color:var(--text-tertiary);opacity:.7;font-variant-numeric:tabular-nums}.sidebar-conv-pin{font-size:var(--text-2xs);line-height:1}.sidebar-conv-actions{display:none;align-items:center;gap:2px;flex-shrink:0}.sidebar-conv-item:hover .sidebar-conv-actions{display:flex}.sidebar-conv-action{display:flex;align-items:center;justify-content:center;width:20px;height:20px;border-radius:var(--radius-sm);color:var(--text-tertiary);cursor:pointer;font-size:var(--text-sm);transition:color var(--transition-fast),background var(--transition-fast)}.sidebar-conv-action:hover{color:var(--text-primary);background:var(--bg-active)}.sidebar-no-chats{padding:var(--space-1) var(--space-2)}.sidebar-start-chat{width:100%;padding:2px 8px;height:24px;font-size:var(--text-xs);color:var(--text-tertiary);border:none;background:none;cursor:pointer;text-align:left;border-radius:var(--radius-sm);transition:color var(--transition-fast),background var(--transition-fast)}.sidebar-start-chat:hover{color:var(--accent-primary);background:var(--bg-hover)}.sidebar-archived-toggle{opacity:0;height:0;padding:0;overflow:hidden;transition:opacity var(--transition-fast),height var(--transition-fast)}.sidebar-workspace:hover .sidebar-archived-toggle{opacity:1;height:24px;padding:2px 8px}.sidebar-show-all{width:100%;padding:2px 8px;height:24px;font-size:var(--text-xs);color:var(--text-tertiary);border:none;background:none;cursor:pointer;text-align:left;border-radius:var(--radius-sm);transition:color var(--transition-fast),background var(--transition-fast)}.sidebar-show-all:hover{color:var(--accent-primary);background:var(--bg-hover)}.sidebar-balance{display:flex;align-items:center;gap:6px;padding:6px var(--space-3);border-top:1px solid var(--surface-border);flex-shrink:0;cursor:pointer;transition:background .15s;color:var(--text-secondary);font-size:var(--text-xs)}.sidebar-balance:hover{background:var(--surface-hover)}.sidebar-balance svg{color:var(--accent-primary);flex-shrink:0}.sidebar-balance-value{font-weight:600;color:var(--text-primary);font-variant-numeric:tabular-nums}.sidebar-balance-label{color:var(--text-tertiary)}.sidebar-footer{display:flex;align-items:center;justify-content:center;gap:var(--space-2);padding:var(--space-1) var(--space-3);border-top:1px solid var(--surface-border);flex-shrink:0;height:40px}.sidebar-footer-btn{display:flex;align-items:center;justify-content:center;width:36px;height:32px;padding:0;color:var(--text-tertiary);background:none;border:none;border-radius:var(--radius-sm);cursor:pointer;transition:color var(--transition-fast),background var(--transition-fast)}.sidebar-footer-btn svg{opacity:.6;transition:opacity var(--transition-fast)}.sidebar-footer-btn:hover{color:var(--text-primary);background:var(--bg-hover)}.sidebar-footer-btn:hover svg{opacity:1}.sidebar-footer-btn--logout:hover{color:var(--error)}.context-menu-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:99}.context-menu{position:fixed;z-index:calc(var(--z-dropdown) + 1);background:var(--bg-elevated);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border:1px solid var(--surface-border);border-radius:var(--radius-md);padding:var(--space-1);min-width:180px;box-shadow:var(--shadow-lg);animation:ctxMenuIn .1s ease-out}@keyframes ctxMenuIn{0%{opacity:0;transform:scale(.96)}to{opacity:1;transform:scale(1)}}.context-menu-item{display:flex;align-items:center;gap:var(--space-2);width:100%;padding:0 12px;height:28px;font-size:var(--text-sm);color:var(--text-primary);border:none;background:none;cursor:pointer;border-radius:var(--radius-sm);text-align:left;transition:background var(--transition-fast)}.context-menu-item:hover{background:var(--accent-primary);color:var(--text-inverse)}.context-menu-item.danger{color:var(--error)}.context-menu-item.danger:hover{background:var(--error);color:var(--text-inverse)}.context-menu-divider{height:1px;background:var(--surface-border);margin:var(--space-1) var(--space-2)}.sidebar-ws-relink{display:flex;align-items:center;justify-content:center;width:18px;height:18px;border-radius:var(--radius-sm);background:none;border:none;font-size:var(--text-xs);cursor:pointer;flex-shrink:0;opacity:.4;color:var(--text-tertiary);transition:opacity var(--transition-fast),background var(--transition-fast),color var(--transition-fast)}.sidebar-ws-relink:hover{opacity:1;background:var(--error-bg);color:var(--error)}[data-theme=light] .context-menu{background:#fffffff5;border-color:var(--surface-border)}.sidebar-display-options-wrapper{position:relative}.sidebar-section-action.active{color:var(--accent-primary);background:var(--accent-primary-transparent)}.sidebar-display-dropdown{position:absolute;top:calc(100% + 4px);right:0;min-width:200px;white-space:nowrap;background:var(--bg-elevated);border:1px solid var(--surface-border);border-radius:var(--radius-lg);padding:var(--space-2) 0;box-shadow:var(--shadow-xl);z-index:var(--z-dropdown);animation:displayDropIn .12s ease-out;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}@keyframes displayDropIn{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.sidebar-display-section-label{padding:var(--space-1) var(--space-3);font-size:var(--text-xs);font-weight:600;color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.04em;-webkit-user-select:none;user-select:none}.sidebar-display-item{display:flex;align-items:center;width:100%;padding:5px var(--space-3);border:none;background:transparent;color:var(--text-primary);font-size:var(--text-sm);font-family:var(--font-sans);cursor:pointer;text-align:left;transition:background var(--transition-fast)}.sidebar-display-item:hover{background:var(--bg-hover)}.sidebar-display-item.active{font-weight:600;color:var(--text-primary);background:var(--bg-active)}.sidebar-display-sep{height:1px;background:var(--surface-border);margin:var(--space-1) var(--space-2)}[data-theme=light] .sidebar-display-dropdown{background:#fffffff5;border-color:#00000014;box-shadow:0 8px 24px #0000001f}.create-project-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:var(--z-modal);display:flex;align-items:center;justify-content:center;background:#00000073;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);animation:fadeIn .15s ease}.create-project-modal{width:420px;max-width:90vw;background:var(--bg-primary);border:1px solid var(--surface-border);border-radius:var(--radius-lg);box-shadow:0 16px 48px #00000040;animation:modalSlideIn .2s ease}@keyframes modalSlideIn{0%{opacity:0;transform:translateY(-12px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}.create-project-header{display:flex;align-items:center;justify-content:space-between;padding:16px 20px 12px;border-bottom:1px solid var(--surface-border)}.create-project-header h3{margin:0;font-size:var(--text-base);font-weight:600;color:var(--text-primary)}.create-project-close{display:flex;align-items:center;justify-content:center;width:28px;height:28px;border:none;background:none;color:var(--text-tertiary);border-radius:var(--radius-sm);cursor:pointer;transition:color var(--transition-fast),background var(--transition-fast)}.create-project-close:hover{color:var(--text-primary);background:var(--bg-hover)}.create-project-modal form{padding:16px 20px 20px;display:flex;flex-direction:column;gap:16px}.create-project-field{display:flex;flex-direction:column;gap:6px}.create-project-field label{font-size:var(--text-xs);font-weight:500;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.04em}.create-project-input{width:100%;height:38px;padding:0 12px;border:1px solid var(--surface-border);border-radius:var(--radius-md);background:var(--bg-secondary);color:var(--text-primary);font-size:var(--text-sm);outline:none;transition:border-color var(--transition-fast),box-shadow var(--transition-fast)}.create-project-input:focus{border-color:var(--accent-primary);box-shadow:0 0 0 2px rgba(var(--accent-primary-rgb, 99, 102, 241),.15)}.create-project-add-folder{width:100%;height:38px;border:1px dashed var(--surface-border);border-radius:var(--radius-md);background:var(--bg-secondary);color:var(--text-secondary);font-size:var(--text-sm);cursor:pointer;transition:border-color var(--transition-fast),color var(--transition-fast),background var(--transition-fast)}.create-project-add-folder:hover{border-color:var(--accent-primary);color:var(--accent-primary);background:var(--bg-hover)}.create-project-path-tag{display:flex;align-items:center;gap:8px;padding:6px 10px;background:var(--bg-secondary);border:1px solid var(--surface-border);border-radius:var(--radius-sm);font-size:var(--text-xs);color:var(--text-secondary);word-break:break-all}.create-project-path-tag button{display:flex;align-items:center;border:none;background:none;color:var(--text-tertiary);cursor:pointer;flex-shrink:0;padding:2px;border-radius:3px}.create-project-path-tag button:hover{color:var(--error);background:var(--bg-hover)}.create-project-actions{display:flex;justify-content:flex-end;gap:8px;padding-top:4px}.create-project-btn{padding:8px 20px;border:none;border-radius:var(--radius-md);font-size:var(--text-sm);font-weight:500;cursor:pointer;transition:all var(--transition-fast)}.create-project-btn--skip{background:none;color:var(--text-secondary)}.create-project-btn--skip:hover{color:var(--text-primary);background:var(--bg-hover)}.create-project-btn--create{background:var(--accent-primary);color:var(--text-inverse)}.create-project-btn--create:hover{filter:brightness(1.1)}.create-project-btn--create:disabled{opacity:.5;cursor:default;filter:none}.task-progress{margin:var(--space-3) 0;padding:var(--space-3) var(--space-4);border-radius:var(--radius-lg);background:var(--bg-tertiary);border:1px solid var(--surface-border)}.task-progress-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-2)}.task-progress-title{font-weight:600;font-size:var(--text-sm);color:var(--text-primary)}.task-progress-counter{font-size:var(--text-xs);font-weight:600;color:var(--text-tertiary);font-family:var(--font-mono)}.task-progress-bar-track{height:4px;background:var(--surface-border);border-radius:var(--radius-full);overflow:hidden;margin-bottom:var(--space-3)}.task-progress-bar-fill{height:100%;background:linear-gradient(90deg,var(--accent-primary),var(--accent-secondary));border-radius:var(--radius-full);transition:width var(--transition-slow);position:relative;overflow:hidden}.task-progress-bar-fill:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(90deg,transparent 0%,rgba(255,255,255,.15) 50%,transparent 100%);background-size:200% 100%;animation:shimmer 1.8s ease-in-out infinite}.task-progress-bar-fill.complete{background:linear-gradient(90deg,var(--success),var(--success))}.task-progress-bar-fill.complete:after{animation:none}.task-progress-steps{display:flex;flex-direction:column;gap:var(--space-1)}.task-step{display:flex;align-items:flex-start;gap:var(--space-2);padding:var(--space-1) var(--space-2);border-radius:var(--radius-md);transition:background var(--transition-fast),opacity var(--transition-fast);animation:fadeInUp .3s ease backwards}.task-step:nth-child(1){animation-delay:0ms}.task-step:nth-child(2){animation-delay:50ms}.task-step:nth-child(3){animation-delay:.1s}.task-step:nth-child(4){animation-delay:.15s}.task-step:nth-child(5){animation-delay:.2s}.task-step:nth-child(6){animation-delay:.25s}.task-step:hover{background:var(--surface-glass-hover)}.task-step-icon{flex-shrink:0;width:var(--space-5);height:var(--space-5);display:flex;align-items:center;justify-content:center;font-size:var(--text-sm);position:relative}.task-step-content{display:flex;flex-wrap:wrap;align-items:baseline;gap:var(--space-1);min-width:0}.task-step-num{font-size:var(--text-xs);font-weight:600;color:var(--text-tertiary);font-family:var(--font-mono);flex-shrink:0}.task-step-desc{font-size:var(--text-sm);color:var(--text-secondary);line-height:1.4}.task-step-done .task-step-desc{color:var(--text-tertiary);text-decoration:line-through;text-decoration-color:var(--text-tertiary)}.task-step-running .task-step-desc{color:var(--accent-primary);font-weight:600}.task-step-blocked .task-step-desc{color:var(--warning)}.task-step-block-reason{font-size:var(--text-xs);color:var(--warning);background:var(--warning-bg);padding:2px var(--space-1);border-radius:var(--radius-sm);font-family:var(--font-mono)}.task-step-spinner{width:14px;height:14px;border:2px solid var(--surface-border);border-top-color:var(--accent-primary);border-radius:50%;animation:task-spin .8s linear infinite}@keyframes task-spin{to{transform:rotate(360deg)}}.task-progress-title-icon{vertical-align:middle;margin-right:var(--space-2)}.task-step-pending-icon{opacity:.3}.task-step:not(:last-child) .task-step-icon:after{content:"";position:absolute;top:100%;left:50%;transform:translate(-50%);width:1px;height:var(--space-1);background:var(--surface-border)}.task-step-running{background:var(--accent-primary-transparent);border-left:2px solid var(--accent-primary)}[data-theme=light] .task-progress-panel{background:#fafafa;border-color:#0000000f}.inline-preview{margin-top:var(--space-2);border:1px solid var(--surface-border);border-radius:var(--radius-md);overflow:hidden;background:var(--bg-tertiary)}.inline-preview-header{display:flex;align-items:center;justify-content:space-between;padding:var(--space-2) var(--space-3);background:var(--bg-secondary);border-bottom:1px solid var(--surface-border)}.inline-preview-toggle{display:flex;align-items:center;gap:var(--space-2);background:none;border:none;color:var(--text-secondary);font-size:var(--text-xs);font-weight:500;cursor:pointer;padding:0;transition:color var(--transition-fast)}.inline-preview-toggle:hover{color:var(--text-primary)}.inline-preview-toggle svg{transition:transform var(--transition-fast)}.inline-preview-toggle svg.rotated{transform:rotate(90deg)}.inline-preview-title{color:var(--text-tertiary);font-family:var(--font-mono);font-size:var(--text-xs)}.inline-preview-frame-container{position:relative;width:100%;min-height:200px;max-height:500px;overflow:auto;animation:fadeIn .15s ease}.inline-preview-frame{width:100%;min-height:200px;height:300px;border:none;background:var(--code-bg)}.inline-preview.expanded .inline-preview-frame{height:400px}.inline-preview-open-btn{font-size:var(--text-xs)}.inline-preview-frame-container::-webkit-scrollbar{width:6px}.inline-preview-frame-container::-webkit-scrollbar-track{background:transparent}.inline-preview-frame-container::-webkit-scrollbar-thumb{background:var(--surface-border);border-radius:var(--radius-full)}.inline-preview-frame-container::-webkit-scrollbar-thumb:hover{background:var(--text-tertiary)}[data-theme=light] .inline-preview{border-color:#00000014}[data-theme=light] .inline-preview-header{background:var(--bg-secondary);border-bottom-color:#0000000f}.msg-tool-cards{display:flex;flex-direction:column;gap:6px;margin-top:var(--space-3)}.cmd-approval{margin:var(--space-2) 0;border-radius:var(--radius-lg);overflow:hidden;border:1px solid var(--surface-border);background:var(--bg-primary)}.cmd-approval-header{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);background:var(--surface-hover);font-size:var(--text-xs);color:var(--text-secondary);font-weight:600;text-transform:uppercase;letter-spacing:.03em}.cmd-approval-header svg{flex-shrink:0}.cmd-approval-code{padding:var(--space-2) var(--space-3);font-family:var(--font-mono);font-size:var(--text-sm);color:var(--text-primary);background:var(--bg-secondary);white-space:pre-wrap;word-break:break-all;line-height:1.5;border-top:1px solid var(--surface-border);border-bottom:1px solid var(--surface-border)}.cmd-approval-code .cmd-prompt{color:var(--success);-webkit-user-select:none;user-select:none;margin-right:var(--space-1)}.cmd-safety-badge{display:inline-flex;align-items:center;justify-content:center;min-width:18px;height:18px;padding:0 4px;border-radius:var(--radius-full);font-family:var(--font-sans);font-size:11px;font-weight:600;line-height:1;margin-right:var(--space-2);vertical-align:middle;white-space:nowrap;cursor:help}.cmd-safety-safe{color:var(--success);background:#34d3991f;border:1px solid rgba(52,211,153,.25)}.cmd-safety-caution{color:var(--warning, #f59e0b);background:#fbbf241f;border:1px solid rgba(251,191,36,.25)}.cmd-safety-dangerous{color:var(--error);background:#ef444426;border:1px solid rgba(239,68,68,.3);font-weight:700}.cmd-approval-actions{display:flex;gap:var(--space-2);padding:var(--space-2) var(--space-3);justify-content:flex-end}.cmd-approval-btn{padding:4px 12px;border-radius:var(--radius-md);font-size:var(--text-xs);font-weight:500;cursor:pointer;border:1px solid var(--surface-border);transition:all var(--transition-fast);font-family:var(--font-sans)}.cmd-approval-btn:hover{transform:translateY(-1px)}.cmd-approval-btn.approve{background:var(--success);color:#fff;border-color:var(--success)}.cmd-approval-btn.approve:hover{opacity:.9}.cmd-approval-btn.approve-all{background:transparent;color:var(--success);border-color:var(--success)}.cmd-approval-btn.approve-all:hover{background:var(--success);color:#fff}.cmd-approval-btn.decline{background:transparent;color:var(--text-tertiary);border-color:var(--surface-border)}.cmd-approval-btn.decline:hover{color:var(--error);border-color:var(--error)}.cmd-approval.approved .cmd-approval-actions,.cmd-approval.declined .cmd-approval-actions{display:none}.cmd-approval-status{padding:var(--space-1) var(--space-3);font-size:var(--text-xs);display:flex;align-items:center;gap:var(--space-1)}.cmd-approval-status.approved{color:var(--success)}.cmd-approval-status.declined{color:var(--error)}.cmd-running-row{display:flex;align-items:center;justify-content:space-between}.cmd-stop-btn{display:inline-flex;align-items:center;gap:4px;padding:2px 8px;border:1px solid var(--error);border-radius:var(--radius-sm);background:transparent;color:var(--error);font-size:11px;font-family:var(--font-sans);cursor:pointer;transition:all .15s ease;line-height:1}.cmd-stop-btn:hover{background:var(--error);color:#fff}.cmd-output-header .cmd-stop-btn{margin-left:auto;margin-right:4px}.cmd-approval-output{padding:var(--space-2) var(--space-3);font-family:var(--font-mono);font-size:11px;color:var(--text-secondary);background:var(--bg-secondary);max-height:200px;overflow-y:auto;white-space:pre-wrap;word-break:break-all;line-height:1.4;border-top:1px solid var(--surface-border)}.tool-file-card{display:flex;align-items:center;gap:var(--space-2);padding:5px 10px;font-size:var(--text-sm);color:var(--text-secondary);cursor:pointer;border-radius:var(--radius-md);border:1px solid var(--surface-border);background:var(--surface-glass);transition:all .2s ease;position:relative;overflow:hidden}.tool-file-card:before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;border-radius:3px 0 0 3px;background:var(--accent-primary);opacity:.6;transition:opacity .2s ease}.tool-file-card:hover{background:var(--surface-glass-hover);border-color:var(--surface-border-hover);box-shadow:0 2px 8px #00000014;transform:translate(2px)}.tool-file-card:hover:before{opacity:1}.tool-file-card .file-icon{display:flex;align-items:center;justify-content:center;width:20px;height:20px;border-radius:var(--radius-sm);flex-shrink:0;color:var(--text-tertiary)}.tool-file-card .file-info{flex:1;min-width:0;display:flex;align-items:center;gap:var(--space-2)}.tool-file-card .file-name{font-family:var(--font-mono);font-weight:600;font-size:12px;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tool-file-card .file-dir{font-size:11px;color:var(--text-tertiary);font-family:var(--font-mono);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tool-file-card .file-status{display:inline-flex;align-items:center;gap:4px;padding:2px 8px;border-radius:var(--radius-full);font-size:11px;font-weight:600;letter-spacing:.02em;white-space:nowrap;margin-left:auto;flex-shrink:0}.tool-file-card .file-status.created{color:var(--success);background:#34d3991a;border:1px solid rgba(52,211,153,.2)}.tool-file-card .file-status.edited{color:var(--warning);background:#fbbf241a;border:1px solid rgba(251,191,36,.2)}.tool-file-card .file-status.deleted{color:var(--error);background:#ef44441a;border:1px solid rgba(239,68,68,.2)}.tool-file-card .file-chevron{display:flex;align-items:center;color:var(--text-tertiary);opacity:0;transition:opacity .2s ease,transform .2s ease;flex-shrink:0}.tool-file-card:hover .file-chevron{opacity:1;transform:translate(2px)}[data-theme=light] .tool-file-card{background:var(--bg-tertiary);border-color:var(--surface-border)}[data-theme=light] .tool-file-card:hover{background:var(--bg-hover);box-shadow:0 2px 8px #0000000d}[data-theme=light] .tool-file-card .file-icon{background:var(--bg-secondary)}.cmd-output-wrapper{border-top:1px solid var(--surface-border)}.cmd-output-header{display:flex;align-items:center;justify-content:space-between;padding:var(--space-2) var(--space-3);cursor:pointer;-webkit-user-select:none;user-select:none;transition:background .15s ease}.cmd-output-header:hover{background:var(--surface-hover)}.cmd-output-status{font-size:var(--text-xs);font-weight:600}.cmd-output-status.success{color:var(--success)}.cmd-output-status.error{color:var(--error)}.cmd-output-chevron{transition:transform .2s ease;color:var(--text-tertiary)}.cmd-output-chevron.open{transform:rotate(90deg)}.cmd-output-content{margin:0;padding:var(--space-2) var(--space-3);font-family:var(--font-mono);font-size:11px;line-height:1.5;color:var(--text-secondary);background:var(--bg-primary);max-height:300px;overflow-y:auto;white-space:pre-wrap;word-break:break-all;border-top:1px solid var(--surface-border)}.cmd-output-content code{font-family:inherit;color:inherit}@keyframes messageSlideIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.msg{display:flex;flex-direction:column;padding:3px 0;border-bottom:none;animation:messageSlideIn .3s var(--transition-slow, cubic-bezier(.4, 0, .2, 1)) forwards;margin-bottom:1px}.msg+.msg{margin-top:0}.msg-user+.msg-assistant,.msg-assistant+.msg-user{margin-top:var(--space-2)}.msg:hover{background:transparent}.msg-user{background:transparent;align-items:flex-end}.msg-user .msg-content{background:var(--surface-glass);color:var(--text-primary);border-radius:var(--radius-lg) var(--radius-lg) var(--radius-sm) var(--radius-lg);padding:6px 12px 5px;max-width:70%;width:fit-content;flex:unset;margin:0 0 0 auto;box-shadow:0 1px 2px #0000000a;border:1px solid var(--surface-border);transition:border-color var(--transition-normal),box-shadow var(--transition-normal)}.msg-user .msg-content:hover{border-color:var(--surface-border-hover);box-shadow:0 2px 8px #00000014}.msg-user .msg-body,.msg-user .msg-body p{color:var(--text-primary)}.msg-user .msg-body a{color:var(--text-accent);text-decoration:underline;text-decoration-color:var(--accent-primary-transparent);text-underline-offset:2px}.msg-user .msg-body a:hover{text-decoration-color:var(--accent-primary)}.msg-user .msg-body>p>code,.msg-user .msg-body>ul>li>code,.msg-user .msg-body>ol>li>code,.msg-user .msg-body>p>strong>code{background:var(--bg-tertiary);color:var(--accent-primary);border:1px solid var(--surface-border)}.msg-user:hover,.msg-assistant{background:transparent}.msg-assistant .msg-content{background:transparent;border:none;border-radius:0;padding:3px 0;max-width:100%;margin:0}.msg-assistant:hover{background:transparent}.msg-assistant:hover .msg-content{border-color:transparent}.msg-content{flex:1;min-width:0;max-width:100%;transition:border-color var(--transition-fast)}.msg-header,.msg-avatar,.msg-role{display:none}.msg-model-badge{font-size:var(--text-2xs);font-weight:500;color:var(--text-tertiary);background:transparent;border:none;border-radius:0;padding:0;letter-spacing:.02em;font-family:var(--font-mono);white-space:nowrap}.msg-meta{font-size:var(--text-2xs);color:var(--text-tertiary);font-variant-numeric:tabular-nums;font-family:var(--font-mono)}.msg-footer-meta>span+span:before{content:"·";margin-right:8px;color:var(--text-tertiary);opacity:.5}.msg-footer{display:flex;align-items:center;justify-content:flex-end;gap:8px;margin-top:2px;padding:0 4px;opacity:0;transition:opacity .15s ease;font-size:var(--text-xs)}.msg:hover .msg-footer{opacity:1}@media(hover:none){.msg-footer{opacity:.7}}.msg-footer-meta{display:flex;align-items:center;gap:8px;flex:1;min-width:0}.msg-footer-actions{display:flex;align-items:center;gap:2px;flex-shrink:0}.msg-user .msg-footer{justify-content:flex-end;margin-top:2px;padding:0 2px}.msg-user .msg-footer-meta{display:none}.msg-user .msg-footer-actions{gap:1px}.msg-time{font-size:var(--text-xs);color:var(--text-tertiary);font-variant-numeric:tabular-nums;-webkit-user-select:none;user-select:none}.msg-action-btn{display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;border:none;background:transparent;border-radius:var(--radius-sm);cursor:pointer;color:var(--text-tertiary);transition:all .15s ease;padding:0}.msg-action-btn svg{width:11px;height:11px}.msg-action-btn:hover{background:var(--surface-hover);color:var(--text-primary)}.msg-user .msg-action-btn{width:18px;height:18px}.msg-user .msg-action-btn svg{width:10px;height:10px}.msg-action-btn-success{color:var(--success)!important}.msg-body{font-size:var(--text-base);line-height:1.5;color:var(--text-primary)}.msg-body p{margin-bottom:var(--space-2)}.msg-body p:last-child{margin-bottom:0}.msg-body h1,.msg-body h2{font-size:var(--text-md);font-weight:700;margin:var(--space-3) 0 var(--space-1);color:var(--text-primary);border-bottom:1px solid var(--surface-border);padding-bottom:2px}.msg-body h3{font-size:var(--text-base);font-weight:600;margin:var(--space-2) 0 var(--space-1);color:var(--text-primary)}.msg-body h4,.msg-body h5,.msg-body h6{font-size:var(--text-sm);font-weight:600;margin:var(--space-1) 0 var(--space-1);color:var(--text-secondary)}.msg-body ul,.msg-body ol{margin:var(--space-2) 0;padding-left:var(--space-5)}.msg-body li{margin-bottom:2px;line-height:1.5}.msg-body li::marker{color:var(--text-tertiary)}.msg-body li>ul,.msg-body li>ol{margin-top:var(--space-1);margin-bottom:var(--space-1)}.msg-body blockquote{border-left:3px solid var(--accent-primary);margin:var(--space-2) 0;padding:var(--space-1) var(--space-3);background:var(--bg-tertiary);color:var(--text-secondary);border-radius:0 var(--radius-sm) var(--radius-sm) 0}.msg-body>p>code,.msg-body>ul>li>code,.msg-body>ol>li>code,.msg-body>p>strong>code,.msg-body>p>em>code,.msg-body>blockquote>p>code,.msg-body li>p>code{font-family:var(--font-mono);font-size:.85em;background:var(--bg-tertiary);padding:.15em .45em;border-radius:var(--radius-sm);color:var(--text-code);border:1px solid var(--surface-border);font-weight:500;word-break:break-word}.msg-body a{color:var(--text-accent);text-decoration:underline;text-decoration-color:var(--accent-primary-transparent);text-underline-offset:2px;text-decoration-thickness:1px;transition:color var(--transition-fast),text-decoration-color var(--transition-fast)}.msg-body a:hover{color:var(--accent-primary-hover);text-decoration-color:var(--accent-primary-hover)}.msg-body img{max-width:100%;border-radius:var(--radius-md);box-shadow:0 2px 12px #0003;margin:var(--space-2) 0;display:block}.msg-body table{width:100%;border-collapse:collapse;margin:var(--space-2) 0;border-radius:var(--radius-md);overflow:hidden;box-shadow:none;border:1px solid var(--surface-border)}.msg-body th{background:var(--bg-elevated);font-weight:600;text-align:left;padding:var(--space-2) var(--space-3);border-bottom:1px solid var(--surface-border);color:var(--text-secondary);text-transform:uppercase;font-size:var(--text-xs);letter-spacing:.05em}.msg-body td{padding:var(--space-2) var(--space-3);border-bottom:1px solid var(--surface-border)}.msg-body tr:last-child td{border-bottom:none}.msg-body tr:nth-child(2n){background:var(--bg-tertiary)}.msg-body tr:hover td{background:var(--surface-glass)}.msg-code-block{position:relative;margin:var(--space-2) 0;border-radius:var(--radius-md);overflow:hidden;background:var(--code-bg);border:1px solid var(--code-border);box-shadow:0 1px 4px #00000026}.msg-code-header{display:flex;justify-content:space-between;align-items:center;padding:4px var(--space-3);background:var(--code-header-bg);border-bottom:1px solid var(--code-border);min-height:28px;border-radius:var(--radius-md) var(--radius-md) 0 0}.msg-code-lang{font-size:var(--text-xs);font-weight:700;color:var(--text-tertiary);font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.08em;-webkit-user-select:none;user-select:none;opacity:.7}.msg-code-block pre{margin:0!important}.msg-code-block pre>div{scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.12) transparent}.msg-code-block pre>div::-webkit-scrollbar{height:6px;width:6px}.msg-code-block pre>div::-webkit-scrollbar-track{background:transparent}.msg-code-block pre>div::-webkit-scrollbar-thumb{background:#ffffff1f;border-radius:var(--radius-full)}.msg-code-block pre>div::-webkit-scrollbar-thumb:hover{background:#ffffff38}.msg-code-block pre{scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.12) transparent}.msg-code-block pre::-webkit-scrollbar{height:6px;width:6px}.msg-code-block pre::-webkit-scrollbar-track{background:transparent}.msg-code-block pre::-webkit-scrollbar-thumb{background:#ffffff1f;border-radius:var(--radius-full)}.msg-code-block pre::-webkit-scrollbar-thumb:hover{background:#ffffff38}.msg-code-copy{padding:var(--space-1) var(--space-3);font-size:var(--text-xs);font-weight:600;color:var(--text-tertiary);background:transparent;border:1px solid rgba(255,255,255,.08);border-radius:var(--radius-sm);cursor:pointer;opacity:0;transition:all var(--transition-fast);display:flex;align-items:center;gap:var(--space-1);text-transform:uppercase;letter-spacing:.04em}.msg-code-block:hover .msg-code-copy{opacity:1}.msg-code-copy:hover{background:#ffffff0f;color:var(--text-primary);border-color:#ffffff29}.msg-code-copy:focus-visible{opacity:1;outline:2px solid var(--accent-primary);outline-offset:2px}.msg-code-copy:active{transform:scale(.96)}.msg-code-block,[data-theme=light] .msg-code-block{background:var(--code-bg);border-color:var(--code-border)}.msg-code-block code{color:var(--text-primary);background:none;border:none;padding:0;font-weight:400}.msg-cursor{display:inline-block;width:2px;height:1.1em;background:var(--accent-primary);border-radius:1px;margin-left:2px;vertical-align:text-bottom;animation:cursor-blink 1s step-end infinite}@keyframes cursor-blink{0%,50%{opacity:1}51%,to{opacity:0}}.msg-reasoning{margin-bottom:6px}.msg-reasoning-toggle{display:inline-flex;align-items:center;gap:6px;padding:4px 0;font-size:var(--text-sm);font-weight:400;color:var(--text-tertiary);background:transparent;border:none;cursor:pointer;transition:color .15s ease;-webkit-user-select:none;user-select:none}.msg-reasoning-toggle:hover{color:var(--text-secondary)}.msg-reasoning-toggle svg{transition:transform .2s cubic-bezier(.4,0,.2,1);flex-shrink:0;opacity:.6}.msg-reasoning-toggle svg.expanded{transform:rotate(90deg)}.msg-reasoning-toggle:focus-visible{outline:2px solid var(--accent-primary);outline-offset:2px}.msg-reasoning-content{margin-top:4px;margin-left:16px;padding:8px 12px;font-size:var(--text-xs);color:var(--text-tertiary);background:var(--bg-tertiary);border-left:2px solid var(--surface-border);border-radius:0 var(--radius-sm) var(--radius-sm) 0;line-height:1.5;max-height:300px;overflow-y:auto;white-space:pre-wrap;font-family:var(--font-mono);scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.12) transparent}.msg-reasoning-content::-webkit-scrollbar{width:4px}.msg-reasoning-content::-webkit-scrollbar-track{background:transparent}.msg-reasoning-content::-webkit-scrollbar-thumb{background:#ffffff1f;border-radius:var(--radius-full)}.msg-reasoning-content::-webkit-scrollbar-thumb:hover{background:#ffffff38}.msg-attachments{display:flex;flex-wrap:wrap;gap:var(--space-2);margin-bottom:var(--space-3)}.msg-attachment-item{display:flex;align-items:center;background:var(--bg-tertiary);border:1px solid var(--surface-border);border-radius:var(--radius-md);padding:var(--space-1);max-width:300px;transition:all var(--transition-fast);overflow:hidden}.msg-attachment-item:hover{border-color:var(--surface-border-hover);background:var(--bg-hover)}.msg-attachment-img{max-width:100%;max-height:200px;border-radius:var(--radius-sm);object-fit:contain}.msg-attachment-file{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-1) var(--space-2);font-size:var(--text-sm);color:var(--text-secondary)}.msg-attachment-file svg{color:var(--accent-primary);flex-shrink:0;width:16px;height:16px;padding:2px;background:var(--accent-primary-transparent);border-radius:var(--radius-sm)}.msg-attachment-file span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:220px}.msg-user .msg-attachments{justify-content:flex-end}.msg-user .msg-attachment-item{background:var(--bg-tertiary);border-color:var(--surface-border)}.msg-user .msg-attachment-item:hover{background:var(--bg-hover);border-color:var(--surface-border-hover)}.msg-user .msg-attachment-file{color:var(--text-secondary)}.msg-user .msg-attachment-file svg{color:var(--accent-primary);background:var(--accent-primary-transparent)}[data-theme=light] .msg-user .msg-content{background:var(--bg-tertiary);border-color:var(--surface-border);box-shadow:0 1px 3px #0000000a}[data-theme=light] .msg-user .msg-content:hover{box-shadow:0 2px 8px #0000000f}[data-theme=light] .msg-assistant .msg-content{background:transparent;border:none}[data-theme=light] .msg-assistant:hover .msg-content{border-color:transparent}[data-theme=light] .msg-body>p>code,[data-theme=light] .msg-body>ul>li>code,[data-theme=light] .msg-body>ol>li>code,[data-theme=light] .msg-body>p>strong>code,[data-theme=light] .msg-body>p>em>code,[data-theme=light] .msg-body>blockquote>p>code,[data-theme=light] .msg-body li>p>code{background:var(--bg-tertiary);border-color:var(--surface-border);color:var(--text-code)}[data-theme=light] .msg-code-block{background:var(--code-bg);border-color:var(--code-border);box-shadow:0 1px 4px #0000000f}[data-theme=light] .msg-code-lang{color:var(--text-tertiary)}[data-theme=light] .msg-code-header{background:var(--code-header-bg);border-bottom-color:var(--code-border)}[data-theme=light] .msg-code-block code{color:var(--text-primary);background:none;border:none;padding:0}[data-theme=light] .msg-code-copy{background:transparent;border-color:var(--code-border);color:var(--text-tertiary)}[data-theme=light] .msg-code-copy:hover{background:#0000000a;color:var(--text-primary);border-color:var(--surface-border-hover)}[data-theme=light] .msg-reasoning-content{scrollbar-color:rgba(0,0,0,.12) transparent}[data-theme=light] .msg-reasoning-content::-webkit-scrollbar-thumb{background:#0000001f}[data-theme=light] .msg-reasoning-content::-webkit-scrollbar-thumb:hover{background:#00000038}[data-theme=light] .msg-body blockquote{background:var(--bg-tertiary);border-left-color:var(--accent-primary)}[data-theme=light] .msg-body th{background:var(--bg-tertiary)}[data-theme=light] .msg-body tr:nth-child(2n){background:var(--bg-secondary)}[data-theme=light] .msg-body img{box-shadow:0 2px 12px #00000014}.msg-inline-icon{vertical-align:middle;margin-right:var(--space-1)}.msg-mermaid-diagram{background:var(--surface-glass);border:1px solid var(--surface-border);border-radius:var(--radius-md);padding:var(--space-3);margin:var(--space-2) 0;overflow-x:auto;text-align:center}.msg-mermaid-diagram svg{max-width:100%;height:auto}.msg-katex-inline{font-size:1em}.msg-katex-display{display:block;text-align:center;margin:var(--space-3) 0;font-size:1.1em;overflow-x:auto}@font-face{font-display:block;font-family:KaTeX_AMS;font-style:normal;font-weight:400;src:url(./KaTeX_AMS-Regular-BQhdFMY1.woff2) format("woff2"),url(./KaTeX_AMS-Regular-DMm9YOAa.woff) format("woff"),url(./KaTeX_AMS-Regular-DRggAlZN.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Caligraphic;font-style:normal;font-weight:700;src:url(./KaTeX_Caligraphic-Bold-Dq_IR9rO.woff2) format("woff2"),url(./KaTeX_Caligraphic-Bold-BEiXGLvX.woff) format("woff"),url(./KaTeX_Caligraphic-Bold-ATXxdsX0.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Caligraphic;font-style:normal;font-weight:400;src:url(./KaTeX_Caligraphic-Regular-Di6jR-x-.woff2) format("woff2"),url(./KaTeX_Caligraphic-Regular-CTRA-rTL.woff) format("woff"),url(./KaTeX_Caligraphic-Regular-wX97UBjC.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Fraktur;font-style:normal;font-weight:700;src:url(./KaTeX_Fraktur-Bold-CL6g_b3V.woff2) format("woff2"),url(./KaTeX_Fraktur-Bold-BsDP51OF.woff) format("woff"),url(./KaTeX_Fraktur-Bold-BdnERNNW.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Fraktur;font-style:normal;font-weight:400;src:url(./KaTeX_Fraktur-Regular-CTYiF6lA.woff2) format("woff2"),url(./KaTeX_Fraktur-Regular-Dxdc4cR9.woff) format("woff"),url(./KaTeX_Fraktur-Regular-CB_wures.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Main;font-style:normal;font-weight:700;src:url(./KaTeX_Main-Bold-Cx986IdX.woff2) format("woff2"),url(./KaTeX_Main-Bold-Jm3AIy58.woff) format("woff"),url(./KaTeX_Main-Bold-waoOVXN0.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Main;font-style:italic;font-weight:700;src:url(./KaTeX_Main-BoldItalic-DxDJ3AOS.woff2) format("woff2"),url(./KaTeX_Main-BoldItalic-SpSLRI95.woff) format("woff"),url(./KaTeX_Main-BoldItalic-DzxPMmG6.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Main;font-style:italic;font-weight:400;src:url(./KaTeX_Main-Italic-NWA7e6Wa.woff2) format("woff2"),url(./KaTeX_Main-Italic-BMLOBm91.woff) format("woff"),url(./KaTeX_Main-Italic-3WenGoN9.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Main;font-style:normal;font-weight:400;src:url(./KaTeX_Main-Regular-B22Nviop.woff2) format("woff2"),url(./KaTeX_Main-Regular-Dr94JaBh.woff) format("woff"),url(./KaTeX_Main-Regular-ypZvNtVU.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Math;font-style:italic;font-weight:700;src:url(./KaTeX_Math-BoldItalic-CZnvNsCZ.woff2) format("woff2"),url(./KaTeX_Math-BoldItalic-iY-2wyZ7.woff) format("woff"),url(./KaTeX_Math-BoldItalic-B3XSjfu4.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Math;font-style:italic;font-weight:400;src:url(./KaTeX_Math-Italic-t53AETM-.woff2) format("woff2"),url(./KaTeX_Math-Italic-DA0__PXp.woff) format("woff"),url(./KaTeX_Math-Italic-flOr_0UB.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_SansSerif;font-style:normal;font-weight:700;src:url(./KaTeX_SansSerif-Bold-D1sUS0GD.woff2) format("woff2"),url(./KaTeX_SansSerif-Bold-DbIhKOiC.woff) format("woff"),url(./KaTeX_SansSerif-Bold-CFMepnvq.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_SansSerif;font-style:italic;font-weight:400;src:url(./KaTeX_SansSerif-Italic-C3H0VqGB.woff2) format("woff2"),url(./KaTeX_SansSerif-Italic-DN2j7dab.woff) format("woff"),url(./KaTeX_SansSerif-Italic-YYjJ1zSn.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_SansSerif;font-style:normal;font-weight:400;src:url(./KaTeX_SansSerif-Regular-DDBCnlJ7.woff2) format("woff2"),url(./KaTeX_SansSerif-Regular-CS6fqUqJ.woff) format("woff"),url(./KaTeX_SansSerif-Regular-BNo7hRIc.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Script;font-style:normal;font-weight:400;src:url(./KaTeX_Script-Regular-D3wIWfF6.woff2) format("woff2"),url(./KaTeX_Script-Regular-D5yQViql.woff) format("woff"),url(./KaTeX_Script-Regular-C5JkGWo-.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Size1;font-style:normal;font-weight:400;src:url(./KaTeX_Size1-Regular-mCD8mA8B.woff2) format("woff2"),url(./KaTeX_Size1-Regular-C195tn64.woff) format("woff"),url(./KaTeX_Size1-Regular-Dbsnue_I.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Size2;font-style:normal;font-weight:400;src:url(./KaTeX_Size2-Regular-Dy4dx90m.woff2) format("woff2"),url(./KaTeX_Size2-Regular-oD1tc_U0.woff) format("woff"),url(./KaTeX_Size2-Regular-B7gKUWhC.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Size3;font-style:normal;font-weight:400;src:url(data:font/woff2;base64,d09GMgABAAAAAA4oAA4AAAAAHbQAAA3TAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAABmAAgRQIDgmcDBEICo1oijYBNgIkA14LMgAEIAWJAAeBHAyBHBvbGiMRdnO0IkRRkiYDgr9KsJ1NUAf2kILNxgUmgqIgq1P89vcbIcmsQbRps3vCcXdYOKSWEPEKgZgQkprQQsxIXUgq0DqpGKmIvrgkeVGtEQD9DzAO29fM9jYhxZEsL2FeURH2JN4MIcTdO049NCVdxQ/w9NrSYFEBKTDKpLKfNkCGDc1RwjZLQcm3vqJ2UW9Xfa3tgAHz6ivp6vgC2yD4/6352ndnN0X0TL7seypkjZlMsjmZnf0Mm5Q+JykRWQBKCVCVPbARPXWyQtb5VgLB6Biq7/Uixcj2WGqdI8tGSgkuRG+t910GKP2D7AQH0DB9FMDW/obJZ8giFI3Wg8Cvevz0M+5m0rTh7XDBlvo9Y4vm13EXmfttwI4mBo1EG15fxJhUiCLbiiyCf/ZA6MFAhg3pGIZGdGIVjtPn6UcMk9A/UUr9PhoNsCENw1APAq0gpH73e+M+0ueyHbabc3vkbcdtzcf/fiy+NxQEjf9ud/ELBHAXJ0nk4z+MXH2Ev/kWyV4k7SkvpPc9Qr38F6RPWnM9cN6DJ0AdD1BhtgABtmoRoFCvPsBAumNm6soZG2Gk5GyVTo2sJncSyp0jQTYoR6WDvTwaaEcHsxHfvuWhHA3a6bN7twRKtcGok6NsCi7jYRrM2jExsUFMxMQYuJbMhuWNOumEJy9hi29Dmg5zMp/A5+hhPG19j1vBrq8JTLr8ki5VLPmG/PynJHVul440bxg5xuymHUFPBshC+nA9I1FmwbRBTNHAcik3Oae0cxKoI3MOriM42UrPe51nsaGxJ+WfXubAsP84aabUlQSJ1IiE0iPETLUU4CATgfXSCSpuRFRmCGbO+wSpAnzaeaCYW1VNEysRtuXCEL1kUFUbbtMv3Tilt/1c11jt3Q5bbMa84cpWipp8Elw3MZhOHsOlwwVUQM3lAR35JiFQbaYCRnMF2lxAWoOg2gyoIV4PouX8HytNIfLhqpJtXB4vjiViUI8IJ7bkC4ikkQvKksnOTKICwnqWSZ9YS5f0WCxmpgjbIq7EJcM4aI2nmhLNY2JIUgOjXZFWBHb+x5oh6cwb0Tv1ackHdKi0I9OO2wE9aogIOn540CCCziyhN+IaejtgAONKznHlHyutPrHGwCx9S6B8kfS4Mfi4Eyv7OU730bT1SCBjt834cXsf43zVjPUqqJjgrjeGnBxSG4aYAKFuVbeCfkDIjAqMb6yLNIbCuvXhMH2/+k2vkNpkORhR59N1CkzoOENvneIosjYmuTxlhUzaGEJQ/iWqx4dmwpmKjrwTiTGTCVozNAYqk/zXOndWxuWSmJkQpJw3pK5KX6QrLt5LATMqpmPAQhkhK6PUjzHUn7E0gHE0kPE0iKkolgkUx9SZmVAdDgpffdyJKg3k7VmzYGCwVXGz/tXmkOIp+vcWs+EMuhhvN0h9uhfzWJziBQmCREGSIFmQIkgVpAnSBRmC//6hkLZwaVhwxlrJSOdqlFtOYxlau9F2QN5Y98xmIAsiM1HVp2VFX+DHHGg6Ecjh3vmqtidX3qHI2qycTk/iwxSt5UzTmEP92ZBnEWTk4Mx8Mpl78ZDokxg/KWb+Q0QkvdKVmq3TMW+RXEgrsziSAfNXFMhDc60N5N9jQzjfO0kBKpUZl0ZmwJ41j/B9Hz6wmRaJB84niNmQrzp9eSlQCDDzazGDdVi3P36VZQ+Jy4f9UBNp+3zTjqI4abaFAm+GShVaXlsGdF3FYzZcDI6cori4kMxUECl9IjJZpzkvitAoxKue+90pDMvcKRxLl53TmOKCmV/xRolNKSqqUxc6LStOETmFOiLZZptlZepcKiAzteG8PEdpnQpbOMNcMsR4RR2Bs0cKFEvSmIjAFcnarqwUL4lDhHmnVkwu1IwshbiCcgvOheZuYyOteufZZwlcTlLgnZ3o/WcYdzZHW/WGaqaVfmTZ1aWCceJjkbZqsfbkOtcFlUZM/jy+hXHDbaUobWqqXaeWobbLO99yG5N3U4wxco0rQGGcOLASFMXeJoham8M+/x6O2WywK2l4HGbq1CoUyC/IZikQhdq3SiuNrvAEj0AVu9x2x3lp/xWzahaxidezFVtdcb5uEnzyl0ZmYiuKI0exvCd4Xc9CV1KB0db00z92wDPde0kukbvZIWN6jUWFTmPIC/Y4UPCm8UfDTFZpZNon1qLFTkBhxzB+FjQRA2Q/YRJT8pQigslMaUpFyAG8TMlXigiqmAZX4xgijKjRlGpLE0GdplRfCaJo0JQaSxNBk6ZmMzcya0FmrcisDdn0Q3HI2sWSppYigmlM1XT/kLQZSNpMJG0WkjYbSZuDpM1F0uYhFc1HxU4m1QJjDK6iL0S5uSj5rgXc3RejEigtcRBtqYPQsiTskmO5vosV+q4VGIKbOkDg0jtRrq+Em1YloaTFar3EGr1EUC8R0kus1Uus00usL97ABr2BjXoDm/QGNhuWtMVBKOwg/i78lT7hBsAvDmwHc/ao3vmUbBmhjeYySZNWvGkfZAgISDSaDo1SVpzGDsAEkF8B+gEapViUoZgUWXcRIGFZNm6gWbAKk0bp0k1MHG9fLYtV4iS2SmLEQFARzRcnf9PUS0LVn05/J9MiRRBU3v2IrvW974v4N00L7ZMk0wXP1409CHo/an8zTRHD3eSJ6m8D4YMkZNl3M79sqeuAsr/m3f+8/yl7A50aiAEJgeBeMWzu7ui9UfUBCe2TIqZIoOd/3/udRBOQidQZUERzb2/VwZN1H/Sju82ew2H2Wfr6qvfVf3hqwDvAIpkQVFy4B9Pe9e4/XvPeceu7h3dvO56iJPf0+A6cqA2ip18ER+iFgggiuOkvj24bby0N9j2UHIkgqIt+sVgfodC4YghLSMjSZbH0VR/6dMDrYJeKHilKTemt6v6kvzvn3/RrdWtr0GoN/xL+Sex/cPYLUpepx9cz/D46UPU5KXgAQa+NDps1v6J3xP1i2HtaDB0M9aX2deA7SYff//+gUCovMmIK/qfsFcOk+4Y5ZN97XlG6zebqtMbKgeRFi51vnxTQYBUik2rS/Cn6PC8ADR8FGxsRPB82dzfND90gIcshOcYUkfjherBz53odpm6TP8txlwOZ71xmfHHOvq053qFF/MRlS3jP0ELudrf2OeN8DHvp6ZceLe8qKYvWz/7yp0u4dKPfli3CYq0O13Ih71mylJ80tOi10On8wi+F4+LWgDPeJ30msSQt9/vkmHq9/Lvo2b461mP801v3W4xTcs6CbvF9UDdrSt+A8OUbpSh55qAUFXWznBBfdeJ8a4d7ugT5tvxUza3h9m4H7ptTqiG4z0g5dc0X29OcGlhpGFMpQo9ytTS+NViZpNdvU4kWx+LKxNY10kQ1yqGXrhe4/1nvP7E+nd5A92TtaRplbHSqoIdOqtRWti+fkB5/n1+/VvCmz12pG1kpQWsfi1ftlBobm0bpngs16CHkbIwdLnParxtTV3QYRlfJ0KFskH7pdN/YDn+yRuSd7sNH3aO0DYPggk6uWuXrfOc+fa3VTxFVvKaNxHsiHmsXyCLIE5yuOeN3/Jdf8HBL/5M6shjyhxHx9BjB1O0+4NLOnjLLSxwO7ukN4jMbOIcD879KLSi6Pk61Oqm2377n8079PXEEQ7cy7OKEC9nbpet118fxweTafpt69x/Bt8UqGzNQt7aelpc44dn5cqhwf71+qKp/Zf/+a0zcizOUWpl/iBcSXip0pplkatCchoH5c5aUM8I7/dWxAej8WicPL1URFZ9BDJelUwEwTkGqUhgSlydVes95YdXvhh9Gfz/aeFWvgVb4tuLbcv4+wLdutVZv/cUonwBD/6eDlE0aSiKK/uoH3+J1wDE/jMVqY2ysGufN84oIXB0sPzy8ollX/LegY74DgJXJR57sn+VGza0x3DnuIgABFM15LmajjjsNlYj+JEZGbuRYcAMOWxFkPN2w6Wd46xo4gVWQR/X4lyI/R6K/YK0110GzudPRW7Y+UOBGTfNNzHeYT0fiH0taunBpq9HEW8OKSaBGj21L0MqenEmNRWBAWDWAk4CpNoEZJ2tTaPFgbQYj8HxtFilErs3BTRwT8uO1NXQaWfIotchmPkAF5mMBAliEmZiOGVgCG9LgRzpscMAOOwowlT3JhusdazXGSC/hxR3UlmWVwWHpOIKheqONvjyhSiTHIkVUco5bnji8m//zL7PKaT1Vl5I6UE609f+gkr6MZKVyKc7zJRmCahLsdlyA5fdQkRSan9LgnnLEyGSkaKJCJog0wAgvepWBt80+1yKln1bMVtCljfNWDueKLsWwaEbBSfSPTEmVRsUcYYMnEjcjeyCZzBXK9E9BYBXLKjOSpUDR+nEV3TFSUdQaz+ot98QxgXwx0GQ+EEUAKB2qZPkQQ0GqFD8UPFMqyaCHM24BZmSGic9EYMagKizOw9Hz50DMrDLrqqLkTAhplMictiCAx5S3BIUQdeJeLnBy2CNtMfz6cV4u8XKoFZQesbf9YZiIERiHjaNodDW6LgcirX/mPnJIkBGDUpTBhSa0EIr38D5hCIszhCM8URGBqImoWjpvpt1ebu/v3Gl3qJfMnNM+9V+kiRFyROTPHQWOcs1dNW94/ukKMPZBvDi55i5CttdeJz84DLngLqjcdwEZ87bFFR8CIG35OAkDVN6VRDZ7aq67NteYqZ2lpT8oYB2CytoBd6VuAx4WgiAsnuj3WohG+LugzXiQRDeM3XYXlULv4dp5VFYC) format("woff2"),url(./KaTeX_Size3-Regular-CTq5MqoE.woff) format("woff"),url(./KaTeX_Size3-Regular-DgpXs0kz.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Size4;font-style:normal;font-weight:400;src:url(./KaTeX_Size4-Regular-Dl5lxZxV.woff2) format("woff2"),url(./KaTeX_Size4-Regular-BF-4gkZK.woff) format("woff"),url(./KaTeX_Size4-Regular-DWFBv043.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Typewriter;font-style:normal;font-weight:400;src:url(./KaTeX_Typewriter-Regular-CO6r4hn1.woff2) format("woff2"),url(./KaTeX_Typewriter-Regular-C0xS9mPB.woff) format("woff"),url(./KaTeX_Typewriter-Regular-D3Ib7_Hf.ttf) format("truetype")}.katex{font: 1.21em KaTeX_Main,Times New Roman,serif;line-height:1.2;position:relative;text-indent:0;text-rendering:auto}.katex *{-ms-high-contrast-adjust:none!important;border-color:currentColor}.katex .katex-version:after{content:"0.17.0"}.katex .katex-mathml{border:0;-webkit-clip-path:inset(50%);clip-path:inset(50%);height:1px;overflow:hidden;padding:0;position:absolute;width:1px}.katex .katex-html>.newline{display:block}.katex .base{position:relative;white-space:nowrap;width:-webkit-min-content;width:-moz-min-content;width:min-content}.katex .base,.katex .strut{display:inline-block}.katex .textbf{font-weight:700}.katex .textit{font-style:italic}.katex .textrm{font-family:KaTeX_Main}.katex .textsf{font-family:KaTeX_SansSerif}.katex .texttt{font-family:KaTeX_Typewriter}.katex .mathnormal{font-family:KaTeX_Math;font-style:italic}.katex .mathit{font-family:KaTeX_Main;font-style:italic}.katex .mathrm{font-style:normal}.katex .mathbf{font-family:KaTeX_Main;font-weight:700}.katex .boldsymbol{font-family:KaTeX_Math;font-style:italic;font-weight:700}.katex .amsrm,.katex .mathbb,.katex .textbb{font-family:KaTeX_AMS}.katex .mathcal{font-family:KaTeX_Caligraphic}.katex .mathfrak,.katex .textfrak{font-family:KaTeX_Fraktur}.katex .mathboldfrak,.katex .textboldfrak{font-family:KaTeX_Fraktur;font-weight:700}.katex .mathtt{font-family:KaTeX_Typewriter}.katex .mathscr,.katex .textscr{font-family:KaTeX_Script}.katex .mathsf,.katex .textsf{font-family:KaTeX_SansSerif}.katex .mathboldsf,.katex .textboldsf{font-family:KaTeX_SansSerif;font-weight:700}.katex .mathitsf,.katex .mathsfit,.katex .textitsf{font-family:KaTeX_SansSerif;font-style:italic}.katex .mainrm{font-family:KaTeX_Main;font-style:normal}.katex .vlist-t{border-collapse:collapse;display:inline-table;table-layout:fixed}.katex .vlist-r{display:table-row}.katex .vlist{display:table-cell;position:relative;vertical-align:bottom}.katex .vlist>span{display:block;height:0;position:relative}.katex .vlist>span>span{display:inline-block}.katex .vlist>span>.pstrut{overflow:hidden;width:0}.katex .vlist-t2{margin-right:-2px}.katex .vlist-s{display:table-cell;font-size:1px;min-width:2px;vertical-align:bottom;width:2px}.katex .vbox{align-items:baseline;display:inline-flex;flex-direction:column}.katex .hbox{width:100%}.katex .hbox,.katex .thinbox{display:inline-flex;flex-direction:row}.katex .thinbox{max-width:0;width:0}.katex .msupsub{text-align:left}.katex .mfrac>span>span{text-align:center}.katex .mfrac .frac-line{border-bottom-style:solid;display:inline-block;width:100%}.katex .hdashline,.katex .hline,.katex .mfrac .frac-line,.katex .overline .overline-line,.katex .rule,.katex .underline .underline-line{min-height:1px}.katex .mspace{display:inline-block}.katex .smash{display:inline;line-height:0}.katex .clap,.katex .llap,.katex .rlap{position:relative;width:0}.katex .clap>.inner,.katex .llap>.inner,.katex .rlap>.inner{position:absolute}.katex .clap>.fix,.katex .llap>.fix,.katex .rlap>.fix{display:inline-block}.katex .llap>.inner{right:0}.katex .clap>.inner,.katex .rlap>.inner{left:0}.katex .clap>.inner>span{margin-left:-50%;margin-right:50%}.katex .rule{border:0 solid;display:inline-block;position:relative}.katex .hline,.katex .overline .overline-line,.katex .underline .underline-line{border-bottom-style:solid;display:inline-block;width:100%}.katex .hdashline{border-bottom-style:dashed;display:inline-block;width:100%}.katex .sqrt>.root{margin-left:.2777777778em;margin-right:-.5555555556em}.katex .fontsize-ensurer.reset-size1.size1,.katex .sizing.reset-size1.size1{font-size:1em}.katex .fontsize-ensurer.reset-size1.size2,.katex .sizing.reset-size1.size2{font-size:1.2em}.katex .fontsize-ensurer.reset-size1.size3,.katex .sizing.reset-size1.size3{font-size:1.4em}.katex .fontsize-ensurer.reset-size1.size4,.katex .sizing.reset-size1.size4{font-size:1.6em}.katex .fontsize-ensurer.reset-size1.size5,.katex .sizing.reset-size1.size5{font-size:1.8em}.katex .fontsize-ensurer.reset-size1.size6,.katex .sizing.reset-size1.size6{font-size:2em}.katex .fontsize-ensurer.reset-size1.size7,.katex .sizing.reset-size1.size7{font-size:2.4em}.katex .fontsize-ensurer.reset-size1.size8,.katex .sizing.reset-size1.size8{font-size:2.88em}.katex .fontsize-ensurer.reset-size1.size9,.katex .sizing.reset-size1.size9{font-size:3.456em}.katex .fontsize-ensurer.reset-size1.size10,.katex .sizing.reset-size1.size10{font-size:4.148em}.katex .fontsize-ensurer.reset-size1.size11,.katex .sizing.reset-size1.size11{font-size:4.976em}.katex .fontsize-ensurer.reset-size2.size1,.katex .sizing.reset-size2.size1{font-size:.8333333333em}.katex .fontsize-ensurer.reset-size2.size2,.katex .sizing.reset-size2.size2{font-size:1em}.katex .fontsize-ensurer.reset-size2.size3,.katex .sizing.reset-size2.size3{font-size:1.1666666667em}.katex .fontsize-ensurer.reset-size2.size4,.katex .sizing.reset-size2.size4{font-size:1.3333333333em}.katex .fontsize-ensurer.reset-size2.size5,.katex .sizing.reset-size2.size5{font-size:1.5em}.katex .fontsize-ensurer.reset-size2.size6,.katex .sizing.reset-size2.size6{font-size:1.6666666667em}.katex .fontsize-ensurer.reset-size2.size7,.katex .sizing.reset-size2.size7{font-size:2em}.katex .fontsize-ensurer.reset-size2.size8,.katex .sizing.reset-size2.size8{font-size:2.4em}.katex .fontsize-ensurer.reset-size2.size9,.katex .sizing.reset-size2.size9{font-size:2.88em}.katex .fontsize-ensurer.reset-size2.size10,.katex .sizing.reset-size2.size10{font-size:3.4566666667em}.katex .fontsize-ensurer.reset-size2.size11,.katex .sizing.reset-size2.size11{font-size:4.1466666667em}.katex .fontsize-ensurer.reset-size3.size1,.katex .sizing.reset-size3.size1{font-size:.7142857143em}.katex .fontsize-ensurer.reset-size3.size2,.katex .sizing.reset-size3.size2{font-size:.8571428571em}.katex .fontsize-ensurer.reset-size3.size3,.katex .sizing.reset-size3.size3{font-size:1em}.katex .fontsize-ensurer.reset-size3.size4,.katex .sizing.reset-size3.size4{font-size:1.1428571429em}.katex .fontsize-ensurer.reset-size3.size5,.katex .sizing.reset-size3.size5{font-size:1.2857142857em}.katex .fontsize-ensurer.reset-size3.size6,.katex .sizing.reset-size3.size6{font-size:1.4285714286em}.katex .fontsize-ensurer.reset-size3.size7,.katex .sizing.reset-size3.size7{font-size:1.7142857143em}.katex .fontsize-ensurer.reset-size3.size8,.katex .sizing.reset-size3.size8{font-size:2.0571428571em}.katex .fontsize-ensurer.reset-size3.size9,.katex .sizing.reset-size3.size9{font-size:2.4685714286em}.katex .fontsize-ensurer.reset-size3.size10,.katex .sizing.reset-size3.size10{font-size:2.9628571429em}.katex .fontsize-ensurer.reset-size3.size11,.katex .sizing.reset-size3.size11{font-size:3.5542857143em}.katex .fontsize-ensurer.reset-size4.size1,.katex .sizing.reset-size4.size1{font-size:.625em}.katex .fontsize-ensurer.reset-size4.size2,.katex .sizing.reset-size4.size2{font-size:.75em}.katex .fontsize-ensurer.reset-size4.size3,.katex .sizing.reset-size4.size3{font-size:.875em}.katex .fontsize-ensurer.reset-size4.size4,.katex .sizing.reset-size4.size4{font-size:1em}.katex .fontsize-ensurer.reset-size4.size5,.katex .sizing.reset-size4.size5{font-size:1.125em}.katex .fontsize-ensurer.reset-size4.size6,.katex .sizing.reset-size4.size6{font-size:1.25em}.katex .fontsize-ensurer.reset-size4.size7,.katex .sizing.reset-size4.size7{font-size:1.5em}.katex .fontsize-ensurer.reset-size4.size8,.katex .sizing.reset-size4.size8{font-size:1.8em}.katex .fontsize-ensurer.reset-size4.size9,.katex .sizing.reset-size4.size9{font-size:2.16em}.katex .fontsize-ensurer.reset-size4.size10,.katex .sizing.reset-size4.size10{font-size:2.5925em}.katex .fontsize-ensurer.reset-size4.size11,.katex .sizing.reset-size4.size11{font-size:3.11em}.katex .fontsize-ensurer.reset-size5.size1,.katex .sizing.reset-size5.size1{font-size:.5555555556em}.katex .fontsize-ensurer.reset-size5.size2,.katex .sizing.reset-size5.size2{font-size:.6666666667em}.katex .fontsize-ensurer.reset-size5.size3,.katex .sizing.reset-size5.size3{font-size:.7777777778em}.katex .fontsize-ensurer.reset-size5.size4,.katex .sizing.reset-size5.size4{font-size:.8888888889em}.katex .fontsize-ensurer.reset-size5.size5,.katex .sizing.reset-size5.size5{font-size:1em}.katex .fontsize-ensurer.reset-size5.size6,.katex .sizing.reset-size5.size6{font-size:1.1111111111em}.katex .fontsize-ensurer.reset-size5.size7,.katex .sizing.reset-size5.size7{font-size:1.3333333333em}.katex .fontsize-ensurer.reset-size5.size8,.katex .sizing.reset-size5.size8{font-size:1.6em}.katex .fontsize-ensurer.reset-size5.size9,.katex .sizing.reset-size5.size9{font-size:1.92em}.katex .fontsize-ensurer.reset-size5.size10,.katex .sizing.reset-size5.size10{font-size:2.3044444444em}.katex .fontsize-ensurer.reset-size5.size11,.katex .sizing.reset-size5.size11{font-size:2.7644444444em}.katex .fontsize-ensurer.reset-size6.size1,.katex .sizing.reset-size6.size1{font-size:.5em}.katex .fontsize-ensurer.reset-size6.size2,.katex .sizing.reset-size6.size2{font-size:.6em}.katex .fontsize-ensurer.reset-size6.size3,.katex .sizing.reset-size6.size3{font-size:.7em}.katex .fontsize-ensurer.reset-size6.size4,.katex .sizing.reset-size6.size4{font-size:.8em}.katex .fontsize-ensurer.reset-size6.size5,.katex .sizing.reset-size6.size5{font-size:.9em}.katex .fontsize-ensurer.reset-size6.size6,.katex .sizing.reset-size6.size6{font-size:1em}.katex .fontsize-ensurer.reset-size6.size7,.katex .sizing.reset-size6.size7{font-size:1.2em}.katex .fontsize-ensurer.reset-size6.size8,.katex .sizing.reset-size6.size8{font-size:1.44em}.katex .fontsize-ensurer.reset-size6.size9,.katex .sizing.reset-size6.size9{font-size:1.728em}.katex .fontsize-ensurer.reset-size6.size10,.katex .sizing.reset-size6.size10{font-size:2.074em}.katex .fontsize-ensurer.reset-size6.size11,.katex .sizing.reset-size6.size11{font-size:2.488em}.katex .fontsize-ensurer.reset-size7.size1,.katex .sizing.reset-size7.size1{font-size:.4166666667em}.katex .fontsize-ensurer.reset-size7.size2,.katex .sizing.reset-size7.size2{font-size:.5em}.katex .fontsize-ensurer.reset-size7.size3,.katex .sizing.reset-size7.size3{font-size:.5833333333em}.katex .fontsize-ensurer.reset-size7.size4,.katex .sizing.reset-size7.size4{font-size:.6666666667em}.katex .fontsize-ensurer.reset-size7.size5,.katex .sizing.reset-size7.size5{font-size:.75em}.katex .fontsize-ensurer.reset-size7.size6,.katex .sizing.reset-size7.size6{font-size:.8333333333em}.katex .fontsize-ensurer.reset-size7.size7,.katex .sizing.reset-size7.size7{font-size:1em}.katex .fontsize-ensurer.reset-size7.size8,.katex .sizing.reset-size7.size8{font-size:1.2em}.katex .fontsize-ensurer.reset-size7.size9,.katex .sizing.reset-size7.size9{font-size:1.44em}.katex .fontsize-ensurer.reset-size7.size10,.katex .sizing.reset-size7.size10{font-size:1.7283333333em}.katex .fontsize-ensurer.reset-size7.size11,.katex .sizing.reset-size7.size11{font-size:2.0733333333em}.katex .fontsize-ensurer.reset-size8.size1,.katex .sizing.reset-size8.size1{font-size:.3472222222em}.katex .fontsize-ensurer.reset-size8.size2,.katex .sizing.reset-size8.size2{font-size:.4166666667em}.katex .fontsize-ensurer.reset-size8.size3,.katex .sizing.reset-size8.size3{font-size:.4861111111em}.katex .fontsize-ensurer.reset-size8.size4,.katex .sizing.reset-size8.size4{font-size:.5555555556em}.katex .fontsize-ensurer.reset-size8.size5,.katex .sizing.reset-size8.size5{font-size:.625em}.katex .fontsize-ensurer.reset-size8.size6,.katex .sizing.reset-size8.size6{font-size:.6944444444em}.katex .fontsize-ensurer.reset-size8.size7,.katex .sizing.reset-size8.size7{font-size:.8333333333em}.katex .fontsize-ensurer.reset-size8.size8,.katex .sizing.reset-size8.size8{font-size:1em}.katex .fontsize-ensurer.reset-size8.size9,.katex .sizing.reset-size8.size9{font-size:1.2em}.katex .fontsize-ensurer.reset-size8.size10,.katex .sizing.reset-size8.size10{font-size:1.4402777778em}.katex .fontsize-ensurer.reset-size8.size11,.katex .sizing.reset-size8.size11{font-size:1.7277777778em}.katex .fontsize-ensurer.reset-size9.size1,.katex .sizing.reset-size9.size1{font-size:.2893518519em}.katex .fontsize-ensurer.reset-size9.size2,.katex .sizing.reset-size9.size2{font-size:.3472222222em}.katex .fontsize-ensurer.reset-size9.size3,.katex .sizing.reset-size9.size3{font-size:.4050925926em}.katex .fontsize-ensurer.reset-size9.size4,.katex .sizing.reset-size9.size4{font-size:.462962963em}.katex .fontsize-ensurer.reset-size9.size5,.katex .sizing.reset-size9.size5{font-size:.5208333333em}.katex .fontsize-ensurer.reset-size9.size6,.katex .sizing.reset-size9.size6{font-size:.5787037037em}.katex .fontsize-ensurer.reset-size9.size7,.katex .sizing.reset-size9.size7{font-size:.6944444444em}.katex .fontsize-ensurer.reset-size9.size8,.katex .sizing.reset-size9.size8{font-size:.8333333333em}.katex .fontsize-ensurer.reset-size9.size9,.katex .sizing.reset-size9.size9{font-size:1em}.katex .fontsize-ensurer.reset-size9.size10,.katex .sizing.reset-size9.size10{font-size:1.2002314815em}.katex .fontsize-ensurer.reset-size9.size11,.katex .sizing.reset-size9.size11{font-size:1.4398148148em}.katex .fontsize-ensurer.reset-size10.size1,.katex .sizing.reset-size10.size1{font-size:.2410800386em}.katex .fontsize-ensurer.reset-size10.size2,.katex .sizing.reset-size10.size2{font-size:.2892960463em}.katex .fontsize-ensurer.reset-size10.size3,.katex .sizing.reset-size10.size3{font-size:.337512054em}.katex .fontsize-ensurer.reset-size10.size4,.katex .sizing.reset-size10.size4{font-size:.3857280617em}.katex .fontsize-ensurer.reset-size10.size5,.katex .sizing.reset-size10.size5{font-size:.4339440694em}.katex .fontsize-ensurer.reset-size10.size6,.katex .sizing.reset-size10.size6{font-size:.4821600771em}.katex .fontsize-ensurer.reset-size10.size7,.katex .sizing.reset-size10.size7{font-size:.5785920926em}.katex .fontsize-ensurer.reset-size10.size8,.katex .sizing.reset-size10.size8{font-size:.6943105111em}.katex .fontsize-ensurer.reset-size10.size9,.katex .sizing.reset-size10.size9{font-size:.8331726133em}.katex .fontsize-ensurer.reset-size10.size10,.katex .sizing.reset-size10.size10{font-size:1em}.katex .fontsize-ensurer.reset-size10.size11,.katex .sizing.reset-size10.size11{font-size:1.1996142719em}.katex .fontsize-ensurer.reset-size11.size1,.katex .sizing.reset-size11.size1{font-size:.2009646302em}.katex .fontsize-ensurer.reset-size11.size2,.katex .sizing.reset-size11.size2{font-size:.2411575563em}.katex .fontsize-ensurer.reset-size11.size3,.katex .sizing.reset-size11.size3{font-size:.2813504823em}.katex .fontsize-ensurer.reset-size11.size4,.katex .sizing.reset-size11.size4{font-size:.3215434084em}.katex .fontsize-ensurer.reset-size11.size5,.katex .sizing.reset-size11.size5{font-size:.3617363344em}.katex .fontsize-ensurer.reset-size11.size6,.katex .sizing.reset-size11.size6{font-size:.4019292605em}.katex .fontsize-ensurer.reset-size11.size7,.katex .sizing.reset-size11.size7{font-size:.4823151125em}.katex .fontsize-ensurer.reset-size11.size8,.katex .sizing.reset-size11.size8{font-size:.578778135em}.katex .fontsize-ensurer.reset-size11.size9,.katex .sizing.reset-size11.size9{font-size:.6945337621em}.katex .fontsize-ensurer.reset-size11.size10,.katex .sizing.reset-size11.size10{font-size:.8336012862em}.katex .fontsize-ensurer.reset-size11.size11,.katex .sizing.reset-size11.size11{font-size:1em}.katex .delimsizing.size1{font-family:KaTeX_Size1}.katex .delimsizing.size2{font-family:KaTeX_Size2}.katex .delimsizing.size3{font-family:KaTeX_Size3}.katex .delimsizing.size4{font-family:KaTeX_Size4}.katex .delimsizing.mult .delim-size1>span{font-family:KaTeX_Size1}.katex .delimsizing.mult .delim-size4>span{font-family:KaTeX_Size4}.katex .nulldelimiter{display:inline-block;width:.12em}.katex .delimcenter,.katex .op-symbol{position:relative}.katex .op-symbol.small-op{font-family:KaTeX_Size1}.katex .op-symbol.large-op{font-family:KaTeX_Size2}.katex .accent>.vlist-t,.katex .op-limits>.vlist-t{text-align:center}.katex .accent .accent-body{position:relative}.katex .accent .accent-body:not(.accent-full){width:0}.katex .overlay{display:block}.katex .mtable .vertical-separator{display:inline-block;min-width:1px}.katex .mtable .arraycolsep{display:inline-block}.katex .mtable .col-align-c>.vlist-t{text-align:center}.katex .mtable .col-align-l>.vlist-t{text-align:left}.katex .mtable .col-align-r>.vlist-t{text-align:right}.katex .svg-align{text-align:left}.katex svg{fill:currentColor;stroke:currentColor;display:block;height:inherit;position:absolute;width:100%}.katex svg path{stroke:none}.katex svg{fill-rule:nonzero;fill-opacity:1;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1}.katex img{border-style:none;max-height:none;max-width:none;min-height:0;min-width:0}.katex .stretchy{display:block;overflow:hidden;position:relative;width:100%}.katex .stretchy:after,.katex .stretchy:before{content:""}.katex .hide-tail{overflow:hidden;position:relative;width:100%}.katex .halfarrow-left{left:0;overflow:hidden;position:absolute;width:50.2%}.katex .halfarrow-right{overflow:hidden;position:absolute;right:0;width:50.2%}.katex .brace-left{left:0;overflow:hidden;position:absolute;width:25.1%}.katex .brace-center{left:25%;overflow:hidden;position:absolute;width:50%}.katex .brace-right{overflow:hidden;position:absolute;right:0;width:25.1%}.katex .x-arrow-pad{padding:0 .5em}.katex .cd-arrow-pad{padding:0 .55556em 0 .27778em}.katex .mover,.katex .munder,.katex .x-arrow{text-align:center}.katex .boxpad{padding:0 .3em}.katex .fbox,.katex .fcolorbox{border:.04em solid;box-sizing:border-box}.katex .cancel-pad{padding:0 .2em}.katex .cancel-lap{margin-left:-.2em;margin-right:-.2em}.katex .sout{border-bottom-style:solid;border-bottom-width:.08em}.katex .angl{border-right:.049em solid;border-top:.049em solid;box-sizing:border-box;margin-right:.03889em}.katex .anglpad{padding:0 .03889em}.katex .eqn-num:before{content:"(" counter(katexEqnNo) ")";counter-increment:katexEqnNo}.katex .mml-eqn-num:before{content:"(" counter(mmlEqnNo) ")";counter-increment:mmlEqnNo}.katex .mtr-glue{width:50%}.katex .cd-vert-arrow{display:inline-block;position:relative}.katex .cd-label-left{display:inline-block;position:absolute;right:calc(50% + .3em);text-align:left}.katex .cd-label-right{display:inline-block;left:calc(50% + .3em);position:absolute;text-align:right}.katex-display{display:block;margin:1em 0;text-align:center}.katex-display>.katex{display:block;text-align:center;white-space:nowrap}.katex-display>.katex>.katex-html{display:block;position:relative}.katex-display>.katex>.katex-html>.tag{position:absolute;right:0}.katex-display.leqno>.katex>.katex-html>.tag{left:0;right:auto}.katex-display.fleqn>.katex{padding-left:2em;text-align:left}body{counter-reset:katexEqnNo mmlEqnNo}.model-selector{position:relative}.model-selector-trigger{display:flex;align-items:center;gap:var(--space-1);padding:2px var(--space-2);font-size:var(--text-xs);color:var(--text-secondary);background:none;border:none;border-radius:var(--radius-md);cursor:pointer;transition:color var(--transition-fast),background var(--transition-fast);white-space:nowrap;height:24px}.model-selector-trigger:hover{color:var(--text-primary);background:var(--bg-hover)}.model-selector-name{font-weight:500;max-width:140px;overflow:hidden;text-overflow:ellipsis;font-size:11px}.model-selector-chevron{transition:transform var(--transition-fast);opacity:.4}.model-selector-chevron.open{transform:rotate(180deg);opacity:.7}.model-selector-dropdown{position:absolute;bottom:calc(100% + 6px);left:0;min-width:220px;max-width:260px;background:var(--surface-mixed);border:1px solid var(--surface-border);border-radius:var(--radius-lg);padding:4px;box-shadow:var(--shadow-xl);z-index:var(--z-dropdown);transform-origin:bottom left;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);animation:modelDropdownIn .15s cubic-bezier(.4,0,.2,1) forwards;max-height:280px;overflow-y:auto}@keyframes modelDropdownIn{0%{opacity:0;transform:translateY(4px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}[data-theme=light] .model-selector-dropdown{background:#fffffff7;border-color:#00000014;box-shadow:0 6px 24px #0000001f,0 0 0 1px #0000000a}.model-selector-header{padding:4px var(--space-2) 4px;font-size:10px;font-weight:700;color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.04em;border-bottom:1px solid var(--surface-border);margin-bottom:2px}.model-selector-option{display:flex;align-items:center;gap:var(--space-1);width:100%;padding:5px var(--space-2);border:none;background:none;cursor:pointer;border-radius:var(--radius-sm);transition:all var(--transition-fast);text-align:left}.model-selector-option:hover{background:var(--surface-glass-hover)}.model-selector-option.active{background:var(--accent-primary-transparent)}.model-selector-option-info{flex:1;min-width:0}.model-selector-option-name{font-size:12px;font-weight:500;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.model-selector-group-label{padding:var(--space-1) var(--space-2) 2px;font-size:10px;font-weight:700;color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.05em}.model-selector-group-divider{height:1px;background:var(--surface-border);margin:2px 0}.model-selector-user-label{color:var(--accent-primary);padding-top:var(--space-2)}.model-selector-badges{display:flex;gap:3px;flex-shrink:0}.model-badge{display:inline-flex;align-items:center;font-size:9px;font-weight:600;padding:0 4px;border-radius:var(--radius-xs);background:var(--surface-glass);border:1px solid var(--surface-border);white-space:nowrap;line-height:16px;color:var(--text-tertiary)}.model-byok-badge{margin-left:6px;font-size:11px;opacity:.8}.model-selector-dropdown::-webkit-scrollbar{width:4px}.model-selector-dropdown::-webkit-scrollbar-track{background:transparent}.model-selector-dropdown::-webkit-scrollbar-thumb{background:var(--surface-border-hover);border-radius:2px}.chat-input-container{flex-shrink:0;padding:var(--space-2) var(--space-4) var(--space-3);background:transparent;width:100%;max-width:820px;margin:0 auto;position:relative;transition:background var(--transition-normal)}.chat-input-container.dragging{background:var(--bg-hover)}.chat-input-wrapper{position:relative;display:flex;flex-direction:column;background:var(--bg-primary);border:1px solid var(--surface-border);border-radius:var(--radius-xl);box-shadow:0 1px 6px #0000000a;transition:border-color var(--transition-fast),box-shadow var(--transition-fast)}.chat-input-wrapper:focus-within{border-color:var(--surface-border-hover);box-shadow:0 1px 8px #00000014}.chat-input-textarea{width:100%;min-height:24px;max-height:300px;overflow-y:auto;padding:var(--space-3) var(--space-4) 4px;font-size:var(--text-base);line-height:1.5;color:var(--text-primary);background:transparent;border:none;outline:none;resize:none;font-family:var(--font-sans);box-sizing:border-box}.chat-input-textarea::placeholder{color:var(--text-tertiary);font-weight:400}.chat-input-textarea:disabled{opacity:.5;cursor:not-allowed}.chat-input-bottom-row{display:flex;align-items:center;justify-content:space-between;padding:var(--space-1) var(--space-2) 6px;min-height:36px}.chat-input-left-actions{display:flex;align-items:center;gap:2px}.chat-input-drag-overlay{position:absolute;top:0;right:0;bottom:0;left:0;background:var(--accent-primary-glow);border:2px dashed var(--accent-primary);border-radius:var(--radius-xl);display:flex;align-items:center;justify-content:center;z-index:10;margin:var(--space-2) var(--space-4);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}.chat-input-drag-overlay span{font-size:var(--text-lg);font-weight:600;color:var(--accent-primary);pointer-events:none}.chat-attachments-preview{display:flex;flex-wrap:wrap;gap:var(--space-2);margin-bottom:var(--space-2);padding:0 12px;animation:fadeInUp .2s ease forwards}.attachment-badge{display:flex;align-items:center;gap:10px;padding:8px 12px;background:var(--bg-secondary);border:1px solid var(--surface-border);border-radius:var(--radius-lg);position:relative;min-width:140px;max-width:220px;transition:all var(--transition-fast)}.attachment-badge:hover{border-color:var(--surface-border-hover);background:var(--bg-tertiary)}.attachment-thumb{width:40px;height:40px;border-radius:var(--radius-md);object-fit:cover;flex-shrink:0;background:var(--bg-tertiary);border:1px solid var(--surface-border);display:block}.attachment-icon{width:40px;height:40px;display:flex;align-items:center;justify-content:center;background:var(--accent-primary-transparent);border-radius:var(--radius-md);color:var(--accent-primary);flex-shrink:0}.attachment-icon--image{background:color-mix(in srgb,var(--success) 10%,transparent);color:var(--success)}.attachment-info{display:flex;flex-direction:column;overflow:hidden;flex:1}.attachment-name{font-size:var(--text-xs);font-weight:500;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.attachment-size{font-size:var(--text-2xs);color:var(--text-tertiary)}.attachment-remove{background:none;border:none;color:var(--text-tertiary);cursor:pointer;padding:2px;font-size:var(--text-xs);border-radius:50%;transition:all var(--transition-fast);display:flex;align-items:center;justify-content:center;width:20px;height:20px}.attachment-remove:hover{background:var(--error-bg);color:var(--error)}.role-selector.active{background-color:var(--accent-primary-transparent);border-color:var(--accent-primary);color:var(--accent-primary);font-weight:600}.role-selector option{background:var(--bg-secondary);color:var(--text-primary);padding:var(--space-2);font-size:var(--text-sm)}.file-progress-bar{display:flex;flex-direction:column;gap:var(--space-1);padding:var(--space-2) var(--space-3);margin-bottom:var(--space-2);background:var(--bg-secondary);border:1px solid var(--surface-border);border-radius:var(--radius-lg);animation:fadeInProgress .2s ease}@keyframes fadeInProgress{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.file-progress-info{display:flex;justify-content:space-between;align-items:center;gap:var(--space-2)}.file-progress-name{font-size:var(--text-xs);font-weight:500;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:200px}.file-progress-count{font-size:var(--text-2xs);color:var(--text-tertiary);white-space:nowrap}.file-progress-track{width:100%;height:4px;background:var(--surface-border);border-radius:var(--radius-full);overflow:hidden}.file-progress-fill{height:100%;background:var(--accent-primary);border-radius:var(--radius-full);transition:width var(--transition-fast)}.offline-draft-indicator{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-1) var(--space-3);margin-bottom:var(--space-1);font-size:var(--text-xs);color:var(--text-tertiary)}.offline-draft-indicator svg{flex-shrink:0;opacity:.8}.slash-menu{position:absolute;bottom:100%;left:0;right:0;background:var(--surface-mixed);border:1px solid var(--surface-border);border-radius:var(--radius-lg);z-index:var(--z-dropdown);padding:var(--space-1);display:flex;flex-direction:column;gap:1px;margin-bottom:var(--space-2);box-shadow:var(--shadow-xl);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);max-height:320px;overflow-y:auto;overscroll-behavior:contain;animation:slashMenuIn .18s cubic-bezier(.4,0,.2,1) forwards}@keyframes slashMenuIn{0%{opacity:0;transform:translateY(8px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}[data-theme=light] .slash-menu{background:#ffffffeb;border-color:#00000014;box-shadow:0 8px 32px #0000001f,0 0 0 1px #0000000a}.slash-menu::-webkit-scrollbar{width:6px}.slash-menu::-webkit-scrollbar-track{background:transparent}.slash-menu::-webkit-scrollbar-thumb{background:var(--surface-border-hover);border-radius:var(--radius-full)}.slash-menu::-webkit-scrollbar-thumb:hover{background:var(--text-tertiary)}.slash-menu-item{padding:var(--space-2) var(--space-3);cursor:pointer;border-radius:var(--radius-md);background:transparent;display:flex;align-items:center;gap:var(--space-3);transition:all var(--transition-fast);min-height:36px}.slash-menu-item:hover{background:var(--surface-glass-hover)}.slash-menu-item--active{background:var(--accent-primary-transparent)}.slash-menu-item--active .slash-cmd{color:var(--accent-primary)}.slash-menu-item--active .slash-desc{color:var(--text-secondary)}.slash-cmd{font-weight:600;font-size:var(--text-sm);color:var(--accent-primary);font-family:var(--font-mono);white-space:nowrap;min-width:80px}.slash-desc{font-size:var(--text-xs);color:var(--text-tertiary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chat-attach-btn{width:28px;height:28px;font-size:var(--text-xl);font-weight:300;padding:0;display:flex;align-items:center;justify-content:center;background:none;border:none;border-radius:var(--radius-full);color:var(--text-tertiary);cursor:pointer;transition:all var(--transition-fast);flex-shrink:0}.chat-attach-btn:hover{background:var(--bg-hover);color:var(--text-primary)}.chat-cancel-btn{width:28px;height:28px;border-radius:50%;border:none;background:var(--error);color:#fff;display:flex;align-items:center;justify-content:center;cursor:pointer;padding:0;flex-shrink:0;transition:all var(--transition-fast);box-shadow:0 0 8px #f8514966}.chat-cancel-btn:hover{background:#e5342d;transform:scale(1.08);box-shadow:0 0 12px #f8514999}.chat-send-btn{width:28px;height:28px;border-radius:50%;border:none;background:var(--text-primary);color:var(--bg-primary);display:flex;align-items:center;justify-content:center;cursor:pointer;padding:0;flex-shrink:0;transition:all var(--transition-fast)}.chat-send-btn:hover:not(:disabled){transform:scale(1.08);opacity:.9}.chat-send-btn:disabled{background:var(--surface-border-hover);color:var(--text-tertiary);cursor:default;opacity:.4}.chat-input-file-hidden{display:none}[data-theme=light] .chat-input-wrapper{background:var(--bg-primary);box-shadow:0 1px 4px #0000000f}[data-theme=light] .chat-input-wrapper:focus-within{box-shadow:0 1px 8px #0000001a}.agent-tabs{display:flex;align-items:stretch;gap:0;min-height:var(--header-height);max-height:var(--header-height);background:var(--bg-secondary);border-bottom:1px solid var(--surface-border);overflow-x:auto;overflow-y:hidden;scrollbar-width:thin;scrollbar-color:var(--text-quaternary) transparent;flex-shrink:0}.agent-tabs::-webkit-scrollbar{height:4px}.agent-tabs::-webkit-scrollbar-track{background:transparent}.agent-tabs::-webkit-scrollbar-thumb{background:var(--surface-border);border-radius:var(--radius-full)}.agent-tabs::-webkit-scrollbar-thumb:hover{background:var(--text-tertiary)}.agent-tab{display:inline-flex;align-items:center;gap:6px;padding:0 var(--space-3);height:var(--header-height);font-size:var(--text-sm);font-weight:400;color:var(--text-tertiary);background:transparent;border:none;border-bottom:2px solid transparent;cursor:pointer;white-space:nowrap;flex-shrink:0;transition:color var(--transition-normal),border-color var(--transition-normal),background var(--transition-fast);position:relative;-webkit-user-select:none;user-select:none}.agent-tab:hover{color:var(--text-secondary);background:var(--surface-glass-hover)}.agent-tab.active{color:var(--text-primary);font-weight:600;border-bottom-color:var(--accent-primary);background:transparent}.agent-tab-icon{font-size:var(--text-sm);line-height:1;flex-shrink:0}.agent-tab-label{max-width:140px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.agent-tab-status{display:inline-flex;align-items:center;justify-content:center;width:14px;height:14px;font-size:8px;line-height:1;flex-shrink:0}.agent-tab-status--running{color:var(--accent-primary);animation:agentPulse 1.8s ease-in-out infinite}.agent-tab-status--done{color:var(--success)}.agent-tab-status--error{color:var(--error)}.agent-tab-status--stopped{color:var(--text-quaternary)}.agent-tab-close{display:flex;align-items:center;justify-content:center;width:16px;height:16px;margin-left:2px;border:none;border-radius:var(--radius-sm);background:none;color:var(--text-quaternary);font-size:12px;font-weight:600;line-height:1;cursor:pointer;opacity:0;transition:opacity var(--transition-fast),color var(--transition-fast),background var(--transition-fast);flex-shrink:0}.agent-tab:hover .agent-tab-close{opacity:1}.agent-tab-close:hover{color:var(--text-primary);background:var(--bg-hover)}@keyframes agentPulse{0%,to{opacity:1}50%{opacity:.35}}[data-theme=light] .agent-tabs{background:var(--bg-secondary);border-bottom-color:var(--surface-border)}.chat-area{flex:1;display:flex;flex-direction:column;height:100%;min-width:0;background:var(--bg-primary);position:relative}.chat-area-drag-overlay{position:absolute;top:0;right:0;bottom:0;left:0;z-index:50;display:flex;align-items:center;justify-content:center;background:rgba(var(--accent-primary-rgb, 99, 102, 241),.08);border:2px dashed var(--accent-primary);border-radius:var(--radius-md);pointer-events:none;animation:dragPulse 1.5s ease infinite}@keyframes dragPulse{0%,to{border-color:var(--accent-primary)}50%{border-color:transparent}}.chat-area-drag-content{display:flex;flex-direction:column;align-items:center;gap:12px;color:var(--accent-primary);font-size:var(--text-base);font-weight:500}.chat-area-drag-content svg{opacity:.7}.chat-messages{flex:1;overflow-y:auto;overflow-x:hidden;padding:var(--space-3) 0;scroll-behavior:smooth;scrollbar-gutter:stable}.chat-messages-inner{max-width:820px;margin:0 auto;padding:0 var(--space-3)}.chat-messages::-webkit-scrollbar{width:6px}.chat-messages::-webkit-scrollbar-track{background:transparent;margin:var(--space-2) 0}.chat-messages::-webkit-scrollbar-thumb{background:var(--surface-border-hover);border-radius:var(--radius-full);transition:background var(--transition-normal)}.chat-messages::-webkit-scrollbar-thumb:hover{background:var(--text-tertiary)}.chat-messages{scrollbar-width:thin;scrollbar-color:var(--surface-border-hover) transparent}.chat-loading{display:flex;flex-direction:column;align-items:center;gap:var(--space-3);padding:var(--space-12) var(--space-4);color:var(--text-tertiary);font-size:var(--text-sm)}.chat-start-hint{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-4);padding:var(--space-12) var(--space-4);text-align:center;color:var(--text-tertiary);font-size:var(--text-sm);flex:1;min-height:300px;animation:chatWelcomeFadeIn .6s cubic-bezier(.4,0,.2,1) forwards}.chat-start-hint:before{content:"△";font-size:48px;font-weight:200;color:var(--accent-primary);opacity:.25;line-height:1;margin-bottom:var(--space-1);animation:chatLogoFloat 4s ease-in-out infinite}.chat-start-hint p{max-width:380px;line-height:1.6;color:var(--text-tertiary);font-size:var(--text-base);opacity:.8}.chat-empty{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-4);padding:var(--space-12) var(--space-8);animation:chatWelcomeFadeIn .6s cubic-bezier(.4,0,.2,1) forwards}.chat-empty:before{content:"△";font-size:48px;font-weight:200;color:var(--accent-primary);opacity:.22;line-height:1;margin-bottom:var(--space-3);animation:chatLogoFloat 4s ease-in-out infinite}.chat-empty-desc{font-size:var(--text-base);color:var(--text-tertiary);max-width:380px;text-align:center;line-height:1.6;opacity:.8}@keyframes chatWelcomeFadeIn{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}@keyframes chatLogoFloat{0%,to{transform:translateY(0)}50%{transform:translateY(-6px)}}.chat-header__left{display:flex;align-items:center;gap:var(--space-2)}.chat-nav-btn{background:none;border:none;cursor:pointer;padding:var(--space-1);color:var(--text-tertiary);border-radius:var(--radius-sm);display:flex;align-items:center;transition:color var(--transition-fast)}.chat-nav-btn:hover{color:var(--text-primary)}.chat-nav-btn:disabled{opacity:.3;cursor:default}.chat-breadcrumb-workspace{color:var(--text-secondary);font-weight:500}.chat-breadcrumb-separator{color:var(--text-tertiary);margin:0 6px}.chat-breadcrumb-title{font-weight:600;color:var(--accent-primary)}.chat-offline-badge{font-size:var(--text-xs);color:var(--text-tertiary);margin-left:var(--space-2)}.tooltip-content{visibility:hidden;opacity:0;width:240px;background-color:var(--bg-elevated);color:var(--text-primary);text-align:left;border-radius:var(--radius-md);padding:var(--space-2) var(--space-3);position:absolute;z-index:var(--z-dropdown);top:calc(100% + 6px);left:50%;transform:translate(-50%) translateY(-4px);font-size:var(--text-xs);border:1px solid var(--surface-border);box-shadow:var(--shadow-lg);transition:opacity var(--transition-fast),transform var(--transition-fast),visibility var(--transition-fast);pointer-events:none;font-weight:400;line-height:1.5}.tooltip-content:after{content:"";position:absolute;bottom:100%;left:50%;margin-left:-5px;border-width:5px;border-style:solid;border-color:transparent transparent var(--surface-border) transparent}.chat-error{display:flex;align-items:center;justify-content:space-between;padding:var(--space-1) var(--space-3);background:var(--error-bg);border-top:1px solid var(--error);color:var(--error);font-size:var(--text-xs);flex-shrink:0;gap:var(--space-2);min-height:28px;max-width:820px;margin:0 auto;width:100%}.chat-connection-lost{display:flex;align-items:center;justify-content:space-between;padding:var(--space-1) var(--space-3);background:var(--error-bg);border-bottom:1px solid var(--error);flex-shrink:0;gap:var(--space-2);min-height:var(--input-height-sm)}.connection-lost-content{display:flex;align-items:center;gap:var(--space-2);color:var(--error);font-size:var(--text-sm);font-weight:500}.connection-lost-content svg{flex-shrink:0;color:var(--error);animation:pulse 2s ease-in-out infinite}.connection-lost-actions{display:flex;align-items:center;gap:var(--space-2);flex-shrink:0}.connection-lost-countdown{font-size:var(--text-xs);color:var(--text-tertiary);white-space:nowrap;font-variant-numeric:tabular-nums}.chat-loading-dots span{width:6px;height:6px;border-radius:50%;background:var(--accent-primary);animation:dotBounce 1.4s ease-in-out infinite}.chat-loading-dots span:nth-child(2){animation-delay:.2s}.chat-loading-dots span:nth-child(3){animation-delay:.4s}@keyframes dotBounce{0%,80%,to{transform:scale(.6);opacity:.4}40%{transform:scale(1);opacity:1}}.chat-error-actions{display:flex;gap:var(--space-2);margin-left:auto}.chat-retry-btn{padding:var(--space-1) var(--space-3);font-size:var(--text-sm)}[data-theme=light] .chat-header{background:#fffc;border-bottom-color:#0000000f}[data-theme=light] .chat-start-hint:before,[data-theme=light] .chat-empty:before{color:var(--accent-primary);opacity:.18}.chat-agent-readonly{flex:1;display:flex;align-items:center;justify-content:center;padding:var(--space-8)}.chat-agent-readonly-content{display:flex;flex-direction:column;align-items:center;gap:var(--space-3);text-align:center;animation:chatWelcomeFadeIn .4s ease forwards}.chat-agent-readonly-icon{font-size:48px;opacity:.6}.chat-agent-readonly-content h3{font-size:var(--text-lg);font-weight:600;color:var(--text-primary);margin:0}.chat-agent-status{font-size:var(--text-sm);color:var(--text-tertiary);margin:0}.chat-agent-stop-btn{margin-top:var(--space-3);padding:var(--space-2) var(--space-5);background:var(--error);color:#fff;border:none;border-radius:var(--radius-md);font-size:var(--text-sm);font-weight:500;cursor:pointer;transition:opacity .2s}.chat-agent-stop-btn:hover{opacity:.85}.settings-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0006;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);z-index:var(--z-modal);display:flex;align-items:center;justify-content:center;animation:overlayFadeIn .2s ease-out}@keyframes overlayFadeIn{0%{opacity:0}to{opacity:1}}.settings-modal{width:100%;max-width:800px;height:600px;background:var(--bg-secondary);border:1px solid var(--surface-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-xl);display:flex;flex-direction:column;overflow:hidden}.settings-header{display:flex;justify-content:space-between;align-items:center;padding:var(--space-3) var(--space-6);min-height:var(--input-height-lg);border-bottom:1px solid var(--surface-border);background:var(--bg-tertiary)}.settings-header h2{font-size:var(--text-lg);font-weight:600;color:var(--text-primary);margin:0}.settings-close{display:flex;align-items:center;justify-content:center;width:var(--input-height-sm);height:var(--input-height-sm);border-radius:var(--radius-full);color:var(--text-tertiary);transition:all var(--transition-normal);flex-shrink:0}.settings-close:hover{color:var(--text-primary);background:var(--bg-hover)}.settings-body{display:flex;flex:1;overflow:hidden}.settings-sidebar{width:240px;background:var(--bg-tertiary);border-right:1px solid var(--surface-border);padding:var(--space-4) var(--space-3);display:flex;flex-direction:column;gap:2px}.settings-tab{display:flex;align-items:center;width:100%;padding:var(--space-2) var(--space-4);background:transparent;border:none;border-left:3px solid transparent;border-radius:0 var(--radius-md) var(--radius-md) 0;color:var(--text-secondary);font-size:var(--text-sm);font-weight:500;text-align:left;cursor:pointer;transition:background var(--transition-normal),color var(--transition-normal),border-color var(--transition-normal)}.settings-tab:hover{background:var(--bg-hover);color:var(--text-primary)}.settings-tab.active{background:var(--accent-primary-transparent);color:var(--accent-primary);border-left-color:var(--accent-primary);font-weight:600}.settings-content{flex:1;padding:var(--space-6);overflow-y:auto;scrollbar-width:thin;scrollbar-color:var(--surface-border) transparent}.settings-content::-webkit-scrollbar{width:6px}.settings-content::-webkit-scrollbar-track{background:transparent}.settings-content::-webkit-scrollbar-thumb{background:var(--surface-border);border-radius:var(--radius-full)}.settings-content::-webkit-scrollbar-thumb:hover{background:var(--surface-border-hover)}.settings-section{max-width:480px;display:flex;flex-direction:column;gap:var(--space-5)}.settings-section h3{font-size:var(--text-base);font-weight:600;color:var(--text-primary);margin:0 0 var(--space-1);padding-bottom:var(--space-2);border-bottom:1px solid var(--surface-border);letter-spacing:.01em}.settings-actions{display:flex;justify-content:space-between;margin-top:var(--space-4)}.settings-alert{padding:var(--space-3);border-radius:var(--radius-md);font-size:var(--text-sm)}.settings-alert.error{background:var(--error-bg);color:var(--error);border:1px solid var(--error)}.settings-alert.success{background:var(--success-bg);color:var(--success);border:1px solid var(--success)}.theme-options{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-4)}.theme-option{display:flex;flex-direction:column;align-items:center;gap:var(--space-2);cursor:pointer}.theme-preview{width:100%;aspect-ratio:16/10;border-radius:var(--radius-md);border:2px solid var(--surface-border);transition:border-color var(--transition-normal),transform var(--transition-normal);overflow:hidden;display:flex}.theme-option:hover .theme-preview{border-color:var(--surface-border-hover);transform:translateY(-1px)}.theme-preview.dark{background:var(--bg-primary)}.theme-preview.light{background:#fff}.theme-preview.system .half{flex:1}.theme-preview.system .half.dark{background:var(--bg-primary)}.theme-preview.system .half.light{background:#fff}.theme-option.active .theme-preview{border-color:var(--accent-primary)}.theme-option span{font-size:var(--text-sm);color:var(--text-secondary)}.theme-option.active span{color:var(--accent-primary);font-weight:500}.billing-card{background:var(--bg-tertiary);border:1px solid var(--surface-border);border-radius:var(--radius-lg);padding:var(--space-5)}.billing-card-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-4)}.plan-badge{background:var(--accent-primary);color:var(--text-inverse);padding:var(--space-1) var(--space-3);border-radius:var(--radius-full);font-size:var(--text-xs);font-weight:600;text-transform:uppercase;letter-spacing:.05em}.plan-status{font-size:var(--text-xs);color:var(--success);font-weight:600;text-transform:uppercase}.billing-stats{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-4);padding:var(--space-4) 0;border-top:1px solid var(--surface-border)}.stat-item{display:flex;flex-direction:column;gap:var(--space-1)}.stat-label{font-size:var(--text-xs);color:var(--text-tertiary);text-transform:uppercase}.stat-value{font-size:var(--text-xl);font-weight:600;color:var(--text-primary);font-family:var(--font-mono)}.btn-full{width:100%}.token-packages{display:flex;flex-direction:column;gap:var(--space-3)}.token-pkg{display:flex;align-items:center;justify-content:space-between;padding:var(--space-4);background:var(--bg-tertiary);border:1px solid var(--surface-border);border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-fast)}.token-pkg:hover{border-color:var(--accent-secondary)}.token-pkg.active{background:var(--accent-primary-transparent);border-color:var(--accent-primary)}.pkg-tokens{font-weight:600;font-size:var(--text-base);color:var(--text-primary)}.pkg-desc{flex:1;margin-left:var(--space-4);font-size:var(--text-sm);color:var(--text-tertiary)}.pkg-price{font-weight:600;color:var(--accent-primary)}.payment-providers{display:flex;flex-direction:column;gap:var(--space-2)}.provider-option{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);background:var(--bg-tertiary);border:1px solid var(--surface-border);border-radius:var(--radius-md);cursor:pointer;font-size:var(--text-sm);color:var(--text-primary);transition:all var(--transition-normal);position:relative;padding-left:calc(var(--space-4) + 22px)}.provider-option:before{content:"";position:absolute;left:var(--space-4);top:50%;transform:translateY(-50%);width:16px;height:16px;border-radius:var(--radius-full);border:2px solid var(--surface-border-hover);transition:all var(--transition-normal);box-sizing:border-box}.provider-option:hover{background:var(--bg-hover);border-color:var(--surface-border-hover)}.provider-option.active{border-color:var(--accent-primary);background:var(--accent-primary-transparent)}.provider-option.active:before{border-color:var(--accent-primary);background:var(--accent-primary);box-shadow:inset 0 0 0 3px var(--bg-tertiary)}.org-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-5)}.org-header h3{margin:0 0 var(--space-1) 0}.org-header .sub-description{margin:0}.org-tabs{display:flex;gap:var(--space-3);background:var(--bg-elevated);padding:var(--space-1);border-radius:var(--radius-md)}.org-tab{padding:var(--space-2) var(--space-3);background:transparent;color:var(--text-secondary);border:none;border-radius:var(--radius-md);cursor:pointer;font-weight:500}.org-tab--active{background:var(--accent-primary);color:var(--text-inverse)}.org-alert-spacing{margin-bottom:var(--space-4)}.org-invite-form{background:var(--bg-elevated);padding:var(--space-4);border-radius:var(--radius-md);margin-bottom:var(--space-6)}.org-invite-form h4{margin:0 0 var(--space-3) 0;font-size:var(--text-base)}.org-invite-row{display:flex;gap:var(--space-3);flex-wrap:wrap;align-items:flex-end}.org-invite-input{flex:1 1 200px}.org-invite-select,.org-invite-limit{flex:0 0 120px}.org-invite-form .input-label{font-size:var(--text-xs)}.org-invite-btn{height:36px}.org-section-title{margin:0 0 var(--space-3) 0;font-size:var(--text-base)}.org-member-table{border:1px solid var(--surface-border);border-radius:var(--radius-md);overflow:hidden}.org-member-table--analytics{margin-bottom:var(--space-8)}.org-member-table table{width:100%;border-collapse:collapse;text-align:left;font-size:var(--text-sm)}.org-member-table thead tr{background:#0003}.org-member-table th,.org-member-table td{padding:var(--space-3);border-bottom:1px solid var(--surface-border)}.org-member-actions{background:transparent;border:none;color:var(--error);cursor:pointer;font-size:var(--text-sm)}.org-member-name{font-weight:600}.org-member-email{font-size:var(--text-xs);color:var(--text-secondary)}.org-member-limit{color:var(--text-tertiary);font-size:var(--text-xs)}.org-spinner{margin:2rem auto}.org-chart-container{height:150px;background:var(--bg-elevated);border-radius:var(--radius-md);padding:var(--space-4);display:flex;align-items:flex-end;gap:var(--space-1);overflow-x:auto}.org-chart-col{flex:1;min-width:15px;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;height:100%}.org-chart-bar{width:100%;background:var(--accent-primary);border-radius:3px 3px 0 0}.org-chart-label{font-size:var(--text-xs);color:var(--text-secondary);margin-top:var(--space-1)}.referral-alert-spacing{margin-top:var(--space-3)}.referral-header-icon{vertical-align:middle;margin-left:var(--space-1)}.referral-code-box{margin-top:var(--space-4);background:var(--bg-tertiary);padding:var(--space-4);border-radius:var(--radius-md)}.referral-code-box-label{margin-bottom:var(--space-2);font-weight:500}.referral-code{font-size:var(--text-sm);flex:1}.referral-stats-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-4);margin-top:var(--space-6)}.referral-stat-card{background:var(--bg-secondary);padding:var(--space-4);border-radius:var(--radius-md)}.referral-stat-card--earnings{display:flex;flex-direction:column;justify-content:center}.referral-stat-header{display:flex;justify-content:space-between;align-items:flex-start}.referral-stat-label{font-size:var(--text-xs);color:var(--text-secondary)}.referral-stat-value{font-size:var(--text-2xl);font-weight:700;color:var(--text-primary)}.referral-stat-value--earnings{color:var(--success)}.referral-withdraw-btn{background:var(--success);align-self:center}.referral-withdraw-hint{margin-top:var(--space-2);font-size:var(--text-xs);color:var(--text-tertiary)}.referral-withdraw-form{margin-top:var(--space-5);background:var(--bg-elevated);padding:var(--space-4);border-radius:var(--radius-md);border:1px solid var(--surface-border)}.referral-withdraw-form h4{margin-top:0}.referral-withdraw-form p{font-size:var(--text-sm);color:var(--text-secondary);margin-bottom:var(--space-4)}.referral-withdraw-row{display:flex;gap:var(--space-3);align-items:flex-start}.referral-withdraw-input{flex:1}.referral-withdraw-submit{background:var(--success)}.referral-list{margin-top:var(--space-6)}.referral-list table{width:100%;text-align:left;margin-top:var(--space-2);border-collapse:collapse}.referral-list thead tr{border-bottom:1px solid var(--surface-border)}.referral-list th{padding:var(--space-2) 0}.referral-item{border-bottom:1px solid var(--surface-border)}.referral-item-email{padding:var(--space-2) 0;color:var(--text-primary)}.referral-item-date{padding:var(--space-2) 0;color:var(--text-secondary)}.settings-input-group--spaced{margin-bottom:var(--space-6)}.settings-heading--spaced,.settings-billing-section,.settings-btn-checkout{margin-top:var(--space-6)}.settings-toggle-row{display:flex;align-items:center;justify-content:space-between;padding:var(--space-3) var(--space-4);border-radius:var(--radius-md);cursor:pointer;background:var(--bg-tertiary, rgba(255, 255, 255, .03));border:1px solid var(--surface-border);transition:all var(--transition-fast)}.settings-toggle-row:hover{border-color:var(--surface-border-hover);background:var(--bg-hover)}.settings-toggle-label{font-size:var(--text-sm);font-weight:500;color:var(--text-primary)}.settings-toggle-desc{font-size:var(--text-xs);color:var(--text-tertiary);margin-top:2px}.settings-toggle-track{width:44px;height:24px;border-radius:var(--radius-lg);padding:2px;transition:background var(--transition-normal),box-shadow var(--transition-normal);flex-shrink:0;cursor:pointer;position:relative}.settings-toggle-track--off{background:var(--bg-hover);box-shadow:inset 0 1px 3px #0003}.settings-toggle-track--on{background:var(--success);box-shadow:0 0 8px var(--success-bg)}.settings-toggle-knob{width:20px;height:20px;border-radius:50%;background:#fff;transition:transform var(--transition-spring);box-shadow:0 1px 4px #00000040,0 0 1px #0000001a;will-change:transform}.settings-toggle-knob--off{transform:translate(0)}.settings-toggle-knob--on{transform:translate(20px)}.snippet-description{color:var(--text-secondary);margin-bottom:var(--space-5)}.snippet-form{background:var(--bg-elevated);padding:var(--space-4);border-radius:var(--radius-md);margin-bottom:var(--space-6)}.snippet-form h4{margin:0 0 var(--space-3) 0;font-size:var(--text-base)}.snippet-form-row{display:flex;flex-direction:column;gap:var(--space-3)}.snippet-input-label{font-size:var(--text-xs)}.snippet-textarea{resize:vertical}.snippet-form-row .btn{align-self:flex-start}.snippet-list-heading{margin:0 0 var(--space-3) 0;font-size:var(--text-base)}.snippet-empty{color:var(--text-secondary)}.snippet-list{display:flex;flex-direction:column;gap:var(--space-3)}.snippet-item{background:var(--bg-secondary);padding:var(--space-3);border-radius:var(--radius-md);display:flex;justify-content:space-between;align-items:flex-start}.snippet-item-header{padding-right:var(--space-4)}.snippet-trigger{font-weight:600;color:var(--text-primary);margin-bottom:var(--space-1)}.snippet-content{font-size:var(--text-sm);color:var(--text-secondary);white-space:pre-wrap;max-height:100px;overflow:hidden;text-overflow:ellipsis}.snippet-actions{background:var(--bg-tertiary);border:none;color:var(--error);cursor:pointer;padding:var(--space-2) var(--space-3);border-radius:var(--radius-md);font-size:var(--text-xs);transition:all var(--transition-fast)}.snippet-actions:hover{background:var(--error-bg)}.integration-spinner{margin:2rem auto}.integration-description{margin-bottom:var(--space-5)}.integration-status-msg{color:var(--accent-primary)}.integration-card{margin-bottom:var(--space-8)}.integration-card-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--space-3)}.integration-icon{margin:0;display:flex;align-items:center;gap:var(--space-2)}.integration-icon--gitlab{color:#fc6d26}.integration-icon--jira{color:#0052cc}.integration-input--spaced{margin-top:var(--space-3)}.integration-btn-group{margin-top:var(--space-3);display:flex;gap:var(--space-3)}.integration-btn--disconnect{color:var(--error);border-color:var(--error)}.byok-description{color:var(--text-secondary);margin-bottom:var(--space-5)}.byok-add-form{margin-bottom:var(--space-6)}.byok-empty{color:var(--text-secondary)}.byok-key-list{list-style:none;padding:0}.byok-key-card{display:flex;justify-content:space-between;align-items:center;padding:var(--space-3);background:var(--bg-tertiary);margin-bottom:var(--space-2);border-radius:var(--radius-sm)}.byok-key-card.byok-key-expired{opacity:.6;border-left:3px solid var(--color-warning, #f59e0b)}.byok-key-info{display:flex;align-items:center;gap:var(--space-2)}.byok-key-value{font-weight:600;text-transform:capitalize}.byok-key-expired-badge{font-size:var(--text-xs);color:var(--color-warning, #f59e0b);background:#f59e0b1a;padding:1px 6px;border-radius:var(--radius-xs, 4px);font-weight:500}.byok-key-actions{padding:var(--space-1) var(--space-2);font-size:var(--text-xs)}@keyframes byok-spin{to{transform:rotate(360deg)}}.byok-spinner{display:inline-block;width:14px;height:14px;border:2px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:byok-spin .6s linear infinite}.about-check-again-btn{margin-left:var(--space-2)}.about-download-btn{margin-left:var(--space-3)}.about-downloaded-status{flex-direction:column}.about-install-btn,.about-retry-btn{margin-top:var(--space-2)}.provider-option-icon{vertical-align:middle;margin-right:var(--space-2)}.input-field:invalid:not(:placeholder-shown):not(:focus){border-color:var(--error)}.input-group .input-error{font-size:var(--text-xs);color:var(--error);margin-top:var(--space-1);display:flex;align-items:center;gap:var(--space-1)}.input-field.input-field--error{border-color:var(--error);box-shadow:0 0 0 3px var(--error-bg)}.input-hint{font-size:var(--text-xs);color:var(--text-tertiary);margin-top:2px}[data-theme=light] .settings-modal{background:var(--surface-primary);border-color:#00000014}[data-theme=light] .settings-header{background:var(--bg-secondary);border-bottom-color:#0000000f}[data-theme=light] .settings-sidebar{background:var(--bg-tertiary);border-right-color:#0000000f}[data-theme=light] .settings-tab:hover{background:#0000000a}[data-theme=light] .settings-tab.active{background:#0000000f}.about-modal{background:var(--bg-secondary);border:1px solid var(--surface-border);border-radius:var(--radius-lg);width:400px;max-width:90vw;padding:var(--space-6);position:relative;box-shadow:var(--shadow-xl)}.about-header{display:flex;flex-direction:column;align-items:center;gap:var(--space-3);margin-bottom:var(--space-6);text-align:center}.about-header h2{margin:0;font-size:var(--text-2xl);color:var(--text-primary)}.about-version{font-size:var(--text-sm);color:var(--text-tertiary);font-family:var(--font-mono);background:var(--bg-tertiary);padding:2px var(--space-2);border-radius:var(--radius-2xl)}.about-content{color:var(--text-secondary);font-size:var(--text-base);line-height:1.5;text-align:center}.about-updater{margin-top:var(--space-6);padding-top:var(--space-6);border-top:1px solid var(--surface-border);min-height:60px;display:flex;align-items:center;justify-content:center}.updater-status{display:flex;align-items:center;gap:var(--space-2);font-size:var(--text-base)}.updater-success{color:var(--success)}.updater-alert{color:var(--accent-primary);font-weight:500}.updater-error{color:var(--error);flex-direction:column}.updater-progress-container{width:100%;display:flex;flex-direction:column;align-items:center;gap:var(--space-2);font-size:var(--text-sm);color:var(--text-secondary)}.updater-progress-bar{width:100%;height:6px;background:var(--bg-tertiary);border-radius:var(--radius-sm);overflow:hidden}.updater-progress-fill{height:100%;background:var(--accent-primary);transition:width var(--transition-normal)}.about-footer{margin-top:var(--space-6);text-align:center;font-size:var(--text-xs);color:var(--text-tertiary)}[data-theme=light] .about-overlay .about-content{background:#fff;border-color:#00000014;box-shadow:0 16px 48px #0000001f}.subscription-modal{width:700px;max-width:90vw;background:var(--bg-secondary);border:1px solid var(--surface-border)}.subscription-modal .btn-close{display:flex;align-items:center;justify-content:center;width:var(--input-height-sm);height:var(--input-height-sm);border-radius:var(--radius-full);color:var(--text-tertiary);transition:all var(--transition-normal);flex-shrink:0;padding:0;border:none;background:none;cursor:pointer}.subscription-modal .btn-close:hover{color:var(--text-primary);background:var(--bg-hover)}.sub-description{text-align:center;color:var(--text-secondary);margin-bottom:var(--space-8);font-size:var(--text-md)}.sub-description strong{color:var(--text-primary);background:var(--info-bg);padding:var(--space-1) var(--space-2);border-radius:var(--radius-md);border:1px solid var(--accent-primary)}.plans-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-6)}.plan-card{position:relative;background:var(--bg-primary);border:1px solid var(--surface-border);border-radius:var(--radius-2xl);padding:var(--space-6);display:flex;flex-direction:column;transition:transform var(--transition-normal),box-shadow var(--transition-normal),border-color var(--transition-normal)}.plan-card:hover{transform:translateY(-3px);box-shadow:var(--shadow-lg);border-color:var(--surface-border-hover)}.plan-card.popular{border-color:var(--accent-primary);background:linear-gradient(180deg,var(--accent-primary-transparent) 0%,var(--bg-primary) 100%);box-shadow:0 0 0 1px var(--accent-primary),0 4px 20px var(--accent-primary-glow)}.plan-card.popular:hover{box-shadow:0 0 0 1px var(--accent-primary),0 8px 32px var(--accent-primary-glow);transform:translateY(-4px)}.plan-card.active-plan{border-color:var(--success);box-shadow:0 0 0 1px var(--success),0 4px 16px var(--success-bg)}.popular-badge{position:absolute;top:-12px;left:50%;transform:translate(-50%);background:var(--accent-primary);color:var(--text-inverse);font-size:var(--text-xs);font-weight:600;padding:var(--space-1) var(--space-3);border-radius:var(--radius-2xl);text-transform:uppercase;letter-spacing:.5px;white-space:nowrap;box-shadow:0 2px 8px var(--accent-primary-glow)}.plan-card h3{font-size:var(--text-lg);margin:0 0 var(--space-2) 0;color:var(--text-primary)}.plan-desc{color:var(--text-secondary);font-size:var(--text-sm);line-height:1.4;margin:0 0 var(--space-6) 0;flex-grow:1}.plan-price{font-size:var(--text-3xl);font-weight:600;color:var(--text-primary);margin-bottom:var(--space-6)}.plan-price span{font-size:var(--text-base);color:var(--text-secondary);font-weight:500}.plan-features{list-style:none;padding:0;margin:0 0 var(--space-6) 0;display:flex;flex-direction:column;gap:var(--space-3)}.plan-features li{font-size:var(--text-sm);color:var(--text-secondary);display:flex;align-items:center;gap:var(--space-2)}.plan-feature-icon{vertical-align:middle;margin-right:var(--space-1);flex-shrink:0}.sub-header-row{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-5)}.sub-active-badge{padding:var(--space-2) var(--space-3);border-radius:var(--radius-2xl);font-size:var(--text-sm);font-weight:600}.sub-active-badge--active{background:var(--success-bg);color:var(--success);border:1px solid var(--success)}.sub-active-badge--cancelling{background:var(--bg-tertiary);color:var(--text-secondary);border:1px solid var(--surface-border)}.sub-current-badge{background:var(--success)}.sub-trial-notice{color:var(--success);font-size:var(--text-sm);margin-bottom:10px}.sub-plan-btn{width:100%;margin-top:auto;height:var(--input-height);font-weight:600;border-radius:var(--radius-md);transition:all var(--transition-normal)}.plan-card.popular .sub-plan-btn.btn-primary{box-shadow:0 4px 12px var(--accent-primary-glow)}.sub-plan-btn--disabled{opacity:.7}.sub-plan-btn--cancel{background:var(--error-bg);color:var(--error);border:1px solid currentColor}.sub-promo-row{display:flex;gap:var(--space-2);margin-top:var(--space-4);align-items:center}.sub-promo-input{flex:1;padding:0 var(--space-3);height:var(--input-height);border:1px solid var(--surface-border);border-radius:var(--radius-md);background:var(--bg-secondary);color:var(--text-primary);font-size:var(--text-sm);transition:all var(--transition-normal)}.sub-promo-input:focus{border-color:var(--accent-primary);background:var(--bg-primary);outline:none}.sub-promo-input::placeholder{color:var(--text-tertiary)}.sub-promo-apply{font-size:var(--text-sm);height:var(--input-height)}.sub-promo-result{margin-top:6px;font-size:var(--text-xs)}.sub-promo-result--valid{color:var(--success)}.sub-promo-result--invalid{color:var(--error)}.sub-spinner{margin:2rem auto}[data-theme=light] .subscription-modal{background:#fff;border-color:#00000014;box-shadow:0 16px 48px #0000001f}[data-theme=light] .subscription-plan{background:#f8f8fa;border-color:#0000000f}[data-theme=light] .subscription-plan:hover{border-color:var(--accent-primary)}.file-preview{display:flex;flex-direction:column;border:1px solid var(--surface-border);border-radius:var(--radius-md);overflow:hidden;background:var(--bg-secondary);transition:border-color var(--transition-fast),opacity var(--transition-fast);animation:fadeInUp .3s ease forwards}.file-preview:hover{border-color:var(--surface-border-hover)}.file-preview-done{transition:opacity var(--transition-fast);opacity:.7}.file-preview-done:hover{opacity:1}.file-preview-create{border-left:3px solid var(--success)}.file-preview-edit{border-left:3px solid var(--warning)}.file-preview-delete{border-left:3px solid var(--error)}.file-preview-header{display:flex;align-items:center;justify-content:space-between;padding:var(--space-2) var(--space-3);cursor:pointer;transition:background var(--transition-fast)}.file-preview-header:hover{background:var(--surface-glass-hover)}.file-preview-info{display:flex;align-items:center;gap:var(--space-2);min-width:0;flex:1}.file-preview-checkbox{width:14px;height:14px;accent-color:var(--accent-primary);cursor:pointer;flex-shrink:0}.file-preview-op{font-size:var(--text-xs);font-weight:700;padding:2px 8px;border:1px solid;border-radius:var(--radius-full);flex-shrink:0;font-family:var(--font-mono)}.file-preview-op--create{color:var(--success);border-color:var(--success)}.file-preview-op--edit{color:var(--warning);border-color:var(--warning)}.file-preview-op--delete{color:var(--error);border-color:var(--error)}.file-preview-path-group{display:flex;align-items:baseline;gap:var(--space-2);min-width:0;overflow:hidden}.file-preview-filename{font-size:var(--text-sm);font-family:var(--font-mono);font-weight:600;color:var(--text-primary);white-space:nowrap}.file-preview-dir{font-size:var(--text-xs);font-family:var(--font-mono);color:var(--text-tertiary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.file-preview-path{font-size:var(--text-sm);font-family:var(--font-mono);color:var(--text-secondary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.file-preview-diff-stats{display:flex;gap:var(--space-1);font-size:var(--text-xs);font-weight:700;font-family:var(--font-mono);flex-shrink:0;margin-left:var(--space-1)}.file-preview-stats-right{display:flex;gap:6px;font-size:var(--text-xs);font-weight:700;font-family:var(--font-mono);flex-shrink:0;margin-left:auto}.file-preview-actions{display:flex;align-items:center;gap:var(--space-2);flex-shrink:0}@keyframes applyPulse{0%,to{box-shadow:0 0 #58a6ff66}50%{box-shadow:0 0 0 4px #58a6ff00}}.file-preview-actions .btn-primary,.file-preview-actions .btn-sm.btn-primary{animation:applyPulse 2s ease-in-out 3}.file-preview-applied{display:flex;align-items:center;gap:var(--space-1);font-size:var(--text-xs);font-weight:500;color:var(--success)}.file-preview-chevron{transition:transform var(--transition-fast);opacity:.4}.file-preview-chevron.expanded{transform:rotate(90deg)}.file-preview-error{padding:var(--space-2) var(--space-3);font-size:var(--text-xs);color:var(--error);background:var(--error-bg);border-top:1px solid var(--error-bg)}.file-preview-content{border-top:1px solid var(--surface-border);overflow:auto;flex:1;min-height:0}.file-preview-content pre{padding:var(--space-3);margin:0}.file-preview-content code{font-family:var(--font-mono);font-size:var(--text-sm);line-height:1.6;color:var(--text-secondary);background:none;padding:0}.diff-view-numbered{overflow-x:auto}.diff-table{width:100%;border-collapse:collapse;font-family:var(--font-mono);font-size:var(--text-xs);line-height:1.5}.diff-nav{display:flex;align-items:center;gap:var(--space-2);padding:4px 8px;background:var(--bg-tertiary);border-bottom:1px solid var(--surface-border);position:sticky;top:0;z-index:2}.diff-nav-label{font-size:11px;color:var(--text-tertiary);font-family:var(--font-mono);display:flex;align-items:center;gap:6px;flex:1}.diff-nav-btn{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;border:1px solid var(--surface-border);border-radius:var(--radius-sm);background:var(--surface-glass);color:var(--text-secondary);cursor:pointer;transition:all var(--transition-fast)}.diff-nav-btn:hover{background:var(--surface-glass-hover);color:var(--text-primary);border-color:var(--accent-primary)}.diff-stat-add{color:var(--success);font-weight:600}.diff-stat-remove{color:var(--error);font-weight:600}.diff-table td{padding:0;vertical-align:top;border:none}.diff-line{transition:background var(--transition-fast)}.diff-line:hover{filter:brightness(1.1)}.diff-line-num{width:40px;min-width:40px;padding:0 8px;text-align:right;color:var(--text-tertiary);opacity:.5;font-size:var(--text-xs);-webkit-user-select:none;user-select:none;border-right:1px solid var(--surface-border)}.diff-line-prefix{width:16px;min-width:16px;text-align:center;font-weight:700;-webkit-user-select:none;user-select:none;padding:0 2px}.diff-line-content{padding:0 8px;white-space:pre;word-break:normal}.diff-line-content code{font-family:var(--font-mono);font-size:var(--text-xs);background:none;padding:0}.diff-line-added{background-color:var(--success-bg)}.diff-line-added .diff-line-num{background-color:#3fb95026;color:var(--success)}.diff-line-added .diff-line-prefix{color:var(--success)}.diff-line-added .diff-line-content code{color:var(--text-primary)}.diff-line-removed{background-color:var(--error-bg)}.diff-line-removed .diff-line-num{background-color:#f8514926;color:var(--error)}.diff-line-removed .diff-line-prefix{color:var(--error)}.diff-line-removed .diff-line-content code{color:var(--text-primary)}.diff-line-context{background:transparent}.diff-line-context .diff-line-content code{color:var(--text-secondary)}.diff-view{font-family:var(--font-mono);font-size:var(--text-sm);line-height:1.5;white-space:pre-wrap;word-break:break-all}.diff-added{background-color:var(--success-bg);color:var(--text-primary);display:inline-block;width:100%;padding-left:2px;border-left:2px solid var(--success)}.diff-removed{background-color:var(--error-bg);color:var(--text-primary);display:inline-block;width:100%;padding-left:2px;border-left:2px solid var(--error)}.file-preview-undo-btn{font-size:var(--text-xs);padding:2px 6px;opacity:.6;transition:opacity var(--transition-fast)}.file-preview-undo-btn:hover{opacity:1}.file-preview-rolled-back{color:var(--warning)}.file-preview-content--relative{position:relative}.file-preview-content::-webkit-scrollbar{width:6px;height:6px}.file-preview-content::-webkit-scrollbar-track{background:transparent}.file-preview-content::-webkit-scrollbar-thumb{background:var(--surface-border);border-radius:var(--radius-full)}.file-preview-content::-webkit-scrollbar-thumb:hover{background:var(--text-tertiary)}.diff-line-num{border-right:1px solid var(--surface-border)}[data-theme=light] .file-preview{background:var(--surface-primary);border-color:#00000014}[data-theme=light] .file-preview-header{background:var(--bg-secondary);border-bottom-color:#0000000f}[data-theme=light] .diff-line-added{background:#2ea0431a}[data-theme=light] .diff-line-removed{background:#f851491a}.file-preview-standalone{border:none;border-radius:0;margin:0;height:100%;display:flex;flex-direction:column}.file-preview-standalone .file-preview-content{flex:1;max-height:none;border-radius:0}.file-preview-tab-actions{display:flex;align-items:center;gap:8px;padding:6px 12px;border-bottom:1px solid var(--surface-border);background:var(--bg-secondary);font-size:var(--text-xs)}.file-preview-tab-icon{font-weight:700;width:18px;height:18px;display:flex;align-items:center;justify-content:center;border-radius:3px;font-size:11px}.file-preview-tab-icon--create{color:var(--success)}.file-preview-tab-icon--edit{color:var(--warning)}.file-preview-tab-icon--delete{color:var(--error)}.file-preview-tab-filename{font-weight:600;color:var(--text-primary)}.file-preview-tab-dirpath{color:var(--text-tertiary);margin-left:2px}.impl-plan{display:flex;flex-direction:column;height:100%;background:var(--bg-primary);overflow:hidden}.impl-plan-header{display:flex;align-items:center;justify-content:space-between;padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--surface-border);flex-shrink:0}.impl-plan-header-left{display:flex;align-items:center;gap:var(--space-2)}.impl-plan-header-icon{font-size:var(--text-base);line-height:1}.impl-plan-header h3{font-size:var(--text-sm);font-weight:600;color:var(--text-primary);margin:0}.impl-plan-scope{display:inline-flex;align-items:center;padding:2px 8px;font-size:var(--text-xs);font-weight:600;border-radius:var(--radius-full);background:var(--accent-primary-transparent);color:var(--accent-primary);border:1px solid rgba(88,166,255,.2);white-space:nowrap;flex-shrink:0}.impl-plan-status{display:inline-flex;align-items:center;padding:2px 8px;font-size:var(--text-xs);font-weight:600;border-radius:var(--radius-full);white-space:nowrap;flex-shrink:0;margin-left:auto}.impl-plan-status--approved{background:#2ea04326;color:#3fb950;border:1px solid rgba(46,160,67,.3)}.impl-plan-status--rejected{background:#f8514926;color:#f85149;border:1px solid rgba(248,81,73,.3)}.impl-plan-body{flex:1;overflow-y:auto;padding:var(--space-4);display:flex;flex-direction:column;gap:var(--space-4)}.impl-plan-body::-webkit-scrollbar{width:6px}.impl-plan-body::-webkit-scrollbar-track{background:transparent}.impl-plan-body::-webkit-scrollbar-thumb{background:var(--surface-border);border-radius:var(--radius-full)}.impl-plan-body::-webkit-scrollbar-thumb:hover{background:var(--text-tertiary)}.impl-plan-progress{flex-shrink:0}.impl-plan-progress-bar{height:3px;background:var(--bg-tertiary);border-radius:var(--radius-full);overflow:hidden}.impl-plan-progress-fill{height:100%;background:var(--success);border-radius:var(--radius-full);transition:width var(--transition-slow)}.impl-plan-progress-label{font-size:var(--text-2xs);color:var(--text-tertiary);text-align:right;margin-top:var(--space-1);font-weight:600;letter-spacing:.02em}.impl-plan-goal{padding:var(--space-3);background:var(--surface-glass);border:1px solid var(--surface-border);border-radius:var(--radius-md)}.impl-plan-goal-label{font-size:var(--text-2xs);font-weight:700;color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.05em;margin-bottom:var(--space-1)}.impl-plan-goal-text{font-size:var(--text-sm);color:var(--text-primary);line-height:1.5;font-weight:500}.impl-plan-steps{display:flex;flex-direction:column;gap:var(--space-2)}.impl-plan-step{display:flex;gap:var(--space-3);padding:var(--space-3);background:var(--surface-glass);border:1px solid var(--surface-border);border-radius:var(--radius-md);transition:border-color var(--transition-fast),background var(--transition-fast)}.impl-plan-step:hover{border-color:var(--surface-border-hover)}.impl-plan-step--in_progress{border-color:var(--accent-primary);background:var(--accent-primary-transparent)}.impl-plan-step--done{opacity:.75}.impl-plan-step--skipped{opacity:.45}.impl-plan-step-indicator{display:flex;flex-direction:column;align-items:center;gap:var(--space-1);flex-shrink:0;padding-top:1px}.impl-plan-step-icon{font-size:var(--text-sm);line-height:1}.impl-plan-step-icon--pending{color:var(--text-quaternary)}.impl-plan-step-icon--in_progress{color:var(--accent-primary);animation:spin 1.2s linear infinite}.impl-plan-step-icon--done{color:var(--success)}.impl-plan-step-icon--skipped{color:var(--text-quaternary)}.impl-plan-step-num{font-size:var(--text-2xs);font-weight:700;color:var(--text-quaternary);font-family:var(--font-mono)}.impl-plan-step-content{flex:1;min-width:0}.impl-plan-step-title{font-size:var(--text-sm);font-weight:600;color:var(--text-primary);margin-bottom:2px}.impl-plan-step-desc{font-size:var(--text-xs);color:var(--text-secondary);line-height:1.45;margin-bottom:var(--space-2)}.impl-plan-step-files{display:flex;flex-wrap:wrap;gap:4px}.impl-plan-file-tag{display:inline-flex;align-items:center;padding:1px 6px;font-size:var(--text-2xs);font-family:var(--font-mono);font-weight:500;color:var(--text-secondary);background:var(--bg-tertiary);border-radius:var(--radius-sm);border:1px solid var(--surface-border);max-width:180px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.impl-plan-risks{border:1px solid var(--surface-border);border-radius:var(--radius-md);overflow:hidden}.impl-plan-risks-toggle{display:flex;align-items:center;gap:var(--space-2);width:100%;padding:var(--space-2) var(--space-3);background:var(--warning-bg);border:none;cursor:pointer;font-size:var(--text-xs);font-weight:600;color:var(--warning);transition:background var(--transition-fast)}.impl-plan-risks-toggle:hover{background:#d2992226}.impl-plan-risks-chevron{font-size:10px;transition:transform var(--transition-normal);line-height:1}.impl-plan-risks-chevron--open{transform:rotate(90deg)}.impl-plan-risks-list{padding:var(--space-2) var(--space-3);display:flex;flex-direction:column;gap:var(--space-1);background:var(--surface-glass)}.impl-plan-risk-item{font-size:var(--text-xs);color:var(--text-secondary);line-height:1.45;padding-left:var(--space-3);position:relative}.impl-plan-risk-item:before{content:"⚠";position:absolute;left:0;font-size:9px;top:1px}.impl-plan-actions{display:flex;gap:var(--space-2);padding:var(--space-3) var(--space-4);border-top:1px solid var(--surface-border);flex-shrink:0}.impl-plan-btn{flex:1;display:flex;align-items:center;justify-content:center;gap:var(--space-2);height:var(--input-height-sm);padding:0 var(--space-3);font-size:var(--text-sm);font-weight:600;border:none;border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-normal);-webkit-user-select:none;user-select:none}.impl-plan-btn:active:not(:disabled){transform:scale(.97)}.impl-plan-btn:disabled{opacity:.5;cursor:not-allowed}.impl-plan-btn--approve{background:var(--success);color:#fff}.impl-plan-btn--approve:hover:not(:disabled){background:color-mix(in srgb,var(--success) 85%,black)}.impl-plan-btn--reject{background:var(--error-bg);color:var(--error);border:1px solid var(--error)}.impl-plan-btn--reject:hover:not(:disabled){background:var(--error);color:#fff}[data-theme=light] .impl-plan{background:var(--bg-secondary)}[data-theme=light] .impl-plan-scope{border-color:#1e40af33}[data-theme=light] .impl-plan-file-tag{background:#0000000a}.ask-question-card{background:var(--surface-glass);border:1px solid var(--surface-border);border-radius:var(--radius-lg);padding:var(--space-4);margin:var(--space-3) 0;animation:messageSlideIn .3s ease forwards}.ask-question-header{display:flex;align-items:center;gap:var(--space-2);margin-bottom:var(--space-3);color:var(--text-secondary);font-size:var(--text-xs);font-weight:500;text-transform:uppercase;letter-spacing:.05em}.ask-question-header svg{flex-shrink:0;color:var(--accent-primary)}.ask-question-text{font-size:var(--text-base);color:var(--text-primary);line-height:1.5;margin-bottom:var(--space-3)}.ask-question-options{display:flex;flex-direction:column;gap:var(--space-2)}.ask-question-option{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-2) var(--space-3);border:1px solid var(--surface-border);border-radius:var(--radius-md);background:transparent;color:var(--text-primary);font-size:var(--text-sm);cursor:pointer;transition:all .15s ease;text-align:left;font-family:var(--font-sans);line-height:1.4}.ask-question-option:hover:not(:disabled){background:var(--surface-glass-hover);border-color:var(--accent-primary)}.ask-question-option:active:not(:disabled){background:var(--surface-glass-active)}.ask-question-checkbox{width:16px;height:16px;border-radius:var(--radius-sm);border:1.5px solid var(--text-tertiary);flex-shrink:0;display:flex;align-items:center;justify-content:center;transition:all .15s ease}.ask-question-checkbox.checked{background:var(--accent-primary);border-color:var(--accent-primary)}.ask-question-checkbox.checked svg{color:var(--text-inverse)}.ask-question-radio{width:16px;height:16px;border-radius:50%;border:1.5px solid var(--text-tertiary);flex-shrink:0;display:flex;align-items:center;justify-content:center;transition:all .15s ease}.ask-question-radio.checked{border-color:var(--accent-primary)}.ask-question-radio.checked:after{content:"";width:8px;height:8px;border-radius:50%;background:var(--accent-primary)}.ask-question-option.selected{background:var(--accent-primary-transparent);border-color:var(--accent-primary)}.ask-question-option:disabled{cursor:default;opacity:.6}.ask-question-option.selected:disabled{opacity:1}.ask-question-submit{margin-top:var(--space-3);padding:var(--space-2) var(--space-4);background:var(--accent-primary);color:var(--text-inverse);border:none;border-radius:var(--radius-md);font-size:var(--text-sm);font-weight:500;cursor:pointer;font-family:var(--font-sans);transition:all .15s ease}.ask-question-submit:hover:not(:disabled){background:var(--accent-primary-hover)}.ask-question-submit:disabled{opacity:.5;cursor:not-allowed}.ask-question-answered{display:flex;align-items:center;gap:var(--space-1);margin-top:var(--space-2);font-size:var(--text-xs);color:var(--success)}.code-inspector-panel{display:flex;flex-direction:column;height:100%;background:var(--bg-primary)}.ci-header{padding:0;border-bottom:none;background:transparent}.ci-header-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-3);padding:0 12px}.ci-header h3{font-size:var(--text-sm);font-weight:600;color:var(--text-primary);margin:0}.ci-header-diff{display:flex;gap:var(--space-2);font-size:var(--text-xs);font-family:var(--font-mono);font-weight:700}.diff-add{color:var(--success)}.diff-remove{color:var(--error)}.ci-controls{display:flex;justify-content:space-between;align-items:center;padding:0 12px}.ci-filters{display:flex;gap:var(--space-1);background:transparent;padding:0;border-radius:0;border:none}.ci-header-tabs .ci-filter-btn{background:transparent;border:none;border-bottom:2px solid transparent;border-radius:0;padding:var(--space-2) var(--space-4);font-size:var(--text-sm);color:var(--text-tertiary);font-weight:400;cursor:pointer;transition:color var(--transition-normal),border-color var(--transition-normal),font-weight var(--transition-fast);display:inline-flex;align-items:center;gap:6px;white-space:nowrap;flex-shrink:0}.ci-header-tabs .ci-filter-btn:hover{color:var(--text-secondary);background:transparent}.ci-header-tabs .ci-filter-btn.active{color:var(--text-primary);font-weight:600;border-bottom:2px solid var(--accent-primary);background:transparent;box-shadow:none}.ci-filters .ci-filter-btn{background:var(--surface-glass);border:none;border-radius:var(--radius-full);padding:2px 10px;font-size:var(--text-xs);color:var(--text-tertiary);font-weight:400;cursor:pointer;transition:all var(--transition-fast)}.ci-filters .ci-filter-btn:hover{color:var(--text-secondary);background:var(--surface-glass)}.ci-filters .ci-filter-btn.active{background:var(--accent-primary-transparent);color:var(--accent-primary);font-weight:500;box-shadow:none}.ci-apply-all{padding:var(--space-1) var(--space-3);font-size:var(--text-xs)}.ci-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;flex:1;color:var(--text-tertiary);text-align:center;padding:var(--space-6);gap:var(--space-4)}.ci-empty p{font-size:var(--text-sm);margin:0;line-height:1.5}.ci-file-list{flex:1;overflow-y:auto;padding:var(--space-4);display:flex;flex-direction:column;gap:var(--space-4)}.ci-file-list .file-preview{margin:0;border-radius:var(--radius-md);box-shadow:var(--shadow-sm);border-color:var(--surface-border)}.ci-file-list .file-preview-content{flex:1;min-height:0}.ci-header-tabs{display:flex;gap:0;margin-bottom:0;border-bottom:1px solid var(--surface-border);overflow-x:auto;scrollbar-width:none;-ms-overflow-style:none}.ci-header-tabs::-webkit-scrollbar{display:none}.ci-tab-spacer{flex:1}.ci-tab-icon-wrap{position:relative;display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;flex-shrink:0}.ci-tab-icon-wrap .ci-tab-icon{transition:opacity var(--transition-fast)}.ci-tab-icon-wrap .ci-tab-close-icon{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;font-size:14px;font-weight:600;color:var(--text-tertiary);border-radius:var(--radius-sm);opacity:0;transition:opacity var(--transition-fast),color var(--transition-fast),background var(--transition-fast)}.ci-file-tab:hover .ci-tab-icon-wrap .ci-tab-icon{opacity:0}.ci-file-tab:hover .ci-tab-icon-wrap .ci-tab-close-icon{opacity:1}.ci-tab-close-icon:hover{color:var(--text-primary);background:var(--bg-hover)}.ci-breadcrumb-bar{display:flex;align-items:center;justify-content:space-between;padding:4px 12px;border-bottom:1px solid var(--surface-border);background:var(--bg-secondary);min-height:28px}.ci-breadcrumb-path{display:flex;align-items:center;gap:0;font-size:var(--text-xs);color:var(--text-secondary);overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.ci-breadcrumb-sep{margin:0 4px;color:var(--text-tertiary)}.ci-breadcrumb-active{color:var(--text-primary);font-weight:500;font-size:var(--text-xs)}.ci-breadcrumb-dir{color:var(--text-tertiary);font-size:var(--text-xs);margin-left:6px;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.ci-breadcrumb-actions{display:flex;align-items:center;gap:4px;flex-shrink:0}.ci-breadcrumb-btn{display:flex;align-items:center;justify-content:center;width:24px;height:24px;border:none;border-radius:var(--radius-sm);background:none;color:var(--text-tertiary);cursor:pointer;transition:color var(--transition-fast),background var(--transition-fast)}.ci-breadcrumb-btn:hover{color:var(--text-primary);background:var(--bg-hover)}.ci-breadcrumb-btn.active{color:var(--accent-primary);background:var(--accent-primary-transparent)}.ci-overview-actions{padding:8px 12px;display:flex;justify-content:flex-end}.ci-tab-icon{font-size:var(--text-2xs);font-weight:700;line-height:1;flex-shrink:0;opacity:.7;display:inline-flex;align-items:center;color:var(--accent-primary);letter-spacing:-.5px}.ci-tab-icon--file{font-size:var(--text-xs);margin-right:2px}.ci-actions{display:flex;gap:var(--space-2);align-items:center}.ci-toggle-btn{font-size:var(--text-xs);padding:2px 8px}.ci-apply-selected-btn{font-size:var(--text-xs);padding:2px 10px;background:var(--accent-primary-transparent);color:var(--accent-primary);border:1px solid var(--accent-primary);transition:background var(--transition-fast),color var(--transition-fast)}.ci-apply-selected-btn:hover{background:var(--accent-primary);color:var(--text-inverse)}.ci-header-tabs--empty{gap:var(--space-2);margin-bottom:var(--space-2)}.ci-file-list::-webkit-scrollbar{width:6px}.ci-file-list::-webkit-scrollbar-track{background:transparent}.ci-file-list::-webkit-scrollbar-thumb{background:var(--surface-border);border-radius:var(--radius-full)}.ci-file-list::-webkit-scrollbar-thumb:hover{background:var(--text-tertiary)}.ci-file-list .file-preview:hover{border-color:var(--surface-border-hover);box-shadow:var(--shadow-md)}.ci-empty svg{opacity:.3;animation:ciEmptyFloat 3s ease-in-out infinite}@keyframes ciEmptyFloat{0%,to{transform:translateY(0)}50%{transform:translateY(-4px)}}.ci-empty p:first-of-type{font-weight:500;color:var(--text-secondary)}[data-theme=light] .code-inspector-panel{background:var(--bg-secondary)}[data-theme=light] .ci-file-list .file-preview{background:var(--surface-primary);box-shadow:var(--shadow-sm)}[data-theme=light] .ci-file-list .file-preview:hover{box-shadow:var(--shadow-md)}.ci-overview{padding:var(--space-3)}.ci-overview-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--space-2);margin-bottom:var(--space-4)}.ci-overview-stat{display:flex;flex-direction:column;align-items:center;padding:var(--space-2);background:var(--surface-glass);border-radius:var(--radius-md);border:1px solid var(--surface-border)}.ci-overview-stat-value{font-size:var(--text-lg);font-weight:700;color:var(--text-primary);line-height:1.2}.ci-stat-added{color:var(--success)}.ci-stat-removed{color:var(--error)}.ci-overview-stat-label{font-size:var(--text-2xs);color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.04em;font-weight:600}.ci-overview-section{margin-bottom:var(--space-3)}.ci-overview-section-title{font-size:var(--text-2xs);font-weight:700;color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.05em;padding:var(--space-1) 0;margin-bottom:var(--space-1);border-bottom:1px solid var(--surface-border)}.ci-overview-file{display:flex;align-items:center;gap:var(--space-2);width:100%;padding:5px var(--space-2);background:none;border:none;border-radius:var(--radius-sm);cursor:pointer;text-align:left;transition:background var(--transition-fast);font-family:var(--font-mono);font-size:var(--text-xs);color:var(--text-primary);position:relative}.ci-overview-file:hover{background:var(--bg-hover)}.ci-overview-file.applied{opacity:.6}.ci-overview-op-badge{width:16px;height:16px;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-xs);font-size:var(--text-xs);font-weight:700;flex-shrink:0}.ci-op-create{background:var(--success-bg);color:var(--success)}.ci-op-edit{background:var(--warning-bg);color:var(--warning)}.ci-op-delete{background:var(--error-bg);color:var(--error)}.ci-op-cmd{background:var(--accent-primary-transparent);color:var(--accent-primary)}.ci-overview-filename{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:500}.ci-overview-dir{font-size:var(--text-2xs);color:var(--text-tertiary);max-width:120px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ci-overview-check{color:var(--success);font-weight:700;font-size:var(--text-xs)}.ci-overview-cmd .ci-overview-filename{font-size:var(--text-xs)}[data-theme=light] .ci-overview-stat{background:#00000008}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0006;z-index:var(--z-modal);display:flex;align-items:center;justify-content:center;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);animation:fadeIn .2s ease forwards}.modal-content{background:var(--bg-secondary);border:1px solid var(--surface-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-xl);display:flex;flex-direction:column;max-height:85vh;overflow:hidden;animation:scaleIn .25s cubic-bezier(.34,1.56,.64,1) forwards}.modal-header{display:flex;align-items:center;justify-content:space-between;padding:var(--space-4) var(--space-5);border-bottom:1px solid var(--surface-border);flex-shrink:0}.modal-header h2{font-size:var(--text-lg);font-weight:600;margin:0}.modal-header .btn-icon,.modal-header .btn-close{display:flex;align-items:center;justify-content:center;width:var(--input-height-sm);height:var(--input-height-sm);border-radius:var(--radius-full);color:var(--text-tertiary);transition:all var(--transition-normal);flex-shrink:0;padding:0}.modal-header .btn-icon:hover,.modal-header .btn-close:hover{color:var(--text-primary);background:var(--bg-hover)}.modal-body{padding:var(--space-5);overflow-y:auto;flex:1;scrollbar-width:thin;scrollbar-color:var(--surface-border) transparent}.modal-body::-webkit-scrollbar{width:6px}.modal-body::-webkit-scrollbar-track{background:transparent}.modal-body::-webkit-scrollbar-thumb{background:var(--surface-border);border-radius:var(--radius-full)}.modal-body::-webkit-scrollbar-thumb:hover{background:var(--surface-border-hover)}.modal-subtitle{color:var(--text-secondary);font-size:var(--text-sm);line-height:1.5;margin:0 0 var(--space-2) 0}.mcp-modal-content{width:500px}.mcp-empty-state{text-align:center;padding:2rem 1rem;color:var(--text-tertiary)}.mcp-empty-icon{font-size:2.5rem;margin-bottom:1rem}.mcp-empty-text{font-size:var(--text-base);line-height:1.6}.mcp-add-form{display:flex;flex-direction:column;gap:var(--space-3);margin-top:var(--space-5);padding:var(--space-4);background:var(--surface-secondary);border:1px solid var(--surface-border);border-radius:var(--radius-lg)}.mcp-add-form h4{margin:0 0 var(--space-1) 0;font-size:var(--text-base);font-weight:600;color:var(--text-primary)}.mcp-add-form .input-field{height:var(--input-height)}.mcp-form-row{display:flex;gap:var(--space-2)}.mcp-input-name{flex:1}.mcp-input-cmd{flex:2}.mcp-popular-list{margin-top:var(--space-5)}.mcp-popular-list h4{margin:0 0 var(--space-3) 0;font-size:var(--text-base);font-weight:600;color:var(--text-primary)}.mcp-popular-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-2)}.mcp-popular-btn{text-align:left;display:flex;flex-direction:column;gap:var(--space-1);padding:var(--space-3) var(--space-4);border-radius:var(--radius-md)}.mcp-popular-detail{font-size:var(--text-xs);opacity:.7}.mcp-list{margin-top:var(--space-6)}.mcp-list h4{margin:0 0 var(--space-3) 0;font-size:var(--text-base);font-weight:600;color:var(--text-primary)}.mcp-list-empty{color:var(--text-tertiary);font-size:var(--text-sm);padding:var(--space-4);text-align:center;background:var(--bg-tertiary);border-radius:var(--radius-md);border:1px dashed var(--surface-border)}.mcp-server-items{display:flex;flex-direction:column;gap:var(--space-2)}.mcp-server-row{display:flex;justify-content:space-between;align-items:center;padding:var(--space-3) var(--space-4);background:var(--bg-tertiary);border:1px solid var(--surface-border);border-radius:var(--radius-md);transition:all var(--transition-normal)}.mcp-server-row:hover{border-color:var(--surface-border-hover);background:var(--bg-hover)}.mcp-server-info{display:flex;align-items:center;gap:var(--space-3)}.mcp-server-dot{display:inline-block;width:8px;height:8px;border-radius:50%;background:var(--success);box-shadow:0 0 6px var(--success-bg),0 0 2px var(--success);flex-shrink:0}.mcp-server-dot--error{background:var(--error);box-shadow:0 0 6px var(--error-bg),0 0 2px var(--error)}.mcp-server-name{margin:0;color:var(--text-primary);font-size:var(--text-sm)}.mcp-disconnect-btn{color:var(--error);transition:all var(--transition-normal);border-radius:var(--radius-md)}.mcp-disconnect-btn:hover{background:var(--error-bg)}[data-theme=light] .mcp-modal{background:#fff;border-color:#00000014;box-shadow:0 16px 48px #0000001f}[data-theme=light] .mcp-server-card{background:#f8f8fa;border-color:#0000000f}[data-theme=light] .mcp-server-card:hover{box-shadow:0 2px 8px #00000014}.titlebar{display:flex;align-items:center;height:36px;background:var(--bg-primary);border-bottom:1px solid var(--surface-border);-webkit-user-select:none;user-select:none;-webkit-app-region:no-drag;font-family:var(--font-sans);flex-shrink:0;z-index:var(--z-header)}.titlebar-menu-brand{gap:var(--space-2);font-weight:600;color:var(--text-primary)}.titlebar-icon{font-size:var(--text-sm);color:var(--accent-primary);font-weight:700;line-height:1}.titlebar-menus{display:flex;align-items:center;height:100%;-webkit-app-region:no-drag}.titlebar-menu-wrapper{position:relative;height:100%;display:flex;align-items:center}.titlebar-menu-btn{display:flex;align-items:center;height:100%;padding:0 10px;border:none;background:transparent;color:var(--text-secondary);font-size:var(--text-sm);font-weight:400;cursor:pointer;transition:background var(--transition-fast),color var(--transition-fast);font-family:var(--font-sans)}.titlebar-menu-btn:hover{background:var(--bg-hover);color:var(--text-primary)}.titlebar-menu-btn.active{background:var(--bg-active);color:var(--text-primary)}.titlebar-dropdown{position:absolute;top:100%;left:0;min-width:200px;background:var(--bg-elevated);border:1px solid var(--surface-border);border-radius:0 0 var(--radius-md) var(--radius-md);box-shadow:var(--shadow-lg);padding:4px 0;z-index:var(--z-dropdown);animation:titlebarDropIn .1s ease-out;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}@keyframes titlebarDropIn{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.titlebar-dropdown-item{display:flex;align-items:center;justify-content:space-between;width:100%;padding:var(--space-1) var(--space-3);border:none;background:transparent;color:var(--text-primary);font-size:var(--text-sm);font-family:var(--font-sans);cursor:pointer;transition:background var(--transition-fast);text-align:left}.titlebar-dropdown-item:hover{background:var(--accent-primary);color:#fff}.titlebar-dropdown-item:hover .titlebar-shortcut{color:#ffffffb3}.titlebar-dropdown-item.disabled{color:var(--text-tertiary);cursor:default}.titlebar-dropdown-item.disabled:hover{background:transparent;color:var(--text-tertiary)}.titlebar-shortcut{font-size:var(--text-xs);color:var(--text-tertiary);margin-left:var(--space-5);font-family:var(--font-mono)}.titlebar-dropdown-sep{height:1px;background:var(--surface-border);margin:var(--space-1) var(--space-2)}.titlebar-drag{flex:1;height:100%;-webkit-app-region:drag}.titlebar-controls{display:flex;align-items:center;height:100%;-webkit-app-region:no-drag}.titlebar-control{display:flex;align-items:center;justify-content:center;width:46px;height:100%;border:none;background:transparent;color:var(--text-secondary);cursor:pointer;transition:background var(--transition-fast),color var(--transition-fast)}.titlebar-control:hover{background:var(--bg-hover);color:var(--text-primary)}.titlebar-control-close:hover{background:#e81123;color:#fff}[data-theme=light] .titlebar{background:var(--bg-secondary);border-bottom-color:#00000014}[data-theme=light] .titlebar-dropdown{background:#fffffff5;border-color:#00000014;box-shadow:0 8px 24px #0000001f}[data-theme=light] .titlebar-dropdown-item:hover{background:var(--accent-primary);color:#fff}[data-theme=light] .titlebar-control:hover{background:#0000000f}.toast-container{position:fixed;bottom:var(--space-6);right:var(--space-6);z-index:var(--z-toast);display:flex;flex-direction:column;gap:var(--space-2);max-width:420px}.toast{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);border-radius:var(--radius-xl);cursor:pointer;transition:all var(--transition-normal);box-shadow:var(--shadow-lg);font-size:var(--text-sm);line-height:1.4;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}.toast:hover{transform:translateY(-1px);box-shadow:var(--shadow-xl)}.toast-enter{animation:toastSlideIn .3s ease}.toast-exit{animation:toastSlideOut .3s ease forwards}@keyframes toastSlideIn{0%{transform:translate(100%);opacity:0}to{transform:translate(0);opacity:1}}@keyframes toastSlideOut{0%{transform:translate(0);opacity:1}to{transform:translate(100%);opacity:0}}.toast-info{background:var(--info-bg);border:1px solid var(--info);color:var(--text-primary)}.toast-success{background:var(--success-bg);border:1px solid var(--success);color:var(--text-primary)}.toast-warning{background:var(--warning-bg);border:1px solid var(--warning);color:var(--text-primary)}.toast-error{background:var(--error-bg);border:1px solid var(--error);color:var(--text-primary)}.toast-icon{font-size:var(--text-lg);flex-shrink:0}.toast-message{flex:1}.toast-close{background:none;border:none;color:var(--text-secondary);cursor:pointer;font-size:var(--text-base);padding:2px;flex-shrink:0;opacity:.6;transition:opacity var(--transition-normal)}.toast-close:hover{opacity:1}[data-theme=light] .toast{background:var(--surface-primary);border-color:#00000014;box-shadow:0 4px 16px #0000001a}.shortcuts-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:var(--z-modal);display:flex;align-items:center;justify-content:center;background:#0009;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);animation:shortcuts-fade-in .2s ease}@keyframes shortcuts-fade-in{0%{opacity:0}to{opacity:1}}.shortcuts-panel{width:560px;max-width:90vw;max-height:80vh;background:var(--bg-secondary, #1a1b2e);border:1px solid var(--surface-border, rgba(255, 255, 255, .08));border-radius:var(--radius-xl);box-shadow:0 24px 80px #00000080,0 0 0 1px #ffffff0d;display:flex;flex-direction:column;overflow:hidden;animation:shortcuts-panel-in .25s cubic-bezier(.34,1.56,.64,1)}@keyframes shortcuts-panel-in{0%{opacity:0;transform:scale(.95) translateY(10px)}to{opacity:1;transform:scale(1) translateY(0)}}.shortcuts-header{display:flex;align-items:center;justify-content:space-between;padding:20px 24px 16px;border-bottom:1px solid var(--surface-border, rgba(255, 255, 255, .06))}.shortcuts-header h2{margin:0;font-size:var(--text-base);font-weight:600;color:var(--text-primary, #e2e8f0);display:flex;align-items:center;gap:var(--space-3)}.shortcuts-header h2 span{font-size:var(--text-lg)}.shortcuts-close{width:var(--input-height-sm);height:var(--input-height-sm);display:flex;align-items:center;justify-content:center;border:none;background:transparent;color:var(--text-tertiary, #64748b);border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-fast)}.shortcuts-close:hover{background:var(--surface-glass-hover, rgba(255, 255, 255, .08));color:var(--text-primary, #e2e8f0)}.shortcuts-body{padding:var(--space-3) var(--space-6) var(--space-6);overflow-y:auto;flex:1}.shortcuts-body::-webkit-scrollbar{width:6px}.shortcuts-body::-webkit-scrollbar-thumb{background:var(--surface-border, rgba(255, 255, 255, .1));border-radius:var(--radius-xs, 2px)}.shortcuts-group{margin-bottom:var(--space-5)}.shortcuts-group:last-child{margin-bottom:0}.shortcuts-group-title{font-size:var(--text-xs);font-weight:700;color:var(--accent-primary, #6366f1);text-transform:uppercase;letter-spacing:.1em;margin-bottom:var(--space-2);padding-bottom:var(--space-2);border-bottom:1px solid var(--surface-border, rgba(255, 255, 255, .04))}.shortcut-row{display:flex;align-items:center;justify-content:space-between;padding:var(--space-2) 0;gap:var(--space-4)}.shortcut-label{font-size:var(--text-sm);color:var(--text-secondary, #94a3b8);flex:1}.shortcut-keys{display:flex;align-items:center;gap:var(--space-1);flex-shrink:0}.shortcut-keys .key-separator{font-size:var(--text-xs);color:var(--text-tertiary, #475569);padding:0 2px}.key-separator{padding:0 2px;color:var(--text-tertiary)}.kbd{display:inline-flex;align-items:center;justify-content:center;min-width:24px;height:24px;padding:0 7px;font-size:var(--text-xs);font-weight:600;font-family:var(--font-mono, "JetBrains Mono", monospace);color:var(--text-primary, #e2e8f0);background:linear-gradient(180deg,#ffffff14,#ffffff08);border:1px solid rgba(255,255,255,.12);border-bottom-width:2px;border-radius:var(--radius-md);box-shadow:0 1px 2px #0003;white-space:nowrap;line-height:1}.shortcuts-footer{padding:var(--space-3) var(--space-6);border-top:1px solid var(--surface-border, rgba(255, 255, 255, .06));text-align:center;font-size:var(--text-xs);color:var(--text-tertiary, #475569)}.shortcuts-footer .kbd{font-size:var(--text-xs);height:20px;min-width:20px;padding:0 5px}[data-theme=light] .shortcuts-overlay{background:#0000004d}[data-theme=light] .shortcuts-panel{box-shadow:0 24px 80px #0000001f,0 0 0 1px var(--surface-border)}[data-theme=light] .kbd{background:linear-gradient(180deg,var(--bg-primary) 0%,var(--bg-secondary) 100%);border:1px solid var(--surface-border);border-bottom-width:2px;box-shadow:0 1px 2px #0000000f;color:var(--text-primary)}.main-page{display:flex;flex-direction:column;height:100dvh;width:100vw;background:var(--bg-primary);overflow:hidden}.main-page-body{display:flex;flex:1;overflow:hidden}.main-nav-row{display:flex;align-items:center;height:36px;background:var(--bg-primary);border-bottom:1px solid var(--surface-border);flex-shrink:0}.main-nav-left{display:flex;align-items:center;height:100%;overflow:hidden;border-right:1px solid var(--surface-border)}.main-nav-right{display:flex;align-items:center;height:100%;overflow:hidden;border-left:1px solid var(--surface-border)}.main-nav-tabs-portal{flex:1;min-width:0;display:flex;align-items:center;height:100%;overflow:hidden}.main-nav-tabs-portal .ci-header-tabs{display:flex;align-items:center;height:100%;border-bottom:none;gap:0;overflow-x:auto;scrollbar-width:none}.main-nav-tabs-portal .ci-header-tabs::-webkit-scrollbar{display:none}.main-nav-toggle{display:flex;align-items:center;justify-content:center;width:32px;height:100%;border:none;background:none;color:var(--text-secondary);cursor:pointer;flex-shrink:0;transition:color var(--transition-fast),background var(--transition-fast)}.main-nav-toggle:hover{color:var(--text-primary);background:var(--bg-hover)}.main-nav-icon{display:flex;align-items:center;justify-content:center;width:28px;height:100%;border:none;background:none;color:var(--text-tertiary);cursor:pointer;flex-shrink:0;transition:color var(--transition-fast)}.main-nav-icon:disabled{opacity:.35;cursor:default}.main-nav-icon:not(:disabled):hover{color:var(--text-primary)}.main-nav-breadcrumb{flex:1;min-width:0;display:flex;align-items:center;gap:var(--space-2);padding:0 16px;font-size:var(--text-sm);color:var(--text-primary);overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.main-nav-workspace{color:var(--text-tertiary)}.main-nav-sep{color:var(--text-tertiary);opacity:.5}.main-nav-title{color:var(--accent-primary);font-weight:600}.sidebar-wrapper{flex-shrink:0;overflow:hidden;transition:width .2s ease,min-width .2s ease}.sidebar-wrapper--collapsed{width:0!important;min-width:0!important}.main-content-area{flex:1;min-width:0;display:flex;flex-direction:column;overflow:hidden}.main-content-area>.chat-area{flex:1;overflow:hidden}.main-page>.code-inspector-panel,.main-page .code-inspector-panel{width:100%;flex-shrink:0;border-left:1px solid var(--surface-border);background:var(--bg-primary);overflow:hidden;display:flex;flex-direction:column;height:100%}:root{--bg-primary: #0d1117;--bg-secondary: #161b22;--bg-tertiary: #21262d;--bg-elevated: #282e33;--bg-hover: #30363d;--bg-active: #3b434b;--surface-primary: #0d1117;--surface-secondary: #161b22;--surface-hover: #30363d;--surface-glass: rgba(255, 255, 255, .02);--surface-glass-hover: rgba(255, 255, 255, .04);--surface-glass-active: rgba(255, 255, 255, .06);--surface-border: rgba(255, 255, 255, .06);--surface-border-hover: rgba(255, 255, 255, .1);--surface-tertiary: #1c2129;--surface-mixed: #21262d;--accent-primary: #58a6ff;--accent-primary-hover: #79c0ff;--accent-primary-glow: rgba(88, 166, 255, .15);--accent-primary-transparent: rgba(88, 166, 255, .12);--accent-secondary: #a371f7;--success: #3fb950;--success-bg: rgba(63, 185, 80, .1);--warning: #d29922;--warning-bg: rgba(210, 153, 34, .1);--error: #f85149;--error-bg: rgba(248, 81, 73, .1);--info: #58a6ff;--info-bg: rgba(88, 166, 255, .1);--text-primary: #c9d1d9;--text-secondary: #8b949e;--text-tertiary: #6e7681;--text-quaternary: #484f58;--text-inverse: #0d1117;--text-accent: #79c0ff;--text-code: #93b5ff;--font-sans: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-mono: "JetBrains Mono", "Fira Code", "Cascadia Code", monospace;--text-2xs: .625rem;--text-xs: .6875rem;--text-sm: .8125rem;--text-base: .875rem;--text-md: .9375rem;--text-lg: 1.0625rem;--text-xl: 1.25rem;--text-2xl: 1.5rem;--text-3xl: 2rem;--space-1: .25rem;--space-2: .5rem;--space-3: .75rem;--space-4: 1rem;--space-5: 1.25rem;--space-6: 1.5rem;--space-8: 2rem;--space-10: 2.5rem;--space-12: 3rem;--sidebar-width: 220px;--sidebar-collapsed: 64px;--header-height: 36px;--input-height: 40px;--input-height-sm: 32px;--input-height-lg: 48px;--radius-xs: 2px;--radius-sm: 3px;--radius-md: 6px;--radius-lg: 8px;--radius-xl: 12px;--radius-2xl: 14px;--radius-full: 9999px;--input-border: rgba(255, 255, 255, .08);--input-border-focus: rgba(255, 255, 255, .16);--code-bg: #0d0d14;--code-header-bg: rgba(255, 255, 255, .03);--code-border: rgba(255, 255, 255, .05);--shadow-sm: 0 1px 2px rgba(0, 0, 0, .3);--shadow-md: 0 4px 12px rgba(0, 0, 0, .4);--shadow-lg: 0 8px 24px rgba(0, 0, 0, .5);--shadow-xl: 0 16px 48px rgba(0, 0, 0, .6);--shadow-glow: none;--shadow-glow-lg: none;--transition-fast: .12s ease;--transition-normal: .2s ease;--transition-slow: .35s cubic-bezier(.4, 0, .2, 1);--transition-spring: .5s cubic-bezier(.34, 1.56, .64, 1);--z-sidebar: 100;--z-header: 200;--z-dropdown: 300;--z-modal: 400;--z-tour: 450;--z-toast: 500}[data-theme=light]{--bg-primary: #ffffff;--bg-secondary: #f8f9fb;--bg-tertiary: #f1f3f5;--bg-elevated: #ffffff;--bg-hover: #f3f4f6;--bg-active: #ebedf0;--surface-primary: #ffffff;--surface-secondary: #f8f9fb;--surface-hover: #f1f3f5;--surface-glass: transparent;--surface-glass-hover: #f1f3f5;--surface-glass-active: #e5e7eb;--surface-border: #e2e5e9;--surface-border-hover: #cdd1d6;--surface-tertiary: #eef0f3;--surface-mixed: #eef0f3;--accent-primary: #1e40af;--accent-primary-hover: #1e3a8a;--accent-primary-glow: rgba(30, 64, 175, .1);--accent-primary-transparent: rgba(30, 64, 175, .07);--accent-secondary: #6d28d9;--success: #15803d;--success-bg: rgba(21, 128, 61, .07);--warning: #b45309;--warning-bg: rgba(180, 83, 9, .07);--error: #b91c1c;--error-bg: rgba(185, 28, 28, .06);--info: #1e40af;--info-bg: rgba(30, 64, 175, .06);--text-primary: #111827;--text-secondary: #4b5563;--text-tertiary: #6b7280;--text-quaternary: #9ca3af;--text-inverse: #ffffff;--text-accent: #1e40af;--text-code: #1e3a5f;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .05);--shadow-md: 0 2px 8px rgba(0, 0, 0, .07);--shadow-lg: 0 4px 16px rgba(0, 0, 0, .09);--shadow-xl: 0 8px 32px rgba(0, 0, 0, .12);--shadow-glow: none;--shadow-glow-lg: none;--input-border: #d1d5db;--input-border-focus: #9ca3af;--code-bg: #f4f6f9;--code-header-bg: #eaecf0;--code-border: #dde0e4;--overlay-bg: rgba(0, 0, 0, .3)}[data-theme=light] ::-webkit-scrollbar-thumb{background:#00000026}[data-theme=light] ::-webkit-scrollbar-thumb:hover{background:#00000040}[data-theme=light] ::selection{background:var(--accent-primary);color:#fff}*,*:before,*:after{margin:0;padding:0;box-sizing:border-box;scrollbar-width:thin;scrollbar-color:var(--text-quaternary, rgba(255, 255, 255, .1)) transparent}html{font-size:16px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility}body{font-family:var(--font-sans);font-size:var(--text-md);line-height:1.5;color:var(--text-primary);background-color:var(--bg-primary);overflow:hidden;height:100vh;height:100dvh;width:100vw}#root{height:100%;width:100%}a{color:var(--text-accent);text-decoration:none;transition:color var(--transition-fast)}a:hover{color:var(--accent-primary-hover)}button{font-family:inherit;cursor:pointer;border:none;outline:none;background:none;color:inherit}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:2px solid var(--accent-primary);outline-offset:2px}textarea:focus-visible{outline:none}input,textarea{font-family:inherit;font-size:inherit;color:inherit;border:none;outline:none;background:none}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:#ffffff1a;border-radius:var(--radius-full)}::-webkit-scrollbar-thumb:hover{background:#fff3}::selection{background:var(--accent-primary);color:#fff}.git-status-badge{margin-left:8px;font-size:10px;padding:2px 6px;font-weight:700}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeInDown{0%{opacity:0;transform:translateY(-12px)}to{opacity:1;transform:translateY(0)}}@keyframes slideInLeft{0%{opacity:0;transform:translate(-20px)}to{opacity:1;transform:translate(0)}}@keyframes slideInRight{0%{opacity:0;transform:translate(20px)}to{opacity:1;transform:translate(0)}}@keyframes scaleIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes typingDot{0%,60%,to{transform:translateY(0);opacity:.4}30%{transform:translateY(-6px);opacity:1}}@keyframes gradientShift{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}.animate-fade-in{animation:fadeIn .3s ease forwards}.animate-fade-in-up{animation:fadeInUp .4s ease forwards}.animate-fade-in-down{animation:fadeInDown .4s ease forwards}.animate-slide-in-left{animation:slideInLeft .3s ease forwards}.animate-slide-in-right{animation:slideInRight .3s ease forwards}.animate-scale-in{animation:scaleIn .2s ease forwards}.animate-pulse{animation:pulse 2s ease-in-out infinite}.animate-spin{animation:spin 1s linear infinite}.skeleton{background:linear-gradient(90deg,var(--bg-tertiary) 25%,var(--bg-elevated) 50%,var(--bg-tertiary) 75%);background-size:400% 100%;animation:shimmer 1.8s ease-in-out infinite;border-radius:var(--radius-md)}.skeleton-text{height:14px;margin-bottom:var(--space-2)}.skeleton-text-sm{height:10px;width:60%}.glass-panel{background:var(--surface-glass);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid var(--surface-border);border-radius:var(--radius-lg)}.glass-panel:hover{background:var(--surface-glass-hover);border-color:var(--surface-border-hover)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);padding:var(--space-2) var(--space-4);height:var(--input-height);font-size:var(--text-sm);font-weight:500;border-radius:var(--radius-md);transition:all var(--transition-normal);white-space:nowrap;-webkit-user-select:none;user-select:none;position:relative;overflow:hidden}.btn:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:#fff;opacity:0;transition:opacity var(--transition-fast)}.btn:active:after{opacity:.1}.btn:active:not(:disabled){transform:scale(.97)}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background:var(--accent-primary);color:#fff;font-weight:500;box-shadow:none}.btn-primary:hover:not(:disabled){background:color-mix(in srgb,var(--accent-primary) 85%,black);box-shadow:none;transform:none}.btn-secondary{background:var(--bg-elevated);border:1px solid var(--surface-border);color:var(--text-secondary)}.btn-secondary:hover:not(:disabled){background:var(--bg-hover);border-color:var(--surface-border-hover);color:var(--text-primary)}.btn-ghost{color:var(--text-secondary)}.btn-ghost:hover:not(:disabled){background:var(--surface-glass-hover);color:var(--text-primary)}.btn-danger{background:var(--error);color:#fff}.btn-danger:hover:not(:disabled){background:color-mix(in srgb,var(--error) 85%,black)}.btn-sm{height:var(--input-height-sm);padding:var(--space-1) var(--space-3);font-size:var(--text-xs)}.btn-lg{height:var(--input-height-lg);padding:var(--space-3) var(--space-6);font-size:var(--text-md)}.btn-icon{width:var(--input-height);padding:0}.btn-icon.btn-sm{width:var(--input-height-sm)}.input-group{display:flex;flex-direction:column;gap:var(--space-2)}.input-label{font-size:var(--text-sm);font-weight:500;color:var(--text-secondary)}.input-field{height:var(--input-height);padding:0 var(--space-3);background:var(--bg-secondary);border:1px solid var(--surface-border);border-radius:var(--radius-md);color:var(--text-primary);font-size:var(--text-base);transition:all var(--transition-normal)}.input-field:focus{border-color:var(--accent-primary);box-shadow:none;background:var(--bg-primary)}.input-field::placeholder{color:var(--text-tertiary)}.input-field.error{border-color:var(--error);box-shadow:0 0 0 3px var(--error-bg)}.input-error{font-size:var(--text-xs);color:var(--error);margin-top:var(--space-1)}.code-block{background:var(--bg-secondary);border:1px solid var(--surface-border);border-radius:var(--radius-md);padding:var(--space-4);font-family:var(--font-mono);font-size:var(--text-sm);line-height:1.7;overflow-x:auto;-moz-tab-size:2;tab-size:2}code{font-family:var(--font-mono);font-size:.9em;background:var(--bg-elevated);padding:.1em .4em;border-radius:var(--radius-sm);color:var(--text-code)}pre code{background:none;padding:0;border-radius:0}.spinner{width:20px;height:20px;border:2px solid var(--surface-border);border-top-color:var(--accent-primary);border-radius:50%;animation:spin .8s linear infinite}.spinner-sm{width:14px;height:14px}.spinner-lg{width:32px;height:32px;border-width:3px}.typing-indicator{display:flex;align-items:center;gap:4px;padding:var(--space-2) var(--space-3)}.typing-indicator .dot{width:6px;height:6px;background:var(--text-tertiary);border-radius:50%;animation:typingDot 1.4s ease-in-out infinite}.typing-indicator .dot:nth-child(2){animation-delay:.2s}.typing-indicator .dot:nth-child(3){animation-delay:.4s}.badge{display:inline-flex;align-items:center;padding:2px 8px;font-size:var(--text-xs);font-weight:600;border-radius:var(--radius-full);background:var(--bg-elevated);color:var(--text-secondary);border:1px solid var(--surface-border)}.badge-accent{background:#2563eb14;color:var(--text-accent);border-color:#2563eb33}.badge-success{background:var(--success-bg);color:var(--success);border-color:#22c55e4d}.tooltip{position:relative}.tooltip:after{content:attr(data-tooltip);position:absolute;bottom:calc(100% + 6px);left:50%;transform:translate(-50%) translateY(4px);padding:4px 10px;background:var(--bg-elevated);border:1px solid var(--surface-border);border-radius:var(--radius-sm);font-size:var(--text-xs);color:var(--text-secondary);white-space:nowrap;pointer-events:none;opacity:0;transition:all var(--transition-fast);z-index:var(--z-dropdown)}.tooltip:hover:after{opacity:1;transform:translate(-50%) translateY(0)}.icon-inline{vertical-align:text-bottom;margin-right:4px}.icon-inline-sm{vertical-align:text-bottom;margin-right:2px}.icon-inline-mid{vertical-align:middle;margin-right:6px}
