.scroll-hints{position:fixed;inset:0;z-index:30;pointer-events:none}
.scroll-hint{position:absolute;display:grid;place-items:center;width:25px;height:25px;padding:0;border-radius:50%;transform:translate(-50%,-50%);background:var(--bg-primary,#fff);color:var(--text-secondary,#555);box-shadow:0 1px 8px #0002;border:1px solid var(--surface-border,#8883);opacity:.85;pointer-events:auto;cursor:pointer;touch-action:manipulation}
.scroll-hint::before{content:'';position:absolute;inset:-6px}
.scroll-hint:hover{opacity:1;color:var(--text-primary,#111)}
.scroll-hint:focus-visible{outline:2px solid var(--accent-primary,#d62840);outline-offset:2px;opacity:1}
.scroll-hint[hidden]{display:none}
.scroll-hint svg{width:16px;height:16px;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;animation:scroll-hint-pulse 2s ease-in-out infinite}
.scroll-hint-up svg{rotate:180deg}
@keyframes scroll-hint-pulse{0%,100%{transform:translateY(-1px);opacity:.5}50%{transform:translateY(2px);opacity:1}}
@media(prefers-reduced-motion:reduce){.scroll-hint svg{animation:none}}
@media print{.scroll-hints{display:none}}
