body {
  margin: 0;
  font-family: 'Segoe UI', sans-serif;
}

/* Background */
.bg-wrapper {
  min-height: 100vh;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;

  background: linear-gradient(135deg, #091413, #285A48, #408A71, #B0E4CC);
}

/* Title */
.title {
  font-weight: 700;
}

.subtitle {
  opacity: 0.85;
}

/* Card */
.main-card {
  width: 100%;
  max-width: 650px;
  border-radius: 20px;
  padding: 30px;
  border: none;
}

/* Labels */
.label {
  font-weight: 600;
  margin-bottom: 8px;
}

/* Textarea */
.custom-textarea {
  border-radius: 12px;
  height: 140px;
  resize: none;
  border: 2px solid #408A71;
}

.custom-textarea:focus {
  box-shadow: none;
  border-color: #285A48;
}

/* Voice box */
.voice-box {
  display: flex;
  align-items: center;
  border: 2px solid #408A71;
  border-radius: 12px;
  padding: 8px 12px;
  background: #fff;
}

.voice-box i {
  font-size: 20px;
  margin-right: 10px;
  color: #285A48;
}

/* Speed badge */
.speed-value {
  background: #408A71;
  color: white;
  padding: 4px 10px;
  border-radius: 8px;
  display: inline-block;
  margin-bottom: 8px;
  font-size: 14px;
}

/* Slider */
.form-range::-webkit-slider-thumb {
  background: #285A48;
}

.form-range::-webkit-slider-runnable-track {
  background: #B0E4CC;
}

/* Buttons */
.start-btn {
  background: linear-gradient(135deg, #091413, #285A48);
  color: white;
  border-radius: 12px;
  padding: 10px;
  font-weight: 600;
}

.start-btn:hover {
  opacity: 0.9;
}

.stop-btn {
  border: 2px solid #285A48;
  border-radius: 12px;
  padding: 10px;
  font-weight: 600;
  background: white;
  color: #285A48;
}

.stop-btn:hover {
  background: #f5f5f5;
}

/* Disabled buttons */
button:disabled {
  opacity: 0.6;
  cursor: not-allowed;
}