/* --- Positioning & Layout --- */
:root {
  --bg-color: #ffffff;        /* Fond blanc */
  --running-bg: #f0f2f5;     /* Fond gris en cours de décompte */
  --panel-bg: #f0f2f5;     /* Gris très clair pour les boutons de minutes */
  --text-main: #111111;     /* Texte et chiffres en noir */
  --accent-color: #008060;   /* Bouton Démarrer (vert) */
  --accent-hover: #00664d;  
  --danger-color: #ff950e;   /* Clignotement de fin */
  --active-btn: #2563eb;    /* Bouton de minute sélectionné (bleu) */
}

* {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
}

body {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  align-items: center;
  min-height: 100vh;
  padding: 2rem;
  background-color: var(--bg-color);
  color: var(--text-main);
  font-family: system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
  overflow: hidden;
  user-select: none;
}

/* --- Navigation / Presets --- */
.preset-container {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 0.75rem;
  width: 100%;
  max-width: 900px;
}


.preset-btn {
  padding: 0.6rem 1.2rem;
  border: 2px solid transparent;
  border-radius: 8px;
  background-color: var(--panel-bg);
  color: var(--text-main);
  font-size: 1.1rem;
  font-weight: 600;
  cursor: pointer;
  transition: all 0.2s ease;
  color: var(--text-main); /* Assure le texte en noir */
}

.preset-btn:hover {
  background-color: #2e3640;
  transform: translateY(-2px);
}

.preset-btn.active {
  background-color: var(--active-btn);
  color: #ffffff; /* Texte blanc uniquement sur le bouton actif */
}

/* --- Display --- */
.timer-display {
  display: flex;
  justify-content: center;
  align-items: center;
  font-size: clamp(6rem, 25vw, 18rem);
  font-weight: 800;
  font-variant-numeric: tabular-nums;
  letter-spacing: -2px;
  line-height: 1;
}

/* --- Controls --- */
.controls {
  display: flex;
  justify-content: center;
  width: 100%;
  margin-bottom: 1rem;
}

.action-btn {
  min-width: 220px;
  padding: 1rem 2.5rem;
  border: none;
  border-radius: 12px;
  color: #ffffff;
  font-size: 1.5rem;
  font-weight: 700;
  cursor: pointer;
  box-shadow: 0 4px 14px rgba(0, 0, 0, 0.3);
  transition: all 0.2s ease;
  color: #ffffff; /* Garde le texte du bouton principal en blanc */
}

.start-btn {
  background-color: var(--accent-color);
}

.start-btn:hover {
  background-color: var(--accent-hover);
  transform: scale(1.03);
}

.pause-btn {
  background-color: #ffdd57;
  color: #1a1e24;
}

.pause-btn:hover {
  background-color: #fdd835;
  transform: scale(1.03);
}


/* --- Animations & States --- */
body.running {
  background-color: var(--running-bg);
}

@keyframes alertFlash {
  0%, 100% { background-color: var(--bg-color); }
  50% { background-color: var(--danger-color); }
}

.finished {
  animation: alertFlash 1s infinite;
}