/* GG · gaming.guelmouzy.com
   Direction « La planche » : page de manga imprimée, encre + papier + une encre rouge.
   Tout passe par les tokens ci-dessous (mêmes noms de structure que le design system galaxie). */

@font-face { font-family: "GG Display"; src: url("/assets/fonts/GG-Display-Regular.woff2") format("woff2"); font-display: swap; }
@font-face { font-family: "GG Texte"; src: url("/assets/fonts/GG-Texte-Variable.woff2") format("woff2"); font-weight: 400 700; font-display: swap; }

:root {
  color-scheme: light dark;

  --font-display: "GG Display", Impact, "Arial Narrow", sans-serif;
  --font-body: "GG Texte", ui-sans-serif, system-ui, sans-serif;

  --text-sm: .875rem; --text-base: 1rem; --text-lg: 1.25rem; --text-xl: 1.5rem;
  --titre: clamp(3rem, 8vw, 7rem);
  --leading-display: 1.02; --leading-normal: 1.5;

  --space-1: .25rem; --space-2: .5rem; --space-3: .75rem; --space-4: 1rem; --space-5: 1.5rem;
  --space-6: 2rem; --space-8: 3rem; --space-12: 4.5rem; --space-16: 6rem;
  --marge: clamp(1.25rem, 4vw, 3.5rem);
  --marge-c: max(var(--marge), calc((100vw - 92rem) / 2));

  --cible: 44px;
  --trait: 3px;
  --ombre-dure: 6px;
  --penche: -8deg;
  --penche-inverse: 8deg;

  --ease-out: cubic-bezier(.2, .8, .2, 1);
  --dur-fast: 120ms; --dur-base: 220ms; --dur-slow: 420ms;
  --z-sticky: 200; --z-modal: 400;

  /* Papier + encre */
  --c-bg: #F3EDE0;
  --c-surface: #FBF7EE;
  --c-encre: #17141F;
  --c-sur-encre: #F3EDE0;
  --c-text: #17141F;
  --c-text-muted: #544E5C;
  --c-accent: #C4281F;
  --c-on-accent: #FFF9EE;
  --c-erreur: #A81C14;
  --c-ombre: #17141F;
  --c-trame: rgba(23, 20, 31, .13);
  --c-lignes: rgba(23, 20, 31, .09);
  --c-voile: rgba(23, 20, 31, .72);

  /* Univers : couleurs du jeu (shared/data.js) et encre lisible par-dessus */
  --camp-sombre: #17141F; --camp-clair: #FFFFFF;
  --u-dbz: #F39C12;      --u-dbz-sur: #17141F;
  --u-naruto: #E8590C;   --u-naruto-sur: #17141F;
  --u-onepiece: #D9342B; --u-onepiece-sur: #FFFFFF;
  --u-bleach: #7C8DB5;   --u-bleach-sur: #17141F;
  --u-jjk: #8E44EC;      --u-jjk-sur: #FFFFFF;
}

@media (prefers-color-scheme: dark) {
  :root {
    --c-bg: #14111D;
    --c-surface: #1F1A2C;
    --c-encre: #F3EDE0;
    --c-sur-encre: #14111D;
    --c-text: #F3EDE0;
    --c-text-muted: #B8B1C2;
    --c-accent: #FF5A4A;
    --c-on-accent: #14111D;
    --c-erreur: #FF8A7E;
    --c-ombre: #FF5A4A;
    --c-trame: rgba(243, 237, 224, .11);
    --c-lignes: rgba(243, 237, 224, .08);
    --c-voile: rgba(8, 6, 14, .8);
  }
}

*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; scroll-padding-top: 5rem; }
body { margin: 0; background: var(--c-bg); color: var(--c-text); font: 400 var(--text-base)/var(--leading-normal) var(--font-body); overflow-x: clip; }
body.fige { overflow: hidden; }
img, svg { display: block; max-width: 100%; }
img { height: auto; }
h1, h2, h3, p, ul, figure { margin: 0; padding: 0; }
ul { list-style: none; }
button, input { font: inherit; color: inherit; }
button { cursor: pointer; }
[hidden] { display: none !important; }
.sprite { position: absolute; width: 0; height: 0; overflow: hidden; }

:focus-visible { outline: var(--trait) solid var(--c-focus, var(--c-accent)); outline-offset: var(--trait); }

.evitement { position: absolute; left: var(--space-3); top: -5rem; z-index: calc(var(--z-sticky) + 1); background: var(--c-encre); color: var(--c-sur-encre); padding: var(--space-3) var(--space-4); font-weight: 700; }
.evitement:focus { top: var(--space-2); }

/* Matériel : tactile seul ou souris */
@media not ((hover: none) and (pointer: coarse)) { .si-tactile { display: none !important; } }
@media (hover: none) and (pointer: coarse) { .si-souris { display: none !important; } }

/* Boutons : plaques penchées, ombre d'encre dure */
.btn {
  display: inline-flex; align-items: center; justify-content: center; min-height: var(--cible);
  padding: var(--space-2) var(--space-4); border: var(--trait) solid var(--c-encre);
  font-weight: 700; font-size: var(--text-base); text-decoration: none; line-height: 1.1; white-space: nowrap; color: var(--c-text);
  background: transparent; transform: skewX(var(--penche)); -webkit-tap-highlight-color: transparent;
  transition: transform var(--dur-fast) var(--ease-out), box-shadow var(--dur-fast) var(--ease-out), background-color var(--dur-fast) var(--ease-out);
}
.btn > span { display: inline-block; transform: skewX(var(--penche-inverse)); }
.btn--trait:hover { background: var(--c-encre); color: var(--c-sur-encre); }
.btn--plein { background: var(--c-accent); color: var(--c-on-accent); box-shadow: var(--ombre-dure) var(--ombre-dure) 0 var(--c-ombre); }
.btn--plein:hover { transform: skewX(var(--penche)) translate(-2px, -2px); box-shadow: calc(var(--ombre-dure) + 3px) calc(var(--ombre-dure) + 3px) 0 var(--c-ombre); }
.btn--plein:active { transform: skewX(var(--penche)) translate(var(--ombre-dure), var(--ombre-dure)); box-shadow: 0 0 0 var(--c-ombre); }
.btn--geant { font-family: var(--font-display); font-weight: 400; font-size: clamp(1.9rem, 4vw, 2.75rem); padding: var(--space-3) var(--space-6); text-transform: uppercase; min-height: 4.5rem; letter-spacing: .01em; }
.btn--inverse { background: var(--c-on-accent); color: var(--c-accent); border-color: var(--c-on-accent); box-shadow: var(--ombre-dure) var(--ombre-dure) 0 var(--c-final-ombre); }
.btn--inverse:hover { transform: skewX(var(--penche)) translate(-2px, -2px); }
.btn--inverse:active { transform: skewX(var(--penche)) translate(var(--ombre-dure), var(--ombre-dure)); box-shadow: none; }
.lien { background: none; border: 0; padding: var(--space-3) var(--space-1); min-height: var(--cible); font-weight: 700; color: var(--c-accent); text-decoration: underline; text-underline-offset: 3px; text-decoration-thickness: 2px; }
.lien:hover { color: var(--c-text); }

/* En-tête */
.tete { position: sticky; top: 0; z-index: var(--z-sticky); display: flex; align-items: center; justify-content: space-between; gap: var(--space-3); min-height: 4.25rem; padding: var(--space-2) var(--marge); background: var(--c-bg); border-bottom: var(--trait) solid var(--c-encre); }
.tete__marque { display: block; color: var(--c-accent); flex: none; padding: var(--space-1) 0; }
.tete__marque svg { height: 2.5rem; width: 3.65rem; }
.tete__actions { display: flex; align-items: center; gap: var(--space-3); min-width: 0; }
.tete__pseudo { font-weight: 700; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.statut { background: var(--c-encre); color: var(--c-sur-encre); padding: var(--space-2) var(--marge); font-weight: 500; }

@media (max-width: 359px) { .tete__jouer { display: none; } }

.connecte .heros__mention, .connecte .final__tactile { display: none; }

/* Héros */
.heros { position: relative; isolation: isolate; overflow: hidden; display: grid; }
.heros::before { /* lignes de vitesse */
  content: ""; position: absolute; inset: -30%; z-index: -2;
  background: repeating-conic-gradient(from 0deg at 62% 45%, var(--c-lignes) 0 .45deg, transparent .45deg 3.2deg);
}
.heros::after { /* trame */
  content: ""; position: absolute; inset: 0; z-index: -1;
  background: radial-gradient(circle, var(--c-trame) 1.6px, transparent 1.9px) 0 0 / 9px 9px;
  mask-image: linear-gradient(20deg, #000, transparent 45%);
}
.heros__texte { padding: var(--space-8) var(--marge) var(--space-6); display: flex; flex-direction: column; align-items: flex-start; }
.heros__jeu { background: var(--c-encre); color: var(--c-sur-encre); font-family: var(--font-display); font-size: clamp(1.5rem, 3vw, 2.25rem); text-transform: uppercase; line-height: 1.1; padding: var(--space-1) var(--space-3); transform: skewX(var(--penche)); margin-bottom: var(--space-4); }
.heros__titre { font-family: var(--font-display); font-weight: 400; text-transform: uppercase; font-size: min(23.5vw, 11.5rem); line-height: var(--leading-display); }
.heros__titre > span { display: block; margin-left: -.05em; }
.heros__rouge { color: var(--c-accent); }
.heros__promesse { font-size: clamp(1.25rem, 2.2vw, 1.75rem); font-weight: 500; margin: var(--space-4) 0 var(--space-5); line-height: 1.25; }
.heros__mention { color: var(--c-text-muted); margin-top: var(--space-5); font-size: 1.125rem; line-height: 1.35; max-width: 34rem; }
.appel { display: flex; flex-direction: column; align-items: flex-start; gap: var(--space-3); }
.appel__note { font-weight: 700; font-size: var(--text-lg); }
.appel__note a { color: inherit; font-weight: 500; font-size: var(--text-base); display: inline-block; padding: var(--space-3) 0; }
.heros__vue { position: relative; margin-top: var(--space-2); background: var(--c-encre); padding-top: var(--trait); clip-path: polygon(0 var(--space-8), 100% 0, 100% 100%, 0 100%); }
.heros__vue img { width: 100%; aspect-ratio: 4 / 3; object-fit: cover; clip-path: polygon(0 var(--space-8), 100% 0, 100% 100%, 0 100%); }

@media (min-width: 1100px) {
  .heros { min-height: min(calc(100svh - 4.25rem), 54rem); align-items: center; }
  .heros__texte { position: relative; z-index: 1; width: 56%; padding-block: var(--space-8); }
  .heros__titre { font-size: min(12.4vw, 15rem); white-space: nowrap; }
  .heros__vue { position: absolute; inset: 0 0 0 auto; width: 50%; margin: 0; padding: 0; clip-path: polygon(14% 0, 100% 0, 100% 100%, 0 100%); }
  .heros__vue img { position: absolute; inset: 0 0 0 auto; height: 100%; width: calc(100% - .5rem); aspect-ratio: auto; object-position: 50% center; clip-path: polygon(13.5% 0, 100% 0, 100% 100%, 0 100%); }
}

@media (prefers-reduced-motion: no-preference) {
  .heros__titre > span { animation: frappe var(--dur-slow) var(--ease-out) backwards; }
  .heros__titre > span + span { animation-delay: 90ms; }
  .heros__vue { animation: glisse var(--dur-slow) var(--ease-out) backwards; }
  @keyframes frappe { from { opacity: 0; transform: translateX(-2.5rem) skewX(var(--penche)); } }
  @keyframes glisse { from { opacity: 0; transform: translateX(3rem); } }
}

/* La guerre de la semaine : couleurs réelles de l'affiche, posées par site.js */
.guerre { border-block: var(--trait) solid var(--c-encre); }
.guerre__affiche { position: relative; display: grid; grid-template-columns: 1fr 1fr; }
.guerre__camp { display: flex; flex-direction: column; justify-content: center; gap: var(--space-1); padding: var(--space-5) var(--marge); min-height: 9rem; min-width: 0; }
.guerre__camp--a { background: var(--camp-a); color: var(--camp-a-sur); padding-right: var(--space-8); }
.guerre__camp--b { background: var(--camp-b); color: var(--camp-b-sur); align-items: flex-end; text-align: right; padding-left: var(--space-8); clip-path: polygon(calc(var(--space-6) + .5rem) 0, 100% 0, 100% 100%, 0 100%); margin-left: calc(var(--space-6) * -1); }
.guerre__nom { font-family: var(--font-display); text-transform: uppercase; font-size: clamp(1.9rem, 6vw, 5.5rem); line-height: 1.05; overflow-wrap: anywhere; }
.guerre__pts { font-weight: 700; font-size: clamp(1.1rem, 2.4vw, 1.75rem); font-variant-numeric: tabular-nums lining-nums; }
.guerre__pts small { font-size: .7em; font-weight: 500; }
.guerre__vs { position: absolute; left: 50%; top: 50%; transform: translate(-50%, -50%) skewX(var(--penche)); background: var(--c-encre); color: var(--c-sur-encre); font-family: var(--font-display); font-size: clamp(1.75rem, 4vw, 3.25rem); line-height: 1; padding: var(--space-2) var(--space-3); z-index: 1; }
.guerre__bande { display: flex; flex-wrap: wrap; justify-content: center; gap: var(--space-1) var(--space-5); padding: var(--space-3) var(--marge); background: var(--c-encre); color: var(--c-sur-encre); font-variant-numeric: tabular-nums lining-nums; text-align: center; }

/* Le front */
.titre { font-family: var(--font-display); font-weight: 400; text-transform: uppercase; font-size: var(--titre); line-height: var(--leading-display); }
.front { padding: var(--space-16) var(--marge-c) var(--space-12); }
.front__chapo { font-size: clamp(1.125rem, 1.8vw, 1.5rem); font-weight: 500; margin: var(--space-4) 0 var(--space-6); max-width: 38rem; line-height: 1.3; }
.cases { display: grid; gap: var(--space-3); grid-template-columns: 1fr; }
.case { border: var(--trait) solid var(--c-encre); background: var(--c-surface); padding: var(--space-5); font-size: 1.125rem; line-height: 1.35; display: flex; flex-direction: column; justify-content: center; gap: var(--space-2); min-width: 0; }
.case__fort { font-family: var(--font-display); text-transform: uppercase; font-size: clamp(2.25rem, 4.5vw, 4rem); line-height: 1.05; }
.case--front { padding: 0; position: relative; background: var(--c-encre); justify-content: flex-start; gap: 0; }
.case--front img { width: 100%; height: 100%; object-fit: cover; aspect-ratio: 660 / 500; object-position: 50% 0; min-height: 0; flex: 1; }
.case--front figcaption { background: var(--c-encre); color: var(--c-sur-encre); padding: var(--space-3) var(--space-4); font-size: var(--text-lg); line-height: 1.3; }
.case--front figcaption strong { font-family: var(--font-display); font-weight: 400; text-transform: uppercase; font-size: 1.75rem; margin-right: var(--space-2); line-height: 1; }
.case--niveau { background-image: radial-gradient(circle, var(--c-trame) 1.6px, transparent 1.9px); background-size: 9px 9px; }
.case--merc { background: var(--c-encre); color: var(--c-sur-encre); }
.case--xp { background: var(--c-accent); color: var(--c-on-accent); }
@media (min-width: 760px) {
  .cases { grid-template-columns: repeat(12, 1fr); grid-template-rows: repeat(3, auto); }
  .case--front { grid-column: 1 / span 7; grid-row: 1 / span 3; }
  .case--niveau, .case--merc, .case--xp { grid-column: 8 / -1; }
}

/* Les camps : colonnes penchées au même angle que la fonte */
.camps { padding: var(--space-8) 0 var(--space-12); overflow: hidden; }
.camps__tete { padding-inline: var(--marge-c); margin: 0 0 var(--space-6); display: flex; flex-wrap: wrap; align-items: baseline; gap: var(--space-2) var(--space-6); }
.camps__tete p { font-size: clamp(1.125rem, 1.8vw, 1.5rem); font-weight: 500; line-height: 1.3; }
.camps__liste { display: grid; gap: var(--space-2); padding-inline: var(--marge-c); }
.camp { position: relative; display: grid; grid-template-columns: minmax(0, 2fr) minmax(0, 3fr); min-height: 6.5rem; background: var(--u); color: var(--u-sur); border: var(--trait) solid var(--c-encre); overflow: hidden; }
.camp img { width: 100%; height: 100%; object-fit: cover; position: absolute; inset: 0 auto 0 0; width: 42%; clip-path: polygon(0 0, 100% 0, 88% 100%, 0 100%); }
.camp__nom { grid-column: 2; display: flex; align-items: center; gap: var(--space-3); padding: var(--space-3) var(--space-3) var(--space-3) 0; min-width: 0; }
.camp__nom svg { width: 2.5rem; height: 2.5rem; flex: none; }
.camp__nom h3 { font-family: var(--font-display); font-weight: 400; text-transform: uppercase; font-size: clamp(1.625rem, 6vw, 2.5rem); line-height: 1.05; min-width: 0; }
.camp__statut { position: absolute; left: var(--space-2); top: var(--space-2); z-index: 1; background: var(--camp-sombre); color: var(--camp-clair); font-size: var(--text-sm); font-weight: 700; padding: 2px var(--space-2); transform: skewX(var(--penche)); }
.camp--guerre { outline: var(--trait) solid var(--c-accent); outline-offset: 2px; }
.legende { padding: var(--space-3) var(--marge-c) 0; color: var(--c-text-muted); font-size: var(--text-sm); }

@media (min-width: 1200px) {
  .camps__liste { --hauteur: 34rem; --decale: calc(var(--hauteur) * .1405); display: flex; height: var(--hauteur); gap: 0; }
  .camp { flex: 1 1 0; display: block; border: 0; background: var(--c-encre); margin-left: calc(var(--decale) * -1 + var(--space-2)); clip-path: polygon(var(--decale) 0, 100% 0, calc(100% - var(--decale)) 100%, 0 100%); transition: flex-grow var(--dur-base) var(--ease-out); }
  .camp:first-child { margin-left: 0; }
  .camp:hover { flex-grow: 1.4; }
  .camp img { position: absolute; inset: 0; width: 100%; height: 100%; clip-path: none; }
  .camp__nom { position: absolute; left: 0; right: 0; bottom: 0; background: var(--u); padding: var(--space-4) calc(var(--decale) * .75 + var(--space-2)) var(--space-4) var(--space-5); align-items: center; min-height: 6rem; }
  .camp__nom h3 { font-size: 2rem; }
  .camp__statut { left: calc(var(--decale) + var(--space-3)); top: var(--space-3); }
  .camp--guerre { outline: 0; }
}

/* Un compte, tous les jeux */
.compte { border-block: var(--trait) solid var(--c-encre); background: var(--c-surface); padding: var(--space-12) var(--marge-c); display: grid; gap: var(--space-6); align-items: center; }
.compte__texte p { font-size: clamp(1.125rem, 1.8vw, 1.5rem); font-weight: 500; margin-top: var(--space-4); max-width: 30rem; line-height: 1.3; }
.ludotheque { display: grid; gap: var(--space-3); grid-template-columns: repeat(3, 1fr); }
.ticket { border: var(--trait) solid var(--c-encre); min-height: 6rem; min-width: 0; }
.ticket--jeu { grid-column: 1 / -1; background: var(--c-bg); box-shadow: var(--ombre-dure) var(--ombre-dure) 0 var(--c-ombre); }
.ticket--jeu img { width: 100%; aspect-ratio: 16 / 8; object-fit: cover; object-position: 50% 30%; border-bottom: var(--trait) solid var(--c-encre); }
.ticket__legende { padding: var(--space-3) var(--space-4); }
.ticket__legende h3 { font-family: var(--font-display); font-weight: 400; text-transform: uppercase; font-size: clamp(1.75rem, 3vw, 2.5rem); line-height: 1.1; }
.ticket__legende p { color: var(--c-text-muted); display: flex; flex-wrap: wrap; gap: 0 var(--space-3); }
.ticket__enligne { color: var(--c-text); font-weight: 700; }
.ticket--vide { border-style: dashed; display: flex; align-items: center; justify-content: center; padding: var(--space-2); text-align: center; color: var(--c-text-muted); font-weight: 700; background-image: repeating-linear-gradient(-82deg, var(--c-trame) 0 2px, transparent 2px 10px); }
.ticket--vide span { background: var(--c-surface); padding: 2px var(--space-2); }
@media (min-width: 1000px) {
  .compte { grid-template-columns: 5fr 7fr; padding-block: var(--space-16); }
  .ludotheque { grid-template-columns: repeat(3, 1fr); }
}

/* Dernier appel */
.final { --c-focus: var(--c-on-accent); background-color: var(--c-accent); color: var(--c-on-accent); position: relative; isolation: isolate; overflow: hidden; padding: var(--space-16) var(--marge); display: flex; flex-direction: column; align-items: flex-start; }
.final::before { content: ""; position: absolute; inset: -60%; z-index: -1; background: repeating-conic-gradient(from 0deg at 70% 55%, var(--c-final-lignes) 0 .5deg, transparent .5deg 3.2deg); }
.final__titre { font-family: var(--font-display); font-weight: 400; text-transform: uppercase; font-size: clamp(3.25rem, 11vw, 11rem); line-height: var(--leading-display); }
.final__texte { font-size: clamp(1.125rem, 2vw, 1.625rem); font-weight: 500; margin: var(--space-5) 0 var(--space-6); line-height: 1.3; max-width: 40rem; }
.final__tactile { margin-top: var(--space-5); font-weight: 500; }
.final .appel__note a { color: inherit; }
:root { --c-final-lignes: rgba(255, 249, 238, .12); --c-final-ombre: #17141F; }
@media (prefers-color-scheme: dark) { :root { --c-final-lignes: rgba(20, 17, 29, .12); --c-final-ombre: #14111D; } }

/* Pied */
.pied { display: flex; align-items: center; gap: var(--space-4); padding: var(--space-5) var(--marge); color: var(--c-text-muted); }
.pied svg { height: 1.75rem; width: 2.56rem; color: var(--c-accent); }

/* Fenêtre compte */
.voile { position: fixed; inset: 0; z-index: var(--z-modal); background: var(--c-voile); display: grid; grid-template-columns: minmax(0, 1fr); place-items: center; padding: var(--space-4); overflow-y: auto; }
.fenetre { position: relative; width: min(100%, 27rem); background: var(--c-bg); border: var(--trait) solid var(--c-encre); box-shadow: 10px 10px 0 var(--c-accent); padding: var(--space-5); margin-block: auto; }
.fenetre:focus { outline: 0; }
.fenetre__fermer { position: absolute; right: var(--space-2); top: var(--space-2); width: var(--cible); height: var(--cible); display: grid; place-items: center; border: 0; background: transparent; }
.fenetre__fermer svg { width: 1.25rem; height: 1.25rem; }
.fenetre__fermer:hover { color: var(--c-accent); }
.fenetre__titre { font-family: var(--font-display); font-weight: 400; text-transform: uppercase; font-size: 2.5rem; line-height: 1.05; padding-right: var(--space-8); overflow-wrap: anywhere; }
.fenetre__titre:focus { outline: 0; }
.fenetre__sous { color: var(--c-text-muted); margin: var(--space-1) 0 var(--space-4); }
.champ { margin-bottom: var(--space-3); }
.champ label { display: block; font-weight: 700; margin-bottom: var(--space-1); }
.champ input { width: 100%; min-height: var(--cible); padding: var(--space-2) var(--space-3); background: var(--c-surface); border: var(--trait) solid var(--c-encre); border-radius: 0; appearance: none; font-size: 1rem; }
.champ input:focus-visible { outline: var(--trait) solid var(--c-accent); outline-offset: 1px; }
.champ input[aria-invalid="true"] { border-color: var(--c-erreur); }
.champ__groupe { position: relative; }
.champ__groupe input { padding-right: 6.25rem; }
.champ__voir { position: absolute; right: 0; top: 0; bottom: 0; min-width: var(--cible); padding: 0 var(--space-3); background: none; border: 0; font-weight: 700; font-size: var(--text-sm); text-decoration: underline; text-underline-offset: 3px; }
.champ__voir:focus-visible { outline-offset: -5px; }
.champ__aide { color: var(--c-text-muted); font-size: var(--text-sm); margin-top: 2px; }
.champ:has(.champ__erreur:not([hidden])) .champ__aide { display: none; }
.champ__erreur, .fenetre__erreur { color: var(--c-erreur); font-weight: 700; font-size: var(--text-sm); margin-top: 2px; }
.fenetre__erreur { margin-bottom: var(--space-3); }
.fenetre__valider { width: 100%; margin-top: var(--space-2); min-height: 3.25rem; font-size: var(--text-lg); }
.fenetre__valider[aria-busy="true"] { opacity: .7; cursor: progress; }
.fenetre__bascule { margin-top: var(--space-3); text-align: center; color: var(--c-text-muted); }

[data-pret-titre] { font-size: 2rem; }

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation: none !important; transition: none !important; scroll-behavior: auto !important; }
}
