/* Shared page scrollbar and floating return-to-top control. */
html { scrollbar-width: thin; scrollbar-color: #38c8f1 #081b36; }
html::-webkit-scrollbar { width: 12px; }
html::-webkit-scrollbar-track { background: #081b36; }
html::-webkit-scrollbar-thumb {
  background: linear-gradient(180deg, #08cbee 0%, #4580ed 48%, #dc3db8 100%);
  border: 2px solid #081b36;
  border-radius: 12px;
}
html::-webkit-scrollbar-thumb:hover {
  background: linear-gradient(180deg, #5ce5f9 0%, #8278f6 48%, #f577d1 100%);
}
html[data-theme="light"] { scrollbar-color: #4284ed #e8effa; }
html[data-theme="light"]::-webkit-scrollbar-track { background: #e8effa; }
html[data-theme="light"]::-webkit-scrollbar-thumb { border-color: #e8effa; }

.gobet-scroll-top {
  position: fixed;
  right: 18px;
  bottom: calc(18px + env(safe-area-inset-bottom));
  z-index: 40;
  display: grid;
  place-items: center;
  width: 49px;
  height: 49px;
  padding: 0;
  border: 0;
  border-radius: 50%;
  color: #fff;
  background: linear-gradient(135deg, #08cbee 0%, #617bec 48%, #e63bb4 100%);
  box-shadow: 0 5px 22px #0311278c, 0 0 14px #13bce64d;
  cursor: pointer;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transform: translateY(12px);
  transition: opacity .2s, transform .2s, visibility .2s, box-shadow .2s;
}
.gobet-scroll-top::before {
  content: '';
  position: absolute;
  inset: 3px;
  border-radius: inherit;
  background: #0b1c3b;
}
.gobet-scroll-top svg { position: relative; z-index: 1; width: 23px; height: 23px; }
.gobet-scroll-top.is-visible { opacity: 1; visibility: visible; pointer-events: auto; transform: translateY(0); }
.gobet-scroll-top:hover { box-shadow: 0 6px 26px #0ac8ef8c; transform: translateY(-3px); }
.gobet-scroll-top:focus-visible { outline: 3px solid #f3dbff; outline-offset: 4px; }
@media (max-width: 650px) { .gobet-scroll-top { width: 46px; height: 46px; right: 14px; bottom: calc(16px + env(safe-area-inset-bottom)); } }
@media (prefers-reduced-motion: reduce) { .gobet-scroll-top { transition: none; } }
