:root {
  --bg: #0d1220;
  --fg: #e8ecf4;
  --muted: #8a93a8;
  --accent: #f2c14e;
  --sky: #3266b6;
  --px: 6px; /* grosor del marco pixelado */
}

* {
  box-sizing: border-box;
}

body {
  margin: 0;
  min-height: 100vh;
  min-height: 100dvh;
  display: grid;
  place-items: center;
  padding: 2.5rem 1.25rem;
  background: var(--bg);
  color: var(--fg);
  font-family: "Press Start 2P", ui-monospace, "Cascadia Mono", Consolas, monospace;
  line-height: 1.8;
  text-align: center;
}

main {
  width: 100%;
  max-width: 640px; /* 64 px de arte x 10 = pixeles parejos */
}

/* Marco con esquinas "mordidas", al estilo de los juegos de 8 bits */
.retrato {
  margin: 0 auto 3rem;
  padding: 0;
  box-shadow:
    calc(var(--px) * -1) 0 0 0 var(--fg),
    var(--px) 0 0 0 var(--fg),
    0 calc(var(--px) * -1) 0 0 var(--fg),
    0 var(--px) 0 0 var(--fg),
    calc(var(--px) * 3) calc(var(--px) * 3) 0 0 #000;
}

.retrato img {
  display: block;
  width: 100%;
  height: auto;
  image-rendering: pixelated;
}

h1 {
  margin: 0 0 1.5rem;
  font-size: clamp(1.1rem, 5vw, 1.75rem);
  font-weight: 400;
  letter-spacing: 0.04em;
  text-shadow: 4px 4px 0 var(--sky);
}

p {
  margin: 0 0 0.75rem;
}

.estado {
  color: var(--accent);
  font-size: 0.8rem;
}

.pronto {
  color: var(--muted);
  font-size: 0.7rem;
}

.cursor {
  display: inline-block;
  width: 0.6em;
  height: 1em;
  margin-left: 0.4em;
  vertical-align: -0.1em;
  background: var(--accent);
  animation: parpadeo 1s steps(1) infinite;
}

@keyframes parpadeo {
  50% {
    opacity: 0;
  }
}

@media (prefers-reduced-motion: reduce) {
  .cursor {
    animation: none;
  }
}
