/* Preserve native wheel/touch momentum and keep scrolling surfaces inexpensive. */
.workspace{scroll-behavior:smooth;overscroll-behavior-y:contain;scrollbar-gutter:stable;-webkit-overflow-scrolling:touch}
.shelf,.hero-grid,.song-grid{scroll-snap-type:x proximity;scroll-padding-inline:16px}
.shelf,.hero-grid,.song-grid,.lyrics-lines,.queue-panel,.sidebar-scroll{scroll-behavior:smooth;-webkit-overflow-scrolling:touch}
.lyrics-lines,.queue-panel,.sidebar-scroll{overscroll-behavior:contain}
.player-bar,#mobile-nav{background:var(--surface);backdrop-filter:none;-webkit-backdrop-filter:none}
.full-backdrop{transform:translateZ(0);pointer-events:none}
/* Small glass accents sit inside moving content; use a tint without live blur. */
.hero .pill,.online-hero .hero-play{backdrop-filter:none;-webkit-backdrop-filter:none}
@media(max-width:600px){
 .workspace{scrollbar-gutter:auto}
}
@media(prefers-reduced-motion:reduce){
 .workspace,.shelf,.hero-grid,.song-grid,.lyrics-lines,.queue-panel,.sidebar-scroll{scroll-behavior:auto}
}
html[data-reduce-motion=true] .workspace,html[data-reduce-motion=true] .shelf,html[data-reduce-motion=true] .hero-grid,html[data-reduce-motion=true] .song-grid,html[data-reduce-motion=true] .lyrics-lines,html[data-reduce-motion=true] .queue-panel,html[data-reduce-motion=true] .sidebar-scroll{scroll-behavior:auto}
