/* Hörbuch-Player und Verwaltung. Farben und Titelschrift kommen je Anbieter aus /api/app/thema.css bzw. vom Player (CSS-Variablen --t-…);
   die Werte hinter dem Komma sind die neutrale Vorgabe (Thema.Neutral im Dienst, ein Test hält beide gleich).
   Grundschrift 18 px, Bedienelemente mindestens 48 px, jede Schrift mindestens 4,5:1 auf ihrem Grund. */

/* Libre Baskerville vom eigenen Dienst (SIL Open Font License 1.1, schrift/OFL.txt). */
@font-face { font-family: "Libre Baskerville"; font-style: normal; font-weight: 400; font-display: swap; src: url("schrift/libre-baskerville-latin-400-normal.woff2") format("woff2"); }
@font-face { font-family: "Libre Baskerville"; font-style: normal; font-weight: 700; font-display: swap; src: url("schrift/libre-baskerville-latin-700-normal.woff2") format("woff2"); }

:root {
  --grund: var(--t-hell-grund, #f7f7f5);
  --flaeche: var(--t-hell-flaeche, #fcfcfc);
  --text: var(--t-hell-text, #1a1a1a);
  --leise: var(--t-hell-leise, #656564);
  --akzent: var(--t-hell-akzent, #1f4e79);
  --akzent-text: var(--t-hell-akzent-text, #f7f7f5);
  --kopf: var(--t-hell-kopf, #1f2a36);
  --kopf-text: var(--t-hell-kopf-text, #f7f7f5);
  --zier: var(--t-hell-zier, #8a9bb0);
  --linie: var(--t-hell-linie, #c6c6c5);
  --markiert: var(--t-hell-markiert, #dde4ea);
  --titelschrift: var(--t-titelschrift, system-ui, -apple-system, "Segoe UI", Roboto, sans-serif);
  --textschrift: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
  --warnung: var(--t-hell-warnung, #8a1c1c);
  --warnung-grund: var(--t-hell-warnung-grund, #f4e3e0);
  --warnung-strich: var(--t-hell-warnung-strich, #b3261e);
  --test: var(--t-hell-test, #6b4e00);
  --test-grund: var(--t-hell-test-grund, #fff4d6);
  --schatten: 0 1px 2px rgba(0, 0, 0, 0.06), 0 10px 28px rgba(0, 0, 0, 0.10);
  --breite: 680px;
  font-size: 18px;
}

@media (prefers-color-scheme: dark) {
  :root {
    --grund: var(--t-dunkel-grund, #121417);
    --flaeche: var(--t-dunkel-flaeche, #1f2124);
    --text: var(--t-dunkel-text, #f2f2f2);
    --leise: var(--t-dunkel-leise, #98999a);
    --akzent: var(--t-dunkel-akzent, #8cc4ff);
    --akzent-text: var(--t-dunkel-akzent-text, #121417);
    --kopf: var(--t-dunkel-kopf, #1b2129);
    --kopf-text: var(--t-dunkel-kopf-text, #f2f2f2);
    --zier: var(--t-dunkel-zier, #4a5a6c);
    --linie: var(--t-dunkel-linie, #434547);
    --markiert: var(--t-dunkel-markiert, #2e3843);
    --warnung: var(--t-dunkel-warnung, #ffb4b4);
    --warnung-grund: var(--t-dunkel-warnung-grund, #36191a);
    --warnung-strich: var(--t-dunkel-warnung-strich, #ff8a80);
    --test: var(--t-dunkel-test, #ffd98a);
    --test-grund: var(--t-dunkel-test-grund, #3a3014);
    --schatten: 0 1px 2px rgba(0, 0, 0, 0.5), 0 10px 28px rgba(0, 0, 0, 0.45);
  }
}

* { box-sizing: border-box; }
[hidden] { display: none !important; }

html, body { margin: 0; background: var(--grund); color: var(--text); }

body {
  font-family: var(--textschrift);
  font-size: 1rem;
  line-height: 1.55;
  -webkit-text-size-adjust: 100%;
}

h1, h2, h3 { font-family: var(--titelschrift); line-height: 1.25; color: var(--text); }
h1 { font-size: 1.5rem; margin: 0 0 8px; font-weight: 700; }
h2 { font-size: 1.2rem; margin: 28px 0 10px; font-weight: 700; }
h3 { font-size: 1rem; margin: 12px 0 4px; font-weight: 700; }
p { margin: 0 0 6px; }
.leise { color: var(--leise); }
.klein { font-size: 0.9rem; }

a { color: var(--akzent); text-underline-offset: 3px; }

button, select, input, textarea { font: inherit; color: inherit; }

button {
  min-height: 48px;
  min-width: 48px;
  border-radius: 8px;
  border: 2px solid var(--akzent);
  background: var(--flaeche);
  color: var(--akzent);
  padding: 8px 18px;
  font-weight: 600;
  cursor: pointer;
}
button.haupt { background: var(--akzent); color: var(--akzent-text); }
button:disabled { opacity: 0.55; cursor: default; }
:focus-visible { outline: 3px solid var(--akzent); outline-offset: 3px; }

select {
  min-height: 48px;
  border-radius: 8px;
  border: 2px solid var(--leise);
  background: var(--flaeche);
  padding: 6px 10px;
}

/* ---------- Kopfzeile des Anbieters ---------- */
.kopf {
  background: var(--kopf);
  color: var(--kopf-text);
  border-bottom: 3px solid var(--zier);
  padding-top: env(safe-area-inset-top, 0px);
}
.kopf-innen {
  max-width: var(--breite);
  margin: 0 auto;
  min-height: 60px;
  padding: 6px 16px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}
.marke {
  margin: 0;
  display: flex;
  align-items: center;
  gap: 12px;
  min-width: 0;
  font-family: var(--titelschrift);
  font-size: 1.05rem;
  line-height: 1.3;
  letter-spacing: 0.01em;
}
#logo { display: block; max-height: 42px; max-width: 160px; width: auto; height: auto; }
#kopf-name { min-width: 0; overflow-wrap: break-word; }
.kopf-knoepfe { flex: none; display: flex; align-items: center; gap: 8px; }
.kopf-knopf {
  flex: none;
  background: transparent;
  color: var(--kopf-text);
  border-color: var(--kopf-text);
  padding: 6px 12px;
}
.kopf :focus-visible { outline-color: var(--kopf-text); }
/* Am schmalen Telefon passen Logo, „Ihre Meinung“ und die Sprachwahl nebeneinander. */
@media (max-width: 420px) {
  .kopf-innen { gap: 8px; }
  #logo { max-width: 110px; }
  .kopf-knopf { padding: 6px 10px; }
}

/* ---------- Seite ---------- */
main { max-width: var(--breite); margin: 0 auto; padding: 16px 16px 40px; }

.hinweis { padding: 28px 0 12px; }
.hinweis h1 { margin-bottom: 12px; }
.hinweis button { margin-top: 18px; }
.meldung {
  margin-top: 12px;
  padding: 22px 20px;
  background: var(--flaeche);
  border: 1px solid var(--linie);
  border-left: 6px solid var(--zier);
  border-radius: 8px;
}
.meldung.warnung { border-left-color: var(--warnung-strich); }

.hinweis-zeile { margin: 14px 0 0; padding: 10px 14px; border-radius: 8px; background: var(--flaeche); border-left: 4px solid var(--zier); }
.hinweis-zeile:empty { display: none; }

/* Link aus der E-Mail einfügen (ohne gültigen Link, vor allem in der installierten App ohne Adresszeile). */
.link-form { margin-top: 18px; }
.link-form label { display: block; font-weight: 700; margin-bottom: 6px; }
.link-zeile { display: flex; gap: 10px; flex-wrap: wrap; }
.link-zeile input { flex: 1 1 220px; min-width: 0; min-height: 48px; border-radius: 8px; border: 2px solid var(--leise); background: var(--flaeche); padding: 6px 10px; }
.hinweis .link-zeile button { margin-top: 0; }
.link-form .fehler { margin: 8px 0 0; }

/* ---------- Player ---------- */
.cover-rahmen { margin: 4px 0 22px; }
#cover {
  display: block;
  margin: 0 auto;
  width: auto;
  height: auto;
  max-width: 100%;
  max-height: 62vh;
  border-radius: 6px;
  background: var(--flaeche);
  box-shadow: var(--schatten);
}

.buch-text { min-width: 0; }
.buch-text h1 { font-size: 1.55rem; margin-top: 2px; }
.autoren { font-size: 1.05rem; margin-bottom: 2px; }
.test { display: inline-block; background: var(--test-grund); color: var(--test); font-weight: 700; padding: 2px 10px; border-radius: 6px; margin-bottom: 8px; }

.kapitel-aktuell { margin-top: 20px; }
/* Unter der Bedienreihe: Kapitelname, Gesamtzeit, Sprecher, Bestellung. */
.angaben { margin-top: 14px; }
.angaben p { margin: 0 0 4px; }
#kapitel-name { font-weight: 700; }
#kapitel-name:empty, #zeit-gesamt:empty, #sprecher:empty, #bestellung:empty { display: none; }

input[type=range] { width: 100%; height: 48px; accent-color: var(--akzent); margin: 0; background: transparent; }
.zeiten { display: flex; justify-content: space-between; font-variant-numeric: tabular-nums; }

.steuerung { display: flex; justify-content: center; align-items: center; gap: 12px; margin: 22px 0 26px; flex-wrap: nowrap; }
button.rund {
  border-radius: 50%;
  width: 62px;
  height: 62px;
  padding: 0;
  font-size: 1rem;
  font-weight: 700;
  font-variant-numeric: tabular-nums;
  flex: none;
}
button.rund.neben { width: 52px; height: 52px; font-size: 0.9rem; border-width: 2px; }
button.rund.gross {
  width: 92px;
  height: 92px;
  background: var(--akzent);
  color: var(--akzent-text);
  box-shadow: var(--schatten);
  display: inline-flex;
  align-items: center;
  justify-content: center;
}
button.rund.gross svg { width: 44px; height: 44px; fill: currentColor; }
#abspielen .zeichen-pause { display: none; }
#abspielen.spielt .zeichen-spielen { display: none; }
#abspielen.spielt .zeichen-pause { display: inline; }

.einstellungen { display: grid; grid-template-columns: 1fr 1fr; gap: 12px 16px; }
.einstellungen label { display: flex; flex-direction: column; gap: 4px; min-width: 0; color: var(--leise); }
.einstellungen select { width: 100%; color: var(--text); }
#lautstaerke-feld { grid-column: 1 / -1; }
#schlaf-rest { margin-top: 10px; }
.geraet-zeile { margin: 10px 0 0; }

.aktionen { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 18px; }
.aktionen:empty { display: none; }

.karte {
  background: var(--flaeche);
  border: 1px solid var(--linie);
  border-radius: 8px;
  padding: 16px 18px;
  margin-bottom: 14px;
}

.app-hinweis { margin-top: 22px; border-left: 4px solid var(--zier); }
.app-hinweis-kopf { display: flex; align-items: flex-start; justify-content: space-between; gap: 8px; }
.app-hinweis h2 { margin: 6px 0 6px; font-size: 1.1rem; }
.app-hinweis .anleitung { margin-top: 10px; }
.app-hinweis .haupt { margin: 8px 0 4px; }
button.schliessen { border-color: transparent; background: transparent; color: var(--text); font-size: 1.6rem; line-height: 1; padding: 0; flex: none; }

.kapitel-karte { margin-top: 30px; padding: 6px 0 4px; }
.kapitel-karte h2 { margin: 12px 18px 6px; }
#kapitelliste { list-style: none; padding: 0; margin: 0; }
#kapitelliste li { border-top: 1px solid var(--linie); }
#kapitelliste button {
  width: 100%;
  min-height: 52px;
  border: 0;
  border-radius: 0;
  background: none;
  color: var(--text);
  font-weight: 400;
  text-align: left;
  display: flex;
  gap: 14px;
  align-items: baseline;
  padding: 12px 18px;
}
#kapitelliste .nr { color: var(--leise); min-width: 2em; font-variant-numeric: tabular-nums; }
#kapitelliste .name { flex: 1; }
#kapitelliste .dauer { color: var(--leise); font-variant-numeric: tabular-nums; }
#kapitelliste li.aktuell button { font-weight: 700; background: var(--markiert); box-shadow: inset 5px 0 0 var(--akzent); }
#kapitelliste li.aktuell .nr, #kapitelliste li.aktuell .dauer { color: var(--text); }

footer { margin-top: 40px; padding-top: 16px; border-top: 1px solid var(--linie); color: var(--leise); }
footer .verweise { display: flex; gap: 6px 22px; flex-wrap: wrap; align-items: center; }
footer a { display: inline-block; min-height: 48px; min-width: 48px; line-height: 48px; text-align: center; }
button.verweis-knopf {
  border: 0;
  background: none;
  color: var(--akzent);
  padding: 0;
  min-height: 48px;
  font-weight: 400;
  text-decoration: underline;
  text-underline-offset: 3px;
}

/* Telefone: Cover über die volle Breite, solange „Abspielen“ ganz auf den ersten Bildschirm passt (sonst verkleinert es player.js),
   engere Abstände über der Bedienreihe, die äußeren Sprungknöpfe weg, wenn sie nicht mehr passen. */
@media (max-width: 599px) {
  main { padding-top: 12px; }
  .cover-rahmen { margin: 0 0 14px; }
  #cover { width: 100%; max-height: none; object-fit: contain; }
  .buch-text h1 { font-size: 1.4rem; margin-bottom: 4px; }
  .kapitel-aktuell { margin-top: 10px; }
  .steuerung { margin: 12px 0 18px; }
}
/* Tablet hoch: Cover groß in der Mitte, Abspielen bleibt auf dem ersten Bildschirm. */
@media (min-width: 600px) and (max-width: 959px) {
  #cover { width: min(100%, 440px); object-fit: contain; }
}
@media (max-width: 369px) {
  .steuerung { gap: 8px; }
  button.rund.neben { display: none; }
}

/* Rechner und große Tablets quer: Cover links, Bedienung rechts, Kapitel darunter. */
@media (min-width: 960px) {
  :root { --breite: 1120px; }
  main { padding-top: 32px; }
  .buehne { display: grid; grid-template-columns: minmax(320px, 460px) minmax(0, 1fr); gap: 48px; align-items: start; }
  .buehne.ohne-cover { grid-template-columns: minmax(0, 720px); }
  .cover-rahmen { margin: 0; position: sticky; top: 24px; }
  #cover { width: 100%; max-height: none; }
  .buch-text h1 { font-size: 1.9rem; }
  .steuerung { justify-content: flex-start; }
  .einstellungen { grid-template-columns: 1fr 1fr 2fr; }
  #lautstaerke-feld { grid-column: auto; }
}

/* ---------- Verwaltung ---------- */
.verwaltung main { max-width: 1100px; }
.verwaltung main > h1 { margin-top: 8px; }
.reiter { display: flex; gap: 8px; flex-wrap: wrap; margin: 12px 0 20px; }
.reiter button[aria-selected=true] { background: var(--akzent); color: var(--akzent-text); }
.feld { display: flex; flex-direction: column; gap: 4px; margin-bottom: 12px; min-width: 0; max-width: 100%; }
/* Am Telefon nie breiter als der Platz: Auswahl mit langen Hörbuchtiteln, Dateifelder, Adressen zum Einbinden. */
.feld select, .feld input[type=file] { max-width: 100%; min-width: 0; }
#bew-json { max-width: 100%; overflow-wrap: anywhere; }
.feld input[type=text], .feld input[type=email], .feld input[type=number], .feld textarea {
  min-height: 48px; border: 2px solid var(--leise); border-radius: 8px; padding: 8px 10px; background: var(--flaeche);
}
.feld input[type=color] { width: 72px; min-height: 48px; padding: 2px; border: 2px solid var(--leise); border-radius: 8px; background: var(--flaeche); }
.feld textarea { min-height: 120px; }
.reihe { display: flex; gap: 12px; flex-wrap: wrap; align-items: flex-end; }
.karte.auffaellig { border: 2px solid var(--warnung); background: var(--warnung-grund); }
.tabelle-huelle { overflow-x: auto; }
table { border-collapse: collapse; width: 100%; font-size: 0.95rem; }
th, td { text-align: left; padding: 8px 6px; border-bottom: 1px solid var(--linie); vertical-align: top; }
tr.auffaellig td { background: var(--warnung-grund); }
.marke-klein { display: inline-block; padding: 1px 8px; border-radius: 6px; background: var(--markiert); font-size: 0.9rem; }
.marke-klein.rot { background: var(--warnung-grund); color: var(--warnung); font-weight: 700; }
.einmalig { word-break: break-all; padding: 10px; background: var(--markiert); border-radius: 8px; font-family: ui-monospace, Consolas, monospace; }
.fehler { color: var(--warnung); }
input[type=file] { min-height: 48px; padding: 8px 0; max-width: 100%; }
.feld.ankreuzen { min-height: 48px; justify-content: center; }
.ankreuzen input[type=checkbox] { width: 22px; height: 22px; margin: 0 8px 0 0; vertical-align: -4px; accent-color: var(--akzent); }

.farbwahl { display: grid; grid-template-columns: repeat(auto-fill, minmax(230px, 1fr)); gap: 4px 16px; }
.farbwahl .feld { flex-direction: row; align-items: center; gap: 10px; }
.farbwahl .feld span { min-width: 0; }
.vorschau-paar { display: grid; grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); gap: 16px; margin: 12px 0; }
.vorschau { border: 1px solid var(--v-linie); border-radius: 8px; overflow: hidden; background: var(--v-grund); color: var(--v-text); }
.vorschau-kopf { background: var(--v-kopf); color: var(--v-kopf-text); border-bottom: 3px solid var(--v-zier); padding: 10px 14px; font-family: var(--v-schrift); }
.vorschau-rumpf { padding: 14px; }
.vorschau-rumpf h3 { font-family: var(--v-schrift); color: var(--v-text); margin: 0 0 4px; font-size: 1.1rem; }
.vorschau-rumpf .v-leise { color: var(--v-leise); margin: 0 0 10px; }
.vorschau-rumpf .v-karte { background: var(--v-flaeche); border: 1px solid var(--v-linie); border-radius: 8px; padding: 10px 12px; }
.vorschau-rumpf .v-knopf { display: inline-block; background: var(--v-akzent); color: var(--v-akzent-text); border-radius: 8px; padding: 10px 16px; font-weight: 700; margin-right: 10px; }
.vorschau-rumpf .v-link { color: var(--v-akzent); text-decoration: underline; }
.vorschau-rumpf .v-markiert { background: var(--v-markiert); padding: 8px 10px; margin-top: 10px; border-radius: 6px; }
#logo-vorschau { display: block; max-height: 64px; width: auto; margin: 8px 0; background: var(--kopf); padding: 8px; border-radius: 6px; }
.kontrastliste { margin: 8px 0 0; padding-left: 20px; }

/* ---------- Ihre Meinung (Player) ---------- */
.meinung-karte { margin: 0 0 18px; border-left: 4px solid var(--akzent); scroll-margin: 12px; }
.meinung-karte p { font-weight: 600; margin: 0; }
.meinung-karte .aktionen { margin-top: 12px; }
.meinung { max-width: 720px; }
.meinung h1 { margin-top: 2px; }
.meinung h1:focus { outline: none; }
.meinung-oben { margin: 0 0 2px; }
.meinung > .hinweis-zeile { margin: 12px 0 10px; }
.meinung-stand { margin: 12px 0 14px; border-left-color: var(--akzent); }
.meinung-stand p { margin: 0; }
.meinung-stand p + p { margin-top: 2px; }
.meinung-stand a { display: inline-block; min-height: 48px; line-height: 48px; }
.meinung-stand:focus { outline: none; }
#meinung-form { margin-top: 14px; }
fieldset.frage { border: 1px solid var(--linie); border-radius: 8px; background: var(--flaeche); margin: 0 0 14px; padding: 12px 16px 10px; min-width: 0; }
/* Die Überschrift der Frage im Kasten, nicht auf seinem Rand. */
fieldset.frage legend { float: left; width: 100%; padding: 0; margin: 0 0 6px; font-weight: 700; font-family: var(--titelschrift); font-size: 1.05rem; line-height: 1.35; }
fieldset.frage legend + * { clear: both; }
.sterne { position: relative; display: flex; align-items: center; flex-wrap: wrap; gap: 0 2px; }
.sterne input { position: absolute; opacity: 0; width: 1px; height: 1px; margin: 0; pointer-events: none; }
.stern { display: inline-flex; align-items: center; justify-content: center; min-width: 48px; min-height: 48px; font-size: 2rem; line-height: 1; color: var(--leise); cursor: pointer; border-radius: 8px; }
.stern.an { color: var(--akzent); }
.sterne input:focus-visible + .stern { outline: 3px solid var(--akzent); outline-offset: -2px; }
.sterne-wert { margin-left: 8px; font-size: 0.95rem; }
.unsichtbar { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); clip-path: inset(50%); white-space: nowrap; }
.wahlen { display: flex; flex-wrap: wrap; gap: 8px; }
.wahl-knopf { display: inline-flex; align-items: center; gap: 10px; min-height: 48px; padding: 6px 14px 6px 10px; border: 2px solid var(--linie); border-radius: 8px; background: var(--grund); cursor: pointer; line-height: 1.3; }
.wahl-knopf input { width: 22px; height: 22px; margin: 0; flex: none; accent-color: var(--akzent); }
.wahl-knopf.an { border-color: var(--akzent); background: var(--markiert); }
.wahl-knopf.breit { display: flex; width: 100%; }
.veroeffentlichung .wahlen { flex-direction: column; }
button.leeren { display: block; margin-top: 2px; font-size: 0.95rem; }
fieldset.frage textarea { display: block; width: 100%; min-height: 150px; border: 2px solid var(--leise); border-radius: 8px; padding: 8px 10px; background: var(--grund); resize: vertical; line-height: 1.5; }
.zaehler { margin: 4px 0 0; text-align: right; }
.name-bereich { margin-top: 14px; }
.name-bereich .feld { margin-bottom: 2px; }
.name-bereich .feld input[type=text] { width: 100%; max-width: 420px; background: var(--grund); }
.name-bereich .ankreuzen { display: flex; align-items: center; gap: 10px; min-height: 48px; margin-top: 4px; cursor: pointer; }
.name-bereich .ankreuzen input[type=checkbox] { margin: 0; flex: none; }
.einwilligung { margin: 12px 0 2px; }
.meinung-weitere { margin-top: 18px; display: flex; flex-direction: column; align-items: flex-start; gap: 2px; }
.meinung-weitere .karte { margin-top: 8px; width: 100%; }
.sperre-bewertung { margin-top: 18px; }
.sperre-bewertung p { margin: 0 0 8px; }
.sperre-bewertung .karte { margin-top: 12px; }
#sperre-stand:empty { display: none; }
#sperre-stand:focus { outline: none; }

/* ---------- Hörerstimmen (öffentliche Seite) ---------- */
.stimmen-seite main { max-width: 760px; }
.hinweis-5b { margin: 6px 0 18px; }
.schnitt { display: flex; align-items: baseline; flex-wrap: wrap; gap: 4px 14px; margin: 16px 0 6px; }
.schnitt-zahl { font-family: var(--titelschrift); font-size: 2.2rem; font-weight: 700; line-height: 1.1; }
.schnitt p { margin: 0; }
.stimmen { list-style: none; padding: 0; margin: 0; }
.stimme p { margin: 0 0 6px; }
.stimme-sterne { color: var(--akzent); font-size: 1.3rem; letter-spacing: 2px; }
.stimme-text { white-space: pre-line; overflow-wrap: anywhere; }

/* ---------- Bewertungen (Verwaltung) ---------- */
.verteilung { display: grid; grid-template-columns: minmax(7em, max-content) 1fr 3em; gap: 4px 10px; align-items: center; margin: 6px 0 12px; }
.balken { height: 14px; background: var(--markiert); border-radius: 4px; overflow: hidden; }
.balken-fuellung { display: block; height: 100%; width: 0; background: var(--akzent); }
.verteilung .zahl { text-align: right; font-variant-numeric: tabular-nums; }
.auswertung-frage { border-top: 1px solid var(--linie); padding-top: 10px; margin-top: 10px; }
.freitext { white-space: pre-line; overflow-wrap: anywhere; margin: 6px 0; padding: 8px 12px; background: var(--grund); border-left: 4px solid var(--zier); border-radius: 6px; }
.frage-bearbeiten { border: 1px solid var(--linie); border-radius: 8px; padding: 10px 14px; margin: 0 0 12px; min-width: 0; }
.frage-bearbeiten legend { font-weight: 700; padding: 0 6px; }
.frage-bearbeiten .feld input[type=text] { width: 100%; }
.frage-bearbeiten .reihe > .feld { flex: 1 1 240px; }
#bew-stimmen { display: inline-block; min-height: 48px; line-height: 48px; }
