/* Melodian laulu -testi — kokeellinen prototyyppi, minimaalinen tyyli */

#mlt-app {
  font-family: inherit;
  max-width: 600px;
  margin: 20px auto;
  padding: 0 8px;
  box-sizing: border-box;
}

#mlt-intro {
  color: #555;
  font-size: 14px;
}

#mlt-app button {
  font-family: inherit;
  font-size: 16px;
  margin: 4px 4px 4px 0;
  padding: 10px 16px;
  border: none;
  border-radius: 8px;
  background: #4f8cc4;
  color: #fff;
  cursor: pointer;
}

#mlt-app button:disabled {
  background: #ccc;
  color: #666;
  cursor: not-allowed;
}

#mlt-mic-status,
#mlt-task-status {
  margin-top: 6px;
  font-size: 14px;
  color: #333;
}

#mlt-live-section {
  margin: 16px 0;
  padding: 16px;
  background: #fff;
  border-radius: 12px;
  box-shadow: 0 0 8px rgba(0, 0, 0, 0.1);
  text-align: center;
}

.mlt-label {
  font-size: 13px;
  color: #666;
  margin-bottom: 4px;
}

#mlt-live-note {
  font-size: 40px;
  font-weight: bold;
  color: #2f3b4f;
}

#mlt-live-detail {
  font-size: 13px;
  color: #777;
  margin-top: 4px;
}

#mlt-task-section {
  margin-top: 16px;
}

#mlt-tempo-section {
  margin: 10px 0;
  display: flex;
  align-items: center;
  gap: 8px;
}

#mlt-tempo-section .mlt-label {
  margin-bottom: 0;
}

#mlt-tempo-value {
  font-size: 14px;
  color: #333;
  min-width: 56px;
}

#mlt-paper {
  background: #fff;
  border-radius: 16px;
  box-shadow: 0 0 8px rgba(0, 0, 0, 0.1);
  padding: 20px 16px;
  margin: 8px 0 16px;
  min-height: 80px;
  overflow-x: auto;
  box-sizing: border-box;
}

#mlt-paper svg {
  max-width: 100%;
  height: auto;
  display: block;
  margin: 0 auto;
}

#mlt-paper .abcjs-note.note-correct {
  fill: #22c55e !important;
}

#mlt-paper .abcjs-note.note-wrong {
  fill: #ef4444 !important;
}

/* Liikkuva kursori nykyisen nuotin/tauon päällä laulamisen aikana. */
#mlt-cursor {
  position: fixed;
  display: none;
  background: rgba(79, 140, 196, 0.3);
  border: 2px solid rgba(79, 140, 196, 0.85);
  border-radius: 4px;
  pointer-events: none;
  z-index: 9998;
  transition: left 0.1s linear, top 0.1s linear, width 0.1s linear;
}

#mlt-task-results {
  margin-top: 10px;
}

.mlt-result-row {
  padding: 8px 12px;
  margin-bottom: 4px;
  border-radius: 8px;
  font-size: 15px;
}

.mlt-result-row.mlt-correct {
  background: #d7f5d7;
  color: #1a7a1a;
}

.mlt-result-row.mlt-wrong {
  background: #ffd6d6;
  color: #a11;
}

.mlt-summary {
  margin-top: 8px;
  font-weight: bold;
}
