node-red-contrib-knx-ultimate 4.2.2 → 4.2.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +20 -1
- package/nodes/hue-config.html +12 -9
- package/nodes/knxUltimate-config.html +24 -1
- package/nodes/knxUltimate-config.js +1 -0
- package/nodes/knxUltimate.js +79 -0
- package/nodes/knxUltimateAI.js +5 -2
- package/nodes/knxUltimateViewer.html +16 -3
- package/nodes/knxUltimateViewer.js +279 -90
- package/nodes/locales/de/knxUltimate-config.html +1 -1
- package/nodes/locales/de/knxUltimate-config.json +10 -0
- package/nodes/locales/de/knxUltimateViewer.html +18 -0
- package/nodes/locales/en/knxUltimate-config.html +1 -1
- package/nodes/locales/en/knxUltimate-config.json +10 -0
- package/nodes/locales/en/knxUltimateViewer.html +20 -4
- package/nodes/locales/es/knxUltimate-config.html +1 -1
- package/nodes/locales/es/knxUltimate-config.json +10 -0
- package/nodes/locales/es/knxUltimateViewer.html +27 -11
- package/nodes/locales/fr/knxUltimate-config.html +1 -1
- package/nodes/locales/fr/knxUltimate-config.json +10 -0
- package/nodes/locales/fr/knxUltimateViewer.html +27 -11
- package/nodes/locales/it/knxUltimate-config.html +1 -1
- package/nodes/locales/it/knxUltimate-config.json +10 -0
- package/nodes/locales/it/knxUltimateViewer.html +18 -0
- package/nodes/locales/zh-CN/knxUltimate-config.html +1 -1
- package/nodes/locales/zh-CN/knxUltimate-config.json +10 -0
- package/nodes/locales/zh-CN/knxUltimateViewer.html +18 -0
- package/nodes/plugins/knxUltimate-flow-bubbles-plugin.html +279 -0
- package/nodes/plugins/knxUltimateAI-vue/assets/app.css +1 -1
- package/nodes/plugins/knxUltimateAI-vue/assets/app.js +3 -3
- package/nodes/plugins/knxUltimateViewer-vue/assets/app.css +1 -0
- package/nodes/plugins/knxUltimateViewer-vue/assets/app.js +1 -0
- package/nodes/plugins/knxUltimateViewer-vue/index.html +13 -0
- package/package.json +7 -4
|
@@ -1 +1 @@
|
|
|
1
|
-
.page-shell[data-v-d00cc40d]{width:min(1660px,calc(100% - 18px));margin:14px auto 28px}.topbar[data-v-d00cc40d]{margin-bottom:18px;padding:22px;border:1px solid var(--line);border-radius:24px;background:#ffffffe0;box-shadow:var(--shadow);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.brand[data-v-d00cc40d]{margin-bottom:18px}.eyebrow[data-v-d00cc40d]{margin:0 0 6px;color:var(--accent);font-size:12px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.brand h1[data-v-d00cc40d]{margin:0;font-size:clamp(28px,4vw,40px);line-height:1}.subhead[data-v-d00cc40d]{max-width:860px;margin:10px 0 0;color:var(--muted);font-size:14px;line-height:1.5}.toolbar[data-v-d00cc40d],.statusbar[data-v-d00cc40d],.theme-strip[data-v-d00cc40d],.checkbox[data-v-d00cc40d],.pill-row[data-v-d00cc40d],.preset-row[data-v-d00cc40d],.ask-row[data-v-d00cc40d]{display:flex;flex-wrap:wrap;gap:10px;align-items:center}.toolbar[data-v-d00cc40d]{margin-bottom:12px}.theme-button[data-v-d00cc40d],.primary-button[data-v-d00cc40d],.preset-button[data-v-d00cc40d],.primary-link[data-v-d00cc40d],.secondary-button[data-v-d00cc40d]{border:1px solid var(--line);border-radius:999px;background:#fff;color:var(--text);text-decoration:none;font-size:13px;font-weight:700;padding:10px 14px;transition:.18s ease}.theme-button.active[data-v-d00cc40d],.primary-button[data-v-d00cc40d],.primary-link[data-v-d00cc40d]{border-color:transparent;background:linear-gradient(135deg,var(--accent),#4bbf77);color:#fff}.theme-button[data-v-d00cc40d]:hover,.preset-button[data-v-d00cc40d]:hover,.secondary-button[data-v-d00cc40d]:hover{background:var(--accent-soft);border-color:#7a68d866}.primary-button[data-v-d00cc40d]:disabled,.preset-button[data-v-d00cc40d]:disabled{opacity:.6;cursor:not-allowed}.node-select[data-v-d00cc40d]{min-width:min(360px,100%)}.node-select[data-v-d00cc40d],.checkbox[data-v-d00cc40d],.summary-pre[data-v-d00cc40d],.chat-log[data-v-d00cc40d],.anomaly-card pre[data-v-d00cc40d]{border:1px solid var(--line);border-radius:16px;background:#ffffffe0}.node-select[data-v-d00cc40d]{padding:10px 12px;color:var(--text)}.checkbox[data-v-d00cc40d]{padding:10px 12px;gap:8px}.statusbar[data-v-d00cc40d]{justify-content:space-between}.status-pill[data-v-d00cc40d],.meta-chip[data-v-d00cc40d],.pill[data-v-d00cc40d]{display:inline-flex;align-items:center;gap:6px;border-radius:999px;padding:7px 12px;font-size:12px;font-weight:800}.status-pill[data-v-d00cc40d],.meta-chip[data-v-d00cc40d],.pill.neutral[data-v-d00cc40d]{background:var(--accent-soft);color:var(--text)}.status-pill.error[data-v-d00cc40d],.pill.danger[data-v-d00cc40d]{background:var(--err-bg);color:#a4333a}.pill.success[data-v-d00cc40d]{background:var(--ok-bg);color:#1b7d36}.status-detail[data-v-d00cc40d]{color:var(--muted);font-size:12px;font-weight:700}.content-grid[data-v-d00cc40d]{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:16px}.card[data-v-d00cc40d]{grid-column:span 6;min-height:240px;padding:18px;border:1px solid var(--line);border-radius:var(--card-radius);background:#ffffffe6;box-shadow:var(--shadow)}.card-summary[data-v-d00cc40d],.card-bus[data-v-d00cc40d],.card-chat[data-v-d00cc40d],.card-flow[data-v-d00cc40d],.card-anomalies[data-v-d00cc40d]{grid-column:span 6}.card-flow[data-v-d00cc40d]{grid-column:span 12}.card-head[data-v-d00cc40d]{display:flex;justify-content:space-between;gap:12px;align-items:center;margin-bottom:14px}.card-head-actions[data-v-d00cc40d]{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.card-head h2[data-v-d00cc40d]{margin:0;font-size:18px}.summary-pre[data-v-d00cc40d],.chat-log[data-v-d00cc40d]{margin:0;padding:14px;white-space:pre-wrap;word-break:break-word;font-family:JetBrains Mono,SFMono-Regular,monospace;font-size:12px;line-height:1.5}.metric-grid[data-v-d00cc40d]{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:14px}.metric[data-v-d00cc40d]{padding:12px;border-radius:16px;background:var(--panel-soft)}.metric span[data-v-d00cc40d]{display:block;margin-bottom:6px;color:var(--muted);font-size:12px;font-weight:700}.metric strong[data-v-d00cc40d]{font-size:20px}.rank-list[data-v-d00cc40d],.event-list[data-v-d00cc40d],.anomaly-list[data-v-d00cc40d]{margin:0;padding:0;list-style:none}.rank-row[data-v-d00cc40d],.event-row[data-v-d00cc40d]{display:grid;gap:12px;align-items:center;padding:10px 0;border-bottom:1px solid rgba(98,87,142,.14)}.rank-row[data-v-d00cc40d]{grid-template-columns:minmax(0,1.2fr) minmax(0,1fr) auto}.event-row[data-v-d00cc40d]{grid-template-columns:minmax(0,1fr) minmax(0,1.6fr) auto}.rank-title[data-v-d00cc40d],.event-name[data-v-d00cc40d]{font-weight:800}.rank-label[data-v-d00cc40d]{color:var(--muted);font-size:12px}.event-bar[data-v-d00cc40d]{height:10px;overflow:hidden;border-radius:999px;background:#7a68d81f}.event-bar-fill[data-v-d00cc40d]{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--accent),#4bbf77)}.bus-track[data-v-d00cc40d]{position:relative;height:18px;margin-top:16px;overflow:hidden;border:1px solid rgba(98,87,142,.2);border-radius:999px;background:linear-gradient(180deg,#f6f3ff,#efebfb)}.bus-segment[data-v-d00cc40d]{position:absolute;top:0;bottom:0}.segment-connected[data-v-d00cc40d]{background:linear-gradient(90deg,#4ad06d,#38c45f)}.segment-disconnected[data-v-d00cc40d]{background:linear-gradient(90deg,#eb6a74,#d94b55)}.bus-scale[data-v-d00cc40d]{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:10px;color:var(--muted);font-size:12px;font-weight:700}.bus-scale span[data-v-d00cc40d]:nth-child(2){text-align:center}.bus-scale span[data-v-d00cc40d]:nth-child(3){text-align:right}.bus-note[data-v-d00cc40d],.flow-note[data-v-d00cc40d],.empty-state[data-v-d00cc40d]{color:var(--muted);line-height:1.5}.flow-toolbar[data-v-d00cc40d]{display:grid;grid-template-columns:120px minmax(180px,1fr) minmax(220px,1.2fr);gap:12px;align-items:start}.flow-field[data-v-d00cc40d]{display:flex;flex-direction:column;gap:6px;color:var(--muted);font-size:12px;font-weight:700}.flow-field input[data-v-d00cc40d],.flow-field select[data-v-d00cc40d]{border:1px solid var(--line);border-radius:14px;background:#ffffffe0;color:var(--text);padding:10px 12px}.flow-field select[data-v-d00cc40d]{min-height:128px}.flow-legend[data-v-d00cc40d]{display:flex;flex-wrap:wrap;gap:10px 14px;align-items:center;padding:10px 0 0;color:var(--muted);font-size:12px;font-weight:700}.legend-line[data-v-d00cc40d],.legend-dot[data-v-d00cc40d]{display:inline-block;vertical-align:middle;margin-right:6px}.legend-line[data-v-d00cc40d]{width:18px;border-top:3px solid currentColor}.legend-write[data-v-d00cc40d]{color:#7a68d8}.legend-response[data-v-d00cc40d]{color:#46b86d}.legend-read[data-v-d00cc40d]{color:#d99a34}.legend-repeat[data-v-d00cc40d]{color:#c34747}.legend-dot[data-v-d00cc40d]{width:10px;height:10px;border-radius:50%}.legend-anomaly[data-v-d00cc40d]{background:#f08f92}.legend-external[data-v-d00cc40d]{background:#f5d9a2}.flow-frame[data-v-d00cc40d]{margin-top:16px;overflow:auto;border:1px solid var(--line);border-radius:20px;background:linear-gradient(180deg,#fffffffa,#f8f5fff5)}.card-flow.is-fullscreen[data-v-d00cc40d]{width:100%;height:100%;margin:0;padding:18px;border-radius:0;background:#fffffffa;overflow:auto}.card-flow.is-fullscreen .flow-frame[data-v-d00cc40d]{height:calc(100vh - 260px)}.card-flow.is-fullscreen .flow-svg[data-v-d00cc40d]{min-height:calc(100vh - 260px)}.flow-svg[data-v-d00cc40d]{width:100%;min-width:1180px;min-height:420px;display:block}.flow-empty[data-v-d00cc40d]{padding:24px}.flow-edge[data-v-d00cc40d]{fill:none;stroke-linecap:round;vector-effect:non-scaling-stroke}.flow-edge-active[data-v-d00cc40d]{stroke-dasharray:10 7;animation:graph-flow-d00cc40d 1.25s linear infinite}.flow-edge-idle[data-v-d00cc40d]{stroke-dasharray:8 8;animation:none}@keyframes graph-flow-d00cc40d{0%{stroke-dashoffset:0}to{stroke-dashoffset:-34}}.flow-node circle[data-v-d00cc40d]{fill:#edf9ef;stroke:#4caf66;stroke-width:2}.flow-node.is-anomaly circle[data-v-d00cc40d]{fill:#fff1f1;stroke:#e53935}.flow-node.is-external circle[data-v-d00cc40d]{fill:#fff8ea;stroke:#c98a1a;stroke-dasharray:4 3}.flow-node.is-idle circle[data-v-d00cc40d]{opacity:.7}.node-label[data-v-d00cc40d],.node-subtitle[data-v-d00cc40d],.node-payload[data-v-d00cc40d],.node-badge[data-v-d00cc40d]{text-anchor:middle;dominant-baseline:middle}.node-label[data-v-d00cc40d]{fill:#2f7f48;font-size:12px;font-weight:800}.flow-node.is-external .node-label[data-v-d00cc40d]{fill:#9a6b24}.node-subtitle[data-v-d00cc40d]{fill:#665f86;font-size:10px}.node-payload[data-v-d00cc40d]{fill:#645d84;font-size:9px;font-family:JetBrains Mono,SFMono-Regular,monospace}.node-badge[data-v-d00cc40d]{fill:#b3261e;font-size:9px;font-weight:800}.anomaly-list[data-v-d00cc40d]{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:12px}.anomaly-card[data-v-d00cc40d]{padding:14px;border-left:4px solid var(--warn-border);border-radius:18px;background:var(--warn-bg)}.anomaly-head[data-v-d00cc40d]{display:flex;justify-content:space-between;gap:10px;align-items:baseline}.anomaly-time[data-v-d00cc40d]{margin:8px 0 10px;color:var(--muted);font-size:12px}.anomaly-card pre[data-v-d00cc40d]{margin:0;padding:12px;white-space:pre-wrap;word-break:break-word;font-size:12px}.chat-log[data-v-d00cc40d]{min-height:280px}.ask-row[data-v-d00cc40d]{margin-bottom:12px}.ask-input[data-v-d00cc40d]{flex:1 1 260px;min-width:0;border:1px solid var(--line);border-radius:999px;background:#ffffffe0;color:var(--text);padding:11px 14px}.chat-message[data-v-d00cc40d]{margin-bottom:12px;padding:12px;border-radius:16px}.chat-message pre[data-v-d00cc40d]{margin:0;white-space:pre-wrap;word-break:break-word;font-family:inherit}.chat-user[data-v-d00cc40d]{background:#7a68d81a}.chat-assistant[data-v-d00cc40d]{background:#5bbf731f}.chat-error[data-v-d00cc40d]{background:var(--err-bg)}.chat-pending[data-v-d00cc40d]{background:#62578e14;color:var(--muted)}[data-v-d00cc40d] .chat-svg-wrap{margin-top:10px;overflow:auto;border:1px solid rgba(122,104,216,.25);border-radius:14px;background:#fff;padding:8px}[data-v-d00cc40d] .chat-svg-wrap svg{width:100%;height:auto;display:block}[data-v-d00cc40d] .chat-table-wrap{overflow:auto}[data-v-d00cc40d] .chat-table-wrap table,[data-v-d00cc40d] table{width:100%;border-collapse:collapse;margin-top:8px}[data-v-d00cc40d] th,[data-v-d00cc40d] td{padding:6px 8px;border:1px solid rgba(98,87,142,.16)}@media(max-width:1100px){.card[data-v-d00cc40d],.card-summary[data-v-d00cc40d],.card-bus[data-v-d00cc40d],.card-chat[data-v-d00cc40d],.card-flow[data-v-d00cc40d],.card-anomalies[data-v-d00cc40d]{grid-column:span 12}}@media(max-width:720px){.page-shell[data-v-d00cc40d]{width:min(100% - 16px,1440px);margin-top:8px}.topbar[data-v-d00cc40d],.card[data-v-d00cc40d]{padding:14px;border-radius:20px}.rank-row[data-v-d00cc40d],.event-row[data-v-d00cc40d],.metric-grid[data-v-d00cc40d],.flow-toolbar[data-v-d00cc40d]{grid-template-columns:1fr}.statusbar[data-v-d00cc40d]{align-items:flex-start}}:root{color-scheme:light;--bg: #f4f1ff;--panel: #ffffff;--panel-soft: #f8f5ff;--text: #2b2446;--muted: #655f80;--line: rgba(98, 87, 142, .24);--accent: #7a68d8;--accent-soft: #ece8ff;--ok-bg: #edf9ef;--ok-border: #5bbf73;--err-bg: #ffe9ea;--err-border: #d95b63;--warn-bg: #fff3df;--warn-border: #d99a34;--card-radius: 18px;--shadow: 0 12px 40px rgba(43, 36, 70, .08);font-family:Manrope,Segoe UI,sans-serif}*{box-sizing:border-box}html,body,#app{min-height:100%;margin:0}body{background:radial-gradient(circle at top left,rgba(122,104,216,.16),transparent 30%),radial-gradient(circle at top right,rgba(91,191,115,.14),transparent 24%),linear-gradient(180deg,#f6f2ff,#f5f8ff 52%,#f7fcf8);color:var(--text)}button,input,select,textarea{font:inherit}a{color:inherit}
|
|
1
|
+
.page-shell[data-v-faa9aec2]{width:min(1660px,calc(100% - 18px));margin:14px auto 28px}.topbar[data-v-faa9aec2]{margin-bottom:18px;padding:22px;border:1px solid var(--line);border-radius:24px;background:#ffffffe0;box-shadow:var(--shadow);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.brand[data-v-faa9aec2]{margin-bottom:18px}.eyebrow[data-v-faa9aec2]{margin:0 0 6px;color:var(--accent);font-size:12px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.brand h1[data-v-faa9aec2]{margin:0;font-size:clamp(28px,4vw,40px);line-height:1}.subhead[data-v-faa9aec2]{max-width:860px;margin:10px 0 0;color:var(--muted);font-size:14px;line-height:1.5}.toolbar[data-v-faa9aec2],.statusbar[data-v-faa9aec2],.theme-strip[data-v-faa9aec2],.checkbox[data-v-faa9aec2],.pill-row[data-v-faa9aec2],.preset-row[data-v-faa9aec2],.ask-row[data-v-faa9aec2]{display:flex;flex-wrap:wrap;gap:10px;align-items:center}.toolbar[data-v-faa9aec2]{margin-bottom:12px}.theme-button[data-v-faa9aec2],.primary-button[data-v-faa9aec2],.preset-button[data-v-faa9aec2],.primary-link[data-v-faa9aec2],.secondary-button[data-v-faa9aec2]{border:1px solid var(--line);border-radius:999px;background:#fff;color:var(--text);text-decoration:none;font-size:13px;font-weight:700;padding:10px 14px;transition:.18s ease}.theme-button.active[data-v-faa9aec2],.primary-button[data-v-faa9aec2],.primary-link[data-v-faa9aec2]{border-color:transparent;background:linear-gradient(135deg,var(--accent),#4bbf77);color:#fff}.theme-button[data-v-faa9aec2]:hover,.preset-button[data-v-faa9aec2]:hover,.secondary-button[data-v-faa9aec2]:hover{background:var(--accent-soft);border-color:#7a68d866}.primary-button[data-v-faa9aec2]:disabled,.preset-button[data-v-faa9aec2]:disabled{opacity:.6;cursor:not-allowed}.node-select[data-v-faa9aec2]{min-width:min(360px,100%)}.node-select[data-v-faa9aec2],.checkbox[data-v-faa9aec2],.summary-pre[data-v-faa9aec2],.chat-log[data-v-faa9aec2],.anomaly-card pre[data-v-faa9aec2]{border:1px solid var(--line);border-radius:16px;background:#ffffffe0}.node-select[data-v-faa9aec2]{padding:10px 12px;color:var(--text)}.checkbox[data-v-faa9aec2]{padding:10px 12px;gap:8px}.statusbar[data-v-faa9aec2]{justify-content:space-between}.status-pill[data-v-faa9aec2],.meta-chip[data-v-faa9aec2],.pill[data-v-faa9aec2]{display:inline-flex;align-items:center;gap:6px;border-radius:999px;padding:7px 12px;font-size:12px;font-weight:800}.status-pill[data-v-faa9aec2],.meta-chip[data-v-faa9aec2],.pill.neutral[data-v-faa9aec2]{background:var(--accent-soft);color:var(--text)}.status-pill.error[data-v-faa9aec2],.pill.danger[data-v-faa9aec2]{background:var(--err-bg);color:#a4333a}.pill.success[data-v-faa9aec2]{background:var(--ok-bg);color:#1b7d36}.status-detail[data-v-faa9aec2]{color:var(--muted);font-size:12px;font-weight:700}.content-grid[data-v-faa9aec2]{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:16px}.card[data-v-faa9aec2]{grid-column:span 6;min-height:240px;padding:18px;border:1px solid var(--line);border-radius:var(--card-radius);background:#ffffffe6;box-shadow:var(--shadow)}.card-summary[data-v-faa9aec2],.card-bus[data-v-faa9aec2],.card-chat[data-v-faa9aec2],.card-flow[data-v-faa9aec2],.card-anomalies[data-v-faa9aec2]{grid-column:span 6}.card-flow[data-v-faa9aec2]{grid-column:span 12}.card-head[data-v-faa9aec2]{display:flex;justify-content:space-between;gap:12px;align-items:center;margin-bottom:14px}.card-head-actions[data-v-faa9aec2]{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.card-head h2[data-v-faa9aec2]{margin:0;font-size:18px}.summary-pre[data-v-faa9aec2],.chat-log[data-v-faa9aec2]{margin:0;padding:14px;white-space:pre-wrap;word-break:break-word;font-family:JetBrains Mono,SFMono-Regular,monospace;font-size:12px;line-height:1.5}.metric-grid[data-v-faa9aec2]{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:14px}.metric[data-v-faa9aec2]{padding:12px;border-radius:16px;background:var(--panel-soft)}.metric span[data-v-faa9aec2]{display:block;margin-bottom:6px;color:var(--muted);font-size:12px;font-weight:700}.metric strong[data-v-faa9aec2]{font-size:20px}.rank-list[data-v-faa9aec2],.event-list[data-v-faa9aec2],.anomaly-list[data-v-faa9aec2]{margin:0;padding:0;list-style:none}.rank-row[data-v-faa9aec2],.event-row[data-v-faa9aec2]{display:grid;gap:12px;align-items:center;padding:10px 0;border-bottom:1px solid rgba(98,87,142,.14)}.rank-row[data-v-faa9aec2]{grid-template-columns:minmax(0,1.2fr) minmax(0,1fr) auto}.event-row[data-v-faa9aec2]{grid-template-columns:minmax(0,1fr) minmax(0,1.6fr) auto}.rank-title[data-v-faa9aec2],.event-name[data-v-faa9aec2]{font-weight:800}.rank-label[data-v-faa9aec2]{color:var(--muted);font-size:12px}.event-bar[data-v-faa9aec2]{height:10px;overflow:hidden;border-radius:999px;background:#7a68d81f}.event-bar-fill[data-v-faa9aec2]{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--accent),#4bbf77)}.bus-track[data-v-faa9aec2]{position:relative;height:18px;margin-top:16px;overflow:hidden;border:1px solid rgba(98,87,142,.2);border-radius:999px;background:linear-gradient(180deg,#f6f3ff,#efebfb)}.bus-segment[data-v-faa9aec2]{position:absolute;top:0;bottom:0}.segment-connected[data-v-faa9aec2]{background:linear-gradient(90deg,#4ad06d,#38c45f)}.segment-disconnected[data-v-faa9aec2]{background:linear-gradient(90deg,#eb6a74,#d94b55)}.bus-scale[data-v-faa9aec2]{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:10px;color:var(--muted);font-size:12px;font-weight:700}.bus-scale span[data-v-faa9aec2]:nth-child(2){text-align:center}.bus-scale span[data-v-faa9aec2]:nth-child(3){text-align:right}.bus-note[data-v-faa9aec2],.flow-note[data-v-faa9aec2],.empty-state[data-v-faa9aec2]{color:var(--muted);line-height:1.5}.flow-toolbar[data-v-faa9aec2]{display:grid;grid-template-columns:120px minmax(180px,1fr) minmax(220px,1.2fr) auto;gap:12px;align-items:start}.flow-field[data-v-faa9aec2]{display:flex;flex-direction:column;gap:6px;color:var(--muted);font-size:12px;font-weight:700}.flow-field input[data-v-faa9aec2],.flow-field select[data-v-faa9aec2]{border:1px solid var(--line);border-radius:14px;background:#ffffffe0;color:var(--text);padding:10px 12px}.flow-field select[data-v-faa9aec2]{min-height:128px}.flow-legend[data-v-faa9aec2]{display:flex;flex-wrap:wrap;gap:10px 14px;align-items:center;padding:10px 0 0;color:var(--muted);font-size:12px;font-weight:700}.flow-toggle[data-v-faa9aec2]{align-self:end;min-height:44px;white-space:nowrap}.legend-line[data-v-faa9aec2],.legend-dot[data-v-faa9aec2]{display:inline-block;vertical-align:middle;margin-right:6px}.legend-line[data-v-faa9aec2]{width:18px;border-top:3px solid currentColor}.legend-write[data-v-faa9aec2]{color:#7a68d8}.legend-response[data-v-faa9aec2]{color:#46b86d}.legend-read[data-v-faa9aec2]{color:#d99a34}.legend-repeat[data-v-faa9aec2]{color:#c34747}.legend-dot[data-v-faa9aec2]{width:10px;height:10px;border-radius:50%}.legend-anomaly[data-v-faa9aec2]{background:#f08f92}.legend-external[data-v-faa9aec2]{background:#f5d9a2}.flow-frame[data-v-faa9aec2]{margin-top:16px;overflow:auto;border:1px solid var(--line);border-radius:20px;background:linear-gradient(180deg,#fffffffa,#f8f5fff5)}.card-flow.is-fullscreen[data-v-faa9aec2]{width:100%;height:100%;margin:0;padding:18px;border-radius:0;background:#fffffffa;overflow:auto}.card-flow.is-fullscreen .flow-frame[data-v-faa9aec2]{height:calc(100vh - 260px)}.card-flow.is-fullscreen .flow-svg[data-v-faa9aec2]{min-height:calc(100vh - 260px)}.flow-svg[data-v-faa9aec2]{width:100%;min-width:1180px;min-height:420px;display:block}.flow-empty[data-v-faa9aec2]{padding:24px}.flow-edge[data-v-faa9aec2]{fill:none;stroke-linecap:round;vector-effect:non-scaling-stroke}.flow-edge-active[data-v-faa9aec2]{stroke-dasharray:10 7;animation:graph-flow-faa9aec2 1.25s linear infinite}.flow-edge-idle[data-v-faa9aec2]{stroke-dasharray:8 8;animation:none}@keyframes graph-flow-faa9aec2{0%{stroke-dashoffset:0}to{stroke-dashoffset:-34}}.flow-node circle[data-v-faa9aec2]{fill:#edf9ef;stroke:#4caf66;stroke-width:2}.flow-node.is-anomaly circle[data-v-faa9aec2]{fill:#fff1f1;stroke:#e53935}.flow-node.is-external circle[data-v-faa9aec2]{fill:#fff8ea;stroke:#c98a1a;stroke-dasharray:4 3}.flow-node.is-idle circle[data-v-faa9aec2]{opacity:.7}.node-label[data-v-faa9aec2],.node-subtitle[data-v-faa9aec2],.node-payload[data-v-faa9aec2],.node-badge[data-v-faa9aec2]{text-anchor:middle;dominant-baseline:middle}.node-label[data-v-faa9aec2]{fill:#2f7f48;font-size:12px;font-weight:800}.flow-node.is-external .node-label[data-v-faa9aec2]{fill:#9a6b24}.node-subtitle[data-v-faa9aec2]{fill:#665f86;font-size:10px}.node-payload[data-v-faa9aec2]{fill:#645d84;font-size:9px;font-family:JetBrains Mono,SFMono-Regular,monospace}.node-badge[data-v-faa9aec2]{fill:#b3261e;font-size:9px;font-weight:800}.anomaly-list[data-v-faa9aec2]{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:12px}.anomaly-card[data-v-faa9aec2]{padding:14px;border-left:4px solid var(--warn-border);border-radius:18px;background:var(--warn-bg)}.anomaly-head[data-v-faa9aec2]{display:flex;justify-content:space-between;gap:10px;align-items:baseline}.anomaly-time[data-v-faa9aec2]{margin:8px 0 10px;color:var(--muted);font-size:12px}.anomaly-card pre[data-v-faa9aec2]{margin:0;padding:12px;white-space:pre-wrap;word-break:break-word;font-size:12px}.chat-log[data-v-faa9aec2]{min-height:280px}.ask-row[data-v-faa9aec2]{margin-bottom:12px}.ask-input[data-v-faa9aec2]{flex:1 1 260px;min-width:0;border:1px solid var(--line);border-radius:999px;background:#ffffffe0;color:var(--text);padding:11px 14px}.chat-message[data-v-faa9aec2]{margin-bottom:12px;padding:12px;border-radius:16px}.chat-message pre[data-v-faa9aec2]{margin:0;white-space:pre-wrap;word-break:break-word;font-family:inherit}.chat-user[data-v-faa9aec2]{background:#7a68d81a}.chat-assistant[data-v-faa9aec2]{background:#5bbf731f}.chat-error[data-v-faa9aec2]{background:var(--err-bg)}.chat-pending[data-v-faa9aec2]{background:#62578e14;color:var(--muted)}[data-v-faa9aec2] .chat-svg-wrap{margin-top:10px;overflow:auto;border:1px solid rgba(122,104,216,.25);border-radius:14px;background:#fff;padding:8px}[data-v-faa9aec2] .chat-svg-wrap svg{width:100%;height:auto;display:block}[data-v-faa9aec2] .chat-table-wrap{overflow:auto}[data-v-faa9aec2] .chat-table-wrap table,[data-v-faa9aec2] table{width:100%;border-collapse:collapse;margin-top:8px}[data-v-faa9aec2] th,[data-v-faa9aec2] td{padding:6px 8px;border:1px solid rgba(98,87,142,.16)}@media(max-width:1100px){.card[data-v-faa9aec2],.card-summary[data-v-faa9aec2],.card-bus[data-v-faa9aec2],.card-chat[data-v-faa9aec2],.card-flow[data-v-faa9aec2],.card-anomalies[data-v-faa9aec2]{grid-column:span 12}}@media(max-width:720px){.page-shell[data-v-faa9aec2]{width:min(100% - 16px,1440px);margin-top:8px}.topbar[data-v-faa9aec2],.card[data-v-faa9aec2]{padding:14px;border-radius:20px}.rank-row[data-v-faa9aec2],.event-row[data-v-faa9aec2],.metric-grid[data-v-faa9aec2],.flow-toolbar[data-v-faa9aec2]{grid-template-columns:1fr}.statusbar[data-v-faa9aec2]{align-items:flex-start}}:root{color-scheme:light;--bg: #f4f1ff;--panel: #ffffff;--panel-soft: #f8f5ff;--text: #2b2446;--muted: #655f80;--line: rgba(98, 87, 142, .24);--accent: #7a68d8;--accent-soft: #ece8ff;--ok-bg: #edf9ef;--ok-border: #5bbf73;--err-bg: #ffe9ea;--err-border: #d95b63;--warn-bg: #fff3df;--warn-border: #d99a34;--card-radius: 18px;--shadow: 0 12px 40px rgba(43, 36, 70, .08);font-family:Manrope,Segoe UI,sans-serif}*{box-sizing:border-box}html,body,#app{min-height:100%;margin:0}body{background:radial-gradient(circle at top left,rgba(122,104,216,.16),transparent 30%),radial-gradient(circle at top right,rgba(91,191,115,.14),transparent 24%),linear-gradient(180deg,#f6f2ff,#f5f8ff 52%,#f7fcf8);color:var(--text)}button,input,select,textarea{font:inherit}a{color:inherit}
|