/* Dénombrer 0.9.361 — module isolé : aucune surcharge des autres activités. */
#view-denombrer:not([hidden]){display:flex;flex-direction:column;flex:1;min-height:0;gap:8px;font-size:12px;overflow:hidden}
#view-denombrer [hidden]{display:none!important}
#view-denombrer button,#view-denombrer input,#view-denombrer select{font:inherit}
#view-denombrer h1{font-size:19px;letter-spacing:-.035em;white-space:nowrap}
#view-denombrer h2{font-size:15px;margin:0 0 12px}
.den-muted{font-size:11px;color:#6e7f8e}


.den-icon,.den-button{border:1px solid #dce3e6;border-radius:10px;background:#fff;color:#173b5a;cursor:pointer;min-height:35px;display:grid;place-items:center;font-weight:700;padding:8px 10px}
.den-icon{font-size:20px;width:36px;padding:0}
.den-icon:disabled{opacity:.3;cursor:default}
.den-primary{background:#ffca24;border-color:#efad00}
.den-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)}
.den-library,.den-preview,.den-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}
.den-library{overflow:hidden}
.den-library>.den-library-items{flex:1 1 auto;min-height:0;overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain;scrollbar-width:thin}



#den-search{width:100%;padding:10px;border-radius:12px;border:1px solid #e2dcd1;margin-bottom:10px}
.den-resource.is-used{border:2px solid #2a9567}
.den-tick{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}
.den-upload{padding:11px;border:1px dashed #a7bfc9;border-radius:11px;text-align:center;margin-top:7px;cursor:pointer;font-weight:700;color:#315c77}
.den-upload input{display:none}
.den-preview-head{display:flex;align-items:center;justify-content:space-between;gap:8px;min-height:31px;margin-bottom:8px;flex-wrap:wrap}.den-page-navigation{display:flex;align-items:center;gap:6px;margin-inline:auto}.den-page-navigation strong{font-size:11px;white-space:nowrap}.den-page-navigation .den-icon{width:30px;min-height:30px;height:30px;padding:0;font-size:19px}
.den-preview-scroll{flex:1;min-height:0;overflow:auto;border-radius:14px;background:#f0f3f3;display:flex;padding:14px}
.den-board{width:100%;min-width:0;display:flex;flex-direction:column;align-items:center;gap:14px}
.den-settings{display:grid;grid-template-columns:minmax(0,1fr) var(--ef-rail-width);grid-template-rows:auto minmax(0,1fr);column-gap:8px}
.den-settings>h2{grid-column:1;grid-row:1}
.den-settings-scroll{grid-column:1;grid-row:2;overflow:auto;min-height:0;padding-right:3px}
.den-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}
.den-rail button{width:34px;height:39px;background:#fff;border:1px solid #e5d6bf;border-radius:10px;font-size:20px;cursor:pointer}
.den-rail button[aria-pressed=true]{background:#ffca23;border-color:#eba900}
.den-setting-section{display:flex;flex-direction:column;gap:13px;align-items:stretch;padding-bottom:12px}
.den-setting-section label{font-size:11px;font-weight:700;color:#526e84;display:flex;flex-direction:column;gap:5px}
.den-setting-section label.den-check{display:flex;flex-direction:row;align-items:center;gap:8px}
.den-setting-section input[type=text],.den-setting-section input[type=number],.den-setting-section select{background:#fff;color:#173b5b;border:1px solid #e2ded4;border-radius:11px;padding:10px;min-width:0;width:100%}
.den-setting-section input[type=range]{width:100%;accent-color:#edae09;cursor:pointer}
.den-setting-section output{font-weight:700;color:#153d63}
.den-setting-section p{font-size:12px;color:#617589;line-height:1.5;margin:0}
.den-line-switch{display:flex;align-items:center;justify-content:space-between;gap:8px;min-height:35px}
.den-line-switch strong{font-size:12px}
.den-picked{display:flex;flex-wrap:wrap;gap:5px;align-items:center}
.den-picked-image{width:50px;height:53px;padding:3px;border:1px solid #d7e2e7;background:#fff;border-radius:8px;position:relative;cursor:pointer}
.den-picked-image img{width:100%;height:100%;object-fit:contain}
.den-picked-image span{position:absolute;top:0;right:0;background:#fff;border-radius:40px}
.den-dimensions{display:grid;grid-template-columns:1fr 1fr;gap:8px}
#view-denombrer button:focus-visible,#view-denombrer input:focus-visible,#view-denombrer select:focus-visible{outline:3px solid #eeb520;outline-offset:2px}
/* La même composition sert à l'aperçu et au tirage papier. */
.den-sheet{width:100%;max-width:680px;aspect-ratio:210/297;min-width:0;box-shadow:0 2px 14px #bdc8cb40;display:flex;flex-direction:column;gap:12px;box-sizing:border-box;overflow:hidden}
.den-sheet.is-landscape{aspect-ratio:297/210;max-width:960px}
.den-instruction{flex:0 0 auto;text-align:center;font-size:clamp(10px,1.2vw,17px);font-weight:700;line-height:1.35}
.den-exercises{display:grid;flex:1;min-height:0;min-width:0;gap:11px;grid-template-columns:repeat(var(--den-exercise-columns,1),minmax(0,1fr));grid-template-rows:repeat(var(--den-rows,2),minmax(0,1fr))}
.den-exercise{min-height:0;min-width:0;box-sizing:border-box;display:grid;grid-template-columns:minmax(0,1fr) minmax(67px,19%);gap:8px;align-items:stretch;padding:7px;overflow:hidden;border-radius:8px}
.den-exercise.has-border{border:1px dashed #bdcbd3}
.den-exercise[role=button]{cursor:pointer}
.den-exercise.is-selected{outline:2px solid #228ac2;outline-offset:-2px;background:#e8f7ff69}
.den-collection{--den-image-footprint:.72;min-width:0;min-height:0;height:100%;width:100%;display:grid;grid-template-columns:repeat(var(--den-grid-cols,1),minmax(0,1fr));grid-template-rows:repeat(var(--den-grid-rows,1),minmax(0,1fr));align-items:center;justify-items:center;overflow:hidden;gap:0;position:relative}
.den-object{min-width:0;min-height:0;width:72%;height:72%;box-sizing:border-box;position:relative;display:grid;place-items:center;overflow:hidden}
.den-object img{position:absolute;inset:0;width:100%;height:100%;max-width:100%;max-height:100%;object-fit:contain;display:block}
.den-collection.is-scatter{display:block}
.den-collection.is-scatter .den-object{position:absolute;width:calc(72% / var(--den-grid-cols));height:calc(72% / var(--den-grid-rows));transform:translate(-50%,-50%);overflow:hidden}
.den-collection.is-scatter .den-object img{width:100%;height:100%;object-fit:contain}
.den-placeholder,.den-missing{color:#9eafba;font-size:12px;text-align:center}
.den-placeholder{grid-column:1/-1}
.den-response{min-width:0;min-height:0;border:1px solid #afc0cb;border-radius:8px;display:grid;place-items:center;font-size:clamp(20px,3vw,45px);font-weight:700;color:#173b5b;background:#fff}
.den-response[hidden]{display:none}
.den-response-label{font-size:12px;color:#adb8c2;font-weight:400}
.den-print-card{width:var(--den-card-width,7cm);height:var(--den-card-height,7cm);border:1px dashed #849ca7;box-sizing:border-box;display:flex;flex-direction:column;padding:.3cm;overflow:hidden;break-inside:avoid}
.den-print-card .den-collection{flex:1;min-height:0}
.den-card-number{font-size:22px;line-height:1.15;text-align:center;font-weight:700;flex:0 0 auto}
@media(max-width:1100px){
.den-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)}
.den-library,.den-preview,.den-settings{padding:9px}
}
@media(max-width:800px){
#view-denombrer:not([hidden]){overflow:auto}
.den-workspace{display:flex;flex-direction:column;min-height:unset}
.den-preview{order:0}
.den-library{order:1}
.den-settings{order:2}
.den-preview-scroll{min-height:300px;max-height:650px}
.den-settings{min-height:330px}
.den-settings-scroll{max-height:440px}

}
@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 .den-sheet{max-width:none!important;max-height:none!important;aspect-ratio:auto!important;box-shadow:none!important;margin:0!important;padding:var(--ef-page-padding-den,8mm)!important;print-color-adjust:exact;-webkit-print-color-adjust:exact}
  
  
  #print-stage.efpv-native-print .den-instruction{font-size:16pt!important}
  #print-stage.efpv-native-print .den-exercises{gap:3mm!important}
  #print-stage.efpv-native-print .den-exercise{padding:2mm!important}
  #print-stage.efpv-native-print .den-exercise.is-selected{outline:none!important;background:transparent!important}
  #print-stage.efpv-native-print .den-response{font-size:20pt!important}
  #print-stage.efpv-native-print .den-print-card{width:var(--den-card-width)!important;height:var(--den-card-height)!important}
}
/* Parcours numérique : l'enfant peut marquer les images comptées, avec souris ou tactile. */
.den-online,.den-online-wait{width:100%;max-width:650px;background:white;border-radius:15px;padding:20px;display:flex;flex-direction:column;align-items:center;gap:20px}
.den-online h3{font-size:18px;text-align:center;margin:0}
.den-play-nav{display:flex;align-items:center;justify-content:center;gap:25px}
.den-online-collection{height:290px!important;width:100%;max-width:520px;overflow:hidden}
.den-online-collection .den-object{cursor:pointer;border-radius:10px;border:1px solid #e3e9ee;padding:5px}
.den-online-collection .den-object.is-counted{background:#e5f6eb;border-color:#398761;opacity:.48}
.den-online-collection .den-object.is-counted::after{content:"✓";position:absolute;top:0;right:2px;color:#28754f;font-size:19px;font-weight:bold}
.den-play-answer{display:flex;align-items:center;justify-content:center;gap:10px;flex-wrap:wrap}
.den-play-answer label{display:flex;flex-direction:column;gap:5px;text-align:center;font-weight:700;font-size:12px}
.den-play-answer input{max-width:110px;border:1px solid #b7cbd7;border-radius:9px;padding:7px;font-size:22px;text-align:center}
.den-play-result{font-size:21px;font-weight:700;color:#1d5b47}

/* Règle 14 : dans les collections variées, chaque image placée se remplace directement. */
#view-denombrer .den-object.den-direct-zone{cursor:pointer;border-radius:5px;outline-offset:2px}
#view-denombrer .den-object.den-direct-zone.is-target{outline:2px solid #2989b7}
#view-denombrer .den-object.den-direct-zone:hover,#view-denombrer .den-object.den-direct-zone:focus-visible{outline:2px solid #ecb51d}

/* Image répétée : sélection explicite de la collection entière. */
#view-denombrer .den-collection.den-direct-zone.is-target{outline:2px solid #2989b7;outline-offset:-2px;border-radius:8px;background:#e7f5ff55}
#view-denombrer .den-collection.den-direct-zone:focus-visible{outline:2px solid #e7ad1c}
@media print{#print-stage .den-collection{outline:none!important;background:transparent!important}}
