/* ══════════════════════════════════════════════════════════════════════════
   KURDISCH-AKADEMIE · POLKA
   Gestaltungsschicht ueber style.css. Papier, Tinte, ein Rot — kantig,
   redaktionell. Wird nach style.css geladen und setzt deren Marken neu.
   ══════════════════════════════════════════════════════════════════════════ */
@import url('https://fonts.googleapis.com/css2?family=Playfair+Display:ital,wght@0,700;0,800;0,900;1,700&family=Inter:wght@400;500;600;700&display=swap');

:root{
  --rot:#ae151b; --rot-tief:#8b1015; --rot-hell:#c7262c; --rot-wasch:#f7e7e6;
  --papier:#f1efea; --papier-2:#e6e3dc; --papier-3:#d8d4cb; --weiss:#fcfbf9;
  --tinte:#141110; --tinte-2:#4a443e; --grau:#605a53;
  --schrift-display:"Playfair Display",'Iowan Old Style',Georgia,serif;
  --schrift-ui:"Inter",system-ui,-apple-system,"Segoe UI",sans-serif;
  --takt:220ms;

  /* Marken von style.css auf POLKA umlegen */
  --bg:var(--papier); --card:var(--weiss);
  --ink:var(--tinte); --ink-soft:var(--tinte-2); --muted:var(--grau);
  --accent:var(--rot); --accent-2:var(--rot-hell); --accent-soft:var(--rot-wasch);
  --accent-hover:var(--rot-tief); --good:#1f5d3a;
  --border:var(--papier-3); --chip:var(--papier-2);
  --shadow:none; --shadow-hover:none;
  --radius:0px; --radius-sm:0px;

  --riss:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1440 46' preserveAspectRatio='none'%3E%3Cpath fill='%23000' d='M0,46 L0,12.2 L18.6,7.4 L30.8,7.1 L35.6,28.7 L49.1,30.3 L67.2,24.3 L80.1,37.9 L90.5,31.3 L112.8,9.5 L131.1,13.2 L136.5,7.2 L155.8,14.3 L172.9,14.7 L194.7,19.5 L211.6,16.1 L231.9,11.6 L238.6,14.1 L246,35.6 L267.1,17.1 L278.1,19.4 L295.1,14.8 L320.3,15.2 L325.6,19.5 L351.9,21.9 L364.5,33.1 L372.3,36.8 L379.2,10.8 L402.7,7.6 L419,23 L442.3,11.4 L454.4,23.1 L461.8,9.4 L471,15.4 L480.9,6.1 L493.1,16.9 L512.6,15.9 L531.8,7 L553.2,22.9 L566,35.2 L571.4,7.3 L579.1,27.6 L586.4,8 L591,22.9 L598.3,10.9 L610.5,8.4 L636.7,15 L642.7,8 L652.6,22 L657.1,24.4 L664.4,33.9 L690.3,22.7 L700.2,13.1 L721.5,16.3 L732.8,10.3 L758.9,22.5 L781.2,20.3 L796.8,27.9 L807.1,11 L832.5,14.6 L858.6,24.4 L867.6,10.4 L876.2,18 L899,15.3 L920.9,7.6 L945.3,21.1 L960,9.4 L971.4,21.5 L984.3,13.7 L1004.5,29.4 L1028.8,21.6 L1051.3,24.9 L1063.2,27.8 L1088.9,18.5 L1113.8,14.4 L1136.3,10.1 L1146.9,10.6 L1156.7,38.5 L1168.6,14.8 L1192.9,14.1 L1208.1,16.3 L1212.5,14.5 L1216.6,21.4 L1231.2,20 L1242.5,16 L1264.1,8 L1273.7,11.3 L1289.1,16.8 L1313.5,14.6 L1328.8,15.9 L1342.9,16.3 L1368,19.5 L1393.1,11 L1418.3,29.1 L1432.2,7.4 L1437.8,18.9 L1440,12.2 L1440,46 Z'/%3E%3C/svg%3E");
}

html[data-theme="dark"]{
  --bg:#141110; --card:#1e1a18; --ink:#f1efea; --ink-soft:#cdc7bf; --muted:#a49c93;
  --border:#332d29; --chip:#241f1c; --accent:#c7262c; --accent-2:#d9a9a7;
  --accent-soft:#241a19; --accent-hover:#e8cccb;
}

/* ── Grundlagen ─────────────────────────────────────────────────────────── */
body{
  background-color:var(--papier); color:var(--tinte);
  font-family:var(--schrift-ui); font-size:17px; line-height:1.65;
  overflow-x:hidden;
}
html[data-theme="dark"] body{ background-color:var(--bg); color:var(--ink) }
img{ max-width:100% }
:focus-visible{ outline:3px solid var(--rot); outline-offset:3px }
.polka-rot :focus-visible, .site-header :focus-visible, .site-footer :focus-visible{ outline-color:#fff }

/* ── Typografie ─────────────────────────────────────────────────────────── */
h1, h2, .section-head h2, .page-header h1{
  font-family:var(--schrift-display); font-weight:900; text-transform:uppercase;
  line-height:.9; letter-spacing:-.018em; color:var(--tinte); hyphens:manual;
}
html[data-theme="dark"] h1, html[data-theme="dark"] h2{ color:var(--ink) }
h1{ font-size:clamp(1.75rem,5.4vw,4.4rem); margin:0 0 .35em; overflow-wrap:break-word }
h2{ font-size:clamp(1.4rem,3.4vw,2.9rem); margin:1.6em 0 .5em; border:0; padding:0; overflow-wrap:break-word }
h3{ font-family:var(--schrift-display); font-weight:800; letter-spacing:-.01em;
    font-size:clamp(1.15rem,1.9vw,1.5rem); line-height:1.15 }
h4,h5,h6{ font-family:var(--schrift-ui); font-weight:700; letter-spacing:.01em }
/* Kurdische Schrift behaelt ihren Satz */
.ku, .ku-big, .ku-small, .ku-inline, .ku-text, [lang="ckb"], [dir="rtl"]{
  font-family:"Noto Naskh Arabic","Scheherazade New",Tahoma,serif !important;
  text-transform:none !important; letter-spacing:0 !important;
}
.eyebrow, .ka-breadcrumb, .badge, .pill, .lbl{
  font-family:var(--schrift-ui); font-size:12px; font-weight:600;
  letter-spacing:.14em; text-transform:uppercase;
}
.prose p, .text p, .section-intro{ max-width:68ch; color:var(--tinte-2) }
html[data-theme="dark"] .prose p{ color:var(--ink-soft) }
a{ color:var(--rot); text-underline-offset:3px }
a:hover{ color:var(--rot-tief) }
html[data-theme="dark"] a{ color:var(--rot-hell) }

/* ── Kopfzeile ──────────────────────────────────────────────────────────── */
.site-header{
  background:var(--rot); color:#fff; border-bottom:0; box-shadow:none;
  backdrop-filter:none;
}
.site-header .container{ min-height:66px }
html[data-theme="dark"] .site-header{ background:var(--rot); border-bottom:0 }
.site-header a, .site-header button{ color:#fff }
.brand{ font-family:var(--schrift-display); font-weight:900; text-transform:uppercase;
        letter-spacing:.03em; font-size:19px; text-decoration:none; gap:12px }
/* Das Zeichen steht frei auf dem Rot — kein Kasten darunter. Die Maße im
   Markup sind quadratisch, das Zeichen ist es nicht: Höhe führt. */
.brand-mark{ background:none; padding:0; border-radius:0; box-shadow:none;
  width:auto; height:38px }
nav.main-nav ul{ gap:6px 20px; flex-wrap:wrap; justify-content:flex-end }
nav.main-nav a{
  font-family:var(--schrift-ui); font-size:14px; font-weight:500; color:#fff;
  text-decoration:none; padding:8px 2px; white-space:nowrap;
  border-bottom:2px solid transparent; border-radius:0; background:none;
  transition:border-color var(--takt);
}
nav.main-nav a:hover, nav.main-nav a.active, nav.main-nav a[aria-current="page"]{
  background:none; color:#fff; border-bottom-color:#fff;
}
nav.main-nav{ display:flex; align-items:center; gap:6px }
nav.main-nav ul{ order:-1; margin-right:16px }   /* Links vor die Knoepfe */
/* Kein display hier — style.css blendet den Klappknopf am Schreibtisch aus. */
.theme-toggle, .menu-toggle{
  background:none; border:0; border-radius:0; color:#fff;
  width:44px; height:44px; line-height:1; padding:0;
  align-items:center; justify-content:center;
  transition:background var(--takt);
}
.theme-toggle{ display:inline-flex }
/* Sonne/Mond schaltet style.css selbst um — hier nur die Groesse. */
.theme-toggle .sun, .theme-toggle .moon{ font-size:18px }
.theme-toggle:hover, .menu-toggle:hover{ background:rgba(255,255,255,.16) }
.brand span{ white-space:nowrap }
/* Die grosse Navigation traegt elf Punkte. Sie geht darum frueh in den
   Klappknopf, statt sich im Kopf auf vier Zeilen zu stapeln. */
@media (max-width:1180px){
  .menu-toggle{ display:block }
  nav.main-nav ul{
    display:none; position:absolute; top:100%; left:0; right:0;
    background:var(--rot-tief); flex-direction:column; gap:0;
    padding:8px clamp(20px,4vw,24px) 16px; border-bottom:0; box-shadow:none;
  }
  nav.main-nav ul.open{ display:flex }
  nav.main-nav ul li{ width:100%; padding:0 }
  nav.main-nav a{
    display:block; width:100%; padding:13px 0; color:#fff;
    border-bottom:1px solid rgba(255,255,255,.16);
  }
  nav.main-nav a:hover{ border-bottom-color:#fff }
  nav.main-nav a.kids-menu-link{
    background:none; border:1px solid rgba(255,255,255,.5); border-radius:0;
    animation:none; color:#fff; margin:8px 0; text-align:center; padding:11px 14px;
  }
}
@media (max-width:560px){
  .brand{ font-size:15px; letter-spacing:.02em }
  .brand-mark{ width:30px; height:30px }
}

/* ── Brotkrume ──────────────────────────────────────────────────────────── */
.ka-breadcrumb{ color:var(--grau); padding:22px 0 0 }
.ka-breadcrumb a{ color:var(--grau); text-decoration:none; border-bottom:1px solid var(--papier-3) }
.ka-breadcrumb a:hover{ color:var(--rot); border-bottom-color:var(--rot) }

/* ── Auftakt (Hero) ─────────────────────────────────────────────────────── */
.polka-auftakt{
  position:relative; isolation:isolate; overflow:hidden;
  background:var(--rot) !important; color:#fff;
  border:0; border-radius:0; box-shadow:none;
  padding:clamp(52px,7vw,104px) clamp(20px,4vw,56px) clamp(66px,8vw,120px);
  margin-block:0 clamp(34px,5vw,64px);
}
/* Auf roten Flaechen muss der Bestandstext weiss werden. Welche Kaesten
   darin einen eigenen hellen Grund haben, weiss nur die Laufzeit — polka.js
   markiert sie als .polka-hell, und die zweite Regel holt sie zurueck. */
.polka-weiss,
.polka-weiss :where(h1,h2,h3,h4,h5,p,span,strong,b,em,i,li,small,a,div,td,th,dt,dd,figcaption){
  color:#fff !important;
}
/* :where() haelt die Spezifitaet oben klein, damit diese Regel danach greift. */
.polka-hell,
.polka-hell :where(h1,h2,h3,h4,h5,p,span,strong,b,em,i,li,small,a,div,td,th,dt,dd,figcaption){
  color:var(--tinte) !important;
}
.polka-hell :is(a,.pill,.badge,.chip){ color:var(--rot) !important }
.polka-auftakt h1{
  /* Der untere Wert bleibt klein: lange Woerter wie SCHRIFTSTELLER laufen
     sonst auf schmalen Geraeten aus dem Kasten. */
  font-size:clamp(1.75rem,7.4vw,6.4rem); line-height:.88; margin:0 0 .3em; color:#fff;
  overflow-wrap:break-word; hyphens:auto;
}

/* Die kurdische Wendung im Auftakttitel bleibt zusammen. Auf
   `kurden-sprache.html` brach „زمان و زاراوەکان" mitten durch: „زمان" stand
   neben „SPRACHE & DIALEKTE", der Rest allein in der naechsten Zeile und
   linksbuendig — als waere er ein eigener Satz. Der Umbruch darf zwischen dem
   deutschen und dem kurdischen Teil liegen, nicht innerhalb des kurdischen. */
.polka-auftakt h1 :is(.ku, [lang="ckb"], bdi){ white-space:nowrap }
.polka-auftakt p{ color:rgba(255,255,255,.88); max-width:64ch }
.ka-hero-svg, .ph-emblem{ opacity:.14; mix-blend-mode:normal }
/* Papierkorn */
.polka-auftakt::before, .site-footer::before{
  content:""; position:absolute; inset:0; z-index:-1; opacity:.26; pointer-events:none;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='k'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3'/%3E%3C/filter%3E%3Crect width='180' height='180' filter='url(%23k)' opacity='.5'/%3E%3C/svg%3E");
}
/* Gerissene Papierkante unten */
.polka-riss{
  position:absolute; left:0; right:0; bottom:-1px; height:46px; z-index:4; pointer-events:none;
  background-color:var(--papier);
  -webkit-mask-image:var(--riss); mask-image:var(--riss);
  -webkit-mask-repeat:repeat-x; mask-repeat:repeat-x;
  -webkit-mask-size:1440px 46px; mask-size:1440px 46px;
}
html[data-theme="dark"] .polka-riss{ background-color:var(--bg) }
/* Zeitungssatz als Textur */
/* Titelband auf Seiten, die von Haus aus keine Auftaktflaeche haben (die
   Liedseiten). Es traegt denselben Satz wie die uebrigen Baender, faellt aber
   flacher aus: hier steht nur Titel und Beschreibung, kein Aufmacher. */
.polka-auftakt--titel{
  padding:clamp(34px,5vw,64px) clamp(20px,4vw,56px) clamp(46px,6vw,84px);
  margin-block:0 clamp(24px,4vw,44px);
}
.polka-auftakt--titel h1{ margin:0 0 .35em; font-size:clamp(1.9rem,4.4vw,3.1rem); line-height:1.06 }
.polka-auftakt--titel p{ margin:0; max-width:60ch }

/* ── Abschnittskopf der Uebungsseiten ───────────────────────────────────────
   Statt eines Emojis ein Bildplatz. Der kurdische Titel bleibt die Hauptzeile,
   der deutsche steht kleiner darunter — so wie die Koepfe vorher gelesen
   wurden, nur ohne Ikone. Fehlt das Bild, zeigt `.bild.fehlt` den Dateinamen;
   die Seite bleibt also ansehbar. */
/* Oben ausgerichtet und mit Luft: die kurdische Schrift hat tiefe
   Unterlaengen, mittig zentriert stiess sie an die Zeile darunter. */
.ueb-kopf{
  display:flex; align-items:flex-start; gap:clamp(12px,1.8vw,20px); flex-wrap:wrap;
  margin-block:0 clamp(14px,1.8vw,20px) !important; line-height:1.45;
}
.ueb-kopf__bild{ margin-top:2px }
.ueb-kopf__bild{ width:56px; height:42px; flex:none; border:1px solid var(--papier-3) }
.ueb-kopf__wort{ min-width:0; flex:1 1 12em }
.ueb-kopf__de{
  display:block; margin-top:7px;
  font-family:var(--schrift-ui); font-size:.62em; font-weight:600;
  letter-spacing:.1em; text-transform:uppercase; opacity:.72; line-height:1.3;
}
@media (max-width:560px){ .ueb-kopf__bild{ width:44px; height:33px } }

/* ── Fotoebene im Auftakt ────────────────────────────────────────────────────
   Liegt auf derselben Ebene wie der Zeitungssatz (z-index:-1): ueber der roten
   Flaeche, aber hinter dem Text. „Multiplizieren" statt „Luminanz" ist der
   entscheidende Punkt — so kann das Foto die Flaeche nur abdunkeln, nie
   aufhellen, und die weisse Schrift bleibt in jedem Fall lesbar. */
.polka-foto{
  position:absolute; inset:0; z-index:-1; width:100%; height:100%;
  object-fit:cover; filter:grayscale(1) contrast(1.05); opacity:.55;
  mix-blend-mode:multiply; pointer-events:none;
}
/* Wo ein Foto liegt, entfaellt der Zeitungssatz — beides zugleich waere
   unruhig. Die fliegenden Buchstaben bleiben: sie sind ausdruecklich
   gewuenscht und liegen mit .14 Deckung ueber allem. */
.polka-hat-foto .polka-zeitung{ display:none }

.polka-zeitung{
  position:absolute; inset:0; z-index:-1; padding:16px;
  font-size:3.1px; line-height:4.2px; letter-spacing:.02em; text-align:justify;
  columns:9; column-gap:9px; opacity:.3; user-select:none; pointer-events:none;
  color:#fff; overflow:hidden; word-break:break-word;
}
@media (max-width:900px){ .polka-zeitung{ columns:4 } }

/* ── Karten & Flaechen ──────────────────────────────────────────────────── */
.ka-card, .feature-card, .quiz-card, .ph-stat, .hero-stat, .toc, .info-box,
.ka-next-actions, .ka-learning-boost, .author-block{
  background:var(--weiss); border:1px solid var(--papier-3); border-radius:0;
  box-shadow:none; transition:border-color var(--takt), transform var(--takt);
}
html[data-theme="dark"] .ka-card, html[data-theme="dark"] .feature-card,
html[data-theme="dark"] .quiz-card, html[data-theme="dark"] .info-box{
  background:var(--card); border-color:var(--border);
}
.ka-card:hover, .feature-card:hover{ border-color:var(--rot); transform:none }
.pill, .badge, .word-chip, .chip{
  background:var(--papier-2); color:var(--tinte-2); border-radius:0;
  border:1px solid var(--papier-3);
}
.pill.secondary, .badge.secondary{ background:var(--rot); color:#fff; border-color:var(--rot) }

/* ── Schaltflaechen ─────────────────────────────────────────────────────── */
.btn, .btn-primary, .btn-outline, .btn-ghost{
  display:inline-flex; align-items:center; justify-content:center; gap:10px;
  min-height:52px; padding:0 30px; border-radius:0; box-shadow:none;
  font-family:var(--schrift-ui); font-size:14px; font-weight:600;
  letter-spacing:.06em; text-transform:uppercase; text-decoration:none;
  border:1.5px solid currentColor; background:transparent; color:var(--tinte);
  transition:background var(--takt), color var(--takt), border-color var(--takt);
}
.btn-primary{ background:var(--rot); border-color:var(--rot); color:#fff }
.btn-primary:hover{ background:var(--rot-tief); border-color:var(--rot-tief); color:#fff }
.btn-outline{ color:var(--rot); border-color:var(--rot) }
.btn-outline:hover{ background:var(--rot); color:#fff }
.btn-ghost{ border-color:transparent; color:var(--rot) }
.btn-ghost:hover{ border-color:var(--rot) }
.polka-auftakt .btn, .polka-auftakt .ka-btn{ color:#fff; border-color:#fff; background:transparent }
.polka-auftakt .btn:hover, .polka-auftakt .ka-btn:hover{ background:#fff; color:var(--rot) }

/* ── Tabellen ───────────────────────────────────────────────────────────── */
table{ border-collapse:collapse; border-radius:0 }
th{ background:var(--rot); color:#fff; font-family:var(--schrift-ui);
    font-size:12px; font-weight:700; letter-spacing:.12em; text-transform:uppercase;
    text-align:left; padding:12px 14px; border:0 }
td{ border-bottom:1px solid var(--papier-3); padding:12px 14px }
tr:hover td{ background:var(--rot-wasch) }
html[data-theme="dark"] td{ border-bottom-color:var(--border) }
html[data-theme="dark"] tr:hover td{ background:var(--chip) }

/* ── Fusszeile ──────────────────────────────────────────────────────────── */
body footer.site-footer{
  position:relative; isolation:isolate; overflow:hidden;
  background:var(--rot); color:#fff; border-top:0;
  padding-top:clamp(64px,8vw,110px);
}
body footer.site-footer a{ text-decoration:none; opacity:.86 }
.site-footer a:hover{ opacity:1; text-decoration:underline; text-underline-offset:4px }
.site-footer .copyright{ font-size:12px; letter-spacing:.08em; text-transform:uppercase; opacity:.82 }
.polka-fusswort{
  font-family:var(--schrift-display); font-weight:900; text-transform:uppercase;
  font-size:clamp(2.1rem,11vw,9.5rem); line-height:.82; text-align:right;
  margin:clamp(34px,5vw,70px) 0 0; white-space:nowrap; letter-spacing:-.02em;
}
.polka-fussstrich{ border-top:1px solid rgba(255,255,255,.34); margin-top:26px; padding-top:22px }
@media (max-width:820px){ .polka-fusswort{ text-align:left } }

/* ── Bewegung ───────────────────────────────────────────────────────────── */
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{ animation-duration:.01ms !important; transition-duration:.01ms !important }
}

/* ══════════════════════════════════════════════════════════════════════════
   Zweite Lage: die Formensprache des Musterbaus
   (fliegende Buchstaben, Bildebene, schärfere Bauteile)
   ══════════════════════════════════════════════════════════════════════════ */

/* ── Fliegende kurdische Buchstaben ─────────────────────────────────────── */
.polka-flug{
  position:absolute; inset:0; z-index:0; overflow:hidden; pointer-events:none;
  contain:strict;
}
.polka-buchstabe{
  position:absolute; line-height:1; color:#fff; opacity:.14;
  font-family:"Noto Naskh Arabic","Scheherazade New",Tahoma,serif;
  will-change:transform;
  animation:polka-schweben var(--dauer,26s) ease-in-out var(--warten,0s) infinite alternate;
}
@keyframes polka-schweben{
  from{ transform:translate3d(0,0,0) rotate(var(--dreh,0deg)) }
  to  { transform:translate3d(var(--x,18px),var(--y,-26px),0) rotate(calc(var(--dreh,0deg) + var(--dreh2,6deg))) }
}
/* Auf hellem Grund dunkel statt weiß */
.polka-flug--hell .polka-buchstabe{ color:var(--tinte); opacity:.07 }
@media (prefers-reduced-motion:reduce){
  .polka-buchstabe{ animation:none }
}

/* ── Bildebene ──────────────────────────────────────────────────────────── */
.polka-bild{ position:relative; background:var(--papier-2); overflow:hidden }
.polka-bild img{ width:100%; height:100%; object-fit:cover; display:block }
/* Der Platzhalter ist der Normalzustand und weicht erst, wenn ein Bild
   wirklich geladen ist. Andersherum bliebe die Fläche leer, solange die
   Anfrage noch läuft — faul geladene Bilder melden keinen Fehler. */
.polka-bild::after{
  content:attr(data-datei); position:absolute; inset:0; display:flex;
  align-items:center; justify-content:center; padding:14px; text-align:center;
  font-size:11px; letter-spacing:.1em; text-transform:uppercase; color:var(--grau);
  background:repeating-linear-gradient(135deg,var(--papier-2) 0 12px,var(--papier-3) 12px 24px);
}
.polka-bild img{ visibility:hidden }
.polka-bild.da::after{ display:none }
.polka-bild.da img{ visibility:visible }

/* Bildband unter dem Auftakt — dokumentarisch, entfärbt */
.polka-band{
  position:relative; height:clamp(190px,26vw,380px); margin:0 0 clamp(30px,4vw,56px);
  background:var(--papier-2); overflow:hidden;
}
.polka-band img{ filter:grayscale(1) contrast(1.06); object-position:50% 38% }
.polka-band .polka-riss{ z-index:3 }
/* Ohne rote Auftaktflaeche steht das Band frei im Satzspiegel — dann braucht
   es etwas Abstand nach oben und keine gerissene Kante nach unten. */
.polka-band--frei{ margin-top:clamp(16px,2.4vw,28px); height:clamp(150px,20vw,300px) }

/* Deckel: hochformatiges Bild, das in die rote Fläche ragt.
   Die Fläche bekommt dafür rechts Platz, sonst läuft der Text darunter. */
.polka-deckel{
  position:absolute; z-index:2; right:clamp(20px,3.5vw,56px); bottom:-30px;
  width:clamp(140px,13vw,208px); aspect-ratio:3/4;
  box-shadow:0 18px 44px rgba(20,17,16,.3); transform:rotate(-4deg);
}
.polka-hat-deckel{ padding-right:clamp(190px,17vw,300px) }
@media (max-width:1100px){
  .polka-deckel{ display:none }
  .polka-hat-deckel{ padding-right:clamp(20px,4vw,56px) }
}

/* ── Schärfere Bauteile nach dem Musterbau ──────────────────────────────── */
/* Abschnittsmarke: ein rotes Quadrat vor jeder zweiten Ebene */
.ka-wrap h2::before, .container > h2::before, section > h2::before{
  content:""; display:inline-block; width:.38em; height:.38em; margin-right:.42em;
  background:var(--rot); vertical-align:.12em;
}
.polka-auftakt h2::before{ background:#fff }

/* Aufklapptexte wie die Falze des Musterbaus */
details{ border-bottom:1px solid var(--papier-3); border-radius:0; background:none }
details > summary{
  display:flex; align-items:center; justify-content:space-between; gap:var(--s2,16px);
  padding:18px 4px; cursor:pointer; list-style:none;
  font-family:var(--schrift-ui); font-size:13px; font-weight:700;
  letter-spacing:.14em; text-transform:uppercase; color:var(--tinte);
}
details > summary::-webkit-details-marker{ display:none }
details > summary::after{
  content:""; width:11px; height:11px; flex:none;
  border-right:1.6px solid currentColor; border-bottom:1.6px solid currentColor;
  transform:rotate(45deg) translate(-3px,-3px); transition:transform var(--takt);
}
details[open] > summary::after{ transform:rotate(225deg) translate(-3px,-3px) }
html[data-theme="dark"] details{ border-bottom-color:var(--border) }
html[data-theme="dark"] details > summary{ color:var(--ink) }

/* Filterpillen: kantig, Rot beim Zustand.
   `.ex-tab` und `.tab` standen hier mit drin und sahen deshalb aus wie
   Filterpillen. Eine Reiterleiste ist aber keine Auswahl von Merkmalen,
   sondern eine Gliederung — und neun rote Pillen nebeneinander waren lauter
   als die Uebung darunter. Sie haben jetzt ihren eigenen Block. */
.pill, .chip, .word-chip, .ka-pill{
  min-height:42px; padding:0 18px; display:inline-flex; align-items:center;
  border-radius:0; border:1px solid var(--papier-3); background:var(--weiss);
  font-size:13px; font-weight:500; letter-spacing:0; text-transform:none;
  transition:background var(--takt), color var(--takt), border-color var(--takt);
}
.pill:hover, .chip:hover{ border-color:var(--rot); color:var(--rot) }
.pill[aria-pressed="true"], .chip[aria-pressed="true"]{
  background:var(--rot); border-color:var(--rot); color:#fff;
}

/* Mehr Luft zwischen den Ebenen, wie im Musterbau */
.ka-wrap > section, .container > section{ padding-block:clamp(40px,6vw,88px) }

/* ── Satzmass und Auftaktbreite wie auf den Naben ────────────────────────────
   Der Bestand klemmt `.container` per „wichtig" auf 1100 px, die Naben rechnen
   mit `--mass` (min(1400px, 92vw)) — die Uebungsseiten liefen darum sichtbar
   schmaler. Ebenfalls „wichtig", sonst sticht die Bestandsregel. */
.ka-wrap, .container{ max-width:var(--mass) !important }

/* Der Auftakt laeuft ueber die volle Breite wie `.rot-flaeche.held`, nicht als
   eingerueckte Karte. Die negative Aussenmarge holt ihn aus der Spalte heraus,
   der Innenabstand bringt den Text wieder auf das Satzmass. `body` traegt im
   Bestand `overflow-x:hidden`, es entsteht also kein Querlauf. */
/* „wichtig": manche Seiten setzen ihren Auftakt in einem eigenen Stilblock,
   der NACH polka.css steht (`.rega-hero` etwa gibt ihm Rahmen, runde Ecken und
   einen engen Innenabstand). Ohne das bliebe der Auftakt dort eine eingerueckte
   Karte, waehrend er auf allen anderen Seiten voll durchlaeuft. */
.polka-auftakt{
  margin-inline:calc(50% - 50vw) !important;
  padding-inline:max(4vw, calc(50vw - var(--mass) / 2)) !important;
  padding-block:clamp(48px,7vw,96px) clamp(96px,11vw,150px) !important;
  border:0 !important; border-radius:0 !important; box-shadow:none !important;
}
/* Das Titelband der Liedseiten bleibt flacher — dort steht nur der Titel. */
.polka-auftakt--titel{
  padding-block:clamp(34px,5vw,64px) clamp(46px,6vw,84px) !important;
}

/* Der Schreib-Trainer hat eine feste Zeichenflaeche von 320 px. Mit dem
   Innenabstand der Karte passt sie nicht in die Telefonspalte und wurde unter
   `body{overflow-x:hidden}` beschnitten. Skalieren waere falsch — die
   Zeichenkoordinaten haengen an der Pixelgroesse. Also rollt ihr Kasten. */
@media (max-width:560px){
  .write-canvas-wrap{ max-width:100%; overflow-x:auto }
}

/* ── Beiwerk der Bestandsseiten in POLKA-Form ────────────────────────────────
   Brotkrume, Rueckleiste und Hinweisband standen noch im alten Gewand: runde
   Ecken, Farbverlaeufe, Emoji als Schmuck. POLKA ist kantig und ruhig — hier
   wird das nachgezogen. Die Brotkrume trifft 1516 Seiten. */

/* Brotkrume wie `.krumen` auf den Naben: klein, gesperrt, versal. */
.ka-breadcrumb{
  display:flex; gap:10px; flex-wrap:wrap; align-items:baseline;
  font-family:var(--schrift-ui); font-size:11px; letter-spacing:.14em;
  text-transform:uppercase; color:var(--grau);
  padding-block:var(--s3); margin:0;
}
.ka-breadcrumb a{ color:var(--grau); text-decoration:none }
.ka-breadcrumb a:hover{ color:var(--rot) }
.ka-breadcrumb > span:last-child{ color:var(--tinte) }
/* Dunkelmodus: --tinte und --grau sind dort nicht umgestellt, das letzte Glied
   stand Tinte auf Tinte (Kontrast 1,0). Die Dunkel-Tokens --ink/--muted tragen es. */
html[data-theme="dark"] .ka-breadcrumb, html[data-theme="dark"] .ka-breadcrumb a{ color:var(--muted) }
html[data-theme="dark"] .ka-breadcrumb a:hover{ color:var(--accent-2) }
html[data-theme="dark"] .ka-breadcrumb > span:last-child{ color:var(--ink) }

/* Rueckleiste: kantig, duenne Tintenlinie statt farbigem Rahmen. */
.back-bar{
  border:0 !important; border-top:1px solid var(--papier-3) !important;
  border-bottom:1px solid var(--papier-3) !important;
  border-radius:0 !important; background:none !important;
  padding:12px 0 !important; margin:0 0 var(--s3) !important;
  font-family:var(--schrift-ui); font-size:12px; letter-spacing:.08em;
}
.back-bar a{ color:var(--tinte); text-decoration:none; font-weight:600 }
.back-bar a:hover{ color:var(--rot) }
.back-bar span{ color:var(--grau) !important; font-style:normal !important }

/* Der Auftakt schob seinen Farbverlauf in Dauerschleife hin und her und trug
   eine Reihe Emoji als Zierleiste. Beides ist unruhig und lenkt vom Text ab —
   die Flaeche liegt jetzt still, das Foto traegt sie. */
.polka-auftakt{ animation:none !important; background-size:auto !important }
.rega-hero::after{ content:none !important }

/* Hinweisband auf das Modulvideo. Das Abspieldreieck ist gezeichnet, nicht
   getippt — ein Emoji sieht auf jedem Geraet anders aus und laesst sich nicht
   einfaerben. Weiss auf Tiefrot liegt bei 7,2:1, der Beisatz bei 6,0:1. */
.ueb-hinweis{
  display:flex; align-items:center; gap:clamp(12px,2vw,22px);
  background:var(--rot); color:#fff; text-decoration:none;
  border:0; border-radius:0; padding:clamp(14px,2vw,20px) clamp(16px,2.4vw,26px);
  margin-block:var(--s2);
}
.ueb-hinweis__mal{
  width:34px; height:34px; flex:none; display:grid; place-items:center;
  border:1px solid rgba(255,255,255,.5);
}
.ueb-hinweis__mal::before{
  content:""; width:11px; height:12px; background:#fff;
  clip-path:polygon(0 0, 100% 50%, 0 100%);
}
.ueb-hinweis__wort{ min-width:0 }
.ueb-hinweis__wort strong{ display:block; font-size:15px; font-weight:600; line-height:1.35 }
.ueb-hinweis__wort > span{ display:block; font-size:13px; color:#f7e7e6; margin-top:3px }
/* Dieselbe Druckbewegung wie bei den uebrigen Handlungstasten. Vorher wechselte
   nur die Fuellung — auf rotem Grund lasen sich beide Zustaende als „helle
   Pille", der Unterschied fiel kaum auf. Jetzt rutscht die Taste sichtbar auf
   ihren Schatten. */
.ueb-hinweis__tat{
  margin-left:auto; flex:none; border:2px solid #fff; padding:9px 18px;
  font-size:12px; font-weight:600; letter-spacing:.14em; text-transform:uppercase;
  white-space:nowrap; box-shadow:3px 3px 0 rgba(255,255,255,.55);
  transition:background var(--takt), color var(--takt),
             transform var(--takt), box-shadow var(--takt);
}
.ueb-hinweis:hover .ueb-hinweis__tat,
.ueb-hinweis:focus-visible .ueb-hinweis__tat{
  background:#fff; color:var(--rot);
  transform:translate(3px,3px); box-shadow:0 0 0 rgba(255,255,255,0);
}
@media (prefers-reduced-motion:reduce){
  .ueb-hinweis__tat{ transition:none }
  .ueb-hinweis:hover .ueb-hinweis__tat{ transform:none }
}
@media (max-width:560px){
  .ueb-hinweis{ flex-wrap:wrap }
  .ueb-hinweis__tat{ margin-left:0 }
}

/* Merkzeichen im Auftakt: kantig statt rund, wie der uebrige Satz. */
.rega-hero .pill{ border-radius:0 !important; font-weight:600 !important; letter-spacing:.04em }

/* Klebende Fortschrittsleiste: kantig, Tintenlinie, roter Balken. Die fuenf
   Blatt-Emoji entfallen — Balken UND Zaehler zeigen dasselbe schon. Nur
   ausgeblendet, nicht entfernt: `#vineLeaves` haengt am Skript der Seite. */
.vine-bar{
  border:0 !important; border-top:1px solid var(--papier-3) !important;
  border-bottom:2px solid var(--tinte) !important;
  border-radius:0 !important; background:var(--papier) !important;
  padding:10px 0 !important;
}
.vine-bar .title{
  color:var(--tinte) !important; font-family:var(--schrift-ui);
  font-size:12px; font-weight:600; letter-spacing:.12em; text-transform:uppercase;
}
.vine-leaves{ display:none !important }
.vine-track{ border-radius:0 !important; height:6px !important; background:var(--papier-3) !important }
.vine-fill{ background:var(--rot) !important }
.vine-score{
  font-family:var(--schrift-display); font-style:italic; font-size:15px;
  color:var(--grau); font-variant-numeric:tabular-nums;
}

/* ── Mehr Leben in den Uebungsabschnitten ────────────────────────────────────
   Vierzehn gestreifte Platzhalter lasen sich wie Fehlermeldungen. Solange ein
   Bild fehlt, steht dort jetzt die Schrittzahl im Displaysatz — aus einem
   Mangel wird ein Gestaltungsmittel. Kommt das Bild, deckt es die Zahl zu. */
body{ counter-reset:schritt }
/* Drei Namen fuer dieselbe Karte: `step-card` auf der Musterseite, `step` auf
   den A1-Modulseiten, `exr` auf den spaeteren A2-Seiten. Die beiden letzten nur
   innerhalb einer Uebungsseite — `.step` heisst auf 101 Bestandsseiten etwas
   anderes, auf `arzt-besuch.html` etwa ein nummerierter Handgriff.

   Und auf den genauen Klassenwert, nicht auf das Wort: eine Uebung auf
   `a2-modul7` baut ihre Wortverwandlung aus `class="step s1"`. Das sind
   Zwischenschritte innerhalb einer Karte, keine Karten. */
[class="step-card"],
[data-uebung] [class="step"],
[data-uebung] [class="exr"]{ counter-increment:schritt }
.ueb-kopf__bild{
  position:relative; display:grid; place-items:center;
  background:var(--papier-2); border:1px solid var(--papier-3);
}
.ueb-kopf__bild::after{
  content:counter(schritt, decimal-leading-zero) !important;
  position:absolute; inset:0; display:grid !important; place-items:center;
  background:none !important; padding:0 !important;
  font-family:var(--schrift-display); font-style:italic; font-weight:400;
  font-size:20px; letter-spacing:0 !important; text-transform:none !important;
  color:var(--rot); opacity:.9;
}
.ueb-kopf__bild img{ position:relative; z-index:1 }
.ueb-kopf__bild.fehlt img{ visibility:hidden }

/* Kantig wie der uebrige Satz — runde Ecken mitten im Editorialsatz wirken
   weder warm noch scharf, nur unentschieden. */
.step-card, .step, .exr, .rega-hero, .ka-card, .ka-callout, .ka-module,
.ka-cert, .cert, .finale-banner{ border-radius:0 !important }

/* Jede Uebung als eigenes Blatt: heller Grund, oben eine rote Kante. Das gibt
   der Folge Takt, ohne neue Farben einzufuehren. */
[class="step-card"],
[data-uebung] [class="step"],
[data-uebung] [class="exr"]{
  background:var(--weiss) !important;
  border:1px solid var(--papier-3) !important;
  border-top:3px solid var(--rot) !important;
  padding:clamp(20px,2.6vw,30px) !important;
  margin-bottom:clamp(24px,3vw,38px) !important;
}

/* Die Schrittmarke im Displaysatz statt als Systemschrift-Pille. */
.step-num{
  border-radius:0 !important; background:none !important; color:var(--grau) !important;
  font-family:var(--schrift-ui) !important; font-size:11px !important;
  font-weight:600 !important; letter-spacing:.16em !important;
  text-transform:uppercase; padding:0 !important;
}

/* Die Typografieregel weiter oben setzt `color:var(--tinte)` auf jedes h1/h2.
   Als Elementregel sticht sie die Vererbung — in der roten Fusszeile standen
   „Lernen", „Sammlungen" und „Mehr" darum in Tinte auf Rot: 2,6:1. */
.fuss :where(h1,h2,h3,h4){ color:#fff }

/* Und dieselbe Regel zieht die Zeilenhoehe auf 0,9 — richtig fuer eine
   Schlagzeile in 46 px, falsch fuer die 12-px-Spaltentitel der Fusszeile:
   dort wird die Zeile flacher als die Schrift (10,8 px bei 12 px Schrift), und
   die Fusszeile war um 8 px niedriger als auf den neu gebauten Seiten. Die
   laden polka.css nicht, dort fiel es nie auf. */
/* Und dieselbe Regel setzt sie in die Displayschrift. Auf den neu gebauten
   Seiten stehen die Spaltentitel in Inter — 12 px, gesperrt, versal. Playfair
   in 12 px sieht daneben wie eine andere Fusszeile aus. */
.fuss__titel{ line-height:1.6; font-family:var(--schrift-ui) }

/* ── Schaltflaechen ──────────────────────────────────────────────────────────
   Zwei Bauformen nach hover.dev, auf die POLKA-Sprache gebracht. Die uebrigen
   dort (Splash, Shiny, Magnet, Spotlight …) waeren in einem Editorialsatz
   Fremdkoerper — diese beiden sind flach, kantig und kommen ohne Farbverlauf
   und ohne Leuchten aus. */

/* „Neubrutalism": flach, harte Kante, versetzter Schlagschatten. Beim Zeigen
   rutscht die Taste auf ihren Schatten — eine kleine Bewegung, die man als
   Druck liest.

   Nur noch fuer den Liedabspieler (`.ldr-btn`). `.ph-play-btn` und `.lab-play`
   standen frueher auch hier — die gibt es aber allein auf der Musterseite
   `uebungen-rega-a1`, und dort sahen 13 Knoepfe schwerer aus als die
   Abspielknoepfe aller uebrigen 26 Uebungsseiten (`rh-listen`, `dp-audio` …),
   die duenn gezeichnet sind. Eine Seite mit einer eigenen Tastenform ist keine
   Betonung, sondern ein Bruch. */
.ldr-btn{
  border-radius:0 !important;
  background:var(--weiss) !important; color:var(--tinte) !important;
  border:2px solid var(--tinte) !important;
  box-shadow:3px 3px 0 var(--tinte);
  transition:transform var(--takt), box-shadow var(--takt),
             background var(--takt), color var(--takt);
}
.ldr-btn:hover, .ldr-btn:focus-visible{
  background:var(--rot) !important; color:#fff !important;
  transform:translate(3px,3px); box-shadow:0 0 0 var(--tinte);
}
.ldr-btn:active{ transform:translate(3px,3px) }

/* „Draw Outline": zwei Linien laufen beim Zeigen um die Taste. Fuer die
   leisen Umschalter — sie sollen sich melden, nicht draengen. */
/* Die Schriftfarbe wird NICHT gesetzt, nur geerbt: ein Teil dieser Tasten
   sitzt auf dunklem Grund (der Tempo-Umschalter im Hoerlabor). Hart auf Tinte
   gestellt standen sie dort auf 1,0:1. */
[data-uebung] :is([class="step-card"],[class="step"],[class="exr"],.badge-zone) button:not(.ph-target):not(.pa-griff),
[data-uebung] :is([class="step-card"],[class="step"],[class="exr"],.badge-zone) .toggle-switch{
  position:relative; border-radius:0 !important;
  background:none !important; color:inherit !important;
  border:1px solid currentColor !important;
  /* Auch der Schatten muss weg: `.ph-play-btn` der Musterseite ist in ihrem
     eigenen Stilblatt eine rote Pille mit Schein (`box-shadow:0 4px 14px`).
     Ohne diese Zeile blieb der Schein stehen und die Taste sah weiter anders
     aus als auf den uebrigen 26 Uebungsseiten. */
  box-shadow:none !important;
}
[data-uebung] :is([class="step-card"],[class="step"],[class="exr"],.badge-zone) button:not(.ph-target):not(.pa-griff)::before,
[data-uebung] :is([class="step-card"],[class="step"],[class="exr"],.badge-zone) button:not(.ph-target):not(.pa-griff)::after{
  content:""; position:absolute; width:0; height:0; pointer-events:none;
  transition:width var(--takt), height var(--takt);
}
[data-uebung] :is([class="step-card"],[class="step"],[class="exr"],.badge-zone) button:not(.ph-target):not(.pa-griff)::before{
  top:-1px; left:-1px; border-top:2px solid var(--rot); border-left:2px solid var(--rot);
}
[data-uebung] :is([class="step-card"],[class="step"],[class="exr"],.badge-zone) button:not(.ph-target):not(.pa-griff)::after{
  bottom:-1px; right:-1px; border-bottom:2px solid var(--rot); border-right:2px solid var(--rot);
}
[data-uebung] :is([class="step-card"],[class="step"],[class="exr"],.badge-zone) button:not(.ph-target):not(.pa-griff):hover::before,
[data-uebung] :is([class="step-card"],[class="step"],[class="exr"],.badge-zone) button:not(.ph-target):not(.pa-griff):hover::after,
[data-uebung] :is([class="step-card"],[class="step"],[class="exr"],.badge-zone) button:not(.ph-target):not(.pa-griff):focus-visible::before,
[data-uebung] :is([class="step-card"],[class="step"],[class="exr"],.badge-zone) button:not(.ph-target):not(.pa-griff):focus-visible::after{
  width:calc(100% + 2px); height:calc(100% + 2px);
}

/* Die Wortziele bleiben rot gerahmt, nur kantig. */
.ph-target{ border-radius:0 !important }

@media (prefers-reduced-motion:reduce){
  .ldr-btn{ transition:none }
  .ldr-btn:hover{ transform:none }
}

/* Zwei belegte Kontrastfaelle aus dem Bestand.
   `.ldr-label` stand mit --rot-hell auf einer 14-%-Waschung bei 4,35:1.
   `--ink-dim` heisst „gedaempfte Tinte", trug aber einen Papierton (#d8d4cb)
   und lag als Schrift auf Weiss bei 1,43:1 — der Name sagt, was gemeint war. */
.ldr-label{ color:var(--rot) !important }
:root{ --ink-dim:#605a53 }

/* Eingebettet zeigt die Seite nur ihren Inhalt — Kopf, Navigation, Brotkrume,
   Rueckleiste und Fusszeile bleiben draussen. Damit laesst sich das
   Erklaervideo im Abschnitt zeigen, ohne die ganze Seite mitzuschleppen. */
.polka-eingebettet body{ background:var(--papier) }
/* Das Ausblenden uebernimmt polka.js — es kennt den Weg zum Abspieler und
   trifft damit auch Abschnitte, die es nur auf einzelnen Seiten gibt. Hier
   bleibt nur, was jede eingebettete Seite betrifft. */
.polka-eingebettet :is(header, footer, nav, .ka-mobile-nav){ display:none !important }
.polka-eingebettet #player{ margin:0 auto }

/* Der eingebettete Rahmen im Uebungsabschnitt. */
.ueb-rahmen{ margin:0 0 clamp(14px,2vw,20px); border:2px solid var(--tinte); background:var(--weiss) }
.ueb-rahmen[hidden]{ display:none }
/* Hoch genug fuer den Abspieler der eingebetteten Seite (622 px), sonst
   muesste man im Rahmen scrollen. */
.ueb-rahmen iframe{ display:block; width:100%; height:clamp(380px,52vw,660px); border:0 }

/* ── Senkrechtes Akkordeon ───────────────────────────────────────────────────
   Nach der Vorlage „Vertical Accordion" (hover.dev), in POLKA-Farben und ohne
   Framer Motion. Aufbau wie im Original: Griff und Tafel liegen als
   Geschwister in EINER Reihe. Die Griffe stehen fest, die geoeffnete Tafel
   waechst von 0 auf volle Breite — nicht die Tafel schrumpft, die Breite
   wandert. Auf dem Telefon dieselbe Bewegung in der Hoehe. */
.polka-akkordeon{
  display:flex; width:100%; height:clamp(320px,42vw,450px);
  border:2px solid var(--tinte); overflow:hidden;
  margin:clamp(14px,2vw,22px) 0; background:var(--weiss);
}

.pa-griff{
  position:relative; flex:0 0 auto; width:56px;
  display:flex; flex-direction:column; justify-content:flex-end; align-items:center;
  gap:16px; padding:12px 0; cursor:pointer;
  background:var(--weiss); color:var(--tinte);
  border:0; border-right:1px solid var(--papier-3);
  transition:background var(--takt);
}
.pa-griff:hover{ background:var(--papier) }
.pa-griff:focus-visible{ outline:2px solid var(--rot); outline-offset:-4px }
.pa-griff__wort{
  writing-mode:vertical-lr; transform:rotate(180deg); white-space:nowrap;
  font-family:var(--schrift-ui); font-size:13px; font-weight:500; letter-spacing:.1em;
}
/* Die Ikonenkachel wie im Original: quadratisch, volle Griffbreite, gefuellt. */
.pa-griff__mal{
  width:100%; aspect-ratio:1; flex:none; display:grid; place-items:center;
  background:var(--rot); color:#fff;
}
.pa-griff__mal::before{
  content:""; width:12px; height:13px; background:currentColor;
  clip-path:polygon(0 0, 100% 50%, 0 100%);
}
/* Die 45 Grad gedrehte Spitze am offenen Griff — sie zeigt in die Tafel. */
.pa-griff__spitze{
  position:absolute; z-index:2; width:14px; height:14px; opacity:0;
  background:var(--weiss);
  border-right:1px solid var(--papier-3); border-top:1px solid var(--papier-3);
  transform:rotate(45deg) translate(50%,50%);
  right:0; bottom:50%;
  transition:opacity var(--takt);
}
.pa-griff[aria-expanded="true"]{ background:var(--papier) }
.pa-griff[aria-expanded="true"] .pa-griff__spitze{ opacity:1; background:var(--papier) }

.pa-tafel{
  flex:0 0 0%; width:0; min-width:0; overflow:hidden;
  background:var(--tinte); display:grid; place-items:center;
  transition:flex-basis var(--takt) ease, width var(--takt) ease;
}
.pa-tafel--auf{ flex:1 1 auto; width:auto }
.pa-tafel > *{ width:100%; height:100%; border:0; display:block }
/* Der Ersatztext des Videos wird nur sichtbar, wenn der Browser nicht
   abspielen kann — auf der dunklen Tafel muss er hell sein. */
.pa-tafel video{ object-fit:contain; background:var(--tinte); color:var(--papier) }

@media (max-width:1024px){
  .polka-akkordeon{ flex-direction:column; height:auto }
  .pa-griff{
    width:100%; flex-direction:row-reverse; justify-content:flex-end;
    gap:14px; padding:10px 14px; border-right:0; border-bottom:1px solid var(--papier-3);
  }
  .pa-griff__wort{ writing-mode:horizontal-tb; transform:none }
  .pa-griff__mal{ width:26px; height:26px }
  .pa-griff__spitze{ right:50%; bottom:0; border:0;
    border-right:1px solid var(--papier-3); border-bottom:1px solid var(--papier-3);
    transform:rotate(45deg) translate(50%,50%) }
  .pa-tafel{ flex:0 0 0; width:100%; height:0;
    transition:height var(--takt) ease }
  .pa-tafel--auf{ flex:0 0 auto; height:clamp(220px,58vw,320px) }
}
@media (prefers-reduced-motion:reduce){
  .pa-tafel, .pa-griff, .pa-griff__spitze{ transition:none }
}


/* `.lbl` steht in POLKA fuer eine Beschriftung: klein, gesperrt, versal (Zeile
   61, zusammen mit `.eyebrow`, `.badge`, `.pill`). Auf der Nuancen-Skala
   (a1-modul11) heisst so aber ein ganzes Wort — „leidenschaft" misst versal und
   gesperrt 103 px statt 80. Fuenf solcher Woerter auf einem Balken ruecken dann
   ineinander. Dort gilt der Satz der Seite. */
[data-uebung] .scale-mark .lbl{ text-transform:none !important; letter-spacing:0 !important }

/* ── Enge Stellen auf dem Telefon ────────────────────────────────────────────
   Neun der 27 Uebungsseiten waren bei 375 px breiter als der Schirm — Bestand,
   nicht durch den Umbau entstanden. Der Rumpf schneidet ab, was hinausragt: die
   Stelle ist dann nicht knapp, sondern unerreichbar.

   Eine Sammelregel waere geraten gewesen; jede Uebung hat ihren eigenen Grund.
   Darum steht hier jede einzeln, mit dem Grund dabei. Wo ein Streifen von Natur
   aus lang ist (Zeitachse, Fahrzeugreihe, Stadtplan), wird er schiebbar — und
   zwar am umgebenden Kasten, damit dessen Rahmen stehen bleibt. Wo etwas nur
   nicht schrumpfen wollte, wird ihm das Schrumpfen erlaubt. */
@media (max-width:700px){

  /* Zeitachse (a1-modul7), Stadtplan (a1-modul9), Fliessband (a2-modul2),
     Nuancen-Skala (a1-modul11, deren Marken absolut auf dem Balken sitzen und
     darum mitwandern muessen). */
  [data-uebung] :is(.time-arena, .city-arena, .kk-arena, .nuance-arena){
    overflow-x:auto; overscroll-behavior-x:contain;
  }
  /* Die Skala braucht ein Mindestmass, sonst schieben sich ihre fuenf Marken
     ineinander statt zu wandern: „leidenschaft" allein misst rund 75 px. */
  [data-uebung] .scale-bar{ min-width:360px }

  /* Jahreszeitenrad (a1-modul12): fest 300 px in einem 255 px breiten Feld.
     Schiebbar waere hier falsch — ein angeschnittener Kreis sieht kaputt aus,
     nicht verschoben. `zoom` verkleinert auch das Kaestchen, anders als
     `transform`; die vier Ablagefelder sitzen in Pixeln am Rand und wandern
     darum richtig mit. */
  [data-uebung] .season-wheel{ zoom:.82 }

  /* Die Fahrzeugreihe ist selbst der Streifen — hier gibt es keinen Kasten
     darum, den man verschonen muesste. */
  [data-uebung] .car-row{ overflow-x:auto; overscroll-behavior-x:contain }

  /* Uhrzeit-Uebung (a2-modul8): die Spalte hiess `1fr`, wurde aber 365 px
     breit. Ein Rasterfeld hat `min-width:auto` und schrumpft nicht unter seinen
     Inhalt; `minmax(0,1fr)` hebt das auf. Die Eingabezeile darf umbrechen. */
  [data-uebung] .clock-zone{ grid-template-columns:minmax(0,1fr) !important }
  [data-uebung] .clock-input{ flex-wrap:wrap }

  /* Dialog-Ordnen (a1-modul6): zwei Spalten zu je 160 px in einem 203 px
     breiten Feld. Auf dem Telefon untereinander — Ziehen und Ablegen
     funktioniert gestapelt genauso. */
  [data-uebung] .dialog-area > div{ grid-template-columns:1fr !important }

  /* Moebel-Detektiv (a2-modul3): eine Zeile Sinnbilder in 3,5em. Kleiner
     gesetzt und umbrechbar. */
  [data-uebung] .scene{ font-size:2em; overflow-wrap:anywhere }

  /* دەدەم-Fabrik (a2-modul3): der groesste Uebeltaeter der Familie war
     unsichtbar. An jedem Wortteil haengt ein Sprechblasen-Hinweis
     (`.part::after`, `white-space:nowrap`), der nur beim Zeigen erscheint —
     `opacity:0` nimmt ihm die Sicht, nicht den Platz. 287 px an einem 59 px
     breiten Wortteil, macht 121 px Ueberhang. Er darf jetzt umbrechen.
     (Auf dem Telefon gibt es ohnehin kein Zeigen; entfernt ist er trotzdem
     nicht — an einem schmalen Fenster am Rechner bleibt er brauchbar.) */
  [data-uebung] .part::after{ white-space:normal; width:max-content; max-width:180px }
  /* Und der Kasten klammert, was seitlich uebersteht. `clip` nur in der
     Waagerechten — senkrecht muss die Blase weiter herausragen duerfen, sie
     erscheint ueber dem Wort. Mit `vw` gerechnet ginge das schief: bei
     Ueberlauf weitet sich der Layout-Bereich, die Blase waechst mit und
     vergroessert den Ueberlauf, den sie verursacht hat. */
  [data-uebung] .dd-explain{ overflow-x:clip; overflow-y:visible }
}

/* ── Kopf: keine Umfaerbung beim Zeigen ──────────────────────────────────────
   Die Bestandsseiten setzen ein allgemeines `a:hover{color:var(--primary-green)}`.
   Seit das Gruen aus der Palette ist, steht dort Dunkelrot — und das faerbte
   auch die Verweise im roten Kopf um: `#8b1015` auf `#ae151b` sind 1,5:1, die
   Schrift verschwindet unter dem Zeiger. Auf den neu gebauten Seiten bleibt sie
   weiss und nur die Unterkante erscheint. So soll es ueberall sein.

   Am Kopf festgemacht, nicht global: im Fliesstext ist eine Umfaerbung beim
   Zeigen richtig. */
.kopf a:hover, .kopf a:focus-visible,
.kopf__nav a:hover, .kopf__nav a:focus-visible,
.kopf__marke:hover, .kopf__marke:focus-visible{
  color:#fff !important;
}
.kopf__nav a:hover, .kopf__nav a:focus-visible{
  border-bottom-color:currentColor !important;
}
.kopf__marke:hover, .kopf__marke:focus-visible{
  border-bottom-color:transparent !important;
}

/* Dasselbe unten. Die Fusszeile ist ebenfalls rot, und dasselbe
   `a:hover{color:var(--primary-green)}` der Bestandsseiten faerbte auch ihre
   Verweise dunkelrot — 1,5:1. Meine erste Fassung hatte nur den Kopf
   festgemacht; der Fehler blieb im Fuss stehen und war beim Messen unsichtbar,
   weil die Fusszeile unter dem Sichtfenster liegt und der Mauszeiger sie nie
   traf. Auf den neu gebauten Seiten bleibt die Schrift weiss und bekommt eine
   Unterstreichung — so soll es ueberall sein. */
.fuss a:hover, .fuss a:focus-visible,
.site-footer a:hover, .site-footer a:focus-visible{
  color:#fff !important;
  text-decoration:underline !important;
}

/* ── Nur eine Navigation ─────────────────────────────────────────────────────
   921 Bestandsseiten tragen unten eine zweite, feste Leiste mit vier
   Emoji-Verweisen (Dashboard, Lernweg, Suche, Ueben). Die neu gebauten Seiten
   haben sie nicht, und der Burger im Kopf fuehrt zu allen neun Zielen — zwei
   Navigationen nebeneinander sind eine zu viel, und die Leiste widerspricht dem
   Satz der Seite (Emoji, runde Ecken, eigene Farbwelt).

   Mit ihr faellt der Platz weg, den sie sich am Fuss reserviert hatte: auf den
   Seiten, die sie gar nicht rendern, stand dort ein leerer Streifen von 62 px. */
.ka-mobile-nav{ display:none !important }
@media (max-width:720px){ body{ padding-bottom:0 !important } }


/* ── Kein Einladungsband zur App ─────────────────────────────────────────────
   207 der 1632 Bestandsseiten bauen per `pwa-install.js` ein schwebendes Band
   „Als App installieren". Auf den neu gebauten Seiten gibt es das nicht, und
   es legt sich ueber die Fusszeile: auf `uebungen-rega-a1-modul3` verdeckte es
   „Der Lernweg A1–C2" und „Lieder & Dichtung".

   Die Funktion geht nicht verloren — `install-app.html` bietet sie weiter an
   und steht in der Fusszeile. Was wegfaellt, ist das ungefragte Band auf jedem
   achten Aufruf. */
.pwa-install-banner{ display:none !important }

/* Das Videoband wird zur Laufzeit unter den Auftakt geschoben und landet dabei
   in wechselnden Eltern — mal in einem `.container` mit Polster, mal frei. Das
   `.bahn` darin misst sich aber am Sichtfenster (`100vw`) und wurde so breiter
   als sein Elternteil: 345 px in einem 297 px breiten Abschnitt, 10 px davon
   ragten aus der Seite. Es darf nie ueber den Platz hinaus, den es bekommt. */
.polka-videoband .bahn{ width:auto; max-width:100% }

/* Fliegende Buchstaben nur ueber dem allgemeinen Bereichsbild. Wo eine Seite
   ihr eigenes, komponiertes Banner traegt (Bordüre, Landschaft, Gegenstaende),
   stoeren sie: auf dem Wetterpanorama von Modul 12 lagen ک, ی, و und ن quer
   ueber Regenbogen und Bergen. */
.polka-eigenes-bild .polka-flug{ display:none !important }

/* Die runde Plakette im Auftakt der A1-Řêga-Module. Sie sitzt auf 14 Seiten,
   traegt eine gezeichnete Pflanze in einem Kreis und sagt nichts, was der
   Titel nicht schon sagt — ueber einem komponierten Banner ist sie ein
   Fremdkoerper. Weg, und die Reihe dahinter wird einspaltig, sonst bliebe eine
   leere Spalte stehen und der Text waere eingerueckt.

   Als Regel, nicht als Schnitt im Markup: so laesst es sich mit einer Zeile
   zuruecknehmen. */
[data-uebung] .rega-icon{ display:none !important }
[data-uebung] .rega-hero .row{ grid-template-columns:1fr !important }

/* ── Grund unter der Risskante ───────────────────────────────────────────────
   Die Risskante wird in Papierton gezeichnet, weil das der Grundton der Seite
   ist. `uebungen-rega-a1.html` legt darunter aber einen eigenen Verlauf von
   Fast-Weiss (#FCFBF9) nach Papier — ein Rest der alten Gestaltung. Die Kante
   stand dadurch als grauer Streifen auf hellem Grund, mit sichtbarer Naht.
   Der Verlauf faellt weg; der Bestand im dunklen Thema bleibt unberuehrt, denn
   `[data-theme="dark"] .rega-page` ist enger gefasst als diese Regel. */
.rega-page{ background:var(--papier) }

/* ── Auftakt der Uebungsmodule ───────────────────────────────────────────────
   Die Kopfzeile „A1 · Řêga · Modul 6 · Im Restaurant" wird nicht hier
   ausgeblendet, sondern in polka.js: sie traegt auf den 106 Modulseiten drei
   verschiedene Klassennamen, und dieselben Klassen stehen auf 274 anderen
   Seiten fuer eine Bereichsangabe, die bleiben soll („Audio · Hoer-Training").
   Unterscheiden laesst sich das nur am Text — und Text sieht CSS nicht. */

/* Das freigestellte Auftaktbild sitzt rechts, nicht in der Mitte: der Text
   steht links, und mittig lag das Motiv hinter der Schrift statt neben ihr.

   `contain` statt `cover`: so bildet die Bildflaeche eins zu eins auf den
   Auftakt ab, und die Lage des Motivs in der Datei ist auch die Lage auf der
   Seite. Mit `cover` nahm ein breiter Schirm oben und unten je ein Sechstel
   weg — genau dort, wo die Koepfe sind. Was neben dem Bild frei bleibt, ist
   ohnehin rot; das Motiv steht frei, es fehlt nichts.

   Auf dem Telefon bleibt es bei `cover`: dort ist der Auftakt hoch und
   schmal, ein eingepasstes 3:1-Bild waere nur noch ein Streifen. */
/* Tafeln: rechtsbuendig beschneiden, das leere Papier links darf fallen. */
.polka-tafel .polka-foto,
.polka-tafel .held__foto{ object-position:100% 50% }

@media (min-width:721px){
  .polka-bild-frei .polka-foto,
  .polka-bild-frei .held__foto{ object-fit:contain; object-position:100% 50% }
}

/* ── Uebungsseiten: eine Form fuer alle ──────────────────────────────────────
   57 Uebungsseiten tragen dieselbe Bauform — Reiterleiste, Punktezeile,
   Aufgabenkarten, Antworttasten, Rueckmeldung, Zuordnungspaare. Sie stand
   bisher in der eigenen `<style>`-Anweisung jeder Seite und war dort ueberall
   gleich gebaut: runde Ecken, rosa Fuellungen, farbige Kaesten. Hier steht sie
   einmal, im Satz der uebrigen Seite: Papierton, Haarlinien, 4 px Radius,
   Tiefrot als einziger Akzent.

   polka.css wird nach dem `<style>` der Seiten geladen und gewinnt darum bei
   gleicher Spezifitaet — das Markup der Bestandsseiten bleibt unangetastet. */

/* Reiter: Unterstrich statt Fuellung */
.ex-tabs{
  display:flex; flex-wrap:wrap; gap:2px; margin:26px 0 18px; padding:0 0 1px;
  background:none; border:0; border-bottom:1px solid rgba(20,17,16,.12);
  border-radius:0; box-shadow:none;
}
.ex-tabs .ex-tab{
  min-height:0; padding:11px 14px 10px; cursor:pointer;
  border:0; border-bottom:2px solid transparent; background:transparent;
  color:var(--grau); border-radius:0; font-size:13px; font-weight:500;
  display:flex; align-items:center; gap:7px;
  transition:color var(--takt), border-color var(--takt);
}
.ex-tabs .ex-tab:hover{ color:var(--tinte); border-bottom-color:rgba(20,17,16,.25) }
.ex-tabs .ex-tab.active{
  background:none; border-color:transparent; border-bottom:2px solid var(--rot);
  color:var(--tinte); font-weight:700;
}
.ex-tabs .ex-tab .badge{
  background:none; color:var(--grau); padding:0; border-radius:0;
  font-size:11px; font-weight:600; font-variant-numeric:tabular-nums;
}
.ex-tabs .ex-tab.active .badge{ color:var(--rot) }

/* Punktezeile: eine Linie mit Balken statt eines farbigen Kastens */
.scorebar{
  display:flex; gap:18px; align-items:center; background:none; border:0;
  border-bottom:1px solid rgba(20,17,16,.10); border-radius:0;
  padding:0 0 14px; margin-bottom:20px; flex-wrap:wrap;
  font-size:12px; letter-spacing:.1em; text-transform:uppercase; color:var(--grau);
}
.scorebar b{ color:var(--tinte); letter-spacing:0 }
.scorebar .progress{
  flex:1; height:4px; min-width:120px; background:rgba(20,17,16,.10);
  border-radius:2px; overflow:hidden;
}

/* Aufgabenkarte und Einleitung */
.q-card{
  background:var(--weiss); border:1px solid rgba(20,17,16,.10);
  border-radius:4px; padding:clamp(18px,2.2vw,26px); margin-bottom:14px;
}
.ex-intro{
  background:none; border:0; border-left:3px solid var(--rot);
  border-radius:0; padding:2px 0 2px 18px; margin-bottom:24px;
  color:var(--grau); font-size:14px; line-height:1.65;
}

/* Antworttasten: gefuelltes Rot heisst richtig, Zuruecknahme heisst falsch */
.opt-grid button{
  padding:14px 16px; font-size:15px; line-height:1.4; border-radius:4px;
  border:1px solid rgba(20,17,16,.14); background:var(--papier);
  cursor:pointer; text-align:left; font-family:inherit;
  transition:background var(--takt), border-color var(--takt), color var(--takt);
}
.opt-grid button:hover:not(:disabled){ border-color:var(--rot); background:var(--weiss) }
.opt-grid button.right{ background:var(--rot); border-color:var(--rot); color:#fff; font-weight:600 }
.opt-grid button.wrong{
  background:var(--papier); border-color:rgba(20,17,16,.35);
  color:var(--grau); text-decoration:line-through;
}

/* Rueckmeldung */
.fb{
  margin-top:14px; font-size:14px; padding:11px 14px;
  border-radius:4px; border-left:3px solid var(--rot);
}
.fb.ok{ background:var(--papier); color:var(--tinte); border-left-color:var(--rot) }
.fb.no{ background:var(--papier); color:var(--tinte); border-left-color:var(--tinte) }

/* Zuordnen */
.match-item{
  padding:13px 16px; background:var(--papier);
  border:1px solid rgba(20,17,16,.14); border-radius:4px; margin-bottom:8px;
  cursor:pointer;
  transition:background var(--takt), border-color var(--takt), color var(--takt);
}
.match-item:hover{ border-color:var(--rot); background:var(--weiss) }
.match-item.selected{
  border-color:var(--rot); background:var(--weiss);
  box-shadow:inset 3px 0 0 var(--rot); outline:none;
}
/* Erledigt heisst ruhig, nicht laut: ein gefuelltes Rot mit halber Deckkraft
   sah aus wie ein Fehler, nicht wie ein geloestes Paar. */
.match-item.matched{
  background:var(--papier); border-color:rgba(20,17,16,.12); color:var(--grau);
  cursor:default; opacity:1; box-shadow:inset 3px 0 0 var(--rot);
}


/* ── Modulkopf unter dem Auftakt ─────────────────────────────────────────────
   polka.js holt Umschrift, Einfuehrungstext und die drei Schaltflaechen aus
   der roten Flaeche heraus und legt sie hierher. Auf dem Banner standen sie
   weiss auf einem Bild und waren schwer zu lesen; hier stehen sie in Tinte auf
   Papier, in Lesebreite, und das Bild bleibt Bild. */
.polka-modulkopf{
  background:var(--papier);
  /* Knapp oben: darueber steht schon die Rueckleiste, die ihren eigenen
     Abstand mitbringt. Zwei grosse Abstaende hintereinander reissen den
     Zusammenhang zwischen Modulnamen und Umschrift auseinander.
     „wichtig", weil `.container > section` weiter oben pauschal
     `padding-block:clamp(40px,6vw,88px)` setzt — bei 1280 px waren das
     77 px allein ueber der Umschrift. */
  padding:clamp(12px,1.6vw,22px) 0 clamp(10px,1.6vw,22px) !important;
}
/* `.bahn` setzt `width:var(--mass)` — das ist richtig, wenn der Block direkt
   im Seitenkoerper steht. Hier steht er in einem `.container`, der schon auf
   `--mass` geklemmt ist; zwei Rails uebereinander schoben den Text bei 375 px
   ueber den rechten Rand. Dieselbe Stelle wie beim Videoband (bug-390). */
.polka-modulkopf__bahn{ width:auto; max-width:100%; padding-inline:0 }
/* Die Umschrift gehoert zum Titel, nicht zum Text: klein, kursiv, zurueck-
   genommen — eine Angabe zur Aussprache, keine zweite Ueberschrift. */
.polka-modulkopf .lat-title{
  margin:0 0 clamp(14px,1.8vw,22px);
  font-family:var(--schrift-display); font-style:italic;
  font-size:clamp(1.05rem,1.9vw,1.35rem); line-height:1.35;
  color:var(--rot); letter-spacing:.01em;
}
.polka-modulkopf p{
  margin:0 0 1.1em; max-width:68ch;
  font-size:clamp(1rem,1.15vw,1.08rem); line-height:1.75; color:var(--tinte);
}
.polka-modulkopf p:last-of-type{ margin-bottom:0 }
.polka-modulkopf .ku{ color:var(--rot) }
/* Die drei Schaltflaechen als ruhige Reihe, abgesetzt durch eine Haarlinie. */
.polka-modulkopf .meta{
  display:flex; flex-wrap:wrap; gap:10px; align-items:center;
  margin-top:clamp(22px,2.6vw,32px); padding-top:clamp(18px,2.2vw,26px);
  border-top:1px solid rgba(20,17,16,.12);
}
.polka-modulkopf .meta .pill,
.polka-modulkopf .meta a{ text-decoration:none }

/* Der Auftakt traegt jetzt nur noch die Ueberschrift und braucht deshalb ein
   Mindestmass — sonst schrumpft er auf zwei Zeilen und das Banner verschwindet. */
/* Dasselbe Mass wie der Auftakt der Naben (bibliothek.html misst 517 px bei
   1280): der Modulauftakt soll nicht kleiner wirken, nur weil weniger Text
   darin steht. */
.polka-auftakt--schlank{
  display:flex; flex-direction:column; justify-content:center;
  min-height:clamp(300px,40.5vw,560px);
  /* Kein Papierstreifen zwischen Kopfzeile und Banner: die Naben (bibliothek,
     index) setzen ihren Auftakt unmittelbar unter den Kopf, die Modulseiten
     brachten 18 px Aussenabstand mit. */
  margin-top:0 !important;
}
/* Der Rest der Luecke steckt im Polster des umgebenden Abschnitts. */
section:has(> .container > .polka-auftakt--schlank){ padding-top:0 !important }
/* Auftakt als erstes Element seines Abschnitts: kein Innenabstand darüber, sonst bleibt unter der Kopfleiste eine Papierfuge (Märchenseiten 6 px, Rechtsseiten 18 px) */
section:has(> .container > .polka-auftakt:first-child){ padding-top:0 !important }
/* Ebenso der Container selbst: auf den Modulseiten (.rega-page .container)
   traegt er Innenabstand oben, das gibt dieselbe Papierfuge unter dem Kopf. */
.container:has(> .polka-auftakt:first-child){ padding-top:0 !important }
/* Die Ueberschrift steht links, wie auf den Naben. Der Bestand setzt sie per
   `text-align:right` nach rechts — das stammt aus der Zeit, als links der
   Einfuehrungstext stand. Der ist jetzt unter dem Banner, die Flaeche gehoert
   der Ueberschrift allein. */
.polka-auftakt--schlank h1{
  text-align:left !important; margin-inline:0 auto 0 0;
}
/* Umschrift und deutscher Titel als Untertitel unter der kurdischen
   Ueberschrift: aufrecht, weiss, deutlich kleiner als der Titel. */
.polka-auftakt--schlank .polka-auftakt__lat{
  margin:clamp(8px,1vw,14px) auto 0 0; max-width:42ch; text-align:left;
  font-family:var(--schrift-display); font-style:normal; font-weight:600;
  font-size:clamp(1.15rem,2.3vw,2rem); line-height:1.3; color:#fff;
}
/* Kurdischer Modultitel so praesent wie die Titel der uebrigen Seiten (dort
   bis 94 px Playfair); arabische Schrift wirkt bei gleicher Groesse groesser,
   darum etwas kleiner angesetzt. Vorher 32 px. */
.polka-auftakt--schlank h1{ font-size:clamp(2.3rem,6.2vw,5.4rem) !important; line-height:1.25 !important }

/* Zierrat, der ueber dem Banner lag: die Emoji-Leiste am oberen Rand und das
   runde Emblem der jeweiligen Strecke. Beide standen auf dem Bild und waren
   von Strecke zu Strecke verschieden — der Auftakt soll auf allen Modulseiten
   gleich aussehen. */
.polka-auftakt--schlank::after{ content:none !important }
.polka-auftakt--schlank [class$="-icon"],
.polka-auftakt--schlank .ic,
.polka-auftakt--schlank .ph-emblem{ display:none !important }

/* ── Rachenbild im Phonetik-Check (uebungen-rega-a1-modul5) ──────────────────
   Die beiden Schaltflaechen „vorderer Gaumen · ک" und „Zäpfchen · ق" fuellten
   den Innenraum des Rachens exakt aus — und weil die Form stark gerundet ist
   (`border-radius:50% …`), schnitt die Rundung ihnen die oberen Ecken ab. Die
   Form braucht mehr Raum als ihr Inhalt, sonst ist sie keine Form, sondern
   ein Rahmen, der nicht passt. */
.throat{
  max-width:min(460px,100%) !important;
  padding:26px 34px 30px !important;
}
.throat-zones{ gap:12px }
.throat-zone{ flex:1 1 0; min-width:0; padding:10px 12px; line-height:1.45 }

/* ── Zwei Bestandswidgets, die auf dem Telefon ueber den Rand liefen ─────────
   Beide aus demselben Grund: eine feste Mindestbreite in einer Zeile, die
   schmaler wird als die Summe ihrer Teile. Auf dem Schreibtisch faellt das
   nicht auf, bei 375 px schiebt es die ganze Seite seitlich.

   1) Der Hoeflichkeits-Schieber (uebungen-aso-b1-modul1, -modul7): zwei
      Beschriftungen mit `flex-shrink:0` links und rechts des Reglers. Die
      Zeile darf jetzt umbrechen — dann rutscht die zweite Beschriftung unter
      den Regler, statt hinauszuragen. */
.hs-slider-wrap{ flex-wrap:wrap }
.hs-slider-wrap label{ flex-shrink:1; min-width:0 }
.hs-slider-wrap input[type=range]{ flex:1 1 140px; min-width:0 }

/* 2) Die beiden Messleisten in uebungen-lutke-c2-modul7: ein Raster aus
      `auto 1fr auto`, in dem die Spur `min-width:160px` und die Zahl
      `min-width:80px` fordern — zusammen mit der Beschriftung 327 px in einer
      191 px breiten Karte. Die Spur darf schrumpfen, die Zahl auch; unter
      560 px wandert sie in eine zweite Zeile, damit die Spur lesbar bleibt. */
.bias-meter, .eth-meter{ grid-template-columns:auto minmax(0,1fr) auto }
.bias-track, .eth-track{ min-width:0 }
.bias-meter .v, .eth-meter .v{ min-width:0 }
@media (max-width:560px){
  .bias-meter, .eth-meter{ grid-template-columns:minmax(0,1fr) auto; row-gap:8px }
  .bias-track, .eth-track{ grid-column:1 / -1; order:3 }
}

/* ── Almanach-Eintraege (bildungssprache-*, 25 Seiten) ───────────────────────
   Bei 375 px lief die Seite bis zu 672 px breit — fast das Doppelte. Drei
   Dinge hintereinander verhinderten das Schrumpfen:

     `.entries` ist ein Raster mit `1fr`; eine solche Spur wird nie schmaler
     als der Inhalt, wenn der nicht schrumpfen darf. `minmax(0,1fr)` erlaubt es.
     `.entry` und die Zeile darin haben `min-width:auto`, was dasselbe bewirkt.
     Und der Kasten mit der kurdischen Fassung traegt im Markup
     `min-width:180px` — als Inline-Stil, darum hier mit „wichtig".

   Dazu `overflow-wrap:anywhere`: die kurdischen Eintraege sind lange
   ununterbrochene Ketten, deren kleinste Breite sonst breiter bleibt als der
   Schirm. */
.entries{ grid-template-columns:minmax(0,1fr) }
.entry{ min-width:0; overflow-wrap:anywhere }
.entry-head{ min-width:0 }
.entry-head > *{ min-width:0 !important }
.entry-title{ min-width:0 }
/* Die kurdische Fassung steht in einer Pille mit `white-space:nowrap`. Auf dem
   Schreibtisch ist das richtig — die Pille soll nicht mitten im Wort brechen —
   auf dem Telefon sind es bis zu 458 px in einer 297 px breiten Karte. Unter
   700 px darf sie umbrechen; die Pillenform bleibt, sie wird nur zweizeilig. */
@media (max-width:700px){
  .ku-trans{ white-space:normal; max-width:100%; overflow-wrap:anywhere }
}

/* ── Bildungssprache-Almanach: Nachschlagewerk statt Broschuere ──────────────
   26 Seiten, 1656 Lemmata. Die Vorlage setzte fast alles kursiv in Cormorant
   — Stichwort, Definition, Beispiele, Knoepfe, Suchfeld —, umrandete jede
   Flaeche gestrichelt und fuehrte die Bedienung in Emoji. Das liest sich wie
   ein Prospekt; ein Woerterbuch lebt von ruhiger Ordnung.

   Kursiv bleibt, wo es hingehoert: beim Stichwort und beim Beispielsatz.
   Alles Uebrige steht aufrecht. Eng gefasst auf `body:has(.entries)` — die
   49 Wortschatz-Seiten teilen die Vorlage und bleiben vorerst unberuehrt. */

/* Fliesstext aufrecht */
body:has(.entries) .def,
body:has(.entries) .filt,
body:has(.entries) .filt button,
body:has(.entries) .filt input.search,
body:has(.entries) .ed-bar h3,
body:has(.entries) .ed-bar .actions button,
body:has(.entries) .letter-hero .subtitle,
body:has(.entries) .stats,
body:has(.entries) .stats span{
  font-family:var(--schrift-ui, Inter, system-ui, sans-serif) !important;
  font-style:normal !important;
}
body:has(.entries) .def{
  color:var(--tinte); font-size:.97rem; line-height:1.7;
  border-top:1px solid rgba(20,17,16,.10); border-bottom:0;
  padding:12px 0 0; margin-top:12px;
}
/* Die Sprachmarke vor der Definition: klein, ruhig, ohne Fuellung */
body:has(.entries) .def b{
  background:none; color:var(--grau); padding:0; margin-right:10px;
  font-size:.68em; letter-spacing:.16em; font-weight:700;
}

/* Stichwort und Wortart */
body:has(.entries) .term{
  font-family:var(--schrift-display, "Playfair Display", Georgia, serif);
  font-style:normal; font-weight:900; letter-spacing:0;
  font-size:clamp(1.35rem,2.1vw,1.7rem); color:var(--tinte);
}
body:has(.entries) .tag,
body:has(.entries) .tag.m, body:has(.entries) .tag.f, body:has(.entries) .tag.n,
body:has(.entries) .tag.v, body:has(.entries) .tag.adj, body:has(.entries) .tag.adv{
  background:none; color:var(--grau); border:1px solid rgba(20,17,16,.18);
  border-radius:2px; padding:2px 7px; font-weight:600; letter-spacing:.14em;
  font-size:.62em;
}
body:has(.entries) .freq-star{ text-shadow:none; color:var(--rot) }

/* Der Eintrag: Haarlinie statt Goldrahmen, ruhiger Zustandsbalken links */
body:has(.entries) .entry{
  border:1px solid rgba(20,17,16,.10); border-radius:4px;
  box-shadow:none; padding:clamp(16px,2vw,22px) clamp(18px,2.2vw,26px);
  background:var(--weiss);
}
body:has(.entries) .entry:hover{ transform:none; box-shadow:none; border-color:rgba(20,17,16,.22) }
body:has(.entries) .entry::before{ width:3px; border-radius:0; background:rgba(20,17,16,.14) }
body:has(.entries) .entry.translated::before{ background:var(--rot) }
body:has(.entries) .entry.todo::before{ background:rgba(20,17,16,.14); opacity:1 }

/* Die kurdische Fassung: Papierpille mit Haarlinie statt Goldverlauf */
body:has(.entries) .ku-trans{
  background:var(--papier); border:1px solid rgba(20,17,16,.14);
  border-radius:3px; box-shadow:none; color:var(--tinte);
  font-weight:600; padding:7px 14px;
}
body:has(.entries) .ku-trans.todo{
  background:none; border-style:dashed; border-color:rgba(20,17,16,.20);
  color:var(--grau); font-family:var(--schrift-ui, Inter, sans-serif); font-style:normal;
}

/* Beispielsatz: hier darf es kursiv bleiben — es ist ein Zitat. Gestrichelte
   Linien und Goldverlauf weg; ein schmaler roter Strich am Rand genuegt. */
body:has(.entries) .ex{
  background:none; border:0; border-left:2px solid rgba(174,21,27,.35);
  border-radius:0; padding:2px 0 2px 15px; margin:0;
}
body:has(.entries) .ex::before{ content:"„"; color:var(--grau); font-size:1.2em }
body:has(.entries) .ex .ku-ex{
  border-top:0; margin-top:5px; padding-top:0; color:var(--tinte); font-weight:500;
}
body:has(.entries) .ex .ku-ex.todo{
  color:var(--grau); font-family:var(--schrift-ui, Inter, sans-serif);
  font-style:normal; font-size:.8em; letter-spacing:.04em;
}

/* Hinweiskasten */
body:has(.entries) .tipp{
  background:none; border:0; border-left:2px solid rgba(20,17,16,.20);
  border-radius:0; padding:2px 0 2px 14px; margin-top:12px;
  color:var(--grau); font-style:normal;
  font-family:var(--schrift-ui, Inter, sans-serif); font-size:.9rem;
}
body:has(.entries) .tipp::before{
  content:"Hinweis "; color:var(--tinte); font-weight:700;
  letter-spacing:.14em; font-size:.72em; text-transform:uppercase;
}

/* Filterzeile */
body:has(.entries) .filt{
  background:none; border:0; border-bottom:1px solid rgba(20,17,16,.12);
  border-radius:0; padding:0 0 12px; gap:8px;
}
body:has(.entries) .filt .lbl{
  color:var(--grau); font-size:.72rem; letter-spacing:.16em; text-transform:uppercase;
}
body:has(.entries) .filt button{
  background:none; border:1px solid rgba(20,17,16,.16); color:var(--grau);
  border-radius:2px; padding:7px 13px; font-size:.85rem;
}
body:has(.entries) .filt button:hover{ border-color:var(--rot); color:var(--rot); background:none }
body:has(.entries) .filt button.on,
body:has(.entries) .filt button.em.on{
  background:var(--rot); border-color:var(--rot); color:#fff; font-weight:600;
}
body:has(.entries) .filt input.search{
  border:1px solid rgba(20,17,16,.16); border-radius:2px; font-size:.9rem;
  padding:8px 13px; background:var(--weiss);
}

/* A–Z-Leiste: ruhige Zeile statt Goldrahmen auf Dunkelrot */
body:has(.entries) .azn{
  background:var(--rot); border:0; border-radius:0; padding:8px 10px;
}
body:has(.entries) .azn a{ border-radius:2px }
body:has(.entries) .azn a.active{ background:#fff; color:var(--rot) }

/* Der Entwurfshinweis richtete sich an den Betreiber („automatisch aus der PDF
   extrahiert, Uebersetzungen sind noch leer") und stimmt nicht mehr: alle
   1656 Lemmata sind uebersetzt. Er hat auf einer Leseseite nichts zu suchen. */
body:has(.entries) .draft{ display:none }

/* Die Redaktionsleiste (JSON aus- und einlesen, Zuruecksetzen) ist Werkzeug,
   nicht Inhalt. polka.js klappt sie ein; bis dahin bleibt sie ruhig. */
body:has(.entries) .ed-bar{
  background:none; border:0; border-top:1px solid rgba(20,17,16,.12);
  border-radius:0; box-shadow:none; padding:14px 0;
}
body:has(.entries) .ed-bar.on{ background:none; box-shadow:none; border-color:var(--rot) }
body:has(.entries) .ed-bar h3{ font-size:.72rem; letter-spacing:.16em; text-transform:uppercase; color:var(--grau) }
body:has(.entries) .ed-bar .actions button{
  border-radius:2px; font-size:.82rem; padding:7px 13px; font-weight:600;
}

/* Schalter, der die Redaktionsleiste des Almanachs zurueckholt. Bewusst klein
   und grau: er richtet sich an den Betreiber, nicht an Lesende. */
.polka-redaktion{
  display:block; margin:16px 0 0; padding:0; background:none; border:0;
  color:var(--grau); font-family:var(--schrift-ui, Inter, sans-serif);
  font-size:.72rem; letter-spacing:.16em; text-transform:uppercase;
  cursor:pointer; border-bottom:1px solid rgba(20,17,16,.20);
}
.polka-redaktion:hover{ color:var(--rot); border-bottom-color:var(--rot) }

/* ═══════════ Liedseiten: ruhiger Abspieler, dichter Liedtext ═══════════
   Gilt fuer alle 208 lied-*.html (gemeinsame Vorlage, Stile aus
   ka-lieder.css). Der Abspieler bleibt beim Lesen oben stehen; die
   Uebungswerkzeuge stehen hinter „Übungswerkzeuge" (polka.js, liedseite()). */
.polka-liedseite .ldr-player{
  position:sticky; top:calc(var(--kopf-hoehe, 67px) + 8px); z-index:30;
  border-radius:0; padding:12px 16px; margin:8px 0 24px; gap:12px 14px;
  background:var(--rot-tief, #8b1015); box-shadow:0 6px 18px rgba(20,17,16,.18);
}
.polka-liedseite .ldr-mehr{ flex:1 1 100%; margin-top:2px; border-top:1px solid rgba(252,251,249,.18) }
.polka-liedseite .ldr-mehr > summary{
  list-style:none; cursor:pointer; display:inline-flex; align-items:center; gap:8px; min-height:40px;
  font-size:12px; font-weight:700; letter-spacing:.12em; text-transform:uppercase; color:#fff;
}
.polka-liedseite .ldr-mehr > summary::-webkit-details-marker{ display:none }
.polka-liedseite .ldr-mehr > summary::before{
  content:""; width:8px; height:8px; border-right:2px solid currentColor; border-bottom:2px solid currentColor;
  transform:rotate(-45deg); transition:transform .2s;
}
.polka-liedseite .ldr-mehr[open] > summary::before{ transform:rotate(45deg) }
.polka-liedseite .ldr-mehr > summary:focus-visible{ outline:2px solid #fff; outline-offset:2px }
.polka-liedseite .ldr-mehr .ldr-ctrls{ margin-top:4px; border-top:0; padding-top:4px }
.polka-liedseite .ldr-mehr .ldr-studio{ border-radius:0 }
/* Offen, aber klebend wuerde der Abspieler den halben Schirm decken */
.polka-liedseite .ldr-player:has(.ldr-mehr[open]){ position:relative; top:auto }

.polka-liedseite .ldr-cols{ margin:0 0 6px; padding:0 16px; font-size:12px; letter-spacing:.14em }
.polka-liedseite .ldr-strophe{ border-radius:0; border-color:var(--papier-3, #d8d4cb); margin:0 0 18px; background:var(--weiss, #fcfbf9) }
.polka-liedseite .ldr-strophe.ref{ border-color:var(--rot, #ae151b); border-left-width:4px }
.polka-liedseite .ldr-label{ padding:8px 16px; font-size:12px; letter-spacing:.12em; background:transparent;
  border-bottom:1px solid var(--papier-3, #d8d4cb) }
.polka-liedseite .ldr-strophe.ref .ldr-label{ background:transparent }
.polka-liedseite .ldr-row{ background:transparent !important; border-bottom-color:var(--papier-2, #e6e3dc) }
.polka-liedseite .ldr-row:hover{ background:var(--papier, #f1efea) !important }
.polka-liedseite .ldr-de{ padding:8px 16px; font-size:1rem; line-height:1.55; border-right-color:var(--papier-2, #e6e3dc) }
.polka-liedseite .ldr-ku{ padding:6px 16px; font-size:1.2rem; line-height:1.75 }
@media (max-width:640px){
  .polka-liedseite .ldr-player{ top:calc(var(--kopf-hoehe, 67px) + 4px); padding:10px 12px }
  .polka-liedseite .ldr-de{ border-top-color:var(--papier-2, #e6e3dc) }
}
@media (prefers-reduced-motion:reduce){ .polka-liedseite .ldr-mehr > summary::before{ transition:none } }
/* 19.10.2026 Dunkelmodus Liedseiten: die Strophenkarte blieb hell (--weiss), der Text folgte dem dunklen Thema
   und war kaum lesbar (#f1efea auf #fcfbf9). Karte, Linien und Strophenmarke auf die dunklen Marken. */
html[data-theme="dark"] .polka-liedseite .ldr-strophe{ background:var(--card); border-color:var(--border) }
html[data-theme="dark"] .polka-liedseite .ldr-label{ border-bottom-color:var(--border); color:var(--accent-2) !important }
html[data-theme="dark"] .polka-liedseite .ldr-row{ border-bottom-color:var(--border) }
html[data-theme="dark"] .polka-liedseite .ldr-row:hover{ background:var(--chip) !important }
html[data-theme="dark"] .polka-liedseite .ldr-de{ border-right-color:var(--border); border-top-color:var(--border); color:var(--ink) }
html[data-theme="dark"] .polka-liedseite .ldr-ku{ color:var(--ink) }
.polka-liedseite .ldr-mehr > summary::after{ content:none !important; display:none !important }
@media (max-width:640px){
  .polka-liedseite .ldr-mehr__zusatz{ display:none }
  .polka-liedseite .ldr-player{ position:relative; top:auto }
  .polka-liedseite .lit-panel{ padding-left:10px !important; padding-right:10px !important }
}

/* Hallmark · component: Werkzeugleiste Liedabspieler · genre: editorial · theme: POLKA (bestehend)
 * states: default · hover · focus · active · disabled · on (statt loading/error/success: Knoepfe schalten nur)
 * 19.10.2026: Übungswerkzeuge in drei Gruppen (polka.js, liedWerkzeugGruppen). Vorher ein Fluss mit
 * Emojis, Zufallsumbruechen, unsichtbarem Ein-Zustand (Rot auf Rot) und springenden Werten. */
.polka-liedseite .ldr-mehr{
  --lw-ink:#fff; --lw-leise:rgba(255,255,255,.74); --lw-linie:rgba(255,255,255,.26);
  --lw-flaeche:rgba(255,255,255,.07); --lw-flaeche-hover:rgba(255,255,255,.16);
  --lw-an:#fff; --lw-an-text:var(--rot-tief, #8b1015); --lw-tiefe:rgba(20,17,16,.22);
}
.polka-liedseite .ldr-mehr__zusatz{
  margin-left:6px; font-weight:500; letter-spacing:0; text-transform:none; color:var(--lw-leise); font-size:13px;
}
.polka-liedseite .ldr-ctrls--gruppiert{
  display:grid; grid-template-columns:minmax(0,1fr) auto; grid-template-areas:"klang klang" "spiel rest" "hint hint";
  gap:14px 24px; align-items:end; font-size:.85rem; padding-top:8px;
}
.polka-liedseite .ldr-gruppe{ display:flex; flex-wrap:wrap; align-items:center; gap:8px; min-width:0 }
.polka-liedseite .ldr-gruppe--klang{ grid-area:klang; display:block }
.polka-liedseite .ldr-gruppe--spiel{ grid-area:spiel }
.polka-liedseite .ldr-gruppe--rest{ grid-area:rest; justify-content:flex-end }
.polka-liedseite .ldr-gruppe__titel{
  flex:1 1 100%; display:block; margin:0 0 2px; font-size:11px; font-weight:700; letter-spacing:.14em;
  text-transform:uppercase; color:var(--lw-leise);
}
.polka-liedseite .ldr-regler{ display:grid; grid-template-columns:repeat(2, minmax(0,1fr)); gap:4px 40px }
@media (max-width:760px){ .polka-liedseite .ldr-regler{ grid-template-columns:minmax(0,1fr) } }
.polka-liedseite .ldr-ctrls--gruppiert .ldr-regler label{
  display:grid; grid-template-columns:6.2rem minmax(0,1fr) 3.6rem; align-items:center; gap:10px;
  min-height:36px; font-weight:600; white-space:nowrap; color:var(--lw-ink);
}
.polka-liedseite .ldr-ctrls--gruppiert input[type=range]{ width:100%; min-width:0; margin:0; accent-color:var(--lw-an); cursor:pointer }
.polka-liedseite .ldr-ctrls--gruppiert input[type=range]:focus-visible{ outline:2px solid var(--lw-ink); outline-offset:3px }
.polka-liedseite .ldr-ctrls--gruppiert .ldr-regler label > span:last-child{
  text-align:right; font-variant-numeric:tabular-nums; font-weight:500; color:var(--lw-leise); opacity:1;
}
.polka-liedseite .ldr-ctrls--gruppiert button,
.polka-liedseite .ldr-studio .ldr-sbtn{
  display:inline-flex; align-items:center; justify-content:center; min-height:36px; padding:0 14px; margin:0;
  border:1px solid var(--lw-linie); border-radius:2px; background:var(--lw-flaeche); color:var(--lw-ink);
  font:inherit; font-size:.85rem; font-weight:600; line-height:1; white-space:nowrap; cursor:pointer;
  font-variant-numeric:tabular-nums; transition:background-color .15s ease-out, color .15s ease-out, border-color .15s ease-out;
}
.polka-liedseite .ldr-ctrls--gruppiert button:hover,
.polka-liedseite .ldr-studio .ldr-sbtn:hover{ background:var(--lw-flaeche-hover); border-color:var(--lw-leise) }
.polka-liedseite .ldr-ctrls--gruppiert button:active,
.polka-liedseite .ldr-studio .ldr-sbtn:active{ transform:translateY(1px) }
.polka-liedseite .ldr-ctrls--gruppiert button:focus-visible,
.polka-liedseite .ldr-studio .ldr-sbtn:focus-visible{ outline:2px solid var(--lw-ink); outline-offset:2px }
.polka-liedseite .ldr-ctrls--gruppiert button:disabled{ opacity:.45; cursor:not-allowed }
.polka-liedseite .ldr-ctrls--gruppiert button.on,
.polka-liedseite .ldr-studio .ldr-sbtn.on{ background:var(--lw-an); color:var(--lw-an-text); border-color:var(--lw-an); font-weight:700 }
.polka-liedseite .ldr-ctrls--gruppiert .ldr-back,
.polka-liedseite .ldr-ctrls--gruppiert .ldr-fwd{ min-width:4.4rem }
.polka-liedseite .ldr-ctrls--gruppiert .ldr-hint{
  grid-area:hint; margin:0; padding-top:10px; border-top:1px solid var(--lw-linie);
  font-size:.78rem; color:var(--lw-leise); opacity:1;
}
.polka-liedseite .ldr-hint kbd{
  display:inline-block; min-width:1.6em; padding:1px 6px; margin:0 2px; border:1px solid var(--lw-linie);
  border-bottom-width:2px; border-radius:3px; background:var(--lw-flaeche);
  font:600 .74rem/1.5 var(--schrift-ui, Inter, sans-serif); color:var(--lw-ink); text-align:center;
}
.polka-liedseite .ldr-mehr .ldr-studio{ background:var(--lw-tiefe); margin-top:14px }
.polka-liedseite .ldr-studio .ldr-shead{ font-size:11px; font-weight:700; letter-spacing:.14em; text-transform:uppercase; color:var(--lw-leise); opacity:1 }
@media (max-width:640px){
  .polka-liedseite .ldr-ctrls--gruppiert{ grid-template-columns:minmax(0,1fr); grid-template-areas:"klang" "spiel" "rest" }
  .polka-liedseite .ldr-gruppe--rest{ justify-content:flex-start }
  .polka-liedseite .ldr-gruppe--spiel, .polka-liedseite .ldr-gruppe--rest{ display:grid; grid-template-columns:repeat(2, minmax(0,1fr)) }
  .polka-liedseite .ldr-gruppe__titel{ grid-column:1 / -1 }
  .polka-liedseite .ldr-gruppe--rest .ldr-reset{ grid-column:1 / -1 }
  .polka-liedseite .ldr-ctrls--gruppiert .ldr-regler label{ grid-template-columns:5.6rem minmax(0,1fr) 3.4rem; min-height:40px }
  .polka-liedseite .ldr-ctrls--gruppiert button,
  .polka-liedseite .ldr-studio .ldr-sbtn{ min-height:40px }
}
@media (prefers-reduced-motion:reduce){
  .polka-liedseite .ldr-ctrls--gruppiert button, .polka-liedseite .ldr-studio .ldr-sbtn{ transition:none }
  .polka-liedseite .ldr-ctrls--gruppiert button:active, .polka-liedseite .ldr-studio .ldr-sbtn:active{ transform:none }
}

/* ═══════════ Dichterseiten: Lesemass, Inhaltsverzeichnis, Gedichte ═══════════
   Gilt fuer alle 142 kurden-lit-*.html (gleicher Aufbau, ka-literatur.css).
   polka.js (dichterseite()) setzt die Klasse und baut das Inhaltsverzeichnis. */
.polka-dichterseite .lit-layout{ grid-template-columns:minmax(0,1fr) 300px; gap:clamp(28px,4vw,56px) }
.polka-dichterseite .lit-layout > div:first-child .lit-panel{
  border-radius:0; border:0; border-top:1px solid var(--papier-3, #d8d4cb); background:transparent;
  padding:var(--s4, 40px) 0 var(--s3, 24px); box-shadow:none;
}
.polka-dichterseite .lit-layout > div:first-child .lit-panel:first-child{ border-top:0; padding-top:0 }
.polka-dichterseite .lit-panel h2{
  font-family:var(--schrift-display, "Playfair Display", Georgia, serif); font-weight:800; font-style:normal;
  font-size:clamp(1.45rem, 2.2vw, 1.85rem); line-height:1.2; letter-spacing:0; text-transform:none;
  margin:0 0 12px; scroll-margin-top:calc(var(--kopf-hoehe, 67px) + 24px);
}
.polka-dichterseite .lit-panel h2::before{ display:none !important }
.polka-dichterseite .lit-panel p{ max-width:68ch; font-size:1.05rem; line-height:1.75; opacity:1; margin:0 0 14px }
.polka-dichterseite .lit-panel h3{ font-style:normal }

.polka-randspalte{ position:sticky; top:calc(var(--kopf-hoehe, 67px) + 16px); align-self:start;
  max-height:calc(100vh - var(--kopf-hoehe, 67px) - 32px); overflow:auto; display:grid; gap:var(--s3, 24px) }
.polka-dichterseite .lit-facts{ border-radius:0; box-shadow:none }
.polka-inhalt{ border-top:2px solid var(--tinte, #141110); padding-top:10px }
.polka-inhalt__titel{ margin:0 0 6px; font-size:12px; font-weight:700; letter-spacing:.14em; text-transform:uppercase; color:var(--tinte, #141110) }
.polka-inhalt ol{ list-style:none; margin:0; padding:0 }
.polka-inhalt a{ display:block; padding:7px 0 7px 12px; border-left:2px solid var(--papier-3, #d8d4cb);
  font-size:14px; line-height:1.35; color:var(--tinte-2, #4a443e); text-decoration:none }
.polka-inhalt a:hover{ color:var(--rot, #ae151b); border-left-color:var(--rot, #ae151b) }
.polka-inhalt a[aria-current]{ color:var(--rot, #ae151b); border-left-color:var(--rot, #ae151b); font-weight:600 }
.polka-inhalt a:focus-visible{ outline:2px solid var(--rot, #ae151b); outline-offset:2px }

/* Gedichtzeilen: Deutsch links, Kurdisch rechts */
.polka-dichterseite .lit-quote{ border-radius:0 }
.polka-dichterseite .lit-pairs{ border-radius:0 }
.polka-dichterseite .lit-prow{ grid-template-columns:minmax(0,1fr) minmax(0,1fr) }
.polka-dichterseite .lit-prow:nth-child(odd){ background:transparent }
.polka-dichterseite .lit-prow:hover{ background:var(--papier, #f1efea) }
.polka-dichterseite .lit-pd{ order:1; border-inline-end:1px solid var(--papier-2, #e6e3dc) }
.polka-dichterseite .lit-pk{ order:2; border-inline-end:0 }

@media (max-width:860px){
  .polka-dichterseite .lit-layout{ grid-template-columns:minmax(0,1fr) }
  .polka-randspalte{ position:static; max-height:none; overflow:visible; order:-1 }
  .polka-randspalte .polka-inhalt{ display:none }
}
@media (max-width:640px){
  .polka-dichterseite .lit-pk{ order:1; border-bottom:1px dashed var(--papier-2, #e6e3dc) }
  .polka-dichterseite .lit-pd{ order:2; border-inline-end:0 }
}
.polka-dichterseite .lit-panel h2:not(:first-child){ margin-top:clamp(32px,4vw,48px) }
/* Steckbrief: die Wertespalte darf schrumpfen, lange Werktitel brechen um */
.polka-dichterseite .lit-facts dl{ grid-template-columns:auto minmax(0,1fr) }
.polka-dichterseite .lit-facts dd{ overflow-wrap:anywhere; min-width:0 }
.polka-randspalte{ min-width:0 }

/* ═══════════ Literatur-Werkzeuge des Bestands (Karte, Netz, Lückentexte, Quiz) ═══════════ */
.polka-litwerk .lw2-leiste{ max-width:var(--mass, 1400px); margin:0 auto var(--s3, 24px); padding:var(--s2, 16px) 0 0 }
.polka-litwerk .ka-section > .ka-h2{ font-family:var(--schrift-display, "Playfair Display", serif); font-weight:800; font-style:normal;
  text-transform:none; letter-spacing:0; font-size:clamp(1.5rem,2.6vw,2rem) }
.polka-litwerk .ka-section > .ka-h2::before{ display:none !important }
.polka-litwerk .ka-card, .polka-litwerk .map-box, .polka-litwerk .lit-panel{ border-radius:0 !important; box-shadow:none !important }
.polka-litwerk .ue-opt, .polka-litwerk .qz-opt, .polka-litwerk .tl-filter button, .polka-litwerk button.ka-btn{ border-radius:0 !important }
.polka-litwerk #kmap g.mc.mc-leise text{ opacity:0; transition:opacity .15s }
.polka-litwerk #kmap g.mc.mc-leise:hover text, .polka-litwerk #kmap g.mc.mc-leise:focus text{ opacity:1 }
.polka-litwerk .map-box{ background:var(--weiss, #fcfbf9); border:1px solid var(--papier-3, #d8d4cb) }

/* ═══════════ Buchseiten (Grammatikbände) ═══════════
   Gilt fuer alle 11 buch-*.html (gemeinsame Vorlage mit Inline-Stilen). */
.polka-buchseite .bk-hero{ border-radius:0 }
.polka-buchseite .bk-badge{ border-radius:0 }
.polka-buchseite .bk-meta{ gap:0; margin:var(--s2, 16px) 0 var(--s3, 24px); border-top:1px solid var(--papier-3, #d8d4cb); border-bottom:1px solid var(--papier-3, #d8d4cb) }
.polka-buchseite .bk-meta span{ background:none; border-radius:0; padding:10px 18px 10px 0; margin-right:18px; color:var(--tinte, #141110);
  border-right:1px solid var(--papier-3, #d8d4cb); font-weight:600 }
.polka-buchseite .bk-meta span:last-child{ border-right:0 }
.polka-buchseite .toolkit{ gap:8px }
.polka-buchseite .tk{ border-radius:0; transform:none !important; background:var(--weiss, #fcfbf9); color:var(--tinte, #141110);
  border:1px solid var(--papier-3, #d8d4cb); font-weight:700; min-height:44px }
.polka-buchseite .tk:hover{ border-color:var(--rot, #ae151b); color:var(--rot, #ae151b) }
.polka-buchseite .tk.primary{ background:var(--rot, #ae151b); border-color:var(--rot, #ae151b); color:#fff }
.polka-buchseite .tk.primary:hover{ background:var(--rot-tief, #8b1015); color:#fff }
.polka-buchseite .bk-layout{ grid-template-columns:250px minmax(0,1fr); gap:clamp(28px,4vw,56px) }
.polka-buchseite .ch-nav{ top:calc(var(--kopf-hoehe, 67px) + 16px); background:transparent; border:0; border-top:2px solid var(--tinte, #141110);
  border-radius:0; padding:10px 0 0; max-height:calc(100vh - var(--kopf-hoehe, 67px) - 32px); overflow:auto }
.polka-buchseite .ch-nav h4{ font-size:12px; letter-spacing:.14em; color:var(--tinte, #141110) }
.polka-buchseite .ch-nav a{ border-radius:0; padding:7px 0 7px 12px; border-left:2px solid var(--papier-3, #d8d4cb); font-size:14px; color:var(--tinte-2, #4a443e) }
.polka-buchseite .ch-nav a:hover{ background:transparent; color:var(--rot, #ae151b); border-left-color:var(--rot, #ae151b) }
.polka-buchseite .ch-nav a.active{ background:transparent; color:var(--rot, #ae151b); border-left-color:var(--rot, #ae151b) }
.polka-buchseite .ch{ scroll-margin-top:calc(var(--kopf-hoehe, 67px) + 24px); padding:0; margin:0 0 var(--s4, 40px) }
.polka-buchseite .bk-emblem{ display:none }
.polka-buchseite .ch-h{ font-family:var(--schrift-display, "Playfair Display", serif); font-weight:800; font-style:normal; text-transform:none;
  letter-spacing:0; font-size:clamp(1.35rem,2.2vw,1.7rem); line-height:1.2; color:var(--tinte, #141110);
  border-bottom:1px solid var(--tinte, #141110); justify-content:space-between; align-items:baseline }
.polka-buchseite .ch-h::before{ display:none !important }
.polka-buchseite .ch-h .ku{ font-family:var(--schrift-ku, "Noto Naskh Arabic", serif); font-weight:400; font-size:.8em; color:var(--rot, #ae151b) }
.polka-buchseite .ch p{ max-width:70ch; font-size:1.05rem; line-height:1.75 }
.polka-buchseite .qopt{ border-radius:0; border-width:1px }
.polka-buchseite .qcard{ border-bottom-style:solid; border-bottom-color:var(--papier-3, #d8d4cb) }
@media (max-width:820px){
  .polka-buchseite .bk-layout{ grid-template-columns:minmax(0,1fr) }
  .polka-buchseite .ch-nav{ position:static; max-height:none }
}

/* ═══════════ Lese-Trainer (lesen.html) ═══════════ */
.polka-lesetrainer .ph-stats{ display:none }
.polka-lesetrainer .level-tabs{ border-radius:0; padding:0; gap:0; background:transparent; border:1px solid var(--tinte, #141110) }
.polka-lesetrainer .level-tabs button{ border-radius:0; min-height:44px; font-weight:600; color:var(--tinte, #141110);
  border-right:1px solid var(--tinte, #141110) }
.polka-lesetrainer .level-tabs button:last-child{ border-right:0 }
.polka-lesetrainer .level-tabs button.on{ background:var(--tinte, #141110); color:#fff }
.polka-lesetrainer .story-list{ gap:8px }
.polka-lesetrainer .story-card{ border-radius:0; border:1px solid var(--papier-3, #d8d4cb); background:var(--weiss, #fcfbf9); padding:16px 18px; transition:none }
.polka-lesetrainer .story-card:hover, .polka-lesetrainer .story-card.active{ background:var(--weiss, #fcfbf9); border-color:var(--rot, #ae151b); box-shadow:inset 0 -3px 0 var(--rot, #ae151b) }
.polka-lesetrainer .story-card .level{ border-radius:0; background:transparent; color:var(--rot, #ae151b); padding:0; letter-spacing:.12em; font-weight:700 }
.polka-lesetrainer .story-card h3{ margin:6px 0; font-family:var(--schrift-display, "Playfair Display", serif); font-weight:800; font-size:1.15rem; color:var(--tinte, #141110) }
.polka-lesetrainer .story-card .desc{ color:var(--tinte-2, #4a443e); font-size:14px }
.polka-lesetrainer .reader{ border-radius:0; background:var(--weiss, #fcfbf9); border:1px solid var(--papier-3, #d8d4cb); border-top:4px solid var(--rot, #ae151b); padding:clamp(20px,3vw,36px) }
.polka-lesetrainer .reader h2{ font-family:var(--schrift-display, "Playfair Display", serif); font-weight:900; font-style:normal; text-transform:none; letter-spacing:0;
  font-size:clamp(1.6rem,3vw,2.2rem); color:var(--tinte, #141110) }
.polka-lesetrainer .reader h2::before{ display:none !important }
.polka-lesetrainer .reader .author{ font-size:12px; font-weight:700; letter-spacing:.12em; text-transform:uppercase; color:var(--rot, #ae151b) }
.polka-lesetrainer .reader .text{ font-size:clamp(24px,3vw,30px); line-height:2.3; color:var(--tinte, #141110); padding:var(--s2, 16px) 0;
  border-top:1px solid var(--papier-3, #d8d4cb); border-bottom:1px solid var(--papier-3, #d8d4cb) }
.polka-lesetrainer .reader .text .word{ border-radius:0; transition:none }
.polka-lesetrainer .reader .text .word:hover{ background:transparent; color:var(--rot, #ae151b); text-decoration:underline; text-underline-offset:8px; text-decoration-thickness:2px }
.polka-lesetrainer .reader .text .word.active{ background:var(--rot, #ae151b); color:#fff }
.polka-lesetrainer .tooltip{ border-radius:0 }
.polka-lesetrainer .reader-controls button, .polka-lesetrainer .qa-card .opts button{ border-radius:0; min-height:44px }
.polka-lesetrainer .qa-card{ border-radius:0 }
.polka-lesetrainer .hub-nav a{ border-radius:0 !important; box-shadow:none !important }
@media (max-width:600px){
  .polka-lesetrainer .level-tabs{ display:grid; grid-template-columns:repeat(2,minmax(0,1fr)) }
  .polka-lesetrainer .level-tabs button{ min-width:0; border-right:0; border-bottom:1px solid var(--tinte, #141110) }
  .polka-lesetrainer .level-tabs button:nth-child(odd){ border-right:1px solid var(--tinte, #141110) }
  .polka-lesetrainer .level-tabs button:nth-last-child(-n+2){ border-bottom:0 }
}

/* ═══════════ Dashboard ═══════════ */
.polka-dashboard .ka-card{ border-radius:0 !important; box-shadow:none !important; border:1px solid var(--papier-3, #d8d4cb) }
.polka-dashboard .ka-card:hover{ border-color:var(--rot, #ae151b); transform:none !important }
.polka-dashboard main.ka-wrap h2, .polka-dashboard .polka-dash-zahlen h2{
  font-family:var(--schrift-display, "Playfair Display", serif); font-weight:900; font-style:normal; text-transform:none; letter-spacing:0;
  font-size:clamp(1.5rem,2.6vw,2rem); margin:var(--s5, 64px) 0 var(--s2, 16px); padding-bottom:var(--s1, 8px); border-bottom:2px solid var(--tinte, #141110) }
.polka-dashboard main.ka-wrap h2:first-child{ margin-top:var(--s4, 40px) }
.polka-dashboard main.ka-wrap h2::before, .polka-dashboard .polka-dash-zahlen h2::before{ display:none !important }
.polka-dashboard .ka-card h3{ font-size:15px; font-weight:700 }
.polka-dashboard .ka-streak{ font-family:var(--schrift-display, "Playfair Display", serif); font-weight:900; color:var(--rot, #ae151b) }
.polka-dashboard .polka-dash-stand{ grid-template-columns:repeat(5, minmax(0,1fr)) }
.polka-dashboard .polka-dash-pfade{ grid-template-columns:repeat(3, minmax(0,1fr)) }
.polka-dashboard .ka-pill{ border-radius:0 }
.polka-dashboard .ka-progress{ border-radius:0 }
.polka-dashboard .ka-progress span{ border-radius:0; background:var(--rot, #ae151b) }
.polka-dashboard .ka-tutor-panel{ border-radius:0 }
.polka-dashboard .ka-btn{ border-radius:0 }
.polka-dashboard .polka-dash-zahlen{ padding:0 0 var(--s5, 64px) }
.polka-dashboard .polka-dash-zahlen .ka-card{ background:transparent }
.polka-dashboard [data-pioniere-daily] > *, .polka-dashboard #ka-lit-daily > *{ border-radius:0 !important; box-shadow:none !important }
.polka-dashboard .ka-site-search input, .polka-dashboard .ka-site-search button{ border-radius:0 }
@media (max-width:980px){
  .polka-dashboard .polka-dash-stand{ grid-template-columns:repeat(2, minmax(0,1fr)) }
  .polka-dashboard .polka-dash-pfade{ grid-template-columns:repeat(2, minmax(0,1fr)) }
}
@media (max-width:560px){
  .polka-dashboard .polka-dash-stand, .polka-dashboard .polka-dash-pfade{ grid-template-columns:minmax(0,1fr) }
}

/* ── Reihen-Naben (A1 Řêga … C2 Lûtke), body.polka-reihe ─────────────── */
.polka-reihe .polka-reihe-feld .ic,
.polka-reihe .polka-reihe-feld > div:last-child:not(:has(h1)),
.polka-reihe .polka-reihe-feld .stats-row{ display:none !important }
.polka-reihe .polka-reihe-feld h1{ display:flex; flex-wrap:wrap; align-items:baseline; gap:.1em .5em }
.polka-reihe .polka-reihe-ku{ font-family:var(--schrift-ku); font-weight:400; text-transform:none; font-size:.62em; opacity:.92 }
.polka-reihe .back-bar span{ display:none }

.polka-reihe .polka-reihe-stand{ position:relative; display:flex !important; flex-wrap:wrap; gap:var(--s1) var(--s4);
  margin:var(--s3) 0 var(--s2) !important; padding:0 0 var(--s2); border-bottom:1px solid var(--papier-3) }
.polka-reihe .polka-reihe-stand .stat-card{ display:flex; align-items:baseline; gap:8px; padding:0 !important; border:0 !important;
  background:none !important; box-shadow:none !important; text-align:left }
.polka-reihe .polka-reihe-stand .num{ font-family:var(--schrift-display); font-size:1.6rem !important; font-weight:900; color:var(--tinte) !important }
.polka-reihe .polka-reihe-stand .stat-card:first-child .num{ color:var(--rot) !important }
.polka-reihe .polka-reihe-stand .label{ margin:0 !important; font-size:13px !important; font-weight:400 !important; color:var(--grau) !important }
.polka-reihe .polka-reihe-balken{ position:absolute; left:0; right:0; bottom:-1px; height:3px; background:transparent }
.polka-reihe .polka-reihe-balken span{ display:block; height:100%; width:0; background:var(--rot); transition:width .4s var(--ease-aus) }

.polka-reihe .theme-head{ margin:var(--s5) 0 var(--s1) !important; padding-bottom:var(--s1) !important; border-bottom:1px solid var(--tinte) !important;
  color:var(--tinte) !important; font-family:var(--schrift-display); font-weight:900; font-size:clamp(1.4rem,2.6vw,2rem) !important; flex-wrap:wrap }
.polka-reihe .theme-head .line{ display:none }
.polka-reihe .theme-head .cnt{ background:none !important; padding:0 !important; font-family:var(--schrift-ui); font-size:12px !important;
  font-weight:400 !important; color:var(--grau) !important }
.polka-reihe .polka-reihe-modulkopf{ margin-top:var(--s4) !important }
.polka-reihe .theme-sub{ font-style:normal !important; font-size:15px !important; color:var(--tinte-2) !important; max-width:70ch }
.polka-reihe .polka-reihe-zwischen{ margin:clamp(56px,8vw,96px) 0 0; padding-top:var(--s3); border-top:3px solid var(--rot);
  font-family:var(--schrift-display); font-weight:900; font-size:clamp(1.8rem,3.6vw,2.8rem); line-height:1.1 }
.polka-reihe .polka-reihe-zwischen + .theme-head{ margin-top:var(--s3) !important }

/* Filter wie die Sprungleisten der übrigen Seiten */
.polka-reihe .filter-bar{ display:flex; flex-wrap:wrap; align-items:center; gap:6px; margin:var(--s2) 0 !important; padding:0 !important;
  background:none !important; border:0 !important; box-shadow:none !important }
.polka-reihe .filter-bar .label{ display:none }
.polka-reihe .filter-chip{ min-height:40px; padding:0 14px !important; border-radius:0 !important; border:1px solid var(--papier-3) !important;
  background:var(--weiss) !important; color:var(--tinte) !important; font-weight:600; font-size:14px !important; box-shadow:none !important }
.polka-reihe .filter-chip:hover{ border-color:var(--rot) !important; color:var(--rot) !important }
.polka-reihe .filter-chip.active{ background:var(--rot) !important; border-color:var(--rot) !important; color:#fff !important }
.polka-reihe .filter-chip:focus-visible{ outline:3px solid var(--rot); outline-offset:2px }
.polka-reihe .filter-search{ margin-left:auto; min-height:40px; min-width:min(260px,100%); padding:0 12px !important; border-radius:0 !important;
  border:1px solid var(--tinte-2) !important; background:var(--weiss) !important; font-size:15px !important }

/* Modulkarten: Nummer, Titel, kurdisch rechts, Inhalt, Aktionen */
.polka-reihe .ex-grid{ display:grid !important; grid-template-columns:repeat(auto-fill,minmax(min(100%,340px),1fr)) !important; gap:var(--s2) !important }
.polka-reihe .ex-card{ border-radius:0 !important; border:1px solid var(--papier-3) !important; border-left:1px solid var(--papier-3) !important;
  background:var(--weiss) !important; box-shadow:none !important; transform:none !important; padding:var(--s2) var(--s2) var(--s2) !important }
.polka-reihe .ex-card:hover{ border-color:var(--rot) !important; box-shadow:inset 0 -3px 0 var(--rot) !important }
.polka-reihe .ex-card .ex-icon, .polka-reihe .ex-card .stars{ display:none !important }
.polka-reihe .ex-card .ex-tag{ position:static !important; align-self:flex-start; order:-1; padding:0 !important; background:none !important;
  color:var(--grau) !important; font-size:12px !important; font-weight:600; letter-spacing:.04em; border-radius:0 !important }
.polka-reihe .ex-card h3{ margin:4px 0 0 !important; font-size:18px !important; line-height:1.3; color:var(--tinte) !important; flex-wrap:wrap }
.polka-reihe .ex-card h3 .mod-num{ background:none !important; padding:0 !important; color:var(--rot) !important; font-family:var(--schrift-display);
  font-size:1rem !important; font-weight:900 }
.polka-reihe .ex-card h3 + p{ font-family:var(--schrift-ku) !important; font-weight:400 !important; font-size:1.25rem; color:var(--rot) !important;
  text-align:right; margin:2px 0 6px !important }
.polka-reihe .ex-card .ex-desc{ font-size:14px !important; color:var(--tinte-2) !important }
.polka-reihe .ex-card .actions{ margin-top:auto !important; padding-top:var(--s2) }
.polka-reihe .ex-card .actions .primary{ flex:none !important; min-height:40px; display:inline-flex; align-items:center; padding:0 18px !important;
  border-radius:0 !important; background:var(--rot) !important; font-size:14px !important }
.polka-reihe .ex-card .actions .primary:hover{ background:var(--rot-tief) !important }
.polka-reihe .ex-card .actions .bonus{ min-height:40px; display:inline-flex; align-items:center; border-radius:0 !important;
  border:1px solid var(--papier-3) !important; color:var(--tinte-2) !important; background:none !important; font-size:13px !important }
.polka-reihe .ex-card .actions .bonus:hover{ border-color:var(--rot) !important; color:var(--rot) !important }
.polka-reihe .ex-card .bonus-zone{ border-radius:0 !important; border:0 !important; border-left:3px solid var(--rot) !important; background:var(--papier) !important }
.polka-reihe .ex-card.done{ background:var(--papier) !important }
.polka-reihe .ex-card.done::after{ top:var(--s2) !important; left:auto !important; right:var(--s2); width:22px !important; height:22px !important;
  background:var(--rot) !important; font-size:12px }

/* Trainer und Warm-Up: ruhige Kästen statt Farbrahmen */
.polka-reihe .warmup, .polka-reihe .trainer-card{ border-radius:0 !important; border:1px solid var(--papier-3) !important;
  background:var(--weiss) !important; box-shadow:none !important }
.polka-reihe .warmup-card{ border-radius:0 !important; border:1px dashed var(--papier-3) !important; background:var(--papier) !important }
.polka-reihe .warmup-card .word{ color:var(--rot) !important; font-family:var(--schrift-ku) !important; font-weight:400 !important }
.polka-reihe .warmup-title, .polka-reihe .trainer-card h3{ color:var(--tinte) !important }
.polka-reihe .warmup-streak{ border-radius:0 !important; background:none !important; color:var(--grau) !important; padding:0 !important; font-weight:400 !important }
.polka-reihe .warmup .btn, .polka-reihe .trainer-card .btn{ border-radius:0 !important; transform:none !important; min-height:40px }
.polka-reihe .warmup .btn:not(.outline), .polka-reihe .trainer-card .btn:not(.outline){ background:var(--rot) !important; color:#fff !important }
.polka-reihe .warmup .btn.outline, .polka-reihe .trainer-card .btn.outline{ background:none !important; color:var(--tinte) !important; border:1px solid var(--tinte-2) !important }
.polka-reihe .warmup .btn:hover, .polka-reihe .trainer-card .btn:hover{ background:var(--rot-tief) !important; color:#fff !important; border-color:var(--rot-tief) !important }

@media (max-width:640px){
  .polka-reihe .filter-search{ margin-left:0; width:100% }
  .polka-reihe .polka-reihe-stand{ gap:var(--s1) var(--s3) }
}
.polka-reihe .trainer-card *, .polka-reihe .warmup *{ border-radius:0 !important }
.polka-reihe .polka-reihe-feld > [hidden]{ display:none !important }
.polka-reihe .ex-card .ex-tag[hidden]{ display:none !important }
.polka-reihe .polka-reihe-zwischen{ text-transform:none !important; letter-spacing:0 !important }
.polka-reihe .polka-reihe-zwischen::before, .polka-reihe .polka-reihe-zwischen::after{ display:none !important; content:none !important }
.polka-reihe .trainer-card *{ background-image:none !important; box-shadow:none !important }
.polka-reihe .trainer-card .konj-w{ background-color:var(--tinte) !important }
.polka-reihe .polka-reihe-kuzeile{ margin:2px 0 6px !important; font-family:var(--schrift-ku); font-size:1.25rem; color:var(--rot); text-align:right }
.polka-reihe .ex-card .ex-desc[hidden]{ display:none !important }
.polka-reihe .ex-card .focus{ display:block !important; margin-top:4px; font-size:13px; color:var(--grau) }
.polka-reihe .ex-card .focus span{ display:inline !important; padding:0 !important; border:0 !important; background:none !important; color:inherit !important; font-size:inherit !important }
.polka-reihe .ex-card .focus span + span::before{ content:" · " }
.polka-reihe section[hidden]{ display:none !important }
.polka-reihe .polka-reihe-neu{ margin:0 0 var(--s2); font-size:14px; color:var(--tinte-2) }
.polka-reihe .polka-reihe-neu a{ color:var(--rot); font-weight:600; text-underline-offset:3px }
.polka-reihe .hub-nav[hidden]{ display:none !important }
.polka-reihe .polka-reihe-nachbarn{ display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:var(--s2); margin:clamp(48px,6vw,80px) 0 var(--s3);
  padding-top:var(--s2); border-top:1px solid var(--tinte) }
.polka-reihe .polka-reihe-nachbarn a{ display:flex; flex-direction:column; gap:2px; padding:var(--s2) 0; color:var(--tinte); text-decoration:none;
  font-family:var(--schrift-display); font-weight:900; font-size:clamp(1.2rem,2vw,1.5rem) }
.polka-reihe .polka-reihe-nachbarn a:last-child:not(:first-child){ text-align:right; align-items:flex-end }
.polka-reihe .polka-reihe-nachbarn small{ font-family:var(--schrift-ui); font-weight:400; font-size:13px; color:var(--grau) }
.polka-reihe .polka-reihe-nachbarn a:hover{ color:var(--rot) }
.polka-reihe .polka-reihe-nachbarn a:focus-visible{ outline:3px solid var(--rot); outline-offset:2px }
.polka-reihe .cert-callout{ background:var(--weiss) !important; border:1px solid var(--papier-3) !important; border-left:3px solid var(--rot) !important;
  border-radius:0 !important; box-shadow:none !important }
.polka-reihe .cert-callout::before, .polka-reihe .cert-callout .em{ display:none !important }
.polka-reihe .cert-callout h3{ font-family:var(--schrift-display) !important; color:var(--tinte) !important }
.polka-reihe .cert-callout .ku-emp{ font-family:var(--schrift-ku) !important; color:var(--rot) !important }
.polka-reihe .cert-callout .btn{ background:var(--rot) !important; border-radius:0 !important; min-height:44px; align-self:center }
.polka-reihe .cert-callout .btn{ justify-self:start; width:auto !important; padding:0 22px !important; display:inline-flex; align-items:center; white-space:nowrap }
.polka-reihe .prep-banner[hidden]{ display:none !important }
.polka-reihe .polka-reihe-kuzeile, .polka-reihe .ex-card h3 + p{ align-self:stretch; width:100% }
.polka-reihe .polka-reihe-video{ margin-top:var(--s4) }

/* ── Modulseiten: Feinschliff (Musterseite uebungen-rega-a1) ─────────────
   Keine kursiven Überschriften, keine runden Rahmen in den Schritten, Dialog
   als Tabelle in kurdischer Leserichtung: Sprecher, Umschrift, kurdisch rechts. */
.polka-modulkopf .lat-title, .vine-score{ font-style:normal !important }
[data-uebung] :is(.step-card,.step,.exr) *:not(.toggle-slider):not(input):not(.hotspot):not([class*="dot"]):not([class*="circle"]):not([class*="round"]):not([class*="avatar"]):not([class*="clock"]):not([class*="knob"]):not([class*="bubble"]):not([class*="pin"]):not(.play):not(.play-mini){ border-radius:0 !important }
[data-uebung] .dialog-bar{ border:0 !important; border-top:1px solid var(--tinte) !important; border-radius:0 !important;
  padding:0 !important; background:none !important; box-shadow:none !important }
[data-uebung] .dialog-line{ display:grid !important; grid-template-columns:72px minmax(0,1fr) minmax(0,1.2fr); gap:var(--s2);
  align-items:baseline; margin:0 !important; padding:12px 4px !important; border:0 !important;
  border-bottom:1px solid var(--papier-3) !important; background:none !important; box-shadow:none !important; cursor:pointer }
[data-uebung] .dialog-line:hover{ background:var(--weiss) !important }
[data-uebung] .dialog-line .speaker{ font-size:13px; font-weight:700; color:var(--rot) }
[data-uebung] .dialog-line .lat{ order:1; font-style:normal !important; font-size:15px; color:var(--tinte-2) }
[data-uebung] .dialog-line .ku{ order:2; text-align:right; font-size:1.4rem }
[data-uebung] .reveal-card{ border-width:1px !important; border-color:var(--tinte-2) !important; box-shadow:none !important }
@media (max-width:560px){
  [data-uebung] .dialog-line{ grid-template-columns:56px minmax(0,1fr) }
  [data-uebung] .dialog-line .ku{ grid-column:2; grid-row:1 }
  [data-uebung] .dialog-line .lat{ grid-column:2; grid-row:2; order:0 }
}
/* Module 2 bis 14: Schrittköpfe nur deutsch. Dann ist die deutsche Zeile die
   Überschrift, nicht die kleine Versalien-Unterzeile. */
.ueb-kopf__wort:not(:has(> .ku)) .ueb-kopf__de{
  margin-top:0; font-family:var(--schrift-display); font-size:1em; font-weight:900;
  letter-spacing:0; text-transform:none; opacity:1; color:var(--tinte); line-height:1.25 }
[data-uebung] .instruction{ color:var(--tinte) !important; font-style:normal !important }
/* Schrittköpfe mit deutschem Titel und eingestreutem Kurdisch („Die ـی-
   Herausforderung"): nicht in Versalien und Rot, sondern wie die übrigen
   Überschriften; das Kurdische bleibt rot. */
[data-uebung] .ueb-kopf{ text-transform:none !important; letter-spacing:0 !important; color:var(--tinte) !important }
[data-uebung] .ueb-kopf .ku{ color:var(--rot) }
/* Modulseiten auf dem Handy: das schwebende Stufen-Abzeichen deckte das Logo
   zu, die Rückleiste wiederholte den Titel in zwei Schriften, die drei
   Kennzeichen standen je in einer eigenen Zeile. */
@media (max-width:560px){
  .niveau-badge-c{ display:none !important }
  [data-uebung] .back-bar span{ display:none !important }
  .polka-modulkopf .meta{ gap:6px }
  .polka-modulkopf .meta .pill{ padding:5px 10px !important; font-size:13px !important }
}
/* Übungsgrafiken (Uhr u. a.) nie breiter als die Spalte; Zeitleiste und
   Bühnen auf schmalen Bildschirmen enger (Modul 7: Uhr lief bei 320 px über,
   die Zeitleiste schnitt ihre Felder ab). */
[data-uebung] :is(.step-card,.step,.exr) svg[viewBox]{ max-width:100% }
/* nur Grafiken mit fester Pixelhöhe (Uhr) mitskalieren; absolut gesetzte
   Grafiken (Körperfigur A2-5) füllen ihren Rahmen und behalten height:100% */
[data-uebung] .clock-svg{ height:auto }
@media (max-width:560px){
  [data-uebung] [class$="-arena"], [data-uebung] [class*="-arena "]{ padding:12px !important }
  [data-uebung] .timeline{ padding:0 6px !important; gap:4px }
  [data-uebung] .timeline-slot{ min-width:0 }
  [data-uebung] .slot-box{ min-width:0 !important; padding:6px 4px !important; font-size:.95em !important }
}
[data-uebung] :is(.step-card,.step,.exr) canvas{ max-width:100%; height:auto }
@media (max-width:560px){
  [data-uebung] :is(.step-card,.step,.exr) :is(div,table,img){ max-width:100% }
  [data-uebung] :is(.step-card,.step,.exr) [class*="grid"], [data-uebung] :is(.step-card,.step,.exr) [class*="container"]{ min-width:0 }
}
/* Rasterkinder dürfen schrumpfen (Modul 9: Stadtplan mit drei 1fr-Spalten lief
   bei 375 px über), lange Wörter brechen. */
[data-uebung] :is(.step-card,.step,.exr) [class*="grid"] > *{ min-width:0; overflow-wrap:anywhere }
@media (max-width:480px){
  [data-uebung] .city-grid{ grid-template-columns:repeat(2,minmax(0,1fr)) !important }
  [data-uebung] .city-place{ padding:10px 4px !important; min-height:90px !important }
}

/* Wort-Plättchen mit Umschrift darunter (A2-5 u. a.): Spalte statt Zeile */
[data-uebung] .word-chip{ flex-direction:column; align-items:center; gap:2px; line-height:1.3 }
[data-uebung] .word-chip small{ font-style:normal !important }
/* A2-5 „Der virtuelle Patient": Die Hotspots saßen mit festen Pixelwerten
   neben der Figur (Hand links außerhalb, Fuß am Knie). Rahmen im Seitenverhältnis
   der Grafik (200 × 400), Punkte in Prozent der Grafik auf das Körperteil. */
[data-uebung] .body-canvas{ width:220px; max-width:100%; height:auto !important; aspect-ratio:200/400 }
[data-uebung] .body-canvas .hotspot{ transform:translate(-50%,-50%) }
[data-uebung] .body-canvas .hotspot[data-target="ser"]{ left:50% !important; top:6% !important }
[data-uebung] .body-canvas .hotspot[data-target="chaw"]{ left:58% !important; top:13.5% !important }
[data-uebung] .body-canvas .hotspot[data-target="dast"]{ left:25.5% !important; top:57% !important }
[data-uebung] .body-canvas .hotspot[data-target="sik"]{ left:50% !important; top:40% !important }
[data-uebung] .body-canvas .hotspot[data-target="pe"]{ left:41% !important; top:86% !important }

/* A1-10 Hewlêr-Quest: Theorie-Brücke als ruhige Zeile statt Karte mit Knopf,
   Spielanzeige hell statt schwarzer Block, Spielfeld ohne Kasten in Kasten. */
.polka-bruecke{ display:grid; gap:2px; padding:14px 0 14px 18px; margin:0 0 28px;
  border-left:3px solid var(--rot); color:var(--tinte); text-decoration:none }
.polka-bruecke__mark{ font:700 .72rem/1.4 var(--schrift-ui); letter-spacing:.08em; text-transform:uppercase; color:var(--grau) }
.polka-bruecke__titel{ font:700 1.05rem/1.35 var(--schrift-ui); color:var(--rot) }
.polka-bruecke:hover .polka-bruecke__titel{ text-decoration:underline; text-underline-offset:3px }
.polka-bruecke:focus-visible{ outline:2px solid var(--rot); outline-offset:3px }
.polka-bruecke__satz{ font-size:.9rem; line-height:1.5; color:var(--tinte); overflow-wrap:anywhere }

[data-uebung] .quest-hud{ background:transparent; color:var(--tinte); border:1px solid var(--papier-3, #d8d4cb); border-radius:0; padding:0; gap:0; margin:28px 0 10px }
[data-uebung] .hud-cell{ background:transparent; border-radius:0; padding:12px 16px }
[data-uebung] .hud-cell + .hud-cell{ border-left:1px solid var(--papier-3, #d8d4cb) }
[data-uebung] .hud-cell h4{ color:var(--grau); letter-spacing:.08em }
[data-uebung] .hud-cell .val{ color:var(--tinte) }
[data-uebung] .hud-cell > div[style]{ color:var(--grau) !important }
@media (max-width:600px){
  [data-uebung] .quest-hud{ grid-template-columns:repeat(3,minmax(0,1fr)) }
  [data-uebung] .hud-cell{ padding:10px 6px }
  [data-uebung] .hud-cell h4{ font-size:.66rem }
  [data-uebung] .hud-cell .val{ font-size:1.15em }
}

[data-uebung] .quest-arena{ background:transparent !important; border:0 !important; padding:0 !important }
[data-uebung] .city-board{ background:transparent !important; border:0 !important; padding:0 !important }
[data-uebung] .city-board h4{ font-family:var(--schrift-ui) }
[data-uebung] .control-panel{ min-width:0 }
[data-uebung] .phase-task{ background:transparent !important; border:0 !important; border-left:3px solid var(--rot) !important; padding:4px 0 4px 14px !important; text-align:left }
[data-uebung] .cell .lbl{ font-size:max(11px,.4em) }
.polka-legende{ text-align:center; font-size:.8rem; color:var(--grau); margin:10px 0 0 }
[data-uebung] .phase-task .de-line{ font-style:normal !important; color:var(--grau) }
[data-uebung] .phase-task .badge{ border-radius:0 }
[data-uebung] .control-panel{ border-color:var(--papier-3, #d8d4cb) !important }
[data-uebung] .chat-box{ background:var(--papier-2, #f1efea) !important; border:0 !important }
[data-uebung] .chat-msg .tr, [data-uebung] .opt-btn small, [data-uebung] .arrow-btn .lbl-small{ font-style:normal !important }
[data-uebung] .arrow-btn:hover:not(:disabled){ transform:none }
[data-uebung] .sentence-builder, [data-uebung] .sb-pool{ background:var(--papier-2, #f1efea) !important }

/* A1-11 Intensitäts-Skala: Verlaufspille mit weißer Schrift, darunter gedrehte
   Zielfelder, die Beschriftungen verdeckten und auf dem Handy überliefen.
   Jetzt fünf gleiche Spalten: Zahl, Wort, Zielfeld, darunter eine Achse. */
[data-uebung] .scale-bar{ height:auto !important; background:none !important; border:0 !important; padding:0 !important; margin:18px 0 22px !important }
[data-uebung] .scale-marks, [data-uebung] .scale-slots{ position:static !important; transform:none !important;
  display:grid !important; grid-template-columns:repeat(5,minmax(0,1fr)); justify-items:center; gap:4px }
[data-uebung] .scale-marks{ padding-bottom:10px; border-bottom:2px solid var(--rot); margin-bottom:12px }
[data-uebung] .scale-mark{ color:var(--tinte) !important; text-shadow:none !important; min-width:0; text-align:center }
[data-uebung] .scale-mark .lbl{ font-style:normal !important; font-weight:500; color:var(--grau); font-size:.72rem; overflow-wrap:anywhere }
[data-uebung] .scale-slot{ width:min(48px,100%) !important; aspect-ratio:1; height:auto !important }
/* A1-11: schwarze Ausgabezeile des Satzbaus hell, Schalter der Negations-Wippe
   wieder als Schalter (die allgemeine Eckenregel hatte ihn zum Kasten gemacht). */
[data-uebung] .archi-readout{ background:var(--papier-2) !important; color:var(--tinte) !important; border-left:3px solid var(--rot) }
[data-uebung] .neg-switch{ border-radius:25px !important; border:0 !important; background:var(--rot-tief) !important }
[data-uebung] .neg-switch.on{ background:var(--rot) !important }
[data-uebung] .neg-switch:focus-visible{ outline:2px solid var(--rot); outline-offset:3px }

/* Übungskapitel (body.polka-kapitel, gesetzt in polka.js): Abschnittsköpfe als
   Überschrift mit Linie statt rotem Verlaufsbalken mit Emoji; Wortmarken im
   Fließtext und in Tabellen klein statt 42 px hoher Filterknöpfe. */
.polka-kapitel__ku{ display:block; margin-top:.25em; font-family:var(--schrift-ku); font-size:.48em; line-height:1.4; letter-spacing:0; text-transform:none }
.polka-kapitel .ph-emblem{ display:none !important }
.polka-kapitel .section-title{ background:none !important; color:var(--tinte) !important; border-radius:0 !important;
  padding:0 0 10px !important; margin:56px 0 0 !important; border-bottom:2px solid var(--tinte);
  font-family:var(--schrift-display); font-size:clamp(1.35rem,2.4vw,1.75rem) !important; font-weight:700; letter-spacing:0 !important; text-transform:none !important }
.polka-kapitel .section-body{ background:var(--weiss) !important; border:1px solid var(--papier-3) !important; border-top:0 !important; border-radius:0 !important; padding:20px 22px !important }
.polka-kapitel :is(.section-body, .ex-intro, .q-card, .rule) .pill{ min-height:0; display:inline-block; padding:1px 8px; font-size:.92em; line-height:1.5;
  background:var(--papier-2); border:0; color:var(--tinte) }
.polka-kapitel .section-body th{ background:var(--papier-2) !important; color:var(--tinte-2) !important }
.polka-kapitel table:has(td.icon) th:empty:first-child, .polka-kapitel td.icon{ display:none }
.polka-kapitel .section-body table{ max-width:100% }
@media (max-width:600px){ .polka-kapitel .section-body{ padding:16px 14px !important } }
.ph-hero h1 .polka-kapitel__ku{ font-size:clamp(1.3rem,2.6vw,2.1rem) !important; font-weight:400 !important }
.polka-kapitel .ph-hero .pill{ min-height:0; display:inline-block; padding:0 6px; background:rgba(255,255,255,.16) !important; border:0 !important; color:#fff !important }
/* Zuordnungsraster: zwei Spalten mit 1fr ließen lange Wörter die Spalte sprengen (320 px) */
.polka-kapitel .match-grid{ grid-template-columns:repeat(2,minmax(0,1fr)) }
.polka-kapitel .match-col, .polka-kapitel .match-item{ border-radius:0 !important; min-width:0; overflow-wrap:anywhere }
@media (max-width:480px){
  .polka-kapitel .match-grid{ gap:8px }
  .polka-kapitel .match-col{ padding:8px }
  .polka-kapitel .match-item{ padding:8px 10px; font-size:14px }
}

/* Lesetexte (body.polka-lesetexte): Wortliste in kurdischer Leserichtung,
   kurdisches Wort rechts, Bedeutung daneben, Abspielknopf links; die Liste
   sprengte mit festen 280 px und vier Spalten die Breite auf dem Handy. */
.polka-lesetexte .text-emoji{ display:none }
.polka-lesetexte .text-list{ border-radius:0; padding:0; gap:0; background:transparent; border:0; border-bottom:1px solid var(--papier-3) }
.polka-lesetexte .text-tab{ border-radius:0; padding:10px 12px; border-bottom:2px solid transparent; margin-bottom:-1px }
.polka-lesetexte .text-tab.active{ background:transparent !important; color:var(--tinte) !important; border-bottom-color:var(--rot) }
.polka-lesetexte .vocab-grid{ grid-template-columns:repeat(auto-fill,minmax(min(100%,300px),1fr)) }
.polka-lesetexte .v-item{ grid-template-columns:auto minmax(0,1fr) minmax(0,1fr) minmax(0,1fr); border-bottom:1px solid var(--papier-3) }
.polka-lesetexte .v-item .play-mini{ order:1 }
.polka-lesetexte .v-item .de{ order:2; overflow-wrap:anywhere }
.polka-lesetexte .v-item .lat{ order:3; color:var(--grau); overflow-wrap:anywhere }
.polka-lesetexte .v-item .ku{ order:4; text-align:right }
.polka-lesetexte :is(.q-btn, .opt-tag, .audio-btn, .script-toggle button, .vocab-box, .grammar-box, .audio-player){ border-radius:0 !important }
.polka-lesetexte .text-head{ flex-wrap:wrap }
.polka-lesetexte .text-titles h2{ overflow-wrap:anywhere }
/* Sortierkörbe: 1fr-Spalten wuchsen mit langen Überschriften über den Rand */
.polka-kapitel .classify-row{ grid-template-columns:repeat(4,minmax(0,1fr)) }
@media (max-width:700px){ .polka-kapitel .classify-row{ grid-template-columns:repeat(2,minmax(0,1fr)) } }
.polka-kapitel .bucket{ min-width:0; border-radius:0 !important; overflow-wrap:anywhere }
.polka-kapitel .bucket h4{ overflow-wrap:anywhere; hyphens:auto }
@media (max-width:520px){
  .polka-lesetexte .text-panel{ padding-left:14px !important; padding-right:14px !important }
  .polka-lesetexte .vocab-box{ padding-left:12px !important; padding-right:12px !important }
  .polka-lesetexte .v-item{ grid-template-columns:auto minmax(0,1fr) minmax(0,1fr);
    grid-template-areas:"p ku ku" "p de lat"; row-gap:2px }
  .polka-lesetexte .v-item .play-mini{ grid-area:p }
  .polka-lesetexte .v-item .ku{ grid-area:ku }
  .polka-lesetexte .v-item .de{ grid-area:de; overflow-wrap:normal }
  .polka-lesetexte .v-item .lat{ grid-area:lat; text-align:right }
}
.polka-lesetexte :is(.text-panel, .q-item){ border-radius:0 !important }
/* Formel-, Info- und Schiebereglerkästen der Kapitel: rosa Verlauf mit 2-px-Rahmen
   und runden Ecken; jetzt Papierton, Haarlinie, Formelbausteine eckig. */
.polka-kapitel :is(.formula-box, .slider-box){ background:var(--papier-2) !important; border:1px solid var(--papier-3) !important; border-radius:0 !important }
.polka-kapitel .info-box{ background:var(--weiss) !important; border:0 !important; border-left:3px solid var(--rot) !important; border-radius:0 !important }
.polka-kapitel .formula-piece{ border-radius:0 !important; border-width:1px !important }
.polka-kapitel .formula-box em, .polka-kapitel .formula-box i{ font-style:normal }
/* Wochentag-Kalender (Zeit): 1fr-Spalten wuchsen mit kurdischen Tagesnamen über den Rand */
.polka-kapitel .cal-grid{ grid-template-columns:repeat(7,minmax(0,1fr)) }
@media (max-width:700px){ .polka-kapitel .cal-grid{ grid-template-columns:repeat(4,minmax(0,1fr)) } }
.polka-kapitel .cal-day{ min-width:0; overflow-wrap:anywhere; border-width:1px; border-radius:0 !important; padding:8px 4px }
.polka-kapitel .cal-detail{ background:var(--papier-2) !important; border:1px solid var(--papier-3) !important; border-radius:0 !important }
.ph-hero h1 .polka-kapitel__ku{ display:block !important; margin-top:.3em }

/* C2-Übungsblätter (body.polka-blatt): Lernziele, Übungskarten, Spalten eckig und ruhig */
.polka-blatt .lernziele{ background:var(--weiss) !important; border:0 !important; border-left:3px solid var(--rot) !important; border-radius:0 !important; box-shadow:none !important }
.polka-blatt .lernziele h2{ font-size:1.1rem; color:var(--tinte) }
.polka-blatt .exercise{ border-radius:0 !important; box-shadow:none !important; border-color:var(--papier-3) !important }
.polka-blatt .ex-num{ border-radius:0 !important; background:transparent !important; color:var(--rot) !important; padding:0 !important; letter-spacing:.12em; text-transform:uppercase }
.polka-blatt .instruction{ color:var(--tinte-2) !important }
.polka-blatt :is(.stmt-card, .col-head, .col-zone, .mc-opt, .marker-card, .rose-card, .ch-btn, .alliter-word){ border-radius:0 !important }
.polka-blatt .col-head{ background:var(--tinte) !important }
.polka-blatt .col-head + .col-zone, .polka-blatt .col-zone{ background:var(--papier-2) !important; border-width:1px !important; border-color:var(--papier-3) !important }
.polka-blatt .exercise :is(h2,h3){ overflow-wrap:anywhere }

/* Klassische Literatur (body.polka-literatur): rosa Verlaufskarten mit Schatten und
   runden Ecken wurden zu Papierflächen mit Haarlinie; Emoji-Bildnisse entfallen. */
.polka-literatur :is(.section-block, .poet-card, .tl-card, .stil-card, .reco-card, .analysis-block){
  background:var(--weiss) !important; border:1px solid var(--papier-3) !important; border-radius:0 !important; box-shadow:none !important; transform:none !important }
.polka-literatur .verse-box{ background:var(--papier-2) !important; border-radius:0 !important; border-left-width:3px !important }
.polka-literatur :is(.theme-tag, .chip){ border-radius:0 !important; background:var(--papier-2) !important; border:0 !important; color:var(--tinte-2) !important }
.polka-literatur .poet-avatar{ display:none !important }
.polka-literatur [class*="hero"]{ border-radius:0 !important; box-shadow:none !important }
/* Dialektvergleich: Tabelle schnitt die vierte Spalte ab (overflow:hidden), Kurmanji kursiv */
.polka-kapitel .cmp-tbl{ overflow-x:auto !important; border-radius:0 !important }
.polka-kapitel .cmp-tbl td.so{ font-size:16px; font-weight:500 }
.polka-kapitel .cmp-tbl td.ku{ font-style:normal; font-size:14px; font-weight:500 }
.polka-kapitel .intro-box{ border-radius:0 !important; box-shadow:none !important }
/* 320 px: feste 260-px-Mindestspalten, Satzbausteine ohne Schrumpfen, Auswahlfelder */
.polka-literatur :is(.stil-grid, .reco-grid){ grid-template-columns:repeat(auto-fill,minmax(min(100%,260px),1fr)) }
.polka-literatur :is(.stil-card, .reco-card){ min-width:0; overflow-wrap:anywhere }
.polka-blatt .brick{ min-width:0; overflow-wrap:anywhere; border-radius:0 !important }
.polka-blatt .brick > :not(.arrows){ min-width:0 }
.polka-blatt .essay-bricks{ border-radius:0 !important; padding:10px !important }
.polka-blatt select{ max-width:100%; border-radius:0 }
.polka-blatt .heimat-row{ border-radius:0 !important; overflow-wrap:anywhere }
@media (max-width:420px){
  .polka-blatt .brick{ padding:9px 10px !important; gap:8px !important }
  .polka-blatt .brick > *{ min-width:0 }
}
/* Quellen-Ranking: Text schrumpfte nicht, die Pfeile liefen bei 320 px hinaus */
.polka-blatt :is(.rank-item, .brick) > :not(.arrows):not(.rank-num):not(.pos){ min-width:0; overflow-wrap:anywhere }
.polka-blatt :is(.rank-item, .rank-list){ border-radius:0 !important }
@media (max-width:480px){
  .polka-blatt .exercise{ padding:18px 14px !important }
  .polka-blatt .rank-item{ padding:9px 10px !important; gap:8px !important }
}

/* Kausativ (Einzelseite mit .section-card): zweite Brotkrumenzeile mit Emoji
   doppelte die obere; Abschnittskarten und Tabellenköpfe wie in den Kapiteln. */
.polka-kapitel .container > .breadcrumb{ display:none }
.polka-kapitel .section-card{ border-radius:0 !important; box-shadow:none !important; border-color:var(--papier-3) !important }
.polka-kapitel .section-card .num{ border-radius:0 !important; background:var(--rot) !important }
.polka-kapitel .compare-table th{ background:var(--papier-2) !important; color:var(--tinte-2) !important }
.polka-kapitel .compare-table{ border-radius:0 !important }
.ph-hero-custom h1{ font-family:var(--schrift-display) !important }
.ph-hero-custom h1 .polka-kapitel__ku, .ph-hero h1 .polka-kapitel__ku{ text-align:left }

/* C1-Drills (body.polka-drill): Karten mit 2-px-Goldrahmen, Schatten und kursiven
   Titeln; jetzt eckig, Haarlinie, aufrechte Schrift. Zurück-Leiste wie Brotkrumen. */
.polka-drill .ex-card{ border:1px solid var(--papier-3) !important; border-radius:0 !important; box-shadow:none !important }
.polka-drill .ex-card *:not(em):not(i){ font-style:normal !important }
.polka-drill .ex-card h3{ font-family:var(--schrift-display) !important; color:var(--tinte) !important }
.polka-drill .ex-num{ border-radius:0 !important; font-family:var(--schrift-ui) !important; background:var(--rot) !important }
.polka-drill .score{ border-radius:0 !important; border-width:1px !important; background:var(--papier-2) !important; border-color:var(--papier-3) !important }
.polka-drill .ex-card :is(button, .btn, [class*="slot"], [class*="col"], [class*="bin"], [class*="item"]){ border-radius:0 !important }
.polka-drill .ex-card :is(.desc, p){ overflow-wrap:anywhere }
.polka-drill .back-bar span{ font-style:normal !important }
.drill-hero h1{ font-family:var(--schrift-display) !important }
.drill-hero .subtitle{ font-style:normal !important; font-family:var(--schrift-ui) !important }

/* Idiome: Kategorie-Balken wie Abschnittsköpfe, Karten eckig ohne Schatten */
.polka-kapitel .cat-title{ background:none !important; color:var(--tinte) !important; border-radius:0 !important; padding:0 0 10px !important;
  border-bottom:2px solid var(--tinte); font-family:var(--schrift-display); font-size:1.3rem !important; letter-spacing:0 !important }
.polka-kapitel .cat-emoji{ display:none }
.polka-kapitel .cat-count{ background:none !important; color:var(--grau); font-weight:500 !important; font-size:12px !important; padding:0 !important }
.polka-kapitel .cat-body{ background:transparent !important; border:0 !important; border-radius:0 !important; padding:14px 0 0 !important }
.polka-kapitel .idiom-card{ border:1px solid var(--papier-3) !important; border-radius:0 !important; box-shadow:none !important; transform:none !important }
.polka-kapitel .id-num{ border-radius:0 !important; background:transparent !important; padding:0 !important }
.polka-kapitel .idiom-lat{ font-style:normal }
.polka-kapitel .quiz-block{ border-radius:0 !important; box-shadow:none !important }
/* 320 px: Beschriftung der Leisten durfte nicht schrumpfen, Statistikraster mit 1fr */
.polka-drill :is(.bias-bar, .lg-bar, [class$="-bar"]) .l{ flex-shrink:1 !important; min-width:0; overflow-wrap:anywhere }
.polka-drill :is(.bias-bar, .lg-bar){ flex-wrap:wrap }
.polka-drill .ma-stats{ grid-template-columns:repeat(3,minmax(0,1fr)) }
.polka-drill .ma-stat{ min-width:0; overflow-wrap:anywhere; border-radius:0 !important; border-width:1px !important; font-style:normal !important }
.polka-drill .meta{ font-style:normal !important }
.polka-lesetexte .bar-controls{ min-width:0; flex-wrap:wrap }
.polka-lesetexte .bar-controls > *{ min-width:0; max-width:100% }
.polka-lesetexte .item{ grid-template-columns:repeat(3,minmax(0,1fr)) }
@media (max-width:600px){ .polka-lesetexte .item{ grid-template-columns:minmax(0,1fr) } }
.polka-lesetexte .item > *{ min-width:0; overflow-wrap:anywhere }
@media (max-width:600px){
  .polka-lesetexte .vocab-grid-pro{ grid-template-columns:minmax(0,1fr) !important }
  .polka-lesetexte .vocab-grid-pro .item{ grid-template-columns:repeat(3,minmax(0,1fr)) !important }
}
.polka-lesetexte .gender-mini{ flex-wrap:wrap; min-width:0 }

/* Künstlerseiten (body.polka-kuenstler): Liedgruppen als Abschnitte mit Linie,
   Lieder als ruhige Liste in Spalten statt Emoji-Pillen; Kopf ohne Emoji-Bildnis,
   Kennzahlen als Zahlenzeile, Zitat aufrecht. */
.polka-kuenstler .at-avatar, .polka-kuenstler .at-gico{ display:none !important }
.polka-kuenstler .at-hero h1{ font-family:var(--schrift-display) }
.polka-kuenstler .at-quote{ font-style:normal !important; background:none !important; border-radius:0 !important; border-left:3px solid rgba(255,255,255,.6) !important }
.polka-kuenstler .at-stats{ gap:0 !important }
.polka-kuenstler .at-stat{ background:none !important; border:0 !important; border-left:1px solid rgba(255,255,255,.35) !important; border-radius:0 !important; padding:4px 18px !important; text-align:left !important }
.polka-kuenstler .at-stat:first-child{ border-left:0 !important; padding-left:0 !important }
.polka-kuenstler .at-life, .polka-kuenstler .at-group{ background:none !important; border:0 !important; border-radius:0 !important; padding:0 !important; margin:0 0 44px !important; box-shadow:none !important }
.polka-kuenstler .at-life h2, .polka-kuenstler .at-gtitle{ font-family:var(--schrift-display); font-size:clamp(1.3rem,2.4vw,1.7rem) !important; text-transform:none !important; letter-spacing:0 !important;
  color:var(--tinte) !important; padding-bottom:10px; border-bottom:2px solid var(--tinte); margin:0 0 12px !important }
.polka-kuenstler .at-life h2::before, .polka-kuenstler .at-gtitle::before{ display:none !important }
.polka-kuenstler .at-gn{ background:none !important; color:var(--grau) !important; font-family:var(--schrift-ui); font-size:.8rem !important; font-weight:500 !important; padding:0 !important; margin-left:10px }
.polka-kuenstler .at-ghead{ display:block }
.polka-kuenstler .at-chips{ display:grid; grid-template-columns:repeat(auto-fill,minmax(min(100%,230px),1fr)); column-gap:28px; margin-top:16px !important }
.polka-kuenstler .at-chip{ display:block !important; margin:0 !important; padding:10px 0 !important; border:0 !important; border-bottom:1px solid var(--papier-3) !important;
  border-radius:0 !important; background:none !important; color:var(--tinte) !important; font-weight:500; text-decoration:none; overflow-wrap:anywhere }
.polka-kuenstler .at-chip:hover{ color:var(--rot) !important }
.polka-kuenstler .at-chip:focus-visible{ outline:2px solid var(--rot); outline-offset:2px }
.at-hero h1 .polka-kapitel__ku{ display:block !important; text-align:left; margin-top:.3em; font-size:.55em !important }
.polka-kuenstler .at-hero h1{ font-size:clamp(2.2rem,5vw,3.6rem) !important; line-height:1.05 }

/* Liedseiten: Titel in drei Ebenen statt einer kleinen Zeile */
.polka-liedseite .polka-auftakt h1{ display:flex; flex-direction:column; gap:.35em; margin:0 0 14px }
.polka-liedseite .lied-titel{ font-family:var(--schrift-display); font-size:clamp(2rem,5vw,3.4rem); line-height:1.05; overflow-wrap:anywhere }
.polka-liedseite .lied-unter{ font-family:var(--schrift-ui); font-size:clamp(1rem,1.8vw,1.25rem); font-weight:500; text-transform:none; letter-spacing:0; opacity:.92 }
.polka-liedseite .lied-saenger{ font-family:var(--schrift-ui); font-size:.8rem; font-weight:700; letter-spacing:.12em; text-transform:uppercase; opacity:.85 }
/* Sänger mit eigenem Porträtbanner: Gesicht sitzt in der Bildmitte und lag unter
   dem Text. Ausschnitt nach links verschoben (Person rückt nach rechts), Text
   auf die linke Hälfte begrenzt. */
@media (min-width:900px){
  .polka-kuenstler .at-hero.polka-eigenes-bild .polka-foto{ object-position:28% 30% }
  .polka-kuenstler .at-hero.polka-eigenes-bild > :not(.polka-foto):not(.polka-flug):not(.polka-riss){ max-width:min(560px,50%) }
}
.polka-liedseite .ldr-ctrls{ flex-wrap:wrap; min-width:0 } .polka-liedseite .ldr-ctrls > *{ min-width:0; max-width:100% }
/* Liedseiten mit Sängerporträt: Person nach rechts, Text auf die linke Hälfte */
@media (min-width:900px){
  .polka-saengerbild .polka-foto{ object-position:28% 30% }
  .polka-saengerbild > :not(.polka-foto):not(.polka-flug):not(.polka-riss):not(.polka-zeitung){ max-width:min(560px,50%) }
}
@media (min-width:900px){
  .polka-saengerbild{ min-height:460px }
  .polka-saengerbild .polka-foto{ object-position:22% 28% }
  .polka-saengerbild > :not(.polka-foto):not(.polka-flug):not(.polka-riss):not(.polka-zeitung){ max-width:min(520px,44%) }
}
/* Handy: das Porträt lag blass hinter dichtem Text. Es steht jetzt als eigener
   Bildstreifen oben im Kopf und läuft nach unten ins Rot aus; der Text beginnt
   darunter. Gilt für Sänger- und Liedseiten mit Porträt. */
@media (max-width:899px){
  .polka-saengerbild, .polka-kuenstler .at-hero.polka-eigenes-bild{ padding-top:250px !important }
  .polka-saengerbild .polka-foto, .polka-kuenstler .at-hero.polka-eigenes-bild .polka-foto{
    height:290px !important; bottom:auto !important; opacity:.9 !important; object-position:44% 22% !important;
    -webkit-mask-image:linear-gradient(#000 62%, transparent); mask-image:linear-gradient(#000 62%, transparent) }
}

/* Sänger-Lebenslauf als Chronik: Stichwort- oder Jahresspalte links in der
   Titelschrift, Text rechts, feine Linien statt Punktkette mit Verlaufsstrich. */
.polka-chronik{ padding:0 !important; margin:0 !important; border-top:1px solid var(--papier-3) }
.polka-chronik::before, .polka-chronik > li::before{ display:none !important }
.polka-chronik > li{ display:grid; grid-template-columns:minmax(0,11rem) minmax(0,1fr); column-gap:28px;
  margin:0 !important; padding:16px 0; border-bottom:1px solid var(--papier-3) }
.polka-tl-marke{ font-family:var(--schrift-display); font-weight:700; font-size:1.15rem; line-height:1.3; color:var(--rot); overflow-wrap:anywhere }
.polka-tl-text{ line-height:1.65; color:var(--tinte) }
.polka-tl-text b{ color:var(--tinte) !important; font-weight:700 }
@media (max-width:640px){
  .polka-chronik > li{ grid-template-columns:minmax(0,1fr); row-gap:4px; padding:14px 0 }
  .polka-tl-marke{ font-size:1.05rem }
}

/* Dichterseiten lebendiger: Einstieg mit Initiale, Jahreszahl als Auftakt der
   Überschrift, große Listenziffern, Steckbrief mit kräftigem Kopf. */
.polka-dichterseite .polka-einstieg{ font-size:clamp(1.15rem,1.6vw,1.3rem) !important; line-height:1.65 !important; color:var(--tinte) }
.polka-dichterseite .polka-einstieg::first-letter{ float:left; font-family:var(--schrift-display); font-weight:800;
  font-size:4.2em; line-height:.82; margin:.06em .1em 0 0; color:var(--rot) }
.polka-dichterseite h2.polka-mit-jahr{ display:flex; flex-direction:column; gap:2px }
.polka-jahr{ font-family:var(--schrift-display); font-weight:800; font-size:clamp(1.9rem,3.4vw,2.6rem); line-height:1; color:var(--rot); letter-spacing:-.01em }
.polka-jahr-titel{ font-size:inherit }
.polka-dichterseite .lit-panel ol{ list-style:none; counter-reset:dz; padding:0 !important; margin:8px 0 18px !important; background:none !important; border:0 !important }
.polka-dichterseite .lit-panel ol > li{ counter-increment:dz; position:relative; padding:10px 0 10px 3.2rem; border-top:1px solid var(--papier-3); max-width:68ch }
.polka-dichterseite .lit-panel ol > li:last-child{ border-bottom:1px solid var(--papier-3) }
.polka-dichterseite .lit-panel ol > li::before{ content:counter(dz); position:absolute; left:0; top:4px; font-family:var(--schrift-display); font-weight:800; font-size:1.9rem; line-height:1.1; color:var(--rot) }
.polka-dichterseite .lit-facts{ border:0 !important; border-top:6px solid var(--rot) !important; background:var(--weiss) !important; padding:20px 22px !important }
.polka-dichterseite .lit-facts h3, .polka-dichterseite .lit-facts h2{ font-family:var(--schrift-display); font-size:1.35rem; margin:0 0 12px }
.polka-dichterseite .lit-facts dt{ font-size:.72rem; letter-spacing:.1em; text-transform:uppercase; color:var(--grau); font-weight:700 }
.polka-dichterseite .lit-facts dd{ color:var(--tinte); font-weight:500 }
.polka-dichterseite .lit-facts dd[lang="ckb"], .polka-dichterseite .lit-facts dd .ku{ font-size:1.3rem; color:var(--rot) }

/* Dichterseiten mit eigenem Porträt: wie bei den Sängern Person rechts, Text
   links; auf dem Handy als Bildstreifen über dem Titel. */
@media (min-width:900px){
  .polka-dichterseite .polka-auftakt.polka-eigenes-bild{ min-height:440px }
  .polka-dichterseite .polka-auftakt.polka-eigenes-bild .polka-foto{ object-position:22% 28% }
  .polka-dichterseite .polka-auftakt.polka-eigenes-bild > :not(.polka-foto):not(.polka-flug):not(.polka-riss):not(.polka-zeitung){ max-width:min(560px,48%) }
}
@media (max-width:899px){
  .polka-dichterseite .polka-auftakt.polka-eigenes-bild{ padding-top:250px !important }
  .polka-dichterseite .polka-auftakt.polka-eigenes-bild .polka-foto{ height:290px !important; bottom:auto !important; opacity:.9 !important; object-position:44% 22% !important;
    -webkit-mask-image:linear-gradient(#000 62%, transparent); mask-image:linear-gradient(#000 62%, transparent) }
}

/* Porträts mit Person links (BILD_LINKS in polka.js): Text rechts, Bild links */
@media (min-width:900px){
  .polka-text-rechts .polka-foto{ object-position:40% 25% !important }
  .polka-text-rechts > :not(.polka-foto):not(.polka-flug):not(.polka-riss):not(.polka-zeitung){ margin-left:auto !important; margin-right:0 !important }
}
@media (max-width:899px){
  .polka-text-rechts:not(.polka-bild-mitte) .polka-foto{ object-position:30% 20% !important }
}
@media (min-width:900px){
  .polka-text-rechts.polka-bild-mitte .polka-foto{ object-position:85% 25% !important }
}

/* Hallmark · Lehrseiten-Bausteine (lz-*, früher kd-: kollidierte mit assets/module.css) · 2026-10-04
   Gemeinsam für die neu gefassten Grammatikseiten (Konditional, Pronomen …).
   Kurdisch steht als Spalte rechts, Deutsch daneben; auf dem Handy Kurdisch oben. */
  .lz-eckdaten{margin:14px 0 0;font-size:.82rem;letter-spacing:.04em;color:var(--muted)}
  .lz .ku{font-family:"Shasenem Soran","Noto Naskh Arabic",Tahoma,sans-serif}
  .lz-punkt{display:inline-block;flex:none;width:.8em;height:.8em;border-radius:50%;border:2px solid var(--accent);background:transparent}
  .lz-punkt--voll,.lz-typ--voll .lz-punkt{background:var(--accent)}
  .lz-punkt--halb,.lz-typ--halb .lz-punkt{background:linear-gradient(90deg,var(--accent) 50%,transparent 50%)}
  .lz-leiter{margin:6px 0 30px}
  .lz-leiter ol{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-top:1px solid var(--border)}
  .lz-leiter li{display:grid;grid-template-columns:auto 1fr;column-gap:10px;align-items:center;padding:14px 16px 12px 0;border-right:1px solid var(--border)}
  .lz-leiter li+li{padding-left:16px}
  .lz-leiter li:last-child{border-right:0}
  .lz-leiter b{font-weight:600;color:var(--ink)}
  .lz-leiter small{grid-column:2;color:var(--muted);font-size:.85rem}
  .lz-leiter figcaption{font-size:.85rem;color:var(--muted);border-top:1px solid var(--border);padding-top:8px}
  .lz-typ{background:var(--card);border:1px solid var(--border);padding:22px 24px 10px;margin:16px 0}
  .lz-typ__kopf{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:16px;align-items:start;margin-bottom:16px}
  .lz-typ__nr{font-family:var(--schrift-display);font-size:2.6rem;line-height:.9;color:var(--accent)}
  .lz-typ h3{margin:0;font-family:var(--schrift-display);font-size:1.35rem;color:var(--ink)}
  .lz-typ__kopf p{margin:4px 0 0;color:var(--muted);font-size:.92rem}
  .lz-typ__kopf .lz-punkt{width:1rem;height:1rem;margin-top:8px}
  .lz-formel{display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px;margin:0 0 6px;padding:12px 14px;background:var(--accent-soft);font-size:.95rem}
  .lz-formel b{font-size:.72rem;letter-spacing:.08em;text-transform:uppercase;color:var(--accent);margin-right:6px}
  .lz-formel__pfeil{color:var(--accent)}
  .lz-saetze{list-style:none;margin:0;padding:0}
  .lz-satz{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:4px 24px;align-items:baseline;padding:12px 0;border-top:1px solid var(--border)}
  .lz-saetze .lz-satz:first-child{border-top:0}
  .lz-typ .lz-saetze .lz-satz:first-child{border-top:0}
  .lz-satz .ku{grid-column:2;grid-row:1;font-size:1.18rem;line-height:1.75;color:var(--ink);text-align:right}
  .lz-de{grid-column:1;grid-row:1;color:var(--ink-soft)}
  .lz-etikett{grid-column:1/-1;grid-row:auto;font-size:.72rem;letter-spacing:.08em;text-transform:uppercase;color:var(--accent);font-weight:600}
  .lz-satz:has(.lz-etikett) .ku,.lz-satz:has(.lz-etikett) .lz-de{grid-row:2}
  .lz-notiz{display:block;font-size:.85rem;color:var(--muted)}
  .lz-tabelle-huelle{overflow-x:auto;margin:10px 0 8px}
  .lz-tabelle{width:100%;border-collapse:collapse;background:var(--card);border:1px solid var(--border)}
  .lz-tabelle th,.lz-tabelle td{padding:12px 16px;text-align:left;border-top:1px solid var(--border);vertical-align:baseline}
  .lz-tabelle thead th{font-size:.72rem;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);font-weight:600;border-top:0}
  .lz-tabelle tbody th{font-weight:600;color:var(--ink);white-space:nowrap}
  .lz-tabelle td{color:var(--ink-soft)}
  .lz-tabelle .lz-ku-spalte{text-align:right}
  .lz-tabelle .ku{font-size:1.15rem;color:var(--ink)}
  .lz-sonder{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin:10px 0}
  .lz-fall{background:var(--card);border:1px solid var(--border);padding:18px 20px 6px}
  .lz-fall h3{margin:0 0 6px;font-family:var(--schrift-display);font-size:1.15rem;color:var(--ink)}
  .lz-fall > p{margin:0 0 6px;color:var(--muted);font-size:.92rem}
  .lz-fall .lz-satz{grid-template-columns:minmax(0,1fr)}
  .lz-fall .lz-satz .ku,.lz-fall .lz-de{grid-column:1;grid-row:auto}
  .lz-praxis{background:var(--card);border:1px solid var(--border);padding:8px 24px 10px}
  .lz-gruppe{display:flex;align-items:center;gap:10px;margin:18px 0 4px;font-family:var(--schrift-ui);font-size:.78rem;letter-spacing:.08em;text-transform:uppercase;color:var(--accent)}
  .lz-schluss{margin:22px 0 0;text-align:center}
  .lz-schluss .ku{font-size:1.25rem;color:var(--accent)}
  .lz-weiter{margin:40px 0 0;border-top:1px solid var(--border);padding-top:16px}
  .lz-weiter h2{margin:0 0 10px;font-family:var(--schrift-ui);font-size:.78rem;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
  .lz-weiter ul{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:8px 28px}
  .lz-weiter a{color:var(--accent);font-weight:600;text-decoration:underline;text-underline-offset:4px;white-space:nowrap}
  .lz-weiter a:hover{color:var(--accent-hover)}
  .lz a:focus-visible{outline:2px solid var(--accent);outline-offset:3px}
  .lz .lz-gruppe{margin:18px 0 2px !important}
  .lz .lz-tabelle th,.lz .lz-tabelle thead th{background:transparent !important;color:var(--ink) !important}
  .lz .lz-tabelle thead th{color:var(--muted) !important}
  @media (max-width:760px){
    .lz-sonder{grid-template-columns:minmax(0,1fr)}
    .lz-leiter ol{grid-template-columns:minmax(0,1fr)}
    .lz-leiter li,.lz-leiter li+li{padding:10px 0;border-right:0;border-bottom:1px solid var(--border)}
    .lz-satz{grid-template-columns:minmax(0,1fr)}
    .lz-satz .ku,.lz-de,.lz-satz:has(.lz-etikett) .ku,.lz-satz:has(.lz-etikett) .lz-de{grid-column:1;grid-row:auto}
    .lz-typ{padding:18px 16px 6px}
    .lz-praxis{padding:6px 16px 8px}
    .lz-tabelle thead{display:none}
    .lz-tabelle,.lz-tabelle tbody,.lz-tabelle tr,.lz-tabelle th,.lz-tabelle td{display:block;width:auto}
    .lz-tabelle tr{border-top:1px solid var(--border);padding:8px 0}
    .lz-tabelle th,.lz-tabelle td{border:0;padding:2px 14px}
    .lz-tabelle tbody th{white-space:normal}
  }

  /* Paradigma: eine Zeile je Person, Kurdisch-Spalten rechts */
  .lz-paradigma-huelle{margin:10px 0 6px}
  .lz-paradigma{width:100%;border-collapse:collapse;background:var(--card);border:1px solid var(--border)}
  .lz .lz-paradigma th,.lz .lz-paradigma td{background:transparent !important;padding:11px 14px;border-top:1px solid var(--border);text-align:left;vertical-align:baseline;color:var(--ink-soft) !important}
  .lz .lz-paradigma thead th{font-size:.72rem;letter-spacing:.08em;text-transform:uppercase;color:var(--muted) !important;font-weight:600;border-top:0}
  .lz .lz-paradigma thead th.lz-ku-spalte{text-align:right}
  .lz .lz-paradigma tbody th{color:var(--ink) !important;font-weight:600;white-space:nowrap}
  .lz-paradigma td.lz-ku-spalte{text-align:right;border-left:1px solid var(--border)}
  .lz-paradigma td.lz-ku-spalte .ku{display:block;font-size:1.2rem;line-height:1.5;color:var(--ink)}
  .lz-paradigma td.lz-ku-spalte small{display:block;font-size:.8rem;color:var(--muted)}
  .lz-paradigma .lz-endung .ku{color:var(--accent)}
  .lz-paradigma caption{caption-side:bottom;text-align:left;padding-top:10px;font-size:.88rem;color:var(--muted)}
  /* Hinweis am Rand, ruhig */
  .lz-hinweis{border-left:2px solid var(--accent);padding:4px 0 4px 16px;margin:18px 0;color:var(--ink-soft)}
  .lz-hinweis b{color:var(--ink)}
  .lz-hinweis .ku{font-size:1.1em}
  /* Wortkacheln: ein Wort, groß, mit Bedeutung */
  .lz-woerter{list-style:none;margin:12px 0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:1px;background:var(--border);border:1px solid var(--border)}
  .lz-woerter li{background:var(--card);padding:14px 16px;text-align:right}
  .lz-woerter .ku{display:block;font-size:1.4rem;line-height:1.4;color:var(--ink)}
  .lz-woerter small{display:block;color:var(--muted);font-size:.85rem;text-align:left}
  /* 2 × 2: nah / fern */
  .lz-feld{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;background:var(--border);border:1px solid var(--border);margin:12px 0}
  .lz-feld > div{background:var(--card);padding:16px 18px}
  .lz-feld h3{margin:0 0 8px;font-family:var(--schrift-ui);font-size:.72rem;letter-spacing:.08em;text-transform:uppercase;color:var(--accent);font-weight:600}
  .lz-feld .lz-gross{display:flex;justify-content:space-between;align-items:baseline;gap:12px}
  .lz-feld .lz-gross .ku{font-size:2rem;line-height:1.3;color:var(--ink)}
  .lz-feld .lz-gross span:first-child{color:var(--ink-soft)}
  .lz-feld .lz-satz{border-top:1px solid var(--border);margin-top:8px;grid-template-columns:minmax(0,1fr)}
  .lz-feld .lz-satz .ku,.lz-feld .lz-de{grid-column:1;grid-row:auto}
  .lz-richtig .lz-satz .ku::after{content:" ✓";color:var(--good)}
  .lz-falsch .lz-satz{opacity:.75}
  .lz-falsch .lz-satz .ku{text-decoration:line-through;text-decoration-color:var(--accent)}
  @media (max-width:760px){
    .lz-feld{grid-template-columns:minmax(0,1fr)}
    .lz-paradigma thead{display:none}
    .lz-paradigma,.lz-paradigma tbody,.lz-paradigma tr,.lz-paradigma th,.lz-paradigma td{display:block;width:auto}
    .lz-paradigma tr{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);border-top:1px solid var(--border);padding:8px 0}
    .lz .lz-paradigma tbody th,.lz .lz-paradigma td{border:0;padding:4px 14px}
    .lz .lz-paradigma tbody th{grid-column:1/-1}
    .lz-paradigma td.lz-ku-spalte{border-left:0}
    .lz-paradigma td[data-titel]::before{content:attr(data-titel);display:block;font-size:.68rem;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);text-align:right}
  }

  .lz .intro-box p .ku{display:inline !important;margin:0 !important}
  .lz .lz-paradigma,.lz .lz-tabelle{display:table !important;width:100% !important;max-width:none !important;overflow:visible !important}
  .lz-woerter{grid-template-columns:repeat(6,minmax(0,1fr))}
  @media (max-width:900px){ .lz-woerter{grid-template-columns:repeat(3,minmax(0,1fr))} }
  @media (max-width:480px){ .lz-woerter{grid-template-columns:repeat(2,minmax(0,1fr))} }
  @media (max-width:760px){ .lz .lz-paradigma{display:block !important} .lz .lz-tabelle{display:block !important;width:100% !important;max-width:none !important} }
  @media (max-width:760px){
    .lz-paradigma tr{direction:rtl}
    .lz-paradigma tr > th{direction:ltr;text-align:left}
    .lz-paradigma td:nth-child(5){order:1} .lz-paradigma td:nth-child(4){order:2}
    .lz-paradigma td:nth-child(3){order:3} .lz-paradigma td:nth-child(2){order:4}
    .lz-paradigma td small{direction:ltr}
  }
  /* Paradigma, zweiter Durchgang: Person schmal, Personalpronomen als Anker, Endungen in Akzentfarbe */
  @media (min-width:761px){
    .lz-paradigma{table-layout:fixed}
    .lz-paradigma tr > :first-child{width:20%}
    .lz-paradigma td:nth-child(5) .ku{font-size:1.45rem;font-weight:700}
    .lz-paradigma td:nth-child(4){background:var(--accent-soft) !important}
    .lz-paradigma td:nth-child(4) .ku{font-size:1.45rem}
  }
  .lz-paradigma tbody th{font-size:.82rem}
  /* lz · Präpositionen: Einträge, Allzweck-Schlüssel, Lagebilder, Zeitleiste, Trainer */
  .lz-sprung{display:flex;flex-wrap:wrap;gap:6px 22px;margin:4px 0 26px;padding:10px 0;border-top:1px solid var(--border);border-bottom:1px solid var(--border)}
  .lz-sprung a{color:var(--ink-soft);text-decoration:none;font-weight:600;font-size:.9rem;white-space:nowrap}
  .lz-sprung a:hover{color:var(--accent)}
  .lz-schluessel{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px 40px;align-items:start;background:var(--card);border:1px solid var(--border);border-top:3px solid var(--accent);padding:24px 28px 12px;margin:0 0 10px}
  .lz-schluessel > div{grid-column:1;grid-row:1}
  .lz-schluessel__wort{grid-column:2;grid-row:1;margin:0;text-align:center;line-height:1}
  .lz-schluessel__wort .ku{display:block;font-size:6rem;line-height:1.1;color:var(--accent)}
  .lz-schluessel__wort i{font-size:.9rem;color:var(--muted)}
  .lz-schluessel h2{margin:0 0 6px;font-family:var(--schrift-display);font-size:1.6rem;color:var(--ink);text-transform:none;border:0;padding:0}
  .lz-schluessel p{margin:0 0 6px;color:var(--ink-soft)}
  .lz-eintraege{list-style:none;margin:10px 0;padding:0;background:var(--card);border:1px solid var(--border)}
  .lz-eintrag{padding:16px 22px 6px;border-top:1px solid var(--border)}
  .lz-eintrag:first-child{border-top:0}
  .lz-eintrag__kopf{display:flex;justify-content:space-between;align-items:baseline;gap:16px;margin:0}
  .lz-eintrag__de b{font-weight:600;color:var(--ink)}
  .lz-eintrag__wort{display:flex;align-items:baseline;gap:10px;flex-direction:row-reverse}
  .lz-eintrag__wort .ku{font-size:2rem;line-height:1.3;color:var(--accent)}
  .lz-eintrag__wort i{color:var(--muted);font-size:.85rem}
  .lz-eintrag .lz-satz{padding:8px 0}
  .lz-lage{list-style:none;margin:12px 0;padding:0;display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:1px;background:var(--border);border:1px solid var(--border)}
  .lz-lage li{background:var(--card);padding:12px 10px 10px;text-align:center}
  .lz-lage svg{display:block;width:100%;max-width:120px;height:auto;margin:0 auto 6px}
  .lz-lage .ku{display:block;font-size:1.5rem;line-height:1.3;color:var(--ink)}
  .lz-lage small{color:var(--muted);font-size:.82rem}
  .lz-box{fill:var(--papier-2);stroke:var(--ink-soft);stroke-width:1.5}
  .lz-dot{fill:var(--accent)}
  .lz-dot--hinten{fill:none;stroke:var(--accent);stroke-width:2;stroke-dasharray:3 3}
  .lz-weg{stroke:var(--border);stroke-width:2;stroke-dasharray:4 4}
  .lz-zeitleiste{margin:12px 0;background:var(--card);border:1px solid var(--border);padding:16px 20px 12px}
  .lz-zeitleiste svg{display:block;width:100%;height:auto}
  .lz-achse{fill:none;stroke:var(--ink-soft);stroke-width:1.5}
  .lz-spanne{stroke:var(--accent);stroke-width:5;opacity:.35}
  .lz-ereignis{fill:var(--accent)}
  .lz-grenze{stroke:var(--accent);stroke-width:3}
  .lz-zeitleiste__marken{position:relative;height:56px}
  .lz-zeitleiste__marken span{position:absolute;top:0;transform:translateX(-50%);text-align:center;white-space:nowrap}
  .lz-zeitleiste__marken .ku{display:block;font-size:1.4rem;line-height:1.2;color:var(--ink)}
  .lz-zeitleiste__marken b{display:block;font-size:.85rem;color:var(--ink);line-height:1.9}
  .lz-zeitleiste__marken small{display:block;color:var(--muted);font-size:.8rem}
  .lz .lz-trainer{background:var(--card) !important;background-image:none !important;border:1px solid var(--border) !important;border-radius:0 !important;box-shadow:none !important;color:var(--ink) !important;padding:22px 24px !important}
  .lz .lz-trainer h3{color:var(--ink) !important;font-family:var(--schrift-display);margin:0 0 12px}
  .lz .lz-trainer .q-card{background:var(--papier) !important;border:1px solid var(--border) !important;border-radius:0 !important;color:var(--ink) !important;padding:18px 20px !important}
  .lz .lz-trainer .q-text{color:var(--ink) !important}
  .lz .lz-trainer .q-text .ku{font-size:1.5rem !important}
  .lz .lz-trainer .blank{color:var(--accent) !important;border-bottom:2px solid var(--accent) !important;background:none !important}
  .lz .lz-trainer .opts{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px;direction:rtl}
  .lz .lz-trainer .opts button{font-family:"Shasenem Soran","Noto Naskh Arabic",Tahoma,sans-serif;font-size:1.35rem;line-height:1.4;min-width:84px;padding:6px 16px;background:var(--card) !important;color:var(--ink) !important;border:1px solid var(--papier-3) !important;border-radius:0 !important;cursor:pointer}
  .lz .lz-trainer .opts button:hover:not(:disabled){border-color:var(--accent) !important;color:var(--accent) !important}
  .lz .lz-trainer .opts button:focus-visible,.lz .lz-trainer .ctrls button:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
  .lz .lz-trainer .opts button.right{background:var(--good) !important;border-color:var(--good) !important;color:var(--weiss) !important}
  .lz .lz-trainer .opts button.wrong{background:var(--accent) !important;border-color:var(--accent) !important;color:var(--weiss) !important}
  .lz .lz-trainer .opts button:disabled:not(.right):not(.wrong){opacity:.5;cursor:default}
  .lz .lz-trainer .fb{min-height:1.6em;margin-top:10px;font-weight:600;color:var(--ink-soft) !important;background:none !important}
  .lz .lz-trainer .fb.ok{color:var(--good) !important}
  .lz .lz-trainer .fb.no{color:var(--accent) !important}
  .lz .lz-trainer .score{color:var(--muted) !important;font-size:.88rem;margin:12px 0 10px;text-align:left !important}
  .lz .lz-trainer .ctrls{display:flex;flex-wrap:wrap;gap:10px;justify-content:flex-start !important}
  .lz .lz-trainer .ctrls button{background:var(--accent) !important;color:var(--weiss) !important;border:1px solid var(--accent) !important;border-radius:0 !important;padding:9px 18px;font-weight:600;white-space:nowrap;cursor:pointer}
  .lz .lz-trainer .ctrls button + button{background:transparent !important;color:var(--accent) !important}
  .lz .lz-trainer .ctrls button:hover{background:var(--accent-hover) !important;color:var(--weiss) !important}
  @media (max-width:760px){
    .lz-schluessel{grid-template-columns:minmax(0,1fr);padding:18px 16px 8px}
    .lz-schluessel__wort{grid-column:1;grid-row:1;text-align:right}
    .lz-schluessel > div{grid-row:2}
    .lz-schluessel__wort .ku{font-size:4rem}
    .lz-lage{grid-template-columns:repeat(3,minmax(0,1fr))}
    .lz-eintrag{padding:14px 16px 4px}
    .lz-eintrag__kopf{flex-direction:column-reverse;align-items:stretch;gap:2px}
    .lz-eintrag__wort{justify-content:flex-start}
    .lz-zeitleiste{padding:12px 10px 8px}
    .lz-zeitleiste__marken .ku{font-size:1.15rem}
    .lz-zeitleiste__marken small,.lz-zeitleiste__marken b{font-size:.72rem}
  }
  .lz .lz-schluessel{padding:24px 28px 12px !important;margin:0 0 10px !important}
  .lz .lz-schluessel h2{margin:0 0 6px !important}
  .lz-zeitleiste__marken{height:64px}
  .lz-zeitleiste__marken span{display:flex;flex-direction:column;align-items:center;gap:2px}
  .lz-zeitleiste__marken .ku,.lz-zeitleiste__marken small,.lz-zeitleiste__marken b{position:static !important;display:block !important;line-height:1.3 !important}
  @media (max-width:760px){ .lz .lz-schluessel{padding:18px 16px 8px !important} }
  @media (max-width:760px){ .lz-zeitleiste__marken span:nth-child(2) small{display:none !important} .lz-zeitleiste__marken b{font-size:.7rem !important} }
  /* lz · Konjunktionen: Satzbrücke, Übersichtskarte, Gelenk-Hervorhebung */
  .lz-gelenk{color:var(--accent);font-weight:700}
  .lz-de b{color:var(--ink);font-weight:600}
  .lz-eintrag__hinweis{margin:0 0 10px;padding-top:8px;border-top:1px dashed var(--border);font-size:.88rem;color:var(--muted)}
  .lz-eintrag__hinweis a{color:var(--accent)}
  .lz-bruecke{margin:6px 0 22px;background:var(--card);border:1px solid var(--border);padding:22px 20px 14px}
  .lz-bruecke__reihe{display:flex;align-items:stretch;justify-content:center}
  .lz-bruecke__teil,.lz-bruecke__gelenk{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:12px 22px;text-align:center}
  .lz-bruecke__teil{border:1px solid var(--papier-3);background:var(--papier);min-width:0;flex:1 1 0;max-width:260px}
  .lz-bruecke__gelenk{position:relative;flex:none;padding:12px 18px}
  .lz-bruecke__gelenk::before{content:"";position:absolute;left:0;right:0;top:50%;border-top:2px solid var(--accent);z-index:0}
  .lz-bruecke__gelenk .ku{position:relative;z-index:1;background:var(--card);padding:0 10px;font-size:2rem;line-height:1.3;color:var(--accent)}
  .lz-bruecke__teil .ku{font-size:1.5rem;line-height:1.4;color:var(--ink)}
  .lz-bruecke small{display:block;direction:ltr;font-size:.82rem;color:var(--muted);margin-top:2px}
  .lz-bruecke__gelenk small{position:relative;z-index:1;background:var(--card);padding:0 6px}
  .lz-bruecke figcaption{margin-top:12px;font-size:.88rem;color:var(--muted);text-align:center}
  .lz-karte{list-style:none;margin:0 0 10px;padding:0;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:1px;background:var(--border);border:1px solid var(--border)}
  .lz-karte a{display:block;height:100%;background:var(--card);padding:12px 12px 10px;text-align:right;text-decoration:none;color:inherit}
  .lz-karte a:hover{background:var(--accent-soft)}
  .lz-karte a:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}
  .lz-karte .ku{display:block;font-size:1.5rem;line-height:1.3;color:var(--accent)}
  .lz-karte b{display:block;text-align:left;font-weight:600;color:var(--ink);font-size:.92rem}
  .lz-karte small{display:block;text-align:left;color:var(--muted);font-size:.78rem}
  .lz-eintrag{scroll-margin-top:90px}
  @media (max-width:760px){
    .lz-karte{grid-template-columns:repeat(2,minmax(0,1fr))}
    .lz-bruecke{padding:16px 10px 10px}
    .lz-bruecke__teil{padding:10px 8px}
    .lz-bruecke__gelenk{padding:10px 6px}
    .lz-bruecke__gelenk .ku{font-size:1.5rem;padding:0 6px}
    .lz-bruecke__teil .ku{font-size:1.2rem}
  }
  /* lz · Negation: Schalter-Übersicht, Satzpaare positiv ← negativ */
  .lz-neg{color:var(--accent)}
  .lz-schalter{list-style:none;margin:6px 0 6px;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;background:var(--border);border:1px solid var(--border)}
  .lz-schalter a{display:block;height:100%;background:var(--card);padding:16px 16px 12px;text-decoration:none;color:inherit}
  .lz-schalter a:hover{background:var(--accent-soft)}
  .lz-schalter a:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}
  .lz-schalter__zug{display:flex;align-items:baseline;justify-content:flex-start;gap:10px;margin-bottom:6px}
  .lz-schalter__zug .ku{font-size:2rem;line-height:1.3;color:var(--muted)}
  .lz-schalter__zug .ku .lz-neg{color:var(--accent)}
  .lz-schalter__zug > span[aria-hidden]{color:var(--muted)}
  .lz-schalter b{display:block;font-weight:600;color:var(--ink)}
  .lz-schalter small{display:block;color:var(--muted);font-size:.82rem;font-family:"Shasenem Soran","Noto Naskh Arabic",Tahoma,sans-serif;direction:rtl;text-align:left}
  .lz-schalter__legende{margin:0 0 24px;font-size:.85rem;color:var(--muted)}
  .lz-paare{list-style:none;margin:10px 0;padding:0;background:var(--card);border:1px solid var(--border)}
  .lz-paar{padding:14px 20px;border-top:1px solid var(--border)}
  .lz-paar:first-child{border-top:0}
  .lz-paar__etikett{display:block;font-size:.72rem;letter-spacing:.08em;text-transform:uppercase;color:var(--accent);font-weight:600;margin-bottom:6px}
  .lz-paar__reihe{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:16px}
  .lz-paar__seite{display:block;text-align:right}
  .lz-paar__seite .ku{display:block;font-size:1.45rem;line-height:1.5;color:var(--ink)}
  .lz-paar__seite small{display:block;direction:ltr;text-align:right;color:var(--ink-soft);font-size:.9rem}
  .lz-paar__seite--neg{border-right:2px solid var(--accent);padding-right:14px}
  .lz-paar__pfeil{color:var(--muted);font-size:1.2rem}
  .lz .lz-tabelle td[data-titel]{color:var(--ink-soft)}
  @media (max-width:760px){
    .lz-schalter{grid-template-columns:repeat(2,minmax(0,1fr))}
    .lz-paar{padding:12px 14px}
    .lz-paar__reihe{gap:10px}
    .lz-paar__seite .ku{font-size:1.2rem}
    .lz-paar__seite small{font-size:.82rem}
    .lz-tabelle td[data-titel]::before{content:attr(data-titel);display:block;font-size:.68rem;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
    .lz-tabelle td.lz-ku-spalte[data-titel]::before{text-align:right}
  }
  /* lz · Satzbau: Bausteine, Bauplan Deutsch/Sorani, Regeln */
  .lz-bau{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:6px}
  .lz-bau__teil{display:flex;flex-direction:column;align-items:center;min-width:0;padding:8px 14px 6px;background:var(--papier);border:1px solid var(--papier-3)}
  .lz-bau__teil .ku,.lz-bau__de{font-size:1.4rem;line-height:1.4;color:var(--ink)}
  .lz-bau__de{font-family:var(--schrift-display);font-size:1.3rem}
  .lz-bau__teil small{font-size:.7rem;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);direction:ltr}
  .lz-bau__teil--v{background:var(--accent);border-color:var(--accent)}
  .lz-bau__teil--v .ku,.lz-bau__teil--v .lz-bau__de,.lz-bau__teil--v small{color:var(--weiss)}
  .lz-bau__teil--k{border-color:var(--accent)}
  .lz-bau__teil--k .ku{color:var(--accent)}
  .lz-bau__teil--z,.lz-bau__teil--ort{border-style:dashed}
  .lz-bauplan{margin:6px 0 26px;background:var(--card);border:1px solid var(--border);padding:20px 22px 14px}
  .lz-bauplan__zeile{display:grid;grid-template-columns:90px minmax(0,1fr);align-items:center;gap:16px;padding:10px 0;border-top:1px solid var(--border)}
  .lz-bauplan__zeile:first-of-type{border-top:0}
  .lz-bauplan__sprache{font-size:.72rem;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);font-weight:600}
  .lz-bauplan .lz-bau[dir="rtl"]{justify-content:flex-start}
  .lz-bauplan figcaption{margin-top:10px;font-size:.88rem;color:var(--muted)}
  .lz-beispiele{display:grid;gap:12px;margin:10px 0}
  .lz-beispiel{margin:0;background:var(--card);border:1px solid var(--border);padding:14px 18px}
  .lz-beispiel figcaption{font-size:.72rem;letter-spacing:.08em;text-transform:uppercase;color:var(--accent);font-weight:600;margin-bottom:10px}
  .lz-beispiel__de{margin:10px 0 0;color:var(--ink-soft)}
  .lz-regeln{margin:10px 0;padding:0;list-style:none;counter-reset:regel;background:var(--card);border:1px solid var(--border)}
  .lz-regeln li{counter-increment:regel;display:grid;grid-template-columns:44px minmax(0,1fr);gap:8px;padding:12px 18px 12px 12px;border-top:1px solid var(--border);color:var(--ink-soft)}
  .lz-regeln li:first-child{border-top:0}
  .lz-regeln li::before{content:counter(regel);font-family:var(--schrift-display);font-size:1.6rem;line-height:1;color:var(--accent);text-align:center}
  .lz-regeln b{color:var(--ink)}
  .lz-hinweis a,.lz p a{color:var(--accent)}
  @media (max-width:760px){
    .lz-bauplan{padding:14px 12px 10px}
    .lz-bauplan__zeile{grid-template-columns:minmax(0,1fr);gap:6px}
    .lz-bau__teil{padding:6px 10px 4px}
    .lz-bau__teil .ku,.lz-bau__de{font-size:1.15rem}
    .lz-beispiel{padding:12px 12px}
  }
  .lz .lz-tabelle tbody th{text-transform:none !important;letter-spacing:0 !important;font-size:.95rem !important;font-weight:600}
  /* lz · Modalverben: Formel Modalverb + Konjunktiv, Unterüberschriften, Konjugation */
  .lz-formel-bild{margin:6px 0 22px;background:var(--card);border:1px solid var(--border);padding:22px 20px 14px}
  .lz-formel-bild__reihe{display:flex;align-items:stretch;justify-content:center;gap:14px}
  .lz-formel-bild__teil{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:12px 26px;border:1px solid var(--papier-3);background:var(--papier);min-width:0;text-align:center}
  .lz-formel-bild__teil--haupt{border-color:var(--accent)}
  .lz-formel-bild__teil .ku{font-size:2rem;line-height:1.3;color:var(--ink)}
  .lz-formel-bild__teil small{display:block;direction:ltr;font-size:.8rem;color:var(--muted)}
  .lz-formel-bild__plus{align-self:center;font-size:1.6rem;color:var(--accent)}
  .lz-formel-bild figcaption{margin-top:12px;font-size:.88rem;color:var(--muted);text-align:center}
  .lz-karte--fuenf{grid-template-columns:repeat(5,minmax(0,1fr))}
  .lz-unter{margin:20px 0 6px;font-family:var(--schrift-ui);font-size:.95rem;font-weight:600;color:var(--ink)}
  .lz-konj{margin-bottom:8px}
  @media (max-width:760px){
    .lz-karte--fuenf{grid-template-columns:repeat(2,minmax(0,1fr))}
    .lz-formel-bild{padding:16px 10px 10px}
    .lz-formel-bild__reihe{gap:8px}
    .lz-formel-bild__teil{padding:10px 10px}
    .lz-formel-bild__teil .ku{font-size:1.5rem}
    .lz-konj tbody tr{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);direction:rtl}
    .lz-konj tbody th{grid-column:1/-1;direction:ltr;text-align:left}
    .lz-konj tbody td{direction:rtl}
  }
  /* lz · Relativsätze: Ein Wort für alle, Schublade, Fehlerpaare */
  .lz-einwort{display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:12px 24px;margin:6px 0 24px;background:var(--card);border:1px solid var(--border);padding:22px 24px 14px}
  .lz-einwort__de{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:6px}
  .lz-einwort__de li{padding:4px 12px;border:1px solid var(--papier-3);background:var(--papier);font-family:var(--schrift-display);font-size:1.1rem;color:var(--ink-soft)}
  .lz-einwort__pfeil{font-size:1.6rem;color:var(--accent)}
  .lz-einwort__ku{margin:0;text-align:center;line-height:1}
  .lz-einwort__ku .ku{display:block;font-size:4.2rem;line-height:1.1;color:var(--accent)}
  .lz-einwort__ku small{color:var(--muted);font-size:.85rem}
  .lz-einwort figcaption{grid-column:1/-1;font-size:.88rem;color:var(--muted)}
  .lz-schublade{margin:10px 0;background:var(--card);border:1px solid var(--border);padding:20px 22px 14px}
  .lz-schublade .lz-bau{justify-content:flex-start}
  .lz-bau__teil--schublade{border:2px dashed var(--accent);background:var(--accent-soft)}
  .lz-schublade figcaption{margin-top:8px;font-size:.88rem;color:var(--muted)}
  .lz-fallen{list-style:none;margin:10px 0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;background:var(--border);border:1px solid var(--border)}
  .lz-falle{background:var(--card);padding:16px 18px 12px}
  .lz-falle h3{margin:0 0 10px;font-family:var(--schrift-display);font-size:1.1rem;color:var(--ink)}
  .lz-falle__paar p{display:flex;justify-content:space-between;align-items:baseline;gap:10px;margin:0;padding:6px 0;border-top:1px solid var(--border)}
  .lz-falle__paar span:first-child{font-size:.7rem;letter-spacing:.08em;text-transform:uppercase;font-weight:600}
  .lz-falle__falsch span:first-child{color:var(--muted)}
  .lz-falle__falsch .ku{color:var(--muted);text-decoration:line-through;text-decoration-color:var(--accent)}
  .lz-falle__richtig span:first-child{color:var(--good)}
  .lz-falle__paar .ku{font-size:1.15rem}
  .lz-falle__warum{margin:8px 0 0;font-size:.88rem;color:var(--ink-soft)}
  @media (max-width:760px){
    .lz-einwort{grid-template-columns:minmax(0,1fr) auto;padding:16px 14px 10px}
    .lz-einwort__de{grid-column:1/-1}
    .lz-einwort__pfeil{justify-self:end}
    .lz-einwort__ku .ku{font-size:3rem}
    .lz-schublade{padding:14px 12px 10px}
    .lz-fallen{grid-template-columns:minmax(0,1fr)}
  }
  /* lz · Indirekte Rede: Umbau Sprechblase → Bericht */
  .lz-umbau{margin:6px 0 24px;background:var(--card);border:1px solid var(--border);padding:24px 22px 14px}
  .lz-umbau__reihe{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:18px}
  .lz-umbau__blase{position:relative;justify-self:start;padding:14px 22px;background:var(--papier);border:1px solid var(--papier-3);border-radius:18px;text-align:center}
  .lz-umbau__blase::after{content:"";position:absolute;bottom:-9px;right:28px;width:16px;height:16px;background:var(--papier);border-right:1px solid var(--papier-3);border-bottom:1px solid var(--papier-3);transform:rotate(45deg)}
  .lz-umbau__bericht{justify-self:end;padding:14px 18px;border-right:2px solid var(--accent);text-align:right}
  .lz-umbau .ku{display:block;font-size:1.6rem;line-height:1.5;color:var(--ink)}
  .lz-umbau small{display:block;direction:ltr;font-size:.85rem;color:var(--muted)}
  .lz-umbau__pfeil{font-size:1.5rem;color:var(--accent)}
  .lz-umbau__aenderungen{list-style:none;margin:16px 0 0;padding:10px 0 0;border-top:1px solid var(--border);display:flex;flex-wrap:wrap;gap:6px 22px;font-size:.88rem;color:var(--ink-soft)}
  .lz-umbau__aenderungen .ku{display:inline;font-size:1.05rem;color:var(--accent)}
  .lz-umbau figcaption{margin-top:8px;font-size:.85rem;color:var(--muted)}
  .lz-paar__seite--direkt .ku{color:var(--ink-soft)}
  .lz-paar__aenderung{margin:8px 0 0;font-size:.85rem;color:var(--muted)}
  @media (max-width:760px){
    .lz-umbau{padding:16px 12px 10px}
    .lz-umbau__reihe{grid-template-columns:minmax(0,1fr);gap:10px}
    .lz-umbau__pfeil{justify-self:center;transform:rotate(-90deg)}
    .lz-umbau__blase,.lz-umbau__bericht{justify-self:stretch}
    .lz-umbau .ku{font-size:1.3rem}
  }
  /* lz · Ergativ: Wanderung der Endung, Entscheidungsweg */
  .lz-wanderung{margin:6px 0 24px;background:var(--card);border:1px solid var(--border);padding:16px 22px 14px}
  .lz-wanderung__zeile{display:grid;grid-template-columns:110px auto minmax(0,1fr);align-items:center;gap:10px 20px;padding:12px 0;border-top:1px solid var(--border)}
  .lz-wanderung__zeile:first-child{border-top:0}
  .lz-wanderung__zeile p{margin:0;font-size:.9rem;color:var(--ink-soft)}
  .lz-wanderung__zeile p .ku{font-size:1.1em}
  .lz-wanderung .lz-bau__teil--v{background:var(--papier);border-color:var(--papier-3)}
  .lz-wanderung .lz-bau__teil--v .ku{color:var(--ink)}
  .lz-wanderung .lz-bau__teil--v small{color:var(--muted)}
  .lz-wanderung figcaption{margin-top:6px;font-size:.88rem;color:var(--muted)}
  .lz-weg{list-style:none;margin:12px 0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;background:var(--border);border:1px solid var(--border);counter-reset:weg}
  .lz-weg li{counter-increment:weg;background:var(--card);padding:16px 18px 14px;display:flex;flex-direction:column;gap:6px}
  .lz-weg li::before{content:counter(weg);font-family:var(--schrift-display);font-size:1.6rem;line-height:1;color:var(--accent)}
  .lz-weg b{color:var(--ink)}
  .lz-weg span{font-size:.88rem;color:var(--ink-soft)}
  .lz-weg em{margin-top:auto;font-style:normal;font-size:.8rem;color:var(--muted)}
  .lz-weg__ziel{background:var(--accent-soft) !important}
  .lz-weg__ziel::before{content:"→" !important}
  .lz-tabelle td.lz-ku-spalte small{display:block;font-size:.8rem;color:var(--muted)}
  @media (max-width:760px){
    .lz-wanderung{padding:12px 12px 10px}
    .lz-wanderung__zeile{grid-template-columns:minmax(0,1fr);gap:8px}
    .lz-weg{grid-template-columns:minmax(0,1fr)}
  }
  /* lz · Ergativ-Trainer: Übung zuerst, ruhige Karte, sechs Endungen als Tasten */
  .lz-videohinweis{margin:0 0 14px;display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 14px;font-size:.92rem;color:var(--muted)}
  .lz-videohinweis a{color:var(--accent);font-weight:600;text-decoration:underline;text-underline-offset:4px;white-space:nowrap}
  .lz-drill{margin:0 0 30px}
  .lz-drill__titel{margin:0 0 10px;font-family:var(--schrift-display);font-size:1.6rem;color:var(--ink);text-transform:none;border:0;padding:0}
  .lz .drill-card{background:var(--card) !important;border:1px solid var(--border) !important;border-top:3px solid var(--accent) !important;border-radius:0 !important;box-shadow:none !important;padding:26px 26px 22px !important;margin:0 !important}
  .lz .drill-prompt{font-size:.75rem;letter-spacing:.08em;text-transform:uppercase;color:var(--accent);font-weight:600;text-align:center}
  .lz .drill-subject{text-align:center;font-family:"Shasenem Soran","Noto Naskh Arabic",Tahoma,sans-serif;font-size:1.3rem;color:var(--ink-soft)}
  .lz .drill-sentence{background:var(--papier) !important;border:1px solid var(--papier-3) !important;border-radius:0 !important;color:var(--ink) !important;font-size:2.2rem !important;font-weight:400 !important;padding:18px 12px !important}
  .lz .drill-blank{display:inline-block;min-width:1.6em;color:var(--accent) !important;background:none !important;border:0 !important;border-bottom:3px solid var(--accent) !important;border-radius:0 !important}
  .lz .drill-translate{text-align:center;color:var(--ink-soft);font-style:normal}
  .lz .opt-buttons{display:grid !important;grid-template-columns:repeat(6,minmax(0,1fr)) !important;gap:8px !important;margin-top:18px;direction:rtl}
  .lz .opt-btn{background:var(--card) !important;border:1px solid var(--papier-3) !important;border-radius:0 !important;color:var(--ink) !important;font-weight:400 !important;font-size:1.6rem !important;padding:10px 4px 8px !important;transform:none !important;box-shadow:none !important}
  .lz .opt-btn:hover:not(:disabled){border-color:var(--accent) !important;color:var(--accent) !important;background:var(--card) !important}
  .lz .opt-btn:focus-visible,.lz .next-btn:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
  .lz .opt-btn .person{font-size:.72rem !important;color:var(--muted) !important;letter-spacing:.04em}
  .lz .opt-btn.right{background:var(--good) !important;border-color:var(--good) !important;color:var(--weiss) !important}
  .lz .opt-btn.right .person,.lz .opt-btn.wrong .person{color:var(--weiss) !important}
  .lz .opt-btn.wrong{background:var(--accent) !important;border-color:var(--accent) !important;color:var(--weiss) !important}
  .lz .opt-btn:disabled:not(.right):not(.wrong){opacity:.45}
  .lz .feedback{border-radius:0 !important;background:var(--papier) !important;border:0 !important;border-left:3px solid var(--good) !important;color:var(--ink) !important}
  .lz .feedback.wrong{border-left-color:var(--accent) !important}
  .lz .feedback .full{display:block;margin:8px 0 4px;font-family:"Shasenem Soran","Noto Naskh Arabic",Tahoma,sans-serif;font-size:1.6rem;direction:rtl;text-align:right;color:var(--ink)}
  .lz .feedback .expl{display:block;font-size:.9rem;color:var(--ink-soft)}
  .lz .next-btn{margin-top:12px;background:var(--accent) !important;color:var(--weiss) !important;border:1px solid var(--accent) !important;border-radius:0 !important;padding:9px 18px !important;font-weight:600;cursor:pointer;white-space:nowrap}
  .lz .next-btn:hover{background:var(--accent-hover) !important}
  .lz-drill__stand{margin:10px 0 0;font-size:.88rem;color:var(--muted)}
  .lz-drill__stand b{color:var(--ink);font-weight:600}
  .lz-mehr{margin:12px 0;background:var(--card);border:1px solid var(--border);padding:0 18px}
  .lz-mehr summary{cursor:pointer;padding:14px 0;font-weight:600;color:var(--ink)}
  .lz-mehr summary:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
  .lz-mehr[open]{padding-bottom:12px}
  .lz-mehr .lz-regeln{margin-top:0}
  @media (max-width:760px){
    .lz .drill-card{padding:18px 12px 14px !important}
    .lz .drill-sentence{font-size:1.7rem !important}
    .lz .opt-buttons{grid-template-columns:repeat(3,minmax(0,1fr)) !important}
  }
  /* lz · Konjugator: Werkbank, Verbliste, Ergebnis ruhig */
  .lz-werkbank{background:var(--card);border:1px solid var(--border);border-top:3px solid var(--accent);padding:22px 24px 18px;margin:0 0 22px}
  .lz-werkbank__label{display:block;font-size:.75rem;letter-spacing:.08em;text-transform:uppercase;color:var(--accent);font-weight:600;margin-bottom:6px}
  .lz-werkbank input{display:block;width:100%;max-width:420px;box-sizing:border-box;font-family:"Shasenem Soran","Noto Naskh Arabic",Tahoma,sans-serif;font-size:2.2rem;line-height:1.4;padding:8px 14px;border:1px solid var(--papier-3);border-radius:0;background:var(--papier);color:var(--ink)}
  .lz-werkbank input:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
  .lz-werkbank__hilfe{margin:10px 0 8px;font-size:.88rem;color:var(--muted)}
  .lz-verben{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:6px;direction:rtl}
  .lz-verben button{display:flex;flex-direction:column;align-items:center;padding:6px 12px 4px;background:var(--card);border:1px solid var(--papier-3);border-radius:0;cursor:pointer;color:var(--ink)}
  .lz-verben button .ku{font-size:1.2rem;line-height:1.3}
  .lz-verben button small{direction:ltr;font-size:.72rem;color:var(--muted)}
  .lz-verben button:hover{border-color:var(--accent);color:var(--accent)}
  .lz-verben button:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
  .lz .stem-analysis{background:var(--card) !important;border:1px solid var(--border) !important;border-radius:0 !important;gap:1px !important;padding:0 !important;background-color:var(--border) !important}
  .lz .stem-cell{background:var(--card) !important;border-radius:0 !important;padding:12px 14px !important}
  .lz .stem-cell .lbl{color:var(--muted) !important}
  .lz .stem-cell .val{color:var(--ink) !important;font-weight:400 !important;font-size:1.6rem !important}
  .lz .stem-cell .val--text{font-family:var(--schrift-ui) !important;direction:ltr !important;font-size:1rem !important;font-weight:600 !important;color:var(--ink) !important}
  .lz .stem-cell .val .end,.lz .tense-tbl td.form .end,.lz .tense-note .end{color:var(--accent) !important}
  .lz .legend .l-marker{color:var(--muted) !important}
  .lz .legend .l-stem{color:var(--ink) !important}
  .lz .legend .l-end{color:var(--accent) !important}
  .lz .tense-card{border-radius:0 !important;border:1px solid var(--border) !important;background:var(--card) !important}
  .lz .tense-head{background:none !important;color:var(--ink) !important;border-bottom:1px solid var(--border);font-family:var(--schrift-display);font-size:1.1rem !important}
  .lz .tense-head .meta{color:var(--muted);opacity:1 !important;font-family:var(--schrift-ui)}
  .lz .tense-tbl td{border-top:1px solid var(--border) !important}
  .lz .tense-tbl td.form{font-weight:400 !important;font-size:1.35rem !important;color:var(--ink) !important}
  .lz .tense-tbl td.form .marker{color:var(--muted) !important;font-weight:400 !important}
  .lz .tense-tbl td.form .stem{color:var(--ink) !important}
  .lz .tense-note{margin:0;padding:10px 12px;border-top:1px solid var(--border);font-size:.85rem;color:var(--ink-soft)}
  .lz .tense-note a{color:var(--accent)}
  .lz .info-box--warn{background:var(--papier) !important;border:0 !important;border-left:3px solid var(--accent) !important;border-radius:0 !important;color:var(--ink) !important}
  .lz .tense-tbl{display:table !important;width:100% !important;max-width:none !important;overflow:visible !important}
  @media (max-width:760px){
    .lz-werkbank{padding:16px 12px 14px}
    .lz-werkbank input{font-size:1.8rem}
    .lz .tense-tbl td.person{width:auto !important}
  }
  /* lz · Konjugations-Drill: Zeitformen als Schalter, Eingabe, Hilfen als Textknöpfe */
  .lz-zeiten{border:0;margin:0 0 18px;padding:0 0 14px;border-bottom:1px solid var(--border)}
  .lz-zeiten legend{font-size:.75rem;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);font-weight:600;padding:0;margin-bottom:8px}
  .lz .opts-grid{display:flex !important;flex-wrap:wrap;gap:6px}
  .lz .opt-toggle{border:1px solid var(--papier-3) !important;border-radius:0 !important;background:var(--card) !important;color:var(--ink-soft) !important;font-weight:500 !important;font-size:.9rem !important;padding:6px 12px !important;white-space:nowrap}
  .lz .opt-toggle.checked{border-color:var(--accent) !important;background:var(--accent-soft) !important;color:var(--accent) !important;font-weight:600 !important}
  .lz .opt-toggle input{accent-color:var(--accent)}
  .lz .opt-toggle:focus-within{outline:2px solid var(--accent);outline-offset:2px}
  .lz-zeiten__tipp{margin:8px 0 0;font-size:.85rem;color:var(--muted)}
  .lz .drill-verb-ku{color:var(--ink) !important;font-weight:400 !important;font-size:2.6rem !important}
  .lz .drill-pron{text-align:center;color:var(--muted);font-style:italic}
  .lz .drill-verb-de{text-align:center;color:var(--ink-soft)}
  .lz .drill-meta{display:flex;flex-wrap:wrap;justify-content:center;gap:6px;margin-top:8px}
  .lz .drill-tag{background:var(--papier) !important;border:1px solid var(--papier-3) !important;border-radius:0 !important;color:var(--ink-soft) !important;font-weight:500 !important}
  .lz .drill-input{border:1px solid var(--papier-3) !important;border-radius:0 !important;background:var(--papier) !important;font-size:1.6rem !important;color:var(--ink) !important}
  .lz .drill-input:focus-visible{outline:2px solid var(--accent) !important;outline-offset:2px;background:var(--card) !important}
  .lz .drill-input.right{border-color:var(--good) !important;color:var(--good) !important}
  .lz .drill-input.wrong{border-color:var(--accent) !important;color:var(--accent) !important}
  .lz .drill-btn{background:var(--accent) !important;color:var(--weiss) !important;border:1px solid var(--accent) !important;border-radius:0 !important;padding:12px 20px !important;font-weight:600 !important;white-space:nowrap;cursor:pointer;box-shadow:none !important;transform:none !important}
  .lz .drill-btn:hover{background:var(--accent-hover) !important}
  .lz .drill-btn:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
  .lz-drill__hilfen{display:flex;flex-wrap:wrap;justify-content:center;gap:4px 20px;margin-top:6px}
  .lz .lz-drill__hilfen .drill-btn{background:none !important;border:0 !important;color:var(--accent) !important;padding:6px 0 !important;font-weight:600 !important;text-decoration:underline;text-underline-offset:4px}
  .lz .lz-drill__hilfen .drill-btn:hover{color:var(--accent-hover) !important;background:none !important}
  .lz .drill-feedback{border-radius:0 !important;border:0 !important;border-left:3px solid var(--good) !important;background:var(--papier) !important;color:var(--ink) !important;text-align:left}
  .lz .drill-feedback.wrong{border-left-color:var(--accent) !important}
  .lz .drill-feedback .correct-ans{font-family:"Shasenem Soran","Noto Naskh Arabic",Tahoma,sans-serif;font-size:1.4rem;color:var(--ink);direction:rtl;unicode-bidi:isolate}
  .lz-konj-titel{margin:20px 0 8px;font-family:var(--schrift-display);font-size:1.2rem;color:var(--ink)}
  .lz .conj-table{display:table !important;width:100% !important;max-width:none !important;border-collapse:collapse;background:var(--card);border:1px solid var(--border)}
  .lz .conj-table th,.lz .conj-table td{background:transparent !important;color:var(--ink-soft) !important;padding:10px 14px;border-top:1px solid var(--border);text-align:left}
  .lz .conj-table thead th{font-size:.72rem;letter-spacing:.08em;text-transform:uppercase;color:var(--muted) !important;border-top:0}
  .lz .conj-table .lz-ku-spalte{text-align:right}
  .lz .conj-table td.lz-ku-spalte .ku{font-size:1.3rem;color:var(--ink)}
  @media (max-width:760px){
    .lz .drill-verb-ku{font-size:2rem !important}
    .lz .drill-input{min-width:0 !important;width:100%;max-width:none !important}
    .lz .drill-input-wrap .drill-btn{width:100%}
  }
  /* lz · Konjugations-Blitz: Bausatz Präfix + Stamm + Endung, vier ruhige Antworten */
  .lz-blitz__stand{margin:0 0 10px;font-size:.88rem;color:var(--muted)}
  .lz-blitz__stand b{color:var(--ink);font-weight:600}
  .lz .lz-blitz{max-width:none !important;margin:0 !important;background:var(--card) !important;border:1px solid var(--border) !important;border-top:3px solid var(--accent) !important;border-radius:0 !important;box-shadow:none !important;padding:24px 26px 22px !important}
  .lz .q-card{margin:0 0 14px !important}
  .lz .q-verb{margin:0;color:var(--ink) !important;font-weight:400 !important}
  .lz .q-verb .ku{font-size:2.4rem !important;color:var(--ink) !important;display:block;line-height:1.3}
  .lz .q-verb #q-de{color:var(--muted);font-size:.95rem}
  .lz .q-ask{margin:6px 0 0;color:var(--muted)}
  .lz .q-tag{background:none !important;border:0 !important;border-radius:0 !important;padding:0 !important;margin:0 !important;color:var(--accent) !important;font-size:.8rem !important;letter-spacing:.08em;text-transform:uppercase;font-weight:600 !important}
  .lz-bausatz{display:flex;justify-content:center;align-items:baseline;gap:8px;margin:14px 0 0;font-family:"Shasenem Soran","Noto Naskh Arabic",Tahoma,sans-serif}
  .lz-bausatz__teil{display:inline-flex;justify-content:center;min-width:2.2em;padding:2px 8px;border:1px dashed var(--accent);color:var(--muted);font-size:1.5rem;line-height:1.4}
  .lz-bausatz__teil--voll{border-style:solid;color:var(--accent);background:var(--accent-soft)}
  .lz-bausatz__stamm{font-size:1.5rem;line-height:1.4;color:var(--ink);padding:2px 8px;border:1px solid var(--papier-3);background:var(--papier)}
  .lz-bausatz__plus{color:var(--muted)}
  .lz .opts{grid-template-columns:repeat(2,minmax(0,1fr)) !important;gap:8px !important}
  .lz .opts button{border:1px solid var(--papier-3) !important;border-radius:0 !important;background:var(--card) !important;color:var(--ink) !important;font-size:1.6rem !important;padding:12px 10px !important;transform:none !important;box-shadow:none !important}
  .lz .opts button:hover:not(:disabled){border-color:var(--accent) !important;color:var(--accent) !important}
  .lz .opts button:focus-visible,.lz .btn-next:focus-visible,.lz .btn-audio:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
  .lz .opts button.ok{background:var(--good) !important;border-color:var(--good) !important;color:var(--weiss) !important}
  .lz .opts button.bad{background:var(--accent) !important;border-color:var(--accent) !important;color:var(--weiss) !important}
  .lz .opts button:disabled:not(.ok):not(.bad){opacity:.45}
  .lz .fb{font-weight:600 !important;color:var(--ink-soft) !important}
  .lz .fb.good{color:var(--good) !important}
  .lz .fb.poor{color:var(--accent) !important}
  .lz .btn-next{background:var(--accent) !important;border:1px solid var(--accent) !important;border-radius:0 !important;color:var(--weiss) !important;font-weight:600 !important;padding:10px 20px !important;box-shadow:none !important;transform:none !important;white-space:nowrap}
  .lz .btn-next:hover{background:var(--accent-hover) !important}
  .lz .btn-audio{background:none !important;border:1px solid var(--accent) !important;border-radius:0 !important;color:var(--accent) !important;font-weight:600;padding:10px 18px !important;cursor:pointer;white-space:nowrap}
  .lz-blitz__fehler{grid-column:1/-1;margin:0;padding:12px;border-left:3px solid var(--accent);background:var(--papier);color:var(--ink)}
  .lz-baulegende{list-style:none;margin:12px 0 0;padding:0;display:flex;flex-wrap:wrap;gap:4px 24px;font-size:.88rem;color:var(--ink-soft)}
  .lz-baulegende .ku{font-size:1.1rem;color:var(--accent)}
  .lz-baulegende span:not(.ku){color:var(--muted)}
  @media (max-width:760px){
    .lz .lz-blitz{padding:18px 12px 14px !important}
    .lz .opts{grid-template-columns:minmax(0,1fr) !important}
    .lz .q-verb .ku{font-size:2rem !important}
  }
  /* lz · Tempora-Trainer: Zeitstrahl, breite Tabelle, Wann-Liste, Quiz mit deutschen Antworten */
  .lz-strahl{margin:6px 0 26px;background:var(--card);border:1px solid var(--border);padding:20px 22px 14px}
  .lz-strahl__achse{position:relative;display:flex;justify-content:space-between;margin:0 0 6px;padding-top:14px;font-size:.72rem;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);font-weight:600}
  .lz-strahl__achse::before{content:"";position:absolute;left:0;right:12px;top:4px;border-top:2px solid var(--ink-soft)}
  .lz-strahl__achse::after{content:"";position:absolute;right:0;top:-1px;border:6px solid transparent;border-left:12px solid var(--ink-soft);border-right:0}
  .lz-strahl__reihe{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:1px;background:var(--border);border:1px solid var(--border)}
  .lz-strahl__punkt{background:var(--card);padding:12px 12px 10px;display:flex;flex-direction:column;gap:2px}
  .lz-strahl__punkt .ku{font-size:1.6rem;line-height:1.4;color:var(--ink);text-align:right}
  .lz-strahl__punkt b{color:var(--ink);font-weight:600}
  .lz-strahl__punkt small{color:var(--muted);font-size:.8rem;line-height:1.4}
  .lz-strahl__punkt--vergdauer{background:linear-gradient(var(--accent-soft),var(--accent-soft)) top/100% 4px no-repeat,var(--card)}
  .lz-strahl__punkt--bezug{background:linear-gradient(90deg,var(--card),var(--accent-soft))}
  .lz-strahl__punkt--jetzt{border-top:3px solid var(--accent)}
  .lz-strahl__moeglich{display:grid;grid-template-columns:auto minmax(0,1fr);column-gap:14px;align-items:baseline;margin:12px 0 0;padding:10px 12px;border:1px dashed var(--accent)}
  .lz-strahl__moeglich .ku{grid-row:1/3;font-size:1.6rem;color:var(--ink)}
  .lz-strahl__moeglich small{color:var(--muted);font-size:.82rem}
  .lz-strahl figcaption{margin-top:10px;font-size:.85rem;color:var(--muted)}
  .lz-tabelle--breit tbody th small{display:block;font-weight:400;color:var(--muted);font-size:.8rem}
  .lz-tabelle--breit .ku{font-size:1.15rem}
  .lz-wann{list-style:none;margin:10px 0;padding:0;background:var(--card);border:1px solid var(--border)}
  .lz-wann li{display:grid;grid-template-columns:160px minmax(0,1fr) minmax(0,1fr);gap:4px 18px;padding:12px 18px;border-top:1px solid var(--border);align-items:baseline}
  .lz-wann li:first-child{border-top:0}
  .lz-wann b{color:var(--ink)}
  .lz-wann span{color:var(--ink-soft)}
  .lz-wann em{color:var(--muted);font-style:normal}
  .lz .lz-trainer--de .opts{direction:ltr}
  .lz .lz-trainer--de .opts button{font-family:var(--schrift-ui) !important;font-size:1rem !important;min-width:0}
  .lz .lz-trainer--de .q-text .verb{display:block;text-align:center;font-family:"Shasenem Soran","Noto Naskh Arabic",Tahoma,sans-serif;font-size:2.4rem;line-height:1.4;color:var(--ink)}
  @media (max-width:900px){
    .lz-strahl__reihe{grid-template-columns:minmax(0,1fr)}
    .lz-strahl__achse{display:none}
    .lz-strahl__punkt{border-left:3px solid var(--papier-3)}
    .lz-strahl__punkt--jetzt{border-top:0;border-left-color:var(--accent)}
    .lz-strahl__punkt .ku{text-align:left}
  }
  @media (max-width:760px){
    .lz-strahl{padding:14px 12px 10px}
    .lz-wann li{grid-template-columns:minmax(0,1fr);padding:12px 14px}
    .lz-strahl__moeglich{grid-template-columns:minmax(0,1fr)}
    .lz-strahl__moeglich .ku{grid-row:auto}
  }
  @media (max-width:900px){
    .lz .lz-tabelle--breit{display:block !important;width:100% !important;max-width:none !important}
    .lz-tabelle--breit thead{display:none}
    .lz-tabelle--breit tbody,.lz-tabelle--breit tr{display:block}
    .lz-tabelle--breit tr{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:2px 12px;border-top:1px solid var(--border);padding:10px 14px}
    .lz-tabelle--breit tbody th{grid-column:1/-1;border:0;padding:0 0 4px}
    .lz-tabelle--breit td{border:0;padding:4px 0}
    .lz-tabelle--breit td[data-titel]::before{content:attr(data-titel);display:block;font-size:.68rem;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);text-align:right}
  }
  @media (max-width:480px){ .lz-tabelle--breit tr{grid-template-columns:repeat(2,minmax(0,1fr))} }
  @media (max-width:900px){ .lz-strahl__reihe::before{content:"Von oben (früher) nach unten (jetzt)";display:block;background:var(--card);padding:0 0 8px;font-size:.72rem;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);font-weight:600} }
  /* lz · Imperativ-Trainer: ein Infinitiv, drei Formen; Quizfrage dreiteilig */
  .lz-imp{margin:6px 0 24px;background:var(--card);border:1px solid var(--border);padding:22px 22px 14px}
  .lz-imp__reihe{display:grid;grid-template-columns:auto auto minmax(0,1fr);align-items:center;gap:18px}
  .lz-imp__quelle{margin:0;text-align:center;padding:12px 20px;border:1px solid var(--papier-3);background:var(--papier)}
  .lz-imp__quelle .ku{display:block;font-size:2rem;line-height:1.3;color:var(--ink)}
  .lz-imp small{display:block;direction:ltr;font-size:.82rem;color:var(--muted)}
  .lz-imp__pfeil{font-size:1.6rem;color:var(--accent)}
  .lz-imp__ziele{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
  .lz-imp__ziele li{padding:10px 12px;border:1px solid var(--papier-3);text-align:center}
  .lz-imp__ziele .ku{display:block;font-size:1.7rem;line-height:1.3;color:var(--ink)}
  .lz-imp__verbot{border-color:var(--accent) !important;border-style:dashed !important}
  .lz-imp figcaption{margin-top:10px;font-size:.85rem;color:var(--muted)}
  .lz-tabelle--imp td.lz-inf .ku{color:var(--ink-soft);font-size:1rem}
  .lz .lz-trainer .q-text .frage{display:block;font-size:.75rem;letter-spacing:.08em;text-transform:uppercase;color:var(--accent);font-weight:600;text-align:center}
  .lz .lz-trainer .q-text .verb{display:block;text-align:center;font-family:"Shasenem Soran","Noto Naskh Arabic",Tahoma,sans-serif;font-size:2.2rem;line-height:1.4;color:var(--ink)}
  .lz .lz-trainer .q-text .bedeutung{display:block;text-align:center;color:var(--muted)}
  .lz .lz-trainer .q-text ~ .opts{justify-content:center}
  @media (max-width:760px){
    .lz-imp{padding:14px 12px 10px}
    .lz-imp__reihe{grid-template-columns:minmax(0,1fr);gap:8px}
    .lz-imp__pfeil{justify-self:center;transform:rotate(-90deg)}
    .lz-imp__ziele{grid-template-columns:minmax(0,1fr)}
  }
  /* lz · Zahlen-Grammatik: Zahlenbauer, Zahlenkacheln, Uhren */
  .lz-unsichtbar{position:absolute !important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
  .lz-de-klein{display:block;font-weight:400;color:var(--muted);font-size:.85rem}
  .lz-zahlbau{margin:6px 0 26px;background:var(--card);border:1px solid var(--border);border-top:3px solid var(--accent);padding:20px 22px}
  .lz-zahlbau figcaption{color:var(--muted);font-size:.9rem;margin-bottom:12px}
  .lz-zahlbau figcaption b{display:block;color:var(--ink);font-size:1.05rem}
  .lz-zahlbau__eingabe{display:flex;flex-wrap:wrap;align-items:center;gap:12px}
  .lz-zahlbau input{width:9ch;font:600 1.8rem/1.2 var(--font-display,inherit);font-variant-numeric:tabular-nums;padding:6px 10px;border:1px solid var(--papier-3);background:var(--papier);color:var(--ink)}
  .lz-zahlbau input:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
  .lz-zahlbau__beispiele{display:flex;flex-wrap:wrap;gap:6px}
  .lz-zahlbau__beispiele button{font:inherit;font-variant-numeric:tabular-nums;padding:6px 12px;border:1px solid var(--papier-3);background:transparent;color:var(--ink-soft);cursor:pointer;white-space:nowrap}
  .lz-zahlbau__beispiele button:hover{border-color:var(--accent);color:var(--accent)}
  .lz-zahlbau__beispiele button:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
  .lz-zahlbau__aus{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin:18px 0 6px;min-height:3.2rem;font-family:"Shasenem Soran","Noto Naskh Arabic",Tahoma,sans-serif}
  .lz-zahlbau__teil{font-size:1.7rem;line-height:1.3;padding:4px 14px;border:1px solid var(--papier-3);background:var(--papier);color:var(--ink)}
  .lz-zahlbau__und{font-size:1.5rem;color:var(--accent);font-weight:700}
  .lz-zahlbau__regel{margin:0;font-size:.88rem;color:var(--muted)}
  .lz-zahlen{list-style:none;margin:10px 0 18px;padding:0;display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:0;background:var(--card);border:1px solid var(--border);border-width:1px 0 0 1px}
  .lz-zahlen li{border:solid var(--border);border-width:0 1px 1px 0}
  .lz-zahlen li{background:var(--card);padding:12px 12px 10px;display:grid;grid-template-columns:auto minmax(0,1fr);grid-template-areas:"z ku" "l l" "d d";align-items:baseline;gap:0 8px}
  .lz-zahlen b{grid-area:z;font-size:1.25rem;font-variant-numeric:tabular-nums;color:var(--accent)}
  .lz-zahlen .ku{grid-area:ku;text-align:right;font-size:1.35rem;color:var(--ink)}
  .lz-zahlen i{grid-area:l;font-size:.82rem;color:var(--ink-soft)}
  .lz-zahlen small{grid-area:d;font-size:.78rem;color:var(--muted)}
  .lz-tabelle--ord .lz-ord .ku{font-size:1.35rem}
  .lz-uhren{list-style:none;margin:10px 0 14px;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;background:var(--border);border:1px solid var(--border)}
  .lz-uhren li{background:var(--card);padding:14px;text-align:center}
  .lz-uhren time{display:block;font-variant-numeric:tabular-nums;font-weight:600;font-size:1.3rem;color:var(--accent)}
  .lz-uhren .ku{display:block;font-size:1.3rem;line-height:1.5;color:var(--ink)}
  .lz-uhren small{display:block;color:var(--muted);font-size:.82rem}
  @media (max-width:900px){ .lz-zahlen{grid-template-columns:repeat(4,minmax(0,1fr))} .lz-uhren{grid-template-columns:repeat(2,minmax(0,1fr))} }
  @media (max-width:560px){ .lz-zahlen{grid-template-columns:repeat(2,minmax(0,1fr))} .lz-zahlbau{padding:16px 14px} .lz-zahlbau__teil{font-size:1.4rem;padding:3px 10px} }
  /* lz · Falsche Freunde: Filterleiste, Fehlerkarten, Selbsttest */
  .lz-fehlerleiste{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px 16px;margin:4px 0 6px}
  .lz-fehlerleiste__filter{display:flex;flex-wrap:wrap;gap:6px}
  .lz-fehlerleiste button{font:inherit;font-size:.9rem;padding:7px 12px;border:1px solid var(--papier-3);background:var(--card);color:var(--ink-soft);cursor:pointer;white-space:nowrap}
  .lz-fehlerleiste button span{color:var(--muted);font-variant-numeric:tabular-nums;margin-left:4px}
  .lz-fehlerleiste button:hover{border-color:var(--accent);color:var(--accent)}
  .lz-fehlerleiste button:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
  .lz-fehlerleiste button[aria-pressed="true"]{background:var(--ink);border-color:var(--ink);color:var(--papier)}
  .lz-fehlerleiste button[aria-pressed="true"] span{color:var(--papier-3)}
  .lz-fehlerleiste__test[aria-pressed="true"]{background:var(--accent) !important;border-color:var(--accent) !important}
  .lz-fehlerliste{list-style:none;margin:10px 0 18px;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
  .lz-fehler{background:var(--card);border:1px solid var(--border);padding:16px 18px 12px;display:flex;flex-direction:column;gap:6px}
  .lz-fehler[hidden]{display:none}
  .lz-fehler h3{margin:0 0 4px;font-size:1rem;font-weight:600;line-height:1.35;color:var(--ink);display:grid;grid-template-columns:auto minmax(0,1fr);column-gap:10px;font-family:inherit;text-transform:none;letter-spacing:0}
  .lz-fehler h3 small{grid-column:2;font-size:.75rem;font-weight:500;color:var(--muted)}
  .lz-fehler__nr{grid-row:span 2;font-variant-numeric:tabular-nums;color:var(--accent);font-weight:700;min-width:1.6em}
  .lz-fehler__falsch,.lz-fehler__richtig{display:flex;justify-content:space-between;align-items:baseline;gap:12px;padding:8px 12px;border-left:3px solid}
  .lz-fehler__falsch{border-color:var(--papier-3);background:var(--papier)}
  .lz-fehler__falsch .ku,.lz-fehler__falsch .lz-latn{color:var(--muted);text-decoration:line-through;text-decoration-color:var(--accent);text-decoration-thickness:1.5px}
  .lz-fehler__richtig{border-color:var(--accent);background:var(--accent-soft)}
  .lz-fehler__richtig .ku,.lz-fehler__richtig .lz-latn{color:var(--ink)}
  .lz-fehler .ku{font-size:1.3rem;line-height:1.5;text-align:right}
  .lz-fehler .lz-latn{text-align:right;font-size:1rem}
  .lz-fehler__marke{flex:none;font-size:.7rem;letter-spacing:.08em;text-transform:uppercase;font-weight:600;color:var(--muted)}
  .lz-fehler__richtig .lz-fehler__marke{color:var(--accent)}
  .lz-fehler__warum{margin:4px 0 0;font-size:.9rem;line-height:1.55;color:var(--ink-soft)}
  .lz-fehler__warum .ku{font-size:1.05rem}
  .lz-fehler__warum a{color:var(--accent)}
  .ist-verdeckt .lz-fehler__richtig:not(.ist-offen){cursor:pointer;background:var(--papier-2,var(--papier));border-left-style:dashed}
  .ist-verdeckt .lz-fehler__richtig:not(.ist-offen) .ku,.ist-verdeckt .lz-fehler__richtig:not(.ist-offen) .lz-latn{visibility:hidden}
  .ist-verdeckt .lz-fehler__richtig:not(.ist-offen)::after{content:"aufdecken";font-size:.8rem;color:var(--accent)}
  .ist-verdeckt .lz-fehler__richtig:not(.ist-offen):focus-visible{outline:2px solid var(--accent);outline-offset:2px}
  .ist-verdeckt .lz-fehler:has(.lz-fehler__richtig:not(.ist-offen)) .lz-fehler__warum{display:none}
  @media (max-width:760px){ .lz-fehlerliste{grid-template-columns:minmax(0,1fr)} .lz-fehler{padding:14px 14px 10px} .lz-fehlerleiste__test{width:100%} }
  /* lz · Satzbau-Puzzle: Stufenwahl, Satzleiste mit Leerplätzen, Wortkacheln */
  .lz-satzbau__kopf{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px 18px;margin:6px 0 12px}
  .lz-stufen{display:flex;flex-wrap:wrap;gap:0;border:1px solid var(--papier-3)}
  .lz-stufen button{font:inherit;font-size:.92rem;font-weight:600;padding:8px 14px;border:0;border-left:1px solid var(--papier-3);background:var(--card);color:var(--ink);cursor:pointer;white-space:nowrap}
  .lz-stufen button:first-child{border-left:0}
  .lz-stufen button span{font-weight:400;color:var(--muted);font-size:.8rem;margin-left:4px}
  .lz-stufen button:hover{background:var(--accent-soft)}
  .lz-stufen button:focus-visible{outline:2px solid var(--accent);outline-offset:2px;position:relative}
  .lz-stufen button[aria-pressed="true"]{background:var(--ink);color:var(--papier)}
  .lz-stufen button[aria-pressed="true"] span{color:var(--papier-3)}
  .lz-satzbau__stand{margin:0;font-size:.85rem;color:var(--muted);font-variant-numeric:tabular-nums}
  .lz-satzbau__stand span{color:var(--ink);font-weight:600}
  .lz-satzbau{background:var(--card);border:1px solid var(--border);border-top:3px solid var(--accent);padding:20px 22px 18px}
  .lz-satzbau__auftrag{margin:0 0 14px;font-size:1.35rem;font-weight:600;line-height:1.35;color:var(--ink)}
  .lz-satzbau__auftrag span{display:block;font-size:.75rem;font-weight:500;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);margin-bottom:4px}
  .lz-satzbau__leiste{display:flex;flex-wrap:wrap;align-items:flex-end;gap:8px;min-height:64px;padding:10px 8px 8px;border-bottom:2px solid var(--ink);background:var(--papier)}
  .lz-satzbau__leiste.ist-ueber{background:var(--accent-soft)}
  .lz-slot{display:inline-block;width:72px;height:44px;border-bottom:2px dashed var(--papier-3)}
  .lz-satzbau__richtung{display:flex;justify-content:space-between;margin:4px 2px 16px;font-size:.75rem;color:var(--muted)}
  .lz-satzbau__richtung span:nth-child(2){color:var(--accent)}
  .lz-satzbau__vorrat{display:flex;flex-wrap:wrap;gap:8px;min-height:52px;padding:4px 0}
  .lz-satzbau__vorrat.ist-ueber{background:var(--accent-soft)}
  .lz-wort{font-family:"Shasenem Soran","Noto Naskh Arabic",Tahoma,sans-serif;font-size:1.35rem;line-height:1.4;padding:4px 14px 6px;border:1px solid var(--papier-3);border-bottom-width:3px;background:var(--card);color:var(--ink);cursor:grab;user-select:none;white-space:nowrap}
  .lz-wort:hover{border-color:var(--accent)}
  .lz-wort:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
  .lz-wort:active{cursor:grabbing}
  .lz-wort.ist-gezogen{opacity:.45}
  .lz-satzbau__leiste .lz-wort{background:var(--card);border-color:var(--ink);border-bottom-width:1px}
  .lz-satzbau__leiste .lz-wort.ist-falsch{border-color:var(--accent);border-bottom-width:3px;color:var(--accent)}
  .lz-satzbau__leiste .lz-wort.ist-richtig{background:var(--accent-soft)}
  .lz-satzbau__knoepfe{display:flex;flex-wrap:wrap;gap:8px;margin-top:16px}
  .lz-knopf{font:inherit;font-size:.92rem;font-weight:600;padding:9px 16px;border:1px solid var(--papier-3);background:transparent;color:var(--ink);cursor:pointer;white-space:nowrap}
  .lz-knopf:hover{border-color:var(--accent);color:var(--accent)}
  .lz-knopf:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
  .lz-knopf--haupt{background:var(--accent);border-color:var(--accent);color:var(--papier)}
  .lz-knopf--haupt:hover{background:var(--ink);border-color:var(--ink);color:var(--papier)}
  .lz-satzbau__rueck:empty{display:none}
  .lz-satzbau__rueck{margin-top:14px;padding:10px 14px;border-left:3px solid var(--papier-3);background:var(--papier);font-size:.95rem;color:var(--ink-soft)}
  .lz-satzbau__rueck .ku{display:block;font-size:1.4rem;line-height:1.5;color:var(--ink);margin-top:4px;text-align:right}
  .lz-satzbau__rueck.ist-ok{border-color:var(--ink);color:var(--ink);font-weight:600}
  .lz-satzbau__rueck.ist-fehler{border-color:var(--accent);background:var(--accent-soft)}
  @media (max-width:560px){
    .lz-satzbau{padding:16px 12px 14px}
    .lz-satzbau__auftrag{font-size:1.15rem}
    .lz-stufen{width:100%;display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}
    .lz-stufen button{padding:8px 4px;text-align:center}
    .lz-stufen button span{display:block;margin:0}
    .lz-slot{width:52px;height:40px}
    .lz-wort{font-size:1.2rem;padding:3px 10px 5px}
    .lz-satzbau__knoepfe{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}
    .lz-knopf{padding:9px 6px}
  }
  /* lz · Lehrplan: Treppe der sechs Stufen, Niveau-Blöcke, Zeitrechner */
  .lp-treppe{margin:8px 0 28px;background:var(--card);border:1px solid var(--border);padding:18px 20px 0}
  .lp-treppe figcaption{font-size:.9rem;color:var(--muted);margin-bottom:12px}
  .lp-treppe figcaption b{display:block;color:var(--ink);font-size:1.05rem}
  .lp-treppe ol{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:6px;align-items:end}
  .lp-stufe a{display:flex;flex-direction:column;justify-content:flex-end;gap:2px;min-height:calc(80px + var(--h) * 36px);padding:10px 10px 12px;
    background:var(--papier);border-top:4px solid var(--accent);color:var(--ink);text-decoration:none}
  .lp-stufe:nth-child(n+3) a{background:var(--accent-soft)}
  .lp-stufe:nth-child(n+5) a{background:var(--accent);color:var(--papier)}
  .lp-stufe:nth-child(n+5) a .ku, .lp-stufe:nth-child(n+5) a small{color:var(--papier)}
  .lp-stufe__code{font-family:var(--schrift-display,"Playfair Display",serif);font-weight:900;font-size:1.8rem;line-height:1}
  .lp-stufe b{font-size:.95rem}
  .lp-stufe .ku{font-size:1.1rem;line-height:1.4;color:var(--accent)}
  .lp-stufe small{font-size:.75rem;color:var(--muted)}
  .lp-stufe a:hover{outline:2px solid var(--ink);outline-offset:-2px}
  .lp-stufe a:focus-visible{outline:3px solid var(--ink);outline-offset:2px}
  .lp-niveau{margin:0 0 18px;background:var(--card);border:1px solid var(--border);padding:18px 22px;scroll-margin-top:90px}
  .lp-niveau__kopf{display:flex;gap:18px;align-items:center;padding-bottom:10px;border-bottom:1px solid var(--border)}
  .lp-niveau__code{margin:0;font-family:var(--schrift-display,"Playfair Display",serif);font-weight:900;font-size:2.6rem;line-height:1;color:var(--accent);min-width:2.2ch}
  .lp-niveau h3{margin:0;font-size:1.25rem}
  .lp-niveau h3 .ku{font-size:.85em;color:var(--accent);margin-left:.3em;font-weight:400}
  .lp-niveau__reihe{margin:2px 0 0;font-size:.85rem;color:var(--muted)}
  .lp-niveau__reihe a{color:var(--accent);font-weight:600}
  .lp-niveau__satz{margin:14px 0 10px;padding:0 0 0 14px;border-left:3px solid var(--accent);font-size:1.02rem;color:var(--ink)}
  .lp-niveau__daten{display:grid;grid-template-columns:auto minmax(0,1fr);gap:4px 14px;margin:0 0 8px;font-size:.93rem}
  .lp-niveau__daten dt{font-weight:600;color:var(--muted);font-size:.78rem;letter-spacing:.06em;text-transform:uppercase;padding-top:3px}
  .lp-niveau__daten dd{margin:0;color:var(--ink-soft);line-height:1.6}
  .lp-niveau__ku{margin:0 0 10px;text-align:right}
  .lp-niveau__ku .ku{font-size:1.1rem;color:var(--ink-soft)}
  .lp-niveau__links{list-style:none;margin:0;padding:10px 0 0;border-top:1px dashed var(--border);display:flex;flex-wrap:wrap;gap:6px 14px}
  .lp-niveau__links a{font-size:.9rem;color:var(--accent);font-weight:600;text-underline-offset:3px}
  .lp-selbst tbody th{font-family:var(--schrift-display,"Playfair Display",serif);font-weight:900;color:var(--accent) !important;width:4em}
  .lp-zeit{background:var(--card);border:1px solid var(--border);border-top:3px solid var(--accent);padding:16px 20px;margin:8px 0}
  .lp-zeit__wahl{display:flex;flex-wrap:wrap;gap:0;border:1px solid var(--papier-3);width:max-content;max-width:100%}
  .lp-zeit__wahl button{font:inherit;font-size:.92rem;font-weight:600;padding:8px 14px;border:0;border-left:1px solid var(--papier-3);background:var(--card);color:var(--ink);cursor:pointer;white-space:nowrap}
  .lp-zeit__wahl button:first-child{border-left:0}
  .lp-zeit__wahl button:hover{background:var(--accent-soft)}
  .lp-zeit__wahl button:focus-visible{outline:2px solid var(--accent);outline-offset:2px;position:relative}
  .lp-zeit__wahl button[aria-pressed="true"]{background:var(--ink);color:var(--papier)}
  .lp-zeit__ergebnis{margin:14px 0 0}
  .lp-zeit__ergebnis b{display:block;font-family:var(--schrift-display,"Playfair Display",serif);font-size:1.8rem;font-weight:900;color:var(--ink)}
  .lp-zeit__ergebnis span{font-size:.88rem;color:var(--muted)}
  .lp-werkzeuge{list-style:none;padding:0}
  .lp-werkzeuge li{border-top:1px solid var(--border)}
  .lp-werkzeuge li:first-child{border-top:0}
  .lp-werkzeuge a{display:flex;justify-content:space-between;gap:12px;padding:12px 18px;color:var(--ink);text-decoration:none}
  .lp-werkzeuge a span{color:var(--muted);font-size:.9rem;text-align:right}
  .lp-werkzeuge a:hover b{color:var(--accent)}
  @media (max-width:760px){
    .lp-treppe{padding:14px 12px 0}
    .lp-treppe ol{grid-template-columns:repeat(3,minmax(0,1fr));row-gap:6px}
    .lp-stufe a{min-height:0}
    .lp-stufe:nth-child(3n+1) a{min-height:96px} .lp-stufe:nth-child(3n+2) a{min-height:118px} .lp-stufe:nth-child(3n) a{min-height:140px}
    .lp-niveau{padding:14px 14px}
    .lp-niveau__kopf{gap:12px}
    .lp-niveau__code{font-size:2rem}
    .lp-niveau__daten{grid-template-columns:minmax(0,1fr)}
    .lp-zeit__wahl{width:100%;display:grid;grid-template-columns:repeat(5,minmax(0,1fr))}
    .lp-zeit__wahl button{padding:8px 2px;font-size:.82rem}
    .lp-werkzeuge a{flex-direction:column;gap:2px}
    .lp-werkzeuge a span{text-align:left}
  }
  /* Lehrplan: Treppe als Auswahl, ein Stufen-Panel darunter */
  .lp-treppe .lp-panels{margin:0 -20px;border-top:1px solid var(--border)}
  .lp-treppe .lp-niveau{margin:0;border:0;padding:20px 22px 22px}
  .lp-tabs-an .lp-niveau + .lp-niveau{border-top:0}
  .lp-panels .lp-niveau + .lp-niveau{border-top:1px solid var(--border)}
  .lp-tabs-an .lp-stufe a[aria-selected="true"]{outline:3px solid var(--ink);outline-offset:-3px}
  .lp-tabs-an .lp-stufe a[aria-selected="true"]::after{content:"";display:block;height:0}
  .lp-niveau__passt{margin:12px 0 0;font-size:.95rem;color:var(--ink)}
  .lp-niveau__passt b{color:var(--accent)}
  .lp-niveau[hidden]{display:none !important}
  @media (max-width:760px){ .lp-treppe .lp-panels{margin:0 -12px} .lp-treppe .lp-niveau{padding:16px 14px} }

/* Kopf und Fuss wie auf den gebauten Seiten (Index): style.css setzt auf dem
   body `-webkit-font-smoothing: antialiased`, das auf dem Mac Menue und
   Fusszeile sichtbar duenner zeichnet als dort, wo style.css fehlt. */
.kopf, .fuss{ -webkit-font-smoothing:auto; -moz-osx-font-smoothing:auto }

/* ── Lernpfad: Werkbank der Modul-Uebungsseiten (polka.js lernpfad()) ──────
   Links die klebende Spalte mit allen Stationen, rechts die Karten mit grosser
   Stationsnummer und Fuss „Weiter“. Unter 1000 px: Spalte nur noch Schalter,
   dazu eine wischbare Nummernleiste. Schrittbilder bilder/ueb-*.jpg gibt es
   (noch) keine: ihre Platzhalter fallen in den Stationen weg. */
/* Werkbank auf derselben Bahn wie der Modulkopf darueber (--mass), und ohne
   eigenen Abstand oben: die Luecke zum Modulkopf traegt dessen Polster allein. */
.rg-breit{ max-width:var(--mass) !important }
section:has(> .rg-feld){ padding-top:0 !important }
.rg-werk{ display:grid; grid-template-columns:minmax(0,1fr); gap:16px; margin-top:0; font-family:var(--schrift-ui) }
.rg-haupt{ min-width:0 }
.rg-pfad{ color:var(--tinte) }
.rg-pfad__kopf{ padding:14px 16px; background:var(--weiss); border:1px solid var(--papier-3); border-top:3px solid var(--rot) }
.rg-pfad__titel{ margin:0; font-family:var(--schrift-display); font-size:1.15rem; font-weight:800; line-height:1.2; color:var(--tinte) }
.rg-pfad__stand{ display:flex; align-items:baseline; justify-content:space-between; gap:8px; margin:10px 0 6px; font-size:13px; color:var(--grau) }
.rg-pfad__stand b{ font-family:var(--schrift-display); font-size:1.5rem; color:var(--rot); font-weight:800 }
.rg-balken{ height:4px; background:var(--papier-3); overflow:hidden }
.rg-balken i{ display:block; height:100%; width:0; background:var(--rot); transition:width .4s cubic-bezier(.2,.7,.2,1) }
.rg-liste{ margin:0; padding:6px 0; list-style:none; background:var(--weiss); border:1px solid var(--papier-3); border-top:0; max-height:calc(100vh - 330px); overflow:auto }
.rg-liste a{ display:grid; grid-template-columns:30px minmax(0,1fr) 16px; align-items:center; gap:8px; padding:7px 12px; color:var(--tinte) !important; text-decoration:none !important; font-size:13.5px; line-height:1.3; border-left:3px solid transparent }
.rg-liste a:hover{ background:var(--papier) }
.rg-liste a:focus-visible{ outline:3px solid var(--rot); outline-offset:-3px }
.rg-liste .rg-n{ font-family:var(--schrift-display); font-weight:800; font-size:15px; color:var(--grau); text-align:right }
.rg-liste .rg-t{ min-width:0 }
.rg-liste .rg-t small{ display:block; font-size:12px; color:var(--grau); font-family:"Shasenem Soran","Noto Naskh Arabic",Tahoma,sans-serif; text-align:left }
.rg-liste .rg-h{ width:14px; height:14px; border:1.5px solid var(--papier-3); border-radius:50% }
.rg-liste a.ist-fertig .rg-h{ background:var(--rot); border-color:var(--rot); box-shadow:inset 0 0 0 2px var(--weiss) }
.rg-liste a.ist-fertig .rg-n{ color:var(--rot) }
.rg-liste a[aria-current="step"]{ background:var(--papier); border-left-color:var(--rot); font-weight:600 }
.rg-schalter{ display:grid; gap:8px; margin-top:10px; padding:12px 14px; background:var(--weiss); border:1px solid var(--papier-3) }
.rg-pfad .global-toggles{ margin:0 !important; padding:0 !important; border:0 !important; background:none !important; display:grid !important; gap:8px; font-size:13.5px }
.rg-fokus{ display:flex; align-items:center; gap:10px; font-size:13.5px; cursor:pointer }
.rg-fokus input{ width:18px; height:18px; accent-color:var(--rot) }
.rg-zurueck{ display:inline-block; margin-top:4px; font-size:13px; color:var(--rot-tief, #8b1015) }
/* Stationen */
.rg-station{ display:grid !important; grid-template-columns:56px minmax(0,1fr); column-gap:16px; padding-bottom:0 !important; scroll-margin-top:90px }
.rg-station > *{ grid-column:2; min-width:0 }
.rg-station > .rg-nr{ grid-column:1; grid-row:1 / span 3; align-self:start; font-family:var(--schrift-display); font-size:2.6rem; font-weight:900;
  line-height:.9; color:var(--tinte); text-align:right; font-variant-numeric:lining-nums tabular-nums }
.rg-station.done > .rg-nr, .rg-station.complete > .rg-nr, .rg-station.completed > .rg-nr, .rg-station.solved > .rg-nr{ color:var(--rot) }
.rg-station .rg-weg{ display:none !important }
.rg-station .ueb-kopf__bild{ display:none !important }
.rg-station > .rg-fuss{ grid-column:1 / -1; display:flex; justify-content:space-between; gap:8px; margin:16px calc(-1 * clamp(20px,2.6vw,30px)) 0; border-top:1px solid var(--papier-3) }
.rg-fuss a{ display:flex; align-items:center; gap:8px; padding:10px clamp(20px,2.6vw,30px); color:var(--rot-tief, #8b1015) !important; font-size:14px; font-weight:600; text-decoration:none !important; min-height:44px }
.rg-fuss a span{ color:var(--grau); font-weight:400 }
.rg-fuss a:hover{ background:var(--papier) }
.rg-fuss a:focus-visible{ outline:3px solid var(--rot); outline-offset:-3px }
.rg-fuss .rg-vor{ margin-left:auto; text-align:right }
.rg-fuss a{ min-width:0; white-space:nowrap }
.rg-fuss .rg-ab{ flex:0 0 auto }
.rg-fuss .rg-vor span{ min-width:0; overflow:hidden; text-overflow:ellipsis }
@media (max-width:480px){ .rg-fuss .rg-vor span{ display:none } }
.rg-fuss .rg-ab{ display:none }
.rg-fokus-an .rg-fuss .rg-ab{ display:flex }
.rg-fokus-an .rg-station:not(.rg-jetzt){ display:none !important }
/* Nummernleiste */
.rg-leiste{ position:sticky; top:56px; z-index:10; display:flex; align-items:center; gap:8px; margin:0 0 12px; padding:6px 8px; background:var(--weiss); border:1px solid var(--papier-3); box-shadow:0 2px 10px rgba(20,17,16,.08) }
.rg-schritte{ display:flex; flex-wrap:nowrap; overflow-x:auto; scrollbar-width:none; gap:4px; margin:0; padding:0; list-style:none; flex:1 1 auto; min-width:0 }
.rg-schritte::-webkit-scrollbar{ display:none }
.rg-schritte a{ display:inline-flex; align-items:center; justify-content:center; min-width:32px; height:32px; padding:0 6px; border:1px solid var(--papier-3); background:var(--weiss); color:var(--rot-tief, #8b1015) !important; font-size:12px; font-weight:700; text-decoration:none !important; font-variant-numeric:lining-nums }
.rg-schritte a.ist-fertig{ background:var(--rot); border-color:var(--rot); color:#fff !important }
.rg-schritte a[aria-current="step"]{ box-shadow:inset 0 -3px 0 var(--rot-tief, #8b1015) }
.rg-leiste__zahl{ font-size:13px; color:var(--grau); white-space:nowrap }
.rg-leiste__zahl b{ color:var(--rot) }
.rg-werk ~ .vine-bar, .rg-feld > .vine-bar{ display:none !important }
@media (min-width:1000px){
  .rg-werk{ grid-template-columns:270px minmax(0,1fr); gap:28px; align-items:start }
  .rg-pfad{ position:sticky; top:76px }
  .rg-leiste{ display:none }
}
@media (max-width:999px){
  .rg-liste, .rg-pfad__kopf{ display:none }
  .rg-schalter{ margin:0 }
}
@media (max-width:560px){
  .rg-station{ grid-template-columns:minmax(0,1fr) }
  .rg-station > *, .rg-station > .rg-nr{ grid-column:1 }
  .rg-station > .rg-nr{ grid-row:auto; text-align:left; font-size:2rem }
}
@media (prefers-reduced-motion:reduce){ .rg-balken i{ transition:none } }
html[data-theme="dark"] .rg-pfad__kopf, html[data-theme="dark"] .rg-liste, html[data-theme="dark"] .rg-schalter,
html[data-theme="dark"] .rg-leiste, html[data-theme="dark"] .rg-schritte a{ background:var(--card,#4a443e); color:#f1efea; border-color:#605a53 }
html[data-theme="dark"] .rg-liste a, html[data-theme="dark"] .rg-pfad__titel{ color:#f1efea !important }
html[data-theme="dark"] .rg-liste a:hover, html[data-theme="dark"] .rg-liste a[aria-current="step"], html[data-theme="dark"] .rg-fuss a:hover{ background:#3a3530 }
html[data-theme="dark"] .rg-fuss a{ color:#f0b9b6 !important }
html[data-theme="dark"] .rg-station > .rg-nr{ color:#f1efea }
/* Dunkelmodus: die helle Regel setzt .rg-schritte a mit !important auf --rot-tief, das blieb auf Dunkel bei 1,8:1. Zaehler .rg-zahl (--rot) lag bei 2,4:1. */
html[data-theme="dark"] .rg-schritte a:not(.ist-fertig){ color:#f1efea !important }
html[data-theme="dark"] .rg-pfad__stand b, html[data-theme="dark"] .rg-leiste__zahl b{ color:#f0b9b6 }
html[data-theme="dark"] .rg-schritte a[aria-current="step"]{ box-shadow:inset 0 -3px 0 #f0b9b6 }
/* Dunkelmodus: der Modulkopf behielt die helle Papierflaeche, sein Text wurde aber hell (1:1). Jetzt dunkler Grund, heller Text. */
html[data-theme="dark"] .polka-modulkopf{ background:transparent !important }
html[data-theme="dark"] .polka-modulkopf :is(p, strong, b, em, .meta){ color:#f1efea }
html[data-theme="dark"] .polka-modulkopf :is(.lat-title, .ku){ color:#f0b9b6 }
html[data-theme="dark"] .polka-modulkopf .meta{ border-top-color:rgba(241,239,234,.18) }
html[data-theme="dark"] .rg-liste .rg-n{ color:#cfc8bf }
html[data-theme="dark"] .rg-liste a.ist-fertig .rg-n, html[data-theme="dark"] .rg-liste a[aria-current="step"] .rg-n{ color:#f0b9b6 }
/* Erste Station oben buendig mit dem Lernpfad (die Nummernleiste davor ist auf dem Desktop aus) */
.rg-haupt > .rg-leiste + *{ margin-top:0 !important }
/* Quest-Fahrplan (Rega A1, Modul 10): Phasen als Liste ohne Verweise */
.rg-liste .rg-phase{ display:grid; grid-template-columns:30px minmax(0,1fr) 16px; align-items:center; gap:8px; padding:7px 12px; font-size:13.5px; line-height:1.3; border-left:3px solid transparent; color:var(--tinte) }
.rg-liste .rg-phase.ist-fertig .rg-h{ background:var(--rot); border-color:var(--rot); box-shadow:inset 0 0 0 2px var(--weiss) }
.rg-liste .rg-phase.ist-fertig .rg-n{ color:var(--rot) }
.rg-liste .rg-phase[aria-current="step"]{ background:var(--papier); border-left-color:var(--rot); font-weight:600 }
.rg-hinweis{ margin:0; font-size:13px; line-height:1.5; color:var(--grau) }
html[data-theme="dark"] .rg-liste .rg-phase{ color:#f1efea }
html[data-theme="dark"] .rg-liste .rg-phase[aria-current="step"]{ background:#3a3530 }
/* Playfair setzt sonst Mediaevalziffern (3, 4, 5, 7, 9 unter der Zeile) */
.rg-liste .rg-n, .rg-pfad__stand b, .rg-leiste__zahl b{ font-variant-numeric:lining-nums tabular-nums }

/* Hallmark · Lesepult (Lesetexte A1–C2) · macrostructure: Workbench-Leser · tone: ruhig, gelehrt
 * Verzeichnis links klebend, Lesefeld rechts als ein Blatt. Rot nur für Nummer der
 * offenen Lektion, kurdische Titel und Haken. Keine Kartenstapel, keine Ziersymbole.
 * pre-emit critique: P4 H5 E4 S4 R5 V4 */
.polka-lesepult .niveau-badge-c, .polka-lesepult .ph-emblem{ display:none !important }
.polka-lesepult .info-banner{ display:block; margin:0 0 var(--s4); padding:0; background:transparent !important; border:0 !important; box-shadow:none !important }
.polka-lesepult .info-banner .em{ display:none }
.polka-lesepult .info-banner h3{ margin:0 0 var(--s1); font-family:var(--schrift-display); font-weight:900; font-size:clamp(1.4rem,2.4vw,1.9rem); line-height:1.15; color:var(--tinte) }
.polka-lesepult .info-banner p{ margin:0; max-width:64ch; font-size:18px; line-height:1.6; color:var(--tinte) }
.polka-lesepult .info-banner .le-daten{ margin-top:var(--s2); font-size:14px; color:var(--tinte-2); font-variant-numeric:lining-nums }

.le-pult{ display:grid; grid-template-columns:minmax(0,1fr); gap:var(--s3); align-items:start }
.le-pfad__titel{ margin:0 0 var(--s1); display:flex; align-items:baseline; justify-content:space-between; gap:var(--s1);
  font-family:var(--schrift-display); font-weight:800; font-size:1.15rem; color:var(--tinte) }
.le-pfad__stand{ font-family:var(--schrift-ui); font-weight:400; font-size:12.5px; color:var(--tinte-2); font-variant-numeric:lining-nums tabular-nums }
.polka-lesepult .le-pfad .text-list{ display:flex; flex-direction:column; flex-wrap:nowrap; gap:0; margin:0; padding:0;
  background:transparent !important; border:0; border-top:2px solid var(--tinte); border-radius:0 }
.polka-lesepult .le-pfad .text-tab{ display:grid; grid-template-columns:34px minmax(0,1fr) 14px; grid-template-areas:"n de h" "n ku h";
  column-gap:10px; align-items:baseline; width:100%; margin:0; padding:10px 8px 10px 0; text-align:left;
  background:transparent !important; border:0; border-bottom:1px solid var(--papier-3); border-left:3px solid transparent;
  border-radius:0; color:var(--tinte) !important; font:inherit; font-size:14px; line-height:1.3; cursor:pointer; white-space:normal }
.polka-lesepult .le-pfad .text-tab .le-n{ grid-area:n; justify-self:end; font-family:var(--schrift-display); font-weight:800; font-size:17px;
  color:var(--grau); font-variant-numeric:lining-nums tabular-nums }
.polka-lesepult .le-pfad .text-tab .le-de{ grid-area:de; font-weight:600; overflow-wrap:anywhere; min-width:0 }
.polka-lesepult .le-pfad .text-tab .le-ku{ grid-area:ku; display:block; justify-self:start; font-family:var(--schrift-ku); font-size:17px; line-height:1.6; color:var(--tinte-2) }
.polka-lesepult .le-pfad .text-tab::after{ content:""; grid-area:h; align-self:center; width:9px; height:5px; margin-top:-3px;
  border-left:2px solid var(--rot); border-bottom:2px solid var(--rot); transform:rotate(-45deg); opacity:0 }
.polka-lesepult .le-pfad .text-tab.le-gelesen::after{ opacity:1 }
.polka-lesepult .le-pfad .text-tab:hover .le-de{ color:var(--rot); text-decoration:underline; text-underline-offset:3px }
.polka-lesepult .le-pfad .text-tab.active{ border-left-color:var(--rot); background:var(--weiss) !important }
.polka-lesepult .le-pfad .text-tab.active .le-n, .polka-lesepult .le-pfad .text-tab.active .le-ku{ color:var(--rot) }
.polka-lesepult .le-pfad .text-tab:focus-visible{ outline:3px solid var(--rot); outline-offset:-3px }

/* Das Blatt */
.polka-lesepult .text-panel{ margin:0; padding:clamp(20px,4vw,48px) !important; background:var(--weiss) !important;
  border:1px solid var(--papier-3) !important; border-radius:0 !important; box-shadow:none !important }
.polka-lesepult .text-head{ display:block; margin:0 0 var(--s3); padding:0 0 var(--s3); border-bottom:1px solid var(--papier-3) }
.polka-lesepult .text-titles h2{ margin:0; font-family:var(--schrift-display); font-weight:900; font-size:clamp(1.8rem,3.4vw,2.7rem);
  line-height:1.08; text-transform:none !important; letter-spacing:0; color:var(--tinte); overflow-wrap:anywhere; min-width:0 }
.polka-lesepult .le-lektion{ display:block; margin-bottom:6px; font-family:var(--schrift-ui); font-size:13px; font-weight:600;
  letter-spacing:.06em; color:var(--tinte-2); font-variant-numeric:lining-nums }
.polka-lesepult .text-head .ku-title{ margin-top:var(--s1); font-size:1rem; gap:12px }
.polka-lesepult .text-head .ku-title .ku-sor{ font-family:var(--schrift-ku); font-size:1.7rem; line-height:1.5; color:var(--rot) }
.polka-lesepult .text-head .ku-title .ku-lat{ font-size:15px; color:var(--tinte-2) }

.le-werkzeug{ display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:var(--s2); margin:0 0 var(--s3) }
.polka-lesepult .le-werkzeug .script-toggle{ display:inline-flex; margin:0; gap:0; border:1px solid var(--tinte) }
.polka-lesepult .le-werkzeug .script-toggle button{ margin:0; padding:8px 14px; border:0 !important; background:transparent !important;
  color:var(--tinte) !important; font-size:14px; font-weight:600; white-space:nowrap; cursor:pointer }
.polka-lesepult .le-werkzeug .script-toggle button + button{ border-left:1px solid var(--tinte) !important }
.polka-lesepult .le-werkzeug .script-toggle button.active{ background:var(--tinte) !important; color:var(--papier) !important }
.polka-lesepult .le-werkzeug .audio-player{ display:flex; flex-wrap:wrap; align-items:center; gap:6px; margin:0; padding:0; background:transparent !important; border:0 !important }
.polka-lesepult .le-werkzeug .ap-label{ margin:0 4px 0 0; font-size:13px; font-weight:600; letter-spacing:.06em; text-transform:none; color:var(--tinte-2) }
.polka-lesepult .le-werkzeug .ap-hint{ display:none }
.polka-lesepult .le-werkzeug .audio-btn{ padding:8px 12px; border:1px solid var(--papier-3) !important; background:var(--weiss) !important;
  color:var(--tinte) !important; font-size:14px; font-weight:600; white-space:nowrap; cursor:pointer }
.polka-lesepult .le-werkzeug .audio-btn:hover{ border-color:var(--rot) !important; color:var(--rot) !important }
.polka-lesepult :is(.le-werkzeug button, .q-btn, .nav-btn, .vocab-box > summary):focus-visible{ outline:3px solid var(--rot); outline-offset:2px }

/* Der Lesetext selbst: groß, ruhig, ohne Farbfläche */
.polka-lesepult .text-body{ margin:0 0 var(--s4); padding:0 !important; background:transparent !important; border-radius:0 }
.polka-lesepult .text-body.ku{ font-family:var(--schrift-ku); font-weight:400; font-size:clamp(1.35rem,2.3vw,1.7rem); line-height:2.15 }
.polka-lesepult .text-body.latin{ font-size:clamp(1.05rem,1.6vw,1.2rem); line-height:1.85; max-width:68ch }
.polka-lesepult .text-body p{ margin:0 0 .35em }

/* Wörter */
.polka-lesepult .vocab-box{ margin:0 0 var(--s4); padding:0 !important; background:transparent !important; border:0 !important; border-top:2px solid var(--tinte) !important }
.polka-lesepult .vocab-box > summary{ padding:var(--s2) 0; font-family:var(--schrift-display); font-weight:800; font-size:1.25rem;
  text-transform:none; letter-spacing:0; color:var(--tinte) !important; cursor:pointer }
.polka-lesepult .vocab-grid{ grid-template-columns:repeat(auto-fill,minmax(min(100%,340px),1fr)); column-gap:var(--s4); row-gap:0 }
.polka-lesepult .v-item{ padding:9px 0; font-size:14px; border-bottom:1px solid var(--papier-3) }
.polka-lesepult .v-item .ku{ font-family:var(--schrift-ku); font-weight:400; font-size:1.3rem; color:var(--tinte) }
.polka-lesepult .v-item .lat{ font-family:var(--schrift-ui); font-size:13px; color:var(--tinte-2) }
.polka-lesepult .v-item .de{ color:var(--tinte); font-weight:600 }
.polka-lesepult .v-item .play-mini{ background:transparent !important; border:1px solid var(--papier-3) !important; border-radius:0 !important }

/* Fragen */
.polka-lesepult .questions{ margin:0 0 var(--s4); padding-top:var(--s2); border-top:2px solid var(--tinte) }
.polka-lesepult .questions h3{ margin:0 0 var(--s1); font-family:var(--schrift-display); font-weight:800; font-size:1.25rem;
  text-transform:none !important; letter-spacing:0; color:var(--tinte) !important }
.polka-lesepult .q-item{ margin:0; padding:var(--s2) 0; background:transparent !important; border:0 !important; border-bottom:1px solid var(--papier-3) !important; border-radius:0 !important }
.polka-lesepult .q-prompt{ margin-bottom:10px; font-size:15px; line-height:1.5 }
.polka-lesepult .q-prompt strong{ font-family:var(--schrift-display); font-weight:800; color:var(--rot); margin-right:4px; font-variant-numeric:lining-nums }
.polka-lesepult .q-prompt .ku{ font-weight:400 }
.polka-lesepult .q-opts{ display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr)); gap:8px }
.polka-lesepult .q-btn{ min-height:44px; padding:10px 14px; background:var(--weiss) !important; border:1px solid var(--papier-3) !important;
  color:var(--tinte) !important; font-size:14px }
.polka-lesepult .q-btn:hover:not(:disabled){ border-color:var(--tinte) !important }
.polka-lesepult .q-btn .opt-tag{ background:var(--papier-2) !important; color:var(--tinte-2) !important }
.polka-lesepult .q-btn.right{ background:var(--tinte) !important; border-color:var(--tinte) !important; color:var(--papier) !important }
.polka-lesepult .q-btn.right .opt-tag{ background:var(--papier) !important; color:var(--tinte) !important }
.polka-lesepult .q-btn.wrong{ background:var(--weiss) !important; border-color:var(--rot) !important; color:var(--rot) !important; text-decoration:line-through }
.polka-lesepult .q-btn.wrong .opt-tag{ background:var(--rot) !important; color:var(--papier) !important }
.polka-lesepult .q-fb{ padding:6px 0 0; background:transparent !important; border-radius:0; font-weight:600 }
.polka-lesepult .q-fb.ok{ color:var(--tinte) }
.polka-lesepult .q-fb.no{ color:var(--rot) }

/* Grammatik als Randnotiz */
.polka-lesepult .grammar-box{ margin:0 0 var(--s4); padding:var(--s2) var(--s3) !important; background:var(--papier) !important;
  border:0 !important; border-left:3px solid var(--rot) !important }
.polka-lesepult .grammar-head{ margin-bottom:6px; font-size:13px; font-weight:700; letter-spacing:.06em; text-transform:none; color:var(--rot) }
.polka-lesepult .grammar-body{ font-size:15px; line-height:1.65; color:var(--tinte) }

/* Fuß des Blatts */
.polka-lesepult .text-nav{ display:flex; justify-content:space-between; gap:var(--s2); margin:0; padding-top:var(--s3); border-top:1px solid var(--papier-3) }
.polka-lesepult .nav-btn{ max-width:48%; padding:12px 16px; border:1px solid var(--tinte) !important; background:transparent !important;
  color:var(--tinte) !important; font-size:14px; font-weight:600; border-radius:0 !important; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; cursor:pointer }
.polka-lesepult .nav-btn:last-child{ margin-left:auto; background:var(--rot) !important; border-color:var(--rot) !important; color:var(--papier) !important }
.polka-lesepult .nav-btn:hover:not(:disabled){ background:var(--tinte) !important; border-color:var(--tinte) !important; color:var(--papier) !important }
.polka-lesepult .nav-btn:disabled{ opacity:.45; cursor:default }
.polka-lesepult .nav-btn:last-child:disabled{ background:transparent !important; border-color:var(--papier-3) !important; color:var(--tinte-2) !important; opacity:1 }

@media (min-width:1000px){
  .le-pult{ grid-template-columns:270px minmax(0,1fr); gap:var(--s4) }
  .le-pfad{ position:sticky; top:84px; max-height:calc(100vh - 100px); overflow:auto }
}
@media (max-width:999px){
  .polka-lesepult .le-pfad .text-list{ flex-direction:row; overflow-x:auto; scroll-snap-type:x proximity; border-top:0; border-bottom:1px solid var(--papier-3);
    -webkit-overflow-scrolling:touch; scrollbar-width:none }
  .polka-lesepult .le-pfad .text-list::-webkit-scrollbar{ display:none }
  .polka-lesepult .le-pfad .text-tab{ flex:0 0 auto; width:auto; grid-template-columns:auto auto; grid-template-areas:"n de";
    padding:10px 14px 10px 4px; border-left:0; border-bottom:3px solid transparent; scroll-snap-align:start; white-space:nowrap }
  .polka-lesepult .le-pfad .text-tab .le-ku, .polka-lesepult .le-pfad .text-tab::after{ display:none }
  .polka-lesepult .le-pfad .text-tab.active{ border-bottom-color:var(--rot); background:transparent !important }
  .polka-lesepult .le-pfad .text-tab.le-gelesen .le-n{ color:var(--rot) }
}
.polka-lesepult .le-pfad .text-list:target{ outline:0; box-shadow:none }
@media (max-width:560px){
  .polka-lesepult .text-panel{ margin-inline:calc(-1 * var(--s1)); border-inline:0 !important }
  .polka-lesepult .text-body.ku{ font-size:1.3rem; line-height:1.95 }
  .le-werkzeug{ align-items:stretch }
  .polka-lesepult .text-nav{ flex-direction:column-reverse }
  .polka-lesepult .nav-btn{ max-width:100%; width:100% }
}
html[data-theme="dark"] .polka-lesepult :is(.text-panel, .le-pfad .text-tab.active, .q-btn, .audio-btn){ background:#2b2724 !important }
html[data-theme="dark"] .polka-lesepult :is(.text-titles h2, .info-banner h3, .info-banner p, .le-pfad__titel, .le-pfad .text-tab, .text-body, .v-item .ku, .v-item .de, .q-btn, .questions h3, .vocab-box > summary, .grammar-body){ color:#f1efea !important }

/* Řêga A2, Module 5–14: der umgebaute Kopf (regaModul) steht wie bei den
   ersten Modulen links, nicht mittig im alten Dreierraster der Zierbilder. */
.polka-regaheld{ display:block !important; text-align:left !important }
.polka-regaheld > *{ text-align:left !important }
.polka-regaheld h1{ direction:ltr !important; text-align:left !important; font-family:inherit }

/* Asô B1: Schrittköpfe in roten Versalien wie bei Řêga in Satzschrift und Tinte */
.polka-regamodul .step > h2:not(.ueb-kopf){ font-family:var(--schrift-display) !important; font-weight:900 !important;
  text-transform:none !important; letter-spacing:0 !important; color:var(--tinte) !important; font-size:clamp(1.25rem,2vw,1.6rem) !important; line-height:1.25 }
.polka-regamodul .step > h2:not(.ueb-kopf) .ku{ color:var(--rot) }
.polka-regamodul .step > .step-num{ text-transform:none !important; letter-spacing:.04em !important; color:var(--tinte-2) !important }
/* Asô: Rückleiste und Schalterzeile wie die Řêga-Rückleiste, Haarlinie statt roter Rundkasten */
.polka-regamodul :is(.back-bar-aso, .back-bar-rewan), .polka-regamodul :is(.aso-top > .aso-row, .rew-top > .rew-row){ background:transparent !important; border:0 !important;
  border-top:1px solid var(--papier-3) !important; border-bottom:1px solid var(--papier-3) !important; border-radius:0 !important; box-shadow:none !important }
.polka-regamodul :is(.aso-top, .rew-top){ max-width:none !important }
/* Schieberegler mit Beschriftung links und rechts (Asô 2, 9): auf dem Handy umbrechen */
@media (max-width:560px){
  [data-uebung] :is(.step,.exr) :is([class$="-slider-wrap"], [class$="-rail"]){ flex-wrap:wrap !important; row-gap:6px }
  [data-uebung] :is(.step,.exr) :is([class$="-slider-wrap"], [class$="-rail"]) > label{ white-space:normal !important; min-width:0 }
  [data-uebung] :is(.step,.exr) :is([class$="-slider-wrap"], [class$="-rail"]) > input[type="range"]{ flex:1 1 100% !important; min-width:0; order:3 }
}

/* Hallmark · Themenkapitel (body.polka-kapitel, 58 Übungsseiten) · ruhiges Arbeitsheft
 * Vorspann statt Textblock im Kopf, Übungsreiter als nummeriertes Verzeichnis,
 * Lösungen als Haarlinien-Aufklapper, keine Zier-Emoji-Spalten.
 * pre-emit critique: P4 H4 E4 S4 R5 V3 */
.polka-kapitel__vorspann{ max-width:64ch; margin:0 0 var(--s4) !important; font-size:18px; line-height:1.6; color:var(--tinte) !important }
.polka-kapitel__vorspann strong{ color:var(--tinte) }
.polka-kapitel table:has(td.emoji) th:empty:first-child, .polka-kapitel td.emoji{ display:none }

.polka-kapitel .ex-tabs{ counter-reset:reiter; display:flex; flex-wrap:wrap; gap:0 4px; margin:var(--s4) 0 var(--s2) !important; padding:0 !important;
  background:transparent !important; border:0 !important; border-top:2px solid var(--tinte) !important; border-radius:0 !important; box-shadow:none !important }
.polka-kapitel .ex-tab{ counter-increment:reiter; display:inline-flex; align-items:baseline; gap:6px; padding:12px 12px 10px 4px !important; border-radius:0 !important;
  background:transparent !important; color:var(--tinte) !important; font-size:14px !important; font-weight:600; border-bottom:3px solid transparent !important; white-space:nowrap }
.polka-kapitel .ex-tab::before{ content:counter(reiter); font-family:var(--schrift-display); font-weight:800; font-size:16px; color:var(--grau); font-variant-numeric:lining-nums }
.polka-kapitel .ex-tab .badge{ background:transparent !important; color:var(--grau) !important; padding:0 !important; font-size:11px !important; font-weight:600 !important; font-variant-numeric:lining-nums }
.polka-kapitel .ex-tab:hover{ color:var(--rot) !important }
.polka-kapitel .ex-tab.active{ border-bottom-color:var(--rot) !important; color:var(--tinte) !important }
.polka-kapitel .ex-tab.active::before{ color:var(--rot) }
.polka-kapitel .ex-tab:focus-visible{ outline:3px solid var(--rot); outline-offset:-3px }
@media (max-width:700px){
  .polka-kapitel .ex-tabs{ flex-wrap:nowrap; overflow-x:auto; scrollbar-width:none }
  .polka-kapitel .ex-tabs::-webkit-scrollbar{ display:none }
}

.polka-kapitel details.solution{ margin-top:12px !important; padding:0 !important; background:transparent !important; border:0 !important;
  border-top:1px solid var(--papier-3) !important; border-radius:0 !important }
.polka-kapitel details.solution summary{ padding:10px 0 4px; font-size:13px !important; font-weight:600; letter-spacing:.02em; text-transform:none !important; color:var(--tinte-2) !important }
.polka-kapitel details.solution summary:hover{ color:var(--rot) !important }
.polka-kapitel details.solution[open] summary{ color:var(--rot) !important }
.polka-kapitel details.solution .sol-body{ padding:4px 0 6px }
.polka-kapitel .ex-tab .badge{ border:0 !important; box-shadow:none !important }
.polka-kapitel .scorebar{ font-variant-numeric:lining-nums tabular-nums }
.polka-kapitel .ex-tabs:target{ outline:0; box-shadow:none !important }
@media (max-width:560px){ .polka-kapitel .niveau-badge-c{ display:none !important } }

/* Hallmark · übrige Themenseiten: C2-Blätter, C1-Drills, Sprachgeschichte (Diroka, Mêjûy).
 * Keine kursiven Überschriften, Karten eckig auf Papier, Übungsköpfe wie die Kapitel.
 * pre-emit critique: P4 H4 E4 S4 R5 V3 */
:is(.polka-blatt, .polka-drill, .polka-geschichte) :is(h1, h2, h3, h4, .ch-head, .subtitle, .lat-title, .ph-subtitle){ font-style:normal !important }
:is(.polka-drill, .polka-geschichte) [class$="-hero"] :is(h1, .lat-title, .subtitle){ font-style:normal !important }
.polka-blatt .exercise h2, .polka-drill .ex-card h2, .polka-geschichte .ch-head h2, .polka-geschichte .ch-head h3{
  font-family:var(--schrift-display) !important; font-weight:900 !important; text-transform:none !important; letter-spacing:0 !important;
  color:var(--tinte) !important; font-size:clamp(1.2rem,2vw,1.55rem) !important; line-height:1.25 }
:is(.polka-blatt .exercise h2, .polka-drill .ex-card h2) .ku, .polka-blatt .exercise h2 [lang="ckb"]{ color:var(--rot) }
.polka-geschichte :is(.card, .era, .alph-card, .feature, .chron-slot, .chron-item, .ex-card, .cert-card){
  border-radius:0 !important; box-shadow:none !important; background:var(--weiss) !important; border:1px solid var(--papier-3) !important }
.polka-geschichte :is(.year, .when, .alph-num){ font-style:normal !important; font-variant-numeric:lining-nums; border-radius:0 !important }
.polka-geschichte .dot{ border-radius:50% }
:is(.polka-drill, .polka-geschichte) :is(.pr-bar, .bias-bar){ border-radius:0 !important; border-style:solid !important; border-width:1px !important; background:var(--papier) !important }
:is(.polka-drill, .polka-geschichte) .pill{ border-radius:0 !important; background:transparent !important; border:1px solid var(--papier-3) !important }
:is(.polka-drill, .polka-geschichte) .mc-opt{ border-radius:0 !important; font-style:normal }
.polka-geschichte :is(.name, .de-title, .ku-title, .figure, .era h3, .era h4, .card h3, .card h4){ font-style:normal !important }
/* Kurdische Einzelwörter im Fließtext und in Tabellen der Themenkapitel: rote
   Schrift statt rosa Kästchen, die die Zeilen auseinanderrissen (uebungen-fragen u. a.) */
.polka-kapitel :is(.section-body, .ex-intro, .q-card, .rule, .info-box, td) [class="pill"]{ display:inline !important; padding:0 2px !important; margin:0 !important;
  background:transparent !important; border:0 !important; border-radius:0 !important; box-shadow:none !important; color:var(--rot) !important;
  font-size:1.12em !important; line-height:inherit !important; min-height:0 !important }
.ka-progress-mini[hidden], .ka-page-tools[hidden]{ display:none !important }
.polka-kapitel :is(.wh, .aya){ display:inline !important; padding:0 2px !important; background:transparent !important; border:0 !important;
  border-radius:0 !important; box-shadow:none !important; color:var(--rot) !important; font-weight:700; line-height:inherit !important }

/* Familie: Stammbaum und Personenkarte als Blatt, ohne Verlauf und Rundung */
.polka-kapitel .tree-wrap{ background:var(--papier) !important; border:1px solid rgba(20,17,16,.10) !important; border-radius:0 !important; padding:clamp(10px,2vw,20px) !important }
.polka-kapitel .tree-line{ stroke:rgba(20,17,16,.22) }
.polka-kapitel .tree-node circle{ fill:var(--weiss); stroke:var(--rot); stroke-width:1.5 }
.polka-kapitel .tree-node:hover circle{ fill:var(--papier) }
.polka-kapitel .tree-node text{ fill:var(--tinte) }
.polka-kapitel .tree-node .role{ fill:var(--grau) }
.polka-kapitel #tree-info{ background:none !important; border:0 !important; border-top:1px solid rgba(20,17,16,.14) !important; border-radius:0 !important; padding:16px 0 0 !important }
.polka-kapitel #tree-info h3{ font-family:var(--schrift-display); color:var(--tinte) !important; font-weight:600 }

/* Themenkapitel: Übungsbausteine der Seitenskripte (Knöpfe, Ziehkarten, Kategorien,
   Dialog- und Hörkarten) an die Antworttasten angleichen: 4px, Haarlinie, kein Verlauf */
.polka-kapitel :is(.ia-btn, .reveal-btn){ border-radius:4px !important; padding:10px 18px !important; font-size:14px !important; background:var(--rot) !important; border:1px solid var(--rot) !important; color:var(--weiss) !important; transition:background var(--takt), color var(--takt) }
.polka-kapitel .ia-btn.alt{ background:none !important; color:var(--rot) !important }
.polka-kapitel :is(.ia-btn, .reveal-btn):hover{ filter:none !important; background:var(--rot-tief) !important; border-color:var(--rot-tief) !important; color:var(--weiss) !important }
.polka-kapitel :is(.ia-btn, .reveal-btn):focus-visible{ outline:2px solid var(--tinte); outline-offset:2px }
.polka-kapitel .dd-item{ border-radius:4px !important; border-width:1px !important; border-color:rgba(20,17,16,.14) !important; background:var(--weiss) !important }
.polka-kapitel .dd-item:hover{ border-color:var(--rot) !important }
.polka-kapitel .dd-item.right{ border-color:var(--rot) !important; border-left-width:3px !important }
.polka-kapitel .dd-item.wrong{ background:var(--rot-wasch) !important; border-color:var(--rot) !important }
.polka-kapitel :is(.kat-pool, .kat-zone){ border-radius:0 !important; border-width:1px !important; border-color:rgba(20,17,16,.18) !important; background:var(--weiss) !important }
.polka-kapitel .kat-bin{ border-radius:0 !important; background:var(--papier) !important }
.polka-kapitel .kat-zone.dragover .kat-bin{ background:var(--rot-wasch) !important; outline:1px dashed var(--rot) !important }
.polka-kapitel :is(.kat-pool h5, .kat-zone h5){ color:var(--tinte) !important; letter-spacing:.06em }
.polka-kapitel .kat-chip{ border-radius:4px !important; border-width:1px !important; border-color:rgba(20,17,16,.16) !important; color:var(--tinte) !important }
.polka-kapitel .kat-chip:hover{ border-color:var(--rot) !important; background:var(--weiss) !important }
.polka-kapitel :is(.dialog-card, .audio-card){ border-radius:4px !important; border:1px solid rgba(20,17,16,.10) !important; background:var(--weiss) !important }
.polka-kapitel .dialog-card :is(.q-line, .a-line){ border-radius:0 !important; background:none !important; padding:6px 0 !important; padding-inline-start:14px !important; border:0 !important; border-inline-start:3px solid var(--rot) !important; color:var(--tinte) !important }
.polka-kapitel .dialog-card .a-line{ border-inline-start-color:rgba(20,17,16,.30) !important }
.polka-kapitel .audio-card .play-big{ background:var(--rot) !important; transform:none !important; filter:none !important }
.polka-kapitel .audio-card .play-big:hover{ background:var(--rot-tief) !important }
.polka-kapitel .audio-card :is(.ku-show){ color:var(--tinte) !important }
.polka-kapitel .audio-card :is(.lat-show){ font-family:var(--schrift-ui) !important; color:var(--grau) !important; letter-spacing:.02em }
.polka-kapitel .audio-card .intonation{ font-style:normal !important; color:var(--rot) !important }
@media (prefers-reduced-motion: reduce){ .polka-kapitel :is(.ia-btn, .reveal-btn){ transition:none } }
.polka-kapitel .dialog-card .play{ width:36px; height:36px; flex:none; border-radius:50%; border:1px solid rgba(20,17,16,.16); background:var(--weiss); color:var(--rot); cursor:pointer; font-size:14px; line-height:1 }
.polka-kapitel .dialog-card .play:hover{ border-color:var(--rot) }
.polka-kapitel .dialog-card .play:focus-visible{ outline:2px solid var(--tinte); outline-offset:2px }
.polka-kapitel .dialog-card .de-trans em{ font-style:normal; color:var(--grau) }
.polka-kapitel .kat-zone h5 bdi{ margin-inline-start:.4em; font-size:1.15em; letter-spacing:0; text-transform:none; color:var(--rot) }
.polka-kapitel .kat-chip{ cursor:pointer }
.polka-kapitel .kat-chip.gewaehlt{ border-color:var(--rot) !important; box-shadow:inset 0 0 0 1px var(--rot); color:var(--rot) !important }

/* Best-of: Kopfband ohne Rotverlauf (graue Schrift lag auf Rot), Satzliste ruhig */
.polka-kapitel .hero-banner{ background:none !important; color:var(--tinte) !important; border-radius:0 !important; box-shadow:none !important; text-align:left !important; padding:0 0 24px !important; margin-bottom:32px !important; border-bottom:1px solid rgba(20,17,16,.14) }
.polka-kapitel .hero-banner h2{ font-family:var(--schrift-display); font-size:clamp(26px,3.4vw,38px) !important; line-height:1.1; color:var(--tinte); text-transform:none; letter-spacing:0; overflow-wrap:anywhere }
.polka-kapitel .hero-banner .subtitle{ color:var(--grau); opacity:1 !important; font-size:15px !important }
.polka-kapitel .hero-actions{ justify-content:flex-start !important }
.polka-kapitel .hero-btn{ background:none !important; border:1px solid rgba(20,17,16,.22) !important; color:var(--tinte) !important; border-radius:4px !important; padding:10px 16px !important; white-space:nowrap; transition:border-color var(--takt), color var(--takt) }
.polka-kapitel .hero-btn:hover{ border-color:var(--rot) !important; color:var(--rot) !important }
.polka-kapitel .hero-btn:focus-visible{ outline:2px solid var(--tinte); outline-offset:2px }
.polka-kapitel .phrase-table{ border-radius:0 !important; border-left:0 !important; border-right:0 !important }
.polka-kapitel .phrase-row:hover{ background:var(--papier) !important }
.polka-kapitel .phrase-row .ku{ color:var(--tinte) !important }
.polka-kapitel .phrase-row .lat{ font-family:var(--schrift-ui) !important; color:var(--grau) !important; letter-spacing:.01em }
.polka-kapitel .phrase-row .de{ color:var(--tinte) !important }
.polka-kapitel .icon-btn{ width:36px; height:36px; display:inline-grid; place-items:center; border-radius:50% !important; color:var(--grau) !important; padding:0 !important; transform:none !important }
.polka-kapitel .icon-btn:hover{ background:var(--papier) !important; color:var(--rot) !important }
.polka-kapitel .icon-btn.fav-active{ color:var(--rot) !important }
.polka-kapitel .icon-btn:focus-visible{ outline:2px solid var(--tinte); outline-offset:1px }
.polka-kapitel .fav-empty{ background:none !important; border:1px solid rgba(20,17,16,.14) !important; border-radius:0 !important }
.polka-kapitel :is(.ia-card){ border-radius:4px !important; border-color:rgba(20,17,16,.10) !important; background:var(--weiss) !important }
.polka-kapitel .dd-content .who{ background:none !important; color:var(--rot) !important; border:1px solid var(--rot); border-radius:2px !important }
.polka-kapitel .dd-move button{ background:var(--papier) !important; color:var(--tinte) !important }
.polka-kapitel .audio-card :is(.ku-display){ color:var(--tinte) !important }
.polka-kapitel .audio-card :is(.lat-display){ font-family:var(--schrift-ui) !important; color:var(--grau) !important }
@media print{ .polka-kapitel .hero-actions{ display:none !important } }

/* Farben-Seite: Farbmuster sind Lerninhalt. Werte stehen als hsl() in der Seite,
   weil umbau.py jeden Hex- und rgb()-Wert nach POLKA umlegt. Punkte wieder zeigen. */
.polka-kapitel table:has(.color-dot) th:empty:first-child, .polka-kapitel td.emoji:has(.color-dot){ display:table-cell !important }
.polka-kapitel .color-dot{ border:1px solid rgba(20,17,16,.25) !important }

/* Tiere: Sortierer (ks-*) wie die Kategorien auf der Fragen-Seite */
.polka-kapitel :is(.ks-pool, .ks-zone){ border-radius:0 !important; border-width:1px !important; border-color:rgba(20,17,16,.18) !important; background:var(--weiss) !important }
.polka-kapitel .ks-bin{ border-radius:0 !important; background:var(--papier) !important }
.polka-kapitel .ks-zone.dragover .ks-bin{ background:var(--rot-wasch) !important; outline:1px dashed var(--rot) !important }
.polka-kapitel :is(.ks-pool h5, .ks-zone h5){ color:var(--tinte) !important }
.polka-kapitel .ks-zone h5 bdi{ margin-inline-start:.4em; font-size:1.15em; color:var(--rot) }
.polka-kapitel .ks-chip{ border-radius:4px !important; border-width:1px !important; border-color:rgba(20,17,16,.16) !important; color:var(--tinte) !important; background:var(--weiss) !important; cursor:pointer }
.polka-kapitel .ks-chip:hover{ border-color:var(--rot) !important }
.polka-kapitel .ks-chip.gewaehlt{ border-color:var(--rot) !important; box-shadow:inset 0 0 0 1px var(--rot); color:var(--rot) !important }
.polka-kapitel .ks-chip.right{ border-color:var(--rot) !important; border-left-width:3px !important }
.polka-kapitel .ks-chip.wrong{ background:var(--rot-wasch) !important; border-color:var(--rot) !important }
.polka-kapitel :is(.match-item){ border-radius:4px !important }

/* Zuordnen: kurdische Wörter zeichnen klein, auf deutsche Augenhöhe bringen */
.polka-kapitel .match-item.ku{ font-size:21px !important; line-height:1.4 }

/* Zusatzblock „Lückentext + Satzbau“ (ext-engine, 5 Themenseiten): Blatt statt Verlaufskacheln */
.polka-kapitel .ext-section-block{ border-radius:4px !important; box-shadow:none !important; border:1px solid rgba(20,17,16,.10) !important; background:var(--weiss) !important }
.polka-kapitel .ext-section-title{ background:none !important; color:var(--tinte) !important; padding:0 !important; border-radius:0 !important; display:block !important; font-family:var(--schrift-display); font-size:clamp(20px,2.4vw,26px) !important; font-weight:700; letter-spacing:0 !important; margin:0 0 6px !important }
.polka-kapitel .score-pill{ background:none !important; color:var(--grau) !important; padding:0 !important; margin:0 0 12px !important; border-radius:0 !important; font-weight:600 }
.polka-kapitel :is(.gap-item, .dnd-item){ background:none !important; border:0 !important; border-top:1px solid rgba(20,17,16,.12) !important; border-radius:0 !important; padding:14px 0 !important; margin:0 !important }
.polka-kapitel .gap-item.solved .gap-num{ color:var(--rot) }
.polka-kapitel .gap-item .gap-sent .ku{ color:var(--tinte) !important }
.polka-kapitel .gap-item input.gap-in{ border-radius:4px !important; border:1px solid rgba(20,17,16,.22) !important; background:var(--weiss) !important }
.polka-kapitel .gap-item input.gap-in:focus-visible{ outline:2px solid var(--rot); outline-offset:1px }
.polka-kapitel :is(.gap-btn, .dnd-actions button){ border-radius:4px !important; padding:9px 16px !important }
.polka-kapitel :is(.gap-fb, .dnd-fb){ border-radius:0 !important; background:none !important; padding:4px 0 0 !important }
.polka-kapitel :is(.gap-fb, .dnd-fb).feedback-ok{ color:var(--rot-tief) !important; font-weight:600 }
.polka-kapitel :is(.dnd-pool, .dnd-target){ border-radius:0 !important; border-width:1px !important }
.polka-kapitel .dnd-pool{ background:var(--papier) !important; border-color:rgba(20,17,16,.18) !important }
.polka-kapitel .dnd-target{ background:var(--weiss) !important; border-color:var(--rot) !important }
.polka-kapitel .dnd-token{ border-radius:4px !important; border-width:1px !important; color:var(--tinte) !important; cursor:pointer !important; transform:none !important; box-shadow:none !important }
.polka-kapitel .dnd-token:hover{ border-color:var(--rot) !important }
/* Begrüßung: Tageszeiten als ruhige Reihe */
.polka-kapitel .daytime-row{ grid-template-columns:repeat(4,minmax(0,1fr)) !important }
@media (max-width:560px){ .polka-kapitel .daytime-row{ grid-template-columns:repeat(2,minmax(0,1fr)) !important } }
.polka-kapitel .daytime-cell{ background:var(--weiss) !important; border:1px solid rgba(20,17,16,.12) !important; border-radius:0 !important }
.polka-kapitel .daytime-cell .icon{ font-size:24px !important }
.polka-kapitel .daytime-cell .lbl{ color:var(--grau) !important }
.polka-kapitel .dnd-actions button.gap-btn{ border:1px solid var(--rot) !important; background:var(--rot) !important; color:var(--weiss) !important; font-weight:600; font-size:14px !important; cursor:pointer }
.polka-kapitel .dnd-actions button.gap-btn.alt{ background:none !important; color:var(--rot) !important }
.polka-kapitel .dnd-actions button.gap-btn:hover{ background:var(--rot-tief) !important; border-color:var(--rot-tief) !important; color:var(--weiss) !important }
.polka-kapitel .dnd-actions button.gap-btn:focus-visible{ outline:2px solid var(--tinte); outline-offset:2px }

/* Zahlen: Ziffern in der Seitenschrift statt Courier, Diktat und Kreativ-Aufgaben als Blatt */
.polka-kapitel :is(.q-prompt .digit, .number-tbl td.digit){ font-family:var(--schrift-display) !important; font-variant-numeric:lining-nums tabular-nums; color:var(--tinte) !important }
.polka-kapitel input[type=text].digit{ font-family:var(--schrift-ui) !important; letter-spacing:.08em !important; font-variant-numeric:tabular-nums }
.polka-kapitel .q-card input[type=text]{ border-radius:4px !important; background:var(--weiss) !important; border:1px solid rgba(20,17,16,.22) !important }
.polka-kapitel .q-card input[type=text]:focus-visible{ outline:2px solid var(--rot); outline-offset:1px }
.polka-kapitel .q-card .audio-card{ border:0 !important; background:none !important; padding:4px 0 0 !important; margin:0 !important }
.polka-kapitel .audio-card .audio-text{ font-style:normal !important; font-family:var(--schrift-display) !important; color:var(--tinte) !important }
.polka-kapitel .audio-card .play-btn{ border-radius:4px !important }
.polka-kapitel .creative-prompt{ background:none !important; border:0 !important; border-left:3px solid var(--rot) !important; border-radius:0 !important; padding:4px 0 4px 18px !important }
.polka-kapitel .creative-prompt h4{ color:var(--tinte) !important }
/* Kommunikation: Uhr-Emoji neben der ausgeschriebenen Uhrzeit ist nur Schmuck */
.polka-kapitel .clock-icon{ display:none !important }
/* Phonologie: Umschrift in der Alphabet-Tabelle ohne Courier */
.polka-kapitel .alphabet-tbl td.lat{ font-family:var(--schrift-ui) !important; color:var(--grau) !important; letter-spacing:.02em }
/* Phonologie: vier Lautgruppen in der Palette unterscheidbar (Farben hatte umbau.py gleichgemacht).
   Vokal gefüllt rot · Standard schlicht · kurdisch-spezifisch rot umrandet · arabisch gestrichelt */
.polka-kapitel .pill.vowel{ background:var(--rot) !important; color:var(--weiss) !important; border:1px solid var(--rot) !important }
.polka-kapitel .pill.cons{ background:var(--papier-2) !important; color:var(--tinte) !important; border:1px solid transparent !important }
.polka-kapitel .pill.special{ background:var(--weiss) !important; color:var(--rot-tief) !important; border:1.5px solid var(--rot) !important }
.polka-kapitel .pill.arabic{ background:var(--weiss) !important; color:var(--tinte) !important; border:1.5px dashed var(--tinte) !important }
/* Rewan: Beschriftungsleiste des Stil-Schiebers (Modul 1) bricht auf dem Handy um */
@media (max-width:560px){ .polka-regamodul .sh-mode-label{ flex-wrap:wrap !important; row-gap:6px; padding:0 !important } .polka-regamodul .sh-mode-label .density-meter{ order:3; flex:1 1 100% } }
/* Rewan 7: Filmset-Raster (kv-set) mit 1fr-Spalten sprengte auf dem Handy die Breite */
.polka-regamodul .kv-set{ grid-template-columns:repeat(4,minmax(0,1fr)) !important }
@media (max-width:700px){ .polka-regamodul .kv-set{ grid-template-columns:repeat(2,minmax(0,1fr)) !important } }
.polka-regamodul .kv-station{ min-width:0 } .polka-regamodul .kv-station .lbl{ overflow-wrap:anywhere }

/* Pêşeng C1: Zier-Emoji im Kopf aus; Setzkasten (Modul 1) hatte Gold auf Gold,
   nach dem Umfärben Rot auf Rot. Schubladen als Papierfächer mit Tinte. */
.polka-pesengmodul :is([class*="-hero "], [class$="-hero"]) .em{ display:none !important }
.polka-pesengmodul .set-drawer{ background:var(--weiss) !important; border:1px solid rgba(20,17,16,.18) !important; border-radius:4px !important; box-shadow:none !important; color:var(--tinte) !important }
.polka-pesengmodul .set-drawer h4{ color:var(--tinte) !important; font-family:var(--schrift-display) !important; font-style:normal !important; font-size:1.05em !important }
.polka-pesengmodul .set-drawer .def{ color:var(--grau) !important; opacity:1 !important; font-style:normal !important }
.polka-pesengmodul .set-slot{ background:var(--papier) !important; border:1px dashed rgba(20,17,16,.35) !important; border-radius:4px !important; color:var(--grau) !important; font-style:normal !important }
.polka-pesengmodul .set-slot.over{ border-color:var(--rot) !important; background:var(--rot-wasch) !important }
.polka-pesengmodul .set-slot.has{ background:var(--weiss) !important; border:1px solid var(--rot) !important; color:var(--tinte) !important }
.polka-pesengmodul .set-slot.has.right{ background:var(--rot) !important; color:var(--weiss) !important; box-shadow:none !important }
/* Pêşeng: Kapitelkopf mit Schalter (Subtext-Lupe) bricht auf dem Handy um */
.polka-pesengmodul .chapter-head{ flex-wrap:wrap !important; row-gap:10px }
.polka-pesengmodul .chapter-head > .title{ min-width:0; flex:1 1 220px }
/* Pêşeng 2/5/6: Schrift in dunklen Feldern war nach dem Umfärben so dunkel wie der Grund */
.polka-pesengmodul .scan-tool:not(.active){ color:var(--weiss) !important }
.polka-pesengmodul .anti-side.dark .lbl{ color:var(--weiss) !important }
.polka-pesengmodul .anti-side.dark .blank:not(.has){ color:var(--weiss) !important; border-color:var(--weiss) !important }
.polka-pesengmodul .ety-info .root{ color:var(--weiss) !important }
.polka-pesengmodul .layer-row.raw :is(.lbl, .content){ color:var(--tinte) !important }
/* Pêşeng 7/10: Raster und Leiste sprengten auf dem Handy die Breite */
.polka-pesengmodul .man-stats{ grid-template-columns:repeat(3,minmax(0,1fr)) !important }
.polka-pesengmodul .man-stat{ min-width:0; overflow-wrap:anywhere }
.polka-pesengmodul .pr-credibility{ flex-wrap:wrap !important }
/* Pêşeng: Videokasten vor den Übungen als helle Karte mit dem Video darin */
.polka-pesengmodul .polka-videokasten{ background:var(--weiss); border:1px solid rgba(20,17,16,.10); border-radius:4px; padding:clamp(18px,2.4vw,28px); margin:24px 0 }
.polka-pesengmodul .polka-videokasten h2{ font-family:var(--schrift-display); color:var(--tinte); font-size:clamp(1.3rem,2.2vw,1.7rem); margin:0 0 6px; text-transform:none; letter-spacing:0 }
.polka-pesengmodul .polka-videokasten h2 .ku{ color:var(--rot) }
.polka-pesengmodul .polka-videokasten p{ color:var(--grau); margin:0 0 16px }
/* Pêşeng 1: Originaltext-Auszug wie die Übungskarten. Kopf links in Leserichtung
   „kurdisch · deutsch", Lesetext auf Papier, Übersetzung aufrecht */
.polka-pesengmodul .chapter-head{ border-bottom:1px solid rgba(20,17,16,.18) !important; align-items:center !important }
.polka-pesengmodul .chapter-head::before{ background:var(--rot) !important; height:2px }
.polka-pesengmodul .chapter-head .num{ color:var(--rot) !important; font-family:var(--schrift-display) !important; font-style:normal !important; font-size:1.8em !important }
.polka-pesengmodul .chapter-head h2{ direction:ltr !important; text-align:left; font-family:var(--schrift-display) !important; color:var(--tinte) !important; text-transform:none !important; letter-spacing:0 !important; font-size:clamp(1.3rem,2.2vw,1.7rem) !important }
.polka-pesengmodul .chapter-head .sub{ font-family:var(--schrift-ui) !important; font-style:normal !important; color:var(--grau) !important; font-size:.92em !important }
.polka-pesengmodul .reader{ background:var(--weiss) !important; border:1px solid rgba(20,17,16,.10) !important; border-radius:4px !important; box-shadow:none !important }
.polka-pesengmodul .reader::before{ content:none !important }
.polka-pesengmodul .reader .deco{ color:var(--rot) !important }
.polka-pesengmodul .reader-de{ font-style:normal !important; color:var(--tinte-2, var(--tinte)) !important; border-top:1px solid rgba(20,17,16,.12) !important; font-size:.92em !important }
.polka-pesengmodul .reader .author{ font-family:var(--schrift-ui) !important; font-style:normal !important; color:var(--grau) !important; font-size:.8em !important }
/* Pêşeng: Knöpfe der Übungen und Portfolio-Aufgabe in der Palette, 4px statt Pillen und Goldverlauf */
.polka-pesengmodul :is(.ex-card, .pf-quill) .btn{ border-radius:4px !important; background:var(--rot) !important; color:var(--weiss) !important; border:1px solid var(--rot) !important; transform:none !important; box-shadow:none !important }
.polka-pesengmodul :is(.ex-card, .pf-quill) .btn:hover{ background:var(--rot-tief) !important; border-color:var(--rot-tief) !important }
.polka-pesengmodul :is(.ex-card, .pf-quill) .btn.outline{ background:var(--weiss) !important; color:var(--rot) !important }
.polka-pesengmodul :is(.ex-card, .pf-quill) .btn.outline:hover{ background:var(--rot-wasch) !important }
.polka-pesengmodul :is(.ex-card, .pf-quill) .btn:focus-visible{ outline:2px solid var(--tinte); outline-offset:2px }
.polka-pesengmodul .pf-quill{ background:var(--weiss) !important; border:1px solid rgba(20,17,16,.10) !important; border-radius:4px !important; box-shadow:none !important }
.polka-pesengmodul .pf-quill::before{ content:none !important }
.polka-pesengmodul .pf-quill h3{ font-family:var(--schrift-display) !important; font-style:normal !important; color:var(--tinte) !important }
.polka-pesengmodul .pf-quill .meta{ font-style:normal !important; color:var(--grau) !important }
.polka-pesengmodul .pf-prompt{ font-style:normal !important; border-left:3px solid var(--rot) !important; border-radius:0 !important; background:var(--papier) !important; color:var(--tinte) !important }
.polka-pesengmodul .pf-editor{ background:var(--weiss) !important; border:1px solid rgba(20,17,16,.22) !important; border-radius:4px !important }
.polka-pesengmodul .pf-editor:focus-visible{ outline:2px solid var(--rot); outline-offset:1px }
.polka-pesengmodul .pf-stats{ grid-template-columns:repeat(3,minmax(0,1fr)) !important }
.polka-pesengmodul .pf-stat{ border:1px solid rgba(20,17,16,.12) !important; border-radius:0 !important }
.polka-pesengmodul .pf-stat .v{ color:var(--rot) !important; font-family:var(--schrift-display) !important }
.polka-pesengmodul .pf-stat .l{ font-style:normal !important; color:var(--grau) !important }
/* Modulnavigation am Seitenende */
.polka-pesengmodul .polka-modulnav{ border-top:1px solid rgba(20,17,16,.14); border-bottom:1px solid rgba(20,17,16,.14); padding:18px 0; margin:32px 0 8px; text-align:center }
.polka-pesengmodul .polka-modulnav > div:first-child{ font-size:.78em; font-weight:700; letter-spacing:.08em; text-transform:uppercase; color:var(--grau); margin-bottom:4px }
.polka-pesengmodul .polka-modulnav > div:nth-child(2){ font-family:"Shasenem Soran","Noto Naskh Arabic",Tahoma,sans-serif; direction:rtl; color:var(--rot); margin-bottom:12px }
.polka-pesengmodul .polka-modulnav > div:last-child{ display:flex; justify-content:center; gap:8px; flex-wrap:wrap }
.polka-pesengmodul .polka-modulnav a{ padding:10px 16px; border:1px solid rgba(20,17,16,.22); border-radius:4px; color:var(--tinte); text-decoration:none; font-weight:600; white-space:nowrap }
.polka-pesengmodul .polka-modulnav a:hover{ border-color:var(--rot); color:var(--rot) }
/* Pêşeng 1, Übung 8 „Surreal-Gallery": Bildkacheln hell statt dunkelrot, Auswahl als roter Rahmen */
.polka-pesengmodul .surr-img:not([style*="background"]){ background:var(--weiss) !important; }
.polka-pesengmodul .surr-img[style*="background"]{ background:var(--rot-wasch) !important; border-color:var(--rot) !important }
.polka-pesengmodul .surr-img{ border:1px solid rgba(20,17,16,.16) !important; border-radius:4px !important; box-shadow:none !important; transform:none !important; transition:border-color var(--takt) }
.polka-pesengmodul .surr-img:hover{ border-color:var(--rot) !important }
.polka-pesengmodul .surr-img.sel{ border-color:var(--rot) !important; box-shadow:inset 0 0 0 2px var(--rot) !important }
.polka-pesengmodul .surr-img .lbl{ background:var(--papier) !important; color:var(--tinte) !important; font-family:var(--schrift-ui) !important; font-style:normal !important; letter-spacing:.06em; border-radius:0 !important }
.polka-pesengmodul .surr-pass{ border:1px solid rgba(20,17,16,.16) !important; border-radius:4px !important; color:var(--tinte) !important }
.polka-pesengmodul .surr-pass:hover{ background:var(--papier) !important; border-color:var(--rot) !important }
.polka-pesengmodul .surr-pass.right{ background:var(--rot) !important; border-color:var(--rot) !important; color:var(--weiss) !important }
.polka-pesengmodul .surr-pass.wrong{ background:var(--rot-wasch) !important; border-color:var(--rot) !important; color:var(--rot-tief) !important }
/* Pêşeng 1, Übung 10 „Portfolio-Mindmap": These als helle Tafel mit roter Linie */
.polka-pesengmodul .mm-zone{ background:var(--weiss) !important; border:1px solid rgba(20,17,16,.10) !important; border-radius:4px !important }
.polka-pesengmodul .mm-thesis{ background:var(--papier) !important; color:var(--tinte) !important; border:0 !important; border-top:3px solid var(--rot) !important; border-radius:0 !important; box-shadow:none !important }
.polka-pesengmodul .mm-thesis::after{ color:var(--rot) !important }
.polka-pesengmodul .mm-args{ grid-template-columns:repeat(3,minmax(0,1fr)) !important }
@media (max-width:680px){ .polka-pesengmodul .mm-args{ grid-template-columns:minmax(0,1fr) !important } }
.polka-pesengmodul .mm-arg{ border:1px solid rgba(20,17,16,.22) !important; border-radius:4px !important; color:var(--tinte) !important; background:var(--weiss) !important }
.polka-pesengmodul .mm-arg.empty{ background:var(--papier) !important; border-style:dashed !important; color:var(--grau) !important; font-style:normal !important }
.polka-pesengmodul .mm-arg.has{ border-color:var(--rot) !important; border-top-width:3px !important }
.polka-pesengmodul .mm-pool{ background:var(--papier) !important; border:1px dashed rgba(20,17,16,.25) !important; border-radius:4px !important }
.polka-pesengmodul .mm-tile{ border:1px solid rgba(20,17,16,.22) !important; border-radius:4px !important; color:var(--tinte) !important; box-shadow:none !important; background:var(--weiss) !important }
.polka-pesengmodul .mm-tile:hover{ border-color:var(--rot) !important }
.polka-pesengmodul .mm-thesis{ direction:ltr !important; font-family:var(--schrift-ui) !important }
.polka-pesengmodul .mm-thesis .ku{ display:block; font-family:"Shasenem Soran","Noto Naskh Arabic",Tahoma,sans-serif; font-size:1.2em; color:var(--rot) }
.polka-pesengmodul .mm-thesis__de{ display:block; font-weight:600; color:var(--tinte); margin-top:2px }
.polka-pesengmodul .mm-thesis::after{ content:"↓" !important; font-family:var(--schrift-ui) }

/* Pêşeng · Lesetext-Block (Kopf + Lesefläche) in allen zehn Modulen gleich ruhig */
.polka-pesengmodul :is(.chapter-head,.ch-head){ display:flex !important; flex-wrap:wrap !important; align-items:flex-end !important; gap:10px 16px !important; margin:40px 0 12px !important; padding:0 0 12px !important; border-bottom:1px solid rgba(20,17,16,.18) !important }
.polka-pesengmodul :is(.chapter-head,.ch-head)::before{ content:"" !important; position:absolute; left:0; bottom:-1px !important; width:48px !important; height:2px !important; background:var(--rot) !important }
.polka-pesengmodul :is(.chapter-head,.ch-head) > .num{ display:none !important }
.polka-pesengmodul :is(.chapter-head,.ch-head) > .title{ flex:1 1 260px !important; min-width:0; padding:0 !important }
.polka-pesengmodul :is(.chapter-head,.ch-head) h2{ margin:0 0 6px !important; direction:ltr !important; text-align:left; font-family:var(--schrift-display) !important; font-style:normal !important; color:var(--tinte) !important; text-transform:none !important; letter-spacing:0 !important; font-size:clamp(1.3rem,2.2vw,1.7rem) !important; line-height:1.2 !important; border:0 !important; overflow-wrap:anywhere }
.polka-pesengmodul :is(.chapter-head,.ch-head) .sub{ font-family:var(--schrift-ui) !important; font-style:normal !important; color:var(--grau) !important; font-size:.95rem !important; line-height:1.55 !important; max-width:68ch }
.polka-pesengmodul :is(.chapter-head,.ch-head) .sub :is(strong,em){ font-style:normal !important; color:var(--tinte) !important; font-weight:700 }
.polka-pesengmodul .lupe-toggle{ border-radius:4px !important; border:1px solid var(--tinte) !important; background:transparent !important; color:var(--tinte) !important; font-family:var(--schrift-ui) !important; font-weight:600 !important; font-size:.92rem !important; min-height:44px; padding:0 16px !important; box-shadow:none !important; white-space:nowrap }
.polka-pesengmodul .lupe-toggle:hover{ background:var(--rot-wasch) !important }
.polka-pesengmodul .lupe-toggle:focus-visible{ outline:2px solid var(--rot); outline-offset:2px }
.polka-pesengmodul .lupe-toggle.active{ background:var(--rot) !important; border-color:var(--rot) !important; color:var(--weiss) !important }

.polka-pesengmodul :is(.reader,.tele,.pergament,.essay,.fragment,.voice-card,.par-col,.flash-zone,.ms-card){ background:var(--weiss) !important; background-image:none !important; border:1px solid rgba(20,17,16,.12) !important; border-top:3px solid var(--rot) !important; border-radius:4px !important; box-shadow:none !important; transform:none !important }
.polka-pesengmodul .feed{ background:var(--tinte) !important; background-image:none !important; border:0 !important; border-top:3px solid var(--rot) !important; border-radius:4px !important; box-shadow:none !important }
.polka-pesengmodul :is(.reader,.tele,.pergament,.essay,.fragment,.flash-zone,.ms-card,.feed)::before{ content:none !important; display:none !important }
.polka-pesengmodul :is(.voice-card,.par-col)::before{ position:static !important; display:block !important; margin:0 0 10px !important; padding:0 !important; background:none !important; border:0 !important; border-radius:0 !important; box-shadow:none !important; transform:none !important; color:var(--rot) !important; font-family:var(--schrift-ui) !important; font-style:normal !important; font-size:.72rem !important; font-weight:700 !important; letter-spacing:.12em !important; text-transform:uppercase; direction:ltr; text-align:left }
.polka-pesengmodul .flash-zone{ cursor:auto !important }
.polka-pesengmodul .par-bridge{ color:var(--rot) !important }

/* Übersetzungszeilen unter den Lesetexten: aufrecht, Arbeitsschrift */
.polka-pesengmodul :is(.reader-de,.fragment-de,.vc-de,.ms-de,.flash-de,.essay-lat,.feed-lat,.tele .lat,.par-col .lat){ font-family:var(--schrift-ui) !important; font-style:normal !important; color:var(--tinte-2) !important; font-size:.95rem !important; line-height:1.65 !important; border-top-style:solid !important; border-top-color:rgba(20,17,16,.12) !important }
.polka-pesengmodul .feed .feed-lat{ color:rgba(252,251,249,.82) !important; border-top-color:rgba(252,251,249,.2) !important }
.polka-pesengmodul :is(.reader-de,.fragment-de,.vc-de,.ms-de,.flash-de) em{ font-style:italic }

/* Markierungen nach Form statt Farbe: Termini punktiert, Symbole durchgezogen, Thesen/Quellen/Nominalisierungen hinterlegt */
.polka-pesengmodul :is(.reader .symbol,.term){ background:none !important; background-image:none !important; color:var(--rot-tief) !important; font-weight:700 !important; padding:0 !important; border:0 !important; border-radius:0 !important; text-decoration-line:underline !important; text-underline-offset:6px; text-decoration-thickness:2px; text-decoration-color:var(--rot) }
.polka-pesengmodul .term{ text-decoration-style:dotted !important }
.polka-pesengmodul :is(.reader .symbol,.term):hover{ background:var(--rot-wasch) !important }
.polka-pesengmodul :is(.essay .pulse-thesis,.fragment .primary,.ms-card .nom){ animation:none !important; background:var(--rot-wasch) !important; color:var(--rot-tief) !important; border:0 !important; border-radius:2px !important; text-decoration:none !important; padding:0 4px !important }
.polka-pesengmodul :is(.essay .pulse-thesis,.fragment .primary):hover{ background:#efd3d1 !important }
.polka-pesengmodul .fragment .primary.checked{ background:var(--rot) !important; color:var(--weiss) !important }
.polka-pesengmodul .term-tip{ background:var(--tinte) !important; color:var(--weiss) !important; border:0 !important; border-radius:4px !important; box-shadow:0 8px 24px rgba(20,17,16,.18) !important }
.polka-pesengmodul .term-tip b{ color:var(--weiss) !important }
.polka-pesengmodul .magnifier{ border:2px solid var(--rot) !important; background:rgba(252,251,249,.97) !important; box-shadow:0 8px 24px rgba(20,17,16,.18) !important; -webkit-backdrop-filter:none !important; backdrop-filter:none !important; color:var(--tinte) !important }
.polka-pesengmodul .magnifier .layer{ color:var(--grau) !important; font-style:normal !important }
.polka-pesengmodul .feed .source-tag{ border-radius:2px !important; font-family:var(--schrift-ui) !important; font-style:normal !important; letter-spacing:.08em }
@media (max-width:600px){
  .polka-pesengmodul .lupe-toggle{ width:100% }
}

/* Pêşeng · Flächen beruhigen: helle Verläufe zu Papier, dunkle zu Rot-tief/Tinte, Leuchten und Dauerpulsieren aus */
.polka-pesengmodul :is(.pers-bar,.auth-bar,.obj-bar,.refl-bar,.grav-bar,.aw-bar,.br-bar,.crit-bar,.ak-bar){ background:var(--weiss) !important; background-image:none !important; border:1px solid rgba(20,17,16,.14) !important; border-radius:4px !important; box-shadow:none !important }
.polka-pesengmodul :is(.pers-bar,.auth-bar,.obj-bar,.refl-bar,.grav-bar,.aw-bar,.br-bar,.crit-bar,.ak-bar) :is(.l,.r){ font-family:var(--schrift-ui) !important; font-style:normal !important; color:var(--tinte) !important; letter-spacing:0 !important }
.polka-pesengmodul :is(.tele-controls,.treaty-paper,.anachro-doc,.dom-event,.icon-zone,.iso-map,.pol-doc,.br-zone,.alph-zone,.cal-doc,.sharp-out,.car-img,.sm-zone,.pr-source,.pr-out,.obj-doc,.rv-paper,.reg-target-out,.anti-stage,.col-pillar){ background:var(--weiss) !important; background-image:none !important; box-shadow:none !important; border-radius:4px !important }
.polka-pesengmodul .ex-card{ background-image:none !important }
.polka-pesengmodul .tele-controls{ border:1px solid rgba(20,17,16,.12) !important; border-top:0 !important; border-radius:0 0 4px 4px !important }
.polka-pesengmodul .tele{ border-radius:4px 4px 0 0 !important; border-bottom:0 !important }
.polka-pesengmodul :is(.scan-tools,.anti-side,.sym-card,.podium-zone,.akte,.pm-event,.ut-word,.reg-source){ background:var(--rot-tief) !important; background-image:none !important; box-shadow:none !important; border-radius:4px !important; border-color:var(--rot-tief) !important }
.polka-pesengmodul :is(.audit-player,.tone-player,.arch-player,.au-player,.vf-frame,.sub-video,.sub-preview){ background:var(--tinte) !important; background-image:none !important; box-shadow:none !important; border-radius:4px !important }
.polka-pesengmodul .euph-truth{ background:var(--rot-wasch) !important; background-image:none !important; color:var(--rot-tief) !important; box-shadow:none !important }
.polka-pesengmodul .scan-tools{ background:var(--weiss) !important; border:1px solid rgba(20,17,16,.12) !important }
.polka-pesengmodul .scan-tool{ background:transparent !important; color:var(--tinte) !important; border:1px solid var(--tinte) !important; border-radius:4px !important; display:inline-flex; align-items:center; gap:8px; min-height:44px }
.polka-pesengmodul .scan-tool.active{ background:var(--tinte) !important; color:var(--weiss) !important }
.polka-pesengmodul .scan-tool .mk{ font-family:var(--schrift-display); font-weight:700; padding:0 3px; text-underline-offset:4px; text-decoration-thickness:2px }
.polka-pesengmodul :is(.mk-anti){ text-decoration:underline solid var(--rot) !important }
.polka-pesengmodul :is(.mk-rep){ text-decoration:underline double var(--rot) !important }
.polka-pesengmodul :is(.mk-appel){ background:var(--rot-wasch) !important; color:var(--rot-tief) !important }
.polka-pesengmodul .scan-tool.active .mk-appel{ color:var(--rot-tief) !important }
.polka-pesengmodul .tele .marker.mk-anti, .polka-pesengmodul .tele .marker.mk-rep{ color:var(--rot-tief) !important; text-underline-offset:6px; text-decoration-thickness:2px }
.polka-pesengmodul .pill-emoji{ display:none !important }
.polka-pesengmodul .col-pillar{ border:1px solid rgba(20,17,16,.12) !important; border-top:3px solid var(--rot) !important }
.polka-pesengmodul .col-pillar::before{ content:none !important }
.polka-pesengmodul :is(.podium-kw,.podium-stat,.pop-tag,.anti-chip,.arch-block,.col-quote){ border-radius:4px !important; box-shadow:none !important }
.polka-pesengmodul :is(.podium-mic,.ex-card svg *,.pomegranate){ animation:none !important }
.polka-pesengmodul .podium-mic{ filter:none !important; box-shadow:none !important }
.polka-pesengmodul .ex-card :is(.l,.lbl,small,.wave-info,.desc){ font-style:normal !important }
.polka-pesengmodul .lat{ direction:ltr; unicode-bidi:isolate }
.polka-pesengmodul .crit-tag{ border-radius:4px !important }
.polka-pesengmodul .crit-tag.used{ background:var(--tinte) !important; color:var(--weiss) !important; border-color:var(--tinte) !important }

/* Pêşeng · Dokument-Etiketten: ohne Emoji, aufrecht, als ruhige Zeile über dem Inhalt */
.polka-pesengmodul :is(.conn-paper,.euph-paper,.treaty-paper,.pass-orig,.anachro-doc,.pol-doc,.cal-doc,.rev-orig,.mas-source,.sarc-zone,.opp-orig,.opp-target,.nom-forge,.pr-source,.obj-doc,.sh-target,.rv-paper,.fc-tweet,.reg-orig,.reg-target,.reg-source,.nom-source,.nom-target,.ir-src,.sub-video)::before{ position:static !important; display:block !important; margin:0 0 10px !important; padding:0 !important; background:none !important; border:0 !important; border-radius:0 !important; box-shadow:none !important; transform:none !important; color:var(--rot) !important; font-family:var(--schrift-ui) !important; font-style:normal !important; font-size:.72rem !important; font-weight:700 !important; letter-spacing:.1em !important; text-transform:uppercase; direction:ltr !important; text-align:left !important; opacity:1 !important }
.polka-pesengmodul .conn-paper::before{ content:"ڕاگەیەندراوی فەرمی" !important }
.polka-pesengmodul .euph-paper::before{ content:"ڕاپۆرتی فەرمی · 2026" !important }
.polka-pesengmodul .treaty-paper::before{ content:"پەیماننامەی نێودەوڵەتی · 2026" !important }
.polka-pesengmodul .anachro-doc::before{ content:"سندی 1920" !important }
.polka-pesengmodul .pol-doc::before{ content:"Sprachpolitisches Dokument" !important }
.polka-pesengmodul .cal-doc::before{ content:"Verdächtige Übersetzungen" !important }
.polka-pesengmodul .rev-orig::before{ content:"Original · شێرکۆ بێکەس" !important }
.polka-pesengmodul .mas-source::before{ content:"Quelle · Bertolt Brecht (Auszug)" !important }
.polka-pesengmodul .sarc-zone::before{ content:"NUUSAR · facebook.kurdistan/ofis" !important }
.polka-pesengmodul .opp-orig::before{ content:"Lob · überschwänglich" !important }
.polka-pesengmodul .opp-target::before{ content:"Satire · durch Übertreibung" !important }
.polka-pesengmodul .nom-forge::before{ content:"Nominal-Schmiede" !important }
.polka-pesengmodul .pr-source::before{ content:"Dogmatisch · absolut" !important }
.polka-pesengmodul .obj-doc::before{ content:"Entwurf · Studentenarbeit" !important }
.polka-pesengmodul .sh-target::before{ content:"Abstract · max. 50 Wörter" !important }
.polka-pesengmodul .rv-paper::before{ content:"Entwurf zur Begutachtung" !important }
.polka-pesengmodul .sub-video::before{ color:var(--weiss) !important }
.polka-pesengmodul .sub-preview:empty::before{ content:"Schreiben Sie Ihren Untertitel" !important }
.polka-pesengmodul .euph-card.cracked::after{ content:"entlarvt" !important }
.polka-pesengmodul .euph-mask::after{ content:none !important }
.polka-pesengmodul .sf-pillar.sat .placed::before{ content:"⌬ " !important }
.polka-pesengmodul .sf-pillar.fake .placed::before{ content:"✗ " !important }
.polka-pesengmodul :is(.parl-hero,.court-hero,.signal-hero,.archiv-hero,.socio-hero,.bridge-hero,.studio-hero,.lab-hero)::after{ content:none !important }
.polka-pesengmodul :is(.conn-paper,.euph-paper){ background:var(--weiss) !important; border:1px solid rgba(20,17,16,.14) !important; border-radius:4px !important; box-shadow:none !important }

/* Pêşeng M2/M5: helle Antithesen-Seite bleibt hell, Abspielknopf der Mindmap kräftig */
.polka-pesengmodul .anti-side{ background:var(--weiss) !important; color:var(--tinte) !important; border:1px solid rgba(20,17,16,.18) !important }
.polka-pesengmodul .anti-side.dark{ background:var(--rot-tief) !important; color:var(--weiss) !important; border-color:var(--rot-tief) !important }
.polka-pesengmodul .mm-play{ background:var(--rot) !important; color:var(--weiss) !important; box-shadow:none !important }

/* Fußknöpfe .hub-nav überall einheitlich wie auf uebungen-berufe.html (Wunsch 12.10.2026):
   rot gerahmt, Rundung 10px, fett, ohne Emojis; schlägt Gold-, Eck- und Integrationsvarianten der Einzelseiten */
html body .hub-nav:not([hidden]):not(#_){ display:flex !important; flex-wrap:wrap !important; justify-content:center !important; gap:10px !important; margin:28px auto 12px !important; padding:0 14px !important }
html body .hub-nav:not(#_) a{ padding:9px 18px !important; background:#fcfbf9 !important; color:#ae151b !important; text-decoration:none !important;
  border:2px solid #c7262c !important; border-radius:10px !important; box-shadow:none !important; font-family:Inter,system-ui,sans-serif !important;
  font-style:normal !important; font-weight:700 !important; font-size:.9rem !important; line-height:1.3 !important; white-space:nowrap !important;
  transform:none; transition:background-color .15s, color .15s, transform .15s }
html body .hub-nav:not(#_) a:hover{ background:#c7262c !important; color:#fcfbf9 !important; transform:translateY(-2px) }
html body .hub-nav:not(#_) a:focus-visible{ outline:3px solid #141110 !important; outline-offset:2px !important }
html[data-theme="dark"] body .hub-nav:not(#_) a{ background:var(--card,#4a443e) !important; color:var(--ink,#f1efea) !important }
@media (prefers-reduced-motion:reduce){ html body .hub-nav:not(#_) a:hover{ transform:none } }
