/* Chemins graphiques : styles isolés, sans surcouche sur les autres outils. */
#view-chemins:not([hidden]){display:flex;flex-direction:column;gap:8px;flex:1;min-height:0;font-size:12px;overflow:hidden}
#view-chemins [hidden]{display:none!important}
#view-chemins button,#view-chemins input,#view-chemins select{font:inherit}
#view-chemins h1{font-size:19px;white-space:nowrap;letter-spacing:-.035em}
#view-chemins h2{font-size:15px;margin:0 0 12px}
#view-chemins .chg-muted{font-size:11px;color:#758397}


.chg-icon,.chg-button{border:1px solid #dce3e6;border-radius:10px;background:#fff;color:#173b5a;cursor:pointer;min-height:35px;display:inline-grid;place-items:center;font-weight:700;padding:8px 10px}
.chg-icon{width:36px;font-size:20px;padding:0}
.chg-primary{background:#ffca24;border-color:#efad00}
.chg-workspace{flex:1;min-height:0;min-width:0;display:grid;grid-template-columns:var(--ef-left-current,var(--ef-library-width)) minmax(0,1fr) var(--ef-right-current,var(--ef-parameters-width));gap:var(--ef-activity-gap)}
.chg-library,.chg-preview,.chg-settings{min-width:0;min-height:0;background:#fff;border:1px solid #eaddc8;border-radius:var(--ef-activity-radius);padding:14px;overflow:hidden;display:flex;flex-direction:column}
.chg-library{overflow:hidden}
.chg-library>.chg-library-items{flex:1 1 auto;min-height:0;overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain;scrollbar-width:thin}



#chg-search{width:100%;padding:10px;border-radius:12px;border:1px solid #e2dcd1;margin-bottom:10px}
.chg-targets{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin-bottom:8px}
.chg-targets button{background:#fff;border:1px solid #dde4e9;border-radius:10px;min-height:54px;display:grid;gap:3px;padding:7px;cursor:pointer;min-width:0}
.chg-targets button[aria-pressed=true]{border:2px solid #e7a516;background:#fff9e6}
.chg-targets button strong{font-size:11px}
.chg-targets button span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:10px;color:#6c8090}
.chg-resource.is-used{border-color:#2f895e}
.chg-check-mark{position:absolute;right:3px;top:3px;background:#1e8656;color:white;border-radius:50%;width:19px;height:19px;text-align:center;font-style:normal;font-size:14px}
.chg-upload{padding:11px;border:1px dashed #a7bfc9;border-radius:11px;text-align:center;margin-top:7px;cursor:pointer;font-weight:700;color:#315c77}
.chg-upload input{display:none}
.chg-preview-title{display:flex;justify-content:space-between;align-items:center;gap:5px;min-height:31px;margin-bottom:8px}
.chg-preview-scroll{flex:1;min-height:0;overflow:auto;border-radius:14px;background:#f0f3f3;display:flex;padding:14px}
.chg-board{width:100%;display:flex;align-items:flex-start;justify-content:center}
.chg-status{font-size:11px;color:#5b7588;min-height:16px;margin:9px 2px 0}
.chg-status.is-error{color:#a73333}
.chg-settings{display:grid;grid-template-columns:minmax(0,1fr) var(--ef-rail-width);grid-template-rows:auto minmax(0,1fr);column-gap:8px}
.chg-settings>h2{grid-column:1;grid-row:1;max-width:100%}
.chg-settings-scroll{grid-column:1;grid-row:2;overflow:auto;min-height:0;padding-right:3px}
.chg-rail{grid-column:2;grid-row:1/3;background:#fff9ed;border:1px solid #e6ac1d;border-radius:13px;padding:5px 3px;display:flex;flex-direction:column;gap:5px;align-items:center}
.chg-rail button{width:34px;height:39px;background:#fff;border:1px solid #e5d6bf;border-radius:10px;font-size:20px;cursor:pointer}
.chg-rail button[aria-pressed=true]{background:#ffca23;border-color:#eba900}
.chg-setting-section{display:flex;flex-direction:column;gap:13px;align-items:stretch;padding-bottom:12px}
.chg-setting-section label{font-size:11px;font-weight:700;color:#526e84;display:flex;flex-direction:column;gap:5px}
.chg-setting-section label.chg-check{display:flex;flex-direction:row;align-items:center;gap:8px}
.chg-setting-section input[type=text],.chg-setting-section select{background:#fff;color:#173b5b;border:1px solid #e2ded4;border-radius:11px;padding:10px;min-width:0;width:100%}
.chg-setting-section input[type=range]{width:100%;accent-color:#edae09;cursor:pointer}
.chg-setting-section output{color:#143b60;font-weight:700}
.chg-setting-section p{color:#617589;line-height:1.5;font-size:12px;margin:0 0 7px}
#view-chemins button:focus-visible,#view-chemins input:focus-visible,#view-chemins select:focus-visible{outline:3px solid #eeb520;outline-offset:2px}
/* La même feuille est construite par buildSheet() pour l'aperçu et la sortie papier. */
.chg-sheet{width:100%;max-width:720px;aspect-ratio:210/297;box-shadow:0 2px 14px #bcc5c540;display:flex;flex-direction:column;gap:13px;min-width:0;box-sizing:border-box;overflow:hidden}
.chg-sheet.is-landscape{aspect-ratio:297/210;max-width:950px}
.chg-instruction{font-weight:700;font-size:clamp(10px,1.2vw,17px);line-height:1.35;text-align:center;margin:0;flex:0 0 auto}
.chg-exercises{flex:1;min-height:0;display:grid;grid-template-columns:repeat(var(--chg-cols,1),minmax(0,1fr));gap:12px;grid-template-rows:repeat(var(--chg-rows,2),minmax(0,1fr))}
.chg-exercise{min-height:0;min-width:0;display:grid;grid-template-columns:minmax(0,19%) minmax(0,1fr) minmax(0,19%);gap:6px;align-items:center;padding:9px;box-sizing:border-box;overflow:clip}
.chg-exercise.has-border{border:1px dashed #b7c7d0;border-radius:12px}
.chg-endpoint{min-width:0;min-height:0;height:100%;width:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;overflow:hidden}
/* La zone reste dans la ligne ; l'image est contenue sans imposer sa taille intrinsèque au quadrillage. */
.chg-image-slot{width:100%;min-width:0;min-height:0;flex:1 1 0;position:relative;display:flex;align-items:center;justify-content:center;overflow:hidden}
.chg-image-slot img{position:absolute;inset:0;height:100%;width:100%;max-width:100%;max-height:100%;object-fit:contain}
.chg-empty-image{font-size:12px;color:#9cabb4;text-align:center;border:1px dashed #d2dde1;border-radius:8px;padding:10px 3px;width:100%;box-sizing:border-box}
.chg-arrow{flex:0 0 auto;color:#788c99;font-size:15px}
.chg-path-box{width:100%;min-width:0;min-height:0;display:grid;place-items:center;align-self:center}
.chg-trace{width:100%;overflow:visible;aspect-ratio:1000/240;max-height:100%;display:block}
@media(max-width:1100px){
.chg-workspace{grid-template-columns:var(--ef-left-current,var(--ef-library-width)) minmax(0,1fr) var(--ef-right-current,var(--ef-parameters-width));gap:var(--ef-activity-gap)}
.chg-library,.chg-preview,.chg-settings{padding:9px}
}
@media(max-width:800px){
#view-chemins:not([hidden]){overflow:auto}
.chg-workspace{display:flex;flex-direction:column;min-height:unset}
.chg-preview{order:0}
.chg-library{order:1}
.chg-settings{order:2}
.chg-preview-scroll{max-height:640px;min-height:350px}
.chg-settings-scroll{max-height:550px}
.chg-settings{min-height:350px}

}
@media print{
  body:has(#print-stage.efpv-native-print){background:white!important;height:auto!important;overflow:visible!important;margin:0!important;padding:0!important}
  #print-stage.efpv-native-print{display:block!important;width:auto!important;margin:0!important;padding:0!important}
  #print-stage.efpv-native-print .chg-sheet{max-width:none!important;max-height:none!important;aspect-ratio:auto!important;box-shadow:none!important;padding:var(--ef-page-padding-chg,8mm)!important;margin:0!important;-webkit-print-color-adjust:exact;print-color-adjust:exact}
  
  
  #print-stage.efpv-native-print .chg-instruction{font-size:15pt!important}
  #print-stage.efpv-native-print .chg-exercises{gap:4mm!important}
  #print-stage.efpv-native-print .chg-exercise{padding:3mm!important;gap:2mm!important}
  #print-stage.efpv-native-print .chg-image-slot{max-width:35mm}
}
/* 0.9.358 : une ligne de la fiche = un exercice indépendant, sans panneau parallèle. */
.chg-line-label{margin:0 0 6px;font-size:11px;font-weight:700;color:#365c77}
#view-chemins .chg-exercise[role=button]{cursor:pointer;position:relative;border-radius:9px;transition:outline-color .12s,background-color .12s}
#view-chemins .chg-exercise.is-selected{outline:2px solid #2b91c4;outline-offset:-2px;background:#ebf7ff53}
#view-chemins .chg-exercise[role=button]:focus-visible{outline:3px solid #e9aa1b;outline-offset:1px}
@media print{#print-stage.efpv-native-print .chg-exercise{outline:0!important;background:transparent!important}}

/* Règle 14 : un emplacement de départ et un d'arrivée par ligne. */
#view-chemins .chg-endpoint.chg-direct-zone{cursor:pointer;border-radius:5px}
#view-chemins .chg-endpoint.chg-direct-zone.is-target{outline:2px solid #258dcc;outline-offset:-2px}
#view-chemins .chg-endpoint.chg-direct-zone:hover,#view-chemins .chg-endpoint.chg-direct-zone:focus-visible{outline:2px solid #edb21b;outline-offset:-2px}

/* La partie sélectionnée de la ligne est identifiable, tracé central compris. */
#view-chemins .chg-path-box[role="button"]{position:relative;min-height:24px;border-radius:5px;cursor:pointer;outline:2px solid transparent;outline-offset:1px;transition:background .12s,outline-color .12s}
#view-chemins .chg-path-box.is-target{background:#e7f5ff;outline:2px solid #258dcc;outline-offset:1px}
#view-chemins .chg-path-box[role="button"]:hover:not(.is-target),#view-chemins .chg-path-box[role="button"]:focus-visible{background:#fff9e6;outline:2px solid #edb21b;outline-offset:1px}
@media print{#print-stage .chg-path-box{background:none!important;outline:0!important}}
