@axiomify/cli 6.2.0 → 6.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (26) hide show
  1. package/README.md +24 -1
  2. package/dist/{chunk-YZPZCUKZ.mjs → chunk-RB36UO4V.mjs} +6 -1
  3. package/dist/{dist-IQQ2XGG4.mjs → dist-VAEIFZ3L.mjs} +1 -1
  4. package/dist/index.js +20485 -7266
  5. package/dist/index.mjs +20449 -7229
  6. package/dist/{uws_darwin_arm64_127-NGHTXN5Q.node → uws_darwin_arm64_127-V5DTIWNB.node} +0 -0
  7. package/dist/{uws_darwin_arm64_137-ESY6MPLH.node → uws_darwin_arm64_137-AJYIN3W4.node} +0 -0
  8. package/dist/{uws_darwin_arm64_147-V7BKA3SU.node → uws_darwin_arm64_147-YS3FVXLJ.node} +0 -0
  9. package/dist/{uws_darwin_x64_127-WIZGG7MS.node → uws_darwin_x64_127-7VCP23H2.node} +0 -0
  10. package/dist/{uws_darwin_x64_137-APKZWL4Y.node → uws_darwin_x64_137-EG66YUEP.node} +0 -0
  11. package/dist/{uws_darwin_x64_147-W2HKFQZT.node → uws_darwin_x64_147-OIHEOSJS.node} +0 -0
  12. package/dist/{uws_linux_arm64_127-3CO7NSFJ.node → uws_linux_arm64_127-2N3KTPCY.node} +0 -0
  13. package/dist/{uws_linux_arm64_137-HWEDGGZV.node → uws_linux_arm64_137-S5HGIOI7.node} +0 -0
  14. package/dist/{uws_linux_arm64_147-7UCIYMK2.node → uws_linux_arm64_147-XPRGWGND.node} +0 -0
  15. package/dist/{uws_linux_x64_127-KA4E76LJ.node → uws_linux_x64_127-LJQBDHXM.node} +0 -0
  16. package/dist/{uws_linux_x64_137-DDFLTTJR.node → uws_linux_x64_137-UMR3B5ND.node} +0 -0
  17. package/dist/{uws_linux_x64_147-MJSFREL3.node → uws_linux_x64_147-C7U5Y6TN.node} +0 -0
  18. package/dist/{uws_win32_x64_127-O4US4Y4L.node → uws_win32_x64_127-LP3SUGL6.node} +0 -0
  19. package/dist/{uws_win32_x64_137-L5OZROQ7.node → uws_win32_x64_137-Z7DML3M6.node} +0 -0
  20. package/dist/{uws_win32_x64_147-D7MGKVRG.node → uws_win32_x64_147-KOMROJCV.node} +0 -0
  21. package/package.json +4 -3
  22. package/ui-dist/assets/index-C1t6d4ij.css +1 -0
  23. package/ui-dist/assets/index-DvNeCKR7.js +34 -0
  24. package/ui-dist/favicon.svg +1 -0
  25. package/ui-dist/icons.svg +24 -0
  26. package/ui-dist/index.html +14 -0
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@axiomify/cli",
3
- "version": "6.2.0",
3
+ "version": "6.3.0",
4
4
  "description": "Official CLI for Axiomify — scaffold, dev, build, route inspection, OpenAPI generation, production-readiness checks, host diagnostics, codemod migrations.",
5
5
  "module": "./dist/index.mjs",
6
6
  "exports": {
@@ -11,7 +11,8 @@
11
11
  }
12
12
  },
13
13
  "files": [
14
- "dist"
14
+ "dist",
15
+ "ui-dist"
15
16
  ],
16
17
  "bin": {
17
18
  "axiomify": "./dist/index.js"
@@ -27,7 +28,7 @@
27
28
  "enquirer": "^2.4.1",
28
29
  "esbuild": "^0.28.0",
29
30
  "execa": "^8.0.1",
30
- "graphql": "^16.14.0",
31
+ "graphql": "^16.14.1",
31
32
  "picocolors": "^1.1.1",
32
33
  "yaml": "^2.9.0",
33
34
  "zod-to-json-schema": "^3.25.2"
@@ -0,0 +1 @@
1
+ :root{--bg-primary:#f8fafc;--bg-secondary:#fff;--bg-tertiary:#f1f5f9;--bg-hover:#f1f5f9;--bg-active:#e2e8f0;--text-primary:#0f172a;--text-secondary:#475569;--text-muted:#94a3b8;--border:#e2e8f0;--border-active:#cbd5e1;--accent:#4f46e5;--accent-glow:#4f46e50f;--accent-text:#4f46e5;--success:#10b981;--warning:#f59e0b;--error:#ef4444;--info:#3b82f6;--method-get:#10b981;--method-post:#3b82f6;--method-put:#f59e0b;--method-patch:#f97316;--method-delete:#ef4444;--method-ws:#8b5cf6;--method-head:#64748b;--method-options:#64748b;--radius-sm:6px;--radius-md:10px;--radius-lg:16px;--shadow-sm:0 1px 3px #0000000d, 0 1px 2px #00000008;--shadow-md:0 4px 6px -1px #0000000d, 0 2px 4px -1px #00000008;--shadow-glow:0 0 20px var(--accent-glow);--font-sans:"Inter", -apple-system, BlinkMacSystemFont, sans-serif;--font-mono:"JetBrains Mono", "Fira Code", monospace;--transition:.18s cubic-bezier(.4, 0, .2, 1)}[data-theme=dark]{--bg-primary:#0a0a0f;--bg-secondary:#12121a;--bg-tertiary:#1a1a26;--bg-hover:#22223a;--bg-active:#2a2a44;--text-primary:#e8e8f0;--text-secondary:#9090a8;--text-muted:#606078;--border:#2a2a3e;--border-active:#4a4a6e;--accent:#6c5ce7;--accent-glow:#6c5ce726;--accent-text:#a29bfe;--success:#00d2a0;--warning:#ffc107;--error:#ff6b6b;--info:#54a0ff;--method-get:#00d2a0;--method-post:#54a0ff;--method-put:#ffc107;--method-patch:#fd9644;--method-delete:#ff6b6b;--method-ws:#a29bfe;--method-head:#9090a8;--method-options:#9090a8;--shadow-sm:0 2px 8px #0000004d;--shadow-md:0 4px 20px #0006;--shadow-glow:0 0 30px var(--accent-glow)}[data-theme=dark] .method-GET{background:#00d2a01f}[data-theme=dark] .method-POST{background:#54a0ff1f}[data-theme=dark] .method-PUT{background:#ffc1071f}[data-theme=dark] .method-PATCH{background:#fd96441f}[data-theme=dark] .method-DELETE{background:#ff6b6b1f}[data-theme=dark] .method-WS{background:#a29bfe1f}[data-theme=dark] .method-HEAD,[data-theme=dark] .method-OPTIONS{background:#9090a81f}[data-theme=dark] .deprecated-badge{background:#ff6b6b1f}[data-theme=dark] .finding-card.severity-ok .finding-card-status-icon{background:#00d2a01f}[data-theme=dark] .finding-card.severity-warn .finding-card-status-icon{background:#ffc1071f}[data-theme=dark] .finding-card.severity-fail .finding-card-status-icon{background:#ff6b6b1f}.theme-toggle-btn{background:var(--bg-tertiary);border:1px solid var(--border);border-radius:var(--radius-sm);cursor:pointer;width:34px;height:34px;transition:var(--transition);color:var(--text-primary);justify-content:center;align-items:center;margin-left:16px;font-size:16px;display:flex}.theme-toggle-btn:hover{background:var(--bg-hover);border-color:var(--border-active)}.tester-grid{grid-template-columns:350px 1fr;gap:20px;display:grid}.playground-grid{grid-template-columns:1fr 1fr;gap:20px;display:grid}.console-terminal{color:#a9b1d6;font-family:var(--font-mono);border-radius:var(--radius-md);background:#0d0d12;border:1px solid #1a1b26;flex:1;padding:16px;font-size:13px;line-height:1.5;overflow-y:auto}.console-line{white-space:pre-wrap;word-break:break-all;margin-bottom:4px}.console-line.error{color:#f7768e}.console-line.warn{color:#e0af68}.console-line.info{color:#7aa2f7}.ws-badge{border-radius:var(--radius-sm);text-transform:uppercase;align-items:center;gap:6px;padding:4px 8px;font-size:11px;font-weight:600;display:inline-flex}.ws-badge.disconnected{color:var(--error);background:#ef444414}.ws-badge.connecting{color:var(--warning);background:#f59e0b14}.ws-badge.connected{color:var(--success);background:#10b98114}.ws-log-item{border-radius:var(--radius-sm);border:1px solid var(--border);flex-direction:column;gap:4px;margin-bottom:8px;padding:10px 12px;display:flex}.ws-log-item.sent{border-left:3px solid var(--accent);background:#4f46e505}.ws-log-item.received{border-left:3px solid var(--success);background:#10b98105}.ws-log-item.info{background:var(--bg-tertiary);border-left:3px solid var(--text-muted)}.active-tab-btn{background:var(--accent)!important;color:#fff!important;border-color:var(--accent)!important}.timeline-row.clickable{cursor:pointer;border-radius:var(--radius-sm);padding:6px;transition:background .2s}.timeline-row.clickable:hover{background:var(--bg-hover)!important}.ws-badge.replaying{color:#000;background:#eab308}.assertion-passed{color:var(--success);font-weight:700}.assertion-failed{color:var(--error);font-weight:700}.source-viewer-line{gap:16px;padding:2px 4px;display:flex}.source-viewer-line.target{border-left:3px solid var(--error);background:#ef444414;padding-left:1px}.source-viewer-num{text-align:right;width:40px;color:var(--text-muted);-webkit-user-select:none;user-select:none}.source-viewer-text{white-space:pre;flex:1;overflow-x:auto}.modal-overlay{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:1000;background:#0009;justify-content:center;align-items:center;padding:32px;display:none;position:fixed;inset:0}.modal-overlay.active{display:flex}.filter-pills{flex-wrap:wrap;gap:8px;margin-bottom:16px;display:flex}.filter-pill{border-radius:var(--radius-sm);background:var(--bg-secondary);border:1px solid var(--border);color:var(--text-secondary);cursor:pointer;transition:var(--transition);-webkit-user-select:none;user-select:none;padding:6px 12px;font-size:12px;font-weight:500}.filter-pill:hover{background:var(--bg-hover);color:var(--text-primary)}.filter-pill.active{background:var(--accent);border-color:var(--accent);color:#fff;font-weight:600}.hook-handlers-list{border-top:1px solid var(--border);flex-direction:column;gap:6px;margin-top:10px;padding-top:8px;display:flex}.hook-handler-item{font-family:var(--font-mono);color:var(--text-secondary);background:var(--bg-tertiary);border-radius:var(--radius-sm);border:1px solid var(--border);align-items:center;gap:6px;padding:4px 8px;font-size:11px;display:flex}.hook-handler-icon{color:var(--accent-text);font-size:10px}*{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--font-sans);background:var(--bg-primary);color:var(--text-primary);-webkit-font-smoothing:antialiased;min-height:100vh;overflow-x:hidden}.app-layout{grid-template-rows:60px 1fr;grid-template-columns:260px 1fr;min-height:100vh;display:grid}.header{background:var(--bg-secondary);border-bottom:1px solid var(--border);z-index:10;grid-area:1/2;align-items:center;gap:16px;padding:0 24px;display:flex}.header-title{color:var(--text-primary);font-size:16px;font-weight:600}.header-stats{color:var(--text-secondary);gap:20px;margin-left:auto;font-size:13px;display:flex}.header-stat-value{color:var(--text-primary);margin-right:4px;font-weight:600}.sidebar{background:var(--bg-secondary);border-right:1px solid var(--border);flex-direction:column;grid-area:1/1/span 2;gap:4px;padding:20px 16px;display:flex;overflow-y:auto}.sidebar-brand{border-bottom:1px solid var(--border);align-items:center;gap:10px;margin-bottom:16px;padding:0 12px 20px;display:flex}.sidebar-brand .header-logo-icon{background:linear-gradient(135deg, var(--accent), #8b5cf6);border-radius:var(--radius-sm);color:#fff;width:28px;height:28px;box-shadow:var(--shadow-glow);justify-content:center;align-items:center;font-size:14px;font-weight:700;display:flex}.sidebar-brand span{letter-spacing:-.02em;color:var(--text-primary);font-size:15px;font-weight:700}.sidebar-brand .header-badge{background:var(--accent-glow);color:var(--accent-text);text-transform:uppercase;letter-spacing:.05em;border:1px solid #4f46e533;border-radius:20px;margin-left:auto;padding:2px 6px;font-size:10px;font-weight:600}.sidebar-section{text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted);padding:12px 12px 6px;font-size:10px;font-weight:600}.nav-item{border-radius:var(--radius-sm);color:var(--text-secondary);cursor:pointer;transition:all var(--transition);border:1px solid #0000;align-items:center;gap:10px;padding:10px 12px;font-size:13px;font-weight:500;text-decoration:none;display:flex}.nav-item:hover{background:var(--bg-hover);color:var(--text-primary)}.nav-item.active{background:var(--accent-glow);color:var(--accent-text);border-color:#4f46e526}.nav-icon{text-align:center;flex-shrink:0;width:20px;font-size:16px}.nav-badge{background:var(--bg-tertiary);color:var(--text-muted);border-radius:10px;margin-left:auto;padding:1px 7px;font-size:11px;font-weight:600}.nav-item.active .nav-badge{color:var(--accent-text);background:#4f46e526}.main{background:var(--bg-primary);padding:24px;overflow-y:auto}.panel{display:none}.panel.active{display:block}.panel-header{margin-bottom:20px}.panel-title{letter-spacing:-.02em;margin-bottom:4px;font-size:22px;font-weight:700}.panel-subtitle{color:var(--text-secondary);font-size:13px}.search-bar{gap:10px;margin-bottom:16px;display:flex}.search-input{background:var(--bg-secondary);border:1px solid var(--border);border-radius:var(--radius-sm);font-size:13px;font-family:var(--font-sans);color:var(--text-primary);transition:border-color var(--transition);outline:none;flex:1;padding:10px 14px}.search-input:focus{border-color:var(--accent);box-shadow:0 0 0 3px #4f46e51a}.search-input::placeholder{color:var(--text-muted)}.route-table{border-collapse:separate;border-spacing:0;width:100%}.route-table th{text-align:left;text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted);border-bottom:1px solid var(--border);background:var(--bg-primary);z-index:1;padding:10px 14px;font-size:11px;font-weight:600;position:sticky;top:0}.route-table td{border-bottom:1px solid var(--border);vertical-align:middle;transition:background var(--transition);padding:12px 14px;font-size:13px}.route-table tr:hover td{background:var(--bg-hover)}.method-badge{font-size:11px;font-weight:700;font-family:var(--font-mono);letter-spacing:.04em;text-transform:uppercase;border-radius:4px;padding:3px 8px;display:inline-block}.method-GET{color:var(--method-get);background:#10b98114}.method-POST{color:var(--method-post);background:#3b82f614}.method-PUT{color:var(--method-put);background:#f59e0b14}.method-PATCH{color:var(--method-patch);background:#f9731614}.method-DELETE{color:var(--method-delete);background:#ef444414}.method-WS{color:var(--method-ws);background:#8b5cf614}.method-HEAD{color:var(--method-head);background:#64748b14}.method-OPTIONS{color:var(--method-options);background:#64748b14}.route-path{font-family:var(--font-mono);font-size:13px}.route-param{color:var(--warning)}.validation-pills{flex-wrap:wrap;gap:4px;display:flex}.validation-pill{background:var(--bg-tertiary);color:var(--text-secondary);text-transform:uppercase;letter-spacing:.04em;border-radius:4px;padding:2px 6px;font-size:10px;font-weight:600}.tag-pill{background:var(--accent-glow);color:var(--accent-text);border-radius:4px;padding:2px 6px;font-size:10px;font-weight:500}.deprecated-badge{color:var(--error);background:#ef444414;border-radius:4px;padding:2px 6px;font-size:10px;font-weight:600}.empty-state{text-align:center;color:var(--text-muted);padding:48px 24px}.empty-state-icon{opacity:.5;margin-bottom:16px;font-size:48px}.empty-state-message{font-size:14px}.metric-progress-container{background:var(--bg-tertiary);border:1px solid var(--border);border-radius:4px;width:100%;height:8px;margin-top:8px;overflow:hidden}.metric-progress-bar{background:var(--accent);width:0%;height:100%;transition:width .3s}.metric-progress-bar.success{background:var(--success)}.metric-progress-bar.warning{background:var(--warning)}.metric-progress-bar.error{background:var(--error)}.env-table-container{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--bg-secondary);box-shadow:var(--shadow-sm);margin-top:24px;overflow:hidden}.env-search-bar{border-bottom:1px solid var(--border);background:var(--bg-secondary);align-items:center;gap:12px;padding:12px 16px;display:flex}.env-table{border-collapse:separate;border-spacing:0;width:100%}.env-table th{background:var(--bg-tertiary);text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);border-bottom:1px solid var(--border);text-align:left;padding:10px 16px;font-size:11px;font-weight:600}.env-table td{border-bottom:1px solid var(--border);font-size:13px;font-family:var(--font-mono);word-break:break-all;padding:10px 16px}.env-table tr:last-child td{border-bottom:none}.env-key{color:var(--accent-text);width:35%;font-weight:500}.env-val{color:var(--text-secondary)}.schema-card{background:var(--bg-secondary);border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);transition:border-color var(--transition), box-shadow var(--transition);margin-bottom:12px;overflow:hidden}.schema-card:hover{border-color:var(--border-active);box-shadow:var(--shadow-md)}.schema-card-header{cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:10px;padding:14px 16px;display:flex}.schema-card-header:hover{background:var(--bg-hover)}.schema-card-chevron{transition:transform var(--transition);color:var(--text-muted);font-size:12px}.schema-card.open .schema-card-chevron{transform:rotate(90deg)}.schema-card-body{padding:0 16px 16px;display:none}.schema-card.open .schema-card-body{display:block}pre.schema-json{background:var(--bg-primary);border:1px solid var(--border);border-radius:var(--radius-sm);font-family:var(--font-mono);color:var(--text-secondary);margin-top:10px;padding:14px;font-size:12px;line-height:1.6;overflow-x:auto}.schema-section-label{text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted);margin-top:12px;margin-bottom:6px;font-size:11px;font-weight:600}.finding-card{background:var(--bg-secondary);border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);transition:border-color var(--transition), box-shadow var(--transition);border-left:4px solid var(--border);margin-bottom:12px;overflow:hidden}.finding-card:hover{border-color:var(--border-active);box-shadow:var(--shadow-md)}.finding-card.severity-ok{border-left-color:var(--success)}.finding-card.severity-warn{border-left-color:var(--warning)}.finding-card.severity-fail{border-left-color:var(--error)}.finding-card-header{cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:12px;padding:14px 16px;display:flex}.finding-card-header:hover{background:var(--bg-hover)}.finding-card-status-icon{border-radius:50%;justify-content:center;align-items:center;width:24px;height:24px;font-size:16px;display:flex}.finding-card.severity-ok .finding-card-status-icon{color:var(--success);background:#10b98114}.finding-card.severity-warn .finding-card-status-icon{color:var(--warning);background:#f59e0b14}.finding-card.severity-fail .finding-card-status-icon{color:var(--error);background:#ef444414}.finding-card-title{font-size:14px;font-weight:500}.finding-card-area{text-transform:uppercase;letter-spacing:.05em;background:var(--bg-tertiary);color:var(--text-secondary);border-radius:4px;margin-left:auto;padding:2px 6px;font-size:10px;font-weight:600}.finding-card-body{background:var(--bg-primary);border-top:1px solid var(--border);padding:12px 16px 16px 52px;display:none}.finding-card.open .finding-card-body{display:block}.finding-card-hint{color:var(--text-secondary);font-size:13px;line-height:1.5}.info-grid{grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:12px;margin-bottom:24px;display:grid}.info-card{background:var(--bg-secondary);border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);transition:border-color var(--transition), box-shadow var(--transition);padding:18px}.info-card:hover{border-color:var(--border-active);box-shadow:var(--shadow-md)}.info-card-label{text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted);margin-bottom:6px;font-size:11px;font-weight:600}.info-card-value{color:var(--text-primary);font-size:24px;font-weight:700}.info-card-sub{color:var(--text-secondary);margin-top:4px;font-size:12px}.loading{color:var(--text-muted);justify-content:center;align-items:center;gap:10px;padding:48px;display:flex}.spinner{border:2px solid var(--border);border-top-color:var(--accent);border-radius:50%;width:18px;height:18px;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}@keyframes recPulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.5;transform:scale(1.3)}}.error-banner{border-radius:var(--radius-sm);color:var(--error);background:#ef444414;border:1px solid #ef444433;margin-bottom:16px;padding:12px 16px;font-size:13px}@media (width<=768px){.app-layout{grid-template-rows:60px auto 1fr;grid-template-columns:1fr}.sidebar{border-right:none;border-bottom:1px solid var(--border);flex-direction:row;grid-area:2/1;gap:4px;padding:8px;overflow-x:auto}.sidebar-brand{display:none}.header{grid-area:1/1}.sidebar-section,.nav-badge{display:none}}.tester-container{grid-template-columns:240px 1fr 1fr;gap:16px;margin-top:16px;display:grid}@media (width<=1024px){.tester-container{grid-template-columns:1fr}}.tester-section{background:var(--bg-secondary);border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);flex-direction:column;gap:16px;padding:20px;display:flex}.tester-section-title{letter-spacing:-.01em;border-bottom:1px solid var(--border);color:var(--text-primary);align-items:center;gap:8px;margin-bottom:4px;padding-bottom:10px;font-size:15px;font-weight:600;display:flex}.form-group{flex-direction:column;gap:6px;display:flex}.form-label{color:var(--text-secondary);font-size:12px;font-weight:500}.form-row{gap:10px;display:flex}.select-input,.text-input,.textarea-input{background:var(--bg-tertiary);border:1px solid var(--border);border-radius:var(--radius-sm);font-size:13px;font-family:var(--font-sans);color:var(--text-primary);transition:border-color var(--transition), background var(--transition);outline:none;width:100%;padding:10px 14px}.textarea-input{font-family:var(--font-mono);resize:vertical;min-height:120px}.select-input:focus,.text-input:focus,.textarea-input:focus{border-color:var(--accent);background:var(--bg-secondary);box-shadow:0 0 0 3px #4f46e51a}.btn{background:var(--accent);color:#fff;border-radius:var(--radius-sm);cursor:pointer;transition:var(--transition);border:none;justify-content:center;align-items:center;gap:8px;padding:10px 20px;font-size:13px;font-weight:600;display:inline-flex}.btn:hover{box-shadow:var(--shadow-glow);background:#4338ca}.btn:active{transform:scale(.98)}.btn-secondary{background:var(--bg-tertiary);color:var(--text-primary);border:1px solid var(--border)}.btn-secondary:hover{background:var(--bg-hover);box-shadow:none}.kv-row{gap:8px;margin-bottom:8px;display:flex}.kv-row input{flex:1}.btn-danger{color:var(--error);background:#ef444414;border:1px solid #ef444426;padding:10px 14px}.btn-danger:hover{background:var(--error);color:#fff}.response-status-badge{border-radius:var(--radius-sm);padding:4px 8px;font-size:12px;font-weight:600;display:inline-block}.response-headers-container{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-tertiary);max-height:150px;overflow-y:auto}.response-headers-table{border-collapse:collapse;width:100%;font-size:12px}.response-headers-table td{border-bottom:1px solid var(--border);padding:6px 12px}.response-headers-table tr:last-child td{border-bottom:none}.response-headers-key{color:var(--text-secondary);width:40%;font-weight:500}.response-headers-value{font-family:var(--font-mono);color:var(--text-primary);word-break:break-all}.response-body-pre{background:var(--bg-tertiary);border:1px solid var(--border);border-radius:var(--radius-sm);font-family:var(--font-mono);color:var(--text-primary);white-space:pre-wrap;word-break:break-all;flex:1;min-height:200px;max-height:400px;padding:14px;font-size:13px;overflow:auto}.response-placeholder{color:var(--text-muted);border:2px dashed var(--border);border-radius:var(--radius-md);flex-direction:column;justify-content:center;align-items:center;gap:8px;height:100%;min-height:250px;font-size:13px;display:flex}.timeline-row{flex-direction:column;gap:4px;margin-bottom:8px;display:flex}.timeline-label-row{justify-content:space-between;align-items:center;font-size:12px;font-weight:500;display:flex}.timeline-type-badge{text-transform:uppercase;border-radius:4px;margin-left:8px;padding:1px 5px;font-size:10px;font-weight:600}.timeline-type-hook{color:var(--method-ws);background:#8b5cf61a}.timeline-type-middleware{color:var(--info);background:#3b82f61a}.timeline-type-handler{color:var(--success);background:#10b9811a}.timeline-bar-container{background:var(--bg-tertiary);border-radius:4px;width:100%;height:16px;display:flex;overflow:hidden}.timeline-bar{background:linear-gradient(90deg, var(--accent), #8b5cf6);border-radius:4px;height:100%;transition:width .3s}.timeline-duration{font-family:var(--font-mono);color:var(--text-secondary);font-size:11px}.db-query-row{border-bottom:1px solid var(--border);margin-bottom:8px;padding-bottom:8px}.db-query-row:last-child{border-bottom:none;margin-bottom:0;padding-bottom:0}.db-query-header{justify-content:space-between;align-items:center;margin-bottom:4px;display:flex}.db-query-badge{font-family:var(--font-mono);color:var(--success);background:#10b9811a;border-radius:4px;padding:2px 6px;font-size:10px;font-weight:600}.db-query-duration{font-family:var(--font-mono);color:var(--text-secondary);font-size:11px}.db-query-sql{font-family:var(--font-mono);background:var(--bg-primary);border-radius:var(--radius-sm);color:var(--text-primary);white-space:pre-wrap;word-break:break-all;border:1px solid var(--border);padding:8px 12px;font-size:12px}.login-container{background:var(--bg-primary);z-index:1000;font-family:var(--font-sans);justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.login-card{background:var(--bg-secondary);border:1px solid var(--border);border-radius:var(--radius-lg);width:100%;max-width:420px;box-shadow:var(--shadow-md), var(--shadow-glow);text-align:center;padding:32px}.login-logo{background:linear-gradient(135deg, var(--accent), #8b5cf6);border-radius:var(--radius-md);color:#fff;width:48px;height:48px;box-shadow:var(--shadow-glow);justify-content:center;align-items:center;margin:0 auto 16px;font-size:24px;font-weight:700;display:flex}.login-title{color:var(--text-primary);letter-spacing:-.02em;margin-bottom:8px;font-size:20px;font-weight:700}.login-subtitle{color:var(--text-secondary);margin-bottom:24px;font-size:13px;line-height:1.5}.login-input{background:var(--bg-primary);border:1px solid var(--border);border-radius:var(--radius-sm);width:100%;font-size:14px;font-family:var(--font-mono);color:var(--text-primary);text-align:center;transition:border-color var(--transition);outline:none;margin-bottom:16px;padding:12px 14px}.login-input:focus{border-color:var(--accent);box-shadow:0 0 0 3px #4f46e51a}.login-button{background:var(--accent);color:#fff;border-radius:var(--radius-sm);cursor:pointer;width:100%;transition:opacity var(--transition);border:none;padding:12px;font-size:14px;font-weight:600}.login-button:hover{opacity:.9}.login-error{color:var(--error);margin-top:12px;font-size:13px}.diff-view-container{background:var(--bg-secondary);border:1px solid var(--border);border-radius:var(--radius-md);flex-direction:column;gap:16px;padding:20px;display:flex}.diff-view-header{border-bottom:1px solid var(--border);padding-bottom:8px;font-size:14px;font-weight:600}.diff-panels-grid{grid-template-columns:1fr 1fr;gap:16px;display:grid}.diff-panel-title{color:var(--text-secondary);margin-bottom:6px;font-size:12px;font-weight:500}.diff-panel-pre{background:var(--bg-primary);border:1px solid var(--border);border-radius:var(--radius-sm);font-family:var(--font-mono);max-height:300px;padding:12px;font-size:12px;overflow:auto}