/* =====================================================================
   lab - werkzeuge/dazblatt/app.css
   DaZ-Uebungsblatt: Eingaben links, druckfertige Blätter rechts.
   Muster: werkzeuge/rechenblatt/app.css. Konventionen (AGENTS.md §5):
     - Alle Klassen mit Prefix .lab_ (hier .lab_dz_)
     - Keine harten Farben, nur Variablen aus css/colors.css
     - Das Blatt bleibt in beiden Modi weiß (--lab-tv-blatt) und trägt
       dunkle Tinte (--lab-tv-blatt-text).
   ===================================================================== */

.lab_dz_layout {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 1.25rem;
  margin-top: 1.25rem;
}

/* Lange Sprachnamen dürfen die Seite auch auf dem Handy nicht verbreitern. */
.lab_dz_layout > *,
.lab_dz_gruppe { min-width: 0; }
.lab_dz_formular select,
.lab_dz_formular input,
.lab_dz_formular textarea { max-width: 100%; min-width: 0; }
#dz_hilfe { width: 100%; }
.lab_dz_typ { flex-wrap: wrap; }
.lab_dz_sprache { margin: 0; max-width: 14rem; min-width: 0; }
.lab_dz_sprache select { max-width: 100%; }
.lab_header_inner,
.lab_header_actions { flex-wrap: wrap; }
.lab_header_actions { min-width: 0; }
.lab_dz_vorschau { scroll-margin-top: 7rem; }
@media (max-width: 40rem) {
  .lab_dz_sprache { max-width: 10rem; }
  .lab_brand_name { font-size: 0.95rem; }
}

@media (min-width: 64rem) {
  .lab_dz_layout {
    grid-template-columns: 24rem minmax(0, 1fr);
    align-items: start;
  }
}

/* ---------- Eingaben ---------- */

.lab_dz_formular {
  background: var(--ct-color);
  border: var(--lab-border);
  border-radius: 12px;
  padding: 1.1rem 1.2rem 1.25rem;
  box-shadow: var(--lab-shadow-1);
}

.lab_dz_formular > label[for] {
  display: block;
  margin: 0.9rem 0 0.3rem;
  font-weight: 600;
  font-size: 0.92rem;
}

.lab_dz_formular > label[for]:first-of-type { margin-top: 0; }

.lab_dz_gruppe {
  border: 1px solid var(--lab-border-color);
  border-radius: 8px;
  padding: 0.7rem 0.9rem 0.8rem;
  margin: 0.9rem 0 0;
}

.lab_dz_gruppe legend {
  padding: 0 0.35rem;
  font-weight: 600;
  font-size: 0.9rem;
}

.lab_dz_wahl {
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  font-size: 0.92rem;
  margin: 0.3rem 1rem 0.15rem 0;
}

.lab_dz_zaehler {
  margin: 0.5rem 0 0;
  font-size: 0.85rem;
  color: var(--grey600-color);
}

.lab_dz_gruppe label[for] {
  display: block;
  margin: 0.55rem 0 0.2rem;
  font-size: 0.9rem;
  color: var(--grey600-color);
}

.lab_dz_gruppe select { width: auto; max-width: 100%; }

/* Aufgabentyp-Zeile: Wahl links, Anteilsregler rechts */

.lab_dz_typ {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  margin-top: 0.25rem;
}

.lab_dz_typ .lab_dz_wahl { flex: 1; margin: 0.15rem 0; }

.lab_dz_anteil {
  flex: 0 0 auto;
  width: 6.5rem;
  accent-color: var(--bt-color);
}

.lab_dz_anteil:disabled { opacity: 0.4; }

.lab_dz_anteil_anzeige {
  flex: 0 0 auto;
  min-width: 2.6rem;
  text-align: right;
  font-size: 0.85rem;
  font-variant-numeric: tabular-nums;
  color: var(--grey600-color);
}

.lab_dz_zeile {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  flex-wrap: wrap;
  margin-top: 0.9rem;
}

.lab_dz_zeile label {
  font-size: 0.9rem;
  color: var(--grey600-color);
}

.lab_dz_zeile select { width: auto; }

.lab_dz_meldung { margin-top: 0.9rem; }

/* ---------- KI & Austausch ---------- */

.lab_dz_ki summary {
  font-weight: 700;
  font-size: 0.9rem;
  cursor: pointer;
}

.lab_dz_ki_text {
  width: 100%;
  margin-top: 0.6rem;
  font-family: ui-monospace, "Cascadia Mono", Consolas, monospace;
  font-size: 0.82rem;
  white-space: pre;
}

.lab_dz_ki_knopf {
  display: flex;
  flex-wrap: wrap;
  gap: 0.4rem;
  margin-top: 0.6rem;
}

/* ---------- Vorschau ---------- */

.lab_dz_leiste {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  flex-wrap: wrap;
  margin-bottom: 0.8rem;
}

.lab_dz_leiste_text { font-size: 0.88rem; color: var(--grey600-color); }

.lab_dz_leiste .lab_btn { display: inline-flex; align-items: center; gap: 0.45rem; }

/* Pult: graue Unterlage für das Blatt (wie in der Rätsel-Werkstatt) */

.lab_dz_pult {
  background: var(--div-color);
  border: var(--lab-border);
  border-radius: 14px;
  padding: clamp(0.8rem, 3vw, 2rem);
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  justify-items: center;
}

/* Fortsetzungskopf auf Folgeseiten: kleiner Akzent-Strich + Titel */

.lab_dz_fortsetzung {
  display: flex;
  align-items: center;
  gap: 0.55rem;
  font-weight: 700;
  font-size: 0.95rem;
  margin: 0 0 1.1rem;
}

.lab_dz_fortsetzung::before {
  content: "";
  flex: 0 0 auto;
  width: 1.7rem;
  height: 4px;
  border-radius: 2px;
  background: var(--lab-tv-blatt-akzent);
  print-color-adjust: exact;
  -webkit-print-color-adjust: exact;
}

/* Antwortfelder (Vorschau und Exporte): kurze Antwortlinie mitten im
     Text (Artikel, Verben, ...) oder als ganze Zeile unter dem
     Wortkasten - dunkle Tinte, im S/W-Druck klar sichtbar. */

.lab_dz_antwort {
  display: inline-block;
  min-width: 5rem;
  margin: 0 0.15rem;
  border-bottom: 1.5px solid var(--lab-tv-blatt-text);
  height: 1.15rem;
  vertical-align: baseline;
}

.lab_dz_luecke { white-space: nowrap; }

/* Ganze Antwortzeile unter dem Wortkasten der Wortstellungs-Aufgaben. */

.lab_dz_antwort_zeile {
  display: block;
  min-width: 0;
  margin: 0.35rem 0 0;
}

/* Wortkasten der Wortstellungs-Aufgaben: die gemischten Bausteine
     stehen in Anfuehrungszeichen und leicht abgesetzt - im S/W-Druck
     bleibt er als kursiver Text klar vom Loesungssatz getrennt. */

.lab_dz_worte {
  margin: 0 0 0.35rem;
  font-style: italic;
}

/* Blattvorschau: der Stapel selbst ist transparent - JEDER Seite ist
     eigenes Papier in A4-Proportion (wie in der Textverarbeitung).
     Kurzer Inhalt bekommt die volle Blatthoehe, langer Inhalt waechst
     darueber hinaus. Gilt nur der Vorschau: Druck und Exporte
     verteilen die Seiten selbst. */

.lab_dz_blatt {
  background: none;
  border: 0;
  box-shadow: none;
  padding: 0;
  min-height: 0;
  width: min(100%, 49rem);
}

.lab_dz_seite {
  background: var(--lab-tv-blatt);
  color: var(--lab-tv-blatt-text);
  border: var(--lab-border);
  border-radius: 10px;
  box-shadow: var(--lab-shadow-1);
  padding: 1.7rem 1.9rem;
  min-height: 20rem;
  aspect-ratio: 0.707;
}

.lab_dz_seite + .lab_dz_seite { margin-top: 1.4rem; }

.lab_dz_blatt_leer {
  color: var(--grey600-color);
  text-align: center;
  padding: 4rem 1rem;
}

/* Eine Blattseite pro Variante (im Druck mit Seitenumbruch). */

.lab_dz_seite { break-after: page; }

.lab_dz_seite:last-of-type { break-after: auto; }

/* Auch die Lösungsseite ist ein eigenes Blatt. */

.lab_dz_loesung {
  background: var(--lab-tv-blatt);
  color: var(--lab-tv-blatt-text);
  border: var(--lab-border);
  border-radius: 10px;
  box-shadow: var(--lab-shadow-1);
  padding: 1.7rem 1.9rem;
  margin-top: 1.4rem;
  min-height: 20rem;
}

/* Blattkopf: helle Waschung mit Akzent-Kante, Titel links, Meta rechts.
     Die Waschung ist bewusst sehr hell - im S/W-Druck bleibt sie ein
     feines Grau und stoert nicht; Titel und Akzent bleiben dunkel. */

.lab_dz_blattkopf {
  margin: 0 0 1.3rem;
  text-align: left;
}

.lab_dz_kopfbox {
  background: var(--lab-tv-blatt-akzent-zart);
  border-left: 4px solid var(--lab-tv-blatt-akzent);
  border-radius: 10px;
  padding: 1rem 1.2rem 0.95rem;
  print-color-adjust: exact;
  -webkit-print-color-adjust: exact;
}

.lab_dz_kopfreihen {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 0.5rem 1.2rem;
  flex-wrap: wrap;
}

.lab_dz_titel {
  font-size: 1.55rem;
  font-weight: 700;
  line-height: 1.15;
  letter-spacing: 0.01em;
  margin: 0;
}

.lab_dz_variante {
  display: inline-block;
  border: 1.5px solid var(--lab-tv-blatt-akzent);
  color: var(--lab-tv-blatt-akzent);
  background: var(--lab-tv-blatt);
  border-radius: 999px;
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  padding: 0.12rem 0.7rem;
  margin-left: 0.55rem;
  vertical-align: 0.25em;
  white-space: nowrap;
  print-color-adjust: exact;
  -webkit-print-color-adjust: exact;
}

.lab_dz_untertitel {
  margin: 0.35rem 0 0;
  font-size: 0.9rem;
  color: var(--lab-tv-blatt-text);
  opacity: 0.68;
}

.lab_dz_fachklasse {
  margin: 0;
  font-size: 0.92rem;
  color: var(--lab-tv-blatt-text);
  opacity: 0.68;
  white-space: nowrap;
}

.lab_dz_namedatum {
  display: flex;
  justify-content: space-between;
  gap: 2.5rem;
  font-size: 0.95rem;
  margin: 0.9rem 0 0.2rem;
  text-align: left;
}

.lab_dz_namedatum span { flex: 1; border-bottom: 1.5px solid var(--lab-tv-blatt-text); padding: 0 0.4rem 0.18rem; }

/* ---------- Kopf-Stile: Waschung (Vorgabe) und weitere Varianten,
     modern (Akzentfarbe) und klassisch (reine Tinte). Alle Varianten
     behalten die Struktur (blattkopf > kopfbox > kopfreihen mit
     titel + fachklasse, untertitel) - nur die Optik der Kopfbox
     bzw. der Seite aendert sich. Papier bleibt weiss - im S/W-Druck
     bleibt alles lesbar (Muster der Rätsel-Werkstatt). ---------- */

/* Linie: Titel auf einer kräftigen Grundlinie, keine Waschung. */
.lab_dz_kopf_linie .lab_dz_kopfbox {
  background: none;
  border-left: 0;
  border-radius: 0;
  padding: 0.1rem 0 0.55rem;
  border-bottom: 2.5px solid var(--lab-tv-blatt-akzent);
}

/* Farbband: durchgehende Akzent-Flaeche, helle Schrift darauf. */
.lab_dz_kopf_band .lab_dz_kopfbox {
  background: var(--lab-tv-blatt-akzent);
  border-left: 0;
  border-radius: 10px;
  padding: 0.85rem 1.2rem 0.8rem;
}

.lab_dz_kopf_band .lab_dz_titel,
.lab_dz_kopf_band .lab_dz_fachklasse {
  color: var(--lab-tv-blatt);
  opacity: 1;
}

.lab_dz_kopf_band .lab_dz_untertitel {
  color: var(--lab-tv-blatt);
  opacity: 0.85;
}

.lab_dz_kopf_band .lab_dz_variante {
  border-color: var(--lab-tv-blatt);
  color: var(--lab-tv-blatt);
  background: transparent;
}

/* Schlicht: nur Schrift, keine Flaeche, keine Kante. */
.lab_dz_kopf_schlicht .lab_dz_kopfbox {
  background: none;
  border-left: 0;
  border-radius: 0;
  padding: 0.1rem 0 0;
}

/* Karte (modern): weisse Karte mit feiner Tinten-Kante und kurzem
   Akzent-Strich oben - klar und flach. */
.lab_dz_kopf_karte .lab_dz_kopfbox {
  background: none;
  border: 1.25px solid var(--lab-tv-blatt-text);
  border-radius: 10px;
  padding: 1rem 1.2rem 0.95rem;
  position: relative;
}

.lab_dz_kopf_karte .lab_dz_kopfbox::before {
  content: "";
  position: absolute;
  top: -1.25px;
  left: 1.2rem;
  width: 3.2rem;
  height: 4px;
  background: var(--lab-tv-blatt-akzent);
  print-color-adjust: exact;
  -webkit-print-color-adjust: exact;
}

/* Balken (modern): kraeftige Akzent-Leiste ueber dem Titel. */
.lab_dz_kopf_balken .lab_dz_kopfbox {
  background: none;
  border-left: 0;
  border-radius: 0;
  border-top: 7px solid var(--lab-tv-blatt-akzent);
  padding: 0.6rem 0 0.35rem;
  print-color-adjust: exact;
  -webkit-print-color-adjust: exact;
}

/* Doppellinie (klassisch): dicke Tintenlinie mit feiner Linie
   darunter - die klassische Schulbuch-Grundlinie. */
.lab_dz_kopf_doppellinie .lab_dz_kopfbox {
  background: none;
  border-left: 0;
  border-radius: 0;
  border-bottom: 3px solid var(--lab-tv-blatt-text);
  padding: 0.1rem 0 0.45rem;
  position: relative;
}

.lab_dz_kopf_doppellinie .lab_dz_kopfbox::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: -5px;
  height: 1.5px;
  background: var(--lab-tv-blatt-text);
  print-color-adjust: exact;
  -webkit-print-color-adjust: exact;
}

/* Kopfkasten (klassisch): Kopf im Doppelrahmen. */
.lab_dz_kopf_kopfkasten .lab_dz_kopfbox {
  background: none;
  border: 4px double var(--lab-tv-blatt-text);
  border-radius: 0;
  padding: 0.7rem 1.1rem 0.65rem;
}

/* Seitenrahmen (klassisch): feiner Doppelrahmen um die GANZE Seite
   (Klasse lab_dz_rahmenseite an der Blattseite, gesetzt in
   blattBauen), der Kopf selbst bleibt schriftlich wie "Schlicht". */
.lab_dz_kopf_rahmen .lab_dz_kopfbox {
  background: none;
  border-left: 0;
  border-radius: 0;
  padding: 0.1rem 0 0;
}

.lab_dz_rahmenseite {
  border: 4px double var(--lab-tv-blatt-text);
  border-radius: 0;
}

/* Titel-Ausrichtung Mitte: Kopfreihe stapelt, alles zentriert. */
.lab_dz_kopf_mitte { text-align: center; }

.lab_dz_kopf_mitte .lab_dz_kopfreihen {
  flex-direction: column;
  align-items: center;
}

.lab_dz_kopf_mitte .lab_dz_fachklasse { margin-top: 0.15rem; }

/* Kopfzeile: kleine Grossbuchstaben-Zeile ueber dem Titel
     (Schulname, Thema, ...). Auf dem Farbband hell statt gruen. */
.lab_dz_kopfzeile {
  margin: 0 0 0.3rem;
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--lab-tv-blatt-akzent);
  print-color-adjust: exact;
  -webkit-print-color-adjust: exact;
}

.lab_dz_kopf_band .lab_dz_kopfzeile { color: var(--lab-tv-blatt); }

/* Gruppen-Ueberschrift mit Anweisung in einfacher Sprache: Der Block
     traegt den Typ-Namen, darunter einen kurzen deutschen Satz und -
     wenn gewaehlt - klein die Hilfssprache. Aufgaben bleiben deutsch. */
.lab_dz_gruppe_titel {
  margin: 1.1rem 0 0.15rem;
  font-size: 1.02rem;
  font-weight: 700;
}

.lab_dz_anweisung {
  margin: 0.1rem 0 0;
  font-size: 0.95rem;
  font-weight: 600;
}

.lab_dz_anweisung_hilfe {
  margin: 0.05rem 0 0;
  font-size: 0.85rem;
  font-style: normal;
  /* Drucktext bleibt ausreichend dunkel; RTL betrifft nur die Hilfszeile. */
  unicode-bidi: isolate;
}

.lab_dz_beispiel {
  margin: 0.15rem 0 0.5rem;
  font-size: 0.85rem;
  opacity: 0.75;
}

/* Woerterbank: alle Loesungswörter als Hilfe fuer den Anfang. */
.lab_dz_woerterbank {
  margin-top: 1.2rem;
  padding: 0.6rem 0.9rem 0.55rem;
  border: 1px dashed var(--lab-tv-blatt-linie);
  border-radius: 8px;
}

.lab_dz_woerterbank_worte {
  margin: 0;
  font-size: 0.92rem;
  line-height: 1.7;
}

/* Schrift auf dem Blatt: normal, gross, sehr gross. */
.lab_dz_schrift_gross .lab_dz_aufgaben li { font-size: 1.15rem; }
.lab_dz_schrift_gross .lab_dz_anweisung { font-size: 1.05rem; }
.lab_dz_schrift_sehrgross .lab_dz_aufgaben li { font-size: 1.3rem; }
.lab_dz_schrift_sehrgross .lab_dz_anweisung { font-size: 1.15rem; }
.lab_dz_schrift_sehrgross .lab_dz_woerterbank_worte { font-size: 1.05rem; }

/* Aufgaben: Nummern als kleine Kreise mit Akzent-Rand - der Kreis
     bleibt im S/W-Druck als Umrandung erhalten, keine Flaeche nötig.
     Textaufgaben brauchen mehr Platz als kurze Rechnungen: Luft
     zwischen den Aufgaben und eine feste Grundlinie zum Reinschreiben. */

.lab_dz_aufgaben {
  margin: 1.2rem 0 0;
  padding: 0;
  list-style: none;
  column-gap: 2.8rem;
  column-rule: 1px solid var(--lab-tv-blatt-linie);
  counter-reset: aufgabe;
}

.lab_dz_aufgaben li {
  counter-increment: aufgabe;
  position: relative;
  margin: 0 0 1.2rem;
  padding-left: 2.1rem;
  break-inside: avoid;
  line-height: 1.55;
  font-size: 1.02rem;
}

.lab_dz_aufgaben li::before {
  content: counter(aufgabe);
  position: absolute;
  left: 0;
  top: 0.1rem;
  width: 1.5rem;
  height: 1.5rem;
  border: 1.5px solid var(--lab-tv-blatt-akzent);
  border-radius: 50%;
  color: var(--lab-tv-blatt-akzent);
  font-size: 0.82rem;
  font-weight: 700;
  line-height: 1.5rem;
  text-align: center;
  print-color-adjust: exact;
  -webkit-print-color-adjust: exact;
}

/* ---------- Ankreuz-Aufgaben (Multiple Choice) ---------- */

.lab_dz_optionen {
  display: flex;
  flex-wrap: wrap;
  gap: 0.3rem 1.1rem;
  margin-top: 0.35rem;
  font-size: 0.98rem;
}

.lab_dz_option {
  white-space: nowrap;
  letter-spacing: 0.02em;
}

/* ---------- Zusatz-Aufgaben (Zuordnung, Wortsuche, Salat) ---------- */

.lab_dz_zusatz {
  margin-top: 1.4rem;
  padding-top: 0.9rem;
  border-top: 1px dashed var(--lab-tv-blatt-linie);
}

.lab_dz_zusatz_titel {
  margin: 0 0 0.6rem;
  font-size: 0.8rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--lab-tv-blatt-akzent);
  print-color-adjust: exact;
  -webkit-print-color-adjust: exact;
}

/* Zuordnung: links die Fragen mit Schreiblinie, rechts der gemischte
   Antwort-Pool mit Buchstaben. Feine Grundlinien wie auf dem Blatt. */
.lab_dz_zuordnung {
  width: 100%;
  max-width: 34rem;
  border-collapse: collapse;
}

.lab_dz_zuordnung td {
  padding: 0.32rem 0.5rem;
  border-bottom: 1px solid var(--lab-tv-blatt-linie);
  vertical-align: bottom;
  line-height: 1.5;
  font-size: 0.98rem;
}

.lab_dz_zo_links { width: 58%; }

.lab_dz_zo_rechts {
  width: 42%;
  color: var(--lab-tv-blatt-text);
  white-space: nowrap;
}

/* Wortsuche: Wortzeile und Buchstabengitter, zentriert, gleichmaessige
   Kaestchen. Die Loesung markiert Treffer mit der zarten Akzentflaeche
   (bleibt auch im S/W-Druck sichtbar). */
.lab_dz_ws_woerter {
  margin: 0 0 0.7rem;
  font-size: 0.85rem;
  font-weight: 600;
  letter-spacing: 0.05em;
  line-height: 1.7;
}

.lab_dz_ws_gitter {
  margin: 0 auto;
  border-collapse: collapse;
}

.lab_dz_ws_gitter td {
  width: 1.55rem;
  height: 1.55rem;
  min-width: 1.55rem;
  border: 1px solid var(--lab-tv-blatt-linie);
  text-align: center;
  vertical-align: middle;
  font-size: 0.92rem;
  font-weight: 600;
  padding: 0;
}

.lab_dz_ws_treffer {
  background: var(--lab-tv-blatt-akzent-zart);
  print-color-adjust: exact;
  -webkit-print-color-adjust: exact;
}

.lab_dz_ws_loesung { margin-top: 0.6rem; }

/* Buchstabensalat: durcheinander gewuerfelte Buchstaben mit Punkt-
   Zwischenraum, Artikel als Hilfe in Grau. */
.lab_dz_salat {
  margin: 0;
  padding-left: 1.4rem;
}

.lab_dz_salat li {
  margin: 0 0 0.55rem;
  line-height: 1.6;
  font-size: 0.98rem;
}

.lab_dz_salat_buchstaben {
  font-weight: 600;
  letter-spacing: 0.1em;
}

.lab_dz_salat_artikel {
  color: var(--grey600-color);
  font-size: 0.85rem;
}

/* Loesungszeilen der Zusatz-Aufgaben. */
.lab_dz_loesungszeile {
  margin: 0.5rem 0 0.2rem;
  font-size: 0.92rem;
}

.lab_dz_loesungszeile + .lab_dz_ws_gitter { margin-top: 0.35rem; }

/* ---------- Lösungsseite ---------- */

.lab_dz_loesung { break-before: page; }

.lab_dz_loesung .lab_dz_aufgaben li { margin-bottom: 0.7rem; }

/* Die Loesung ersetzt die Luecke durch das Loesungswort in der
   Akzentfarbe - im S/W-Druck ein deutliches Mittelgrau, klar vom
   Aufgabentext unterschieden. */

.lab_dz_aufgaben strong {
  color: var(--lab-tv-blatt-akzent);
  print-color-adjust: exact;
  -webkit-print-color-adjust: exact;
}

.lab_dz_loesungsliste { font-size: 0.95rem; }

.lab_dz_loesungsblatt {
  font-size: 0.85rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--lab-tv-blatt-akzent);
  margin: 1.2rem 0 0.4rem;
}

.lab_dz_vorschau_aus { display: none; }

/* ---------- Blattfuss ---------- */

.lab_dz_blattfuss {
  display: flex;
  justify-content: space-between;
  gap: 1rem;
  border-top: 1px solid var(--lab-tv-blatt-linie);
  margin-top: 1.8rem;
  padding-top: 0.45rem;
  font-size: 0.75rem;
  letter-spacing: 0.04em;
  color: var(--lab-tv-blatt-text);
  opacity: 0.55;
}

/* ---------- Druck: A4 mit druckerfreundlichen Rändern ----------
     15 mm an allen Seiten bleiben auch bei Tintenstrahl- und
     Kopierern knapp ausserhalb des Papiervorschubs. */

@page {
  size: A4;
  margin: 15mm;
}

/* ---------- Druck ---------- */

@media print {
  .lab_kopf,
  .lab_dz_formular,
  .lab_dz_ki,
  .lab_dz_leiste { display: none !important; }

  /* Die Plattform-Hülle legt keinen Zusatzrand über den Papierrand:
     der Satzspiegel kommt allein aus der @page-Regel (15 mm). Die
     Kette wird zwingend auf die Papierbreite gestreckt - einzelne
     Druck-Engines behalten sonst Vorschau-Masse bei. */
  .lab_main,
  .lab_shell,
  .lab_dz_layout,
  .lab_dz_vorschau,
  .lab_dz_pult {
    display: block !important;
    width: auto !important;
    max-width: none !important;
    padding: 0 !important;
    margin: 0 !important;
  }

  .lab_dz_layout { display: block; margin: 0; }

  .lab_dz_pult {
    border: 0;
    border-radius: 0;
    padding: 0;
    background: none;
    display: block;
  }

  /* Papier-Optik und feste Blatthoehe sind nur Vorschau: im Druck
     liefert die Seite die Raender, jede Blattseite bricht sauber.
     Die Breite steht in Millimetern (180 mm = A4 minus 15 mm Rand),
     weil die Druckpipeline prozentuale/auto-Breiten im zentrierten
     Pult-Raster schrumpfen laesst - das Blatt blieb schmal. */
  .lab_dz_blatt,
  .lab_dz_seite,
  .lab_dz_loesung {
    width: 180mm !important;
    max-width: none !important;
  }

  .lab_dz_seite,
  .lab_dz_loesung {
    background: none;
    border: 0;
    box-shadow: none;
    border-radius: 0;
    padding: 0;
    margin: 0;
    min-height: 0;
    aspect-ratio: auto;
  }

  /* Seitenrahmen-Stil: den Doppelrahmen im Druck mitnehmen (die
     Basis-Regel darueber loescht alle Seiten-Rahmen); das innere
     Polster haelt den Inhalt vom Rahmen fern, die Mindesthoehe
     schliesst den Rahmen am unteren Satzend (2 mm Luft gegen
     Rundungs-Aufseiten). */
  .lab_dz_seite.lab_dz_rahmenseite,
  .lab_dz_loesung.lab_dz_rahmenseite {
    border: 4px double var(--lab-tv-blatt-text);
    border-radius: 0;
    padding: 2mm 3mm;
    min-height: 265mm;
    print-color-adjust: exact;
    -webkit-print-color-adjust: exact;
  }

  .lab_dz_blatt_leer { display: none; }

  .lab_dz_loesung { display: none; }

  .lab_dz_mit_loesung .lab_dz_loesung {
    display: block;
    break-before: page;
  }
}

/* Am PC ausfüllbare HTML-Exporte: Lückenfelder brauchen nur ihre
   kurze Zeile (der Export-Kern setzt 6.5 rem als Vorgabe). */

.bef_blatt .lab_dz_antwort input {
  width: 5rem;
}

/* Die Antwortzeile unter dem Wortkasten traegt den ganzen Satz. */

.bef_blatt .lab_dz_antwort_zeile input {
  width: 100%;
}
