:root {
  --naird-red: #DE232E;
  --blob1: #FF8A00;
  --blob2: #FF3D00;
}

/* Background blobs (behind content) */
.nairdle-bg {
  position: relative;
  overflow: hidden;
}
.nairdle-bg::before,
.nairdle-bg::after {
  content: "";
  position: fixed;
  z-index: 0;
  filter: blur(70px);
  opacity: 0.22;
  transform: translateZ(0);
}
.nairdle-bg::before {
  width: 520px; height: 520px; border-radius: 50%;
  background: radial-gradient(closest-side, var(--blob1), transparent 70%);
  top: -120px; left: -120px;
}
.nairdle-bg::after {
  width: 560px; height: 560px; border-radius: 50%;
  background: radial-gradient(closest-side, var(--blob2), transparent 70%);
  right: -160px; bottom: -160px;
}

/* Brand accent items */
.brand-accent { color: var(--naird-red); }
.btn-primary {
  background: var(--naird-red);
  color: white; font-weight: 800;
  border-radius: 0.75rem;
  padding: 0.6rem 1rem;
  box-shadow: 0 8px 20px rgba(222,35,46,0.25);
  transition: transform .05s ease, filter .15s ease;
  border: 1px solid rgba(255,255,255,0.08);
}
.btn-primary:active { transform: translateY(1px); }
.card {
  background: radial-gradient(1200px 800px at 50% -20%, rgba(222,35,46,0.15), transparent 40%) #0b0f14;
  border: 1px solid rgba(255,255,255,0.06);
  border-radius: 1rem;
}
.toast {
  background: #111827; color: #e5e7eb;
  border: 1px solid rgba(255,255,255,0.08);
  border-radius: 0.75rem; padding: .75rem 1rem;
}

/* Tile + flip reveal */
.tile {
  width: 56px; height: 56px;
  border: 2px solid #4b5563; /* gray-600 */
  display: flex; align-items: center; justify-content: center;
  text-transform: uppercase; font-weight: 800; font-size: 1.25rem;
  background: #0b0f14; /* deep card */
  border-radius: 0.5rem; /* rounded-xl */
  transform-style: preserve-3d; transition: transform 0.4s ease, background 0.2s ease, border-color 0.2s ease;
}
.row-revealing .tile { animation: flip 600ms ease forwards; }
.row-revealing .tile:nth-child(1) { animation-delay: 0ms; }
.row-revealing .tile:nth-child(2) { animation-delay: 200ms; }
.row-revealing .tile:nth-child(3) { animation-delay: 400ms; }
.row-revealing .tile:nth-child(4) { animation-delay: 600ms; }
.row-revealing .tile:nth-child(5) { animation-delay: 800ms; }

@keyframes flip {
  0%   { transform: rotateX(0deg); }
  49%  { transform: rotateX(90deg); }
  51%  { transform: rotateX(90deg); }
  100% { transform: rotateX(0deg); }
}

.correct { background: #16a34a; border-color: #16a34a; color: white; }   /* green-600 */
.present { background: #eab308; border-color: #eab308; color: #0a0a0a; } /* yellow-500 */
.absent  { background: #374151; border-color: #374151; color: #d1d5db; } /* gray-700 */

/* Keyboard keys */
.key {
  min-width: 40px; height: 48px; border-radius: 0.5rem; padding: 0 10px;
  background: #111827; color: #e5e7eb; font-weight: 700;
  display: inline-flex; align-items: center; justify-content: center;
  border: 1px solid #1f2937; transition: transform 0.05s ease, background 0.2s ease, border-color 0.2s ease;
  user-select: none;
}
.key:active { transform: translateY(1px); }
.key.correct { background: #16a34a; border-color: #16a34a; color: white; }
.key.present { background: #eab308; border-color: #eab308; color: #111827; }
.key.absent  { background: #374151; border-color: #374151; color: #d1d5db; }

/* Responsive board widths */
@media (max-width: 480px) {
  .tile { width: 48px; height: 48px; font-size: 1.15rem; }
  .key { min-width: 34px; height: 44px; }
}
