.forest-map-root .forest-map-rf{touch-action:none}.forest-map-root .react-flow__background{--xy-background-pattern-color:color-mix(in srgb,var(--text-primary) 9%,transparent)}.forest-map-root .react-flow__minimap{--xy-minimap-background-color-default:var(--bg-elevated);--xy-minimap-mask-background-color-default:color-mix(in srgb,var(--bg-page) 60%,transparent);border-radius:var(--radius-md);border:1px solid var(--border-subtle);box-shadow:var(--shadow-sm)}.forest-bucket-shell{box-sizing:border-box;min-width:180px;min-height:200px;border-radius:var(--radius-lg);border:1px solid var(--border-subtle);background:color-mix(in srgb,var(--bg-elevated) 58%,transparent);box-shadow:var(--shadow-md);transition:border-color .18s ease,box-shadow .18s ease}.forest-tool-card{position:relative;width:220px;min-height:88px;border-radius:var(--radius-md);border:1px solid var(--border-subtle);background:var(--bg-surface);box-shadow:var(--shadow-sm);transition:border-color .18s ease,box-shadow .18s ease,transform .15s ease,opacity .2s ease;transition-delay:0s}.forest-tool-card:hover{transition-delay:50ms;box-shadow:var(--shadow-md);border-color:color-mix(in srgb,var(--accent-primary) 35%,var(--border-subtle))}.forest-tool-card.fm-tool-selected{box-shadow:var(--shadow-lg),0 0 0 2px color-mix(in srgb,var(--accent-primary) 55%,transparent);border-color:var(--accent-primary);transform:translateY(-1px)}.forest-tool-card.fm-tool-dimmed-focus{opacity:.42}.forest-tool-card.fm-tool-hovered{border-color:var(--accent-primary);box-shadow:var(--shadow-md),0 0 0 2px color-mix(in srgb,var(--accent-primary) 45%,transparent)}.forest-bucket-shell.fm-bucket-hovered{border-color:var(--accent-primary);box-shadow:var(--shadow-md),0 0 0 2px color-mix(in srgb,var(--accent-primary) 35%,transparent)}.forest-tool-card.fm-tool-stale{border-style:dashed;border-color:color-mix(in srgb,var(--text-primary) 22%,var(--border-subtle));background:color-mix(in srgb,var(--bg-surface) 90%,var(--text-primary) 4%)}.forest-tool-card.fm-tool-stale .forest-tool-card-title{text-decoration:line-through;text-decoration-color:color-mix(in srgb,var(--text-primary) 35%,transparent)}.forest-tool-card.fm-tool-gap-weak{border-color:color-mix(in srgb,var(--accent-primary) 40%,var(--border-subtle))}.forest-map-root .react-flow__controls button{border-radius:var(--radius-sm);transition:background .15s ease}.forest-map-root .react-flow__controls button:hover{background:var(--accent-soft)}.forest-map-root .fm-map-toolbar{box-shadow:var(--shadow-md)}.forest-map-root .fm-toolbar-divider{align-self:stretch;width:1px;min-height:1.75rem;background:var(--border-subtle)}.fm-bucket-gap-none{background:var(--success-soft);border-color:color-mix(in srgb,var(--success) 35%,var(--border-subtle))}.fm-bucket-gap-low{background:var(--warning-soft);border-color:color-mix(in srgb,var(--warning) 38%,var(--border-subtle))}.fm-bucket-gap-medium{background:color-mix(in srgb,var(--warning) 22%,transparent);border-color:color-mix(in srgb,var(--warning) 45%,var(--border-subtle))}.fm-bucket-gap-high{background:var(--danger-soft);border-color:color-mix(in srgb,var(--danger) 42%,var(--border-subtle))}.fm-tool-gap-dim{opacity:.52}.forest-map-root .fm-edge-pulse{opacity:.97}@media (prefers-reduced-motion:reduce){.forest-map-root .fm-edge-pulse{opacity:1}}.forest-map-root .react-flow__node.dragging{z-index:1000!important;filter:drop-shadow(0 8px 24px color-mix(in srgb,var(--text-primary) 18%,transparent))}.forest-map-root .react-flow__node-domainBucket.react-flow__node.dragging{filter:none}.forest-map-root .react-flow__node.dragging .forest-tool-card{transform:scale(1.025);transition:transform .1s ease,box-shadow .1s ease}.forest-bucket-shell.fm-drop-target{border-color:var(--accent-primary);box-shadow:var(--shadow-md),0 0 0 2px color-mix(in srgb,var(--accent-primary) 35%,transparent);background:color-mix(in srgb,var(--accent-primary) 5%,var(--bg-elevated));transition:border-color .12s ease,box-shadow .12s ease,background .12s ease}.forest-tool-card:before{content:"";position:absolute;top:0;left:0;right:0;height:2px;background:color-mix(in srgb,var(--accent-primary) 30%,transparent);border-radius:var(--radius-md) var(--radius-md) 0 0;opacity:0;transition:opacity .2s ease;pointer-events:none}.forest-tool-card.fm-tool-selected:before,.forest-tool-card:hover:before{opacity:1}.forest-tool-card.fm-tool-gap-weak:before{background:color-mix(in srgb,var(--accent-primary) 55%,transparent);opacity:1}.fm-bucket-gap-high,.fm-bucket-gap-low,.fm-bucket-gap-medium{border-left-width:3px}.fm-bucket-gap-low{border-left-color:var(--warning)}.fm-bucket-gap-medium{border-left-color:color-mix(in srgb,var(--warning) 70%,var(--danger))}.fm-bucket-gap-high{border-left-color:var(--danger)}@keyframes fm-tooltip-enter{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.forest-map-root .fm-bucket-resize-handle-off{display:none;pointer-events:none}.forest-map-root .fm-bucket-resize-line{border-color:transparent!important;background:transparent}.forest-map-root .fm-bucket-resize-line.left,.forest-map-root .fm-bucket-resize-line.right{width:7px;min-width:7px}.forest-map-root .fm-bucket-resize-line.bottom,.forest-map-root .fm-bucket-resize-line.top{height:7px;min-height:7px}.forest-map-root .fm-bucket-resize-line:hover{border-color:color-mix(in srgb,var(--text-primary) 18%,var(--border-subtle))!important;background:color-mix(in srgb,var(--accent-primary) 6%,transparent)}.fm-tooltip-enter{animation:fm-tooltip-enter .12s ease-out}@keyframes fm-menu-enter{0%{opacity:0;transform:scale(.97) translateY(-4px)}to{opacity:1;transform:scale(1) translateY(0)}}.fm-context-menu{animation:fm-menu-enter .12s cubic-bezier(.16,1,.3,1)}@keyframes fm-legend-enter{0%{opacity:0;transform:translateX(-8px)}to{opacity:1;transform:translateX(0)}}.fm-legend{animation:fm-legend-enter .15s ease-out}.fm-plug-btn{opacity:0;pointer-events:none;transition:opacity .15s ease}.forest-tool-card.fm-connect-source .fm-plug-btn,.forest-tool-card.fm-connect-target .fm-plug-btn,.forest-tool-card:hover .fm-plug-btn{opacity:1;pointer-events:auto}.forest-tool-card.fm-connect-source{border-color:var(--accent-primary);box-shadow:var(--shadow-md),0 0 0 2px color-mix(in srgb,var(--accent-primary) 40%,transparent)}.forest-tool-card.fm-connect-target{border-color:color-mix(in srgb,var(--accent-primary) 45%,var(--border-subtle));cursor:pointer}.forest-tool-card.fm-connect-target:hover{border-color:var(--accent-primary);box-shadow:var(--shadow-md),0 0 0 1.5px color-mix(in srgb,var(--accent-primary) 30%,transparent)}@keyframes fm-banner-enter{0%{opacity:0;transform:translate(-50%,-6px)}to{opacity:1;transform:translate(-50%)}}.fm-connect-banner{animation:fm-banner-enter .15s ease-out}@keyframes fm-overlay-in-x{0%{opacity:0;transform:translateX(100%)}to{opacity:1;transform:translateX(0)}}@keyframes fm-overlay-in-y{0%{opacity:0;transform:translateY(100%)}to{opacity:1;transform:translateY(0)}}.fm-detail-overlay{animation:fm-overlay-in-x .26s cubic-bezier(.16,1,.3,1)}@media (max-width:767px){.fm-detail-overlay{animation-name:fm-overlay-in-y}}@keyframes fm-pin-pulse{0%{box-shadow:0 0 0 0 color-mix(in srgb,var(--accent-primary) 50%,transparent)}70%{box-shadow:0 0 0 12px color-mix(in srgb,var(--accent-primary) 0%,transparent)}to{box-shadow:0 0 0 0 color-mix(in srgb,var(--accent-primary) 0%,transparent)}}.forest-tool-card.fm-pin-pulse{animation:fm-pin-pulse .9s ease-out}@media (prefers-reduced-motion:reduce){.fm-connect-banner,.fm-context-menu,.fm-detail-overlay,.fm-legend,.fm-tooltip-enter,.forest-tool-card.fm-pin-pulse{animation:none}}