/* Hide only the browser's scrollbar; native scrolling remains available. */
html,body{scrollbar-width:none;-ms-overflow-style:none}
html::-webkit-scrollbar,body::-webkit-scrollbar{width:0;height:0;display:none}
.section-dots{position:fixed;right:18px;top:50%;transform:translateY(-50%);z-index:25;display:flex;flex-direction:column;padding:10px 0;border:1px solid #ffffff80;border-radius:24px;background:linear-gradient(135deg,#ffffff26,#ffffff06);box-shadow:inset 1px 1px 1px #ffffff99,inset -1px -1px 1px #123f3214,0 5px 16px #123f3214;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px)}
.section-dots[hidden]{display:none}
.section-dot{position:relative;display:grid;place-items:center;width:32px;height:32px;color:var(--green);border-radius:50%}
.section-dot:before{content:"";width:6px;height:6px;border-radius:50%;border:1px solid #52746399;background:linear-gradient(135deg,#ffffffc9,#c4d0c26b);box-shadow:inset 1px 1px 1px #ffffffb3,0 1px 2px #123f3233;opacity:.8;transition:background .2s,transform .2s,opacity .2s}
.section-dot[aria-current=location]:before{background:linear-gradient(135deg,#ead7a1,#ad9250 60%,#887038);border-color:#ad9250;box-shadow:inset 1px 1px 1px #ffffff88,0 2px 4px #69511f4d;opacity:1;transform:scale(1.4)}
.section-dot:hover:before,.section-dot:focus-visible:before{opacity:1;transform:scale(1.4)}
.section-dot:focus-visible{outline:2px solid var(--gold);outline-offset:1px}
.section-dot-label{position:absolute;right:44px;top:50%;transform:translate(5px,-50%);padding:6px 12px;background:var(--green);color:var(--paper);font-size:11px;letter-spacing:.06em;white-space:nowrap;opacity:0;visibility:hidden;pointer-events:none;transition:opacity .2s,transform .2s}
.section-dot:hover .section-dot-label,.section-dot:focus-visible .section-dot-label{opacity:1;visibility:visible;transform:translate(0,-50%)}
@media(max-width:760px){.section-dots{right:3px;padding:7px 0}.section-dot{width:24px;height:28px}.section-dot:before{width:5px;height:5px}.section-dot-label{right:33px;font-size:10px}.section-dot:hover:not(:focus-visible) .section-dot-label{visibility:hidden;opacity:0}}
@media(prefers-reduced-motion:reduce){.section-dot:before,.section-dot-label{transition:none}}
@media(forced-colors:active){.section-dots{background:Canvas;border-color:CanvasText}.section-dot[aria-current=location]:before{background:Highlight;border-color:Highlight}}

/* Liquid-glass adaptation: optical surface behind sharp, accessible controls. */
.scroll-glass-definition{position:absolute;pointer-events:none;overflow:hidden}
.section-dots{isolation:isolate;border:0;background:transparent;box-shadow:none;backdrop-filter:none;-webkit-backdrop-filter:none;padding:10px 2px;border-radius:999px}
.section-dots::before,.section-dots::after{content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none}
.section-dots::before{z-index:-2;background:rgba(248,247,242,.12);backdrop-filter:blur(3px);-webkit-backdrop-filter:blur(3px)}
@supports(backdrop-filter:url("#fu-gang-scroll-glass")){
 .section-dots::before{backdrop-filter:url("#fu-gang-scroll-glass") blur(1px);-webkit-backdrop-filter:url("#fu-gang-scroll-glass") blur(1px)}
}
.section-dots::after{z-index:-1;background:linear-gradient(115deg,rgba(255,255,255,.38),rgba(255,255,255,.03) 35%,rgba(18,63,50,.025) 70%,rgba(255,255,255,.2));box-shadow:0 2px 7px rgba(18,35,28,.08),inset 2px 2px 1px -1px rgba(255,255,255,.92),inset -2px -2px 1px -1px rgba(28,48,39,.25),inset 0 0 6px 1px rgba(255,255,255,.24);transition:box-shadow .25s ease}
.section-dots:hover::after{box-shadow:0 4px 12px rgba(18,35,28,.12),inset 2px 2px 1px -1px #fff,inset -2px -2px 1px -1px rgba(28,48,39,.3),inset 0 0 7px 2px rgba(255,255,255,.28)}
.section-dot{isolation:isolate;width:34px;height:34px;transition:transform .25s ease}
.section-dot::before{position:relative;z-index:2}
.section-dot::after{content:"";position:absolute;inset:6px;border-radius:50%;background:rgba(255,255,255,.09);box-shadow:inset 1px 1px 1px rgba(255,255,255,.7),inset -1px -1px 1px rgba(18,63,50,.16);opacity:0;transform:scale(.8);transition:opacity .25s ease,transform .25s ease}
.section-dot[aria-current=location]::after,.section-dot:hover::after,.section-dot:focus-visible::after{opacity:1;transform:scale(1)}
.section-dot:active{transform:translateY(1px) scale(.94)}
.section-dot-label{z-index:3}
@media(max-width:760px){.section-dots{padding:8px 1px}.section-dot{width:26px;height:30px}.section-dot::after{inset:5px 3px}}
@media(prefers-reduced-motion:reduce){.section-dots::after,.section-dot,.section-dot::after{transition:none}}
@media(forced-colors:active){.section-dots{background:Canvas;border:1px solid CanvasText}.section-dots::before,.section-dots::after,.section-dot::after{display:none}}
.section-dot[aria-current=location]:before{background:linear-gradient(135deg,#daddda,#8c9590 60%,#626c66);border-color:#858f88;box-shadow:inset 1px 1px 1px #ffffffaa,0 2px 4px #38473d40}
.section-dot:focus-visible{outline-color:#737e76}
