/* Codes de triche : tout préfixé par .o-codes-triche. Chiffres, séquences et codes restent en lecture de gauche à droite. */
.o-codes-triche { display: grid; gap: 16px; margin-block: 18px; }
.o-codes-triche .cc-tete { display: grid; gap: 10px; }
.o-codes-triche .cc-alerte { margin: 0; font-size: 1.12rem; font-weight: 800; }
.o-codes-triche .cc-argent { margin: 0; color: var(--gris); }
.o-codes-triche .cc-titre { margin: 0 0 8px; font-size: 1.5rem; }
.o-codes-triche .cc-sous { margin: 16px 0 4px; font-size: 1.15rem; }
.o-codes-triche .cc-libelle { display: block; font-weight: 750; color: var(--gris); font-size: .92rem; margin-block-end: 4px; }
.o-codes-triche .cc-etat { margin: 8px 0 0; color: var(--papier); font-weight: 650; }
.o-codes-triche .cc-aide { margin: 0 0 10px; color: var(--gris); }
.o-codes-triche .cc-nom { margin: 0 0 4px; font-family: var(--titre); font-weight: 900; font-size: 1.4rem; color: var(--papier); }
.o-codes-triche .cc-chrono { margin: 10px 0; font-family: var(--titre); font-weight: 800; font-size: 1.3rem; color: var(--peche); }
.o-codes-triche .cc-chrono span + span { color: var(--gris); font-size: 1rem; font-weight: 650; margin-inline-start: 10px; }

.o-codes-triche .cc-cache { position: absolute; inline-size: 1px; block-size: 1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }

/* Chiffres des séquences : une puce par bouton, en ordre, avec son état pendant l'entraînement */
.o-codes-triche .cc-seq { display: flex; flex-wrap: wrap; gap: 6px; margin-block: 8px; justify-content: flex-start; }
.o-codes-triche .cc-chip { position: relative; display: inline-flex; align-items: center; justify-content: center; min-inline-size: 44px; min-block-size: 44px; padding: 4px 6px; border: 2px solid var(--trait); border-radius: 10px; background: var(--bitume); color: var(--papier); }
.o-codes-triche .cc-chip[data-etat="courant"] { border-color: var(--orange); background: var(--orange-sombre); color: var(--peche); }
.o-codes-triche .cc-chip[data-etat="fait"] { opacity: .45; }
.o-codes-triche .cc-chip[data-etat="reste"] { opacity: .8; }
.o-codes-triche .cc-forme { inline-size: 22px; block-size: 22px; }
.o-codes-triche .cc-lettre { font-family: var(--titre); font-weight: 900; font-size: 1.05rem; line-height: 1; }

/* Pavé tactile : trois rangées de quatre boutons, cibles de 52 px */
.o-codes-triche .cc-pave { display: grid; gap: 8px; }
.o-codes-triche .cc-rangee { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 8px; }
.o-codes-triche .cc-touche { min-block-size: 52px; display: grid; place-items: center; border: 2px solid var(--trait); border-radius: 12px; background: var(--asphalte); color: var(--papier); cursor: pointer; }
.o-codes-triche .cc-touche:hover { border-color: var(--orange); }
.o-codes-triche .cc-touche:active { background: var(--orange-sombre); color: var(--peche); }

/* Réglages : la manette et la disposition des boutons */
.o-codes-triche .cc-reglages { display: grid; gap: 8px; }
.o-codes-triche .cc-choix { display: grid; gap: 4px; }

/* Fiche d'un code */
.o-codes-triche .cc-effet { margin: 0 0 10px; color: var(--papier); }
.o-codes-triche .cc-champ { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 12px; margin-block-end: 10px; }
.o-codes-triche .cc-champ .cc-libelle { margin: 0; flex: 1 1 100%; }
.o-codes-triche .cc-code { flex: 1 1 auto; font-family: var(--titre); font-weight: 900; font-size: 1.2rem; letter-spacing: .04em; color: var(--papier); direction: ltr; unicode-bidi: isolate; overflow-wrap: anywhere; }
.o-codes-triche .cc-bloc { margin-block-end: 8px; }
.o-codes-triche .cc-note { margin: 8px 0; color: var(--peche); font-size: .95rem; }
.o-codes-triche .cc-liste .us-ligne__corps .boutons { margin-block-start: 8px; }

/* Filtres */
.o-codes-triche .cc-filtres { display: grid; gap: 10px; }
.o-codes-triche .cc-filtres .onglets { margin: 0; }

/* Règles */
.o-codes-triche .cc-regles { margin: 8px 0 12px; padding-inline-start: 20px; display: grid; gap: 6px; }

/* Panneau d'entraînement, sur fond sombre */
.o-codes-triche .cc-entrainement { margin: 0; }
.o-codes-triche .cc-entrainement .cc-etat { color: var(--papier); }
.o-codes-triche .cc-entrainement .cc-aide { color: var(--gris); }
.o-codes-triche .cc-entrainement .cc-chip { border-color: var(--gravier); background: var(--asphalte); }

@media (min-width: 720px) {
  .o-codes-triche .cc-pave { max-inline-size: 520px; }
}
.o-codes-triche .cc-mot { flex: none; margin-inline-start: auto; font-family: var(--titre); font-weight: 800; font-size: 1.05rem; letter-spacing: .02em; color: var(--orange); }
.o-codes-triche .us-ligne__titre { min-inline-size: 0; }
