/* Vertical fallback; responsive pin geometry is owned by CSS, never injected spacers. */
.feature-track{display:block;width:100%;height:auto;min-height:0}
.feature-scene,.motion-paused .feature-scene{width:100%;height:max(720px,100svh)}
.feature-progress{display:none}
.server-heading>h2:first-child{display:none}
.server-heading .moves-in,.motion-paused .server-heading .moves-in{position:static;opacity:1;margin:0!important}
.server-heading h2,.motion-paused .server-heading h2{font-size:clamp(72px,10vw,150px)}
.hero-character,.server-character,.core-orb img,.mood-card img{filter:none}
.mood-card:hover img,.mood-card:focus-visible img,.mood-card.is-active img{filter:none;transform:scale(1.025)}
.mood-card img{transition:transform 250ms cubic-bezier(.22,1,.36,1)}
.awake-interface,.floating-tag,.voice-chip,.chat-thread,.vc-status{backdrop-filter:none;background-color:#0d1728f2}
.final-cta:has(.final-invite:hover) .portal,.final-cta:has(.final-invite:focus-visible) .portal{filter:none}
header.island-nav{transition-property:width,height,border-radius}
.liquid-background:after{mix-blend-mode:normal;opacity:.04}
.liquid-background canvas{animation:none}
.playing .waveform i{animation-play-state:paused}
.is-on-screen .playing .waveform i{animation-play-state:running}
.low-power .liquid-background canvas,.motion-paused .liquid-background canvas,.page-hidden .liquid-background canvas,
.motion-paused .playing .waveform i,.page-hidden .playing .waveform i{animation-play-state:paused}
.motion-paused *, .motion-paused *:before,.motion-paused *:after{transition:none!important;animation-play-state:paused!important}
/* Isolate paint without guessing section heights or hiding content on fast scroll. */
.feature-scene,.meet,.moods,.core,.vc-section{contain:paint}
.pinned-motion .awakening{height:210svh}
.pinned-motion .awake-stage{position:sticky;top:0;height:100svh;min-height:0}
.pinned-motion .server-journey{position:relative;height:220svh;overflow:visible}
.pinned-motion .server-stage{position:sticky;top:0;height:100svh;min-height:0}
.pinned-motion .server-heading>h2:first-child{display:block}
.pinned-motion .server-heading .moves-in{position:absolute;inset:0 auto auto 0;white-space:nowrap;opacity:0}
.pinned-motion .abilities{height:400svh;overflow:visible}
.pinned-motion .feature-pin{position:sticky;top:0;height:100svh;overflow:hidden;background:#070a10;isolation:isolate}
.pinned-motion .feature-track{position:relative;height:calc(100svh - 90px);min-height:0}
.pinned-motion .feature-scene{position:absolute;inset:0;width:100%;height:100%;opacity:0;pointer-events:none}
.pinned-motion .feature-scene:first-child{opacity:1}
.pinned-motion .feature-scene:not(:first-child) .feature-copy{opacity:0}
.pinned-motion .feature-scene[aria-hidden=false]{pointer-events:auto}
.pinned-motion .feature-copy{top:12%}
.pinned-motion .feature-copy .display{font-size:clamp(76px,9vw,144px);margin:22px 0}
.pinned-motion .feature-progress{display:block;z-index:5}
.pinned-motion .feature-progress>span{width:100%;transform:scaleX(.25);transform-origin:left}
.pinned-motion .abilities-intro{padding-top:20px;padding-bottom:20px}
@media(max-width:800px){
  .feature-scene,.motion-paused .feature-scene{height:max(820px,100svh)}
  .server-heading h2,.motion-paused .server-heading h2{font-size:clamp(60px,12vw,96px)}
  .pinned-motion .abilities-intro{height:100px;align-items:flex-end;padding:0 6% 12px}
  .pinned-motion .feature-track{height:calc(100svh - 100px)}
  .pinned-motion .feature-copy{top:8%;left:6%;right:6%}
  .pinned-motion .feature-copy .display{font-size:clamp(54px,13vw,90px);margin:16px 0}
  .pinned-motion .feature-copy p{font-size:14px;line-height:1.6}
  .pinned-motion .feature-copy .scene-caption{margin-top:18px;font-size:10px;letter-spacing:1px}
  .pinned-motion .chat-thread{bottom:5%;padding:14px 18px;font-size:12px;width:min(280px,82%)}
  .pinned-motion .chat-line{font-size:12px;margin-bottom:10px}
  .pinned-motion .chat-line:last-child{margin-bottom:0}
  .pinned-motion .scene-number{font-size:11px}
  .pinned-motion .awake-stage .section-marker{padding-top:50px}
  .pinned-motion .server-stage .section-marker{padding-top:50px}
  .pinned-motion .server-heading{top:25%;right:6%}
  .pinned-motion .server-heading h2{font-size:clamp(54px,12vw,90px)}
  .pinned-motion .awake-character{width:100%;left:0;height:83%;bottom:2%}
  .pinned-motion .awake-terminal{bottom:90px;font-size:10px}
  .pinned-motion .awake-bottom{bottom:22px;flex-wrap:wrap;gap:10px}
}
@media(max-height:650px){
  .pinned-motion .abilities-intro{height:86px;padding-bottom:10px;align-items:flex-end}
  .pinned-motion .feature-track{height:calc(100svh - 86px)}
  .pinned-motion .feature-copy{top:5%;max-width:50%}
  .pinned-motion .feature-copy .display{font-size:clamp(34px,7vh,60px);margin:10px 0}
  .pinned-motion .feature-copy p{font-size:12px;line-height:1.4;margin:8px 0}
  .pinned-motion .scene-caption,.pinned-motion .music-tag,.pinned-motion .voice-chip,.pinned-motion .gaming-tag{display:none}
  .pinned-motion .chat-thread{width:230px;bottom:8%;right:5%;padding:12px;font-size:11px}
  .pinned-motion .chat-line{font-size:11px;margin-bottom:7px}
  .pinned-motion .awake-stage .section-marker{padding-top:46px}
  .pinned-motion .server-stage{padding-top:26px}
  .pinned-motion .server-stage .section-marker{padding-top:64px}
  .pinned-motion .server-heading{top:35%}
  .pinned-motion .server-heading h2{font-size:clamp(36px,12vh,65px)}
  .pinned-motion .server-footer{bottom:18px}
  .pinned-motion .awake-interface,.pinned-motion .awake-terminal{display:none}
  .pinned-motion .awake-bottom{bottom:16px}
}
@media(prefers-reduced-motion:reduce){
  .liquid-background canvas,.playing .waveform i{animation:none!important}
  html{scroll-behavior:auto}
}
