:root{--bg-primary: #1a1a2e;--bg-secondary: #16213e;--bg-tertiary: #0f3460;--bg-panel: #1e1e3f;--bg-input: #252545;--text-primary: #e0e0e0;--text-secondary: #a0a0b0;--accent: #7c3aed;--accent-hover: #6d28d9;--success: #10b981;--error: #ef4444;--warning: #f59e0b;--border: #2a2a4a;--radius: 6px}*{margin:0;padding:0;box-sizing:border-box}html,body,#root{height:100%;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;background:var(--bg-primary);color:var(--text-primary);font-size:14px}button{cursor:pointer;border:none;border-radius:var(--radius);padding:6px 16px;font-size:13px;font-weight:500;transition:all .15s ease}button.primary{background:var(--accent);color:#fff}button.primary:hover{background:var(--accent-hover)}button.secondary{background:var(--bg-tertiary);color:var(--text-primary)}button.secondary:hover{background:var(--border)}button:disabled{opacity:.5;cursor:not-allowed}input,textarea{background:var(--bg-input);color:var(--text-primary);border:1px solid var(--border);border-radius:var(--radius);padding:6px 10px;font-size:13px;outline:none;font-family:inherit}input:focus,textarea:focus{border-color:var(--accent)}select{background:var(--bg-input);color:var(--text-primary);border:1px solid var(--border);border-radius:var(--radius);padding:6px 10px;font-size:13px;outline:none}.app-layout{display:flex;flex-direction:column;height:100vh}.sidebar{width:280px;min-width:280px;background:var(--bg-secondary);border-right:1px solid var(--border);display:flex;flex-direction:column;overflow-y:auto}.sidebar-header{padding:12px 16px;font-size:16px;font-weight:600;border-bottom:1px solid var(--border);display:flex;align-items:center;gap:8px}.sidebar-section{padding:8px 0}.sidebar-section-title{padding:4px 16px;font-size:11px;text-transform:uppercase;color:var(--text-secondary);letter-spacing:.5px}.sidebar-item{padding:6px 16px 6px 24px;font-size:13px;cursor:pointer;display:flex;align-items:center;gap:6px}.sidebar-item:hover{background:var(--bg-tertiary)}.sidebar-item.active{background:var(--accent);color:#fff}.method-badge{font-size:10px;font-weight:700;padding:1px 4px;border-radius:3px;min-width:36px;text-align:center}.method-GET{color:#10b981}.method-POST{color:#f59e0b}.method-PUT{color:#3b82f6}.method-DELETE{color:#ef4444}.method-PATCH{color:#8b5cf6}.method-HEAD,.method-OPTIONS{color:#6b7280}.main-content{flex:1;display:flex;flex-direction:column;overflow:hidden}.request-bar{display:flex;gap:8px;padding:12px 16px;background:var(--bg-panel);border-bottom:1px solid var(--border);align-items:center}.method-select{width:100px}.url-input{flex:1;font-family:JetBrains Mono,Fira Code,monospace}.tab-bar{display:flex;background:var(--bg-panel);border-bottom:1px solid var(--border)}.tab{padding:8px 20px;font-size:13px;cursor:pointer;border-bottom:2px solid transparent;color:var(--text-secondary)}.tab.active{color:var(--text-primary);border-bottom-color:var(--accent)}.tab:hover{color:var(--text-primary)}.tab-content{flex:1;overflow:auto;padding:16px}.kv-editor{display:flex;flex-direction:column;gap:4px}.kv-row{display:flex;gap:4px;align-items:center}.kv-row input{flex:1}.kv-checkbox{width:16px;height:16px;cursor:pointer}.response-panel{display:flex;flex-direction:column;height:100%}.response-header{display:flex;align-items:center;gap:12px;padding:8px 16px;background:var(--bg-panel);border-bottom:1px solid var(--border)}.status-code{font-weight:700;font-size:14px}.status-2xx{color:var(--success)}.status-3xx{color:var(--warning)}.status-4xx{color:#f97316}.status-5xx{color:var(--error)}.response-body{flex:1;overflow:auto;padding:12px 16px;font-family:JetBrains Mono,Fira Code,monospace;font-size:13px;white-space:pre-wrap;word-break:break-all}.loading{display:flex;align-items:center;justify-content:center;height:100%;color:var(--text-secondary)}.split-view{display:flex;flex-direction:column;height:100%}.split-top{flex:1;overflow:hidden;border-bottom:1px solid var(--border)}.split-bottom{flex:1;overflow:hidden}.script-section{display:flex;flex-direction:column;gap:8px}.script-info{font-size:12px;color:var(--text-secondary);padding:4px 0}.script-result{background:var(--bg-input);border:1px solid var(--border);border-radius:var(--radius);padding:12px;font-family:JetBrains Mono,Fira Code,monospace;font-size:12px;max-height:200px;overflow:auto}.assertion-item{padding:4px 0;display:flex;align-items:center;gap:6px}.assertion-pass{color:var(--success)}.assertion-fail{color:var(--error)}
