.react-flow{direction:ltr;--xy-edge-stroke-default: #b1b1b7;--xy-edge-stroke-width-default: 1;--xy-edge-stroke-selected-default: #555;--xy-connectionline-stroke-default: #b1b1b7;--xy-connectionline-stroke-width-default: 1;--xy-attribution-background-color-default: rgba(255, 255, 255, .5);--xy-minimap-background-color-default: #fff;--xy-minimap-mask-background-color-default: rgba(240, 240, 240, .6);--xy-minimap-mask-stroke-color-default: transparent;--xy-minimap-mask-stroke-width-default: 1;--xy-minimap-node-background-color-default: #e2e2e2;--xy-minimap-node-stroke-color-default: transparent;--xy-minimap-node-stroke-width-default: 2;--xy-background-color-default: transparent;--xy-background-pattern-dots-color-default: #91919a;--xy-background-pattern-lines-color-default: #eee;--xy-background-pattern-cross-color-default: #e2e2e2;background-color:var(--xy-background-color, var(--xy-background-color-default));--xy-node-color-default: inherit;--xy-node-border-default: 1px solid #1a192b;--xy-node-background-color-default: #fff;--xy-node-group-background-color-default: rgba(240, 240, 240, .25);--xy-node-boxshadow-hover-default: 0 1px 4px 1px rgba(0, 0, 0, .08);--xy-node-boxshadow-selected-default: 0 0 0 .5px #1a192b;--xy-node-border-radius-default: 3px;--xy-handle-background-color-default: #1a192b;--xy-handle-border-color-default: #fff;--xy-selection-background-color-default: rgba(0, 89, 220, .08);--xy-selection-border-default: 1px dotted rgba(0, 89, 220, .8);--xy-controls-button-background-color-default: #fefefe;--xy-controls-button-background-color-hover-default: #f4f4f4;--xy-controls-button-color-default: inherit;--xy-controls-button-color-hover-default: inherit;--xy-controls-button-border-color-default: #eee;--xy-controls-box-shadow-default: 0 0 2px 1px rgba(0, 0, 0, .08);--xy-edge-label-background-color-default: #ffffff;--xy-edge-label-color-default: inherit;--xy-resize-background-color-default: #3367d9}.react-flow.dark{--xy-edge-stroke-default: #3e3e3e;--xy-edge-stroke-width-default: 1;--xy-edge-stroke-selected-default: #727272;--xy-connectionline-stroke-default: #b1b1b7;--xy-connectionline-stroke-width-default: 1;--xy-attribution-background-color-default: rgba(150, 150, 150, .25);--xy-minimap-background-color-default: #141414;--xy-minimap-mask-background-color-default: rgba(60, 60, 60, .6);--xy-minimap-mask-stroke-color-default: transparent;--xy-minimap-mask-stroke-width-default: 1;--xy-minimap-node-background-color-default: #2b2b2b;--xy-minimap-node-stroke-color-default: transparent;--xy-minimap-node-stroke-width-default: 2;--xy-background-color-default: #141414;--xy-background-pattern-dots-color-default: #777;--xy-background-pattern-lines-color-default: #777;--xy-background-pattern-cross-color-default: #777;--xy-node-color-default: #f8f8f8;--xy-node-border-default: 1px solid #3c3c3c;--xy-node-background-color-default: #1e1e1e;--xy-node-group-background-color-default: rgba(240, 240, 240, .25);--xy-node-boxshadow-hover-default: 0 1px 4px 1px rgba(255, 255, 255, .08);--xy-node-boxshadow-selected-default: 0 0 0 .5px #999;--xy-handle-background-color-default: #bebebe;--xy-handle-border-color-default: #1e1e1e;--xy-selection-background-color-default: rgba(200, 200, 220, .08);--xy-selection-border-default: 1px dotted rgba(200, 200, 220, .8);--xy-controls-button-background-color-default: #2b2b2b;--xy-controls-button-background-color-hover-default: #3e3e3e;--xy-controls-button-color-default: #f8f8f8;--xy-controls-button-color-hover-default: #fff;--xy-controls-button-border-color-default: #5b5b5b;--xy-controls-box-shadow-default: 0 0 2px 1px rgba(0, 0, 0, .08);--xy-edge-label-background-color-default: #141414;--xy-edge-label-color-default: #f8f8f8}.react-flow__background{background-color:var(--xy-background-color-props, var(--xy-background-color, var(--xy-background-color-default)));pointer-events:none;z-index:-1}.react-flow__container{position:absolute;width:100%;height:100%;top:0;left:0}.react-flow__pane{z-index:1}.react-flow__pane.draggable{cursor:grab}.react-flow__pane.dragging{cursor:grabbing}.react-flow__pane.selection{cursor:pointer}.react-flow__viewport{transform-origin:0 0;z-index:2;pointer-events:none}.react-flow__renderer{z-index:4}.react-flow__selection{z-index:6}.react-flow__nodesselection-rect:focus,.react-flow__nodesselection-rect:focus-visible{outline:none}.react-flow__edge-path{stroke:var(--xy-edge-stroke, var(--xy-edge-stroke-default));stroke-width:var(--xy-edge-stroke-width, var(--xy-edge-stroke-width-default));fill:none}.react-flow__connection-path{stroke:var(--xy-connectionline-stroke, var(--xy-connectionline-stroke-default));stroke-width:var(--xy-connectionline-stroke-width, var(--xy-connectionline-stroke-width-default));fill:none}.react-flow .react-flow__edges{position:absolute}.react-flow .react-flow__edges svg{overflow:visible;position:absolute;pointer-events:none}.react-flow__edge{pointer-events:visibleStroke}.react-flow__edge.selectable{cursor:pointer}.react-flow__edge.animated path{stroke-dasharray:5;animation:dashdraw .5s linear infinite}.react-flow__edge.animated path.react-flow__edge-interaction{stroke-dasharray:none;animation:none}.react-flow__edge.inactive{pointer-events:none}.react-flow__edge.selected,.react-flow__edge:focus,.react-flow__edge:focus-visible{outline:none}.react-flow__edge.selected .react-flow__edge-path,.react-flow__edge.selectable:focus .react-flow__edge-path,.react-flow__edge.selectable:focus-visible .react-flow__edge-path{stroke:var(--xy-edge-stroke-selected, var(--xy-edge-stroke-selected-default))}.react-flow__edge-textwrapper{pointer-events:all}.react-flow__edge .react-flow__edge-text{pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}.react-flow__arrowhead polyline{stroke:var(--xy-edge-stroke, var(--xy-edge-stroke-default))}.react-flow__arrowhead polyline.arrowclosed{fill:var(--xy-edge-stroke, var(--xy-edge-stroke-default))}.react-flow__connection{pointer-events:none}.react-flow__connection .animated{stroke-dasharray:5;animation:dashdraw .5s linear infinite}svg.react-flow__connectionline{z-index:1001;overflow:visible;position:absolute}.react-flow__nodes{pointer-events:none;transform-origin:0 0}.react-flow__node{position:absolute;-webkit-user-select:none;-moz-user-select:none;user-select:none;pointer-events:all;transform-origin:0 0;box-sizing:border-box;cursor:default}.react-flow__node.selectable{cursor:pointer}.react-flow__node.draggable{cursor:grab;pointer-events:all}.react-flow__node.draggable.dragging{cursor:grabbing}.react-flow__nodesselection{z-index:3;transform-origin:left top;pointer-events:none}.react-flow__nodesselection-rect{position:absolute;pointer-events:all;cursor:grab}.react-flow__handle{position:absolute;pointer-events:none;min-width:5px;min-height:5px;width:6px;height:6px;background-color:var(--xy-handle-background-color, var(--xy-handle-background-color-default));border:1px solid var(--xy-handle-border-color, var(--xy-handle-border-color-default));border-radius:100%}.react-flow__handle.connectingfrom{pointer-events:all}.react-flow__handle.connectionindicator{pointer-events:all;cursor:crosshair}.react-flow__handle-bottom{top:auto;left:50%;bottom:0;transform:translate(-50%,50%)}.react-flow__handle-top{top:0;left:50%;transform:translate(-50%,-50%)}.react-flow__handle-left{top:50%;left:0;transform:translate(-50%,-50%)}.react-flow__handle-right{top:50%;right:0;transform:translate(50%,-50%)}.react-flow__edgeupdater{cursor:move;pointer-events:all}.react-flow__pane.selection .react-flow__panel{pointer-events:none}.react-flow__panel{position:absolute;z-index:5;margin:15px}.react-flow__panel.top{top:0}.react-flow__panel.bottom{bottom:0}.react-flow__panel.top.center,.react-flow__panel.bottom.center{left:50%;transform:translate(-15px) translate(-50%)}.react-flow__panel.left{left:0}.react-flow__panel.right{right:0}.react-flow__panel.left.center,.react-flow__panel.right.center{top:50%;transform:translateY(-15px) translateY(-50%)}.react-flow__attribution{font-size:10px;background:var(--xy-attribution-background-color, var(--xy-attribution-background-color-default));padding:2px 3px;margin:0}.react-flow__attribution a{text-decoration:none;color:#999}@keyframes dashdraw{0%{stroke-dashoffset:10}}.react-flow__edgelabel-renderer{position:absolute;width:100%;height:100%;pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none;left:0;top:0}.react-flow__viewport-portal{position:absolute;width:100%;height:100%;left:0;top:0;-webkit-user-select:none;-moz-user-select:none;user-select:none}.react-flow__minimap{background:var( --xy-minimap-background-color-props, var(--xy-minimap-background-color, var(--xy-minimap-background-color-default)) )}.react-flow__minimap-svg{display:block}.react-flow__minimap-mask{fill:var( --xy-minimap-mask-background-color-props, var(--xy-minimap-mask-background-color, var(--xy-minimap-mask-background-color-default)) );stroke:var( --xy-minimap-mask-stroke-color-props, var(--xy-minimap-mask-stroke-color, var(--xy-minimap-mask-stroke-color-default)) );stroke-width:var( --xy-minimap-mask-stroke-width-props, var(--xy-minimap-mask-stroke-width, var(--xy-minimap-mask-stroke-width-default)) )}.react-flow__minimap-node{fill:var( --xy-minimap-node-background-color-props, var(--xy-minimap-node-background-color, var(--xy-minimap-node-background-color-default)) );stroke:var( --xy-minimap-node-stroke-color-props, var(--xy-minimap-node-stroke-color, var(--xy-minimap-node-stroke-color-default)) );stroke-width:var( --xy-minimap-node-stroke-width-props, var(--xy-minimap-node-stroke-width, var(--xy-minimap-node-stroke-width-default)) )}.react-flow__background-pattern.dots{fill:var( --xy-background-pattern-color-props, var(--xy-background-pattern-color, var(--xy-background-pattern-dots-color-default)) )}.react-flow__background-pattern.lines{stroke:var( --xy-background-pattern-color-props, var(--xy-background-pattern-color, var(--xy-background-pattern-lines-color-default)) )}.react-flow__background-pattern.cross{stroke:var( --xy-background-pattern-color-props, var(--xy-background-pattern-color, var(--xy-background-pattern-cross-color-default)) )}.react-flow__controls{display:flex;flex-direction:column;box-shadow:var(--xy-controls-box-shadow, var(--xy-controls-box-shadow-default))}.react-flow__controls.horizontal{flex-direction:row}.react-flow__controls-button{display:flex;justify-content:center;align-items:center;height:26px;width:26px;padding:4px;border:none;background:var(--xy-controls-button-background-color, var(--xy-controls-button-background-color-default));border-bottom:1px solid var( --xy-controls-button-border-color-props, var(--xy-controls-button-border-color, var(--xy-controls-button-border-color-default)) );color:var( --xy-controls-button-color-props, var(--xy-controls-button-color, var(--xy-controls-button-color-default)) );cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none}.react-flow__controls-button svg{width:100%;max-width:12px;max-height:12px;fill:currentColor}.react-flow__edge.updating .react-flow__edge-path{stroke:#777}.react-flow__edge-text{font-size:10px}.react-flow__node.selectable:focus,.react-flow__node.selectable:focus-visible{outline:none}.react-flow__node-input,.react-flow__node-default,.react-flow__node-output,.react-flow__node-group{padding:10px;border-radius:var(--xy-node-border-radius, var(--xy-node-border-radius-default));width:150px;font-size:12px;color:var(--xy-node-color, var(--xy-node-color-default));text-align:center;border:var(--xy-node-border, var(--xy-node-border-default));background-color:var(--xy-node-background-color, var(--xy-node-background-color-default))}.react-flow__node-input.selectable:hover,.react-flow__node-default.selectable:hover,.react-flow__node-output.selectable:hover,.react-flow__node-group.selectable:hover{box-shadow:var(--xy-node-boxshadow-hover, var(--xy-node-boxshadow-hover-default))}.react-flow__node-input.selectable.selected,.react-flow__node-input.selectable:focus,.react-flow__node-input.selectable:focus-visible,.react-flow__node-default.selectable.selected,.react-flow__node-default.selectable:focus,.react-flow__node-default.selectable:focus-visible,.react-flow__node-output.selectable.selected,.react-flow__node-output.selectable:focus,.react-flow__node-output.selectable:focus-visible,.react-flow__node-group.selectable.selected,.react-flow__node-group.selectable:focus,.react-flow__node-group.selectable:focus-visible{box-shadow:var(--xy-node-boxshadow-selected, var(--xy-node-boxshadow-selected-default))}.react-flow__node-group{background-color:var(--xy-node-group-background-color, var(--xy-node-group-background-color-default))}.react-flow__nodesselection-rect,.react-flow__selection{background:var(--xy-selection-background-color, var(--xy-selection-background-color-default));border:var(--xy-selection-border, var(--xy-selection-border-default))}.react-flow__nodesselection-rect:focus,.react-flow__nodesselection-rect:focus-visible,.react-flow__selection:focus,.react-flow__selection:focus-visible{outline:none}.react-flow__controls-button:hover{background:var( --xy-controls-button-background-color-hover-props, var(--xy-controls-button-background-color-hover, var(--xy-controls-button-background-color-hover-default)) );color:var( --xy-controls-button-color-hover-props, var(--xy-controls-button-color-hover, var(--xy-controls-button-color-hover-default)) )}.react-flow__controls-button:disabled{pointer-events:none}.react-flow__controls-button:disabled svg{fill-opacity:.4}.react-flow__controls-button:last-child{border-bottom:none}.react-flow__controls.horizontal .react-flow__controls-button{border-bottom:none;border-right:1px solid var( --xy-controls-button-border-color-props, var(--xy-controls-button-border-color, var(--xy-controls-button-border-color-default)) )}.react-flow__controls.horizontal .react-flow__controls-button:last-child{border-right:none}.react-flow__resize-control{position:absolute}.react-flow__resize-control.left,.react-flow__resize-control.right{cursor:ew-resize}.react-flow__resize-control.top,.react-flow__resize-control.bottom{cursor:ns-resize}.react-flow__resize-control.top.left,.react-flow__resize-control.bottom.right{cursor:nwse-resize}.react-flow__resize-control.bottom.left,.react-flow__resize-control.top.right{cursor:nesw-resize}.react-flow__resize-control.handle{width:5px;height:5px;border:1px solid #fff;border-radius:1px;background-color:var(--xy-resize-background-color, var(--xy-resize-background-color-default));translate:-50% -50%}.react-flow__resize-control.handle.left{left:0;top:50%}.react-flow__resize-control.handle.right{left:100%;top:50%}.react-flow__resize-control.handle.top{left:50%;top:0}.react-flow__resize-control.handle.bottom{left:50%;top:100%}.react-flow__resize-control.handle.top.left,.react-flow__resize-control.handle.bottom.left{left:0}.react-flow__resize-control.handle.top.right,.react-flow__resize-control.handle.bottom.right{left:100%}.react-flow__resize-control.line{border-color:var(--xy-resize-background-color, var(--xy-resize-background-color-default));border-width:0;border-style:solid}.react-flow__resize-control.line.left,.react-flow__resize-control.line.right{width:1px;transform:translate(-50%);top:0;height:100%}.react-flow__resize-control.line.left{left:0;border-left-width:1px}.react-flow__resize-control.line.right{left:100%;border-right-width:1px}.react-flow__resize-control.line.top,.react-flow__resize-control.line.bottom{height:1px;transform:translateY(-50%);left:0;width:100%}.react-flow__resize-control.line.top{top:0;border-top-width:1px}.react-flow__resize-control.line.bottom{border-bottom-width:1px;top:100%}.react-flow__edge-textbg{fill:var(--xy-edge-label-background-color, var(--xy-edge-label-background-color-default))}.react-flow__edge-text{fill:var(--xy-edge-label-color, var(--xy-edge-label-color-default))}:root{--bg-primary: #f0f2f5;--bg-secondary: #ffffff;--bg-card: #f8f9fb;--bg-card-hover: #eef1f6;--bg-input: #ffffff;--border: #d8dde6;--border-focus: #3b82f6;--text-primary: #1a202c;--text-secondary: #4a5568;--text-muted: #94a3b8;--accent-teal: #0d9488;--accent-purple: #7c3aed;--accent-orange: #ea580c;--accent-blue: #2563eb;--accent-pink: #db2777;--accent-green: #059669;--accent-red: #dc2626;--accent-yellow: #d97706;--shadow: 0 4px 24px rgba(0, 0, 0, .06);--radius: 10px;--radius-sm: 6px}*,*:before,*:after{margin:0;padding:0;box-sizing:border-box}body{font-family:Inter,-apple-system,BlinkMacSystemFont,sans-serif;background:var(--bg-primary);color:var(--text-primary);min-height:100vh;overflow-x:hidden}#root{min-height:100vh}.grid-bg{position:fixed;top:0;right:0;bottom:0;left:0;z-index:0;pointer-events:none;background-image:radial-gradient(ellipse 600px 400px at 20% 30%,rgba(13,148,136,.05),transparent),radial-gradient(ellipse 500px 350px at 80% 70%,rgba(124,58,237,.04),transparent),linear-gradient(rgba(0,0,0,.04) 1px,transparent 1px),linear-gradient(90deg,rgba(0,0,0,.04) 1px,transparent 1px);background-size:100% 100%,100% 100%,40px 40px,40px 40px}.login-view{position:relative;z-index:1;min-height:100vh;display:flex;align-items:center;justify-content:center;flex-direction:column;padding:20px}.login-container{background:var(--bg-secondary);border:1px solid var(--border);border-radius:16px;padding:48px 40px;max-width:420px;width:100%;box-shadow:var(--shadow);animation:fadeSlideUp .5s ease}@keyframes fadeSlideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.login-logo{text-align:center;margin-bottom:36px}.login-logo h1{font-family:JetBrains Mono,monospace;font-size:2.4rem;font-weight:700;letter-spacing:4px;background:linear-gradient(135deg,#0d9488,#7c3aed);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.login-logo p{color:var(--text-muted);font-size:.85rem;margin-top:6px;letter-spacing:1px;text-transform:uppercase}.app-version{display:inline-block;font-size:11px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;color:#94a3b8;margin-top:6px;margin-left:8px;padding:1px 6px;border-radius:4px;background:#94a3b81f;letter-spacing:.3px;cursor:help}.app-version-sha{opacity:.65;font-size:10px;margin-left:2px}.kbd-shortcuts-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#0f172a73;display:flex;align-items:center;justify-content:center;z-index:9999}.kbd-shortcuts-panel{background:#fff;border-radius:10px;width:min(880px,92vw);max-height:84vh;display:flex;flex-direction:column;box-shadow:0 24px 60px #0f172a40;font-size:13px;color:#1f2937;overflow:hidden}.kbd-shortcuts-header{display:flex;align-items:flex-start;gap:16px;padding:16px 20px 14px;border-bottom:1px solid #f1f5f9}.kbd-shortcuts-header>div:first-child{flex:1;min-width:0}.kbd-shortcuts-title{margin:0 0 2px;font-size:16px;font-weight:600;color:#0f172a}.kbd-shortcuts-sub{margin:0;font-size:12px;color:#64748b}.kbd-shortcuts-search{display:flex;align-items:center;gap:6px;padding:6px 10px;border:1px solid #cbd5e1;border-radius:8px;background:#fff;min-width:240px;color:#64748b}.kbd-shortcuts-search:focus-within{border-color:#0ea5e9;box-shadow:0 0 0 3px #0ea5e926}.kbd-shortcuts-search input{flex:1;border:none;outline:none;font-size:13px;background:transparent;color:#0f172a;min-width:0}.kbd-shortcuts-close{background:none;border:none;font-size:22px;line-height:1;color:#64748b;cursor:pointer;padding:0 4px}.kbd-shortcuts-close:hover{color:#0f172a}.kbd-shortcuts-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px 32px;padding:18px 20px 22px;overflow-y:auto}@media(max-width:720px){.kbd-shortcuts-grid{grid-template-columns:1fr}}.kbd-shortcuts-section{min-width:0}.kbd-shortcuts-section-title{margin:0 0 8px;font-size:11px;font-weight:600;letter-spacing:.6px;text-transform:uppercase;color:#94a3b8}.kbd-shortcuts-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column}.kbd-shortcuts-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 0;border-bottom:1px solid #f1f5f9}.kbd-shortcuts-row:last-child{border-bottom:none}.kbd-shortcuts-row-label{color:#1f2937}.kbd-shortcuts-row-keys{display:flex;align-items:center;gap:4px;flex-shrink:0}.kbd-shortcuts-key-wrap{display:inline-flex;align-items:center;gap:4px}.kbd-shortcuts-plus{color:#94a3b8;font-size:11px}.kbd-shortcuts-key{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:11px;padding:3px 8px;border:1px solid #cbd5e1;border-bottom-width:2px;border-radius:5px;background:#fff;color:#1f2937;min-width:24px;text-align:center}.kbd-shortcuts-mouse{font-size:11px;padding:3px 8px;border-radius:5px;background:#f1f5f9;color:#475569}.kbd-shortcuts-empty{grid-column:1 / -1;text-align:center;color:#64748b;padding:30px 0;font-size:13px}.lobby-header .app-version{margin-top:0;vertical-align:middle}.form-group{margin-bottom:24px}.form-label{display:block;font-size:.8rem;font-weight:500;color:var(--text-secondary);margin-bottom:8px;text-transform:uppercase;letter-spacing:.5px}.form-input{width:100%;padding:12px 16px;background:var(--bg-input);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text-primary);font-size:.95rem;font-family:inherit;transition:border-color .2s,box-shadow .2s;outline:none}.form-input:focus{border-color:var(--accent-teal);box-shadow:0 0 0 3px #0d94881f}.form-input::placeholder{color:var(--text-muted)}.color-picker{display:flex;gap:10px;flex-wrap:wrap}.color-swatch{width:36px;height:36px;border-radius:50%;border:2px solid transparent;cursor:pointer;transition:transform .15s,border-color .2s,box-shadow .2s;position:relative}.color-swatch:hover{transform:scale(1.15)}.color-swatch.selected{border-color:#1a202c;box-shadow:0 0 0 3px #0000001a}.color-swatch.selected:after{content:"✓";position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;font-size:14px;font-weight:700;color:#fff;text-shadow:0 1px 2px rgba(0,0,0,.5)}.avatar-picker{display:flex;gap:10px;flex-wrap:wrap}.avatar-icon{width:44px;height:44px;border-radius:var(--radius-sm);background:var(--bg-input);border:2px solid var(--border);display:flex;align-items:center;justify-content:center;font-size:20px;cursor:pointer;transition:border-color .2s,transform .15s,background .2s}.avatar-icon:hover{transform:scale(1.1);background:var(--bg-card)}.avatar-icon.selected{border-color:var(--accent-teal);background:#2dd4bf1a}.btn-primary{width:100%;padding:14px;background:linear-gradient(135deg,#0d9488,#0f766e);border:none;border-radius:var(--radius-sm);color:#fff;font-size:.95rem;font-weight:600;cursor:pointer;transition:transform .15s,box-shadow .2s,opacity .2s;font-family:inherit;letter-spacing:.3px}.btn-primary:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 6px 20px #0d94884d}.btn-primary:active:not(:disabled){transform:translateY(0)}.btn-primary:disabled{opacity:.5;cursor:not-allowed}.lobby-view{position:relative;z-index:1;min-height:100vh;display:flex;flex-direction:column}.lobby-header{background:var(--bg-secondary);border-bottom:1px solid var(--border);padding:14px 24px;display:flex;align-items:center;justify-content:space-between;position:sticky;top:0;z-index:10;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.header-left{display:flex;align-items:center;gap:16px}.header-title{font-family:JetBrains Mono,monospace;font-size:1.3rem;font-weight:700;letter-spacing:3px;background:linear-gradient(135deg,#0d9488,#7c3aed);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.header-user{display:flex;align-items:center;gap:10px}.user-avatar{width:34px;height:34px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:16px;font-weight:600;color:#fff}.user-name{font-size:.9rem;font-weight:500;color:var(--text-secondary)}.btn-logout{padding:6px 12px;border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--bg-input);color:var(--text-muted);font-size:.75rem;font-family:inherit;cursor:pointer;transition:border-color .2s,color .2s}.btn-logout:hover{border-color:var(--accent-red);color:var(--accent-red)}.lobby-content{flex:1;max-width:960px;width:100%;margin:0 auto;padding:24px 20px 40px}.controls-bar{display:flex;gap:12px;margin-bottom:20px;flex-wrap:wrap;align-items:center}.search-box{flex:1;min-width:200px;position:relative}.search-box input{width:100%;padding:10px 14px 10px 38px;background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text-primary);font-size:.88rem;font-family:inherit;outline:none;transition:border-color .2s}.search-box input:focus{border-color:var(--accent-teal)}.search-box input::placeholder{color:var(--text-muted)}.search-box .search-icon{position:absolute;left:12px;top:50%;transform:translateY(-50%);color:var(--text-muted);font-size:14px;pointer-events:none}.sort-select{padding:10px 14px;background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text-secondary);font-size:.85rem;font-family:inherit;cursor:pointer;outline:none}.btn-create{padding:10px 20px;background:linear-gradient(135deg,#0d9488,#0f766e);border:none;border-radius:var(--radius-sm);color:#fff;font-size:.88rem;font-weight:600;cursor:pointer;font-family:inherit;transition:transform .15s,box-shadow .2s;white-space:nowrap}.btn-create:hover{transform:translateY(-1px);box-shadow:0 4px 16px #0d94884d}.tag-filter{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:20px}.tag-chip{padding:5px 14px;border-radius:20px;font-size:.78rem;font-weight:500;cursor:pointer;border:1px solid;transition:all .2s;opacity:.7;font-family:inherit;background:none}.tag-chip:hover,.tag-chip.active{opacity:1;transform:scale(1.05)}.tag-chip.active{box-shadow:0 0 8px #ffffff1a}.section-title{font-size:.78rem;font-weight:600;text-transform:uppercase;letter-spacing:1px;color:var(--text-muted);margin-bottom:12px;display:flex;align-items:center;gap:8px}.section-title .count{background:var(--bg-card);padding:2px 8px;border-radius:10px;font-size:.72rem;color:var(--text-secondary)}.section-title-btn{border:none;background:none;cursor:pointer;font-family:inherit}.collapse-arrow{font-size:.65rem;transition:transform .2s;margin-left:4px}.collapse-arrow.collapsed{transform:rotate(-90deg)}.room-section{margin-bottom:32px}.room-list{display:flex;flex-direction:column;gap:8px}.room-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);padding:16px 20px;cursor:pointer;transition:background .2s,border-color .2s,transform .15s;display:flex;align-items:flex-start;gap:16px;position:relative;animation:fadeIn .3s ease}@keyframes fadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.room-card:hover{background:var(--bg-card-hover);border-color:#0d948866;transform:translate(3px)}.room-card .fav-btn{position:absolute;top:14px;right:16px;background:none;border:none;cursor:pointer;font-size:16px;opacity:.4;transition:opacity .2s,transform .15s;color:var(--accent-yellow)}.room-card:hover .fav-btn{opacity:.7}.room-card .fav-btn.active{opacity:1}.room-card .fav-btn:hover{transform:scale(1.2)}.room-presence{display:flex;flex-direction:column;align-items:center;gap:4px;min-width:40px;padding-top:2px}.presence-dots{display:flex;gap:3px;flex-wrap:wrap;justify-content:center;max-width:30px}.presence-dot{width:7px;height:7px;border-radius:50%;animation:pulse 2s infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.presence-count{font-size:.72rem;color:var(--text-muted);font-weight:500;font-family:JetBrains Mono,monospace}.room-info{flex:1;min-width:0}.room-name-row{display:flex;align-items:center;gap:8px;margin-bottom:4px;flex-wrap:wrap}.room-name{font-size:.95rem;font-weight:600;color:var(--text-primary)}.room-badge{font-size:.68rem;padding:2px 8px;border-radius:4px;font-weight:500}.badge-public{background:#0d948814;color:var(--accent-teal);border:1px solid rgba(13,148,136,.2)}.badge-private{background:#7c3aed14;color:var(--accent-purple);border:1px solid rgba(124,58,237,.2)}.room-desc{font-size:.82rem;color:var(--text-secondary);margin-bottom:8px;line-height:1.4;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.room-meta{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.room-tags{display:flex;gap:5px;flex-wrap:wrap}.room-tag{font-size:.7rem;padding:2px 9px;border-radius:12px;font-weight:500;border:1px solid}.room-date,.room-creator{font-size:.73rem;color:var(--text-muted);font-family:JetBrains Mono,monospace}.room-actions{display:flex;gap:6px;margin-left:auto;opacity:0;transition:opacity .2s}.room-card:hover .room-actions{opacity:1}.room-action-btn{padding:4px 10px;border-radius:4px;font-size:.72rem;font-weight:500;cursor:pointer;border:1px solid var(--border);background:var(--bg-input);color:var(--text-secondary);transition:all .15s;font-family:inherit}.room-action-btn:hover{border-color:var(--accent-teal);color:var(--text-primary)}.room-action-btn.danger:hover{border-color:var(--accent-red);color:var(--accent-red)}.empty-state{text-align:center;padding:32px;color:var(--text-muted);font-size:.88rem}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0000004d;z-index:100;display:flex;align-items:center;justify-content:center;padding:20px;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.modal{background:var(--bg-secondary);border:1px solid var(--border);border-radius:16px;padding:32px;max-width:480px;width:100%;box-shadow:0 20px 60px #00000026;animation:modalIn .25s ease}@keyframes modalIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.modal h2{font-size:1.1rem;font-weight:600;margin-bottom:24px}.modal .form-group{margin-bottom:18px}.toggle-row{display:flex;align-items:center;justify-content:space-between}.toggle{width:44px;height:24px;border-radius:12px;background:var(--bg-input);border:1px solid var(--border);cursor:pointer;position:relative;transition:background .2s}.toggle.on{background:var(--accent-teal);border-color:var(--accent-teal)}.toggle:after{content:"";position:absolute;top:2px;left:2px;width:18px;height:18px;border-radius:50%;background:#fff;transition:transform .2s}.toggle.on:after{transform:translate(20px)}.modal-tags{display:flex;gap:6px;flex-wrap:wrap}.modal-tag{padding:5px 12px;border-radius:14px;font-size:.78rem;cursor:pointer;border:1px solid;opacity:.6;transition:all .15s;font-family:inherit;background:none}.modal-tag.selected{opacity:1}.modal-tag:hover{opacity:.9}.modal-actions{display:flex;gap:10px;margin-top:24px}.btn-secondary{flex:1;padding:12px;background:var(--bg-input);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text-secondary);font-size:.9rem;cursor:pointer;font-family:inherit;transition:border-color .2s}.btn-secondary:hover{border-color:var(--text-muted)}.btn-confirm{flex:1;padding:12px;background:linear-gradient(135deg,#0d9488,#0f766e);border:none;border-radius:var(--radius-sm);color:#fff;font-size:.9rem;font-weight:600;cursor:pointer;font-family:inherit;transition:transform .15s,opacity .2s}.btn-confirm:hover:not(:disabled){transform:translateY(-1px)}.btn-confirm:disabled{opacity:.5;cursor:not-allowed}@media(max-width:600px){.login-container{padding:32px 24px}.lobby-header{padding:12px 16px}.lobby-content{padding:16px 12px 32px}.controls-bar{flex-direction:column}.search-box{min-width:100%}.room-card{padding:14px;gap:10px}.room-actions{display:none}.header-title{font-size:1rem}.room-desc{white-space:normal}}@media(max-width:375px){.login-container{padding:24px 16px}.lobby-content{padding:12px 8px 24px}.controls-bar{gap:8px}.tag-filter{gap:6px}.tag-chip{padding:4px 10px;font-size:.72rem}.room-card{padding:12px;gap:8px}.room-name{font-size:.88rem}.room-desc{font-size:.78rem}}.pod-definition{display:flex;flex-direction:column;height:100vh;overflow:hidden;background:#fff;position:relative;z-index:1}.pod-toolbar{display:flex;align-items:center;gap:4px;padding:4px 12px;background:#fff;border-bottom:1px solid #f1f5f9;z-index:100;flex-shrink:0}.pod-toolbar-title{font-weight:600;font-size:13px;color:#0f172a;margin-right:8px;letter-spacing:-.2px}.pod-toolbar-title-link{background:transparent;border:none;padding:4px 6px;border-radius:6px;cursor:pointer;transition:background .12s,color .12s;font-family:inherit}.pod-toolbar-title-link:hover{background:#f1f5f9;color:#2563eb}.pod-toolbar-title-link:focus-visible{outline:2px solid #60a5fa;outline-offset:1px}.toolbar-group{display:flex;align-items:center;gap:2px;padding:0 8px;border-right:1px solid #f1f5f9}.toolbar-group:last-child{border-right:none}.tb-btn{display:flex;align-items:center;gap:4px;padding:4px 7px;border:none;background:transparent;border-radius:5px;cursor:pointer;font-size:11px;color:#475569;transition:all .12s;white-space:nowrap;font-family:inherit}.tb-btn:hover:not(:disabled){background:#e2e8f0;color:#1e293b}.tb-btn:disabled{opacity:.35;cursor:not-allowed}.tb-btn svg{width:14px;height:14px;flex-shrink:0}.preset-select{padding:3px 6px;border:1px solid #e2e8f0;border-radius:5px;font-size:11px;color:#475569;background:#fff;font-family:inherit;cursor:pointer}.dropdown{position:relative;display:inline-block}.dropdown-menu{position:absolute;top:100%;left:0;background:#fff;border:1px solid #e2e8f0;border-radius:8px;box-shadow:0 4px 12px #0000001a;min-width:180px;z-index:200;padding:3px}.dropdown-item{display:flex;align-items:center;gap:6px;padding:6px 10px;border-radius:5px;cursor:pointer;font-size:11px;color:#475569}.dropdown-item:hover{background:#f1f5f9;color:#1e293b}.dropdown-item-parent{color:#334155}.dropdown-item-sub{padding-left:28px;font-size:11px;color:#64748b}.dropdown-item-sub:hover{color:#1e293b}.dropdown-chevron{transition:transform .15s ease;color:#94a3b8}.dropdown-chevron-open{transform:rotate(90deg)}.tb-btn-more{padding:4px 8px;letter-spacing:1px}.dropdown-menu-more{min-width:210px;right:0;left:auto}.dropdown-menu-left{min-width:210px;left:0;right:auto}.dropdown-section-label{padding:5px 10px 2px;font-size:9px;font-weight:700;text-transform:uppercase;letter-spacing:.6px;color:#94a3b8}.dropdown-divider{height:1px;background:#f1f5f9;margin:3px 0}.dropdown-item-steps{cursor:default;gap:8px}.dropdown-item-steps:hover{background:none;color:#475569}.dropdown-item-steps .toolbar-steps-input{margin-left:auto;width:56px}.collab-bar{display:flex;align-items:center;gap:5px}.collab-label{font-size:9px;color:#94a3b8}.collab-avatar{width:24px;height:24px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:9px;font-weight:700;color:#fff;border:2px solid #fff;box-shadow:0 1px 2px #0000001f}.split-container{flex:1;display:flex;overflow:hidden;position:relative}.definition-panel{display:flex;flex-direction:column;overflow:hidden;position:relative;transition:flex-basis .15s ease}.canvas-search-bar{position:absolute;top:10px;left:10px;z-index:10;background:#fffffff5;border:1px solid #e2e8f0;border-radius:8px;box-shadow:0 2px 8px #0f172a14;padding:6px 8px;display:flex;flex-direction:column;gap:4px;min-width:260px;max-width:340px}.canvas-search-row{display:flex;align-items:center;gap:6px}.canvas-search-icon{font-size:12px;opacity:.6}.canvas-search-input,.canvas-search-autocomplete input.autocomplete-input{flex:1;border:none;background:transparent;font-size:12px;font-family:inherit;color:#0f172a;padding:2px 0;outline:none;min-width:0}.canvas-search-input::placeholder,.canvas-search-autocomplete input.autocomplete-input::placeholder{color:#94a3b8}.canvas-search-autocomplete{flex:1;min-width:0}.canvas-search-clear{width:20px;height:20px;border:none;background:#f1f5f9;color:#64748b;border-radius:50%;font-size:14px;line-height:1;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;padding:0}.canvas-search-clear:hover{background:#e2e8f0;color:#0f172a}.canvas-search-chips{display:flex;flex-wrap:wrap;align-items:center;gap:4px}.canvas-search-chip{padding:2px 8px;font-size:10px;font-family:inherit;color:#475569;background:#f8fafc;border:1px solid #e2e8f0;border-radius:10px;cursor:pointer;display:inline-flex;align-items:center;gap:3px;transition:background .12s,border-color .12s,color .12s}.canvas-search-chip:hover{background:#f1f5f9;border-color:#cbd5e1}.canvas-search-chip-active{background:#2563eb;color:#fff;border-color:#2563eb}.canvas-search-chip-active:hover{background:#1d4ed8;color:#fff;border-color:#1d4ed8}.canvas-search-count{margin-left:auto;font-size:10px;color:#64748b;font-style:italic}.react-flow__node.hitec-dimmed{opacity:.28;transition:opacity .15s}.react-flow__node.hitec-dimmed:hover{opacity:.7}.autocomplete-wrap{position:relative;display:inline-block;width:100%}.autocomplete-input{width:100%;box-sizing:border-box}.autocomplete-list{position:absolute;top:calc(100% + 2px);left:0;right:0;max-height:240px;overflow-y:auto;background:#fff;border:1px solid #e2e8f0;border-radius:6px;box-shadow:0 4px 16px #0f172a1f;z-index:200;padding:2px 0}.autocomplete-group{padding:4px 10px;font-size:9px;font-weight:700;color:#94a3b8;text-transform:uppercase;letter-spacing:.5px;background:#f8fafc;border-bottom:1px solid #f1f5f9}.autocomplete-item{display:flex;align-items:center;gap:8px;width:100%;padding:5px 10px;border:none;background:transparent;font-family:inherit;font-size:12px;color:#334155;text-align:left;cursor:pointer}.autocomplete-item-active{background:#eff6ff;color:#1d4ed8}.autocomplete-item-label{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.autocomplete-item-hint{font-size:10px;color:#94a3b8;flex-shrink:0}.autocomplete-item-active .autocomplete-item-hint{color:#60a5fa}.split-dragging .definition-panel{transition:none}.graph-3d-container{width:100%;height:100%}.performance-3d-container{width:100%;height:calc(100vh - 40px);position:relative}.graph-3d-container canvas,.performance-3d-container canvas{outline:none}.graph-3d-toolbar{position:absolute;top:8px;left:8px;z-index:10;display:flex;align-items:center;gap:8px;background:#ffffffe6;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-radius:8px;padding:6px 10px;box-shadow:0 1px 4px #00000014}.graph-3d-search{width:120px;font-size:11px;padding:3px 6px;border:1px solid #e2e8f0;border-radius:4px;background:#fff;color:#334155;outline:none}.graph-3d-search:focus{border-color:#7c3aed}.graph-3d-search::placeholder{color:#94a3b8}.graph-3d-filters{display:flex;gap:4px}.graph-3d-filter-btn{font-size:10px;padding:2px 6px;border:1px solid;border-radius:10px;background:transparent;cursor:pointer;transition:opacity .15s}.graph-3d-filter-btn.hidden{opacity:.3;text-decoration:line-through}.graph-3d-filter-btn:hover{opacity:.8}.graph-3d-stats{font-size:10px;color:#64748b;white-space:nowrap}.perf-3d-sidebar{position:absolute;top:8px;right:8px;z-index:10;background:#ffffffe6;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-radius:8px;padding:8px;max-height:calc(100% - 16px);overflow-y:auto;min-width:120px;box-shadow:0 1px 4px #00000014}.perf-3d-sidebar-title{font-size:10px;font-weight:700;color:#64748b;text-transform:uppercase;letter-spacing:.5px;margin-bottom:4px}.perf-3d-kpi-btn{display:flex;align-items:center;gap:5px;width:100%;padding:3px 6px;border:none;border-left:3px solid transparent;background:transparent;color:#334155;font-size:10px;cursor:pointer;border-radius:0 4px 4px 0;transition:background .15s;text-align:left}.perf-3d-kpi-btn:hover{background:#f1f5f9}.perf-3d-kpi-btn.hidden{opacity:.35}.perf-3d-kpi-btn.selected{background:#fffbeb;color:#92400e;font-weight:600}.perf-3d-kpi-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.perf-3d-kpi-label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.perf-3d-timestep{margin-top:6px;padding:3px 6px;font-size:11px;color:#92400e;display:flex;align-items:center;gap:4px}.perf-3d-clear-ts{background:none;border:none;color:#94a3b8;cursor:pointer;font-size:14px}.perf-3d-clear-ts:hover{color:#334155}.perf-3d-kpi-toggles{display:flex;flex-wrap:wrap;gap:4px;padding:4px 8px;border-bottom:1px solid #f1f5f9;max-height:60px;overflow-y:auto}.perf-3d-kpi-toggle{display:flex;align-items:center;gap:3px;padding:2px 6px;border:1px solid #e2e8f0;border-radius:10px;background:#fff;font-size:9px;color:#334155;cursor:pointer;white-space:nowrap;transition:opacity .15s}.perf-3d-kpi-toggle.hidden{opacity:.35;text-decoration:line-through}.perf-3d-kpi-toggle:hover{border-color:#94a3b8}.perf-3d-toggle-dot{width:6px;height:6px;border-radius:50%;flex-shrink:0}.perf-3d-slider{display:flex;align-items:center;gap:8px;padding:4px 12px;border-top:1px solid #e2e8f0;background:#fff;flex-shrink:0}.perf-3d-slider-label{font-size:10px;color:#64748b;font-weight:600;flex-shrink:0}.perf-3d-slider-input{flex:1;height:4px;cursor:pointer;accent-color:#3b82f6}.perf-3d-tooltip{position:absolute;z-index:100;background:#fff;border:1px solid #e2e8f0;border-radius:6px;padding:6px 10px;font-size:11px;color:#334155;box-shadow:0 2px 8px #0000001f;pointer-events:none;white-space:nowrap}.perf-3d-tooltip strong{font-size:12px}.view-toggle{display:flex;gap:0;background:#fff;padding:0 12px;border-bottom:1px solid #f1f5f9;flex-shrink:0}.view-toggle-btn{display:flex;align-items:center;gap:5px;padding:8px 14px;border:none;border-bottom:2px solid transparent;border-radius:0;background:transparent;color:#94a3b8;font-size:12px;font-weight:500;cursor:pointer;transition:all .15s;font-family:inherit;margin-bottom:-1px}.view-toggle-btn.active{color:#1e293b;border-bottom-color:#2563eb;font-weight:600}.view-toggle-btn:hover:not(.active){color:#475569;background:#f8fafc}.split-handle{flex:0 0 6px;cursor:col-resize;background:transparent;position:relative;z-index:5;transition:background .15s}.split-handle:after{content:"";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:2px;height:32px;border-radius:1px;background:#cbd5e1;transition:background .15s,height .15s}.split-handle:hover{background:#2563eb0f}.split-handle:hover:after{background:#2563eb;height:48px}.decision-panel{display:flex;flex-direction:row;overflow:hidden;border-left:1px solid #f1f5f9;transition:flex-basis .15s ease}.split-dragging .decision-panel{transition:none}.toolbar-split-presets{gap:0!important}.tb-btn.tb-btn-split{min-width:28px;padding:4px 6px;font-size:11px}.kpi-panel-float{position:absolute;top:0;left:0;width:220px;height:100%;background:#fffffff5;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);border-right:1px solid #e2e8f0;box-shadow:2px 0 10px #00000012;z-index:10;display:flex;flex-direction:column;overflow:hidden}.kpi-panel-float .kpi-tree-panel{flex:1;background:transparent}.kpi-panel-float-close{position:absolute;top:6px;right:6px;width:20px;height:20px;border:none;background:none;cursor:pointer;font-size:16px;color:#94a3b8;line-height:1;z-index:11;display:flex;align-items:center;justify-content:center;border-radius:3px}.kpi-panel-float-close:hover{background:#f1f5f9;color:#475569}.kpi-panel-float-open{position:absolute;top:8px;left:8px;z-index:10;border:1px solid #e2e8f0;background:#ffffffeb;border-radius:6px;padding:4px 8px;cursor:pointer;font-size:13px;box-shadow:0 1px 4px #00000012}.kpi-panel-float-open:hover{background:#fff;border-color:#cbd5e1}.kpi-legend{width:148px;flex-shrink:0;display:flex;flex-direction:column;overflow:hidden;border-right:1px solid #e2e8f0;background:#fff;font-size:11px}.kpi-legend-header{display:flex;align-items:center;gap:4px;padding:5px 6px 4px;border-bottom:1px solid #f1f5f9;flex-shrink:0}.kpi-legend-title{font-weight:600;color:#475569;font-size:11px}.kpi-legend-hidden-badge{background:#fee2e2;color:#dc2626;font-size:10px;padding:0 4px;border-radius:8px;font-weight:600}.kpi-legend-compare-btn{font-size:10px;padding:1px 5px;border:1px solid #e2e8f0;border-radius:4px;background:#f8fafc;color:#64748b;cursor:pointer;white-space:nowrap}.kpi-legend-compare-btn.active{background:#eff6ff;border-color:#2563eb;color:#1d4ed8}.kpi-legend-list{flex:1;overflow-y:auto;padding:2px 0}.kpi-legend-item{display:flex;align-items:center;gap:4px;padding:2px 4px;cursor:pointer;min-height:22px;border-radius:3px;margin:0 2px}.kpi-legend-item:hover,.kpi-legend-item.hovered{background:#f8fafc}.kpi-legend-item.selected{background:#eff6ff}.kpi-legend-item.hidden{opacity:.45}.kpi-legend-dot{width:7px;height:7px;border-radius:50%;flex-shrink:0}.kpi-legend-name{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#334155}.kpi-legend-item.selected .kpi-legend-name{color:#1d4ed8;font-weight:500}.kpi-legend-eye{opacity:0;border:none;background:none;cursor:pointer;padding:0;color:#94a3b8;display:flex;align-items:center;flex-shrink:0;transition:opacity .12s}.kpi-legend-item:hover .kpi-legend-eye,.kpi-legend-eye.active{opacity:1}.kpi-legend-eye.active{color:#dc2626}.kpi-legend-check{width:11px;height:11px;flex-shrink:0;cursor:pointer}.decision-right{flex:1;display:flex;flex-direction:column;overflow:hidden}.view-pane{display:flex;flex-direction:column;overflow:hidden;position:relative}.view-pane .react-flow{flex:1}.view-pane-panel{overflow:hidden;background:#fff;padding:0}.view-label{font-size:11px;font-weight:600;color:#334155;background:#f8fafce6;padding:3px 8px;border-radius:5px;border:1px solid #e2e8f0}.view-badge{font-size:9px;padding:2px 8px;border-radius:10px;font-weight:500}.view-badge-chain{display:flex;align-items:center;gap:3px}.view-badge-chip{font-size:9px;padding:1px 6px;border-radius:8px;font-weight:600;color:#fff;letter-spacing:.02em}.view-badge-arrow{font-size:10px;color:#94a3b8;font-weight:400}.view-badge-clickable,.view-badge-chip-clickable{cursor:pointer;transition:opacity .15s,transform .15s}.view-badge-clickable:hover,.view-badge-chip-clickable:hover{opacity:.85;transform:scale(1.05)}.view-badge-clickable.active,.view-badge-chip-clickable.active{outline:2px solid rgba(255,255,255,.8);outline-offset:1px}.view-badge-chain{position:relative}.legend-tooltip{position:absolute;top:calc(100% + 8px);right:0;width:280px;background:#fff;border:1px solid #e2e8f0;border-radius:8px;padding:12px 14px;box-shadow:0 8px 24px #0000001f;z-index:50;animation:modalIn .15s ease}.legend-tooltip strong{font-size:12px;color:#1e293b;display:block;margin-bottom:4px}.legend-tooltip p{font-size:11px;color:#64748b;line-height:1.5;margin:0}.legend-panel{position:relative;display:flex;flex-direction:column;align-items:flex-end;gap:4px}.legend-edge-row{gap:3px;flex-wrap:wrap;justify-content:flex-end}.legend-edge-chip{font-size:8px;padding:1px 5px;border-radius:6px;border:1px solid;cursor:pointer;font-weight:500;background:#ffffffe6;transition:all .15s}.legend-edge-chip:hover{opacity:.8;transform:scale(1.05)}.legend-edge-chip.active{font-weight:700;box-shadow:0 0 0 2px #0000001a}.cross-link-overlay{position:absolute;top:0;left:0;width:100%;height:100%;pointer-events:none;z-index:45}.hitec-node{position:relative;border-radius:9px;background:#fff;box-shadow:0 1px 5px #0000000f,0 0 0 1px #0000000a;min-width:130px;max-width:195px;cursor:grab;transition:box-shadow .12s;-webkit-user-select:none;user-select:none}.hitec-node:hover{box-shadow:0 2px 10px #00000017,0 0 0 1px #0000000f}.hitec-node.selected{box-shadow:0 2px 12px #4338ca33,0 0 0 2px #6366f1}.react-flow__node.highlighted .hitec-node,.hitec-node.highlighted{box-shadow:0 0 0 3px #fbbf24,0 2px 12px #fbbf244d;animation:glowPulse 1.5s ease-in-out infinite alternate}@keyframes glowPulse{0%{box-shadow:0 0 0 3px #fbbf24,0 2px 12px #fbbf2433}to{box-shadow:0 0 0 4px #f59e0b,0 2px 16px #fbbf2466}}.hitec-node-header{display:flex;align-items:center;gap:6px;padding:7px 10px;border-radius:9px 9px 0 0;font-size:11px;font-weight:600;color:#fff;letter-spacing:.1px}.hitec-node-header.rounded{border-radius:9px}.hitec-node-icon{font-size:12px;flex-shrink:0}.hitec-node-eye{margin-left:auto;border:none;background:#ffffff26;color:#ffffffb3;border-radius:3px;padding:1px 3px;cursor:pointer;display:flex;align-items:center;opacity:0;transition:opacity .15s;flex-shrink:0}.hitec-node:hover .hitec-node-eye,.hitec-node-eye.active{opacity:1}.hitec-node-eye.active{background:#dc26264d;color:#fff}.hitec-node-eye:hover{background:#ffffff4d;color:#fff}.hitec-node-label{flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-weight:600;font-size:11px}.hitec-node.hitec-node-external{border:none}.hitec-node.hitec-node-external .hitec-node-header{background:#93c5fd!important}.hitec-node-scope-badge{font-size:8px;font-weight:700;padding:1px 4px;border-radius:3px;background:#ffffff4d;color:#fff;letter-spacing:.5px;margin-left:4px;flex-shrink:0}.hitec-node-scope-badge.external{background:#94a3b880;color:#f1f5f9}.legend-scope-hint{font-size:10px;color:#64748b;margin-left:10px;display:flex;align-items:center;gap:2px}.legend-scope-int{font-size:8px;font-weight:700;padding:1px 4px;border-radius:3px;background:#0ea5e9;color:#fff}.legend-scope-ext{font-size:8px;font-weight:700;padding:1px 4px;border-radius:3px;background:#94a3b8;color:#fff;border:1px dashed #64748b}.hitec-node-body{padding:6px 9px;font-size:10px;color:#64748b;line-height:1.4;border-top:1px solid rgba(0,0,0,.06);overflow:hidden;word-break:break-word}.hitec-node-name{font-weight:600;color:#334155;font-size:11px;margin-bottom:2px}.hitec-node-desc{font-size:9px;color:#94a3b8;margin-bottom:2px}.hitec-node-param{display:flex;justify-content:space-between;padding:1px 0}.param-key{color:#64748b}.param-val{color:#1e293b;font-weight:500;font-family:JetBrains Mono,SF Mono,monospace;font-size:9px}.param-threshold{color:#7c3aed;font-family:JetBrains Mono,SF Mono,monospace;font-size:8px;opacity:.8;margin-left:2px}.param-threshold:before{content:"("}.param-threshold:after{content:")"}.hitec-port{width:8px!important;height:8px!important;border:2px solid #fff!important;border-radius:50%;opacity:0;transition:opacity .15s,background .15s,transform .15s}.hitec-port-top{margin-top:-8px!important}.hitec-port-bottom{margin-bottom:-8px!important}.hitec-port-left{margin-left:-8px!important}.hitec-node:hover .hitec-port,.hitec-node.selected .hitec-port{opacity:1}.hitec-port-v{background:#3b82f6!important}.hitec-port-v:hover{background:#2563eb!important}.hitec-port-out.hitec-port-top{clip-path:polygon(50% 0%,0% 100%,100% 100%);border-radius:0!important;filter:drop-shadow(0 0 1px #fff) drop-shadow(0 0 1px #fff)}.hitec-port-out.hitec-port-bottom{clip-path:polygon(0% 0%,100% 0%,50% 100%);border-radius:0!important;filter:drop-shadow(0 0 1px #fff) drop-shadow(0 0 1px #fff)}.hitec-port-out.hitec-port-left{clip-path:polygon(100% 0%,100% 100%,0% 50%);border-radius:0!important;filter:drop-shadow(0 0 1px #fff) drop-shadow(0 0 1px #fff)}.hitec-port-in.hitec-port-top{clip-path:polygon(0% 0%,100% 0%,50% 100%);border-radius:0!important;filter:drop-shadow(0 0 1px #fff) drop-shadow(0 0 1px #fff)}.hitec-port-in.hitec-port-bottom{clip-path:polygon(50% 0%,0% 100%,100% 100%);border-radius:0!important;filter:drop-shadow(0 0 1px #fff) drop-shadow(0 0 1px #fff)}.hitec-port-in.hitec-port-left{clip-path:polygon(0% 0%,100% 50%,0% 100%);border-radius:0!important;filter:drop-shadow(0 0 1px #fff) drop-shadow(0 0 1px #fff)}.hitec-port-existence,.hitec-port-susceptibility{background:#0ea5e9!important}.hitec-port-existence:hover,.hitec-port-susceptibility:hover{background:#0284c7!important}.hitec-port-declenchement{background:#ec4899!important}.hitec-port-declenchement:hover{background:#db2777!important}.hitec-port-generation{background:#f97316!important}.hitec-port-generation:hover{background:#ea580c!important}.hitec-node.connect-dimmed{opacity:.3;filter:grayscale(.5);transition:opacity .2s,filter .2s}.hitec-node.connect-target{box-shadow:0 0 0 3px #6366f180;border-radius:8px;transition:box-shadow .2s}.hitec-node.connect-target .hitec-port{opacity:1}.hitec-edge-label{position:absolute;background:#fff;border:1px solid #e2e8f0;border-radius:5px;padding:2px 8px;font-size:9px;font-family:Inter,sans-serif;white-space:nowrap;pointer-events:all;transition:opacity .15s}.react-flow__edge:hover+.hitec-edge-label,.react-flow__edge.selected+.hitec-edge-label{opacity:1!important}@keyframes propPopIn{0%{transform:scale(.95) translateY(-4px);opacity:0}to{transform:scale(1) translateY(0);opacity:1}}.prop-panel{position:fixed;width:max-content;min-width:340px;max-width:min(500px,calc(100vw - 40px));display:flex;flex-direction:column;background:#fff;border:1px solid #e2e8f0;border-radius:10px;box-shadow:0 8px 28px #00000024;z-index:20;animation:propPopIn .15s ease}.prop-panel-header{display:flex;align-items:center;justify-content:space-between;padding:6px 14px;height:30px;flex-shrink:0;cursor:grab;-webkit-user-select:none;user-select:none;border-bottom:1px solid #f1f5f9}.prop-panel-header:active{cursor:grabbing}.prop-panel-header h3{font-size:11px;font-weight:600;color:#1e293b;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.prop-panel-close{background:none;border:none;cursor:pointer;font-size:16px;color:#94a3b8;line-height:1;padding:0 2px;flex-shrink:0}.prop-panel-close:hover{color:#475569}.prop-panel-delete{background:none;border:none;cursor:pointer;font-size:13px;color:#94a3b8;line-height:1;padding:0 2px;flex-shrink:0;transition:color .15s}.prop-panel-delete:hover{color:#ef4444}.prop-crosslinks{padding:8px 0 0;border-top:1px solid #f1f5f9;margin-top:4px}.prop-crosslinks-header{display:flex;align-items:baseline;gap:6px;margin-bottom:6px}.prop-crosslinks-label{font-size:11px;font-weight:600;color:#64748b;text-transform:uppercase;letter-spacing:.04em}.prop-crosslinks-hint{font-size:10px;color:#94a3b8;font-style:italic}.prop-crosslinks-list{display:flex;flex-direction:column;gap:4px;margin-bottom:6px}.prop-crosslink-chip{display:flex;align-items:center;gap:5px;background:#fffbeb;border:1px solid #fbbf24;border-radius:6px;padding:3px 6px;font-size:12px;color:#92400e}.prop-crosslink-icon{font-size:11px;flex-shrink:0}.prop-crosslink-chip span:nth-child(2){flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.prop-crosslink-remove{background:none;border:none;cursor:pointer;color:#b45309;font-size:14px;line-height:1;padding:0 2px;flex-shrink:0;opacity:.6;transition:opacity .15s}.prop-crosslink-remove:hover{opacity:1}.prop-formula-block{margin-top:6px;display:flex;flex-direction:column;gap:5px}.prop-formula-hint{font-size:10px;color:#94a3b8;font-style:italic}.prop-formula-suggestions{display:flex;flex-wrap:wrap;gap:4px}.prop-formula-chip{padding:2px 8px;border-radius:12px;border:1px solid #c4b5fd;background:#faf5ff;color:#7c3aed;font-size:11px;cursor:pointer;transition:background .12s,color .12s;white-space:nowrap}.prop-formula-chip:hover{background:#ede9fe;border-color:#7c3aed}.prop-formula-chip.active{background:#7c3aed;color:#fff;border-color:#7c3aed}.prop-formula-input,.prop-formula-input input.autocomplete-input{font-size:12px;font-family:monospace;padding:4px 8px;border:1px solid #c4b5fd;border-radius:4px;background:#faf5ff;color:#5b21b6;width:100%;box-sizing:border-box}.prop-formula-input::placeholder,.prop-formula-input input.autocomplete-input::placeholder{color:#c4b5fd;font-style:italic}.prop-formula-input.autocomplete-wrap{border:none;background:transparent;padding:0}.prop-formula-preview{margin-top:4px;padding:4px 8px;background:#f5f3ff;border:1px solid #ddd6fe;border-radius:4px;font-size:11px;color:#5b21b6;display:flex;flex-wrap:wrap;align-items:baseline;gap:6px}.prop-formula-preview-label{font-weight:700;text-transform:uppercase;letter-spacing:.5px;font-size:9px;color:#7c3aed}.prop-formula-preview-value{font-family:monospace;font-weight:700;font-size:13px;color:#4c1d95}.prop-formula-preview-breakdown{font-family:monospace;font-size:10px;color:#8b5cf6;margin-left:auto;opacity:.85}.prop-formula-preview-zone{font-size:9px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;padding:1px 6px;border-radius:3px}.prop-formula-error{margin-top:4px;padding:4px 8px;background:#fef2f2;border:1px solid #fecaca;border-radius:4px;font-size:11px;color:#b91c1c}.prop-crosslink-label{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.prop-crosslink-value{font-family:monospace;font-size:10px;font-weight:600;color:#9a3412;background:#fef3c7;padding:1px 6px;border-radius:3px;margin-left:auto;flex-shrink:0}.prop-crosslink-step-badge{font-size:9px;font-weight:600;color:#0369a1;background:#e0f2fe;padding:1px 5px;border-radius:3px;margin-left:4px;flex-shrink:0}.prop-param-obj-badge{font-size:10px;font-weight:600;padding:1px 6px;border-radius:3px;margin-left:6px;flex-shrink:0;white-space:nowrap;max-width:120px;overflow:hidden;text-overflow:ellipsis}.prop-param-obj-badge-set{color:#15803d;background:#dcfce7}.prop-param-obj-badge-missing{color:#94a3b8;background:transparent;border:1px dashed #cbd5e1;font-size:9px}.hitec-node-formula{font-size:10px;font-family:monospace;color:#7c3aed;background:#f5f3ff;border:1px solid #ddd6fe;border-radius:4px;padding:2px 6px;margin:2px 0;word-break:break-all}.hitec-node-api-badge{display:flex;align-items:center;gap:4px;font-size:10px;font-weight:600;color:#6d28d9;background:#ede9fe;border:1px solid #c4b5fd;border-radius:4px;padding:2px 6px;margin:2px 0}.hitec-node-links-summary{display:flex;gap:6px;padding:2px 0 1px}.hitec-node-link-count{font-size:9px;font-weight:600;color:#64748b;background:#f1f5f9;padding:1px 5px;border-radius:3px}.hitec-node-link-impact{color:#dc2626;background:#dc262614}.hitec-node-triggered{color:#166534;background:#16a34a1f;font-weight:600}.hitec-node-not-triggered{color:#92400e;background:#f59e0b1f}.hitec-node-no-conditions{color:#dc2626;background:#dc262614}.prop-api-section{border:1px solid #e2e8f0;border-radius:6px;padding:10px;background:#fafbff;display:flex;flex-direction:column;gap:8px}.prop-api-section-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:2px}.prop-api-label{font-size:11px;font-weight:600;color:#1e293b}.prop-api-loading{font-size:11px;color:#94a3b8;font-style:italic;padding:4px 0}.prop-api-row{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.prop-api-field-label{font-size:10px;color:#64748b;font-weight:500;flex-shrink:0;min-width:54px}.prop-api-select{flex:1;min-width:0;padding:3px 6px;border:1px solid #e2e8f0;border-radius:4px;font-size:11px;background:#fff}.prop-api-city-chips{display:flex;flex-wrap:wrap;gap:3px}.prop-api-city-chip{padding:2px 7px;border:1px solid #e2e8f0;border-radius:10px;font-size:10px;cursor:pointer;background:#fff;color:#475569;transition:all .15s}.prop-api-city-chip:hover{border-color:#7c3aed;color:#7c3aed}.prop-api-city-chip.active{background:#7c3aed;color:#fff;border-color:#7c3aed}.prop-api-geo-row{align-items:center}.prop-api-geo-input{width:70px;padding:3px 5px;border:1px solid #e2e8f0;border-radius:4px;font-size:11px;font-family:monospace}.prop-api-country-row{align-items:center;gap:8px;flex-wrap:wrap}.prop-api-country-input{width:52px;padding:3px 6px;border:1px solid #e2e8f0;border-radius:4px;font-size:12px;font-family:monospace;font-weight:600;text-transform:uppercase;letter-spacing:.05em}.prop-api-country-hint{font-size:10px;color:#94a3b8;font-style:italic}.prop-api-test-btn{padding:4px 10px;border:1px solid #7c3aed;border-radius:4px;background:#fff;color:#7c3aed;font-size:11px;font-weight:500;cursor:pointer;transition:all .15s}.prop-api-test-btn:hover:not(:disabled){background:#7c3aed;color:#fff}.prop-api-test-btn:disabled{opacity:.5;cursor:not-allowed}.prop-api-test-result{font-size:11px;color:#334155;font-family:monospace}.prop-api-status{font-size:10px;padding:1px 6px;border-radius:8px;font-weight:500}.prop-api-status-ok{background:#dcfce7;color:#166534}.prop-api-status-error{background:#fee2e2;color:#991b1b}.prop-api-status-loading{background:#fef9c3;color:#854d0e}.prop-api-status-configured{background:#ede9fe;color:#5b21b6}.prop-api-status-pending{background:#f1f5f9;color:#64748b}.prop-crosslinks-empty{font-size:11px;color:#94a3b8;font-style:italic;margin-bottom:6px}.prop-crosslinks-add{width:100%;padding:4px 6px;border:1px dashed #fbbf24;border-radius:6px;font-size:11px;color:#92400e;background:#fffdf0;cursor:pointer}.prop-crosslinks-add:hover{border-color:#f59e0b;background:#fffbeb}.prop-crosslinks-param-pick{display:flex;flex-direction:column;gap:3px;padding:6px;border:1px solid #e2e8f0;border-radius:6px;background:#f8fafc}.prop-crosslinks-param-pick-header{display:flex;align-items:center;justify-content:space-between;font-size:11px;font-weight:600;color:#334155;margin-bottom:2px}.prop-crosslinks-param-btn{font-size:11px;padding:4px 8px;border:1px solid #e2e8f0;border-radius:4px;background:#fff;color:#334155;cursor:pointer;text-align:left}.prop-crosslinks-param-btn:hover:not(:disabled){background:#eff6ff;border-color:#93c5fd}.prop-crosslinks-param-btn.disabled{opacity:.5;cursor:default;color:#94a3b8}.prop-crosslinks-param-all{font-weight:600;color:#0369a1;border-style:dashed}.prop-crosslinks-search-wrap{position:relative;width:100%}.prop-crosslinks-search-input,.prop-crosslinks-autocomplete input.autocomplete-input{width:100%;box-sizing:border-box;padding:5px 8px;border:1px dashed #fbbf24;border-radius:6px;font-size:11px;color:#92400e;background:#fffdf0;outline:none}.prop-crosslinks-search-input:focus,.prop-crosslinks-autocomplete input.autocomplete-input:focus{border-color:#f59e0b;background:#fffbeb}.prop-crosslinks-search-input::placeholder,.prop-crosslinks-autocomplete input.autocomplete-input::placeholder{color:#b45309;opacity:.7}.prop-crosslinks-dropdown{position:absolute;left:0;right:0;bottom:calc(100% + 2px);background:#fff;border:1px solid #e2e8f0;border-radius:7px;box-shadow:0 4px 16px #0000001f;max-height:200px;overflow-y:auto;z-index:500}.prop-crosslinks-option{padding:6px 10px;font-size:12px;color:#334155;cursor:pointer;display:flex;align-items:center;gap:5px}.prop-crosslinks-option:hover{background:#f1f5f9}.prop-crosslinks-option.related{color:#1e40af;font-weight:500}.prop-crosslinks-dot{font-size:7px;color:#6366f1;flex-shrink:0}.prop-crosslinks-divider{height:1px;background:#e2e8f0;margin:2px 0}.prop-thresholds{display:flex;flex-direction:column;gap:6px;padding-top:10px;border-top:1px solid #f1f5f9}.prop-thresholds-param-block{border:1px solid #e2e8f0;border-radius:6px;padding:6px 8px;margin-bottom:6px;background:#fafbfc}.prop-thresholds-param-block .prop-thresholds-header>span{color:#6366f1;font-weight:700}.prop-auto-zones-header{display:flex;align-items:center;gap:6px;margin-bottom:4px}.prop-auto-zones-badge{font-size:9px;font-weight:700;text-transform:uppercase;background:#6366f1;color:#fff;padding:1px 5px;border-radius:3px;letter-spacing:.05em}.prop-auto-zones-hint{font-size:10px;color:#94a3b8;flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.prop-auto-zones-customize{font-size:10px;border:1px solid #cbd5e1;background:#fff;color:#475569;padding:1px 6px;border-radius:3px;cursor:pointer}.prop-auto-zones-customize:hover{background:#f1f5f9;border-color:#6366f1;color:#6366f1}.prop-auto-zones-revert{font-size:10px;border:1px solid #6366f1;background:#eef2ff;color:#6366f1;padding:1px 6px;border-radius:3px;cursor:pointer;font-weight:600}.prop-auto-zones-revert:hover{background:#6366f1;color:#fff}.prop-thresholds-header{display:flex;align-items:center;gap:6px}.prop-thresholds-header>span{font-size:11px;font-weight:600;color:#475569;text-transform:uppercase;letter-spacing:.04em;flex:1}.prop-thresholds-reset{border:none;background:none;cursor:pointer;color:#94a3b8;font-size:14px;padding:1px 5px;border-radius:4px;line-height:1}.prop-thresholds-reset:hover{color:#475569;background:#f1f5f9}.prop-thresholds-bar{display:flex;height:8px;border-radius:4px;overflow:hidden;border:1px solid rgba(0,0,0,.07)}.prop-thresholds-bar-zone{transition:opacity .15s}.prop-thresholds-bar-zone:hover{opacity:.75}.obj-zone-slider{display:flex;flex-direction:column;gap:4px}.obj-zone-bar{position:relative;display:flex;height:14px;border-radius:7px;overflow:visible;border:1px solid rgba(0,0,0,.1);cursor:default;margin-bottom:2px}.obj-zone-bar-seg{height:100%;transition:opacity .15s;min-width:1px}.obj-zone-bar-seg:first-child{border-radius:7px 0 0 7px}.obj-zone-bar-seg:last-child{border-radius:0 7px 7px 0}.obj-zone-bar-obj{position:absolute;top:-4px;bottom:-4px;width:2px;background:#1e293b;transform:translate(-50%);z-index:1;pointer-events:none}.obj-zone-bar-obj-label{position:absolute;top:-12px;left:50%;transform:translate(-50%);font-size:8px;color:#475569;line-height:1}.obj-zone-bar-handle{position:absolute;top:50%;width:12px;height:12px;border-radius:50%;background:#fff;border:2px solid #64748b;transform:translate(-50%,-50%);cursor:ew-resize;z-index:3;transition:border-color .15s,box-shadow .15s}.obj-zone-bar-handle:hover{border-color:#3b82f6}.obj-zone-bar-handle.dragging{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f640}.obj-zone-bool-bar{display:flex;height:22px;border-radius:6px;overflow:hidden;border:1px solid rgba(0,0,0,.1);margin-bottom:4px}.obj-zone-bool-seg{flex:1;display:flex;align-items:center;justify-content:center;min-width:0}.obj-zone-bool-label{font-size:10px;font-weight:600;color:#fff;text-shadow:0 1px 2px rgba(0,0,0,.3);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;padding:0 4px}.prop-threshold-row{display:flex;align-items:center;gap:4px}.prop-threshold-dot{width:10px;height:10px;border-radius:50%;flex-shrink:0;border:1px solid rgba(0,0,0,.12)}.prop-threshold-label{flex:1;font-size:11px;padding:2px 5px;border:1px solid #e2e8f0;border-radius:4px;color:#334155;min-width:0}.prop-threshold-range-text{font-size:10px;color:#94a3b8;font-family:monospace;flex-shrink:0}.prop-threshold-upTo{width:40px;font-size:11px;padding:2px 4px;border:1px solid #e2e8f0;border-radius:4px;text-align:center;font-family:monospace;flex-shrink:0}.prop-threshold-bound{width:52px;font-size:11px;padding:2px 4px;border:1px solid #e2e8f0;border-radius:4px;text-align:center;font-family:monospace;flex-shrink:0}.prop-threshold-upTo-fixed{width:40px;font-size:11px;text-align:center;color:#94a3b8;font-family:monospace;flex-shrink:0}.prop-threshold-color-sel{font-size:10px;border:1px solid #e2e8f0;border-radius:4px;padding:1px 2px;background:#fff;width:72px;flex-shrink:0}.prop-threshold-remove{border:none;background:none;cursor:pointer;color:#94a3b8;font-size:14px;padding:0 3px;flex-shrink:0;line-height:1}.prop-threshold-remove:hover{color:#dc2626}.prop-threshold-add{font-size:11px;color:#2563eb;background:none;border:1px dashed #bfdbfe;border-radius:4px;padding:3px 8px;cursor:pointer;text-align:left;width:100%}.prop-threshold-add:hover{background:#eff6ff}.prop-threshold-overrides{margin-top:8px;border-top:1px dashed #e2e8f0;padding-top:6px}.prop-threshold-overrides-header{display:flex;align-items:center;justify-content:space-between;font-size:11px;color:#64748b;margin-bottom:6px}.prop-threshold-overrides-header .prop-threshold-add{width:auto;padding:2px 8px;font-size:10px}.prop-threshold-override-block{background:#f8fafc;border:1px solid #e2e8f0;border-radius:6px;padding:6px 8px;margin-bottom:6px}.prop-threshold-override-title{display:flex;align-items:center;justify-content:space-between;font-size:11px;font-weight:600;color:#334155;margin-bottom:4px}.prop-threshold-row-compact{padding:1px 0;gap:3px}.prop-threshold-row-compact .prop-threshold-label{max-width:60px;font-size:10px}.prop-threshold-row-compact .prop-threshold-upTo{width:38px;font-size:10px}.prop-threshold-row-compact .prop-threshold-bound{width:44px;font-size:10px}.prop-threshold-row-compact .prop-threshold-color-sel{font-size:10px;padding:1px 2px}.tb-btn-tour{font-size:14px;font-weight:700;width:26px;height:26px;border-radius:50%;border:1.5px solid #cbd5e1;color:#475569;display:flex;align-items:center;justify-content:center;padding:0;flex-shrink:0}.tb-btn-tour:hover{background:#eff6ff;border-color:#2563eb;color:#2563eb}.tour-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:9996;cursor:pointer}.tour-spotlight{position:fixed;z-index:9997;border-radius:8px;box-shadow:0 0 0 9999px #00000085;pointer-events:none;transition:left .3s ease,top .3s ease,width .3s ease,height .3s ease;outline:2px solid rgba(255,255,255,.35)}.tour-card{position:fixed;z-index:9999;background:#fff;border-radius:12px;box-shadow:0 8px 32px #0003,0 2px 8px #0000001a;padding:20px 22px 16px;display:flex;flex-direction:column;gap:10px;pointer-events:auto;animation:tourCardIn .25s ease}@keyframes tourCardIn{0%{opacity:0;transform:translateY(6px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}.tour-dots{display:flex;align-items:center;gap:5px}.tour-dot{width:7px;height:7px;border-radius:50%;background:#e2e8f0;border:none;cursor:pointer;padding:0;transition:background .2s,transform .2s}.tour-dot.active{background:#2563eb;transform:scale(1.3)}.tour-dot:hover:not(.active){background:#94a3b8}.tour-counter{font-size:10px;color:#94a3b8;font-weight:500;margin-top:-6px}.tour-title{font-size:15px;font-weight:700;color:#0f172a;margin:0;line-height:1.3}.tour-desc{font-size:13px;color:#475569;line-height:1.55;margin:0}.tour-actions{display:flex;align-items:center;justify-content:space-between;padding-top:4px;border-top:1px solid #f1f5f9;margin-top:2px}.tour-skip{font-size:12px;color:#94a3b8;background:none;border:none;cursor:pointer;padding:4px 0}.tour-skip:hover{color:#64748b}.tour-nav{display:flex;gap:6px;align-items:center}.tour-prev,.tour-next{font-size:12px;font-weight:600;padding:5px 14px;border-radius:6px;cursor:pointer;border:1px solid #e2e8f0;background:#f8fafc;color:#334155;transition:background .15s}.tour-prev:hover{background:#f1f5f9}.tour-next{background:#2563eb;color:#fff;border-color:#2563eb}.tour-next:hover{background:#1d4ed8}.tour-next.tour-finish{background:#16a34a;border-color:#16a34a}.tour-next.tour-finish:hover{background:#15803d}.prop-panel-body{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;padding:0 14px 10px;overflow-y:auto;overflow-x:hidden;flex:1;min-height:0}.prop-edge-meta{margin:8px 0 4px;border:1px solid #e2e8f0;border-radius:6px;overflow:hidden}.prop-edge-meta-title{font-size:10px;font-weight:600;color:#94a3b8;text-transform:uppercase;letter-spacing:.4px;padding:4px 8px;background:#f8fafc;border-bottom:1px solid #e2e8f0}.prop-edge-meta-row{display:flex;gap:6px;padding:3px 8px;font-size:11px;border-bottom:1px solid #f1f5f9}.prop-edge-meta-row:last-child{border-bottom:none}.prop-edge-meta-key{color:#64748b;flex:0 0 auto;max-width:120px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.prop-edge-meta-val{color:#1e293b;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.prop-edge-navigate{padding:8px 0;border-top:1px solid #e2e8f0;margin-top:4px}.prop-edge-navigate-btn{width:100%;padding:6px 10px;background:#eff6ff;border:1px solid #bfdbfe;border-radius:4px;color:#2563eb;font-size:11px;font-weight:500;cursor:pointer;text-align:left}.prop-edge-navigate-btn:hover{background:#dbeafe}.prop-edge-readonly-hint{font-size:10px;color:#64748b;font-style:italic}.prop-field label{display:block;font-size:9px;color:#94a3b8;margin-bottom:2px;text-transform:uppercase;letter-spacing:.4px}.prop-field input,.prop-field select{width:100%;min-width:0;padding:4px 7px;border:1px solid #e2e8f0;border-radius:5px;font-size:12px;color:#1e293b;background:#fff;font-family:inherit;outline:none}.prop-param-accordion{border-bottom:1px solid #f1f5f9;margin-bottom:4px}.prop-param-accordion:last-of-type{border-bottom:none}.prop-param-accordion-header{display:flex;gap:8px;align-items:center;cursor:pointer;padding:6px 4px;width:100%;background:none;border:none;border-radius:4px;font-family:inherit;font-size:13px;text-align:left}.prop-param-accordion-header:hover{background:#f8fafc}.prop-param-arrow{width:16px;font-size:10px;color:#94a3b8;flex-shrink:0}.prop-param-key{font-weight:600;color:#334155;flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.prop-param-summary{color:#64748b;font-size:12px;flex-shrink:0}.prop-param-badge{font-size:10px;background:#f1f5f9;border-radius:3px;padding:1px 5px;color:#475569;flex-shrink:0}.prop-param-source-badge{font-size:10px;background:#e0f2fe;color:#0369a1;border-radius:3px;padding:1px 5px;flex-shrink:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:120px}.prop-param-value-input:disabled{background:#f8fafc;color:#94a3b8;cursor:default}.prop-unit-readonly{font-size:12px;color:#94a3b8;padding:0 4px}.prop-param-accordion-header .prop-remove-btn{opacity:0;transition:opacity .15s}.prop-param-accordion-header:hover .prop-remove-btn{opacity:1}.prop-param-accordion-body{padding:6px 0 6px 16px;border-left:2px solid #e2e8f0;display:flex;flex-direction:column;gap:6px}.prop-param-compact-row{display:flex;gap:3px;align-items:center}.prop-param-value-input{flex:2;min-width:0;font-size:12px;padding:3px 6px;border:1px solid #e2e8f0;border-radius:4px}.prop-param-threshold-row{display:flex;gap:4px;align-items:center;margin-top:4px}.prop-param-threshold-op{width:44px;flex-shrink:0;font-size:11px;padding:3px 2px;border:1px solid #e2e8f0;border-radius:4px;background:#f8fafc;color:#334155}.prop-param-threshold-label{font-size:11px;color:#64748b;flex-shrink:0}.prop-param-threshold-input{flex:1;min-width:0;font-size:12px;padding:3px 6px;border:1px solid #e2e8f0;border-radius:4px}.prop-param-threshold-remove,.prop-param-threshold-add{font-size:11px;background:none;border:1px solid #e2e8f0;border-radius:4px;cursor:pointer;padding:2px 6px;color:#64748b}.prop-param-threshold-remove:hover{color:#dc2626;border-color:#fca5a5}.prop-param-threshold-add:hover{color:#2563eb;border-color:#93c5fd}.prop-param-threshold-status{font-size:13px;flex-shrink:0}.prop-param-threshold-status.met{color:#16a34a}.prop-param-threshold-status.unmet{color:#dc2626}.prop-threshold-delete{font-size:11px;background:none;border:none;cursor:pointer;color:#94a3b8;padding:0 2px;flex-shrink:0}.prop-threshold-delete:hover{color:#dc2626}.prop-thresholds-add-zone{font-size:11px;background:none;border:1px solid #e2e8f0;border-radius:4px;cursor:pointer;padding:1px 8px;color:#64748b}.prop-thresholds-add-zone:hover{color:#2563eb;border-color:#93c5fd}.prop-section-title{grid-column:1 / -1;font-size:11px;font-weight:600;color:#475569;margin:8px 0 2px;padding:4px 0;border-top:1px solid #e2e8f0}.prop-toggle-group{display:flex;gap:0;border:1px solid #e2e8f0;border-radius:5px;overflow:hidden}.prop-toggle-btn{font-size:10px;padding:3px 8px;background:#f8fafc;border:none;cursor:pointer;color:#64748b;white-space:nowrap}.prop-toggle-btn:not(:last-child){border-right:1px solid #e2e8f0}.prop-toggle-btn.active{background:#0ea5e9;color:#fff;font-weight:600}.prop-toggle-btn:hover:not(.active){background:#f1f5f9}.prop-edge-param-delete{font-size:11px;background:none;border:none;cursor:pointer;color:#94a3b8;padding:0 2px;flex-shrink:0}.prop-edge-param-delete:hover{color:#dc2626}.prop-param-temporal-toggle{display:block;width:100%;text-align:left;margin-top:2px;font-size:11px;color:#64748b;background:none;border:none;cursor:pointer;padding:1px 0}.prop-param-temporal-toggle:hover{color:#3b82f6}.prop-param-temporal-toggle.has-overrides{color:#2563eb;font-weight:500}.prop-chrono-btn{flex-shrink:0;width:28px;height:24px;display:inline-flex;align-items:center;justify-content:center;gap:1px;font-size:12px;background:#f1f5f9;border:1px solid #e2e8f0;border-radius:4px;cursor:pointer;color:#94a3b8;padding:0;margin-left:2px;position:relative}.prop-chrono-btn:hover{background:#e2e8f0;color:#64748b}.prop-chrono-btn.has-data{color:#2563eb;border-color:#bfdbfe;background:#eff6ff}.prop-chrono-btn.active{color:#fff;background:#3b82f6;border-color:#3b82f6}.prop-chrono-count{font-size:9px;font-weight:600;line-height:1}.prop-chrono-inline-panel{margin:2px 0 4px;border-left:2px solid #3b82f6;padding-left:6px}.prop-thresholds-actions{display:flex;align-items:center;gap:4px;margin-top:2px}.prop-threshold-overrides-panel{font-size:12px}.prop-threshold-override-block{margin-bottom:6px;padding:4px 0;border-bottom:1px solid #e2e8f0}.prop-threshold-override-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:2px}.prop-param-temporal-panel{margin-top:4px;padding:6px 8px;background:#f8fafc;border-radius:6px;border:1px solid #e2e8f0;font-size:12px;overflow:hidden}.prop-param-temporal-row{display:flex;align-items:center;gap:6px;padding:2px 0}.prop-param-temporal-default{color:#64748b;background:#f1f5f9;border-radius:4px;padding:2px 6px}.prop-param-temporal-default .prop-param-temporal-t{font-style:italic;color:#94a3b8;font-weight:400}.prop-param-temporal-list-header{display:flex;gap:6px;padding:3px 0 1px;font-size:10px;color:#94a3b8;text-transform:uppercase;letter-spacing:.04em;border-bottom:1px solid #e2e8f0;margin-bottom:2px}.prop-param-temporal-list-header>span:first-child{min-width:48px}.prop-param-temporal-t{min-width:48px;font-weight:500;color:#475569}.prop-param-temporal-val{flex:1;color:#1e293b}.prop-param-temporal-remove{background:none;border:none;color:#94a3b8;cursor:pointer;font-size:14px;padding:0 2px}.prop-param-temporal-remove:hover{color:#ef4444}.prop-param-temporal-add{display:flex;align-items:center;gap:4px;margin-top:4px;padding-top:4px;border-top:1px solid #e2e8f0}.prop-param-temporal-t-input{width:80px;font-size:12px;padding:3px 6px;border:1px solid #e2e8f0;border-radius:4px}.prop-param-temporal-val-input{flex:1;min-width:0;font-size:12px;padding:3px 6px;border:1px solid #e2e8f0;border-radius:4px}.prop-param-temporal-add-btn{background:#3b82f6;color:#fff;border:none;border-radius:4px;width:22px;height:22px;cursor:pointer;font-size:14px;display:flex;align-items:center;justify-content:center}.prop-param-temporal-add-btn:hover{background:#2563eb}.prop-param-threshold-ranges{margin-top:2px}.prop-threshold-ranges-panel{margin-top:4px;padding:6px 8px;background:#fefce8;border-radius:6px;border:1px solid #fde68a;font-size:12px;overflow:hidden}.prop-threshold-range-row{display:flex;align-items:center;gap:6px;padding:2px 0;flex-wrap:wrap}.prop-threshold-range-label{min-width:72px;font-weight:500;color:#92400e;font-size:11px}.prop-threshold-range-val{color:#78350f;font-size:11px}.prop-threshold-range-add{display:flex;flex-direction:column;gap:4px;margin-top:4px;padding-top:4px;border-top:1px solid #fde68a}.prop-threshold-range-add-row{display:flex;align-items:center;gap:4px}.prop-threshold-range-add-label{font-size:10px;color:#92400e;font-weight:600;min-width:48px;text-align:right}.prop-threshold-range-add-sep{font-size:10px;color:#b45309}.prop-threshold-range-input{flex:1;min-width:0;font-size:11px;padding:3px 6px;border:1px solid #fde68a;border-radius:4px;background:#fff}.prop-field select:disabled{background:#f1f5f9;color:#94a3b8;cursor:not-allowed;opacity:.7}.toolbar-layout{gap:2px}.toolbar-layout .tb-btn{font-size:14px;min-width:28px;padding:4px 6px}.toolbar-room-name{font-weight:600;color:#334155;font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:200px}.param-col-name-clickable{cursor:pointer;transition:color .15s}.param-col-name-clickable:hover{color:#3b82f6;text-decoration:underline}.component-param-key-clickable{cursor:pointer;transition:color .15s}.component-param-key-clickable:hover{color:#3b82f6;text-decoration:underline}.prop-field input:focus,.prop-field select:focus{border-color:#6366f1;box-shadow:0 0 0 2px #6366f11a}.prop-add-btn{padding:3px 8px;border:1px dashed #e2e8f0;border-radius:5px;background:transparent;font-size:10px;color:#94a3b8;cursor:pointer;font-family:inherit}.prop-add-btn:hover{border-color:#6366f1;color:#6366f1}.prop-remove-btn{width:20px;height:20px;border:1px solid #e2e8f0;border-radius:4px;background:transparent;color:#ef4444;cursor:pointer;font-size:12px;line-height:1;display:flex;align-items:center;justify-content:center}.prop-remove-btn:hover{background:#fef2f2;border-color:#ef4444}.connect-menu-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:999}.connect-menu{position:fixed;z-index:1000;background:#fff;border:1px solid #e2e8f0;border-radius:10px;box-shadow:0 8px 24px #0000001f;padding:4px;min-width:160px;animation:fadeIn .1s ease}@keyframes fadeIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.connect-menu-title{padding:5px 10px 4px;font-size:9px;font-weight:700;text-transform:uppercase;letter-spacing:.6px;color:#94a3b8}.connect-menu-item{display:flex;align-items:center;gap:8px;padding:7px 10px;border-radius:6px;cursor:pointer;font-size:12px;color:#334155;transition:background .1s}.connect-menu-item:hover{background:#f1f5f9;color:#0f172a}.ctx-menu{display:none;position:fixed;background:#fff;border:1px solid #e2e8f0;border-radius:8px;max-height:calc(100vh - 100px);overflow-y:auto;box-shadow:0 6px 20px #0000001a;min-width:170px;z-index:300;padding:3px}.ctx-menu.show{display:block}.ctx-item{display:flex;align-items:center;gap:6px;padding:6px 10px;font-size:11px;color:#475569;cursor:pointer;border-radius:5px}.ctx-item:hover{background:#f1f5f9;color:#1e293b}.ctx-item.danger{color:#ef4444}.ctx-item.danger:hover{background:#fef2f2}.ctx-sep{height:1px;background:#e2e8f0;margin:2px 0}.ctx-group-title{padding:4px 12px 2px;font-size:10px;color:#94a3b8;text-transform:uppercase;letter-spacing:.5px;font-weight:600}.react-flow__minimap,.react-flow__controls{opacity:0;transition:opacity .2s ease;pointer-events:none}.view-pane:hover .react-flow__minimap,.view-pane:hover .react-flow__controls{opacity:1;pointer-events:auto}.react-flow__minimap,.react-flow__controls{border-radius:6px!important;border:1px solid #e2e8f0!important;box-shadow:0 1px 4px #0000000a!important}.react-flow__controls-button{border:none!important;border-bottom:1px solid #e2e8f0!important}.react-flow__controls-button:last-child{border-bottom:none!important}.react-flow__controls-button svg{fill:#475569!important}.react-flow__node.highlighted .hitec-node{box-shadow:0 0 0 3px #fbbf24,0 2px 12px #fbbf244d;animation:glowPulse 1.5s ease-in-out infinite alternate}.react-flow__edge.selected path{stroke-width:3!important}.react-flow__edge-interaction{stroke-width:20px!important;cursor:pointer}.presence-bar{display:flex;align-items:center}.presence-avatar{width:28px;height:28px;border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff;font-size:12px;font-weight:600;border:2px solid #fff;position:relative;cursor:default;animation:presenceFadeIn .3s ease}@keyframes presenceFadeIn{0%{opacity:0;transform:scale(.7)}to{opacity:1;transform:scale(1)}}.presence-tooltip{position:absolute;bottom:-28px;left:50%;transform:translate(-50%);background:#1e293b;color:#fff;font-size:10px;font-weight:500;padding:3px 8px;border-radius:4px;white-space:nowrap;pointer-events:none;z-index:100}.presence-overflow{width:28px;height:28px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:#e2e8f0;color:#475569;font-size:10px;font-weight:600;border:2px solid #fff}.connection-status{display:flex;align-items:center;gap:6px;padding:3px 10px;border-radius:12px;font-size:11px;font-weight:500}.conn-green{background:#dcfce7;color:#166534}.conn-yellow{background:#fef3c7;color:#92400e}.conn-red{background:#fef2f2;color:#991b1b}.conn-dot{width:6px;height:6px;border-radius:50%}.conn-green .conn-dot{background:#22c55e;animation:connPulse 2s ease-in-out infinite}.conn-yellow .conn-dot{background:#f59e0b;animation:connPulse 1s ease-in-out infinite}.conn-red .conn-dot{background:#ef4444}@keyframes connPulse{0%,to{opacity:1}50%{opacity:.4}}.causal-propagation-canvas{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;pointer-events:none;z-index:4}.engine-toast{position:fixed;top:12px;right:12px;z-index:10000;display:flex;align-items:center;gap:8px;padding:8px 12px;max-width:380px;border-radius:6px;border:1px solid;background:#fff;font-size:12px;box-shadow:0 6px 18px #0f172a1f}.engine-toast-loading{border-color:#94a3b8;color:#475569}.engine-toast-ok{border-color:#22c55e;color:#166534;background:#f0fdf4}.engine-toast-warn{border-color:#f59e0b;color:#92400e;background:#fff7ed}.engine-toast-info{border-color:#0ea5e9;color:#0c4a6e;background:#f0f9ff}.engine-toast-spinner{width:12px;height:12px;border-radius:50%;border:2px solid rgba(100,116,139,.25);border-top-color:#64748b;animation:engine-toast-spin .8s linear infinite}@keyframes engine-toast-spin{to{transform:rotate(360deg)}}.engine-toast-msg{flex:1;line-height:1.35}.engine-toast-close{background:none;border:none;color:inherit;font-size:16px;cursor:pointer;opacity:.55;padding:0 2px}.engine-toast-close:hover{opacity:1}.maturity-pill{display:inline-flex;align-items:center;padding:2px 7px;margin-left:6px;border-radius:10px;font-size:9px;font-weight:600;letter-spacing:.3px;text-transform:uppercase;vertical-align:middle;pointer-events:none}.maturity-pill.descriptif{background:#0ea5e91f;color:#0284c7;border:1px solid rgba(14,165,233,.25)}.maturity-pill.predictif{background:#a855f71f;color:#9333ea;border:1px solid rgba(168,85,247,.25)}.maturity-pill.prescriptif{background:#f59e0b26;color:#b45309;border:1px solid rgba(245,158,11,.35)}.causal-edge-flow-canvas{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;pointer-events:none;z-index:5}.perf-condition-flow-canvas{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;pointer-events:none}.remote-cursors{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:50;overflow:hidden}.remote-cursor{position:absolute;pointer-events:none}.remote-cursor-label{position:absolute;left:18px;top:14px;padding:1px 6px;border-radius:3px;color:#fff;font-size:10px;font-weight:500;white-space:nowrap}.decision-tabs{display:flex;gap:0;background:#fff;padding:0 12px;border-bottom:1px solid #f1f5f9;flex-shrink:0}.decision-tab{display:flex;align-items:center;gap:5px;padding:8px 14px;border:none;border-bottom:2px solid transparent;border-radius:0;background:transparent;color:#94a3b8;font-size:12px;font-weight:500;cursor:pointer;transition:all .15s;margin-bottom:-1px}.decision-tab.active{color:#1e293b;border-bottom-color:#2563eb;font-weight:600}.decision-tab:hover:not(.active){color:#475569;background:#f8fafc}.decision-tab-icon{font-size:13px}.decision-content{flex:1;overflow:hidden;display:flex;flex-direction:column}.performance-tab{display:flex;flex-direction:column;height:100%;overflow:hidden}.performance-chart-area{flex:1;min-height:200px;display:flex;flex-direction:row;gap:4px;overflow:hidden}.performance-header{display:flex;align-items:center;gap:8px;padding:6px 12px;border-bottom:1px solid #f1f5f9;flex-shrink:0}.steps-label{font-size:11px;color:#64748b;font-weight:500}.chart-tooltip-scenario-badge{font-size:9px;font-weight:700;color:#fff;background:#f59e0b;padding:1px 5px;border-radius:4px;margin-left:4px}.scenario-card{border:1px solid #e2e8f0;border-radius:8px;margin-bottom:6px;background:#fff;transition:border-color .15s,background .15s}.scenario-card:hover{border-color:#cbd5e1}.scenario-card.activated{border-color:#fbbf24;background:#fffbeb}.scenario-card-row{display:flex;align-items:center;gap:6px;padding:7px 10px;cursor:pointer;font-size:12px}.scenario-card-check{flex-shrink:0;cursor:pointer}.scenario-card-check input{accent-color:#f59e0b;margin:0;cursor:pointer}.scenario-card-icon{font-weight:700;font-size:14px;width:18px;text-align:center;flex-shrink:0}.scenario-card-icon.risk{color:#dc2626}.scenario-card-icon.opportunity{color:#16a34a}.scenario-card-name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:500}.scenario-card-cond-count{font-size:10px;font-weight:700;color:#92400e;background:#f59e0b26;padding:1px 6px;border-radius:8px;flex-shrink:0}.scenario-card-nature{font-size:10px;font-weight:600;flex-shrink:0}.scenario-card-detail{padding:0 10px 10px;font-size:11px;border-top:1px solid #f1f5f9}.scenario-params{margin:8px 0;display:flex;flex-wrap:wrap;gap:4px 12px}.scenario-param-row{display:flex;gap:4px}.scenario-param-key{color:#64748b;font-weight:500}.scenario-param-val{color:#1e293b;font-weight:600}.scenario-param-threshold{color:#7c3aed;font-size:11px;font-family:JetBrains Mono,monospace;padding:1px 5px;background:#7c3aed14;border-radius:3px;margin-left:auto}.scenario-chain-node-params{margin-top:4px;padding-top:3px;border-top:1px solid rgba(0,0,0,.08);display:flex;flex-direction:column;gap:2px}.scenario-chain-node-param{display:flex;align-items:center;gap:4px;font-size:10px}.scenario-chain-param-key{color:#64748b}.scenario-chain-param-val{color:#1e293b;font-weight:500;font-family:JetBrains Mono,monospace;font-size:10px}.scenario-chain-param-th{color:#7c3aed;font-family:JetBrains Mono,monospace;font-size:10px;padding:0 3px;background:#7c3aed14;border-radius:2px;margin-left:auto}.scenario-chain{margin:8px 0}.scenario-chain-title{font-size:9px;font-weight:600;color:#94a3b8;text-transform:uppercase;letter-spacing:.4px;margin-bottom:6px}.scenario-chain-flow{display:flex;flex-direction:column;gap:2px}.scenario-chain-node{display:inline-flex;align-items:center;gap:4px;padding:2px 8px;border:1.5px solid;border-radius:6px;font-size:11px;font-weight:500;background:#fff;cursor:pointer;transition:background .15s}.scenario-chain-node:hover{background:#f8fafc}.scenario-chain-step-block{padding-left:0}.scenario-chain-arrow-line{font-size:10px;font-weight:600;display:flex;background:#f1f5f9;border-radius:10px;margin:3px 0;width:fit-content;align-items:center;gap:6px;padding:2px 0}.scenario-chain-edge-params{display:flex;gap:4px;flex-wrap:wrap;margin-left:4px}.scenario-chain-edge-chip{font-size:9px;font-family:monospace;padding:0 4px;border-radius:3px;white-space:nowrap;display:inline-flex;align-items:center;gap:2px}.scenario-chain-edge-chip.met{background:#16a34a1a;color:#166534}.scenario-chain-edge-chip.unmet{background:#dc26261a;color:#991b1b}.scenario-chain-delta{font-size:11px;font-weight:700;margin-left:4px}.scenario-chain-temporal{font-size:10px;color:#3b82f6;background:#eff6ff;padding:1px 5px;border-radius:3px}.scenario-chain-kpis{display:flex;flex-wrap:wrap;gap:3px;margin-top:3px}.scenario-chain-kpi-chip{font-size:9px;color:#6366f1;background:#eef2ff;padding:1px 5px;border-radius:3px}.scenario-chain-node-param.met{color:#16a34a}.scenario-chain-node-param.unmet{color:#dc2626}.scenario-impact{margin-top:8px;display:flex;align-items:baseline;gap:4px;flex-wrap:wrap}.scenario-impact-label{font-size:10px;font-weight:600;color:#64748b}.scenario-impact-kpis{font-size:11px;color:#1e293b;font-weight:500}.scenario-card-delta{font-size:10px;font-weight:700;flex-shrink:0}.scenario-total{margin-top:8px;padding:6px 8px;background:#f8fafc;border-radius:6px;display:flex;align-items:baseline;gap:6px;flex-wrap:wrap}.scenario-total-label{font-size:10px;font-weight:600;color:#64748b}.scenario-total-value{font-size:12px;font-weight:700}.scenario-total-hint{font-size:10px;color:#94a3b8}.scenario-no-chain{color:#94a3b8;font-size:11px;font-style:italic;padding:8px 0}.scenario-param-evolution{margin:6px 0;padding:8px 10px;background:#f8fafc;border:1px solid #e2e8f0;border-radius:6px;font-size:11px}.scenario-param-evolution-header{display:flex;align-items:center;gap:6px;margin-bottom:4px}.scenario-param-evolution-comp{font-weight:600;color:#334155}.scenario-param-evolution-key{color:#64748b;font-style:italic}.scenario-param-evolution-delta{margin-left:auto;font-weight:600;font-variant-numeric:tabular-nums}.scenario-param-values{display:flex;flex-wrap:wrap;align-items:center;gap:2px;font-variant-numeric:tabular-nums;margin-bottom:4px}.scenario-param-base{font-weight:600;color:#334155}.scenario-param-arrow{color:#94a3b8;margin:0 2px}.scenario-param-step-val{white-space:nowrap}.scenario-param-more{color:#94a3b8}.scenario-param-pct{font-weight:600;margin-left:4px}.scenario-param-bar{height:4px;background:#e2e8f0;border-radius:2px;overflow:hidden}.scenario-param-bar-fill{height:100%;border-radius:2px;transition:width .3s ease}.scenario-param-bar-fill.negative{background:#fca5a5}.scenario-param-bar-fill.positive{background:#86efac}.scenario-threshold-alert{margin-top:4px;padding:3px 8px;background:#dc262614;border-radius:4px;color:#dc2626;font-weight:600;font-size:10.5px}.scenario-threshold-alert-icon{display:inline-block;width:14px;height:14px;line-height:14px;text-align:center;background:#dc2626;color:#fff;border-radius:50%;font-size:9px;font-weight:700;margin-right:4px}.scenario-threshold-chain{color:#b91c1c;font-style:italic}.gravity-chart{width:100%;height:100%;position:relative}.branch-switcher{position:relative;display:inline-block}.branch-switcher-btn{display:inline-flex;align-items:center;gap:6px;padding:4px 8px;background:#f8fafc;border:1px solid #e2e8f0;border-radius:4px;font-size:11px;font-weight:600;color:#334155;cursor:pointer}.branch-switcher-btn:hover{background:#f1f5f9}.branch-switcher-btn.open{background:#e0e7ff;border-color:#a5b4fc;color:#4338ca}.branch-switcher-name{max-width:120px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.branch-switcher-caret{font-size:10px;color:#94a3b8}.branch-switcher-menu{position:absolute;top:calc(100% + 4px);left:0;min-width:240px;max-width:300px;background:#fff;border:1px solid #e2e8f0;border-radius:6px;box-shadow:0 8px 24px #0f172a26;z-index:500;padding:4px}.branch-switcher-loading,.branch-switcher-error{padding:8px 10px;font-size:11px;color:#64748b}.branch-switcher-error{color:#dc2626}.branch-switcher-list{list-style:none;padding:0;margin:0}.branch-switcher-item{display:flex;align-items:center;border-radius:4px}.branch-switcher-item:hover{background:#f1f5f9}.branch-switcher-item.active .branch-switcher-item-name{color:#4338ca;font-weight:600}.branch-switcher-pick{flex:1;background:none;border:none;text-align:left;padding:6px 8px;display:flex;align-items:center;gap:6px;cursor:pointer;font-size:12px;color:inherit}.branch-switcher-bullet{color:#94a3b8;font-size:10px;width:10px}.branch-switcher-item.active .branch-switcher-bullet{color:#4338ca}.branch-switcher-item-name{flex:1}.branch-switcher-item-meta{font-size:10px;color:#94a3b8}.branch-switcher-delete{background:none;border:none;color:#94a3b8;font-size:14px;padding:0 8px;cursor:pointer}.branch-switcher-delete:hover{color:#dc2626}.branch-switcher-sep{height:1px;background:#f1f5f9;margin:4px 0}.branch-switcher-new{width:100%;background:none;border:none;text-align:left;padding:6px 10px;font-size:11px;color:#0284c7;cursor:pointer}.branch-switcher-new:hover{background:#f0f9ff}.branch-switcher-new-row{display:flex;gap:4px;padding:4px}.branch-switcher-new-input{flex:1;padding:4px 6px;border:1px solid #cbd5e1;border-radius:4px;font-size:11px}.branch-switcher-new-input:focus{outline:none;border-color:#0ea5e9}.branch-switcher-new-confirm{background:#0ea5e9;color:#fff;border:none;border-radius:4px;padding:4px 10px;font-size:11px;font-weight:600;cursor:pointer}.branch-switcher-new-confirm:disabled{opacity:.5;cursor:not-allowed}.branch-switcher-compare{width:100%;background:none;border:none;text-align:left;padding:6px 10px;font-size:11px;color:#475569;cursor:pointer}.branch-switcher-compare:hover{background:#f1f5f9;color:#0f172a}.branch-compare-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#0f172a73;display:flex;align-items:center;justify-content:center;z-index:9999}.branch-compare-dialog{background:#fff;border-radius:10px;width:min(720px,92vw);max-height:82vh;display:flex;flex-direction:column;box-shadow:0 24px 60px #0f172a40;font-size:12px;color:#1f2937}.branch-compare-header{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;border-bottom:1px solid #f1f5f9}.branch-compare-title{font-weight:600;font-size:13px}.branch-compare-close{background:none;border:none;font-size:20px;line-height:1;color:#64748b;cursor:pointer;padding:0 4px}.branch-compare-close:hover{color:#0f172a}.branch-compare-pickers{display:flex;align-items:center;gap:10px;padding:10px 16px;background:#f8fafc;border-bottom:1px solid #f1f5f9}.branch-compare-current strong{color:#0f172a}.branch-compare-muted{color:#94a3b8}.branch-compare-arrow{color:#64748b;font-weight:600}.branch-compare-select{padding:4px 8px;border:1px solid #cbd5e1;border-radius:6px;font-size:12px;background:#fff}.branch-compare-body{flex:1;overflow-y:auto;padding:10px 16px}.branch-compare-loading,.branch-compare-empty,.branch-compare-error{padding:20px;text-align:center;color:#64748b}.branch-compare-error{color:#dc2626}.branch-compare-groups{display:flex;flex-direction:column;gap:14px}.branch-compare-group-title{font-size:11px;text-transform:uppercase;letter-spacing:.5px;color:#475569;margin:0 0 6px;font-weight:600}.branch-compare-count{color:#94a3b8;font-weight:400}.branch-compare-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:4px}.branch-compare-item{display:flex;align-items:flex-start;gap:8px;padding:6px 10px;border-radius:6px;background:#f8fafc;border-left:3px solid #cbd5e1}.branch-compare-added{border-left-color:#16a34a;background:#f0fdf4}.branch-compare-removed{border-left-color:#dc2626;background:#fef2f2}.branch-compare-changed{border-left-color:#d97706;background:#fffbeb}.branch-compare-kind{font-weight:700;font-family:ui-monospace,monospace;width:14px;text-align:center}.branch-compare-added .branch-compare-kind{color:#16a34a}.branch-compare-removed .branch-compare-kind{color:#dc2626}.branch-compare-changed .branch-compare-kind{color:#d97706}.branch-compare-content{flex:1;min-width:0}.branch-compare-label{font-weight:500;color:#0f172a}.branch-compare-delta{display:flex;align-items:center;gap:6px;margin-top:2px;font-family:ui-monospace,monospace;font-size:11px;color:#475569;flex-wrap:wrap}.branch-compare-before{text-decoration:line-through;color:#dc2626}.branch-compare-after{color:#16a34a}.branch-compare-sep{color:#94a3b8}.branch-compare-footer{display:flex;align-items:center;justify-content:space-between;padding:10px 16px;border-top:1px solid #f1f5f9;background:#f8fafc;border-radius:0 0 10px 10px}.branch-compare-dismiss{background:#0ea5e9;color:#fff;border:none;border-radius:6px;padding:6px 14px;font-size:12px;font-weight:600;cursor:pointer}.branch-compare-dismiss:hover{background:#0284c7}.llm-assistant-panel{position:fixed;top:70px;right:16px;width:420px;max-height:calc(100vh - 100px);display:flex;flex-direction:column;background:#fff;border:1px solid #e2e8f0;border-top:3px solid #8b5cf6;border-radius:8px;box-shadow:0 18px 40px #0f172a2e;font-size:12px;color:#1f2937;z-index:9998}.llm-assistant-header{display:flex;align-items:center;gap:6px;padding:8px 10px;border-bottom:1px solid #f1f5f9}.llm-assistant-tabs{display:flex;gap:4px;flex:1}.llm-assistant-tab{background:none;border:1px solid transparent;padding:4px 10px;border-radius:4px;font-size:11px;font-weight:600;color:#64748b;cursor:pointer}.llm-assistant-tab:hover{background:#f1f5f9}.llm-assistant-tab.active{background:#f3e8ff;color:#6d28d9;border-color:#d8b4fe}.llm-assistant-close{background:none;border:none;color:#94a3b8;font-size:20px;line-height:1;cursor:pointer;padding:0 6px}.llm-assistant-close:hover{color:#334155}.llm-assistant-body{flex:1;padding:10px 12px;overflow-y:auto;min-height:180px}.llm-assistant-hint{color:#94a3b8;font-style:italic;font-size:11px;line-height:1.5}.llm-assistant-turn{margin-bottom:10px;padding:8px 10px;border-radius:6px}.llm-assistant-turn-user{background:#f1f5f9}.llm-assistant-turn-assistant{background:#faf5ff}.llm-assistant-turn-error{background:#fef2f2;color:#991b1b}.llm-assistant-turn-role{font-size:9px;font-weight:700;letter-spacing:.4px;text-transform:uppercase;color:#64748b;margin-bottom:3px}.llm-assistant-turn-text{white-space:pre-wrap;line-height:1.45;font-size:12px}.llm-assistant-loading{color:#8b5cf6}.llm-assistant-spinner{display:inline-block;width:10px;height:10px;border-radius:50%;border:2px solid rgba(139,92,246,.25);border-top-color:#8b5cf6;animation:engine-toast-spin .8s linear infinite;vertical-align:middle;margin-right:4px}.llm-assistant-compose{display:flex;gap:6px;padding:8px 10px;border-top:1px solid #f1f5f9}.llm-assistant-input{flex:1;padding:6px 8px;border:1px solid #cbd5e1;border-radius:4px;font:inherit;resize:vertical;min-height:40px;box-sizing:border-box}.llm-assistant-input:focus{outline:none;border-color:#8b5cf6}.llm-assistant-send{background:#8b5cf6;color:#fff;border:none;border-radius:4px;padding:4px 12px;font-size:11px;font-weight:600;cursor:pointer}.llm-assistant-send:hover:not(:disabled){background:#7c3aed}.llm-assistant-send:disabled{opacity:.5;cursor:not-allowed}.llm-assistant-audit-intro{color:#64748b;font-size:11px;line-height:1.5;margin-bottom:10px}.llm-assistant-audit-run{background:#8b5cf6;color:#fff;border:none;border-radius:4px;padding:6px 14px;font-size:12px;font-weight:600;cursor:pointer}.llm-assistant-audit-run:hover:not(:disabled){background:#7c3aed}.llm-assistant-audit-run:disabled{opacity:.5;cursor:not-allowed}.llm-assistant-audit-error{margin-top:10px;padding:8px 10px;background:#fef2f2;color:#991b1b;border-radius:4px;font-size:11px}.llm-assistant-audit-empty{margin-top:10px;padding:8px 10px;background:#f0fdf4;color:#166534;border-radius:4px}.llm-assistant-audit-list{list-style:none;padding:0;margin:10px 0 0}.llm-assistant-audit-item{padding:8px 10px;margin-bottom:6px;border-left:3px solid #cbd5e1;border-radius:0 4px 4px 0;background:#f8fafc}.llm-assistant-audit-item.is-clickable{cursor:pointer}.llm-assistant-audit-item.is-clickable:hover{background:#f1f5f9}.llm-assistant-audit-info{border-left-color:#0ea5e9}.llm-assistant-audit-warn{border-left-color:#f59e0b}.llm-assistant-audit-error{border-left-color:#dc2626;background:#fef2f2}.llm-assistant-audit-top{display:flex;gap:8px;align-items:center;margin-bottom:3px}.llm-assistant-audit-sev{font-size:9px;font-weight:700;letter-spacing:.4px;padding:1px 6px;border-radius:3px;background:#0f172a0f}.llm-assistant-audit-cat{font-size:10px;color:#64748b;font-weight:500}.llm-assistant-audit-msg{font-size:12px;line-height:1.4}.gravity-chart-annotation-pin{width:16px;height:16px;padding:0;border-radius:50% 50% 50% 0;transform:rotate(-45deg);border:2px solid #fff;box-shadow:0 1px 3px #0f172a59;cursor:pointer;font-size:8px;line-height:12px;color:#fff;z-index:6}.gravity-chart-annotation-pin:hover{transform:rotate(-45deg) scale(1.15);box-shadow:0 2px 6px #0f172a73}.annotation-editor{background:#fff;border:1px solid #e2e8f0;border-top:3px solid #0ea5e9;border-radius:8px;box-shadow:0 10px 30px #0f172a26;padding:10px 12px;font-size:12px;color:#1f2937;z-index:9999}.annotation-editor-header{display:flex;align-items:center;gap:6px;margin-bottom:4px}.annotation-editor-title{flex:1;font-weight:600;font-size:12px}.annotation-editor-close{background:none;border:none;color:#94a3b8;font-size:18px;line-height:1;cursor:pointer;padding:0 4px}.annotation-editor-close:hover{color:#334155}.annotation-editor-meta{font-size:11px;color:#64748b;margin-bottom:6px}.annotation-editor-author{margin-left:4px}.annotation-editor-text{width:100%;resize:vertical;min-height:80px;padding:6px 8px;border:1px solid #cbd5e1;border-radius:4px;font-family:inherit;font-size:12px;box-sizing:border-box}.annotation-editor-text:focus{outline:none;border-color:#0ea5e9}.annotation-editor-actions{display:flex;align-items:center;gap:6px;margin-top:8px}.annotation-editor-cancel,.annotation-editor-save,.annotation-editor-delete{border:1px solid #cbd5e1;background:#fff;color:#334155;padding:4px 10px;border-radius:4px;font-size:11px;font-weight:600;cursor:pointer}.annotation-editor-cancel:hover{background:#f1f5f9}.annotation-editor-save{background:#0ea5e9;color:#fff;border-color:#0ea5e9}.annotation-editor-save:hover:not(:disabled){background:#0284c7}.annotation-editor-save:disabled{opacity:.5;cursor:not-allowed}.annotation-editor-delete{color:#dc2626;border-color:#fecaca}.annotation-editor-delete:hover{background:#fef2f2}.root-cause-panel{background:#fff;border:1px solid #e2e8f0;border-top:3px solid #0ea5e9;border-radius:8px;box-shadow:0 10px 30px #0f172a26;padding:12px 14px;font-size:12px;color:#1f2937;z-index:9999;max-height:70vh;overflow-y:auto}.root-cause-panel-header{display:flex;align-items:center;gap:6px;margin-bottom:6px}.root-cause-panel-title{flex:1;font-weight:600;font-size:12px;color:#0284c7}.root-cause-panel-close{background:none;border:none;color:#94a3b8;font-size:18px;line-height:1;cursor:pointer;padding:0 4px}.root-cause-panel-close:hover{color:#334155}.root-cause-panel-kpi{font-weight:600;font-size:13px;margin-bottom:2px}.root-cause-panel-meta{display:flex;flex-wrap:wrap;gap:6px;align-items:center;font-size:11px;color:#64748b}.root-cause-panel-zone-chip{padding:1px 6px;border-radius:3px;font-size:10px;font-weight:600}.root-cause-panel-section-title{margin-top:10px;margin-bottom:4px;font-size:10px;font-weight:700;letter-spacing:.4px;text-transform:uppercase;color:#64748b}.root-cause-panel-empty{font-size:11px;color:#94a3b8;font-style:italic;padding:4px 0}.root-cause-panel-list{list-style:none;padding:0;margin:0}.root-cause-panel-item{display:flex;gap:8px;padding:8px 6px;border-top:1px solid #f1f5f9;border-radius:4px}.root-cause-panel-item:first-child{border-top:none}.root-cause-panel-item.is-clickable{cursor:pointer}.root-cause-panel-item.is-clickable:hover{background:#f8fafc}.root-cause-panel-item-icon{font-size:16px;line-height:1;flex-shrink:0;margin-top:1px}.root-cause-panel-item-body{flex:1;min-width:0}.root-cause-panel-item-label{display:flex;align-items:center;justify-content:space-between;gap:8px}.root-cause-panel-item-kind{font-size:9px;font-weight:700;letter-spacing:.3px;text-transform:uppercase;color:#64748b}.root-cause-panel-item-contrib{font-family:JetBrains Mono,monospace;font-size:11px;color:#dc2626;font-weight:600}.root-cause-panel-item-main{font-weight:500;margin-top:2px}.root-cause-panel-item-detail{font-size:10px;color:#64748b;margin-top:2px;line-height:1.4}.chart-tooltip-rc-btn{margin-top:6px;width:100%;background:#f0f9ff;color:#0284c7;border:1px solid #bae6fd;border-radius:4px;padding:4px 8px;font-size:11px;font-weight:600;cursor:pointer}.chart-tooltip-rc-btn:hover{background:#0ea5e9;color:#fff;border-color:#0ea5e9}.prescriptive-bubble{background:#fff;border:1px solid #e2e8f0;border-top:3px solid #f59e0b;border-radius:8px;box-shadow:0 10px 30px #0f172a26;padding:12px 14px;font-size:12px;color:#1f2937;z-index:9999}.prescriptive-bubble-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:6px}.prescriptive-bubble-close{background:none;border:none;color:#94a3b8;font-size:18px;line-height:1;cursor:pointer;padding:0 4px}.prescriptive-bubble-close:hover{color:#334155}.prescriptive-bubble-kpi{font-weight:600;font-size:13px;margin-bottom:2px}.prescriptive-bubble-meta{display:flex;flex-wrap:wrap;gap:6px;align-items:center;font-size:11px;color:#64748b}.prescriptive-bubble-zone-chip{padding:1px 6px;border-radius:3px;font-size:10px;font-weight:600}.prescriptive-bubble-section-title{margin-top:10px;margin-bottom:4px;font-size:10px;font-weight:700;letter-spacing:.4px;text-transform:uppercase;color:#64748b}.prescriptive-bubble-empty{font-size:11px;color:#94a3b8;font-style:italic;padding:4px 0}.prescriptive-bubble-levers{list-style:none;padding:0;margin:0}.prescriptive-bubble-lever{padding:6px 0;border-top:1px solid #f1f5f9}.prescriptive-bubble-lever:first-child{border-top:none}.prescriptive-bubble-lever-main{display:flex;align-items:center;gap:8px}.prescriptive-bubble-lever-label{flex:1;font-weight:500}.prescriptive-bubble-lever-delta{font-family:JetBrains Mono,monospace;font-size:11px}.prescriptive-bubble-lever-apply{background:#f59e0b;color:#fff;border:none;border-radius:4px;padding:3px 8px;font-size:10px;font-weight:600;cursor:pointer}.prescriptive-bubble-lever-apply:hover{background:#d97706}.prescriptive-bubble-lever-detail{font-size:10px;color:#64748b;margin-top:2px;line-height:1.4}.prescriptive-bubble-footer{margin-top:10px;padding-top:8px;border-top:1px solid #f1f5f9;text-align:right}.prescriptive-bubble-engine{background:none;border:1px solid #0ea5e9;color:#0284c7;border-radius:4px;padding:4px 10px;font-size:11px;font-weight:600;cursor:pointer}.prescriptive-bubble-engine:hover{background:#0ea5e9;color:#fff}.gravity-chart canvas.is-grabbable{cursor:grab}.gravity-chart canvas.is-dragging{cursor:grabbing}@keyframes gc-handle-pulse{0%,to{transform:scale(1);opacity:.9}50%{transform:scale(1.12);opacity:.6}}.gravity-chart-pills{position:absolute;top:8px;left:12px;display:flex;gap:4px;pointer-events:none;z-index:3}.gravity-chart-pills .maturity-pill{margin-left:0}.gravity-chart canvas{display:block;width:100%;height:100%}.chart-tooltip{pointer-events:none;z-index:100;background:#fff;border:1px solid #e2e8f0;border-radius:10px;padding:10px 14px;box-shadow:0 6px 20px #0000001f;font-size:12px;max-width:260px;min-width:180px;overflow:hidden;word-wrap:break-word;overflow-wrap:break-word}.chart-tooltip-rich{max-width:340px;overflow:hidden;position:relative}.chart-tooltip-header{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:6px}.chart-tooltip-kpi-name{font-weight:700;color:#1e293b;font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}.chart-tooltip-type{font-size:10px;color:#94a3b8;background:#f1f5f9;padding:1px 6px;border-radius:10px}.chart-tooltip-score-row{display:flex;align-items:baseline;gap:8px;margin-bottom:2px}.chart-tooltip-score{font-size:20px;font-weight:700;line-height:1}.chart-tooltip-zone{font-size:11px;font-weight:500}.chart-tooltip-timestep{font-size:10px;color:#94a3b8;margin-bottom:4px;display:flex;align-items:center;gap:6px}.tooltip-step-num{font-size:9px;color:#cbd5e1;font-family:monospace}.tooltip-date{font-size:10px;color:#94a3b8;margin-top:2px}.chart-tooltip-divider{border-top:1px solid #f1f5f9;margin:8px 0}.chart-tooltip-formula-title{font-size:10px;font-weight:600;color:#64748b;text-transform:uppercase;letter-spacing:.04em;margin-bottom:5px}.chart-tooltip-formula-row{display:flex;justify-content:space-between;align-items:center;gap:8px;font-size:11px;color:#475569;margin-bottom:3px}.chart-tooltip-child-name{color:#64748b;flex-shrink:0;max-width:100px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chart-tooltip-child-calc{color:#334155;font-variant-numeric:tabular-nums}.chart-tooltip-formula-total{font-size:11px;font-weight:600;color:#1e293b;border-top:1px solid #f1f5f9;padding-top:4px;margin-top:4px}.chart-tooltip-hint{font-size:10px;color:#64748b;font-style:italic;margin-top:6px;line-height:1.4}.chart-tooltip-click-hint{margin-top:6px;color:#0891b2;font-size:10px}.chart-tooltip-conditions-title{font-size:10px;font-weight:600;color:#64748b;text-transform:uppercase;letter-spacing:.04em;margin-bottom:3px}.chart-tooltip-condition-row{display:flex;justify-content:space-between;align-items:center;gap:8px;font-size:11px;padding:1px 0}.chart-tooltip-condition-label{color:#475569;flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.chart-tooltip-condition-delta{font-family:monospace;font-weight:700;font-size:11px;flex-shrink:0}.chart-tooltip-conditions-overflow{font-size:10px;color:#94a3b8;margin-top:2px}.chart-tooltip-pinned{border:1.5px solid #3b82f6;box-shadow:0 4px 20px #3b82f640;pointer-events:auto}.chart-tooltip-close{position:absolute;top:4px;right:6px;background:none;border:none;color:#94a3b8;font-size:16px;cursor:pointer;padding:0 4px;line-height:1}.chart-tooltip-close:hover{color:#1e293b}.chart-tooltip-impact-block{margin:4px 0 6px;padding:4px 6px;background:#f8fafc;border-radius:4px;border-left:2px solid #cbd5e1}.chart-tooltip-impact-header{display:flex;align-items:center;gap:6px;font-size:11px}.chart-tooltip-impact-type{font-weight:700;font-size:10px;text-transform:uppercase;color:#64748b;background:#e2e8f0;padding:0 4px;border-radius:3px;flex-shrink:0}.chart-tooltip-impact-thresholds{display:flex;flex-wrap:wrap;gap:4px;margin:3px 0 2px}.chart-tooltip-threshold-chip{font-size:10px;padding:1px 5px;border-radius:3px;font-family:monospace}.chart-tooltip-threshold-chip.met{background:#dcfce7;color:#166534}.chart-tooltip-threshold-chip.unmet{background:#fee2e2;color:#991b1b}.chart-tooltip-threshold-chip.impact-delta{background:#ede9fe;color:#5b21b6}.chart-tooltip-impact-delta{display:flex;align-items:baseline;gap:6px;font-size:11px;margin-top:2px}.chart-tooltip-impact-delta>span:first-child{font-family:monospace;font-weight:700}.chart-tooltip-impact-weight{font-size:10px;color:#64748b}.chart-tooltip-impact-net{font-size:12px;font-weight:700;font-family:monospace;margin-top:4px;padding-top:4px;border-top:1px solid #e2e8f0}.chart-tooltip-name{font-weight:600;color:#1e293b}.chart-tooltip-dot{width:8px;height:8px;border-radius:50%;display:inline-block}.chart-tooltip-row{color:#64748b;margin:2px 0}.chart-tooltip-link{margin-top:6px;color:#0891b2;font-size:11px}.zoom-slider-vertical{position:relative;width:40px;flex-shrink:0;background:#fafbfc;border-right:1px solid #f1f5f9}.zoom-label-v{font-size:10px;font-weight:600;color:#64748b;font-family:JetBrains Mono,monospace;text-align:center;min-width:28px}.zoom-track-v{position:absolute;top:0;right:0;bottom:0;left:0;cursor:pointer}.zoom-rail-v{position:absolute;top:0;bottom:0;left:50%;width:4px;transform:translate(-50%);background:#e2e8f0;border-radius:2px}.zoom-range-v{position:absolute;left:50%;width:4px;transform:translate(-50%);background:linear-gradient(180deg,#0d9488,#0891b2);border-radius:2px}.zoom-thumb-v{position:absolute;left:50%;width:14px;height:14px;border-radius:50%;background:#fff;border:2px solid #0d9488;transform:translate(-50%,50%);cursor:ns-resize;transition:box-shadow .15s;z-index:2}.zoom-thumb-v:hover,.zoom-thumb-v.active{box-shadow:0 0 0 4px #0d948833}.zoom-thumb-current{position:absolute;left:50%;width:12px;height:12px;border-radius:50%;background:#f59e0b;border:2px solid #fff;box-shadow:0 0 0 1px #f59e0b,0 2px 4px #f59e0b59;transform:translate(-50%,50%);cursor:ns-resize;transition:box-shadow .15s;z-index:3}.zoom-thumb-current:hover,.zoom-thumb-current.active{box-shadow:0 0 0 4px #f59e0b4d}.zoom-thumb-current-label{position:absolute;left:16px;top:50%;transform:translateY(-50%);padding:2px 6px;border-radius:3px;background:#f59e0b;color:#fff;font-size:10px;font-weight:600;white-space:nowrap;pointer-events:none}.zoom-reset-v{position:absolute;bottom:2px;left:50%;transform:translate(-50%);padding:2px 4px;border:none;background:none;color:#94a3b8;font-size:14px;cursor:pointer;line-height:1;z-index:4}.zoom-reset-v:hover{color:#334155}.kpi-tree-panel{flex:1;display:flex;flex-direction:column;overflow:hidden;background:#fafbfc}.kpi-tree-header{display:flex;align-items:center;gap:6px;padding:8px 10px;font-size:11px;font-weight:600;color:#64748b;text-transform:uppercase;letter-spacing:.04em;border-bottom:1px solid #f1f5f9;flex-shrink:0;-webkit-user-select:none;user-select:none}.kpi-compare-btn{margin-left:auto;padding:3px 10px;border:1px solid #e2e8f0;border-radius:4px;background:#fff;color:#64748b;font-size:11px;cursor:pointer}.kpi-compare-btn.active{background:#7c3aed;color:#fff;border-color:#7c3aed}.kpi-tree-body{flex:1;overflow-y:auto;padding:4px 0}.kpi-tree-empty{padding:20px;text-align:center;color:#94a3b8;font-size:13px}.kpi-tree-row{display:flex;align-items:center;gap:4px;padding:5px 8px;min-height:32px;font-size:11px;cursor:pointer;transition:background .15s,opacity .2s}.kpi-tree-row:hover,.kpi-tree-row.hovered{background:#f1f5f9}.kpi-tree-row.selected{background:#eff6ff;border-left:2px solid #2563eb}.kpi-tree-row.selected .kpi-tree-name{color:#1d4ed8;font-weight:600}.kpi-tree-row.dimmed{opacity:.45}.kpi-tree-check{width:14px;height:14px;accent-color:#7c3aed}.kpi-tree-toggle{width:16px;height:16px;border:none;background:none;color:#94a3b8;font-size:9px;cursor:pointer;padding:0;display:flex;align-items:center;justify-content:center}.kpi-tree-toggle-spacer{width:16px}.kpi-tree-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.kpi-tree-name{flex:1;color:#1e293b;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.kpi-drift-badge{font-size:11px;color:#dc2626;flex-shrink:0;animation:driftPulse 1.8s ease-in-out infinite;cursor:help}@keyframes driftPulse{0%,to{opacity:1}50%{opacity:.4}}.kpi-tree-type-icon{font-size:8px;color:#cbd5e1;flex-shrink:0;line-height:1}.kpi-tree-section-divider{font-size:10px;font-weight:600;color:#0369a1;background:#e0f2fe;padding:4px 10px;letter-spacing:.04em;text-transform:uppercase;border-top:1px solid #bae6fd;margin-top:4px}.kpi-tree-kbi-row{border-left:2px solid #38bdf8}.kpi-tree-kbi-row .kpi-tree-score{font-family:JetBrains Mono,monospace;font-size:11px}.kpi-tree-score{font-weight:600;font-family:JetBrains Mono,monospace;font-size:11px;color:#334155;width:0;overflow:hidden;opacity:0;flex-shrink:0;transition:opacity .15s,width .15s;white-space:nowrap}.kpi-tree-trend{font-size:11px;font-family:JetBrains Mono,monospace;width:0;overflow:hidden;opacity:0;flex-shrink:0;transition:opacity .15s,width .15s;white-space:nowrap}.kpi-tree-row:hover .kpi-tree-score,.kpi-tree-row.selected .kpi-tree-score,.kpi-tree-row.hovered .kpi-tree-score{width:36px;opacity:1}.kpi-tree-row:hover .kpi-tree-trend,.kpi-tree-row.selected .kpi-tree-trend,.kpi-tree-row.hovered .kpi-tree-trend{width:44px;opacity:1}.trend-up{color:#059669}.trend-down{color:#dc2626}.trend-neutral{color:#94a3b8}.kpi-tree-filter-btn{opacity:0;width:0;overflow:hidden;border:none;background:none;cursor:pointer;font-size:12px;padding:0;flex-shrink:0;transition:opacity .15s,width .15s}.kpi-tree-row:hover .kpi-tree-filter-btn{opacity:1;width:16px}.conditions-tab{display:flex;flex-direction:column;height:100%;min-height:0;overflow:hidden}.conditions-subtabs{display:flex;flex-wrap:wrap;gap:2px;padding:12px 20px;background:#fff;border-bottom:1px solid #e2e8f0}.conditions-subtab-desc{width:100%;font-size:11px;color:#64748b;line-height:1.35;margin-top:6px;padding-top:6px;border-top:1px solid #f1f5f9}.conditions-subtab{display:inline-flex;align-items:center;gap:6px;padding:6px 18px;border:1px solid #e2e8f0;border-radius:6px;background:#fff;color:#64748b;font-size:12px;font-weight:500;cursor:pointer;transition:all .2s}.conditions-subtab-count{display:inline-flex;align-items:center;justify-content:center;min-width:18px;height:18px;padding:0 5px;border-radius:9px;font-size:10px;font-weight:600;background:#e2e8f0;color:#475569}.conditions-subtab.active .conditions-subtab-count{background:#fff3;color:#fff}.conditions-subtab.active{background:#1e293b;color:#fff;border-color:#1e293b}.conditions-subtab:hover:not(.active){background:#f1f5f9;color:#334155}.conditions-summary{display:flex;gap:12px;padding:10px 20px;background:#f8fafc;border-bottom:1px solid #e2e8f0}.summary-item{display:flex;align-items:center;gap:6px;font-size:12px;font-weight:500;padding:3px 10px;border-radius:12px}.summary-met{background:#dcfce7;color:#166534}.summary-unmet{background:#fef2f2;color:#991b1b}.summary-disabled{background:#f1f5f9;color:#64748b}.conditions-list{flex:1;min-height:0;overflow-y:auto;padding:12px 20px;display:flex;flex-direction:column;gap:8px}.conditions-empty{text-align:center;color:#94a3b8;padding:40px;font-size:13px}.triggering-card{background:#fff;border:1px solid #e2e8f0;border-radius:8px;margin-bottom:6px;overflow:hidden}.triggering-card.triggered{border-color:#86efac;background:#f0fdf4}.triggering-card-row{display:flex;align-items:center;gap:8px;padding:8px 12px;cursor:pointer;font-size:13px}.triggering-card-row:hover{background:#00000005}.triggering-card-name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:500}.triggering-card-nature{font-size:10px;font-weight:600;flex-shrink:0}.triggering-card-nature.risk{color:#dc2626}.triggering-card-nature.opportunity{color:#16a34a}.triggering-card-progress{font-size:10px;font-weight:700;color:#92400e;background:#f59e0b26;padding:1px 6px;border-radius:8px;flex-shrink:0}.triggering-card-progress.all-met{color:#166534;background:#16a34a1f}.triggering-card-status{font-size:10px;font-weight:700;color:#dc2626;flex-shrink:0}.triggering-card-status.triggered{color:#16a34a}.triggering-card-detail{padding:6px 12px 10px;border-top:1px solid #f1f5f9;background:#fafbfc;display:flex;flex-direction:column;gap:4px}.triggering-condition-row{display:flex;align-items:flex-start;gap:6px;font-size:12px;padding:6px 0;border-bottom:1px solid #f1f5f9}.triggering-condition-row:last-child{border-bottom:none}.triggering-condition-row>.param-status-dot{margin-top:4px}.triggering-condition-source{flex:0 0 auto;min-width:60px;max-width:100px;font-size:11px;font-weight:500;cursor:pointer;color:#1e40af;word-break:break-word}.triggering-condition-source:hover{text-decoration:underline}.triggering-condition-params-table{flex:1;min-width:0;display:grid;grid-template-columns:auto auto 28px 40px auto;gap:1px 3px;align-items:center;font-size:10px}.triggering-param-name{color:#475569;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.triggering-param-value{font-family:monospace;font-size:10px;color:#1e293b;text-align:right}.triggering-param-row .cond-op-select,.triggering-condition-params-table .cond-op-select{width:28px;font-size:10px;padding:0;border:1px solid #e2e8f0}.triggering-param-row .cond-val-input,.triggering-condition-params-table .cond-val-input{width:40px;font-size:10px;padding:0 2px;border:1px solid #e2e8f0}.triggering-actualities{display:flex;flex-direction:column;gap:6px;margin-top:4px;padding-top:6px;border-top:1px dashed #e2e8f0;font-size:11px;color:#64748b}.triggering-actualities-label{font-weight:500;flex-shrink:0}.triggering-impact-target{display:flex;flex-direction:column;gap:2px;padding-left:12px}.triggering-actuality-chip{font-size:11px;color:#1e40af;cursor:pointer;background:#1e40af0f;padding:1px 6px;border-radius:4px;width:fit-content}.triggering-actuality-chip:hover{text-decoration:underline;background:#1e40af1f}.triggering-resolved-impacts{padding-left:8px;display:flex;flex-direction:column;gap:1px}.condition-card{background:#fff;border:1px solid #f1f5f9;border-radius:10px;transition:box-shadow .15s,border-color .15s}.condition-card:hover{border-color:#e2e8f0;box-shadow:0 2px 8px #0000000a}.condition-card.disabled{opacity:.55}.condition-row{display:flex;align-items:center;gap:8px;padding:10px 14px;cursor:pointer;-webkit-user-select:none;user-select:none}.condition-row:hover{background:#f8fafc}.condition-dot{width:10px;height:10px;border-radius:50%;flex-shrink:0}.status-met{background:#22c55e}.status-unmet{background:#ef4444}.status-disabled{background:#94a3b8}.condition-name{flex:1;font-size:13px;font-weight:500;color:#1e293b}.condition-badge{padding:2px 8px;border-radius:4px;font-size:10px;font-weight:600;color:#fff}.condition-thresholds-summary{display:flex;flex-wrap:wrap;gap:3px;flex-shrink:1;min-width:0}.condition-threshold-chip{font-size:10px;font-family:JetBrains Mono,monospace;color:#7c3aed;background:#7c3aed14;padding:1px 5px;border-radius:3px;white-space:nowrap}.condition-chevron{font-size:10px;color:#94a3b8}.condition-detail{padding:8px 14px 12px;border-top:1px solid #f1f5f9;background:#fafbfc}.condition-link{display:flex;align-items:center;gap:8px;margin-bottom:10px}.condition-node-badge{display:inline-flex;align-items:center;gap:4px;padding:3px 10px;border-radius:6px;font-size:11px;font-weight:500;color:#fff}.condition-arrow{color:#94a3b8;font-size:14px}.condition-description{margin:4px 0}.condition-description-input{width:100%;font-size:11px;font-style:italic;color:#64748b;padding:3px 6px;border:1px solid transparent;border-radius:4px;background:transparent;outline:none;transition:border-color .15s,background .15s}.condition-description-input:hover{border-color:#e2e8f0;background:#f8fafc}.condition-description-input:focus{border-color:#7c3aed;background:#fff;color:#334155;font-style:normal}.condition-description-input::placeholder{color:#cbd5e1;font-style:italic}.condition-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.condition-toggle{display:flex;align-items:center;gap:6px;font-size:11px;color:#64748b;cursor:pointer}.condition-toggle input{accent-color:#22c55e}.condition-edit-btn{padding:4px 10px;border:1px solid #0891b2;border-radius:4px;background:transparent;color:#0891b2;font-size:11px;cursor:pointer}.condition-edit-btn:hover{background:#0891b2;color:#fff}.condition-params-btn{padding:4px 10px;border:1px solid #e2e8f0;border-radius:4px;background:#fff;color:#64748b;font-size:11px;cursor:pointer}.condition-params-btn:hover{background:#f1f5f9}.condition-params{padding:8px 14px 12px;border-top:1px solid #f1f5f9;background:#f8fafc}.param-key{min-width:80px;font-weight:500;color:#475569}.param-value{min-width:80px;font-family:JetBrains Mono,monospace;color:#1e293b;font-size:11px}.param-bar-track{flex:1;height:6px;background:#e2e8f0;border-radius:3px;overflow:hidden}.param-bar-fill{height:100%;border-radius:3px;transition:width .3s ease}.bar-green{background:#22c55e}.bar-yellow{background:#f59e0b}.bar-red{background:#ef4444}.param-score{min-width:30px;text-align:right;font-family:JetBrains Mono,monospace;font-size:11px;color:#64748b}.param-mono{font-family:JetBrains Mono,monospace;font-size:11px}.condition-score-pill{padding:1px 8px;border-radius:10px;font-size:10px;font-weight:600;font-family:JetBrains Mono,monospace;background:#f1f5f9;color:#475569}.condition-params-header{display:flex;align-items:center;gap:8px;padding:4px 0 8px;margin-bottom:4px;border-bottom:1px solid #e2e8f0;font-size:10px;font-weight:600;color:#94a3b8;text-transform:uppercase;letter-spacing:.5px}.condition-params-header .param-col-name,.condition-param .param-col-name,.condition-params-header .param-col-value,.condition-param .param-col-value{min-width:80px;flex:0 0 80px}.condition-params-header .param-col-threshold,.condition-param .param-col-threshold{min-width:100px;flex:0 0 100px}.condition-params-header .param-col-status,.condition-param .param-col-status{min-width:40px;flex:0 0 40px;text-align:center;display:flex;align-items:center;justify-content:center;gap:4px}.param-status-dot{display:inline-block;width:10px;height:10px;border-radius:50%}.param-status-dot.met{background:#22c55e}.param-status-dot.unmet{background:#ef4444}.condition-gauge{flex-shrink:0;vertical-align:middle}.condition-gauge-empty{display:inline-block;width:18px}.condition-param{display:flex;align-items:center;gap:8px;padding:4px 0;font-size:12px}.condition-param .param-col-name{font-weight:500;color:#475569}.condition-param .param-col-value{color:#1e293b}.condition-param .param-col-threshold{display:flex;align-items:center;gap:2px}.cond-op-select{width:32px;font-size:11px;padding:1px 0;border:1px solid #e2e8f0;border-radius:3px;background:#fff;color:#7c3aed;font-weight:600;cursor:pointer}.cond-op-select:hover{border-color:#7c3aed}.cond-val-input{width:55px;font-size:11px;font-family:monospace;padding:1px 3px;border:1px solid #e2e8f0;border-radius:3px;outline:none}.cond-val-input:focus{border-color:#7c3aed;box-shadow:0 0 0 1px #7c3aed33}.cond-val-input::placeholder{color:#cbd5e1}.param-editable{cursor:pointer;border-radius:3px;padding:1px 3px;transition:background .12s}.param-editable:hover{background:#f1f5f9;outline:1px dashed #94a3b8}.param-editable.editing{background:#eff6ff;outline:1.5px solid #3b82f6;padding:0}.param-inline-input{width:100%;min-width:60px;max-width:110px;padding:1px 4px;border:none;background:transparent;font-size:11px;font-family:JetBrains Mono,monospace;color:#1e293b;outline:none}.condition-detail,.condition-params{animation:conditionSlide .2s ease}@keyframes conditionSlide{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.components-tab{display:flex;flex-direction:column;height:100%;overflow:hidden}.components-filter{display:flex;align-items:center;gap:10px;padding:12px 20px;background:#fff;border-bottom:1px solid #e2e8f0}.filter-kpi-tag{display:inline-flex;align-items:center;gap:4px;padding:4px 10px;background:#ede9fe;color:#7c3aed;border-radius:12px;font-size:11px;font-weight:500;cursor:pointer}.filter-kpi-tag:hover{background:#ddd6fe}.components-search{display:flex;align-items:center;gap:8px;flex:1;padding:6px 12px;border:1px solid #e2e8f0;border-radius:6px;background:#f8fafc}.components-search:focus-within{border-color:#0d9488;background:#fff}.components-search svg{color:#94a3b8;flex-shrink:0}.components-search input{border:none;background:transparent;outline:none;font-size:12px;color:#1e293b;width:100%}.components-list{flex:1;min-height:0;overflow-y:auto;padding:12px 20px;display:flex;flex-direction:column;gap:8px}.components-empty{text-align:center;color:#94a3b8;padding:40px;font-size:13px}.components-pagination{display:flex;align-items:center;justify-content:center;gap:10px;padding:8px 12px;border-top:1px solid #f1f5f9;flex-shrink:0}.comp-page-btn{background:none;border:1px solid #e2e8f0;border-radius:4px;width:28px;height:28px;cursor:pointer;font-size:16px;color:#475569;display:flex;align-items:center;justify-content:center;transition:background .15s}.comp-page-btn:hover:not(:disabled){background:#f1f5f9}.comp-page-btn:disabled{opacity:.35;cursor:default}.comp-page-label{font-size:12px;color:#64748b;min-width:48px;text-align:center}.component-card{position:relative;background:#fff;border:1px solid #e2e8f0;border-radius:8px;overflow:visible;transition:box-shadow .2s}.component-card:hover{box-shadow:0 2px 8px #0000000a}.component-nesting-line{position:absolute;left:-8px;top:0;bottom:0;width:2px;background:#e2e8f0;border-radius:1px}.component-header{display:flex;align-items:center;gap:8px;padding:10px 14px;cursor:pointer;-webkit-user-select:none;user-select:none}.component-header:hover{background:#f8fafc}.component-icon{font-size:16px}.component-icon.internal{filter:hue-rotate(100deg)}.component-name{flex:1;font-size:13px;font-weight:500;color:#1e293b}.component-subtype{padding:2px 8px;border-radius:4px;font-size:10px;font-weight:600}.component-subtype.internal{background:#dcfce7;color:#166534}.component-subtype.external{background:#dbeafe;color:#1e40af}.component-param-count{font-size:11px;color:#94a3b8}.component-edit-hover{font-size:11px;color:#0891b2;opacity:0;transition:opacity .15s;cursor:pointer}.component-header:hover .component-edit-hover{opacity:1}.component-edit-hover:hover{text-decoration:underline}.component-chevron{font-size:10px;color:#94a3b8}.component-body{border-top:1px solid #f1f5f9;padding:10px 14px;background:#fafbfc;animation:slideDown .2s ease}@keyframes slideDown{0%{opacity:0}to{opacity:1}}.component-no-params{color:#94a3b8;font-size:12px;padding:8px 0}.component-params-grid{display:flex;flex-direction:column;gap:2px}.comp-param-row-wrap{display:flex;flex-direction:column}.component-param-row{display:flex;align-items:center;gap:8px;padding:3px 0}.component-param-key{font-size:12px;font-weight:500;color:#475569;min-width:60px}.component-param-value{font-family:JetBrains Mono,monospace;font-size:11px;color:#1e293b;flex:1}.component-param-value.param-override-active{color:#2563eb;font-weight:600}.param-timestep-label{display:inline-block;margin-left:5px;font-size:10px;font-weight:600;color:#2563eb;background:#eff6ff;border:1px solid #bfdbfe;border-radius:3px;padding:0 4px;vertical-align:middle}.param-history-btn{margin-left:auto;border:1px solid #e2e8f0;background:#f8fafc;border-radius:4px;font-size:11px;font-family:monospace;color:#64748b;padding:1px 6px;cursor:pointer;transition:all .12s;flex-shrink:0}.param-history-btn:hover{background:#f1f5f9;border-color:#94a3b8}.param-history-btn.has-overrides{background:#eff6ff;border-color:#93c5fd;color:#2563eb;font-weight:600}.param-history-btn{font-family:inherit}.param-history-panel{margin:2px 0 6px 68px;border:1px solid #e2e8f0;border-radius:6px;background:#f8fafc;padding:6px 8px;font-size:11px}.param-history-header{font-size:11px;font-weight:600;color:#334155;padding-bottom:4px;margin-bottom:4px;border-bottom:1px solid #e2e8f0}.param-history-key-hint{font-weight:400;color:#94a3b8;font-family:monospace;font-size:10px}.param-history-row{display:flex;align-items:center;gap:8px;padding:2px 0;border-bottom:1px solid #f1f5f9}.param-history-row:last-child{border-bottom:none}.param-history-default{color:#94a3b8}.param-hist-t{min-width:34px;font-weight:600;color:#475569;font-family:monospace}.param-hist-val{flex:1;font-family:monospace;color:#1e293b}.param-hist-remove{border:none;background:none;color:#94a3b8;cursor:pointer;font-size:13px;padding:0 2px;line-height:1}.param-hist-remove:hover{color:#ef4444}.param-history-add{display:flex;align-items:center;gap:4px;margin-top:6px;padding-top:6px;border-top:1px dashed #e2e8f0}.param-hist-t-label{font-size:11px;color:#64748b;font-weight:600;font-family:monospace}.param-hist-t-input{width:44px;padding:2px 5px;border:1px solid #e2e8f0;border-radius:4px;font-size:11px;font-family:monospace;text-align:center}.param-hist-val-input{flex:1;padding:2px 6px;border:1px solid #e2e8f0;border-radius:4px;font-size:11px;font-family:monospace}.param-hist-add-btn{padding:2px 8px;border:1px solid #3b82f6;background:#eff6ff;color:#2563eb;border-radius:4px;font-size:13px;cursor:pointer;font-weight:600}.param-hist-add-btn:hover{background:#dbeafe}.component-children{margin-top:8px;padding-top:8px;border-top:1px solid #e2e8f0}.toolbar-steps-label{font-size:11px;color:#64748b;font-weight:500}.toolbar-steps-input{width:60px;padding:3px 6px;border:1px solid #e2e8f0;border-radius:4px;font-size:12px;text-align:center;color:#1e293b;background:#fff}.toolbar-steps-input:focus{outline:none;border-color:#0d9488}.perf-base-gran{background:#f1f5f9;color:#64748b;cursor:default;border-color:transparent;width:auto;min-width:50px}.steps-agg-hint{color:#94a3b8;font-size:11px}.kpi-tree-icon-btn{opacity:0;width:0;overflow:hidden;border:none;background:none;cursor:pointer;padding:0;color:#94a3b8;transition:opacity .15s,width .15s;display:flex;align-items:center;flex-shrink:0}.kpi-tree-row:hover .kpi-tree-icon-btn,.kpi-tree-icon-btn.active{opacity:1;width:16px}.kpi-tree-eye-btn.active{color:#dc2626}.kpi-tree-pin-btn.active{color:#7c3aed}.kpi-hidden-name{text-decoration:line-through;opacity:.5}.kpi-tree-badge-count{display:inline-flex;align-items:center;padding:1px 7px;border-radius:10px;font-size:10px;font-weight:600}.kpi-hidden-count{background:#fee2e2;color:#dc2626}.kpi-pinned-count{background:#ede9fe;color:#7c3aed}.condition-window-badge{display:inline-flex;align-items:center;padding:1px 7px;border-radius:10px;font-size:10px;font-weight:600;background:#dbeafe;color:#1e40af;font-family:JetBrains Mono,monospace;flex-shrink:0}.condition-window-badge.condition-window-always{background:#f0fdf4;color:#166534}.condition-card.inactive-at-time{opacity:.35;transition:opacity .2s}.condition-card.highlighted{border-color:#2563eb;box-shadow:0 0 0 2px #2563eb26}.condition-card.highlighted .condition-row{background:#eff6ff}.condition-delta-badge{display:inline-flex;align-items:center;padding:1px 7px;border-radius:10px;font-size:11px;font-weight:700;font-family:monospace;flex-shrink:0;transition:opacity .15s}.condition-impact-section{display:flex;align-items:center;gap:6px;padding:6px 10px;margin-bottom:6px;background:#f8fafc;border-radius:6px;border:1px solid #e2e8f0;flex-wrap:wrap}.condition-impact-label{font-size:10px;font-weight:600;color:#94a3b8;text-transform:uppercase;letter-spacing:.06em;flex-shrink:0}.condition-impact-kpis{font-size:11px;color:#475569;font-style:italic}.condition-window-editor{display:flex;align-items:center;gap:6px;margin-top:8px;padding-top:8px;border-top:1px dashed #e2e8f0}.condition-window-label{font-size:11px;color:#64748b;font-weight:500;white-space:nowrap}.condition-window-input{width:52px;padding:3px 6px;border:1px solid #e2e8f0;border-radius:4px;font-size:12px;font-family:JetBrains Mono,monospace;text-align:center;color:#1e293b}.condition-window-input:focus{outline:none;border-color:#2563eb}.summary-timestep{background:#dbeafe;color:#1e40af;font-family:JetBrains Mono,monospace}.tab-pane{display:none;flex:1;flex-direction:column;overflow:hidden;min-height:0;height:100%}.tab-pane.active{display:flex}.toolbar-view-toggle{gap:2px}.toolbar-separator{width:1px;height:18px;background:#e2e8f0;margin:0 4px;flex-shrink:0}.tb-btn-active{background:#eff6ff!important;color:#2563eb!important;border-color:#bfdbfe!important}.toolbar-view-stepper{display:flex;align-items:center;gap:4px}.toolbar-view-stepper .step-btn{display:inline-flex;align-items:center;gap:5px;padding:3px 9px 3px 4px;height:24px;background:#fff;color:#475569;border:1px solid #e2e8f0;border-radius:12px;font-size:12px;font-weight:500;cursor:pointer;transition:background .12s,border-color .12s,color .12s,box-shadow .12s}.toolbar-view-stepper .step-btn:hover{background:#f8fafc;border-color:#cbd5e1}.toolbar-view-stepper .step-num{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;border-radius:50%;background:#f1f5f9;color:#64748b;font-size:10px;font-weight:700;flex-shrink:0}.toolbar-view-stepper .step-icon{font-size:12px;line-height:1}.toolbar-view-stepper .step-label{white-space:nowrap}.toolbar-view-stepper .step-btn-active{background:#eff6ff;color:#1d4ed8;border-color:#93c5fd;box-shadow:0 0 0 1px #93c5fd inset,0 1px 2px #2563eb1f}.toolbar-view-stepper .step-btn-active .step-num{background:#2563eb;color:#fff}.toolbar-view-stepper .step-chevron{color:#94a3b8;font-size:11px;font-weight:700;-webkit-user-select:none;user-select:none;margin:0 2px}.toolbar-view-stepper .step-dot{color:#cbd5e1;font-size:14px;line-height:1;-webkit-user-select:none;user-select:none;margin:0 1px}.toolbar-view-stepper .step-refresh,.toolbar-view-stepper .step-3d{margin-left:2px}.toolbar-view-stepper .step-substeps{display:inline-flex;align-items:center;gap:4px;padding:0 8px;height:24px;background:#eff6ff;border:1px solid #bfdbfe;border-radius:12px;margin-left:-4px}.toolbar-view-stepper .step-sub-btn{border:none;background:transparent;padding:2px 6px;font-size:11px;color:#64748b;font-weight:500;cursor:pointer;border-radius:8px;transition:background .12s,color .12s}.toolbar-view-stepper .step-sub-btn:hover{color:#1e293b;background:#dbeafe}.toolbar-view-stepper .step-sub-btn-active{background:#2563eb;color:#fff}.toolbar-view-stepper .step-sub-btn-active:hover{background:#1d4ed8;color:#fff}.toolbar-view-stepper .step-peers{display:inline-flex;align-items:center;margin-left:4px}.toolbar-view-stepper .step-peer-avatar{box-sizing:border-box;width:16px;height:16px;border-radius:50%;color:#fff;font-size:8px;font-weight:700;line-height:1;text-align:center;font-family:system-ui,-apple-system,sans-serif;display:inline-flex;align-items:center;justify-content:center;border:1.5px solid #ffffff;margin-left:-3px;box-shadow:0 0 0 .5px #0f172a26;cursor:default;padding:0;overflow:hidden}.toolbar-view-stepper .step-peer-avatar:first-child{margin-left:0}.toolbar-view-stepper .step-peer-more{box-sizing:border-box;margin-left:-3px;padding:0 3px;height:16px;min-width:16px;border-radius:8px;background:#64748b;color:#fff;font-size:8px;font-weight:700;line-height:1;font-family:system-ui,-apple-system,sans-serif;display:inline-flex;align-items:center;justify-content:center;border:1.5px solid #ffffff}.toolbar-view-stepper .step-sub-btn .step-peer-avatar,.toolbar-view-stepper .step-sub-btn .step-peer-more{width:14px;height:14px;min-width:14px;font-size:8px;line-height:1;border-width:1.5px}.toolbar-view-stepper .step-sub-btn-active .step-peer-avatar,.toolbar-view-stepper .step-sub-btn-active .step-peer-more{border-color:#2563eb}.hitec-node{overflow:visible!important}.hitec-node-actions{position:absolute;left:50%;transform:translate(-50%);display:flex;gap:5px;z-index:100;pointer-events:all}.hitec-node-actions-bottom{bottom:-42px}.hitec-node-actions-top{top:-42px}.hitec-action-btn{display:flex;align-items:center;gap:3px;padding:3px 8px;border:1px solid #e2e8f0;background:#fff;border-radius:12px;font-size:11px;cursor:pointer;white-space:nowrap;box-shadow:0 2px 6px #0000001a;color:#334155;transition:border-color .12s,color .12s,background .12s}.hitec-action-btn:hover{border-color:#2563eb;color:#2563eb;background:#eff6ff}.kbi-panel{display:flex;flex-direction:column;height:100%;background:#fafafa}.kbi-panel-header{padding:10px 14px;border-bottom:1px solid #e2e8f0;display:flex;align-items:center;gap:8px;background:#fff}.kbi-panel-title{font-size:12px;font-weight:600;color:#1e293b}.kbi-panel-subtitle{font-size:11px;color:#94a3b8}.kbi-panel-scroll{flex:1;overflow-y:auto;padding:8px}.kbi-panel-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;gap:8px;color:#94a3b8;padding:24px;text-align:center}.kbi-panel-empty-icon{font-size:32px}.kbi-panel-empty-text{font-size:13px;font-weight:500;color:#64748b}.kbi-panel-empty-hint{font-size:11px;color:#94a3b8}.kbi-panel-item{background:#fff;border:1px solid #e2e8f0;border-radius:6px;margin-bottom:8px;overflow:hidden}.kbi-panel-item-header{display:flex;align-items:center;gap:6px;padding:7px 10px;border-bottom:1px solid #f1f5f9}.kbi-panel-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.kbi-panel-name{font-size:11px;font-weight:600;color:#1e293b;flex:1}.kbi-status-badge{font-size:10px;padding:1px 6px;border-radius:8px;font-weight:500}.kbi-status-ok{background:#dcfce7;color:#166534}.kbi-status-error{background:#fee2e2;color:#991b1b}.kbi-status-loading{background:#fef9c3;color:#854d0e}.kbi-status-idle{background:#ede9fe;color:#5b21b6}.kbi-status-simulated{background:#f1f5f9;color:#64748b;font-style:italic}.kbi-panel-table{font-size:11px}.kbi-panel-table-header{display:flex;background:#f8fafc;border-bottom:1px solid #f1f5f9;color:#94a3b8;font-weight:600;font-size:10px}.kbi-panel-table-row{display:flex;cursor:pointer;border-bottom:1px solid #f8fafc;transition:background .1s}.kbi-panel-table-row:hover{background:#eef2ff}.kbi-row-selected{background:#dbeafe!important}.kbi-panel-cell{padding:3px 8px;text-align:right}.kbi-panel-cell-t{flex:0 0 36px;text-align:left;color:#64748b}.kbi-panel-cell-raw{flex:1;font-family:monospace;color:#334155}.kbi-panel-cell-score{flex:0 0 50px;font-family:monospace;font-weight:600;color:#1e293b}.kbi-panel-cell-trend{flex:0 0 36px;text-align:center}.trend-up{color:#16a34a;font-weight:700}.trend-down{color:#dc2626;font-weight:700}.trend-flat{color:#94a3b8}.j2u-dialog-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0f172a80;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);display:flex;align-items:center;justify-content:center;z-index:2000}.j2u-dialog{background:#fff;border-radius:12px;box-shadow:0 20px 60px #00000040;width:520px;max-width:96vw;max-height:80vh;display:flex;flex-direction:column;overflow:hidden}.j2u-dialog-header{display:flex;align-items:center;gap:10px;padding:16px 18px 14px;border-bottom:1px solid #e2e8f0;flex-shrink:0}.j2u-dialog-title{font-size:14px;font-weight:600;color:#1e293b;flex:1}.j2u-dialog-steps{display:flex;gap:6px}.j2u-step-dot{width:22px;height:22px;border-radius:50%;background:#e2e8f0;color:#64748b;font-size:11px;font-weight:600;display:flex;align-items:center;justify-content:center}.j2u-step-dot.active{background:#6366f1;color:#fff}.j2u-step-dot.done{background:#22c55e;color:#fff}.j2u-close-btn{background:none;border:none;font-size:18px;color:#94a3b8;cursor:pointer;padding:0 2px;line-height:1}.j2u-close-btn:hover{color:#334155}.j2u-dialog-body{flex:1;min-height:0;overflow-y:auto;padding:18px;display:flex;flex-direction:column;gap:14px}.j2u-dialog-desc{font-size:13px;color:#475569;margin:0}.j2u-dialog-footer{padding:12px 18px;border-top:1px solid #e2e8f0;display:flex;justify-content:space-between;align-items:center;flex-shrink:0}.j2u-btn{padding:7px 16px;border-radius:7px;font-size:13px;font-weight:500;cursor:pointer;border:none;transition:background .15s}.j2u-btn-cancel{background:#f1f5f9;color:#475569}.j2u-btn-cancel:hover{background:#e2e8f0}.j2u-btn-primary{background:#6366f1;color:#fff}.j2u-btn-primary:hover{background:#4f46e5}.j2u-radio-group{display:flex;flex-direction:column;gap:8px}.j2u-radio-option{display:flex;align-items:flex-start;gap:10px;padding:11px 13px;border-radius:8px;border:1.5px solid #e2e8f0;cursor:pointer;transition:border-color .15s,background .15s}.j2u-radio-option input[type=radio]{margin-top:2px;flex-shrink:0;accent-color:#6366f1}.j2u-radio-option div{display:flex;flex-direction:column;gap:2px}.j2u-radio-option strong{font-size:13px;color:#1e293b}.j2u-radio-option span{font-size:12px;color:#64748b}.j2u-radio-option.selected{border-color:#6366f1;background:#f5f3ff}.j2u-drop-zone{border:2px dashed #c7d2fe;border-radius:10px;padding:28px 20px;text-align:center;cursor:pointer;color:#6366f1;font-size:13px;background:#f5f3ff;transition:background .15s,border-color .15s;line-height:1.6}.j2u-drop-zone:hover{background:#ede9fe;border-color:#818cf8}.j2u-drop-zone.loading{opacity:.7;cursor:wait}.j2u-drop-zone em{color:#818cf8;font-style:normal}.j2u-error{background:#fef2f2;border:1px solid #fca5a5;color:#b91c1c;border-radius:7px;padding:9px 12px;font-size:12px}.j2u-warning-banner{background:#fffbeb;border:1px solid #fcd34d;color:#92400e;border-radius:8px;padding:10px 14px;font-size:13px;font-weight:500}.j2u-mapping-table{border:1px solid #e2e8f0;border-radius:8px;overflow-y:auto;overflow-x:hidden;max-height:320px;flex-shrink:0}.j2u-mapping-header,.j2u-mapping-row{display:grid;grid-template-columns:100px 1fr 70px 120px;align-items:center;gap:0}.j2u-mapping-header{background:#f8fafc;border-bottom:1px solid #e2e8f0;font-size:11px;font-weight:600;color:#64748b;text-transform:uppercase;letter-spacing:.04em}.j2u-mapping-header span,.j2u-mapping-row span,.j2u-mapping-row select{padding:7px 10px}.j2u-mapping-row{border-bottom:1px solid #f1f5f9;font-size:13px}.j2u-mapping-row:last-child{border-bottom:none}.j2u-mapping-row:nth-child(2n){background:#fafafa}.j2u-archetype-badge{font-size:11px;font-weight:600;border-radius:4px;padding:3px 7px!important;display:inline-block}.j2u-arch-entity{background:#dbeafe;color:#1e40af}.j2u-arch-metric{background:#dcfce7;color:#166534}.j2u-arch-rule{background:#fef3c7;color:#92400e}.j2u-arch-relation{background:#f3e8ff;color:#6b21a8}.j2u-arch-event{background:#ffe4e6;color:#9f1239}.j2u-arch-simulation{background:#e0f2fe;color:#0c4a6e}.j2u-class-name{color:#1e293b;font-size:13px}.j2u-class-count{color:#64748b;font-size:12px}.j2u-type-select{border:1px solid #e2e8f0;border-radius:5px;font-size:12px;color:#334155;background:#fff;cursor:pointer;width:100%}.j2u-type-select:focus{outline:none;border-color:#6366f1}.j2u-type-readonly{color:#94a3b8;font-size:12px;font-style:italic}.j2u-mapping-summary{font-size:13px;color:#475569;background:#f8fafc;border-radius:7px;padding:9px 12px;border:1px solid #e2e8f0}.prop-unit-select{width:60px;font-size:11px;padding:2px 4px;border:1px solid #e2e8f0;border-radius:4px;background:#f8fafc}.prop-unit-add-btn{width:22px;height:22px;border:1px dashed #cbd5e1;border-radius:4px;background:transparent;cursor:pointer;font-size:13px;color:#64748b;display:flex;align-items:center;justify-content:center;flex-shrink:0}.prop-unit-add-btn:hover{border-color:#94a3b8;color:#475569}.param-unit-suffix{color:#94a3b8;font-size:.85em;margin-left:2px}.param-freq-hint{color:#cbd5e1;font-size:.8em;cursor:help}.kpi-tree-sources{display:flex;flex-wrap:wrap;gap:4px;padding:0 0 2px;margin-left:4px;align-items:center}.kpi-tree-formula{font-size:11px;color:#94a3b8;font-style:italic;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:200px}.kpi-tree-source-badge{font-size:10px;color:#64748b;background:#f1f5f9;border-radius:4px;padding:0 4px}.chart-tooltip-formula-expr{font-style:italic;color:#7c3aed;font-weight:500}.param-temporal-badge{font-size:9px;color:#2563eb;background:#eff6ff;border-radius:3px;padding:0 3px;margin-left:4px}.scenario-chain-formula{font-size:11px;color:#64748b;padding:2px 0 2px 16px;font-style:italic}.kpi-ctx-menu{z-index:1000;background:#fff;border:1px solid #e2e8f0;border-radius:8px;box-shadow:0 4px 16px #0000001f;padding:4px 0;min-width:180px;font-size:13px}.kpi-ctx-menu-title{padding:6px 12px 4px;font-weight:600;color:#334155;font-size:12px}.kpi-ctx-menu-subtitle{padding:4px 12px 2px;font-size:10px;color:#94a3b8;text-transform:uppercase;letter-spacing:.5px}.kpi-ctx-menu-item{display:block;width:100%;text-align:left;padding:5px 12px;border:none;background:none;cursor:pointer;color:#475569;font-size:13px}.kpi-ctx-menu-item:hover{background:#f1f5f9;color:#1e293b}.kpi-ctx-menu-divider{height:1px;background:#e2e8f0;margin:4px 0}.prop-field-optional label{font-style:italic;color:#78879a}.prop-field-optional input::placeholder{font-style:italic}.prop-field-required label{font-weight:600;color:#64748b}.prop-hint{font-size:10px;color:#64748b;font-style:italic;line-height:1.3;margin-top:2px}button:focus-visible,input:focus-visible,select:focus-visible{outline:2px solid #6366f1;outline-offset:1px}.prop-field input:disabled{background:#f1f5f9;color:#94a3b8;cursor:not-allowed;opacity:.7}.skip-link{position:absolute;top:-40px;left:0;background:#1e293b;color:#fff;padding:8px 16px;z-index:10000;font-size:13px;border-radius:0 0 8px;text-decoration:none;transition:top .2s}.skip-link:focus{top:0}.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}.save-indicator{font-size:11px;padding:2px 8px;border-radius:10px;white-space:nowrap;animation:fadeIn .2s ease}.save-indicator-saving{color:#64748b;background:#f1f5f9}.save-indicator-saved{color:#16a34a;background:#f0fdf4}.save-indicator-error{color:#dc2626;background:#fef2f2}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}.history-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0000004d;z-index:9000;display:flex;align-items:center;justify-content:center}.history-panel{background:#fff;border-radius:12px;box-shadow:0 8px 32px #0000002e;width:480px;max-height:70vh;display:flex;flex-direction:column;overflow:hidden}.history-header{display:flex;align-items:center;justify-content:space-between;padding:14px 18px;border-bottom:1px solid #f1f5f9}.history-title{font-size:14px;font-weight:600;color:#1e293b}.history-close{background:none;border:none;font-size:18px;color:#94a3b8;cursor:pointer;padding:0 4px}.history-close:hover{color:#475569}.history-body{overflow-y:auto;padding:8px 0;flex:1}.history-loading,.history-empty{text-align:center;padding:24px;color:#94a3b8;font-size:13px}.history-row{display:flex;align-items:center;justify-content:space-between;padding:8px 18px;border-bottom:1px solid #f8fafc;gap:10px}.history-row:hover{background:#f8fafc}.history-row-info{display:flex;align-items:center;gap:10px;font-size:12px;color:#64748b;flex:1;min-width:0}.history-version{font-weight:600;color:#1e293b;min-width:32px}.history-date{min-width:100px}.history-author{color:#94a3b8;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1}.history-size{color:#cbd5e1;min-width:50px;text-align:right}.history-restore-btn{background:#f1f5f9;border:1px solid #e2e8f0;border-radius:6px;padding:4px 10px;font-size:11px;color:#475569;cursor:pointer;white-space:nowrap}.history-restore-btn:hover{background:#e2e8f0;color:#1e293b}.history-day-header{padding:10px 18px 4px;font-size:11px;font-weight:600;color:#94a3b8;text-transform:uppercase;letter-spacing:.05em;border-top:1px solid #f1f5f9}.history-day-header:first-child{border-top:none}.history-row-manual{background:#fefce8}.history-row-manual:hover{background:#fef9c3}.history-row-restore{background:#f0fdf4}.history-row-restore:hover{background:#dcfce7}.history-type{font-size:10px;padding:1px 6px;border-radius:8px;white-space:nowrap}.history-type-auto{background:#f1f5f9;color:#94a3b8}.history-type-manual{background:#fef3c7;color:#92400e}.history-type-restore{background:#d1fae5;color:#065f46}.history-label{font-size:11px;color:#6366f1;font-style:italic;padding:0 18px 4px;margin-top:-4px}.health-badge{display:inline-flex;align-items:center;gap:3px;border:none;border-radius:10px;padding:2px 8px;font-size:11px;cursor:pointer;font-weight:600}.health-badge-valid{background:#f0fdf4;color:#16a34a}.health-badge-warnings{background:#fffbeb;color:#d97706}.health-badge-errors{background:#fef2f2;color:#dc2626}.health-badge:hover{opacity:.8}.health-badge-count{background:currentColor;color:#fff;border-radius:8px;padding:0 5px;font-size:10px;min-width:14px;text-align:center}.audit-summary{font-weight:400;font-size:12px;color:#64748b}.audit-summary-valid{color:#16a34a}.audit-summary-warnings{color:#d97706}.audit-summary-errors{color:#dc2626}.audit-row{display:flex;align-items:flex-start;gap:10px;padding:8px 18px;border-bottom:1px solid #f8fafc;font-size:12px}.audit-row:hover{background:#f8fafc}.audit-icon{font-size:14px;min-width:18px;text-align:center;margin-top:1px}.audit-icon-error{color:#dc2626}.audit-icon-warning{color:#d97706}.audit-icon-info{color:#3b82f6}.audit-row-content{flex:1;min-width:0}.audit-message{color:#334155;display:block}.audit-nodes{display:flex;gap:4px;margin-top:4px;flex-wrap:wrap}.audit-node-link{background:#f1f5f9;border:1px solid #e2e8f0;border-radius:4px;padding:1px 6px;font-size:10px;color:#6366f1;cursor:pointer;font-family:monospace}.audit-node-link:hover{background:#e2e8f0}.prop-edge-body{display:flex!important;flex-direction:column!important;gap:8px!important}.prop-edge-body>*{grid-column:unset}.prop-edge-topbar{display:flex;gap:6px;align-items:flex-end}.prop-edge-topbar-field{flex:1;min-width:0}.prop-edge-topbar-field label{display:block;font-size:9px;font-weight:600;color:#64748b;text-transform:uppercase;letter-spacing:.3px;margin-bottom:2px}.prop-edge-topbar-field select,.prop-edge-topbar-field input{width:100%;min-width:0;padding:4px 6px;border:1px solid #cbd5e1;border-radius:4px;font-size:12px;background:#fff}.prop-edge-topbar-field select:focus,.prop-edge-topbar-field input:focus{border-color:#6366f1;outline:none;box-shadow:0 0 0 2px #6366f11a}.prop-edge-topbar-narrow{flex:0 0 52px}.prop-edge-topbar-narrow input{text-align:center}.prop-edge-type-label{font-size:12px;font-weight:600}.prop-edge-weight-hint{display:block;font-size:10.5px;color:#94a3b8;margin-top:3px;line-height:1.3}.prop-edge-section-title{font-size:10px;font-weight:600;color:#475569;text-transform:uppercase;letter-spacing:.3px;margin-bottom:4px}.prop-edge-params-section{padding:8px;background:#f8fafc;border:1px solid #e2e8f0;border-radius:6px}.prop-edge-param-row{display:flex;align-items:center;gap:6px;padding:3px 0;font-size:11px;border-bottom:1px solid #f1f5f9}.prop-edge-param-row:last-child{border-bottom:none}.prop-edge-param-name{flex:0 0 70px;color:#475569;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.prop-edge-param-val{flex:0 0 55px;font-family:monospace;font-size:11px;color:#1e293b}.prop-edge-param-unit{color:#94a3b8;font-size:10px}.prop-edge-param-status{flex:0 0 20px;text-align:center;font-size:13px;font-weight:700}.prop-edge-param-status.met{color:#22c55e}.prop-edge-param-status.unmet{color:#ef4444}.prop-edge-op-select{flex:0 0 36px;font-size:11px;font-family:monospace;padding:2px 0;border:1px solid #e2e8f0;border-radius:3px;background:#fff;color:#7c3aed;font-weight:600;cursor:pointer}.prop-edge-op-select:hover{border-color:#7c3aed}.prop-edge-val-input{flex:1 1 45px;min-width:0;font-size:11px;font-family:monospace;padding:2px 4px;border:1px solid #e2e8f0;border-radius:3px;outline:none}.prop-edge-val-input:focus{border-color:#7c3aed;box-shadow:0 0 0 1px #7c3aed33}.prop-edge-val-input::placeholder{color:#cbd5e1}.prop-edge-param-override{display:inline-block;font-size:9px;font-weight:600;color:#2563eb;background:#dbeafe;border-radius:3px;padding:0 3px;margin-left:3px;vertical-align:middle}.prop-edge-param-input{width:100%;min-width:0;padding:1px 3px;border:1px solid #6366f1;border-radius:3px;font-family:monospace;font-size:11px;outline:none;box-shadow:0 0 0 2px #6366f126}.prop-edge-meta-inline{font-size:11px;color:#64748b;padding:2px 0}.prop-edge-meta-label{font-weight:500;color:#475569}.prop-edge-impact-section{margin-top:8px;padding:8px;background:#f8fafc;border:1px solid #e2e8f0;border-radius:6px}.prop-edge-impact-title{font-size:11px;font-weight:600;color:#475569;margin-bottom:4px}.prop-edge-impact-row{display:flex;align-items:center;gap:6px;padding:3px 0;font-size:11px}.prop-edge-impact-param{min-width:60px;color:#64748b;font-weight:500}.prop-edge-impact-delta{width:64px;padding:2px 4px;border:1px solid #cbd5e1;border-radius:4px;font-size:11px;font-family:monospace;text-align:center}.prop-edge-impact-delta:focus{border-color:#6366f1;outline:none}.prop-edge-impact-preview{display:flex;flex-direction:column;gap:1px}.prop-edge-impact-formula{font-size:10px;font-family:monospace;white-space:nowrap}.prop-edge-impact-example{font-size:9px;font-family:JetBrains Mono,monospace;color:#94a3b8;white-space:nowrap}.hitec-edge-impact-lines{margin-top:4px;background:#fffffff2;border:1px solid #e2e8f0;border-radius:4px;padding:3px 6px;font-size:10px;font-family:monospace;white-space:nowrap;line-height:1.5}.hitec-edge-impact-line{color:#475569}.condition-resolved-impacts{margin-top:6px;padding:6px 8px;background:#f8fafc;border:1px solid #e2e8f0;border-radius:4px}.condition-resolved-impact-line{display:flex;align-items:center;gap:6px;font-size:11px;padding:2px 0}.condition-resolved-param{min-width:60px;color:#64748b;font-weight:500}.condition-resolved-formula{font-family:monospace;font-size:10px;color:#475569}.condition-resolved-delta{font-family:monospace;font-size:10px;font-weight:600}.scenario-chain-impacts{margin:4px 0 4px 16px;padding:4px 8px;background:#fef2f2;border-left:2px solid #fca5a5;border-radius:0 4px 4px 0;font-size:10px}.scenario-chain-impact-line{display:flex;align-items:center;gap:6px;padding:1px 0}.scenario-chain-impact-param{color:#64748b;font-weight:500;min-width:60px}.scenario-chain-impact-formula{font-family:monospace;color:#475569}.scenario-chain-impact-delta{font-family:monospace;font-weight:600}.feedback-fab{position:fixed;bottom:20px;right:20px;width:48px;height:48px;border-radius:50%;background:var(--accent-blue);color:#fff;border:none;font-size:1.3rem;cursor:pointer;box-shadow:0 4px 16px #2563eb4d;z-index:90;transition:transform .15s,box-shadow .15s;display:flex;align-items:center;justify-content:center}.feedback-fab:hover{transform:scale(1.08);box-shadow:0 6px 20px #2563eb66}.feedback-modal textarea{width:100%;padding:10px 12px;border:1px solid var(--border);border-radius:var(--radius-sm);font-family:inherit;font-size:.9rem;resize:vertical;background:var(--bg-input)}.feedback-modal textarea:focus{outline:none;border-color:var(--border-focus)}.feedback-categories{display:flex;gap:6px}.feedback-cat-btn{padding:5px 12px;border-radius:14px;font-size:.78rem;cursor:pointer;border:1px solid var(--border);background:var(--bg-card);color:var(--text-secondary);font-family:inherit;transition:all .15s}.feedback-cat-btn.active{border-color:var(--accent-blue);background:#2563eb14;color:var(--accent-blue)}.feedback-toast{position:fixed;bottom:80px;right:20px;background:var(--accent-green);color:#fff;padding:10px 20px;border-radius:var(--radius-sm);font-size:.85rem;font-weight:500;z-index:200;animation:modalIn .25s ease;box-shadow:0 4px 12px #00000026}.feedback-panel{margin-bottom:20px;background:var(--bg-secondary);border:1px solid var(--border);border-radius:var(--radius);padding:16px}.feedback-list{display:flex;flex-direction:column;gap:10px;margin-top:12px}.feedback-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-sm);padding:12px}.feedback-card-header{display:flex;align-items:center;gap:8px;margin-bottom:6px}.feedback-username{font-weight:600;font-size:.85rem}.feedback-cat-badge{font-size:.72rem;padding:2px 8px;border-radius:10px}.feedback-cat-bug{background:#fef2f2;color:var(--accent-red)}.feedback-cat-suggestion{background:#fefce8;color:var(--accent-yellow)}.feedback-cat-general{background:#eff6ff;color:var(--accent-blue)}.feedback-date{margin-left:auto;font-size:.75rem;color:var(--text-muted)}.feedback-delete{background:none;border:none;color:var(--text-muted);cursor:pointer;font-size:1.1rem;padding:0 4px;line-height:1}.feedback-delete:hover{color:var(--accent-red)}.feedback-message{font-size:.85rem;color:var(--text-secondary);white-space:pre-wrap;line-height:1.4}.edge-type-picker{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);z-index:1100;background:#fff;border-radius:8px;box-shadow:0 8px 32px #0000002e;padding:8px;min-width:180px}.edge-type-picker-title{font-size:11px;font-weight:600;color:#475569;text-transform:uppercase;letter-spacing:.3px;padding:4px 8px 6px}.edge-type-picker-btn{display:block;width:100%;text-align:left;padding:8px 12px;border:none;border-left:3px solid transparent;background:none;font-size:13px;color:#1e293b;cursor:pointer;border-radius:4px;transition:background .1s}.edge-type-picker-btn:hover{background:#f1f5f9}.prop-recap-section{margin-top:8px;padding:8px 10px;background:#f8fafc;border:1px solid #e2e8f0;border-radius:6px;font-size:11.5px;line-height:1.5}.prop-recap-title{font-size:10px;font-weight:600;color:#475569;text-transform:uppercase;letter-spacing:.3px;margin-bottom:4px;margin-top:6px}.prop-recap-title:first-child{margin-top:0}.prop-recap-item{display:flex;align-items:center;gap:6px;padding:2px 0;flex-wrap:wrap}.prop-recap-badge{font-size:10px;font-weight:600;white-space:nowrap}.prop-recap-params{font-size:10px;color:#64748b;font-style:italic}.prop-recap-computed{display:flex;align-items:center;gap:8px;margin-top:6px;padding-top:6px;border-top:1px solid #e2e8f0}.prop-recap-computed-label{font-size:11px;font-weight:600;color:#475569}.prop-recap-computed-value{font-size:13px;font-weight:700;color:#1e293b;font-family:monospace}.prop-recap-dot{width:6px;height:6px;border-radius:50%;flex-shrink:0}.prop-recap-dot.met{background:#16a34a}.prop-recap-dot.unmet{background:#dc2626}.prop-recap-trigger-status{font-size:11px;font-weight:700;padding:2px 8px;border-radius:8px}.prop-recap-trigger-status.triggered{color:#166534;background:#16a34a1f}.prop-recap-trigger-status.not-triggered{color:#92400e;background:#f59e0b1f}.prop-recap-no-cond{font-size:11px;color:#dc2626;padding:4px 8px;background:#dc26260f;border-radius:6px;border-left:3px solid #dc2626}.prop-recap-cond-block{margin-bottom:4px}.prop-recap-params{display:flex;flex-direction:column;gap:2px;margin-left:12px;padding:3px 0 3px 8px;border-left:2px solid #e2e8f0}.prop-recap-param{display:flex;align-items:center;gap:6px;font-size:10px;line-height:1.4}.prop-recap-param-key{color:#475569;font-weight:500;min-width:60px}.prop-recap-param-val{color:#1e293b;font-family:monospace;font-weight:600}.prop-recap-param-th{color:#8b5cf6;font-family:monospace;font-size:9px}.prop-recap-param-status{font-weight:700;font-size:11px}.prop-recap-param-status.met{color:#16a34a}.prop-recap-param-status.unmet{color:#dc2626}.prop-impact-deltas{display:flex;flex-direction:column;gap:3px;margin-left:12px;padding:4px 0 4px 8px;border-left:2px solid #fbbf24}.prop-impact-delta-row{display:flex;align-items:center;gap:4px}.prop-impact-delta-select{flex:1;min-width:0;font-size:10px;padding:2px 14px 2px 4px;border:1px solid #e2e8f0;border-radius:4px;background:#f8fafc;color:#334155;-moz-appearance:none;appearance:none;-webkit-appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='8' height='5'%3E%3Cpath d='M0 0l4 5 4-5z' fill='%2394a3b8'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 4px center;cursor:pointer}.prop-impact-delta-select:focus{outline:none;border-color:#f59e0b;box-shadow:0 0 0 1px #fbbf2480}.prop-impact-delta-current{font-size:9px;color:#94a3b8;font-family:monospace;white-space:nowrap}.prop-impact-delta-input{width:48px;font-family:monospace;font-size:10px;color:#f59e0b;font-weight:600;text-align:right;padding:2px 4px;border:1px solid #e2e8f0;border-radius:4px;background:#fffbeb}.prop-impact-delta-input:focus{outline:none;border-color:#f59e0b;box-shadow:0 0 0 1px #fbbf2480}.prop-impact-delta-remove{width:16px;height:16px;padding:0;border:none;background:none;color:#cbd5e1;cursor:pointer;font-size:9px;line-height:16px;text-align:center;border-radius:3px;flex-shrink:0}.prop-impact-delta-remove:hover{background:#fee2e2;color:#dc2626}.prop-impact-delta-add{align-self:flex-start;font-size:9px;padding:2px 8px;margin-top:2px;border:1px dashed #e2e8f0;border-radius:4px;background:none;color:#94a3b8;cursor:pointer}.prop-impact-delta-add:hover{border-color:#f59e0b;color:#f59e0b;background:#fffbeb}.prop-scope-toggle{display:flex;flex-direction:column;gap:4px}.prop-scope-switch{display:flex;gap:0;border:1px solid #e2e8f0;border-radius:6px;overflow:hidden;width:fit-content}.prop-scope-btn{padding:3px 12px;font-size:11px;font-weight:600;border:none;cursor:pointer;background:#f8fafc;color:#64748b;transition:all .15s}.prop-scope-btn.active{background:#0ea5e9;color:#fff}.prop-scope-btn-ext.active{background:#94a3b8;color:#fff}.prop-scope-btn:hover:not(.active){background:#f1f5f9}.prop-header-actions{display:flex;align-items:center;gap:4px;flex-shrink:0}.prop-nav-icon{width:20px;height:20px;padding:0;margin:0;font-size:11px;line-height:20px;text-align:center;border:1px solid #e2e8f0;border-radius:4px;background:#f8fafc;color:#64748b;cursor:pointer;transition:all .15s}.prop-nav-icon:hover{background:#eff6ff;border-color:#93c5fd;color:#1d4ed8}.legend-arch-stats{display:block;width:100%;font-size:10px;color:#94a3b8;margin-top:4px}.legend-arch-stats span{color:#64748b}.comp-tree-panel{border-top:1px solid #e2e8f0;background:#fff;max-height:220px;display:flex;flex-direction:column;overflow:hidden}.comp-tree-panel-collapsed{padding:6px 12px;cursor:pointer;display:flex;align-items:center;gap:6px;font-size:12px;color:#64748b;max-height:32px}.comp-tree-panel-collapsed:hover{background:#f8fafc}.comp-tree-header{display:flex;align-items:center;justify-content:space-between;padding:6px 10px;border-bottom:1px solid #f1f5f9}.comp-tree-title{font-size:12px;font-weight:600;color:#334155}.comp-tree-actions{display:flex;align-items:center;gap:4px}.comp-tree-toggle{background:none;border:none;cursor:pointer;font-size:10px;color:#94a3b8;padding:2px 4px;border-radius:4px}.comp-tree-toggle:hover{background:#f1f5f9}.comp-tree-search{margin:4px 8px;padding:4px 8px;font-size:12px;border:1px solid #e2e8f0;border-radius:4px;outline:none}.comp-tree-search:focus{border-color:#93c5fd}.comp-tree-list{overflow-y:auto;flex:1;min-height:0}.comp-tree-row{display:flex;align-items:center;gap:4px;padding:4px 8px;cursor:pointer;font-size:12px;min-height:28px;transition:background .1s}.comp-tree-row:hover{background:#f8fafc}.comp-tree-row.selected{background:#eff6ff}.comp-tree-row.dimmed{opacity:.3}.comp-tree-row.hidden{display:none}.comp-tree-expand{background:none;border:none;cursor:pointer;font-size:9px;color:#94a3b8;width:16px;text-align:center;padding:0}.comp-tree-expand-placeholder{width:16px;flex-shrink:0}.comp-tree-label{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#1e293b}.comp-tree-scope{font-size:9px;font-weight:600;padding:1px 4px;border-radius:3px;background:#dbeafe;color:#1d4ed8}.comp-tree-scope.ext{background:#f1f5f9;color:#64748b}.comp-tree-badge{font-size:10px;color:#64748b;background:#f1f5f9;padding:1px 4px;border-radius:3px;white-space:nowrap}.comp-tree-badge-link{color:#7c3aed;background:#f5f3ff}.comp-tree-empty{padding:16px;text-align:center;color:#94a3b8;font-size:12px}.comp-tree-filter-wrap{position:relative}.comp-tree-filter-btn{background:none;border:1px solid transparent;cursor:pointer;font-size:14px;color:#94a3b8;padding:2px 6px;border-radius:4px;line-height:1}.comp-tree-filter-btn:hover{background:#f1f5f9}.comp-tree-filter-btn.active{color:#7c3aed;border-color:#7c3aed;background:#f5f3ff}.comp-tree-filter-dropdown{position:absolute;top:100%;right:0;z-index:20;background:#fff;border:1px solid #e2e8f0;border-radius:6px;box-shadow:0 4px 12px #0000001a;min-width:160px;max-height:200px;overflow-y:auto}.comp-tree-filter-item{padding:6px 10px;font-size:12px;cursor:pointer;color:#334155}.comp-tree-filter-item:hover{background:#f8fafc}.comp-tree-filter-item.active{background:#f5f3ff;color:#7c3aed;font-weight:600}.comp-tree-filter-tag{display:flex;align-items:center;gap:4px;padding:2px 8px;margin:4px 8px 0;background:#f5f3ff;border-radius:4px}.comp-tree-filter-tag-label{font-size:11px;color:#7c3aed;flex:1}.comp-tree-filter-tag button{background:none;border:none;cursor:pointer;color:#7c3aed;font-size:14px;padding:0 2px}.simulator-panel{position:fixed;top:52px;left:16px;width:340px;max-height:calc(100vh - 70px);background:#fff;border-radius:12px;box-shadow:0 8px 32px #00000026;z-index:100;overflow-y:auto;border:1px solid #e2e8f0}.simulator-panel-header{display:flex;align-items:center;justify-content:space-between;padding:10px 14px;border-bottom:1px solid #f1f5f9}.simulator-panel-title{font-weight:600;font-size:14px;color:#1e293b}.simulator-panel-close{background:none;border:none;font-size:18px;color:#94a3b8;cursor:pointer;padding:2px 6px;border-radius:4px}.simulator-panel-close:hover{background:#f1f5f9;color:#475569}.simulator-panel-body{padding:10px 14px;display:flex;flex-direction:column;gap:12px}.simulator-section{display:flex;flex-direction:column;gap:6px}.simulator-section-title{font-size:11px;font-weight:600;color:#64748b;text-transform:uppercase;letter-spacing:.5px}.simulator-intro{font-size:12px;color:#475569;background:#f8fafc;border-left:3px solid #3b82f6;padding:8px 10px;border-radius:4px;line-height:1.5;margin-bottom:4px}.simulator-intro-short{font-size:11px;color:#64748b;line-height:1.45;padding:0 2px}.simulator-phase{display:flex;flex-direction:column;gap:8px;padding:10px 12px 12px;background:#fff;border:1px solid #e2e8f0;border-radius:8px}.simulator-phase-disabled{opacity:.6;background:#f8fafc}.simulator-phase-title{font-size:10px;font-weight:700;color:#0f172a;text-transform:uppercase;letter-spacing:1px;padding-bottom:4px;border-bottom:1px solid #e2e8f0}.simulator-phase-placeholder{font-size:11px;color:#94a3b8;font-style:italic;padding:4px 0}.simulator-engine-row{display:flex;align-items:center;gap:6px}.simulator-engine-label{font-size:11px;color:#64748b;font-weight:500;flex-shrink:0}.simulator-engine-row .simulator-engine-select{flex:1;width:auto}.simulator-engine-docs,.simulator-engine-example{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:6px;border:1px solid #e2e8f0;text-decoration:none;font-size:14px;background:#fff;cursor:pointer;color:#475569;font-family:inherit;transition:background .12s,border-color .12s}.simulator-engine-docs:hover,.simulator-engine-example:hover{background:#f8fafc;border-color:#cbd5e1;color:#1e293b}.simulator-engine-disabled{display:flex;align-items:flex-start;gap:8px;padding:8px 10px;background:#fff7ed;border:1px solid #fed7aa;border-radius:6px;font-size:11px;color:#9a3412;line-height:1.4}.simulator-engine-disabled-badge{flex-shrink:0;padding:2px 7px;background:#f97316;color:#fff;border-radius:10px;font-size:9px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;line-height:1.4}.simulator-engine-disabled-reason{flex:1}.simulator-btn:disabled{opacity:.5;cursor:not-allowed}.simulator-btn-primary:disabled:hover{background:#3b82f6}.simulator-result-block{display:flex;flex-direction:column;gap:6px;padding-top:4px;border-top:1px dashed #e2e8f0;margin-top:2px}.simulator-elapsed-inline{margin-left:auto;font-size:11px;color:#0369a1;font-weight:500}.simulator-range{display:flex;flex-direction:column;gap:6px;padding:8px 10px;background:#f8fafc;border:1px solid #e2e8f0;border-radius:6px}.simulator-range-label{font-size:11px;font-weight:600;color:#64748b;text-transform:uppercase;letter-spacing:.3px}.simulator-range-row{display:flex;gap:8px}.simulator-range-field{flex:1;display:flex;flex-direction:column;gap:2px;font-size:11px;color:#475569}.simulator-range-field input{padding:4px 6px;font-size:12px;font-family:inherit;color:#0f172a;background:#fff;border:1px solid #cbd5e1;border-radius:4px;width:100%;box-sizing:border-box}.simulator-range-field input:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 2px #3b82f62e}.simulator-range-hint{font-size:10px;color:#94a3b8;font-style:italic}.simulator-section-hint{font-size:11px;color:#64748b;line-height:1.45;margin-bottom:2px}.simulator-description{width:100%;padding:8px 10px;font-size:12px;font-family:inherit;line-height:1.45;color:#0f172a;background:#fff;border:1px solid #cbd5e1;border-radius:6px;resize:vertical;min-height:64px;box-sizing:border-box}.simulator-description:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 2px #3b82f62e}.simulator-description::placeholder{color:#94a3b8;font-style:italic}.simulator-load-stack{display:flex;flex-direction:column;gap:6px}.simulator-btn-wide{width:100%;text-align:center;padding:8px 12px;font-weight:500}.simulator-btn-ghost{background:#fff;color:#475569;border-color:#cbd5e1;text-align:center}.simulator-btn-ghost:hover:not(:disabled){background:#f8fafc;border-color:#94a3b8;color:#1e293b}.simulator-btn-ghost:disabled{opacity:.55;cursor:not-allowed}.simulator-alt-section{background:#f8fafc;border:1px dashed #cbd5e1;border-radius:8px;padding:0}.simulator-alt-section>summary{list-style:none;cursor:pointer;display:flex;align-items:center;gap:6px;padding:8px 12px;font-size:11px;color:#475569;-webkit-user-select:none;user-select:none}.simulator-alt-section>summary::-webkit-details-marker{display:none}.simulator-alt-section>summary:before{content:"▸";display:inline-block;color:#94a3b8;transition:transform .15s;font-size:10px}.simulator-alt-section[open]>summary:before{transform:rotate(90deg)}.simulator-alt-section>summary:hover{color:#1e293b}.simulator-alt-step{font-weight:600;color:#64748b;text-transform:uppercase;letter-spacing:.5px;font-size:11px}.simulator-alt-title{font-weight:500}.simulator-alt-badge{margin-left:auto;font-size:9px;color:#64748b;background:#e2e8f0;padding:1px 6px;border-radius:10px;text-transform:uppercase;letter-spacing:.5px}.simulator-alt-body{padding:0 12px 12px;display:flex;flex-direction:column;gap:6px}.simulator-alt-note{font-size:10px;color:#94a3b8;font-style:italic;line-height:1.4}.simulator-engine-select{width:100%;padding:6px 8px;font-size:12px;font-family:inherit;color:#0f172a;background:#fff;border:1px solid #cbd5e1;border-radius:6px;cursor:pointer}.simulator-engine-select:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 2px #3b82f62e}.simulator-schema{margin-top:2px}.simulator-schema>summary{list-style:none;cursor:pointer;font-size:11px;color:#3b82f6;padding:4px 0;-webkit-user-select:none;user-select:none}.simulator-schema>summary::-webkit-details-marker{display:none}.simulator-schema>summary:before{content:"▸ ";color:#94a3b8}.simulator-schema[open]>summary:before{content:"▾ "}.simulator-schema>summary:hover{color:#2563eb}.simulator-schema-body{margin-top:4px;padding:8px;background:#f8fafc;border-radius:6px;border:1px solid #e2e8f0}.simulator-schema-table{width:100%;border-collapse:collapse;font-size:11px}.simulator-schema-table th,.simulator-schema-table td{text-align:left;padding:4px 6px;border-bottom:1px solid #e2e8f0;vertical-align:top}.simulator-schema-table th{font-weight:600;color:#64748b;text-transform:uppercase;font-size:10px;letter-spacing:.3px}.simulator-schema-table tbody tr:last-child td{border-bottom:none}.simulator-schema-table code{font-size:11px;background:#e2e8f0;padding:1px 5px;border-radius:3px;color:#0f172a}.simulator-schema-req{color:#ef4444;font-weight:700;margin-left:2px}.simulator-schema-type{font-size:10px;color:#64748b;font-style:italic}.simulator-schema-link{display:inline-block;margin-top:6px;font-size:11px;color:#3b82f6;text-decoration:none}.simulator-schema-link:hover{text-decoration:underline}.simulator-btn{padding:6px 12px;border:1px solid #e2e8f0;border-radius:6px;background:#fff;font-size:12px;color:#334155;cursor:pointer;text-align:left;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.simulator-btn:hover{background:#f8fafc;border-color:#cbd5e1}.simulator-btn-primary{background:#3b82f6;color:#fff;border-color:#3b82f6;text-align:center;font-weight:500}.simulator-btn-primary:hover{background:#2563eb}.simulator-btn-danger{background:#ef4444;color:#fff;border-color:#ef4444;text-align:center}.simulator-btn-danger:hover{background:#dc2626}.simulator-status-row{display:flex;align-items:center;gap:8px;font-size:12px}.simulator-status-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.simulator-status-label{color:#475569}.simulator-progress{color:#3b82f6;font-weight:600}.simulator-error{font-size:11px;color:#ef4444;background:#fef2f2;padding:6px 8px;border-radius:4px;white-space:pre-wrap;word-break:break-word;max-height:220px;overflow-y:auto;font-family:ui-monospace,SF Mono,Menlo,Consolas,monospace;line-height:1.4}.simulator-actions{display:flex;gap:6px}.simulator-elapsed{font-size:11px;color:#0369a1;background:#f0f9ff;padding:4px 8px;border-radius:4px;margin-bottom:6px;font-weight:500}.simulator-result-summary{display:flex;gap:8px;font-size:11px;color:#64748b}.simulator-result-summary span{background:#f1f5f9;padding:2px 6px;border-radius:4px}.simulator-imported{font-size:11px;color:#16a34a;background:#f0fdf4;padding:6px 8px;border-radius:4px}.simulator-hint{font-size:11px;color:#64748b;margin:0;line-height:1.4}.simulator-load-row{display:flex;gap:4px}.simulator-paste-area{display:flex;flex-direction:column;gap:4px}.simulator-paste-area textarea{font-size:11px;font-family:monospace;padding:6px;border:1px solid #e2e8f0;border-radius:6px;resize:vertical;min-height:80px}.simulator-paste-area textarea:focus{outline:none;border-color:#3b82f6}.simulator-payload-ok{font-size:11px;color:#16a34a}.simulator-btn.active{background:#eff6ff;border-color:#3b82f6;color:#3b82f6}
