/* Édition 53 : nouveaux parcours, cartes dédiées et transitions de tour. */

#solo-warning53 {
  box-sizing: border-box;
  width: min(520px, calc(100vw - 28px));
  max-height: min(88dvh, 720px);
  padding: clamp(22px, 5vw, 34px);
  overflow: auto;
  border: 3px solid #111;
  border-radius: 12px;
  color: #111;
  background: #fff;
  box-shadow: 7px 7px 0 #111, 0 24px 64px rgba(0, 0, 0, .28);
  font-family: system-ui, -apple-system, "Segoe UI", sans-serif;
}
#solo-warning53::backdrop { background: rgba(17, 17, 17, .62); }
#solo-warning53 h2 {
  margin: 6px 0 16px;
  padding: 12px clamp(12px, 3vw, 18px);
  border: 3px solid #111;
  border-radius: 9px;
  color: #111;
  background: #ffd400;
  box-shadow: 4px 4px 0 #111;
  text-align: center;
  font-size: clamp(22px, 6vw, 30px);
  letter-spacing: -.02em;
  line-height: 1.12;
}
#solo-warning53 p:not(.mode-warning52-kicker) { font-size: 15px; line-height: 1.55; }
#solo-warning53 .mode-warning52-kicker { margin: 0; color: #5a4a00; font-size: 11px; font-weight: 900; letter-spacing: .12em; text-transform: uppercase; }
#solo-warning53 .mode-warning52-actions { display: grid; gap: 10px; margin-top: 20px; }
#solo-warning53 .mode-warning52-actions button { min-height: 48px; padding: 12px 16px; border: 3px solid #111; border-radius: 9px; color: #111; background: #ffd400; box-shadow: 4px 4px 0 #111; font: 850 15px/1.25 system-ui, sans-serif; }
#solo-warning53 .mode-warning52-actions button.secondary { background: #fff; }
#solo-warning53 button:focus-visible { outline: 3px solid #b47a26; outline-offset: 3px; }

#classic36-safe { max-width: 760px; margin: 20px auto; }
#classic36-safe-title { margin: 18px auto; text-align: center; font-size: clamp(26px, 6vw, 38px); line-height: 1.15; }
#classic36-safe .classic36-safety {
  box-sizing: border-box;
  max-width: 680px;
  margin: 16px auto;
  padding: clamp(20px, 5vw, 32px);
  border: 3px solid #111;
  border-radius: 12px;
  color: #111;
  background: #fff;
  box-shadow: 5px 5px 0 #111;
  text-align: left;
}
#classic36-safe .classic36-safety > strong { margin-bottom: 14px; font-size: clamp(16px, 4vw, 20px); letter-spacing: .04em; }
#classic36-safe .classic36-safety p { font-size: clamp(16px, 4vw, 20px); line-height: 1.55; }
#classic36-safe .classic36-safety .help { margin: 16px 0 22px; font-size: 15px; }

#classic36-countdown.tu-countdown:not([hidden]) {
  position: fixed;
  inset: 0;
  z-index: 11001;
  box-sizing: border-box;
  display: grid;
  place-content: center;
  justify-items: center;
  gap: clamp(14px, 4vh, 30px);
  width: auto;
  min-height: 100vh;
  min-height: 100dvh;
  margin: 0;
  padding: max(24px, env(safe-area-inset-top)) 20px max(24px, env(safe-area-inset-bottom));
  border: 0;
  border-radius: 0;
  color: var(--ux-ink, #111);
  background: var(--ux-paper, #fff8dc);
  box-shadow: none;
  text-align: center;
}
#classic36-countdown.tu-countdown[hidden] { display: none !important; }
#classic36-countdown .eyebrow { max-width: min(38rem, 88vw); margin: 0; text-align: center; }
#classic36-countdown .tu-countdown-number { margin: 0; }
#classic36-countdown h2 { margin: 0; font-size: clamp(26px, 6vw, 42px); line-height: 1.12; }
#classic36-countdown p:not(.eyebrow) { max-width: min(38rem, 88vw); margin: 0; line-height: 1.55; }

@media (max-width: 420px) {
  #solo-warning53 { width: calc(100vw - 24px); max-height: 90dvh; padding: 21px 17px; }
  #classic36-safe .classic36-safety { padding: 20px 17px; }
}
@media (prefers-reduced-motion: reduce) {
  #classic36-countdown .tu-countdown-number { animation: none; }
}

/* V53 · À mots couverts : isolement visuel et carte privée lisible.
   Le data-phase est un attribut de présentation ; aucune règle de jeu ne dépend de lui. */
#covered26[data-phase="prepare"] .amc26-scores,
#covered26[data-phase="prepared"] .amc26-scores,
#covered26[data-phase="explain"] .amc26-scores,
#covered26[data-phase="answer"] .amc26-scores { display:none; }
#covered26[data-phase="prepare"] .amc26-panel,
#covered26[data-phase="prepared"] .amc26-panel,
#covered26[data-phase="explain"] .amc26-panel,
#covered26[data-phase="answer"] .amc26-panel { max-width:680px; margin-right:auto; margin-left:auto; }
#covered26[data-phase="prepared"] .amc26-secret,
#covered26[data-phase="explain"] .amc26-secret {
  display:grid;
  justify-items:center;
  gap:.2rem;
  max-width:560px;
  margin:1.5rem auto;
  padding:clamp(1.5rem,4vw,2.4rem) clamp(1rem,5vw,2.5rem);
  border-width:3px;
  background:linear-gradient(145deg,var(--cream),var(--amc26-surface));
}
#covered26[data-phase="prepared"] .amc26-secret .amc26-word,
#covered26[data-phase="explain"] .amc26-secret .amc26-word {
  width:100%;
  margin:.5rem 0 1.25rem;
  padding:.25rem .5rem;
  font-size:clamp(2.2rem,9vw,4rem);
  line-height:1.08;
  text-wrap:balance;
}
#covered26[data-phase="prepared"] .amc26-forbidden,
#covered26[data-phase="explain"] .amc26-forbidden { width:100%; gap:.7rem; }
#covered26[data-phase="prepared"] .amc26-forbidden li,
#covered26[data-phase="explain"] .amc26-forbidden li { min-width:min(120px,42%); font-size:.9rem; }
#covered26[data-phase="prepare"] .amc26-safe-art,
#covered26[data-phase="explain"] .amc26-clock,
#covered26[data-phase="answer"] .amc26-clock { max-width:560px; margin-right:auto; margin-left:auto; }

/* V53 · Cercle Secret : grille stable, centrage et contraste sur petits écrans. */
#cercle-secret50-screen #cercle-secret50-root .cs50-shell {
  background:linear-gradient(145deg,#102a30 0%,#091c23 52%,#08161b 100%);
}
#cercle-secret50-screen #cercle-secret50-root .cs50-shell::before,
#cercle-secret50-screen #cercle-secret50-root .cs50-shell::after { opacity:.22; }
#cercle-secret50-screen #cercle-secret50-root .cs50-content,
#cercle-secret50-screen #cercle-secret50-root .cs50-portal { width:100%; }
#cercle-secret50-screen #cercle-secret50-root .cs50-panel { margin-right:auto; margin-left:auto; }
#cercle-secret50-screen #cercle-secret50-root .cs50-eyebrow,
#cercle-secret50-screen #cercle-secret50-root .cs50-phase,
#cercle-secret50-screen #cercle-secret50-root .cs50-stage-label { line-height:1.45; }
#cercle-secret50-screen #cercle-secret50-root .cs50-panel p,
#cercle-secret50-screen #cercle-secret50-root .cs50-pass > p:not(.cs50-help) { color:#c9d8ce; }
#cercle-secret50-screen #cercle-secret50-root .cs50-help,
#cercle-secret50-screen #cercle-secret50-root .cs50-settings-hint { color:#b4c8bc!important; }
#cercle-secret50-screen #cercle-secret50-root .cs50-actions { align-items:stretch; }
#cercle-secret50-screen #cercle-secret50-root .cs50-button { min-width:0; overflow-wrap:anywhere; }
#cercle-secret50-screen #cercle-secret50-root .cs50-rule-grid,
#cercle-secret50-screen #cercle-secret50-root .cs50-ratio-grid { align-items:stretch; }
#cercle-secret50-screen #cercle-secret50-root .cs50-rule-grid article,
#cercle-secret50-screen #cercle-secret50-root .cs50-ratio-grid > div,
#cercle-secret50-screen #cercle-secret50-root .cs50-ratio-grid > label { min-height:0; }
#cercle-secret50-screen #cercle-secret50-root .cs50-private-card,
#cercle-secret50-screen #cercle-secret50-root .cs50-operation-card,
#cercle-secret50-screen #cercle-secret50-root .cs50-discussion,
#cercle-secret50-screen #cercle-secret50-root .cs50-reveal { text-align:center; }
#cercle-secret50-screen #cercle-secret50-root .cs50-private-card > p:not(.cs50-eyebrow):not(.cs50-role):not(.cs50-help),
#cercle-secret50-screen #cercle-secret50-root .cs50-secret-text { text-wrap:pretty; }

@media (max-width:600px) {
  #cercle-secret50-screen #cercle-secret50-root .cs50-shell { padding:18px 14px 28px; }
  #cercle-secret50-screen #cercle-secret50-root .cs50-panel { padding:22px 16px; border-radius:15px; }
  #cercle-secret50-screen #cercle-secret50-root .cs50-topline { gap:8px; }
  #cercle-secret50-screen #cercle-secret50-root .cs50-kicker { max-width:16ch; text-align:right; }
  #cercle-secret50-screen #cercle-secret50-root .cs50-actions { gap:9px; margin-top:20px; }
  #cercle-secret50-screen #cercle-secret50-root .cs50-rule-grid,
  #cercle-secret50-screen #cercle-secret50-root .cs50-ratio-grid { gap:9px; }
  #cercle-secret50-screen #cercle-secret50-root .cs50-rule-grid article { padding:14px 13px; }
  #cercle-secret50-screen #cercle-secret50-root .cs50-private-card .cs50-card-sigil { margin-top:14px; }
}
@media (min-width:366px) and (max-width:600px) {
  #cercle-secret50-screen #cercle-secret50-root .cs50-panel { padding-right:20px; padding-left:20px; }
}
@media (max-width:365px) {
  #cercle-secret50-screen #cercle-secret50-root .cs50-shell { padding:13px 11px 24px; }
  #cercle-secret50-screen #cercle-secret50-root .cs50-panel { padding:18px 13px; }
  #cercle-secret50-screen #cercle-secret50-root .cs50-panel h1 { font-size:clamp(29px,9vw,40px); }
  #cercle-secret50-screen #cercle-secret50-root .cs50-lead { font-size:14px; line-height:1.62; }
  #cercle-secret50-screen #cercle-secret50-root .cs50-button { padding:12px 13px; font-size:13px; }
}
@media (prefers-reduced-motion:reduce) {
  #cercle-secret50-screen #cercle-secret50-root .cs50-shell::before,
  #cercle-secret50-screen #cercle-secret50-root .cs50-shell::after { animation:none; }
}
