/* Fuse Workspace — the hero diagram comes alive (light, clean) */
.workspace-map > svg path { stroke-dasharray: 4 6; animation: wfx-dash 1.2s linear infinite; }
.workspace-map > svg circle { animation: wfx-dash 4s linear infinite reverse; }
@keyframes wfx-dash { to { stroke-dashoffset: -20; } }
.workspace-map > svg .wfx-pulse { fill: #f47721; stroke: none; animation: none; filter: drop-shadow(0 0 3px rgba(244,119,33,.8)); }
.workspace-node { transition: border-color .4s ease, box-shadow .4s ease, transform .4s cubic-bezier(.22,1,.36,1); }
.workspace-node.wfx-on { border-color: #f47721; box-shadow: 0 0 0 4px rgba(244,119,33,.14), 0 14px 30px rgba(244,119,33,.18); }
.node-operations.wfx-on, .node-sales.wfx-on { transform: translateY(-50%) scale(1.04); }
.workspace-node:not(.node-operations):not(.node-sales).wfx-on { transform: scale(1.04); }
.workspace-core { transition: box-shadow .5s ease; }
.workspace-core.wfx-gulp { box-shadow: 0 0 0 10px rgba(244,119,33,.12), 0 0 0 22px rgba(244,119,33,.06); }
/* business files gliding into the core */
.wfx-file { position: absolute; z-index: 3; left: 0; top: 0; display: inline-flex; align-items: center; gap: 6px; padding: 5px 9px; border-radius: 8px; background: #fff; border: 1px solid var(--line, #dcdcd5); box-shadow: 0 8px 20px rgba(17,17,15,.08); font: 600 10.5px/1.1 Inter, ui-sans-serif, sans-serif; color: #11110f; white-space: nowrap; pointer-events: none; opacity: 0; }
.wfx-file i { width: 14px; height: 16px; border-radius: 2px; background: var(--c, #f47721); clip-path: polygon(0 0, 70% 0, 100% 30%, 100% 100%, 0 100%); }
/* live readout */
.wfx-ticker { position: absolute; z-index: 4; left: 50%; bottom: 14px; transform: translateX(-50%); padding: 6px 12px; border-radius: 999px; background: rgba(255,255,255,.92); border: 1px solid var(--line, #dcdcd5); box-shadow: 0 8px 20px rgba(17,17,15,.06); font: 500 11px/1.2 "SFMono-Regular", Consolas, monospace; color: #575751; white-space: nowrap; max-width: 92%; overflow: hidden; text-overflow: ellipsis; }
.wfx-ticker b { color: #f47721; font-weight: 600; }
.wfx-ticker.wfx-swap { animation: wfx-tick .5s cubic-bezier(.22,1,.36,1); }
@keyframes wfx-tick { from { opacity: 0; transform: translate(-50%, 6px); } }
html[data-theme="dark"] .wfx-file, html[data-theme="dark"] .wfx-ticker { background: #171715; color: #f6f5f1; }
@media (prefers-reduced-motion: reduce) { .workspace-map > svg path, .workspace-map > svg circle { animation: none; } .wfx-file { display: none; } }
/* orbiting modules */
.workspace-map.wfx-orbit .workspace-node { top: 0 !important; left: 0 !important; right: auto !important; bottom: auto !important; will-change: transform; transition: border-color .4s ease, box-shadow .4s ease; }
.workspace-map.wfx-orbit .workspace-node.wfx-on { border-color: #f47721; box-shadow: 0 0 0 4px rgba(244,119,33,.14), 0 14px 30px rgba(244,119,33,.18); }
.workspace-map.wfx-orbit > svg > path:first-of-type, .workspace-map.wfx-orbit > svg > circle:first-of-type { display: none; }
.workspace-map > svg .wfx-ring { fill: none; stroke-dasharray: 2 8; animation: wfx-dash 4s linear infinite reverse; }
.workspace-map > svg .wfx-spoke { fill: none; stroke-dasharray: 4 6; animation: wfx-dash 1.2s linear infinite; }
.workspace-map > svg .wfx-dot { fill: #f47721; stroke: none; animation: none; filter: drop-shadow(0 0 3px rgba(244,119,33,.8)); }
