/* L'Étude — le temps immobile, les pupitres discrets, la parole rare. */
.et-head { display: flex; align-items: flex-start; justify-content: space-between; gap: var(--sp-4); }
.et-liaison, .et-badge {
  display: inline-flex; align-items: center; gap: 7px; min-height: 32px;
  border: 1px solid var(--hairline); border-radius: 999px; padding: 5px 10px;
  font-family: var(--sans); font-size: .78rem; color: var(--ink-soft); background: var(--card);
}
.et-liaison-forme, .et-pupitre-forme {
  width: 10px; height: 10px; border: 2px solid currentColor; border-radius: 50%; flex: 0 0 auto;
}
.et-liaison[data-etat='connecte'] .et-liaison-forme,
.et-liaison[data-etat='pret'] .et-liaison-forme,
.et-liaison[data-etat='horloge'] .et-liaison-forme { background: var(--ok-text); border-radius: 2px; color: var(--ok-text); }
.et-liaison[data-etat='perdue'] .et-liaison-forme,
.et-liaison[data-etat='erreur'] .et-liaison-forme { border-style: dashed; color: var(--danger); }
.et-badge {
  text-decoration: none; color: var(--ink); font-variant-numeric: tabular-nums;
  background: color-mix(in srgb, var(--c-e) 12%, var(--card));
}
.et-badge:hover { border-color: var(--c-e); }
.et-badge[hidden] { display: none; }
.et-badge[data-phase='bloc'] { font-weight: 650; }

.et-seuil { max-width: 1080px; margin-inline: auto; container: et-seuil / inline-size; }
.et-seuil-grid { display: grid; grid-template-columns: minmax(0, 1.35fr) minmax(0, 1fr) minmax(0, .85fr); gap: var(--sp-4); }
.et-geste { position: relative; min-width: 0; padding: var(--sp-5); overflow: hidden; border: 1px solid var(--hairline); border-radius: var(--r-l); background: var(--paper-2); }
.et-geste-principal { background: color-mix(in srgb, var(--c-e) 5%, var(--card)); border-color: color-mix(in srgb, var(--c-e) 35%, var(--hairline)); }
.et-geste h2 { margin: 0 0 var(--sp-2); font-size: 1.12rem; }
.et-geste-n {
  display: grid; place-items: center; width: 25px; height: 25px; margin-bottom: var(--sp-3);
  border: 1px solid var(--gold); border-radius: 50%; color: var(--gold);
  font-family: var(--sans); font-weight: 700; font-size: .78rem;
}
.et-geste .field { margin-top: var(--sp-3); }
.et-geste .field, .et-geste .input, .et-protocole-config, .et-composition-prep { min-width: 0; width: 100%; }
.et-geste p, .et-geste li, .et-geste dd { overflow-wrap: anywhere; }
.et-cadence { display: grid; grid-template-columns: repeat(3, 1fr); gap: var(--sp-2); }
.et-cadence .field-l { font-size: .72rem; }
.et-cta { width: 100%; min-height: 46px; margin-top: var(--sp-4); justify-content: center; }
.et-geste .btn-ghost { width: 100%; margin-top: var(--sp-2); }
.et-code-input { resize: vertical; min-height: 72px; margin-block: var(--sp-3); }
.et-geste > .et-code-input { display: block; width: 100%; box-sizing: border-box; }
.et-geste > .et-code-input + .btn { width: 100%; justify-content: center; }
.et-composition-prep { display: grid; gap: var(--sp-3); margin-top: var(--sp-3); }
.et-composition-prep .field { margin-top: 0; }
.et-modalite-etat { margin: 0; }
.et-modalite-etat p { margin: 5px 0 0; }
.et-modalite-etat ul { margin: 7px 0 0; padding-left: 20px; }
.et-modalite-etat.is-ok { border-left-color: var(--ok-text); }
.et-modalite-etat.is-bloque { border-left-color: var(--danger); }
.et-sujet-source { display: grid; gap: var(--sp-2); }
.et-sujet-apercu { margin: 0; }
.et-sujet-apercu p { margin: 5px 0 0; }
.et-sujet-enonce { resize: vertical; }
.et-scelle-note { margin: 0; font-size: .8rem; }
.et-consent { display: grid; grid-template-columns: 22px 1fr; gap: var(--sp-2); align-items: start; margin-top: var(--sp-4); cursor: pointer; }
.et-consent input, .et-check input { width: 20px; height: 20px; accent-color: var(--c-e); }
.et-consent span { display: flex; flex-direction: column; gap: 2px; }
.et-consent small { color: var(--ink-soft); line-height: 1.35; }
.et-tech, .et-confidentialite, .et-charte { margin-top: var(--sp-5); border-top: 1px solid var(--hairline); padding-top: var(--sp-3); }
.et-tech summary, .et-confidentialite summary, .et-charte summary { min-height: 44px; display: flex; align-items: center; gap: 8px; cursor: pointer; font-weight: 650; }
.et-confidentialite summary svg { width: 18px; height: 18px; color: var(--gold); }
.et-conf-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: var(--sp-3); }
.et-conf-grid > div { padding: var(--sp-4); border: 1px solid var(--hairline); border-radius: var(--r-m); background: var(--paper-2); }
.et-conf-grid h3 { margin: 0 0 var(--sp-2); font-size: .88rem; }
.et-conf-grid p { margin: 0; color: var(--ink-soft); font-size: .85rem; }
.et-invite-h { display: flex; align-items: flex-start; gap: var(--sp-3); }
.et-invite-h > svg { width: 34px; height: 34px; color: var(--gold); }
.et-invite-h h2 { margin: 0; }
.et-convocations { display: grid; gap: var(--sp-2); margin-top: var(--sp-3); }
.et-convocation { display: grid; gap: 8px; padding: var(--sp-3); border: 1px solid var(--hairline); border-radius: var(--r-m); background: var(--card); }
.et-convocation > div:first-child { display: flex; flex-direction: column; gap: 2px; }
.et-convocation time { color: var(--ink-soft); font-size: .78rem; }
.et-convocation-actions { display: flex; flex-wrap: wrap; gap: 6px; }
.et-convocation-actions .btn { width: auto; margin: 0; }
.et-prendre-date { margin-top: var(--sp-3); }
.et-prendre-date summary { min-height: 44px; display: flex; align-items: center; cursor: pointer; font-weight: 700; }

.et-support-picker {
  min-width: 0; margin-top: var(--sp-4); padding: var(--sp-4);
  border: 1px solid var(--hairline); border-radius: var(--r-m); background: var(--card);
  text-align: left;
}
.et-support-preparation { border-left: 3px solid var(--c-e); }
.et-support-picker-h { display: flex; justify-content: space-between; gap: var(--sp-3); }
.et-support-picker h3 { margin: 0 0 4px; font-size: 1rem; }
.et-support-controls {
  display: grid; grid-template-columns: minmax(150px, .7fr) minmax(210px, 1.3fr) auto;
  gap: var(--sp-2); align-items: end; margin-top: var(--sp-3);
}
.et-support-controls .field { min-width: 0; margin: 0; }
.et-support-controls .input { width: 100%; min-width: 0; }
.et-support-selection { display: grid; gap: 6px; margin: var(--sp-3) 0 0; padding: 0; list-style: none; }
.et-support-selection li {
  display: flex; align-items: center; justify-content: space-between; gap: var(--sp-3);
  padding: var(--sp-2) var(--sp-3); border: 1px solid var(--hairline);
  border-radius: var(--r-s); background: var(--paper-2);
}
.et-support-selection li > div { min-width: 0; display: flex; flex-direction: column; }
.et-support-selection b, .et-support-selection span { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.et-support-vide, .et-support-confidentialite { margin-top: var(--sp-3); }

.et-salle { max-width: 900px; margin-inline: auto; }
.et-phase-label { font-family: var(--sans); font-size: .72rem; font-weight: 750; letter-spacing: .09em; text-transform: uppercase; color: var(--c-e); }
.et-actions-salle {
  display: flex; align-items: center; justify-content: space-between; gap: var(--sp-4);
  margin-bottom: var(--sp-4); padding: var(--sp-3) var(--sp-4);
  border-left: 3px solid var(--c-e);
}
.et-actions-salle > div:first-child { min-width: 0; }
.et-actions-salle p { margin-top: 3px; }
.et-actions-salle-boutons { display: flex; flex: 0 0 auto; flex-wrap: wrap; justify-content: flex-end; gap: var(--sp-2); }
.et-actions-salle-boutons .btn { min-height: 44px; }
.et-fermer-salle { color: var(--danger-text); border-color: var(--danger-line); }
.et-fermer-salle:hover { color: var(--danger-text); border-color: var(--danger); background: var(--danger-tint); }
.et-vestibule h2, .et-cloture h2 { margin-top: var(--sp-2); }
.et-invitation { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: var(--sp-3); align-items: end; margin: var(--sp-5) 0; padding: var(--sp-4); background: var(--paper-2); border: 1px solid var(--hairline); border-radius: var(--r-m); }
.et-invite-lien { max-height: 66px; margin: 5px 0 0; overflow: auto; overflow-wrap: anywhere; font-family: var(--mono); font-size: .78rem; }
.et-invite-actions { display: flex; flex-wrap: wrap; gap: var(--sp-2); }
.et-top { width: 100%; min-height: 50px; justify-content: center; margin-top: var(--sp-5); }
.et-pli-scelle { margin-top: var(--sp-5); padding: var(--sp-4); border: 1px solid var(--hairline); border-radius: var(--r-m); background: var(--paper-2); }
.et-pli-scelle-h { display: flex; align-items: center; gap: var(--sp-3); }
.et-pli-scelle-h svg { width: 26px; height: 26px; color: var(--gold); }
.et-pli-scelle-h > div { display: flex; flex-direction: column; }
.et-pli-scelle .et-resume { margin-bottom: 0; }

.et-pupitres { list-style: none; padding: 0; margin: var(--sp-5) 0; display: grid; grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)); gap: var(--sp-2); }
.et-pupitre { display: grid; grid-template-columns: auto 1fr auto; align-items: start; gap: var(--sp-2); padding: var(--sp-3); border: 1px solid var(--hairline); border-radius: var(--r-m); background: var(--paper-2); }
.et-pupitre-forme { margin-top: 4px; color: var(--c-e); }
.et-pupitre[data-etat='eloigne'] .et-pupitre-forme { border-radius: 0; transform: rotate(45deg); color: var(--ink-soft); }
.et-pupitre[data-etat='liaison-perdue'] .et-pupitre-forme { border-style: dashed; color: var(--danger); }
.et-pupitre-nom { display: flex; flex-wrap: wrap; align-items: center; gap: 5px; }
.et-pupitre-etat { color: var(--ink-soft); font-family: var(--sans); font-size: .72rem; }
.et-pupitre p { grid-column: 1 / -1; margin: 6px 0 0; font-family: var(--serif); }
.et-pupitres.is-discret .et-pupitre { padding: 8px 10px; background: transparent; }
.et-signal { align-self: center; padding: 3px 6px; border: 1px solid var(--gold); border-radius: 999px; font-size: .7rem; }

.et-bloc { min-height: min(680px, calc(100dvh - 140px)); display: flex; flex-direction: column; align-items: center; justify-content: center; text-align: center; }
.et-chrono-wrap { text-align: center; margin: clamp(24px, 7vh, 72px) 0 var(--sp-5); }
.et-chrono { font-family: var(--mono); font-size: clamp(4rem, 13vw, 8rem); font-weight: 450; line-height: .92; font-variant-numeric: tabular-nums; letter-spacing: -.055em; color: var(--ink); }
.et-chrono-phase { display: block; margin-top: var(--sp-3); color: var(--ink-soft); font-family: var(--sans); text-transform: uppercase; letter-spacing: .08em; font-size: .72rem; }
.et-silence { max-width: 540px; font-family: var(--serif); font-size: 1.04rem; color: var(--ink-soft); }
.et-bloc .et-pupitres { width: 100%; max-width: 680px; }
.et-marge { width: min(100%, 620px); text-align: left; padding-top: var(--sp-4); border-top: 1px solid var(--hairline); }
.et-marge textarea { resize: vertical; }
.et-check { display: inline-flex; align-items: center; gap: 8px; min-height: 44px; cursor: pointer; }
.et-marge .btn { float: right; }
.et-signaux { display: flex; justify-content: center; flex-wrap: wrap; gap: var(--sp-2); margin-top: var(--sp-5); }
.et-navigation { margin-top: var(--sp-5); }

.et-composition { min-height: min(760px, calc(100dvh - 120px)); }
.et-composition > .et-chrono-wrap { margin: var(--sp-5) 0; text-align: center; }
.et-composition > .et-chrono-wrap .et-chrono { font-size: clamp(3.6rem, 11vw, 7rem); }
.et-sujet-ouvert { margin-block: var(--sp-4); overflow: hidden; border: 1px solid var(--hairline); border-radius: var(--r-m); background: var(--paper-2); }
.et-sujet-ouvert-h { display: flex; justify-content: space-between; align-items: flex-start; gap: var(--sp-3); padding: var(--sp-4); border-bottom: 1px solid var(--hairline); }
.et-sujet-ouvert h2 { margin: 4px 0 0; font-size: 1.2rem; }
.et-sujet-texte { max-height: 300px; margin: 0; padding: var(--sp-4); overflow: auto; white-space: pre-wrap; overflow-wrap: anywhere; font: inherit; }
.et-composition > .field { margin-top: var(--sp-4); }
.et-copie-texte { resize: vertical; min-height: 260px; line-height: 1.6; }
.et-remettre { width: 100%; min-height: 50px; justify-content: center; margin-top: var(--sp-4); }
.et-remise-statut { margin-top: var(--sp-4); }
.et-remise-statut.is-ok, .et-archive-ok { border-left-color: var(--ok-text); }
.et-remise-statut.is-tardive { border-left-color: var(--danger); }
.et-photo { display: grid; gap: var(--sp-2); margin-top: var(--sp-4); padding: var(--sp-4); border: 1px solid var(--hairline); border-radius: var(--r-m); }
.et-photo-input { min-height: 44px; }
.et-photo-apercu { display: grid; gap: var(--sp-2); }
.et-photo-apercu img { width: min(100%, 520px); max-height: 420px; object-fit: contain; border: 1px solid var(--hairline); border-radius: var(--r-s); background: var(--paper); }
.et-abandon { margin: 0; }
.et-fin-composition { margin-block: var(--sp-4); padding: var(--sp-4); border: 1px solid var(--hairline); border-radius: var(--r-m); background: var(--paper-2); }
.et-fin-composition h3 { margin-top: 0; }
.et-fin-composition > .btn { margin-top: var(--sp-3); }
.et-remises-salle { margin-top: var(--sp-4); }

.et-protocole-config { display: grid; gap: var(--sp-3); margin-top: var(--sp-3); }
.et-protocole-config .field, .et-protocole-config .callout { margin: 0; }
.et-sprint-prep .et-cadence { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.et-comparaison-sprint > .et-chrono-wrap { margin: var(--sp-4) 0; }
.et-comparaison-sprint .et-chrono { font-size: clamp(3.2rem, 9vw, 5.5rem); }
.et-rendus-comparaison {
  display: grid; grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--sp-3); margin-block: var(--sp-4);
}
.et-rendu {
  min-width: 0; overflow: hidden; border: 1px solid var(--hairline);
  border-radius: var(--r-m); background: var(--paper-2);
}
.et-rendu-h { display: flex; justify-content: space-between; gap: var(--sp-2); padding: var(--sp-3); border-bottom: 1px solid var(--hairline); }
.et-rendu pre, .et-corrige-sprint pre, .et-copie-pair pre {
  max-height: 420px; margin: 0; padding: var(--sp-4); overflow: auto;
  white-space: pre-wrap; overflow-wrap: anywhere; font: inherit; line-height: 1.55;
}
.et-rendu img, .et-copie-pair img { display: block; width: 100%; max-height: 520px; object-fit: contain; background: var(--paper); }
.et-tardif { border-color: var(--danger); color: var(--danger); }
.et-corrige-sprint { margin-block: var(--sp-4); border: 1px solid var(--hairline); border-radius: var(--r-m); overflow: hidden; }
.et-corrige-sprint summary { display: flex; align-items: center; min-height: 46px; padding: 0 var(--sp-4); cursor: pointer; font-weight: 700; }
.et-corrige-sprint h3 { margin: 0; padding: var(--sp-3) var(--sp-4) 0; }

.et-colle > .et-chrono-wrap, .et-correction-croisee > .et-chrono-wrap { margin: var(--sp-4) 0; }
.et-colle .et-chrono, .et-correction-croisee .et-chrono { font-size: clamp(3.2rem, 9vw, 5.5rem); }
.et-colle-roles, .et-correction-affectation {
  display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--sp-2);
  margin-block: var(--sp-4); padding: var(--sp-3); border: 1px solid var(--hairline);
  border-radius: var(--r-m); background: var(--paper-2);
}
.et-colle-roles span { display: flex; flex-direction: column; gap: 3px; }
.et-question-courante, .et-colle-question-form, .et-colle-tour-fini, .et-colle-plis {
  margin-top: var(--sp-4); padding: var(--sp-4); border: 1px solid var(--hairline);
  border-radius: var(--r-m); background: var(--paper-2);
}
.et-question-courante h2 { margin: var(--sp-2) 0 var(--sp-4); font-size: 1.35rem; }
.et-question-courante blockquote {
  margin: var(--sp-3) 0; padding: var(--sp-4); border-left: 3px solid var(--c-e);
  background: var(--card); white-space: pre-wrap;
}
.et-reponse-attendue { margin-block: var(--sp-3); }
.et-reponse-attendue summary { min-height: 44px; display: flex; align-items: center; cursor: pointer; font-weight: 650; }
.et-appreciations, .et-colle-actions, .et-avis-actions { display: flex; flex-wrap: wrap; gap: var(--sp-2); margin-top: var(--sp-3); }
.et-colle-question-form { display: grid; gap: var(--sp-3); }
.et-colle-question-form .field { margin: 0; }
.et-colle-pli, .et-table-pli {
  display: flex; align-items: center; justify-content: space-between; gap: var(--sp-3);
  padding: var(--sp-3); border-top: 1px solid var(--hairline);
}
.et-colle-pli:first-of-type { margin-top: var(--sp-2); }
.et-colle-pli p, .et-table-pli p { margin: 3px 0 0; }

.et-correction-affectation p { margin: 0; }
.et-correction-remise, .et-grille-pair, .et-avis-pairs {
  margin-top: var(--sp-4); padding: var(--sp-4); border: 1px solid var(--hairline);
  border-radius: var(--r-m); background: var(--paper-2);
}
.et-correction-remise h2, .et-grille-pair h2, .et-avis-pairs h2 { margin-top: 0; font-size: 1.1rem; }
.et-copie-pair { margin-block: var(--sp-3); overflow: hidden; border: 1px solid var(--hairline); border-radius: var(--r-m); background: var(--card); }
.et-copie-pair h3 { margin: 0; padding: var(--sp-3) var(--sp-4); border-bottom: 1px solid var(--hairline); }
.et-grille-criteres { display: grid; gap: 6px; margin-block: var(--sp-3); }
.et-critere-pair {
  display: grid; grid-template-columns: 22px 1fr auto; align-items: center; gap: var(--sp-2);
  min-height: 44px; padding: 7px var(--sp-2); border: 1px solid var(--hairline);
  border-radius: var(--r-s); cursor: pointer; background: var(--card);
}
.et-critere-pair input { width: 20px; height: 20px; accent-color: var(--c-e); }
.et-critere-pair small { color: var(--ink-soft); font-size: .72rem; }
.et-grille-pair .field { margin-top: var(--sp-3); }
.et-grille-pair > .btn { margin-top: var(--sp-4); }
.et-avis-pair { margin-block: var(--sp-3); }
.et-avis-pair h3 { margin-top: 0; }
.et-avis-pair p { white-space: pre-wrap; }

.et-table-ouverte > .et-chrono-wrap { margin: var(--sp-4) 0; }
.et-table-ouverte .et-chrono { font-size: clamp(3.2rem, 9vw, 5.5rem); }
.et-table-sans-chrono { margin: var(--sp-4) 0; padding: var(--sp-4); border: 1px solid var(--hairline); border-radius: var(--r-m); text-align: center; font-family: var(--serif); }
.et-table-plis { margin-top: var(--sp-5); padding-top: var(--sp-4); border-top: 1px solid var(--hairline); }
.et-table-remise { display: grid; grid-template-columns: minmax(150px, .6fr) minmax(220px, 1.4fr) auto; gap: var(--sp-2); align-items: end; }
.et-table-remise .field { margin: 0; }
.et-table-recus { margin-top: var(--sp-4); border: 1px solid var(--hairline); border-radius: var(--r-m); overflow: hidden; }
.et-table-recus h3 { margin: 0; padding: var(--sp-3); background: var(--paper-2); }
.et-clore-table { margin-top: var(--sp-5); }
.et-debrief-final { margin-block: var(--sp-4); padding-block: var(--sp-3); border-block: 1px solid var(--hairline); }
.et-debrief-final h3 { margin-top: 0; }
.et-colle .btn, .et-correction-croisee .btn, .et-table-ouverte .btn,
.et-comparaison-sprint .btn { min-height: 44px; }

.et-pause .et-chrono { font-size: clamp(3.4rem, 10vw, 6rem); }
.et-pause .et-chrono-wrap { margin: var(--sp-5) 0; }
.et-fil { list-style: none; padding: 0; margin: var(--sp-5) 0 var(--sp-3); max-height: 360px; overflow: auto; border-block: 1px solid var(--hairline); }
.et-message { padding: var(--sp-3) 2px; border-bottom: 1px solid var(--hairline); }
.et-message:last-child { border-bottom: none; }
.et-message-h { display: flex; align-items: center; gap: 8px; font-family: var(--sans); font-size: .78rem; }
.et-message-h > span { color: var(--ink-soft); }
.et-message p { margin: 5px 0 0; white-space: pre-wrap; overflow-wrap: anywhere; }
.et-fil-vide { padding: var(--sp-5); text-align: center; color: var(--ink-soft); font-family: var(--serif); }
.et-fil-form { display: grid; grid-template-columns: 1fr auto; gap: var(--sp-2); align-items: end; }
.et-fil-form textarea { resize: vertical; }

.et-pv-h { display: flex; align-items: center; gap: var(--sp-4); }
.et-celebration { width: 54px; height: 54px; flex: 0 0 auto; }
.et-pv-h h2 { margin: 2px 0 0; }
.et-resume { display: grid; grid-template-columns: minmax(120px, auto) 1fr; gap: var(--sp-2) var(--sp-4); margin: var(--sp-5) 0; }
.et-resume dt { color: var(--ink-soft); font-family: var(--sans); font-size: .78rem; }
.et-resume dd { margin: 0; white-space: pre-wrap; }
.et-pv .btn-primary { margin-top: var(--sp-3); }
.et-cloture > .btn-primary { margin-top: var(--sp-3); }
.et-quitter-sans-pv { margin-top: var(--sp-2); }
.et-interruption { border-left-color: var(--danger-line); }

.et-mesure, .et-pvs { margin-top: var(--sp-6); padding-top: var(--sp-5); border-top: 1px solid var(--hairline); }
.et-mesure h2, .et-pvs h2 { font-size: 1.08rem; }
.et-pv-liste { display: grid; gap: var(--sp-2); }
.et-pv-mini { display: grid; grid-template-columns: minmax(0, 1fr) auto auto; align-items: center; gap: var(--sp-3); padding: var(--sp-3); border: 1px solid var(--hairline); border-radius: var(--r-m); }
.et-pv-mini > div { display: flex; flex-direction: column; gap: 2px; }
.et-pv-mini time, .et-pv-mini > span { color: var(--ink-soft); font-size: .78rem; }
.et-pv-mini .et-pv-actions { flex-direction: row; flex-wrap: wrap; justify-content: flex-end; gap: 6px; }
.et-pv-supprimer:hover { color: var(--danger-text); border-color: var(--danger-line); }

.et-supports-salle {
  width: 100%; min-width: 0; margin-top: var(--sp-5); padding-top: var(--sp-4);
  border-top: 1px solid var(--hairline); text-align: left;
}
.et-supports-salle.is-compact { width: min(100%, 760px); }
.et-supports-h {
  display: flex; align-items: flex-start; justify-content: space-between;
  gap: var(--sp-3); margin-bottom: var(--sp-3);
}
.et-supports-h h2 { margin: 3px 0 0; font-size: 1.1rem; }
.et-supports-liste { display: grid; gap: var(--sp-2); }
.et-support {
  min-width: 0; overflow: hidden; border: 1px solid var(--hairline);
  border-radius: var(--r-m); background: var(--paper-2);
}
.et-support-details > summary {
  display: flex; align-items: center; min-height: 48px; padding: var(--sp-2) var(--sp-3);
  cursor: pointer;
}
.et-support-details > summary > span { min-width: 0; display: flex; flex-direction: column; }
.et-support-details > summary b, .et-support-details > summary small {
  overflow: hidden; text-overflow: ellipsis; white-space: nowrap;
}
.et-support-details > summary small { color: var(--ink-soft); font-family: var(--sans); }
.et-support-texte {
  max-height: 460px; margin: 0; padding: var(--sp-4); overflow: auto;
  border-top: 1px solid var(--hairline); white-space: pre-wrap; overflow-wrap: anywhere;
  font: inherit; line-height: 1.55; background: var(--card);
}
.et-support-cartes {
  max-height: 460px; margin: 0; padding: var(--sp-3) var(--sp-5);
  overflow: auto; border-top: 1px solid var(--hairline);
}
.et-support-cartes li { padding-block: var(--sp-2); }
.et-support-cartes p { margin: 4px 0 0; white-space: pre-wrap; }
.et-support-actions { display: flex; flex-wrap: wrap; gap: var(--sp-2); padding: var(--sp-3); border-top: 1px solid var(--hairline); }
.et-support-audio { display: block; width: calc(100% - 2 * var(--sp-3)); margin: var(--sp-3); }
.et-support-ajout { margin-top: var(--sp-3); }
.et-support-ajout > summary { min-height: 44px; display: flex; align-items: center; cursor: pointer; font-weight: 650; }

.et-correction-controle-h {
  display: flex; align-items: flex-start; justify-content: space-between;
  gap: var(--sp-4); margin: var(--sp-2) 0 var(--sp-4);
}
.et-correction-controle-h h2 { margin: 0 0 5px; }
.et-correction-ia, .et-correction-salon {
  margin-top: var(--sp-5); padding: var(--sp-4); border: 1px solid var(--hairline);
  border-radius: var(--r-m); background: var(--paper-2);
}
.et-correction-ia {
  display: flex; align-items: center; justify-content: space-between; gap: var(--sp-4);
}
.et-correction-ia h3, .et-correction-salon h3 { margin-top: 0; }
.et-correction-ia p { max-width: 64ch; }
.et-clore-correction { width: 100%; min-height: 48px; justify-content: center; margin-top: var(--sp-5); }

.et-presence { margin-top: var(--sp-4); overflow: hidden; }
.et-presence-head {
  display: flex; align-items: flex-start; justify-content: space-between;
  gap: var(--sp-4); margin-bottom: var(--sp-4);
}
.et-presence-head h2 { margin: 3px 0 4px; font-size: clamp(1.25rem, 3vw, 1.65rem); }
.et-media-route {
  flex: 0 0 auto; padding: 5px 10px; border: 1px solid var(--hairline);
  border-radius: 999px; background: var(--paper-2); color: var(--ink-soft);
  font-family: var(--sans); font-size: .72rem; font-weight: 750;
}
.et-media-route[data-etat="turn"] { border-color: var(--ok-line); background: var(--ok-bg); color: var(--ok-text); }
.et-media-route[data-etat="stun"] { border-color: var(--react-line); background: var(--react-bg); color: var(--react-text); }
.et-media-controls { display: flex; align-items: center; flex-wrap: wrap; gap: var(--sp-2); }
.et-media-controls .btn { min-height: 44px; }
.et-micro-discipline { margin-top: var(--sp-3); }
.et-media-alerte { margin-block: var(--sp-3); }
.et-media-grid {
  display: grid; grid-template-columns: repeat(auto-fit, minmax(min(190px, 100%), 1fr));
  gap: var(--sp-3); margin-top: var(--sp-4);
}
.et-media-tile {
  position: relative; min-width: 0; min-height: 150px; aspect-ratio: 16 / 10;
  overflow: hidden; border: 1px solid var(--hairline); border-radius: var(--r-m);
  background: color-mix(in srgb, var(--a-surface) 92%, #000);
  color: var(--a-on);
}
.et-media-tile[data-connexion="failed"], .et-media-tile[data-connexion="disconnected"] {
  border-color: var(--danger-line);
}
.et-media-video { width: 100%; height: 100%; object-fit: cover; background: #111; }
.et-media-avatar {
  display: grid; width: 100%; height: 100%; place-items: center;
  font: 700 clamp(2.4rem, 9vw, 4.5rem) var(--serif);
  color: color-mix(in srgb, var(--a-on) 92%, var(--gold));
}
.et-media-caption {
  position: absolute; inset: auto 0 0; display: grid; gap: 2px;
  padding: 22px var(--sp-3) var(--sp-3);
  background: linear-gradient(transparent, rgb(8 18 34 / 90%));
  color: #fff; font-family: var(--sans);
}
.et-media-caption b { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.et-media-caption span { font-size: .68rem; color: rgb(255 255 255 / 84%); }
.et-media-audio {
  position: absolute; width: 1px; height: 1px; opacity: .01;
  pointer-events: none;
}
.et-media-attente { align-self: center; padding: var(--sp-4); }

@container et-seuil (max-width: 940px) {
  .et-seuil-grid { grid-template-columns: minmax(0, 1.2fr) minmax(260px, .8fr); }
  .et-seuil-grid > .et-geste:last-child { grid-column: 1 / -1; }
}
@container et-seuil (max-width: 680px) {
  .et-seuil-grid { grid-template-columns: 1fr; }
  .et-seuil-grid > .et-geste:last-child { grid-column: auto; }
}
@media (max-width: 900px) {
  .et-conf-grid { grid-template-columns: 1fr; }
}
@media (max-width: 620px) {
  .et-head { flex-direction: column; }
  .et-actions-salle { align-items: stretch; flex-direction: column; }
  .et-actions-salle-boutons { display: grid; grid-template-columns: 1fr; }
  .et-actions-salle-boutons .btn { width: 100%; justify-content: center; }
  .et-cadence { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .et-invitation { grid-template-columns: 1fr; }
  .et-invite-actions { display: grid; grid-template-columns: 1fr 1fr; }
  .et-fil-form { grid-template-columns: 1fr; }
  .et-fil-form .btn { width: 100%; justify-content: center; }
  .et-chrono { font-size: clamp(3.6rem, 20vw, 5.5rem); }
  .et-sujet-ouvert-h { flex-direction: column; }
  .et-sujet-ouvert-h .btn { width: 100%; justify-content: center; }
  .et-copie-texte { min-height: 220px; }
  .et-convocation-actions { display: grid; grid-template-columns: 1fr; }
  .et-convocation-actions .btn { width: 100%; justify-content: center; }
  .et-rendus-comparaison, .et-colle-roles, .et-correction-affectation { grid-template-columns: 1fr; }
  .et-colle-pli, .et-table-pli { align-items: stretch; flex-direction: column; }
  .et-colle-pli .btn, .et-table-pli .btn { width: 100%; justify-content: center; }
  .et-table-remise { grid-template-columns: 1fr; }
  .et-table-remise .btn { width: 100%; justify-content: center; }
  .et-support-controls { grid-template-columns: 1fr; }
  .et-support-controls .btn { width: 100%; justify-content: center; }
  .et-support-selection li, .et-correction-ia, .et-correction-controle-h { align-items: stretch; flex-direction: column; }
  .et-pv-mini { grid-template-columns: 1fr; }
  .et-pv-mini .et-pv-actions { justify-content: stretch; }
  .et-pv-mini .et-pv-actions .btn { flex: 1 1 auto; justify-content: center; }
  .et-appreciations, .et-colle-actions, .et-avis-actions { display: grid; grid-template-columns: 1fr; }
  .et-appreciations .btn, .et-colle-actions .btn, .et-avis-actions .btn { width: 100%; justify-content: center; }
  .et-presence-head { flex-direction: column; }
  .et-media-controls { display: grid; grid-template-columns: 1fr; }
  .et-media-controls .btn { width: 100%; justify-content: center; }
}
@media print {
  .et-invitation, .et-signaux, .et-marge, .et-fil-form, .et-confidentialite, .et-presence, .et-actions-salle { display: none !important; }
  body.et-imprime-sujet > *:not(.et-print-sujet) { display: none !important; }
  .et-print-sujet { display: block !important; color: #111; background: #fff; font: 12pt Georgia, serif; }
  .et-print-sujet pre { white-space: pre-wrap; font: inherit; }
}
.et-print-sujet { display: none; }
