/* Wave v5 — smooth hover-to-expand, scoped to sidebar only.
   Color values resolve from EXISTING Wave vars, no site-wide palette changes. */
html.wave-hover-rail { --wave-rail-width:76px!important; }
html.wave-hover-rail #wave-side-navigation {
  width:76px!important;min-width:76px!important;padding:15px 10px 12px!important;
  overflow:visible!important;align-items:stretch!important;
  z-index:100!important;box-sizing:border-box!important;
  background:var(--gust-base,var(--base,#070f19))!important;
  border-right:1px solid var(--gust-border,var(--border,#ffffff12))!important;
  box-shadow:0 0 0 transparent!important;
  transition:width .26s cubic-bezier(.22,1,.36,1),box-shadow .26s ease!important;
}
html.wave-hover-rail #wave-side-navigation.wave-hover-expanded {
  width:234px!important;min-width:234px!important;
  box-shadow:18px 0 46px #0006,1px 0 0 color-mix(in srgb,var(--gust-accent,var(--accent,#6bbbff)) 10%,transparent)!important;
}
html.wave-hover-rail #wave-side-navigation .wordmark,
html.wave-hover-rail #wave-side-navigation .header-brand{
  display:flex!important;align-items:center!important;justify-content:flex-start!important;
  width:100%!important;min-width:0!important;height:52px!important;min-height:52px!important;
  margin:0 0 18px!important;padding:0 6px!important;order:0!important;flex:none!important;
  overflow:hidden!important;white-space:nowrap!important;box-sizing:border-box!important;
}
html.wave-hover-rail #wave-side-navigation .wordmark .wave-wordmark,
html.wave-hover-rail #wave-side-navigation .header-brand .wave-wordmark{
  display:none!important;width:126px!important;max-width:126px!important;height:auto!important;object-fit:contain!important;
}
html.wave-hover-rail #wave-side-navigation .wave-hover-symbol {
  width:38px!important;height:38px!important;min-width:38px!important;display:block!important;object-fit:contain!important;
}
html.wave-hover-rail #wave-side-navigation.wave-hover-expanded .wordmark .wave-wordmark,
html.wave-hover-rail #wave-side-navigation.wave-hover-expanded .header-brand .wave-wordmark{display:block!important;}
html.wave-hover-rail #wave-side-navigation.wave-hover-expanded .wave-hover-symbol{display:none!important;}
html.wave-hover-rail #wave-side-navigation nav {
  display:flex!important;flex-direction:column!important;align-items:stretch!important;
  flex:1 1 auto!important;min-height:0!important;width:100%!important;
  margin:0!important;padding:0 0 12px!important;gap:4px!important;
  overflow-y:auto!important;overflow-x:hidden!important;scrollbar-width:none!important;
}
html.wave-hover-rail #wave-side-navigation nav::-webkit-scrollbar{display:none}
html.wave-hover-rail #wave-side-navigation nav>a {
  display:flex!important;align-items:center!important;justify-content:flex-start!important;
  width:100%!important;min-width:0!important;height:48px!important;min-height:48px!important;
  flex:0 0 48px!important;border-radius:12px!important;box-sizing:border-box!important;
  gap:14px!important;margin:0!important;padding:0 15px!important;
  font:550 13px/20px Inter,'Segoe UI',sans-serif!important;letter-spacing:0!important;
  white-space:nowrap!important;overflow:hidden!important;
  background:transparent!important;border:1px solid transparent!important;
  color:var(--gust-secondary,var(--muted,#8b9fb4))!important;
  text-decoration:none!important;transition:background .16s ease,color .16s ease!important;
}
html.wave-hover-rail #wave-side-navigation nav>a:hover {
  color:var(--gust-foreground,var(--text,#eef6ff))!important;
  background:color-mix(in srgb,var(--gust-accent,var(--accent,#6bbbff)) 9%,transparent)!important;
}
html.wave-hover-rail #wave-side-navigation nav>a[aria-current=page],
html.wave-hover-rail #wave-side-navigation nav>a.active {
  color:var(--gust-accent,var(--accent,#6bbbff))!important;
  background:color-mix(in srgb,var(--gust-accent,var(--accent,#6bbbff)) 12%,transparent)!important;
  border-color:color-mix(in srgb,var(--gust-accent,var(--accent,#6bbbff)) 15%,transparent)!important;
  box-shadow:none!important;
}
html.wave-hover-rail #wave-side-navigation nav>a>svg,
html.wave-hover-rail #wave-side-navigation nav>a>.wave-premium-icon svg,
html.wave-hover-rail #wave-side-navigation nav>a .wave-nav-symbol {
  flex:0 0 22px!important;width:22px!important;height:22px!important;
  transform:none!important;opacity:1!important;
}
html.wave-hover-rail #wave-side-navigation nav>a>.wave-premium-icon{
  display:flex!important;align-items:center!important;justify-content:center!important;
  flex:0 0 22px!important;width:22px!important;height:22px!important;padding:0!important;
  border:0!important;border-radius:0!important;background:transparent!important;
}
html.wave-hover-rail #wave-side-navigation nav>a>span:not(.wave-premium-icon) {
  display:inline-block!important;overflow:hidden!important;max-width:0!important;opacity:0!important;
  font-size:13px!important;white-space:nowrap!important;text-overflow:ellipsis!important;
  transition:max-width .18s ease,opacity .12s ease!important;
}
html.wave-hover-rail #wave-side-navigation.wave-hover-expanded nav>a>span:not(.wave-premium-icon){max-width:140px!important;opacity:1!important;transition-delay:.07s!important;}
html.wave-hover-rail #wave-side-navigation .wave-premium-section-label,
html.wave-hover-rail #wave-side-navigation .wave-premium-brand-dock,
html.wave-hover-rail #wave-side-navigation .wave-premium-toggle{display:contents!important;}
html.wave-hover-rail #wave-side-navigation .wave-premium-section-label,
html.wave-hover-rail #wave-side-navigation .wave-premium-toggle{display:none!important;}
/* The fixed profile dock stays visible even if many playlists are added. */
html.wave-hover-rail #wave-side-navigation .wave-hover-account-dock {
  display:flex!important;flex-direction:column!important;flex:none!important;
  gap:4px!important;box-sizing:border-box!important;
  border-top:1px solid var(--gust-border,var(--border,#ffffff14))!important;
  padding-top:10px!important;margin-top:auto!important;order:10!important;width:100%!important;
}
html.wave-hover-rail #wave-side-navigation .wave-hover-account-dock>button{
  display:flex!important;align-items:center!important;justify-content:flex-start!important;
  min-width:0!important;width:100%!important;min-height:46px!important;height:46px!important;
  flex:0 0 46px!important;margin:0!important;padding:0 15px!important;gap:14px!important;
  background:transparent!important;border:1px solid transparent!important;border-radius:12px!important;
  color:var(--gust-secondary,var(--muted,#8b9fb4))!important;box-sizing:border-box!important;
  font:550 13px/20px Inter,'Segoe UI',sans-serif!important;white-space:nowrap!important;overflow:hidden!important;
}
html.wave-hover-rail #wave-side-navigation .wave-hover-account-dock>button:hover{
  background:color-mix(in srgb,var(--gust-accent,var(--accent,#6bbbff)) 9%,transparent)!important;
  color:var(--gust-foreground,var(--text,#eef6ff))!important;
}
html.wave-hover-rail #wave-side-navigation .wave-hover-account-dock svg{
  display:block!important;flex:0 0 22px!important;width:22px!important;height:22px!important;
}
html.wave-hover-rail #wave-side-navigation .wave-hover-account-dock .wave-side-label{
  display:inline-block!important;overflow:hidden!important;max-width:0!important;opacity:0!important;
  color:inherit!important;font-size:13px!important;transition:max-width .18s ease,opacity .12s ease!important;
}
html.wave-hover-rail #wave-side-navigation.wave-hover-expanded .wave-hover-account-dock .wave-side-label{
  max-width:128px!important;opacity:1!important;transition-delay:.07s!important;
}
/* Inline Music subsections, NOT a floating popup. */
html.wave-hover-rail body.wave-music-nav-integrated #wave-side-navigation #wave-music-rail-section{
  display:none!important;min-width:0!important;flex:none!important;
  margin:0 0 8px 12px!important;padding:0 0 2px 12px!important;
  border-left:1px solid var(--gust-border,var(--border,#ffffff14))!important;
}
html.wave-hover-rail body.wave-music-nav-integrated #wave-side-navigation.wave-hover-expanded #wave-music-rail-section{
  display:flex!important;flex-direction:column!important;
}
html.wave-hover-rail body.wave-music-nav-integrated #wave-side-navigation #wave-music-rail-section button.side,
html.wave-hover-rail body.wave-music-nav-integrated #wave-side-navigation #wave-music-rail-section #shortcuts-button {
  width:100%!important;min-height:33px!important;height:auto!important;margin:1px 0!important;
  padding:6px 8px!important;gap:8px!important;font-size:12px!important;white-space:nowrap!important;
}
html.wave-hover-rail body.wave-music-nav-integrated #wave-side-navigation #wave-music-rail-section .wave-music-rail-title,
html.wave-hover-rail body.wave-music-nav-integrated #wave-side-navigation #wave-music-rail-section .side-heading{
  font-size:9px!important;margin:8px 4px!important;
}
html.wave-hover-rail #wave-side-navigation #profile-menu {
  position:fixed!important;left:calc(234px + 9px)!important;right:auto!important;
  max-width:min(288px,calc(100vw - 252px))!important;z-index:130!important;
}
html.wave-hover-rail #wave-side-navigation #profile-menu[hidden]{display:none!important}
/* Prevent the old premium overlay from trapping the rail in collapsed mode. */
html.wave-hover-rail #wave-side-navigation .wave-premium-account-dock,
html.wave-hover-rail #wave-side-navigation .wave-premium-brand-dock{display:contents!important;}
@media(max-width:760px){
 html.wave-hover-rail{--wave-rail-width:64px!important}
 html.wave-hover-rail #wave-side-navigation{width:64px!important;min-width:64px!important;padding:12px 5px!important}
 html.wave-hover-rail #wave-side-navigation.wave-hover-expanded{width:min(234px,92vw)!important;min-width:min(234px,92vw)!important}
 html.wave-hover-rail #wave-side-navigation nav>a,
 html.wave-hover-rail #wave-side-navigation .wave-hover-account-dock>button{padding:0 13px!important}
 html.wave-hover-rail #wave-side-navigation .wordmark,
 html.wave-hover-rail #wave-side-navigation .header-brand{padding:0 5px!important}
 html.wave-hover-rail #wave-side-navigation #profile-menu{left:min(245px,calc(92vw + 8px))!important;max-width:calc(100vw - min(245px,92vw) - 11px)!important}
}
@media(prefers-reduced-motion:reduce){
 html.wave-hover-rail #wave-side-navigation,
 html.wave-hover-rail #wave-side-navigation nav>a,
 html.wave-hover-rail #wave-side-navigation .wave-side-label,
 html.wave-hover-rail #wave-side-navigation nav>a>span{transition:none!important}
}

/* Label-only hover: keep the rail compact and show just the tab name. */
html.wave-hover-rail #wave-side-navigation,html.wave-hover-rail #wave-side-navigation.wave-hover-expanded{width:var(--wave-rail-width)!important;min-width:var(--wave-rail-width)!important;box-shadow:none!important;overflow:visible!important}
html.wave-hover-rail #wave-side-navigation nav{overflow:visible!important}
html.wave-hover-rail #wave-side-navigation nav>a,html.wave-hover-rail #wave-side-navigation .wave-hover-account-dock>button{position:relative!important;overflow:visible!important}
html.wave-hover-rail #wave-side-navigation nav>a::after,html.wave-hover-rail #wave-side-navigation .wave-hover-account-dock>button::after{content:attr(data-nav-label)!important;display:block!important;position:absolute!important;left:calc(100% + 12px)!important;top:50%!important;transform:translateY(-50%)!important;width:max-content!important;max-width:none!important;padding:6px 10px!important;border:1px solid #b9ddff20!important;border-radius:8px!important;background:#142130!important;color:#edf6ff!important;font:500 12px/18px 'Segoe UI',sans-serif!important;white-space:nowrap!important;box-shadow:0 6px 18px #0004!important;pointer-events:none!important;opacity:0!important;visibility:hidden!important;z-index:200!important;transition:opacity .15s!important}
html.wave-hover-rail #wave-side-navigation nav>a:hover::after,html.wave-hover-rail #wave-side-navigation nav>a:focus-visible::after,html.wave-hover-rail #wave-side-navigation .wave-hover-account-dock>button:hover::after,html.wave-hover-rail #wave-side-navigation .wave-hover-account-dock>button:focus-visible::after{opacity:1!important;visibility:visible!important}
html.wave-hover-rail #wave-side-navigation #profile-menu{left:calc(var(--wave-rail-width) + 9px)!important;max-width:min(288px,calc(100vw - var(--wave-rail-width) - 24px))!important}
@media(hover:none){html.wave-hover-rail #wave-side-navigation nav>a::after,html.wave-hover-rail #wave-side-navigation .wave-hover-account-dock>button::after{display:none!important}}
