.jump-to-top-button{
  position:fixed;
  left:auto;
  right:max(24px,env(safe-area-inset-right));
  bottom:max(22px,env(safe-area-inset-bottom));
  z-index:1200;
  width:46px;
  height:46px;
  display:grid;
  place-items:center;
  padding:0;
  border-radius:50%!important;
  color:#fff!important;
  opacity:0;
  visibility:hidden;
  pointer-events:none;
  cursor:pointer;
  transform:translateY(12px);
  transition:opacity .18s ease,transform .18s ease,visibility .18s ease,box-shadow .18s ease,background .18s ease;
}
.jump-to-top-button.is-visible{
  opacity:1;
  visibility:visible;
  pointer-events:auto;
  transform:none;
}
.jump-to-top-button:hover{
  transform:translateY(-2px);
}
.jump-to-top-button:focus-visible{
  outline:3px solid rgba(167,139,250,.55);
  outline-offset:3px;
}
.jump-to-top-button .seja-ui-icon,
.jump-to-top-button .public-ui-icon,
.jump-to-top-icon{
  width:22px;
  height:22px;
  display:block;
  fill:none;
  stroke:currentColor;
  stroke-width:2;
  stroke-linecap:round;
  stroke-linejoin:round;
}

/* Same universal control, different placement context. */
.jump-to-top-button.is-contained{
  position:static;
  left:auto;
  right:auto;
  bottom:auto;
  z-index:auto;
  transform:translateY(8px);
}
.jump-to-top-button.is-contained.is-visible{transform:none;}
.jump-to-top-button.is-contained:hover{transform:translateY(-2px);}

/* Main Web/Admin pages keep the utility away from the central content line. */
.jump-to-top-button.is-admin-context{
  left:auto;
  right:max(24px,env(safe-area-inset-right));
  transform:translateY(12px);
}
.jump-to-top-button.is-admin-context.is-visible{transform:none;}
.jump-to-top-button.is-admin-context:hover{transform:translateY(-2px);}

@media(max-width:680px){
  .jump-to-top-button:not(.is-contained){right:16px;bottom:max(18px,env(safe-area-inset-bottom));}
}
@media(prefers-reduced-motion:reduce){.jump-to-top-button{transition:none;}}
