/* KidoFiches · Horloge interactive · isolated from the site shell */
.kf-horloge{--kh-ink:var(--encre,#1E3A8A);--kh-coral:var(--rouge,#E4572E);--kh-sky:var(--seyes,#C9E4F5);--kh-gold:var(--jaune,#F7C548);--kh-muted:var(--gris,#657083);color:var(--txt,#263247)}
.kf-horloge *{box-sizing:border-box}
.kf-horloge [hidden]{display:none!important}
.kf-horloge section{padding:0}
.kf-horloge h1,.kf-horloge h2,.kf-horloge h3{color:var(--kh-ink);font-family:'Baloo 2',cursive;line-height:1.2}
.kf-horloge button,.kf-horloge select{font:inherit}
.kf-horloge button{cursor:pointer;min-height:44px}
/* Visible, high-contrast keyboard focus across the global KidoFiches theme. */
.kf-horloge :is(button,select,input,a,svg):focus-visible,
.kf-horloge :is(button,select,input,a,svg):focus{
  outline:4px solid var(--kh-coral)!important;
  outline-offset:4px!important;
  box-shadow:0 0 0 7px rgba(247,197,72,.65)!important;
}
.kf-horloge .kh-clock:focus-visible{border-radius:50%}
.kf-horloge .kh-bread{padding:18px 0;color:var(--kh-muted);font-size:.88rem}
.kf-horloge .kh-bread a{text-decoration:underline;text-underline-offset:2px}
.kf-horloge .kh-hero{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(210px,.6fr);gap:24px;align-items:center;margin:16px auto 25px;background:#fff;border:2px solid var(--kh-sky);border-radius:23px;padding:20px 28px;box-shadow:var(--shadow)}
.kf-horloge .kh-hero h1{font-size:clamp(2rem,3.8vw,3.1rem);margin:8px 0}
.kf-horloge .kh-hero p{font-size:1.05rem;max-width:58ch}
.kf-horloge .kh-hero img{width:100%;max-width:280px;max-height:190px;object-fit:contain;justify-self:center}
.kf-horloge .kh-chips{display:flex;gap:8px;flex-wrap:wrap;margin-top:14px}
.kf-horloge .kh-chip{display:inline-block;border-radius:99px;background:#f1f7fe;border:1px solid var(--kh-sky);font-size:.78rem;font-weight:800;padding:5px 10px;color:var(--kh-ink)}
.kf-horloge .kh-layout{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(295px,.9fr);gap:20px;align-items:start}
.kf-horloge .kh-card{background:#fff;border:2px solid var(--kh-sky);border-radius:22px;box-shadow:var(--shadow);padding:18px;margin:0}
.kf-horloge .kh-card h2{font-size:1.36rem;margin-bottom:5px}
.kf-horloge .kh-help{color:var(--kh-muted);font-size:.88rem}
.kf-horloge .kh-clock-holder{max-width:450px;margin:10px auto}
.kf-horloge .kh-clock{width:100%;height:auto;display:block;user-select:none;touch-action:none;cursor:grab}
.kf-horloge .kh-clock.is-dragging{cursor:grabbing}
.kf-horloge .kh-hour-hand{fill:#E4572E;stroke:#BF3C1D;stroke-width:1.1}
.kf-horloge .kh-minute-hand{fill:#1E3A8A;stroke:#142A65;stroke-width:.8}
.kf-horloge .kh-hour-area,.kf-horloge .kh-minute-area{fill:none;stroke:transparent;stroke-width:34;pointer-events:stroke;cursor:grab}
.kf-horloge .kh-numeral{font:800 26px 'Nunito',sans-serif;fill:#1E3A8A;text-anchor:middle;dominant-baseline:middle}
.kf-horloge .kh-small-numeral{font:700 10px 'Nunito',sans-serif;fill:#567a90;text-anchor:middle;dominant-baseline:middle}
.kf-horloge .kh-digits{text-align:center;font-size:2.2rem;color:var(--kh-ink);font-weight:900;font-variant-numeric:tabular-nums;margin:0}
.kf-horloge .kh-phrase{text-align:center;min-height:27px;color:var(--kh-ink);font-weight:800}
.kf-horloge .kh-legend{display:flex;justify-content:center;gap:18px;flex-wrap:wrap;color:#4c6077;font-size:.83rem}
.kf-horloge .kh-legend span:before{content:'';display:inline-block;width:18px;height:6px;border-radius:3px;background:#E4572E;vertical-align:2px;margin-right:6px}
.kf-horloge .kh-legend span:last-child:before{background:#1E3A8A}
.kf-horloge .kh-tabs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;margin:12px 0}
.kf-horloge .kh-tabs button{border:2px solid var(--kh-sky);background:#fff;color:var(--kh-ink);border-radius:11px;padding:9px 4px;font-weight:800;font-size:.86rem}
.kf-horloge .kh-tabs button[aria-pressed=true]{background:var(--kh-ink);color:#fff;border-color:var(--kh-ink)}
.kf-horloge .kh-field{display:grid;gap:5px;margin:12px 0}
.kf-horloge .kh-field label{font-weight:800;color:var(--kh-ink)}
.kf-horloge .kh-field select{border:2px solid var(--kh-sky);border-radius:10px;padding:9px;background:#fff;width:100%;color:#263247}
.kf-horloge .kh-actions{display:flex;flex-wrap:wrap;gap:8px;margin:14px 0}
.kf-horloge .kh-btn{border:2px solid var(--kh-ink);border-radius:12px;padding:8px 13px;background:#fff;color:var(--kh-ink);font-weight:850}
.kf-horloge .kh-btn:hover{background:#edf5ff}
.kf-horloge .kh-btn-main{background:var(--kh-ink);color:#fff}
.kf-horloge .kh-btn-main:hover{background:#122c6b}
.kf-horloge .kh-btn-coral{background:var(--kh-coral);border-color:var(--kh-coral);color:white}
.kf-horloge .kh-btn-coral:hover{background:#ba4322}
.kf-horloge .kh-question{padding:12px 14px;background:#fff9df;border:1px solid #ead69b;border-radius:13px;margin:12px 0;font-weight:800}
.kf-horloge .kh-message{min-height:27px;color:#285e43;font-weight:800}
.kf-horloge .kh-answer{max-width:160px;border:2px solid var(--kh-sky);border-radius:10px;padding:11px;margin-right:8px;font-size:1.1rem;font-variant-numeric:tabular-nums}
.kf-horloge .kh-stepper{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;margin:10px 0}
.kf-horloge .kh-stepper button{border:1px solid #b4d4e8;border-radius:9px;background:#f6fbff;font-size:.85rem;color:var(--kh-ink);font-weight:900}
.kf-horloge .kh-note{font-size:.85rem;color:var(--kh-muted)}
.kf-horloge .kh-lessons{margin:24px 0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:13px}
.kf-horloge .kh-lesson{padding:16px;background:#fff;border:2px solid var(--kh-sky);border-radius:16px;text-align:left;min-width:0}
.kf-horloge .kh-lesson b{display:block;font:800 1.15rem 'Baloo 2',cursive;color:var(--kh-ink)}
.kf-horloge .kh-lesson small{display:block;line-height:1.4;color:var(--kh-muted)}
.kf-horloge .kh-lesson[aria-pressed=true]{border-color:var(--kh-coral);background:#fff5eb}
.kf-horloge .kh-generator{margin:28px 0;background:#fff;border:2px solid var(--kh-sky);border-radius:20px;padding:22px;scroll-margin-top:95px}
.kf-horloge .kh-generator h2{font-size:1.7rem;margin-bottom:5px}
.kf-horloge .kh-gen-fields{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:14px 0}
.kf-horloge .kh-gen-actions{display:flex;gap:10px;flex-wrap:wrap}
.kf-horloge .kh-preview{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:16px 0}
.kf-horloge .kh-preview article{border:1px solid var(--kh-sky);border-radius:12px;padding:8px;text-align:center}
.kf-horloge .kh-preview svg{width:100%;max-width:145px;display:block;margin:auto}
.kf-horloge .kh-preview p{font-size:.83rem;font-weight:800}
.kf-horloge .kh-discovery{padding:18px 20px;border:2px dashed var(--kh-sky);border-radius:16px;margin:26px 0 40px}
.kf-horloge .kh-discovery a{font-weight:900;text-decoration:underline;text-underline-offset:3px}
@media(max-width:850px){.kf-horloge .kh-layout{grid-template-columns:1fr}.kf-horloge .kh-hero{grid-template-columns:1fr auto}.kf-horloge .kh-lessons{grid-template-columns:repeat(2,1fr)}}
@media(max-width:600px){.kf-horloge .kh-hero{grid-template-columns:1fr;padding:17px}.kf-horloge .kh-hero img{max-height:130px}.kf-horloge .kh-card,.kf-horloge .kh-generator{padding:13px}.kf-horloge .kh-tabs button{font-size:.75rem}.kf-horloge .kh-gen-fields{grid-template-columns:1fr 1fr}.kf-horloge .kh-preview{grid-template-columns:repeat(2,1fr)}}
@media(max-width:390px){.kf-horloge .kh-gen-fields{grid-template-columns:1fr}.kf-horloge .kh-lessons{grid-template-columns:1fr 1fr}}
@media(prefers-reduced-motion:reduce){.kf-horloge *{transition:none!important;animation:none!important}}
