/* REPLAY — página pública de download (mobile-first) */
:root {
  --dl-bg: #050508;
  --dl-bg2: #0c0814;
  --dl-text: #f5f3ff;
  --dl-muted: #a1a1b5;
  --dl-purple: #a855f7;
  --dl-purple2: #c084fc;
  --dl-cyan: #22d3ee;
  --dl-font: "DM Sans", system-ui, sans-serif;
  --dl-display: "Outfit", "DM Sans", system-ui, sans-serif;
}

*, *::before, *::after { box-sizing: border-box; }

html, body {
  margin: 0; min-height: 100%;
  background: var(--dl-bg); color: var(--dl-text);
  font-family: var(--dl-font);
  -webkit-font-smoothing: antialiased;
}

body.dl {
  min-height: 100dvh; overflow-x: hidden; position: relative;
}

a { color: inherit; text-decoration: none; }

.dl-glow {
  position: fixed; inset: 0; pointer-events: none; z-index: 0;
  background:
    radial-gradient(ellipse 90% 55% at 50% -10%, rgba(168,85,247,.32), transparent 55%),
    radial-gradient(ellipse 60% 40% at 100% 80%, rgba(34,211,238,.1), transparent 50%),
    linear-gradient(180deg, var(--dl-bg2) 0%, var(--dl-bg) 55%, #030306 100%);
}

.dl-wrap {
  position: relative; z-index: 1;
  width: min(100%, 960px); margin: 0 auto;
  padding:
    max(20px, env(safe-area-inset-top))
    max(18px, env(safe-area-inset-right))
    max(28px, env(safe-area-inset-bottom))
    max(18px, env(safe-area-inset-left));
  display: flex; flex-direction: column; gap: 28px; min-height: 100dvh;
}

.dl-brand { display: flex; justify-content: center; padding-top: 8px; }
.dl-logo {
  width: 88px; height: 88px; border-radius: 22px; object-fit: cover;
  box-shadow: 0 12px 40px rgba(168,85,247,.4);
  border: 1px solid rgba(168,85,247,.35);
}

.dl-main {
  display: grid; gap: 28px; align-items: center; flex: 1;
}
.dl-copy {
  text-align: center; display: flex; flex-direction: column; align-items: center;
}
.dl-kicker {
  margin: 0 0 8px; font-size: .7rem; font-weight: 800;
  letter-spacing: .16em; text-transform: uppercase; color: var(--dl-purple2);
}
.dl-title {
  margin: 0 0 10px; font-family: var(--dl-display);
  font-size: clamp(2rem, 9vw, 2.75rem); font-weight: 800; letter-spacing: -.03em;
}
.dl-sub {
  margin: 0 0 18px; color: var(--dl-muted); font-size: 1.05rem;
  line-height: 1.5; max-width: 32ch;
}
.dl-meta {
  display: flex; gap: 10px; flex-wrap: wrap; justify-content: center; margin-bottom: 18px;
}
.dl-meta span {
  padding: 6px 12px; border-radius: 999px; font-size: .78rem; font-weight: 700;
  border: 1px solid rgba(168,85,247,.3); background: rgba(168,85,247,.12); color: var(--dl-purple2);
}
.dl-btn {
  display: inline-flex; align-items: center; justify-content: center; gap: 10px;
  min-height: 54px; padding: 14px 28px; border-radius: 999px;
  font-weight: 800; font-size: 1.05rem;
  background: linear-gradient(135deg, #22d3ee, #8b5cf6 45%, #a855f7 75%, #d946ef);
  color: #fff; box-shadow: 0 12px 32px rgba(139,92,246,.4);
  transition: transform .15s ease, filter .15s;
  width: min(100%, 320px);
}
.dl-btn:active { transform: scale(.98); }
.dl-hint {
  margin: 14px 0 0; color: var(--dl-muted); font-size: .82rem; max-width: 34ch;
}
.dl-hint b { color: var(--dl-purple2); }
.dl-off {
  padding: 18px; border-radius: 18px; border: 1px solid rgba(248,113,113,.3);
  background: rgba(248,113,113,.08); max-width: 360px;
}
.dl-off strong { display: block; margin-bottom: 6px; }
.dl-off p { margin: 0; color: var(--dl-muted); font-size: .9rem; }

.dl-art { display: flex; justify-content: center; }
.dl-phone {
  width: min(220px, 55vw); aspect-ratio: 1;
  border-radius: 36px;
  background: linear-gradient(160deg, #1a1524, #0c0814);
  border: 1px solid rgba(168,85,247,.35);
  display: grid; place-items: center;
  box-shadow: 0 24px 60px rgba(0,0,0,.45), inset 0 0 40px rgba(168,85,247,.12);
}
.dl-phone img {
  width: 58%; height: 58%; object-fit: cover; border-radius: 20px;
  box-shadow: 0 0 28px rgba(168,85,247,.35);
}

.dl-steps {
  padding: 20px; border-radius: 22px;
  border: 1px solid rgba(255,255,255,.08);
  background: rgba(255,255,255,.03);
}
.dl-steps h2 {
  margin: 0 0 16px; font-family: var(--dl-display); font-size: 1.15rem; font-weight: 800;
}
.dl-steps ol { list-style: none; margin: 0; padding: 0; display: grid; gap: 12px; }
.dl-steps li {
  display: flex; gap: 12px; align-items: flex-start;
  padding: 12px; border-radius: 14px; background: rgba(0,0,0,.25);
}
.dl-steps li span {
  width: 28px; height: 28px; border-radius: 50%; flex-shrink: 0;
  display: grid; place-items: center; font-weight: 800; font-size: .85rem;
  background: rgba(168,85,247,.2); color: var(--dl-purple2);
  border: 1px solid rgba(168,85,247,.35);
}
.dl-steps b { display: block; margin-bottom: 2px; }
.dl-steps p { margin: 0; color: var(--dl-muted); font-size: .86rem; }

.dl-foot {
  display: flex; align-items: center; justify-content: center; gap: 8px;
  color: var(--dl-muted); font-size: .8rem; font-weight: 600; padding-bottom: 8px;
}
.dl-foot img { width: 22px; height: 22px; border-radius: 6px; object-fit: cover; }

@media (min-width: 760px) {
  .dl-main {
    grid-template-columns: 1.1fr .9fr;
    text-align: left;
  }
  .dl-copy { align-items: flex-start; text-align: left; }
  .dl-meta { justify-content: flex-start; }
  .dl-art { justify-content: flex-end; }
}
