/* ZikPawa — thème sombre (jetons --zp-*) et bouton de bascule.
   Les feuilles des modules écrivent var(--zp-…, couleur claire) : sans jeton défini (thème clair),
   la couleur claire s'applique ; ici le thème sombre définit les jetons. Voir ZIKPAWA_Core_Theme. */
html { color-scheme: light; }
html[data-theme="dark"] {
	color-scheme: dark;
	--zp-bg: #0E150D;
	--zp-surface: #161F14;
	--zp-surface-2: #1C2819;
	--zp-soft-bg: #1F3A1B;
	--zp-glass: rgba(22, 31, 20, .94);
	--zp-border: #2B3A28;
	--zp-border-strong: #3C4F38;
	--zp-ink: #E8F0E5;
	--zp-ink-2: #C7D3C3;
	--zp-muted: #97A893;
	--zp-primary: #3E8C2F;
	--zp-primary-dark: #10230E;
	--zp-primary-soft: #4A9A38;
	--zp-primary-fg: #89E04D;
	--zp-warning-fg: #F2C46E;
	--zp-warning-bg: #33270F;
	--zp-warning-border: #6A5020;
	--zp-danger: #C6392D;
	--zp-danger-fg: #FF8A7E;
	--zp-danger-bg: #3A1916;
	--zp-danger-border: #6E2C26;
	--zp-success-fg: #6ED69C;
	--zp-success-bg: #11301F;
	--zp-success-border: #24563B;
	--zp-info-fg: #93BDF3;
	--zp-info-bg: #15253D;
	--zp-info-border: #2D4670;
}
html[data-theme="dark"] body { background-color: var(--zp-bg); color: var(--zp-ink); }
html[data-theme="dark"] img { color-scheme: normal; }
html[data-theme="dark"] input::placeholder, html[data-theme="dark"] textarea::placeholder { color: #72846E; }
/* Champs sans couleur propre : fond et texte du thème (spécificité nulle, les modules gardent la main). */
html[data-theme="dark"] :where(input:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=color]):not([type=submit]):not([type=button]), select, textarea) { background-color: var(--zp-surface-2); color: var(--zp-ink); border-color: var(--zp-border-strong); }
html[data-theme="dark"] ::selection { background: #3E8C2F; color: #fff; }

/* Bouton compact : une icône selon la préférence. */
.zikpawa-theme-toggle { display: inline-flex; align-items: center; justify-content: center; width: 40px; height: 40px; padding: 0; border-radius: 999px; border: 1px solid var(--zp-border, #DDE8D8); background: var(--zp-surface, #fff); color: var(--zp-ink, #13200F); cursor: pointer; flex: 0 0 auto; transition: background .15s; }
.zikpawa-theme-toggle:hover { background: var(--zp-surface-2, #EEF5EA); }
.zikpawa-theme-toggle:focus-visible, .zikpawa-theme-chooser button:focus-visible { outline: 2px solid #68D428; outline-offset: 2px; }
.zikpawa-theme-toggle .zikpawa-theme-ico { display: none; }
html:not([data-theme-pref]) .zikpawa-theme-toggle .is-auto,
html[data-theme-pref="auto"] .zikpawa-theme-toggle .is-auto,
html[data-theme-pref="light"] .zikpawa-theme-toggle .is-light,
html[data-theme-pref="dark"] .zikpawa-theme-toggle .is-dark { display: block; }
.zikpawa-theme-toggle.is-on-dark { border-color: rgba(255, 255, 255, .3); background: rgba(255, 255, 255, .08); color: #fff; }
.zikpawa-theme-toggle.is-on-dark:hover { background: rgba(255, 255, 255, .16); }

/* Choix en trois boutons. */
.zikpawa-theme-chooser { display: inline-flex; flex-wrap: wrap; gap: 6px; padding: 4px; border-radius: 12px; background: var(--zp-surface-2, #EEF5EA); border: 1px solid var(--zp-border, #DDE8D8); }
.zikpawa-theme-chooser button { display: inline-flex; align-items: center; gap: 8px; min-height: 40px; padding: 0 14px; border: 0; border-radius: 9px; background: transparent; color: var(--zp-ink-2, #3A4836); font-family: inherit; font-size: .9rem !important; line-height: 1.2; font-weight: 700; cursor: pointer; }
.zikpawa-theme-chooser button[aria-checked="true"] { background: var(--zp-surface, #fff); color: var(--zp-primary-fg, #2C632A); box-shadow: 0 1px 3px rgba(30, 74, 29, .18); }

/* Bouton flottant (connexion, inscription, vérification). */
.zikpawa-theme-float { position: fixed; top: max(14px, env(safe-area-inset-top)); right: 14px; z-index: 9999; }
@media (max-width: 600px) { .zikpawa-theme-float { top: auto; bottom: max(14px, env(safe-area-inset-bottom)); } }
.zikpawa-dash .zikpawa-theme-toggle.is-mobile { width: 38px; height: 38px; }
