/* Bouton « Revenir en haut de la page », commun à toutes les pages (5.4.0). Jetons de la charte uniquement.
   Survol à la couleur du site (--rk-site, défini dans chaque page) : vert la nuit ; aplat à 55 % et icône à l'encre le jour. */
.to-top {
  position: fixed;
  right: max(16px, calc(env(safe-area-inset-right) + 16px));
  bottom: max(16px, calc(env(safe-area-inset-bottom) + 16px));
  z-index: 250;
  width: 48px;
  height: 48px;
  padding: 0;
  display: grid;
  place-items: center;
  border: 1px solid var(--v-line-strong);
  border-radius: var(--r-pill);
  background: var(--v-header);
  -webkit-backdrop-filter: blur(10px);
  backdrop-filter: blur(10px);
  color: var(--v-ink);
  cursor: pointer;
  opacity: 0;
  visibility: hidden;
  transform: translateY(8px);
  transition: opacity var(--dur-base) var(--ease-standard), transform var(--dur-base) var(--ease-standard),
              visibility 0s linear var(--dur-base), color var(--dur-fast) var(--ease-standard),
              background var(--dur-fast) var(--ease-standard), border-color var(--dur-fast) var(--ease-standard);
}
.to-top.is-visible { opacity: 1; visibility: visible; transform: none; transition-delay: 0s; }
.to-top svg { width: 18px; height: 18px; fill: none; stroke: currentColor; stroke-width: 1.6; }
.to-top:hover, .to-top:focus-visible { color: var(--rk-site); border-color: var(--rk-site); outline: none; }
:root[data-theme="light"] .to-top:hover,
:root[data-theme="light"] .to-top:focus-visible {
  color: var(--v-ink);
  background: color-mix(in srgb, var(--rk-site) 55%, transparent);
}
@media (prefers-color-scheme: light) {
  :root:not([data-theme]) .to-top:hover,
  :root:not([data-theme]) .to-top:focus-visible { color: var(--v-ink); background: color-mix(in srgb, var(--rk-site) 55%, transparent); }
}
@media (prefers-reduced-motion: reduce) { .to-top { transition: none; } }
