/* --------------------------------------------------------------------------
   İlk giriş tanıtım videosu (Cards Rumble fragmanı)
   Dikey video ortada; yanlardaki boşluğu videonun kendi renklerinden
   üretilen bulanık ışık doldurur. Bkz. assets/js/onpixel-intro.js
   -------------------------------------------------------------------------- */
html.onpixel-intro-lock,
html.onpixel-intro-lock body { overflow: hidden; }

.onpixel-intro {
  position: fixed;
  inset: 0;
  z-index: calc(var(--onpixel-z-boot, 300) + 20);
  display: grid;
  place-items: center;
  background: var(--onpixel-void, #05060a);
  color: var(--onpixel-bone, #ece9e2);
  opacity: 1;
  transition: opacity 0.9s var(--onpixel-ease-io, ease);
}
.onpixel-intro.is-leaving { opacity: 0; pointer-events: none; }

/* videonun renklerinden ortam ışığı */
.onpixel-intro__ambient {
  position: absolute;
  inset: -12%;
  width: 124%;
  height: 124%;
  filter: blur(48px) saturate(1.35) brightness(0.5);
  opacity: 0;
  transition: opacity 1.2s ease;
}
.onpixel-intro.is-playing .onpixel-intro__ambient { opacity: 1; }
.onpixel-intro::after {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  background: radial-gradient(ellipse at center, transparent 35%, rgba(5, 6, 10, 0.75) 100%);
}

.onpixel-intro__frame {
  position: relative;
  z-index: 1;
  height: 100dvh;
  max-width: 100vw;
  aspect-ratio: 9 / 16;
  box-shadow: 0 0 120px rgba(0, 0, 0, 0.75);
}
.onpixel-intro__video {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
  background: #000;
}

/* üst ve alt kontroller */
.onpixel-intro__bar {
  position: absolute;
  z-index: 2;
  left: 0;
  right: 0;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  padding: clamp(0.9rem, 2.4vw, 1.6rem) clamp(1rem, 3vw, 2.2rem);
  pointer-events: none;
}
.onpixel-intro__bar--top { top: 0; }
.onpixel-intro__bar--bottom { bottom: 0; justify-content: center; }
.onpixel-intro__bar > * { pointer-events: auto; }

.onpixel-intro__label {
  font-size: var(--onpixel-t-hud, 0.6875rem);
  font-weight: 700;
  font-stretch: 90%;
  letter-spacing: 0.42em;
  text-transform: uppercase;
  color: var(--onpixel-steel, #8b95a6);
}

.onpixel-intro__btn {
  display: inline-flex;
  align-items: center;
  gap: 0.6em;
  padding: 0.75em 1.25em;
  border: 1px solid var(--onpixel-edge-strong, rgba(236, 233, 226, 0.2));
  border-radius: 999px;
  background: rgba(5, 6, 10, 0.55);
  -webkit-backdrop-filter: blur(10px);
  backdrop-filter: blur(10px);
  color: var(--onpixel-bone, #ece9e2);
  font: inherit;
  font-size: 0.75rem;
  font-weight: 700;
  font-stretch: 92%;
  letter-spacing: 0.24em;
  text-transform: uppercase;
  cursor: pointer;
  transition: border-color 0.25s ease, background 0.25s ease, opacity 0.5s ease, transform 0.25s ease;
}
.onpixel-intro__btn:hover { border-color: rgba(236, 233, 226, 0.55); background: rgba(20, 25, 34, 0.7); }
.onpixel-intro__btn:focus-visible { outline: 2px solid var(--onpixel-bone, #ece9e2); outline-offset: 3px; }
.onpixel-intro__btn svg { width: 1.1em; height: 1.1em; flex: none; }

/* sesli oynatılamadıysa ortada belirgin "sesi aç" */
.onpixel-intro__sound {
  position: absolute;
  z-index: 2;
  left: 50%;
  bottom: clamp(4.5rem, 12vh, 7rem);
  transform: translateX(-50%);
  padding: 0.95em 1.6em;
  border-color: rgba(215, 181, 114, 0.55);
  color: #f1dfb3;
  animation: onpixel-intro-breathe 2.4s ease-in-out infinite;
}
.onpixel-intro__sound[hidden] { display: none; }
@keyframes onpixel-intro-breathe {
  0%, 100% { box-shadow: 0 0 0 0 rgba(215, 181, 114, 0); }
  50% { box-shadow: 0 0 28px 2px rgba(215, 181, 114, 0.28); }
}

/* sonda Steam çağrısı */
.onpixel-intro__steam {
  border-color: rgba(215, 181, 114, 0.6);
  color: #f1dfb3;
  text-decoration: none;
  opacity: 0;
  transform: translateY(8px);
  pointer-events: none;
}
.onpixel-intro__steam.is-on { opacity: 1; transform: none; pointer-events: auto; }

/* ince altın ilerleme çizgisi */
.onpixel-intro__progress {
  position: absolute;
  z-index: 2;
  left: 0;
  bottom: 0;
  height: 2px;
  width: 100%;
  transform-origin: left center;
  transform: scaleX(0);
  background: linear-gradient(90deg, rgba(215, 181, 114, 0.2), #d7b572);
}

@media (max-width: 40rem) {
  .onpixel-intro__label { display: none; }
  .onpixel-intro__bar--top { justify-content: flex-end; }
  .onpixel-intro__frame { height: 100dvh; width: 100vw; aspect-ratio: auto; }
}

@media print {
  .onpixel-intro { display: none !important; }
}
