.ctr-list-scroll {
  position: fixed;
  right: 1rem;
  bottom: 1rem;
  z-index: 1070;
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
  pointer-events: none;
}

.ctr-list-scroll.has-guide {
  bottom: 4.25rem;
}

.ctr-list-scroll__btn {
  width: 2.75rem;
  height: 2.75rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 1px solid var(--ctr-border, #c7cbd1);
  border-radius: 50%;
  background: var(--ctr-surface, #fff);
  color: var(--ctr-primary, #155f52);
  box-shadow: 0 0.25rem 0.8rem rgb(0 0 0 / 20%);
  font-size: 1.1rem;
  pointer-events: auto;
  cursor: pointer;
  animation: ctr-list-scroll-in 0.15s ease-out;
}

.ctr-list-scroll__btn[hidden] {
  display: none;
}

.ctr-list-scroll__btn:hover {
  background: var(--ctr-primary, #155f52);
  color: #fff;
}

.ctr-list-scroll__btn:focus-visible {
  outline: 3px solid #f4c542;
  outline-offset: 2px;
}

[data-theme="dark"] .ctr-list-scroll__btn {
  background: #1e293b;
  border-color: #334155;
  color: #93c5fd;
}

@keyframes ctr-list-scroll-in {
  from { opacity: 0; transform: translateY(0.4rem); }
  to { opacity: 1; transform: none; }
}

@media (prefers-reduced-motion: reduce) {
  .ctr-list-scroll__btn { animation: none; }
}

@media print {
  .ctr-list-scroll { display: none; }
}
