/* North diagram styles — generated from src/lib/diagram.mjs */
.dg { font-family: var(--n-font-family-text, "Helvetica Now Text", Arial, sans-serif); }
.dg-canvas { fill: var(--n-diagram-canvas); }
.dg-node { fill: var(--n-diagram-node); stroke: var(--n-diagram-line); stroke-width: 1.5; }
.dg-node--alt { fill: var(--n-diagram-node-alt); }
.dg-node--term { fill: var(--n-diagram-line-strong); stroke: none; }
.dg-node--note { fill: var(--n-diagram-group); stroke: none; }
.dg-group { fill: var(--n-diagram-group); stroke: none; }
.dg-zone { fill: var(--n-diagram-zone); stroke: var(--n-diagram-zone-border); stroke-width: 1.5; stroke-dasharray: 6 4; }
.dg-cloud { fill: none; stroke: var(--n-diagram-line); stroke-width: 1.5; stroke-dasharray: 6 4; }
.dg-accent--ai { fill: var(--n-diagram-ai); }
.dg-accent--human { fill: var(--n-diagram-human); }
.dg-label { fill: var(--n-diagram-label); font-size: 14px; font-weight: 500; }
.dg-label--term { fill: var(--n-diagram-canvas); }
.dg-sub, .dg-cap { fill: var(--n-diagram-caption); font-size: 12px; }
.dg-zlabel { fill: var(--n-diagram-zone-border); font-size: 12px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; }
.dg-glabel { fill: var(--n-diagram-caption); font-size: 12px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; }
.dg-ico { fill: none; stroke: var(--n-diagram-label); stroke-width: 1.75; stroke-linecap: round; stroke-linejoin: round; }
.dg-ico--ai { stroke: var(--n-diagram-ai); }
.dg-ico--human { stroke: var(--n-diagram-human); }
.dg-edge { fill: none; stroke: var(--n-diagram-line); stroke-width: 1.5; stroke-linejoin: round; }
.dg-edge--dashed { stroke-dasharray: 6 4; }
.dg-edge--dotted { stroke-dasharray: 1.5 4; stroke-linecap: round; }
.dg-edge--strong { stroke: var(--n-diagram-line-strong); stroke-width: 2.5; }
.dg-edge--flow { stroke: var(--n-diagram-flow); stroke-width: 2.5; }
.dg-edge--ai { stroke: var(--n-diagram-ai); }
.dg-head { fill: var(--n-diagram-line); }
.dg-head--strong { fill: var(--n-diagram-line-strong); }
.dg-head--flow { fill: var(--n-diagram-flow); }
.dg-head--ai { fill: var(--n-diagram-ai); }
.dg-elabel { fill: var(--n-diagram-caption); font-size: 12px; paint-order: stroke; stroke: var(--n-diagram-canvas); stroke-width: 5px; stroke-linejoin: round; }
.dg-badge { fill: var(--n-diagram-line-strong); }
.dg-badge-t { fill: var(--n-diagram-canvas); font-size: 11px; font-weight: 700; }
.dg--rtl { font-family: var(--n-font-family-arabic, "IBM Plex Sans Arabic", Tahoma, sans-serif); }
.dg--rtl .dg-zlabel, .dg--rtl .dg-glabel { letter-spacing: 0; text-transform: none; font-size: 13px; }
