/* Cuenta regresiva NexStudio 1.0.5 (home). Archivo propio: no toca nexstudio.css ni actualizaciones. */
.ns-cd {
  position: relative;
  margin: 0 auto 1.6rem;
  max-width: 980px;
  padding: 1.15rem 1.4rem 1.2rem;
  border-radius: 20px;
  text-align: center;
  color: #fff6d6;
  border: 1px solid rgba(255, 213, 106, .55);
  background:
    radial-gradient(120% 140% at 50% -20%, rgba(255, 213, 106, .22), transparent 60%),
    linear-gradient(135deg, rgba(42, 30, 6, .92), rgba(16, 12, 4, .9));
  box-shadow: 0 0 0 1px rgba(255, 213, 106, .12), 0 0 28px rgba(255, 196, 64, .28), 0 14px 40px rgba(0, 0, 0, .45);
  animation: ns-cd-glow 2.6s ease-in-out infinite;
  overflow: hidden;
}
.ns-cd::before {
  content: "";
  position: absolute;
  inset: -40% -10%;
  background: linear-gradient(100deg, transparent 40%, rgba(255, 230, 150, .14) 50%, transparent 60%);
  transform: translateX(-60%);
  animation: ns-cd-shine 4.5s ease-in-out infinite;
  pointer-events: none;
}
@keyframes ns-cd-glow {
  0%, 100% { box-shadow: 0 0 0 1px rgba(255, 213, 106, .12), 0 0 22px rgba(255, 196, 64, .22), 0 14px 40px rgba(0, 0, 0, .45); }
  50% { box-shadow: 0 0 0 1px rgba(255, 213, 106, .3), 0 0 38px rgba(255, 196, 64, .45), 0 14px 40px rgba(0, 0, 0, .45); }
}
@keyframes ns-cd-shine { 0% { transform: translateX(-60%); } 60%, 100% { transform: translateX(60%); } }
.ns-cd-kicker {
  display: inline-flex; align-items: center; gap: .45rem;
  font-size: .78rem; font-weight: 800; letter-spacing: .14em; text-transform: uppercase;
  color: #ffd56a;
}
.ns-cd-dot { width: .55rem; height: .55rem; border-radius: 50%; background: #ff5a4f; box-shadow: 0 0 10px #ff5a4f; animation: ns-cd-blink 1.2s ease-in-out infinite; }
@keyframes ns-cd-blink { 50% { opacity: .25; } }
.ns-cd-title {
  margin: .35rem 0 .8rem;
  font-size: clamp(1.15rem, 2.6vw, 1.75rem);
  line-height: 1.2;
  color: #fff3c4;
  text-shadow: 0 0 18px rgba(255, 200, 80, .45);
}
.ns-cd-clock { display: flex; justify-content: center; align-items: flex-start; gap: .55rem; }
.ns-cd-cell {
  min-width: 5.6rem;
  padding: .55rem .6rem .45rem;
  border-radius: 14px;
  background: rgba(0, 0, 0, .38);
  border: 1px solid rgba(255, 213, 106, .35);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .06);
}
.ns-cd-cell strong {
  display: block;
  font-family: "IBM Plex Mono", ui-monospace, monospace;
  font-size: clamp(2.2rem, 6vw, 3.6rem);
  font-weight: 700;
  line-height: 1;
  color: #ffd56a;
  text-shadow: 0 0 16px rgba(255, 196, 64, .7), 0 0 2px rgba(255, 255, 255, .6);
  font-variant-numeric: tabular-nums;
}
.ns-cd-cell small { display: block; margin-top: .3rem; font-size: .72rem; letter-spacing: .1em; text-transform: uppercase; color: rgba(255, 240, 200, .8); }
.ns-cd-sep { font-size: clamp(2rem, 5vw, 3.2rem); font-weight: 700; color: rgba(255, 213, 106, .7); line-height: 1.1; padding-top: .35rem; }
.ns-cd-when { margin: .8rem 0 0; font-size: .86rem; color: rgba(255, 240, 210, .78); }
.ns-cd-done-title { font-size: clamp(1.6rem, 4.2vw, 2.6rem); }
.ns-cd .ns-cd-cta { margin-top: .9rem; background: linear-gradient(135deg, #ffd56a, #f0a020); color: #1a1204; border-color: transparent; font-weight: 800; }
.ns-cd [hidden] { display: none !important; }
/* Deja libre el cartel "NexStudio Mapper" (absoluto a la izquierda) cuando se muestra (>1180px). */
@media (min-width: 1181px) {
  .ns-hero .ns-cd { max-width: min(980px, calc(100vw - 460px)); }
}
@media (max-width: 560px) {
  .ns-cd { padding: .95rem .8rem 1rem; border-radius: 16px; }
  .ns-cd-clock { gap: .3rem; }
  .ns-cd-cell { min-width: 0; flex: 1 1 0; padding: .45rem .3rem .4rem; }
  .ns-cd-cell small { font-size: .62rem; letter-spacing: .06em; }
  .ns-cd-sep { padding-top: .2rem; }
}
@media (prefers-reduced-motion: reduce) {
  .ns-cd, .ns-cd::before, .ns-cd-dot { animation: none; }
}
