/* Vergestan — affiche de propagande sportive d'une nation fluo. Une seule ambiance (sombre, pensée pour le projo). */
:root {
  --night: #0a120b;       /* fond stade de nuit */
  --pitch: #122015;       /* surfaces */
  --line: #25402b;        /* traits / bordures */
  --fluo: #b8ff2c;        /* vert fluo national */
  --chalk: #eaf5e0;       /* texte */
  --mute: #93ab92;        /* texte secondaire */
  --shame: #ff4fa3;       /* rose honte (podium inversé, pots-de-vin) */
  --gold: #ffd23f;
  --f-display: "Bowlby One SC", "Impact", "Arial Black", sans-serif;
  --f-cond: "Barlow Condensed", "Arial Narrow", sans-serif;
  --f-body: "Barlow", system-ui, sans-serif;
  color-scheme: dark;
}
* { box-sizing: border-box; }
html, body { background: var(--night); color: var(--chalk); }
body { margin: 0; font: 400 17px/1.5 var(--f-body); -webkit-font-smoothing: antialiased; }
a { color: var(--fluo); }
h1, h2, h3 { font-family: var(--f-display); font-weight: 400; line-height: 1; margin: 0; text-wrap: balance; letter-spacing: .01em; }
.label { font: 600 13px/1 var(--f-cond); letter-spacing: .14em; text-transform: uppercase; color: var(--mute); }
.fluo { color: var(--fluo); }
.wrap { max-width: 1100px; margin: 0 auto; padding-left: max(16px, env(safe-area-inset-left, 0px)); padding-right: max(16px, env(safe-area-inset-right, 0px)); }
.btn { appearance: none; border: 2px solid var(--fluo); background: var(--fluo); color: var(--night); font: 700 18px/1 var(--f-cond); letter-spacing: .06em; text-transform: uppercase; padding: 14px 20px; border-radius: 4px; cursor: pointer; text-decoration: none; display: inline-flex; align-items: center; justify-content: center; gap: 8px; }
.btn.ghost { background: transparent; color: var(--fluo); }
.btn.shame { background: var(--shame); border-color: var(--shame); color: var(--night); }
.btn:disabled { opacity: .4; cursor: not-allowed; }
.btn:focus-visible, button:focus-visible, input:focus-visible, textarea:focus-visible, select:focus-visible { outline: 3px solid var(--gold); outline-offset: 2px; }
input, textarea, select { font: inherit; color: var(--chalk); background: var(--night); border: 2px solid var(--line); border-radius: 4px; padding: 10px 12px; width: 100%; }
.stripes { background: repeating-linear-gradient(-45deg, var(--fluo) 0 14px, var(--night) 14px 28px); height: 10px; }
.toast { position: fixed; left: 50%; bottom: calc(20px + env(safe-area-inset-bottom, 0px)); transform: translateX(-50%); background: var(--fluo); color: var(--night); font: 700 16px var(--f-cond); letter-spacing: .05em; text-transform: uppercase; padding: 12px 18px; border-radius: 4px; z-index: 50; max-width: calc(100% - 32px); text-align: center; }
.toast.err { background: var(--shame); }
.num { font-variant-numeric: tabular-nums; }
@media (prefers-reduced-motion: reduce) { *, *::before, *::after { animation: none !important; transition: none !important; } }
