/* PACK RAT splash overlay (PR.Splash). The 3D scene lives in the canvas; this file styles the tagline, sponsor lockup, start prompt and skip button. */
.pr-splash {
  position: relative; width: 100%; height: 100%; overflow: hidden; background: #150f26; cursor: pointer;
  user-select: none; -webkit-user-select: none; touch-action: manipulation; outline: none;
  font-family: var(--pr-font-display, "Lilita One", "Arial Black", sans-serif); color: var(--pr-paper, #fff6e3);
  --flash: 0;
}
.pr-splash__gl { position: absolute; inset: 0; width: 100%; height: 100%; display: block; }
.pr-splash__vignette {
  position: absolute; inset: 0; pointer-events: none;
  background: radial-gradient(ellipse at 50% 46%, rgba(0, 0, 0, 0) 52%, rgba(12, 6, 30, 0.55) 100%), linear-gradient(to bottom, rgba(20, 8, 40, 0.25), rgba(0, 0, 0, 0) 22%, rgba(0, 0, 0, 0) 68%, rgba(10, 6, 24, 0.55));
}
.pr-splash::after { /* start flash */
  content: ""; position: absolute; inset: 0; pointer-events: none; background: #fff6d8; opacity: calc(var(--flash) * 0.85);
}
.pr-splash__ui {
  position: absolute; left: 0; right: 0; bottom: 0; display: flex; flex-direction: column; align-items: center; gap: clamp(8px, 2vmin, 18px);
  padding: 0 16px calc(clamp(14px, 4vh, 44px) + env(safe-area-inset-bottom, 0px)); pointer-events: none; text-align: center;
}
.pr-splash__tag {
  position: absolute; left: 0; right: 0; top: 46%; text-align: center; pointer-events: none;
  font-size: clamp(18px, min(3.6vw, 5.2vh), 46px); letter-spacing: 0.04em; line-height: 1.1; color: #fff6e3; padding: 0 12px;
  text-shadow: 0 3px 0 rgba(20, 10, 40, 0.65), 0 0 18px rgba(255, 182, 39, 0.55), 0 6px 22px rgba(0, 0, 0, 0.5);
  opacity: 0; transform: translateY(14px) scale(0.96); transition: opacity 0.5s ease, transform 0.6s var(--pr-ease, cubic-bezier(.2, .9, .25, 1.15));
}
.pr-splash__tag.on { opacity: 1; transform: none; }
.pr-splash__by {
  display: flex; flex-direction: column; align-items: center; gap: 4px; opacity: 0; transform: translateY(10px); transition: opacity 0.6s ease, transform 0.6s ease;
  padding: 8px 18px 10px; border-radius: 16px; background: rgba(10, 6, 24, 0.42); backdrop-filter: blur(4px); -webkit-backdrop-filter: blur(4px); border: 1px solid rgba(255, 255, 255, 0.12);
}
.pr-splash__by.on { opacity: 1; transform: none; }
.pr-splash__by span { font-family: var(--pr-font-ui, "Fredoka", sans-serif); font-weight: 600; font-size: clamp(10px, 1.6vmin, 13px); letter-spacing: 0.22em; text-transform: uppercase; opacity: 0.85; }
.pr-splash__by canvas { display: block; max-width: 60vw; height: auto !important; }
.pr-splash__start {
  font-size: clamp(20px, min(3.4vw, 5vh), 40px); letter-spacing: 0.06em; color: #1d2b2a; background: var(--pr-brand-accent, #ffb627);
  padding: 0.28em 1.1em 0.34em; border-radius: 999px; box-shadow: 0 5px 0 rgba(120, 60, 0, 0.55), 0 12px 30px rgba(0, 0, 0, 0.4); opacity: 0; transform: translateY(16px) scale(0.9);
}
.pr-splash__start.on { opacity: 1; transform: none; animation: pr-splash-pulse 1.25s ease-in-out 0.4s infinite; transition: opacity 0.4s ease, transform 0.5s var(--pr-ease, cubic-bezier(.2, .9, .25, 1.15)); }
@keyframes pr-splash-pulse { 0%, 100% { transform: scale(1); box-shadow: 0 5px 0 rgba(120, 60, 0, 0.55), 0 12px 30px rgba(0, 0, 0, 0.4), 0 0 0 0 rgba(255, 182, 39, 0.65); } 50% { transform: scale(1.06); box-shadow: 0 5px 0 rgba(120, 60, 0, 0.55), 0 12px 30px rgba(0, 0, 0, 0.4), 0 0 0 16px rgba(255, 182, 39, 0); } }
.pr-splash__skip {
  position: absolute; top: max(12px, env(safe-area-inset-top, 0px)); right: 14px; font: 600 14px var(--pr-font-ui, "Fredoka", sans-serif); color: #fff6e3; cursor: pointer;
  background: rgba(10, 6, 24, 0.5); border: 1px solid rgba(255, 255, 255, 0.25); border-radius: 999px; padding: 6px 14px; transition: opacity 0.4s ease, background 0.2s;
}
.pr-splash__skip:hover, .pr-splash__skip:focus-visible { background: rgba(10, 6, 24, 0.8); outline: 2px solid var(--pr-brand-accent, #ffb627); }
.pr-splash__skip.off { opacity: 0; pointer-events: none; }
.pr-splash__fade { position: absolute; inset: 0; background: #0b0618; pointer-events: none; opacity: 1; transition: opacity 0.9s ease; }
.pr-splash__fade.in { opacity: 0; }
.pr-splash.is-starting { cursor: default; }
@media (prefers-reduced-motion: reduce) {
  .pr-splash__start.on { animation: none; }
  .pr-splash__tag, .pr-splash__by, .pr-splash__start { transition: opacity 0.2s ease; transform: none; }
}
@media (max-width: 520px) { .pr-splash__by { padding: 6px 12px 8px; } .pr-splash__tag { top: 41%; } }
/* sponsor lockup sits top-left so it never covers the packed unit */
.pr-splash__by { position: absolute; top: max(12px, env(safe-area-inset-top, 0px)); left: 14px; pointer-events: none; padding: 6px 12px 8px; }
.pr-splash__by canvas { max-width: 34vw; width: 150px !important; }
