.age-tool-main {
  padding: 20px;
}

.age-tool {
  max-width: 980px;
  margin: 0 auto;
}

.age-tool__subtitle {
  color: #475569;
  margin: 6px 0 12px;
}

.age-tool__panel {
  background: #fff;
  border: 1px solid #e2e8f0;
  border-radius: 14px;
  padding: 14px;
  box-shadow: 0 8px 25px rgba(15, 23, 42, 0.08);
}

.age-tool__grid {
  display: grid;
  grid-template-columns: repeat(5, minmax(140px, 1fr));
  gap: 10px;
}

.age-tool__grid label {
  font-size: 12px;
  color: #334155;
}

.age-tool input,
.age-tool select,
.age-tool button {
  width: 100%;
  margin-top: 6px;
  border-radius: 12px;
  border: 1px solid #cbd5e1;
  padding: 10px 12px;
  transition: background-color var(--duration-base) var(--ease-out), color var(--duration-base) var(--ease-out), box-shadow var(--duration-base) var(--ease-out), transform var(--duration-fast) var(--ease-out);
}

.age-tool button {
  width: auto;
  margin-top: 12px;
  background: #0f172a;
  border-color: #0f172a;
  color: #fff;
  cursor: pointer;
}

.age-tool__hero {
  margin-top: 14px;
  font-size: 30px;
  font-weight: 800;
  background: linear-gradient(120deg, #1d4ed8, #7c3aed);
  color: #fff;
  border-radius: 14px;
  padding: 16px;
  animation: agePulse 0.2s ease;
}

.age-tool__summary {
  margin-top: 10px;
  color: #1e293b;
  font-size: 16px;
}

.age-tool__stats {
  margin-top: 12px;
  display: grid;
  grid-template-columns: repeat(3, minmax(120px, 1fr));
  gap: 10px;
}

.age-tool__card {
  border-radius: 12px;
  border: 1px solid #dbeafe;
  background: #f8fbff;
  padding: 12px;
}

.age-tool__card b {
  display: block;
  font-size: 21px;
  color: #0f172a;
}

.age-tool__next {
  margin-top: 12px;
  border-radius: 12px;
  border: 1px solid #e2e8f0;
  background: #fff;
  padding: 12px;
  color: #1f2937;
}

@keyframes agePulse {
  from {
    opacity: 0.8;
    transform: translateY(2px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

@media (max-width: 1024px) {
  .age-tool__grid {
    grid-template-columns: repeat(2, minmax(140px, 1fr));
  }
  .age-tool__stats {
    grid-template-columns: 1fr 1fr;
  }
}