/* ----------------------------
   Algemene styling
---------------------------- */
body {
  margin: 0;
  font-family: 'Inter', sans-serif;
  background: linear-gradient(135deg, #e1efff, #7aa7f0);
  color: #102a43;
  display: flex;
  justify-content: center;
  align-items: center;
  height: 100vh;
  text-align: center;
}

.dashboard-container {
  max-width: 400px;
  background: rgba(255, 255, 255, 0.85); /* licht achtergrondje */
  padding: 2rem;
  border-radius: 15px;
  box-shadow: 0 10px 25px rgba(0, 0, 0, 0.15); /* lichte drop shadow */
  animation: fadeSlideUp 1s ease forwards;
}

/* ----------------------------
   H1 styling met pop-in effect
---------------------------- */
h1 {
  font-weight: 500;
  font-size: 1.8rem;
  margin: 2rem 0 1rem; /* extra ruimte boven en onder */
  line-height: 1.3;
  color: #102a43;
  text-align: center;
  opacity: 0;
  transform: translateY(20px) scale(0.95);
  animation: fadeSlidePop 1s ease forwards;
  animation-delay: 0.3s;
}

h1 .highlight {
  display: block;
  font-weight: 600;
  color: #334e68; /* donkerblauw accent */
}

/* Subtext styling met bounce/fade-in */
.subtext {
  font-size: 1rem;
  color: #334e68;
  margin: 0.8rem 0; /* meer ruimte tussen h1 en p */
  line-height: 1.4;
  opacity: 0;
  transform: translateY(15px);
  animation: fadeSlideUp 0.8s ease forwards;
  transition: transform 0.3s ease, color 0.3s ease;
}

/* Verschillende delays voor subtiele stagger */
.subtext:nth-of-type(1) {
  animation-delay: 0.5s;
}

.subtext:nth-of-type(2) {
  animation-delay: 0.7s;
}

/* Accent bij key-woorden */
.subtext em {
  font-style: normal;
  font-weight: 500;
  color: #627d98; /* subtiel accent */
}

/* Hover effect op paragrafen */
.subtext:hover {
  color: #1a73e8; /* lichte accentkleur bij hover */
  transform: translateY(-2px);
  cursor: default;
}

/* Avatar / Memoticon */
.avatar-container {
  margin-bottom: 1.5rem;
  position: relative;
  width: 150px;
  height: 150px;
  margin-left: auto;
  margin-right: auto;
}

#avatar {
  width: 150px;
  height: 150px;
  border-radius: 50%;
  border: 4px solid #627d98;
  object-fit: cover;
  position: absolute;
  top: 0;
  left: 0;
  opacity: 1;
  transition: opacity 0.8s ease-in-out, transform 0.3s ease;
  box-shadow: 0 5px 15px rgba(0,0,0,0.2); /* lichte avatar schaduw */
}

/* Hover effect: zoom */
#avatar:hover {
  transform: scale(1.1) rotate(-5deg);
  cursor: pointer;
}

/* ----------------------------
   Animations
---------------------------- */
@keyframes fadeSlideUp {
  from {
    opacity: 0;
    transform: translateY(15px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

@keyframes fadeSlidePop {
  0% {
    opacity: 0;
    transform: translateY(20px) scale(0.95);
  }
  50% {
    opacity: 0.5;
    transform: translateY(10px) scale(1.02);
  }
  100% {
    opacity: 1;
    transform: translateY(0) scale(1);
  }
}