/* ============================================================================
   Baukasten Flächen, 23.10.2026 (Ralf, Auftrag
   claude/2026-10-23_Auftrag_Design_Baukasten_Menue_Seiten.md, Teil 1).

   Vorbild sind die Kunden-Karten in js/kunde-karten.js. Eine gemeinsame
   Datei für alle Seiten, eingebunden mit
     <link rel="stylesheet" href="/css/hub-flaechen.css?v=20261024c">
   Jede Klasse trägt die Vorsilbe hf-, damit keine Regel einer Seite
   durchschlägt und keine Regel von hier in eine Seite (Lehre aus den
   Kunden-Karten, Fassung kk4). Geprüft in tests/hub-flaechen.js.

   Farbe nur mit Bedeutung. Ein Farbsatz setzt vier Werte, und jeder Baustein
   liest nur diese vier:
     --bc    Schrift im Kopf, Streifen, Balken
     --bsec  Grund der Fläche
     --bbg   Karte in der Fläche, eine Stufe kräftiger
     --bln   Rand von Fläche und Karte
   Farbwerte stehen nur im Abschnitt FARBSAETZE, sonst nirgends.

   Farbsätze
     hf-lila     Creator Kooperationen       hf-start    Vor dem Start, gelb
     hf-hblau    Themenkanal                 hf-versand  Versand, türkis
     hf-rosa     amzngshops                  hf-kunde    Kunde, indigo
     hf-orange   TikTok Shop                 hf-startklar alles erfüllt, grün
     hf-gruen    Paid Media

   Bausteine
     hf-bereich  Fläche mit Kopf hf-bk. Im Kopf hf-bk-ic Symbol, hf-bk-t Titel
                 in Bereichsfarbe, hf-bk-s Untertitel, hf-bk-r rechts,
                 hf-bk-bar Balken mit <i style="width:..">.
     hf-karte    Kachel, eine Stufe kräftiger als die Fläche, Farbstreifen
                 links, anklickbar mit Hover. hf-an gewählt, hf-neu gestrichelt.
                 Innen hf-karte-p Produkt, hf-karte-n Name, hf-karte-z Stand.
     hf-pille    Plakette. Ohne Zustand in der Farbe des Farbsatzes, mit
                 hf-ok, hf-gelb, hf-rot, hf-grau als Ampel.
     hf-punkt    Ampelpunkt, hf-ok, hf-gelb, hf-rot, hf-grau.
     hf-zahl     Kennzahl, hf-zahl-l Beschriftung, hf-zahl-w große Zahl,
                 hf-zahl-s Untertitel. hf-tq Agenturanteil, hf-blau
                 durchlaufendes Geld. Mehrere in hf-zahlen.
     hf-schritt  Zeile in Vor dem Start. hf-ok dezent mit grünem Haken,
                 hf-fehlt gelb mit Knopf. Innen hf-schritt-h Haken,
                 hf-schritt-x Text. Mehrere in hf-schritte.
     hf-aufgabe  Zeile in Jetzt bewegen. Marke hf-aufgabe-tag, hf-rot oder
                 hf-gelb an der Zeile, Text hf-aufgabe-x, Knopf rechts.
     hf-weg      Stufen nebeneinander, je Stufe hf-stufe mit hf-stufe-l,
                 hf-stufe-n große Zahl, hf-stufe-s. hf-leer gedimmt.
     hf-phasen   Phasenleiste aus hf-ph, hf-ph-ok erreicht, hf-ph-jetzt
                 aktuell. Darunter hf-phl mit den Namen.
     hf-knopf    Knopf, hf-haupt rot, hf-klein kleiner.
     hf-raster   Kacheln in Spalten, hf-zwei zwei Spalten, hf-voll über alle.
     hf-status   Zustandszeile mit Punkt, etwa Versand aus.
     hf-fortschritt   Fortschritt, <i style="width:..">.
     hf-zu       Zugeklappter Abschnitt, details mit summary.
     hf-ziel     Zahl im Text, die selbst zum Ziel führt, etwa 11 Ja.

   Karten führen zum Ziel, seit 23.10.2026 (Ralf, Auftrag
   claude/2026-10-23_Auftrag_Karten_klickbar.md). Jede hf-karte, jede
   hf-zahl und jede hf-stufe mit Zahl hat ein Ziel, also einen Link
   <a href>, einen <button> mit onclick oder data-ziel mit dem Namen einer
   Seitenfunktion (Argumente in data-arg, mit | getrennt). Klick, Enter und
   Leertaste öffnen es, die Weiche dafür steht in js/hub-nav.js. Zeiger,
   Hover mit Rand in Flächenfarbe und Fokus-Ring kommen von hier. Eine
   Karte ohne Ziel ist die Ausnahme und trägt hf-still. Geprüft in
   tests/karten-klickbar.js.
   ============================================================================ */

/* ---------- ABSTAENDE ----------
   Fünf Abstände für alle Seiten, 24.10.2026 (Ralf, Auftrag
   claude/2026-10-24_Auftrag_Menue_Heute_Dringlichkeit.md). Innen in Karten
   mindestens --ab-3, zwischen Karten --ab-3, zwischen Abschnitten --ab-4
   bis --ab-5. Die Namen --s1 bis --s5 sind vergeben, kampagnen.html nutzt
   --s2 als Farbe. Heute stellen Menü und Seite Heute um, die übrigen Seiten
   folgen. Wer liest, gibt den Wert als Rückfall mit, var(--ab-3,24px), denn
   das Menü steht auch auf Seiten ohne diese Datei. */
:root{--ab-1:8px;--ab-2:16px;--ab-3:24px;--ab-4:40px;--ab-5:64px}

/* ---------- FARBSAETZE ANFANG ---------- */
.hf-bereich,.hf-karte,.hf-weg,.hf-aufgabe,.hf-schritt,.hf-pille,.hf-zahl,.hf-zu,.hf-knopf,.hf-status,.hf-raster,.hf-punkt,.hf-fortschritt{
  --hf-w:#ffffff;--hf-soft:#ecece6;--hf-muted:#c9c9c0;--hf-line:#2a2a27;--hf-card2:#181816;--hf-dunkel:#0a0a09;--hf-leer:#22221f;
  --hf-red:#CE403C;--hf-rot-bg:#2a1211;--hf-rot-ln:#7a2a26;--hf-rot-tx:#ff9a96;
  --hf-yel:#f5c84b;--hf-yel-bg:#2a2310;--hf-yel-ln:#7a6420;
  --hf-grn:#4ade80;--hf-grn-bg:#0f2617;--hf-grn-ln:#1f5a35;
  --hf-gry:#3a3a36;--hf-gry-bg:#1a1a18;--hf-gry-tx:#77776f;
  --hf-tq:#5eead4;--hf-blau:#7cc4ff;
  --hf-hell:rgba(255,255,255,.06);--hf-tief:rgba(0,0,0,.28);--hf-tief-ln:rgba(255,255,255,.08)}
/* Grundsatz nur an der Fläche. Ein Baustein darin erbt den Satz der Fläche,
   eine Kachel ohne Fläche bekommt ihren Satz selbst. */
.hf-bereich,.hf-weg{--bc:#ecece6;--bsec:#111110;--bbg:#181816;--bln:#2a2a27}
.hf-lila{--bc:#c4a1ff;--bbg:#302255;--bln:#7150b8;--bsec:#1d1533}
.hf-hblau{--bc:#7cd3ff;--bbg:#12334a;--bln:#2f7aa3;--bsec:#0c1d29}
.hf-rosa{--bc:#ff8fc7;--bbg:#45182f;--bln:#a34477;--bsec:#24101c}
.hf-orange{--bc:#ffb347;--bbg:#45300f;--bln:#9a6522;--bsec:#2a1d0c}
.hf-gruen{--bc:#4ade80;--bbg:#123a22;--bln:#2a7a48;--bsec:#0c2215}
.hf-start{--bc:#f5c84b;--bbg:#2f2711;--bln:#7a6420;--bsec:#1c170b}
.hf-startklar{--bc:#4ade80;--bbg:#123a22;--bln:#2a7a48;--bsec:#0c2215}
.hf-versand{--bc:#5eead4;--bbg:#123d36;--bln:#2b8072;--bsec:#0c2420}
.hf-kunde{--bc:#a5b4fc;--bbg:#222a55;--bln:#4d5bb0;--bsec:#151a33}
/* ---------- FARBSAETZE ENDE ---------- */

/* ---------- Fläche ---------- */
.hf-bereich{box-sizing:border-box;border-radius:20px;padding:18px;background:var(--bsec);border:1px solid var(--bln);min-width:0;color:var(--hf-w);font-family:Poppins,system-ui,sans-serif;line-height:1.5}
.hf-bereich *,.hf-karte *,.hf-weg *{box-sizing:border-box}
.hf-bereich+.hf-bereich{margin-top:18px}
.hf-bk{display:flex;align-items:center;gap:12px;margin-bottom:14px;flex-wrap:wrap}
.hf-bk-ic{width:40px;height:40px;border-radius:12px;display:flex;align-items:center;justify-content:center;font-size:20px;background:var(--bbg);border:1px solid var(--bln);flex:0 0 40px}
.hf-bk-t{font-size:19px;font-weight:800;color:var(--bc);line-height:1.25}
.hf-bk-s{font-size:14px;color:var(--hf-soft)}
.hf-bk-r{margin-left:auto;display:flex;gap:10px;flex-wrap:wrap;align-items:center}
.hf-bk-bar{flex:1;min-width:120px;max-width:260px;height:8px;border-radius:99px;background:var(--hf-leer);overflow:hidden;margin-left:auto}
.hf-bk-bar i{display:block;height:100%;background:var(--bc);border-radius:99px;transition:width .5s}

/* ---------- Kachel ---------- */
.hf-karte{position:relative;border-radius:16px;padding:14px 16px;background:var(--bbg);border:1px solid var(--bln);min-width:0;color:var(--hf-w);cursor:pointer;transition:transform .15s,border-color .2s;font-family:Poppins,system-ui,sans-serif;text-align:left;font-size:inherit;line-height:1.5;display:block;width:100%;text-decoration:none}
.hf-karte::before{content:"";position:absolute;left:0;top:12px;bottom:12px;width:4px;border-radius:0 4px 4px 0;background:var(--bc)}
.hf-karte:hover{transform:translateY(-2px);border-color:var(--bc)}
.hf-karte.hf-an{border:2px solid var(--bc);box-shadow:0 0 0 4px var(--hf-hell)}
.hf-karte.hf-neu{background:transparent;border:1px dashed var(--hf-gry-tx);display:flex;align-items:center;justify-content:center;font-weight:700;color:var(--hf-soft)}
.hf-karte.hf-neu::before{display:none}
.hf-karte.hf-still{cursor:default}
.hf-karte.hf-still:hover{transform:none;border-color:var(--bln)}
.hf-karte:focus-visible{outline:2px solid var(--bc);outline-offset:2px}
.hf-karte-p{display:block;font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--bc)}
.hf-karte-n{display:block;font-weight:700;font-size:16px;line-height:1.25;margin-top:2px;overflow-wrap:anywhere}
.hf-karte-z{display:flex;align-items:center;gap:6px;margin-top:8px;font-size:13px;color:var(--hf-soft)}
.hf-raster{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,220px),1fr));gap:12px}
.hf-raster.hf-breit{grid-template-columns:repeat(auto-fill,minmax(min(100%,460px),1fr));gap:14px}
.hf-zwei{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);gap:18px;align-items:start}
.hf-zwei>.hf-bereich+.hf-bereich{margin-top:0}
.hf-voll{grid-column:1/-1}

/* ---------- Plakette und Punkt ---------- */
.hf-pille{display:inline-flex;align-items:center;gap:6px;font-size:13px;font-weight:600;padding:4px 11px;border-radius:99px;background:var(--hf-hell);border:1px solid var(--bln);color:var(--hf-soft);white-space:nowrap;line-height:1.4}
.hf-pille.hf-ok{background:var(--hf-grn-bg);border-color:var(--hf-grn-ln);color:var(--hf-grn)}
.hf-pille.hf-gelb{background:var(--hf-yel-bg);border-color:var(--hf-yel-ln);color:var(--hf-yel)}
.hf-pille.hf-rot{background:var(--hf-rot-bg);border-color:var(--hf-rot-ln);color:var(--hf-rot-tx)}
.hf-pille.hf-grau{background:var(--hf-gry-bg);border-color:var(--hf-gry);color:var(--hf-soft)}
.hf-pillen{display:flex;gap:8px;flex-wrap:wrap}
.hf-punkt{width:9px;height:9px;border-radius:99px;display:inline-block;flex:0 0 9px;background:var(--hf-gry-tx)}
.hf-punkt.hf-ok{background:var(--hf-grn)}
.hf-punkt.hf-gelb{background:var(--hf-yel)}
.hf-punkt.hf-rot{background:var(--hf-red)}
.hf-punkt.hf-grau{background:var(--hf-gry-tx)}

/* ---------- Kennzahl ---------- */
.hf-zahlen{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.hf-zahl{border-radius:14px;padding:12px 14px;background:var(--bbg);border:1px solid var(--bln);min-width:0}
.hf-zahl.hf-tief{background:var(--hf-tief);border-color:var(--hf-tief-ln)}
.hf-zahl-l{font-size:13px;color:var(--hf-soft)}
.hf-zahl-w{font-size:28px;font-weight:800;line-height:1.1;margin-top:2px;color:var(--hf-w);overflow-wrap:anywhere}
.hf-zahl-w small{font-size:16px;font-weight:600;color:var(--hf-soft)}
.hf-zahl-s{font-size:13px;color:var(--hf-muted)}
.hf-zahl.hf-tq .hf-zahl-w{color:var(--hf-tq)}
.hf-zahl.hf-blau .hf-zahl-w{color:var(--hf-blau)}
.hf-zahl.hf-klein .hf-zahl-w{font-size:22px}
.hf-zahl.hf-klein .hf-zahl-l{font-size:12px;text-transform:uppercase;letter-spacing:.06em;font-weight:700;color:var(--hf-muted)}
/* Kennzahl und Stufe mit Ziel, seit 23.10.2026 */
a.hf-zahl,button.hf-zahl,.hf-zahl[data-ziel],a.hf-stufe,button.hf-stufe,.hf-stufe[data-ziel]{display:block;width:100%;font-family:inherit;font-size:inherit;line-height:inherit;text-align:left;text-decoration:none;cursor:pointer;transition:transform .15s,border-color .2s}
a.hf-zahl,button.hf-zahl,.hf-zahl[data-ziel]{color:var(--hf-w)}
a.hf-zahl:hover,button.hf-zahl:hover,.hf-zahl[data-ziel]:hover,a.hf-stufe:hover,button.hf-stufe:hover,.hf-stufe[data-ziel]:hover{transform:translateY(-2px);border-color:var(--bc)}
a.hf-zahl:focus-visible,button.hf-zahl:focus-visible,.hf-zahl[data-ziel]:focus-visible,a.hf-stufe:focus-visible,button.hf-stufe:focus-visible,.hf-stufe[data-ziel]:focus-visible{outline:2px solid var(--bc);outline-offset:2px}
.hf-zahl.hf-an,.hf-stufe.hf-an{border-color:var(--bc);box-shadow:0 0 0 3px var(--hf-hell)}
.hf-ziel{cursor:pointer;text-decoration:underline dotted;text-underline-offset:3px;font-weight:700;color:inherit;background:none;border:0;padding:0;font:inherit}
.hf-ziel:hover{color:var(--bc)}
.hf-ziel:focus-visible{outline:2px solid var(--bc);outline-offset:2px;border-radius:4px}

/* ---------- Vor dem Start ---------- */
.hf-schritte{display:grid;gap:10px}
.hf-schritt{display:flex;align-items:center;gap:14px;border-radius:14px;padding:12px 14px;background:var(--bbg);border:1px solid var(--bln);flex-wrap:wrap;color:var(--hf-w)}
.hf-schritt-h{width:30px;height:30px;border-radius:99px;display:flex;align-items:center;justify-content:center;font-weight:800;flex:0 0 30px}
.hf-schritt.hf-ok{background:var(--hf-tief);border-color:var(--hf-tief-ln)}
.hf-schritt.hf-ok .hf-schritt-h{background:var(--hf-grn);color:var(--hf-dunkel)}
.hf-schritt.hf-fehlt{background:var(--hf-yel-bg);border-color:var(--hf-yel-ln)}
.hf-schritt.hf-fehlt .hf-schritt-h{background:var(--hf-yel);color:var(--hf-dunkel)}
.hf-schritt-x{flex:1;min-width:180px}
.hf-schritt-x b{display:block}
.hf-schritt-x span{font-size:14px;color:var(--hf-soft)}

/* ---------- Jetzt bewegen ---------- */
.hf-aufgaben{display:grid;gap:10px}
.hf-aufgabe{display:flex;align-items:center;gap:14px;border-radius:14px;padding:12px 14px;background:var(--bbg);border:1px solid var(--bln);flex-wrap:wrap;color:var(--hf-w)}
.hf-aufgabe-tag{font-size:12px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;padding:3px 9px;border-radius:99px;white-space:nowrap;background:var(--hf-gry);color:var(--hf-w)}
.hf-aufgabe.hf-rot{background:var(--hf-rot-bg);border-color:var(--hf-rot-ln)}
.hf-aufgabe.hf-rot .hf-aufgabe-tag{background:var(--hf-red);color:var(--hf-w)}
.hf-aufgabe.hf-gelb .hf-aufgabe-tag{background:var(--hf-yel);color:var(--hf-dunkel)}
.hf-aufgabe.hf-ok .hf-aufgabe-tag{background:var(--hf-grn);color:var(--hf-dunkel)}
.hf-aufgabe-x{flex:1;min-width:200px}
.hf-aufgabe-x b{display:block;font-size:16px}
.hf-aufgabe-x span{font-size:14px;color:var(--hf-soft)}
.hf-aufgabe-x a{color:inherit}

/* ---------- Weg ---------- */
.hf-weg{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.hf-stufe{position:relative;border-radius:18px;padding:16px 18px;background:var(--bsec);border:1px solid var(--bln);min-width:0;color:var(--hf-w)}
.hf-stufe.hf-leer{opacity:.6}
.hf-stufe-l{font-size:13px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--bc)}
.hf-stufe-n{font-size:34px;font-weight:800;line-height:1.1;margin-top:4px}
.hf-stufe-s{font-size:14px;color:var(--hf-soft)}
.hf-stufe-s .hf-tq{color:var(--hf-tq);font-weight:700}
.hf-stufe::after{content:"›";position:absolute;right:-12px;top:50%;transform:translateY(-50%);font-size:26px;color:var(--bln);z-index:1}
.hf-stufe:last-child::after{display:none}

/* ---------- Phasenleiste ---------- */
.hf-phasen,.hf-phl{display:grid;grid-template-columns:repeat(4,1fr);gap:6px}
.hf-phasen{margin-top:16px}
.hf-ph{height:8px;border-radius:99px;background:var(--hf-hell)}
.hf-ph.hf-ph-ok{background:var(--bc)}
.hf-ph.hf-ph-jetzt{background:var(--hf-yel)}
.hf-phl{margin-top:4px;font-size:12px;color:var(--hf-muted)}
.hf-phl .hf-ph-jetzt{color:var(--hf-yel);font-weight:700}

/* ---------- Knopf, Zustand, Balken, Zugeklappt ---------- */
.hf-knopf{font-family:inherit;border-radius:12px;padding:10px 16px;font-size:15px;font-weight:700;border:1px solid var(--hf-line);background:var(--hf-card2);color:var(--hf-w);cursor:pointer;text-decoration:none;display:inline-flex;align-items:center;gap:6px;white-space:nowrap}
.hf-knopf:hover{border-color:var(--hf-soft)}
.hf-knopf.hf-haupt{background:var(--hf-red);border-color:var(--hf-red)}
.hf-knopf.hf-klein{padding:8px 12px;font-size:14px}
.hf-knopf:disabled{opacity:.4;cursor:not-allowed}
.hf-reihe{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-top:14px}
.hf-reihe .hf-hint{font-size:14px;color:var(--hf-soft)}
.hf-status{display:flex;align-items:center;gap:10px;border-radius:14px;padding:12px 14px;background:var(--hf-gry-bg);border:1px solid var(--hf-gry);margin-bottom:12px;font-weight:700;color:var(--hf-w);flex-wrap:wrap}
.hf-status .hf-punkt{width:12px;height:12px;flex-basis:12px}
.hf-fortschritt{height:10px;border-radius:99px;background:var(--hf-leer);overflow:hidden;margin-top:12px}
.hf-fortschritt i{display:block;height:100%;background:var(--bc)}
.hf-zeile{display:flex;justify-content:space-between;gap:10px;font-size:14px;color:var(--hf-soft);margin-top:6px;flex-wrap:wrap}
.hf-zu{margin-top:20px;border-radius:16px;border:1px solid var(--hf-line);background:var(--bsec);padding:12px 16px;color:var(--hf-w)}
.hf-zu summary{cursor:pointer;font-weight:700}
.hf-zu p{color:var(--hf-soft);font-size:14px}

@media (max-width:900px){
  .hf-zwei{grid-template-columns:1fr}
  .hf-weg{grid-template-columns:1fr 1fr}
  .hf-stufe::after{display:none}
  .hf-zahlen{grid-template-columns:1fr 1fr}
}
@media (max-width:600px){
  .hf-bereich{padding:14px 12px;border-radius:18px}
  .hf-bk-bar{max-width:none;flex-basis:100%;margin-left:0}
  .hf-bk-r{margin-left:0;width:100%}
  .hf-stufe{padding:14px}
  .hf-stufe-n{font-size:28px}
  .hf-zahl-w{font-size:24px}
}


/* ============================================================================
   VERALTET seit 30.10.2026. Fassung 2 des Karten-Kanons, ersetzt durch den
   Abschnitt KARTEN-KANON 3 (kn-) am Ende dieser Datei. Nicht löschen, keine
   neue Fläche nutzt diese Bausteine.
   ============================================================================ */
/* ============================================================================
   KARTEN-KANON ANFANG, Bausteine hk-, 30.10.2026 (Ralf, Kanon freigegeben
   mit Commit 141d9e07, Schritt 0 der Umzugsliste docs/karten-kanon-umzug.md).

   Regeln in docs/Designregeln_HUB.md, Kanon 1 bis 5 und Zweite Fassung,
   kurz in docs/Karten-Kanon_Kurzfassung.html. Vorlage ist der Mock
   docs/mocks/2026-10-29_mock-design-kanon.html, die Regeln hier sind
   dieselben wie dort zwischen hk-anfang und hk-ende. Geprüft in
   tests/hub-flaechen.js (F8 bis F10) und tests/hub-flaechen-hk.js.

   Noch nutzt keine Seite diese Bausteine. Eine Seite zieht um, indem ein
   Behälter die Klasse hk bekommt. hk setzt Schrift, Grundfarbe und die
   Werte --hk-*, alle Bausteine darin lesen nur diese Werte. Ausserhalb
   von hk wirkt kein Baustein richtig, das ist gewollt.

   Zustand. hk-rot, hk-gelb, hk-gruen, hk-grau setzen --z, --z-bg und
   --z-rand an Karte, Kopf, Meldung und Segment. Grau ist die Vorgabe.

   Bausteine
     hk          Behälter, Schrift und Werte
     hk-label    Label in Großbuchstaben, höchstens eins je Bereich
     hk-raster   4 Spalten, 2 ab 1099 px, 1 ab 639 px. Gefüllte Karten
                 einer Reihe gleich hoch, Wissen in natürlicher Höhe
     hk-zone     Abschnitt mit hk-zone-kopf (h2 und span)
     hk-pfad     Pfad über dem Kopf
     hk-kopf     Kopfkarte. Links hk-wer mit hk-wer-oben (h1 und Pille),
                 hk-kopf-satz, hk-klartext Zählung als Satz, hk-segmente
                 Segmentleiste aus <i class="hk-rot">, hk-daten mit
                 hk-daten-l, hk-daten-w, hk-daten-u. Rechts hk-stand im
                 Zustand der dringendsten Karte mit hk-lage und Hauptknopf
     hk-geld     Geldbetrag weiß, hk-fliesst grün, nur wenn Geld fließt
     hk-karte    Entscheidungskarte, gefüllt, Zustand als Rand. hk-voll die
                 dringendste, eingefärbt. hk-breit über 2 Spalten
     hk-wissen   Wissenskarte an hk-karte, ohne Fläche und Rand
     hk-frage, hk-titel, hk-antwort (das einzige schwere Element),
                 hk-satz, hk-liste
     hk-unten    Fuß der Karte, Knopf oder Textlink an derselben Kante
     hk-knopf    Knopf, Text nie zweizeilig. hk-haupt in Zustandsfarbe
     hk-textlink Textlink mit 48 px Trefferfläche. hk-taste Tastenhinweis
     hk-vorgaenge Liste ohne Fläche und Zustandsfarbe, Textlink Öffnen
     hk-pillen, hk-pille   nur Fakten, nur grau
     hk-meldung  Meldung an der Stelle der Aktion, darf den Zustand tragen
     hk-stapelkarte  Stapel, hk-oberkante Fortschrittsbalken über die
                 Oberkante, hk-zaehler, hk-stapel, hk-hinten, hk-abschluss
     hk-tag      Heute-Kopf mit hk-tag-feld, hk-tag-l, hk-tag-zahl,
                 hk-tag-u, hk-balken, hk-serie (<i>, leer)
     hk-neu, hk-weg, hk-weg-links  Weggleiten, nur transform und opacity

   casting.html nutzt seit früher eigene Klassen mit hk-, hk-text,
   hk-absender, hk-ki, hk-hand, hk-vorname, hk-check, hk-bewerber. Diese
   Namen legt der Kanon nie an (F9).
   ============================================================================ */

/* ---------- HK-FARBEN ANFANG ---------- */
.hk{
  --hk-bg:#0a0a09; --hk-panel:#111110; --hk-panel2:#191917; --hk-line:#2a2a28; --hk-line2:#3a3933;
  --hk-txt:#fff; --hk-sub:#d6d6d2; --hk-dim:#b8b8b1; --hk-schwarz:#000;
  --hk-rot:#f87171; --hk-rot-bg:#3a1414; --hk-rot-rand:#7f1d1d;
  --hk-gelb:#fbbf24; --hk-gelb-bg:#3a2a0a; --hk-gelb-rand:#6b4e12;
  --hk-gruen:#4fd18b; --hk-gruen-bg:#123a26; --hk-gruen-rand:#1f7a47;
  --hk-grau:#b8b8b1; --hk-grau-bg:#1f1f1c; --hk-grau-rand:#57564f;
  --hk-r:24px; --hk-r2:16px; --hk-zeit:.35s;
}
/* ---------- HK-FARBEN ENDE ---------- */
.hk{font-family:Poppins,sans-serif;font-size:17px;line-height:1.5;font-weight:400;color:var(--hk-txt)}
.hk *{box-sizing:border-box}

/* Zustand, an Karte, Kopf, Meldung und Segment. Grau ist die Vorgabe. */
.hk-karte,.hk-kopf,.hk-meldung{--z:var(--hk-grau);--z-bg:var(--hk-grau-bg);--z-rand:var(--hk-grau-rand)}
.hk-rot{--z:var(--hk-rot);--z-bg:var(--hk-rot-bg);--z-rand:var(--hk-rot-rand)}
.hk-gelb{--z:var(--hk-gelb);--z-bg:var(--hk-gelb-bg);--z-rand:var(--hk-gelb-rand)}
.hk-gruen{--z:var(--hk-gruen);--z-bg:var(--hk-gruen-bg);--z-rand:var(--hk-gruen-rand)}
.hk-grau{--z:var(--hk-grau);--z-bg:var(--hk-grau-bg);--z-rand:var(--hk-grau-rand)}

/* Label in Großbuchstaben, höchstens eins je Bereich */
.hk-label{color:var(--hk-dim);font-size:13px;font-weight:600;letter-spacing:.18em;text-transform:uppercase}

/* Raster, Kanon 5. Gefüllte Karten einer Reihe strecken sich auf gleiche Höhe,
   Wissenskarten ohne Fläche behalten ihre natürliche Höhe (align-self:start) */
.hk-raster{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px}
.hk-zone{margin-top:40px}
.hk-zone-kopf{display:flex;align-items:baseline;gap:16px;flex-wrap:wrap;margin-bottom:24px}
.hk-zone-kopf h2{font-size:22px;font-weight:700;margin:0}
.hk-zone-kopf span{color:var(--hk-dim)}

/* Kopfkarte. Links wer, rechts die Lage im Zustand der dringendsten Karte */
.hk-pfad{color:var(--hk-dim);font-size:15px;margin:0 0 8px}
.hk-kopf{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,460px);
  background:var(--hk-panel);border:1px solid var(--hk-line2);border-radius:var(--hk-r);overflow:hidden}
.hk-wer{display:flex;flex-direction:column;gap:16px;min-width:0;padding:24px}
.hk-wer-oben{display:flex;align-items:center;gap:16px;flex-wrap:wrap}
.hk-kopf h1{font-size:20px;font-weight:600;letter-spacing:0;margin:0;line-height:1.3}
.hk-kopf-satz{color:var(--hk-sub);margin:0;font-size:15px}
.hk-klartext{font-size:15px;font-weight:500;color:var(--hk-sub)}
.hk-segmente{display:flex;gap:4px;height:10px}
.hk-segmente i{flex:1;border-radius:10px;background:var(--z)}
.hk-daten{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 24px;padding-top:16px;border-top:1px solid var(--hk-line2)}
.hk-daten-l{color:var(--hk-dim);font-size:14px}
.hk-daten-w{font-size:17px;font-weight:500;overflow-wrap:anywhere}
.hk-daten-u{color:var(--hk-dim);font-size:14px}
.hk-stand{display:flex;flex-direction:column;justify-content:space-between;gap:24px;min-width:0;padding:24px;
  background:var(--z-bg);border-left:1px solid var(--z-rand)}
.hk-stand .hk-label{color:var(--z)}
.hk-lage{font-size:32px;font-weight:800;line-height:1.2;letter-spacing:-.01em;margin-top:8px;hyphens:none;overflow-wrap:normal}

/* Geld weiß, grün nur wenn Geld fließt */
.hk-geld{color:var(--hk-txt);font-weight:500;white-space:nowrap}
.hk-geld.hk-fliesst{color:var(--hk-gruen)}

/* Entscheidungskarte, gefüllt, Zustand als Rand, die dringendste voll und breit */
.hk-karte{position:relative;background:var(--hk-panel);border:1px solid var(--z-rand);box-shadow:inset 4px 0 0 var(--z);
  border-radius:var(--hk-r2);padding:24px;min-height:200px;min-width:0;display:flex;flex-direction:column;gap:8px;
  transition:transform var(--hk-zeit) ease,opacity var(--hk-zeit) ease}
.hk-karte.hk-voll{background:var(--z-bg);border-color:var(--z);box-shadow:none}
.hk-karte.hk-breit{grid-column:span 2}
.hk-karte.hk-breit .hk-antwort{font-size:30px}
.hk-karte[data-blatt]{cursor:pointer}

/* Wissenskarte, ohne Grund und Rand, leiser, kein schweres Element */
.hk-karte.hk-wissen{background:none;border:1px solid transparent;border-top-color:var(--hk-line);box-shadow:none;border-radius:0;padding:16px 0 24px;min-height:0;align-self:start}
.hk-wissen .hk-titel{font-weight:500;color:var(--hk-sub)}
/* Textlink im Wissen direkt unter dem letzten Punkt, bei jeder Karte gleich. 48 px Trefferfläche bleiben, die Schrift steht oben darin */
.hk-wissen .hk-unten{padding-top:8px}
.hk-wissen .hk-textlink{align-items:flex-start}
.hk-wissen .hk-frage::before{content:"";display:inline-block;width:8px;height:8px;border-radius:50%;background:var(--z);margin-right:8px;vertical-align:middle}

/* Text. Schwer ist nur die Antwort. */
.hk-frage{color:var(--hk-dim);font-size:14px}
.hk-voll .hk-frage{color:var(--hk-sub)}
.hk-titel{font-size:16px;font-weight:500;line-height:1.35}
.hk-antwort{font-size:24px;font-weight:800;line-height:1.15;letter-spacing:-.01em;hyphens:none;overflow-wrap:normal}
.hk-satz{color:var(--hk-sub);font-size:15px;margin:0}
.hk-liste{margin:0;padding-left:20px;color:var(--hk-sub);font-size:15px}

/* Unten, ein Knopf oder ein Textlink, immer an derselben Kante */
.hk-unten{margin-top:auto;padding-top:16px;display:flex;flex-direction:column;gap:8px}
.hk-knopf{display:flex;align-items:center;justify-content:space-between;gap:16px;width:100%;min-height:48px;
  background:var(--hk-panel2);border:1px solid var(--z-rand,var(--hk-line2));color:var(--hk-txt);border-radius:40px;
  padding:8px 24px;font:inherit;font-weight:600;cursor:pointer;text-align:left;text-decoration:none;white-space:nowrap}
/* Knopftext nie zweizeilig. Lieber kürzen (Nachfassen statt Angebot nachfassen), die Karte nennt das Ding schon */
.hk-voll .hk-knopf{background:var(--hk-txt);border-color:var(--hk-txt);color:var(--hk-schwarz)}
.hk-knopf.hk-haupt{background:var(--z,var(--hk-txt));border-color:var(--z,var(--hk-txt));color:var(--hk-schwarz)}
.hk-knopf:disabled{background:var(--hk-panel2);border-color:var(--hk-line2);color:var(--hk-dim);cursor:not-allowed}
.hk-knopf:focus-visible,.hk-textlink:focus-visible,.hk-karte:focus-visible{outline:2px solid var(--hk-txt);outline-offset:2px}
.hk-textlink{display:flex;align-items:center;min-height:48px;color:var(--hk-sub);background:none;border:0;padding:0;font:inherit;font-size:15px;
  text-decoration:underline;text-decoration-color:var(--hk-line2);text-underline-offset:4px;cursor:pointer;text-align:left}
.hk-taste{color:var(--hk-dim);font-size:14px}

/* Vorgangsliste. Ein Vorgang, der schon als Entscheidungskarte steht, erscheint hier
   noch einmal ohne Fläche und ohne Zustandsfarbe. Derselbe Vorgang hat nie zwei Farben. */
.hk-vorgaenge{list-style:none;margin:0;padding:0}
.hk-vorgaenge li{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:16px;align-items:center;padding:8px 0;border-top:1px solid var(--hk-line)}
.hk-vorgaenge li:last-child{border-bottom:1px solid var(--hk-line)}
.hk-vorgaenge .hk-textlink{white-space:nowrap}

/* Pillen, nur Fakten, nur grau, Kanon 3 */
.hk-pillen{display:flex;gap:8px;flex-wrap:wrap}
.hk-pille{display:inline-flex;align-items:center;border-radius:40px;padding:4px 16px;font-size:14px;font-weight:500;
  border:1px solid var(--hk-grau-rand);background:var(--hk-grau-bg);color:var(--hk-sub);max-width:100%;white-space:normal;hyphens:none}

/* Meldung an der Stelle der Aktion, darf den Zustand tragen */
.hk-meldung{border-radius:var(--hk-r2);padding:16px 24px;background:var(--z-bg);border:1px solid var(--z-rand);color:var(--z);font-weight:500}

/* Stapelkarte, Fortschrittsbalken über die Oberkante */
.hk-stapelkarte{border-radius:var(--hk-r);padding:40px;min-height:480px;gap:16px;touch-action:pan-y;overflow:hidden}
.hk-oberkante{position:absolute;left:0;right:0;top:0;height:8px;background:var(--hk-line2)}
.hk-oberkante i{display:block;height:100%;background:var(--hk-gruen);transition:width var(--hk-zeit) ease}
.hk-stapelkarte .hk-antwort{font-size:36px;letter-spacing:-.02em}
.hk-stapelkarte .hk-satz{font-size:17px}
.hk-zaehler{color:var(--hk-sub);font-size:14px;white-space:nowrap}
.hk-stapel{position:relative;width:100%;max-width:760px;margin:0 auto}
.hk-hinten{position:absolute;inset:0;border-radius:var(--hk-r);transform:translateY(16px) scale(.96);opacity:.7}
.hk-abschluss .hk-antwort{font-size:40px}

/* Heute-Kopf, Tagesziel, Erledigt, Serie */
.hk-tag{display:grid;grid-template-columns:minmax(0,2fr) minmax(0,1fr) minmax(0,1fr);gap:24px;
  background:var(--hk-panel);border:1px solid var(--hk-line2);border-radius:var(--hk-r);padding:24px}
.hk-tag-feld{display:flex;flex-direction:column;gap:8px;min-width:0}
.hk-tag-l{color:var(--hk-dim);font-size:14px}
.hk-tag-zahl{font-size:40px;font-weight:800;line-height:1.1}
.hk-tag-u{color:var(--hk-sub);font-size:15px}
.hk-balken{height:12px;border-radius:12px;background:var(--hk-line2);overflow:hidden}
.hk-balken i{display:block;height:100%;background:var(--hk-gruen);border-radius:12px;transition:width var(--hk-zeit) ease}
.hk-serie{display:flex;gap:8px}
.hk-serie i{flex:1;height:12px;border-radius:12px;background:var(--hk-gruen)}
.hk-serie i.leer{background:var(--hk-line2)}

/* Weggleiten, nur transform und opacity */
.hk-karte.hk-neu{transform:translateY(24px) scale(.97);opacity:0}
.hk-karte.hk-weg{transform:translateY(-40px) scale(.97);opacity:0}
.hk-karte.hk-weg-links{transform:translateX(-120%) rotate(-6deg);opacity:0}
@media (prefers-reduced-motion:reduce){.hk-karte,.hk-balken i,.hk-oberkante i{transition:none}}

@media (max-width:1099px){.hk-raster{grid-template-columns:repeat(2,minmax(0,1fr))}.hk-tag{grid-template-columns:repeat(2,minmax(0,1fr))}.hk-tag-feld:first-child{grid-column:1/-1}
  .hk-kopf{grid-template-columns:1fr}.hk-stand{border-left:0;border-top:1px solid var(--z-rand)}}
@media (max-width:639px){.hk-raster,.hk-tag,.hk-daten{grid-template-columns:1fr}.hk-karte.hk-breit{grid-column:auto}.hk-lage{font-size:26px}
  .hk-stapelkarte{padding:24px;min-height:440px}.hk-stapelkarte .hk-antwort{font-size:28px}.hk-abschluss .hk-antwort{font-size:30px}}
/* ---------- KARTEN-KANON ENDE ---------- */

/* ============================================================================
   KARTEN-KANON 3 ANFANG, Bausteine kn-, 30.10.2026 (Ralf, Fassung 3 gilt,
   Schritt 0 der Umzugsliste docs/karten-kanon-umzug.md).

   Zeichengleich mit dem Block zwischen kn-anfang und kn-ende in
   docs/mocks/2026-10-30_mock-kanon-3.html, geprüft in tests/hub-flaechen.js
   F11. Geändert wird nur dort und dann hierher kopiert, nie hier allein.
   Regeln in docs/Designregeln_HUB.md, Abschnitt Dritte Fassung.

   Einbinden statt kopieren. Eine Fläche bindet diese Datei ein,
     <link rel="stylesheet" href="/css/hub-flaechen.css?v=…">
   und gibt ihrem Behälter die Klasse kn-flaeche. Nicht kn, die nutzt
   kunde.html für Kontaktnamen. Bis eine Seite umzieht, nutzt keine Seite
   eine kn-Klasse (F12).

   Stapel aufklappbar, seit 02.11.2026 (Ralf). Jeder Stapel kn-stapel hat oben
   rechts den Umschalter kn-umschalter, Alle Karten zeigen oder Als Stapel.
   Das Umschalten und Merken je Seite macht js/kn-stapel.js, die Seite bindet
   es neben dieser Datei ein. Geprüft in tests/kanon-pruefstand.js K8.
   ============================================================================ */
/* ---------- kn-anfang, Vorschlag für css/hub-flaechen.css ---------- */
/* Behälter kn-flaeche, nicht kn, denn kunde.html nutzt die Klasse kn für sich */
.kn-flaeche{
  /* Grund und Schrift, Schrift immer hell */
  --kn-grund:#0a0a09; --kn-txt:#fff; --kn-sub:rgba(255,255,255,.82); --kn-dim:rgba(255,255,255,.64);
  --kn-linie:rgba(255,255,255,.22); --kn-tief:rgba(0,0,0,.22); --kn-hell:rgba(255,255,255,.14);
  /* Bereiche, je eine kräftige Füllfarbe. Kein Bereich liegt im Ton eines Zustands */
  --kn-kunden:#3730a3; --kn-creator:#7e22ce; --kn-kanal:#0369a1; --kn-kampagne:#be185d;
  --kn-geld:#0f766e; --kn-setup:#475569;
  /* Ablage, Ereignisse, gesendete Seiten und Stammdaten, ruhig und getrennt von Kunden (Ralf, 30.10.2026) */
  --kn-ablage:#334155;
  /* Zustände, kräftig, nur für Karten, die Arbeit verlangen oder fertig sind */
  --kn-rot:#b91c1c; --kn-gelb:#b45309; --kn-gruen:#15803d; --kn-grau:#3f3f46;
  --kn-r:24px; --kn-zeit:.3s;
  font-family:Poppins,sans-serif; font-size:17px; line-height:1.55; color:var(--kn-txt); font-weight:400;
}
.kn-flaeche *{box-sizing:border-box}

/* Füllung. Jede Karte bekommt genau eine Füllklasse, die Farbe steht dann in --f */
.kn-kunden{--f:var(--kn-kunden)} .kn-creator{--f:var(--kn-creator)} .kn-kanal{--f:var(--kn-kanal)}
.kn-kampagne{--f:var(--kn-kampagne)} .kn-geld{--f:var(--kn-geld)} .kn-setup{--f:var(--kn-setup)} .kn-ablage{--f:var(--kn-ablage)}
.kn-rot{--f:var(--kn-rot)} .kn-gelb{--f:var(--kn-gelb)} .kn-gruen{--f:var(--kn-gruen)} .kn-grau{--f:var(--kn-grau)}

/* Seite, viel Luft */
.kn-seite{max-width:1200px;margin:0 auto;padding:40px 24px 96px}
.kn-abschnitt{margin-top:64px}
.kn-abschnitt-kopf{display:flex;align-items:center;gap:24px;flex-wrap:wrap;margin-bottom:24px}
.kn-abschnitt-kopf h2{font-size:26px;font-weight:800;letter-spacing:-.01em;margin:0}
.kn-abschnitt-kopf p{margin:0;color:var(--kn-dim)}

/* Menüleiste unter dem Kopf. Sprungmarken mit Zahl, bleibt beim Scrollen oben, keine Reiter.
   Jede Übersicht hat sie, Akte, Kanal, Kampagne */
.kn-menue{position:sticky;top:0;z-index:5;background:var(--kn-grund);display:flex;gap:8px;overflow-x:auto;
  padding:8px 0;margin-top:24px;border-bottom:1px solid var(--kn-linie)}
.kn-menue a{color:var(--kn-sub);text-decoration:none;font-weight:600;font-size:15px;padding:8px 16px;border-radius:12px;white-space:nowrap;min-height:44px;display:inline-flex;align-items:center}
.kn-menue a:hover,.kn-menue a:focus-visible{background:var(--kn-hell);color:var(--kn-txt)}
.kn-menue b{color:var(--kn-txt);margin-left:8px}
.kn-abschnitt[id]{scroll-margin-top:80px}

/* Raster, höchstens drei Karten je Reihe */
.kn-raster{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.kn-raster.kn-zwei{grid-template-columns:repeat(2,minmax(0,1fr))}

/* Karte, immer vollflächig gefüllt */
.kn-karte{position:relative;background:var(--f);border-radius:var(--kn-r);padding:32px;min-width:0;
  display:flex;flex-direction:column;gap:8px;color:var(--kn-txt);transition:transform var(--kn-zeit) ease,opacity var(--kn-zeit) ease}
.kn-karte.kn-gross{grid-column:span 2;padding:40px;gap:16px}
.kn-wort{font-size:15px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--kn-sub)}
.kn-titel{font-size:20px;font-weight:700;line-height:1.3}
.kn-satz{margin:0;color:var(--kn-sub)}
.kn-gross .kn-titel{font-size:34px;font-weight:900;letter-spacing:-.02em;line-height:1.15}
.kn-gross .kn-satz{font-size:19px}
.kn-zahl{font-size:40px;font-weight:900;letter-spacing:-.02em;line-height:1.1}
.kn-unten{margin-top:auto;padding-top:24px;display:flex;gap:16px;flex-wrap:wrap;align-items:center}

/* Erledigt gedämpft, gesperrt gestrichelt */
.kn-karte.kn-erledigt{opacity:.5}
.kn-karte.kn-gesperrt{background:transparent;border:2px dashed var(--kn-linie);color:var(--kn-dim)}
.kn-gesperrt .kn-titel{color:var(--kn-sub)}

/* Knopf, auf der Füllung weiß mit dunkler Schrift */
.kn-knopf{display:inline-flex;align-items:center;justify-content:center;gap:16px;min-height:52px;padding:12px 28px;
  border-radius:16px;border:0;background:var(--kn-txt);color:#111;font:inherit;font-weight:700;cursor:pointer;white-space:nowrap}
.kn-knopf.kn-leise{background:var(--kn-hell);color:var(--kn-txt)}
.kn-knopf:focus-visible,.kn-mehr summary:focus-visible{outline:3px solid var(--kn-txt);outline-offset:3px}

/* Details aufklappbar */
.kn-mehr{margin-top:8px;border-top:1px solid var(--kn-linie);padding-top:16px}
.kn-mehr summary{cursor:pointer;font-weight:600;color:var(--kn-sub);list-style:none;min-height:44px;display:flex;align-items:center}
.kn-mehr summary::-webkit-details-marker{display:none}
.kn-mehr summary::after{content:"+";margin-left:auto;font-size:22px;font-weight:400}
.kn-mehr[open] summary::after{content:"−"}
.kn-mehr p{margin:8px 0 0;color:var(--kn-sub)}

/* Kopf, eine große Karte im Bereich der Seite, mit Ring */
.kn-kopf{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:40px;align-items:center;background:var(--f);border-radius:32px;padding:48px}
.kn-kopf-wo{color:var(--kn-sub);font-size:15px;margin:0 0 8px}
.kn-kopf h1{font-size:22px;font-weight:600;margin:0}
.kn-lage{font-size:40px;font-weight:900;letter-spacing:-.025em;line-height:1.15;margin:16px 0 24px}

/* Ring mit x von y */
.kn-ring{position:relative;width:168px;height:168px;flex:0 0 168px}
.kn-ring svg{width:100%;height:100%;transform:rotate(-90deg)}
.kn-ring .kn-spur{stroke:var(--kn-tief);fill:none;stroke-width:14}
.kn-ring .kn-stand{stroke:var(--kn-txt);fill:none;stroke-width:14;stroke-linecap:round;transition:stroke-dashoffset .6s ease}
.kn-ring-mitte{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center}
.kn-ring-zahl{font-size:40px;font-weight:900;line-height:1}
.kn-ring-von{font-size:15px;font-weight:600;line-height:1.2;margin-top:4px}
.kn-ring-was{font-size:13px;color:var(--kn-sub);line-height:1.2}
/* Ring auf dem Seitengrund, Spur hell statt dunkel */
.kn-phase .kn-ring .kn-spur,.kn-stapel-kopf .kn-ring .kn-spur{stroke:var(--kn-linie)}
.kn-nr{white-space:nowrap}
/* Kleiner Ring, Zahl und von x muessen im Innenkreis stehen, geprueft in K7 */
.kn-ring.kn-klein{width:88px;height:88px;flex-basis:88px}
.kn-ring.kn-klein .kn-spur,.kn-ring.kn-klein .kn-stand{stroke-width:10}
.kn-ring.kn-klein .kn-ring-zahl{font-size:22px}
.kn-ring.kn-klein .kn-ring-von{font-size:12px;font-weight:500;margin-top:2px}

/* Phase, Kartengruppe mit eigenem Ring */
.kn-phase{display:grid;grid-template-columns:auto minmax(0,1fr);gap:24px 32px;align-items:start}
.kn-phase+.kn-phase{margin-top:40px}
.kn-phase-kopf{grid-column:1/-1;display:flex;align-items:center;gap:24px}
.kn-phase-kopf h3{margin:0;font-size:22px;font-weight:800}
.kn-phase-kopf p{margin:0;color:var(--kn-dim)}
.kn-phase>.kn-raster{grid-column:1/-1}

/* Eintrag, eine Karte je Zeile, Liste aus Karten */
.kn-eintraege{display:flex;flex-direction:column;gap:16px}
.kn-eintrag{flex-direction:row;align-items:center;gap:24px;padding:24px 32px}
.kn-eintrag .kn-eintrag-text{flex:1;min-width:0}
.kn-eintrag .kn-wort{min-width:180px}
.kn-eintrag .kn-titel{font-size:18px}
.kn-geldwert{font-size:24px;font-weight:800;white-space:nowrap}

/* Hinweis, dass ein Knopf einen Stapel öffnet */
.kn-hinweis{margin:8px 0 0;font-size:15px;color:var(--kn-sub)}

/* Stapel, ein Ablauf Schritt für Schritt, eine große Karte je Schritt */
.kn-stapel{max-width:860px;margin:0 auto}
.kn-stapel-kopf{display:flex;align-items:center;gap:32px;margin-bottom:40px}
.kn-stapel-kopf h1{font-size:34px;font-weight:900;letter-spacing:-.02em;line-height:1.15;margin:0}
.kn-stapel-kopf p{margin:8px 0 0;color:var(--kn-dim)}
.kn-karte.kn-schritt{padding:48px;gap:16px;min-height:420px}
.kn-schritt .kn-titel{font-size:34px;font-weight:900;letter-spacing:-.02em;line-height:1.15}
.kn-wahlen{display:grid;gap:16px;margin-top:8px}
.kn-wahl{display:flex;align-items:center;gap:16px;padding:16px 24px;border-radius:16px;
  background:color-mix(in srgb,var(--f) 62%,#000);color:var(--kn-txt);font:inherit;text-align:left;border:2px solid transparent;cursor:pointer;width:100%}
.kn-wahl[aria-pressed="true"]{border-color:var(--kn-txt)}
.kn-wahl-haken{width:28px;height:28px;border-radius:8px;border:2px solid var(--kn-txt);display:flex;align-items:center;justify-content:center;flex:0 0 28px;font-weight:800}
.kn-wahl-text{display:flex;flex-direction:column}
.kn-wahl-text small{color:var(--kn-sub);font-size:14px}
.kn-schritte{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-top:40px}
.kn-schritte .kn-karte{padding:24px}
.kn-schritte .kn-titel{font-size:17px}

/* Stapel aufklappbar, jeder Stapel auf Wunsch als kompletter Kartensatz (Ralf, 02.11.2026).
   Umschalter kn-umschalter oben rechts im Kopf, Alle Karten zeigen oder Als Stapel, js/kn-stapel.js.
   Als Stapel steht nur der aktuelle Schritt. Aufgeklappt stehen alle Schritte untereinander in voller
   Größe, erledigt grün, aktuell orange, spätere in ihrer Farbe, jede Karte bleibt bedienbar */
.kn-flaeche{--kn-orange:#c2410c}
.kn-stapel-kopf .kn-umschalter{margin-left:auto;align-self:flex-start}
.kn-stapel-karten{display:flex;flex-direction:column;gap:24px}
.kn-stapel:not(.kn-aufgeklappt) .kn-stapel-karten>.kn-schritt:not(.kn-schritt-jetzt){display:none}
.kn-aufgeklappt .kn-schritt-erledigt{--f:var(--kn-gruen)}
.kn-aufgeklappt .kn-schritt-jetzt{--f:var(--kn-orange)}
.kn-aufgeklappt .kn-karte.kn-schritt{min-height:0}
.kn-aufgeklappt .kn-schritte{display:none}

@media (prefers-reduced-motion:reduce){.kn-karte,.kn-ring .kn-stand{transition:none}}
@media (max-width:1099px){.kn-raster{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:639px){
  .kn-seite{padding:24px 16px 64px}.kn-abschnitt{margin-top:56px}
  .kn-raster,.kn-raster.kn-zwei{grid-template-columns:1fr}.kn-karte.kn-gross{grid-column:auto;padding:32px 24px}
  .kn-karte{padding:24px}.kn-gross .kn-titel{font-size:28px}
  .kn-kopf{grid-template-columns:1fr;padding:32px 24px;gap:24px}.kn-lage{font-size:30px}
  .kn-stapel-kopf{flex-direction:column;align-items:flex-start;gap:24px}.kn-stapel-kopf h1{font-size:28px}
  .kn-stapel-kopf .kn-umschalter{order:-1;align-self:flex-end;width:auto;margin-left:0}
  .kn-karte.kn-schritt{padding:32px 24px;min-height:0}.kn-schritt .kn-titel{font-size:28px}.kn-schritte{grid-template-columns:repeat(2,minmax(0,1fr))}
  .kn-ring{width:136px;height:136px;flex-basis:136px}.kn-ring-zahl{font-size:30px}.kn-ring-von{font-size:13px}.kn-ring-was{font-size:12px}
  .kn-eintrag{flex-direction:column;align-items:flex-start;gap:8px;padding:24px}.kn-eintrag .kn-wort{min-width:0}
  .kn-knopf{width:100%}
}
/* ---------- kn-ende ---------- */
/* ---------- KARTEN-KANON 3 ENDE ---------- */
