/* td-pcx : dossier « Parcours psychiatriques complexes ». Thème td-t-pcx, exercices pcx-… (outils/td-pcx.js) et scènes de bandeau « fil » et « relais ».
   Chargé après tdah.css et td-plus.css. Les couleurs viennent des variables --td-… du thème ; le clair et le sombre sont obtenus comme dans tdah.css
   (fonds translucides, currentColor), avec quelques variables d'appoint --pcx-… (encre, cuivre lisible, scène, papier, couleurs des groupes) réglées pour le thème sombre.
   Les règles du schéma (.pcx-c-svg) et de la feuille imprimée (.pcx-print) ne dépendent pas de .td : elles servent aussi à l'impression. */

/* ---------- thème : bleu ardoise, cuivre, vert d'eau, rose sourd ---------- */
.td.td-t-pcx{--td-navy:#2A3E5C;--td-gold:#C08A3E;--td-teal:#4A8C8C;--td-rose:#B5525E;--td-soft:rgba(42,62,92,.07);--td-soft2:rgba(42,62,92,.12);--td-goldsoft:rgba(192,138,62,.15);--td-goldline:rgba(192,138,62,.55);--td-tealsoft:rgba(74,140,140,.13);--td-rosesoft:rgba(181,82,94,.12);--td-goldtext:#7A5420;--td-up:#C08A3E;--td-down:#4A8C8C}
@supports (color:color-mix(in srgb,red 50%,blue)){.td.td-t-pcx{--td-goldtext:color-mix(in srgb,#C08A3E 58%,currentColor)}}

/* ---------- socle commun des exercices ---------- */
.td .pcx-box{--pcx-ink:var(--td-navy);--pcx-gold:var(--td-goldtext);--pcx-surface:rgba(255,255,255,.62);--pcx-field:rgba(255,255,255,.78);--pcx-stage:#FBFAF6;--pcx-press:var(--td-navy);
  --pcx-paper:#FFFDF8;--pcx-paperink:#1F2A36;--pcx-paperline:rgba(42,62,92,.16);--pcx-youink:#2B2113;
  --pcx-g-medical:var(--td-navy);--pcx-g-institution:var(--td-teal);--pcx-g-soin:var(--td-gold);--pcx-g-social:#6E5E8E;--pcx-g-proche:var(--td-rose);--pcx-g-autre:#6B7280;
  --pcx-c-rose:var(--td-rose);--pcx-c-bleu:var(--td-navy);--pcx-c-or:var(--td-gold);--pcx-c-vert:var(--td-teal);
  position:relative;margin:1.6em 0;padding:22px 18px 20px;border-radius:var(--td-radius);border:1px solid var(--td-line);background:linear-gradient(160deg,var(--td-soft),transparent 62%),rgba(127,127,127,.05);overflow:hidden;overflow:clip;scroll-margin-top:calc(var(--td-top,96px) + 12px)}
@supports (color:color-mix(in srgb,red 50%,blue)){.td .pcx-box{--pcx-ink:color-mix(in srgb,var(--td-navy) 62%,currentColor);--pcx-gold:color-mix(in srgb,var(--td-gold) 45%,currentColor)}}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) .td .pcx-box{--pcx-surface:rgba(255,255,255,.05);--pcx-field:rgba(255,255,255,.06);--pcx-stage:#1A2229;--pcx-press:#3A5680;--pcx-paper:#1D252D;--pcx-paperink:#E9E7DC;--pcx-paperline:rgba(233,231,220,.16);
  --pcx-g-medical:#8FA8CC;--pcx-g-institution:#6DB2AE;--pcx-g-soin:#D7A45C;--pcx-g-social:#A898CC;--pcx-g-proche:#D9808A;--pcx-g-autre:#9AA3AE;--pcx-c-rose:#D9808A;--pcx-c-bleu:#8FA8CC;--pcx-c-or:#D7A45C;--pcx-c-vert:#6DB2AE}}
:root[data-theme="dark"] .td .pcx-box{--pcx-surface:rgba(255,255,255,.05);--pcx-field:rgba(255,255,255,.06);--pcx-stage:#1A2229;--pcx-press:#3A5680;--pcx-paper:#1D252D;--pcx-paperink:#E9E7DC;--pcx-paperline:rgba(233,231,220,.16);
  --pcx-g-medical:#8FA8CC;--pcx-g-institution:#6DB2AE;--pcx-g-soin:#D7A45C;--pcx-g-social:#A898CC;--pcx-g-proche:#D9808A;--pcx-g-autre:#9AA3AE;--pcx-c-rose:#D9808A;--pcx-c-bleu:#8FA8CC;--pcx-c-or:#D7A45C;--pcx-c-vert:#6DB2AE}
.td .pcx-box::before{content:"";position:absolute;inset:auto -18% -56% auto;width:52%;aspect-ratio:1;border-radius:50%;background:radial-gradient(circle,var(--td-goldsoft),transparent 70%);pointer-events:none}
.td .pcx-box>*{position:relative}
.td .pcx-box [hidden]{display:none!important}
@media (min-width:640px){.td .pcx-box{padding:28px 30px 26px}}
.td .pcx-sr{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.td .pcx-ico{width:1.1em;height:1.1em;flex:none;display:inline-block;vertical-align:-.18em}
.td .pcx-title{font-family:'Cormorant Garamond',Georgia,serif;font-weight:600;font-size:1.55rem;line-height:1.2;margin:0 0 .3em}
.td .pcx-intro{margin:0 0 1.1em;opacity:.9;max-width:70ch}
.td .pcx-q{font-family:'Cormorant Garamond',Georgia,serif;font-weight:600;font-size:1.32rem;line-height:1.25;margin:0 0 .6em;text-wrap:balance}
.td .pcx-hint{font-size:.88rem;opacity:.78;margin:8px 0 0}
.td .pcx-hint:empty,.td .pcx-out:empty{display:none}
.td .pcx-lab{display:block;font-size:.74rem;letter-spacing:.1em;text-transform:uppercase;font-weight:700;margin:0 0 7px;opacity:.85}
.td .pcx-opt{text-transform:none;letter-spacing:0;font-weight:500;opacity:.75}
.td .pcx-count{margin:10px 0 0;font-size:.78rem;letter-spacing:.1em;text-transform:uppercase;font-weight:700;opacity:.78}
.td .pcx-box [tabindex="-1"]:focus{outline:none}
.td .pcx-box [tabindex="-1"]:focus-visible{outline:2px dashed var(--td-goldline);outline-offset:4px}
/* puces */
.td .pcx-chips{display:flex;flex-wrap:wrap;gap:8px;margin:0}
.td .pcx-chip{display:inline-flex;align-items:center;gap:.5em;font:inherit;font-weight:600;font-size:.94rem;line-height:1.25;text-align:left;min-height:44px;padding:.5em 1.05em;border-radius:999px;border:1px solid var(--td-line);background:rgba(127,127,127,.07);color:inherit;cursor:pointer;touch-action:manipulation;transition:background-color .2s,border-color .2s,transform .2s,opacity .2s}
@media (hover:hover){.td .pcx-chip:hover:not(:disabled){border-color:var(--td-goldline);transform:translateY(-1px)}}
.td .pcx-chip[aria-pressed=true]{background:var(--pcx-press);color:#fff;border-color:var(--td-gold)}
.td .pcx-chip:disabled{cursor:default;opacity:.5}
.td .pcx-chip>span{min-width:0}
/* boutons d'action */
.td .pcx-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:18px}
.td .pcx-box .td-btn{gap:.55em}
.td .pcx-box .td-btn:disabled{opacity:.45;cursor:default;transform:none;box-shadow:none}
.td .pcx-reset.is-armed{border-color:var(--td-rose);background:var(--td-rosesoft)}
@media (max-width:559px){.td .pcx-actions .td-btn{flex:1 1 100%}}
/* champ « ajouter » */
.td .pcx-add{display:flex;gap:8px;margin:12px 0 0;max-width:560px}
.td .pcx-box input[type=text],.td .pcx-box select,.td .pcx-box textarea{-webkit-appearance:none;appearance:none;font:inherit;color:inherit;min-width:0;border:1px solid var(--td-goldline);background:var(--pcx-field);transition:border-color .2s,box-shadow .2s}
.td .pcx-box input[type=text]::placeholder,.td .pcx-box textarea::placeholder{color:inherit;opacity:.62}
.td .pcx-box input[type=text]:focus-visible,.td .pcx-box select:focus-visible,.td .pcx-box textarea:focus-visible{outline:3px solid var(--td-gold);outline-offset:1px}
.td .pcx-box input:disabled,.td .pcx-box select:disabled{opacity:.5}
.td .pcx-add input{flex:1 1 auto;min-height:48px;padding:10px 18px;border-radius:999px}
.td .pcx-add .td-btn{flex:none;min-height:48px;padding:.6em 1.1em}
/* notes de lecture (tons g, v, o) et carte de fin */
.td .pcx-notes{display:grid;gap:12px;margin-top:18px}
@media (min-width:760px){.td .pcx-notes{grid-template-columns:repeat(auto-fit,minmax(340px,1fr))}}
.td .pcx-note{position:relative;padding:14px 16px 15px 20px;border-radius:14px;border:1px solid var(--td-goldline);background:var(--td-goldsoft);animation:pcx-in .5s ease backwards;animation-delay:calc(var(--i,0) * 90ms);overflow:hidden}
.td .pcx-note::before{content:"";position:absolute;left:0;top:0;bottom:0;width:5px;background:var(--td-gold)}
.td .pcx-note.t-g{border-color:var(--td-teal);background:var(--td-tealsoft)}
.td .pcx-note.t-g::before{background:var(--td-teal)}
.td .pcx-note.t-o{border-color:var(--td-rose);background:var(--td-rosesoft)}
.td .pcx-note.t-o::before{background:var(--td-rose)}
.td .pcx-note-k{display:block;font-size:.8rem;line-height:1.4;font-weight:700;margin-bottom:.35em;color:var(--pcx-gold)}
.td .pcx-note.t-g .pcx-note-k,.td .pcx-note.t-o .pcx-note-k{color:inherit;opacity:.78}
.td .pcx-note-t{font-family:'Cormorant Garamond',Georgia,serif;font-weight:600;font-size:1.28rem;line-height:1.22;margin:0 0 .3em;text-wrap:balance}
.td .pcx-note-p{margin:0}
.td .pcx-out{transition:opacity .3s}
.td .pcx-out.is-stale .pcx-notes,.td .pcx-out.is-stale .pcx-fin{opacity:.5}
.td .pcx-stale{margin:16px 0 0;font-size:.9rem;font-style:italic;opacity:.85}
.td .pcx-fin{position:relative;margin-top:16px;padding:20px 20px 20px 24px;border-radius:var(--td-radius);border:1px solid var(--td-goldline);background:linear-gradient(135deg,var(--td-soft2),var(--td-goldsoft) 70%,var(--td-tealsoft)),var(--pcx-surface);overflow:hidden;animation:pcx-in .55s ease backwards}
.td .pcx-fin::before{content:"";position:absolute;left:0;top:0;bottom:0;width:5px;background:linear-gradient(var(--td-teal),var(--td-gold))}
.td .pcx-fin-title{font-family:'Cormorant Garamond',Georgia,serif;font-weight:600;font-size:1.5rem;line-height:1.2;margin:0 0 .35em;text-wrap:balance}
.td .pcx-fin p{margin:0;max-width:72ch}
.td .pcx-fin .td-cta-row{margin-top:16px}
@media (max-width:559px){.td .pcx-fin .td-cta-row .td-btn{flex:1 1 100%}}
@keyframes pcx-in{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
@keyframes pcx-pop{from{opacity:0;transform:scale(.45)}to{opacity:1;transform:none}}
@keyframes pcx-fade{from{opacity:0}to{opacity:1}}
@keyframes pcx-draw{from{stroke-dashoffset:100}to{stroke-dashoffset:0}}
@keyframes pcx-breathe{0%,100%{transform:scale(.94)}50%{transform:scale(1.06)}}

/* ---------- couleurs des groupes (écran et impression) ---------- */
.pcx-box .g-medical,.pcx-print .g-medical{--gc:var(--pcx-g-medical)}
.pcx-box .g-institution,.pcx-print .g-institution{--gc:var(--pcx-g-institution)}
.pcx-box .g-soin,.pcx-print .g-soin{--gc:var(--pcx-g-soin)}
.pcx-box .g-social,.pcx-print .g-social{--gc:var(--pcx-g-social)}
.pcx-box .g-proche,.pcx-print .g-proche{--gc:var(--pcx-g-proche)}
.pcx-box .g-autre,.pcx-print .g-autre{--gc:var(--pcx-g-autre)}
.pcx-gb{width:15px;height:15px;flex:none;fill:var(--gc,#6B7280)}
.pcx-rb{width:18px;height:18px;flex:none;display:inline-block}

/* ---------- 1. la carte de mes interlocuteurs ---------- */
.td .pcx-c-pickchip[aria-pressed=true] .pcx-gb{stroke:#fff;stroke-width:1.6}
.td .pcx-c-stage{position:relative;margin:18px 0 0;padding:8px 6px 12px;border-radius:18px;border:1px solid var(--td-line);background:var(--pcx-stage);box-shadow:inset 0 1px 0 rgba(255,255,255,.5)}
.td .pcx-c-map{min-height:120px}
.td .pcx-c-empty{position:static;margin:2px 12px 10px;text-align:center;font-family:'Cormorant Garamond',Georgia,serif;font-style:italic;font-size:1.12rem;opacity:.75;pointer-events:none}
.td .pcx-c-legend{list-style:none;display:flex;flex-wrap:wrap;justify-content:center;gap:4px 16px;margin:6px 8px 0;padding:8px 0 0;border-top:1px dashed var(--td-line);font-size:.82rem}
.td .pcx-c-legend li{margin:0;display:inline-flex;align-items:center;gap:6px}
.td .pcx-c-who{margin-top:22px}
.td .pcx-c-who .pcx-hint{margin:-4px 0 12px}
.td .pcx-c-rows{list-style:none;margin:0;padding:0;display:grid;gap:10px;grid-template-columns:repeat(auto-fill,minmax(min(100%,410px),1fr))}
.td .pcx-c-row{margin:0;padding:11px 12px 12px 14px;border-radius:14px;border:1px solid var(--td-line);border-left:5px solid var(--gc);background:var(--pcx-surface);animation:pcx-in .4s ease backwards;transition:border-color .2s,box-shadow .2s}
.td .pcx-c-row.is-none{border-left-style:dashed}
.td .pcx-c-row:hover,.td .pcx-c-row:focus-within{box-shadow:0 0 0 3px var(--td-goldsoft)}
.td .pcx-c-rtop{display:flex;align-items:center;gap:10px;margin:0 0 9px}
.td .pcx-c-badge{flex:none;width:30px;height:30px;border-radius:50%;display:grid;place-items:center;font-weight:700;font-size:.84rem;line-height:1;font-variant-numeric:tabular-nums;border:2.5px solid var(--gc);background:var(--pcx-stage)}
.td .pcx-c-row.g-institution .pcx-c-badge{border-radius:9px}
.td .pcx-c-name{flex:1 1 auto;min-width:0;font-weight:650;line-height:1.3}
.td .pcx-c-grp{flex:none;font-size:.7rem;letter-spacing:.08em;text-transform:uppercase;font-weight:700;opacity:.65}
.td .pcx-c-del{flex:none;width:34px;height:34px;margin:-4px -4px -4px 0;padding:0;border-radius:50%;border:1px solid transparent;background:transparent;color:inherit;font:inherit;font-size:1.3rem;line-height:1;display:grid;place-items:center;cursor:pointer;opacity:.62}
.td .pcx-c-del:hover{opacity:1;border-color:var(--td-line);background:rgba(127,127,127,.1)}
.td .pcx-c-roles{gap:6px}
.td .pcx-c-role{min-height:40px;font-size:.86rem;padding:.3em .85em .3em .42em;gap:.4em}
.td .pcx-c-role .pcx-rb{width:22px;height:22px;opacity:.6;transition:opacity .2s}
.td .pcx-c-role[aria-pressed=true] .pcx-rb{opacity:1}
/* le schéma */
.pcx-c-svg{display:block;width:100%;height:auto;overflow:visible;font-family:inherit}
.pcx-c-svg.is-nums{max-width:520px;margin:0 auto}
.pcx-c-svg text{font-family:inherit}
.pcx-c-orbit{fill:none;stroke:currentColor;stroke-opacity:.12;stroke-width:1.2;stroke-dasharray:2 7}
.pcx-c-spoke{stroke:var(--gc);stroke-opacity:.55;stroke-width:2.2;stroke-linecap:round}
.pcx-c-spoke.is-none{stroke-dasharray:2 6;stroke-opacity:.45}
.pcx-c-glow{fill:none;stroke:var(--td-gold);stroke-opacity:.11;stroke-width:6;stroke-linecap:round}
.pcx-c-thread{fill:none;stroke:var(--td-gold);stroke-opacity:.85;stroke-width:1.7;stroke-linecap:round}
.pcx-c-thread.is-new{stroke-dasharray:100;animation:pcx-draw 1.15s cubic-bezier(.45,0,.25,1) both}
.pcx-c-svg.is-relayout .pcx-c-spokes,.pcx-c-svg.is-relayout .pcx-c-threads,.pcx-c-svg.is-relayout .pcx-c-orbit{animation:pcx-fade .45s ease .34s both}
.pcx-c-svg.is-relayout .pcx-c-thread.is-new{animation-delay:.5s}
.pcx-c-cg1{stop-color:#F7E6C6}
.pcx-c-cg2{stop-color:var(--td-gold,#C08A3E)}
.pcx-c-ca1{stop-color:var(--td-gold,#C08A3E);stop-opacity:.34}
.pcx-c-ca2{stop-color:var(--td-gold,#C08A3E);stop-opacity:0}
.pcx-c-aura{transform-box:fill-box;transform-origin:center;animation:pcx-breathe 8s ease-in-out infinite}
.pcx-c-core{stroke:#fff;stroke-opacity:.75;stroke-width:2}
.pcx-c-you{font-family:'Cormorant Garamond',Georgia,serif!important;font-weight:700;font-size:21px;fill:var(--pcx-youink,#2B2113);letter-spacing:.02em}
.pcx-c-svg.is-nums .pcx-c-you{font-size:16.5px}
.pcx-c-shape{fill:var(--pcx-stage,#fff);stroke:var(--gc);stroke-width:3}
@supports (color:color-mix(in srgb,red 50%,blue)){.pcx-c-shape{fill:color-mix(in srgb,var(--gc) 15%,var(--pcx-stage,#fff))}}
.pcx-c-num{font-weight:700;font-size:14px;fill:currentColor;font-variant-numeric:tabular-nums}
.pcx-c-pinhalo{fill:var(--pcx-stage,#fff)}
.pcx-c-lab{font-weight:600;font-size:13.5px;fill:currentColor;paint-order:stroke;stroke:var(--pcx-stage,#fff);stroke-width:4.5px;stroke-linejoin:round}
.pcx-c-lienring{fill:none;stroke:var(--td-gold);stroke-width:2;stroke-dasharray:3.2 3.2}
.pcx-c-in{transition:transform .6s cubic-bezier(.22,1,.36,1);transform-box:fill-box;transform-origin:center}
.pcx-c-node.is-new .pcx-c-in{animation:pcx-pop .55s cubic-bezier(.3,1.4,.5,1) both}
.pcx-c-node .pcx-c-shape,.pcx-c-node .pcx-c-lab{transition:stroke-width .2s}
.pcx-c-node.is-hl .pcx-c-shape{stroke-width:5}
.pcx-c-node.is-hl .pcx-c-lab{font-weight:750}

/* ---------- 2. la frise de mon parcours ---------- */
.pcx-box .c-rose,.pcx-print .c-rose{--fc:var(--pcx-c-rose)}
.pcx-box .c-bleu,.pcx-print .c-bleu{--fc:var(--pcx-c-bleu)}
.pcx-box .c-or,.pcx-print .c-or{--fc:var(--pcx-c-or)}
.pcx-box .c-vert,.pcx-print .c-vert{--fc:var(--pcx-c-vert)}
.td .pcx-fr-form{padding:16px 16px 12px;border-radius:16px;border:1px solid var(--td-line);background:var(--pcx-surface)}
.td .pcx-fr-form .pcx-q{font-size:1.2rem;margin-bottom:.55em}
.td .pcx-fr-types{margin:0 0 14px}
.td .pcx-fr-chip{font-size:.9rem;min-height:42px;padding:.42em .95em .42em .7em}
.td .pcx-fr-chip i{flex:none;width:13px;height:13px;border-radius:50%;background:var(--fc);box-shadow:0 0 0 2px rgba(255,255,255,.65)}
.td .pcx-fr-row{display:grid;gap:12px}
@media (min-width:720px){.td .pcx-fr-row{grid-template-columns:150px minmax(0,1fr) auto;align-items:end}}
.td .pcx-field{min-width:0}
.td .pcx-field select,.td .pcx-field input{display:block;width:100%;min-height:48px;padding:10px 14px;border-radius:12px}
.td .pcx-field select{padding-right:40px;cursor:pointer;background-image:linear-gradient(45deg,transparent 50%,currentColor 50%),linear-gradient(135deg,currentColor 50%,transparent 50%);background-position:calc(100% - 20px) 50%,calc(100% - 14px) 50%;background-size:6px 6px,6px 6px;background-repeat:no-repeat}
.td .pcx-field select option{color:#1a2430;background:#fff}
.td .pcx-fr-add{min-height:48px}
.td .pcx-fr-msg{min-height:1.4em;margin:8px 0 0;font-size:.88rem;opacity:.85}
.td .pcx-fr-view{margin-top:18px}
.td .pcx-fr-bar{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:0 0 8px;min-height:40px}
.td .pcx-fr-bar .pcx-count{margin:0}
.td .pcx-fr-nav{display:flex;gap:8px}
.td .pcx-fr-nav button{width:40px;height:40px;padding:0;border-radius:50%;border:1px solid var(--td-goldline);background:var(--pcx-surface);color:inherit;display:grid;place-items:center;cursor:pointer;transition:opacity .2s,background-color .2s}
.td .pcx-fr-nav button:hover:not(:disabled){background:var(--td-goldsoft)}
.td .pcx-fr-nav button:disabled{opacity:.35;cursor:default}
.td .pcx-fr-scroll{position:relative;overflow-x:auto;overflow-y:hidden;scroll-behavior:smooth;overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch;scroll-snap-type:x proximity;scrollbar-width:thin;scrollbar-color:var(--td-goldline) transparent;border-radius:18px;border:1px solid var(--td-line);background:var(--pcx-stage)}
.td .pcx-fr-track{list-style:none;position:relative;display:flex;align-items:stretch;width:max-content;min-width:100%;height:390px;margin:0;padding:0 70px}
.td .pcx-fr-track::before{content:"";position:absolute;left:20px;right:20px;top:50%;height:3px;margin-top:-1.5px;border-radius:3px;background:linear-gradient(90deg,transparent,var(--td-goldline) 40px,var(--td-goldline) calc(100% - 40px),transparent)}
.td .pcx-fr-track:empty{display:none}
.td .pcx-fr-empty{margin:0;padding:34px 20px;text-align:center;font-family:'Cormorant Garamond',Georgia,serif;font-style:italic;font-size:1.15rem;opacity:.72}
.td .pcx-fr-item{position:relative;flex:none;width:112px;margin:0;scroll-snap-align:center}
.td .pcx-fr-item.has-gap{margin-left:64px}
.td .pcx-fr-item.has-gap::before{content:"";position:absolute;top:50%;left:-90px;width:120px;height:5px;margin-top:-2.5px;background:repeating-linear-gradient(90deg,var(--pcx-stage) 0 5px,transparent 5px 10px)}
.td .pcx-fr-gap{position:absolute;top:50%;left:-60px;z-index:1;display:flex;align-items:baseline;justify-content:center;gap:.15em;width:60px;height:22px;margin-top:-11px;padding:0 4px;border-radius:999px;border:1px solid var(--td-goldline);background:var(--pcx-stage);font-size:.66rem;line-height:20px;letter-spacing:.04em;text-transform:uppercase;font-weight:600;white-space:nowrap}
.td .pcx-fr-gap b{font-size:.8rem;letter-spacing:0;font-variant-numeric:tabular-nums}
.td .pcx-fr-dot{position:absolute;left:50%;top:50%;width:18px;height:18px;margin:-9px 0 0 -9px;border-radius:50%;background:var(--fc);box-shadow:0 0 0 4px var(--pcx-stage),0 0 0 5.5px var(--fc);z-index:1}
.td .pcx-fr-card{position:absolute;left:50%;width:204px;margin-left:-102px;padding:10px 38px 11px 13px;border-radius:14px;border:1px solid var(--td-line);background:var(--pcx-field);box-shadow:0 12px 24px -20px rgba(0,0,0,.55);overflow-wrap:anywhere}
.td .pcx-fr-item.is-up .pcx-fr-card{bottom:calc(50% + 24px);border-bottom:4px solid var(--fc)}
.td .pcx-fr-item.is-down .pcx-fr-card{top:calc(50% + 24px);border-top:4px solid var(--fc)}
.td .pcx-fr-card::after{content:"";position:absolute;left:50%;width:2px;height:15px;margin-left:-1px;background:var(--fc);opacity:.7}
.td .pcx-fr-item.is-up .pcx-fr-card::after{top:calc(100% + 4px)}
.td .pcx-fr-item.is-down .pcx-fr-card::after{bottom:calc(100% + 4px)}
.td .pcx-fr-year{display:block;font-family:'Cormorant Garamond',Georgia,serif;font-weight:700;font-size:1.42rem;line-height:1;font-variant-numeric:lining-nums tabular-nums}
.td .pcx-fr-type{display:block;margin-top:5px;font-size:.7rem;line-height:1.3;letter-spacing:.07em;text-transform:uppercase;font-weight:700;opacity:.8}
.td .pcx-fr-txt{display:block;margin-top:4px;font-size:.93rem;line-height:1.35}
.td .pcx-fr-del{position:absolute;top:5px;right:5px;width:32px;height:32px;padding:0;border-radius:50%;border:1px solid transparent;background:transparent;color:inherit;font:inherit;font-size:1.25rem;line-height:1;display:grid;place-items:center;cursor:pointer;opacity:.55}
.td .pcx-fr-del:hover{opacity:1;border-color:var(--td-line);background:rgba(127,127,127,.1)}
.td .pcx-fr-ex{display:inline-block;margin:0 0 6px;padding:.1em .6em;border-radius:999px;border:1px dashed currentColor;font-size:.66rem;letter-spacing:.1em;text-transform:uppercase;font-weight:700}
.td .pcx-fr-item.is-example{opacity:.5;filter:grayscale(1)}
.td .pcx-fr-item.is-example .pcx-fr-card{border-style:dashed;box-shadow:none}
.td .pcx-fr-item.is-new .pcx-fr-card{animation:pcx-in .5s ease backwards}
.td .pcx-fr-item.is-new .pcx-fr-dot{animation:pcx-pop .5s cubic-bezier(.3,1.4,.5,1) backwards}
.td .pcx-fr-item.is-motif .pcx-fr-card{border-color:var(--td-gold);box-shadow:0 0 0 3px var(--td-goldsoft),0 14px 26px -20px rgba(0,0,0,.6)}
.td .pcx-fr-item.is-motif .pcx-fr-dot{box-shadow:0 0 0 4px var(--pcx-stage),0 0 0 7px var(--td-gold)}
.td .pcx-fr-item.is-motif .pcx-fr-year::after{content:"\2726";margin-left:.35em;font-size:.7em;color:var(--pcx-gold);vertical-align:.15em}
@media (max-width:639px){
  .td .pcx-fr-scroll{overflow:visible;padding:12px 12px 4px 6px;scroll-snap-type:none}
  .td .pcx-fr-track{flex-direction:column;width:auto;min-width:0;height:auto;padding:0}
  .td .pcx-fr-track::before{left:15px;right:auto;top:14px;bottom:20px;width:3px;height:auto;margin:0;background:linear-gradient(transparent,var(--td-goldline) 18px,var(--td-goldline) calc(100% - 18px),transparent)}
  .td .pcx-fr-item{width:auto;padding:0 0 12px 40px}
  .td .pcx-fr-item.has-gap{margin-left:0;padding-top:34px}
  .td .pcx-fr-item.has-gap::before{top:0;left:13.5px;width:6px;height:30px;margin:0;background:repeating-linear-gradient(180deg,var(--pcx-stage) 0 4px,transparent 4px 8px)}
  .td .pcx-fr-gap{top:6px;left:36px;width:auto;margin:0;padding:0 8px}
  .td .pcx-fr-dot{left:16.5px;top:21px}
  .td .pcx-fr-item.has-gap .pcx-fr-dot{top:55px}
  .td .pcx-fr-card{position:relative;left:auto;width:auto;margin:0;top:auto!important;bottom:auto!important;border:1px solid var(--td-line)!important;border-left:4px solid var(--fc)!important}
  .td .pcx-fr-item.is-motif .pcx-fr-card{border-color:var(--td-gold)!important;border-left-color:var(--fc)!important}
  .td .pcx-fr-card::after{display:none}
}

/* ---------- 3. une feuille à préparer ---------- */
.td .pcx-fe-list{list-style:none;margin:0;padding:0;display:grid;gap:12px}
.td .pcx-fe-item{position:relative;margin:0;padding:14px 16px 12px;border-radius:14px;border:1px solid var(--td-line);background:var(--pcx-surface);transition:border-color .25s,box-shadow .25s}
.td .pcx-fe-item::before{content:"";position:absolute;left:-1px;top:14px;bottom:14px;width:4px;border-radius:0 4px 4px 0;background:var(--td-line);transition:background-color .25s}
.td .pcx-fe-item.is-filled{border-color:var(--td-goldline)}
.td .pcx-fe-item.is-filled::before{background:var(--td-gold)}
.td .pcx-fe-item fieldset{border:0;margin:0;padding:0;min-width:0}
.td .pcx-fe-lab{display:block;float:none;width:100%;padding:0;margin:0 0 3px;font-family:'Cormorant Garamond',Georgia,serif;font-weight:600;font-size:1.22rem;line-height:1.25}
.td .pcx-fe-aide{font-size:.88rem;line-height:1.45;opacity:.78;margin:0 0 9px}
.td .pcx-fe-item.is-texte .pcx-fe-lab+textarea{margin-top:6px}
.td .pcx-fe-item textarea{display:block;width:100%;min-height:3.2em;padding:10px 13px;border-radius:12px;line-height:1.5;resize:vertical}
.td .pcx-fe-cnt{display:block;margin-top:4px;text-align:right;font-size:.74rem;font-variant-numeric:tabular-nums;opacity:.6}
.td .pcx-fe-cnt.is-near{opacity:1;color:var(--pcx-gold);font-weight:700}
.td .pcx-fe-chips{gap:7px}
.td .pcx-fe-chip{min-height:42px;font-size:.92rem;padding:.42em 1em .42em .7em}
.td .pcx-fe-chip i{position:relative;flex:none;width:17px;height:17px;border-radius:5px;border:2px solid var(--td-goldline);transition:background-color .2s,border-color .2s}
.td .pcx-fe-chip[aria-pressed=true] i{border-color:#fff;background:var(--td-gold)}
.td .pcx-fe-chip[aria-pressed=true] i::after{content:"";position:absolute;left:4px;top:0;width:4px;height:8px;border:solid #fff;border-width:0 2px 2px 0;transform:rotate(45deg)}
.td .pcx-fe-libre input{display:block;width:100%;margin-top:10px;min-height:46px;padding:9px 14px;border-radius:12px}
.td .pcx-fe-foot{display:flex;flex-wrap:wrap;align-items:center;gap:10px 16px;margin-top:16px}
.td .pcx-fe-foot .pcx-hint{margin:0}
@media (max-width:559px){.td .pcx-fe-foot .td-btn{flex:1 1 100%}}
.td .pcx-fe-result{animation:pcx-in .5s ease backwards}
.td .pcx-fe-paper{padding:6px 0 4px}
.td .pcx-fe-sheet{position:relative;max-width:720px;margin:0 auto;padding:30px 22px 22px;border-radius:6px;background:var(--pcx-paper);color:var(--pcx-paperink);border:1px solid var(--pcx-paperline);box-shadow:0 1px 2px rgba(0,0,0,.07),0 26px 44px -30px rgba(0,0,0,.55);overflow:hidden}
.td .pcx-fe-sheet::before{content:"";position:absolute;left:0;right:0;top:0;height:6px;background:linear-gradient(90deg,var(--td-navy),var(--td-gold) 55%,var(--td-teal))}
@media (min-width:640px){.td .pcx-fe-sheet{padding:38px 44px 28px}}
.td .pcx-fe-shead{padding-bottom:12px;margin-bottom:6px;border-bottom:1.5px solid var(--td-goldline)}
.td .pcx-fe-sdate{margin:0 0 4px;font-size:.74rem;letter-spacing:.14em;text-transform:uppercase;font-weight:700;color:var(--pcx-gold)}
.td .pcx-fe-stitle{margin:0;font-family:'Cormorant Garamond',Georgia,serif;font-weight:600;font-size:clamp(1.6rem,4.5vw,2.1rem);line-height:1.1}
.td .pcx-fe-sec{padding:12px 0 13px;border-bottom:1px dashed var(--pcx-paperline);break-inside:avoid}
.td .pcx-fe-sec:last-child{border-bottom:0}
.td .pcx-fe-slab{margin:0 0 5px;font-size:.74rem;letter-spacing:.12em;text-transform:uppercase;font-weight:700;color:var(--pcx-gold)}
.td .pcx-fe-stxt{margin:0;white-space:pre-line;font-size:1.03rem;line-height:1.55}
.td .pcx-fe-sitems{list-style:none;margin:0;padding:0;display:grid;gap:3px}
.td .pcx-fe-sitems li{position:relative;margin:0;padding-left:1.5em;line-height:1.5}
.td .pcx-fe-sitems li::before{content:"";position:absolute;left:.2em;top:.38em;width:.38em;height:.68em;border:solid var(--td-teal);border-width:0 2px 2px 0;transform:rotate(45deg)}
.td .pcx-fe-sfoot{margin-top:16px;padding-top:12px;border-top:1px solid var(--pcx-paperline);font-size:.84rem;line-height:1.45;font-style:italic;opacity:.78}
.td .pcx-fe-acts{justify-content:center;margin-top:18px}
.td .pcx-fe-copied{margin:10px 0 0;text-align:center;font-weight:700;font-size:.9rem;color:var(--pcx-gold);opacity:0;transition:opacity .3s}
.td .pcx-fe-copied.is-on{opacity:1}
.td .pcx-fe-copied:empty{display:none}

/* ---------- scènes du bandeau : fil, relais ---------- */
.td .tdp-hero-art[data-art=fil]>svg:not(.pcx-art),.td .tdp-hero-art[data-art=relais]>svg:not(.pcx-art){display:none}
.td .tdp-hero-art .pcx-art{--pcx-a-blue:var(--td-navy);width:100%;height:100%;display:block;-webkit-mask-image:linear-gradient(90deg,transparent,#000 26%);mask-image:linear-gradient(90deg,transparent,#000 26%)}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) .td .tdp-hero-art .pcx-art{--pcx-a-blue:#8FA8CC}}
:root[data-theme="dark"] .td .tdp-hero-art .pcx-art{--pcx-a-blue:#8FA8CC}
@media (max-width:639px){.td .tdp-hero-art .pcx-art{-webkit-mask-image:linear-gradient(90deg,transparent,#000 12%,#000 88%,transparent);mask-image:linear-gradient(90deg,transparent,#000 12%,#000 88%,transparent)}}
.td .pcx-art [data-depth]{transition:transform .5s cubic-bezier(.2,.8,.2,1);will-change:transform}
.td .pcx-art .pcx-a-gold{stop-color:var(--td-gold)}
.td .pcx-art .pcx-a-goldl{stop-color:#E6BE78}
.td .pcx-art .pcx-a-teal{stop-color:var(--td-teal)}
.td .pcx-art .pcx-a-fblue{fill:var(--pcx-a-blue)}
.td .pcx-art .pcx-a-fgold{fill:var(--td-gold)}
.td .pcx-art .pcx-a-fteal{fill:var(--td-teal)}
.td .pcx-art .pcx-a-frose{fill:var(--td-rose)}
.td .pcx-art .pcx-a-dust{fill:currentColor;fill-opacity:.2;transform-box:fill-box;transform-origin:center;animation:pcx-a-float 8s ease-in-out infinite}
.td .pcx-art .pcx-a-breathe{transform-box:fill-box;transform-origin:center;animation:pcx-a-breathe 9s ease-in-out infinite}
.td .pcx-art .pcx-a-ring{fill:none;stroke:var(--td-gold);stroke-opacity:.32;stroke-width:1.2;stroke-dasharray:2 6;transform-box:fill-box;transform-origin:center;animation:pcx-a-turn 60s linear infinite}
.td .pcx-art .pcx-a-ring.is-2{stroke-opacity:.2;animation-duration:90s;animation-direction:reverse}
/* fil : tracé lent puis respiration */
.td .pcx-art .pcx-a-stray{fill:var(--td-gold);fill-opacity:.3}
.td .pcx-art .pcx-a-thread{fill:none;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:100;stroke-dashoffset:100;animation:pcx-a-draw 7.2s cubic-bezier(.37,0,.63,1) .7s forwards,pcx-a-breath 6s ease-in-out 7.9s infinite}
.td .pcx-art .pcx-a-under{fill:none;stroke:var(--td-gold);stroke-opacity:.16;stroke-width:6;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:100;stroke-dashoffset:100;animation:pcx-a-draw 7.2s cubic-bezier(.37,0,.63,1) .7s forwards,pcx-a-glowb 6s ease-in-out 7.9s infinite}
.td .pcx-art .pcx-a-thread.is-still,.td .pcx-art .pcx-a-under.is-still{stroke-dasharray:none;stroke-dashoffset:0;animation:none}
.td .pcx-art .pcx-a-pt{animation:pcx-a-lit .9s ease forwards}
.td .pcx-art .pcx-a-pt .pcx-a-ptd{fill:var(--td-gold);stroke:#fff;stroke-width:1.4;transform-box:fill-box;transform-origin:center;opacity:.35;transform:scale(.62);transition:none;animation:inherit;animation-name:pcx-a-litd}
.td .pcx-art .pcx-a-pt .pcx-a-pth{fill:var(--td-gold);opacity:0;transform-box:fill-box;transform-origin:center;animation:inherit;animation-name:pcx-a-lith}
.td .pcx-art .pcx-a-pt.is-still .pcx-a-ptd{opacity:1;transform:none;animation:none}
.td .pcx-art .pcx-a-pt.is-still .pcx-a-pth{opacity:.16;animation:none}
.td .pcx-art .pcx-a-core{fill:var(--td-gold);stroke:#fff;stroke-width:2;transform-box:fill-box;transform-origin:center;animation:pcx-a-glow 4.5s ease-in-out infinite}
.td .pcx-art .pcx-a-halo{transform-box:fill-box;transform-origin:center;animation:pcx-a-breathe 4.5s ease-in-out infinite}
/* relais : réseau, nœuds qui respirent, lumière qui passe */
.td .pcx-art .pcx-a-edge{stroke:currentColor;stroke-opacity:.16;stroke-width:1.3;stroke-linecap:round}
.td .pcx-art .pcx-a-edge.is-route{stroke:var(--td-teal);stroke-opacity:.42;stroke-width:1.7}
.td .pcx-art .pcx-a-node{transform-box:fill-box;transform-origin:center;animation:pcx-a-node 6s ease-in-out infinite}
.td .pcx-art .pcx-a-node circle:first-child{fill-opacity:.9;stroke:#fff;stroke-opacity:.6;stroke-width:1.5}
.td .pcx-art .pcx-a-spark{fill:#fff;stroke:var(--td-gold);stroke-width:1.6}
.td .pcx-art:not(.is-on) *{animation-play-state:paused!important}
@keyframes pcx-a-draw{to{stroke-dashoffset:0}}
@keyframes pcx-a-breath{0%,100%{stroke-width:1.7;opacity:.9}50%{stroke-width:2.3;opacity:1}}
@keyframes pcx-a-glowb{0%,100%{stroke-opacity:.12;stroke-width:6}50%{stroke-opacity:.26;stroke-width:9}}
@keyframes pcx-a-breathm{0%,100%{stroke-width:2.8;opacity:.9}50%{stroke-width:3.6;opacity:1}}
@media (max-width:639px){.td .pcx-art .pcx-a-thread{stroke-width:2.8;animation-name:pcx-a-draw,pcx-a-breathm}.td .pcx-art .pcx-a-under{stroke-width:8}.td .pcx-art .pcx-a-ptd,.td .pcx-art .pcx-a-core,.td .pcx-art .pcx-a-node{scale:1.3}.td .pcx-art .pcx-a-edge{stroke-width:2}.td .pcx-art .pcx-a-edge.is-route{stroke-width:2.4}}
@keyframes pcx-a-lit{to{opacity:1}}
@keyframes pcx-a-litd{to{opacity:1;transform:none}}
@keyframes pcx-a-lith{0%{opacity:0;transform:scale(.4)}45%{opacity:.5;transform:scale(1.6)}100%{opacity:.16;transform:none}}
@keyframes pcx-a-glow{0%,100%{transform:scale(.92)}50%{transform:scale(1.12)}}
@keyframes pcx-a-breathe{0%,100%{transform:scale(.94)}50%{transform:scale(1.06)}}
@keyframes pcx-a-float{0%,100%{transform:translateY(0)}50%{transform:translateY(-8px)}}
@keyframes pcx-a-turn{to{transform:rotate(360deg)}}
@keyframes pcx-a-node{0%,100%{transform:scale(.95)}50%{transform:scale(1.05)}}

/* ---------- impression : seule la feuille préparée par l'exercice ---------- */
.pcx-print{display:none}
@media print{
  html.pcx-printing,html.pcx-printing body{background:#fff!important;color:#000!important;margin:0!important;padding:0!important;height:auto!important;min-height:0!important;overflow:visible!important}
  html.pcx-printing body>*:not(.pcx-print){display:none!important}
  html.pcx-printing .pcx-print{display:block!important;position:static!important;--td-navy:#2A3E5C;--td-gold:#B07A2E;--td-teal:#3E7F7F;--td-rose:#A4475A;--pcx-stage:#fff;--pcx-youink:#2B2113;
    --pcx-g-medical:#2A3E5C;--pcx-g-institution:#3E7F7F;--pcx-g-soin:#B07A2E;--pcx-g-social:#5F5487;--pcx-g-proche:#A4475A;--pcx-g-autre:#5B6270;--pcx-c-rose:#A4475A;--pcx-c-bleu:#2A3E5C;--pcx-c-or:#B07A2E;--pcx-c-vert:#3E7F7F;
    color:#000;background:#fff;font:11pt/1.5 -apple-system,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;max-width:none;margin:0;padding:0;-webkit-print-color-adjust:exact;print-color-adjust:exact}
  .pcx-print *{box-sizing:border-box}
  .pcx-print .pcx-p-head{margin:0 0 6mm;padding:0 0 3mm;border-bottom:1.5pt solid #000}
  .pcx-print .pcx-p-title{margin:0;font:600 22pt/1.15 "Cormorant Garamond",Georgia,"Times New Roman",serif;color:#000}
  .pcx-print .pcx-p-date{margin:1.5mm 0 0;font-size:10pt;color:#333}
  .pcx-print .pcx-p-h{margin:6mm 0 2mm;font:600 14pt/1.2 "Cormorant Garamond",Georgia,serif;color:#000}
  .pcx-print .pcx-p-map{margin:0 auto;max-width:170mm;color:#000}
  .pcx-print .pcx-p-map svg{display:block;width:100%;height:auto;max-height:130mm}
  .pcx-print .pcx-c-lab,.pcx-print .pcx-c-num{fill:#000}
  .pcx-print .pcx-c-aura,.pcx-print .pcx-c-in,.pcx-print .pcx-c-thread{animation:none!important;transition:none!important}
  .pcx-print .pcx-p-legend{list-style:none;display:flex;flex-wrap:wrap;gap:1mm 5mm;margin:3mm 0 0;padding:0;font-size:9.5pt}
  .pcx-print .pcx-p-legend li{display:inline-flex;align-items:center;gap:1.5mm;margin:0}
  .pcx-print .pcx-rb{width:4mm;height:4mm}
  .pcx-print .pcx-p-list{margin:0;padding:0;list-style:none}
  .pcx-print .pcx-p-list li{margin:0;padding:2.2mm 0;border-bottom:.5pt solid #bbb;break-inside:avoid;page-break-inside:avoid}
  .pcx-print .pcx-p-who li{display:grid;grid-template-columns:auto 1fr;column-gap:2mm}
  .pcx-print .pcx-p-who .pcx-p-grp{color:#444;font-size:9.5pt}
  .pcx-print .pcx-p-who .pcx-p-roles{grid-column:1/-1;color:#000}
  .pcx-print .pcx-p-frise li{display:grid;grid-template-columns:16mm 1fr;column-gap:4mm;padding-left:3mm;border-left:2.2mm solid var(--fc,#888)}
  .pcx-print .pcx-p-gap{grid-column:1/-1;font-size:8.5pt;font-style:italic;color:#555;margin-bottom:.8mm}
  .pcx-print .pcx-p-year{font:700 13pt/1.2 Georgia,serif}
  .pcx-print .pcx-p-type{display:block;font-size:8.5pt;letter-spacing:.06em;text-transform:uppercase;font-weight:700;color:#333}
  .pcx-print .pcx-p-txt{display:block}
  .pcx-print .pcx-fe-sec{padding:3mm 0;border-bottom:.5pt dashed #999;break-inside:avoid;page-break-inside:avoid}
  .pcx-print .pcx-fe-sec:last-child{border-bottom:0}
  .pcx-print .pcx-fe-slab{margin:0 0 1mm;font-size:8.5pt;letter-spacing:.12em;text-transform:uppercase;font-weight:700;color:#333}
  .pcx-print .pcx-fe-stxt{margin:0;white-space:pre-line}
  .pcx-print .pcx-fe-sitems{margin:0;padding:0 0 0 5mm}
  .pcx-print .pcx-fe-sitems li{margin:0}
  .pcx-print .pcx-p-foot{margin-top:6mm;padding-top:2mm;border-top:.5pt solid #999;font-size:9pt;font-style:italic;color:#333}
}

/* ---------- mouvements réduits : aucune animation, états finaux ---------- */
@media (prefers-reduced-motion:reduce){.td [class*=pcx-],.td [class*=pcx-]::before,.td [class*=pcx-]::after{animation:none!important;transition:none!important}.td .pcx-fr-scroll{scroll-behavior:auto}}
