/* Back-to-top button: round, sits right under the messenger buttons, ring fills with scroll progress */
.knowskov-top{
  position:fixed;
  right:max(14px,env(safe-area-inset-right));
  /* messenger stack bottom = 14px + 2cm; button is 48px with an 8px gap beneath it */
  bottom:calc(2cm - 42px + env(safe-area-inset-bottom));
  z-index:9999;
  width:48px;height:48px;padding:0;margin:0;
  border:0;border-radius:50%;
  display:flex;align-items:center;justify-content:center;
  background:none;
  color:#702CE4;              /* violet of the W in the logo */
  box-shadow:none;
  cursor:pointer;
  -webkit-tap-highlight-color:transparent;
  opacity:0;visibility:hidden;pointer-events:none;
  transform:translateY(8px) scale(.86);
  transition:opacity .35s ease,transform .35s ease,visibility 0s linear .35s;
}
.knowskov-top.is-visible{
  opacity:1;visibility:visible;pointer-events:auto;
  transform:none;
  transition:opacity .35s ease,transform .35s ease,visibility 0s;
}
.knowskov-top.is-visible:hover{transform:translateY(-2px)}
.knowskov-top:focus-visible{outline:2px solid #702CE4;outline-offset:3px}
.knowskov-top svg{position:absolute;inset:0;width:100%;height:100%;display:block;overflow:visible}
.knowskov-top .kt-track{display:none}   /* no permanent outline: the ring only draws with scroll */
.knowskov-top .kt-ring{
  fill:none;stroke:#702CE4;stroke-width:1.5;stroke-linecap:round;
  transform:rotate(-90deg);transform-origin:24px 24px;
  stroke-dasharray:141.372;stroke-dashoffset:141.372;
}
.knowskov-top .kt-arrow{fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
@media (prefers-reduced-motion:reduce){
  .knowskov-top,.knowskov-top.is-visible{transition:opacity .2s ease,visibility 0s}
}
