/* Schéma « Trois parcours » — guide formation et adoption. À plat : traits et aplats. Classes préfixées gp-. */
.gp-plan, .gp-role, .gp-but { position: absolute; left: 0; top: 0; }
.gp-plan { width: 320px; height: 320px; }
.gp-trace { display: block; max-width: none; overflow: visible; fill: none; stroke-linecap: round; stroke-linejoin: round; }

/* Les chemins et leurs jalons */
.gp-voie { stroke: var(--line-fort); stroke-width: 2; }
.gp-fait { stroke: var(--accent); stroke-dasharray: 1; stroke-dashoffset: 1; opacity: 0; }
.gp-depart { fill: var(--surface); stroke: var(--ink); stroke-width: 2; }
.gp-jalon { fill: var(--surface); stroke: var(--line-fort); stroke-width: 2; }
.gp-jalon-plein { fill: var(--accent); stroke: none; transform-box: fill-box; transform-origin: center; transform: scale(0); }
.gp-jeton { fill: var(--ink); stroke: var(--surface); stroke-width: 2; will-change: transform, opacity; }

/* Le point d’arrivée : un tiers par arrivée, puis la coche */
.gp-but-rond { fill: var(--surface); stroke: var(--line-fort); stroke-width: 2; }
.gp-part { stroke: var(--accent); stroke-width: 3; stroke-linecap: butt; opacity: 0; }
.gp-but-plein { fill: var(--accent); stroke: none; transform-box: fill-box; transform-origin: center; transform: scale(0); }
.gp-coche { stroke: var(--surface); stroke-width: 2.6; stroke-dasharray: 1; stroke-dashoffset: 1; opacity: 0; }

.gp-role, .gp-but { font-size: 13px; font-weight: 700; line-height: 16px; color: var(--ink); white-space: nowrap; }
.gp-role { left: 16px; }
.gp-but { transform: translateX(-50%); opacity: .6; }
