.sl{
  --sl-anchor:.34;
  --sl-size:clamp(.95rem,calc(1cqw * 5.6),1.2rem);
  --sl-active:1;
  --sl-notsung:.51;
  --sl-sung:.497;
  --sl-bright:.85;
  --sl-dim:.35;
  position:relative;
  width:100%;
  flex:1 1 auto;min-height:0;
  display:flex;flex-direction:column;
  background:var(--card);
  border:1px dotted var(--card-border);
  border-radius:var(--radius);
  backdrop-filter:blur(10px) saturate(1.1);
  -webkit-backdrop-filter:blur(10px) saturate(1.1);
  box-shadow:0 18px 50px -22px rgba(0,0,0,.7),0 0 40px -12px rgba(56,189,248,.16);
  overflow:hidden;
}
.sl-head{
  display:flex;align-items:center;gap:12px;
  padding:14px 16px 10px;
}
.sl-art{
  width:48px;height:48px;flex-shrink:0;
  border-radius:8px;object-fit:cover;display:block;
  box-shadow:0 6px 18px -6px rgba(0,0,0,.7),0 0 0 1px rgba(255,255,255,.08);
  user-select:none;
}
.sl-meta{min-width:0;display:flex;flex-direction:column;gap:3px}
.sl-title{
  font-size:14px;font-weight:700;color:var(--text);
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis;
}
.sl-artist{
  font-size:12px;font-weight:500;color:var(--text-dim);
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis;
}
.sl-body{
  position:relative;
  flex:1 1 0;
  min-height:160px;
  container-type:size;
  border-top:1px solid var(--row-border);
}
.sl-viewport{
  position:absolute;inset:0;overflow:hidden;
  padding:0 16px;
  -webkit-mask-image:linear-gradient(180deg,transparent 0,#000 18px,#000 calc(100% - 34px),transparent);
          mask-image:linear-gradient(180deg,transparent 0,#000 18px,#000 calc(100% - 34px),transparent);
}
.sl-track{
  position:relative;
  padding:18px 0 60cqh;
  font-family:ui-sans-serif,system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;
  font-size:var(--sl-size);
  font-weight:700;
  line-height:1.1818;
  letter-spacing:-.01em;
}
.sl-group{
  --sl-blur:0px;
  padding:1.4cqw 0;
  margin:0 -6px;
  padding-left:6px;padding-right:6px;
  border-radius:8px;
  cursor:pointer;
  transform:translate3d(0,var(--sl-y,0px),0);
  transition:
    transform .62s cubic-bezier(.3,.9,.25,1) var(--sl-delay,0ms),
    opacity .25s cubic-bezier(.61,1,.88,1),
    filter .35s ease;
  filter:blur(var(--sl-blur));
  opacity:var(--sl-notsung);
  will-change:transform,opacity,filter;
}
.sl-group.is-active{opacity:var(--sl-active);--sl-blur:0px !important}
.sl-group.is-sung{opacity:var(--sl-sung)}
.sl-group:hover{opacity:1;--sl-blur:0px !important;background:rgba(255,255,255,.035)}
.sl-row{display:flex;flex-wrap:wrap;align-items:baseline;column-gap:.32ch}
.sl-opp .sl-row{justify-content:flex-end;text-align:end}
.sl-bgrow{font-size:.62em;margin-top:.15em}
.sl-bgrow .sl-word,.sl-bgrow .sl-letter{--sl-bright:.6;--sl-dim:.3}
.sl-chunk{display:inline-flex;white-space:nowrap}
.sl-word,.sl-letter{
  --gp:-20%;
  --gr:4px;
  --go:0;
  display:inline-block;
  color:transparent;
  -webkit-text-fill-color:transparent;
  background-image:linear-gradient(90deg,rgba(255,255,255,var(--sl-bright)) var(--gp),rgba(255,255,255,var(--sl-dim)) calc(var(--gp) + 20%));
  -webkit-background-clip:text;
          background-clip:text;
  text-shadow:0 0 var(--gr) rgba(255,255,255,var(--go));
  transform-origin:center center;
  will-change:transform;
}
.sl-word.sl-emph{background-image:none;text-shadow:none}
.sl-chunk .sl-word:first-child:not(:last-child){transform-origin:right center}
.sl-chunk .sl-word:last-child:not(:first-child){transform-origin:left center}
.sl-dots{display:flex;gap:.18em;padding:.35em 0}
.sl-opp.sl-dotgroup .sl-dots{justify-content:flex-end}
.sl-dot{
  width:.36em;height:.36em;border-radius:50%;
  background:#fff;opacity:.35;
  transform:scale(.75);
  will-change:transform,opacity;
}
.sl-dotgroup{transition:transform .62s cubic-bezier(.3,.9,.25,1) var(--sl-delay,0ms),opacity .3s ease,filter .35s ease}
.sl-dotgroup.is-sung{opacity:.25}
.sl-empty{display:flex;align-items:center;justify-content:center;height:100%;color:var(--text-faint);font-size:13px;font-family:ui-monospace,Menlo,Consolas,monospace}
@media (max-width:1149px){
  .sl-body{flex:none;height:280px}
}
@media (prefers-reduced-motion:reduce){
  .sl-group,.sl-dotgroup{transition:opacity .2s ease}
}
