/* Lade-Ampel – „Nach oben“-Knopf (alle Seiten). Eigenes Präfix, unabhängig von .la-root. */
.la-top {
  --la-top-bg: #111412;
  --la-top-fg: #ffffff;
  --la-top-focus: #2f6fde;
  position: fixed;
  right: calc(16px + env(safe-area-inset-right, 0px));
  bottom: calc(16px + env(safe-area-inset-bottom, 0px));
  z-index: 900;
  display: grid; place-items: center;
  width: 48px; height: 48px; padding: 0; margin: 0;
  border: 0; border-radius: 999px; cursor: pointer;
  background: var(--la-top-bg); color: var(--la-top-fg);
  /* Dunkler Knopf mit hellem Rand: gut sichtbar auf hellen wie dunklen Seiten */
  box-shadow: 0 0 0 1px rgba(255, 255, 255, .35), 0 2px 6px rgba(16, 24, 20, .18), 0 10px 24px rgba(16, 24, 20, .18);
  opacity: 0; transform: translateY(8px);
  transition: opacity .2s, transform .2s;
}
.la-top[hidden] { display: none; }
.la-top.la-top-in { opacity: .92; transform: none; }
.la-top:hover { opacity: 1; }
.la-top:focus-visible { outline: 3px solid var(--la-top-focus); outline-offset: 3px; opacity: 1; }
@media (min-width: 1024px) {
  .la-top { right: calc(24px + env(safe-area-inset-right, 0px)); bottom: calc(24px + env(safe-area-inset-bottom, 0px)); }
}
@media (prefers-reduced-motion: reduce) {
  .la-top { transition: none; transform: none; }
}
@media print { .la-top { display: none !important; } }
