.mesh{width:100%;height:auto;display:block}.mesh .edge{stroke:#2b4a6b;stroke-width:1.4px;fill:none}.mesh .edge.hot{stroke-width:2.2px}.mesh .edge.dim,.mesh .pulse.dim{opacity:.2}.mesh[data-cluster=ai] .edge.hot{stroke:var(--color-ai)}.mesh[data-cluster=games] .edge.hot{stroke:var(--color-games)}.mesh[data-cluster=tooling] .edge.hot{stroke:var(--color-tooling)}.mesh[data-cluster=earlier] .edge.hot{stroke:var(--color-earlier)}.mesh .pulse{fill:#7dd3fc}.mesh .pulse.back{fill:var(--color-ai)}.mesh .edge-label{fill:#7fa3c6;font-family:var(--font-mono,ui-monospace), ui-monospace, monospace;opacity:0;pointer-events:none;paint-order:stroke;stroke:#070a12;stroke-width:3px;stroke-linejoin:round;font-size:9.5px}.mesh .edge-label.hot{opacity:1}.mesh .node{cursor:pointer;opacity:var(--node-opacity,1);outline:none}.mesh .node:hover,.mesh .node:focus-visible{opacity:1}.mesh .dot{fill:#0e1a2b;stroke-width:1.8px}.mesh .node:hover .dot,.mesh .node:focus-visible .dot{fill:#123150;stroke-width:3px}.mesh .node.ai .dot{stroke:var(--color-ai)}.mesh .node.games .dot{stroke:var(--color-games)}.mesh .node.tooling .dot{stroke:var(--color-tooling)}.mesh .node.earlier .dot{stroke:var(--color-earlier)}.mesh .ring{fill:none;stroke:var(--color-ink);stroke-width:1.6px;stroke-dasharray:3 3;opacity:0}.mesh .node:focus-visible .ring{opacity:.9}.mesh .halo{fill:none;stroke:var(--color-ai);opacity:.35}.mesh .label{fill:#cfe3f5;font-family:var(--font-sans,system-ui), system-ui, sans-serif;pointer-events:none;paint-order:stroke;stroke:#070a12;stroke-width:3px;stroke-linejoin:round;font-size:13px;font-weight:600}.mesh .label.small{font-size:12px;font-weight:500}.mesh .node:hover .label,.mesh .node:focus-visible .label{fill:#fff}.mesh .tag{fill:#9fb3c8;font-family:var(--font-mono,ui-monospace), ui-monospace, monospace;letter-spacing:.06em;pointer-events:none;paint-order:stroke;stroke:#070a12;stroke-width:3px;stroke-linejoin:round;font-size:9.5px}@media (prefers-reduced-motion:no-preference){.mesh .edge{transition:stroke .2s,stroke-width .2s,opacity .2s}.mesh .pulse,.mesh .edge-label{transition:opacity .2s}.mesh .dot{transition:fill .2s,stroke-width .2s}}
