:root{--bg:#f6f7f8;--surface:#fff;--surface-2:#f0f2f4;--border:#dfe3e8;--text:#15191e;--muted:#5f6b77;--accent:#0f766e;--accent-soft:#e2f4f1;--on-accent:#fff;--danger:#c22f3f;--danger-soft:#fdecee;--warn:#a15c00;--warn-soft:#fff4e0;--ok:#18794e;--ok-soft:#e4f5ec;--m-get:#18794e;--m-post:#b45309;--m-put:#1d4ed8;--m-patch:#7c3aed;--m-delete:#c22f3f;--m-other:#5f6b77;--j-string:#0f766e;--j-number:#1d4ed8;--j-bool:#b45309;--radius:10px;--mono:ui-monospace, "SF Mono", "JetBrains Mono", Menlo, Consolas, monospace;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}@media (prefers-color-scheme:dark){:root{--bg:#0e1114;--surface:#161a1f;--surface-2:#1e242a;--border:#2a323a;--text:#e6eaee;--muted:#8d99a5;--accent:#2dd4bf;--accent-soft:#123532;--on-accent:#06201d;--danger:#ff7b86;--danger-soft:#3a171b;--warn:#f6b35b;--warn-soft:#33250f;--ok:#5fd39b;--ok-soft:#12301f;--m-get:#5fd39b;--m-post:#f6b35b;--m-put:#7aa7ff;--m-patch:#b99bff;--m-delete:#ff7b86;--m-other:#8d99a5;--j-string:#5eead4;--j-number:#93b4ff;--j-bool:#f6b35b;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}}*{box-sizing:border-box}body{background:var(--bg);color:var(--text);margin:0;font:14px/1.5 -apple-system,BlinkMacSystemFont,Segoe UI,Inter,sans-serif}h1{letter-spacing:-.01em;margin:0 0 4px;font-size:22px}h2{margin:0;font-size:17px}code,.mono{font-family:var(--mono);font-size:12.5px}code{background:var(--surface-2);border-radius:4px;padding:1px 5px}kbd{font-family:var(--mono);border:1px solid var(--border);background:var(--surface);border-bottom-width:2px;border-radius:4px;padding:1px 5px;font-size:11.5px}a{color:var(--accent)}.muted{color:var(--muted)}.small{font-size:12.5px}.error{color:var(--danger)}.ok-text{color:var(--ok)}.label{letter-spacing:.08em;text-transform:uppercase;color:var(--muted);font-size:11px;font-weight:600}.center{align-content:center;place-items:center;gap:8px;min-height:100vh;padding:16px;display:grid}.row{align-items:center;gap:8px;display:flex}.wrap{flex-wrap:wrap}input,select,textarea{border:1px solid var(--border);background:var(--surface);width:100%;min-width:0;color:var(--text);font:inherit;border-radius:7px;padding:7px 10px}input.mono,textarea.mono{font-size:13px}input[type=checkbox],input[type=radio]{width:auto;accent-color:var(--accent);margin:0}input:focus,select:focus,textarea:focus,button:focus-visible,a:focus-visible{outline:2px solid var(--accent);outline-offset:1px}[aria-invalid=true],.invalid{border-color:var(--danger)}textarea{resize:vertical}.btn{border:1px solid var(--border);background:var(--surface);color:var(--text);font:inherit;white-space:nowrap;cursor:pointer;border-radius:7px;justify-content:center;align-items:center;gap:6px;padding:7px 14px;font-weight:500;text-decoration:none;display:inline-flex}.btn:hover:not(:disabled){border-color:var(--muted)}.btn:disabled{opacity:.5;cursor:default}.btn-primary{background:var(--accent);border-color:var(--accent);color:var(--on-accent)}.btn-primary:hover:not(:disabled){border-color:var(--accent);filter:brightness(1.08)}.btn-sm{padding:4px 10px;font-size:13px}.link-btn{color:var(--muted);font:inherit;cursor:pointer;background:0 0;border:0;padding:0}.link-btn:hover{color:var(--text)}.link-btn.small{font-size:13px}.icon-btn{width:26px;height:26px;color:var(--muted);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:6px;flex-shrink:0;place-items:center;font-size:12.5px;display:inline-grid}.icon-btn:hover:not(:disabled){background:var(--surface-2);color:var(--text)}.icon-btn:disabled{opacity:.3;cursor:default}.count{background:var(--surface-2);min-width:18px;color:var(--muted);text-align:center;border-radius:999px;margin-left:4px;padding:0 5px;font-size:11px;font-weight:600;display:inline-block}.panel{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius)}.chip{overflow-wrap:anywhere;border-radius:6px;padding:2px 8px;font-size:12.5px;display:inline-block}.chip-ok{background:var(--ok-soft);color:var(--ok);font-family:var(--mono);font-size:12px}.chip-warn{background:var(--warn-soft);color:var(--warn)}.chip-bad{background:var(--danger-soft);color:var(--danger)}.method{width:38px;font:700 10.5px/1 var(--mono);letter-spacing:.02em;color:var(--m-other);flex-shrink:0}.m-get{color:var(--m-get)}.m-post{color:var(--m-post)}.m-put{color:var(--m-put)}.m-patch{color:var(--m-patch)}.m-delete{color:var(--m-delete)}.shell{min-height:100vh}.topbar{border-bottom:1px solid var(--border);background:var(--surface);justify-content:space-between;align-items:center;padding:12px 20px;display:flex}.logo{color:var(--text);align-items:center;gap:8px;font-weight:700;text-decoration:none;display:inline-flex}.logo.big{margin:0;font-size:22px}.login{gap:10px;width:100%;max-width:360px;padding:28px;display:grid}.login p{margin:0 0 6px}.page{max-width:860px;margin:0 auto;padding:24px 16px 48px}.page-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:16px;margin:8px 0 20px;display:flex}.page-head p{margin:0}.empty{text-align:center;border:1px dashed var(--border);border-radius:var(--radius);padding:40px 16px}.empty p{max-width:460px;margin:4px auto}.col-list{gap:8px;margin:0;padding:0;list-style:none;display:grid}.col-row{justify-content:space-between;align-items:center;gap:12px;padding:12px 14px;display:flex}.col-title{color:var(--text);font-size:15px;font-weight:600;text-decoration:none}.col-title:hover{color:var(--accent)}.workspace{flex-direction:column;height:100dvh;display:flex}.ws-bar{background:var(--surface);border-bottom:1px solid var(--border);align-items:center;gap:10px;min-width:0;padding:8px 14px;display:flex}.col-name{background:0 0;border-color:#0000;flex:0 320px;padding:5px 8px;font-size:15px;font-weight:650}.col-name:hover{border-color:var(--border)}.save-state{min-width:52px}.ws-actions{align-items:center;gap:8px;margin-left:auto;display:flex}.nav-toggle{display:none}.banner{background:var(--accent-soft);justify-content:space-between;align-items:center;gap:12px;padding:8px 14px;font-size:13px;display:flex}.banner-bad{background:var(--danger-soft);color:var(--danger)}.ws-body{flex:1;grid-template-columns:270px minmax(0,1fr);min-height:0;display:grid;position:relative}.sidebar{border-right:1px solid var(--border);background:var(--surface);padding:8px 6px 16px;overflow-y:auto}.sidebar-empty,.folder-empty{margin:0;padding:4px 12px}.folder-empty{padding-left:28px}.sidebar-actions{gap:6px;padding:10px 8px 0;display:flex}.hover-actions{opacity:0;transition:opacity .1s;display:flex}.folder-head:hover .hover-actions,.folder-head:focus-within .hover-actions,.req-item:hover .hover-actions,.req-item:focus-within .hover-actions{opacity:1}@media (hover:none){.hover-actions{opacity:1}}.folder{margin-top:4px}.folder-head{border-radius:6px;align-items:center;gap:2px;padding-right:2px;display:flex}.folder-head:hover{background:var(--surface-2)}.folder-name{min-width:0;color:var(--text);font:inherit;text-align:left;cursor:pointer;white-space:nowrap;text-overflow:ellipsis;background:0 0;border:0;flex:1;align-items:center;gap:6px;padding:6px 8px;font-size:13px;font-weight:600;display:flex;overflow:hidden}.folder-input{margin:2px 4px;padding:4px 6px;font-size:13px}.caret{color:var(--muted);font-size:10px;transition:transform .12s;display:inline-block}.caret.open{transform:rotate(90deg)}@media (prefers-reduced-motion:reduce){.caret,.hover-actions{transition:none}}.folder .req-list{padding-left:14px}.req-list{margin:0;padding:0;list-style:none}.req-item{border-radius:6px;align-items:center;display:flex}.req-item:hover{background:var(--surface-2)}.req-item.selected{background:var(--accent-soft)}.req-link{min-width:0;color:var(--text);font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;flex:1;align-items:center;gap:6px;padding:6px 8px;font-size:13px;display:flex}.req-name{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.dot{background:var(--warn);border-radius:50%;flex-shrink:0;width:6px;height:6px}.ws-main{grid-template-rows:auto 1fr;align-content:start;min-width:0;display:grid;overflow-y:auto}.ws-empty{margin:32px}.editor{border-bottom:1px solid var(--border);background:var(--surface);gap:10px;padding:14px 18px 12px;display:grid}.editor-top{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;display:flex}.name-input{background:0 0;border-color:#0000;flex:220px;margin-left:-6px;padding:4px 6px;font-size:15px;font-weight:600}.name-input:hover{border-color:var(--border)}.editor-tools{flex-wrap:wrap}.select-sm{width:auto;max-width:180px;padding:4px 8px;font-size:13px}.url-bar{gap:0;display:flex}.method-select{width:108px;font:700 13px var(--mono);background:var(--surface-2);border-radius:7px 0 0 7px;flex-shrink:0}.url-input{border-left:0;border-radius:0;flex:1}.send-btn{border-radius:0 7px 7px 0;padding:7px 22px}.resolved{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.resolved-url{width:100%;color:var(--muted);overflow-wrap:anywhere;font-size:12px}.tabs{border-bottom:1px solid var(--border);gap:2px;display:flex}.tab{color:var(--muted);font:inherit;cursor:pointer;background:0 0;border:0;border-bottom:2px solid #0000;align-items:center;margin-bottom:-1px;padding:6px 12px;font-size:13px;font-weight:500;display:inline-flex}.tab:hover{color:var(--text)}.tab.active{color:var(--text);border-bottom-color:var(--accent)}.tab-dot{background:var(--accent);border-radius:50%;width:6px;height:6px;margin-left:6px}.tab-panel{min-height:120px}.kv{gap:6px;display:grid}.kv p{margin:0 0 4px}.kv-row{grid-template-columns:auto minmax(0,1fr) minmax(0,1.4fr) auto;align-items:center;gap:6px;display:grid}.kv-row.off input:not([type=checkbox]){opacity:.5}.extract-row{grid-template-columns:minmax(0,1fr) 150px minmax(0,1.4fr) auto}.var-row{grid-template-columns:minmax(0,1fr) minmax(0,1.6fr) auto}.var-hint{grid-column:1/-1;margin-top:-4px;padding-left:2px}.add-row{justify-self:start;padding:2px 0}.body-editor{gap:8px;display:grid}.body-input{tab-size:2;min-height:140px}.radio{cursor:pointer;align-items:center;gap:6px;font-size:13px;display:inline-flex}.response{align-content:start;gap:10px;min-width:0;padding:12px 18px 24px;display:grid}.response-empty{text-align:center;place-items:center;padding:40px 18px}.response-meta{flex-wrap:wrap;align-items:center;gap:12px;font-size:13px;display:flex}.status{font:700 13px var(--mono);border-radius:6px;padding:2px 8px}.status-ok{background:var(--ok-soft);color:var(--ok)}.status-redirect{background:var(--warn-soft);color:var(--warn)}.status-bad{background:var(--danger-soft);color:var(--danger)}.tabs-inline{border-bottom:0;margin-left:auto}.extracted{flex-wrap:wrap;gap:6px;display:flex}.send-error{background:var(--danger-soft);color:var(--danger);overflow-wrap:anywhere;border-radius:8px;padding:12px 14px}.pick-bar{background:var(--accent-soft);border-radius:8px;flex-wrap:wrap;align-items:center;gap:8px;padding:8px 10px;display:flex}.pick-bar input{width:180px;padding:4px 8px}.response-body{border:1px solid var(--border);background:var(--surface);border-radius:8px;min-width:0;max-height:70vh;padding:10px 12px;overflow:auto}.raw{white-space:pre-wrap;overflow-wrap:anywhere;margin:0}.headers-table{border-collapse:collapse;width:100%}.headers-table th,.headers-table td{text-align:left;vertical-align:top;border-bottom:1px solid var(--border);overflow-wrap:anywhere;padding:4px 8px}.headers-table th{color:var(--muted);width:32%;font-weight:600}.headers-table tr:last-child>*{border-bottom:0}.json-tree{line-height:1.65}.tree-hint{margin:0 0 6px;font-family:inherit}.jchildren{border-left:1px dashed var(--border);margin-left:3px;padding-left:18px}.jrow{align-items:baseline;gap:6px;min-width:0;display:flex}.jkey{color:var(--text);white-space:nowrap;font-weight:600}.jindex{color:var(--muted)}.jtoggle{font:inherit;color:var(--muted);cursor:pointer;background:0 0;border:0;padding:0}.jval{font:inherit;text-align:left;cursor:pointer;overflow-wrap:anywhere;word-break:break-all;background:0 0;border:0;border-radius:4px;margin:0 -3px;padding:0 3px}.jval:hover{background:var(--accent-soft);outline:1px solid var(--accent)}.j-string{color:var(--j-string)}.j-number{color:var(--j-number)}.j-boolean{color:var(--j-bool)}.j-null{color:var(--muted);font-style:italic}.modal{border:1px solid var(--border);background:var(--surface);width:min(560px,100vw - 32px);max-height:calc(100vh - 48px);color:var(--text);border-radius:12px;padding:0;box-shadow:0 20px 60px #00000040}.modal-wide{width:min(720px,100vw - 32px)}.modal::backdrop{background:#0a0e1273}.modal-head{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:14px 18px;display:flex}.modal-body{gap:12px;padding:16px 18px 18px;display:grid}.modal-body>p{margin:0}.modal-foot{justify-content:flex-end}.steps{gap:4px;margin:0;padding:0;list-style:none;display:grid}.step{background:var(--surface-2);border-radius:8px;grid-template-columns:18px auto minmax(0,1fr) auto;align-items:center;gap:8px;padding:7px 10px;display:grid}.step-icon{text-align:center;color:var(--muted);font-weight:700}.step-ok .step-icon{color:var(--ok)}.step-bad .step-icon{color:var(--danger)}.step-running{outline:1px solid var(--accent)}.step-name{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.step-detail{flex-wrap:wrap;grid-column:3/-1;align-items:center;gap:6px;display:flex}@media (width<=820px){.nav-toggle{display:inline-grid}.hide-narrow,.save-state{display:none}.col-name{flex:auto}.ws-body{grid-template-columns:minmax(0,1fr)}.sidebar{z-index:20;width:min(300px,85vw);transition:transform .18s ease-out;position:absolute;inset:0 auto 0 0;transform:translate(-100%);box-shadow:0 0 40px #0003}.nav-open .sidebar{transform:none}.scrim{z-index:10;background:#0a0e1259;position:absolute;inset:0}.editor,.response{padding-left:14px;padding-right:14px}.kv-row,.extract-row{grid-template-columns:auto minmax(0,1fr) auto}.kv-row>input:nth-of-type(3),.extract-row>input:last-of-type{grid-column:2/3}.extract-row{grid-template-columns:minmax(0,1fr) minmax(0,1fr) auto}.extract-row>input:last-of-type{grid-column:1/3}.var-row{grid-template-columns:minmax(0,1fr) minmax(0,1.4fr) auto}.var-row>input:nth-of-type(2){grid-column:auto}.method-select{width:88px}.send-btn{padding:7px 14px}.tabs-inline{width:100%;margin-left:0}}@media (width<=820px) and (prefers-reduced-motion:reduce){.sidebar{transition:none}}
