/* Plan animé de l'accueil : palier à semelle Ø80 */
.drawing-card>svg.plan-anime{display:block;width:100%;height:auto;margin:22px 0 18px;background:#11151a;overflow:visible}
.plan-anime{--geo:#b9c6d2;--dim:#8eb5d5;--ax:#5f6e7b;--hatch:#3f4d5a;--rust:#e85b21}
.plan-anime path,.plan-anime circle{fill:none;vector-effect:non-scaling-stroke}
.plan-anime .pa-ax path{stroke:var(--ax);stroke-width:.8;stroke-dasharray:14 4 2 4}
.plan-anime .pa-geo *{stroke:var(--geo);stroke-width:2;stroke-linejoin:round}
.plan-anime .pa-hid path{stroke:var(--geo);stroke-width:.8;stroke-dasharray:5 3;opacity:.7}
.plan-anime .pa-hatch path{stroke:none}
.plan-anime #pa-hatch line{stroke:var(--hatch);stroke-width:1.1}
.plan-anime #pa-hatch2 line{stroke:var(--rust);stroke-width:.9;opacity:.6}
.plan-anime .pa-hatch .pa-hatch-brg{fill:url(#pa-hatch2)}
.plan-anime .pa-hatch path:first-child{fill:url(#pa-hatch)}
.plan-anime .pa-brg *{stroke:var(--rust);stroke-width:1.4}
.plan-anime .pa-brg .pa-shaft{stroke:var(--geo);stroke-width:.8}
.plan-anime .pa-balls circle{fill:var(--rust);stroke:none}
.plan-anime .pa-cut path{stroke:var(--geo);stroke-width:.9}
.plan-anime .pa-cut .pa-thick{stroke-width:3}
.plan-anime marker path{fill:var(--dim);stroke:none}
.plan-anime .pa-cut marker path{fill:var(--geo)}
.plan-anime .pa-dim path{stroke:var(--dim);stroke-width:.6}
.plan-anime text{font:500 11px/1 "Arial Narrow",Arial,sans-serif;letter-spacing:.04em;fill:var(--dim);text-anchor:middle}
.plan-anime .pa-l{text-anchor:start}
.plan-anime .pa-cut text{fill:var(--geo);font-weight:700;text-anchor:start}
.plan-anime .pa-lbl text{fill:#7d8a96;font-size:10px;letter-spacing:.18em}

/* États avant lecture (seulement si le script est actif) */
.plan-anime.armed:not(.play) .pa-geo *,.plan-anime.armed:not(.play) .pa-brg>circle,.plan-anime.armed:not(.play) .pa-brg>path{stroke-dasharray:1;stroke-dashoffset:1}
.plan-anime.armed:not(.play) :is(.pa-ax,.pa-hid,.pa-hatch,.pa-balls,.pa-cut,.pa-dim>g,.pa-lbl){opacity:0}

/* Séquence : axes, contours, hachures, roulement, cotes */
.plan-anime.play .pa-ax{animation:pa-fade .6s ease both}
.plan-anime.play .pa-geo *{stroke-dasharray:1;animation:pa-draw .9s cubic-bezier(.45,0,.25,1) var(--d,0s) both}
.plan-anime.play .pa-hid{animation:pa-fade .5s ease 1.2s both}
.plan-anime.play .pa-hatch{animation:pa-hatch .8s ease 1.4s both}
.plan-anime.play .pa-brg>circle,.plan-anime.play .pa-brg>path{stroke-dasharray:1;animation:pa-draw .7s ease-out var(--d,0s) both}
.plan-anime.play .pa-balls{animation:pa-fade .4s ease 2.1s both}
.plan-anime.play .pa-cut{animation:pa-fade .4s ease 2.1s both}
.plan-anime.play .pa-dim>g{animation:pa-fade .45s ease var(--d,0s) both}
.plan-anime.play .pa-lbl{animation:pa-fade .6s ease 3.6s both}
@keyframes pa-draw{from{stroke-dashoffset:1}to{stroke-dashoffset:0}}
@keyframes pa-fade{from{opacity:0}to{opacity:1}}
@keyframes pa-hatch{from{opacity:0;clip-path:inset(0 100% 0 0)}to{opacity:1;clip-path:inset(0 0 0 0)}}
@media (prefers-reduced-motion:reduce){.plan-anime *{animation:none!important}}

/* 02/11/2026 : flèches de coupe nettes, trait plein en fin de tracé, inclinaison à la souris */
.plan-anime #pa-arr-cut path{fill:var(--geo)}
.plan-anime .pa-cut .pa-arrow{stroke-width:1.4}
.plan-anime.done :is(.pa-geo *,.pa-brg>circle,.pa-brg>path){stroke-dasharray:none!important;animation:none!important}
.drawing-card{transition:transform .6s cubic-bezier(.2,.8,.2,1)}
.drawing-card.tracking{transition:transform .12s ease-out}
@media (prefers-reduced-motion:reduce){.drawing-card,.drawing-card.tracking{transition:none}}
