*,*:before,*:after{box-sizing:border-box}*{margin:0}html{interpolate-size:allow-keywords}body{line-height:1.5;-webkit-font-smoothing:antialiased}img,picture,video,canvas,svg{display:block;max-width:100%}input,button,textarea,select{font:inherit}p{overflow-wrap:break-word;text-wrap:pretty}h1,h2,h3,h4,h5,h6{overflow-wrap:break-word;text-wrap:balance}#root,#app{isolation:isolate}:root{font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Open Sans,Helvetica Neue,sans-serif;color-scheme:light dark;--sidebar-width: 220px;--color-bg: #ffffff;--color-bg-secondary: #f5f5f5;--color-bg-tertiary: #ebebeb;--color-border: #ddd;--color-text: #333;--color-text-secondary: #666;--color-text-muted: #999;--color-accent: #ff6c37;--color-accent-hover: #e55a27;--sidebar-bg: #2c2c2c;--sidebar-text: #e0e0e0;--sidebar-link-hover: #3a3a3a;--sidebar-link-active: #ff6c37;--method-get: #2e7d32;--method-post: #1565c0;--method-put: #e65100;--method-patch: #f57f17;--method-delete: #c62828;--method-head: #546e7a;--method-options: #546e7a;--status-2xx: #2e7d32;--status-3xx: #1565c0;--status-4xx: #e65100;--status-5xx: #c62828;--tab-bg: transparent;--tab-active-bg: #fff;--tab-active-border: #ff6c37;--tab-border: #ddd}@media(prefers-color-scheme:dark){:root{--color-bg: #1a1a1a;--color-bg-secondary: #242424;--color-bg-tertiary: #2e2e2e;--color-border: #3a3a3a;--color-text: #e0e0e0;--color-text-secondary: #aaa;--color-text-muted: #666;--tab-active-bg: #2c2c2c;--tab-border: #3a3a3a}}body{min-height:100dvh;background:var(--color-bg);color:var(--color-text);margin:0}.app-layout{display:flex;min-height:100dvh}.app-main{flex:1;overflow-y:auto;background:var(--color-bg)}.sidebar{width:var(--sidebar-width);min-width:var(--sidebar-width);background:var(--sidebar-bg);color:var(--sidebar-text);display:flex;flex-direction:column;padding:0;position:sticky;top:0;height:100dvh;overflow-y:auto}.sidebar-title{padding:1.25rem 1rem;font-size:1.1rem;font-weight:700;color:var(--color-accent);border-bottom:1px solid #3a3a3a;letter-spacing:.02em}.sidebar-nav{display:flex;flex-direction:column;padding:.5rem 0}.sidebar-link{display:block;padding:.65rem 1rem;color:var(--sidebar-text);text-decoration:none;font-size:.9rem;transition:background .15s}.sidebar-link:hover{background:var(--sidebar-link-hover)}.sidebar-link.active{color:var(--sidebar-link-active);font-weight:600;border-left:3px solid var(--color-accent);padding-left:calc(1rem - 3px)}.sidebar-env{margin-top:auto;padding:1rem;border-top:1px solid #3a3a3a}.sidebar-env-label{display:block;font-size:.75rem;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.05em;margin-bottom:.4rem}.sidebar-env-select{width:100%;background:#3a3a3a;color:var(--sidebar-text);border:1px solid #555;border-radius:4px;padding:.4rem .5rem;font-size:.85rem}.sidebar-env-active{margin-top:.4rem;font-size:.8rem;color:var(--color-accent)}.request-builder{padding:1.5rem;display:flex;flex-direction:column;gap:1rem}.url-bar{display:flex;gap:.5rem;align-items:center}.url-input{flex:1;padding:.6rem .75rem;border:1px solid var(--color-border);border-radius:4px;background:var(--color-bg);color:var(--color-text);font-size:.95rem}.url-input:focus{outline:none;border-color:var(--color-accent)}.send-btn{padding:.6rem 1.25rem;background:var(--color-accent);color:#fff;border:none;border-radius:4px;font-size:.95rem;font-weight:600;cursor:pointer;white-space:nowrap}.send-btn:hover:not(:disabled){background:var(--color-accent-hover)}.send-btn:disabled{opacity:.5;cursor:not-allowed}.method-selector{padding:.6rem .5rem;border:1px solid var(--color-border);border-radius:4px;font-size:.85rem;font-weight:600;cursor:pointer;background:var(--color-bg)}.method-get{color:var(--method-get)}.method-post{color:var(--method-post)}.method-put{color:var(--method-put)}.method-patch{color:var(--method-patch)}.method-delete{color:var(--method-delete)}.method-head{color:var(--method-head)}.method-options{color:var(--method-options)}.method-badge{display:inline-block;font-size:.75rem;font-weight:700;padding:.1rem .4rem;border-radius:3px;text-transform:uppercase;min-width:3.5rem;text-align:center}.method-badge.method-get{background:#e8f5e9;color:var(--method-get)}.method-badge.method-post{background:#e3f2fd;color:var(--method-post)}.method-badge.method-put{background:#fff3e0;color:var(--method-put)}.method-badge.method-patch{background:#fffde7;color:var(--method-patch)}.method-badge.method-delete{background:#ffebee;color:var(--method-delete)}.method-badge.method-head{background:#eceff1;color:var(--method-head)}.method-badge.method-options{background:#eceff1;color:var(--method-options)}@media(prefers-color-scheme:dark){.method-badge.method-get{background:#1b3a1e}.method-badge.method-post{background:#0d2744}.method-badge.method-put{background:#3d2000}.method-badge.method-patch{background:#3d3400}.method-badge.method-delete{background:#3d0e0e}.method-badge.method-head,.method-badge.method-options{background:#1a2427}}.request-tabs,.response-viewer{border:1px solid var(--color-border);border-radius:6px;overflow:hidden}.tabs-header{display:flex;border-bottom:1px solid var(--color-border);background:var(--color-bg-secondary)}.tab-btn{padding:.6rem 1rem;background:var(--tab-bg);border:none;border-bottom:2px solid transparent;cursor:pointer;font-size:.875rem;color:var(--color-text-secondary);transition:all .15s}.tab-btn:hover{color:var(--color-text)}.tab-btn.active{color:var(--color-accent);border-bottom-color:var(--color-accent);font-weight:600}.tabs-content{padding:1rem;background:var(--color-bg)}.kv-editor{display:flex;flex-direction:column;gap:.4rem}.kv-row{display:flex;align-items:center;gap:.5rem}.kv-input{flex:1;padding:.4rem .5rem;border:1px solid var(--color-border);border-radius:4px;background:var(--color-bg);color:var(--color-text);font-size:.875rem}.kv-input:focus{outline:none;border-color:var(--color-accent)}.kv-delete{background:none;border:none;color:var(--color-text-muted);cursor:pointer;font-size:1.2rem;padding:0 .25rem;line-height:1}.kv-delete:hover{color:var(--method-delete)}.kv-add{align-self:flex-start;margin-top:.25rem;background:none;border:1px dashed var(--color-border);border-radius:4px;color:var(--color-text-secondary);cursor:pointer;font-size:.85rem;padding:.3rem .75rem}.kv-add:hover{border-color:var(--color-accent);color:var(--color-accent)}.body-editor{display:flex;flex-direction:column;gap:.75rem}.body-type-selector{display:flex;gap:.5rem;flex-wrap:wrap}.body-type-option{display:flex;align-items:center;gap:.3rem;cursor:pointer;font-size:.875rem;padding:.3rem .6rem;border-radius:4px;border:1px solid var(--color-border);background:var(--color-bg-secondary)}.body-type-option.active{border-color:var(--color-accent);background:color-mix(in srgb,var(--color-accent) 10%,var(--color-bg));color:var(--color-accent)}.body-type-option input[type=radio]{display:none}.body-content{width:100%;min-height:200px;padding:.6rem;border:1px solid var(--color-border);border-radius:4px;background:var(--color-bg);color:var(--color-text);font-family:Courier New,Courier,monospace;font-size:.875rem;resize:vertical;box-sizing:border-box}.body-content:focus{outline:none;border-color:var(--color-accent)}.auth-editor{display:flex;flex-direction:column;gap:.75rem}.auth-type-row,.auth-fields{display:flex;flex-direction:column;gap:.4rem}.auth-editor label{font-size:.85rem;color:var(--color-text-secondary)}.auth-editor input,.auth-editor select{padding:.4rem .5rem;border:1px solid var(--color-border);border-radius:4px;background:var(--color-bg);color:var(--color-text);font-size:.875rem;max-width:400px}.response-meta{display:flex;align-items:center;gap:1rem;padding:.75rem 1rem;border-bottom:1px solid var(--color-border);background:var(--color-bg-secondary);flex-wrap:wrap}.status-badge{font-weight:700;font-size:.9rem;padding:.2rem .6rem;border-radius:4px}.status-2xx,.status-badge.status-2xx{background:#e8f5e9;color:var(--status-2xx)}.status-3xx,.status-badge.status-3xx{background:#e3f2fd;color:var(--status-3xx)}.status-4xx,.status-badge.status-4xx{background:#fff3e0;color:var(--status-4xx)}.status-5xx,.status-badge.status-5xx{background:#ffebee;color:var(--status-5xx)}@media(prefers-color-scheme:dark){.status-2xx,.status-badge.status-2xx{background:#1b3a1e}.status-3xx,.status-badge.status-3xx{background:#0d2744}.status-4xx,.status-badge.status-4xx{background:#3d2000}.status-5xx,.status-badge.status-5xx{background:#3d0e0e}}.response-time,.response-size{font-size:.85rem;color:var(--color-text-secondary)}.copy-btn{margin-left:auto;padding:.3rem .75rem;background:var(--color-bg-tertiary);border:1px solid var(--color-border);border-radius:4px;cursor:pointer;font-size:.85rem;color:var(--color-text)}.copy-btn:hover{border-color:var(--color-accent);color:var(--color-accent)}.response-loading,.response-empty{padding:2rem;text-align:center;color:var(--color-text-muted)}.cors-error{padding:1.5rem;background:#fff3e0;border-left:4px solid var(--method-delete);margin:0}@media(prefers-color-scheme:dark){.cors-error{background:#2d1a00}}.cors-error strong{color:var(--method-delete)}.cors-error code{background:var(--color-bg-tertiary);padding:.1rem .3rem;border-radius:3px;font-family:Courier New,monospace;font-size:.85em}.response-body{margin:0;padding:1rem;font-family:Courier New,Courier,monospace;font-size:.875rem;overflow-x:auto;white-space:pre-wrap;word-break:break-all}.json-key{color:#9c27b0}.json-string{color:#2e7d32}.json-number{color:#1565c0}.json-boolean{color:#e65100}.json-null{color:#c62828}.json-punctuation{color:var(--color-text-secondary)}.json-plain{color:var(--color-text)}@media(prefers-color-scheme:dark){.json-key{color:#ce93d8}.json-string{color:#a5d6a7}.json-number{color:#90caf9}.json-boolean{color:#ffcc80}.json-null{color:#ef9a9a}}.headers-table{width:100%;border-collapse:collapse;font-size:.875rem}.headers-table th,.headers-table td{text-align:left;padding:.4rem .6rem;border-bottom:1px solid var(--color-border)}.headers-table th{background:var(--color-bg-secondary);font-weight:600;color:var(--color-text-secondary)}.header-key{font-weight:500;color:#9c27b0}@media(prefers-color-scheme:dark){.header-key{color:#ce93d8}}.save-bar{display:flex;gap:.5rem;align-items:center;flex-wrap:wrap}.save-name-input,.save-collection-select{padding:.4rem .6rem;border:1px solid var(--color-border);border-radius:4px;background:var(--color-bg);color:var(--color-text);font-size:.875rem}.save-name-input{flex:1;min-width:150px}.save-btn{padding:.4rem .9rem;background:var(--color-bg-secondary);border:1px solid var(--color-border);border-radius:4px;cursor:pointer;font-size:.875rem;color:var(--color-text)}.save-btn:hover{border-color:var(--color-accent);color:var(--color-accent)}.save-msg{font-size:.85rem;color:var(--status-2xx)}.save-hint{font-size:.875rem;color:var(--color-text-muted)}.link-btn{background:none;border:none;color:var(--color-accent);cursor:pointer;font-size:inherit;padding:0;text-decoration:underline}.collections-page,.history-page,.environments-page{padding:1.5rem}h1{margin:0 0 1.25rem;font-size:1.25rem;font-weight:700}.page-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:1.25rem}.page-header h1{margin:0}.empty-msg{color:var(--color-text-muted);font-size:.9rem}.empty-msg.small{font-size:.8rem;margin:.25rem 0}.create-collection,.create-env{display:flex;gap:.5rem;margin-bottom:1.5rem;flex-wrap:wrap}.create-collection input,.create-env input{flex:1;min-width:200px;padding:.5rem .75rem;border:1px solid var(--color-border);border-radius:4px;background:var(--color-bg);color:var(--color-text);font-size:.9rem}.create-collection button,.create-env button{padding:.5rem 1rem;background:var(--color-accent);color:#fff;border:none;border-radius:4px;cursor:pointer;font-size:.9rem;font-weight:600}.create-collection button:hover,.create-env button:hover{background:var(--color-accent-hover)}.collections-list,.environments-list{display:flex;flex-direction:column;gap:1rem}.collection-item,.env-item{border:1px solid var(--color-border);border-radius:6px;overflow:hidden}.collection-header,.env-header{display:flex;align-items:center;justify-content:space-between;padding:.75rem 1rem;background:var(--color-bg-secondary);border-bottom:1px solid var(--color-border);gap:.5rem}.collection-name,.env-name{margin:0;font-size:1rem;font-weight:600}.env-name{cursor:pointer}.env-name:hover{color:var(--color-accent)}.env-name-input{font-size:1rem;font-weight:600;padding:.2rem .5rem;border:1px solid var(--color-accent);border-radius:4px;background:var(--color-bg);color:var(--color-text);flex:1}.active-badge{font-size:.75rem;font-weight:400;color:var(--color-accent)}.env-actions{display:flex;gap:.5rem;align-items:center}.active-btn{padding:.3rem .75rem;border:1px solid var(--color-border);border-radius:4px;cursor:pointer;font-size:.85rem;background:var(--color-bg-secondary);color:var(--color-text)}.active-btn.active{background:color-mix(in srgb,var(--color-accent) 15%,var(--color-bg));border-color:var(--color-accent);color:var(--color-accent)}.delete-btn{padding:.3rem .75rem;background:none;border:1px solid var(--color-border);border-radius:4px;cursor:pointer;font-size:.85rem;color:var(--method-delete)}.delete-btn:hover{background:#ffebee}@media(prefers-color-scheme:dark){.delete-btn:hover{background:#3d0e0e}}.delete-btn.small{padding:.2rem .5rem;font-size:1rem}.saved-requests{list-style:none;margin:0;padding:0}.saved-request-item{display:flex;align-items:center;border-bottom:1px solid var(--color-border)}.saved-request-item:last-child{border-bottom:none}.load-request-btn{flex:1;display:flex;align-items:center;gap:.75rem;padding:.6rem 1rem;background:none;border:none;cursor:pointer;text-align:left;color:var(--color-text);font-size:.875rem}.load-request-btn:hover{background:var(--color-bg-secondary)}.request-name{font-weight:500}.request-url{color:var(--color-text-muted);font-size:.8rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:300px}.history-list{list-style:none;margin:0;padding:0;border:1px solid var(--color-border);border-radius:6px;overflow:hidden}.history-item{border-bottom:1px solid var(--color-border)}.history-item:last-child{border-bottom:none}.history-load-btn{width:100%;display:flex;align-items:center;gap:.75rem;padding:.65rem 1rem;background:none;border:none;cursor:pointer;text-align:left;color:var(--color-text);font-size:.875rem}.history-load-btn:hover{background:var(--color-bg-secondary)}.history-url{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.history-time{font-size:.8rem;color:var(--color-text-muted);white-space:nowrap}.env-item>.kv-editor{padding:1rem}#app{max-width:none;margin-inline:0;padding:0}
