html{color-scheme:dark;background-color:#0a0c10}body,#root{min-height:100%;background-color:#0a0c10;color:#e8ecf4}:root{--bg-app: #0a0c10;--bg-panel: #11141a;--bg-elevated: #181c24;--bg-hover: #1f2430;--border: #2a3140;--border-strong: #3d4658;--text: #e8ecf4;--text-muted: #8b95a8;--text-dim: #5c6678;--accent: #7c5cff;--accent-soft: rgba(124, 92, 255, .15);--danger: #ff4d5a;--danger-soft: rgba(255, 77, 90, .12);--success: #3dd68c;--success-soft: rgba(61, 214, 140, .12);--warning: #ffb020;--info: #4dabf7;--health-healthy: #3dd68c;--health-degraded: #ffb020;--health-failing: #ff8c42;--health-down: #ff4d5a;--health-recovering: #4dabf7;--edge-normal: #3dd68c;--edge-stressed: #ff4d5a;--font-sans: "IBM Plex Sans", system-ui, sans-serif;--font-mono: "IBM Plex Mono", ui-monospace, monospace;--radius: 8px;--radius-lg: 12px;--shadow: 0 8px 32px rgba(0, 0, 0, .45);--bg-tooltip: #0c0f16;--border-tooltip: rgba(124, 92, 255, .35)}.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;touch-action:none}.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))}*,*:before,*:after{box-sizing:border-box}html,body,#root{height:100%;margin:0;background-color:#0a0c10}body{font-family:var(--font-sans);font-size:13px;color:var(--text);background-color:#0a0c10;-webkit-font-smoothing:antialiased}#root{min-height:100%;background-color:#0a0c10}button{font-family:inherit;cursor:pointer}*{scrollbar-width:thin;scrollbar-color:var(--border-strong) transparent}*::-webkit-scrollbar{width:6px;height:6px}*::-webkit-scrollbar-track{background:transparent}*::-webkit-scrollbar-thumb{background:var(--border-strong);border-radius:3px}*::-webkit-scrollbar-thumb:hover{background:var(--text-dim)}.app-shell{display:grid;grid-template-rows:auto 1fr auto;grid-template-columns:220px 1fr 300px;grid-template-areas:"header header header" "sidebar main right" "sidebar bottom right";height:100%;min-height:0}.app-header{grid-area:header;display:flex;align-items:center;gap:1rem;padding:.65rem 1rem;border-bottom:1px solid var(--border);background:var(--bg-panel)}.scenario-select{position:relative;flex:1;min-width:0}.scenario-select-group{display:flex;align-items:center;gap:.4rem;flex:1;min-width:0;max-width:360px}.scenario-select__trigger--placeholder .scenario-select__value{color:var(--text-muted);font-weight:500}.icon-btn--compact{width:28px;height:28px;flex-shrink:0}.timer-block--idle{opacity:.72}.scenario-help-popover{position:fixed;z-index:1000;width:min(340px,calc(100vw - 16px));padding:1rem 1.1rem;border-radius:var(--radius-lg);border:1px solid var(--border-strong);background:var(--bg-panel);box-shadow:var(--shadow)}.scenario-help-popover__header{display:flex;align-items:flex-start;justify-content:space-between;gap:.75rem;margin-bottom:.65rem}.scenario-help-popover__title{margin:0;font-size:14px;font-weight:700}.scenario-help-popover__close{display:grid;place-items:center;width:26px;height:26px;border:1px solid var(--border);border-radius:var(--radius);background:var(--bg-elevated);color:var(--text-muted)}.scenario-help-popover__lead{margin:0 0 .75rem;font-size:12.5px;line-height:1.55;color:var(--text-muted)}.scenario-help-popover__section{margin-bottom:.75rem}.scenario-help-popover__section h3{margin:0 0 .35rem;font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--accent)}.scenario-help-popover__section ul{margin:0;padding-left:1.1rem;font-size:12px;line-height:1.55;color:var(--text-muted)}.scenario-help-popover__section li+li{margin-top:.35rem}.scenario-help-popover__disclaimer{display:flex;align-items:flex-start;gap:.45rem;margin:0;padding:.55rem .65rem;border-radius:var(--radius);background:#3dd68c1a;border:1px solid rgba(61,214,140,.35);font-size:11px;font-weight:600;line-height:1.45;color:#8ef0c0}.scenario-select__trigger{display:flex;align-items:center;gap:.5rem;width:100%;padding:.4rem .65rem;border-radius:var(--radius);border:1px solid var(--border);background:var(--bg-elevated);color:var(--text);text-align:left;transition:border-color .15s,background .15s}.scenario-select__trigger:hover:not(:disabled){border-color:var(--border-strong);background:var(--bg-hover)}.scenario-select__trigger--open,.scenario-select__trigger:focus-visible{border-color:var(--accent);outline:none;box-shadow:0 0 0 2px var(--accent-soft)}.scenario-select__trigger:disabled{opacity:.65;cursor:wait}.scenario-select__label{flex-shrink:0;font-size:10px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--text-dim)}.scenario-select__value{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12px;font-weight:600}.scenario-select__chevron{flex-shrink:0;color:var(--text-muted);transition:transform .15s ease}.scenario-select__chevron--open{transform:rotate(180deg)}.scenario-select__menu{position:absolute;top:calc(100% + 6px);left:0;z-index:1000;display:flex;flex-direction:column;gap:.25rem;width:min(420px,calc(100vw - 2rem));max-height:min(360px,calc(100vh - 5rem));overflow-y:auto;padding:.35rem;border-radius:var(--radius-lg);border:1px solid var(--border-strong);background:var(--bg-panel);box-shadow:var(--shadow)}.scenario-select__option{display:flex;flex-direction:column;gap:.2rem;width:100%;padding:.55rem .65rem;border:1px solid transparent;border-radius:var(--radius);background:transparent;color:var(--text);text-align:left;transition:border-color .15s,background .15s}.scenario-select__option:hover{background:var(--bg-hover);border-color:var(--border)}.scenario-select__option--active{background:var(--accent-soft);border-color:#7c5cff73}.scenario-select__option-name{font-size:12px;font-weight:600}.scenario-select__option-desc{font-size:11px;line-height:1.45;color:var(--text-muted)}.app-sidebar{grid-area:sidebar;display:flex;flex-direction:column;gap:1.05rem;padding:.85rem .7rem;border-right:1px solid var(--border);background:var(--bg-panel);min-height:0;overflow-y:auto}.app-sidebar .panel-title{margin-bottom:.4rem}.app-sidebar .sidebar-panel{padding:.58rem}.app-sidebar .action-list{gap:.28rem}.playbook-panel{padding:.65rem .7rem;border-radius:var(--radius-lg);border:1px solid rgba(124,92,255,.45);background:linear-gradient(180deg,#7c5cff24,#7c5cff0d);box-shadow:0 0 20px #7c5cff1a}.playbook-panel--complete{border-color:#3dd68c73;background:#3dd68c14;box-shadow:none}.playbook-panel__header{display:flex;align-items:center;gap:.4rem;margin-bottom:.45rem;color:#c4b5fd}.playbook-panel--complete .playbook-panel__header{color:#8ef0c0}.playbook-panel__title{flex:1;font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase}.playbook-panel__dismiss{display:grid;place-items:center;width:22px;height:22px;border:1px solid var(--border);border-radius:var(--radius);background:var(--bg-elevated);color:var(--text-muted)}.playbook-panel__dismiss:hover{color:var(--text)}.playbook-panel__meta{margin-bottom:.45rem;font-size:11px;font-weight:600;line-height:1.35;color:var(--text)}.playbook-panel__progress{height:4px;margin-bottom:.55rem;border-radius:999px;background:#ffffff14;overflow:hidden}.playbook-panel__progress-fill{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--accent),#a78bfa);transition:width .25s ease}.playbook-panel--complete .playbook-panel__progress-fill{background:var(--success)}.playbook-panel__hint{margin:0 0 .55rem;font-size:11px;line-height:1.5;color:var(--text-muted)}.playbook-panel__actions{display:flex;justify-content:flex-end}.playbook-panel__btn{display:inline-flex;align-items:center;gap:.25rem;padding:.3rem .55rem;border:1px solid rgba(124,92,255,.45);border-radius:var(--radius);background:#7c5cff2e;color:#ddd6fe;font-size:10px;font-weight:600}.playbook-panel__btn:hover{background:#7c5cff47}.playbook-panel__btn--ghost{border-color:var(--border);background:transparent;color:var(--text-muted)}.playbook-panel__btn--ghost:hover{color:var(--text);border-color:var(--border-strong)}.app-sidebar .action-btn{padding:.38rem .55rem;font-size:11.5px}.app-main{grid-area:main;position:relative;min-height:0;background:radial-gradient(circle at 50% 40%,#141820 0%,var(--bg-app) 70%)}.app-right{grid-area:right;display:flex;flex-direction:column;gap:.75rem;padding:.75rem;border-left:1px solid var(--border);background:var(--bg-panel);overflow:hidden;min-height:0}.app-right__metrics{flex-shrink:0}.app-right__timeline{flex:1;min-height:0;overflow-y:auto;padding-top:.25rem;border-top:1px solid var(--border)}.app-bottom{grid-area:bottom;display:grid;grid-template-columns:1fr auto;gap:1rem;padding:.75rem 1rem;border-top:1px solid var(--border);background:var(--bg-panel)}.app-bottom__scenarios{min-width:0;overflow-x:auto}.panel-title{font-size:10px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--text-dim);margin:0 0 .5rem}.brand{display:flex;align-items:center;gap:.6rem;min-width:220px}.brand__logo{width:36px;height:36px;border-radius:10px;background:linear-gradient(135deg,#1a3d2e,#0f1f18);border:1px solid var(--health-healthy);display:grid;place-items:center;color:var(--health-healthy)}.brand__title{font-weight:700;font-size:14px;letter-spacing:.04em}.brand__subtitle{font-size:11px;color:var(--text-muted)}.action-list{display:flex;flex-direction:column;gap:.35rem}.action-btn{position:relative;display:flex;align-items:center;gap:.5rem;width:100%;padding:.45rem .6rem;border:1px solid var(--border);border-radius:var(--radius);background:var(--bg-elevated);color:var(--text);font-size:12px;text-align:left;transition:border-color .15s,background .15s}.action-btn__icon{display:flex;flex-shrink:0;align-items:center;justify-content:center;color:var(--text-muted)}.action-btn--active .action-btn__icon{color:inherit}.action-btn--stressor.action-btn--active .action-btn__icon{color:var(--danger)}.action-btn--mitigation.action-btn--active .action-btn__icon{color:var(--accent)}.action-btn--architectural.action-btn--active .action-btn__icon{color:var(--info)}.action-btn__label{flex:1;min-width:0}.action-tooltip{position:fixed;z-index:1000;transform:translateY(-50%);max-width:240px;padding:.5rem .7rem;border-radius:var(--radius);border:1px solid var(--border-tooltip);background:var(--bg-tooltip);color:var(--text);font-size:11px;line-height:1.45;pointer-events:none;box-shadow:0 12px 36px #0000008c,inset 0 1px #ffffff0a}.action-tooltip:before{content:"";position:absolute;top:50%;right:100%;transform:translateY(-50%);border:6px solid transparent;border-right-color:var(--border-tooltip)}.action-tooltip:after{content:"";position:absolute;top:50%;right:100%;transform:translate(1px,-50%);border:5px solid transparent;border-right-color:var(--bg-tooltip)}.metric-tooltip{position:fixed;z-index:1000;transform:translate(-100%,-50%);max-width:260px;min-width:180px;padding:.55rem .75rem;border-radius:var(--radius);border:1px solid var(--border-tooltip);background:var(--bg-tooltip);color:var(--text);font-size:12px;line-height:1.5;pointer-events:none;box-shadow:0 12px 36px #0000008c,inset 0 1px #ffffff0a}.metric-tooltip:before{content:"";position:absolute;top:50%;left:100%;transform:translateY(-50%);border:6px solid transparent;border-left-color:var(--border-tooltip)}.metric-tooltip:after{content:"";position:absolute;top:50%;left:100%;transform:translate(-1px,-50%);border:5px solid transparent;border-left-color:var(--bg-tooltip)}.action-btn:hover:not(:disabled){background:var(--bg-hover);border-color:var(--border-strong)}.action-btn:disabled{opacity:.45;cursor:not-allowed}.action-btn--active{border-color:var(--danger);background:var(--danger-soft)}.action-btn--mitigation.action-btn--active{border-color:var(--accent);background:var(--accent-soft)}.action-btn--architectural.action-btn--active{border-color:var(--info);background:#4dabf71f}.action-btn--playbook-hint:not(:disabled){animation:playbook-hint-pulse 1.6s ease-in-out infinite;border-color:#7c5cffbf;box-shadow:0 0 0 1px #7c5cff40}.action-btn--playbook-hint.action-btn--active{animation:none}@keyframes playbook-hint-pulse{0%,to{box-shadow:0 0 0 1px #7c5cff40}50%{box-shadow:0 0 0 3px #7c5cff73}}.panel-hint{margin:-.25rem 0 .5rem;font-size:10px;color:var(--text-dim);line-height:1.3}.sidebar-panel{padding:.65rem;border-radius:var(--radius);border:1px solid transparent}.sidebar-panel--danger{background:#ff4d5a0d;border-color:#ff4d5a47;box-shadow:0 0 14px #ff4d5a24,inset 0 0 24px #ff4d5a0a}.sidebar-panel--danger .panel-title{color:#ff8a93}.sidebar-panel--mitigation{background:#3dd68c0d;border-color:#3dd68c47;box-shadow:0 0 14px #3dd68c24,inset 0 0 24px #3dd68c0a}.sidebar-panel--mitigation .panel-title{color:#6ee7a8}.sidebar-panel--mitigation .panel-hint{color:#6ee7a88c}.view-tabs{display:flex;flex-direction:column;gap:.25rem}.view-tab{padding:.4rem .6rem;border:none;border-radius:var(--radius);background:transparent;color:var(--text-muted);font-size:12px;text-align:left}.view-tab--active{background:var(--accent-soft);color:var(--accent);font-weight:600}.view-tab--soon{opacity:.5}.header-disclaimer{display:flex;align-items:center;gap:.4rem;padding:.4rem .75rem;border-radius:var(--radius);background:#3dd68c1f;border:1px solid rgba(61,214,140,.45);font-size:11px;font-weight:600;letter-spacing:.03em;color:#8ef0c0;white-space:nowrap;cursor:default;box-shadow:0 0 16px #3dd68c1f}.header-disclaimer svg{flex-shrink:0;color:var(--success)}.loading-disclaimer{margin-top:.75rem;font-size:11px;font-weight:600;color:#8ef0c0}.header-controls{display:flex;align-items:center;gap:1rem;flex:1;justify-content:flex-end}.timer-block{display:flex;align-items:center;gap:.75rem;padding:.35rem .75rem;border-radius:var(--radius);background:#7c5cff1a;border:1px solid rgba(124,92,255,.35);box-shadow:0 0 20px #7c5cff1f}.timer-block--paused{background:#4dabf714;border-color:#4dabf759;box-shadow:0 0 20px #4dabf71a}.timer-block__time{font-family:var(--font-mono);font-size:16px;font-weight:700;letter-spacing:.08em;color:#f8faff;text-shadow:0 0 14px rgba(124,92,255,.45);min-width:5.5rem}.timer-block--paused .timer-block__time{color:#d8ecff;text-shadow:0 0 14px rgba(77,171,247,.35)}.timer-block__status{font-size:10px;font-weight:700;letter-spacing:.1em;text-transform:uppercase}.icon-btn{display:grid;place-items:center;width:32px;height:32px;border-radius:var(--radius);border:1px solid var(--border);background:var(--bg-elevated);color:var(--text)}.icon-btn--active{border-color:var(--accent);background:var(--accent-soft);color:var(--accent)}.help-popover{position:fixed;z-index:1000;width:min(360px,calc(100vw - 16px));max-height:min(480px,calc(100vh - 80px));overflow-y:auto;padding:1rem 1.1rem;border-radius:var(--radius-lg);border:1px solid var(--border-strong);background:var(--bg-panel);box-shadow:0 16px 48px #0000008c,inset 0 1px #ffffff0a}.help-popover__header{display:flex;align-items:flex-start;justify-content:space-between;gap:.75rem;margin-bottom:.65rem}.help-popover__title{margin:0;font-size:14px;font-weight:700;letter-spacing:.02em}.help-popover__close{display:grid;place-items:center;flex-shrink:0;width:26px;height:26px;border:1px solid var(--border);border-radius:var(--radius);background:var(--bg-elevated);color:var(--text-muted)}.help-popover__close:hover{color:var(--text);border-color:var(--border-strong)}.help-popover__lead{margin:0 0 .85rem;font-size:12.5px;line-height:1.55;color:var(--text-muted)}.help-popover__section{margin-bottom:.85rem}.help-popover__section h3{margin:0 0 .4rem;font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--accent)}.help-popover__section ul{margin:0;padding-left:1.1rem;font-size:12px;line-height:1.55;color:var(--text-muted)}.help-popover__section li+li{margin-top:.35rem}.help-popover__disclaimer{display:flex;align-items:flex-start;gap:.45rem;margin-top:.25rem;padding:.55rem .65rem;border-radius:var(--radius);background:#3dd68c1a;border:1px solid rgba(61,214,140,.35);font-size:11px;font-weight:600;line-height:1.45;color:#8ef0c0}.help-popover__disclaimer svg{flex-shrink:0;margin-top:1px;color:var(--success)}.icon-btn--danger{border-color:var(--danger);color:var(--danger)}.text-btn{border:none;background:transparent;color:var(--text-muted);font-size:11px;letter-spacing:.04em;text-transform:uppercase}.text-btn:hover{color:var(--text)}.speed-group{display:flex;gap:.25rem;padding:.2rem;border-radius:var(--radius);background:var(--bg-elevated);border:1px solid var(--border)}.speed-btn{padding:.3rem .55rem;border:none;border-radius:6px;background:transparent;color:var(--text-muted);font-size:11px;font-weight:600;cursor:pointer;transition:color .15s ease,background .15s ease}.speed-btn:hover{color:var(--text);background:#ffffff0a}.speed-btn--active{background:var(--accent);color:#fff;box-shadow:0 0 12px #7c5cff59}.speed-btn--active:hover{color:#fff;background:var(--accent)}.topology-overlay-top-left{position:absolute;top:.75rem;left:.75rem;z-index:5;display:flex;flex-direction:column;align-items:flex-start;gap:.5rem}.topology-overlay-bottom-left{position:absolute;bottom:.75rem;left:.75rem;z-index:5;width:min(320px,calc(100% - 1.5rem));pointer-events:none}.topology-overlay-bottom-left .playbook-panel{pointer-events:auto}.graph-legend{display:flex;flex-wrap:nowrap;gap:.75rem;width:max-content;max-width:calc(100vw - 1.5rem);padding:.5rem .75rem;border-radius:var(--radius);background:#11141aeb;border:1px solid var(--border);font-size:10px;white-space:nowrap}.legend-item{display:flex;align-items:center;gap:.35rem;color:var(--text-muted)}.legend-dot{width:8px;height:8px;border-radius:50%}.legend-line{width:12px;height:2px;flex-shrink:0}.legend-line--normal{background:var(--edge-normal)}.legend-line--stressed{background:var(--edge-stressed)}.topology-wrap{position:relative;width:100%;height:100%}.topology-wrap:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;z-index:4;pointer-events:none;opacity:0;transition:opacity .5s ease;background:radial-gradient(ellipse at center,transparent 42%,rgba(255,77,90,.06) 68%,rgba(255,77,90,.24) 100%)}.topology-wrap--crisis-failed:after{opacity:1;animation:crisis-vignette-pulse 2.8s ease-in-out infinite}@keyframes crisis-vignette-pulse{0%,to{opacity:.75}50%{opacity:1}}.infra-signal{display:flex;align-items:flex-start;gap:.6rem;max-width:min(420px,calc(100vw - 1.5rem));padding:.55rem .75rem;border-radius:var(--radius-lg);border:1px solid var(--border);background:#11141af0;box-shadow:var(--shadow);font-size:11px;line-height:1.4}.infra-signal--collapsing{border-color:#ffb0208c}.infra-signal--collapsing:not(.infra-signal--peaked) .infra-signal__title{letter-spacing:.06em;text-transform:uppercase;font-size:10px;color:var(--warning)}.infra-signal--collapsing.infra-signal--peaked .infra-signal__title{letter-spacing:.06em;text-transform:uppercase;font-size:10px;color:var(--health-down)}.infra-signal--recovering,.infra-signal--stabilizing{border-color:#4dabf78c}.infra-signal--idle-overhead{border-color:#ffb0208c}.infra-signal__pulse{flex-shrink:0;width:8px;height:8px;margin-top:.25rem;border-radius:50%;background:var(--warning);animation:infra-signal-pulse 1.4s ease-in-out infinite}.infra-signal--recovering .infra-signal__pulse,.infra-signal--stabilizing .infra-signal__pulse{background:var(--health-recovering)}.infra-signal--idle-overhead .infra-signal__pulse{background:var(--warning)}.infra-signal__body{display:flex;flex-direction:column;gap:.15rem;min-width:0}.infra-signal__title{font-weight:600;color:var(--text)}.infra-signal__sources{display:flex;flex-direction:column;gap:.15rem;margin:0;padding:0;list-style:none}.infra-signal__source{font-size:10px;font-weight:600;line-height:1.35;color:var(--warning)}.infra-signal__source:before{content:"• ";opacity:.75}.infra-signal--collapsing.infra-signal--peaked .infra-signal__source{color:var(--health-down)}.infra-signal__detail{color:var(--text-muted)}.infra-signal__count{flex-shrink:0;align-self:center;padding:.15rem .45rem;border-radius:999px;background:var(--bg-hover);color:var(--text-dim);font-family:var(--font-mono);font-size:10px}@keyframes infra-signal-pulse{0%,to{opacity:.45;transform:scale(.85)}50%{opacity:1;transform:scale(1.15)}}.service-node--healing{animation:node-healing-pulse 1.6s ease-in-out infinite}.service-node__healing-icon{color:var(--health-recovering);animation:node-healing-spin 1.2s linear infinite}.service-node__healing-label{margin-bottom:.25rem;font-size:10px;font-weight:500;color:var(--health-recovering)}.service-node__pressure-icon{color:var(--warning);flex-shrink:0}.service-node__pressure-label{margin-bottom:.25rem;font-size:10px;font-weight:500;color:var(--warning)}.service-node__cap-label{margin-bottom:.25rem;font-size:10px;font-weight:600;color:var(--accent);padding:.1rem .35rem;border-radius:var(--radius-sm, 4px);border:1px solid color-mix(in srgb,var(--accent) 45%,transparent);background:var(--accent-soft);width:fit-content}.service-node--capped{box-shadow:0 0 0 1px color-mix(in srgb,var(--accent) 35%,transparent)}.service-node__stats-arrow{color:var(--text-muted)}@keyframes node-healing-pulse{0%,to{box-shadow:0 0 0 1px #4dabf740}50%{box-shadow:0 0 0 3px #4dabf78c}}@keyframes node-healing-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.topology-wrap .react-flow__background{background-color:transparent}.topology-wrap .react-flow{background-color:#0a0c10}.topology-wrap .react-flow{--xy-controls-button-background-color-default: var(--bg-elevated);--xy-controls-button-background-color-hover-default: var(--bg-hover);--xy-controls-button-color-default: var(--text-muted);--xy-controls-button-color-hover-default: var(--text);--xy-controls-button-border-color-default: var(--border);--xy-controls-box-shadow-default: none}.topology-wrap .react-flow__controls{border-radius:var(--radius-lg);border:1px solid var(--border);background:#11141af2;overflow:hidden;box-shadow:var(--shadow)}.topology-wrap .react-flow__controls-button{width:32px;height:32px}.service-node{min-width:140px;padding:.5rem .65rem;border-radius:var(--radius-lg);border:2px solid var(--node-color, var(--health-healthy));background:var(--bg-elevated);box-shadow:var(--shadow);transition:opacity .2s}.service-node--dimmed{opacity:.5}.service-node--impending{animation:node-impending-pulse 1.2s ease-in-out infinite;box-shadow:0 0 0 1px var(--warning)}.service-node--bottleneck{animation:node-bottleneck-pulse 1.7s ease-in-out infinite}@keyframes node-bottleneck-pulse{0%,to{box-shadow:0 0 0 2px var(--node-color),0 0 10px #ff4d5a33}50%{box-shadow:0 0 0 4px var(--node-color),0 0 22px #ff4d5a8c}}@keyframes node-impending-pulse{0%,to{box-shadow:0 0 0 1px #ffb02059}50%{box-shadow:0 0 0 3px #ffb020d9}}.service-node__header{display:flex;align-items:center;gap:.4rem;margin-bottom:.35rem}.service-node__icon{color:var(--node-color, var(--health-healthy))}.service-node__name{font-weight:600;font-size:12px}.service-node__stats{font-family:var(--font-mono);font-size:10px;color:var(--text-muted);line-height:1.5}.traffic-edge path{stroke-width:2}.traffic-edge--stressed path{stroke:var(--edge-stressed);stroke-dasharray:6 4;animation:edge-flow 1.2s linear infinite}.traffic-edge--normal path{stroke:var(--edge-normal)}.traffic-edge--normal.animated path{stroke-dasharray:8 6;animation:edge-flow 2s linear infinite}.traffic-edge--paused path{animation:none!important}.traffic-edge__drop-label{position:absolute;pointer-events:none;font-family:var(--font-mono);font-size:9px;font-weight:600;color:var(--edge-stressed);padding:.1rem .3rem;border-radius:var(--radius-sm, 4px);background:color-mix(in srgb,var(--bg-elevated) 88%,transparent);border:1px solid color-mix(in srgb,var(--edge-stressed) 35%,transparent)}@keyframes edge-flow{to{stroke-dashoffset:-24}}.timeline{flex:1;min-height:0;overflow-y:auto}.timeline-item{display:grid;grid-template-columns:8px 1fr auto;gap:.5rem;padding:.4rem 0;border-bottom:1px solid var(--border);font-size:11px}.timeline-item__dot{width:8px;height:8px;margin-top:4px;border-radius:50%}.timeline-item__dot--critical{background:var(--danger)}.timeline-item__dot--warning{background:var(--warning)}.timeline-item__dot--success{background:var(--success)}.timeline-item__dot--info{background:var(--info)}.timeline-item__time{color:var(--text-dim);font-family:var(--font-mono);font-size:10px}.metrics-grid{display:grid;grid-template-columns:1fr 1fr;gap:.5rem}.metric-card{position:relative;padding:.5rem;border-radius:var(--radius);border:1px solid var(--border);background:var(--bg-elevated)}.metric-card:hover,.metric-card:focus-visible{border-color:var(--border-strong);outline:none}.metric-card__label{font-size:10px;font-weight:600;color:var(--text);text-transform:uppercase;letter-spacing:.06em;margin-bottom:.15rem;cursor:help;text-decoration:underline dotted var(--text-dim);text-underline-offset:2px}.metric-card__value{font-family:var(--font-mono);font-size:16px;font-weight:600}.metric-card__delta{font-size:10px;color:var(--text-muted);font-weight:600}.metric-card__delta--good{color:var(--success)}.metric-card__delta--bad{color:var(--danger)}.metric-card__delta--neutral{color:var(--text-muted)}.metrics-section--failed .panel-title{color:var(--danger)}.sparkline{display:block;width:100%;height:28px;margin-top:.25rem;overflow:visible}.sparkline__fill{opacity:.9}.sparkline__line{fill:none;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}.sparkline--live .sparkline__line{filter:drop-shadow(0 0 2px currentColor);animation:sparkline-glow 2.4s ease-in-out infinite}.sparkline__dot{filter:drop-shadow(0 0 3px currentColor)}.sparkline__pulse{transform-box:fill-box;transform-origin:center;animation:sparkline-pulse 1.8s ease-out infinite}@keyframes sparkline-pulse{0%{transform:scale(.45);opacity:.55}70%{transform:scale(1.8);opacity:0}to{transform:scale(1.8);opacity:0}}@keyframes sparkline-glow{0%,to{opacity:.85}50%{opacity:1}}.bottom-desc{font-size:12px;color:var(--text-muted);line-height:1.5;margin:0}.bottom-desc--hint{margin-top:.35rem;color:var(--text-dim);font-size:11px}.scenario-cards{display:flex;flex-wrap:wrap;gap:.5rem;align-items:stretch}.scenario-card{display:flex;flex-direction:column;gap:.3rem;padding:.5rem .65rem;border-radius:var(--radius);border:1px solid var(--border-strong);background:var(--bg-elevated);min-width:200px;max-width:320px;flex:1 1 200px}.scenario-card--building{border-color:var(--info);background:#4dabf70f}.scenario-card--active{border-color:var(--warning);background:#ffb0200f}.scenario-card--critical{border-color:var(--danger);background:var(--danger-soft)}.scenario-card--contained{border-color:var(--success);background:var(--success-soft)}.scenario-card--preset{border-color:#7c5cff73;background:#7c5cff14;max-width:none}.scenario-card--sandbox{border-color:#4dabf773;background:#4dabf714}.scenario-card__badge--sandbox{color:#8ecbff;background:#4dabf72e;border:1px solid rgba(77,171,247,.35)}.scenario-card__badge--preset{color:#c4b5fd;background:#7c5cff2e;border:1px solid rgba(124,92,255,.35)}.scenario-card__header{display:flex;align-items:center;justify-content:space-between;gap:.5rem}.scenario-card__label{font-weight:600;font-size:11px}.scenario-card__badge{font-size:9px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;padding:.15rem .35rem;border-radius:4px;white-space:nowrap}.scenario-card__badge--building{color:var(--info);background:#4dabf726}.scenario-card__badge--active{color:var(--warning);background:#ffb02026}.scenario-card__badge--critical{color:var(--danger);background:var(--danger-soft)}.scenario-card__badge--contained{color:var(--success);background:var(--success-soft)}.scenario-card__summary{font-size:11px;color:var(--text-muted);line-height:1.45;margin:0}.scenario-card__impact,.scenario-card__live,.scenario-card__nodes{font-size:10px;color:var(--text-dim);line-height:1.45;margin:0}.scenario-card__impact-label{color:var(--text-muted);font-weight:600}.scenario-card__live{color:var(--text-muted)}.scenario-card__nodes{font-family:var(--font-mono);font-size:9px;color:var(--text-dim);margin-top:.1rem}.app-bottom__mitigations{min-width:160px;max-width:220px;max-height:240px;overflow-y:auto}.mitigation-chips{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center}.mitigation-chips--stacked{flex-direction:column;flex-wrap:nowrap;align-items:stretch}.mitigation-chips--stacked .mitigation-chip{min-width:0;width:100%}.mitigation-chip{display:flex;flex-direction:column;gap:.15rem;padding:.45rem .65rem;border-radius:var(--radius);border:1px solid var(--accent);background:var(--accent-soft);min-width:120px}.mitigation-chip__label{font-weight:600;font-size:11px}.mitigation-chip__detail{font-size:10px;color:var(--text-muted)}.status-card{text-align:center;padding:.5rem .25rem .75rem;border-bottom:1px solid var(--border);margin-bottom:0}.sidebar-status-marquee{overflow:hidden;margin:.3rem 0 0;height:1.35em;font-size:11px;color:var(--text-muted);line-height:1.35;-webkit-mask-image:linear-gradient(90deg,transparent 0%,#000 8%,#000 92%,transparent 100%);mask-image:linear-gradient(90deg,transparent 0%,#000 8%,#000 92%,transparent 100%)}.sidebar-status-marquee__track{display:inline-flex;width:max-content;white-space:nowrap;gap:2.5rem;animation:sidebar-status-marquee 14s linear infinite}.sidebar-status-marquee__track span{flex-shrink:0}@keyframes sidebar-status-marquee{0%{transform:translate(0)}to{transform:translate(calc(-50% - 1.25rem))}}@media (prefers-reduced-motion: reduce){.sidebar-status-marquee__track{animation:none;width:100%;justify-content:center;gap:0}.sidebar-status-marquee__track span:last-child{display:none}.topology-wrap--crisis-failed:after,.service-node--bottleneck,.action-btn--playbook-hint{animation:none}.topology-wrap--crisis-failed:after{opacity:.85}}.status-card__badge{font-size:22px;font-weight:700;letter-spacing:.06em}.status-card--stable .status-card__badge{color:var(--success)}.status-card--degraded .status-card__badge,.status-card--running .status-card__badge{color:var(--warning)}.status-card--failed .status-card__badge{color:var(--danger)}.status-card--recovering .status-card__badge{color:var(--health-recovering)}.status-card__trend{display:flex;align-items:center;gap:.4rem;margin-top:.35rem;font-size:11px;font-weight:600;letter-spacing:.03em}.status-card__trend-dot{width:7px;height:7px;border-radius:50%;animation:infra-signal-pulse 1.4s ease-in-out infinite}.status-card__trend--collapsing{color:var(--warning)}.status-card__trend--collapsing .status-card__trend-dot{background:var(--warning)}.status-card__trend--collapsing.status-card__trend--peaked{color:var(--health-down)}.status-card__trend--collapsing.status-card__trend--peaked .status-card__trend-dot{background:var(--health-down);animation:none}.infra-signal--collapsing.infra-signal--peaked{border-color:#ff4d5a8c}.infra-signal--collapsing.infra-signal--peaked .infra-signal__pulse{background:var(--health-down);animation:none}.status-card__trend--recovering,.status-card__trend--stabilizing{color:var(--health-recovering)}.status-card__trend--recovering .status-card__trend-dot,.status-card__trend--stabilizing .status-card__trend-dot{background:var(--health-recovering)}.status-card__trend--idle-overhead{color:var(--warning)}.status-card__trend--idle-overhead .status-card__trend-dot{background:var(--warning)}.sidebar-status-marquee--collapsing .sidebar-status-marquee__track span{color:var(--warning)}.sidebar-status-marquee--collapsing.sidebar-status-marquee--peaked .sidebar-status-marquee__track span{color:var(--health-down)}.sidebar-status-marquee--recovering .sidebar-status-marquee__track span,.sidebar-status-marquee--stabilizing .sidebar-status-marquee__track span{color:var(--health-recovering)}.sidebar-status-marquee--idle-overhead .sidebar-status-marquee__track span{color:var(--warning)}.explain-btn{display:flex;align-items:center;justify-content:center;gap:.45rem;width:100%;margin-top:.55rem;padding:.5rem .65rem;border:1px solid rgba(124,92,255,.55);border-radius:var(--radius);background:linear-gradient(180deg,#7c5cff33,#7c5cff14);color:#c4b5fd;font-size:12px;font-weight:600;letter-spacing:.02em;box-shadow:0 0 14px #7c5cff2e,inset 0 1px #ffffff0f;transition:border-color .15s,background .15s,box-shadow .15s,color .15s}.explain-btn:hover{border-color:var(--accent);background:#7c5cff3d;color:#e8e0ff;box-shadow:0 0 20px #7c5cff47}.explain-btn:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.explain-btn:disabled{opacity:.45;cursor:not-allowed}.explain-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:100;display:grid;place-items:center;background:#000000a6}.explain-modal{width:min(520px,92vw);max-height:80vh;overflow-y:auto;padding:1.25rem;border-radius:var(--radius-lg);background:var(--bg-panel);border:1px solid var(--border-strong);box-shadow:var(--shadow)}.explain-modal h2{margin:0 0 .75rem;font-size:16px}.explain-modal p{margin:0 0 .65rem;color:var(--text-muted);line-height:1.55;font-size:13px}.explain-modal__close{margin-top:1rem;padding:.45rem 1rem;border:1px solid var(--border);border-radius:var(--radius);background:var(--accent);color:#fff;border:none}.loading-screen,.error-screen{display:grid;place-items:center;height:100%;min-height:100vh;gap:1rem;color:var(--text-muted);background-color:#0a0c10}.mobile-stub{display:grid;place-items:center;min-height:100vh;padding:1.5rem;background:radial-gradient(circle at 50% 30%,#141820 0%,var(--bg-app) 70%)}.mobile-stub__card{width:min(400px,100%);padding:1.75rem 1.5rem;border-radius:var(--radius-lg);border:1px solid var(--border-strong);background:var(--bg-panel);box-shadow:var(--shadow);text-align:center}.mobile-stub__brand{display:flex;align-items:center;justify-content:center;gap:.75rem;margin-bottom:1.5rem;text-align:left}.mobile-stub__icon{display:grid;place-items:center;width:72px;height:72px;margin:0 auto 1.25rem;border-radius:50%;background:var(--accent-soft);border:1px solid rgba(124,92,255,.35);color:var(--accent)}.mobile-stub__title{margin:0 0 .65rem;font-size:18px;font-weight:700;color:var(--text)}.mobile-stub__text{margin:0 0 1.25rem;font-size:13px;line-height:1.6;color:var(--text-muted)}.mobile-stub__text strong{color:var(--text);font-weight:600}.mobile-stub__disclaimer{margin:0;padding:.55rem .75rem;border-radius:var(--radius);background:#3dd68c1a;border:1px solid rgba(61,214,140,.35);font-size:11px;font-weight:600;line-height:1.45;color:#8ef0c0}.error-screen button{padding:.5rem 1rem;border-radius:var(--radius);border:none;background:var(--accent);color:#fff}.banner-error{position:fixed;bottom:1rem;left:50%;transform:translate(-50%);z-index:50;padding:.5rem 1rem;border-radius:var(--radius);background:var(--danger-soft);border:1px solid var(--danger);color:var(--text);font-size:12px}
