/* Thème clair : le sombre reste le défaut. */
html { color-scheme: dark; }
.btn-theme {
  border: 1px solid #2dd4bf66;
  border-radius: 999px;
  background: #0f1620;
  color: #e8eef6;
  font: inherit;
  font-weight: 750;
  font-size: 0.82rem;
  padding: 4px 12px;
  cursor: pointer;
  white-space: nowrap;
}
.btn-theme:hover { background: #134039; color: #7ee7d8; }
.pin-zoom {
  display: inline-flex; align-items: center; gap: 3px;
  margin-left: 6px; flex: 0 0 auto;
}
.pin-zoom button {
  border: 1px solid #2dd4bf66; border-radius: 999px;
  background: #0f1620; color: #e8eef6;
  padding: 0; min-width: 26px; min-height: 26px;
  display: inline-flex; align-items: center; justify-content: center;
  cursor: pointer;
}
.pin-zoom button:hover:not(:disabled) { background: #134039; color: #7ee7d8; }
.pin-zoom button:disabled { opacity: 0.35; cursor: not-allowed; }
.pin-zoom svg { width: 14px; height: 14px; display: block; }
@media print { html { zoom: 1 !important; } }

html.theme-clair {
  color-scheme: light;
  --lab-bg: #f3efe6;
  --lab-panel: #fffdf8;
  --lab-ink: #1c2430;
  --lab-muted: #5b6b7c;
  --lab-line: #d5cbb8;
  --lab-accent: #0f6b63;
  --lab-warn: #b45309;
  --lab-ok: #157a4b;
  --lab-danger: #b42318;
  --lab-cours-bg: #fffaf2;
  --lab-cours-ink: #1c2430;
  --lab-cours-title: #2a1408;
  --lab-cours-label: #5a210a;
  --lab-cours-border: #c45c26;
}

html.theme-clair body,
html.theme-clair body.lab {
  color: var(--lab-ink);
  background:
    radial-gradient(1200px 500px at 10% -10%, #e7f3ef 0%, transparent 50%),
    radial-gradient(900px 400px at 110% 0%, #f6e6d4 0%, transparent 45%),
    var(--lab-bg);
}

html.theme-clair a,
html.theme-clair body.lab a { color: var(--lab-accent); }
html.theme-clair .kicker,
html.theme-clair body.lab .kicker,
html.theme-clair .kicker a { color: var(--lab-accent); }
html.theme-clair .muted,
html.theme-clair body.lab .muted,
html.theme-clair .hint,
html.theme-clair body.lab .hint,
html.theme-clair footer.site { color: var(--lab-muted); }
html.theme-clair .ok { color: var(--lab-ok); }
html.theme-clair .err { color: var(--lab-danger); }
html.theme-clair .pseudo { color: var(--lab-ink); }

html.theme-clair .site-top {
  background: rgba(255, 253, 248, 0.94);
  border-bottom-color: var(--lab-line);
}
html.theme-clair .site-top a,
html.theme-clair .site-top .lien-sortie { color: var(--lab-ink); }
html.theme-clair .site-top a:hover,
html.theme-clair .site-top a.on,
html.theme-clair .site-top .lien-sortie:hover {
  background: #d7efe9;
  color: var(--lab-accent);
}
html.theme-clair .site-top a.brand {
  background: var(--lab-accent);
  color: #fff;
}
html.theme-clair .site-top .menu-cours:hover > summary,
html.theme-clair .site-top .menu-cours[open] > summary,
html.theme-clair .site-top .menu-cours.on > summary {
  background: #d7efe9;
  color: var(--lab-accent);
}
html.theme-clair .site-top .menu-cours-liste {
  background: var(--lab-panel);
  border-color: var(--lab-line);
}
html.theme-clair .site-top .btn-ajouter-eleve {
  background: #efe8dc;
  color: var(--lab-ink);
}
html.theme-clair .site-top .btn-ajouter-eleve:hover {
  background: #d7efe9;
  color: var(--lab-accent);
}
html.theme-clair .site-top .site-groupe,
html.theme-clair .site-top .btn-groupe-quitter-mini { color: var(--lab-muted); }
html.theme-clair .site-top .site-groupe b { color: var(--lab-cours-label); }

html.theme-clair .btn { color: #fff; background: var(--lab-accent); }
html.theme-clair body.lab .btn { background: var(--lab-accent); color: #fff; }
html.theme-clair .btn.ghost,
html.theme-clair body.lab .btn.ghost {
  background: var(--lab-panel);
  color: var(--lab-accent);
  border-color: var(--lab-line);
}
html.theme-clair .btn.secondary,
html.theme-clair body.lab .btn.secondary {
  background: #e6ebe8;
  color: var(--lab-ink);
}
html.theme-clair input,
html.theme-clair textarea,
html.theme-clair select,
html.theme-clair body.lab input[type="text"],
html.theme-clair body.lab input[type="password"],
html.theme-clair body.lab input[type="email"],
html.theme-clair body.lab input[type="number"],
html.theme-clair body.lab textarea,
html.theme-clair body.lab select {
  background: #fff;
  color: var(--lab-ink);
  border-color: var(--lab-line);
}

html.theme-clair .card,
html.theme-clair .moi-cadre,
html.theme-clair .seq-suivi,
html.theme-clair .schema-zone,
html.theme-clair .schema-carte {
  background: #fffdf8;
  border-color: var(--lab-line);
  color: var(--lab-ink);
}
html.theme-clair .n4-plan textarea,
html.theme-clair .meth-liste input,
html.theme-clair .pir-args textarea {
  background: #fff;
  color: var(--lab-ink);
  border-color: var(--lab-line);
}
html.theme-clair .pir-card,
html.theme-clair .jalons span {
  background: #fffdf8;
  border-color: var(--lab-line);
  color: var(--lab-ink);
}
html.theme-clair .jalons span.on { background: #fff7ee; color: #9a3412; border-color: #e08a40; }
html.theme-clair .jalons span.fait { background: #d7efe9; color: #157a4b; border-color: #157a4b; }
html.theme-clair .niv-badge { background: #dbeafe; color: #1e3a5f; }
html.theme-clair .edt-table tr.on td { background: #d7efe9; color: var(--lab-accent); }
html.theme-clair .edt-head { background: #efe8dc; }
html.theme-clair .edt-grille { background: #fffdf8; }
html.theme-clair .dash-bloc-termines {
  border-top-color: var(--lab-line);
}
html.theme-clair .dash-bloc-termines h3 { color: #157a4b; }
html.theme-clair .oubli-dette { color: #9a3412; }
html.theme-clair .oubli-carte { background: var(--lab-panel); }
html.theme-clair .oubli-carte.a { background: #fff7ee; border-color: #e08a40; }
html.theme-clair .oubli-carte.du { background: #f3dcc8; border-color: #c2410c; }
html.theme-clair .oubli-a-rendre { color: #9a3412; }
html.theme-clair .oubli-n { background: #efe8dc; color: var(--lab-ink); }
html.theme-clair .oubli-carte.a .oubli-n { background: #fdba74; color: #1c2430; }
html.theme-clair .dash-card .dash-oubli { background: #f3dcc8; color: #5a210a; }
html.theme-clair .moi-fiche { background: #d7efe9; color: #0f6b63; border-color: var(--lab-line); }
html.theme-clair .moi-fiche.lock { background: #efe8dc; color: var(--lab-muted); }
html.theme-clair .dash-card .dash-oubli-btn.on { background: #f3dcc8; color: #5a210a; }
html.theme-clair .dash-card .dash-depot-liste {
  border-top-color: var(--lab-line);
}
html.theme-clair .dash-card,
html.theme-clair .depot-panneau,
html.theme-clair .depot-eleve,
html.theme-clair th,
html.theme-clair td {
  background: var(--lab-panel);
  border-color: var(--lab-line);
  color: var(--lab-ink);
}
html.theme-clair .depot-eleve { background: #fffdf8; }
html.theme-clair .notice {
  background: #fff7ee;
  border-color: #e08a40;
  color: #3a2a1c;
}
html.theme-clair .notice a { color: #9a3412; }
html.theme-clair .tag {
  background: #d7efe9;
  color: var(--lab-accent);
}
html.theme-clair .accueil-grid h3 { color: var(--lab-cours-label); }

html.theme-clair .moi-cadre { background: #fffdf8; border-color: var(--lab-line); }
html.theme-clair .moi-cadre-tete h2 { color: var(--lab-ink); }
html.theme-clair .moi-cadre-tete .kicker { color: var(--lab-accent); }
html.theme-clair .moi-prog .card { color: var(--lab-ink); }
html.theme-clair .moi-case-txt .kicker { color: #fdba74; }

html.theme-clair .btn-theme {
  border-color: #0f6b6366;
  background: #fffdf8;
  color: var(--lab-ink);
}
html.theme-clair .btn-theme:hover {
  background: #d7efe9;
  color: var(--lab-accent);
}
html.theme-clair .pin-zoom button {
  background: #fffdf8;
  color: var(--lab-ink);
  border-color: #0f6b6366;
}
html.theme-clair .pin-zoom button:hover:not(:disabled) {
  background: #d7efe9;
  color: var(--lab-accent);
}
html.theme-clair .pin-langue,
html.theme-clair .site-top .pin-langue,
html.theme-clair #lecon-menu .pin-langue {
  background-color: #fffdf8;
  color: var(--lab-ink);
  border-color: #0f6b6366;
}

/* Barre de séance */
html.theme-clair #lecon-menu {
  background: rgba(255, 253, 248, 0.96);
  border-bottom: 1px solid var(--lab-line);
  color: var(--lab-ink);
}
html.theme-clair #lecon-menu a,
html.theme-clair #lecon-menu button { color: inherit; }
html.theme-clair #lecon-menu .pin-home { background: var(--lab-accent); color: #fff; }
html.theme-clair #lecon-menu .pin-page { color: var(--lab-ink); }
html.theme-clair #lecon-menu .pin-page:hover,
html.theme-clair #lecon-menu .pin-page.on {
  background: #d7efe9;
  color: var(--lab-accent);
}
html.theme-clair #lecon-menu .pin-connexion,
html.theme-clair #lecon-menu .pin-connexion[aria-expanded="true"] {
  background: #c45c26;
  color: #fff;
}
html.theme-clair #lecon-menu .pin-connexion-menu {
  background: #fffdf8;
  border-color: var(--lab-line);
  color: var(--lab-ink);
  box-shadow: 0 12px 32px rgba(40, 30, 16, 0.16);
}
html.theme-clair #lecon-menu .pin-connexion-menu .btn {
  background: var(--lab-accent);
  color: #fff;
}
html.theme-clair #lecon-menu .pin-admin {
  border-color: var(--lab-line);
  color: var(--lab-ink);
  background: #efe8dc;
}
html.theme-clair #lecon-menu .pin-admin:hover {
  background: #d7efe9;
  color: var(--lab-accent);
}
html.theme-clair #lecon-menu .pin-eleves { color: var(--lab-muted); }
html.theme-clair #lecon-menu .btn-theme {
  background: #fffdf8;
  color: var(--lab-ink);
  border-color: var(--lab-line);
}
html.theme-clair #lecon-menu .btn-theme:hover {
  background: #d7efe9;
  color: var(--lab-accent);
}
html.theme-clair #lecon-menu .pin-titre,
html.theme-clair #lecon-menu .pin-meta,
html.theme-clair #lecon-menu .pin-frac,
html.theme-clair #lecon-menu .pin-groupe { color: var(--lab-muted); }
html.theme-clair #lecon-menu .pin-pct { background: #d5cbb8; }
html.theme-clair #lecon-menu .pin-pct i { background: var(--lab-accent); }
html.theme-clair #lecon-menu .pin-pct b { color: var(--lab-ink); text-shadow: none; }
html.theme-clair #lecon-menu .pin-note { color: var(--lab-accent); }
html.theme-clair #lecon-menu .pin-step { border-color: var(--lab-line); color: var(--lab-ink); }
html.theme-clair #lecon-menu .pin-step:hover,
html.theme-clair #lecon-menu .pin-more:hover { background: #d7efe9; color: var(--lab-accent); }
html.theme-clair #lecon-menu .pin-recommencer,
html.theme-clair #lecon-menu .pin-ajouter,
html.theme-clair #lecon-menu .pin-sortie-btn {
  background: #efe8dc;
  color: var(--lab-ink);
  border-color: var(--lab-line);
}
html.theme-clair #lecon-menu .pin-recommencer:hover,
html.theme-clair #lecon-menu .pin-ajouter:hover { background: #d7efe9; color: var(--lab-accent); }
html.theme-clair #lecon-menu .pin-pdf > summary {
  background: #dbeafe;
  color: #1e3a5f;
  border-color: var(--lab-line);
}
html.theme-clair #lecon-menu .pin-pdf:hover > summary,
html.theme-clair #lecon-menu .pin-pdf[open] > summary {
  background: #1e3a5f;
  color: #fff;
}
html.theme-clair #lecon-menu .pin-pdf-liste {
  background: #fffdf8;
  border-color: var(--lab-line);
}
html.theme-clair #lecon-menu .pin-pdf-liste button { color: var(--lab-ink); }
html.theme-clair #lecon-menu .pin-pdf-liste button:hover {
  background: #d7efe9;
  color: var(--lab-accent);
}
html.theme-clair #lecon-menu .pin-dot {
  background: #fffdf8;
  border-color: var(--lab-line);
  color: var(--lab-ink);
}

/* Blocs de cours (fonds encore sombres en dur) */
html.theme-clair .consigne {
  background: #fff;
  border-color: var(--lab-line);
  color: var(--lab-ink);
}
html.theme-clair .consigne h3 { color: var(--lab-ink); }
html.theme-clair .consigne p { color: var(--lab-muted); }
html.theme-clair .consigne-meta { color: var(--lab-accent); }
html.theme-clair .consigne-pas { color: var(--lab-ink); }
html.theme-clair .consigne-ok { background: #e8f6ee; color: #157a4b; }
html.theme-clair .consigne-interdit { background: #fde8e6; color: #b42318; }
html.theme-clair .consigne .num { background: var(--lab-accent); color: #fff; }

html.theme-clair .vocab {
  background: var(--lab-cours-bg);
  border-color: #d8c4a0;
  color: var(--lab-ink);
}
html.theme-clair .vocab .mot { color: var(--lab-cours-title); }
html.theme-clair .vocab .ex { color: var(--lab-muted); }

html.theme-clair .probleme {
  background: #e7f3ef;
  border-color: #0f6b6355;
  color: var(--lab-ink);
}
html.theme-clair .probleme .lab-k { color: var(--lab-accent); }
html.theme-clair .probleme p { color: var(--lab-ink); }
html.theme-clair .probleme.societe {
  background: var(--lab-cours-bg);
  color: var(--lab-cours-ink);
}
html.theme-clair .probleme.societe .lab-k { color: var(--lab-cours-label); }
html.theme-clair .probleme.societe p { color: var(--lab-cours-title); }
html.theme-clair .probleme.societe .cas-ligne { color: #4a3420; }

html.theme-clair .question-seance {
  background: var(--lab-cours-bg);
  color: var(--lab-cours-ink);
}
html.theme-clair .question-seance .lab-k { color: var(--lab-cours-label); }
html.theme-clair .question-seance p { color: var(--lab-cours-title); }

html.theme-clair .lecon,
html.theme-clair body.lab .lecon {
  background: var(--lab-cours-bg);
  border-color: var(--lab-cours-border);
  color: var(--lab-cours-ink);
}
html.theme-clair .lecon .lecon-label,
html.theme-clair body.lab .lecon .lecon-label { color: var(--lab-cours-label); }
html.theme-clair .lecon h2,
html.theme-clair body.lab .lecon h2 { color: var(--lab-cours-title); }
html.theme-clair body.lab .lecon .mot { color: #9a3412; border-bottom-color: #9a3412; }

html.theme-clair .type-badge.inv { background: #d7efe9; color: #0f6b63; }
html.theme-clair .type-badge.cas { background: #f3dcc8; color: #5a210a; }
html.theme-clair .type-badge.projet { background: #ece4f7; color: #5b21b6; }

html.theme-clair .choice,
html.theme-clair body.lab .choice {
  background: #fff;
  border-color: var(--lab-line);
  color: var(--lab-ink);
}
html.theme-clair body.lab .choice.ok { background: #e7f6ee; color: #157a4b; border-color: #157a4b; }
html.theme-clair body.lab .choice.bad { background: #fde8e6; color: #b42318; border-color: #b42318; }
html.theme-clair .chip,
html.theme-clair body.lab .chip {
  background: #fff;
  border-color: var(--lab-line);
  color: var(--lab-ink);
}
html.theme-clair .drop,
html.theme-clair body.lab .drop {
  background: #fff7ee;
  border-color: var(--lab-line);
  color: var(--lab-ink);
}
html.theme-clair .trou {
  color: #2a1408;
  background: #fff3d6;
  border-color: #7a3410;
}
html.theme-clair .callout,
html.theme-clair body.lab .callout {
  background: #d7efe9;
  color: var(--lab-ink);
}
html.theme-clair body.lab .callout.warn { background: #f8e8dc; }
html.theme-clair body.lab .callout.danger { background: #fde8e6; }
html.theme-clair .mini-cours { background: #e7f3ef; color: var(--lab-ink); border-color: var(--lab-accent); }
html.theme-clair body.lab th { background: #e7efe9; color: var(--lab-ink); }
html.theme-clair body.lab td { color: var(--lab-ink); }

html.theme-clair .cesar-machine,
html.theme-clair .enigma-machine,
html.theme-clair .turing-machine {
  background: #fffdf8;
  color: var(--lab-ink);
  border-color: var(--lab-line);
}
html.theme-clair .rotor button {
  background: #efe8dc;
  color: var(--lab-ink);
  border-color: var(--lab-line);
}
html.theme-clair .cesar-machine .kicker,
html.theme-clair .enigma-machine .kicker,
html.theme-clair .turing-machine .kicker { color: var(--lab-accent); }
html.theme-clair .cesar-ligne,
html.theme-clair .cesar-out,
html.theme-clair .enigma-chiffre,
html.theme-clair .enigma-clair,
html.theme-clair .turing-win,
html.theme-clair .rotor-win {
  background: #fff;
  color: var(--lab-ink);
  border-color: var(--lab-line);
}
html.theme-clair .lien-item {
  background: #fff;
  color: var(--lab-ink);
  border-color: var(--lab-line);
}
html.theme-clair .fb.ok,
html.theme-clair .fb.on.ok { color: var(--lab-ok); }
html.theme-clair .fb.bad { color: var(--lab-danger); }

html.theme-clair #recommencer-modale .box,
html.theme-clair #groupe-modale .box,
html.theme-clair #deja-modale .box {
  background: #fffdf8;
  color: var(--lab-ink);
  border-color: var(--lab-line);
}
html.theme-clair #recommencer-modale p,
html.theme-clair #groupe-modale p { color: var(--lab-muted); }
html.theme-clair #recommencer-modale .btn.ghost,
html.theme-clair #groupe-modale .btn.ghost {
  background: #e6ebe8;
  color: var(--lab-ink);
}

/* Compétences (cadre programme) */
html.theme-clair body.lab .referentiel,
html.theme-clair .referentiel {
  background: #fffdf8;
  border-color: var(--lab-line);
  color: var(--lab-ink);
}
html.theme-clair body.lab .referentiel .ref-k,
html.theme-clair .referentiel .ref-k { color: var(--lab-cours-label); }
html.theme-clair body.lab .referentiel strong,
html.theme-clair .referentiel strong { color: var(--lab-accent); }
html.theme-clair body.lab .referentiel li { color: var(--lab-ink); }

/* Barre : dépôt, cours, menu, appel, validée */
html.theme-clair #lecon-menu .pin-depot {
  background: #dbeafe;
  color: #1e3a5f;
}
html.theme-clair #lecon-menu .pin-depot:hover {
  background: #1e3a5f;
  color: #fff;
}
html.theme-clair #lecon-menu .pin-cours > summary {
  background: #efe8dc;
  color: var(--lab-ink);
}
html.theme-clair #lecon-menu .pin-cours:hover > summary,
html.theme-clair #lecon-menu .pin-cours[open] > summary {
  background: #d7efe9;
  color: var(--lab-accent);
}
html.theme-clair #lecon-menu .pin-cours-liste {
  background: #fffdf8;
  border-color: var(--lab-line);
}
html.theme-clair #lecon-menu .pin-cours-liste a { color: var(--lab-ink); }
html.theme-clair #lecon-menu .pin-cours-liste a:hover {
  background: #d7efe9;
  color: var(--lab-accent);
}
html.theme-clair #lecon-menu .pin-seq {
  border-color: var(--lab-accent);
  color: var(--lab-accent);
  background: #e7f3ef;
}
html.theme-clair #lecon-menu .pin-more {
  border-color: var(--lab-line);
  background: #efe8dc;
  color: var(--lab-ink);
}
html.theme-clair #lecon-menu .pin-ok { color: #157a4b; }
html.theme-clair #lecon-menu .pin-groupe b { color: var(--lab-cours-label); }
html.theme-clair #lecon-menu .pin-groupe-quitter { color: var(--lab-muted); }
html.theme-clair #lecon-menu .pin-groupe-quitter:hover {
  background: #fde8e6;
  color: #9f1239;
}
html.theme-clair #lecon-menu .pin-sortie-btn:hover {
  background: #fde8e6;
  color: #9f1239;
}
html.theme-clair #lecon-menu .pin-panel {
  background: #fffdf8;
  border-color: var(--lab-line);
  color: var(--lab-ink);
  box-shadow: 0 12px 32px #0002;
}
html.theme-clair #lecon-menu .pin-panel a.lien { color: var(--lab-ink); }
html.theme-clair #lecon-menu .pin-panel a.lien:hover {
  background: #d7efe9;
  color: var(--lab-accent);
}
html.theme-clair #lecon-menu .pin-panel-k,
html.theme-clair #lecon-menu .pin-panel-noms { color: var(--lab-muted); }
html.theme-clair #lecon-menu .menu-item a,
html.theme-clair #lecon-menu .menu-item button {
  background: #fff;
  color: var(--lab-ink);
  border-color: var(--lab-line);
}
html.theme-clair #lecon-menu .menu-item.ici a {
  background: #d7efe9;
  border-color: var(--lab-accent);
  color: var(--lab-ink);
}
html.theme-clair #lecon-menu .menu-item .n { color: var(--lab-cours-label); }
html.theme-clair a.lecon-lockee::after { color: var(--lab-cours-label); }
html.theme-clair .btn-deja-termine {
  background: #d7efe9;
  color: #0f6b63;
  box-shadow: none;
  animation: none;
}
html.theme-clair .btn-deja-termine:hover { background: #bbefe4; color: #0b4f49; }

/* Lexique */
html.theme-clair .seq-rail-btn,
html.theme-clair #aide-rail-btn {
  background: #fffdf8;
  color: var(--lab-accent);
  border-color: var(--lab-line);
}
html.theme-clair .seq-rail-btn:hover,
html.theme-clair .seq-rail-btn[aria-expanded="true"],
html.theme-clair #aide-rail-btn:hover,
html.theme-clair #aide-rail-btn[aria-expanded="true"] {
  background: #d7efe9;
  color: #0b4f49;
}
html.theme-clair #lex-tiroir {
  background: #fffdf8;
  color: var(--lab-ink);
  border-left-color: var(--lab-line);
}
html.theme-clair #aide-tiroir {
  background: #fffdf8;
  color: var(--lab-ink);
  border-right-color: var(--lab-line);
}
html.theme-clair #aide-tiroir .aide-item { border-color: var(--lab-line); }
html.theme-clair #aide-confirm .box {
  background: #fffdf8;
  color: var(--lab-ink);
  border-color: var(--lab-line);
}
html.theme-clair .dash-card.aide {
  background: #e7f6f4;
  border-color: #0f766e;
  box-shadow: 0 0 0 2px #0f766e33;
}
html.theme-clair .lex-fermer {
  border-color: var(--lab-line);
  color: var(--lab-ink);
}
html.theme-clair .lex-fermer:hover {
  background: #d7efe9;
  color: var(--lab-accent);
}

/* Modales / toasts / suivi */
html.theme-clair #validee-modale .box,
html.theme-clair #suivi-modale .box,
html.theme-clair #faux-modale .box {
  background: #fffdf8;
  color: var(--lab-ink);
  border-color: var(--lab-line);
}
html.theme-clair #validee-modale p,
html.theme-clair #deja-modale p { color: var(--lab-muted); }
html.theme-clair #validee-modale .btn.ghost,
html.theme-clair #deja-modale .btn {
  background: #e6ebe8;
  color: var(--lab-ink);
}
html.theme-clair #deja-modale a {
  background: #fff;
  border-color: var(--lab-line);
  color: var(--lab-accent);
}
html.theme-clair #deja-modale .deja-vote p { color: var(--lab-ink); }
html.theme-clair #suivi-barre {
  background: #fffdf8ee;
  color: var(--lab-ink);
  border-color: var(--lab-line);
}
html.theme-clair #suivi-barre button {
  background: #efe8dc;
  color: var(--lab-ink);
}
html.theme-clair #suivi-modale .ilots button {
  background: #fff;
  color: var(--lab-ink);
  border-color: var(--lab-line);
}
html.theme-clair #suivi-modale .ilots button.on {
  background: #d7efe9;
  border-color: var(--lab-accent);
}
html.theme-clair #depot-toast {
  background: #1c2430;
  color: #fff;
}
html.theme-clair .pin-langue {
  background-color: #fffdf8;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6' viewBox='0 0 10 6'%3E%3Cpath fill='%230f6b63' d='M1 1l4 4 4-4'/%3E%3C/svg%3E");
  color: var(--lab-ink);
}

/* Blocs lab encore peints en dur dans les pages */
html.theme-clair body.lab .mot { color: #9a3412; border-bottom-color: #9a3412; }
html.theme-clair body.lab .tag { background: #d7efe9; color: #0f6b63; }
html.theme-clair body.lab .tag.orange { background: #f3dcc8; color: #5a210a; }
html.theme-clair body.lab .hero {
  background: #e7f3ef;
  color: var(--lab-ink);
}
html.theme-clair body.lab .hero h1 { color: var(--lab-ink); }
html.theme-clair body.lab .codebox { background: #e7f3ef; color: #0b4f49; }
html.theme-clair body.lab .aide details { background: #eef4ff; border-color: var(--lab-line); }
html.theme-clair body.lab .aide summary { color: #1e3a5f; }
html.theme-clair body.lab .bucket { background: #fff; }
html.theme-clair body.lab .token {
  background: #efe8dc;
  border-color: var(--lab-line);
  color: var(--lab-ink);
}
html.theme-clair body.lab .fb.ok,
html.theme-clair body.lab .fb.on.ok {
  background: #e8f6ee;
  border-color: #157a4b;
  color: #157a4b;
}
html.theme-clair body.lab .fb.bad {
  background: #fde8e6;
  border-color: #b42318;
  color: #b42318;
}
html.theme-clair body.lab .sim { background: #fff; color: var(--lab-ink); }
html.theme-clair .moi-fiche { background: #d7efe9; color: #0f6b63; border-color: var(--lab-line); }
html.theme-clair .moi-fiche.lock { background: #efe8dc; color: var(--lab-muted); }

html.theme-clair body.lab .fiche-lina,
html.theme-clair body.lab .traces-bloc,
html.theme-clair body.lab .who label,
html.theme-clair body.lab .who-btns button,
html.theme-clair body.lab .ligne-class,
html.theme-clair body.lab .ordre .chip,
html.theme-clair body.lab .pick .choice,
html.theme-clair body.lab .ressource-grid a,
html.theme-clair body.lab .tab-col,
html.theme-clair body.lab .tab-chip,
html.theme-clair body.lab .argu,
html.theme-clair body.lab .node {
  background: #fff;
  color: var(--lab-ink);
  border-color: var(--lab-line);
}
html.theme-clair body.lab .banque button {
  background: #fff7ee;
  color: #9a3412;
  border-color: #e08a40;
}
html.theme-clair body.lab .traces-bloc-bar {
  background: #1d4ed8;
  color: #fff;
}
html.theme-clair body.lab .traces-cookie {
  background: #fff7ee;
  color: var(--lab-ink);
  border-color: var(--lab-line);
}
html.theme-clair body.lab .snif {
  background: #e7f3ef;
  color: #0b4f49;
}
html.theme-clair body.lab .pir-card,
html.theme-clair body.lab .meth-liste input,
html.theme-clair body.lab .n4-plan textarea {
  background: #fff;
  color: var(--lab-ink);
}
html.theme-clair body.lab .exo,
html.theme-clair body.lab .exo-title,
html.theme-clair body.lab .mail-app,
html.theme-clair body.lab .page-web {
  color: var(--lab-ink);
}
