/* SCROLLTIDE_V1 — motion polish from iOS ScrollMotion (no CDN) */
#stProgress{
  position:fixed;top:0;left:0;right:0;height:3px;z-index:200;
  pointer-events:none;opacity:0;transition:opacity .2s;
  background:rgba(255,255,255,.08);
}
#stProgress>i{
  display:block;height:100%;width:0%;
  border-radius:0 2px 2px 0;
  background:var(--grad,linear-gradient(90deg,#ff006e,#8338ec));
  box-shadow:0 0 10px rgba(255,0,110,.45);
  will-change:width;
}
#stProgress.st-on{opacity:1}

.topnav{transition:padding .22s ease,background .22s ease,border-color .22s ease,box-shadow .22s ease}
.topnav.st-morph{
  padding-top:8px;padding-bottom:8px;
  background:rgba(10,10,12,.88);
  border-bottom-color:rgba(255,255,255,.1);
  box-shadow:0 8px 28px rgba(0,0,0,.35);
}
.topnav.st-morph .brand-mark{width:24px;height:24px;border-radius:7px}
.topnav.st-morph .brand-word{font-size:15px}
.brand-mark,.brand-word{transition:width .22s,height .22s,font-size .22s}

.hero-stage{position:relative}
.hero-orbs{transform:translate3d(0,calc(var(--st-py,0)*1px),0);will-change:transform}
.hero-stage h1{transform:translate3d(0,calc(var(--st-py,0)*.35px),0)}

.st-focus{
  filter:blur(6px);opacity:.4;transform:scale(.96);transform-origin:left center;
  transition:filter .55s cubic-bezier(.2,.8,.2,1),opacity .55s ease,transform .55s cubic-bezier(.2,.8,.2,1);
}
.st-focus.st-in{filter:blur(0);opacity:1;transform:scale(1)}

.st-reveal{
  opacity:0;transform:translateY(18px) scale(.96);
  transition:opacity .5s cubic-bezier(.2,.8,.2,1),transform .5s cubic-bezier(.2,.8,.2,1);
  transition-delay:var(--st-d,0ms);
}
.st-reveal.st-in{opacity:1;transform:translateY(0) scale(1)}

.btn-primary.st-glow,button.primary.st-glow{
  box-shadow:0 0 0 1px rgba(255,0,110,.25),0 8px 28px rgba(255,0,110,.35),0 0 40px rgba(131,56,236,.28);
  animation:stGlowPulse 1.6s ease-in-out infinite;
}
@keyframes stGlowPulse{
  0%,100%{box-shadow:0 0 0 1px rgba(255,0,110,.22),0 8px 24px rgba(255,0,110,.32),0 0 32px rgba(131,56,236,.22)}
  50%{box-shadow:0 0 0 1px rgba(255,0,110,.4),0 10px 34px rgba(255,0,110,.5),0 0 48px rgba(131,56,236,.38)}
}

.play-btn{position:relative;isolation:isolate}
.sc-track.playing .play-btn::after,
.track.playing .play-btn::after{
  content:'';position:absolute;inset:-5px;border-radius:50%;
  background:conic-gradient(#ff006e,#8338ec,#3a86ff,#ff006e);
  -webkit-mask:radial-gradient(farthest-side,transparent calc(100% - 2.5px),#000 0);
  mask:radial-gradient(farthest-side,transparent calc(100% - 2.5px),#000 0);
  animation:stSpin 3.2s linear infinite;opacity:.9;pointer-events:none;z-index:-1;
}
@keyframes stSpin{to{transform:rotate(360deg)}}

.sc-art{
  transform:scale(var(--st-cz,1));
  opacity:var(--st-co,1);
  transition:transform .12s linear,opacity .12s linear;
  transform-origin:center center;
}

/* Spotlight rail only when overflowing (class st-shelf-on added by JS) */
.st-shelf.st-shelf-on{
  display:flex;flex-wrap:nowrap;gap:10px;overflow-x:auto;
  scroll-snap-type:x proximity;-webkit-overflow-scrolling:touch;
  padding:6px 2px 10px;margin:0 -2px;scrollbar-width:none;
  perspective:600px;
}
.st-shelf.st-shelf-on::-webkit-scrollbar{display:none}
.st-shelf.st-shelf-on>.st-spot{
  scroll-snap-align:start;flex:0 0 auto;
  transition:transform .2s ease,opacity .2s ease,filter .2s ease;
  transform:scale(var(--st-sc,1)) rotateY(var(--st-ry,0deg));
  opacity:var(--st-op,1);filter:brightness(var(--st-br,1));
  transform-style:preserve-3d;
}

.app-intro.st-morphing h2{
  font-size:clamp(22px,3.2vw,28px);transition:font-size .22s ease,opacity .22s ease;opacity:.88;
}
.app-intro.st-morphing p{
  max-height:0;opacity:0;margin:0;overflow:hidden;transition:max-height .22s ease,opacity .22s ease;
}

@media (prefers-reduced-motion:reduce){
  #stProgress,#stProgress>i{transition:none!important}
  .topnav,.brand-mark,.brand-word{transition:none!important}
  .hero-orbs,.hero-stage h1{transform:none!important}
  .st-focus,.st-reveal{filter:none!important;opacity:1!important;transform:none!important;transition:none!important}
  .btn-primary.st-glow,button.primary.st-glow{animation:none!important}
  .sc-track.playing .play-btn::after,.track.playing .play-btn::after{animation:none!important;opacity:.45}
  .sc-art{transform:none!important;opacity:1!important;transition:none!important}
  .st-shelf.st-shelf-on>.st-spot{transform:none!important;opacity:1!important;filter:none!important}
}
