/*
Letzte Cleaning Prüfung: 23.09.2026
Letztes Cleaning: 09.09.2026

Gemeinsame Formular-Vorlage der Text-Werkzeuge.

Anlass (01.09.2026): Transkription, Videoskript, Content-Ideen und
Keyword-Recherche stellen dieselbe Art Formular dar — Auswahlfelder, Textfelder
und einen Startknopf. Beschrieben war das trotzdem viermal getrennt, in 87
Regeln, und die Werte waren längst auseinandergelaufen:

| Bauteil                  | Keyword    | Videoskript | Content-Ideen |
|--------------------------|------------|-------------|---------------|
| Blockraster Innenabstand | 14/16 px   | 11/13 px    | 26/28 px      |
| Textfeld Mindesthöhe     | 72 px      | 50 px       | 150 px        |
| Auswahlfeld Höhe         | 38 px      | 32 px       | 36 px         |

Der Transkription fehlte fast alles davon (4 von 87 Regeln) — sie sah deshalb
als einziges Werkzeug anders aus.

Maßgeblich ist jetzt die Fassung der Keyword-Recherche (Entscheidung des
Betreibers vom 01.09.2026): der mittlere der drei Wertesätze, kompakt genug
für viele Felder und groß genug zum Treffen auf dem Telefon. Ausnahme seit
dem 09.09.2026: die Schriftgrößen. Sie folgen dem Fenster der
Video-Übersetzung, weil die Keyword-Werte daneben eine Stufe zu klein waren.

Benutzung: der Werkzeug-Container trägt `data-cf-layout="text"`. Gesetzt wird
das an genau zwei Stellen in ai-contentfactory.js — dort steht auch die Liste,
welche Werkzeuge dieses Layout bekommen. Ein neues Text-Werkzeug wird dort
eingetragen und braucht keine eigenen Regeln.

WAS HIER NICHT HINEINGEHÖRT: die Aufteilung des Formulars. Wie viele Spalten
ein Werkzeug hat und welches Feld wo sitzt, bleibt werkzeugeigen — die
Keyword-Recherche stellt ihre Felder einspaltig, Content-Ideen zweispaltig mit
fester Zuweisung. Ein `display:block` in dieser Datei hat Content-Ideen beim
ersten Anlauf seine zweite Spalte genommen. Diese Vorlage regelt Abstände und
Größen, nicht die Anordnung.

Zur Schreibweise der Selektoren: jede Regel steht zweimal, einmal für die
Werkzeugseite (`#workspace-body`) und einmal für das Produktionsfenster
(`.generic-tool-modal`) — dieselbe Ansicht erscheint in beiden Umgebungen
(docs/ai-contentfactory-code-inventar.md). Das doppelte Attribut ist kein
Versehen: die abgelösten Regeln stehen weiterhin in den älteren Blättern und
tragen dort teils `.generic-tool-modal-content #workspace-body[data-tool=…]`,
also drei Attribute plus ID. Ohne die zusätzliche Stufe verlöre diese Datei
gegen sie. Sie zu entfernen wurde versucht und wieder verworfen: die Regeln
stecken in gemischten Selektorlisten, und die maschinelle Textänderung hat
dabei drei Stylesheets unlesbar gemacht.

Nicht über `:is(#workspace-body[…], .generic-tool-modal[…])` lösen: `:is()`
übernimmt die Spezifität des stärksten Arguments, das Produktionsfenster
bekäme also die ID-Spezifität und Regeln, die heute gewinnen, verlören.

Belegt wird das Ergebnis nicht durch Nachrechnen, sondern durch Messen:
tests/contentfactory-textwerkzeug-vorlage.regression.js legt alle vier
Werkzeuge in beide Umgebungen und vergleicht die errechneten Werte gegen die
vollständige Kaskade aller Stylesheets.
*/

/* --- Das Blockraster ---------------------------------------------------- */

#workspace-body[data-cf-layout="text"][data-cf-layout="text"] .workspace-form,
.generic-tool-modal[data-cf-layout="text"][data-cf-layout="text"] .workspace-form {
  padding-top: 0 !important;
}

#workspace-body[data-cf-layout="text"][data-cf-layout="text"] .workspace-form > .workspace-group[data-current],
.generic-tool-modal[data-cf-layout="text"][data-cf-layout="text"] .workspace-form > .workspace-group[data-current] {
  padding-right: 0 !important;
}

#workspace-body[data-cf-layout="text"][data-cf-layout="text"] .workspace-wizard-progress,
.generic-tool-modal[data-cf-layout="text"][data-cf-layout="text"] .workspace-wizard-progress {
  margin: 0 0 8px !important;
}

#workspace-body[data-cf-layout="text"][data-cf-layout="text"] .workspace-group-grid,
.generic-tool-modal[data-cf-layout="text"][data-cf-layout="text"] .workspace-group-grid {
  gap: 11px 16px !important;
  padding: 14px 16px 16px !important;
  font-size: 12px !important;
}

/* --- Die Felder --------------------------------------------------------- */
/* Schriftgrößen (09.09.2026): dieselben wie im Fenster der Video-Übersetzung
   (.dubbing-production-body: Beschriftung 12px, Hilfetext 10px, Eingaben
   13px). Die Keyword-Werte vom 01.09. (11/9/11px) waren dem Betreiber im
   Vergleich mit den Medienfenstern "viel kleiner" - zu Recht, jede Stufe
   lag eine Nummer darunter. Wer hier ändert, ändert dort mit, sonst laufen
   die Fenster wieder auseinander (tests/contentfactory-ideen-produktionsfenster.regression.js
   misst beide gegeneinander). */

#workspace-body[data-cf-layout="text"][data-cf-layout="text"] .workspace-field label,
.generic-tool-modal[data-cf-layout="text"][data-cf-layout="text"] .workspace-field label {
  font-size: 12px !important;
}

#workspace-body[data-cf-layout="text"][data-cf-layout="text"] .workspace-field small,
.generic-tool-modal[data-cf-layout="text"][data-cf-layout="text"] .workspace-field small {
  font-size: 10px !important;
  line-height: 1.35 !important;
}

#workspace-body[data-cf-layout="text"][data-cf-layout="text"] .workspace-field select,
.generic-tool-modal[data-cf-layout="text"][data-cf-layout="text"] .workspace-field select,
#workspace-body[data-cf-layout="text"][data-cf-layout="text"] .workspace-field input:not([type="checkbox"]):not([type="radio"]):not([type="file"]),
.generic-tool-modal[data-cf-layout="text"][data-cf-layout="text"] .workspace-field input:not([type="checkbox"]):not([type="radio"]):not([type="file"]) {
  min-height: 38px !important;
  padding: 7px 11px !important;
  font-size: 13px !important;
}

#workspace-body[data-cf-layout="text"][data-cf-layout="text"] .workspace-field textarea,
.generic-tool-modal[data-cf-layout="text"][data-cf-layout="text"] .workspace-field textarea {
  min-height: 72px !important;
  font-size: 13px !important;
  line-height: 1.4 !important;
}

/* Die eine Ausnahme: der Themenfokus der Content-Ideen trägt drei bis fünf
   Zeilen und ist das Feld, an dem die Qualität des Ergebnisses hängt. 72px
   zwingen dort zum Scrollen in einem Feld, das man überblicken will.

   Sie steht HIER und nicht in ai-contentfactory-control-center.css: dort lag
   sie vom 26.08. bis zum 09.09.2026 ohne !important und mit geringerer
   Spezifität — und war seit Einführung dieser Vorlage wirkungslos. Der Test
   dazu blieb grün, weil sein Markup die Layout-Kennung nicht trug. Eine
   Ausnahme von einer !important-Regel muss direkt hinter ihr stehen, mit
   derselben Spezifität. */
#workspace-body[data-cf-layout="text"][data-cf-layout="text"][data-tool="creator-content-ideas-generator"] [data-config-field="TOPIC_FOCUS"] textarea,
.generic-tool-modal[data-cf-layout="text"][data-cf-layout="text"][data-generic-tool-id="creator-content-ideas-generator"] [data-config-field="TOPIC_FOCUS"] textarea {
  min-height: 168px !important;
  max-height: 320px;
}

/* Die optionalen Felder stehen zweispaltig; das erste nimmt die volle Breite,
   weil dort in allen vier Werkzeugen das längste Feld sitzt. */
#workspace-body[data-cf-layout="text"][data-cf-layout="text"] .workspace-optional-fields-grid,
.generic-tool-modal[data-cf-layout="text"][data-cf-layout="text"] .workspace-optional-fields-grid {
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) !important;
  gap: 18px 24px !important;
  padding: 18px 22px 20px !important;
}

#workspace-body[data-cf-layout="text"][data-cf-layout="text"] .workspace-optional-fields-grid .workspace-field:first-child,
.generic-tool-modal[data-cf-layout="text"][data-cf-layout="text"] .workspace-optional-fields-grid .workspace-field:first-child {
  grid-column: 1 / -1 !important;
}

/* Die Profilnotiz über dem Formular bleibt ausgeblendet: sie wiederholte nur,
   was im Creator-Profil steht, und kostete auf dem Telefon eine halbe Höhe. */
#workspace-body[data-cf-layout="text"][data-cf-layout="text"] .workspace-profile-note,
.generic-tool-modal[data-cf-layout="text"][data-cf-layout="text"] .workspace-profile-note {
  display: none !important;
}

/* --- Startknopf und Fußzeile -------------------------------------------- */

#workspace-body[data-cf-layout="text"][data-cf-layout="text"] .workspace-actions,
.generic-tool-modal[data-cf-layout="text"][data-cf-layout="text"] .workspace-actions {
  grid-template-columns: minmax(0, 1fr) auto !important;
  gap: 12px !important;
  min-height: 64px !important;
  margin: 8px 0 0 !important;
  padding: 10px 0 !important;
}

/* Der Knopf trägt seinen Text plus die Credit-Plakette - er darf nicht
   umbrechen und nicht auf Rasterbreite gestaucht werden. */
#workspace-body[data-cf-layout="text"][data-cf-layout="text"] .workspace-run,
.generic-tool-modal[data-cf-layout="text"][data-cf-layout="text"] .workspace-run {
  width: auto !important;
  min-width: 210px !important;
  max-width: none !important;
  white-space: nowrap !important;
  overflow: visible !important;
}

/* --- Schmale Fenster ---------------------------------------------------- */

@media (max-width: 700px) {
  #workspace-body[data-cf-layout="text"][data-cf-layout="text"] .workspace-optional-fields-grid,
  .generic-tool-modal[data-cf-layout="text"][data-cf-layout="text"] .workspace-optional-fields-grid {
    grid-template-columns: 1fr !important;
    gap: 14px !important;
    padding: 14px 16px 16px !important;
  }
  #workspace-body[data-cf-layout="text"][data-cf-layout="text"] .workspace-actions,
  .generic-tool-modal[data-cf-layout="text"][data-cf-layout="text"] .workspace-actions {
    grid-template-columns: 1fr !important;
  }
  #workspace-body[data-cf-layout="text"][data-cf-layout="text"] .workspace-run,
  .generic-tool-modal[data-cf-layout="text"][data-cf-layout="text"] .workspace-run {
    width: 100% !important;
    min-width: 0 !important;
  }
}
