:root{--bg-app:#0d1117;--bg-sidebar:#161b22;--bg-surface:#161b22;--bg-surface-elevated:#21262d;--bg-input:#0d1117;--bg-hover:#30363d;--bg-active:#388bfd1a;--border-subtle:#30363d;--border-focus:#58a6ff;--border-muted:#21262d;--text-main:#e6edf3;--text-muted:#8b949e;--text-dim:#6e7681;--text-inverse:#0d1117;--method-get:#10b981;--method-get-bg:#10b98126;--method-post:#f59e0b;--method-post-bg:#f59e0b26;--method-put:#3b82f6;--method-put-bg:#3b82f626;--method-patch:#a855f7;--method-patch-bg:#a855f726;--method-delete:#ef4444;--method-delete-bg:#ef444426;--method-head:#8b5cf6;--method-head-bg:#8b5cf626;--method-options:#06b6d4;--method-options-bg:#06b6d426;--status-2xx:#10b981;--status-2xx-bg:#10b9811f;--status-3xx:#06b6d4;--status-3xx-bg:#06b6d41f;--status-4xx:#f59e0b;--status-4xx-bg:#f59e0b1f;--status-5xx:#ef4444;--status-5xx-bg:#ef44441f;--accent-primary:#ff6c37;--accent-primary-hover:#ff8559;--accent-primary-active:#e65522;--accent-glow:#ff6c3740;--accent-blue:#58a6ff;--accent-blue-hover:#79c0ff;--font-sans:"Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--font-mono:"JetBrains Mono", "Fira Code", "Courier New", monospace;--shadow-sm:0 1px 2px #0000004d;--shadow-md:0 4px 12px #0006;--shadow-lg:0 12px 28px #00000080;--transition-fast:.15s ease;--transition-base:.25s ease}*{box-sizing:border-box;margin:0;padding:0}html,body{background-color:var(--bg-app);width:100%;height:100%;color:var(--text-main);font-family:var(--font-sans);-webkit-font-smoothing:antialiased;font-size:13px;line-height:1.5;overflow:hidden}#root{flex-direction:column;width:100vw;height:100vh;display:flex;overflow:hidden}::-webkit-scrollbar{width:7px;height:7px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--border-subtle);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--text-dim)}.app-header{background:var(--bg-surface);border-bottom:1px solid var(--border-subtle);-webkit-user-select:none;user-select:none;z-index:20;justify-content:space-between;align-items:center;height:48px;padding:0 14px;display:flex}.brand-section{align-items:center;gap:10px;display:flex}.brand-logo{color:#fff;width:28px;height:28px;box-shadow:0 2px 8px var(--accent-glow);background:linear-gradient(135deg,#ff6c37,#ff9066);border-radius:6px;justify-content:center;align-items:center;display:flex}.brand-title{letter-spacing:-.2px;color:#fff;align-items:center;gap:6px;font-size:14px;font-weight:700;display:flex}.brand-badge{text-transform:uppercase;color:#ff9066;background:#ff6c3733;border:1px solid #ff6c374d;border-radius:12px;padding:2px 6px;font-size:10px;font-weight:600}.header-center{align-items:center;gap:12px;display:flex}.env-selector{background:var(--bg-input);border:1px solid var(--border-subtle);cursor:pointer;transition:var(--transition-fast);border-radius:6px;align-items:center;gap:8px;padding:4px 10px;display:flex}.env-selector:hover{border-color:var(--text-muted)}.env-select{color:var(--text-main);cursor:pointer;background:0 0;border:none;outline:none;font-family:inherit;font-size:12px}.env-manage-btn{color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-radius:4px;justify-content:center;align-items:center;padding:2px;display:flex}.env-manage-btn:hover{color:var(--text-main);background:var(--bg-hover)}.header-actions{align-items:center;gap:8px;display:flex}.proxy-pill{color:#10b981;cursor:pointer;-webkit-user-select:none;user-select:none;transition:var(--transition-fast);background:#10b9811f;border:1px solid #10b98140;border-radius:14px;align-items:center;gap:6px;padding:3px 9px;font-size:11px;font-weight:500;display:flex}.proxy-pill:hover{background:#10b98133}.proxy-pill.direct{color:var(--text-muted);border-color:var(--border-subtle);background:#8b949e1f}.proxy-dot{background:currentColor;border-radius:50%;width:6px;height:6px}.btn{cursor:pointer;transition:all var(--transition-fast);-webkit-user-select:none;user-select:none;border:1px solid #0000;border-radius:6px;align-items:center;gap:6px;padding:6px 12px;font-family:inherit;font-size:12px;font-weight:500;display:inline-flex}.btn-primary{background:linear-gradient(135deg, var(--accent-primary), var(--accent-primary-active));color:#fff;box-shadow:0 2px 8px var(--accent-glow);border:none}.btn-primary:hover{background:linear-gradient(135deg, var(--accent-primary-hover), var(--accent-primary));box-shadow:0 4px 12px var(--accent-glow)}.btn-secondary{background:var(--bg-surface-elevated);color:var(--text-main);border:1px solid var(--border-subtle)}.btn-secondary:hover{background:var(--bg-hover);border-color:var(--text-muted)}.btn-ghost{color:var(--text-muted);background:0 0}.btn-ghost:hover{background:var(--bg-hover);color:var(--text-main)}.btn-danger{background:var(--method-delete-bg);color:var(--method-delete);border:1px solid #ef44444d}.btn-danger:hover{background:var(--method-delete);color:#fff}.btn-icon{border-radius:6px;padding:6px}.app-body{flex:1;display:flex;position:relative;overflow:hidden}.app-sidebar{background:var(--bg-sidebar);border-right:1px solid var(--border-subtle);width:280px;min-width:240px;max-width:400px;transition:width var(--transition-base);z-index:10;flex-direction:column;display:flex;overflow:hidden}.app-sidebar.collapsed{border-right:none;width:0;min-width:0}.sidebar-nav{border-bottom:1px solid var(--border-subtle);background:var(--bg-surface);display:flex}.sidebar-tab-btn{color:var(--text-muted);cursor:pointer;transition:var(--transition-fast);background:0 0;border:none;border-bottom:2px solid #0000;flex:1;justify-content:center;align-items:center;gap:5px;padding:10px 6px;font-size:11px;font-weight:600;display:flex}.sidebar-tab-btn:hover{color:var(--text-main);background:var(--bg-surface-elevated)}.sidebar-tab-btn.active{color:var(--accent-primary);border-bottom-color:var(--accent-primary);background:var(--bg-surface-elevated)}.sidebar-content{flex-direction:column;flex:1;gap:12px;padding:10px;display:flex;overflow-y:auto}.sidebar-header-row{justify-content:space-between;align-items:center;padding:0 4px;display:flex}.sidebar-section-title{text-transform:uppercase;letter-spacing:.5px;color:var(--text-dim);font-size:11px;font-weight:700}.search-input-box{background:var(--bg-input);border:1px solid var(--border-subtle);border-radius:6px;align-items:center;gap:6px;padding:5px 8px;display:flex}.search-input-box input{color:var(--text-main);background:0 0;border:none;outline:none;width:100%;font-size:12px}.collection-card{border:1px solid var(--border-muted);background:var(--bg-surface-elevated);border-radius:6px;overflow:hidden}.collection-header{cursor:pointer;background:var(--bg-surface-elevated);transition:var(--transition-fast);-webkit-user-select:none;user-select:none;justify-content:space-between;align-items:center;padding:8px 10px;display:flex}.collection-header:hover{background:var(--bg-hover)}.collection-title-wrap{color:var(--text-main);text-overflow:ellipsis;white-space:nowrap;align-items:center;gap:6px;font-size:12px;font-weight:600;display:flex;overflow:hidden}.collection-actions{align-items:center;gap:2px;display:flex}.collection-items-list{background:var(--bg-surface);flex-direction:column;padding:2px 0 4px;display:flex}.request-tree-item{cursor:pointer;transition:var(--transition-fast);color:var(--text-main);justify-content:space-between;align-items:center;padding:6px 12px;font-size:12px;display:flex}.request-tree-item:hover{background:var(--bg-hover)}.request-tree-item.active{background:var(--bg-active);color:var(--accent-blue)}.request-item-left{text-overflow:ellipsis;white-space:nowrap;align-items:center;gap:8px;display:flex;overflow:hidden}.history-item{background:var(--bg-surface-elevated);border:1px solid var(--border-muted);cursor:pointer;transition:var(--transition-fast);border-radius:6px;justify-content:space-between;align-items:center;padding:8px 10px;display:flex}.history-item:hover{border-color:var(--text-muted);background:var(--bg-hover)}.history-item-left{align-items:center;gap:8px;min-width:0;display:flex;overflow:hidden}.history-url{font-size:11px;font-family:var(--font-mono);color:var(--text-muted);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.history-meta{align-items:center;gap:6px;font-size:10px;display:flex}.badge-method{font-family:var(--font-mono);letter-spacing:.5px;text-transform:uppercase;border-radius:4px;padding:2px 6px;font-size:10px;font-weight:700}.badge-method.get{background:var(--method-get-bg);color:var(--method-get)}.badge-method.post{background:var(--method-post-bg);color:var(--method-post)}.badge-method.put{background:var(--method-put-bg);color:var(--method-put)}.badge-method.patch{background:var(--method-patch-bg);color:var(--method-patch)}.badge-method.delete{background:var(--method-delete-bg);color:var(--method-delete)}.badge-method.head{background:var(--method-head-bg);color:var(--method-head)}.badge-method.options{background:var(--method-options-bg);color:var(--method-options)}.badge-status{font-family:var(--font-mono);border-radius:4px;padding:2px 7px;font-size:11px;font-weight:700}.badge-status.s-2xx{background:var(--status-2xx-bg);color:var(--status-2xx)}.badge-status.s-3xx{background:var(--status-3xx-bg);color:var(--status-3xx)}.badge-status.s-4xx{background:var(--status-4xx-bg);color:var(--status-4xx)}.badge-status.s-5xx{background:var(--status-5xx-bg);color:var(--status-5xx)}.app-workspace{background:var(--bg-app);flex-direction:column;flex:1;display:flex;overflow:hidden}.workspace-tabs{background:var(--bg-surface);border-bottom:1px solid var(--border-subtle);align-items:center;gap:4px;height:38px;padding:0 8px;display:flex;overflow-x:auto}.workspace-tab{height:30px;color:var(--text-muted);cursor:pointer;transition:var(--transition-fast);white-space:nowrap;background:0 0;border:1px solid #0000;border-bottom:none;border-radius:6px 6px 0 0;align-items:center;gap:8px;padding:0 10px;font-size:12px;display:flex;position:relative}.workspace-tab:hover{background:var(--bg-surface-elevated);color:var(--text-main)}.workspace-tab.active{background:var(--bg-app);color:var(--text-main);border-color:var(--border-subtle);font-weight:500}.workspace-tab.active:after{content:"";background:var(--bg-app);height:1px;position:absolute;bottom:-1px;left:0;right:0}.tab-dirty-dot{background:var(--accent-primary);border-radius:50%;width:6px;height:6px}.tab-close-btn{color:var(--text-dim);cursor:pointer;background:0 0;border:none;border-radius:50%;justify-content:center;align-items:center;padding:2px;display:flex}.tab-close-btn:hover{color:var(--text-main);background:var(--bg-hover)}.tab-add-btn{color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-radius:4px;align-items:center;padding:6px;display:flex}.tab-add-btn:hover{color:var(--text-main);background:var(--bg-hover)}.workspace-panes{flex:1;display:flex;overflow:hidden}.pane-request{border-right:1px solid var(--border-subtle);flex-direction:column;flex:1;min-width:380px;display:flex;overflow-y:auto}.pane-response{background:var(--bg-surface);flex-direction:column;flex:1;min-width:380px;display:flex;overflow-y:auto}@media (width<=900px){.workspace-panes{flex-direction:column}.pane-request{border-right:none;border-bottom:1px solid var(--border-subtle);max-height:50vh}}.request-bar-container{background:var(--bg-surface);border-bottom:1px solid var(--border-subtle);align-items:center;gap:8px;padding:12px 16px;display:flex}.request-input-group{background:var(--bg-input);border:1px solid var(--border-subtle);transition:border-color var(--transition-fast);border-radius:6px;flex:1;align-items:center;display:flex;overflow:hidden}.request-input-group:focus-within{border-color:var(--border-focus);box-shadow:0 0 0 1px var(--border-focus)}.method-select{border:none;border-right:1px solid var(--border-subtle);font-family:var(--font-mono);cursor:pointer;background:0 0;outline:none;padding:8px 12px;font-size:12px;font-weight:700}.method-select.get{color:var(--method-get)}.method-select.post{color:var(--method-post)}.method-select.put{color:var(--method-put)}.method-select.patch{color:var(--method-patch)}.method-select.delete{color:var(--method-delete)}.method-select.head{color:var(--method-head)}.method-select.options{color:var(--method-options)}.url-input{color:var(--text-main);font-family:var(--font-mono);background:0 0;border:none;outline:none;flex:1;padding:8px 12px;font-size:12px}.url-input::placeholder{color:var(--text-dim)}.btn-send{color:#fff;cursor:pointer;transition:all var(--transition-fast);background:linear-gradient(135deg,#2563eb,#1d4ed8);border:none;border-radius:6px;align-items:center;gap:8px;padding:8px 18px;font-weight:600;display:flex;box-shadow:0 2px 10px #2563eb4d}.btn-send:hover:not(:disabled){background:linear-gradient(135deg,#3b82f6,#2563eb);box-shadow:0 4px 14px #2563eb66}.btn-send:disabled{opacity:.6;cursor:not-allowed}.btn-cancel{background:var(--method-delete-bg);color:var(--method-delete);cursor:pointer;border:1px solid #ef44444d;border-radius:6px;padding:8px 14px;font-weight:600}.inner-tabs-bar{background:var(--bg-surface);border-bottom:1px solid var(--border-subtle);align-items:center;gap:4px;padding:0 16px;display:flex}.inner-tab-btn{color:var(--text-muted);cursor:pointer;transition:var(--transition-fast);background:0 0;border:none;border-bottom:2px solid #0000;align-items:center;gap:6px;padding:9px 12px;font-size:12px;font-weight:500;display:flex}.inner-tab-btn:hover{color:var(--text-main)}.inner-tab-btn.active{color:var(--accent-primary);border-bottom-color:var(--accent-primary);font-weight:600}.tab-counter-badge{background:var(--bg-surface-elevated);color:var(--text-muted);border-radius:10px;padding:1px 5px;font-size:10px}.inner-tab-btn.active .tab-counter-badge{color:var(--accent-primary);background:#ff6c3726}.tab-panel-body{flex-direction:column;flex:1;gap:12px;padding:16px;display:flex}.kv-table{border-collapse:collapse;width:100%;font-size:12px}.kv-table th{text-align:left;color:var(--text-dim);border-bottom:1px solid var(--border-subtle);padding:6px 10px;font-size:11px;font-weight:600}.kv-table td{border-bottom:1px solid var(--border-muted);padding:4px 6px}.kv-input{background:var(--bg-input);border:1px solid var(--border-muted);width:100%;color:var(--text-main);font-family:var(--font-mono);transition:border-color var(--transition-fast);border-radius:4px;outline:none;padding:6px 8px;font-size:11px}.kv-input:focus{border-color:var(--border-focus)}.kv-checkbox{cursor:pointer;accent-color:var(--accent-primary)}.kv-delete-btn{color:var(--text-dim);cursor:pointer;background:0 0;border:none;border-radius:4px;justify-content:center;align-items:center;padding:4px;display:flex}.kv-delete-btn:hover{color:var(--method-delete);background:var(--bg-hover)}.body-type-selector{border-bottom:1px solid var(--border-subtle);align-items:center;gap:12px;padding-bottom:8px;font-size:12px;display:flex}.radio-label{cursor:pointer;color:var(--text-muted);align-items:center;gap:5px;display:flex}.radio-label input:checked+span{color:var(--text-main);font-weight:600}.code-editor-wrap{border:1px solid var(--border-subtle);background:var(--bg-input);border-radius:6px;flex-direction:column;display:flex;overflow:hidden}.code-editor-toolbar{background:var(--bg-surface-elevated);border-bottom:1px solid var(--border-subtle);justify-content:space-between;align-items:center;padding:6px 12px;display:flex}.code-editor-textarea{width:100%;min-height:220px;color:var(--text-main);font-family:var(--font-mono);resize:vertical;background:0 0;border:none;outline:none;padding:12px;font-size:12px;line-height:1.6}.response-status-bar{background:var(--bg-surface-elevated);border-bottom:1px solid var(--border-subtle);justify-content:space-between;align-items:center;padding:10px 16px;display:flex}.response-metrics{align-items:center;gap:12px;display:flex}.metric-pill{font-size:11px;font-family:var(--font-mono);color:var(--text-muted);align-items:center;gap:5px;display:flex}.metric-pill strong{color:var(--text-main)}.response-actions{align-items:center;gap:6px;display:flex}.empty-state{text-align:center;color:var(--text-muted);flex-direction:column;flex:1;justify-content:center;align-items:center;gap:14px;padding:40px 20px;display:flex}.empty-state-icon{background:var(--bg-surface-elevated);width:56px;height:56px;color:var(--accent-primary);border-radius:16px;justify-content:center;align-items:center;display:flex;box-shadow:0 4px 16px #0003}.quick-chip{background:var(--bg-surface-elevated);border:1px solid var(--border-subtle);cursor:pointer;transition:var(--transition-fast);color:var(--text-main);border-radius:16px;align-items:center;gap:6px;padding:5px 10px;font-size:11px;display:inline-flex}.quick-chip:hover{border-color:var(--accent-primary);background:var(--bg-hover)}.json-viewer-container{font-family:var(--font-mono);white-space:pre-wrap;word-break:break-all;padding:12px 16px;font-size:12px;line-height:1.6;overflow:auto}.json-key{color:#93c5fd}.json-string{color:#86efac}.json-number{color:#fca5a5}.json-boolean{color:#fde047}.json-null{color:#94a3b8}.test-result-card{background:var(--bg-surface-elevated);border:1px solid var(--border-subtle);border-radius:6px;align-items:flex-start;gap:10px;padding:10px 14px;display:flex}.test-result-card.passed{border-left:3px solid #10b981}.test-result-card.failed{border-left:3px solid #ef4444}.modal-overlay{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:1000;background:#000000bf;justify-content:center;align-items:center;padding:20px;animation:.2s fadeIn;display:flex;position:fixed;inset:0}.modal-dialog{background:var(--bg-surface);border:1px solid var(--border-subtle);width:100%;max-width:650px;max-height:85vh;box-shadow:var(--shadow-lg);border-radius:12px;flex-direction:column;animation:.2s scaleUp;display:flex;overflow:hidden}.modal-header{border-bottom:1px solid var(--border-subtle);justify-content:space-between;align-items:center;padding:14px 18px;display:flex}.modal-title{color:#fff;align-items:center;gap:8px;font-size:15px;font-weight:700;display:flex}.modal-body{flex-direction:column;gap:16px;padding:18px;display:flex;overflow-y:auto}.modal-footer{border-top:1px solid var(--border-subtle);background:var(--bg-surface-elevated);justify-content:flex-end;align-items:center;gap:10px;padding:12px 18px;display:flex}.toast-container{z-index:2000;pointer-events:none;flex-direction:column;gap:8px;display:flex;position:fixed;bottom:20px;right:20px}.toast{pointer-events:auto;border:1px solid var(--border-subtle);box-shadow:var(--shadow-md);color:var(--text-main);background:#1c2128;border-radius:8px;align-items:center;gap:10px;padding:10px 16px;font-size:12px;animation:.25s slideInRight;display:flex}.toast.success{border-color:#10b981}.toast.error{border-color:#ef4444}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes scaleUp{0%{opacity:0;transform:scale(.96)}to{opacity:1;transform:scale(1)}}@keyframes slideInRight{0%{opacity:0;transform:translate(30px)}to{opacity:1;transform:translate(0)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.4}}.animate-pulse{animation:1.5s cubic-bezier(.4,0,.6,1) infinite pulse}
