/* Shared public/workspace control; outside page content and below modal layers. */
button.scroll-to-top{position:fixed;right:calc(24px + env(safe-area-inset-right,0px));bottom:calc(24px + env(safe-area-inset-bottom,0px));z-index:60;display:grid;place-items:center;box-sizing:border-box;width:52px;height:52px;min-width:52px;min-height:52px;padding:0;border:1px solid #ffffff30;border-radius:50%;background:#bd203f;color:#fff;box-shadow:0 6px 22px #30121d26;cursor:pointer;touch-action:manipulation;opacity:0;visibility:hidden;pointer-events:none;transform:translateY(12px);transition:opacity .22s ease,transform .22s ease,background-color .2s ease,visibility .22s;}
button.scroll-to-top[data-visible=true]{opacity:1;visibility:visible;pointer-events:auto;transform:translateY(0)}
button.scroll-to-top svg{display:block;width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;pointer-events:none}
[data-theme=dark] button.scroll-to-top{background:#bd4367;border-color:#f5adc344;box-shadow:0 6px 22px #0004}
@media(hover:hover){button.scroll-to-top:hover{background:#a31b36;transform:translateY(-3px)}[data-theme=dark] button.scroll-to-top:hover{background:#cf5277}}
button.scroll-to-top:active{transform:translateY(0) scale(.96)}
button.scroll-to-top:focus-visible{outline:3px solid var(--ink,#242125);outline-offset:4px}
.studio-footer,.p-footer{padding-right:max(5vw,88px)}
.p-loading button.scroll-to-top,.p-routing button.scroll-to-top,.workspace-menu-open button.scroll-to-top,:root:has(dialog[open]) button.scroll-to-top,:root:has(#publicBootNotice) button.scroll-to-top{opacity:0;visibility:hidden;pointer-events:none}
@media(max-width:600px){button.scroll-to-top{right:calc(16px + env(safe-area-inset-right,0px));bottom:calc(16px + env(safe-area-inset-bottom,0px));width:48px;height:48px;min-width:48px;min-height:48px}}
/* Keep the existing slide-deck navigation clear of the shared arrow. */
body:has(.slide) button.scroll-to-top{bottom:calc(76px + env(safe-area-inset-bottom,0px))}
@media(prefers-reduced-motion:reduce){button.scroll-to-top{transition:none}}
@media print{button.scroll-to-top{display:none!important}}
