:root { --deep: #07120f; --forest: #1f3327; --forest-light: #314f3b; --lime: #fdfe03; }
* { box-sizing: border-box; }
html, body, .player { width: 100%; height: 100%; margin: 0; overflow: hidden; background: var(--deep); font-family: Inter, ui-sans-serif, system-ui, sans-serif; }
.game { position: absolute; inset: 0; display: block; width: 100%; height: 100%; border: 0; background: #000; opacity: 0; transition: opacity .35s ease; }
.player.ready .game { opacity: 1; }
.launch { position: absolute; inset: 0; display: grid; place-items: center; overflow: hidden; color: #fff; }
.player.ready .launch { opacity: 0; visibility: hidden; pointer-events: none; transition: opacity .35s ease, visibility .35s ease; }
.backdrop, .veil { position: absolute; inset: 0; }
.backdrop { background: url('../images/thekidattheback1.webp') center / cover no-repeat; filter: blur(22px) brightness(.48) saturate(.7); transform: scale(1.08); opacity: .43; }
.veil { background: radial-gradient(circle at center, rgba(255,255,255,.07), transparent 40%), linear-gradient(180deg, rgba(5, 26, 20, .57), rgba(4, 14, 11, .8)); }
.card { position: relative; z-index: 1; display: flex; flex-direction: column; align-items: center; gap: 20px; width: min(480px, 90%); text-align: center; }
.poster { width: min(340px, 72vw); aspect-ratio: 16 / 9; object-fit: cover; border-radius: 16px; box-shadow: 0 18px 34px rgba(0,0,0,.35), 0 0 0 1px rgba(255,255,255,.09); }
h1 { margin: 0; font-size: clamp(1.5rem, 4vw, 2.35rem); letter-spacing: -.04em; }
.play { min-width: 190px; min-height: 58px; display: inline-flex; align-items: center; justify-content: center; gap: 12px; padding: 0 24px 0 14px; border: 2px solid transparent; border-radius: 999px; background: linear-gradient(180deg, var(--forest-light), var(--forest)); box-shadow: 0 10px 22px rgba(0,0,0,.32), inset 0 1px rgba(255,255,255,.1); color: #fff; cursor: pointer; font-size: 1.05rem; font-weight: 900; transition: transform .18s ease, border-color .18s ease, box-shadow .18s ease; }
.play:hover, .play:focus-visible { transform: translateY(-2px); border-color: var(--lime); box-shadow: 0 0 12px 7px rgba(182,136,48,.38), 0 14px 24px rgba(0,0,0,.32), inset 0 1px rgba(255,255,255,.12); outline: none; }
.icon { display: grid; place-items: center; width: 38px; height: 38px; border-radius: 50%; background: rgba(248,249,252,.93); color: var(--forest); box-shadow: inset 0 -1px rgba(0,0,0,.08); font-size: 15px; }
.loading { display: none; position: absolute; z-index: 2; inset: 0; place-items: center; align-content: center; gap: 12px; background: rgba(5, 20, 15, .88); color: #fff; text-align: center; }
.player.loading .loading { display: grid; }
.spinner { width: 46px; height: 46px; border: 4px solid rgba(255,255,255,.18); border-top-color: #b7e77b; border-radius: 50%; animation: spin .85s linear infinite; }
.loading p { margin: 0; color: #d5e4d7; }
.loading small { color: #aebeb0; }
.loading a { color: #d6ff8a; }
@keyframes spin { to { transform: rotate(360deg); } }
@media (max-width: 520px) {
  .poster { width: min(310px, 82vw); }
  .card { gap: 15px; }
  .play { min-height: 54px; }
}
