ahp-inspector 1.1.1

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.
package/package.json ADDED
@@ -0,0 +1,51 @@
1
+ {
2
+ "name": "ahp-inspector",
3
+ "version": "1.1.1",
4
+ "type": "module",
5
+ "description": "Local-first viewer for VS Code Agent Host Protocol (AHP) JSONL logs.",
6
+ "keywords": [
7
+ "ahp",
8
+ "agent-host-protocol",
9
+ "vscode",
10
+ "logs",
11
+ "viewer",
12
+ "jsonl"
13
+ ],
14
+ "license": "MIT",
15
+ "homepage": "https://github.com/roblourens/ahp-inspector#readme",
16
+ "repository": {
17
+ "type": "git",
18
+ "url": "https://github.com/roblourens/ahp-inspector.git"
19
+ },
20
+ "bugs": {
21
+ "url": "https://github.com/roblourens/ahp-inspector/issues"
22
+ },
23
+ "engines": {
24
+ "node": ">=22"
25
+ },
26
+ "bin": {
27
+ "ahp-inspector": "./dist/index.js"
28
+ },
29
+ "files": [
30
+ "dist",
31
+ "ui-dist",
32
+ "README.md"
33
+ ],
34
+ "scripts": {
35
+ "typecheck": "tsc --noEmit",
36
+ "build": "tsup && node ./scripts/copy-ui-dist.cjs",
37
+ "prepublishOnly": "pnpm typecheck && pnpm -F @ahp-inspector/ui build && pnpm -F ahp-inspector build"
38
+ },
39
+ "dependencies": {
40
+ "commander": "^14.0.3",
41
+ "open": "^11.0.0"
42
+ },
43
+ "devDependencies": {
44
+ "@ahp-inspector/core": "workspace:*",
45
+ "@ahp-inspector/host-node": "workspace:*",
46
+ "@ahp-inspector/parser": "workspace:*",
47
+ "@ahp-inspector/server": "workspace:*",
48
+ "@ahp-inspector/shared": "workspace:*",
49
+ "@ahp-inspector/ui": "workspace:*"
50
+ }
51
+ }
@@ -0,0 +1 @@
1
+ ._GzYRV{white-space:pre-wrap;white-space:-moz-pre-wrap;white-space:-pre-wrap;white-space:-o-pre-wrap;word-wrap:break-word;line-height:1.2}._3eOF8{margin-right:5px;font-weight:700}._3eOF8+._3eOF8{margin-left:-5px}._1MFti{cursor:pointer}._f10Tu{-webkit-user-select:none;user-select:none;margin-right:5px;font-size:1.2em}._1UmXx:after{content:"▸"}._1LId0:after{content:"▾"}._1pNG9{margin-right:5px}._1pNG9:after{content:"...";font-size:.8em}._2IvMF{background:#eee}._2bkNM{margin:0;padding:0 10px}._1BXBN{margin:0;padding:0}._1MGIk{color:#000;margin-right:5px;font-weight:600}._3uHL6{color:#000}._2T6PJ,._1Gho6{color:#df113a}._vGjyY{color:#2a3f3c}._1bQdo{color:#0b75f5}._3zQKs{color:#469038}._1xvuR{color:#43413d}._oLqym,._2AXVT,._2KJWg{color:#000}._11RoI{background:#002b36}._17H2C,._3QHg2,._3fDAz{color:#fdf6e3}._2bSDX{color:#fdf6e3;margin-right:5px;font-weight:bolder}._gsbQL{color:#fdf6e3}._LaAZe,._GTKgm{color:#81b5ac}._Chy1W{color:#cb4b16}._2bveF{color:#d33682}._2vRm-{color:#ae81ff}._1prJR{color:#268bd2}:root,[data-theme=dark]{--color-scheme:dark;--space-0:0;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:24px;--space-6:32px;--space-8:48px;--row-height:28px;--font-sans:"Inter Variable", ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--font-mono:"JetBrains Mono Variable", ui-monospace, "SF Mono", Menlo, Consolas, monospace;--text-row-size:13px;--text-row-line:20px;--text-ui-size:13px;--text-ui-muted-size:12px;--text-heading-size:16px;--text-body-size:14px;--weight-regular:400;--weight-semibold:600;--color-bg:#0e1116;--color-surface:#161a21;--color-surface-raised:#1c2129;--color-border:#262c36;--color-border-strong:#39414e;--color-accent:#7aa2f7;--color-accent-foreground:#0e1116;--color-text:#e6e9ef;--color-text-muted:#a4adbe;--color-text-subtle:#6b7385;--color-text-disabled:#4b5263;--color-success:#7dcfa4;--color-warning:#e0af68;--color-destructive:#f7768e;--color-info:#7dcfff;--dir-c2s:#7aa2f7;--dir-s2c:#bb9af7;--dir-internal:#a4adbe;--kind-request:#7aa2f7;--kind-response:#7dcfa4;--kind-notification:#e0af68;--kind-action:#bb9af7;--kind-error:#f7768e;--kind-parse-error:#f7768e;--action-text:#7dcfa4;--action-tool-call:#7aa2f7;--action-tool-result:#9ece6a;--action-status:#a4adbe;--action-unknown:#6b7385;--latency-fast:#3a4a3f;--latency-normal:#3a4252;--latency-slow:#5a4a2e;--latency-critical:#5a2e36;--color-search-match-bg:#3a3520;--color-search-match-fg:#e6e9ef;--color-chip-bg:var(--color-surface-raised);--color-chip-bg-active:var(--color-border);--color-chip-border:var(--color-border-strong);--color-chip-fg:var(--color-text);--color-chip-fg-muted:var(--color-text-muted);--color-chip-dismiss:var(--color-text-muted);--color-group-header-bg:#1a1f27;--color-group-header-fg:var(--color-text);--color-group-header-meta:var(--color-text-muted);--color-gap-banner-bg:color-mix(in srgb, var(--color-warning) 14%, var(--color-bg));--color-gap-banner-fg:var(--color-warning);--color-auth-fail-rail:var(--color-destructive);--color-auth-fail-banner-bg:color-mix(in srgb, var(--color-destructive) 14%, var(--color-bg));--color-json-bg:var(--color-surface);--color-json-key:var(--color-accent);--color-json-string:var(--color-success);--color-json-number:var(--color-warning);--color-json-boolean:var(--color-info);--color-json-null:var(--color-text-subtle);--color-json-punctuation:var(--color-text-muted);--row-group-header-height:24px;--row-banner-height:20px;--filter-bar-height:40px;--filter-chips-height:32px;--candidate-row-height:36px;--color-confidence-high:var(--color-success);--color-confidence-medium:var(--color-warning);--color-confidence-low:var(--color-text-subtle);--color-status-paused-fg:var(--color-accent);--color-status-paused-bg:color-mix(in srgb, var(--color-accent) 15%, var(--color-surface));--color-pill-bg:var(--color-surface-raised);--color-pill-fg:var(--color-text);--color-pill-border:var(--color-border-strong);--color-banner-rotation-bg:color-mix(in srgb, var(--color-warning) 12%, var(--color-bg));--color-banner-rotation-fg:var(--color-warning);--color-banner-watch-error-bg:color-mix(in srgb, var(--color-destructive) 12%, var(--color-bg));--color-banner-watch-error-fg:var(--color-destructive);--shadow-menu:0 8px 24px color-mix(in srgb, var(--color-bg) 70%, transparent);--shadow-panel:-12px 0 28px color-mix(in srgb, var(--color-bg) 28%, transparent);--shadow-drawer:-18px 0 42px color-mix(in srgb, var(--color-bg) 56%, transparent);--focus-ring:var(--color-accent);--row-selected-bg:color-mix(in srgb, var(--color-accent) 16%, var(--color-bg));--row-hover-bg:color-mix(in srgb, var(--color-accent) 8%, var(--color-bg));--overlay-backdrop:color-mix(in srgb, var(--color-bg) 68%, transparent);--drawer-border:1px solid var(--color-border-strong);--effect-scanline-opacity:0;--effect-grid-opacity:0;--effect-noise-opacity:0;--effect-glow:none;--effect-glow-strong:none;--selection-bg:color-mix(in srgb, var(--color-accent) 34%, var(--color-bg));--selection-fg:var(--color-text)}[data-theme=light]{--color-scheme:light;--space-0:0;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:24px;--space-6:32px;--space-8:48px;--row-height:28px;--font-sans:"Inter Variable", ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--font-mono:"JetBrains Mono Variable", ui-monospace, "SF Mono", Menlo, Consolas, monospace;--text-row-size:13px;--text-row-line:20px;--text-ui-size:13px;--text-ui-muted-size:12px;--text-heading-size:16px;--text-body-size:14px;--weight-regular:400;--weight-semibold:600;--color-bg:#f7f8fb;--color-surface:#fff;--color-surface-raised:#f0f3f8;--color-border:#d6dbe5;--color-border-strong:#aeb7c6;--color-accent:#245fc7;--color-accent-foreground:#fff;--color-text:#18202c;--color-text-muted:#5b6575;--color-text-subtle:#7a8494;--color-text-disabled:#a8b0bd;--color-success:#16734a;--color-warning:#9a5b00;--color-destructive:#c11f3d;--color-info:#006d9c;--dir-c2s:#245fc7;--dir-s2c:#7852b8;--dir-internal:#5b6575;--kind-request:#245fc7;--kind-response:#16734a;--kind-notification:#9a5b00;--kind-action:#7852b8;--kind-error:#c11f3d;--kind-parse-error:#c11f3d;--action-text:#16734a;--action-tool-call:#245fc7;--action-tool-result:#4f7d10;--action-status:#5b6575;--action-unknown:#7a8494;--latency-fast:#dff1e7;--latency-normal:#e3eaf5;--latency-slow:#f8ebd5;--latency-critical:#f7dce3;--color-search-match-bg:#fff0a8;--color-search-match-fg:#18202c;--color-chip-bg:var(--color-surface-raised);--color-chip-bg-active:#dfe8f8;--color-chip-border:var(--color-border-strong);--color-chip-fg:var(--color-text);--color-chip-fg-muted:var(--color-text-muted);--color-chip-dismiss:var(--color-text-muted);--color-group-header-bg:#edf1f7;--color-group-header-fg:var(--color-text);--color-group-header-meta:var(--color-text-muted);--color-gap-banner-bg:color-mix(in srgb, var(--color-warning) 12%, var(--color-bg));--color-gap-banner-fg:var(--color-warning);--color-auth-fail-rail:var(--color-destructive);--color-auth-fail-banner-bg:color-mix(in srgb, var(--color-destructive) 10%, var(--color-bg));--color-json-bg:var(--color-surface);--color-json-key:var(--color-accent);--color-json-string:var(--color-success);--color-json-number:var(--color-warning);--color-json-boolean:var(--color-info);--color-json-null:var(--color-text-subtle);--color-json-punctuation:var(--color-text-muted);--row-group-header-height:24px;--row-banner-height:20px;--filter-bar-height:40px;--filter-chips-height:32px;--color-confidence-high:var(--color-success);--color-confidence-medium:var(--color-warning);--color-confidence-low:var(--color-text-subtle);--color-status-paused-fg:var(--color-accent);--color-status-paused-bg:color-mix(in srgb, var(--color-accent) 12%, var(--color-surface));--color-pill-bg:var(--color-surface-raised);--color-pill-fg:var(--color-text);--color-pill-border:var(--color-border-strong);--color-banner-rotation-bg:color-mix(in srgb, var(--color-warning) 10%, var(--color-bg));--color-banner-rotation-fg:var(--color-warning);--color-banner-watch-error-bg:color-mix(in srgb, var(--color-destructive) 10%, var(--color-bg));--color-banner-watch-error-fg:var(--color-destructive);--shadow-menu:0 8px 24px color-mix(in srgb, var(--color-border-strong) 34%, transparent);--shadow-panel:-10px 0 26px color-mix(in srgb, var(--color-border-strong) 18%, transparent);--shadow-drawer:-18px 0 42px color-mix(in srgb, var(--color-border-strong) 32%, transparent);--focus-ring:var(--color-accent);--row-selected-bg:color-mix(in srgb, var(--color-accent) 12%, var(--color-bg));--row-hover-bg:color-mix(in srgb, var(--color-accent) 6%, var(--color-bg));--overlay-backdrop:color-mix(in srgb, var(--color-text) 28%, transparent);--drawer-border:1px solid var(--color-border-strong);--effect-scanline-opacity:0;--effect-grid-opacity:0;--effect-noise-opacity:0;--effect-glow:none;--effect-glow-strong:none;--selection-bg:color-mix(in srgb, var(--color-accent) 26%, var(--color-bg));--selection-fg:var(--color-text)}[data-theme=hacker]{--color-scheme:dark;--space-0:0;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:24px;--space-6:32px;--space-8:48px;--row-height:28px;--font-sans:"Inter Variable", ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--font-mono:"JetBrains Mono Variable", ui-monospace, "SF Mono", Menlo, Consolas, monospace;--text-row-size:13px;--text-row-line:20px;--text-ui-size:13px;--text-ui-muted-size:12px;--text-heading-size:16px;--text-body-size:14px;--weight-regular:400;--weight-semibold:600;--color-bg:#020704;--color-surface:#06120a;--color-surface-raised:#0a1b10;--color-border:#12351d;--color-border-strong:#1f6b34;--color-accent:#39ff88;--color-accent-foreground:#020704;--color-text:#d6ffe2;--color-text-muted:#79d994;--color-text-subtle:#3c8f55;--color-text-disabled:#245633;--color-success:#39ff88;--color-warning:#d7ff57;--color-destructive:#ff4f7b;--color-info:#54f7ff;--dir-c2s:#39ff88;--dir-s2c:#54f7ff;--dir-internal:#79d994;--kind-request:#39ff88;--kind-response:#54f7ff;--kind-notification:#d7ff57;--kind-action:#b86cff;--kind-error:#ff4f7b;--kind-parse-error:#ff4f7b;--action-text:#39ff88;--action-tool-call:#54f7ff;--action-tool-result:#d7ff57;--action-status:#79d994;--action-unknown:#3c8f55;--latency-fast:#0c2414;--latency-normal:#102833;--latency-slow:#2f3210;--latency-critical:#3a1220;--color-search-match-bg:#254512;--color-search-match-fg:#d6ffe2;--color-chip-bg:var(--color-surface-raised);--color-chip-bg-active:#12351d;--color-chip-border:var(--color-border-strong);--color-chip-fg:var(--color-text);--color-chip-fg-muted:var(--color-text-muted);--color-chip-dismiss:var(--color-text-muted);--color-group-header-bg:#07160c;--color-group-header-fg:var(--color-text);--color-group-header-meta:var(--color-text-muted);--color-gap-banner-bg:color-mix(in srgb, var(--color-warning) 14%, var(--color-bg));--color-gap-banner-fg:var(--color-warning);--color-auth-fail-rail:var(--color-destructive);--color-auth-fail-banner-bg:color-mix(in srgb, var(--color-destructive) 14%, var(--color-bg));--color-json-bg:var(--color-surface);--color-json-key:var(--color-accent);--color-json-string:#d7ff57;--color-json-number:#54f7ff;--color-json-boolean:#b86cff;--color-json-null:var(--color-text-subtle);--color-json-punctuation:var(--color-text-muted);--row-group-header-height:24px;--row-banner-height:20px;--filter-bar-height:40px;--filter-chips-height:32px;--color-confidence-high:var(--color-success);--color-confidence-medium:var(--color-warning);--color-confidence-low:var(--color-text-subtle);--color-status-paused-fg:var(--color-accent);--color-status-paused-bg:color-mix(in srgb, var(--color-accent) 18%, var(--color-surface));--color-pill-bg:var(--color-surface-raised);--color-pill-fg:var(--color-text);--color-pill-border:var(--color-border-strong);--color-banner-rotation-bg:color-mix(in srgb, var(--color-warning) 14%, var(--color-bg));--color-banner-rotation-fg:var(--color-warning);--color-banner-watch-error-bg:color-mix(in srgb, var(--color-destructive) 14%, var(--color-bg));--color-banner-watch-error-fg:var(--color-destructive);--shadow-menu:0 0 22px color-mix(in srgb, var(--color-accent) 28%, transparent);--shadow-panel:-10px 0 30px color-mix(in srgb, var(--color-accent) 12%, transparent);--shadow-drawer:-18px 0 48px color-mix(in srgb, var(--color-accent) 24%, transparent);--focus-ring:var(--color-accent);--row-selected-bg:color-mix(in srgb, var(--color-accent) 18%, var(--color-bg));--row-hover-bg:color-mix(in srgb, var(--color-accent) 9%, var(--color-bg));--overlay-backdrop:color-mix(in srgb, var(--color-bg) 76%, transparent);--drawer-border:1px solid var(--color-border-strong);--effect-scanline-opacity:.12;--effect-grid-opacity:.08;--effect-noise-opacity:.04;--effect-glow:0 0 10px color-mix(in srgb, var(--color-accent) 34%, transparent);--effect-glow-strong:0 0 18px color-mix(in srgb, var(--color-accent) 48%, transparent);--selection-bg:color-mix(in srgb, var(--color-accent) 38%, var(--color-bg));--selection-fg:var(--color-text)}@font-face{font-family:Inter Variable;src:url(/fonts/inter/InterVariable.woff2)format("woff2-variations");font-weight:100 900;font-style:normal;font-display:swap}@font-face{font-family:JetBrains Mono Variable;src:url(/fonts/jetbrains-mono/JetBrainsMono-Variable.woff2)format("woff2-variations");font-weight:100 800;font-style:normal;font-display:swap}html,body,#root{height:100%;margin:0}body{background:var(--color-bg);color:var(--color-text);font-family:var(--font-sans);font-size:var(--text-ui-size);line-height:20px;font-weight:var(--weight-regular);-webkit-font-smoothing:antialiased;color-scheme:var(--color-scheme)}.mono,.ts,.latency,.id,.method,.preview{font-family:var(--font-mono)}.ts,.latency,.id,.method,.preview{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.ts,.latency{font-variant-numeric:tabular-nums}:focus{outline:none}:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}@keyframes spin{to{transform:rotate(360deg)}}.spin{animation:1s linear infinite spin}@media (prefers-reduced-motion:reduce){.spin{animation:none}}.detail-rail{width:320px}@media (max-width:1023.98px){.detail-rail{display:none}}.ahp-json-container{color:var(--color-text)}.ahp-json-child{margin-left:var(--space-4)}.ahp-json-label,.ahp-json-clickable-label{color:var(--color-json-key)}.ahp-json-clickable-label{cursor:pointer}.ahp-json-string{color:var(--color-json-string)}.ahp-json-number{color:var(--color-json-number)}.ahp-json-boolean{color:var(--color-json-boolean)}.ahp-json-null,.ahp-json-other{color:var(--color-json-null)}.ahp-json-punctuation,.ahp-json-expander,.ahp-json-collapsed{color:var(--color-json-punctuation)}.ahp-json-expander{cursor:pointer;-webkit-user-select:none;user-select:none;width:1.5ch;display:inline-block}.ahp-json-expander:before{content:"+"}.ahp-json-expander[aria-expanded=true]:before{content:"-"}.ahp-json-collapsed{cursor:pointer}.ahp-json-collapsed:before{content:"..."}.state-inspector{border-top:1px solid var(--color-border);border-bottom:1px solid var(--color-border);padding:var(--space-3);background:color-mix(in srgb, var(--color-surface-raised) 54%, var(--color-surface));color:var(--color-text);font-family:var(--font-sans);font-size:var(--text-ui-size)}.state-inspector-header{justify-content:space-between;align-items:center;gap:var(--space-3);display:flex}.state-inspector h3,.state-inspector p{margin:0}.state-inspector h3{font-size:var(--text-ui-size);font-weight:var(--weight-semibold)}.state-inspector-header p,.state-summary-warning,.state-resource-meta,.state-section-label{color:var(--color-text-muted);font-size:var(--text-ui-muted-size)}.state-inspector-body{gap:var(--space-3);margin-top:var(--space-3);display:grid}.state-action-button,.state-secondary-button,.state-tab,.state-resource-option{font-family:var(--font-sans);font-size:var(--text-ui-size)}.state-action-button,.state-secondary-button{border:1px solid var(--color-border-strong);background:var(--color-surface-raised);color:var(--color-text);cursor:pointer;border-radius:6px}.state-action-button{padding:var(--space-2) var(--space-3);flex:none}.state-secondary-button{padding:var(--space-1) var(--space-2)}.state-inline-status{align-items:center;gap:var(--space-2);color:var(--color-text-muted);display:flex}.state-error,.state-empty{border:1px solid var(--color-border);padding:var(--space-2) var(--space-3);background:var(--color-surface);border-radius:8px}.state-error p{margin:0 0 var(--space-2);color:var(--color-destructive)}.state-metadata-summary dl,.state-summary-grid{gap:var(--space-1) var(--space-3);grid-template-columns:max-content minmax(0,1fr);margin:0;display:grid}.state-metadata-summary dt,.state-summary-grid dt{color:var(--color-text-muted)}.state-metadata-summary dd,.state-summary-grid dd{text-overflow:ellipsis;white-space:nowrap;min-width:0;margin:0;overflow:hidden}.state-confidence{align-items:center;gap:var(--space-2);min-width:0;display:flex}.state-confidence-label{color:var(--color-text-muted);font-size:var(--text-ui-muted-size)}.state-confidence-pill{padding:0 var(--space-2);font-weight:var(--weight-semibold);border:1px solid;border-radius:999px}.state-confidence-caution{text-overflow:ellipsis;white-space:nowrap;min-width:0;color:var(--color-text-muted);font-size:var(--text-ui-muted-size);overflow:hidden}.state-resource-selector{gap:var(--space-1);border:0;min-width:0;margin:0;padding:0;display:grid}.state-section-label{text-transform:uppercase;letter-spacing:.06em}.state-resource-list{gap:var(--space-1);display:grid}.state-resource-option{gap:var(--space-2);width:100%;min-width:0;padding:var(--space-2);border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-text);text-align:left;border-radius:8px;grid-template-columns:minmax(0,1fr) max-content;align-items:center;display:grid}.state-resource-option[aria-pressed=true]{border-color:var(--color-accent);background:color-mix(in srgb, var(--color-accent) 12%, var(--color-surface))}.state-resource-option:not(.state-resource-option-disabled){cursor:pointer}.state-resource-option-disabled{opacity:.72}.state-resource-main{gap:var(--space-2);align-items:baseline;min-width:0;display:flex}.state-resource-kind{color:var(--color-accent);font-weight:var(--weight-semibold);text-transform:uppercase;flex:none}.state-resource-uri{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-family:var(--font-mono);overflow:hidden}.state-resource-meta{gap:var(--space-2);white-space:nowrap;flex:none;display:flex}.state-resource-unavailable{color:var(--color-text-subtle);font-size:var(--text-ui-muted-size)}[data-confidence=complete]{color:var(--color-success)}[data-confidence=partial]{color:var(--color-warning)}[data-confidence=unknown]{color:var(--color-text-subtle)}.state-view-shell{border:1px solid var(--color-border);background:var(--color-surface);border-radius:8px;flex-direction:column;min-height:240px;max-height:480px;display:flex;overflow:hidden}.state-view-header{justify-content:space-between;align-items:center;gap:var(--space-3);padding:var(--space-2) var(--space-3);border-bottom:1px solid var(--color-border);flex:none;display:flex}.state-tabs{border-bottom:1px solid var(--color-border);flex:none;display:flex}.state-tab{border:0;border-right:1px solid var(--color-border);color:var(--color-text-muted);cursor:pointer;padding:var(--space-2) var(--space-3);background:0 0}.state-tab[aria-selected=true]{color:var(--color-text);background:color-mix(in srgb, var(--color-accent) 10%, var(--color-surface));box-shadow:inset 0 -2px 0 var(--color-accent)}.state-copy-menu{flex:none;position:relative}.state-view-actions{align-items:center;gap:var(--space-2);flex:none;display:flex}.state-copy-button{align-items:center;gap:var(--space-1);border:1px solid var(--color-border-strong);background:var(--color-surface-raised);color:var(--color-text);cursor:pointer;font-family:var(--font-sans);font-size:var(--text-ui-muted-size);padding:var(--space-1) var(--space-2);border-radius:4px;display:flex}.state-copy-menu-list{top:calc(100% + var(--space-1));z-index:70;border:1px solid var(--color-border-strong);background:var(--color-surface-raised);min-width:210px;box-shadow:var(--shadow-menu);border-radius:4px;position:absolute;right:0;overflow:hidden}.state-copy-menu-item{width:100%;color:var(--color-text);cursor:pointer;font-family:var(--font-sans);font-size:var(--text-ui-muted-size);padding:var(--space-2) var(--space-3);text-align:left;background:0 0;border:0;display:block}.state-copy-menu-item:hover,.state-copy-menu-item:focus-visible{background:var(--row-hover-bg)}.state-tabpanel{flex:1;min-height:0;display:flex;overflow:auto}.state-summary-view{align-content:start;gap:var(--space-3);width:100%;padding:var(--space-3);display:grid}.state-shape-details{gap:var(--space-1);flex-wrap:wrap;margin:0;padding:0;list-style:none;display:flex}.state-shape-details li{border:1px solid var(--color-border);padding:0 var(--space-2);background:var(--color-surface-raised);color:var(--color-text-muted);font-family:var(--font-mono);font-size:var(--text-ui-muted-size);border-radius:999px}.state-diagnostics{gap:var(--space-2);border:1px solid var(--color-border);padding:var(--space-2) var(--space-3);background:var(--color-surface);border-radius:8px;display:grid}.state-diagnostics-header{gap:var(--space-2);flex-wrap:wrap;align-items:baseline;display:flex}.state-diagnostics-header h4,.state-diagnostic-group h5{color:var(--color-text);font-size:var(--text-ui-size);margin:0}.state-diagnostics-header span,.state-diagnostics-empty{color:var(--color-text-muted);font-size:var(--text-ui-muted-size)}.state-diagnostics-empty{margin:0}.state-diagnostics-groups{gap:var(--space-2);display:grid}.state-diagnostic-group{gap:var(--space-1);display:grid}.state-diagnostic-group ul{gap:var(--space-1);padding:0;padding-right:var(--space-1);max-height:240px;margin:0;list-style:none;display:grid;overflow-y:auto}.state-diagnostic-group li{gap:var(--space-1);border-left:2px solid var(--color-border-strong);padding-left:var(--space-2);overflow-wrap:anywhere;word-break:break-word;display:grid}.state-diagnostic-meta{gap:var(--space-2);color:var(--color-text-muted);font-family:var(--font-mono);font-size:var(--text-ui-muted-size);flex-wrap:wrap;display:flex}.state-diagnostic-message{white-space:pre-wrap;overflow-wrap:anywhere;color:var(--color-text)}.pinned-state-panel{gap:var(--space-2);border:1px solid var(--color-border);padding:var(--space-2) var(--space-3);background:var(--color-surface);border-radius:8px;display:grid}.pinned-state-header{justify-content:space-between;align-items:flex-start;gap:var(--space-3);display:flex}.pinned-state-header h4{color:var(--color-text);font-size:var(--text-ui-size);margin:0}.pinned-state-header p,.pinned-state-empty{color:var(--color-text-muted);font-size:var(--text-ui-muted-size);margin:0}.pinned-state-list{gap:var(--space-2);margin:0;padding:0;list-style:none;display:grid}.pinned-state-card{gap:var(--space-2);border:1px solid var(--color-border-strong);padding:var(--space-2);background:var(--color-surface-raised);box-shadow:var(--shadow-menu);border-radius:8px;display:grid}.pinned-state-meta{gap:var(--space-2);min-width:0;color:var(--color-text-muted);font-size:var(--text-ui-muted-size);flex-wrap:wrap;display:flex}.pinned-state-actions{justify-content:flex-end;display:flex}.state-comparison{gap:var(--space-2);border:1px solid var(--color-border);padding:var(--space-2);background:var(--color-surface-raised);color:var(--color-text);font-family:var(--font-sans);border-radius:8px;display:grid}.state-comparison-header{justify-content:space-between;align-items:flex-start;gap:var(--space-3);display:flex}.state-comparison-header h4{color:var(--color-text);font-size:var(--text-ui-size);margin:0}.state-comparison-points{gap:var(--space-2);display:grid}.state-comparison-points>div{gap:var(--space-1);border:1px solid var(--color-border);min-width:0;padding:var(--space-2);background:var(--color-surface);border-radius:6px;display:grid}.state-comparison-paths{gap:var(--space-1);display:grid}.state-comparison-paths ul{gap:var(--space-1);flex-wrap:wrap;margin:0;padding:0;list-style:none;display:flex}.state-comparison-paths li{border:1px solid var(--color-border);padding:0 var(--space-2);background:var(--color-surface);color:var(--color-accent);font-family:var(--font-mono);font-size:var(--text-ui-muted-size);border-radius:999px}.state-comparison-paths p,.state-comparison-warning,.state-comparison-empty{font-size:var(--text-ui-muted-size);margin:0}.state-comparison-warning{color:var(--color-warning)}.state-comparison-empty{color:var(--color-text-muted)}[data-severity=info]{color:var(--color-info)}[data-severity=warning]{color:var(--color-warning)}[data-severity=error]{color:var(--color-destructive)}.app-shell{min-width:0;overflow:hidden}.app-main,.timeline-pane,.timeline-list-shell{min-width:0}.detail-rail{box-shadow:var(--shadow-panel)}.detail-drawer-backdrop{z-index:2000;background:var(--overlay-backdrop);justify-content:flex-end;display:flex;position:fixed;inset:0}.detail-drawer{background:var(--color-surface);border-left:var(--drawer-border);width:min(88vw,720px);height:100%;box-shadow:var(--shadow-drawer);flex-direction:column;display:flex;position:relative}.detail-drawer>[data-testid=detail-panel]{flex:1}.detail-drawer-close{top:var(--space-2);right:var(--space-2);z-index:2;min-width:44px;min-height:44px;padding:0 var(--space-3);background:var(--color-chip-bg-active);border:1px solid var(--color-chip-border);color:var(--color-chip-fg);cursor:pointer;font-family:var(--font-sans);font-weight:var(--weight-semibold);border-radius:6px;position:absolute}.filter-bar{align-content:center}.timeline-list-shell [role=row]{min-width:max-content}@media (min-width:1400px){.detail-drawer-backdrop{display:none}}@media (max-width:1399.98px){.app-main .detail-rail{display:none}}@media (max-width:767.98px){.detail-drawer{width:100vw}.filter-bar{flex-wrap:nowrap;overflow-x:auto}}@media (min-width:768px) and (max-width:1199.98px){.filter-bar{height:auto}}@media (min-width:1200px){.filter-bar{flex-wrap:nowrap}}::selection{background:var(--selection-bg);color:var(--selection-fg)}.timeline-list-shell [role=row]:hover{background:var(--row-hover-bg)}[data-theme=hacker] body:before,[data-theme=hacker] body:after{content:"";z-index:0;pointer-events:none;position:fixed;inset:0}[data-theme=hacker] body:before{background:repeating-linear-gradient(to bottom, color-mix(in srgb, var(--color-accent) 100%, transparent) 0, color-mix(in srgb, var(--color-accent) 100%, transparent) 1px, transparent 1px, transparent 4px);opacity:var(--effect-scanline-opacity);animation:12s linear infinite ahp-scanline-drift}[data-theme=hacker] body:after{background:linear-gradient(color-mix(in srgb, var(--color-accent) 100%, transparent) 1px, transparent 1px), linear-gradient(90deg, color-mix(in srgb, var(--color-accent) 100%, transparent) 1px, transparent 1px), radial-gradient(circle at 50% 50%, transparent 58%, var(--color-bg) 100%);opacity:var(--effect-grid-opacity);background-size:32px 32px,32px 32px,100% 100%;animation:6s ease-in-out infinite ahp-crt-pulse}[data-theme=hacker] #root{z-index:1;box-shadow:inset 0 0 120px color-mix(in srgb, var(--color-accent) 10%, transparent);position:relative}[data-theme=hacker] header,[data-theme=hacker] .detail-rail,[data-theme=hacker] .detail-drawer,[data-theme=hacker] [data-testid=filter-bar]{box-shadow:var(--effect-glow)}[data-theme=hacker] [data-selected=true]{box-shadow:inset 0 0 0 1px var(--color-border-strong), var(--effect-glow)}@keyframes ahp-scanline-drift{0%{background-position-y:0}to{background-position-y:32px}}@keyframes ahp-crt-pulse{0%,to{filter:brightness()}50%{filter:brightness(1.04)}}@media (prefers-reduced-motion:reduce){[data-theme=hacker] body:before,[data-theme=hacker] body:after,[data-theme=hacker] #root,[data-theme=hacker] [data-selected=true]{transition:none;animation:none}}