@a-company/sentinel 3.7.0 → 3.9.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.
@@ -1,4 +1,4 @@
1
- import { z as LogLevel, Q as MetricInput } from './types-BmVoO1iF.js';
1
+ import { y as LogLevel, O as MetricInput } from './types-CPU5sxLq.js';
2
2
 
3
3
  /**
4
4
  * Sentinel Client SDK
@@ -1,2 +1,2 @@
1
- export { b as SentinelTransport, e as createSentinelTransport, f as enableSentinel } from './transport-DqamniUy.js';
2
- import './types-BmVoO1iF.js';
1
+ export { b as SentinelTransport, e as createSentinelTransport, f as enableSentinel } from './transport-Biz9YfoQ.js';
2
+ import './types-CPU5sxLq.js';
@@ -578,4 +578,4 @@ interface TraceView {
578
578
  endTime: string;
579
579
  }
580
580
 
581
- export { type PatternResolution as $, type AppState as A, type BackupExport as B, type ComponentContext as C, DEFAULT_AUTH_CONFIG as D, type EnrichedIncident as E, type FlowTimeline as F, type LogQueryOptions as G, type HistogramBucket as H, type IncidentGroup as I, type LogSymbolType as J, type MatcherConfig as K, type LogEntry as L, type MatchedCriteria as M, type MetricAggregation as N, type MetricEntry as O, type PatternCandidate as P, type MetricInput as Q, type MetricQueryOptions as R, type SentinelServerConfig as S, type MetricType as T, type PatternConfidence as U, type PatternCriteria as V, type PatternEffectiveness as W, type PatternMatch as X, type PatternPriority as Y, type PatternQueryOptions as Z, type PatternRecurrence as _, type SymbolicIncidentRecord as a, type PatternSource as a0, type PatternSymbolCriteria as a1, type PatternTestResult as a2, type PracticeCategory as a3, type PracticeEvent as a4, type PracticeEventInput as a5, type PracticeEventQuery as a6, type PracticeResult as a7, type RateLimitConfig as a8, type RateLimitRule as a9, type Resolution as aa, type ResolutionQueryOptions as ab, type ResolutionRecord as ac, type ResolutionStrategy as ad, type SentinelConfig as ae, type ServiceInfo as af, type ServiceRegistration as ag, type SymbolHotspot as ah, type SymbolIncidentCount as ai, type SymbolResolutionTime as aj, type SymbolValidationResult as ak, type SymbolicContext as al, type TraceSpan as am, type TraceSpanInput as an, type TraceView as ao, type SentinelStats as b, type SymbolHealth as c, type SymbolEnrichment as d, type FailurePattern as e, type PatternExport as f, type AuthConfig as g, type AuthPermission as h, type AuthToken as i, type CorsConfig as j, type CreateGroupInput as k, type CreateIncidentInput as l, type CreatePatternInput as m, DEFAULT_RATE_LIMIT_CONFIG as n, DEFAULT_SERVER_CONFIG as o, type DayCount as p, type Environment as q, type ErrorDetails as r, type FlowEvent as s, type FlowEventType as t, type FlowPosition as u, type IncidentNote as v, type IncidentQueryOptions as w, type IncidentStatus as x, type LogEntryInput as y, type LogLevel as z };
581
+ export { type PatternSource as $, type AppState as A, type BackupExport as B, type ComponentContext as C, DEFAULT_AUTH_CONFIG as D, type EnrichedIncident as E, type FlowTimeline as F, type LogSymbolType as G, type HistogramBucket as H, type IncidentGroup as I, type MatcherConfig as J, type MetricAggregation as K, type LogEntry as L, type MatchedCriteria as M, type MetricEntry as N, type MetricInput as O, type PatternCandidate as P, type MetricQueryOptions as Q, type MetricType as R, type SymbolicIncidentRecord as S, type PatternConfidence as T, type PatternCriteria as U, type PatternEffectiveness as V, type PatternMatch as W, type PatternPriority as X, type PatternQueryOptions as Y, type PatternRecurrence as Z, type PatternResolution as _, type SentinelStats as a, type PatternSymbolCriteria as a0, type PatternTestResult as a1, type PracticeCategory as a2, type PracticeEvent as a3, type PracticeEventInput as a4, type PracticeEventQuery as a5, type PracticeResult as a6, type RateLimitConfig as a7, type RateLimitRule as a8, type Resolution as a9, type ResolutionQueryOptions as aa, type ResolutionRecord as ab, type ResolutionStrategy as ac, type SentinelConfig as ad, type SentinelServerConfig as ae, type ServiceInfo as af, type ServiceRegistration as ag, type SymbolHotspot as ah, type SymbolIncidentCount as ai, type SymbolResolutionTime as aj, type SymbolValidationResult as ak, type SymbolicContext as al, type TraceSpan as am, type TraceSpanInput as an, type TraceView as ao, type SymbolHealth as b, type SymbolEnrichment as c, type FailurePattern as d, type PatternExport as e, type AuthConfig as f, type AuthPermission as g, type AuthToken as h, type CorsConfig as i, type CreateGroupInput as j, type CreateIncidentInput as k, type CreatePatternInput as l, DEFAULT_RATE_LIMIT_CONFIG as m, DEFAULT_SERVER_CONFIG as n, type DayCount as o, type Environment as p, type ErrorDetails as q, type FlowEvent as r, type FlowEventType as s, type FlowPosition as t, type IncidentNote as u, type IncidentQueryOptions as v, type IncidentStatus as w, type LogEntryInput as x, type LogLevel as y, type LogQueryOptions as z };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@a-company/sentinel",
3
- "version": "3.7.0",
3
+ "version": "3.9.0",
4
4
  "description": "Semantic error monitoring — errors that speak your language",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",
@@ -1 +1 @@
1
- :root{--color-feature: #7dd3fc;--color-component: #86efac;--color-flow: #fbbf24;--color-state: #c084fc;--color-aspect: #a78bfa;--color-portal: #f87171;--color-signal: #fde047;--color-idea: #f0f9ff;--canvas-bg: #f8fafc;--canvas-grid: #e2e8f0;--canvas-grid-major: #cbd5e1;--panel-bg: #ffffff;--panel-border: #e2e8f0;--input-bg: #f8fafc;--input-border: #cbd5e1;--text-primary: #1e293b;--text-secondary: #475569;--text-muted: #94a3b8;--accent: #6366f1;--accent-hover: #4f46e5;--status-open: #ef4444;--status-investigating: #f59e0b;--status-resolved: #22c55e;--status-wont-fix: #6b7280;--node-padding: 12px 16px;--node-border-radius: 12px;--node-min-width: 120px;--panel-padding: 16px;--input-height: 48px;--font-sans: "Outfit", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-mono: "JetBrains Mono", "Fira Code", monospace;--shadow-sm: 0 2px 4px rgba(0, 0, 0, .05);--shadow-md: 0 4px 12px rgba(0, 0, 0, .08);--shadow-lg: 0 8px 24px rgba(0, 0, 0, .12);--shadow-glow: 0 0 30px rgba(96, 165, 250, .2);--transition-fast: .2s ease;--transition-normal: .3s ease}[data-theme=spectrum]{--canvas-bg: linear-gradient(135deg, #fef3c7 0%, #fce7f3 50%, #e0f2fe 100%);--canvas-bg: #fefce8;--canvas-grid: #fef08a;--canvas-grid-major: #fde047;--panel-bg: #fffbeb;--panel-border: #fef3c7;--input-bg: #fefce8;--input-border: #fde68a;--text-primary: #422006;--text-secondary: #713f12;--text-muted: #a16207;--accent: #f59e0b;--accent-hover: #d97706;--shadow-glow: 0 0 30px rgba(245, 158, 11, .25)}[data-theme=spectrum] .node{background:#fffbebf2;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}[data-theme=focus]{--canvas-bg: #f8fafc;--canvas-grid: #e2e8f0;--canvas-grid-major: #cbd5e1;--panel-bg: #ffffff;--panel-border: #e2e8f0;--input-bg: #f8fafc;--input-border: #cbd5e1;--text-primary: #1e293b;--text-secondary: #475569;--text-muted: #94a3b8;--accent: #6366f1;--accent-hover: #4f46e5;--shadow-glow: 0 0 30px rgba(99, 102, 241, .2)}[data-theme=focus] .node{background:#fffffff2;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}[data-theme=deep]{--canvas-bg: #0f172a;--canvas-grid: #1e293b;--canvas-grid-major: #334155;--panel-bg: #1e293b;--panel-border: #334155;--input-bg: #0f172a;--input-border: #475569;--text-primary: #f1f5f9;--text-secondary: #cbd5e1;--text-muted: #94a3b8;--accent: #818cf8;--accent-hover: #6366f1;--shadow-glow: 0 0 30px rgba(129, 140, 248, .3)}[data-theme=deep] .node{background:#1e293bf2;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-width:1px}[data-theme=deep] .node.selected{background:#1e293b}[data-theme=deep] .node--feature.selected{box-shadow:0 0 0 1px var(--color-feature),0 0 24px #7dd3fc40,var(--shadow-lg)}[data-theme=deep] .node--component.selected{box-shadow:0 0 0 1px var(--color-component),0 0 24px #86efac40,var(--shadow-lg)}[data-theme=deep] .node--flow.selected{box-shadow:0 0 0 1px var(--color-flow),0 0 24px #fbbf2440,var(--shadow-lg)}[data-theme=deep] .node--state.selected{box-shadow:0 0 0 1px var(--color-state),0 0 24px #c084fc40,var(--shadow-lg)}[data-theme=deep] .node--aspect.selected{box-shadow:0 0 0 1px var(--color-aspect),0 0 24px #a78bfa40,var(--shadow-lg)}[data-theme=deep] .node--portal.selected{box-shadow:0 0 0 1px var(--color-portal),0 0 24px #f8717133,var(--shadow-lg)}[data-theme=deep] .node--signal.selected{box-shadow:0 0 0 1px var(--color-signal),0 0 24px #fde04740,var(--shadow-lg)}[data-theme=deep] .node--idea.selected{box-shadow:0 0 0 1px var(--color-idea),0 0 24px #f0f9ff26,var(--shadow-lg)}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html,body{height:100%;overflow:hidden}body{font-family:var(--font-sans);font-size:14px;line-height:1.5;color:var(--text-primary);background:var(--canvas-bg);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;transition:background-color var(--transition-normal),color var(--transition-normal)}.canvas-container,.toolbar,.panel,.command-input,.node,.help-panel,.view-tabs-header,.incidents-view{transition:background-color var(--transition-normal),border-color var(--transition-normal),color var(--transition-normal),box-shadow var(--transition-normal)}#root{height:100%}.app{display:flex;flex-direction:column;height:100%;position:relative}.app.loading-state,.app.error-state,.design-view.loading-state,.design-view.error-state,.incidents-view.loading-state,.incidents-view.error-state{display:flex;align-items:center;justify-content:center;background:var(--canvas-bg);flex:1}.loading-content,.error-content{text-align:center;color:var(--text-primary)}.loading-spinner{width:40px;height:40px;border:3px solid var(--panel-border);border-top-color:var(--color-feature);border-radius:50%;animation:spin 1s linear infinite;margin:0 auto 1rem}@keyframes spin{to{transform:rotate(360deg)}}.error-content h2{color:var(--status-open);margin-bottom:.5rem}.error-content p{margin-bottom:.5rem;opacity:.8}.error-content .hint{font-size:.85rem;opacity:.6;margin-bottom:1rem}.error-content code{background:var(--input-bg);padding:.2em .4em;border-radius:4px;font-family:var(--font-mono)}.error-content button{padding:.5rem 1.5rem;background:var(--color-feature);color:#fff;border:none;border-radius:6px;cursor:pointer;font-size:.9rem}.error-content button:hover{opacity:.9}.main-content{flex:1;display:flex;flex-direction:column;overflow:hidden;position:relative;min-height:0}.view-tabs-header{display:flex;align-items:center;justify-content:space-between;padding:8px 16px;background:var(--panel-bg);border-bottom:1px solid var(--panel-border);z-index:100}.view-tabs-left{display:flex;align-items:center;gap:16px}.toolbar-logo{display:flex;align-items:center;gap:8px;font-weight:600;font-size:16px;color:var(--text-primary)}.toolbar-logo svg{width:24px;height:24px}.toolbar-title{color:var(--text-secondary);font-weight:400}.view-tabs{display:flex;gap:4px;background:var(--input-bg);padding:4px;border-radius:8px}.view-tab{display:flex;align-items:center;gap:6px;padding:8px 16px;border:none;background:transparent;color:var(--text-secondary);font-size:14px;font-weight:500;border-radius:6px;cursor:pointer;transition:all var(--transition-fast)}.view-tab:hover{color:var(--text-primary);background:var(--panel-bg)}.view-tab.active{color:var(--text-primary);background:var(--panel-bg);box-shadow:var(--shadow-sm)}.view-tab svg{width:16px;height:16px}.view-tabs-right{display:flex;align-items:center;gap:12px}.project-dir-badge{font-size:11px;font-family:var(--font-mono);color:var(--text-muted);max-width:300px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;direction:rtl;text-align:left}.version-badge-inline{font-size:11px;font-family:var(--font-mono);color:var(--text-muted);padding:4px 8px;background:var(--input-bg);border-radius:4px}.design-view{display:flex;flex-direction:column;flex:1;position:relative;min-height:0;overflow:hidden}.design-content{flex:1;display:flex;overflow:hidden;position:relative;min-height:0}.canvas-container{flex:1;position:relative;overflow:hidden;cursor:grab;background:var(--canvas-bg)}.canvas-container:active{cursor:grabbing}.canvas-grid{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;background-image:linear-gradient(var(--canvas-grid) 1px,transparent 1px),linear-gradient(90deg,var(--canvas-grid) 1px,transparent 1px),linear-gradient(var(--canvas-grid-major) 1px,transparent 1px),linear-gradient(90deg,var(--canvas-grid-major) 1px,transparent 1px);background-size:20px 20px,20px 20px,100px 100px,100px 100px;opacity:.5}.canvas-content{position:absolute;transform-origin:0 0;will-change:transform}.node{position:absolute;padding:var(--node-padding);border-radius:var(--node-border-radius);min-width:var(--node-min-width);cursor:pointer;-webkit-user-select:none;user-select:none;transition:box-shadow var(--transition-fast),transform var(--transition-normal),background var(--transition-fast),left var(--transition-normal),top var(--transition-normal);background:#ffffffe6;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:2px solid transparent;box-shadow:var(--shadow-md)}.node:hover{transform:scale(1.02);box-shadow:var(--shadow-lg)}.node.selected{box-shadow:var(--shadow-lg);transform:scale(1.02)}.node--feature.selected{box-shadow:0 0 0 2px var(--color-feature),0 0 20px #7dd3fc4d,var(--shadow-lg)}.node--component.selected{box-shadow:0 0 0 2px var(--color-component),0 0 20px #86efac4d,var(--shadow-lg)}.node--flow.selected{box-shadow:0 0 0 2px var(--color-flow),0 0 20px #fbbf244d,var(--shadow-lg)}.node--state.selected{box-shadow:0 0 0 2px var(--color-state),0 0 20px #c084fc4d,var(--shadow-lg)}.node--aspect.selected{box-shadow:0 0 0 2px var(--color-aspect),0 0 20px #a78bfa4d,var(--shadow-lg)}.node--portal.selected{box-shadow:0 0 0 2px var(--color-portal),0 0 20px #f871714d,var(--shadow-lg)}.node--signal.selected{box-shadow:0 0 0 2px var(--color-signal),0 0 20px #fde0474d,var(--shadow-lg)}.node--idea.selected{box-shadow:0 0 0 2px var(--color-idea),0 0 20px #f0f9ff33,var(--shadow-lg)}.node-header{display:flex;align-items:center;gap:8px;margin-bottom:4px}.node-symbol{font-family:var(--font-mono);font-weight:600;font-size:13px}.node-name{font-weight:500;font-size:13px;color:var(--text-primary)}.node-description{font-size:12px;color:var(--text-secondary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:200px}.node-tags{display:flex;gap:4px;margin-top:8px;flex-wrap:wrap}.node-tag{font-size:10px;padding:2px 6px;border-radius:4px;background:#0000000d;color:var(--text-secondary)}[data-theme=deep] .node-tag{background:#ffffff1a}.node--feature{border-color:var(--color-feature)}.node--feature .node-symbol{color:var(--color-feature)}.node--component{border-color:var(--color-component)}.node--component .node-symbol{color:var(--color-component)}.node--flow{border-color:var(--color-flow)}.node--flow .node-symbol{color:var(--color-flow)}.node--state{border-color:var(--color-state)}.node--state .node-symbol{color:var(--color-state)}.node--aspect{border-color:var(--color-aspect)}.node--aspect .node-symbol{color:var(--color-aspect)}.node--portal{border-color:var(--color-portal)}.node--portal .node-symbol{color:var(--color-portal)}.node--signal{border-color:var(--color-signal)}.node--signal .node-symbol{color:var(--color-signal)}.node--idea{border-color:var(--color-idea);border-style:dashed;background:#f8fafc0d}.node--idea .node-symbol{color:var(--color-idea)}.node--idea-feature{border-color:var(--color-feature)}.node--idea-feature .node-symbol{color:var(--color-feature)}.node--idea-component{border-color:var(--color-component)}.node--idea-component .node-symbol{color:var(--color-component)}.node--idea-flow{border-color:var(--color-flow)}.node--idea-flow .node-symbol{color:var(--color-flow)}.node--idea-state{border-color:var(--color-state)}.node--idea-state .node-symbol{color:var(--color-state)}.node--idea-aspect{border-color:var(--color-aspect)}.node--idea-aspect .node-symbol{color:var(--color-aspect)}.node--idea-portal{border-color:var(--color-portal)}.node--idea-portal .node-symbol{color:var(--color-portal)}.node--idea-signal{border-color:var(--color-signal)}.node--idea-signal .node-symbol{color:var(--color-signal)}.node-idea-type{font-size:10px;padding:2px 6px;border-radius:4px;background:#0000000d;color:var(--text-secondary);font-weight:400;margin-left:auto}[data-theme=deep] .node-idea-type{background:#ffffff1a}.connections-layer{pointer-events:none;position:absolute;top:0;right:0;bottom:0;left:0;overflow:visible}.connection-line{stroke:var(--text-muted);stroke-width:2;fill:none;opacity:.5}.connection-line:hover{stroke:var(--accent);opacity:1}.toolbar{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;background:var(--panel-bg);border-bottom:1px solid var(--panel-border);z-index:100}.toolbar-left{display:flex;align-items:center;gap:16px}.toolbar-project-name{font-size:14px;color:var(--text-secondary)}.toolbar-center{display:flex;align-items:center;gap:8px}.toolbar-right{display:flex;align-items:center;gap:12px}.toolbar-stats{display:flex;align-items:center;gap:12px;font-size:12px;color:var(--text-secondary)}.toolbar-toggle-all{display:flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:4px;background:var(--input-bg);border:1px solid var(--input-border);color:var(--text-secondary);cursor:pointer;font-size:18px;line-height:1;padding:0;transition:all var(--transition-fast);margin-right:4px}.toolbar-toggle-all:hover{background:var(--panel-bg);border-color:var(--accent);color:var(--accent);transform:scale(1.1)}.toolbar-stat{display:flex;align-items:center;gap:4px;transition:opacity var(--transition-fast)}.toolbar-stat--active{opacity:1}.toolbar-stat--inactive{opacity:.35}.toolbar-stat-icon-wrapper{display:flex;align-items:center;justify-content:center;width:18px;height:18px;border-radius:50%;padding:2px;flex-shrink:0;transition:all var(--transition-fast)}.toolbar-stat-icon-wrapper--active{background:#0000000d;border:1px solid rgba(0,0,0,.08)}.toolbar-stat-icon-wrapper--inactive{background:transparent;border:2px solid rgba(0,0,0,.2)}.toolbar-stat-icon{width:10px;height:10px;border-radius:50%;flex-shrink:0;transition:all var(--transition-fast)}.toolbar-stat-icon--active{border:none}.toolbar-stat-icon--inactive{background:transparent!important;border:1.5px solid currentColor;opacity:.4}.toolbar-stat-count--active{color:var(--text-primary);font-weight:500}.toolbar-stat-count--inactive{color:var(--text-muted);font-weight:400;opacity:.5}[data-theme=spectrum] .toolbar-stat-icon-wrapper--active,[data-theme=focus] .toolbar-stat-icon-wrapper--active{background:#0000000f;border-color:#0000001f;box-shadow:0 1px 2px #0000000d}[data-theme=spectrum] .toolbar-stat-icon-wrapper--inactive,[data-theme=focus] .toolbar-stat-icon-wrapper--inactive{border-color:#00000040;background:transparent}[data-theme=deep] .toolbar-stat-icon-wrapper--active{background:#ffffff14;border-color:#ffffff26;box-shadow:0 1px 2px #0003}[data-theme=deep] .toolbar-stat-icon-wrapper--inactive{border-color:#ffffff4d;background:transparent}[data-theme=deep] .toolbar-stat-icon--inactive{border-color:#fff6}.theme-toggle{display:flex;align-items:center;gap:4px;background:var(--input-bg);border:1px solid var(--input-border);border-radius:8px;padding:2px}.theme-btn{width:32px;height:32px;border-radius:6px;background:transparent;border:none;font-size:12px;font-weight:600;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all var(--transition-fast);opacity:.5;color:var(--text-secondary)}.theme-btn:hover{opacity:.8;background:var(--panel-bg);transform:scale(1.1)}.theme-btn.active{opacity:1;background:var(--accent);color:#fff;box-shadow:var(--shadow-sm)}.command-input-container{position:absolute;bottom:24px;left:50%;transform:translate(-50%);width:100%;max-width:600px;padding:0 16px;z-index:300}.command-input{display:flex;align-items:center;background:var(--panel-bg);border:1px solid var(--input-border);border-radius:12px;padding:0 16px;height:var(--input-height);box-shadow:var(--shadow-lg);transition:border-color var(--transition-fast),box-shadow var(--transition-fast)}.command-input:focus-within{border-color:var(--accent);box-shadow:var(--shadow-lg),var(--shadow-glow)}.command-input-prefix{font-family:var(--font-mono);font-size:14px;color:var(--text-muted);margin-right:8px}.command-input input{flex:1;background:transparent;border:none;outline:none;font-family:var(--font-mono);font-size:14px;color:var(--text-primary)}.command-input input::placeholder{color:var(--text-muted)}.command-input-hint{font-size:12px;color:var(--text-muted)}.autocomplete-dropdown{position:absolute;bottom:100%;left:0;right:0;margin-bottom:8px;background:var(--panel-bg);border:1px solid var(--panel-border);border-radius:8px;max-height:240px;overflow-y:auto;box-shadow:var(--shadow-lg)}.autocomplete-item{display:flex;align-items:center;gap:12px;padding:10px 16px;cursor:pointer;transition:background var(--transition-fast)}.autocomplete-item:hover,.autocomplete-item.selected{background:#ffffff0d}.autocomplete-item-symbol{font-family:var(--font-mono);font-weight:600;font-size:13px}.autocomplete-item-desc{font-size:12px;color:var(--text-secondary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.properties-panel{width:320px;background:var(--panel-bg);border-left:1px solid var(--panel-border);display:flex;flex-direction:column;overflow:hidden;z-index:400;position:relative}.properties-header{display:flex;align-items:center;justify-content:space-between;padding:var(--panel-padding);border-bottom:1px solid var(--panel-border)}.properties-title{font-weight:600;font-size:14px}.properties-title-editable{cursor:pointer;transition:color var(--transition-fast)}.properties-title-editable:hover{color:var(--accent)}.properties-title-input{font-weight:600;font-size:14px;font-family:var(--font-mono);background:var(--input-bg);border:1px solid var(--accent);border-radius:4px;padding:4px 8px;color:var(--text-primary);width:100%;outline:none}.properties-close{background:none;border:none;color:var(--text-muted);cursor:pointer;padding:4px;border-radius:4px;transition:color var(--transition-fast),background var(--transition-fast);font-size:18px}.properties-close:hover{color:var(--text-primary);background:#ffffff1a}.properties-content{flex:1;overflow-y:auto;padding:var(--panel-padding)}.properties-section{margin-bottom:20px}.properties-section-title{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);margin-bottom:8px}.properties-field{margin-bottom:12px}.properties-field-label{font-size:12px;color:var(--text-secondary);margin-bottom:4px}.properties-field-value{font-size:13px;color:var(--text-primary);word-break:break-word}.properties-field-value-editable{cursor:pointer;padding:4px 8px;margin:-4px -8px;border-radius:4px;transition:background-color var(--transition-fast),color var(--transition-fast)}.properties-field-value-editable:hover{background:var(--input-bg);color:var(--accent)}.properties-field-value--mono{font-family:var(--font-mono);font-size:12px}.properties-field-input,.properties-field-textarea{width:100%;background:var(--input-bg);border:1px solid var(--accent);border-radius:4px;padding:6px 8px;font-size:13px;font-family:var(--font-sans);color:var(--text-primary);outline:none;transition:border-color var(--transition-fast),box-shadow var(--transition-fast)}.properties-field-input:focus,.properties-field-textarea:focus{border-color:var(--accent);box-shadow:0 0 0 2px #60a5fa33}.properties-field-textarea{resize:vertical;min-height:60px;font-family:var(--font-sans);line-height:1.5}.properties-field-input{font-family:var(--font-mono);font-size:12px}.properties-tags{display:flex;flex-wrap:wrap;gap:6px}.properties-tag{font-size:11px;padding:4px 8px;border-radius:4px;background:#ffffff1a;color:var(--text-secondary)}.properties-source-link{font-size:12px;color:var(--accent);text-decoration:none;display:flex;align-items:center;gap:4px}.properties-source-link:hover{text-decoration:underline}.timeline-container{position:absolute;bottom:16px;left:16px;right:16px;height:32px;display:flex;align-items:center;gap:12px;padding:0 16px;background:var(--panel-bg);border:1px solid var(--panel-border);border-radius:8px;z-index:100}.timeline-label{font-size:11px;color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;white-space:nowrap}.timeline-slider{flex:1;-webkit-appearance:none;-moz-appearance:none;appearance:none;height:4px;background:var(--input-border);border-radius:2px;outline:none}.timeline-slider::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:16px;height:16px;border-radius:50%;background:var(--accent);cursor:pointer;transition:transform var(--transition-fast)}.timeline-slider::-webkit-slider-thumb:hover{transform:scale(1.2)}.timeline-value{font-size:12px;color:var(--text-secondary);font-family:var(--font-mono);min-width:80px;max-width:200px;text-align:right;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.help-toggle{position:fixed;top:60px;left:16px;width:32px;height:32px;border-radius:6px;background:var(--panel-bg);border:1px solid var(--panel-border);color:var(--text-secondary);font-size:18px;font-weight:600;cursor:pointer;display:flex;align-items:center;justify-content:center;z-index:300;transition:all var(--transition-fast);box-shadow:var(--shadow-md)}.help-toggle:hover{background:var(--input-bg);border-color:var(--accent);color:var(--text-primary);transform:scale(1.05)}.help-panel{position:fixed;top:60px;left:16px;width:320px;max-height:calc(100vh - 80px);background:var(--panel-bg);border:1px solid var(--panel-border);border-radius:12px;box-shadow:var(--shadow-lg);z-index:300;display:flex;flex-direction:column;overflow:hidden;animation:slideUp var(--transition-fast)}.help-panel-header{display:flex;align-items:center;justify-content:space-between;padding:16px;border-bottom:1px solid var(--panel-border)}.help-panel-header h3{font-size:16px;font-weight:600;color:var(--text-primary);margin:0}.help-panel-close{width:24px;height:24px;border-radius:4px;background:transparent;border:none;color:var(--text-secondary);font-size:20px;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all var(--transition-fast)}.help-panel-close:hover{background:var(--input-bg);color:var(--text-primary)}.help-panel-content{padding:16px;overflow-y:auto;flex:1}.help-category{margin-bottom:20px}.help-category:last-child{margin-bottom:0}.help-category h4{font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:var(--text-muted);margin:0 0 12px}.help-hotkeys{display:flex;flex-direction:column;gap:8px}.help-hotkey{display:flex;align-items:center;gap:12px}.help-key{font-family:var(--font-mono);font-size:12px;font-weight:600;padding:4px 8px;background:var(--input-bg);border:1px solid var(--input-border);border-radius:4px;color:var(--text-primary);min-width:60px;text-align:center;white-space:nowrap}.help-description{font-size:13px;color:var(--text-secondary);flex:1}.help-panel-footer{padding:12px 16px;border-top:1px solid var(--panel-border);background:var(--input-bg)}.help-hint{font-size:12px;color:var(--text-muted);display:flex;align-items:center;gap:4px}.help-hint kbd{font-family:var(--font-mono);font-size:11px;padding:2px 6px;background:var(--panel-bg);border:1px solid var(--panel-border);border-radius:3px;color:var(--text-primary)}.incidents-view{display:flex;flex-direction:column;flex:1;background:var(--canvas-bg)}.incidents-filters{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;background:var(--panel-bg);border-bottom:1px solid var(--panel-border)}.filter-group{display:flex;align-items:center;gap:8px}.filter-group label{font-size:12px;color:var(--text-secondary)}.filter-group select{padding:6px 12px;background:var(--input-bg);border:1px solid var(--input-border);border-radius:6px;color:var(--text-primary);font-size:13px;outline:none}.filter-stats{font-size:12px;color:var(--text-muted)}.incidents-content{flex:1;display:flex;overflow:hidden}.incidents-list{flex:1;overflow-y:auto;padding:16px}.incidents-empty{text-align:center;padding:48px 24px;color:var(--text-secondary)}.incidents-empty .hint{font-size:12px;color:var(--text-muted);margin-top:8px}.incident-card{padding:16px;background:var(--panel-bg);border:1px solid var(--panel-border);border-radius:8px;margin-bottom:12px;cursor:pointer;transition:all var(--transition-fast)}.incident-card:hover{border-color:var(--accent);box-shadow:var(--shadow-md)}.incident-card.selected{border-color:var(--accent);box-shadow:var(--shadow-glow)}.incident-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}.incident-id{font-family:var(--font-mono);font-size:12px;font-weight:600;color:var(--text-primary)}.incident-status{font-size:11px;font-weight:600;text-transform:uppercase}.incident-error{font-size:13px;color:var(--text-primary);margin-bottom:8px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.incident-meta{display:flex;gap:12px;font-size:11px;color:var(--text-muted)}.incident-symbols{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}.symbol-tag{font-family:var(--font-mono);font-size:11px;padding:2px 6px;border-radius:4px;background:#0000000d}.symbol-tag.feature{color:var(--color-feature)}.symbol-tag.component{color:var(--color-component)}.symbol-tag.flow{color:var(--color-flow)}.symbol-tag.gate{color:var(--color-portal)}.symbol-tag.signal{color:var(--color-signal)}.incident-patterns{margin-top:8px}.pattern-match{font-size:11px;color:var(--accent)}.incident-detail{width:400px;background:var(--panel-bg);border-left:1px solid var(--panel-border);display:flex;flex-direction:column;overflow:hidden}.detail-header{display:flex;align-items:center;justify-content:space-between;padding:16px;border-bottom:1px solid var(--panel-border)}.detail-header h2{font-size:16px;font-weight:600;font-family:var(--font-mono)}.detail-close{background:none;border:none;font-size:24px;color:var(--text-muted);cursor:pointer;padding:4px}.detail-close:hover{color:var(--text-primary)}.detail-content{flex:1;overflow-y:auto;padding:16px}.detail-section{margin-bottom:24px}.detail-section h3{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);margin-bottom:12px}.error-message{font-family:var(--font-mono);font-size:13px;color:var(--status-open);background:#ef44441a;padding:12px;border-radius:6px;word-break:break-word}.error-type{font-size:12px;color:var(--text-secondary);margin-top:8px}.detail-field{display:flex;align-items:center;justify-content:space-between;padding:8px 0;border-bottom:1px solid var(--panel-border)}.detail-field label{font-size:12px;color:var(--text-secondary)}.detail-field span{font-size:13px;color:var(--text-primary)}.status-badge{font-size:11px;padding:4px 8px;border-radius:4px;color:#fff;font-weight:600;text-transform:uppercase}.symbols-list{display:flex;flex-direction:column;gap:8px}.symbol-item{display:flex;align-items:center;justify-content:space-between;padding:8px 12px;background:var(--input-bg);border-radius:6px}.symbol-item label{font-size:11px;text-transform:uppercase;color:var(--text-muted)}.symbol-value{font-family:var(--font-mono);font-size:13px}.symbol-value.feature{color:var(--color-feature)}.symbol-value.component{color:var(--color-component)}.symbol-value.flow{color:var(--color-flow)}.symbol-value.gate{color:var(--color-portal)}.symbol-value.signal{color:var(--color-signal)}.patterns-list{display:flex;flex-direction:column;gap:8px}.pattern-item{padding:12px;background:var(--input-bg);border-radius:6px}.pattern-name{font-weight:500;color:var(--text-primary);margin-bottom:4px}.pattern-confidence{font-size:12px;color:var(--accent)}.detail-actions{padding-top:16px;border-top:1px solid var(--panel-border)}.action-btn{padding:10px 20px;border:none;border-radius:6px;font-size:14px;font-weight:500;cursor:pointer;transition:all var(--transition-fast)}.action-btn.resolve{background:var(--status-resolved);color:#fff}.action-btn.resolve:hover{opacity:.9}.grid-view{flex:1;overflow:hidden;padding:16px;background:var(--canvas-bg);display:flex;flex-direction:column}.grid-view--empty{display:flex;align-items:center;justify-content:center;color:var(--text-secondary)}.grid-columns{display:grid;gap:16px;flex:1;min-height:0;overflow:hidden}.grid-column{display:flex;flex-direction:column;background:var(--panel-bg);border-radius:12px;overflow:hidden;border:1px solid var(--panel-border);min-height:0}.grid-column-header{display:flex;align-items:center;gap:8px;padding:12px 16px;border-bottom:2px solid;background:var(--input-bg)}.grid-column-prefix{font-family:var(--font-mono);font-weight:700;font-size:14px}.grid-column-label{font-weight:600;font-size:13px;color:var(--text-primary)}.grid-column-count{margin-left:auto;font-size:11px;color:var(--text-muted);background:var(--panel-bg);padding:2px 8px;border-radius:10px}.grid-column-content{flex:1;overflow-y:auto;overflow-x:hidden;padding:12px;display:flex;flex-direction:column;gap:8px;min-height:0}.grid-card{padding:12px;background:var(--input-bg);border-radius:8px;cursor:pointer;transition:all var(--transition-fast);border:1px solid transparent}.grid-card:hover{background:var(--panel-bg);border-color:var(--panel-border)}.grid-card.selected{border-color:var(--accent);box-shadow:var(--shadow-sm)}.grid-card-header{display:flex;align-items:center;gap:6px;margin-bottom:4px}.grid-card-symbol{font-family:var(--font-mono);font-weight:600;font-size:12px}.grid-card-name{font-weight:500;font-size:13px;color:var(--text-primary)}.grid-card-description{font-size:11px;color:var(--text-secondary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.grid-card-tags{display:flex;gap:4px;margin-top:8px;flex-wrap:wrap}.grid-card-tag{font-size:10px;padding:2px 6px;border-radius:4px;background:#0000000d;color:var(--text-muted)}[data-theme=deep] .grid-card-tag{background:#ffffff14}.list-view{flex:1;overflow:hidden;padding:16px;background:var(--canvas-bg);display:flex;flex-direction:column;min-height:0}.list-table-container{flex:1;overflow:auto;min-height:0}.list-view--empty{display:flex;align-items:center;justify-content:center;color:var(--text-secondary)}.list-table{width:100%;border-collapse:collapse;background:var(--panel-bg);border-radius:8px;overflow:hidden}.list-header{text-align:left;padding:12px 16px;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);background:var(--input-bg);border-bottom:1px solid var(--panel-border);cursor:pointer;-webkit-user-select:none;user-select:none;white-space:nowrap}.list-header:hover{color:var(--text-secondary)}.list-header--active{color:var(--accent)}.list-sort-indicator{margin-left:4px;font-size:10px}.list-row{cursor:pointer;transition:background var(--transition-fast)}.list-row:hover{background:var(--input-bg)}.list-row.selected{background:#6366f11a}.list-row:not(:last-child) .list-cell{border-bottom:1px solid var(--panel-border)}.list-cell{padding:12px 16px;font-size:13px;color:var(--text-primary);vertical-align:middle}.list-cell--symbol{display:flex;align-items:center;gap:6px;font-family:var(--font-mono)}.list-symbol{font-weight:600}.list-name{font-weight:500}.list-cell--type{width:100px}.list-type-badge{display:inline-block;padding:2px 8px;border-radius:4px;font-size:10px;font-weight:600;color:#fff;text-transform:uppercase}.list-cell--description{max-width:300px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--text-secondary)}.list-cell--tags{width:150px}.list-tags{display:flex;gap:4px;flex-wrap:wrap}.list-tag{font-size:10px;padding:2px 6px;border-radius:4px;background:#0000000d;color:var(--text-muted)}.list-tag-more{font-size:10px;color:var(--text-muted)}[data-theme=deep] .list-tag{background:#ffffff14}.list-cell--modified{width:100px;font-size:12px;color:var(--text-muted)}.list-empty{color:var(--text-muted)}.layout-controls{display:flex;align-items:center;gap:8px}.layout-toggle{display:flex;align-items:center;background:var(--input-bg);border:1px solid var(--input-border);border-radius:6px;padding:2px}.layout-btn{display:flex;align-items:center;justify-content:center;width:28px;height:28px;border:none;background:transparent;color:var(--text-muted);cursor:pointer;border-radius:4px;transition:all var(--transition-fast)}.layout-btn:hover{color:var(--text-secondary);background:var(--panel-bg)}.layout-btn.active{color:var(--text-primary);background:var(--panel-bg);box-shadow:var(--shadow-sm)}.layout-btn svg{width:16px;height:16px}.sort-select{padding:6px 12px;background:var(--input-bg);border:1px solid var(--input-border);border-radius:6px;color:var(--text-primary);font-size:12px;outline:none;cursor:pointer}.sort-select:focus{border-color:var(--accent)}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--input-border);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--text-muted)}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.node{animation:fadeIn var(--transition-normal)}.autocomplete-dropdown{animation:slideUp var(--transition-fast)}.logs-view{display:flex;flex-direction:column;height:100%;overflow:hidden;font-family:var(--font-mono);font-size:13px}.logs-toolbar{display:flex;align-items:center;justify-content:space-between;padding:8px 16px;border-bottom:1px solid var(--border-color, rgba(0,0,0,.1));background:var(--panel-bg);gap:12px;flex-shrink:0}.logs-filters{display:flex;gap:8px;align-items:center;flex:1}.logs-select{padding:4px 8px;border:1px solid var(--border-color, rgba(0,0,0,.15));border-radius:6px;background:var(--input-bg);color:var(--text-primary);font-family:var(--font-sans);font-size:12px}.logs-search{padding:4px 10px;border:1px solid var(--border-color, rgba(0,0,0,.15));border-radius:6px;background:var(--input-bg);color:var(--text-primary);font-family:var(--font-sans);font-size:12px;flex:1;max-width:300px}.logs-actions{display:flex;gap:8px;align-items:center}.logs-count{color:var(--text-muted);font-family:var(--font-sans);font-size:12px}.logs-live-btn,.logs-scroll-btn,.logs-clear-btn{padding:4px 10px;border:1px solid var(--border-color, rgba(0,0,0,.15));border-radius:6px;background:var(--input-bg);color:var(--text-secondary);font-family:var(--font-sans);font-size:12px;cursor:pointer;display:flex;align-items:center;gap:4px;transition:all var(--transition-fast)}.logs-live-btn.active{border-color:#22c55e;color:#22c55e}.logs-scroll-btn.active{border-color:var(--accent);color:var(--accent)}.live-dot{width:6px;height:6px;border-radius:50%;background:var(--text-muted)}.live-dot.live{background:#22c55e;animation:pulse-dot 2s infinite}@keyframes pulse-dot{0%,to{opacity:1}50%{opacity:.4}}.logs-table{flex:1;display:flex;flex-direction:column;overflow:hidden}.logs-header{display:flex;padding:6px 16px;border-bottom:1px solid var(--border-color, rgba(0,0,0,.1));background:var(--panel-bg);font-family:var(--font-sans);font-size:11px;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px;flex-shrink:0}.logs-body{flex:1;overflow-y:auto;background:var(--canvas-bg)}.logs-empty{padding:40px;text-align:center;color:var(--text-muted);font-family:var(--font-sans)}.logs-empty code{background:var(--input-bg);padding:2px 6px;border-radius:4px;font-size:12px}.log-row{display:flex;padding:4px 16px;border-bottom:1px solid var(--border-color, rgba(0,0,0,.04));cursor:pointer;transition:background var(--transition-fast);flex-wrap:wrap;align-items:baseline}.log-row:hover{background:var(--panel-bg)}.log-row--error{background:#ef44440a}.log-row--error:hover{background:#ef444414}.log-row--warn{background:#f59e0b08}.log-time{width:100px;flex-shrink:0;color:var(--text-muted)}.log-level{width:50px;flex-shrink:0;font-weight:600;font-size:11px}.log-symbol{width:160px;flex-shrink:0;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.log-service{width:100px;flex-shrink:0;color:var(--text-secondary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.log-message{flex:1;color:var(--text-primary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.log-duration{width:70px;flex-shrink:0;text-align:right;color:var(--text-muted);font-size:11px}.log-data{width:100%;margin-top:6px;padding:8px 12px;background:var(--input-bg);border-radius:6px;overflow-x:auto}.log-data pre{margin:0;font-size:11px;color:var(--text-secondary);white-space:pre-wrap;word-break:break-all}.flows-view{display:flex;flex-direction:column;height:100%;overflow:hidden}.flows-toolbar{display:flex;align-items:center;justify-content:space-between;padding:8px 16px;border-bottom:1px solid var(--border-color, rgba(0,0,0,.1));background:var(--panel-bg);flex-shrink:0}.flows-toolbar-left{display:flex;gap:12px;align-items:center}.flows-count{color:var(--text-muted);font-size:13px}.flows-content{display:flex;flex:1;overflow:hidden}.flows-list{width:320px;overflow-y:auto;border-right:1px solid var(--border-color, rgba(0,0,0,.1));background:var(--panel-bg);flex-shrink:0}.flows-detail{flex:1;overflow-y:auto;padding:24px;background:var(--canvas-bg)}.flows-empty,.flows-empty-detail{padding:40px;text-align:center;color:var(--text-muted)}.flows-empty code{background:var(--input-bg);padding:2px 6px;border-radius:4px;font-size:12px}.flow-card{padding:12px 16px;border-bottom:1px solid var(--border-color, rgba(0,0,0,.06));cursor:pointer;transition:background var(--transition-fast)}.flow-card:hover{background:var(--canvas-bg)}.flow-card.selected{background:var(--canvas-bg);border-left:3px solid var(--color-flow)}.flow-card-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:4px}.flow-card-id{color:var(--color-flow);font-family:var(--font-mono);font-size:13px;font-weight:600}.flow-card-trigger{font-size:11px;color:var(--text-muted);font-family:var(--font-mono)}.flow-card-name{font-size:13px;color:var(--text-secondary);margin-bottom:8px}.flow-card-steps{display:flex;gap:2px;align-items:center}.flow-step-mini{display:flex;align-items:center;gap:2px}.flow-arrow{color:var(--text-muted);font-size:10px}.flow-step-dot{width:8px;height:8px;border-radius:50%;transition:all var(--transition-fast)}.flow-step-dot.active{transform:scale(1.5)}.flow-step-dot.pulse{animation:pulse-dot 1s infinite}.flow-diagram h3{margin:0 0 4px;font-size:18px;color:var(--text-primary)}.flow-trigger-label{color:var(--text-muted);font-size:13px;margin-bottom:24px}.flow-trigger-label code{background:var(--input-bg);padding:2px 6px;border-radius:4px;font-family:var(--font-mono)}.flow-steps{display:flex;flex-direction:column;gap:0}.flow-step-container{display:flex;flex-direction:column;align-items:flex-start}.flow-connector{display:flex;justify-content:center;padding:0 0 0 36px}.flow-line{width:2px;height:24px;background:var(--text-muted);opacity:.3;transition:all var(--transition-fast)}.flow-line.active{background:var(--accent);opacity:1}.flow-step-node{display:flex;align-items:center;gap:10px;padding:10px 16px;border:2px solid var(--border-color, rgba(0,0,0,.15));border-radius:10px;background:var(--panel-bg);transition:all var(--transition-fast);min-width:200px}.flow-step-node.active{box-shadow:0 0 16px #6366f140;transform:scale(1.02)}.flow-step-icon{width:24px;height:24px;display:flex;align-items:center;justify-content:center;font-family:var(--font-mono);font-weight:700;font-size:14px;color:var(--text-muted)}.flow-step-symbol{font-family:var(--font-mono);font-weight:600;font-size:13px;color:var(--text-primary)}.flow-step-type{font-size:11px;color:var(--text-muted);text-transform:uppercase}.flow-step-live{font-size:11px;color:#22c55e;margin-left:auto}.flow-composer{max-width:560px}.flow-composer h3{margin:0 0 16px;font-size:18px;color:var(--text-primary)}.composer-field{margin-bottom:16px}.composer-field label{display:block;font-size:12px;font-weight:600;color:var(--text-secondary);margin-bottom:4px}.composer-field input{width:100%;padding:8px 12px;border:1px solid var(--border-color, rgba(0,0,0,.15));border-radius:8px;background:var(--input-bg);color:var(--text-primary);font-size:14px}.composer-steps{margin-bottom:20px}.composer-steps label{display:block;font-size:12px;font-weight:600;color:var(--text-secondary);margin-bottom:8px}.composer-step{display:flex;gap:8px;margin-bottom:8px;align-items:center}.composer-step select{padding:6px 8px;border:1px solid var(--border-color, rgba(0,0,0,.15));border-radius:6px;background:var(--input-bg);color:var(--text-primary);font-size:12px}.composer-step select:first-child{width:110px}.composer-step select:nth-child(2){flex:1}.composer-remove{width:28px;height:28px;border:1px solid var(--border-color, rgba(0,0,0,.15));border-radius:6px;background:transparent;color:var(--text-muted);cursor:pointer;font-size:16px;display:flex;align-items:center;justify-content:center}.composer-remove:hover{color:#ef4444;border-color:#ef4444}.composer-add-buttons{display:flex;gap:8px;margin-top:8px}.composer-add-buttons button{padding:4px 12px;border:1px dashed var(--border-color, rgba(0,0,0,.2));border-radius:6px;background:transparent;color:var(--text-muted);font-size:12px;cursor:pointer;transition:all var(--transition-fast)}.composer-add-buttons button:hover{border-color:var(--accent);color:var(--accent)}.composer-actions{display:flex;gap:8px}.action-btn{padding:8px 16px;border:none;border-radius:8px;background:var(--accent);color:#fff;font-size:13px;font-weight:600;cursor:pointer;transition:all var(--transition-fast)}.action-btn:hover{opacity:.9}.action-btn:disabled{opacity:.4;cursor:not-allowed}.action-btn.cancel{background:transparent;color:var(--text-secondary);border:1px solid var(--border-color, rgba(0,0,0,.15))}.logs-view,.logs-toolbar,.logs-header,.logs-body,.flows-view,.flows-toolbar,.flows-list,.flows-detail,.flow-card,.flow-step-node{transition:background-color var(--transition-normal),border-color var(--transition-normal),color var(--transition-normal)}.events-view{display:flex;flex-direction:column;height:100%;overflow:hidden}.events-toolbar{display:flex;align-items:center;gap:12px;padding:12px 16px;border-bottom:1px solid var(--panel-border);flex-shrink:0}.events-schema-select{background:var(--input-bg);border:1px solid var(--input-border);border-radius:6px;padding:6px 12px;color:var(--text-primary);font-size:13px;font-family:inherit;min-width:200px}.events-category-filters{display:flex;gap:6px;flex-wrap:wrap}.events-category-chip{padding:3px 10px;border:1px solid var(--input-border);border-radius:12px;background:transparent;color:var(--text-secondary);font-size:12px;cursor:pointer;transition:all .15s}.events-category-chip:hover{opacity:.8}.events-category-chip.active{background:var(--accent);border-color:var(--accent);color:#fff}.events-scope-nav{padding:8px 16px;border-bottom:1px solid var(--panel-border);flex-shrink:0;display:flex;align-items:center;gap:12px}.events-scope-label{font-size:12px;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;white-space:nowrap}.events-scope-list{display:flex;gap:4px;overflow-x:auto;scrollbar-width:thin}.events-scope-chip{display:flex;align-items:center;gap:4px;padding:3px 8px;border:1px solid var(--input-border);border-radius:4px;background:transparent;color:var(--text-secondary);font-size:12px;font-family:var(--font-mono, monospace);cursor:pointer;white-space:nowrap;transition:all .15s}.events-scope-chip:hover{border-color:var(--accent)}.events-scope-chip.active{background:var(--accent);border-color:var(--accent);color:#fff}.events-scope-chip .scope-count{font-size:10px;opacity:.7}.events-table{flex:1;overflow:auto;font-family:var(--font-mono, "SF Mono", "Fira Code", monospace);font-size:12px;line-height:1.5}.events-table-header{display:grid;grid-template-columns:100px 50px 80px 1fr 100px 80px;gap:8px;padding:6px 16px;font-weight:600;color:var(--text-muted);font-size:11px;text-transform:uppercase;letter-spacing:.05em;border-bottom:1px solid var(--panel-border);position:sticky;top:0;background:var(--panel-bg);z-index:1}.events-table-body{padding-bottom:32px}.event-row{display:grid;grid-template-columns:100px 50px 80px 1fr 100px 80px;gap:8px;padding:4px 16px;cursor:pointer;border-bottom:1px solid transparent;transition:background-color .1s}.event-row:hover{background:var(--hover-bg, rgba(99, 102, 241, .05))}.event-row--error{background:#ef44440d}.event-row--warn{background:#f59e0b08}.event-time{color:var(--text-muted);white-space:nowrap}.event-severity{font-weight:600;font-size:11px}.event-category{font-weight:500}.event-type{color:var(--text-primary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.event-service{color:var(--text-muted);overflow:hidden;text-overflow:ellipsis}.event-scope{color:var(--accent);font-weight:500}.event-depth{color:var(--text-muted);font-size:11px}.event-data{grid-column:1 / -1;padding:8px 12px;margin-top:4px;background:var(--input-bg);border-radius:4px;font-size:11px;overflow-x:auto}.event-data pre{margin:0;color:var(--text-secondary)}.events-empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:48px 24px;color:var(--text-muted);text-align:center}.events-empty-state .hint{font-size:13px;margin-top:8px}.events-empty-state code{background:var(--input-bg);padding:2px 6px;border-radius:4px;font-size:12px}.events-loading{padding:24px;text-align:center;color:var(--text-muted)}
1
+ :root{--color-feature: #7dd3fc;--color-component: #86efac;--color-flow: #fbbf24;--color-state: #c084fc;--color-aspect: #a78bfa;--color-portal: #f87171;--color-signal: #fde047;--color-idea: #f0f9ff;--canvas-bg: #f8fafc;--canvas-grid: #e2e8f0;--canvas-grid-major: #cbd5e1;--panel-bg: #ffffff;--panel-border: #e2e8f0;--input-bg: #f8fafc;--input-border: #cbd5e1;--text-primary: #1e293b;--text-secondary: #475569;--text-muted: #94a3b8;--accent: #6366f1;--accent-hover: #4f46e5;--status-open: #ef4444;--status-investigating: #f59e0b;--status-resolved: #22c55e;--status-wont-fix: #6b7280;--node-padding: 12px 16px;--node-border-radius: 12px;--node-min-width: 120px;--panel-padding: 16px;--input-height: 48px;--font-sans: "Outfit", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-mono: "JetBrains Mono", "Fira Code", monospace;--shadow-sm: 0 2px 4px rgba(0, 0, 0, .05);--shadow-md: 0 4px 12px rgba(0, 0, 0, .08);--shadow-lg: 0 8px 24px rgba(0, 0, 0, .12);--shadow-glow: 0 0 30px rgba(96, 165, 250, .2);--transition-fast: .2s ease;--transition-normal: .3s ease}[data-theme=spectrum]{--canvas-bg: linear-gradient(135deg, #fef3c7 0%, #fce7f3 50%, #e0f2fe 100%);--canvas-bg: #fefce8;--canvas-grid: #fef08a;--canvas-grid-major: #fde047;--panel-bg: #fffbeb;--panel-border: #fef3c7;--input-bg: #fefce8;--input-border: #fde68a;--text-primary: #422006;--text-secondary: #713f12;--text-muted: #a16207;--accent: #f59e0b;--accent-hover: #d97706;--shadow-glow: 0 0 30px rgba(245, 158, 11, .25)}[data-theme=spectrum] .node{background:#fffbebf2;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}[data-theme=focus]{--canvas-bg: #f8fafc;--canvas-grid: #e2e8f0;--canvas-grid-major: #cbd5e1;--panel-bg: #ffffff;--panel-border: #e2e8f0;--input-bg: #f8fafc;--input-border: #cbd5e1;--text-primary: #1e293b;--text-secondary: #475569;--text-muted: #94a3b8;--accent: #6366f1;--accent-hover: #4f46e5;--shadow-glow: 0 0 30px rgba(99, 102, 241, .2)}[data-theme=focus] .node{background:#fffffff2;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}[data-theme=deep]{--canvas-bg: #0f172a;--canvas-grid: #1e293b;--canvas-grid-major: #334155;--panel-bg: #1e293b;--panel-border: #334155;--input-bg: #0f172a;--input-border: #475569;--text-primary: #f1f5f9;--text-secondary: #cbd5e1;--text-muted: #94a3b8;--accent: #818cf8;--accent-hover: #6366f1;--shadow-glow: 0 0 30px rgba(129, 140, 248, .3)}[data-theme=deep] .node{background:#1e293bf2;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-width:1px}[data-theme=deep] .node.selected{background:#1e293b}[data-theme=deep] .node--feature.selected{box-shadow:0 0 0 1px var(--color-feature),0 0 24px #7dd3fc40,var(--shadow-lg)}[data-theme=deep] .node--component.selected{box-shadow:0 0 0 1px var(--color-component),0 0 24px #86efac40,var(--shadow-lg)}[data-theme=deep] .node--flow.selected{box-shadow:0 0 0 1px var(--color-flow),0 0 24px #fbbf2440,var(--shadow-lg)}[data-theme=deep] .node--state.selected{box-shadow:0 0 0 1px var(--color-state),0 0 24px #c084fc40,var(--shadow-lg)}[data-theme=deep] .node--aspect.selected{box-shadow:0 0 0 1px var(--color-aspect),0 0 24px #a78bfa40,var(--shadow-lg)}[data-theme=deep] .node--portal.selected{box-shadow:0 0 0 1px var(--color-portal),0 0 24px #f8717133,var(--shadow-lg)}[data-theme=deep] .node--signal.selected{box-shadow:0 0 0 1px var(--color-signal),0 0 24px #fde04740,var(--shadow-lg)}[data-theme=deep] .node--idea.selected{box-shadow:0 0 0 1px var(--color-idea),0 0 24px #f0f9ff26,var(--shadow-lg)}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html,body{height:100%;overflow:hidden}body{font-family:var(--font-sans);font-size:14px;line-height:1.5;color:var(--text-primary);background:var(--canvas-bg);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;transition:background-color var(--transition-normal),color var(--transition-normal)}.canvas-container,.toolbar,.panel,.command-input,.node,.help-panel,.view-tabs-header,.incidents-view{transition:background-color var(--transition-normal),border-color var(--transition-normal),color var(--transition-normal),box-shadow var(--transition-normal)}#root{height:100%}.app{display:flex;flex-direction:column;height:100%;position:relative}.app.loading-state,.app.error-state,.design-view.loading-state,.design-view.error-state,.incidents-view.loading-state,.incidents-view.error-state{display:flex;align-items:center;justify-content:center;background:var(--canvas-bg);flex:1}.loading-content,.error-content{text-align:center;color:var(--text-primary)}.loading-spinner{width:40px;height:40px;border:3px solid var(--panel-border);border-top-color:var(--color-feature);border-radius:50%;animation:spin 1s linear infinite;margin:0 auto 1rem}@keyframes spin{to{transform:rotate(360deg)}}.error-content h2{color:var(--status-open);margin-bottom:.5rem}.error-content p{margin-bottom:.5rem;opacity:.8}.error-content .hint{font-size:.85rem;opacity:.6;margin-bottom:1rem}.error-content code{background:var(--input-bg);padding:.2em .4em;border-radius:4px;font-family:var(--font-mono)}.error-content button{padding:.5rem 1.5rem;background:var(--color-feature);color:#fff;border:none;border-radius:6px;cursor:pointer;font-size:.9rem}.error-content button:hover{opacity:.9}.main-content{flex:1;display:flex;flex-direction:column;overflow:hidden;position:relative;min-height:0}.view-tabs-header{display:flex;align-items:center;justify-content:space-between;padding:8px 16px;background:var(--panel-bg);border-bottom:1px solid var(--panel-border);z-index:100}.view-tabs-left{display:flex;align-items:center;gap:16px}.toolbar-logo{display:flex;align-items:center;gap:8px;font-weight:600;font-size:16px;color:var(--text-primary)}.toolbar-logo svg{width:24px;height:24px}.toolbar-title{color:var(--text-secondary);font-weight:400}.view-tabs{display:flex;gap:4px;background:var(--input-bg);padding:4px;border-radius:8px}.view-tab{display:flex;align-items:center;gap:6px;padding:8px 16px;border:none;background:transparent;color:var(--text-secondary);font-size:14px;font-weight:500;border-radius:6px;cursor:pointer;transition:all var(--transition-fast)}.view-tab:hover{color:var(--text-primary);background:var(--panel-bg)}.view-tab.active{color:var(--text-primary);background:var(--panel-bg);box-shadow:var(--shadow-sm)}.view-tab svg{width:16px;height:16px}.view-tabs-right{display:flex;align-items:center;gap:12px}.project-dir-badge{font-size:11px;font-family:var(--font-mono);color:var(--text-muted);max-width:300px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;direction:rtl;text-align:left}.version-badge-inline{font-size:11px;font-family:var(--font-mono);color:var(--text-muted);padding:4px 8px;background:var(--input-bg);border-radius:4px}.design-view{display:flex;flex-direction:column;flex:1;position:relative;min-height:0;overflow:hidden}.design-content{flex:1;display:flex;overflow:hidden;position:relative;min-height:0}.canvas-container{flex:1;position:relative;overflow:hidden;cursor:grab;background:var(--canvas-bg)}.canvas-container:active{cursor:grabbing}.canvas-grid{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;background-image:linear-gradient(var(--canvas-grid) 1px,transparent 1px),linear-gradient(90deg,var(--canvas-grid) 1px,transparent 1px),linear-gradient(var(--canvas-grid-major) 1px,transparent 1px),linear-gradient(90deg,var(--canvas-grid-major) 1px,transparent 1px);background-size:20px 20px,20px 20px,100px 100px,100px 100px;opacity:.5}.canvas-content{position:absolute;transform-origin:0 0;will-change:transform}.node{position:absolute;padding:var(--node-padding);border-radius:var(--node-border-radius);min-width:var(--node-min-width);cursor:pointer;-webkit-user-select:none;user-select:none;transition:box-shadow var(--transition-fast),transform var(--transition-normal),background var(--transition-fast),left var(--transition-normal),top var(--transition-normal);background:#ffffffe6;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:2px solid transparent;box-shadow:var(--shadow-md)}.node:hover{transform:scale(1.02);box-shadow:var(--shadow-lg)}.node.selected{box-shadow:var(--shadow-lg);transform:scale(1.02)}.node--feature.selected{box-shadow:0 0 0 2px var(--color-feature),0 0 20px #7dd3fc4d,var(--shadow-lg)}.node--component.selected{box-shadow:0 0 0 2px var(--color-component),0 0 20px #86efac4d,var(--shadow-lg)}.node--flow.selected{box-shadow:0 0 0 2px var(--color-flow),0 0 20px #fbbf244d,var(--shadow-lg)}.node--state.selected{box-shadow:0 0 0 2px var(--color-state),0 0 20px #c084fc4d,var(--shadow-lg)}.node--aspect.selected{box-shadow:0 0 0 2px var(--color-aspect),0 0 20px #a78bfa4d,var(--shadow-lg)}.node--portal.selected{box-shadow:0 0 0 2px var(--color-portal),0 0 20px #f871714d,var(--shadow-lg)}.node--signal.selected{box-shadow:0 0 0 2px var(--color-signal),0 0 20px #fde0474d,var(--shadow-lg)}.node--idea.selected{box-shadow:0 0 0 2px var(--color-idea),0 0 20px #f0f9ff33,var(--shadow-lg)}.node-header{display:flex;align-items:center;gap:8px;margin-bottom:4px}.node-symbol{font-family:var(--font-mono);font-weight:600;font-size:13px}.node-name{font-weight:500;font-size:13px;color:var(--text-primary)}.node-description{font-size:12px;color:var(--text-secondary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:200px}.node-tags{display:flex;gap:4px;margin-top:8px;flex-wrap:wrap}.node-tag{font-size:10px;padding:2px 6px;border-radius:4px;background:#0000000d;color:var(--text-secondary)}[data-theme=deep] .node-tag{background:#ffffff1a}.node--feature{border-color:var(--color-feature)}.node--feature .node-symbol{color:var(--color-feature)}.node--component{border-color:var(--color-component)}.node--component .node-symbol{color:var(--color-component)}.node--flow{border-color:var(--color-flow)}.node--flow .node-symbol{color:var(--color-flow)}.node--state{border-color:var(--color-state)}.node--state .node-symbol{color:var(--color-state)}.node--aspect{border-color:var(--color-aspect)}.node--aspect .node-symbol{color:var(--color-aspect)}.node--portal{border-color:var(--color-portal)}.node--portal .node-symbol{color:var(--color-portal)}.node--signal{border-color:var(--color-signal)}.node--signal .node-symbol{color:var(--color-signal)}.node--idea{border-color:var(--color-idea);border-style:dashed;background:#f8fafc0d}.node--idea .node-symbol{color:var(--color-idea)}.node--idea-feature{border-color:var(--color-feature)}.node--idea-feature .node-symbol{color:var(--color-feature)}.node--idea-component{border-color:var(--color-component)}.node--idea-component .node-symbol{color:var(--color-component)}.node--idea-flow{border-color:var(--color-flow)}.node--idea-flow .node-symbol{color:var(--color-flow)}.node--idea-state{border-color:var(--color-state)}.node--idea-state .node-symbol{color:var(--color-state)}.node--idea-aspect{border-color:var(--color-aspect)}.node--idea-aspect .node-symbol{color:var(--color-aspect)}.node--idea-portal{border-color:var(--color-portal)}.node--idea-portal .node-symbol{color:var(--color-portal)}.node--idea-signal{border-color:var(--color-signal)}.node--idea-signal .node-symbol{color:var(--color-signal)}.node-idea-type{font-size:10px;padding:2px 6px;border-radius:4px;background:#0000000d;color:var(--text-secondary);font-weight:400;margin-left:auto}[data-theme=deep] .node-idea-type{background:#ffffff1a}.connections-layer{pointer-events:none;position:absolute;top:0;right:0;bottom:0;left:0;overflow:visible}.connection-line{stroke:var(--text-muted);stroke-width:2;fill:none;opacity:.5}.connection-line:hover{stroke:var(--accent);opacity:1}.toolbar{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;background:var(--panel-bg);border-bottom:1px solid var(--panel-border);z-index:100}.toolbar-left{display:flex;align-items:center;gap:16px}.toolbar-project-name{font-size:14px;color:var(--text-secondary)}.toolbar-center{display:flex;align-items:center;gap:8px}.toolbar-right{display:flex;align-items:center;gap:12px}.toolbar-stats{display:flex;align-items:center;gap:12px;font-size:12px;color:var(--text-secondary)}.toolbar-toggle-all{display:flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:4px;background:var(--input-bg);border:1px solid var(--input-border);color:var(--text-secondary);cursor:pointer;font-size:18px;line-height:1;padding:0;transition:all var(--transition-fast);margin-right:4px}.toolbar-toggle-all:hover{background:var(--panel-bg);border-color:var(--accent);color:var(--accent);transform:scale(1.1)}.toolbar-stat{display:flex;align-items:center;gap:4px;transition:opacity var(--transition-fast)}.toolbar-stat--active{opacity:1}.toolbar-stat--inactive{opacity:.35}.toolbar-stat-icon-wrapper{display:flex;align-items:center;justify-content:center;width:18px;height:18px;border-radius:50%;padding:2px;flex-shrink:0;transition:all var(--transition-fast)}.toolbar-stat-icon-wrapper--active{background:#0000000d;border:1px solid rgba(0,0,0,.08)}.toolbar-stat-icon-wrapper--inactive{background:transparent;border:2px solid rgba(0,0,0,.2)}.toolbar-stat-icon{width:10px;height:10px;border-radius:50%;flex-shrink:0;transition:all var(--transition-fast)}.toolbar-stat-icon--active{border:none}.toolbar-stat-icon--inactive{background:transparent!important;border:1.5px solid currentColor;opacity:.4}.toolbar-stat-count--active{color:var(--text-primary);font-weight:500}.toolbar-stat-count--inactive{color:var(--text-muted);font-weight:400;opacity:.5}[data-theme=spectrum] .toolbar-stat-icon-wrapper--active,[data-theme=focus] .toolbar-stat-icon-wrapper--active{background:#0000000f;border-color:#0000001f;box-shadow:0 1px 2px #0000000d}[data-theme=spectrum] .toolbar-stat-icon-wrapper--inactive,[data-theme=focus] .toolbar-stat-icon-wrapper--inactive{border-color:#00000040;background:transparent}[data-theme=deep] .toolbar-stat-icon-wrapper--active{background:#ffffff14;border-color:#ffffff26;box-shadow:0 1px 2px #0003}[data-theme=deep] .toolbar-stat-icon-wrapper--inactive{border-color:#ffffff4d;background:transparent}[data-theme=deep] .toolbar-stat-icon--inactive{border-color:#fff6}.theme-toggle{display:flex;align-items:center;gap:4px;background:var(--input-bg);border:1px solid var(--input-border);border-radius:8px;padding:2px}.theme-btn{width:32px;height:32px;border-radius:6px;background:transparent;border:none;font-size:12px;font-weight:600;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all var(--transition-fast);opacity:.5;color:var(--text-secondary)}.theme-btn:hover{opacity:.8;background:var(--panel-bg);transform:scale(1.1)}.theme-btn.active{opacity:1;background:var(--accent);color:#fff;box-shadow:var(--shadow-sm)}.command-input-container{position:absolute;bottom:24px;left:50%;transform:translate(-50%);width:100%;max-width:600px;padding:0 16px;z-index:300}.command-input{display:flex;align-items:center;background:var(--panel-bg);border:1px solid var(--input-border);border-radius:12px;padding:0 16px;height:var(--input-height);box-shadow:var(--shadow-lg);transition:border-color var(--transition-fast),box-shadow var(--transition-fast)}.command-input:focus-within{border-color:var(--accent);box-shadow:var(--shadow-lg),var(--shadow-glow)}.command-input-prefix{font-family:var(--font-mono);font-size:14px;color:var(--text-muted);margin-right:8px}.command-input input{flex:1;background:transparent;border:none;outline:none;font-family:var(--font-mono);font-size:14px;color:var(--text-primary)}.command-input input::placeholder{color:var(--text-muted)}.command-input-hint{font-size:12px;color:var(--text-muted)}.autocomplete-dropdown{position:absolute;bottom:100%;left:0;right:0;margin-bottom:8px;background:var(--panel-bg);border:1px solid var(--panel-border);border-radius:8px;max-height:240px;overflow-y:auto;box-shadow:var(--shadow-lg)}.autocomplete-item{display:flex;align-items:center;gap:12px;padding:10px 16px;cursor:pointer;transition:background var(--transition-fast)}.autocomplete-item:hover,.autocomplete-item.selected{background:#ffffff0d}.autocomplete-item-symbol{font-family:var(--font-mono);font-weight:600;font-size:13px}.autocomplete-item-desc{font-size:12px;color:var(--text-secondary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.properties-panel{width:320px;background:var(--panel-bg);border-left:1px solid var(--panel-border);display:flex;flex-direction:column;overflow:hidden;z-index:400;position:relative}.properties-header{display:flex;align-items:center;justify-content:space-between;padding:var(--panel-padding);border-bottom:1px solid var(--panel-border)}.properties-title{font-weight:600;font-size:14px}.properties-title-editable{cursor:pointer;transition:color var(--transition-fast)}.properties-title-editable:hover{color:var(--accent)}.properties-title-input{font-weight:600;font-size:14px;font-family:var(--font-mono);background:var(--input-bg);border:1px solid var(--accent);border-radius:4px;padding:4px 8px;color:var(--text-primary);width:100%;outline:none}.properties-close{background:none;border:none;color:var(--text-muted);cursor:pointer;padding:4px;border-radius:4px;transition:color var(--transition-fast),background var(--transition-fast);font-size:18px}.properties-close:hover{color:var(--text-primary);background:#ffffff1a}.properties-content{flex:1;overflow-y:auto;padding:var(--panel-padding)}.properties-section{margin-bottom:20px}.properties-section-title{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);margin-bottom:8px}.properties-field{margin-bottom:12px}.properties-field-label{font-size:12px;color:var(--text-secondary);margin-bottom:4px}.properties-field-value{font-size:13px;color:var(--text-primary);word-break:break-word}.properties-field-value-editable{cursor:pointer;padding:4px 8px;margin:-4px -8px;border-radius:4px;transition:background-color var(--transition-fast),color var(--transition-fast)}.properties-field-value-editable:hover{background:var(--input-bg);color:var(--accent)}.properties-field-value--mono{font-family:var(--font-mono);font-size:12px}.properties-field-input,.properties-field-textarea{width:100%;background:var(--input-bg);border:1px solid var(--accent);border-radius:4px;padding:6px 8px;font-size:13px;font-family:var(--font-sans);color:var(--text-primary);outline:none;transition:border-color var(--transition-fast),box-shadow var(--transition-fast)}.properties-field-input:focus,.properties-field-textarea:focus{border-color:var(--accent);box-shadow:0 0 0 2px #60a5fa33}.properties-field-textarea{resize:vertical;min-height:60px;font-family:var(--font-sans);line-height:1.5}.properties-field-input{font-family:var(--font-mono);font-size:12px}.properties-tags{display:flex;flex-wrap:wrap;gap:6px}.properties-tag{font-size:11px;padding:4px 8px;border-radius:4px;background:#ffffff1a;color:var(--text-secondary)}.properties-source-link{font-size:12px;color:var(--accent);text-decoration:none;display:flex;align-items:center;gap:4px}.properties-source-link:hover{text-decoration:underline}.timeline-container{position:absolute;bottom:16px;left:16px;right:16px;height:32px;display:flex;align-items:center;gap:12px;padding:0 16px;background:var(--panel-bg);border:1px solid var(--panel-border);border-radius:8px;z-index:100}.timeline-label{font-size:11px;color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;white-space:nowrap}.timeline-slider{flex:1;-webkit-appearance:none;-moz-appearance:none;appearance:none;height:4px;background:var(--input-border);border-radius:2px;outline:none}.timeline-slider::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:16px;height:16px;border-radius:50%;background:var(--accent);cursor:pointer;transition:transform var(--transition-fast)}.timeline-slider::-webkit-slider-thumb:hover{transform:scale(1.2)}.timeline-value{font-size:12px;color:var(--text-secondary);font-family:var(--font-mono);min-width:80px;max-width:200px;text-align:right;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.help-toggle{position:fixed;top:60px;left:16px;width:32px;height:32px;border-radius:6px;background:var(--panel-bg);border:1px solid var(--panel-border);color:var(--text-secondary);font-size:18px;font-weight:600;cursor:pointer;display:flex;align-items:center;justify-content:center;z-index:300;transition:all var(--transition-fast);box-shadow:var(--shadow-md)}.help-toggle:hover{background:var(--input-bg);border-color:var(--accent);color:var(--text-primary);transform:scale(1.05)}.help-panel{position:fixed;top:60px;left:16px;width:320px;max-height:calc(100vh - 80px);background:var(--panel-bg);border:1px solid var(--panel-border);border-radius:12px;box-shadow:var(--shadow-lg);z-index:300;display:flex;flex-direction:column;overflow:hidden;animation:slideUp var(--transition-fast)}.help-panel-header{display:flex;align-items:center;justify-content:space-between;padding:16px;border-bottom:1px solid var(--panel-border)}.help-panel-header h3{font-size:16px;font-weight:600;color:var(--text-primary);margin:0}.help-panel-close{width:24px;height:24px;border-radius:4px;background:transparent;border:none;color:var(--text-secondary);font-size:20px;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all var(--transition-fast)}.help-panel-close:hover{background:var(--input-bg);color:var(--text-primary)}.help-panel-content{padding:16px;overflow-y:auto;flex:1}.help-category{margin-bottom:20px}.help-category:last-child{margin-bottom:0}.help-category h4{font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:var(--text-muted);margin:0 0 12px}.help-hotkeys{display:flex;flex-direction:column;gap:8px}.help-hotkey{display:flex;align-items:center;gap:12px}.help-key{font-family:var(--font-mono);font-size:12px;font-weight:600;padding:4px 8px;background:var(--input-bg);border:1px solid var(--input-border);border-radius:4px;color:var(--text-primary);min-width:60px;text-align:center;white-space:nowrap}.help-description{font-size:13px;color:var(--text-secondary);flex:1}.help-panel-footer{padding:12px 16px;border-top:1px solid var(--panel-border);background:var(--input-bg)}.help-hint{font-size:12px;color:var(--text-muted);display:flex;align-items:center;gap:4px}.help-hint kbd{font-family:var(--font-mono);font-size:11px;padding:2px 6px;background:var(--panel-bg);border:1px solid var(--panel-border);border-radius:3px;color:var(--text-primary)}.incidents-view{display:flex;flex-direction:column;flex:1;background:var(--canvas-bg)}.incidents-filters{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;background:var(--panel-bg);border-bottom:1px solid var(--panel-border)}.filter-group{display:flex;align-items:center;gap:8px}.filter-group label{font-size:12px;color:var(--text-secondary)}.filter-group select{padding:6px 12px;background:var(--input-bg);border:1px solid var(--input-border);border-radius:6px;color:var(--text-primary);font-size:13px;outline:none}.filter-stats{font-size:12px;color:var(--text-muted)}.incidents-content{flex:1;display:flex;overflow:hidden}.incidents-list{flex:1;overflow-y:auto;padding:16px}.incidents-empty{text-align:center;padding:48px 24px;color:var(--text-secondary)}.incidents-empty .hint{font-size:12px;color:var(--text-muted);margin-top:8px}.incident-card{padding:16px;background:var(--panel-bg);border:1px solid var(--panel-border);border-radius:8px;margin-bottom:12px;cursor:pointer;transition:all var(--transition-fast)}.incident-card:hover{border-color:var(--accent);box-shadow:var(--shadow-md)}.incident-card.selected{border-color:var(--accent);box-shadow:var(--shadow-glow)}.incident-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}.incident-id{font-family:var(--font-mono);font-size:12px;font-weight:600;color:var(--text-primary)}.incident-status{font-size:11px;font-weight:600;text-transform:uppercase}.incident-error{font-size:13px;color:var(--text-primary);margin-bottom:8px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.incident-meta{display:flex;gap:12px;font-size:11px;color:var(--text-muted)}.incident-symbols{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}.symbol-tag{font-family:var(--font-mono);font-size:11px;padding:2px 6px;border-radius:4px;background:#0000000d}.symbol-tag.feature{color:var(--color-feature)}.symbol-tag.component{color:var(--color-component)}.symbol-tag.flow{color:var(--color-flow)}.symbol-tag.gate{color:var(--color-portal)}.symbol-tag.signal{color:var(--color-signal)}.incident-patterns{margin-top:8px}.pattern-match{font-size:11px;color:var(--accent)}.incident-detail{width:400px;background:var(--panel-bg);border-left:1px solid var(--panel-border);display:flex;flex-direction:column;overflow:hidden}.detail-header{display:flex;align-items:center;justify-content:space-between;padding:16px;border-bottom:1px solid var(--panel-border)}.detail-header h2{font-size:16px;font-weight:600;font-family:var(--font-mono)}.detail-close{background:none;border:none;font-size:24px;color:var(--text-muted);cursor:pointer;padding:4px}.detail-close:hover{color:var(--text-primary)}.detail-content{flex:1;overflow-y:auto;padding:16px}.detail-section{margin-bottom:24px}.detail-section h3{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);margin-bottom:12px}.error-message{font-family:var(--font-mono);font-size:13px;color:var(--status-open);background:#ef44441a;padding:12px;border-radius:6px;word-break:break-word}.error-type{font-size:12px;color:var(--text-secondary);margin-top:8px}.detail-field{display:flex;align-items:center;justify-content:space-between;padding:8px 0;border-bottom:1px solid var(--panel-border)}.detail-field label{font-size:12px;color:var(--text-secondary)}.detail-field span{font-size:13px;color:var(--text-primary)}.status-badge{font-size:11px;padding:4px 8px;border-radius:4px;color:#fff;font-weight:600;text-transform:uppercase}.symbols-list{display:flex;flex-direction:column;gap:8px}.symbol-item{display:flex;align-items:center;justify-content:space-between;padding:8px 12px;background:var(--input-bg);border-radius:6px}.symbol-item label{font-size:11px;text-transform:uppercase;color:var(--text-muted)}.symbol-value{font-family:var(--font-mono);font-size:13px}.symbol-value.feature{color:var(--color-feature)}.symbol-value.component{color:var(--color-component)}.symbol-value.flow{color:var(--color-flow)}.symbol-value.gate{color:var(--color-portal)}.symbol-value.signal{color:var(--color-signal)}.patterns-list{display:flex;flex-direction:column;gap:8px}.pattern-item{padding:12px;background:var(--input-bg);border-radius:6px}.pattern-name{font-weight:500;color:var(--text-primary);margin-bottom:4px}.pattern-confidence{font-size:12px;color:var(--accent)}.detail-actions{padding-top:16px;border-top:1px solid var(--panel-border)}.action-btn{padding:10px 20px;border:none;border-radius:6px;font-size:14px;font-weight:500;cursor:pointer;transition:all var(--transition-fast)}.action-btn.resolve{background:var(--status-resolved);color:#fff}.action-btn.resolve:hover{opacity:.9}.grid-view{flex:1;overflow:hidden;padding:16px;background:var(--canvas-bg);display:flex;flex-direction:column}.grid-view--empty{display:flex;align-items:center;justify-content:center;color:var(--text-secondary)}.grid-columns{display:grid;gap:16px;flex:1;min-height:0;overflow:hidden}.grid-column{display:flex;flex-direction:column;background:var(--panel-bg);border-radius:12px;overflow:hidden;border:1px solid var(--panel-border);min-height:0}.grid-column-header{display:flex;align-items:center;gap:8px;padding:12px 16px;border-bottom:2px solid;background:var(--input-bg)}.grid-column-prefix{font-family:var(--font-mono);font-weight:700;font-size:14px}.grid-column-label{font-weight:600;font-size:13px;color:var(--text-primary)}.grid-column-count{margin-left:auto;font-size:11px;color:var(--text-muted);background:var(--panel-bg);padding:2px 8px;border-radius:10px}.grid-column-content{flex:1;overflow-y:auto;overflow-x:hidden;padding:12px;display:flex;flex-direction:column;gap:8px;min-height:0}.grid-card{padding:12px;background:var(--input-bg);border-radius:8px;cursor:pointer;transition:all var(--transition-fast);border:1px solid transparent}.grid-card:hover{background:var(--panel-bg);border-color:var(--panel-border)}.grid-card.selected{border-color:var(--accent);box-shadow:var(--shadow-sm)}.grid-card-header{display:flex;align-items:center;gap:6px;margin-bottom:4px}.grid-card-symbol{font-family:var(--font-mono);font-weight:600;font-size:12px}.grid-card-name{font-weight:500;font-size:13px;color:var(--text-primary)}.grid-card-description{font-size:11px;color:var(--text-secondary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.grid-card-tags{display:flex;gap:4px;margin-top:8px;flex-wrap:wrap}.grid-card-tag{font-size:10px;padding:2px 6px;border-radius:4px;background:#0000000d;color:var(--text-muted)}[data-theme=deep] .grid-card-tag{background:#ffffff14}.list-view{flex:1;overflow:hidden;padding:16px;background:var(--canvas-bg);display:flex;flex-direction:column;min-height:0}.list-table-container{flex:1;overflow:auto;min-height:0}.list-view--empty{display:flex;align-items:center;justify-content:center;color:var(--text-secondary)}.list-table{width:100%;border-collapse:collapse;background:var(--panel-bg);border-radius:8px;overflow:hidden}.list-header{text-align:left;padding:12px 16px;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);background:var(--input-bg);border-bottom:1px solid var(--panel-border);cursor:pointer;-webkit-user-select:none;user-select:none;white-space:nowrap}.list-header:hover{color:var(--text-secondary)}.list-header--active{color:var(--accent)}.list-sort-indicator{margin-left:4px;font-size:10px}.list-row{cursor:pointer;transition:background var(--transition-fast)}.list-row:hover{background:var(--input-bg)}.list-row.selected{background:#6366f11a}.list-row:not(:last-child) .list-cell{border-bottom:1px solid var(--panel-border)}.list-cell{padding:12px 16px;font-size:13px;color:var(--text-primary);vertical-align:middle}.list-cell--symbol{display:flex;align-items:center;gap:6px;font-family:var(--font-mono)}.list-symbol{font-weight:600}.list-name{font-weight:500}.list-cell--type{width:100px}.list-type-badge{display:inline-block;padding:2px 8px;border-radius:4px;font-size:10px;font-weight:600;color:#fff;text-transform:uppercase}.list-cell--description{max-width:300px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--text-secondary)}.list-cell--tags{width:150px}.list-tags{display:flex;gap:4px;flex-wrap:wrap}.list-tag{font-size:10px;padding:2px 6px;border-radius:4px;background:#0000000d;color:var(--text-muted)}.list-tag-more{font-size:10px;color:var(--text-muted)}[data-theme=deep] .list-tag{background:#ffffff14}.list-cell--modified{width:100px;font-size:12px;color:var(--text-muted)}.list-empty{color:var(--text-muted)}.layout-controls{display:flex;align-items:center;gap:8px}.layout-toggle{display:flex;align-items:center;background:var(--input-bg);border:1px solid var(--input-border);border-radius:6px;padding:2px}.layout-btn{display:flex;align-items:center;justify-content:center;width:28px;height:28px;border:none;background:transparent;color:var(--text-muted);cursor:pointer;border-radius:4px;transition:all var(--transition-fast)}.layout-btn:hover{color:var(--text-secondary);background:var(--panel-bg)}.layout-btn.active{color:var(--text-primary);background:var(--panel-bg);box-shadow:var(--shadow-sm)}.layout-btn svg{width:16px;height:16px}.sort-select{padding:6px 12px;background:var(--input-bg);border:1px solid var(--input-border);border-radius:6px;color:var(--text-primary);font-size:12px;outline:none;cursor:pointer}.sort-select:focus{border-color:var(--accent)}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--input-border);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--text-muted)}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.node{animation:fadeIn var(--transition-normal)}.autocomplete-dropdown{animation:slideUp var(--transition-fast)}.logs-view{display:flex;flex-direction:column;height:100%;overflow:hidden;font-family:var(--font-mono);font-size:13px}.logs-toolbar{display:flex;align-items:center;justify-content:space-between;padding:8px 16px;border-bottom:1px solid var(--border-color, rgba(0,0,0,.1));background:var(--panel-bg);gap:12px;flex-shrink:0}.logs-filters{display:flex;gap:8px;align-items:center;flex:1}.logs-select{padding:4px 8px;border:1px solid var(--border-color, rgba(0,0,0,.15));border-radius:6px;background:var(--input-bg);color:var(--text-primary);font-family:var(--font-sans);font-size:12px}.logs-search{padding:4px 10px;border:1px solid var(--border-color, rgba(0,0,0,.15));border-radius:6px;background:var(--input-bg);color:var(--text-primary);font-family:var(--font-sans);font-size:12px;flex:1;max-width:300px}.logs-actions{display:flex;gap:8px;align-items:center}.logs-count{color:var(--text-muted);font-family:var(--font-sans);font-size:12px}.logs-expand-btn,.logs-live-btn,.logs-scroll-btn,.logs-clear-btn{padding:4px 10px;border:1px solid var(--border-color, rgba(0,0,0,.15));border-radius:6px;background:var(--input-bg);color:var(--text-secondary);font-family:var(--font-sans);font-size:12px;cursor:pointer;display:flex;align-items:center;gap:4px;transition:all var(--transition-fast)}.logs-live-btn.active{border-color:#22c55e;color:#22c55e}.logs-scroll-btn.active,.logs-expand-btn.active{border-color:var(--accent);color:var(--accent)}.live-dot{width:6px;height:6px;border-radius:50%;background:var(--text-muted)}.live-dot.live{background:#22c55e;animation:pulse-dot 2s infinite}@keyframes pulse-dot{0%,to{opacity:1}50%{opacity:.4}}.logs-table{flex:1;display:flex;flex-direction:column;overflow:hidden}.logs-header{display:grid;grid-template-columns:var(--log-cols, 180px 50px 160px 100px 1fr);gap:8px;padding:6px 16px;border-bottom:1px solid var(--border-color, rgba(0,0,0,.1));background:var(--panel-bg);font-family:var(--font-sans);font-size:11px;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px;flex-shrink:0}.logs-body{flex:1;overflow-y:auto;background:var(--canvas-bg)}.logs-empty{padding:40px;text-align:center;color:var(--text-muted);font-family:var(--font-sans)}.logs-empty code{background:var(--input-bg);padding:2px 6px;border-radius:4px;font-size:12px}.log-row{display:grid;grid-template-columns:var(--log-cols, 180px 50px 160px 100px 1fr);gap:8px;padding:4px 16px;border-bottom:1px solid var(--border-color, rgba(0,0,0,.04));cursor:pointer;transition:background var(--transition-fast);align-items:baseline}.log-row:hover{background:var(--panel-bg)}.log-row--error{background:#ef44440a}.log-row--error:hover{background:#ef444414}.log-row--warn{background:#f59e0b08}.log-time{color:var(--text-muted);white-space:nowrap}.log-level{font-weight:600;font-size:11px}.log-symbol{font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.log-service{color:var(--text-secondary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.log-message{color:var(--text-primary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.log-duration{margin-left:8px;color:var(--text-muted);font-size:11px;opacity:.7}.log-row--expanded{background:var(--hover-bg, rgba(99, 102, 241, .03))}.log-row--expanded .log-message,.log-row--expanded .log-symbol,.log-row--expanded .log-service{white-space:normal;word-break:break-word;overflow:visible}.log-data{grid-column:1 / -1;margin-top:6px;padding:8px 12px;background:var(--input-bg);border-radius:6px;overflow-x:auto}.log-data pre{margin:0;font-size:11px;color:var(--text-secondary);white-space:pre-wrap;word-break:break-all}.flows-view{display:flex;flex-direction:column;height:100%;overflow:hidden}.flows-toolbar{display:flex;align-items:center;justify-content:space-between;padding:8px 16px;border-bottom:1px solid var(--border-color, rgba(0,0,0,.1));background:var(--panel-bg);flex-shrink:0}.flows-toolbar-left{display:flex;gap:12px;align-items:center}.flows-count{color:var(--text-muted);font-size:13px}.flows-content{display:flex;flex:1;overflow:hidden}.flows-list{width:320px;overflow-y:auto;border-right:1px solid var(--border-color, rgba(0,0,0,.1));background:var(--panel-bg);flex-shrink:0}.flows-detail{flex:1;overflow-y:auto;padding:24px;background:var(--canvas-bg)}.flows-empty,.flows-empty-detail{padding:40px;text-align:center;color:var(--text-muted)}.flows-empty code{background:var(--input-bg);padding:2px 6px;border-radius:4px;font-size:12px}.flow-card{padding:12px 16px;border-bottom:1px solid var(--border-color, rgba(0,0,0,.06));cursor:pointer;transition:background var(--transition-fast)}.flow-card:hover{background:var(--canvas-bg)}.flow-card.selected{background:var(--canvas-bg);border-left:3px solid var(--color-flow)}.flow-card-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:4px}.flow-card-id{color:var(--color-flow);font-family:var(--font-mono);font-size:13px;font-weight:600}.flow-card-trigger{font-size:11px;color:var(--text-muted);font-family:var(--font-mono)}.flow-card-name{font-size:13px;color:var(--text-secondary);margin-bottom:8px}.flow-card-steps{display:flex;gap:2px;align-items:center}.flow-step-mini{display:flex;align-items:center;gap:2px}.flow-arrow{color:var(--text-muted);font-size:10px}.flow-step-dot{width:8px;height:8px;border-radius:50%;transition:all var(--transition-fast)}.flow-step-dot.active{transform:scale(1.5)}.flow-step-dot.pulse{animation:pulse-dot 1s infinite}.flow-diagram h3{margin:0 0 4px;font-size:18px;color:var(--text-primary)}.flow-trigger-label{color:var(--text-muted);font-size:13px;margin-bottom:24px}.flow-trigger-label code{background:var(--input-bg);padding:2px 6px;border-radius:4px;font-family:var(--font-mono)}.flow-steps{display:flex;flex-direction:column;gap:0}.flow-step-container{display:flex;flex-direction:column;align-items:flex-start}.flow-connector{display:flex;justify-content:center;padding:0 0 0 36px}.flow-line{width:2px;height:24px;background:var(--text-muted);opacity:.3;transition:all var(--transition-fast)}.flow-line.active{background:var(--accent);opacity:1}.flow-step-node{display:flex;align-items:center;gap:10px;padding:10px 16px;border:2px solid var(--border-color, rgba(0,0,0,.15));border-radius:10px;background:var(--panel-bg);transition:all var(--transition-fast);min-width:200px}.flow-step-node.active{box-shadow:0 0 16px #6366f140;transform:scale(1.02)}.flow-step-icon{width:24px;height:24px;display:flex;align-items:center;justify-content:center;font-family:var(--font-mono);font-weight:700;font-size:14px;color:var(--text-muted)}.flow-step-symbol{font-family:var(--font-mono);font-weight:600;font-size:13px;color:var(--text-primary)}.flow-step-type{font-size:11px;color:var(--text-muted);text-transform:uppercase}.flow-step-live{font-size:11px;color:#22c55e;margin-left:auto}.flow-composer{max-width:560px}.flow-composer h3{margin:0 0 16px;font-size:18px;color:var(--text-primary)}.composer-field{margin-bottom:16px}.composer-field label{display:block;font-size:12px;font-weight:600;color:var(--text-secondary);margin-bottom:4px}.composer-field input{width:100%;padding:8px 12px;border:1px solid var(--border-color, rgba(0,0,0,.15));border-radius:8px;background:var(--input-bg);color:var(--text-primary);font-size:14px}.composer-steps{margin-bottom:20px}.composer-steps label{display:block;font-size:12px;font-weight:600;color:var(--text-secondary);margin-bottom:8px}.composer-step{display:flex;gap:8px;margin-bottom:8px;align-items:center}.composer-step select{padding:6px 8px;border:1px solid var(--border-color, rgba(0,0,0,.15));border-radius:6px;background:var(--input-bg);color:var(--text-primary);font-size:12px}.composer-step select:first-child{width:110px}.composer-step select:nth-child(2){flex:1}.composer-remove{width:28px;height:28px;border:1px solid var(--border-color, rgba(0,0,0,.15));border-radius:6px;background:transparent;color:var(--text-muted);cursor:pointer;font-size:16px;display:flex;align-items:center;justify-content:center}.composer-remove:hover{color:#ef4444;border-color:#ef4444}.composer-add-buttons{display:flex;gap:8px;margin-top:8px}.composer-add-buttons button{padding:4px 12px;border:1px dashed var(--border-color, rgba(0,0,0,.2));border-radius:6px;background:transparent;color:var(--text-muted);font-size:12px;cursor:pointer;transition:all var(--transition-fast)}.composer-add-buttons button:hover{border-color:var(--accent);color:var(--accent)}.composer-actions{display:flex;gap:8px}.action-btn{padding:8px 16px;border:none;border-radius:8px;background:var(--accent);color:#fff;font-size:13px;font-weight:600;cursor:pointer;transition:all var(--transition-fast)}.action-btn:hover{opacity:.9}.action-btn:disabled{opacity:.4;cursor:not-allowed}.action-btn.cancel{background:transparent;color:var(--text-secondary);border:1px solid var(--border-color, rgba(0,0,0,.15))}.logs-view,.logs-toolbar,.logs-header,.logs-body,.flows-view,.flows-toolbar,.flows-list,.flows-detail,.flow-card,.flow-step-node{transition:background-color var(--transition-normal),border-color var(--transition-normal),color var(--transition-normal)}.events-view{display:flex;flex-direction:column;height:100%;overflow:hidden}.events-toolbar{display:flex;align-items:center;gap:12px;padding:12px 16px;border-bottom:1px solid var(--panel-border);flex-shrink:0}.events-schema-select{background:var(--input-bg);border:1px solid var(--input-border);border-radius:6px;padding:6px 12px;color:var(--text-primary);font-size:13px;font-family:inherit;min-width:200px}.events-category-filters{display:flex;gap:6px;flex-wrap:wrap}.events-category-chip{padding:3px 10px;border:1px solid var(--input-border);border-radius:12px;background:transparent;color:var(--text-secondary);font-size:12px;cursor:pointer;transition:all .15s}.events-category-chip:hover{opacity:.8}.events-category-chip.active{background:var(--accent);border-color:var(--accent);color:#fff}.events-scope-nav{padding:8px 16px;border-bottom:1px solid var(--panel-border);flex-shrink:0;display:flex;align-items:center;gap:12px}.events-scope-label{font-size:12px;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;white-space:nowrap}.events-scope-list{display:flex;gap:4px;overflow-x:auto;scrollbar-width:thin}.events-scope-chip{display:flex;align-items:center;gap:4px;padding:3px 8px;border:1px solid var(--input-border);border-radius:4px;background:transparent;color:var(--text-secondary);font-size:12px;font-family:var(--font-mono, monospace);cursor:pointer;white-space:nowrap;transition:all .15s}.events-scope-chip:hover{border-color:var(--accent)}.events-scope-chip.active{background:var(--accent);border-color:var(--accent);color:#fff}.events-scope-chip .scope-count{font-size:10px;opacity:.7}.events-table{flex:1;overflow:auto;font-family:var(--font-mono, "SF Mono", "Fira Code", monospace);font-size:12px;line-height:1.5}.events-table-header{display:grid;grid-template-columns:var(--evt-cols, 180px 50px 200px 100px 1fr);gap:8px;padding:6px 16px;font-weight:600;color:var(--text-muted);font-size:11px;text-transform:uppercase;letter-spacing:.05em;border-bottom:1px solid var(--panel-border);position:sticky;top:0;background:var(--panel-bg);z-index:1}.events-table-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px;padding:4px 16px;border-bottom:1px solid var(--panel-border);flex-shrink:0}.events-count{color:var(--text-muted);font-family:var(--font-sans);font-size:12px}.events-expand-btn{padding:2px 8px;border:1px solid var(--border-color, rgba(0,0,0,.15));border-radius:6px;background:var(--input-bg);color:var(--text-secondary);font-family:var(--font-sans);font-size:11px;cursor:pointer;transition:all var(--transition-fast)}.events-expand-btn.active{border-color:var(--accent);color:var(--accent)}.events-table-body{padding-bottom:32px}.event-row{display:grid;grid-template-columns:var(--evt-cols, 180px 50px 200px 100px 1fr);gap:8px;padding:4px 16px;cursor:pointer;border-bottom:1px solid transparent;transition:background-color .1s}.event-row:hover{background:var(--hover-bg, rgba(99, 102, 241, .05))}.event-row--error{background:#ef44440d}.event-row--warn{background:#f59e0b08}.event-row--expanded{background:var(--hover-bg, rgba(99, 102, 241, .03))}.event-row--expanded .event-type,.event-row--expanded .event-service{white-space:normal;word-break:break-word;overflow:visible}.event-time{color:var(--text-muted);white-space:nowrap}.event-severity{font-weight:600;font-size:11px}.event-category-badge{font-weight:500;font-size:10px;margin-right:2px}.event-type{color:var(--text-primary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.event-service{color:var(--text-muted);overflow:hidden;text-overflow:ellipsis}.event-scope{color:var(--accent);font-weight:500}.event-depth{color:var(--text-muted);font-size:11px}.event-data{grid-column:1 / -1;padding:8px 12px;margin-top:4px;background:var(--input-bg);border-radius:4px;font-size:11px;overflow-x:auto}.event-data pre{margin:0;color:var(--text-secondary)}.logs-header>span,.events-table-header>span{position:relative}.col-resize-handle{position:absolute;right:-4px;top:0;bottom:0;width:8px;cursor:col-resize;z-index:2}.col-resize-handle:hover{background:var(--accent);opacity:.3;border-radius:2px}.context-menu{position:fixed;z-index:1000;background:var(--panel-bg);border:1px solid var(--panel-border);border-radius:8px;box-shadow:var(--shadow-lg);padding:4px 0;min-width:200px}.context-menu button{display:block;width:100%;text-align:left;padding:6px 12px;border:none;background:none;color:var(--text-primary);font-family:var(--font-sans);font-size:12px;cursor:pointer;white-space:nowrap}.context-menu button:hover{background:var(--hover-bg, rgba(99, 102, 241, .08))}.exclusion-bar{display:flex;flex-wrap:wrap;align-items:center;gap:6px;padding:6px 16px;border-bottom:1px solid var(--panel-border);background:var(--input-bg)}.exclusion-chip{display:inline-flex;align-items:center;gap:4px;padding:2px 8px;border-radius:12px;background:#ef44441a;color:#ef4444;font-family:var(--font-sans);font-size:11px;white-space:nowrap;max-width:280px;overflow:hidden;text-overflow:ellipsis}.exclusion-chip button{border:none;background:none;color:inherit;font-size:14px;cursor:pointer;padding:0;line-height:1;opacity:.7}.exclusion-chip button:hover{opacity:1}.exclusion-clear{border:none;background:none;color:var(--text-muted);font-family:var(--font-sans);font-size:11px;cursor:pointer;text-decoration:underline;padding:0}.exclusion-clear:hover{color:var(--text-primary)}.events-empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:48px 24px;color:var(--text-muted);text-align:center}.events-empty-state .hint{font-size:13px;margin-top:8px}.events-empty-state code{background:var(--input-bg);padding:2px 6px;border-radius:4px;font-size:12px}.events-loading{padding:24px;text-align:center;color:var(--text-muted)}.conv-view{display:flex;flex-direction:column;height:100%;overflow:hidden}.conv-toolbar{display:flex;align-items:center;justify-content:space-between;padding:8px 16px;border-bottom:1px solid var(--border-color, #334155);flex-shrink:0}.conv-content{display:flex;flex:1;overflow:hidden}.conv-filter-chips{display:flex;gap:4px}.conv-filter-chip{padding:4px 10px;border-radius:12px;border:1px solid var(--border-color, #334155);background:transparent;color:var(--text-secondary, #94a3b8);font-size:12px;cursor:pointer;transition:all .15s}.conv-filter-chip:hover{border-color:var(--text-primary, #e2e8f0)}.conv-filter-active{background:var(--accent-color, #818cf8);color:#0f172a;border-color:transparent}.conv-live-toggle{display:flex;align-items:center;gap:6px;font-size:12px;color:var(--text-secondary, #94a3b8);cursor:pointer}.conv-live-toggle input{accent-color:#22c55e}.conv-thread-list{width:280px;min-width:220px;border-right:1px solid var(--border-color, #334155);overflow-y:auto;padding:8px;flex-shrink:0}.conv-thread-card{display:block;width:100%;text-align:left;padding:8px 10px;border:1px solid transparent;border-radius:6px;background:transparent;color:var(--text-primary, #e2e8f0);cursor:pointer;margin-bottom:4px;transition:all .15s}.conv-thread-card:hover{background:var(--hover-bg, rgba(255, 255, 255, .04))}.conv-thread-card-selected{background:var(--selected-bg, rgba(129, 140, 248, .12));border-color:var(--accent-color, #818cf8)}.conv-thread-card-header{display:flex;align-items:center;gap:6px}.conv-thread-status-dot{width:6px;height:6px;border-radius:50%;flex-shrink:0}.conv-status-active{background:#22c55e}.conv-status-resolved{background:#64748b}.conv-thread-topic{font-size:13px;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.conv-thread-card-meta{display:flex;justify-content:space-between;font-size:11px;color:var(--text-secondary, #94a3b8);margin-top:4px;padding-left:12px}.conv-panel{flex:1;display:flex;flex-direction:column;overflow:hidden}.conv-empty-panel{display:flex;align-items:center;justify-content:center;height:100%;color:var(--text-secondary, #64748b);font-size:14px}.conv-loading{display:flex;align-items:center;justify-content:center;height:100%;color:var(--text-secondary, #94a3b8)}.conv-empty{padding:24px;text-align:center;color:var(--text-secondary, #64748b);font-size:13px}.conv-thread-header{display:flex;align-items:center;justify-content:space-between;padding:10px 16px;border-bottom:1px solid var(--border-color, #334155);flex-shrink:0}.conv-thread-header h3{margin:0;font-size:14px;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.conv-note-count{font-size:12px;color:var(--text-secondary, #94a3b8);flex-shrink:0}.conv-notes-scroll{flex:1;overflow-y:auto;padding:12px 16px}.conv-note{border-left:3px solid #334155;padding:8px 12px;margin-bottom:8px;border-radius:0 6px 6px 0;background:var(--note-bg, rgba(255, 255, 255, .02));animation:conv-slide-in .2s ease-out}@keyframes conv-slide-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.conv-note-header{display:flex;align-items:center;gap:8px;margin-bottom:4px}.conv-note-time{font-size:10px;color:var(--text-tertiary, #64748b);margin-left:auto;flex-shrink:0}.conv-note-text{font-size:13px;line-height:1.5;color:var(--text-primary, #e2e8f0);white-space:pre-wrap;word-break:break-word}.conv-note-decision{margin-top:6px;padding:4px 8px;background:#fbbf241a;border-radius:4px;font-size:12px;color:#fbbf24}.conv-note-file{margin-top:6px;padding:4px 8px;background:#34d3991a;border-radius:4px;font-size:12px;display:flex;gap:8px;align-items:center}.conv-note-file code{font-family:JetBrains Mono,monospace;font-size:11px}.conv-note-file-size{color:var(--text-secondary, #94a3b8);font-size:11px}.conv-note-diff{margin-top:6px}.conv-note-diff summary{font-size:12px;color:var(--text-secondary, #94a3b8);cursor:pointer}.conv-note-diff pre{font-size:11px;padding:8px;background:#0000004d;border-radius:4px;overflow-x:auto;margin-top:4px}.conv-note-symbols{display:flex;gap:4px;flex-wrap:wrap;margin-top:6px}.conv-symbol-chip{font-size:11px;padding:1px 6px;background:#818cf826;color:#a5b4fc;border-radius:3px;font-family:JetBrains Mono,monospace}.conv-note-lifecycle{border-left:none;background:transparent;padding:4px 12px;text-align:center}.conv-note-lifecycle-line{display:inline-flex;align-items:center;gap:6px;padding:2px 10px;border:1px dashed;border-radius:12px;font-size:11px;color:var(--text-secondary, #94a3b8)}.conv-note-lifecycle-text{font-size:11px}.conv-intent-badge{font-size:9px;font-weight:700;letter-spacing:.5px;padding:1px 5px;border-radius:3px;flex-shrink:0}.conv-participant{display:inline-flex;align-items:center;gap:4px;font-size:12px;font-weight:500}.conv-participant-icon{font-size:12px}.conv-participant-name{color:var(--text-primary, #e2e8f0)}.conv-participant-role{font-size:10px;color:var(--text-secondary, #94a3b8);padding:0 4px;background:#ffffff0f;border-radius:3px}.conv-participant-human .conv-participant-name{color:#7dd3fc}.conv-participant-agent .conv-participant-name{color:#86efac}.conv-decision-summary{border-top:1px solid var(--border-color, #334155);padding:8px 16px;flex-shrink:0}.conv-decision-summary summary{font-size:12px;font-weight:600;color:#fbbf24;cursor:pointer}.conv-decision-summary ul{margin:6px 0 0;padding-left:20px;font-size:12px;color:var(--text-primary, #e2e8f0)}.conv-decision-summary li{margin-bottom:4px}