/* Skadoodle HQ intro overlay */
:root {
  --intro-bg: #090414;
  --intro-accent: #8d35ff;
  --intro-accent-2: #ff3f9f;
  --intro-text: #ffffff;
}

html,
body {
  margin: 0;
  width: 100%;
  min-height: 100%;
  background: #000;
  overscroll-behavior: none;
  -webkit-user-select: none;
  user-select: none;
  -webkit-touch-callout: none;
}

#skadoodle-intro {
  position: fixed;
  inset: 0;
  z-index: 99999;
  display: grid;
  place-items: center;
  overflow: hidden;
  background: var(--intro-bg);
  opacity: 1;
  visibility: visible;
  transition: opacity 420ms ease, visibility 420ms ease;
  touch-action: manipulation;
}

#skadoodle-intro.is-hidden {
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
}

#skadoodle-intro video {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: contain;
  background: #000;
}

#intro-start-screen {
  position: absolute;
  inset: 0;
  z-index: 2;
  display: grid;
  place-items: center;
  padding: 24px;
  background:
    radial-gradient(circle at 50% 35%, rgba(141, 53, 255, 0.32), transparent 38%),
    linear-gradient(180deg, rgba(7, 3, 16, 0.25), rgba(7, 3, 16, 0.78));
}

#intro-start-screen.is-hidden {
  display: none;
}

#intro-start-button {
  appearance: none;
  border: 4px solid #17101f;
  border-radius: 18px;
  padding: 18px 30px;
  min-width: min(82vw, 360px);
  color: var(--intro-text);
  background:
    linear-gradient(135deg, var(--intro-accent), var(--intro-accent-2));
  box-shadow:
    0 8px 0 #251335,
    0 16px 34px rgba(0, 0, 0, 0.42);
  font: 900 clamp(20px, 5vw, 34px) / 1 system-ui, sans-serif;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  cursor: pointer;
  -webkit-tap-highlight-color: transparent;
}

#intro-start-button:active {
  transform: translateY(5px) scale(0.98);
  box-shadow:
    0 3px 0 #251335,
    0 10px 24px rgba(0, 0, 0, 0.36);
}

#intro-skip-button {
  position: absolute;
  top: max(12px, env(safe-area-inset-top));
  right: max(12px, env(safe-area-inset-right));
  z-index: 3;
  border: 2px solid rgba(255,255,255,0.55);
  border-radius: 999px;
  padding: 9px 14px;
  color: #fff;
  background: rgba(0,0,0,0.48);
  font: 800 14px/1 system-ui, sans-serif;
  letter-spacing: 0.04em;
  cursor: pointer;
  -webkit-tap-highlight-color: transparent;
}

#intro-skip-button[hidden] {
  display: none;
}

/* Keep the game unavailable until the intro is finished. */
#game-root {
  visibility: hidden;
}

body.game-ready #game-root {
  visibility: visible;
}

@media (orientation: landscape) and (max-height: 520px) {
  #intro-start-button {
    min-width: 280px;
    padding: 14px 24px;
  }
}