*,:before,:after{box-sizing:border-box;margin:0;padding:0}html,body{background:var(--color-bg);overscroll-behavior:none;height:100%;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;overflow:hidden}:root,[data-theme=light]{--color-bg:#fff;--color-bg-sidebar:#fafafa;--color-bg-elevated:#fff;--color-bg-hover:#0000000a;--color-bg-active:#0000000f;--color-bg-input:#fff;--color-text:#1a1a1a;--color-text-secondary:#595959;--color-text-tertiary:#8c8c8c;--color-border:#0000001a;--color-border-light:#0000000f;--color-send-bg:#0000000f;--color-send-bg-active:#2d2d2d;--color-send-color:#bfbfbf;--color-send-color-active:#fff;--color-tag-bg:#fff;--color-tag-border:#00000014;--color-tag-color:#595959;--scrollbar-thumb:#00000026;--scrollbar-thumb-hover:#00000040;--color-bubble-user:#f0f0f0;--color-border-focus:#0003;--color-bg-stop:#00000014;--color-bg-stop-hover:#0000001f;--color-send-hover:#1a1a1a;--color-avatar-bg:#2d2d2d;--color-step-accent:#528c1ab3;--color-step-bg:#528c1a0d;--color-step-bg-hover:#528c1a1a;--color-step-border:#528c1a1a;--color-step-icon-bg:#528c1a1a;--color-thinking-bg:#00000005;--color-panel-bg:#fff;--color-panel-border:#e0e0e0;--color-panel-header-bg:#f7f7f7;--color-panel-header-border:#e5e5e5;--color-panel-body-bg:#fafafa;--color-code-text:#333;--color-code-text-strong:#1a1a1a;--color-code-text-dim:#555;--color-code-text-muted:#d4d4d4;--color-terminal-accent:#52c41a;--color-terminal-path:#1677ff;--color-file-path-bg:#f0f0f0;--color-file-path-border:#e5e5e5}[data-theme=dark]{--color-bg:#141414;--color-bg-sidebar:#1a1a1a;--color-bg-elevated:#1f1f1f;--color-bg-hover:#ffffff0f;--color-bg-active:#ffffff1a;--color-bg-input:#2a2a2a;--color-text:#e8e8e8;--color-text-secondary:#a0a0a0;--color-text-tertiary:#6b6b6b;--color-border:#ffffff1f;--color-border-light:#ffffff0f;--color-send-bg:#ffffff14;--color-send-bg-active:#e8e8e8;--color-send-color:#555;--color-send-color-active:#141414;--color-tag-bg:#1f1f1f;--color-tag-border:#ffffff1a;--color-tag-color:#a0a0a0;--scrollbar-thumb:#ffffff26;--scrollbar-thumb-hover:#ffffff40;--color-bubble-user:#2a2a2a;--color-border-focus:#ffffff40;--color-bg-stop:#ffffff1a;--color-bg-stop-hover:#ffffff26;--color-send-hover:#fff;--color-avatar-bg:#555;--color-step-accent:#78aa50b3;--color-step-bg:#78aa5014;--color-step-bg-hover:#78aa5024;--color-step-border:#78aa5026;--color-step-icon-bg:#78aa5026;--color-thinking-bg:#ffffff08;--color-panel-bg:#1a1a1a;--color-panel-border:#333;--color-panel-header-bg:#222;--color-panel-header-border:#333;--color-panel-body-bg:#0d0d0d;--color-code-text:#e0e0e0;--color-code-text-strong:#fff;--color-code-text-dim:#bbb;--color-code-text-muted:#d4d4d4;--color-terminal-accent:#6ee7b7;--color-terminal-path:#7aa6da;--color-file-path-bg:#1a1a1a;--color-file-path-border:#2a2a2a}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-thumb{background:var(--scrollbar-thumb);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:var(--scrollbar-thumb-hover)}pre code{font-family:Fira Code,Consolas,monospace}.hover-bg{background:0 0;transition:background .15s}.hover-bg:hover{background:var(--color-bg-hover)}.hover-bg-active{transition:background .15s}.hover-bg-active:hover,.option-selected{background:var(--color-bg-active)}.step-pill-hoverable{transition:background .15s}.step-pill-hoverable:hover{background:var(--color-step-bg-hover)!important}.icon-btn{cursor:pointer;color:var(--color-text-tertiary);border-radius:6px;justify-content:center;align-items:center;transition:all .15s;display:flex}.icon-btn:hover{background:var(--color-bg-active);color:var(--color-text)}.nav-item{cursor:pointer;color:var(--color-text-secondary);border-right:2px solid #0000;align-items:center;gap:10px;padding:9px 20px;font-size:14px;transition:all .15s;display:flex}.nav-item:hover{background:var(--color-bg-hover)}.nav-item.active{color:var(--color-text);background:var(--color-bg-active);font-weight:500}[data-theme=light] .nav-item.active{border-right-color:#1a1a1a}[data-theme=dark] .nav-item.active{border-right-color:#fff}.menu-item{cursor:pointer;color:var(--color-text);border-radius:6px;align-items:center;gap:10px;padding:8px 12px;transition:background .2s;display:flex}.menu-item:hover{background:var(--color-bg-hover)}.menu-item.danger{color:#ff4d4f}.session-item{cursor:pointer;min-height:36px;color:var(--color-text-secondary);border-radius:8px;align-items:center;gap:8px;padding:8px 10px;font-size:13px;transition:all .15s;display:flex;position:relative}.session-item:hover{background:var(--color-bg-hover)}.session-item.active{background:var(--color-bg-active);color:var(--color-text)}.session-delete-btn{transition:opacity .15s;opacity:0!important}.session-item:hover .session-delete-btn{opacity:1!important}.session-delete-btn:hover{color:#ff4d4f!important}.pill-btn{cursor:pointer;border:1px solid var(--color-tag-border);color:var(--color-tag-color);background:var(--color-tag-bg);border-radius:20px;align-items:center;gap:6px;padding:6px 14px;font-size:13px;transition:all .2s;display:inline-flex}.pill-btn:hover{background:var(--color-bg-hover);border-color:var(--color-border)}.toolbar-btn{width:32px;height:32px;color:var(--color-text-secondary);cursor:pointer;background:0 0;border:none;border-radius:6px;justify-content:center;align-items:center;font-size:16px;transition:background .15s;display:flex}.toolbar-btn:hover{background:var(--color-bg-hover)}.new-session-btn{cursor:pointer;color:#fff;-webkit-user-select:none;user-select:none;background:#2563eb;border-radius:10px;justify-content:center;align-items:center;gap:6px;padding:10px 0;font-size:14px;font-weight:500;transition:all .15s;display:flex}.new-session-btn:hover{background:#1d4ed8}.credits-card{border:1px solid var(--color-border-light);cursor:pointer;border-radius:8px;margin:4px 12px;padding:10px 12px;transition:background .15s}.credits-card:hover{background:var(--color-bg-hover)}.ant-bubble-list .ant-bubble{margin-block:2px!important;padding-block:0!important}.ant-bubble-list .ant-bubble .ant-bubble-content{max-width:100%!important}.ant-bubble-list .ant-bubble-content-inner{padding:6px 12px!important}.ant-bubble-list .ant-bubble[class*=borderless] .ant-bubble-content-inner{padding:2px 0!important}.ant-bubble-list{gap:2px!important;padding-block:8px!important}@keyframes blink-cursor{0%,to{opacity:1}50%{opacity:0}}@keyframes shimmer{0%{opacity:.3}50%{opacity:.6}to{opacity:.3}}
