/* Shared between DLE templates and the isolated concept laboratory. */
.aigens-scroll-top {
  position: fixed; z-index: 40; right: max(24px,env(safe-area-inset-right)); bottom: max(24px,env(safe-area-inset-bottom));
  display: inline-flex; min-width: 48px; min-height: 48px; align-items: center; justify-content: center; gap: 10px; padding: 12px 17px;
  border: 1px solid var(--ux-border,var(--line,#777)); border-radius: 999px;
  color: var(--frost,var(--ink,#f4f4f2)); background: var(--surface,#0a0a0c);
  box-shadow: 0 8px 28px #0002; font-family: inherit; font-size: 13px; font-weight: 600; line-height: 1;
  text-decoration: none; cursor: pointer;
}
.aigens-scroll-top svg { flex: 0 0 auto; fill: none; stroke: currentColor; stroke-width: 1.6; stroke-linecap: round; stroke-linejoin: round; }
.aigens-scroll-top:hover { border-color: var(--ux-link,var(--focus,#b4acff)); }
.aigens-scroll-top:focus-visible { outline: 2px solid var(--ux-link,var(--focus,#b4acff)); outline-offset: 4px; }
.aigens-scroll-top[hidden],body.menu-open .aigens-scroll-top { display: none; }
body:has(.cookie-consent:not([hidden])) .aigens-scroll-top { top: calc(var(--ux-header-height,112px) + 16px); bottom: auto; }
@media (max-width: 900px) { body:has(.cookie-consent:not([hidden])) .aigens-scroll-top { top: calc(var(--ux-header-height,78px) + 16px); } }
@media (max-width: 650px) {
  .aigens-scroll-top { right: max(16px,env(safe-area-inset-right)); bottom: max(18px,env(safe-area-inset-bottom)); padding: 12px; }
  .aigens-scroll-top span { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); }
}
