* {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
  font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
  user-select: none;
}

body {
  background: linear-gradient(135deg, #6a11cb, #2575fc);
  color: #fff;
  height: 100vh;
  display: flex;
  justify-content: center;
  align-items: center;
}

.container {
  background: rgba(255, 255, 255, 0.1);
  padding: 2rem 3rem;
  border-radius: 15px;
  box-shadow: 0 8px 30px rgba(0,0,0,0.2);
  width: 450px;
  text-align: center;
}

h1 {
  margin-bottom: 1.5rem;
  font-weight: 700;
  letter-spacing: 1.2px;
}

#timer {
  font-size: 3.5rem;
  font-weight: 700;
  margin: 0 auto 2rem auto; 
  font-family: 'Courier New', Courier, monospace;
  letter-spacing: 3px;
  user-select: text;
  width: max-content; 
  display: block; 
  text-align: center;
}

.buttons {
  display: flex;
  flex-wrap: wrap;
  gap: 0.7rem;
  justify-content: center;
  margin-bottom: 1.8rem;
}

.btn {
  flex: 1 1 45%;
  padding: 0.65rem 0;
  border: none;
  border-radius: 8px;
  font-weight: 600;
  font-size: 1rem;
  cursor: pointer;
  transition: background-color 0.3s ease;
  user-select: none;
}

.btn:disabled {
  opacity: 0.5;
  cursor: not-allowed;
}

.primary {
  background-color: #1e90ff;
  color: #fff;
}

.primary:hover:not(:disabled) {
  background-color: #0c6cd6;
}

.secondary {
  background-color: #F227F5;
  color: #F227F5;
}

.secondary:hover:not(:disabled) {
  background-color: #565e64;
}

.success {
  background-color: #28a745;
  color: #fff;
}

.success:hover:not(:disabled) {
  background-color: #1e7e34;
}

.warning {
  background-color: #ffc107;
  color: #212529;
}

.warning:hover:not(:disabled) {
  background-color: #e0a800;
}

.danger {
  background-color: #dc3545;
  color: #fff;
}

.danger:hover:not(:disabled) {
  background-color: #b02a37;
}

.progress-display {
  font-size: 1.5rem;
  font-weight: 600;
  letter-spacing: 1.1px;
  user-select: text;
}

.congrats-message {
  margin-top: 1rem;
  font-size: 1.3rem;
  font-weight: 700;
  color: #ffd700;
  text-shadow: 0 0 8px #ffd700, 0 0 12px #ff8c00;
  user-select: none;
}