.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))}.swarm-indicator{position:relative;display:flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);background:var(--color-bg-tertiary);border:none;border-radius:var(--radius-md);color:var(--color-text-secondary);cursor:pointer;transition:all var(--transition-fast);box-shadow:var(--shadow-xs)}.swarm-indicator:hover{background:var(--color-bg-hover);color:var(--color-text-primary)}.swarm-indicator.active{color:var(--color-accent);background:var(--color-accent-subtle);box-shadow:var(--shadow-glow-sm)}.swarm-indicator.has-conflicts{background:#e236361a;color:var(--color-error)}.swarm-indicator.has-unseen{animation:swarm-glow 2s ease-in-out infinite}@keyframes swarm-glow{0%,to{box-shadow:var(--shadow-xs)}50%{box-shadow:var(--shadow-glow-sm)}}.swarm-indicator__icon{display:flex;align-items:center;justify-content:center}.swarm-indicator__status{position:absolute;top:var(--space-1);right:var(--space-1);width:6px;height:6px;border-radius:50%;background:var(--color-text-muted)}.swarm-indicator__status.connected{background:var(--color-healthy);box-shadow:0 0 6px var(--color-healthy);animation:status-pulse 2s ease-in-out infinite}.swarm-indicator__status.disconnected{background:var(--color-text-muted)}@keyframes status-pulse{0%,to{opacity:1}50%{opacity:.5}}.swarm-indicator__badge{position:absolute;top:-4px;right:-4px;min-width:18px;height:18px;padding:0 var(--space-1);background:var(--gradient-primary);border-radius:var(--radius-full);font-size:10px;font-weight:600;color:var(--color-bg-primary);display:flex;align-items:center;justify-content:center;box-shadow:var(--shadow-glow-sm)}.swarm-indicator.has-conflicts .swarm-indicator__badge{background:linear-gradient(135deg,var(--color-error),var(--color-risk-high));box-shadow:0 2px 8px #e2363666}.swarm-indicator__pulse{position:absolute;top:-2px;right:-2px;bottom:-2px;left:-2px;border-radius:var(--radius-md);border:2px solid transparent;animation:pulse-ring 1.5s ease-out infinite;pointer-events:none}@keyframes pulse-ring{0%{border-color:var(--color-accent-glow);transform:scale(1);opacity:1}to{border-color:transparent;transform:scale(1.15);opacity:0}}.swarm-indicator__avatars{display:flex;align-items:center;margin-left:var(--space-1)}.swarm-indicator__avatar{width:14px;height:14px;border-radius:var(--radius-sm);border:1.5px solid var(--color-bg-primary);transition:transform var(--transition-fast)}.swarm-indicator:hover .swarm-indicator__avatar{transform:translate(0)!important}.swarm-quick-stats{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-2) var(--space-3);background:var(--color-bg-tertiary);border-radius:var(--radius-md);font-size:.75rem;box-shadow:var(--shadow-xs)}.swarm-quick-stats--empty{color:var(--color-text-muted)}.swarm-quick-stats__item{display:flex;flex-direction:column;align-items:center;gap:2px}.swarm-quick-stats__value{font-weight:600;font-size:.875rem;color:var(--color-accent);font-variant-numeric:tabular-nums}.swarm-quick-stats__label{font-size:.65rem;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.5px}.swarm-quick-stats__item--warning .swarm-quick-stats__value{color:var(--color-error)}.swarm-quick-stats__divider{width:1px;height:24px;background:var(--color-platinum-dim);opacity:.3}.swarm-panel__backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#11131799;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:998;animation:fadeIn var(--transition-fast) ease}.swarm-panel{position:fixed;top:0;right:0;width:380px;height:100vh;display:flex;flex-direction:column;z-index:999;background:var(--color-surface);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);box-shadow:var(--shadow-lg);animation:slideIn var(--transition-normal) ease}.swarm-panel:before{content:"";position:absolute;top:0;left:0;bottom:0;width:1px;background:linear-gradient(180deg,transparent,var(--color-accent-glow),transparent);opacity:.5}@keyframes slideIn{0%{transform:translate(100%)}to{transform:translate(0)}}.swarm-panel__header{display:flex;align-items:center;justify-content:space-between;padding:var(--space-4) var(--space-5);background:var(--color-bg-tertiary)}.swarm-panel__title{display:flex;align-items:center;gap:var(--space-2);font-size:1rem;font-weight:600;color:var(--color-text-primary)}.swarm-panel__title-icon{color:var(--color-accent)}.swarm-panel__close{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border:none;background:var(--color-bg-tertiary);border-radius:var(--radius-md);color:var(--color-text-secondary);cursor:pointer;transition:all var(--transition-fast);box-shadow:var(--shadow-xs)}.swarm-panel__close:hover{background:var(--color-bg-hover);color:var(--color-accent)}.swarm-panel__tabs{display:flex;gap:var(--space-1);padding:var(--space-3) var(--space-4);background:var(--color-bg-secondary);overflow-x:auto}.swarm-panel__tab{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);border:none;background:transparent;border-radius:var(--radius-md);color:var(--color-text-muted);font-size:.75rem;font-weight:500;cursor:pointer;transition:all var(--transition-fast);white-space:nowrap}.swarm-panel__tab:hover{background:var(--color-bg-hover);color:var(--color-text-secondary)}.swarm-panel__tab.active{background:var(--color-accent-subtle);color:var(--color-accent)}.swarm-panel__content{flex:1;overflow-y:auto;padding:var(--space-4)}.swarm-view{display:flex;flex-direction:column;gap:var(--space-4)}.swarm-metrics-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--space-3)}.swarm-metric-card{display:flex;flex-direction:column;gap:var(--space-1);padding:var(--space-3);background:var(--color-bg-tertiary);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);transition:all var(--transition-fast)}.swarm-metric-card:hover{background:var(--color-bg-hover);transform:translateY(-1px);box-shadow:var(--shadow-md)}.swarm-metric-card__icon{color:var(--color-text-muted);margin-bottom:var(--space-1)}.swarm-metric-card--accent .swarm-metric-card__icon{color:var(--color-accent)}.swarm-metric-card--purple .swarm-metric-card__icon{color:var(--color-class)}.swarm-metric-card--blue .swarm-metric-card__icon{color:var(--color-hook)}.swarm-metric-card--green .swarm-metric-card__icon{color:var(--color-healthy)}.swarm-metric-card--red .swarm-metric-card__icon{color:var(--color-error)}.swarm-metric-card--amber .swarm-metric-card__icon{color:var(--color-warning)}.swarm-metric-card__value{font-size:1.375rem;font-weight:700;color:var(--color-text-primary);line-height:1;font-variant-numeric:tabular-nums}.swarm-metric-card__label{font-size:.65rem;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.5px}.swarm-section{display:flex;flex-direction:column;gap:var(--space-2)}.swarm-section__title{display:flex;align-items:center;gap:var(--space-2);font-size:.7rem;font-weight:600;color:var(--color-text-tertiary);text-transform:uppercase;letter-spacing:.5px}.swarm-section__title--warning{color:var(--color-error)}.swarm-agent-list{display:flex;flex-direction:column;gap:var(--space-2)}.swarm-agent-row{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3);background:var(--color-bg-tertiary);border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-fast);box-shadow:var(--shadow-xs)}.swarm-agent-row:hover{background:var(--color-bg-hover);transform:translateY(-1px);box-shadow:var(--shadow-sm)}.swarm-agent-row.selected{background:var(--color-accent-subtle);box-shadow:var(--shadow-glow-sm)}.swarm-agent-row.compact{padding:var(--space-2) var(--space-3)}.swarm-agent-row__avatar{width:28px;height:28px;border-radius:var(--radius-md);flex-shrink:0}.swarm-agent-row.compact .swarm-agent-row__avatar{width:24px;height:24px}.swarm-agent-row__info{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.swarm-agent-row__name{font-size:.875rem;font-weight:500;color:var(--color-text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.swarm-agent-row__provider{font-size:.7rem;color:var(--color-text-muted)}.swarm-agent-row__status{display:flex;align-items:center;justify-content:center;width:20px;height:20px}.swarm-agent-row__status--active{color:var(--color-healthy)}.swarm-agent-row__status--paused{color:var(--color-warning)}.swarm-agent-row__status--idle{color:var(--color-text-muted)}.swarm-conflict-list{display:flex;flex-direction:column;gap:var(--space-2)}.swarm-conflict-row{padding:var(--space-3);background:var(--color-bg-tertiary);border-radius:var(--radius-md);box-shadow:var(--shadow-xs)}.swarm-conflict-row--critical,.swarm-conflict-row--error{background:#e236361a;box-shadow:var(--shadow-xs),inset 0 0 0 1px #e2363633}.swarm-conflict-row--warning{background:#ffc61a14;box-shadow:var(--shadow-xs),inset 0 0 0 1px #ffc61a33}.swarm-conflict-row__header{display:flex;align-items:center;gap:var(--space-2);color:var(--color-text-primary)}.swarm-conflict-row--critical .swarm-conflict-row__header,.swarm-conflict-row--error .swarm-conflict-row__header{color:var(--color-error)}.swarm-conflict-row__type{font-size:.875rem;font-weight:500;text-transform:capitalize;flex:1}.swarm-conflict-row__details{display:flex;gap:var(--space-4);margin-top:var(--space-2);font-size:.7rem;color:var(--color-text-muted)}.swarm-badge{padding:2px var(--space-2);border-radius:var(--radius-sm);font-size:.625rem;font-weight:600;text-transform:uppercase;letter-spacing:.3px}.swarm-badge--critical,.swarm-badge--error{background:#e2363626;color:var(--color-error)}.swarm-badge--warning{background:#ffc61a26;color:var(--color-warning)}.swarm-badge--info{background:#19c3e626;color:var(--color-hook)}.swarm-badge--block{background:#e2363626;color:var(--color-error)}.swarm-badge--warn{background:#ffc61a26;color:var(--color-warning)}.swarm-badge--audit{background:var(--color-accent-subtle);color:var(--color-accent)}.swarm-policy-item{padding:var(--space-3);background:var(--color-bg-tertiary);border-radius:var(--radius-md);margin-bottom:var(--space-2);box-shadow:var(--shadow-xs)}.swarm-policy-item__header{display:flex;align-items:center;gap:var(--space-2);font-size:.875rem;font-weight:500;color:var(--color-text-primary)}.swarm-policy-item__header span:first-of-type{flex:1}.swarm-policy-item__desc{margin-top:var(--space-2);font-size:.75rem;color:var(--color-text-muted)}.swarm-timeline{display:flex;flex-direction:column;gap:0;padding-left:var(--space-2)}.swarm-timeline__item{display:flex;gap:var(--space-3);padding:var(--space-3) 0;border-left:2px solid var(--color-bg-hover);padding-left:var(--space-4);margin-left:var(--space-1);position:relative}.swarm-timeline__dot{position:absolute;left:-5px;top:14px;width:8px;height:8px;border-radius:50%;background:var(--color-text-muted)}.swarm-timeline__dot--action{background:var(--color-healthy)}.swarm-timeline__dot--intent{background:var(--color-accent)}.swarm-timeline__dot--conflict{background:var(--color-error)}.swarm-timeline__content{display:flex;flex-direction:column;gap:2px}.swarm-timeline__time{font-size:.625rem;color:var(--color-text-muted);font-variant-numeric:tabular-nums}.swarm-timeline__text{font-size:.75rem;color:var(--color-text-secondary)}.swarm-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--space-8) var(--space-5);text-align:center}.swarm-empty__icon{color:var(--color-text-muted);margin-bottom:var(--space-3)}.swarm-empty p{font-size:.875rem;font-weight:500;color:var(--color-text-secondary);margin:0}.swarm-empty span{font-size:.75rem;color:var(--color-text-muted);margin-top:var(--space-1)}.swarm-empty--success .swarm-empty__icon{color:var(--color-healthy)}.swarm-view-more{display:flex;align-items:center;justify-content:center;gap:var(--space-2);padding:var(--space-3);background:transparent;border:none;border-radius:var(--radius-md);color:var(--color-text-muted);font-size:.75rem;cursor:pointer;transition:all var(--transition-fast);box-shadow:inset 0 0 0 1px var(--color-bg-hover)}.swarm-view-more:hover{background:var(--color-bg-tertiary);color:var(--color-text-secondary)}.swarm-layer{position:absolute;top:0;left:0;width:100%;height:100%;overflow:hidden;z-index:5;pointer-events:none}.swarm-avatars-overlay{position:absolute;top:0;left:0;width:100%;height:100%}.swarm-avatar-stack{position:absolute;display:flex;align-items:center;padding:var(--space-1);pointer-events:auto}.swarm-avatar{width:20px;height:20px;border-radius:var(--radius-sm);border:2px solid var(--color-bg-primary);display:flex;align-items:center;justify-content:center;position:relative;transition:transform var(--transition-fast);box-shadow:var(--shadow-sm)}.swarm-avatar--active{animation:avatar-glow 2s ease-in-out infinite}@keyframes avatar-glow{0%,to{box-shadow:var(--shadow-sm)}50%{box-shadow:var(--shadow-sm),var(--shadow-glow-sm)}}.swarm-avatar--paused{opacity:.6}.swarm-avatar--idle{opacity:.5}.swarm-avatar--more{background:var(--color-bg-tertiary);font-size:9px;font-weight:600;color:var(--color-text-secondary)}.swarm-avatar__typing{position:absolute;bottom:-4px;right:-4px;width:8px;height:8px;background:var(--color-healthy);border-radius:50%;border:1.5px solid var(--color-bg-primary);animation:typing-pulse 1s ease-in-out infinite}@keyframes typing-pulse{0%,to{transform:scale(1);background:var(--color-healthy)}50%{transform:scale(1.2);background:var(--color-accent-bright)}}.swarm-territory-overlay{position:absolute;top:0;left:0;width:100%;height:100%;overflow:visible}.swarm-territory polygon{fill:var(--color-accent-subtle);stroke:var(--color-accent-dim);stroke-width:1.5;stroke-dasharray:4 2;opacity:.6;transition:opacity var(--transition-normal)}.swarm-territory:hover polygon{opacity:.9}.swarm-intent-overlay{position:absolute;top:0;left:0;width:100%;height:100%;z-index:4;pointer-events:none}.swarm-intent-ghost{position:absolute;padding:var(--space-2) var(--space-3);background:var(--color-surface-glass);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-radius:var(--radius-md);opacity:.85;box-shadow:var(--shadow-sm),inset 0 0 0 1px var(--color-accent-dim);pointer-events:auto}.swarm-intent-ghost--low{box-shadow:var(--shadow-sm),inset 0 0 0 1px var(--color-healthy)}.swarm-intent-ghost--medium{box-shadow:var(--shadow-sm),inset 0 0 0 1px var(--color-warning)}.swarm-intent-ghost--high{box-shadow:var(--shadow-sm),inset 0 0 0 1px var(--color-error);animation:intent-warning 1.5s ease-in-out infinite}@keyframes intent-warning{0%,to{box-shadow:var(--shadow-sm),inset 0 0 0 1px #e236364d}50%{box-shadow:var(--shadow-sm),inset 0 0 0 1px #e23636b3}}.swarm-intent-ghost__pulse{position:absolute;top:-2px;right:-2px;bottom:-2px;left:-2px;border-radius:var(--radius-md);box-shadow:0 0 0 1px var(--color-accent-glow);animation:ghost-pulse 2s ease-out infinite}@keyframes ghost-pulse{0%{opacity:.6;transform:scale(1)}to{opacity:0;transform:scale(1.1)}}.swarm-intent-ghost__label{font-size:.7rem;color:var(--color-text-secondary);white-space:nowrap}.swarm-conflict-flash{position:absolute;top:0;left:0;width:100%;height:100%;pointer-events:none;z-index:10}.swarm-conflict-flash__ring{position:absolute;top:0;right:0;bottom:0;left:0;animation:conflict-flash .6s ease-out}.swarm-conflict-flash--warning .swarm-conflict-flash__ring{box-shadow:inset 0 0 40px #ffc61a33}.swarm-conflict-flash--error .swarm-conflict-flash__ring{box-shadow:inset 0 0 40px #e2363640}.swarm-conflict-flash--critical .swarm-conflict-flash__ring{box-shadow:inset 0 0 60px #e2363659;animation:conflict-flash-critical .4s ease-out 2}@keyframes conflict-flash{0%{opacity:1}to{opacity:0}}@keyframes conflict-flash-critical{0%,to{opacity:0}50%{opacity:1}}.swarm-focus-highlight{position:absolute;border-radius:var(--radius-md);pointer-events:none;box-shadow:0 0 0 2px var(--color-accent);animation:focus-highlight 1.5s ease-in-out infinite}@keyframes focus-highlight{0%,to{opacity:.6;box-shadow:0 0 0 2px var(--color-accent-dim),0 0 0 0 var(--color-accent-glow)}50%{opacity:1;box-shadow:0 0 0 2px var(--color-accent),0 0 16px 4px var(--color-accent-glow)}}:root{--color-accent: hsl(85, 100%, 50%);--color-accent-bright: hsl(85, 100%, 60%);--color-accent-dim: hsl(85, 80%, 40%);--color-accent-glow: hsla(85, 100%, 50%, .4);--color-accent-subtle: hsla(85, 100%, 50%, .1);--color-platinum: hsl(220, 10%, 75%);--color-platinum-bright: hsl(220, 15%, 85%);--color-platinum-dim: hsl(220, 8%, 55%);--color-platinum-matte: hsl(220, 5%, 45%);--color-bg-primary: hsl(220, 15%, 8%);--color-bg-secondary: hsl(220, 12%, 11%);--color-bg-tertiary: hsl(220, 10%, 14%);--color-bg-elevated: hsl(220, 10%, 17%);--color-bg-hover: hsl(220, 12%, 20%);--color-surface: hsla(220, 15%, 13%, .95);--color-surface-glass: hsla(220, 12%, 16%, .85);--color-text-primary: hsl(220, 15%, 92%);--color-text-secondary: hsl(220, 10%, 65%);--color-text-tertiary: hsl(220, 8%, 45%);--color-text-muted: hsl(220, 5%, 35%);--color-package: hsl(160, 70%, 50%);--color-module: hsl(170, 60%, 45%);--color-file: var(--color-accent);--color-class: hsl(270, 60%, 60%);--color-interface: hsl(300, 50%, 55%);--color-function: hsl(50, 85%, 55%);--color-component: hsl(340, 65%, 55%);--color-hook: hsl(190, 80%, 50%);--color-variable: hsl(100, 70%, 50%);--color-healthy: hsl(85, 100%, 50%);--color-warning: hsl(45, 100%, 55%);--color-error: hsl(0, 75%, 55%);--color-deprecated: var(--color-platinum-dim);--color-unused: var(--color-text-muted);--color-risk-low: var(--color-accent);--color-risk-medium: hsl(45, 100%, 55%);--color-risk-high: hsl(25, 95%, 55%);--color-risk-critical: hsl(0, 80%, 55%);--gradient-primary: linear-gradient(135deg, var(--color-accent), hsl(120, 80%, 45%));--gradient-platinum: linear-gradient(135deg, var(--color-platinum), var(--color-platinum-dim));--gradient-glow: radial-gradient(circle, var(--color-accent-glow), transparent 70%);--gradient-surface: linear-gradient(180deg, var(--color-bg-tertiary), var(--color-bg-secondary));--shadow-xs: 0 1px 2px hsla(0, 0%, 0%, .3);--shadow-sm: 0 2px 4px hsla(0, 0%, 0%, .2), 0 4px 8px hsla(0, 0%, 0%, .15);--shadow-md: 0 4px 6px hsla(0, 0%, 0%, .2), 0 8px 16px hsla(0, 0%, 0%, .2), 0 16px 32px hsla(0, 0%, 0%, .1);--shadow-lg: 0 8px 16px hsla(0, 0%, 0%, .25), 0 16px 32px hsla(0, 0%, 0%, .2), 0 32px 64px hsla(0, 0%, 0%, .15);--shadow-glow: 0 0 20px var(--color-accent-glow), 0 0 40px hsla(85, 100%, 50%, .2);--shadow-glow-sm: 0 0 10px hsla(85, 100%, 50%, .3);--shadow-inset: inset 0 2px 4px hsla(0, 0%, 0%, .3);--space-1: .25rem;--space-2: .5rem;--space-3: .75rem;--space-4: 1rem;--space-5: 1.5rem;--space-6: 2rem;--space-8: 3rem;--radius-sm: 5px;--radius-md: 5px;--radius-lg: 5px;--radius-xl: 5px;--radius-full: 5px;--font-sans: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--font-mono: "JetBrains Mono", "Fira Code", "Consolas", monospace;--transition-fast: .15s cubic-bezier(.4, 0, .2, 1);--transition-normal: .25s cubic-bezier(.4, 0, .2, 1);--transition-slow: .4s cubic-bezier(.4, 0, .2, 1);--transition-bounce: .5s cubic-bezier(.34, 1.56, .64, 1)}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{font-size:16px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{font-family:var(--font-sans);background:var(--color-bg-primary);color:var(--color-text-primary);line-height:1.6;overflow:hidden;min-height:100vh}#root{width:100vw;height:100vh;display:flex;flex-direction:column}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:var(--color-bg-secondary);border-radius:var(--radius-sm)}::-webkit-scrollbar-thumb{background:var(--color-platinum-dim);border-radius:var(--radius-sm);transition:background var(--transition-fast)}::-webkit-scrollbar-thumb:hover{background:var(--color-platinum)}.app{display:flex;flex-direction:column;width:100%;height:100%;background:var(--color-bg-primary)}.app-header{display:flex;align-items:center;justify-content:space-between;padding:var(--space-3) var(--space-5);background:var(--color-surface);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);box-shadow:var(--shadow-sm);z-index:100;position:relative}.app-header:after{content:"";position:absolute;bottom:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,var(--color-accent-glow),transparent);opacity:.5}.app-logo{display:flex;align-items:center;gap:var(--space-3)}.app-logo h1{font-size:1.5rem;font-weight:700;background:var(--gradient-primary);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;letter-spacing:-.02em;text-shadow:0 0 30px var(--color-accent-glow)}.app-main{flex:1;display:flex;position:relative;overflow:hidden}.logo-icon{display:flex;align-items:center;justify-content:center;width:36px;height:36px;background:var(--color-accent-subtle);border-radius:var(--radius-md);color:var(--color-accent);transition:all var(--transition-fast)}.logo-icon:hover{background:var(--color-accent);color:var(--color-bg-primary);box-shadow:var(--shadow-glow-sm)}.logo-tagline{font-size:.75rem;color:var(--color-text-tertiary);margin-left:var(--space-2);font-weight:400;letter-spacing:.02em}.header-input-group{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-1) var(--space-2);background:var(--color-bg-tertiary);border-radius:var(--radius-md);box-shadow:var(--shadow-inset);transition:all var(--transition-fast)}.header-input-group:focus-within{background:var(--color-bg-elevated);box-shadow:var(--shadow-inset),var(--shadow-glow-sm)}.header-input-group .input-icon{color:var(--color-text-muted);flex-shrink:0;transition:color var(--transition-fast)}.header-input-group:focus-within .input-icon{color:var(--color-accent)}.header-input{background:transparent!important;border:none!important;box-shadow:none!important;padding:var(--space-1) var(--space-2)!important;width:280px;font-size:.875rem}.header-input:focus{box-shadow:none!important}.header-stats{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-2) var(--space-4);background:var(--color-bg-tertiary);border-radius:var(--radius-md);box-shadow:var(--shadow-xs)}.stat-item{display:flex;align-items:baseline;gap:var(--space-1)}.stat-value{font-size:.875rem;font-weight:600;color:var(--color-accent);font-variant-numeric:tabular-nums}.stat-label{font-size:.7rem;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.5px}.stat-divider{width:1px;height:16px;background:var(--color-platinum-dim);opacity:.3}.header-actions{display:flex;align-items:center;gap:var(--space-1)}.header-error{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);background:#e236361a;border-radius:var(--radius-md);color:var(--color-error);font-size:.8rem;animation:fadeIn var(--transition-fast) ease}.header-error .btn-sm{padding:var(--space-1);min-width:auto}@keyframes fadeIn{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.canvas-container{flex:1;position:relative;background:var(--color-bg-primary);background-image:radial-gradient(circle at 50% 50%,hsla(85,100%,50%,.02) 0%,transparent 50%),radial-gradient(circle at 80% 20%,hsla(160,70%,50%,.015) 0%,transparent 40%)}.react-flow__background{background-color:var(--color-bg-primary)!important}.react-flow__background pattern circle{fill:var(--color-platinum-dim)!important;opacity:.3}.react-flow__minimap{background-color:var(--color-surface)!important;border-radius:var(--radius-md)!important;box-shadow:var(--shadow-md)!important;overflow:hidden}.react-flow__controls{background:var(--color-surface)!important;border-radius:var(--radius-md)!important;box-shadow:var(--shadow-md)!important;overflow:hidden}.react-flow__controls-button{background:transparent!important;border:none!important;color:var(--color-text-secondary)!important;fill:var(--color-text-secondary)!important;transition:all var(--transition-fast)!important}.react-flow__controls-button:hover{background:var(--color-bg-hover)!important;color:var(--color-accent)!important;fill:var(--color-accent)!important}.node-base{padding:var(--space-3) var(--space-4);background:var(--color-surface);border-radius:var(--radius-md);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);box-shadow:var(--shadow-md);transition:all var(--transition-fast);min-width:160px;position:relative;overflow:hidden}.node-base:before{content:"";position:absolute;top:0;left:0;right:0;height:2px;background:var(--gradient-primary);opacity:0;transition:opacity var(--transition-fast)}.node-base:hover{transform:translateY(-2px) scale(1.01);box-shadow:var(--shadow-lg)}.node-base:hover:before{opacity:1}.node-base.selected{box-shadow:var(--shadow-glow)}.node-base.selected:before{opacity:1}.node-header{display:flex;align-items:center;gap:var(--space-2);margin-bottom:var(--space-2)}.node-icon{width:24px;height:24px;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-sm);background:var(--color-bg-tertiary);color:var(--color-accent);transition:all var(--transition-fast)}.node-base:hover .node-icon{background:var(--color-accent-subtle);box-shadow:var(--shadow-glow-sm)}.node-label{font-weight:600;font-size:.875rem;color:var(--color-text-primary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.node-type{font-size:.7rem;color:var(--color-text-tertiary);text-transform:uppercase;letter-spacing:.5px;font-weight:500}.node-status{display:flex;align-items:center;gap:var(--space-1);font-size:.75rem}.node-status-dot{width:8px;height:8px;border-radius:50%;animation:pulse-glow 2s ease-in-out infinite}@keyframes pulse-glow{0%,to{opacity:1;box-shadow:0 0 4px currentColor}50%{opacity:.7;box-shadow:0 0 8px currentColor}}.node-status-dot.healthy{background:var(--color-healthy);color:var(--color-healthy)}.node-status-dot.warning{background:var(--color-warning);color:var(--color-warning)}.node-status-dot.error{background:var(--color-error);color:var(--color-error)}.node-package{border-left:3px solid var(--color-package)}.node-module{border-left:3px solid var(--color-module)}.node-file{border-left:3px solid var(--color-file)}.node-class{border-left:3px solid var(--color-class)}.node-interface{border-left:3px solid var(--color-interface)}.node-function{border-left:3px solid var(--color-function)}.node-component{border-left:3px solid var(--color-component)}.node-hook{border-left:3px solid var(--color-hook)}.react-flow__edge-path{stroke:var(--color-platinum-dim)!important;stroke-width:1.5!important;transition:stroke var(--transition-fast),stroke-width var(--transition-fast)!important}.react-flow__edge:hover .react-flow__edge-path{stroke:var(--color-accent)!important;stroke-width:2!important;filter:drop-shadow(0 0 4px var(--color-accent-glow))}.react-flow__edge.selected .react-flow__edge-path{stroke:var(--color-accent)!important;stroke-width:2.5!important;filter:drop-shadow(0 0 6px var(--color-accent-glow))}.react-flow__edge.animated .react-flow__edge-path{stroke-dasharray:5 5!important;animation:dash .5s linear infinite!important}@keyframes dash{to{stroke-dashoffset:-10}}.edge-imports .react-flow__edge-path{stroke:var(--color-module)!important}.edge-exports .react-flow__edge-path{stroke:var(--color-file)!important}.edge-extends .react-flow__edge-path{stroke:var(--color-class)!important}.edge-implements .react-flow__edge-path{stroke:var(--color-interface)!important}.edge-calls .react-flow__edge-path{stroke:var(--color-function)!important}.edge-contains .react-flow__edge-path{stroke:var(--color-platinum-matte)!important;stroke-dasharray:4 6!important}.panel{position:absolute;background:var(--color-surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);z-index:50;overflow:hidden;animation:slideIn var(--transition-normal) ease}@keyframes slideIn{0%{opacity:0;transform:translate(20px)}to{opacity:1;transform:translate(0)}}.panel:before{content:"";position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,var(--color-accent),transparent);opacity:.3}.panel-header{display:flex;align-items:center;justify-content:space-between;padding:var(--space-4);background:var(--color-bg-tertiary)}.panel-title{font-size:1rem;font-weight:600;color:var(--color-text-primary)}.panel-content{padding:var(--space-4);max-height:calc(100vh - 200px);overflow-y:auto}.detail-panel{right:var(--space-5);top:var(--space-5);width:380px}.ghost-panel{left:var(--space-5);bottom:var(--space-5);width:400px}.breadcrumb{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-4);background:var(--color-surface);border-radius:var(--radius-full);box-shadow:var(--shadow-sm);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.breadcrumb-item{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-1) var(--space-2);border-radius:var(--radius-sm);font-size:.875rem;color:var(--color-text-secondary);cursor:pointer;transition:all var(--transition-fast)}.breadcrumb-item:hover{background:var(--color-bg-hover);color:var(--color-accent)}.breadcrumb-item:active{transform:scale(.98)}.breadcrumb-separator{color:var(--color-text-muted)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);padding:var(--space-2) var(--space-4);border:none;border-radius:var(--radius-md);font-family:inherit;font-size:.875rem;font-weight:500;cursor:pointer;transition:all var(--transition-fast);position:relative;overflow:hidden}.btn:before{content:"";position:absolute;top:50%;left:50%;width:0;height:0;background:#ffffff1a;border-radius:50%;transform:translate(-50%,-50%);transition:width .4s ease,height .4s ease}.btn:active:before{width:200px;height:200px}.btn-primary{background:var(--gradient-primary);color:#111317;font-weight:600;box-shadow:var(--shadow-sm)}.btn-primary:hover{transform:translateY(-1px);box-shadow:var(--shadow-glow);filter:brightness(1.1)}.btn-primary:active{transform:translateY(0)}.btn-secondary{background:var(--color-bg-tertiary);color:var(--color-text-primary);box-shadow:var(--shadow-xs)}.btn-secondary:hover{background:var(--color-bg-hover);color:var(--color-accent)}.btn-ghost{background:transparent;color:var(--color-text-secondary)}.btn-ghost:hover{background:var(--color-bg-hover);color:var(--color-accent)}input[type=text],input[type=search],input[type=email],input[type=password],textarea,select{background:var(--color-bg-tertiary);border:none;border-radius:var(--radius-md);padding:var(--space-2) var(--space-3);color:var(--color-text-primary);font-family:inherit;font-size:.875rem;transition:all var(--transition-fast);box-shadow:var(--shadow-inset)}input:focus,textarea:focus,select:focus{outline:none;background:var(--color-bg-elevated);box-shadow:var(--shadow-inset),var(--shadow-glow-sm)}input::placeholder,textarea::placeholder{color:var(--color-text-muted)}.card{background:var(--color-surface);border-radius:var(--radius-md);box-shadow:var(--shadow-md);overflow:hidden;transition:all var(--transition-fast)}.card:hover{transform:translateY(-2px);box-shadow:var(--shadow-lg)}.risk-badge{display:inline-flex;align-items:center;gap:var(--space-1);padding:var(--space-1) var(--space-2);border-radius:var(--radius-full);font-size:.7rem;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.risk-badge.low{background:#95ff0026;color:var(--color-risk-low);box-shadow:0 0 8px #95ff0033}.risk-badge.medium{background:#ffc61a26;color:var(--color-risk-medium)}.risk-badge.high{background:#f97a1f26;color:var(--color-risk-high)}.risk-badge.critical{background:#e8303026;color:var(--color-risk-critical);animation:critical-pulse 2s ease-in-out infinite}@keyframes critical-pulse{0%,to{box-shadow:0 0 8px #e830304d}50%{box-shadow:0 0 16px #e8303080}}.loading-spinner{width:40px;height:40px;border:3px solid var(--color-bg-tertiary);border-top-color:var(--color-accent);border-radius:50%;animation:spin .8s linear infinite;box-shadow:0 0 20px var(--color-accent-glow)}@keyframes spin{to{transform:rotate(360deg)}}.loading-container{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-4);height:100%;color:var(--color-text-secondary)}.skeleton{background:linear-gradient(90deg,var(--color-bg-tertiary) 25%,var(--color-bg-elevated) 50%,var(--color-bg-tertiary) 75%);background-size:200% 100%;animation:skeleton-shimmer 1.5s ease-in-out infinite;border-radius:var(--radius-sm)}@keyframes skeleton-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--space-8);text-align:center;animation:fadeIn var(--transition-slow) ease}.empty-state-icon{width:80px;height:80px;margin-bottom:var(--space-4);color:var(--color-accent);opacity:.6;animation:float 3s ease-in-out infinite}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}.empty-state-title{font-size:1.25rem;font-weight:600;color:var(--color-text-primary);margin-bottom:var(--space-2)}.empty-state-description{color:var(--color-text-secondary);max-width:400px}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes slideDown{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}@keyframes scaleIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}@keyframes glow-pulse{0%,to{box-shadow:0 0 5px var(--color-accent-glow)}50%{box-shadow:0 0 20px var(--color-accent-glow),0 0 30px var(--color-accent-glow)}}.animate-fade-in{animation:fadeIn var(--transition-normal) ease}.animate-slide-up{animation:slideUp var(--transition-normal) ease}.animate-slide-down{animation:slideDown var(--transition-normal) ease}.animate-scale-in{animation:scaleIn var(--transition-normal) ease}.animate-pulse{animation:pulse-glow 2s ease-in-out infinite}.animate-glow{animation:glow-pulse 2s ease-in-out infinite}.hover-lift{transition:transform var(--transition-fast),box-shadow var(--transition-fast)}.hover-lift:hover{transform:translateY(-2px);box-shadow:var(--shadow-lg)}[data-tooltip]{position:relative}[data-tooltip]:after{content:attr(data-tooltip);position:absolute;bottom:100%;left:50%;transform:translate(-50%) translateY(-4px);padding:var(--space-1) var(--space-2);background:var(--color-bg-elevated);color:var(--color-text-primary);font-size:.75rem;border-radius:var(--radius-sm);box-shadow:var(--shadow-md);white-space:nowrap;opacity:0;visibility:hidden;transition:all var(--transition-fast);z-index:1000}[data-tooltip]:hover:after{opacity:1;visibility:visible;transform:translate(-50%) translateY(-8px)}.menu,.dropdown{background:var(--color-surface);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);overflow:hidden;animation:scaleIn var(--transition-fast) ease}.menu-item,.dropdown-item{padding:var(--space-2) var(--space-4);color:var(--color-text-secondary);cursor:pointer;transition:all var(--transition-fast)}.menu-item:hover,.dropdown-item:hover{background:var(--color-bg-hover);color:var(--color-accent)}.flex{display:flex}.flex-col{flex-direction:column}.items-center{align-items:center}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-1{gap:var(--space-1)}.gap-2{gap:var(--space-2)}.gap-3{gap:var(--space-3)}.gap-4{gap:var(--space-4)}.p-2{padding:var(--space-2)}.p-4{padding:var(--space-4)}.font-mono{font-family:var(--font-mono)}.text-sm{font-size:.875rem}.text-xs{font-size:.75rem}.text-accent{color:var(--color-accent)}.text-platinum{color:var(--color-platinum)}.bg-surface{background:var(--color-surface)}.shadow-glow{box-shadow:var(--shadow-glow)}:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{box-shadow:var(--shadow-glow-sm)}.prism-ai-toggle{display:flex;align-items:center;gap:6px;padding:8px 14px;background:var(--color-bg-tertiary);border:none;border-radius:var(--radius-md);color:var(--color-text-secondary);font-size:12px;font-weight:500;cursor:pointer;transition:all var(--transition-fast);box-shadow:var(--shadow-sm)}.prism-ai-toggle:hover,.prism-ai-toggle.active{background:var(--color-accent);color:var(--color-bg-primary);box-shadow:var(--shadow-glow-sm)}.prism-ai-modal{position:fixed;bottom:80px;right:20px;width:420px;max-height:600px;background:var(--color-surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);display:flex;flex-direction:column;z-index:1000;overflow:hidden;animation:slideUp var(--transition-normal) ease;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.prism-ai-header{display:flex;align-items:center;justify-content:space-between;padding:14px 16px;background:var(--color-bg-tertiary)}.prism-ai-header-left{display:flex;align-items:center;gap:10px}.prism-ai-title{font-weight:600;font-size:14px;color:var(--color-text-primary)}.prism-ai-header-right{display:flex;gap:4px}.prism-ai-header-right button{padding:6px;background:transparent;border:none;color:var(--color-text-tertiary);cursor:pointer;border-radius:var(--radius-sm);transition:all var(--transition-fast)}.prism-ai-header-right button:hover{background:var(--color-bg-hover);color:var(--color-accent)}.prism-ai-messages{flex:1;overflow-y:auto;padding:16px;display:flex;flex-direction:column;gap:14px;min-height:300px;max-height:400px}.prism-ai-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;color:var(--color-text-tertiary);text-align:center;padding:40px 20px}.prism-ai-empty h3{font-size:16px;font-weight:600;color:var(--color-text-primary);margin:0}.prism-ai-empty p{font-size:13px;margin:0}.prism-ai-suggestions{display:flex;flex-wrap:wrap;gap:8px;margin-top:16px;justify-content:center}.prism-ai-suggestion{padding:6px 14px;background:var(--color-bg-tertiary);border:none;border-radius:var(--radius-full);font-size:11px;color:var(--color-text-secondary);cursor:pointer;transition:all var(--transition-fast)}.prism-ai-suggestion:hover{background:var(--color-accent);color:var(--color-bg-primary);box-shadow:var(--shadow-glow-sm)}.prism-ai-message{display:flex;flex-direction:column;gap:6px}.prism-ai-message.user{align-items:flex-end}.prism-ai-message-header{display:flex;align-items:center;gap:6px;font-size:11px;color:var(--color-text-tertiary)}.prism-ai-message-content{padding:12px 16px;border-radius:var(--radius-md);font-size:13px;line-height:1.6;max-width:90%;white-space:pre-wrap;word-break:break-word}.prism-ai-message.user .prism-ai-message-content{background:var(--gradient-primary);color:var(--color-bg-primary);border-bottom-right-radius:2px}.prism-ai-message.assistant .prism-ai-message-content{background:var(--color-bg-tertiary);color:var(--color-text-primary);border-bottom-left-radius:2px}.prism-ai-message-actions{display:flex;gap:4px}.prism-ai-message-actions button{padding:4px 8px;background:transparent;border:none;color:var(--color-text-tertiary);cursor:pointer;border-radius:var(--radius-sm);transition:all var(--transition-fast)}.prism-ai-message-actions button:hover{background:var(--color-bg-hover);color:var(--color-accent)}.prism-ai-typing{color:var(--color-text-tertiary);font-style:italic}.prism-ai-error{padding:10px 16px;background:#e2363626;color:var(--color-error);font-size:12px;border-radius:var(--radius-sm);margin:0 16px}.prism-ai-input-container{display:flex;gap:10px;padding:14px 16px;background:var(--color-bg-tertiary)}.prism-ai-input-container textarea{flex:1;padding:12px 16px;background:var(--color-bg-secondary);border:none;border-radius:var(--radius-md);color:var(--color-text-primary);font-size:13px;resize:none;outline:none;box-shadow:var(--shadow-inset);transition:all var(--transition-fast)}.prism-ai-input-container textarea:focus{background:var(--color-bg-elevated);box-shadow:var(--shadow-inset),var(--shadow-glow-sm)}.prism-ai-input-container textarea::placeholder{color:var(--color-text-muted)}.prism-ai-send{padding:12px 16px;background:var(--gradient-primary);border:none;border-radius:var(--radius-md);color:var(--color-bg-primary);cursor:pointer;transition:all var(--transition-fast);box-shadow:var(--shadow-sm)}.prism-ai-send:hover:not(:disabled){transform:translateY(-1px);box-shadow:var(--shadow-glow)}.prism-ai-send:disabled{opacity:.5;cursor:not-allowed}.mode-selector-segmented,.mode-selector-dropdown,.mode-segment,.mode-selector-trigger,.mode-selector-menu,.mode-selector-option,.lens-selector-pills,.lens-selector-dropdown,.lens-selector-grid,.lens-pill,.lens-grid-item,.lens-selector-trigger,.lens-selector-menu,.lens-selector-option,.lens-active-indicator{border:none!important;outline:none!important}*:focus{outline:none!important}button{border:none!important;outline:none!important}.react-flow__controls{background:var(--color-surface)!important;border:none!important;box-shadow:var(--shadow-md)!important;border-radius:var(--radius-md)!important}.react-flow__controls-button{background:transparent!important;border:none!important;fill:var(--color-text-secondary)!important}.react-flow__controls-button:hover{background:var(--color-bg-hover)!important;fill:var(--color-accent)!important}.react-flow__minimap{background:var(--color-surface)!important;border:none!important;box-shadow:var(--shadow-md)!important;border-radius:var(--radius-md)!important}.trend-dashboard{display:flex;flex-direction:column;max-height:calc(100vh - 140px)}.trend-dashboard .panel-content{flex:1;overflow-y:auto;overflow-x:hidden}.trend-dashboard .recharts-cartesian-grid-horizontal line,.trend-dashboard .recharts-cartesian-grid-vertical line{stroke:var(--color-bg-hover)}.trend-dashboard .recharts-tooltip-wrapper{outline:none}.trend-dashboard .recharts-legend-item-text{color:var(--color-text-secondary)!important}.trend-dashboard .recharts-default-legend{display:flex;justify-content:center;gap:var(--space-2);flex-wrap:wrap}.animate-spin{animation:spin 1s linear infinite}.health-toggle.active{background:var(--color-accent)!important;color:var(--color-bg-primary)!important;box-shadow:var(--shadow-glow-sm)}.flex-wrap{flex-wrap:wrap}.flow-layer{isolation:isolate;pointer-events:none}.flow-layer-svg{overflow:visible}.flow-layer-content{pointer-events:auto}.flow-path-group{transition:opacity var(--transition-fast);cursor:pointer}.flow-path-group:hover .flow-path{opacity:1!important}.flow-path{transition:stroke-width var(--transition-fast),opacity var(--transition-fast);stroke-linecap:round;stroke-linejoin:round}.flow-path-dash,.flow-particles{pointer-events:none}.flow-particles circle{mix-blend-mode:screen}.flow-label-bg{fill:var(--color-bg-elevated);rx:4}.flow-label-text{font-family:var(--font-sans);font-size:10px;font-weight:500;fill:var(--color-accent)}@keyframes flowDash{0%{stroke-dashoffset:0}to{stroke-dashoffset:-30}}@keyframes flowPulse{0%,to{opacity:.7}50%{opacity:1}}@keyframes particleGlow{0%,to{filter:drop-shadow(0 0 4px currentColor)}50%{filter:drop-shadow(0 0 8px currentColor)}}@keyframes particleMove{0%{offset-distance:0%}to{offset-distance:100%}}.flow-controls{position:absolute;bottom:16px;right:16px;z-index:60;display:flex;flex-direction:column;gap:var(--space-2);background:var(--color-surface);border-radius:var(--radius-md);padding:var(--space-3);box-shadow:var(--shadow-md);min-width:200px}.flow-controls-header{display:flex;align-items:center;justify-content:space-between;padding-bottom:var(--space-2);border-bottom:1px solid var(--color-bg-tertiary)}.flow-controls-title{font-size:.75rem;font-weight:600;color:var(--color-text-primary);text-transform:uppercase;letter-spacing:.5px}.flow-controls-body{display:flex;flex-direction:column;gap:var(--space-2)}.flow-control-row{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2)}.flow-control-label{font-size:.75rem;color:var(--color-text-secondary)}.flow-control-value{font-size:.75rem;color:var(--color-accent);font-weight:500}.flow-speed-slider{width:80px;height:4px;background:var(--color-bg-tertiary);border-radius:2px;-webkit-appearance:none;-moz-appearance:none;appearance:none;cursor:pointer}.flow-speed-slider::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:12px;height:12px;background:var(--color-accent);border-radius:50%;cursor:pointer;transition:transform var(--transition-fast)}.flow-speed-slider::-webkit-slider-thumb:hover{transform:scale(1.2)}.flow-list{display:flex;flex-direction:column;gap:var(--space-1);max-height:150px;overflow-y:auto}.flow-list-item{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-1) var(--space-2);background:var(--color-bg-tertiary);border-radius:var(--radius-sm);cursor:pointer;transition:background var(--transition-fast)}.flow-list-item:hover{background:var(--color-bg-hover)}.flow-list-item.selected{background:var(--color-accent-subtle)}.flow-list-item-color{width:8px;height:8px;border-radius:50%;flex-shrink:0}.flow-list-item-name{font-size:.75rem;color:var(--color-text-primary);flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.flow-list-item-type{font-size:.65rem;color:var(--color-text-tertiary);text-transform:uppercase}.flow-list-item-remove{padding:2px;background:transparent;color:var(--color-text-tertiary);cursor:pointer;transition:color var(--transition-fast)}.flow-list-item-remove:hover{color:var(--color-error)}.flow-type-badge{display:inline-flex;align-items:center;gap:var(--space-1);padding:2px 6px;border-radius:var(--radius-full);font-size:.65rem;font-weight:600;text-transform:uppercase;letter-spacing:.3px}.flow-type-badge.data{background:#25aff426;color:#25aff4}.flow-type-badge.control{background:#b447eb26;color:#b447eb}.flow-type-badge.dependency{background:#f9c31f26;color:#f9c31f}.flow-direction{display:inline-flex;align-items:center;gap:var(--space-1);font-size:.7rem;color:var(--color-text-tertiary)}.flow-direction-arrow{color:var(--color-accent)}.flow-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--space-4);text-align:center;color:var(--color-text-tertiary)}.flow-empty-icon{margin-bottom:var(--space-2);color:var(--color-text-muted)}.flow-empty-text{font-size:.75rem}.lifecycle-layer{isolation:isolate;pointer-events:none}.lifecycle-layer-svg{overflow:visible}.lifecycle-layer-content{pointer-events:auto}.lifecycle-phase-badge{transition:transform .15s ease,opacity .15s ease;cursor:pointer}.lifecycle-phase-badge:hover{transform:scale(1.15)}.lifecycle-node-badges{pointer-events:auto}.lifecycle-violation-badge{transition:transform .15s ease;cursor:pointer}.lifecycle-violation-badge:hover{transform:scale(1.2)}.lifecycle-violation-badge.error{animation:violation-pulse 2s ease-in-out infinite}@keyframes violation-pulse{0%,to{filter:drop-shadow(0 0 4px hsl(0,75%,55%))}50%{filter:drop-shadow(0 0 10px hsl(0,75%,55%))}}.lifecycle-phase-transition{pointer-events:none}.lifecycle-state-machine{cursor:pointer;transition:opacity .15s ease}.lifecycle-state-machine:hover{opacity:.9}.lifecycle-badge{font-family:var(--font-sans)}.lifecycle-badge-main{transition:all .15s ease}.lifecycle-badge-main:hover{filter:brightness(1.1)}.lifecycle-badge-main.animate .lifecycle-badge-icon{animation:pulse-glow 2s ease-in-out infinite}.lifecycle-badge-details{animation:slideDown .15s ease}.lifecycle-badge-expand:hover{color:var(--color-accent)!important}.lifecycle-badge-compact{transition:transform .15s ease}.lifecycle-badge-compact:hover{transform:scale(1.1)}.violation-indicator{font-family:var(--font-sans)}.violation-indicator-badge{transition:all .15s ease}.violation-indicator:hover .violation-dismiss{opacity:1!important}.violation-tooltip{animation:scaleIn .15s ease}.violation-item{transition:background .15s ease}.violation-item:hover{background:var(--color-bg-hover)!important}.violation-inline{transition:background .15s ease}.violation-inline:hover{background:var(--color-bg-hover)}.lifecycle-controls{position:absolute;bottom:16px;left:16px;z-index:60;display:flex;flex-direction:column;gap:var(--space-2);background:var(--color-surface);border-radius:var(--radius-md);padding:var(--space-3);box-shadow:var(--shadow-md);min-width:200px}.lifecycle-controls-header{display:flex;align-items:center;justify-content:space-between;padding-bottom:var(--space-2);border-bottom:1px solid var(--color-bg-tertiary)}.lifecycle-controls-title{font-size:.75rem;font-weight:600;color:var(--color-text-primary);text-transform:uppercase;letter-spacing:.5px}.lifecycle-controls-body{display:flex;flex-direction:column;gap:var(--space-2)}.lifecycle-phase-pills{display:flex;flex-wrap:wrap;gap:var(--space-1)}.lifecycle-phase-pill{display:inline-flex;align-items:center;gap:var(--space-1);padding:4px 10px;border-radius:var(--radius-full);font-size:.7rem;font-weight:600;text-transform:uppercase;cursor:pointer;transition:all .15s ease;background:var(--color-bg-tertiary);color:var(--color-text-secondary)}.lifecycle-phase-pill:hover{background:var(--color-bg-hover)}.lifecycle-phase-pill.active{color:#fff;box-shadow:var(--shadow-glow-sm)}.lifecycle-phase-pill.creation{--phase-color: hsl(280, 80%, 60%)}.lifecycle-phase-pill.initialization{--phase-color: hsl(200, 90%, 55%)}.lifecycle-phase-pill.active-phase{--phase-color: hsl(85, 100%, 50%)}.lifecycle-phase-pill.updating{--phase-color: hsl(45, 100%, 55%)}.lifecycle-phase-pill.cleanup{--phase-color: hsl(25, 95%, 55%)}.lifecycle-phase-pill.destruction{--phase-color: hsl(0, 75%, 55%)}.lifecycle-phase-pill.active.creation,.lifecycle-phase-pill.active.initialization,.lifecycle-phase-pill.active.active-phase,.lifecycle-phase-pill.active.updating,.lifecycle-phase-pill.active.cleanup,.lifecycle-phase-pill.active.destruction{background:var(--phase-color)}.lifecycle-stats{display:flex;gap:var(--space-3);padding:var(--space-2);background:var(--color-bg-tertiary);border-radius:var(--radius-sm)}.lifecycle-stat{display:flex;flex-direction:column;align-items:center;gap:2px}.lifecycle-stat-value{font-size:1rem;font-weight:700;color:var(--color-accent)}.lifecycle-stat-label{font-size:.65rem;color:var(--color-text-muted);text-transform:uppercase}.violation-summary{display:flex;gap:var(--space-2);padding:var(--space-2);background:var(--color-bg-tertiary);border-radius:var(--radius-sm)}.violation-summary-item{display:flex;align-items:center;gap:var(--space-1);padding:4px 8px;border-radius:var(--radius-sm);font-size:.7rem;font-weight:600}.violation-summary-item.error{background:#e2363626;color:#e23636}.violation-summary-item.warning{background:#ffc61a26;color:#ffc61a}.violation-summary-item.info{background:#25aff426;color:#25aff4}.domain-layer{isolation:isolate;pointer-events:none}.domain-layer-svg{overflow:visible}.domain-layer-content{pointer-events:auto}.domain-hull{transition:opacity .2s ease;cursor:pointer}.domain-hull:hover{opacity:1}.domain-hull.selected .domain-hull-path{filter:url(#domain-glow-strong)}.domain-hull-path{transition:fill-opacity .2s ease,stroke-opacity .2s ease,stroke-width .2s ease}.domain-boundary-edge{transition:opacity .2s ease;cursor:pointer}.domain-boundary-edge:hover .boundary-path{stroke-width:3!important;opacity:1!important}.domain-boundary-edge.highlighted .boundary-path{filter:url(#domain-glow)}.domain-boundary-edge.has-violations .boundary-path{stroke-dasharray:4 2!important}.domain-health-badge{transition:transform .2s ease}.domain-health-badge:hover{transform:scale(1.15)}.boundary-violation-indicator{transition:transform .2s ease}.boundary-violation-indicator:hover{transform:scale(1.2)}.domain-hull text,.domain-boundary-edge text{transition:opacity .2s ease;-webkit-user-select:none;user-select:none}.domain-boundary-edge circle{mix-blend-mode:screen}.domain-panel{left:var(--space-5);top:var(--space-5);width:320px}.domain-list-item{transition:background var(--transition-fast),transform var(--transition-fast)}.domain-list-item:hover{background:var(--color-bg-hover);transform:translate(2px)}.domain-list-item.selected{background:var(--color-accent-subtle)}.boundary-list-item{transition:background var(--transition-fast)}.boundary-list-item:hover{background:var(--color-bg-hover)}.violation-list-item{transition:background var(--transition-fast)}.violation-list-item:hover{background:#ffffff08}.collapsible-section button{transition:color var(--transition-fast)}.collapsible-section button:hover{color:var(--color-accent)}.health-badge.grade-a{color:#95ff00;background:#95ff0026}.health-badge.grade-b{color:#9add3c;background:#9add3c26}.health-badge.grade-c{color:#ffc61a;background:#ffc61a26}.health-badge.grade-d{color:#f97a1f;background:#f97a1f26}.health-badge.grade-f{color:#e83030;background:#e8303026}.domain-metrics{display:flex;gap:var(--space-2)}.domain-metric-card{flex:1;padding:var(--space-2) var(--space-3);background:var(--color-bg-tertiary);border-radius:var(--radius-sm);text-align:center}.domain-metric-value{font-size:1.25rem;font-weight:600;color:var(--color-accent)}.domain-metric-label{font-size:.65rem;color:var(--color-text-tertiary);text-transform:uppercase}.color-scheme-btn{flex:1;font-size:.7rem;padding:var(--space-1) var(--space-2);transition:all var(--transition-fast)}.color-scheme-btn.active{background:var(--color-accent);color:var(--color-bg-primary)}.ai-watch-dashboard{z-index:75}.ai-watch-dashboard .panel-header{background:linear-gradient(135deg,var(--color-bg-tertiary),hsla(85,100%,50%,.05))}.ai-watch-session-active{animation:pulse-glow 2s ease-in-out infinite}.ai-watch-session-block{transition:all var(--transition-fast)}.ai-watch-session-block:hover{transform:scale(1.02);z-index:10}.ai-watch-severity-critical{background:#e8303026;color:#e83030;animation:critical-pulse 2s ease-in-out infinite}.ai-watch-severity-error{background:#f97a1f26;color:#f97a1f}.ai-watch-severity-warning{background:#ffc61a26;color:#ffc61a}.ai-watch-severity-info{background:#25aff426;color:#25aff4}.ai-watch-timeline{position:relative;height:40px;background:var(--color-bg-secondary);border-radius:var(--radius-sm)}.ai-watch-timeline-block{position:absolute;top:4px;height:32px;border-radius:var(--radius-sm);cursor:pointer;transition:all var(--transition-fast);min-width:24px;display:flex;align-items:center;justify-content:center}.ai-watch-timeline-block:hover{transform:scale(1.02);box-shadow:var(--shadow-glow-sm)}.ai-watch-timeline-block.active{animation:pulse-glow 2s ease-in-out infinite}.ai-watch-timeline-marker{position:absolute;right:0;top:0;bottom:0;width:2px;background:var(--color-accent);box-shadow:0 0 8px var(--color-accent-glow)}.ai-watch-live-indicator{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-1) var(--space-2);background:#95ff001a;border-radius:var(--radius-full);animation:pulse-glow 1.5s ease-in-out infinite}.ai-watch-live-dot{width:8px;height:8px;border-radius:50%;background:var(--color-accent);animation:pulse-glow 1.5s ease-in-out infinite}.ai-watch-metric-card{padding:var(--space-3);background:var(--color-bg-tertiary);border-radius:var(--radius-md);transition:all var(--transition-fast)}.ai-watch-metric-card:hover{background:var(--color-bg-elevated)}.ai-watch-metric-value{font-size:1.25rem;font-weight:700;color:var(--color-accent)}.ai-watch-metric-label{font-size:.625rem;color:var(--color-text-tertiary);text-transform:uppercase;letter-spacing:.5px}.ai-watch-change-create{color:#95ff00;background:#95ff001a}.ai-watch-change-modify{color:#ffc61a;background:#ffc61a1a}.ai-watch-change-delete{color:#e23636;background:#e236361a}.ai-watch-change-rename{color:#25aff4;background:#25aff41a}.ai-watch-status-active{color:#95ff00;background:#95ff0026}.ai-watch-status-paused{color:#ffc61a;background:#ffc61a26}.ai-watch-status-completed{color:#25aff4;background:#25aff426}.ai-watch-status-abandoned{color:#e23636;background:#e2363626}.ai-watch-dashboard .recharts-cartesian-grid-horizontal line,.ai-watch-dashboard .recharts-cartesian-grid-vertical line{stroke:var(--color-bg-hover)}.ai-watch-dashboard .recharts-tooltip-wrapper{outline:none}.ai-watch-dashboard .recharts-legend-item-text{color:var(--color-text-secondary)!important;font-size:.7rem}.ai-watch-dashboard .recharts-default-legend{display:flex;justify-content:center;gap:var(--space-2);flex-wrap:wrap}.ai-watch-anomaly-item{transition:all var(--transition-fast)}.ai-watch-anomaly-item:hover{background:var(--color-bg-hover)}.ai-watch-anomaly-item.dismissed{opacity:.5}.ai-watch-pattern-bulk-refactoring{color:#b447eb}.ai-watch-pattern-incremental{color:#25aff4}.ai-watch-pattern-feature-addition{color:#95ff00}.ai-watch-pattern-bug-fix{color:#ffc61a}.ai-watch-pattern-documentation{color:#26d99d}.ai-watch-pattern-test-creation{color:#d74273}.ai-watch-pattern-cleanup{color:#9da3af}.ai-watch-pattern-unknown{color:#6d7178}.intent-layer{isolation:isolate;pointer-events:none}.intent-layer-svg{overflow:visible}.intent-layer-content{pointer-events:auto}.intent-boundary{transition:opacity .2s ease;cursor:pointer}.intent-boundary:hover{opacity:1}.intent-boundary.selected path{filter:url(#intent-glow-strong)}@keyframes intentDash{0%{stroke-dashoffset:0}to{stroke-dashoffset:-12}}@keyframes violationPulse{0%,to{transform:scale(1);opacity:.3}50%{transform:scale(1.5);opacity:0}}.violation-indicator{transition:transform .15s ease;cursor:pointer}.violation-indicator:hover{transform:scale(1.1)}.constraint-arrow{pointer-events:auto;cursor:pointer}.constraint-arrow:hover path{stroke-width:3!important}.boundary-drawer{isolation:isolate}.boundary-drawer-svg{overflow:visible}@keyframes dashMove{0%{stroke-dashoffset:0}to{stroke-dashoffset:-16}}.boundary-preview path{transition:opacity .15s ease}.selected-entities rect{transition:fill .15s ease}.selected-entities rect:hover{fill:#95ff0033}.drawing-grid{pointer-events:none}.intent-palette{animation:slideUp .2s ease}.intent-palette button:hover:not(:disabled){background:var(--color-bg-hover)}.intent-palette button.active:hover{background:var(--color-accent-bright)}.intent-palette .tool-group,.intent-palette .options-group,.intent-palette .history-group,.intent-palette .actions-group,.intent-palette .io-group{display:flex;gap:4px}.type-menu{animation:scaleIn .15s ease}.type-option:hover{background:var(--color-bg-hover)!important}.color-menu{animation:scaleIn .15s ease}.color-menu button:hover{transform:scale(1.1)}.name-input-modal{animation:scaleIn .2s ease}.intent-panel{animation:slideIn .25s ease}.intent-list-item{transition:all .15s ease}.intent-list-item:hover{background:var(--color-bg-hover)!important}.intent-list-item.selected{box-shadow:0 0 0 1px var(--color-accent)}.constraint-editor{padding:var(--space-4)}.constraint-item{transition:all .15s ease}.constraint-item:hover{background:var(--color-bg-hover)!important}.constraint-item.disabled{filter:grayscale(.3)}.template-menu{animation:scaleIn .15s ease}.template-option:hover{background:var(--color-bg-hover)!important}.constraint-item textarea{font-family:var(--font-mono)}.constraint-item .severity-button{transition:all .15s ease}.constraint-item .severity-button:hover{transform:scale(1.02)}.intent-type-boundary{--intent-color: hsl(200, 90%, 55%)}.intent-type-layer{--intent-color: hsl(280, 80%, 60%)}.intent-type-module{--intent-color: hsl(45, 90%, 55%)}.intent-type-anti-corruption{--intent-color: hsl(340, 80%, 60%)}.intent-type-facade{--intent-color: hsl(160, 70%, 50%)}.intent-type-aggregate{--intent-color: hsl(85, 100%, 50%)}.code-city-container{position:relative;width:100%;height:100%;background:var(--color-bg-primary);overflow:hidden}.code-city-loading{position:absolute;top:0;left:0;right:0;bottom:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-4);background:var(--color-bg-primary);z-index:100;color:var(--color-text-secondary)}.code-city-loading-3d{display:flex;flex-direction:column;align-items:center;gap:var(--space-3);padding:var(--space-4);background:var(--color-surface);border-radius:var(--radius-md);color:var(--color-text-primary)}.city-controls{position:absolute;top:0;left:0;right:0;bottom:0;pointer-events:none;z-index:50}.city-controls-section{position:absolute;display:flex;gap:var(--space-2);pointer-events:auto}.city-controls-top-left{top:var(--space-4);left:var(--space-4)}.city-controls-top-right{top:var(--space-4);right:var(--space-4)}.city-controls-bottom-left{bottom:var(--space-4);left:var(--space-4)}.city-controls-bottom-right{bottom:var(--space-4);right:var(--space-4)}.city-control-btn{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);background:var(--color-surface);border-radius:var(--radius-md);color:var(--color-text-secondary);font-size:.75rem;font-weight:500;cursor:pointer;transition:all var(--transition-fast);box-shadow:var(--shadow-md);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.city-control-btn:hover{background:var(--color-bg-hover);color:var(--color-accent)}.city-control-btn.active{background:var(--color-accent);color:var(--color-bg-primary)}.city-control-btn:disabled{opacity:.5;cursor:not-allowed}.city-control-label{display:none}@media(min-width:768px){.city-control-label{display:inline}}.city-search-container{position:relative}.city-search-panel{position:absolute;top:100%;right:0;margin-top:var(--space-2);width:280px;background:var(--color-surface);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);overflow:hidden;animation:slideDown var(--transition-normal) ease;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.city-search-header{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);background:var(--color-bg-tertiary)}.city-search-icon{color:var(--color-text-muted);flex-shrink:0}.city-search-input{flex:1;background:transparent;font-size:.875rem;color:var(--color-text-primary)}.city-search-close{padding:var(--space-1);color:var(--color-text-tertiary);cursor:pointer;transition:color var(--transition-fast)}.city-search-close:hover{color:var(--color-accent)}.city-search-results{max-height:240px;overflow-y:auto}.city-search-result{display:flex;align-items:center;gap:var(--space-2);width:100%;padding:var(--space-2) var(--space-3);text-align:left;cursor:pointer;transition:background var(--transition-fast)}.city-search-result:hover{background:var(--color-bg-hover)}.city-search-result-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.city-search-result-name{flex:1;font-size:.8125rem;color:var(--color-text-primary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.city-search-result-type{font-size:.6875rem;color:var(--color-text-tertiary);text-transform:uppercase}.city-search-empty{padding:var(--space-4);text-align:center;color:var(--color-text-tertiary);font-size:.8125rem}.city-metrics-container{position:relative}.city-metrics-panel{position:absolute;top:100%;right:0;margin-top:var(--space-2);width:220px;background:var(--color-surface);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);overflow:hidden;animation:slideDown var(--transition-normal) ease;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.city-metrics-header{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);background:var(--color-bg-tertiary);font-size:.75rem;font-weight:600;color:var(--color-text-primary)}.city-metrics-header span{flex:1}.city-metrics-close{padding:var(--space-1);color:var(--color-text-tertiary);cursor:pointer;transition:color var(--transition-fast)}.city-metrics-close:hover{color:var(--color-accent)}.city-metrics-section{padding:var(--space-3)}.city-metrics-section+.city-metrics-section{border-top:1px solid var(--color-bg-tertiary)}.city-metrics-label{display:flex;align-items:center;justify-content:space-between;font-size:.6875rem;font-weight:600;color:var(--color-text-tertiary);text-transform:uppercase;letter-spacing:.5px;margin-bottom:var(--space-2)}.city-metrics-options{display:flex;flex-wrap:wrap;gap:var(--space-1)}.city-metrics-option{padding:var(--space-1) var(--space-2);background:var(--color-bg-tertiary);border-radius:var(--radius-sm);font-size:.6875rem;color:var(--color-text-secondary);cursor:pointer;transition:all var(--transition-fast)}.city-metrics-option:hover{background:var(--color-bg-hover);color:var(--color-text-primary)}.city-metrics-option.active{background:var(--color-accent);color:var(--color-bg-primary)}.city-stats-panel{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-2) var(--space-4);background:var(--color-surface);border-radius:var(--radius-md);box-shadow:var(--shadow-md);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.city-stat{display:flex;flex-direction:column;align-items:center;gap:2px}.city-stat-value{font-size:1rem;font-weight:700;color:var(--color-accent);font-variant-numeric:tabular-nums}.city-stat-label{font-size:.625rem;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.5px}.city-stat-divider{width:1px;height:24px;background:var(--color-platinum-dim);opacity:.3}.city-district-filter{width:200px;background:var(--color-surface);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);overflow:hidden}.city-district-filter-header{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);background:var(--color-bg-tertiary);font-size:.75rem;font-weight:600;color:var(--color-text-primary)}.city-district-filter-header span{flex:1}.city-district-filter-actions{display:flex;gap:var(--space-1)}.city-district-filter-actions button{padding:2px 6px;font-size:.625rem;color:var(--color-text-tertiary);cursor:pointer;transition:color var(--transition-fast)}.city-district-filter-actions button:hover{color:var(--color-accent)}.city-district-list{max-height:200px;overflow-y:auto;padding:var(--space-2)}.city-district-item{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-1) var(--space-2);border-radius:var(--radius-sm);cursor:pointer;transition:background var(--transition-fast)}.city-district-item:hover{background:var(--color-bg-hover)}.city-district-item input[type=checkbox]{width:14px;height:14px;accent-color:var(--color-accent)}.city-district-color{width:10px;height:10px;border-radius:2px;flex-shrink:0}.city-district-name{flex:1;font-size:.75rem;color:var(--color-text-primary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.code-city-tooltip{position:absolute;transform:translate(-50%,-100%);margin-top:-10px;padding:var(--space-2) var(--space-3);background:var(--color-surface);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);pointer-events:none;z-index:100;animation:scaleIn var(--transition-fast) ease;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);min-width:150px}.code-city-tooltip:after{content:"";position:absolute;bottom:-6px;left:50%;transform:translate(-50%);width:0;height:0;border-left:6px solid transparent;border-right:6px solid transparent;border-top:6px solid var(--color-surface)}.code-city-tooltip-header{display:flex;align-items:center;gap:var(--space-2);margin-bottom:var(--space-2);padding-bottom:var(--space-2);border-bottom:1px solid var(--color-bg-tertiary)}.code-city-tooltip-dot{width:10px;height:10px;border-radius:50%;flex-shrink:0}.code-city-tooltip-name{font-size:.8125rem;font-weight:600;color:var(--color-text-primary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.code-city-tooltip-content{display:flex;flex-direction:column;gap:var(--space-1)}.code-city-tooltip-row{display:flex;justify-content:space-between;gap:var(--space-3);font-size:.6875rem}.code-city-tooltip-label{color:var(--color-text-tertiary)}.code-city-tooltip-value{color:var(--color-text-primary);font-weight:500}.code-city-tooltip-status{font-weight:600;text-transform:capitalize}.code-city-tooltip-status.healthy{color:var(--color-healthy)}.code-city-tooltip-status.warning{color:var(--color-warning)}.code-city-tooltip-status.error{color:var(--color-error)}.code-city-tooltip-status.deprecated{color:var(--color-deprecated)}.code-city-tooltip-status.unused{color:var(--color-unused)}.code-city-container canvas{display:block;width:100%;height:100%}.dsm-container{position:relative;background:var(--color-surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);display:flex;flex-direction:column;overflow:hidden}.dsm-header{display:flex;align-items:center;justify-content:space-between;padding:var(--space-3) var(--space-4);background:var(--color-bg-tertiary);border-bottom:1px solid var(--color-bg-hover)}.dsm-title{display:flex;align-items:center;gap:var(--space-2)}.dsm-title h2{font-size:1rem;font-weight:600;color:var(--color-text-primary);margin:0}.dsm-title span{font-size:.75rem;color:var(--color-text-tertiary)}.dsm-controls{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);background:var(--color-bg-tertiary);border-radius:var(--radius-sm);flex-wrap:wrap}.dsm-control-group{display:flex;align-items:center;gap:var(--space-1)}.dsm-control-btn{display:flex;align-items:center;gap:var(--space-1);padding:var(--space-1) var(--space-2);background:var(--color-bg-tertiary);border:none;border-radius:var(--radius-sm);font-size:.7rem;color:var(--color-text-secondary);cursor:pointer;transition:all .15s ease}.dsm-control-btn:hover{background:var(--color-bg-hover);color:var(--color-accent)}.dsm-control-btn.active{background:var(--color-accent-subtle);color:var(--color-accent)}.dsm-control-divider{width:1px;height:20px;background:var(--color-bg-hover)}.dsm-search{display:flex;align-items:center;gap:var(--space-1);padding:var(--space-1) var(--space-2);background:var(--color-bg-secondary);border-radius:var(--radius-sm);flex:0 1 180px}.dsm-search input{flex:1;background:transparent;border:none;font-size:.7rem;color:var(--color-text-primary);outline:none;min-width:0}.dsm-search input::placeholder{color:var(--color-text-muted)}.dsm-content{flex:1;overflow:auto;position:relative}.dsm-matrix{display:flex;flex-direction:column}.dsm-matrix-row{display:flex}.dsm-cell{display:flex;align-items:center;justify-content:center;position:relative;transition:background-color .15s ease,transform .15s ease;-webkit-user-select:none;user-select:none}.dsm-cell:hover:not(.dsm-cell-diagonal){transform:scale(1.05);z-index:5}.dsm-cell-diagonal{cursor:default}.dsm-cell-selected{outline:2px solid var(--color-accent);outline-offset:-2px;z-index:10}.dsm-cell-cyclic{outline:1px dashed var(--color-error);outline-offset:-1px}.dsm-cell-weight{font-size:8px;font-weight:600;color:var(--color-text-primary)}.dsm-cell-icon{position:absolute;bottom:1px;right:1px}.dsm-headers-row{display:flex;flex-direction:column;flex-shrink:0}.dsm-header-row{display:flex;align-items:center;gap:var(--space-1);padding:0 var(--space-2);cursor:pointer;transition:background-color .15s ease;overflow:hidden}.dsm-header-row:hover{background:var(--color-bg-hover)}.dsm-header-row.selected{background:var(--color-accent-subtle)}.dsm-header-row .icon{flex-shrink:0;color:var(--color-text-tertiary)}.dsm-header-row.selected .icon{color:var(--color-accent)}.dsm-header-row .name{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--color-text-secondary);font-weight:400}.dsm-header-row.selected .name{color:var(--color-accent);font-weight:600}.dsm-header-row .metric{flex-shrink:0;font-size:inherit;color:var(--color-text-muted)}.dsm-headers-col{display:flex;flex-shrink:0}.dsm-header-col{display:flex;align-items:flex-end;justify-content:flex-start;padding:var(--space-1);cursor:pointer;transition:background-color .15s ease;position:relative;overflow:hidden}.dsm-header-col:hover{background:var(--color-bg-hover)}.dsm-header-col.selected{background:var(--color-accent-subtle)}.dsm-header-col-inner{transform:rotate(-45deg);transform-origin:bottom left;white-space:nowrap;display:flex;align-items:center;gap:2px;overflow:hidden;text-overflow:ellipsis}.dsm-header-col .icon{flex-shrink:0;color:var(--color-text-tertiary)}.dsm-header-col.selected .icon{color:var(--color-accent)}.dsm-header-col .name{overflow:hidden;text-overflow:ellipsis;color:var(--color-text-secondary);font-weight:400}.dsm-header-col.selected .name{color:var(--color-accent);font-weight:600}.dsm-cluster-border{position:absolute;pointer-events:none;fill:none;stroke-width:2;stroke-opacity:.6;rx:2}.dsm-cluster-legend{display:flex;flex-wrap:wrap;gap:var(--space-2);padding:var(--space-2);background:var(--color-bg-tertiary);border-radius:var(--radius-sm)}.dsm-cluster-badge{display:flex;align-items:center;gap:var(--space-1);padding:2px 8px;background:var(--color-bg-secondary);border:none;border-radius:var(--radius-full);font-size:.7rem;color:var(--color-text-secondary);cursor:pointer;transition:all .15s ease}.dsm-cluster-badge:hover{background:var(--color-bg-hover)}.dsm-cluster-badge.selected{color:var(--color-bg-primary)}.dsm-cluster-dot{width:8px;height:8px;border-radius:50%}.dsm-cluster-count{font-size:.625rem;color:var(--color-text-muted)}.dsm-footer{display:flex;align-items:center;gap:var(--space-4);padding:var(--space-2) var(--space-4);background:var(--color-bg-secondary);font-size:.7rem;color:var(--color-text-tertiary)}.dsm-stat{display:flex;align-items:center;gap:var(--space-1)}.dsm-stat-cyclic{color:var(--color-error)}.dsm-tooltip{position:fixed;padding:var(--space-3);background:var(--color-surface);border-radius:var(--radius-sm);box-shadow:var(--shadow-lg);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:1000;max-width:280px;pointer-events:none}.dsm-tooltip-header{display:flex;align-items:center;gap:var(--space-2);margin-bottom:var(--space-2)}.dsm-tooltip-entity{font-size:.75rem;font-weight:600;color:var(--color-text-primary)}.dsm-tooltip-arrow{color:var(--color-text-muted)}.dsm-tooltip-content{display:flex;align-items:center;gap:var(--space-3);font-size:.7rem}.dsm-tooltip-label{color:var(--color-text-muted)}.dsm-tooltip-value{font-weight:600}.dsm-tooltip-cyclic{display:flex;align-items:center;gap:var(--space-1);margin-top:var(--space-2);font-size:.65rem;color:var(--color-error)}.dsm-panel{z-index:60}.dsm-panel-header{display:flex;align-items:center;justify-content:space-between;padding:var(--space-4);background:var(--color-bg-tertiary)}.dsm-panel-title{display:flex;align-items:center;gap:var(--space-2)}.dsm-panel-content{flex:1;overflow-y:auto;display:flex;flex-direction:column;gap:var(--space-4);padding:var(--space-4)}.dsm-entity-card{padding:var(--space-3);background:var(--color-bg-tertiary);border-radius:var(--radius-sm)}.dsm-entity-role{font-size:.65rem;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.5px;margin-bottom:var(--space-2)}.dsm-entity-name{display:flex;align-items:center;gap:var(--space-2);margin-bottom:var(--space-2)}.dsm-entity-name span{font-size:.875rem;font-weight:600;color:var(--color-text-primary)}.dsm-entity-path{display:block;font-size:.65rem;color:var(--color-text-tertiary);font-family:var(--font-mono);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;margin-bottom:var(--space-2)}.dsm-entity-metrics{display:flex;gap:var(--space-3);font-size:.7rem}.dsm-entity-metric-label{color:var(--color-text-muted)}.dsm-entity-metric-value{color:var(--color-accent);font-weight:600}.dsm-entity-cluster{display:inline-flex;align-items:center;gap:var(--space-1);margin-top:var(--space-2);padding:2px 8px;border-radius:var(--radius-full);font-size:.625rem}.dsm-dependency-info{padding:var(--space-3);background:var(--color-bg-tertiary);border-radius:var(--radius-sm)}.dsm-dependency-header{font-size:.75rem;font-weight:600;color:var(--color-text-tertiary);text-transform:uppercase;letter-spacing:.5px;margin-bottom:var(--space-2)}.dsm-dependency-weight{display:flex;align-items:center;gap:var(--space-3);margin-bottom:var(--space-3)}.dsm-dependency-weight-value{font-size:2rem;font-weight:700}.dsm-dependency-weight-label{font-size:.75rem;color:var(--color-text-primary);font-weight:500}.dsm-dependency-weight-type{font-size:.7rem;color:var(--color-text-tertiary)}.dsm-cyclic-warning{display:flex;align-items:flex-start;gap:var(--space-2);padding:var(--space-2);background:#dd3c3c1a;border-radius:var(--radius-sm);font-size:.7rem;color:var(--color-error)}.dsm-cyclic-warning p{margin:4px 0 0;color:var(--color-text-secondary)}.dsm-suggestions{display:flex;flex-direction:column;gap:var(--space-2)}.dsm-suggestion{display:flex;align-items:flex-start;gap:var(--space-2);padding:var(--space-2);background:var(--color-bg-tertiary);border-radius:var(--radius-sm)}.dsm-suggestion-icon{flex-shrink:0;margin-top:2px;color:var(--color-accent)}.dsm-suggestion-title{font-size:.75rem;font-weight:600;color:var(--color-text-primary);margin-bottom:2px}.dsm-suggestion-description{font-size:.7rem;color:var(--color-text-secondary);line-height:1.4}.dsm-actions{display:flex;gap:var(--space-2);margin-top:auto;padding-top:var(--space-3)}.dsm-actions .btn{flex:1}.dsm-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--space-8);text-align:center;height:100%}.dsm-empty h3{font-size:1rem;font-weight:600;color:var(--color-text-primary);margin:var(--space-3) 0 var(--space-2)}.dsm-empty p{font-size:.875rem;color:var(--color-text-secondary);margin-bottom:var(--space-4)}.dsm-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-4);height:100%}.dsm-loading p{font-size:.875rem;color:var(--color-text-secondary)}.dsm-dropdown{position:relative}.dsm-dropdown-trigger{display:flex;align-items:center;gap:var(--space-1);padding:var(--space-1) var(--space-2);background:var(--color-bg-tertiary);border:none;border-radius:var(--radius-sm);font-size:.7rem;color:var(--color-text-secondary);cursor:pointer;transition:all .15s ease}.dsm-dropdown-trigger:hover{background:var(--color-bg-hover);color:var(--color-accent)}.dsm-dropdown-menu{position:absolute;top:100%;left:0;margin-top:4px;min-width:120px;background:var(--color-surface);border-radius:var(--radius-sm);box-shadow:var(--shadow-lg);z-index:1000;overflow:hidden}.dsm-dropdown-item{display:block;width:100%;padding:var(--space-2) var(--space-3);background:transparent;border:none;font-size:.7rem;color:var(--color-text-secondary);text-align:left;cursor:pointer;transition:background .15s ease}.dsm-dropdown-item:hover{background:var(--color-bg-hover)}.dsm-dropdown-item.selected{background:var(--color-accent-subtle);color:var(--color-accent)}.dsm-multiselect-item{display:flex;align-items:center;gap:var(--space-2);width:100%;padding:var(--space-2) var(--space-3);background:transparent;border:none;font-size:.7rem;color:var(--color-text-secondary);text-align:left;cursor:pointer;transition:background .15s ease}.dsm-multiselect-item:hover{background:var(--color-bg-hover)}.dsm-multiselect-checkbox{width:14px;height:14px;border-radius:2px;background:var(--color-bg-tertiary);display:flex;align-items:center;justify-content:center;color:var(--color-bg-primary);font-size:10px}.dsm-multiselect-checkbox.checked{background:var(--color-accent)}.dsm-zoom-controls{display:flex;align-items:center;gap:var(--space-1)}.dsm-zoom-btn{padding:var(--space-1);background:var(--color-bg-tertiary);border:none;border-radius:var(--radius-sm);cursor:pointer;color:var(--color-text-secondary);transition:all .15s ease}.dsm-zoom-btn:hover:not(:disabled){background:var(--color-bg-hover);color:var(--color-accent)}.dsm-zoom-btn:disabled{opacity:.5;cursor:not-allowed}.dsm-zoom-value{font-size:.65rem;color:var(--color-text-muted);min-width:36px;text-align:center}.time-lapse{display:flex;flex-direction:column;height:100%;width:100%;background:var(--color-bg-primary);position:relative}.time-lapse-loading,.time-lapse-error,.time-lapse-empty{display:flex;align-items:center;justify-content:center;min-height:400px}.time-lapse-loading-content,.time-lapse-error-content,.time-lapse-empty-content{display:flex;flex-direction:column;align-items:center;gap:16px;text-align:center;padding:48px;color:var(--color-text-secondary)}.time-lapse-loading-text{display:flex;align-items:center;gap:12px;font-size:1rem}.time-lapse-error-content h3,.time-lapse-empty-content h3{font-size:1.25rem;font-weight:600;color:var(--color-text-primary);margin:0}.time-lapse-error-content p,.time-lapse-empty-content p{font-size:.875rem;margin:0;max-width:400px}.time-lapse-retry-btn{display:flex;align-items:center;gap:8px;padding:10px 20px;background:var(--gradient-primary);border:none;border-radius:var(--radius-md);color:var(--color-bg-primary);font-weight:600;cursor:pointer;transition:all .15s ease}.time-lapse-retry-btn:hover{box-shadow:var(--shadow-glow);transform:translateY(-1px)}.time-lapse-header{display:flex;align-items:center;justify-content:space-between;padding:12px 20px;background:var(--color-surface);border-bottom:1px solid var(--color-bg-tertiary);flex-shrink:0}.time-lapse-header-left{display:flex;align-items:center;gap:12px}.time-lapse-header-icon{color:var(--color-accent)}.time-lapse-title{font-size:1rem;font-weight:600;color:var(--color-text-primary);margin:0}.time-lapse-frame-badge{padding:4px 10px;background:var(--color-bg-tertiary);border-radius:var(--radius-full);font-size:.75rem;font-weight:500;color:var(--color-text-secondary)}.time-lapse-header-right{display:flex;align-items:center;gap:8px}.time-lapse-settings-btn{display:flex;padding:8px;background:var(--color-bg-tertiary);border:none;border-radius:var(--radius-md);color:var(--color-text-secondary);cursor:pointer;transition:all .15s ease}.time-lapse-settings-btn:hover,.time-lapse-settings-btn.active{background:var(--color-accent);color:var(--color-bg-primary)}.time-lapse-content{flex:1;display:flex;position:relative;overflow:hidden;min-height:0}.time-lapse-canvas{flex:1;position:relative}.time-lapse-sidebar{position:absolute;right:16px;top:16px;z-index:50;animation:slideIn .25s ease}.time-lapse-player-container{flex-shrink:0}.time-lapse-config-panel{position:absolute;top:60px;right:16px;width:300px;background:var(--color-surface);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);z-index:100;animation:scaleIn .2s ease;overflow:hidden}.time-lapse-player{display:flex;flex-direction:column;gap:12px;padding:16px;background:var(--color-bg-tertiary);border-top:1px solid var(--color-bg-elevated)}.time-lapse-player-loading,.time-lapse-player-empty{display:flex;align-items:center;justify-content:center;gap:12px;padding:24px;color:var(--color-text-tertiary);font-size:.875rem}.time-lapse-timeline-container{display:flex;flex-direction:column;gap:8px}.time-lapse-date-range{display:flex;align-items:center;justify-content:space-between;font-size:.75rem;color:var(--color-text-tertiary)}.time-lapse-date-duration{color:var(--color-accent);font-weight:500}.time-lapse-timeline{position:relative;height:32px;cursor:pointer;padding:10px 0}.time-lapse-timeline-track{position:relative;height:12px;background:var(--color-bg-elevated);border-radius:6px;overflow:visible}.time-lapse-timeline-fill{position:absolute;left:0;top:0;height:100%;background:var(--gradient-primary);border-radius:6px;transition:width .1s linear}.time-lapse-frame-marker{position:absolute;top:50%;width:2px;height:8px;background:var(--color-platinum-dim);border-radius:1px;transform:translate(-50%,-50%);opacity:.4;transition:opacity .15s ease,height .15s ease}.time-lapse-frame-marker:hover{opacity:1;height:14px}.time-lapse-frame-marker.active{background:var(--color-accent);opacity:1;height:14px}.time-lapse-scrubber{position:absolute;top:50%;width:20px;height:20px;background:var(--color-accent);border-radius:50%;transform:translate(-50%,-50%);box-shadow:0 0 12px var(--color-accent-glow);cursor:grab;transition:transform .1s ease,box-shadow .1s ease;z-index:5}.time-lapse-scrubber:hover{transform:translate(-50%,-50%) scale(1.15);box-shadow:0 0 16px var(--color-accent-glow)}.time-lapse-timeline:active .time-lapse-scrubber{cursor:grabbing;transform:translate(-50%,-50%) scale(1.2)}.time-lapse-controls-row{display:flex;align-items:center;justify-content:space-between;gap:16px}.time-lapse-frame-info{display:flex;align-items:center;gap:12px;min-width:180px}.time-lapse-frame-count{font-family:var(--font-mono);font-size:.875rem;font-weight:600;color:var(--color-accent)}.time-lapse-current-date{display:flex;align-items:center;gap:4px;font-size:.75rem;color:var(--color-text-tertiary)}.time-lapse-main-controls{display:flex;align-items:center;gap:8px}.time-lapse-btn{display:flex;align-items:center;justify-content:center;padding:10px;background:var(--color-bg-secondary);border:none;border-radius:var(--radius-md);color:var(--color-text-secondary);cursor:pointer;transition:all .15s ease}.time-lapse-btn:hover:not(:disabled){background:var(--color-bg-hover);color:var(--color-accent)}.time-lapse-btn:active:not(:disabled){transform:scale(.95)}.time-lapse-btn:disabled{opacity:.4;cursor:not-allowed}.time-lapse-btn-primary{padding:14px;background:var(--gradient-primary);color:var(--color-bg-primary);box-shadow:var(--shadow-sm)}.time-lapse-btn-primary:hover:not(:disabled){color:var(--color-bg-primary);box-shadow:var(--shadow-glow);filter:brightness(1.1)}.time-lapse-btn-secondary{padding:8px}.time-lapse-btn-secondary.active{background:var(--color-accent);color:var(--color-bg-primary);box-shadow:var(--shadow-glow-sm)}.time-lapse-speed-control{display:flex;align-items:center;gap:6px;padding:8px 12px;background:var(--color-bg-secondary);border-radius:var(--radius-md);min-width:90px}.time-lapse-speed-icon{color:var(--color-text-muted)}.time-lapse-speed-select{background:transparent;border:none;color:var(--color-text-primary);font-size:.875rem;font-weight:600;cursor:pointer;padding:2px 4px;box-shadow:none}.time-lapse-speed-select:focus{outline:none;box-shadow:none}.time-lapse-speed-select option{background:var(--color-bg-elevated);color:var(--color-text-primary)}.evolution-renderer{position:absolute;top:0;left:0;right:0;bottom:0;pointer-events:none;z-index:10}.evolution-change-stats{position:absolute;top:16px;left:50%;transform:translate(-50%);display:flex;gap:12px;padding:8px 16px;background:var(--color-surface);border-radius:var(--radius-full);box-shadow:var(--shadow-md);z-index:20;animation:slideDown .3s ease;pointer-events:auto}.evolution-stat{display:flex;align-items:center;gap:4px;font-size:.75rem;font-weight:600;padding:4px 10px;border-radius:var(--radius-full)}.evolution-stat-added{background:#95ff0026;color:#95ff00}.evolution-stat-modified{background:#ffc61a26;color:#ffc61a}.evolution-stat-removed{background:#e2363626;color:#e23636}.commit-panel{background:var(--color-surface);border-radius:var(--radius-md);box-shadow:var(--shadow-md);overflow:hidden;width:360px;max-height:calc(100vh - 200px)}.commit-panel-empty{display:flex;align-items:center;justify-content:center;min-height:200px}.commit-panel-placeholder{display:flex;flex-direction:column;align-items:center;gap:12px;color:var(--color-text-tertiary);font-size:.875rem;text-align:center;padding:24px}.commit-panel-header{display:flex;align-items:center;justify-content:space-between;padding:14px 16px;background:var(--color-bg-tertiary);cursor:pointer;transition:background .15s ease}.commit-panel-header:hover{background:var(--color-bg-hover)}.commit-panel-header-left{display:flex;align-items:center;gap:10px}.commit-panel-icon{color:var(--color-accent)}.commit-panel-title{font-weight:600;font-size:.875rem;color:var(--color-text-primary)}.commit-panel-toggle{display:flex;padding:4px;background:transparent;border:none;color:var(--color-text-tertiary);cursor:pointer;border-radius:var(--radius-sm);transition:all .15s ease}.commit-panel-toggle:hover{background:var(--color-bg-elevated);color:var(--color-accent)}.commit-panel-content{padding:16px;display:flex;flex-direction:column;gap:16px;max-height:500px;overflow-y:auto}.commit-sha-row{display:flex;align-items:center;gap:8px;padding:8px 12px;background:var(--color-bg-tertiary);border-radius:var(--radius-sm)}.commit-sha{font-family:var(--font-mono);font-size:.875rem;color:var(--color-accent);flex:1}.commit-message{padding:12px;background:var(--color-bg-tertiary);border-radius:var(--radius-sm)}.commit-message-subject{font-weight:600;font-size:.9rem;color:var(--color-text-primary);line-height:1.5}.commit-message-body{margin-top:8px;padding-top:8px;border-top:1px solid var(--color-bg-elevated);font-size:.8rem;color:var(--color-text-secondary);line-height:1.6;white-space:pre-wrap}.commit-meta{display:flex;flex-direction:column;gap:8px}.commit-meta-item{display:flex;align-items:center;gap:8px;font-size:.8rem;color:var(--color-text-secondary)}.commit-meta-item svg{color:var(--color-text-muted);flex-shrink:0}.commit-author{font-weight:500;color:var(--color-text-primary)}.commit-stats-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.commit-stat-card{display:flex;flex-direction:column;align-items:center;gap:4px;padding:12px 8px;background:var(--color-bg-tertiary);border-radius:var(--radius-sm)}.commit-stat-value{font-size:1rem;font-weight:700;color:var(--color-accent)}.commit-files-list{display:flex;flex-direction:column;gap:4px;max-height:200px;overflow-y:auto}.commit-file-item{display:flex;align-items:center;gap:8px;padding:8px 10px;background:var(--color-bg-tertiary);border-radius:var(--radius-sm);transition:background .15s ease}.commit-file-item:hover{background:var(--color-bg-hover)}@media(max-width:768px){.time-lapse-frame-info{min-width:auto}.time-lapse-current-date{display:none}.time-lapse-sidebar{position:fixed;right:8px;top:80px;width:calc(100% - 16px);max-width:360px}.commit-panel{width:100%}}
