/* 44px hit area around a 40px visible circle. Themes supply semantic paint. */
button.mx-back-to-top {
  position: fixed;
  right: max(1rem, env(safe-area-inset-right));
  bottom: max(1rem, env(safe-area-inset-bottom));
  z-index: 90;
  display: grid;
  place-items: center;
  width: 2.75rem;
  height: 2.75rem;
  padding: 0;
  border: 0 !important;
  border-radius: 50%;
  background: transparent;
  color: var(--mx-text) !important;
  box-shadow: none;
  letter-spacing: normal;
  line-height: 1;
}
button.mx-back-to-top::before {
  content: "";
  position: absolute;
  inset: 2px;
  border: 1px solid var(--mx-divider-strong);
  border-radius: 50%;
  background: var(--mx-surface);
  box-shadow: 0 3px 14px #0006;
}
button.mx-back-to-top::after { content: none; }
button.mx-back-to-top[hidden] { display: none; }
button.mx-back-to-top:hover { color: var(--mx-accent) !important; }
button.mx-back-to-top:hover::before { border-color: var(--mx-accent); }
button.mx-back-to-top:focus-visible { outline: 2px solid var(--mx-accent); outline-offset: 3px; }
.mx-back-to-top svg {
  position: relative;
  width: 1.125rem;
  height: 1.125rem;
  fill: none;
  stroke: currentColor;
  stroke-width: 2;
  stroke-linecap: round;
  stroke-linejoin: round;
}
