:root {
  --encre: #14213d; --papier: #f7f3ea; --surface: #ffffff; --texte: #1d2433; --doux: #5d6577;
  --or: #b8891a; --or-clair: #f3e3b5; --corail: #d9603f; --vert: #2f7d4f; --rouge: #b3362f;
  --bord: #e3dccd; --ombre: 0 1px 2px #14213d14, 0 4px 14px #14213d0d;
  --titre: "Iowan Old Style", "Palatino Linotype", Palatino, Georgia, serif;
  --corps: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
  color-scheme: light;
}
@media (prefers-color-scheme: dark) {
  :root:not([data-theme="light"]) {
    --encre: #e9edf7; --papier: #10172a; --surface: #182238; --texte: #e6e8ee; --doux: #a3abbd;
    --or: #e0b54a; --or-clair: #3a3220; --corail: #f08a6a; --vert: #5fc08a; --rouge: #f07a70;
    --bord: #263250; --ombre: none; color-scheme: dark;
  }
}
* { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; }
body { margin: 0; background: var(--papier); color: var(--texte); font: 16px/1.5 var(--corps); padding-bottom: calc(68px + env(safe-area-inset-bottom)); }
main:focus { outline: none; }
a { color: inherit; }
h1, h2 { font-family: var(--titre); color: var(--encre); line-height: 1.2; }
h2 { font-size: 1.15rem; margin: 0 0 .5rem; }
.page { max-width: 760px; margin: 0 auto; padding: 0 16px 24px; }
.centre { text-align: center; }
.discret { color: var(--doux); font-size: .9rem; }
.grand { font-size: 3rem; font-family: var(--titre); margin: .5rem 0; color: var(--encre); }
.vide { color: var(--doux); padding: 1rem 0; list-style: none; }
.cache { display: none; }
.erreur { color: var(--rouge); }

/* En-tête */
.entete { display: grid; grid-template-columns: 40px 1fr auto; align-items: center; gap: 8px; padding: calc(10px + env(safe-area-inset-top)) 0 10px; position: sticky; top: 0; background: var(--papier); z-index: 5; }
.entete h1 { font-size: 1.35rem; margin: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.retour { font-size: 2rem; text-decoration: none; color: var(--encre); line-height: 1; padding: 0 8px; }
.droite { justify-self: end; }
.lien-icone { text-decoration: none; font-size: 1.4rem; padding: 4px 8px; color: var(--encre); }
.minuteur, .compteur { font-variant-numeric: tabular-nums; font-weight: 600; background: var(--surface); border: 1px solid var(--bord); padding: 2px 10px; border-radius: 99px; }
.minuteur.urgent { color: #fff; background: var(--corail); border-color: var(--corail); }

/* Onglets */
.onglets { position: fixed; bottom: 0; left: 0; right: 0; display: grid; grid-template-columns: repeat(5, 1fr); background: var(--surface); border-top: 1px solid var(--bord); padding-bottom: env(safe-area-inset-bottom); z-index: 10; }
.onglets a { display: flex; flex-direction: column; align-items: center; gap: 2px; padding: 8px 0 6px; font-size: .68rem; text-decoration: none; color: var(--doux); }
.onglets a span { font-size: 1.25rem; line-height: 1; }
.onglets a.actif { color: var(--encre); font-weight: 600; }
.onglets a.actif span { color: var(--or); }

/* Boutons */
.bouton { display: inline-flex; flex-direction: column; align-items: center; justify-content: center; gap: 2px; min-height: 46px; padding: 10px 16px; border-radius: 12px; border: 1px solid var(--bord); background: var(--surface); color: var(--encre); font: inherit; font-weight: 600; text-decoration: none; cursor: pointer; text-align: center; }
.bouton small { font-weight: 400; color: var(--doux); font-size: .8rem; }
.bouton.principal { background: var(--encre); color: var(--papier); border-color: var(--encre); }
.bouton.principal small { color: inherit; opacity: .8; }
.bouton.large { display: flex; width: 100%; margin: 10px 0; }
.bouton.danger { color: var(--rouge); margin-top: 12px; }
.bouton.discret { background: none; border-color: transparent; color: var(--doux); }
.bouton.petit { min-height: 34px; padding: 4px 10px; font-size: .85rem; }
.bouton:disabled, .desactive { opacity: .45; pointer-events: none; }
.bouton:active { transform: scale(.98); }
.ligne-boutons { display: flex; gap: 10px; flex-wrap: wrap; margin: 10px 0; }
.ligne-boutons > * { flex: 1; }
:focus-visible { outline: 3px solid var(--or); outline-offset: 2px; }

/* Blocs */
.carte-bloc { background: var(--surface); border: 1px solid var(--bord); border-radius: 16px; padding: 16px; margin: 14px 0; box-shadow: var(--ombre); }
.grille-2 { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; margin: 10px 0; }
.tuile { background: var(--surface); border: 1px solid var(--bord); border-radius: 14px; padding: 12px; display: flex; flex-direction: column; text-decoration: none; box-shadow: var(--ombre); }
.tuile b { font-family: var(--titre); font-size: 1.7rem; color: var(--encre); line-height: 1.1; }
.tuile span { color: var(--doux); font-size: .85rem; }
.tuile.accent { border-color: var(--or); background: var(--or-clair); }
.alerte { display: block; border-left: 4px solid var(--corail); background: var(--surface); padding: 12px 14px; border-radius: 10px; margin: 10px 0; text-decoration: none; box-shadow: var(--ombre); }
.alerte span { display: block; color: var(--doux); font-size: .9rem; }
.alerte.discret { border-left-color: var(--or); }
.intertitre { margin-top: 1.4rem; font-size: 1rem; text-transform: uppercase; letter-spacing: .06em; color: var(--doux); font-family: var(--corps); }

/* Programme */
.programme { list-style: none; padding: 0; margin: 0; counter-reset: p; }
.programme li { border-top: 1px solid var(--bord); }
.programme li:first-child { border-top: none; }
.programme a { display: flex; flex-direction: column; padding: 10px 0 10px 36px; text-decoration: none; position: relative; }
.programme a::before { content: ""; position: absolute; left: 4px; top: 14px; width: 20px; height: 20px; border: 2px solid var(--bord); border-radius: 50%; }
.programme li.fait a::before { background: var(--vert); border-color: var(--vert); }
.programme li.fait a::after { content: "✓"; position: absolute; left: 9px; top: 12px; color: #fff; font-size: .8rem; font-weight: 700; }
.programme span { color: var(--doux); font-size: .9rem; }

/* Jauges */
.jauge { margin: 10px 0; }
.jauge-tete { display: flex; justify-content: space-between; font-size: .9rem; }
.jauge-barre { height: 10px; background: var(--papier); border-radius: 99px; overflow: hidden; border: 1px solid var(--bord); }
.jauge-barre span { display: block; height: 100%; background: linear-gradient(90deg, var(--or), var(--corail)); }

/* Listes */
.recherche input { width: 100%; }
.filtres { display: flex; gap: 6px; flex-wrap: wrap; margin: 8px 0; }
.puce, .puce-radio span { display: inline-block; padding: 6px 12px; border-radius: 99px; border: 1px solid var(--bord); background: var(--surface); font: inherit; font-size: .88rem; cursor: pointer; color: var(--texte); }
.puce.actif, .puce-radio input:checked + span { background: var(--encre); color: var(--papier); border-color: var(--encre); }
.puce.petite { padding: 3px 9px; font-size: .82rem; margin: 2px; }
.formulaire label.puce-radio, .puce-radio { display: inline-block; margin: 0; position: relative; }
.puce-radio input { position: absolute; opacity: 0; pointer-events: none; }
.puce-radio input:focus-visible + span { outline: 3px solid var(--or); }
.puces-lieux { border: none; padding: 0; margin: 4px 0; display: flex; gap: 6px; flex-wrap: wrap; }
.puces-lieux legend { font-size: .9rem; color: var(--doux); margin-bottom: 4px; }
.liste-personnes, .liste-simple, .liste-fiches, .liste-prenoms, .liste-priere, .historique, .loci { list-style: none; padding: 0; margin: 0; }
.liste-personnes a, .liste-simple a, .liste-fiches a { display: flex; align-items: center; gap: 12px; padding: 10px 0; border-bottom: 1px solid var(--bord); text-decoration: none; }
.liste-personnes a > span:nth-child(2), .liste-simple a, .liste-fiches a { flex: 1; display: flex; flex-direction: column; }
.liste-fiches a { align-items: flex-start; }
.liste-personnes small, .liste-simple small, .liste-fiches small { color: var(--doux); }
.vignette { border-radius: 50%; object-fit: cover; flex-shrink: 0; }
.vignette.vide { display: inline-flex; align-items: center; justify-content: center; background: var(--or-clair); color: var(--encre); font-family: var(--titre); font-size: 1.1rem; }
.etat { width: 10px; height: 10px; border-radius: 50%; background: var(--bord); flex-shrink: 0; }
.etat.ok { background: var(--vert); }
.etat.du { background: var(--corail); }
.historique li { padding: 4px 0; font-size: .9rem; color: var(--doux); border-bottom: 1px dashed var(--bord); }
.ligne-epreuve { display: flex; align-items: center; gap: 14px; background: var(--surface); border: 1px solid var(--bord); border-radius: 14px; padding: 12px 14px; margin: 8px 0; text-decoration: none; box-shadow: var(--ombre); }
.ligne-epreuve .ico { width: 42px; height: 42px; flex-shrink: 0; border-radius: 12px; background: var(--or-clair); display: grid; place-items: center; font-weight: 700; color: var(--encre); }
.ligne-epreuve > span:nth-child(2) { flex: 1; display: flex; flex-direction: column; }
.ligne-epreuve small { color: var(--doux); }
.record { font-family: var(--titre); font-size: 1.3rem; color: var(--or); }

/* Formulaires */
input, textarea, select { font: inherit; font-size: 16px; width: 100%; padding: 11px 12px; border: 1px solid var(--bord); border-radius: 10px; background: var(--surface); color: var(--texte); }
textarea { resize: vertical; }
input[type="checkbox"], input[type="radio"] { width: auto; accent-color: var(--encre); }
input[type="range"] { padding: 0; accent-color: var(--or); }
.formulaire label { display: block; margin: 10px 0; font-size: .92rem; color: var(--doux); }
.formulaire label input, .formulaire label textarea, .formulaire label select { margin-top: 4px; color: var(--texte); }
.formulaire label.case, label.case { display: flex; gap: 10px; align-items: center; color: var(--texte); margin: 6px 0; }
.formulaire.ligne { display: flex; gap: 8px; margin: 10px 0; }
.formulaire.ligne input, .formulaire.ligne select { flex: 1; }
.formulaire fieldset { border: none; padding: 0; margin: 10px 0; }
.formulaire legend { color: var(--doux); font-size: .92rem; margin-bottom: 4px; }
details { margin: 10px 0; }
summary { cursor: pointer; color: var(--encre); font-weight: 600; padding: 6px 0; }
.suggestion { font-size: .88rem; color: var(--doux); min-height: 1.2em; }
.photo-zone { display: flex; gap: 10px; align-items: center; flex-wrap: wrap; }
.photo-zone img { width: 72px; height: 72px; object-fit: cover; border-radius: 12px; }
input.juste { border-color: var(--vert); background: color-mix(in srgb, var(--vert) 10%, var(--surface)); }
input.faux { border-color: var(--rouge); background: color-mix(in srgb, var(--rouge) 8%, var(--surface)); }
.correction { display: block; color: var(--rouge); font-size: .82rem; }
code { background: var(--or-clair); padding: 1px 5px; border-radius: 4px; }

/* Révision */
.carte-rappel { background: var(--surface); border: 1px solid var(--bord); border-radius: 18px; padding: 16px; box-shadow: var(--ombre); }
.photo-rappel { display: block; width: 100%; max-width: 280px; aspect-ratio: 1; object-fit: cover; border-radius: 14px; margin: 0 auto 12px; }
.photo-rappel.vide { display: grid; place-items: center; text-align: center; padding: 20px; background: var(--or-clair); font-family: var(--titre); font-size: 1.3rem; color: var(--encre); aspect-ratio: 2; }
.indices { display: grid; grid-template-columns: auto 1fr; gap: 4px 12px; margin: 0 0 12px; }
.indices dt { color: var(--doux); font-size: .85rem; }
.indices dd { margin: 0; }
.essai { display: flex; gap: 8px; }
.reponse { font-family: var(--titre); font-size: 2rem; text-align: center; margin: 8px 0; color: var(--encre); }
.reponse.juste { color: var(--vert); }
.reponse.faux { color: var(--rouge); }
.image-mentale { font-style: italic; text-align: center; color: var(--doux); }
.notes { display: grid; grid-template-columns: repeat(4, 1fr); gap: 6px; }
.note { display: flex; flex-direction: column; align-items: center; padding: 10px 4px; border-radius: 12px; border: 1px solid var(--bord); background: var(--surface); font: inherit; cursor: pointer; color: var(--texte); }
.note b { font-size: .85rem; }
.note small { color: var(--doux); font-size: .75rem; }
.note.n1 { border-color: var(--rouge); }
.note.n3 { border-color: var(--vert); }
.note.conseil { outline: 3px solid var(--or); }
.priere { background: var(--or-clair); }
.noms-priere { font-family: var(--titre); font-size: 1.2rem; color: var(--encre); }
.liste-priere li { display: grid; grid-template-columns: auto 1fr auto; gap: 10px; align-items: center; padding: 10px 0; border-bottom: 1px solid var(--bord); }
.liste-priere li b { grid-column: 2 / 4; font-family: var(--titre); font-size: 1.2rem; }
.liste-priere .indice { font-size: .9rem; color: var(--doux); }

/* Épreuves */
.presets .bouton { margin: 8px 0; }
.score-final { text-align: center; font-family: var(--titre); font-size: 1.2rem; margin: 10px 0 16px; padding: 12px; background: var(--or-clair); border-radius: 14px; }
.score-final b { font-size: 2.6rem; color: var(--encre); }
.score-final small { display: block; font-family: var(--corps); color: var(--doux); }
.matrice { font-variant-numeric: tabular-nums; }
.ligne-chiffres { display: flex; flex-wrap: wrap; gap: 4px 10px; align-items: baseline; padding: 8px 0; border-bottom: 1px solid var(--bord); font-family: ui-monospace, Menlo, monospace; font-size: 1.25rem; letter-spacing: .04em; }
.ligne-chiffres .groupe:nth-child(odd of .groupe) { color: var(--encre); }
.ligne-chiffres .groupe:nth-child(even of .groupe) { color: var(--corail); }
.num { color: var(--doux); font-size: .75rem; min-width: 1.6em; font-family: var(--corps); }
.ligne-saisie { display: flex; gap: 8px; align-items: center; flex-wrap: wrap; margin: 6px 0; }
.ligne-saisie input { flex: 1; font-family: ui-monospace, Menlo, monospace; letter-spacing: .08em; }
.correction-ligne { width: 100%; font-family: ui-monospace, Menlo, monospace; font-size: .85rem; word-break: break-all; padding-left: 2em; }
.correction-ligne .juste, .correction-bloc .juste { color: var(--vert); }
.correction-ligne .faux, .correction-bloc .faux { color: var(--rouge); text-decoration: underline; font-weight: 700; }
.correction-bloc { font-family: ui-monospace, Menlo, monospace; word-break: break-word; line-height: 1.8; }
.colonnes-mots { display: grid; grid-template-columns: repeat(auto-fill, minmax(150px, 1fr)); gap: 10px; }
.colonnes-mots ol { margin: 0; padding-left: 2.2em; }
.colonnes-mots li { padding: 3px 0; font-size: 1.05rem; }
.colonnes-mots input { padding: 6px 8px; }
.grille-visages { display: grid; grid-template-columns: repeat(auto-fill, minmax(140px, 1fr)); gap: 12px; }
.grille-visages figure { margin: 0; text-align: center; background: var(--surface); border-radius: 12px; padding: 8px; border: 1px solid var(--bord); }
.grille-visages svg { width: 100%; height: auto; border-radius: 8px; }
.grille-visages figcaption { font-size: 1rem; margin-top: 4px; }
.grille-visages input { margin-top: 6px; padding: 7px 8px; }
.carte-jeu { display: inline-flex; flex-direction: column; align-items: center; justify-content: center; width: 110px; height: 154px; border-radius: 12px; background: #fff; border: 1px solid #ccc; font: 700 2.4rem/1 var(--titre); box-shadow: var(--ombre); }
.carte-jeu i { font-style: normal; font-size: 2.6rem; }
.carte-jeu.rouge { color: #c0262d; }
.carte-jeu.noir { color: #111; }
.carte-jeu.suivante { width: 70px; height: 98px; font-size: 1.5rem; opacity: .55; }
.carte-jeu.suivante i { font-size: 1.6rem; }
.carte-jeu.mini { width: 34px; height: 46px; font-size: .9rem; border-radius: 6px; margin: 2px; }
.carte-jeu.mini i { font-size: .9rem; }
.carte-jeu.mini.faux { outline: 3px solid var(--rouge); }
.carte-jeu.mini.grise { opacity: .4; }
.carte-vue { display: flex; gap: 10px; justify-content: center; align-items: center; min-height: 170px; margin: 16px 0; }
.choisies { min-height: 54px; display: flex; flex-wrap: wrap; padding: 6px; border: 1px dashed var(--bord); border-radius: 10px; }
.table-cartes { display: grid; grid-template-columns: repeat(13, 1fr); gap: 3px; }
.choix-carte { padding: 0; border: none; background: none; cursor: pointer; }
.choix-carte .carte-jeu { width: 100%; height: auto; aspect-ratio: 5/7; font-size: clamp(.55rem, 2.4vw, .95rem); border-radius: 5px; }
.choix-carte .carte-jeu i { font-size: inherit; }
.choix-carte:disabled { opacity: .2; }
.nombre-geant { font: 700 5.5rem/1 var(--titre); color: var(--encre); background: var(--surface); border: 1px solid var(--bord); border-radius: 24px; width: 100%; padding: 40px 0; margin: 20px 0; cursor: pointer; }
.lieu { font-size: 1.1rem; color: var(--doux); }
.mot { color: var(--corail); }
.photo-lieu { width: 100%; max-height: 220px; object-fit: cover; border-radius: 14px; }

/* Bibliothèque */
table.major { border-collapse: collapse; margin: 10px 0; }
table.major td { padding: 4px 10px; border: 1px solid var(--bord); }
table.major td:nth-child(odd) { font-weight: 700; color: var(--or); text-align: center; }
.grille-pao { display: grid; grid-template-columns: repeat(5, 1fr); gap: 4px; }
.grille-pao a { display: flex; flex-direction: column; padding: 6px 4px; border-radius: 8px; background: var(--surface); border: 1px solid var(--bord); text-decoration: none; min-height: 56px; }
.grille-pao b { font-variant-numeric: tabular-nums; color: var(--doux); font-size: .8rem; }
.grille-pao small { font-size: .78rem; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.grille-pao a.complet { background: var(--or-clair); border-color: var(--or); }
.grille-pao a.perso small { text-decoration: underline; text-decoration-color: var(--or); }
.loci li { display: flex; align-items: center; gap: 8px; padding: 8px 0; border-bottom: 1px solid var(--bord); counter-increment: l; }
.loci li::before { content: counter(l); color: var(--or); font-weight: 700; min-width: 1.6em; }
.loci { counter-reset: l; }
.loci li span { flex: 1; }
.loci .vignette { width: 36px; height: 36px; border-radius: 8px; }
.mini { background: none; border: 1px solid var(--bord); border-radius: 8px; min-width: 36px; height: 36px; display: inline-grid; place-items: center; cursor: pointer; color: var(--texte); font: inherit; }
.liste-prenoms li { display: grid; grid-template-columns: 7.5em 1fr; gap: 2px 10px; padding: 8px 0; border-bottom: 1px solid var(--bord); align-items: center; }
.liste-prenoms .sugg { font-size: .82rem; color: var(--doux); }
.liste-prenoms input { grid-column: 1 / 3; padding: 7px 10px; }

/* Théorie */
.fiche-theorie .chapeau { font-family: var(--titre); font-size: 1.2rem; color: var(--encre); }
.fiche-theorie article { font-size: 1.02rem; line-height: 1.65; }
.fiche-theorie article ol li, .fiche-theorie article ul li { margin: 6px 0; }
.sources { font-size: .85rem; color: var(--doux); }
.suivante { display: block; margin-top: 20px; color: var(--or); text-decoration: none; font-weight: 600; }

/* Tableaux et courbes */
.tableau { width: 100%; border-collapse: collapse; font-size: .9rem; }
.tableau th, .tableau td { padding: 6px; border-bottom: 1px solid var(--bord); text-align: left; }
.courbe { width: 100%; height: auto; }
.courbe .axe { stroke: var(--bord); }
.courbe .trait { fill: none; stroke: var(--or); stroke-width: 2.5; stroke-linejoin: round; }
.courbe .point { fill: var(--encre); }
.courbe .etiquette { fill: var(--doux); font-size: 11px; }

.toast { position: fixed; left: 50%; bottom: calc(84px + env(safe-area-inset-bottom)); transform: translate(-50%, 20px); background: var(--encre); color: var(--papier); padding: 10px 18px; border-radius: 99px; opacity: 0; transition: .25s; z-index: 20; max-width: calc(100% - 32px); }
.toast.visible { opacity: 1; transform: translate(-50%, 0); }

@media (min-width: 700px) {
  .grille-2 { grid-template-columns: repeat(4, 1fr); }
  .grille-pao { grid-template-columns: repeat(10, 1fr); }
}
@media (prefers-reduced-motion: reduce) { * { transition: none !important; } }

/* Corrections après les tests utilisateurs */
[hidden] { display: none !important; }
input[type="checkbox"], input[type="radio"] { width: 22px; height: 22px; flex-shrink: 0; }
body.immersif { padding-bottom: 16px; }
body.immersif .onglets { display: none; }
.formulaire > .bouton.principal:last-of-type { margin-bottom: 24px; }
.lien-texte { text-decoration: none; font-weight: 600; color: var(--encre); border: 1px solid var(--bord); border-radius: 99px; padding: 4px 12px; font-size: .9rem; }
.verdict { text-align: center; font-weight: 700; margin: 6px 0 0; }
.verdict.juste { color: var(--vert); }
.verdict.faux { color: var(--rouge); }
.echelle { display: flex; flex-wrap: wrap; gap: 6px; }
.echelle .puce-radio span { min-width: 40px; text-align: center; }
.sous-titre { font-size: .9rem; margin: 12px 0 0; color: var(--doux); font-family: var(--corps); }
.record { display: flex; flex-direction: column; align-items: center; line-height: 1; }
.record small { font-size: .65rem; color: var(--doux); font-family: var(--corps); }
.score-final.record-battu { background: var(--or); color: #fff; }
.score-final.record-battu b, .score-final.record-battu small { color: #fff; }
.carte-jeu.vert { color: #1f7a3a; }
.carte-jeu.bleu { color: #1d5fb8; }
.choisies { min-height: 62px; height: 62px; flex-wrap: nowrap; overflow-x: auto; align-items: center; }
.choisies .carte-jeu.mini { flex-shrink: 0; }
.couleurs { display: grid; grid-template-columns: repeat(4, 1fr); gap: 8px; margin: 12px 0 8px; }
.choix-couleur { font-size: 2rem; min-height: 56px; border-radius: 12px; border: 2px solid var(--bord); background: #fff; cursor: pointer; }
.choix-couleur.noir { color: #111; } .choix-couleur.rouge { color: #c0262d; } .choix-couleur.vert { color: #1f7a3a; } .choix-couleur.bleu { color: #1d5fb8; }
.choix-couleur.actif { border-color: var(--encre); box-shadow: 0 0 0 3px var(--or); }
.valeurs { display: grid; grid-template-columns: repeat(7, 1fr); gap: 6px; }
.choix-valeur { min-height: 48px; border-radius: 10px; border: 1px solid var(--bord); background: #fff; font: 700 1.15rem var(--titre); cursor: pointer; }
.choix-valeur.noir { color: #111; } .choix-valeur.rouge { color: #c0262d; } .choix-valeur.vert { color: #1f7a3a; } .choix-valeur.bleu { color: #1d5fb8; }
.choix-valeur:disabled { opacity: .2; }
.serie { font-weight: 600; color: var(--corail); }
.liste-cartes { list-style: none; padding: 0; margin: 0; }
.liste-cartes li { display: grid; grid-template-columns: auto 3.6em 1fr; gap: 8px; align-items: center; padding: 4px 0; border-bottom: 1px solid var(--bord); }
.liste-cartes input { padding: 7px 10px; }
.nombre-geant .carte-jeu { width: 120px; height: 168px; }
.niveau-suivant { text-align: center; font-weight: 600; color: var(--encre); margin: -6px 0 12px; }
.analyse .conseil-cause { color: var(--encre); font-size: .95rem; }
