/* Keep these controls outside animated sections and clear of the hosting badge. */
.page-jump {
  position: fixed;
  right: max(20px, env(safe-area-inset-right));
  bottom: calc(86px + env(safe-area-inset-bottom));
  z-index: 35;
  display: flex;
  flex-direction: column;
  width: 48px;
  padding: 1px;
  border: 1px solid #ffffff38;
  border-radius: 24px;
  background: #17232ef2;
  color: #edf4fc;
  box-shadow: 0 4px 18px #0003;
}
.page-jump[hidden] { display: none; }
.page-jump button {
  display: grid;
  place-items: center;
  width: 44px;
  height: 44px;
  padding: 0;
  border: 0;
  border-radius: 50%;
  background: transparent;
  color: inherit;
  cursor: pointer;
  touch-action: manipulation;
  -webkit-tap-highlight-color: transparent;
}
.page-jump button + button { border-top: 1px solid #ffffff21; }
.page-jump button:focus-visible { outline: 2px solid #a4d2fc; outline-offset: 3px; }
.page-jump button:active { background: #ffffff20; }
.page-jump svg { width: 20px; height: 20px; fill: none; stroke: currentColor; stroke-width: 1.6; stroke-linecap: round; stroke-linejoin: round; }
@media (hover: hover) { .page-jump button:hover { background: #ffffff18; } }
@media (max-width: 700px) { .page-jump { right: max(12px, env(safe-area-inset-right)); bottom: calc(80px + env(safe-area-inset-bottom)); } }
@media print { .page-jump { display: none; } }
