/* ---------- Wunsch ---------- */
.roboter-pille {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 6px 14px;
  border-radius: 999px;
  background: var(--teal-t8);
  color: var(--teal);
  font-weight: 700;
  font-size: 14px;
}
.pillen-reihe {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 12px;
}
/* Profi-Modus: Schalter rechts in der Pillenreihe, die Marke in Gold wie die Plaketten. */
.modus-schalter {
  display: inline-flex;
  margin-left: auto;
  border: 2px solid var(--teal);
  border-radius: 999px;
  overflow: hidden;
  background: var(--weiss);
}
.modus-knopf {
  min-height: 44px;
  padding: 0 18px;
  border: none;
  background: transparent;
  color: var(--teal);
  font: inherit;
  font-size: 15px;
  font-weight: 700;
  white-space: nowrap;
  cursor: pointer;
}
.modus-knopf + .modus-knopf {
  border-left: 2px solid var(--teal);
}
.modus-knopf:hover {
  background: var(--teal-t8);
}
.modus-knopf[aria-pressed="true"] {
  background: var(--teal);
  color: var(--weiss);
}
#modus-profi[aria-pressed="true"] {
  background: var(--gold);
  color: var(--anthrazit-auf-gold);
}
.modus-knopf:focus-visible {
  outline: 2px solid var(--fokus);
  outline-offset: -4px;
}
.profi-frage {
  margin: 0;
}
.profi-frage-knoepfe {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin-top: 8px;
}
.profi-frage-knoepfe > .knopf {
  flex: 1 1 260px;
  max-width: 320px;
  min-height: 52px;
  white-space: nowrap;
}
.profi-meldung:empty {
  display: none;
}
.profi-meldung {
  margin: 0;
  padding: 12px 16px;
  border-left: 4px solid var(--gold);
  border-radius: 6px;
  background: var(--weiss);
  box-shadow: inset 0 0 0 1px var(--warmgrau-40);
  font-size: 16px;
  font-weight: 600;
}
.profi-marke {
  display: inline-flex;
  align-items: center;
  padding: 2px 10px;
  border-radius: 999px;
  background: var(--gold);
  color: var(--anthrazit-auf-gold);
  font-size: 13px;
  font-weight: 700;
  letter-spacing: 0;
  white-space: nowrap;
}
.profi-marke[hidden] {
  display: none;
}
.profi-satz {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
  font-size: 16px;
}
.profi-satz[hidden] {
  display: none;
}
.tafel {
  background: var(--weiss);
  border: 1px solid var(--warmgrau-40);
  border-radius: 10px;
  box-shadow: var(--schatten);
}
.tafel-oben {
  border-top: 2px solid var(--teal);
}
.tafel-24 {
  padding: 24px;
}
.wunsch-tafel {
  display: flex;
  flex-wrap: wrap;
  gap: 24px;
  align-items: stretch;
  padding: 24px;
}
.wunsch-feld {
  flex: 999 1 360px;
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 8px;
}
/* Mikrofon oben neben dem Textfeld, nicht mittig in der ganzen Box. */
/* Textfeld und Mikrofon in einer Zeile; das Mikrofon steht mittig neben dem Textfeld. */
.wunsch-eingabe {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 24px;
}
.wunsch-text {
  flex: 999 1 320px;
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.mikro-spalte {
  flex: 0 0 224px;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 12px;
  padding-bottom: 28px;
}
.mikro-rahmen {
  position: relative;
  display: inline-flex;
  width: 96px;
  height: 96px;
}
.mikro {
  position: relative;
  width: 96px;
  height: 96px;
  border-radius: 999px;
  border: none;
  background: var(--verlauf);
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}
.mikro {
  touch-action: none;
  user-select: none;
  -webkit-user-select: none;
  -webkit-touch-callout: none;
}
.senden-tafel {
  border-top: 4px solid var(--teal);
}
.senden-tafel p {
  margin: 0;
}
.senden-reihe {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  align-items: center;
}
.knopf-gross {
  min-height: 56px;
  padding: 12px 28px;
  font-size: 18px;
}
/* Die beiden Hauptknöpfe (Code schreiben lassen, Auf deinen … senden) sind gleich breit. */
.knopf-haupt {
  width: 380px;
  max-width: 100%;
  white-space: nowrap;
}
.senden-status {
  font-size: 17px;
  line-height: 1.5;
  font-weight: 600;
  color: var(--anthrazit);
}
.senden-status:not(:empty) {
  padding: 12px 16px;
  border-left: 4px solid var(--teal);
  border-radius: 8px;
  background: var(--weiss);
  box-shadow: inset 0 0 0 1px var(--warmgrau-40);
}
.senden-status.senden-fehler {
  border-left-color: var(--rost);
}
.senden-schritte li {
  font-size: 17px;
}
.senden-status.senden-fehler {
  color: var(--rost);
}
.senden-notweg {
  display: flex;
  flex-direction: column;
  gap: 12px;
  padding: 16px 20px;
  border-radius: 8px;
  background: var(--rost-t8);
}
.mikro-klein {
  flex: none;
  width: 52px;
  height: 52px;
}
.mikro:hover {
  filter: brightness(0.92);
}
.mikro[aria-pressed="true"] {
  filter: brightness(0.85);
}
.ring {
  position: absolute;
  inset: 0;
  border-radius: 999px;
  border: 3px solid var(--teal);
  animation: ring 1.6s var(--bewegung) infinite;
  pointer-events: none;
}
.ring2 {
  animation-delay: 0.8s;
}
@keyframes ring {
  0% {
    transform: scale(1);
    opacity: 0.55;
  }
  100% {
    transform: scale(1.7);
    opacity: 0;
  }
}
