/* Reference-matched Rockstar loader. Exact source values and provenance are
 * recorded in INTRO_REFERENCE_V3_3.json. The shared footer styles below remain. */
html{scrollbar-gutter:stable}
.entry-intro{
  --entry-divisor:1;
  --entry-size:min(calc(24vw / var(--entry-divisor)),calc(614.4px / var(--entry-divisor)));
  --entry-glow:min(calc(1vw / var(--entry-divisor)),calc(25.6px / var(--entry-divisor)));
  position:fixed;inset:0;width:100dvw;height:100dvh;z-index:1200;
  display:flex;align-items:center;justify-content:center;
  background:linear-gradient(189deg,#1f1f38 .55%,#18182d 30.38%,#111222 65.19%,#0c0d1b 100%);
  opacity:1;contain:layout paint;outline:none;
}
.entry-intro[hidden]{display:none!important}
.intro-pending .entry-intro{display:flex!important}
.intro-pending,.intro-running{overflow:clip;scrollbar-gutter:auto}
.intro-pending body,.intro-running body{overflow:hidden}
.entry-insignia{position:relative;width:var(--entry-size);height:var(--entry-size);isolation:isolate}
.entry-outline{
  position:relative;width:100%;height:100%;z-index:1;background:#1f1f38;
  mask-image:url('./assets/rockstar-loader-outline.svg');-webkit-mask-image:url('./assets/rockstar-loader-outline.svg');
  mask-size:cover;-webkit-mask-size:cover;
  animation:entryOutlinePulse 2.15s cubic-bezier(.455,.03,.515,.955) infinite both;
}
.entry-outline:after{
  content:'';position:absolute;top:-40%;left:-40%;width:25%;height:60%;z-index:-1;
  background:linear-gradient(232deg,#ffb2c6 20%,#988bd0 70%);filter:blur(5px);
  transform:skew(-45deg,45deg);
  animation:entryReferenceSweep 2.15s cubic-bezier(.77,0,.175,1) infinite both;
}
.entry-glow{
  position:absolute;top:0;left:0;width:100%;height:100%;z-index:-2;
  background:url('./assets/rockstar-loader-outline.svg') center/cover no-repeat;
  filter:drop-shadow(0 0 var(--entry-glow) #38365d);
  animation:entryGlowPulse 2.15s cubic-bezier(.455,.03,.515,.955) infinite both;
}
/* Keep the reference free of extra copy. Tab exposes the accessible skip action;
 * Escape also dismisses immediately, throughout both fade phases. */
.entry-skip{
  position:absolute;right:max(26px,env(safe-area-inset-right));bottom:max(22px,env(safe-area-inset-bottom));
  min-height:44px;padding:8px 0;display:flex;align-items:center;gap:13px;
  border:0;border-bottom:1px solid #b1a7c14d;background:transparent;color:#d2c8db;
  font-size:9px;letter-spacing:.1em;text-transform:uppercase;opacity:0;
}
.entry-skip .icon{width:17px;height:17px}
.entry-skip:focus-visible{opacity:1;color:#fff2e9;border-color:#fff2e9}
@keyframes entryReferenceSweep{0%{top:-40%;left:-40%}92%,100%{top:80%;left:105%}}
@keyframes entryOutlinePulse{0%,22%{background:#1f1f38}42%{background:#38365d}92%,100%{background:#1f1f38}}
@keyframes entryGlowPulse{0%,22%{opacity:.2}42%{opacity:1}92%,100%{opacity:.2}}
@media(min-width:768px) and (max-width:1023.98px){.entry-intro{--entry-divisor:3}}
@media(min-width:1024px) and (max-width:1439.98px){.entry-intro{--entry-divisor:3.5}}
@media(min-width:1440px){.entry-intro{--entry-divisor:4}}
@media(min-aspect-ratio:2.25){.entry-intro{--entry-divisor:4.5}}
@media(max-width:767.98px) and (orientation:landscape){.entry-intro{--entry-divisor:2}}
.reduce-motion .entry-outline,.reduce-motion .entry-outline:after,.reduce-motion .entry-glow,
.entry-intro.is-static .entry-outline,.entry-intro.is-static .entry-outline:after,.entry-intro.is-static .entry-glow{animation:none!important}
.reduce-motion .entry-outline,.entry-intro.is-static .entry-outline{background:#38365d}
@media(prefers-reduced-motion:reduce){.entry-outline,.entry-outline:after,.entry-glow{animation:none!important}.entry-outline{background:#38365d}}
.rockstar-link{display:flex;align-items:center;justify-content:center;width:44px;height:44px;color:var(--cream);transition:color .2s,transform .2s}
.rockstar-link:hover{color:var(--pink);transform:rotate(-7deg)}
.rockstar-icon{display:inline-block;flex:none;background:currentColor;width:27px;height:27px;mask:url('./assets/rockstar-mark.svg') center/contain no-repeat;-webkit-mask:url('./assets/rockstar-mark.svg') center/contain no-repeat}
.official-art-credit{display:flex;align-items:center;justify-content:flex-end;gap:12px}.official-art-credit .rockstar-icon{width:21px;height:21px;color:var(--pink)}
.entry-replay{display:inline-flex;align-items:center;gap:9px;color:var(--muted);font:11px var(--font);border:0;background:transparent;padding:0;min-height:44px}
.entry-replay:hover{color:var(--pink)}
.entry-replay .rockstar-icon{width:20px;height:20px}
.game-destination{padding:43px 0 39px;border-bottom:1px solid var(--line);display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:28px}
.game-destination>.rockstar-icon{width:56px;height:56px;color:var(--pink)}
.game-destination-copy .eyebrow{font-size:9px;letter-spacing:.12em;color:var(--muted);margin-bottom:7px}
.game-destination-copy h2{font:42px/.95 var(--display)}
.game-destination-copy p{font-size:11px;color:var(--muted);margin-top:8px}
.game-store-links{display:flex;flex-direction:column;gap:5px}
.game-store-links a{display:flex;align-items:center;justify-content:space-between;gap:26px;min-height:44px;font-size:12px;border-bottom:1px solid #fff2d52b}
.game-store-links a .icon{width:17px;height:17px;color:var(--pink)}
.game-store-links a:hover{color:var(--pink)}
@media(max-width:700px){.header-actions>.rockstar-link{display:none}.game-destination{grid-template-columns:42px minmax(0,1fr);gap:20px;padding-block:32px}.game-destination>.rockstar-icon{width:42px;height:42px}.game-destination-copy h2{font-size:35px}.game-store-links{grid-column:1/-1;display:grid;grid-template-columns:1fr;gap:4px}.game-store-links a{font-size:12px;min-height:46px}}
