/* Keep JupiterX's visibility and click handler; replace only its presentation.
 * The arrow is a vector image, independent of emoji and icon fonts.
 */
body .jupiterx-corner-buttons {
  bottom: max(18px, env(safe-area-inset-bottom));
}
body .jupiterx-corner-buttons.jupiterx-scrolled {
  right: max(18px, env(safe-area-inset-right));
}
body .jupiterx-corner-buttons .jupiterx-scroll-top {
  appearance: none;
  -webkit-appearance: none;
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 52px;
  height: 52px;
  min-width: 48px;
  min-height: 48px;
  padding: 0;
  margin: 0;
  right: auto;
  bottom: auto;
  border: 1px solid transparent;
  border-radius: 50%;
  color: #ffb477;
  background: linear-gradient(140deg, #31271f, #151515 72%) padding-box,
    linear-gradient(135deg, #ffe0b3, #f58b3a 32%, #91451e 70%, #50311f) border-box;
  box-shadow: 0 6px 22px #0005, 0 0 18px #ff751820, inset 0 1px #ffffff0c;
  font: 0/1 Arial, sans-serif;
  cursor: pointer;
  -webkit-tap-highlight-color: transparent;
  transition: transform 160ms ease, box-shadow 200ms ease;
}
body .jupiterx-corner-buttons .jupiterx-scroll-top::before {
  content: '';
  display: block;
  width: 22px;
  height: 22px;
  margin: 0;
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none'%3E%3Cpath d='M12 19V5M5.5 11.5 12 5l6.5 6.5' stroke='%23ffb477' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / contain no-repeat;
  transition: transform 200ms ease;
}
body .jupiterx-corner-buttons .jupiterx-scroll-top::after {
  content: '';
  position: absolute;
  inset: 4px;
  border: 1px solid #ffc28a12;
  border-radius: inherit;
  pointer-events: none;
}
@media (hover: hover) and (pointer: fine) {
  body .jupiterx-corner-buttons .jupiterx-scroll-top:hover {
    transform: translateY(-2px);
    box-shadow: 0 8px 24px #0006, 0 0 24px #ff79183d, inset 0 1px #ffffff14;
  }
  body .jupiterx-corner-buttons .jupiterx-scroll-top:hover::before { transform: translateY(-2px); }
}
body .jupiterx-corner-buttons .jupiterx-scroll-top:active { transform: scale(.92); }
body .jupiterx-corner-buttons .jupiterx-scroll-top:focus:not(:focus-visible) { outline: none; }
body .jupiterx-corner-buttons .jupiterx-scroll-top:focus-visible { outline: 2px solid #ffb477; outline-offset: 4px; }
html.snh-menu-open .jupiterx-corner-buttons { visibility: hidden; }
@media (max-width: 767px) {
  body .jupiterx-corner-buttons { bottom: max(16px, env(safe-area-inset-bottom)); }
  body .jupiterx-corner-buttons.jupiterx-scrolled { right: max(16px, env(safe-area-inset-right)); }
  body .jupiterx-corner-buttons .jupiterx-scroll-top { width: 48px; height: 48px; }
}
@media (prefers-reduced-motion: reduce) {
  body .jupiterx-corner-buttons,
  body .jupiterx-corner-buttons .jupiterx-scroll-top,
  body .jupiterx-corner-buttons .jupiterx-scroll-top::before { transition: none; }
}
