/* =========================================================
ESPACE COMPTE — OSTRAKON
Pages joueur : thème normal du site
Pages MJ : thème ardoise / crème / ocre
========================================================= */

/* =========================================================
ELEMENTS COMMUNS AUX PAGES JOUEUR
========================================================= */

/* Formulaires */
.formulaire-compte { display:grid; gap:20px; width:100%; max-width:42rem; }
.formulaire-compte label { display:grid; gap:7px; color:var(--encre); font-weight:700; }
.formulaire-compte input:not([type="checkbox"]),.formulaire-compte textarea,.formulaire-compte select { width:100%; min-height:44px; border:1px solid var(--trait); border-radius:var(--rayon); padding:10px 12px; color:var(--encre); background:var(--papier-clair); font:inherit; outline:none; transition:border-color .16s ease,box-shadow .16s ease,background .16s ease; }
.formulaire-compte textarea { min-height:120px; resize:vertical; }
.formulaire-compte input:not([type="checkbox"]):hover,.formulaire-compte textarea:hover,.formulaire-compte select:hover { border-color:var(--bronze); }
.formulaire-compte input:not([type="checkbox"]):focus,.formulaire-compte textarea:focus,.formulaire-compte select:focus { border-color:var(--bronze); box-shadow:0 0 0 3px rgb(157 76 53 / 12%); }
.formulaire-compte small { color:var(--doux); font-weight:400; line-height:1.45; }
.formulaire-compte button:not(.bouton-danger):not(.lien-bouton) { justify-self:start; min-height:44px; border:1px solid var(--bronze); border-radius:var(--rayon); padding:11px 20px; color:#fff; background:var(--bronze); font:.75rem/1.2 var(--serif); letter-spacing:.05em; text-transform:uppercase; cursor:pointer; transition:.18s ease; }
.formulaire-compte button:not(.bouton-danger):not(.lien-bouton):hover { filter:brightness(1.12); transform:translateY(-1px); }
.formulaire-compte .consentement { grid-template-columns:auto 1fr; align-items:start; gap:10px; font-weight:400; }
.formulaire-compte .consentement input { margin-top:.4em; accent-color:var(--bronze); }

/* Messages */
.message { width:100%; max-width:52rem; margin:0 0 22px; padding:13px 17px; border:1px solid var(--trait); border-left:3px solid var(--bronze); border-radius:var(--rayon); color:var(--encre); background:var(--papier-clair); }
.message.erreur { border-left-color:#a84438; background:#f4e8e4; color:var(--encre); }
.message p { margin:0 0 8px; }
.message p:last-child { margin-bottom:0; }

/* Résumé du compte */
.compte-resume { display:grid; gap:0; width:100%; max-width:52rem; margin:4px 0 28px; border:1px solid var(--trait); border-radius:var(--rayon); background:var(--papier-clair); box-shadow:var(--ombre-douce); overflow:hidden; }
.compte-resume div { display:grid; grid-template-columns:minmax(8rem,11rem) 1fr; gap:18px; align-items:center; padding:12px 16px; border-bottom:1px solid var(--trait); }
.compte-resume div:last-child { border-bottom:0; }
.compte-resume dt { color:var(--doux); font-size:.72rem; font-weight:700; letter-spacing:.08em; text-transform:uppercase; }
.compte-resume dd { margin:0; color:var(--encre); font-weight:700; overflow-wrap:anywhere; }

/* Actions */
.actions-compte { display:flex; align-items:center; flex-wrap:wrap; gap:10px 14px; margin:22px 0; }
.formulaire-secondaire { margin-top:28px; }
.lien-bouton { border:0; padding:0; color:var(--encre); background:transparent; font:inherit; font-weight:700; text-decoration:underline; text-decoration-color:rgb(0 0 0 / 30%); text-underline-offset:.16em; cursor:pointer; }
.lien-bouton:hover { color:var(--bronze); }
.bouton-danger { min-height:42px; border:1px solid #a84438; border-radius:var(--rayon); padding:10px 18px; color:#fff; background:#a84438; font:inherit; font-weight:700; cursor:pointer; }
.bouton-danger:hover { background:#c65344; }
.lien-danger { color:#a84438; }
.danger { margin-top:28px; }
.danger summary { width:max-content; max-width:100%; cursor:pointer; color:#a84438; font-weight:700; }
.danger[open] { padding:15px 18px 18px; border:1px solid #d6aaa3; border-left:3px solid #a84438; border-radius:var(--rayon); background:#f5eae7; }

/* Etats */
.oui,.non { display:inline-flex; align-items:center; gap:6px; white-space:nowrap; font-size:.85rem; font-weight:700; }
.oui { color:#4e8052; }
.non { color:#947326; }
.oui::before,.non::before { content:""; width:7px; height:7px; flex:0 0 7px; border-radius:50%; background:currentColor; }

/* Progression */
.etapes-fil { display:flex; gap:8px; list-style:none; padding:0; margin:0 0 28px; }
.etapes-fil li { display:grid; width:2.15rem; height:2.15rem; place-items:center; border:1px solid var(--trait); border-radius:50%; color:var(--doux); background:var(--papier-clair); font-variant-numeric:tabular-nums; }
.etapes-fil li.ici { border-color:var(--bronze); color:#fff; background:var(--bronze); font-weight:700; }
.etapes-fil li.faite { border-color:var(--bronze); color:var(--bronze); background:var(--papier-clair); font-weight:700; }
.navigation-pages { display:flex; flex-wrap:wrap; gap:10px 12px; align-items:center; margin-top:24px; }
.piege { position:absolute; left:-9999px; width:1px; height:1px; overflow:hidden; }

/* Cases */
.formulaire-compte fieldset.cases { min-width:0; margin:0; padding:14px 17px 17px; border:1px solid var(--trait); border-radius:var(--rayon); background:var(--papier-clair); }
.formulaire-compte fieldset.cases legend { padding:0 7px; color:var(--encre); font-family:var(--serif); }
.grille-cases { display:grid; grid-template-columns:repeat(auto-fill,minmax(11rem,1fr)); gap:5px 16px; margin-top:9px; }
.formulaire-compte label.case { display:grid; grid-template-columns:auto 1fr; align-items:center; gap:8px; padding:4px 0; font-weight:400; cursor:pointer; }
.formulaire-compte label.case input { margin:0; accent-color:var(--bronze); }
.formulaire-compte label.case:has(span:only-child) { align-items:start; }
.formulaire-compte label.case span { line-height:1.4; }

/* Combat / extraits */
.grille-combat { display:grid; grid-template-columns:repeat(auto-fit,minmax(12rem,1fr)); gap:12px 16px; margin:10px 0 14px; }
.grille-combat label { display:grid; gap:5px; font-weight:400; }
.extrait { padding-left:12px; border-left:2px solid var(--trait); color:var(--doux); font-style:italic; opacity:.92; overflow-wrap:anywhere; }

/* Apparence Minecraft */
.apparence { display:flex; align-items:flex-start; gap:18px; flex-wrap:wrap; }
.apparence img { image-rendering:pixelated; border:1px solid var(--trait); border-radius:var(--rayon); background:var(--papier-clair); box-shadow:var(--ombre-douce); }
.portrait { position:relative; display:inline-block; width:96px; height:96px; overflow:hidden; image-rendering:pixelated; border:1px solid var(--trait); border-radius:var(--rayon); background:var(--papier-clair) var(--peau) -96px -96px / 768px 768px no-repeat; box-shadow:var(--ombre-douce); }
.portrait::after { content:""; position:absolute; inset:0; image-rendering:pixelated; background:var(--peau) -480px -96px / 768px 768px no-repeat; }

/* =========================================================
PAGE MON COMPTE — THEME JOUEUR CLAIR
========================================================= */
.account-page { width:100%; }
.account-entete { max-width:48rem; }
.account-entete h1 { margin-bottom:.25em; }
.account-entete .chapo { margin-bottom:0; }
.account-page>.meandre { margin-top:20px; margin-bottom:24px; }
.account-label { margin:0 0 2px; color:var(--bronze); font-size:.67rem; font-weight:700; letter-spacing:.13em; text-transform:uppercase; }
.account-section-titre { display:flex; align-items:center; justify-content:space-between; gap:20px; margin-bottom:10px; }
.account-section-titre h2 { margin:0; font-size:1.42rem; }
.account-grade { display:inline-flex; align-items:center; min-height:27px; padding:3px 10px; border:1px solid var(--trait); border-radius:999px; color:var(--bronze); background:var(--papier-clair); font-size:.7rem; font-weight:700; }

/* Informations du compte */
.account-identite { margin-bottom:24px; }
.account-resume { max-width:none; margin:0; }
.account-resume div { grid-template-columns:minmax(7rem,9.5rem) 1fr; gap:16px; padding:9px 14px; }
.account-resume dt { font-size:.68rem; }
.account-resume dd { display:flex; align-items:center; flex-wrap:wrap; gap:8px; }
.account-minecraft { font-weight:700; }
.account-absent { color:var(--doux); font-weight:400; }
.account-statut { display:inline-flex; align-items:center; gap:5px; min-height:22px; padding:2px 8px; border-radius:999px; font-size:.66rem; font-weight:700; }
.account-statut::before { content:""; width:6px; height:6px; border-radius:50%; background:currentColor; }
.account-statut.actif { color:#47764b; background:#e5eee3; }
.account-statut.attente { color:#8b6b20; background:#f3ecd7; }

/* Accès joueur */
.account-acces { margin-bottom:26px; }
.account-cartes { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; }
.account-carte { position:relative; display:grid; grid-template-columns:auto 1fr auto; align-items:center; gap:15px; min-width:0; min-height:124px; padding:20px 18px; border:1px solid var(--trait); border-radius:var(--rayon); color:var(--encre); background:var(--papier-clair); box-shadow:var(--ombre-douce); text-decoration:none; transition:transform .16s ease,border-color .16s ease,box-shadow .16s ease; }
.account-carte:hover { border-color:var(--bronze); color:var(--encre); transform:translateY(-2px); box-shadow:0 12px 25px rgb(45 32 20 / 10%); }
.account-carte-numero { display:grid; width:38px; height:38px; place-items:center; border:1px solid var(--trait); border-radius:50%; color:var(--bronze); font-family:var(--serif); font-size:.78rem; }
.account-carte-contenu { min-width:0; }
.account-carte-contenu strong { display:block; margin-bottom:5px; font-family:var(--serif); font-size:1.06rem; }
.account-carte-contenu small { display:block; color:var(--doux); font-size:.77rem; line-height:1.42; }
.account-carte-fleche { color:var(--bronze); font-size:1.25rem; transition:transform .16s ease; }
.account-carte:hover .account-carte-fleche { transform:translateX(3px); }
.account-carte.verrouillee { opacity:.68; cursor:default; box-shadow:none; }
.account-carte.verrouillee:hover { border-color:var(--trait); transform:none; }
.account-verrou { padding:3px 7px; border:1px solid var(--trait); border-radius:999px; color:var(--doux); font-size:.63rem; font-weight:700; text-transform:uppercase; }

/* Accès MJ depuis le compte joueur */
.account-mj { margin:27px 0 18px; padding:15px 19px 16px; border:1px solid #343536; border-left:3px solid var(--bronze); border-radius:var(--rayon); color:#f1eadc; background:#202326; box-shadow:0 10px 24px rgb(0 0 0 / 12%); }
.account-mj-entete { display:flex; align-items:flex-start; justify-content:space-between; gap:20px; margin-bottom:12px; }
.account-mj-entete h2 { margin:0 0 3px; color:#f1eadc; font-size:1.3rem; }
.account-mj-entete p:not(.account-label) { margin:0; color:#bdb5a7; font-size:.8rem; }
.account-mj .account-label { color:#c07158; }
.account-mj-badge { display:grid; width:34px; height:34px; flex:0 0 34px; place-items:center; border:1px solid #5b433b; border-radius:50%; color:#e4b19f; background:#33251f; font-size:.65rem; font-weight:700; }
.account-mj-actions { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:8px; }
.account-mj-actions a { position:relative; display:block; min-width:0; padding:10px 35px 10px 11px; border:1px solid #3d3e3d; border-radius:var(--rayon); color:#f1eadc; background:#272a2d; text-decoration:none; transition:.15s ease; }
.account-mj-actions a:hover { border-color:#9d4c35; color:#fff; background:#2d2d2d; }
.account-mj-actions strong { display:block; margin-bottom:2px; font-size:.77rem; }
.account-mj-actions small { display:block; color:#aaa399; font-size:.67rem; line-height:1.3; }
.account-mj-actions a>span { position:absolute; top:50%; right:11px; color:#c07158; font-size:1rem; transform:translateY(-50%); }

/* Gestion du compte */
.account-gestion { display:flex; align-items:center; justify-content:space-between; gap:24px; margin-top:18px; padding-top:14px; border-top:1px solid var(--trait); }
.account-gestion form { margin:0; }
.account-danger { margin:0; text-align:right; }
.account-danger summary { margin-left:auto; color:#9d4035; font-size:.78rem; }
.account-danger[open] { width:min(100%,35rem); margin-left:auto; text-align:left; }
.account-danger-contenu { margin-top:12px; }
.account-danger-contenu>p { color:var(--doux); font-size:.82rem; }

/* Visiteur non connecté */
.account-visiteur { max-width:45rem; }
.account-visiteur-contenu { padding:22px 24px; border:1px solid var(--trait); border-left:3px solid var(--bronze); border-radius:var(--rayon); background:var(--papier-clair); box-shadow:var(--ombre-douce); }
.account-visiteur h2 { margin:0 0 8px; }
.account-visiteur p:not(.account-label) { max-width:38rem; color:var(--doux); }
.account-connexion { font-weight:700; }

@media(max-width:950px) {
  .account-cartes,.account-mj-actions { grid-template-columns:1fr; }
  .account-carte { min-height:94px; }
}
@media(max-width:560px) {
  .account-page>.meandre { margin-top:18px; margin-bottom:21px; }
  .account-section-titre { align-items:flex-start; }
  .account-resume div { grid-template-columns:1fr; gap:2px; padding:10px 13px; }
  .account-carte { min-height:90px; padding:15px; }
  .account-carte-numero { width:34px; height:34px; }
  .account-mj { margin-top:23px; padding:14px; }
  .account-mj-entete { gap:12px; }
  .account-gestion { align-items:flex-start; flex-direction:column; gap:14px; }
  .account-danger { width:100%; text-align:left; }
  .account-danger summary { margin-left:0; }
}

/* =========================================================
INTERFACE MJ — LE SOMBRE COMMENCE UNIQUEMENT ICI
========================================================= */

body.page-mj {
  --compte-fond:#1c1c1c;
  --compte-surface:#202326;
  --compte-surface-2:#272a2d;
  --compte-surface-3:#2e3134;
  --compte-texte:#f1eadc;
  --compte-doux:#bdb5a7;
  --compte-trait:#3d3e3d;
  --compte-ocre:#9d4c35;
  --compte-ocre-clair:#c07158;
  background:#1c1c1c !important;
  background-color:#1c1c1c !important;
  background-image:none !important;
  color:var(--compte-texte);
}

body.page-mj main { background:#1c1c1c !important; color:var(--compte-texte); }
body.page-mj h1,body.page-mj h2,body.page-mj h3 { color:var(--compte-texte); }
body.page-mj a { color:var(--compte-texte); text-decoration-color:rgb(241 234 220 / 40%); }
body.page-mj a:hover { color:var(--compte-ocre-clair); }
body.page-mj .chapo { color:var(--compte-doux); }
body.page-mj .surtitre { color:var(--compte-ocre-clair); }
body.page-mj .meandre { border-color:var(--compte-ocre); opacity:.8; }

/* Les composants communs deviennent sombres seulement dans une page MJ */
.mj-page .formulaire-compte label { color:var(--compte-texte); }
.mj-page .formulaire-compte input:not([type="checkbox"]),.mj-page .formulaire-compte textarea,.mj-page .formulaire-compte select { border-color:var(--compte-trait); color:var(--compte-texte); background:var(--compte-surface); }
.mj-page .formulaire-compte input:not([type="checkbox"]):hover,.mj-page .formulaire-compte textarea:hover,.mj-page .formulaire-compte select:hover { border-color:#66625d; background:var(--compte-surface-2); }
.mj-page .formulaire-compte input:not([type="checkbox"]):focus,.mj-page .formulaire-compte textarea:focus,.mj-page .formulaire-compte select:focus { border-color:var(--compte-ocre-clair); background:var(--compte-surface-2); box-shadow:0 0 0 3px rgb(157 76 53 / 18%); }
.mj-page .formulaire-compte small { color:var(--compte-doux); }
.mj-page .formulaire-compte button:not(.bouton-danger):not(.lien-bouton) { border-color:var(--compte-ocre); color:var(--compte-texte); background:var(--compte-ocre); }
.mj-page .formulaire-compte button:not(.bouton-danger):not(.lien-bouton):hover { border-color:var(--compte-ocre-clair); background:var(--compte-ocre-clair); }
.mj-page .formulaire-compte .consentement input { accent-color:var(--compte-ocre); }
.mj-page .message { border-color:var(--compte-trait); border-left-color:var(--compte-ocre); color:var(--compte-texte); background:var(--compte-surface); }
.mj-page .message.erreur { border-left-color:#c65b4b; background:#382422; color:var(--compte-texte); }
.mj-page .compte-resume { border-color:var(--compte-trait); background:var(--compte-surface); box-shadow:0 12px 30px rgb(0 0 0 / 18%); }
.mj-page .compte-resume div { border-color:var(--compte-trait); }
.mj-page .compte-resume dt { color:var(--compte-doux); }
.mj-page .compte-resume dd { color:var(--compte-texte); }
.mj-page .lien-bouton { color:var(--compte-texte); text-decoration-color:rgb(241 234 220 / 35%); }
.mj-page .lien-bouton:hover { color:var(--compte-ocre-clair); }
.mj-page .danger[open] { border-color:#633a35; border-left-color:#c65344; background:#251d1c; }
.mj-page .oui { color:#79b77d; }
.mj-page .non { color:#d1ae5e; }
.mj-page .etapes-fil li { border-color:var(--compte-trait); color:var(--compte-doux); background:var(--compte-surface); }
.mj-page .etapes-fil li.ici { border-color:var(--compte-ocre); color:var(--compte-texte); background:var(--compte-ocre); }
.mj-page .etapes-fil li.faite { border-color:#714032; color:#e6b19f; background:#38251f; }
.mj-page .formulaire-compte fieldset.cases { border-color:var(--compte-trait); background:var(--compte-surface); }
.mj-page .formulaire-compte fieldset.cases legend { color:var(--compte-texte); }
.mj-page .formulaire-compte label.case input { accent-color:var(--compte-ocre); }
.mj-page .extrait { border-color:var(--compte-trait); color:var(--compte-doux); }
.mj-page .apparence img { border-color:var(--compte-trait); background:var(--compte-surface-2); box-shadow:0 8px 20px rgb(0 0 0 / 20%); }

/* Page MJ */
.mj-page { width:100%; color:var(--compte-texte); }
.mj-entete { display:flex; align-items:flex-end; justify-content:space-between; gap:32px; }
.mj-entete>div:first-child { max-width:48rem; }
.mj-entete h1 { margin-bottom:.3em; color:var(--compte-texte); }
.mj-entete .chapo { margin-bottom:0; color:var(--compte-doux); }
.mj-entete-actions { display:flex; justify-content:flex-end; flex-wrap:wrap; gap:8px; padding-bottom:5px; }
.mj-entete-actions .bouton { min-height:40px; padding:10px 15px; white-space:nowrap; border-color:var(--compte-ocre); color:var(--compte-texte); background:var(--compte-ocre); }
.mj-entete-actions .bouton:hover { border-color:var(--compte-ocre-clair); background:var(--compte-ocre-clair); color:#fff; }
.mj-entete-actions .bouton.secondaire { border-color:var(--compte-trait); color:var(--compte-texte); background:var(--compte-surface); }
.mj-entete-actions .bouton.secondaire:hover { border-color:var(--compte-ocre-clair); color:var(--compte-ocre-clair); background:var(--compte-surface-2); }
.mj-page>.meandre { margin-top:24px; margin-bottom:28px; }
.mj-label { margin:0 0 3px; color:var(--compte-ocre-clair); font-size:.67rem; font-weight:700; letter-spacing:.13em; text-transform:uppercase; }
.mj-section-titre { display:flex; align-items:center; justify-content:space-between; gap:18px; margin-bottom:14px; }
.mj-section-titre h2 { display:flex; align-items:center; gap:9px; margin:0; color:var(--compte-texte); font-size:1.45rem; }
.mj-compteur,.mj-etat-vide { display:inline-flex; align-items:center; min-height:28px; padding:4px 10px; border:1px solid var(--compte-trait); border-radius:999px; color:var(--compte-doux); background:var(--compte-surface); font-size:.72rem; font-weight:700; white-space:nowrap; }
.mj-etat-vide { color:#9bc49e; border-color:#3d5b40; background:#243328; }
.pastille { display:inline-grid; min-width:1.65rem; height:1.65rem; place-items:center; padding:0 .45rem; border-radius:999px; background:var(--compte-ocre); color:#fff; font-family:var(--texte); font-size:.78rem; font-weight:700; }

/* A traiter */
.mj-attente { position:relative; margin-bottom:30px; padding:17px 20px 18px; overflow:hidden; border:1px solid var(--compte-trait); border-radius:var(--rayon); background:var(--compte-surface); box-shadow:0 12px 30px rgb(0 0 0 / 15%); }
.mj-attente::before { content:""; position:absolute; inset:0 auto 0 0; width:3px; background:var(--compte-ocre); }
.mj-vide { display:flex; align-items:center; gap:13px; padding:11px 14px; border:1px solid #384b3b; border-radius:var(--rayon); background:#242c26; }
.mj-vide-icone { display:grid; width:32px; height:32px; flex:0 0 32px; place-items:center; border-radius:50%; color:#f5f0e5; background:#4f7951; font-weight:700; }
.mj-vide strong { display:block; margin-bottom:1px; color:var(--compte-texte); }
.mj-vide p { margin:0; color:var(--compte-doux); font-size:.86rem; }
.mj-attente-grille { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
.mj-attente-carte { min-width:0; padding:14px 15px; border:1px solid var(--compte-trait); border-radius:var(--rayon); background:var(--compte-surface-2); }
.mj-attente-carte-titre { display:flex; align-items:center; justify-content:space-between; gap:12px; margin-bottom:8px; }
.mj-attente-carte h3 { margin:0; color:var(--compte-texte); font-size:.94rem; }
.mj-attente-carte-titre>span { display:grid; min-width:1.5rem; height:1.5rem; place-items:center; padding:0 .35rem; border-radius:999px; color:#e5ad99; background:#472b23; font-size:.7rem; font-weight:700; }
.mj-attente-carte ul { list-style:none; margin:0; padding:0; }
.mj-attente-carte li { padding:8px 0; border-top:1px solid var(--compte-trait); }
.mj-attente-carte li:first-child { border-top:0; padding-top:2px; }
.mj-attente-carte li:last-child { padding-bottom:1px; }
.mj-attente-carte li>a { color:var(--compte-texte); font-weight:700; }
.mj-attente-carte li>a:hover { color:var(--compte-ocre-clair); }
.mj-attente-carte small { display:block; margin-top:2px; color:var(--compte-doux); font-size:.76rem; line-height:1.35; }

/* Tableau MJ */
.mj-comptes { margin-top:0; }
.mj-tableau { margin:0; border-color:var(--compte-trait); background:var(--compte-surface); box-shadow:0 12px 30px rgb(0 0 0 / 15%); }
.mj-tableau table { min-width:860px; color:var(--compte-texte); background:var(--compte-surface); }
.mj-tableau th { padding:10px 13px; border-color:var(--compte-trait); color:#d1c8b9; background:var(--compte-surface-3); font-size:.64rem; letter-spacing:.11em; text-transform:uppercase; white-space:nowrap; }
.mj-tableau td { padding:12px 13px; border-color:var(--compte-trait); color:var(--compte-texte); vertical-align:middle; background:transparent; }
.mj-tableau tbody tr { background:var(--compte-surface); transition:background .13s ease; }
.mj-tableau tbody tr:nth-child(even) { background:#222528; }
.mj-tableau tbody tr:hover { background:#2b2c2d; }
.mj-tableau tbody tr:last-child td { border-bottom:0; }
.mj-email { color:var(--compte-texte); font-weight:600; }
.mj-sous-info { display:block; margin-top:3px; color:var(--compte-doux); font-size:.7rem; line-height:1.3; }
.mj-sous-info.alerte { color:#df7566; }
.mj-absent { color:#8f8a82; font-size:.84rem; }
.mj-minecraft { color:var(--compte-texte); font-weight:700; }

/* Statuts MJ */
.mj-statut { display:inline-flex; align-items:center; gap:6px; min-height:26px; padding:3px 9px; border-radius:999px; font-size:.72rem; font-weight:700; white-space:nowrap; }
.mj-statut::before { content:""; width:6px; height:6px; flex:0 0 6px; border-radius:50%; background:currentColor; }
.mj-statut.actif { color:#8dc791; background:#27382a; }
.mj-statut.inactif { color:#dc846e; background:#3b2925; }
.mj-statut.neutre { color:#aaa49b; background:#303234; }

/* Grades MJ */
.mj-grade { display:inline-flex; align-items:center; min-height:26px; padding:3px 9px; border:1px solid var(--compte-trait); border-radius:999px; color:var(--compte-doux); background:var(--compte-surface-2); font-size:.7rem; font-weight:700; text-transform:capitalize; white-space:nowrap; }
.mj-grade-administrateur { border-color:#754333; color:#e3a58e; background:#38251f; }
.mj-grade-mj { border-color:#555a5e; color:#eee8dc; background:#2c3033; }
.mj-grade-integration { border-color:#695b34; color:#dbc47c; background:#36301f; }
.mj-grade-joueur { border-color:#3e6043; color:#96c69a; background:#26352a; }

/* Boutons Modifier */
.mj-action { width:1%; white-space:nowrap; text-align:right; }
.mj-action>a,.mj-action .lien-bouton { display:inline-flex; align-items:center; justify-content:center; min-height:31px; border:1px solid var(--compte-trait); border-radius:var(--rayon); padding:5px 10px; color:var(--compte-texte); background:var(--compte-surface-2); font-size:.72rem; font-weight:700; text-decoration:none; }
.mj-action>a:hover,.mj-action .lien-bouton:hover { border-color:var(--compte-ocre-clair); color:#fff; background:var(--compte-ocre); }

/* Corbeille / retour */
.mj-corbeille { margin-top:40px; padding-top:26px; border-top:1px solid var(--compte-trait); }
.mj-description { max-width:48rem; margin:-5px 0 17px; color:var(--compte-doux); }
.mj-retour { margin-top:25px; }
.mj-retour a { display:inline-flex; align-items:center; color:var(--compte-texte); font-weight:700; }

/* =========================================================
RESPONSIVE
========================================================= */
@media(max-width:1000px) {
  .mj-entete { align-items:flex-start; flex-direction:column; gap:18px; }
  .mj-entete-actions { justify-content:flex-start; padding-bottom:0; }
}
@media(max-width:820px) {
  .formulaire-compte,.compte-resume { max-width:none; }
  .mj-attente { padding:16px 17px; }
  .mj-attente-grille { grid-template-columns:1fr; }
}
@media(max-width:560px) {
  .formulaire-compte { gap:17px; }
  .formulaire-compte input:not([type="checkbox"]),.formulaire-compte textarea,.formulaire-compte select { font-size:16px; }
  .compte-resume div { grid-template-columns:1fr; gap:2px; padding:11px 13px; }
  .actions-compte { align-items:stretch; flex-direction:column; }
  .actions-compte .bouton,.actions-compte button { width:100%; }
  .mj-entete-actions { display:grid; grid-template-columns:1fr; width:100%; }
  .mj-entete-actions .bouton { width:100%; justify-content:center; text-align:center; }
  .mj-page>.meandre { margin-top:20px; margin-bottom:22px; }
  .mj-attente { margin-bottom:25px; padding:14px; }
  .mj-section-titre { align-items:flex-start; }
  .mj-section-titre h2 { font-size:1.3rem; }
  .mj-vide { align-items:flex-start; padding:10px 11px; }
  .mj-vide-icone { width:30px; height:30px; flex-basis:30px; }
  .mj-attente-carte { padding:12px; }
  .mj-tableau table { min-width:780px; font-size:.86rem; }
  .mj-tableau th { padding:9px 10px; }
  .mj-tableau td { padding:10px; }
  .grille-cases,.grille-combat { grid-template-columns:1fr; }
  .etapes-fil { overflow-x:auto; padding-bottom:3px; }
}