/* Running gag de la page de connexion : drapeau russe → drapeau letton + « Dievs, svētī Latviju! » */
.gag-flag { position: relative; display: flex; width: var(--w); height: var(--h); filter: drop-shadow(0 8px 14px rgba(0,0,0,.25)); }
.gag-flag::before { content: ""; position: absolute; left: calc(var(--h) * -.06); top: calc(var(--h) * -.08); width: calc(var(--h) * .045); height: calc(var(--h) * 2.1); border-radius: 3px;
  background: linear-gradient(90deg, #6b6f75, #eef0f2 45%, #8b8f95); }
.gag-flag::after { content: ""; position: absolute; left: calc(var(--h) * -.075); top: calc(var(--h) * -.14); width: calc(var(--h) * .075); height: calc(var(--h) * .075); border-radius: 50%; background: radial-gradient(circle at 35% 35%, #fff3c4, #c9a23a); }
.gag-s { position: relative; flex: 1 0 0; height: 100%; animation: gag-wave 2.4s ease-in-out infinite; animation-delay: calc(var(--i) * -.06s); }
.gag-s > i { position: absolute; inset: 0; background-size: var(--w) var(--h); background-position: calc(var(--i) * var(--sw) * -1) 0; }
.gag-from { background: linear-gradient(180deg, #fff 0 33.34%, #0039a6 33.34% 66.67%, #d52b1e 66.67%); }
.gag-to { background: linear-gradient(180deg, #9e3039 0 40%, #fff 40% 60%, #9e3039 60%); opacity: 0; transition: opacity 1.2s ease; transition-delay: calc(var(--i) * var(--step)); }
.gag-s::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(255,255,255,.12), rgba(0,0,0,.08)); animation: gag-shade 2.4s ease-in-out infinite; animation-delay: calc(var(--i) * -.06s); pointer-events: none; }
.gag-go .gag-to { opacity: 1; }
@keyframes gag-wave { 0%, 100% { transform: translateY(calc(var(--h) * -.035)); } 50% { transform: translateY(calc(var(--h) * .035)); } }
@keyframes gag-shade { 0%, 100% { opacity: .15; } 50% { opacity: 1; background: linear-gradient(180deg, rgba(0,0,0,.14), rgba(0,0,0,.2)); } }
.gag-over { position: fixed; inset: 0; z-index: 9999; display: grid; place-items: center; align-content: center; gap: 34px; background: radial-gradient(circle at 50% 40%, #2a2a31, #0d0d10); color: #fff; opacity: 0; transition: opacity .5s; font-family: inherit; text-align: center; padding: 20px; }
.gag-over.on { opacity: 1; }
.gag-over h2 { margin: 0; font-family: Georgia, "EB Garamond", serif; font-weight: 400; font-size: clamp(1.6rem, 4vw, 2.6rem); letter-spacing: .02em; opacity: 0; transform: translateY(8px); transition: opacity 1s 3.5s, transform 1s 3.5s; }
.gag-over.gag-go h2 { opacity: 1; transform: none; }
.gag-over p { margin: 0; color: #c9c6c0; font-size: .95rem; min-height: 1.4em; }
.gag-actions { display: flex; gap: 10px; justify-content: center; flex-wrap: wrap; }
.gag-actions button { font: 600 .82rem/1 inherit; letter-spacing: .08em; text-transform: uppercase; padding: 14px 20px; border: 1px solid rgba(255,255,255,.35); background: transparent; color: #fff; cursor: pointer; }
.gag-actions button.main { background: #9e3039; border-color: #9e3039; }
.gag-actions button[hidden] { display: none; }
@media (prefers-reduced-motion: reduce) { .gag-s, .gag-s::after { animation: none; } }
