.lyric-word{position:relative;cursor:pointer;border-radius:4px;transition:color .12s,background .12s,box-shadow .12s}.lyric-word:before{content:"";position:absolute;inset:-3px -2px}@media (hover:hover){.lyric-word:hover{color:var(--brand-ink);background:var(--brand-soft);box-shadow:0 0 0 2px var(--brand-soft)}}.lyric-word:focus-visible{outline:2px solid var(--focus);outline-offset:1px}.lyric-mask{position:relative;-webkit-user-select:none;user-select:none}.lyric-mask:after{content:"";position:absolute;inset-inline:0;top:50%;height:.56em;transform:translateY(-50%);border-radius:999px;background:color-mix(in oklch,var(--lyric-row-ink,var(--muted-ink)) 24%,#0000);pointer-events:none}.lyric-mask[data-masked=ease]:after{animation:lyric-mask-in .3s ease-out both}@media (prefers-reduced-motion:reduce){.lyric-mask[data-masked=ease]:after{animation:none}}@keyframes lyric-mask-in{0%{opacity:0}}@keyframes play-ring{0%{transform:scale(1);opacity:.75}70%,to{transform:scale(1.7);opacity:0}}.play-ring{animation:play-ring 2.6s cubic-bezier(.2,.7,.3,1) infinite}@keyframes play-invite{0%,to{transform:scale(1)}50%{transform:scale(1.05)}}.play-invite{animation:play-invite 2.6s ease-in-out infinite}.intro-stage:focus-visible{outline:none!important;box-shadow:inset 0 0 0 3px var(--focus),0 0 0 1px color-mix(in oklch,var(--divider) 70%,#0000),var(--shadow-e2)!important}@keyframes intro-demo-word{0%,to{background:#0000;color:inherit}1.5%,4.5%{background:var(--brand-soft);color:var(--brand-ink);border-radius:6px}6%{background:#0000;color:inherit}}@keyframes intro-demo-disc-a{0%,42%{opacity:1}48%,92%{opacity:.35}98%,to{opacity:1}}@keyframes intro-demo-disc-b{0%,42%{opacity:.35}48%,92%{opacity:1}98%,to{opacity:.35}}@keyframes intro-demo-draw{0%{stroke-dashoffset:1}to{stroke-dashoffset:0}}@keyframes intro-demo-note{0%{opacity:0;transform:translateY(5px)}to{opacity:1;transform:none}}@keyframes intro-demo-savepop{0%,40%{opacity:0;transform:scale(.4)}46%{opacity:1;transform:scale(1.18)}52%{transform:scale(1)}94%{opacity:1}to{opacity:0;transform:scale(.9)}}@keyframes intro-demo-mic{0%,48%{transform:scale(1);opacity:.35}56%{transform:scale(1.25);opacity:1}64%{transform:scale(1);opacity:.6}72%{transform:scale(1.25);opacity:1}80%,to{transform:scale(1);opacity:.35}}@media (prefers-reduced-motion:reduce){.intro-demo-module *{animation:none!important}}.intro-start-pill{transition:transform .15s cubic-bezier(.16,1,.3,1),box-shadow .15s cubic-bezier(.16,1,.3,1)}.intro-start-pill:hover:not(:disabled){
  /* !important on transform too: inline `all: unset` beats class pseudo
     rules (the shadow already needed it; the lift silently lost). */transform:translateY(-1px)!important;box-shadow:0 10px 26px #00000073!important}.intro-start-pill:active:not(:disabled){transform:scale(.97)!important}.intro-start-pill:focus-visible{outline:2px solid var(--on-media)!important;outline-offset:2px}@media (prefers-reduced-motion:reduce){.intro-start-pill{transition:none}.intro-start-pill:hover:not(:disabled){transform:none!important}}@keyframes intro-pill-ring{0%{transform:scale(1);opacity:.65}70%,to{transform:scale(1.12);opacity:0}}.intro-pill-ring{animation:intro-pill-ring 2.6s cubic-bezier(.2,.7,.3,1) infinite}@media (prefers-reduced-motion:reduce){.intro-cta-note *,.intro-pill-ring{animation:none!important}}@keyframes intro-cta-nudge{0%,to{transform:scale(1)}25%,75%{transform:scale(1.07)}50%{transform:scale(1)}}.intro-cta-nudge{
  /* !important: the Start pill's inline `all: unset` resets animation too —
     without it the pulse never runs (and never fires animationend). */animation:intro-cta-nudge .7s ease-in-out!important}@media (prefers-reduced-motion:reduce){.intro-cta-nudge{animation:none}}.stage-stacked .play-invite,.stage-stacked .play-ring{
  /* !important: the disc's geometry is inline (same precedence trap as the
     .intro-stage focus ring above). Vertical: centred in the band above the
     ~104px stacked box — top = (100% - 104px - 54px) / 2. */width:54px!important;height:54px!important;top:calc(50% - 79px)!important;bottom:auto!important}.stage-docked .play-invite,.stage-docked .play-ring{width:54px!important;height:54px!important;top:calc(50% - 57px)!important;bottom:auto!important}.stage-poster img[src*="/hqdefault."]{top:-16.667%!important;height:133.333%!important}