.node-card{isolation:isolate;overflow:visible;outline:none;cursor:pointer}
.card-visual{transform-box:fill-box;transform-origin:center;transition:transform .28s cubic-bezier(.2,.9,.25,1),filter .28s ease}
.node-card .node-surface{fill:url(#cardSurface);stroke:rgba(152,231,207,.34);stroke-width:1;filter:drop-shadow(0 18px 28px rgba(18,54,58,.26))}
.node-card .node-aura{fill:rgba(0,169,157,.12);stroke:none;filter:blur(18px);opacity:.25;transition:opacity .28s ease,fill .28s ease}
.node-card .node-glow{fill:transparent;stroke:rgba(184,220,120,.08);stroke-width:1;filter:none;pointer-events:none;transition:stroke .28s ease}
.node-card .node-accent{stroke:none;filter:drop-shadow(0 0 5px rgba(67,185,149,.38));transition:filter .28s ease,opacity .28s ease}
.node-card:hover .card-visual,.node-card:focus .card-visual{transform:translateY(-7px);filter:brightness(1.08) saturate(1.06)}
.node-card:hover .node-surface,.node-card:focus .node-surface{fill:url(#hoverSurface);stroke:rgba(184,220,120,.72);filter:drop-shadow(0 25px 38px rgba(19,67,65,.35))}
.node-card:hover .node-aura,.node-card:focus .node-aura{fill:rgba(0,169,157,.32);opacity:.85}
.node-card:hover .node-glow,.node-card:focus .node-glow{stroke:rgba(184,220,120,.55)}
.node-card:hover .node-accent,.node-card:focus .node-accent{filter:drop-shadow(0 0 9px rgba(67,185,149,.9))}
.node-card.focused .node-surface{fill:url(#focusSurface);stroke:url(#brandOutline);stroke-width:1.8;filter:drop-shadow(0 28px 42px rgba(0,8,18,.55))}
.node-card.focused .node-aura{fill:rgba(0,169,157,.35);opacity:1;filter:blur(25px)}
.node-card.cherry-global .node-surface{stroke:#df3151;stroke-width:1.6}
.node-card.cherry-global .node-aura{fill:rgba(210,4,45,.22)}
.node-card.path-muted,.link.path-muted{opacity:.13}
.node-card.path-focus{opacity:1}
.link{fill:none;stroke:rgba(41,112,108,.42);stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;transition:opacity .25s ease,stroke .25s ease,filter .25s ease,stroke-width .25s ease}
.link.path-focus{opacity:1;stroke:rgba(34,142,129,.72);stroke-width:2.2;filter:drop-shadow(0 0 5px rgba(0,169,157,.3))}
.link-energy-trail,.link-energy{fill:none;stroke:url(#brandOutline);stroke-linecap:round;stroke-linejoin:round;opacity:0;pointer-events:none}
.link-energy-trail{stroke-width:8;stroke-dasharray:.24 .76}
.link-energy{stroke-width:3.2;stroke-dasharray:.065 .935}
.link-energy-trail.path-focus{opacity:.26;filter:blur(2px) drop-shadow(0 0 10px rgba(67,185,149,.8));animation:energy-flow 1.55s linear infinite}
.link-energy.path-focus{opacity:1;filter:drop-shadow(0 0 2px rgba(255,255,255,.9)) drop-shadow(0 0 7px rgba(0,169,157,.9));animation:energy-flow 1.55s linear infinite}
.node-card,.link{transition:opacity .25s ease}
.collapse-control{cursor:pointer}
.node-card .collapse-control circle{fill:#102b36;stroke:rgba(126,216,190,.45);stroke-width:1;filter:none}
.collapse-control text{fill:#d9fff3;font-size:15px;font-weight:800}
.collapse-control:hover circle{fill:#1b5a5c;stroke:#b8dc78}
.empty-chart{fill:#b9cbc8;font-size:16px;font-weight:700}
.compact-card .card-visual{transition:transform .22s cubic-bezier(.2,.9,.25,1),filter .22s ease}
.compact-card:hover .card-visual,.compact-card:focus .card-visual{transform:translateY(-4px);filter:brightness(1.06) saturate(1.04)}
.compact-card .compact-surface{stroke:rgba(152,231,207,.32);filter:drop-shadow(0 10px 18px rgba(18,54,58,.22))}
.compact-card .compact-aura{filter:blur(13px);opacity:.18}
.compact-card .compact-accent{stroke:none;filter:drop-shadow(0 0 5px rgba(67,185,149,.5))}
.compact-card .compact-halo{stroke-width:3.2;filter:drop-shadow(0 0 7px rgba(0,169,157,.42))}
.compact-card.cherry-global .compact-halo{stroke:#df3151;filter:drop-shadow(0 0 8px rgba(210,4,45,.5))}
.compact-name{fill:url(#brandOutline);fill-opacity:.94;font-family:"Avenir Next",Avenir,Inter,ui-sans-serif,system-ui,sans-serif;font-size:13px;font-weight:780;letter-spacing:-.01em}
.compact-role{fill:#f1f8f7;font-size:9.8px;font-weight:720}
.compact-dept{fill:#82d9bf;font-size:7.2px;font-weight:900;letter-spacing:.09em;text-transform:uppercase}
.compact-count{fill:#c2d7d6;font-size:7.8px;font-weight:850;letter-spacing:.03em}
.compact-link{stroke:rgba(41,112,108,.35);stroke-width:1.45}
.compact-link.path-focus{stroke:rgba(67,185,149,.85);stroke-width:2;filter:drop-shadow(0 0 6px rgba(0,169,157,.45))}
.compact-initials{font-size:15px}
.dark .node-card .node-surface{fill:url(#darkCardSurface);stroke:rgba(126,216,190,.3);filter:drop-shadow(0 20px 32px rgba(0,0,0,.46))}
.dark .node-card:hover .node-surface,.dark .node-card:focus .node-surface{fill:url(#darkHoverSurface);stroke:rgba(184,220,120,.78);filter:drop-shadow(0 27px 42px rgba(0,0,0,.58))}
.dark .node-card.focused .node-surface{fill:url(#darkFocusSurface);stroke:url(#brandOutline);filter:drop-shadow(0 30px 48px rgba(0,0,0,.64))}
.dark .node-card .node-aura{fill:rgba(0,169,157,.18);opacity:.42}
.dark .node-card:hover .node-aura,.dark .node-card:focus .node-aura,.dark .node-card.focused .node-aura{fill:rgba(67,185,149,.32);opacity:.9}
.dark .link{stroke:rgba(113,182,172,.38)}
.dark .link.path-focus{stroke:rgba(85,211,187,.78);filter:drop-shadow(0 0 7px rgba(0,169,157,.48))}
.dark .compact-link{stroke:rgba(113,182,172,.32)}
.dark .node-card.path-muted,.dark .link.path-muted{opacity:.2}
.dark .empty-chart{fill:#b7ccc8}
@keyframes energy-flow{to{stroke-dashoffset:-1}}
@media(prefers-reduced-motion:reduce){
  .card-visual,.node-card,.link,.node-aura,.node-glow,.node-accent{transition:none!important}
  .node-card:hover .card-visual,.node-card:focus .card-visual{transform:none}
  .link-energy-trail.path-focus,.link-energy.path-focus{animation:none;stroke-dasharray:none}
}
