@import"https://fonts.googleapis.com/css2?family=JetBrains+Mono:wght@400;600&family=Syne:wght@400;700;800&display=swap";:root{--bg: #0f0f13;--surface: #17171f;--border: #2a2a38;--text: #e8e8f0;--muted: #6b6b80;--fg: var(--text);--rm: #22c55e;--rm-bg: #0a1f10;--rm-border: #185c2e;--cmd: var(--command-color);--cmd-bg: #0d1d3d;--cmd-border: #1e408a;--evt: #f97316;--evt-bg: #271100;--evt-border: #7a3800;--exc: #ef4444;--exc-rgb: 239 68 68;--exc-bg: #2a0f0f;--exc-border: #7a1f1f;--exception-color: var(--exc);--exception-color-rgb: var(--exc-rgb);--arrow: #8c8c9f;--edge-highlight: #7dd3fc;--edge-highlight-glow: rgb(125 211 252 / 40%);--command-color: #3b82f6;--command-color-rgb: 59 130 246;--event-color: #f97316;--event-color-rgb: 249 115 22;--rm-color-rgb: 34 197 94;--ui-color: #f3f4f6;--ui: var(--ui-color);--ui-color-rgb: 243 244 246;--ui-bg: #374151;--ui-border: #f9fafb;--aut-color: #a78bfa;--aut: var(--aut-color);--aut-color-rgb: 167 139 250;--aut-bg: #1c1a2e;--aut-border: #3c3660;--automation-color: var(--aut-color);--automation-color-rgb: var(--aut-color-rgb);--ext: #facc15;--ext-bg: #2a2205;--ext-border: #7a6310;--ext-color: var(--ext);--ext-color-rgb: 250 204 21;--external-color: var(--ext-color);--external-color-rgb: var(--ext-color-rgb);--generic: #9ca3af;--generic-bg: #1f232b;--generic-border: #3b4250;--lane-divider: #35354b;--slice-divider: #7f7fa4;--editor-keyword: #22d3ee;--editor-type-name: #60a5fa;--editor-exc: var(--exception-color);--editor-aut: var(--automation-color);--editor-ext: var(--external-color);--editor-string: #14b8a6;--editor-json-key: #ababab;--editor-number: #f59e0b;--panel-action-hover-border: rgb(232 232 240 / 45%);--panel-action-hover-bg: rgb(255 255 255 / 3%);--node-highlight-bg: rgb(249 115 22 / 10%);--node-fields-divider: rgb(255 255 255 / 10%);--node-field-value: rgb(255 255 255 / 90%);--node-field-key: rgb(255 255 255 / 45%);--node-field-missing: #f87171;--node-shadow-rm: 0 0 0 2px var(--rm), 0 6px 20px rgb(34 197 94 / 15%);--node-shadow-cmd: 0 0 0 2px var(--cmd), 0 6px 20px rgb(59 130 246 / 15%);--node-shadow-evt: 0 0 0 2px var(--evt), 0 6px 20px rgb(249 115 22 / 15%);--node-shadow-exc: 0 0 0 2px var(--exc), 0 6px 20px rgb(239 68 68 / 15%);--node-shadow-ui: 0 0 0 2px var(--ui-color), 0 6px 20px rgb(67 56 202 / 15%);--node-shadow-aut: 0 0 0 2px var(--aut-color), 0 6px 20px rgb(167 139 250 / 15%);--node-shadow-ext: 0 0 0 2px var(--ext), 0 6px 20px rgb(250 204 21 / 15%);--node-shadow-generic: 0 0 0 2px var(--generic), 0 6px 20px rgb(156 163 175 / 12%);--node-width-min: 180px;--node-width-max: 250px;--warning-tooltip-border: #6b7280;--warning-tooltip-shadow: 0 8px 24px rgb(0 0 0 / 35%);--scrollbar-track: #14141c;--scrollbar-thumb: #323247;--scrollbar-thumb-hover: #454562;--scrollbar-thumb-active: #5f5f86;--ui-inbound-data-background: linear-gradient(90deg, color-mix(in srgb, var(--rm) 50%, transparent), transparent);--ui-outbound-data-background: linear-gradient(90deg, transparent, color-mix(in srgb, var(--cmd) 50%, transparent));--ui-data-inbound-and-outbound-background: linear-gradient(90deg, color-mix(in srgb, var(--rm) 30%, transparent), transparent, color-mix(in srgb, var(--cmd) 30%, transparent))}:root[data-theme=light]{--bg: #f5f7fb;--surface: #ffffff;--border: #d7dcea;--text: #101828;--muted: #5d667a;--rm: #15803d;--rm-bg: #e8f5ec;--rm-border: #8dcfa5;--command-color: #2563eb;--command-color-rgb: 37 99 235;--cmd-bg: #e9f0ff;--cmd-border: #9cb9f9;--evt: #c2410c;--event-color: #c2410c;--event-color-rgb: 194 65 12;--evt-bg: #fff1e8;--evt-border: #f5b896;--exc: #dc2626;--exc-rgb: 220 38 38;--exc-bg: #feecec;--exc-border: #f2b4b4;--exception-color: var(--exc);--exception-color-rgb: var(--exc-rgb);--arrow: #5f6b80;--edge-highlight: #72b4c2;--edge-highlight-glow: rgb(3 105 161 / 22%);--ui-color: #374151;--ui-color-rgb: 55 65 81;--ui-bg: #f8fafc;--ui-border: #111827;--aut-color: #6d28d9;--aut-color-rgb: 109 40 217;--aut-bg: #f2ecff;--aut-border: #cdb9f8;--automation-color: var(--aut-color);--automation-color-rgb: var(--aut-color-rgb);--ext: #a16207;--ext-bg: #fff7d6;--ext-border: #f3d17a;--ext-color: var(--ext);--ext-color-rgb: 161 98 7;--external-color: var(--ext-color);--external-color-rgb: var(--ext-color-rgb);--generic: #4b5563;--generic-bg: #eef1f5;--generic-border: #cfd6df;--lane-divider: #bec8de;--slice-divider: #7b8aad;--editor-keyword: #72b4c2;--editor-type-name: #1d4ed8;--editor-exc: var(--exception-color);--editor-aut: var(--automation-color);--editor-ext: var(--external-color);--editor-string: #0f766e;--editor-json-key: #64748b;--editor-number: #b45309;--panel-action-hover-border: rgb(16 24 40 / 35%);--panel-action-hover-bg: rgb(16 24 40 / 6%);--node-highlight-bg: rgb(194 65 12 / 12%);--node-fields-divider: rgb(2 6 23 / 10%);--node-field-value: rgb(2 6 23 / 85%);--node-field-key: rgb(2 6 23 / 50%);--node-field-missing: #dc2626;--node-shadow-rm: 0 0 0 2px var(--rm), 0 6px 20px rgb(21 128 61 / 14%);--node-shadow-cmd: 0 0 0 2px var(--cmd), 0 6px 20px rgb(37 99 235 / 14%);--node-shadow-evt: 0 0 0 2px var(--evt), 0 6px 20px rgb(194 65 12 / 14%);--node-shadow-exc: 0 0 0 2px var(--exc), 0 6px 20px rgb(220 38 38 / 14%);--node-shadow-ui: 0 0 0 2px var(--ui-color), 0 6px 20px rgb(67 56 202 / 14%);--node-shadow-aut: 0 0 0 2px var(--aut-color), 0 6px 20px rgb(109 40 217 / 14%);--node-shadow-ext: 0 0 0 2px var(--ext), 0 6px 20px rgb(161 98 7 / 14%);--node-shadow-generic: 0 0 0 2px var(--generic), 0 6px 20px rgb(75 85 99 / 14%);--warning-tooltip-border: #374151;--warning-tooltip-shadow: 0 8px 22px rgb(15 23 42 / 16%);--scrollbar-track: #eef1f8;--scrollbar-thumb: #c4cad8;--scrollbar-thumb-hover: #adb5c8;--scrollbar-thumb-active: #919cb5}*{box-sizing:border-box;margin:0;padding:0}html,body,#root{height:100%}#root{display:flex;flex-direction:column;min-height:0}body{background:var(--bg);color:var(--text);font-family:Syne,sans-serif;display:flex;flex-direction:column;height:100dvh;overflow:hidden}header{background:var(--surface);border-bottom:1px solid var(--border);display:flex;align-items:center;padding:0 16px;gap:12px;height:52px;flex-shrink:0;z-index:10}header h1{font-size:14px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.legend{display:flex;gap:14px;margin-left:auto}.legend-item{display:flex;align-items:center;gap:5px;font-family:JetBrains Mono,monospace;font-size:11px;color:var(--muted)}.legend-item span{font-weight:700}.legend-dot{width:8px;height:8px;border-radius:2px;flex-shrink:0;border:1px solid black}.slice-controls{display:flex;align-items:center;gap:8px}.slice-menu{position:relative}.slice-select-toggle{display:flex;align-items:center;justify-content:space-between;gap:8px;background:var(--surface);border:1px solid var(--border);border-radius:6px;color:var(--text);font-family:JetBrains Mono,monospace;font-size:11px;font-weight:600;min-width:170px;max-width:260px;padding:6px 10px;cursor:pointer;transition:border-color .15s,color .15s}.slice-select-toggle:hover{border-color:var(--text)}.slice-select-label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.slice-menu-panel{position:absolute;top:calc(100% + 6px);left:0;min-width:170px;max-width:260px;display:flex;flex-direction:column;gap:2px;padding:4px;background:var(--surface);border:1px solid var(--border);border-radius:8px;box-shadow:0 8px 20px #00000029;z-index:40}.slice-menu-item{display:flex;align-items:center;gap:6px;width:100%;background:transparent;border:1px solid transparent;border-radius:6px;color:var(--muted);font-family:JetBrains Mono,monospace;font-size:11px;font-weight:600;letter-spacing:.03em;padding:6px 8px;cursor:pointer;text-align:left}.slice-menu-item:hover{border-color:var(--border);color:var(--text)}.slice-menu-check{width:12px;color:var(--text)}.slice-new{background:var(--surface);border:1px solid var(--border);border-radius:6px;color:var(--muted);font-family:JetBrains Mono,monospace;font-size:11px;font-weight:600;letter-spacing:.06em;padding:6px 10px;cursor:pointer;transition:border-color .15s,color .15s}.slice-new:hover{border-color:var(--text);color:var(--text)}.theme-toggle{display:flex;align-items:center;justify-content:center;width:30px;height:30px;background:var(--surface);border:1px solid var(--border);border-radius:6px;color:var(--muted);cursor:pointer;transition:border-color .15s,color .15s}.theme-toggle:hover{border-color:var(--text);color:var(--text)}.desktop-only{display:inline-flex}.mobile-menu{display:none;position:relative}.mobile-menu-toggle{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;background:var(--surface);border:1px solid var(--border);border-radius:6px;color:var(--muted);font-family:JetBrains Mono,monospace;font-size:20px;line-height:1;cursor:pointer;transition:border-color .15s,color .15s}.mobile-menu-toggle:hover{border-color:var(--text);color:var(--text)}.mobile-menu-panel{position:absolute;top:calc(100% + 6px);right:0;min-width:170px;display:flex;flex-direction:column;gap:2px;padding:4px;background:var(--surface);border:1px solid var(--border);border-radius:8px;box-shadow:0 8px 20px #00000029;z-index:45}.mobile-menu-item{display:flex;align-items:center;width:100%;background:transparent;border:1px solid transparent;border-radius:6px;color:var(--muted);font-family:JetBrains Mono,monospace;font-size:11px;font-weight:600;letter-spacing:.03em;padding:8px 10px;cursor:pointer;text-align:left}.mobile-menu-item:hover{border-color:var(--border);color:var(--text)}@media (max-width: 500px){.legend-item span{display:none}.legend{gap:10px}.slice-select-toggle,.slice-menu-panel{min-width:130px;max-width:170px}}.dsl-toggle{display:none;align-items:center;gap:6px;background:var(--surface);border:1px solid var(--border);border-radius:6px;color:var(--muted);font-family:JetBrains Mono,monospace;font-size:11px;font-weight:600;letter-spacing:.06em;padding:6px 10px;cursor:pointer;white-space:nowrap;transition:border-color .15s,color .15s}.dsl-toggle:hover{border-color:var(--text);color:var(--text)}.dsl-toggle svg{flex-shrink:0}@media (max-width: 768px){header{padding:0 8px;gap:6px;min-width:0}header h1{font-size:12px;letter-spacing:.06em;flex:0 0 auto}.legend{display:none}.slice-controls{margin-left:auto;gap:6px;min-width:0}.slice-select-toggle{min-width:110px;max-width:148px;height:36px;padding:0 8px}.slice-new,.theme-toggle,.dsl-toggle,.docs-toggle,.mobile-menu-toggle{width:36px;height:36px;padding:0;justify-content:center}.dsl-toggle,.docs-toggle{font-size:0;letter-spacing:0;gap:0}.slice-new svg,.theme-toggle svg,.dsl-toggle svg,.docs-toggle svg{width:16px;height:16px}.slice-menu-panel{min-width:150px;max-width:min(220px,calc(100vw - 16px))}.desktop-only{display:none}.mobile-menu{display:block}.mobile-menu-panel{min-width:190px;max-width:min(250px,calc(100vw - 16px))}.dsl-toggle{display:flex}}.docs-toggle{display:flex;align-items:center;gap:6px;background:var(--surface);border:1px solid var(--border);border-radius:6px;color:var(--muted);font-family:JetBrains Mono,monospace;font-size:11px;font-weight:600;letter-spacing:.06em;padding:6px 10px;cursor:pointer;white-space:nowrap;transition:border-color .15s,color .15s}.docs-toggle:hover{border-color:var(--text);color:var(--text)}.docs-toggle svg{flex-shrink:0}.route-toggle{display:flex;align-items:center;gap:6px;background:var(--surface);border:1px solid var(--border);border-radius:6px;color:var(--muted);font-family:JetBrains Mono,monospace;font-size:11px;font-weight:600;letter-spacing:.06em;padding:6px 10px;cursor:pointer;white-space:nowrap;transition:border-color .15s,color .15s}.route-toggle:hover{border-color:var(--text);color:var(--text)}.route-toggle.has-manual-layout-overrides{background:rgb(var(--exc-rgb) / 16%);border-color:rgb(var(--exc-rgb) / 55%);color:var(--text)}.route-menu{position:relative}.route-menu-panel{position:absolute;top:calc(100% + 6px);right:0;min-width:130px;display:flex;flex-direction:column;gap:2px;padding:4px;background:var(--surface);border:1px solid var(--border);border-radius:8px;box-shadow:0 8px 20px #00000029;z-index:40}.route-menu-item{display:flex;align-items:center;gap:6px;width:100%;background:transparent;border:1px solid transparent;border-radius:6px;color:var(--muted);font-family:JetBrains Mono,monospace;font-size:11px;font-weight:600;letter-spacing:.03em;padding:6px 8px;cursor:pointer;text-align:left}.route-menu-item:hover{border-color:var(--border);color:var(--text)}.route-menu-check{width:12px;color:var(--text)}.route-menu-separator{height:1px;margin:2px 4px;background:var(--border)}.main{display:flex;flex:1;min-height:0;overflow:hidden;position:relative}.editor-panel{background:var(--surface);border-right:1px solid var(--border);display:flex;flex-direction:column;overflow:hidden;position:relative;z-index:2;width:340px;flex-shrink:0;min-height:0;transition:transform .25s ease,opacity .25s ease}@media (max-width: 768px){.editor-panel{position:absolute;bottom:0;left:0;right:0;width:100%;height:52vh;border-right:none;border-top:1px solid var(--border);z-index:20;transform:translateY(100%);opacity:0;pointer-events:none;border-radius:12px 12px 0 0}.editor-panel.open{transform:translateY(0);opacity:1;pointer-events:all}}.panel-label{padding:12px 16px 8px;font-size:10px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);border-bottom:1px solid var(--border);display:flex;align-items:center;gap:8px}.panel-action{margin-left:0;display:inline-flex;align-items:center;gap:6px;background:transparent;border:1px solid var(--border);border-radius:4px;color:var(--muted);font-family:JetBrains Mono,monospace;font-size:10px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;padding:4px 8px;cursor:pointer;transition:color .15s,border-color .15s,background-color .15s}.panel-action-icon{width:14px;height:14px;flex-shrink:0}.panel-action:hover{color:var(--text);border-color:var(--panel-action-hover-border);background:var(--panel-action-hover-bg)}.panel-label>.panel-action:first-of-type{margin-left:auto}.panel-handle{display:none;width:36px;height:4px;border-radius:2px;background:var(--border);margin:0 auto}@media (max-width: 768px){.panel-handle{display:block;margin:0}.panel-label{flex-direction:row;align-items:center;gap:6px;padding:8px 12px}.panel-action,.panel-label>.panel-action:first-of-type{margin-left:0;padding:3px 6px;font-size:9px}.panel-label>span{margin-right:auto}}.dsl-editor{flex:1;min-height:0;overflow:hidden}.dsl-editor .cm-editor,.doc-dsl .cm-editor{height:100%;background:transparent}.dsl-editor .cm-editor.cm-focused,.doc-dsl .cm-editor.cm-focused{outline:none}.dsl-editor .cm-scroller{-webkit-overflow-scrolling:touch;scrollbar-width:thin;scrollbar-color:var(--scrollbar-thumb) var(--scrollbar-track)}.doc-dsl .cm-scroller{-webkit-overflow-scrolling:touch;scrollbar-width:thin;scrollbar-color:var(--scrollbar-thumb) var(--scrollbar-track);font-family:JetBrains Mono,monospace;font-size:11px;line-height:1.45}.doc-dsl .cm-line{padding-right:56px}.dsl-editor .dsl-tok-keyword,.doc-dsl .dsl-tok-keyword{color:var(--editor-keyword);font-weight:700}.dsl-editor .dsl-tok-cmdType,.doc-dsl .dsl-tok-cmdType{color:rgb(var(--command-color-rgb) / .7);color:color-mix(in srgb,var(--command-color) 72%,var(--muted) 28%);font-weight:700}.dsl-editor .dsl-tok-evtType,.doc-dsl .dsl-tok-evtType{color:rgb(var(--event-color-rgb) / .7);color:color-mix(in srgb,var(--event-color) 72%,var(--muted) 28%);font-weight:700}.dsl-editor .dsl-tok-rmType,.doc-dsl .dsl-tok-rmType{color:rgb(var(--rm-color-rgb) / .7);color:color-mix(in srgb,var(--rm) 72%,var(--muted) 28%);font-weight:700}.dsl-editor .dsl-tok-uiType,.doc-dsl .dsl-tok-uiType{color:rgb(var(--ui-color-rgb) / .7);color:color-mix(in srgb,var(--ui-color) 72%,var(--muted) 28%);font-weight:700}.dsl-editor .dsl-tok-excType,.doc-dsl .dsl-tok-excType{color:rgb(var(--exception-color-rgb) / .7);color:color-mix(in srgb,var(--exception-color) 72%,var(--muted) 28%);font-weight:700}.dsl-editor .dsl-tok-autType,.doc-dsl .dsl-tok-autType{color:rgb(var(--automation-color-rgb) / .7);color:color-mix(in srgb,var(--automation-color) 72%,var(--muted) 28%);font-weight:700}.dsl-editor .dsl-tok-extType,.doc-dsl .dsl-tok-extType{color:rgb(var(--external-color-rgb) / .7);color:color-mix(in srgb,var(--external-color) 72%,var(--muted) 28%);font-weight:700}.dsl-editor .dsl-tok-cmdName,.doc-dsl .dsl-tok-cmdName{color:var(--command-color);font-weight:700}.dsl-editor .dsl-tok-evtName,.doc-dsl .dsl-tok-evtName{color:var(--event-color);font-weight:700}.dsl-editor .dsl-tok-rmName,.doc-dsl .dsl-tok-rmName{color:var(--rm);font-weight:700}.dsl-editor .dsl-tok-uiName,.doc-dsl .dsl-tok-uiName{color:var(--ui-color);font-weight:700}.dsl-editor .dsl-tok-autName,.doc-dsl .dsl-tok-autName{color:var(--automation-color);font-weight:700}.dsl-editor .dsl-tok-excType+.dsl-tok-punctuation+.dsl-tok-variableName,.doc-dsl .dsl-tok-excType+.dsl-tok-punctuation+.dsl-tok-variableName{color:var(--exception-color);font-weight:700}.dsl-editor .dsl-tok-extType+.dsl-tok-punctuation+.dsl-tok-variableName,.doc-dsl .dsl-tok-extType+.dsl-tok-punctuation+.dsl-tok-variableName{color:var(--external-color);font-weight:700}.dsl-editor .dsl-tok-typeName,.doc-dsl .dsl-tok-typeName{color:var(--editor-type-name);font-weight:600}.dsl-editor .dsl-tok-variableName,.doc-dsl .dsl-tok-variableName{color:var(--text)}.dsl-editor .dsl-tok-attributeName,.doc-dsl .dsl-tok-attributeName{color:var(--rm)}.dsl-editor .dsl-tok-operator,.doc-dsl .dsl-tok-operator{color:var(--editor-keyword)}.dsl-editor .dsl-tok-string,.doc-dsl .dsl-tok-string{color:var(--editor-string)}.dsl-editor .dsl-tok-jsonKey,.doc-dsl .dsl-tok-jsonKey{color:var(--editor-json-key)}.dsl-editor .dsl-tok-number,.doc-dsl .dsl-tok-number{color:var(--editor-number)}.dsl-editor .dsl-tok-bool,.dsl-editor .dsl-tok-null,.doc-dsl .dsl-tok-bool,.doc-dsl .dsl-tok-null{color:var(--exc)}.dsl-editor .dsl-tok-punctuation,.doc-dsl .dsl-tok-punctuation{color:var(--editor-keyword)}.cm-node-highlight{background-color:var(--node-highlight-bg)}.error-bar{padding:10px 16px;font-family:JetBrains Mono,monospace;font-size:11px;color:var(--exc);background:var(--exc-bg);border-top:1px solid var(--exc-border);min-height:36px;display:flex;align-items:center;flex-shrink:0}.canvas-panel{flex:1;min-height:0;position:relative;z-index:1;overflow:auto;background:var(--bg);-webkit-overflow-scrolling:touch;scrollbar-width:thin;scrollbar-color:var(--scrollbar-thumb) var(--scrollbar-track)}.canvas-panel.hidden{display:none}.docs-panel{flex:1;min-height:0;overflow:auto;background:var(--bg);-webkit-overflow-scrolling:touch;scrollbar-width:thin;scrollbar-color:var(--scrollbar-thumb) var(--scrollbar-track)}.docs-panel-shell{flex:1;min-height:0;display:flex}.docs-panel-shell.hidden{display:none}.cross-slice-usage-panel{width:280px;min-height:0;border-left:1px solid var(--border);background:var(--surface);padding:14px 12px;display:flex;flex-direction:column;gap:10px}.cross-slice-usage-panel h3{margin:0;font-size:13px;text-transform:uppercase;letter-spacing:.06em}.cross-slice-panel-tabs{display:flex;flex-direction:column;gap:6px}.cross-slice-panel-tab{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:transparent;border:1px solid var(--border);border-radius:8px;color:var(--muted);cursor:pointer;font-size:11px;text-align:left;padding:6px 8px;font-family:JetBrains Mono,monospace}.cross-slice-panel-tab.active{color:var(--fg);border-color:var(--fg)}.cross-slice-panel-tab.has-missing-source{background:#dc26261f;border-color:#dc262659}.cross-slice-panel-divider{border-top:1px solid var(--border);margin-top:2px}.cross-slice-usage-node{display:flex;align-items:baseline;justify-content:center;gap:6px;font-family:JetBrains Mono,monospace;font-size:13px;color:var(--muted);text-align:center}.cross-slice-usage-node-type{opacity:.9}.cross-slice-usage-node-key{font-weight:700}.cross-slice-usage-node.cmd{color:var(--cmd)}.cross-slice-usage-node.evt{color:var(--evt)}.cross-slice-usage-node.rm{color:var(--rm)}.cross-slice-usage-node.ui{color:var(--ui)}.cross-slice-usage-node.exc{color:var(--exc)}.cross-slice-usage-node.aut{color:var(--aut)}.cross-slice-usage-node.ext{color:var(--ext)}.cross-slice-usage-list{display:flex;flex-direction:column;gap:8px}.cross-slice-usage-group{display:flex;flex-direction:column;gap:6px}.cross-slice-usage-group-title{color:var(--fg);font-family:JetBrains Mono,monospace;font-size:10px;opacity:.85}.cross-slice-usage-group-items{display:flex;flex-direction:column}.cross-slice-usage-group-frame{border:1px solid var(--border);border-radius:14px;padding:12px;display:flex;flex-direction:column;gap:8px}.cross-slice-usage-item{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:100%;background:transparent;border:none;border-radius:0;padding:0;display:flex;justify-content:space-between;gap:8px;font-family:JetBrains Mono,monospace;font-size:11px;cursor:pointer;text-align:left;flex-direction:column}.cross-slice-usage-slice{color:var(--fg);font-family:JetBrains Mono,monospace;font-size:10px;opacity:.8}.cross-slice-usage-ref{color:var(--muted)}.cross-slice-usage-node-card{border:1px solid var(--border);border-radius:8px;padding:8px;background:var(--bg)}.cross-slice-usage-node-card.node{position:static;width:auto;height:auto;left:auto;top:auto}.cross-slice-usage-node-card.node.rm{border-color:var(--rm-border)}.cross-slice-usage-node-card.node.cmd{border-color:var(--cmd-border)}.cross-slice-usage-node-card.node.evt{border-color:var(--evt-border)}.cross-slice-usage-node-card.node.exc{border-color:var(--exc-border)}.cross-slice-usage-node-card.node.ui{border-color:var(--ui-border)}.cross-slice-usage-node-card.node.aut{border-color:var(--aut-border)}.cross-slice-usage-node-card.node.ext{border-color:var(--ext-border)}.cross-slice-data-list{display:flex;flex-direction:column;gap:8px}.cross-slice-data-key-section{border:1px solid var(--border);border-radius:8px}.cross-slice-data-key-toggle{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:transparent;border:none;color:var(--fg);width:100%;text-align:left;padding:8px;display:inline-flex;align-items:center;gap:8px;font-family:JetBrains Mono,monospace;font-size:11px;cursor:pointer}.cross-slice-data-key-toggle-icon{display:inline-flex;align-items:center;justify-content:center;width:12px;height:12px;color:#8a8aa0;flex-shrink:0}.cross-slice-data-key-toggle-icon svg{display:block}.cross-slice-data-key-toggle:hover .cross-slice-data-key-toggle-icon{color:#b8b8c7}.cross-slice-data-key-toggle-label{min-width:0}.cross-slice-data-values{border-top:1px solid var(--border);display:flex;flex-direction:column;gap:6px;padding:8px}.cross-slice-data-value-item,.cross-slice-data-empty{font-family:JetBrains Mono,monospace;font-size:11px;color:var(--muted)}.cross-slice-issues-list{display:flex;flex-direction:column;gap:8px}.cross-slice-issues-empty{font-family:JetBrains Mono,monospace;font-size:11px;color:var(--muted)}.cross-slice-issue-item{border:1px solid var(--border);border-radius:8px;padding:8px;display:flex;flex-direction:column;font-family:JetBrains Mono,monospace;font-size:11px;gap:8px}.cross-slice-issue-code{color:var(--exc)}.cross-slice-issue-key{color:var(--muted)}.cross-slice-issue-fixes{display:flex;flex-wrap:wrap;gap:6px}.cross-slice-issue-fix{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:1px solid var(--border);border-radius:6px;background:transparent;color:var(--fg);font-family:JetBrains Mono,monospace;font-size:10px;padding:4px 6px;cursor:pointer}.cross-slice-trace-list{display:flex;flex-direction:column;gap:8px}.cross-slice-trace-key-section{border:1px solid var(--border);border-radius:8px}.cross-slice-trace-key-section.missing-source{background:#dc262614;border-color:#dc262659}.cross-slice-trace-key-toggle{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:transparent;border:none;color:var(--fg);width:100%;text-align:left;padding:8px;display:inline-flex;align-items:center;gap:8px;font-family:JetBrains Mono,monospace;font-size:11px;cursor:pointer}.cross-slice-trace-key-toggle-icon{display:inline-flex;align-items:center;justify-content:center;width:12px;height:12px;color:#8a8aa0;flex-shrink:0}.cross-slice-trace-key-toggle-icon svg{display:block}.cross-slice-trace-key-toggle:hover .cross-slice-trace-key-toggle-icon{color:#b8b8c7}.cross-slice-trace-key-toggle-label{min-width:0}.cross-slice-trace-key-values{border-top:1px solid var(--border);display:flex;flex-direction:column;gap:8px;padding:8px}.cross-slice-trace-issue-code{color:var(--exc);font-family:JetBrains Mono,monospace;font-size:11px;font-weight:700}.cross-slice-trace-hop.issue{border-left-color:var(--exc)}.cross-slice-trace-empty{font-family:JetBrains Mono,monospace;font-size:11px;color:var(--muted)}.cross-slice-trace-version{font-family:JetBrains Mono,monospace;font-size:10px;color:var(--fg);margin-bottom:8px}.cross-slice-trace-hops{display:flex;flex-direction:column;gap:6px;margin-bottom:8px}.cross-slice-trace-hop{font-family:JetBrains Mono,monospace;font-size:11px;border-left:3px solid var(--border);padding-left:8px}.cross-slice-trace-hop-node{color:var(--fg)}.cross-slice-trace-hop-sep,.cross-slice-trace-hop-key{color:var(--muted)}.cross-slice-trace-hop.cmd{border-left-color:var(--cmd)}.cross-slice-trace-hop.cmd .cross-slice-trace-hop-node{color:var(--cmd)}.cross-slice-trace-hop.evt{border-left-color:var(--evt)}.cross-slice-trace-hop.evt .cross-slice-trace-hop-node{color:var(--evt)}.cross-slice-trace-hop.rm{border-left-color:var(--rm)}.cross-slice-trace-hop.rm .cross-slice-trace-hop-node{color:var(--rm)}.cross-slice-trace-hop.ui{border-left-color:var(--ui)}.cross-slice-trace-hop.ui .cross-slice-trace-hop-node{color:var(--ui)}.cross-slice-trace-hop.exc{border-left-color:var(--exc)}.cross-slice-trace-hop.exc .cross-slice-trace-hop-node{color:var(--exc)}.cross-slice-trace-hop.aut{border-left-color:var(--aut)}.cross-slice-trace-hop.aut .cross-slice-trace-hop-node{color:var(--aut)}.cross-slice-trace-hop.ext{border-left-color:var(--ext)}.cross-slice-trace-hop.ext .cross-slice-trace-hop-node{color:var(--ext)}.cross-slice-trace-source{font-family:JetBrains Mono,monospace;font-size:11px;color:var(--muted);white-space:pre-wrap}.cross-slice-trace-contributor{border-top:1px solid var(--border);margin-top:8px;padding-top:6px}.cross-slice-trace-contributor-label{font-family:JetBrains Mono,monospace;font-size:11px;color:var(--muted);margin-bottom:4px}.node.trace-hovered{outline:2px solid var(--edge-highlight);outline-offset:1px}.command-palette{position:fixed;top:72px;left:50%;transform:translate(-50%);width:min(420px,calc(100vw - 24px));display:flex;flex-direction:column;gap:8px;padding:10px;border:1px solid var(--border);border-radius:10px;background:var(--surface);z-index:40}.command-palette-item{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:1px solid var(--border);border-radius:8px;background:transparent;color:var(--fg);font-family:JetBrains Mono,monospace;font-size:12px;padding:8px 10px;text-align:left;cursor:pointer}.docs-panel-inner{max-width:1160px;margin:0 auto;padding:22px;display:flex;flex-direction:column;gap:22px}.docs-intro h2{font-size:20px;line-height:1.1;margin-bottom:8px}.docs-intro p{font-family:JetBrains Mono,monospace;font-size:12px;color:var(--muted)}.doc-group{display:flex;flex-direction:column;gap:12px}.doc-group-header h3{font-size:15px;text-transform:uppercase;letter-spacing:.08em;margin-bottom:4px}.doc-group-header p{font-family:JetBrains Mono,monospace;font-size:11px;color:var(--muted)}.doc-feature-list{display:flex;flex-direction:column;gap:12px}.doc-feature-card{background:var(--surface);border:1px solid var(--border);border-radius:10px;padding:12px;display:flex;flex-direction:column;gap:10px;min-width:0}.doc-feature-header{display:flex;align-items:flex-start;gap:10px}.doc-feature-header h4{font-size:12px;text-transform:uppercase;letter-spacing:.06em;margin-bottom:4px}.doc-feature-header p{font-family:JetBrains Mono,monospace;font-size:10px;color:var(--muted)}.doc-feature-header .panel-action{margin-left:auto;flex-shrink:0}.doc-dsl{margin:0;background:color-mix(in srgb,var(--bg) 82%,var(--surface) 18%);border:1px solid var(--border);border-radius:8px;padding:10px;font-family:JetBrains Mono,monospace;font-size:11px;line-height:1.45;color:var(--text);overflow:auto;white-space:pre;position:relative}.doc-dsl-copy{position:absolute;top:8px;right:8px;z-index:2;display:inline-flex;align-items:center;background:color-mix(in srgb,var(--surface) 92%,var(--bg) 8%);border:1px solid var(--border);border-radius:4px;color:var(--muted);font-family:JetBrains Mono,monospace;font-size:10px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;padding:3px 8px;cursor:pointer;transition:border-color .15s,color .15s,background-color .15s}.doc-dsl-copy:hover{border-color:var(--panel-action-hover-border);background:var(--panel-action-hover-bg);color:var(--text)}.doc-feature-content{display:grid;grid-template-columns:minmax(320px,415px) minmax(0,1fr);gap:12px;align-items:start}.doc-diagram-shell{border:1px solid var(--border);border-radius:8px;background:color-mix(in srgb,var(--bg) 88%,var(--surface) 12%);overflow-x:hidden;overflow-y:auto;min-height:220px}.doc-diagram{position:relative}.doc-diagram .canvas-panel{border:0;background:transparent}.doc-diagram .canvas-world,.doc-diagram .canvas-camera-world{min-width:100%;min-height:100%}.doc-diagram .node{pointer-events:none}.doc-arrows{position:absolute;top:0;left:0;overflow:visible;pointer-events:none}.doc-render-error{font-family:JetBrains Mono,monospace;font-size:11px;color:var(--exc);background:var(--exc-bg);border:1px solid var(--exc-border);border-radius:6px;padding:8px 10px}@media (max-width: 1000px){.doc-feature-content{grid-template-columns:1fr}}.canvas-panel.panning{cursor:grabbing;-webkit-user-select:none;user-select:none}.canvas-ui-overlay{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:8}.camera-zoom-toolbar{position:absolute;right:max(14px,env(safe-area-inset-right));bottom:max(14px,env(safe-area-inset-bottom));display:inline-flex;align-items:center;gap:6px;padding:6px;border:1px solid color-mix(in srgb,var(--border) 78%,transparent);border-radius:10px;background:color-mix(in srgb,var(--surface) 66%,transparent);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);pointer-events:all}.camera-zoom-button{width:28px;height:28px;border:1px solid var(--border);border-radius:7px;background:color-mix(in srgb,var(--surface) 76%,var(--bg) 24%);color:var(--text);display:inline-flex;align-items:center;justify-content:center;cursor:pointer;padding:0}.camera-zoom-button:hover{border-color:var(--text)}.camera-zoom-button svg{width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.dsl-editor .cm-scroller::-webkit-scrollbar,.canvas-panel::-webkit-scrollbar,.docs-panel::-webkit-scrollbar,.doc-diagram-shell::-webkit-scrollbar,.doc-dsl::-webkit-scrollbar{width:10px;height:10px}.dsl-editor .cm-scroller::-webkit-scrollbar-track,.canvas-panel::-webkit-scrollbar-track,.docs-panel::-webkit-scrollbar-track,.doc-diagram-shell::-webkit-scrollbar-track,.doc-dsl::-webkit-scrollbar-track{background:var(--scrollbar-track)}.dsl-editor .cm-scroller::-webkit-scrollbar-thumb,.canvas-panel::-webkit-scrollbar-thumb,.docs-panel::-webkit-scrollbar-thumb,.doc-diagram-shell::-webkit-scrollbar-thumb,.doc-dsl::-webkit-scrollbar-thumb{background:var(--scrollbar-thumb);border-radius:999px;border:2px solid var(--scrollbar-track)}.dsl-editor .cm-scroller::-webkit-scrollbar-thumb:hover,.canvas-panel::-webkit-scrollbar-thumb:hover,.docs-panel::-webkit-scrollbar-thumb:hover,.doc-diagram-shell::-webkit-scrollbar-thumb:hover,.doc-dsl::-webkit-scrollbar-thumb:hover{background:var(--scrollbar-thumb-hover)}.dsl-editor .cm-scroller::-webkit-scrollbar-thumb:active,.canvas-panel::-webkit-scrollbar-thumb:active,.docs-panel::-webkit-scrollbar-thumb:active,.doc-diagram-shell::-webkit-scrollbar-thumb:active,.doc-dsl::-webkit-scrollbar-thumb:active{background:var(--scrollbar-thumb-active)}.dsl-editor .cm-scroller::-webkit-scrollbar-corner,.canvas-panel::-webkit-scrollbar-corner,.docs-panel::-webkit-scrollbar-corner,.doc-diagram-shell::-webkit-scrollbar-corner,.doc-dsl::-webkit-scrollbar-corner{background:var(--scrollbar-track)}#canvas{position:relative}.canvas-world{position:relative;width:100%;height:100%;transform-origin:0 0}.drag-tooltip{position:fixed;z-index:1200;pointer-events:none;padding:4px 8px;border-radius:6px;border:1px solid var(--border);background:color-mix(in srgb,var(--surface) 94%,black 6%);color:var(--text);font-family:JetBrains Mono,monospace;font-size:11px;line-height:1.2;white-space:nowrap;box-shadow:0 4px 14px #0000002e}.lane-band{position:absolute;left:0;width:100%;border-top:1px solid var(--lane-divider);pointer-events:none}.lane-stream-label{position:absolute;font-size:10px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);opacity:.55;pointer-events:none}.slice-divider{position:absolute;top:0;width:0;border-left:2px dashed var(--slice-divider);opacity:.95;pointer-events:none}.node-measure-layer{position:fixed;left:-10000px;top:-10000px;visibility:hidden;pointer-events:none;z-index:-1}.node-measure{position:static;height:auto;left:auto;top:auto;margin:0}.node-measure-box{position:static;border-radius:6px;padding:8px 14px 10px;font-family:JetBrains Mono,monospace;font-size:12px;font-weight:600;white-space:normal;display:flex;flex-direction:column;gap:0;border:1px solid transparent;min-width:var(--node-width-min);max-width:var(--node-width-max);overflow:clip}.node-measure-header{display:flex;align-items:flex-start;gap:8px;white-space:normal;line-height:1.25}.node-measure-prefix{font-size:10px;font-weight:400;opacity:.5;letter-spacing:.04em;flex:0 0 auto}.node-measure-title{flex:1 1 auto;min-width:0;overflow-wrap:anywhere;word-break:break-word}.node-measure-fields{margin-top:5px;padding-top:4px;border-top:1px solid var(--node-fields-divider);display:flex;flex-direction:column;gap:0}.node-measure-field{font-size:10px;font-weight:400;display:block;line-height:1.6}.node-measure-field-lines{display:flex;flex-direction:column}.node-measure-field-line{white-space:pre}.node{position:absolute;border-radius:6px;padding:8px 14px 10px;font-family:JetBrains Mono,monospace;font-size:12px;font-weight:600;white-space:normal;display:flex;flex-direction:column;gap:0;border:1px solid;transition:box-shadow .15s;cursor:default;-webkit-user-select:none;user-select:none;overflow:clip;min-width:var(--node-width-min);max-width:var(--node-width-max)}.node-header{display:flex;align-items:flex-start;gap:8px;white-space:normal;line-height:1.25}.node-prefix{font-size:10px;font-weight:400;opacity:.5;letter-spacing:.04em;flex:0 0 auto}.node-title{flex:1 1 auto;min-width:0;overflow-wrap:anywhere;word-break:break-word}.node-fields{margin-top:5px;padding-top:4px;border-top:1px solid var(--node-fields-divider);display:flex;flex-direction:column;gap:0}.node-field{font-size:10px;font-weight:400;display:block;line-height:1.6}.node-field.mapped .node-field-key{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:2px}.node.ui .node-field.ui-mapped-inbound .node-field-line:not(.missing) .node-field-val{background-image:var(--ui-inbound-data-background);border-color:var(--rm);border-radius:4px}.node.ui .node-field.ui-mapped-outbound .node-field-line:not(.missing) .node-field-val{background-image:var(--ui-outbound-data-background);border-color:var(--cmd);border-radius:4px}.node.ui .node-field.ui-mapped-both .node-field-line:not(.missing) .node-field-val{background-image:var(--ui-data-inbound-and-outbound-background);border-color:var(--ui);border-radius:4px}.node-field-lines{display:flex;flex-direction:column}.node-field-line{white-space:pre}.node-field-val{color:var(--node-field-value);font-weight:500;padding-left:2px;padding-right:2px}.node-field-key{color:var(--node-field-key)}.node-field-colon{color:var(--node-field-key);margin-left:.1rem;margin-right:.1rem}.node-field-line.missing .node-field-key,.node-field-line.missing .node-field-colon,.node-field-line.missing .node-field-val{color:var(--node-field-missing)}.node.rm{background:var(--rm-bg);border-color:var(--rm-border);color:var(--rm)}.node.cmd{background:var(--cmd-bg);border-color:var(--cmd-border);color:var(--cmd)}.node.evt{background:var(--evt-bg);border-color:var(--evt-border);color:var(--evt)}.node.exc{background:var(--exc-bg);border-color:var(--exc-border);color:var(--exc)}.node.ui{background:var(--ui-bg);border-color:var(--ui-border);color:var(--ui-color)}:root[data-theme=light] .node.ui .node-prefix{color:#111827b3;opacity:1}:root[data-theme=light] .node.ui .node-fields{border-top-color:#1118272e}:root[data-theme=light] .node.ui .node-field-key{color:#111827b3}:root[data-theme=light] .node.ui .node-field-val{color:#111827eb}:root[data-theme=light] .node.ui .node-field-line.missing .node-field-key,:root[data-theme=light] .node.ui .node-field-line.missing .node-field-val{color:var(--node-field-missing)}.node.aut{background:var(--aut-bg);border-color:var(--aut-border);color:var(--aut-color)}.node.ext{background:var(--ext-bg);border-color:var(--ext-border);color:var(--ext)}.node.generic{background:var(--generic-bg);border-color:var(--generic-border);color:var(--generic)}.node.rm:hover{box-shadow:var(--node-shadow-rm)}.node.cmd:hover{box-shadow:var(--node-shadow-cmd)}.node.evt:hover{box-shadow:var(--node-shadow-evt)}.node.exc:hover{box-shadow:var(--node-shadow-exc)}.node.ui:hover,.node.highlighted,.node.selected,.node.related{box-shadow:var(--node-shadow-ui)}.node.aut:hover,.node.aut.highlighted,.node.aut.selected,.node.aut.related{box-shadow:var(--node-shadow-aut)}.node.ext:hover,.node.ext.highlighted,.node.ext.selected,.node.ext.related{box-shadow:var(--node-shadow-ext)}.node.generic:hover,.node.generic.highlighted,.node.generic.selected,.node.generic.related{box-shadow:var(--node-shadow-generic)}.node.rm.highlighted,.node.rm.selected,.node.rm.related{box-shadow:var(--node-shadow-rm)}.node.cmd.highlighted,.node.cmd.selected,.node.cmd.related{box-shadow:var(--node-shadow-cmd)}.node.evt.highlighted,.node.evt.selected,.node.evt.related{box-shadow:var(--node-shadow-evt)}.node.exc.highlighted,.node.exc.selected,.node.exc.related{box-shadow:var(--node-shadow-exc)}#arrows{position:absolute;top:0;left:0;pointer-events:none;overflow:visible}.edge-segment-handle{stroke:transparent;stroke-width:12;pointer-events:all;cursor:grab}.edge-segment-handle:active{cursor:grabbing}.arrow-path{fill:none;stroke:var(--arrow);stroke-width:1.5;pointer-events:none;transition:stroke .15s,stroke-width .15s}g.related .arrow-path{stroke:var(--edge-highlight);filter:drop-shadow(0 0 3px var(--edge-highlight-glow))}.edge-hover-target{fill:none;stroke:transparent;stroke-width:14;pointer-events:stroke;cursor:pointer}.arrow-label{font-family:JetBrains Mono,monospace;font-size:10px;fill:var(--muted);pointer-events:none}.slice-title{position:absolute;font-size:11px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);opacity:.6}.scenario-area{position:absolute;left:0;display:flex;align-items:flex-start;gap:16px;flex-wrap:nowrap;padding-bottom:24px}.scenario-box{border:1px solid var(--border);border-radius:10px;padding:12px 14px;background:color-mix(in srgb,var(--surface) 90%,black 10%);font-family:JetBrains Mono,monospace;font-size:11px}.scenario-title{font-size:12px;font-weight:700;color:var(--text);margin-bottom:10px}.scenario-section{margin-top:8px;display:flex;flex-direction:column;gap:8px}.scenario-section-label{text-transform:uppercase;letter-spacing:.08em;font-size:10px;font-weight:700;color:var(--muted);margin-bottom:4px}.scenario-node-card.node{position:static;width:auto;height:auto;padding:8px 10px 9px}
