/* Aibō III : Les Brumes de Bayesia. Couleurs en aplats, aucune police à empattements. */
.a3 {
	--a3-encre: #1F2E26;
	--a3-fonce: #2F4A3A;
	--a3-moyen: #4F6B58;
	--a3-accent: #4F7A5A;
	--a3-sauge: #A9BFA0;
	--a3-pale: #CFE0C4;
	--a3-fond: #E3EBDE;
	--a3-papier: #F3F6F0;
	--a3-blanc: #FFFFFF;
	--a3-or: #D9A441;
	--a3-rouge: #B24A3B;
	--a3-filet: #CDD9C6;
	max-width: 1320px;
	margin: 0 auto;
	background: var(--a3-fond);
	color: var(--a3-encre);
	border-radius: 18px;
	overflow: hidden;
	line-height: 1.55;
	font-size: 16px;
	container-type: inline-size;
	container-name: a3;
}
.a3, .a3 * { font-family: 'Lexend', system-ui, -apple-system, 'Segoe UI', Roboto, Arial, sans-serif !important; box-sizing: border-box; }
.a3 h1, .a3 h2, .a3 h3 { color: var(--a3-encre); font-weight: 600; line-height: 1.2; padding: 0; letter-spacing: 0; text-transform: none; }
.a3 h1 { font-size: 30px; margin: 4px 0 12px; }
.a3 h2 { font-size: 21px; margin: 0 0 14px; }
.a3 h3 { font-size: 17px; margin: 0 0 10px; }
.a3 p { margin: 0 0 12px; padding: 0; }
.a3 a { color: var(--a3-fonce); }
.a3 code { background: var(--a3-papier); padding: 1px 6px; border-radius: 4px; font-size: 0.92em; font-family: ui-monospace, Menlo, Consolas, monospace !important; }
.a3 button { font-size: 15px; }
.a3-ico { flex-shrink: 0; }
.a3 :focus-visible { outline: 3px solid var(--a3-or); outline-offset: 2px; }

/* chargement */
.a3-chargement { padding: 80px 20px; text-align: center; color: var(--a3-moyen); }
.a3-chargement-robot { display: block; width: 36px; height: 36px; margin: 0 auto 12px; background: var(--a3-encre); border-radius: 9px; animation: a3-saut 1s ease-in-out infinite; }
@keyframes a3-saut { 50% { transform: translateY(-10px); } }
.a3-attente { padding: 40px 0; text-align: center; color: var(--a3-moyen); }

/* bandeau */
.a3-tete { display: flex; align-items: center; justify-content: space-between; gap: 16px; flex-wrap: wrap; padding: 14px 24px; background: var(--a3-encre); color: var(--a3-fond); }
.a3-logo { display: flex; align-items: baseline; gap: 14px; text-decoration: none; color: inherit !important; }
.a3-logo-titre { font-size: 21px; font-weight: 700; letter-spacing: 0.06em; }
.a3-logo-sous { font-size: 14px; color: var(--a3-pale); }
.a3-nav { display: flex; gap: 4px; flex-wrap: wrap; }
.a3-nav a { display: flex; align-items: center; gap: 8px; padding: 9px 12px; border-radius: 10px; color: var(--a3-pale) !important; text-decoration: none; font-size: 14px; }
.a3-nav a:hover { background: #2C4436; color: var(--a3-blanc) !important; }
.a3-nav a.a3-actif { background: var(--a3-fonce); color: var(--a3-blanc) !important; }
.a3-outils { display: flex; align-items: center; gap: 8px; }
.a3-puce-logiciel { padding: 5px 11px; border: 1px solid #6E8F5E; border-radius: 6px; font-size: 13px; font-weight: 500; }
.a3-icone-btn { width: 44px; height: 44px; border-radius: 10px; border: 1px solid #3D5B45; background: transparent; color: var(--a3-pale); display: inline-flex; align-items: center; justify-content: center; cursor: pointer; text-decoration: none; }
.a3-icone-btn:hover { background: #2C4436; color: var(--a3-blanc); }
.a3-icone-btn[aria-pressed="true"] { background: var(--a3-fonce); color: var(--a3-or); border-color: var(--a3-fonce); }
.a3-vue { padding: 28px; min-height: 520px; outline: none; }
.a3-pied { padding: 14px 24px; font-size: 12px; color: var(--a3-moyen); border-top: 1px solid var(--a3-filet); }
@container a3 (max-width: 860px) { .a3-nav a span { display: none; } .a3-vue { padding: 18px 14px; } .a3-logo-sous { display: none; } }

/* boutons */
.a3-btn { display: inline-flex; align-items: center; gap: 8px; min-height: 46px; padding: 10px 18px; border-radius: 12px; border: 1px solid var(--a3-sauge); background: var(--a3-papier); color: var(--a3-encre) !important; font-weight: 500; text-decoration: none; cursor: pointer; line-height: 1.2; }
.a3-btn:hover { background: var(--a3-blanc); border-color: var(--a3-accent); }
.a3-btn:disabled { opacity: 0.5; cursor: default; }
.a3-btn-principal { background: var(--a3-fonce); border-color: var(--a3-fonce); color: var(--a3-papier) !important; font-weight: 600; }
.a3-btn-principal:hover { background: var(--a3-encre); border-color: var(--a3-encre); }
.a3-btn-petit { min-height: 40px; padding: 7px 14px; font-size: 14px; }
.a3-btn-danger { border-color: #D7A79E; color: #8A3226 !important; }
.a3-plein { width: 100%; justify-content: center; margin-top: 14px; }
.a3-lien { background: none; border: 0; padding: 6px 0; color: var(--a3-fonce); font-weight: 500; cursor: pointer; display: inline-flex; align-items: center; gap: 6px; text-decoration: underline; text-underline-offset: 3px; }
.a3-lien:disabled { opacity: 0.45; cursor: default; text-decoration: none; }
.a3-actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 18px; }
.a3-surtitre { font-size: 12px !important; letter-spacing: 0.1em; text-transform: uppercase; color: var(--a3-moyen); margin: 0 0 4px !important; font-weight: 500; }
.a3-info { padding: 12px 16px; background: var(--a3-papier); border-left: 0; border-radius: 10px; color: var(--a3-fonce); }
.a3-note { font-size: 13px; color: var(--a3-moyen); }

/* segment logiciel */
.a3-segment { display: inline-flex; padding: 4px; background: var(--a3-fond); border-radius: 12px; gap: 4px; border: 1px solid var(--a3-filet); }
.a3-segment button { min-width: 96px; min-height: 40px; padding: 6px 16px; border: 0; border-radius: 9px; background: transparent; color: var(--a3-fonce); cursor: pointer; font-weight: 500; }
.a3-segment button[aria-checked="true"] { background: var(--a3-fonce); color: var(--a3-papier); }

/* accueil et intro */
.a3-accueil, .a3-intro { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr); gap: 28px; align-items: center; padding: 28px; }
.a3-intro { padding: 0; }
.a3-accueil-diorama, .a3-intro-diorama { background: #D5E0CF; border-radius: 20px; padding: 18px; }
.a3-accueil h1, .a3-intro h1 { font-size: 40px; }
.a3-accueil h1 span { display: block; font-size: 22px; font-weight: 400; color: var(--a3-moyen); margin-top: 6px; }
.a3-choix-logiciel { margin-top: 18px; padding: 16px; background: var(--a3-papier); border-radius: 14px; }
@container a3 (max-width: 860px) { .a3-accueil, .a3-intro { grid-template-columns: 1fr; } }

/* diorama */
.a3-iso { width: 100%; height: auto; display: block; }
.a3-brume-bloc { transition: opacity 1.4s ease; }
.a3-brume-levee .a3-brume-bloc { opacity: 0; }
.a3-iso-aibo { animation: a3-flotte 2.6s ease-in-out infinite; }
@keyframes a3-flotte { 50% { transform: translateY(-3px); } }
.a3-iso [data-region] { cursor: pointer; }
.a3-iso .a3-reg-verrouillee { cursor: not-allowed; }
.a3-iso-etiquette text { pointer-events: none; }

/* carte */
.a3-carte { display: grid; grid-template-columns: minmax(0, 1.55fr) minmax(300px, 1fr); gap: 24px; }
.a3-carte-tete { display: flex; justify-content: space-between; align-items: flex-end; gap: 12px; margin-bottom: 12px; }
.a3-rotation { display: flex; gap: 8px; }
.a3-rotation .a3-icone-btn { color: var(--a3-fonce); border-color: var(--a3-sauge); background: var(--a3-papier); }
.a3-carte-diorama { background: #D5E0CF; border-radius: 20px; padding: 14px; }
.a3-legende { display: flex; gap: 18px; flex-wrap: wrap; margin-top: 10px; font-size: 13px; color: var(--a3-fonce); }
.a3-legende span { display: inline-flex; align-items: center; gap: 6px; }
.a3-legende i { width: 14px; height: 14px; border-radius: 4px; display: inline-block; }
.a3-l-finie { background: var(--a3-fonce); } .a3-l-ouverte { background: var(--a3-or); } .a3-l-verrou { background: #9AA592; }
.a3-missions { list-style: none !important; margin: 0 !important; padding: 0 !important; display: flex; flex-direction: column; gap: 10px; }
.a3-missions li { list-style: none !important; margin: 0 !important; padding: 0 !important; }
.a3-mission-carte a, .a3-mission-carte > div { display: flex; gap: 14px; align-items: flex-start; padding: 14px 16px; border-radius: 14px; background: var(--a3-papier); text-decoration: none; color: var(--a3-encre) !important; border: 1px solid transparent; }
.a3-mission-carte a:hover { border-color: var(--a3-accent); background: var(--a3-blanc); }
.a3-num { flex-shrink: 0; width: 36px; height: 36px; border-radius: 50%; display: flex; align-items: center; justify-content: center; font-weight: 700; background: var(--a3-or); color: var(--a3-encre); }
.a3-m-finie .a3-num { background: var(--a3-fonce); color: var(--a3-papier); }
.a3-m-verrouillee > div { opacity: 0.62; }
.a3-m-verrouillee .a3-num { background: #9AA592; color: var(--a3-papier); }
.a3-mc-texte { display: flex; flex-direction: column; gap: 2px; min-width: 0; }
.a3-mc-texte strong { font-weight: 600; }
.a3-mc-texte > span { font-size: 13px; color: var(--a3-moyen); }
.a3-mc-tests { font-size: 12px !important; color: var(--a3-fonce) !important; }
.a3-mc-prog { display: block; height: 6px; background: var(--a3-filet); border-radius: 3px; margin-top: 6px; }
.a3-mc-prog span { display: block; height: 6px; background: var(--a3-accent); border-radius: 3px; }
@container a3 (max-width: 960px) { .a3-carte { grid-template-columns: 1fr; } }

/* mission */
.a3-m-entete { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 24px; align-items: center; margin-bottom: 22px; }
.a3-m-diorama { background: #D5E0CF; border-radius: 20px; padding: 12px; }
.a3-retour { display: inline-flex; align-items: center; gap: 6px; font-size: 14px; text-decoration: none; margin-bottom: 10px; color: var(--a3-moyen) !important; }
.a3-theme { font-size: 17px; color: var(--a3-moyen); }
.a3-duo-tests, .a3-fiche-tests { display: flex; flex-wrap: wrap; gap: 8px; margin: 10px 0 14px; }
.a3-t-freq, .a3-t-bayes { font-size: 13px; padding: 6px 12px; border-radius: 999px; }
.a3-t-freq { background: #F2DED9; color: #6E2B21; }
.a3-t-bayes { background: var(--a3-pale); color: var(--a3-encre); }
@container a3 (max-width: 860px) { .a3-m-entete { grid-template-columns: 1fr; } }
.a3-bloc { background: var(--a3-papier); border-radius: 18px; padding: 22px 24px; margin-bottom: 18px; }
.a3-bloc:empty { display: none; }
.a3-recit > p { max-width: 820px; font-size: 16.5px; }
.a3-bulles { display: grid; grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); gap: 12px; margin-top: 14px; }
.a3-bulle { display: flex; gap: 12px; padding: 12px 14px; background: var(--a3-fond); border-radius: 14px; }
.a3-bulle p { margin: 2px 0 0 !important; }
.a3-bulle .a3-role { font-size: 12px; color: var(--a3-moyen); }
.a3-avatar { width: 38px; height: 38px; flex-shrink: 0; border-radius: 50%; display: flex; align-items: center; justify-content: center; font-weight: 700; color: var(--a3-papier); background: var(--a3-moyen); }
.a3-bulle-kian .a3-avatar { background: var(--a3-or); color: var(--a3-encre); }
.a3-bulle-aibo .a3-avatar { background: var(--a3-encre); }

/* données */
.a3-donnees-grille { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.2fr); gap: 24px; }
.a3-vars { width: 100%; border-collapse: collapse; margin: 6px 0 16px; font-size: 14px; background: transparent; border: 0; }
.a3-vars th, .a3-vars td { text-align: left; padding: 7px 8px; border: 0; border-bottom: 1px solid var(--a3-filet); }
.a3-vars th { font-weight: 600; color: var(--a3-moyen); font-size: 12px; }
.a3-procedure { background: var(--a3-blanc); border-radius: 14px; padding: 16px 18px; }
.a3-proc-tete { display: flex; justify-content: space-between; align-items: center; gap: 10px; flex-wrap: wrap; margin-bottom: 10px; }
.a3-proc-tete h3 { margin: 0; }
.a3-proc-liste { margin: 0 0 0 20px !important; padding: 0 !important; }
.a3-proc-liste li { margin-bottom: 8px; font-size: 14.5px; }
@container a3 (max-width: 860px) { .a3-donnees-grille { grid-template-columns: 1fr; } }

/* questions */
.a3-questions { display: grid; grid-template-columns: repeat(auto-fit, minmax(330px, 1fr)); gap: 14px; }
.a3-q { background: var(--a3-blanc); border: 1px solid var(--a3-filet); border-radius: 14px; padding: 16px; }
.a3-q[data-q] .a3-options { margin-top: 4px; }
.a3-q:has(.a3-options) { grid-column: 1 / -1; }
.a3-q-ok { border-color: var(--a3-accent); background: #F6FAF3; }
.a3-q-bloquee { opacity: 0.55; }
.a3-q-tete { display: flex; gap: 10px; align-items: flex-start; margin-bottom: 10px; font-weight: 500; }
.a3-q-tete label, .a3-q-label { font-weight: 500; }
.a3-q-etat { width: 26px; height: 26px; flex-shrink: 0; border-radius: 50%; border: 2px solid var(--a3-filet); display: flex; align-items: center; justify-content: center; color: var(--a3-papier); }
.a3-q-ok .a3-q-etat { background: var(--a3-accent); border-color: var(--a3-accent); }
.a3-q-ok .a3-q-etat .a3-ico { width: 16px; height: 16px; }
.a3-q-saisie { display: flex; gap: 8px; }
.a3-q-saisie input { flex: 1; min-width: 0; min-height: 46px; padding: 8px 12px; border: 1px solid var(--a3-sauge); border-radius: 10px; font-size: 16px; background: var(--a3-blanc); color: var(--a3-encre); }
.a3-q-saisie input[readonly] { background: #EEF4EA; border-color: var(--a3-accent); }
.a3-options { display: flex; flex-direction: column; gap: 8px; }
.a3-option { display: flex; gap: 12px; align-items: flex-start; text-align: left; padding: 11px 14px; border: 1px solid var(--a3-filet); border-radius: 12px; background: var(--a3-papier); color: var(--a3-encre); cursor: pointer; line-height: 1.45; }
.a3-option:hover:not(:disabled) { border-color: var(--a3-accent); background: var(--a3-blanc); }
.a3-option:disabled { cursor: default; }
.a3-opt-lettre { flex-shrink: 0; width: 26px; height: 26px; border-radius: 7px; background: var(--a3-fond); display: flex; align-items: center; justify-content: center; font-weight: 700; font-size: 13px; }
.a3-option-juste { border-color: var(--a3-accent); background: #E7F1E1; }
.a3-option-juste .a3-opt-lettre { background: var(--a3-accent); color: var(--a3-papier); }
.a3-option-fausse { border-color: #D7A79E; background: #FBEFEC; }
.a3-q-pied { display: flex; justify-content: flex-end; }
.a3-indices { margin: 6px 0 0 !important; padding: 0 !important; list-style: none !important; }
.a3-indices li { padding: 8px 12px; margin-bottom: 6px; background: #FBF4E3; border-radius: 10px; font-size: 14px; list-style: none !important; }
.a3-retour-q { margin: 8px 0 0 !important; font-size: 14px; }
.a3-retour-q:empty { display: none; }
.a3-juste { color: #2F6B45; }
.a3-faux { color: #8A3226; }
.a3-secoue { animation: a3-secoue 0.35s; }
@keyframes a3-secoue { 25% { transform: translateX(-5px); } 75% { transform: translateX(5px); } }
.a3-rep-ens { margin-top: 10px; padding: 10px 12px; background: #FBF4E3; border: 1px dashed var(--a3-or); border-radius: 10px; font-size: 14px; }
.a3-rep-ens span { color: var(--a3-moyen); }

/* bilan */
.a3-bilan-zone.a3-apparait { animation: a3-apparait 0.8s ease; }
@keyframes a3-apparait { from { opacity: 0; transform: translateY(12px); } }
.a3-apercu { border: 2px dashed var(--a3-or); }
.a3-duel { display: grid; grid-template-columns: 1fr auto 1fr; gap: 14px; align-items: stretch; margin-bottom: 16px; }
.a3-duel > div { border-radius: 14px; padding: 16px 18px; }
.a3-duel-p { background: #F7E9E5; }
.a3-duel-bf { background: #E3EEDD; }
.a3-duel-vs { align-self: center; font-weight: 600; color: var(--a3-moyen); padding: 0 !important; }
.a3-duel-t { font-size: 12px !important; text-transform: uppercase; letter-spacing: 0.08em; color: var(--a3-moyen); margin-bottom: 4px !important; }
.a3-duel-v { font-size: 20px; font-weight: 700; margin-bottom: 6px !important; }
.a3-bilan-texte { font-size: 16.5px; max-width: 900px; }
.a3-carnet { background: var(--a3-blanc); border-radius: 14px; padding: 16px 18px; margin-top: 12px; }
.a3-courbes, .a3-jeffreys { width: 100%; max-width: 640px; height: auto; display: block; }
.a3-leg-courbes { display: flex; gap: 18px; flex-wrap: wrap; font-size: 13px; margin: 4px 0 14px; }
.a3-leg-courbes span { display: inline-flex; gap: 6px; align-items: center; }
.a3-leg-courbes i { display: inline-block; width: 22px; height: 0; }
.a3-l-prior { border-top: 3px dashed var(--a3-sauge); } .a3-l-post { border-top: 3px solid var(--a3-accent); }
@container a3 (max-width: 700px) { .a3-duel { grid-template-columns: 1fr; } .a3-duel-vs { display: none; } }

/* mini-jeu */
.a3-mini-grille { display: grid; grid-template-columns: 260px minmax(0, 1fr); gap: 20px; margin-top: 10px; }
.a3-mini-stats { background: var(--a3-blanc); border-radius: 14px; padding: 16px; }
.a3-boussole { width: 120px; margin: 0 auto 10px; }
.a3-aiguille { transition: transform 0.4s ease; }
.a3-mini-stats dl { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; margin: 0; }
.a3-mini-stats dt { font-size: 12px; color: var(--a3-moyen); }
.a3-mini-stats dd { margin: 0; font-size: 20px; font-weight: 700; }
.a3-mini-stats dd.a3-sig { color: var(--a3-rouge); }
.a3-mini-graphes { display: flex; flex-direction: column; gap: 10px; background: var(--a3-blanc); border-radius: 14px; padding: 12px; }
.a3-mini-graphes svg { width: 100%; height: auto; }
.a3-mini-bulle { margin-top: 14px; }
.a3-mini-bulle:empty { display: none; }
.a3-mini-bilan { margin-top: 16px; padding: 16px 18px; background: var(--a3-blanc); border-radius: 14px; }
@container a3 (max-width: 860px) { .a3-mini-grille { grid-template-columns: 1fr; } }

/* pages */
.a3-page { max-width: 1040px; }
.a3-fiches { display: grid; grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); gap: 14px; margin-top: 16px; }
.a3-fiche { background: var(--a3-papier); border-radius: 16px; padding: 18px 20px; }
.a3-fiche-valeurs { font-size: 14px; color: var(--a3-moyen); }
.a3-echelle-rappel { background: var(--a3-papier); border-radius: 16px; padding: 18px 20px; margin: 16px 0; }
.a3-carte-blanche { background: var(--a3-papier); border-radius: 16px; padding: 18px 20px; margin-bottom: 14px; }
.a3-interrupteur { display: flex; align-items: center; gap: 10px; min-height: 44px; cursor: pointer; }
.a3-interrupteur input { width: 20px; height: 20px; accent-color: var(--a3-accent); }
.a3-cert-apercu { background: var(--a3-blanc); border-radius: 12px; padding: 12px; margin: 14px 0; }
.a3-cert-apercu svg { width: 100%; height: auto; display: block; }
.a3-form-cert { display: flex; flex-wrap: wrap; gap: 10px; align-items: flex-end; background: var(--a3-papier); padding: 18px; border-radius: 16px; }
.a3-form-cert label { width: 100%; font-weight: 500; }
.a3-form-cert input { flex: 1; min-width: 220px; min-height: 46px; padding: 8px 12px; border: 1px solid var(--a3-sauge); border-radius: 10px; font-size: 16px; }
.a3-prog-grande { height: 14px; background: var(--a3-filet); border-radius: 7px; margin: 10px 0 18px; max-width: 520px; }
.a3-prog-grande span { display: block; height: 14px; background: var(--a3-accent); border-radius: 7px; }
.a3-verif { padding: 28px; }
.a3-verif-ok, .a3-verif-non { display: inline-flex; align-items: center; gap: 10px; padding: 12px 18px; border-radius: 12px; font-weight: 600; font-size: 18px; }
.a3-verif-ok { background: #E3EEDD; color: #2F6B45; }
.a3-verif-non { background: #FBEFEC; color: #8A3226; }
.a3-verif-dl { display: grid; grid-template-columns: max-content 1fr; gap: 6px 18px; margin: 16px 0; }
.a3-verif-dl dt { color: var(--a3-moyen); }
.a3-verif-dl dd { margin: 0; font-weight: 600; }
.a3-boite-msg { padding: 40px; text-align: center; }
.a3-tableau-defile { overflow-x: auto; background: var(--a3-papier); border-radius: 14px; padding: 6px; }
.a3-tableau { width: 100%; border-collapse: collapse; font-size: 14px; border: 0; margin: 0; }
.a3-tableau th, .a3-tableau td { padding: 9px 10px; text-align: left; border: 0; border-bottom: 1px solid var(--a3-filet); white-space: nowrap; }
.a3-tableau th { font-size: 12px; color: var(--a3-moyen); font-weight: 600; }
.a3-mini-barre { display: inline-block; width: 70px; height: 7px; background: var(--a3-filet); border-radius: 4px; vertical-align: middle; }
.a3-mini-barre span { display: block; height: 7px; background: var(--a3-accent); border-radius: 4px; }

@media (prefers-reduced-motion: reduce) {
	.a3 *, .a3 *::before { animation: none !important; transition: none !important; }
}

.a3-badge { display: inline-block; font-size: 11px !important; padding: 2px 8px !important; margin-left: 6px; vertical-align: 1px; font-weight: 600; }
.a3-probleme { background: var(--a3-blanc); border-radius: 14px; padding: 12px 16px; margin: 8px 0 12px; }
.a3-probleme p:last-child { margin: 0 !important; font-size: 17px; font-weight: 500; }
.a3-decision { background: var(--a3-fonce); color: var(--a3-papier); border-radius: 14px; padding: 14px 18px; margin: 4px 0 14px; max-width: 900px; }
.a3-decision .a3-surtitre { color: var(--a3-pale) !important; }
.a3-decision p:last-child { margin: 0 !important; font-size: 16.5px; }
.a3-mc-pb { color: var(--a3-encre) !important; font-size: 13.5px !important; }
.a3-fiche-pb { font-size: 14.5px; }

/* tutoriel */
.a3-tuto .a3-retour { margin-bottom: 12px; }
.a3t-tete { margin-bottom: 14px; }
.a3t-points { display: flex; gap: 6px; margin-top: 8px; }
.a3t-points span { width: 28px; height: 6px; border-radius: 3px; background: var(--a3-filet); }
.a3t-points .a3t-fait { background: var(--a3-accent); }
.a3t-points .a3t-ici { background: var(--a3-or); }
.a3t-corps { max-width: 920px; }
.a3t-corps p, .a3t-corps li { font-size: 16px; }
.a3t-deux { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.2fr); gap: 20px; align-items: center; margin-bottom: 14px; }
@container a3 (max-width: 760px) { .a3t-deux { grid-template-columns: 1fr; } }
.a3t-ciel { width: 100%; height: auto; display: block; border-radius: 14px; }
.a3t-grille { width: 100%; max-width: 240px; height: auto; display: block; }
.a3t-leg { display: flex; flex-wrap: wrap; gap: 14px; font-size: 13px; margin: 6px 0 14px; }
.a3t-leg span { display: inline-flex; align-items: center; gap: 6px; }
.a3t-leg i { width: 14px; height: 14px; border-radius: 4px; display: inline-block; }
.a3t-leg i.a3t-cadre { border: 2.5px solid var(--a3-encre); background: transparent; }
.a3t-action { background: var(--a3-blanc); border-radius: 14px; padding: 14px 16px; margin: 12px 0; }
.a3t-action label { display: block; font-weight: 500; margin-bottom: 8px; }
.a3t-curseur { display: flex; align-items: center; gap: 12px; margin: 6px 0 12px; flex-wrap: wrap; }
.a3t-curseur label { font-weight: 500; }
.a3t-curseur input[type=range], .gb-curseur input[type=range] { -webkit-appearance: none; appearance: none; flex: 1; min-width: 200px; height: 34px; margin: 0; padding: 0; background: transparent !important; border: 0 !important; box-shadow: none !important; opacity: 1 !important; cursor: pointer; }
.a3t-curseur input[type=range]::-webkit-slider-runnable-track, .gb-curseur input[type=range]::-webkit-slider-runnable-track { height: 10px; border-radius: 5px; background: var(--a3-filet); border: 1px solid var(--a3-sauge); }
.a3t-curseur input[type=range]::-moz-range-track, .gb-curseur input[type=range]::-moz-range-track { height: 10px; border-radius: 5px; background: var(--a3-filet); border: 1px solid var(--a3-sauge); }
.a3t-curseur input[type=range]::-moz-range-progress, .gb-curseur input[type=range]::-moz-range-progress { height: 10px; border-radius: 5px; background: var(--a3-accent); }
.a3t-curseur input[type=range]::-webkit-slider-thumb, .gb-curseur input[type=range]::-webkit-slider-thumb { -webkit-appearance: none; appearance: none; width: 28px; height: 28px; margin-top: -10px; border-radius: 50%; background: var(--a3-fonce); border: 4px solid var(--a3-or); }
.a3t-curseur input[type=range]::-moz-range-thumb, .gb-curseur input[type=range]::-moz-range-thumb { width: 22px; height: 22px; border-radius: 50%; background: var(--a3-fonce); border: 4px solid var(--a3-or); }
.a3t-curseur input[type=range]:focus-visible, .gb-curseur input[type=range]:focus-visible { outline: 3px solid var(--a3-or); outline-offset: 4px; }
.a3t-curseur output { font-weight: 700; font-size: 20px; min-width: 56px; }
.a3t-choix { display: flex; flex-wrap: wrap; gap: 10px; margin: 8px 0; }
.a3t-col { flex-direction: column; align-items: flex-start; }
.a3t-col .a3-btn { text-align: left; }
.a3t-retour { margin-top: 8px !important; font-size: 15px; }
.a3t-retour:empty { display: none; }
.a3t-juste { color: #2F6B45; }
.a3t-faux { color: #8A3226; }
.a3t-barres { background: var(--a3-blanc); border-radius: 14px; padding: 14px 16px; margin: 10px 0; }
.a3t-barre { display: grid; grid-template-columns: minmax(120px, 210px) 1fr 52px; gap: 10px; align-items: center; margin-bottom: 8px; font-size: 14px; }
.a3t-b-piste { position: relative; height: 16px; background: var(--a3-fond); border-radius: 8px; overflow: hidden; }
.a3t-b-val { display: block; height: 16px; border-radius: 8px; transition: width .8s ease; }
.a3t-b-seuil { position: absolute; top: 0; bottom: 0; left: 25%; width: 3px; background: var(--a3-encre); }
.a3t-note { font-size: 12.5px !important; color: var(--a3-moyen); margin: 4px 0 0 !important; }
.a3t-calcul, .a3t-decision { font-size: 15px; background: var(--a3-fond); border-radius: 10px; padding: 10px 14px; }
.a3t-recap { width: 100%; border-collapse: collapse; margin: 10px 0 16px; font-size: 14.5px; border: 0; }
.a3t-recap th, .a3t-recap td { text-align: left; padding: 10px 12px; border: 0; border-bottom: 1px solid var(--a3-filet); vertical-align: top; }
.a3t-recap th { font-size: 12px; color: var(--a3-moyen); text-transform: uppercase; letter-spacing: .06em; }
.a3t-recap td:nth-child(2) { font-weight: 600; white-space: nowrap; }

/* plein écran : le jeu couvre la page, l'en-tête et le pied du site disparaissent */
html.a3-plein-ecran, html.a3-plein-ecran body { overflow: hidden !important; }
/* En plein écran, l'en-tête et le pied de page du thème (Divi, Aibō) sont masqués. */
html.a3-plein-ecran .et-l--header,html.a3-plein-ecran .et-l--footer,html.a3-plein-ecran #main-header,html.a3-plein-ecran #main-footer,html.a3-plein-ecran #top-header,html.a3-plein-ecran .aibo-cadre{display:none !important}
.a3.a3-plein { position: fixed !important; inset: 0 !important; z-index: 999999; width: auto !important; max-width: none !important; margin: 0 !important; border-radius: 0; overflow-y: auto; overscroll-behavior: contain; display: flex; flex-direction: column; }
.a3.a3-plein .a3-tete { position: sticky; top: 0; z-index: 5; }
.a3.a3-plein .a3-vue { flex: 1; width: 100%; max-width: 1320px; margin: 0 auto; }
.a3.a3-plein .a3-accueil, .a3.a3-plein .a3-verif { width: 100%; max-width: 1320px; margin: auto; }
.a3:fullscreen { overflow-y: auto; }

/* ---- 1.5 : enregistrement, mode Réponses, son et musique barrés quand ils sont coupés ---- */
.a3-sauve{position:fixed;right:16px;bottom:14px;z-index:1000001;font:600 12px/1 Lexend,system-ui,sans-serif;color:var(--a3-fonce,#1F2E26);background:#fff;border:1px solid var(--a3-or,#D9A441);border-radius:12px;padding:5px 11px;opacity:0;transition:opacity .4s;pointer-events:none;box-shadow:0 2px 8px rgba(0,0,0,.15)}
.a3-sauve.on{opacity:1}.a3-sauve.mal{border-color:#A33;color:#A33}
.a3-btn-musique[aria-pressed="false"],.a3-btn-sons[aria-pressed="false"]{position:relative;opacity:.55}
.a3-btn-musique[aria-pressed="false"]::after,.a3-btn-sons[aria-pressed="false"]::after{content:"";position:absolute;left:8px;right:8px;top:50%;height:2px;background:currentColor;transform:rotate(-40deg);border-radius:1px;box-shadow:0 0 0 1.5px var(--a3-fonce,#1F2E26)}
.a3-btn-reponses{border:1px dashed var(--a3-or,#D9A441);border-radius:18px;background:transparent;color:var(--a3-or,#D9A441);font:600 13px Lexend,system-ui,sans-serif;padding:0 12px;height:36px;cursor:pointer}
.a3-btn-reponses[aria-pressed="true"]{background:var(--a3-or,#D9A441);color:var(--a3-fonce,#1F2E26);border-style:solid}
/* Tutoriel : réponses attendues, visibles en mode Réponses */
.a3-ens-texte{display:none;margin:8px 0 0;padding:8px 12px;background:#FBF6E8;border-left:4px solid var(--a3-or,#D9A441);color:#4A3A18;border-radius:6px;font-size:14px}
body.a3-rep-on .a3-ens-texte{display:block}
body.a3-rep-on .a3-ens-bon{outline:3px solid var(--a3-or,#D9A441)!important;outline-offset:2px}

/* Bloc « Ton avis » */
.aibo-avis-bloc h2{margin:0 0 6px}.aibo-avis-etoiles{display:flex;gap:4px;margin:10px 0}
.aibo-avis-etoiles button{font-size:34px;line-height:1;background:none;border:0;cursor:pointer;color:#CFE0C4;padding:0 2px;transition:transform .15s}
.aibo-avis-etoiles button.on{color:#D9A441}.aibo-avis-etoiles button:hover{transform:scale(1.12)}
.aibo-avis-label{display:block;margin:8px 0;font-weight:600}.aibo-avis-label textarea{display:block;width:100%;margin-top:6px;padding:10px;border-radius:8px;border:1px solid #A9BFA0;font:inherit;font-weight:400;box-sizing:border-box}
.aibo-avis-envoyer{padding:10px 20px;border-radius:22px;border:0;background:#2F4A3A;color:#FFF;font:inherit;font-weight:600;cursor:pointer}
.aibo-avis-retour.bon{color:#2E7D32;font-weight:600}.aibo-avis-retour.mal{color:#B5523F;font-weight:600}

/* ---- Jeu bonus : le champ de Golbarg ---- */
.a3-bonus .a3-num{background:var(--a3-or,#D9A441);color:#1F2E26}
.gb-tete h1{margin:2px 0 4px}.gb-sous{margin:0 0 14px;color:#4F6B58}
.gb-jeu{display:grid;grid-template-columns:minmax(0,1fr) 280px;gap:18px;align-items:start}@media (max-width:820px){.gb-jeu{grid-template-columns:1fr}}
.gb-champ,.gb-carnet{background:#F3F6F0;border-radius:16px;padding:14px;box-shadow:0 2px 10px rgba(0,0,0,.08)}
.gb-plateau{display:grid;gap:4px;max-width:560px;margin:0 auto;touch-action:manipulation}
.gb-case{aspect-ratio:1;border:0;border-radius:7px;padding:0;font:inherit;font-weight:700;font-size:clamp(12px,2.4vw,20px);display:flex;align-items:center;justify-content:center;position:relative;cursor:pointer;
 background:linear-gradient(160deg,#9DB98C,#86A776);color:#1F2E26;box-shadow:inset 0 -3px 0 rgba(0,0,0,.12);transition:transform .12s}
.gb-case:hover:not(.ouverte){transform:translateY(-2px)}.gb-case:focus-visible{outline:3px solid #D9A441;outline-offset:1px}
.gb-case.ouverte{background:#E8DCC2;box-shadow:none;cursor:default}.gb-case.poche{background:#B5523F;color:#fff}.gb-case.fatale{outline:3px solid #1F2E26}
.gb-case.sondee{box-shadow:inset 0 0 0 3px #D9A441}
.gb-p{position:absolute;left:0;right:0;bottom:2px;font-size:9px;font-weight:600;line-height:1;opacity:.9}.gb-case.poche .gb-p{color:#fff}
.gb-case.n1{color:#2F6FA8}.gb-case.n2{color:#3E7D3A}.gb-case.n3{color:#B5523F}.gb-case.n4{color:#6C3FA8}.gb-case.n5{color:#8A4B12}
.gb-outils{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;margin-top:12px}.gb-outils [aria-pressed="true"]{background:#D9A441;border-color:#D9A441;color:#1F2E26}
.gb-aide{text-align:center;font-size:13px;color:#4F6B58;margin:10px 0 0}
.gb-carnet h2{font-size:16px;margin:0 0 4px}.gb-taux{font-size:28px;font-weight:700;color:#4F7A5A}.gb-barre{height:9px;border-radius:5px;background:#CFE0C4;overflow:hidden;margin:6px 0}.gb-barre i{display:block;height:100%;background:#D9A441;transition:width .4s}
.gb-petit{font-size:13px;color:#4F6B58;margin:0}.gb-ligne{display:flex;justify-content:space-between;font-size:14px;margin:4px 0}
.gb-voile{position:fixed;inset:0;z-index:100000;background:rgba(20,30,25,.55);display:flex;align-items:center;justify-content:center;padding:16px}.gb-voile[hidden]{display:none}
.gb-boite{background:#FBFCF9;color:#1F2E26;border-radius:16px;max-width:540px;width:100%;max-height:100%;overflow:auto;padding:20px 22px;box-shadow:0 18px 50px rgba(0,0,0,.35)}
.gb-boite h2{margin:0 0 8px;font-size:21px}.gb-boite h3{margin:12px 0 4px;font-size:15px}
.gb-curseur{display:flex;align-items:center;gap:12px;margin:12px 0}.gb-curseur output{font-weight:700;font-size:20px;min-width:56px;text-align:right}
.gb-retour{margin:8px 0 0;padding:10px 12px;border-radius:10px;background:#E3EBDE;font-size:14px}
.gb-tab{border-collapse:collapse;width:100%;font-size:13px}.gb-tab th,.gb-tab td{text-align:left;padding:4px 6px;border-bottom:1px solid #CFE0C4}

/* Golbarg : repères des colonnes (lettres) et des rangées (nombres) */
.gb-lab{display:flex;align-items:center;justify-content:center;font-size:13px;font-weight:600;color:#4F6B58;line-height:1;user-select:none}
.gb-lab-col{padding-bottom:2px}.gb-lab-lig{padding-right:4px;min-width:16px}
.a3 .gb-b-sonde{gap:0}
.gb-case{-webkit-touch-callout:none;-webkit-user-select:none;user-select:none;touch-action:manipulation}
