/* Recto Verso — charte graphique (thème recto-verso-theme, EPIC-04).

   Décisions du 11/10/2026 : ambiance bleue calme (couleurs de la 0.1.0 confirmées),
   police Atkinson Hyperlegible hébergée sur le site (licence OFL, assets/fonts/OFL.txt),
   logo « deux cartes ». Toutes les valeurs sont reprises dans CHARTE_GRAPHIQUE.md ;
   les contrastes sont vérifiés par code/tests/test_epic04.sh.

   Contrat avec l'extension : ses écrans utilisent les variables --rv-* ; le mode
   imposé par le compte est porté par l'attribut data-theme de <html>. */

/* Police ---------------------------------------------------------------- */

@font-face {
	font-family: "Atkinson Hyperlegible";
	font-style: normal;
	font-weight: 400;
	font-display: swap;
	src: url("../fonts/atkinson-hyperlegible-latin-ext-400-normal.woff2") format("woff2");
	unicode-range: U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;
}
@font-face {
	font-family: "Atkinson Hyperlegible";
	font-style: normal;
	font-weight: 400;
	font-display: swap;
	src: url("../fonts/atkinson-hyperlegible-latin-400-normal.woff2") format("woff2");
	unicode-range: U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;
}
@font-face {
	font-family: "Atkinson Hyperlegible";
	font-style: italic;
	font-weight: 400;
	font-display: swap;
	src: url("../fonts/atkinson-hyperlegible-latin-ext-400-italic.woff2") format("woff2");
	unicode-range: U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;
}
@font-face {
	font-family: "Atkinson Hyperlegible";
	font-style: italic;
	font-weight: 400;
	font-display: swap;
	src: url("../fonts/atkinson-hyperlegible-latin-400-italic.woff2") format("woff2");
	unicode-range: U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;
}
@font-face {
	font-family: "Atkinson Hyperlegible";
	font-style: normal;
	font-weight: 700;
	font-display: swap;
	src: url("../fonts/atkinson-hyperlegible-latin-ext-700-normal.woff2") format("woff2");
	unicode-range: U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;
}
@font-face {
	font-family: "Atkinson Hyperlegible";
	font-style: normal;
	font-weight: 700;
	font-display: swap;
	src: url("../fonts/atkinson-hyperlegible-latin-700-normal.woff2") format("woff2");
	unicode-range: U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;
}
@font-face {
	font-family: "Atkinson Hyperlegible";
	font-style: italic;
	font-weight: 700;
	font-display: swap;
	src: url("../fonts/atkinson-hyperlegible-latin-ext-700-italic.woff2") format("woff2");
	unicode-range: U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;
}
@font-face {
	font-family: "Atkinson Hyperlegible";
	font-style: italic;
	font-weight: 700;
	font-display: swap;
	src: url("../fonts/atkinson-hyperlegible-latin-700-italic.woff2") format("woff2");
	unicode-range: U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;
}

/* Clair (par défaut) --------------------------------------------------- */

:root {
	--rv-font: "Atkinson Hyperlegible", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
	--rv-bg: #f6f7fb;
	--rv-surface: #ffffff;
	--rv-surface-2: #eef1f7;
	--rv-text: #1d2433;
	--rv-muted: #5b6475;
	--rv-primary: #3451c6;
	--rv-primary-text: #ffffff;
	--rv-border: #dfe3ec;
	--rv-recto: #ffffff;
	--rv-verso: #f3f6ff;
	--rv-success-bg: #e6f6ec;
	--rv-success-text: #145c2e;
	--rv-error-bg: #fdecec;
	--rv-error-text: #9b1c1c;
	--rv-danger: #b42318;
	--rv-on-danger: #ffffff;
	--rv-ok: #15803d;
	--rv-on-ok: #ffffff;
	--rv-ko: #b45309;
	--rv-info-bg: #eaf0ff;
	--rv-info-text: #263f99;
	color-scheme: light;
}

/* Sombre : selon l'appareil (« Auto »), sauf si le compte impose le clair… */
@media (prefers-color-scheme: dark) {
	:root:not([data-theme="light"]) {
		--rv-bg: #12151c;
		--rv-surface: #1c212b;
		--rv-surface-2: #242a36;
		--rv-text: #e9ecf2;
		--rv-muted: #a3abba;
		--rv-primary: #8ea2ff;
		--rv-primary-text: #12151c;
		--rv-border: #2c3341;
		--rv-recto: #1c212b;
		--rv-verso: #222a3d;
		--rv-success-bg: #13301f;
		--rv-success-text: #9be3b4;
		--rv-error-bg: #3a1a1a;
		--rv-error-text: #ffb4ab;
		--rv-danger: #ff8a80;
		--rv-on-danger: #12151c;
		--rv-ok: #6fdc97;
		--rv-on-ok: #0d1f14;
		--rv-ko: #ffb86b;
		--rv-info-bg: #1f2a4d;
		--rv-info-text: #c3cdff;
		color-scheme: dark;
	}
}

/* … ou imposé par le compte. */
:root[data-theme="dark"] {
	--rv-bg: #12151c;
	--rv-surface: #1c212b;
	--rv-surface-2: #242a36;
	--rv-text: #e9ecf2;
	--rv-muted: #a3abba;
	--rv-primary: #8ea2ff;
	--rv-primary-text: #12151c;
	--rv-border: #2c3341;
	--rv-recto: #1c212b;
	--rv-verso: #222a3d;
	--rv-success-bg: #13301f;
	--rv-success-text: #9be3b4;
	--rv-error-bg: #3a1a1a;
	--rv-error-text: #ffb4ab;
	--rv-danger: #ff8a80;
	--rv-on-danger: #12151c;
	--rv-ok: #6fdc97;
	--rv-on-ok: #0d1f14;
	--rv-ko: #ffb86b;
	--rv-info-bg: #1f2a4d;
	--rv-info-text: #c3cdff;
	color-scheme: dark;
}

/* Logo ------------------------------------------------------------------ */

.rv-logo__mark,
.login h1 a::before {
	display: inline-block;
	flex: none;
	background-color: var(--rv-primary);
	-webkit-mask: url("../icons/logo-mark.svg") center / contain no-repeat;
	mask: url("../icons/logo-mark.svg") center / contain no-repeat;
}
.rv-logo__mark {
	width: 30px;
	height: 24px;
}
.login h1 a::before {
	content: "";
	width: 46px;
	height: 37px;
}

/* Chiffres de même largeur dans les compteurs (« Carte 3 / 10 », « 7 sues sur 10 ») */
.rv-progress, .rv-summary, .rv-count, .rv-deck__meta { font-variant-numeric: tabular-nums; }

/* Page de secours (index.php) -------------------------------------------- */

body.rvt-fallback {
	margin: 0;
	min-height: 100vh;
	display: grid;
	place-items: center;
	padding: 16px;
	background: var(--rv-bg);
	color: var(--rv-text);
	font: 17px/1.5 var(--rv-font);
}
.rvt-fallback__box {
	max-width: 420px;
	padding: 24px;
	text-align: center;
	background: var(--rv-surface);
	border: 1px solid var(--rv-border);
	border-radius: 16px;
}
.rvt-fallback__logo {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	margin: 0 0 8px;
	font-size: 1.4rem;
	font-weight: 700;
}
.rvt-fallback a { color: var(--rv-primary); }
