/* Compass — WEF-conform radial map. Vanilla CSS, no dependencies. */
.compass{--c-surface:#f2f2f2;--c-focus:#1f3a5f;--c-focus-text:#fff;--c-node:#e8e8e8;--c-node-stroke:#8a8a8a;--c-node-hover:#111;--c-ring-outer:#9a9a9a;--c-ring-inner:#4a90d9;--c-link:#c9c9c9;--c-link-active:#4a90d9;--c-text:#1a1a1a;position:relative;width:100%;height:100%;background:var(--c-surface);font-family:'Libre Franklin',Helvetica,Arial,sans-serif;color:var(--c-text)}
.compass svg{width:100%;height:100%;display:block}
.compass .oring{fill:none;stroke:var(--c-ring-outer);stroke-width:2.5}
.compass .iring{fill:none;stroke:var(--c-ring-inner);stroke-width:1.8}
.compass .link{fill:none;stroke:var(--c-link);stroke-width:.8;opacity:.75;transition:opacity .15s,stroke .15s}
.compass .link.is-active{stroke:var(--c-link-active);stroke-width:1.4;opacity:1}
.compass .link.is-dim{opacity:.18}
.compass .node circle{fill:var(--c-node);stroke:var(--c-node-stroke);stroke-width:1.6;cursor:pointer;transition:fill .12s}
.compass .node:hover circle,.compass .node.is-active circle{fill:var(--c-node-hover)}
.compass .node--outer text{font-size:12.5px;fill:var(--c-text);cursor:pointer}
.compass .node--inner text{font-size:17.5px;font-weight:600;fill:#111;cursor:pointer}
.compass .focus circle{fill:var(--c-focus);cursor:pointer}
.compass .focus text{fill:var(--c-focus-text);font-size:18px;font-weight:600;text-anchor:middle;pointer-events:none}
.compass__tooltip{position:fixed;z-index:10;background:#fff;border:1px solid #ccc;box-shadow:0 2px 8px rgba(0,0,0,.12);padding:4px 10px;font-size:13.5px;display:none;pointer-events:none;white-space:nowrap}
@media (prefers-reduced-motion:reduce){.compass .link{transition:none}}
