* {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
  font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

body, html {
  height: 100%;
}

body {
  background: #111;
  color: #f5f5f5;
}

#app {
  height: 100vh;
  display: flex;
  align-items: center;
  justify-content: center;
}

.screen {
  display: none;
  text-align: center;
  max-width: 600px;
  padding: 20px;
}

.screen.active {
  display: block;
}

h1, h2 {
  margin-bottom: 16px;
}

p {
  margin-bottom: 16px;
}

button {
  padding: 10px 20px;
  margin: 8px;
  border: none;
  border-radius: 4px;
  background: #ff6b35;
  color: #fff;
  cursor: pointer;
  font-size: 16px;
}

button:hover {
  background: #ff855a;
}

/* Vu-mètre */
.meter-container {
  width: 300px;
  height: 20px;
  border-radius: 10px;
  background: #333;
  margin: 0 auto 20px auto;
  overflow: hidden;
}

#vu-meter {
  width: 0%;
  height: 100%;
  background: linear-gradient(90deg, #3cb371, #ff6b35, #ff0000);
  transition: width 0.05s linear;
}

/* Compte à rebours */
#countdown {
  font-size: 48px;
  margin-bottom: 20px;
}

/* Player */
.player {
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 16px 0;
}

#btn-play-pause {
  margin-right: 12px;
}

.progress-bar {
  width: 300px;
  height: 6px;
  background: #333;
  border-radius: 3px;
  overflow: hidden;
}

#progress-fill {
  width: 0%;
  height: 100%;
  background: #ff6b35;
}