/* Chrono d'examen — onglet « Minuteur » (styles limités à .mt / .mt-*) */
.mt { --mt-col: #e5484d; display: grid; gap: var(--ot-space); grid-template-columns: minmax(0, 1fr); }
@media (min-width: 960px) { .mt { grid-template-columns: minmax(0, 1fr) minmax(300px, 380px); align-items: start; } }
.mt-stage { align-items: center; text-align: center; gap: 6px; position: relative; overflow: hidden; }
.mt-step { min-height: 1.2em; font-size: .85rem; color: var(--ot-text-soft); font-weight: 600; letter-spacing: .04em; text-transform: uppercase; }
.mt-name { font-size: clamp(1.4rem, 4vw, 2.4rem); font-weight: 800; line-height: 1.15; min-height: 1.15em; color: var(--mt-col); overflow-wrap: anywhere; }
.mt-face { width: min(100%, 460px, 62vh); aspect-ratio: 1; display: block; margin: 4px auto; cursor: pointer; }
.mt-face .mt-rim { fill: var(--ot-surface); stroke: var(--ot-border); stroke-width: 1.5; }
.mt-face .mt-disc { fill: var(--ot-surface-2); }
.mt-face .mt-tick { stroke: var(--ot-text-soft); stroke-width: .7; }
.mt-face .mt-tick--big { stroke: var(--ot-text); stroke-width: 1.4; }
.mt-face .mt-lab { font-size: 8.5px; font-weight: 700; fill: var(--ot-text); text-anchor: middle; font-family: inherit; }
.mt-face .mt-hub { fill: var(--ot-text); }
.mt-face #mt-sector { transition: fill .4s; }
.mt-face.mt-pulse { animation: mt-pulse 1.2s ease-in-out 2; }
@keyframes mt-pulse { 50% { transform: scale(1.03); filter: brightness(1.15); } }
.mt-time { font-size: clamp(2.2rem, 8vw, 4.2rem); font-weight: 800; line-height: 1; font-variant-numeric: tabular-nums; letter-spacing: -.02em; min-height: 1em; }
.mt-next { min-height: 1.3em; color: var(--ot-text-soft); font-size: 1rem; }
.mt-bar { display: flex; gap: 3px; width: min(100%, 520px); margin: 6px auto 2px; }
.mt-bar span { height: 10px; border-radius: 5px; background: color-mix(in srgb, var(--c) 25%, transparent); overflow: hidden; min-width: 6px; }
.mt-bar i { display: block; height: 100%; background: var(--c); }
.mt-nodigits .mt-time, .mt-nodigits .mt-step { display: none; }
.mt-flash { position: absolute; inset: 0; pointer-events: none; background: var(--mt-col); opacity: 0; border-radius: inherit; }
.mt-flash.is-on { animation: mt-flash .7s ease-in-out var(--mt-n, 1); }
@keyframes mt-flash { 50% { opacity: .35; } }
@media (prefers-reduced-motion: reduce) { .mt-flash.is-on { animation-duration: 1.6s; } .mt-face.mt-pulse { animation: none; } }

.mt-side .ex-sec__body { gap: 10px; }
.mt-quick { display: flex; flex-wrap: wrap; gap: 6px; }
.mt-q { min-height: 38px; padding: 6px 12px; font-variant-numeric: tabular-nums; }
.mt-custom { display: flex; gap: 6px; }
.mt-custom .ot-input { flex: 1; min-width: 0; }
.mt-ph { display: grid; grid-template-columns: 12px minmax(0, 1fr) 70px; grid-template-areas: "dot name min" ". col btns"; gap: 6px; align-items: center;
  padding: 8px; border: 1px solid var(--ot-border); border-left: 5px solid var(--c); border-radius: var(--ot-radius-s); margin-bottom: 6px; }
.mt-ph__dot { grid-area: dot; width: 12px; height: 12px; border-radius: 50%; background: var(--c); }
.mt-ph__name { grid-area: name; } .mt-ph__min { grid-area: min; text-align: center; } .mt-ph__col { grid-area: col; } .mt-ph__btns { grid-area: btns; display: flex; gap: 4px; justify-content: flex-end; }
.mt-ph .ot-input, .mt-ph .ot-select { min-height: 34px; padding: 4px 8px; font-size: .9rem; width: 100%; }
.mt-ph .ot-btn--icon { width: 32px; height: 32px; min-height: 32px; padding: 0; }
.mt-ph .ot-btn--icon:disabled { opacity: .35; cursor: default; }
.mt-total { font-size: .85rem; color: var(--ot-text-soft); font-variant-numeric: tabular-nums; margin-left: auto; }
.mt-row { display: flex; flex-wrap: wrap; gap: 6px; align-items: center; }
.mt-saved__row { display: flex; gap: 4px; margin-bottom: 4px; }
.mt-saved__row .ex-btn-s { flex: 1; justify-content: flex-start; text-align: left; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.mt-warn { display: flex; align-items: center; gap: 6px; flex-wrap: wrap; font-size: .9rem; }
.mt-warn input[type="number"] { width: 64px; min-height: 32px; padding: 3px 6px; text-align: center; }

/* Plein écran : seul le cadran reste */
.ex.is-fs .mt { display: block; height: 100%; }
.ex.is-fs .mt-side, .ex.is-fs .mt .ex-hint { display: none; }
.ex.is-fs .mt-stage { min-height: 100%; justify-content: center; }
.ex.is-fs .mt-face { width: min(92vw, 60vh); }
.ex.is-fs .mt-name { font-size: clamp(1.8rem, 6vh, 4.5rem); }
.ex.is-fs .mt-time { font-size: clamp(2.5rem, 7vh, 6rem); }
.ex.is-fs .mt-next { font-size: clamp(1rem, 2.4vw, 1.8rem); }
