/* =========================================================================
 * ERSCHEINUNGSBILD: Tischdecke, Saum und Knotenkante
 *
 * ERZEUGT von werkzeuge/haut-erzeugen.py – NICHT VON HAND ÄNDERN.
 * Die Werte stehen in werkzeuge/haut-erzeugen.html; dort drehen und neu
 * erzeugen lassen.
 *
 * Drei Lagen, von unten nach oben:
 *   1. Leinen  – feine Fasern und ein Webgitter, damit es nach Stoff
 *                aussieht und nicht nach Farbe.
 *   2. Damast  – zwei gegenläufig schraffierte Kreismuster, sehr blass.
 *   3. Saum    – ein grünes Tartanband als Akzent.
 *   4. Knoten  – die keltische Kante, die mit Jahreszeit und Festtag
 *                wechselt. Als eigene Datei, siehe --band.
 * ========================================================================= */

:root {
  /* Höhe des Knotenbandes. Steht hier, weil Blade und CSS beide damit
     rechnen müssen und zwei Zahlen zwangsläufig auseinanderlaufen. */
  --band-hoehe: 131px;

  /*
   * ECHTE FARBEN.
   *
   * Die Grundfarben der Seite kommen aus der Redaktion und sind am Logo
   * ausgerichtet – ein Violett. Wenn aber ALLES in dieses Violett getönt
   * wird, sieht ein Kleeblatt aus wie ein violettes Blatt und ein Apfel wie
   * eine violette Kugel. Dinge sollen aussehen wie die Dinge.
   *
   * Darum diese zweite, kleine Palette: Sie gehört NICHT der Marke, sondern
   * den Gegenständen. Sie steht hier und nicht in den Einstellungen, weil
   * ein Kleeblattgrün nichts ist, was man in der Redaktion verstellt.
   *
   * Alle Werte auf dem Papier gegengerechnet, damit sie auch als Text
   * taugen, wo sie als Text vorkommen.
   */
  --gruen-klee:  #2e7d4f;   /* Kleeblatt, Irisches, Frisches */
  --gruen-tief:  #1f5c38;   /* Tartan, Blattwerk, Tannen */
  --blau-korn:   #4a6fa5;   /* Kornblume, Deutsches, Himmel */
  --gold-stroh:  #c89a3c;   /* Korn, Honig, Messing */
  --rot-ziegel:  #b3503a;   /* Hagebutte, Dach, Terrakotta */
  --pergament:   #f3e5c9;   /* Kennzahlenband, Tabellenkopf */
  --flieder:     #d3c8d1;   /* der Etikettgrund des Logos */

  /*
   * DIE LEISE SCHRIFT WAR ZU LEISE.
   *
   * --text-leise stand auf 65 % der Textfarbe. Nachgemessen auf der
   * gefüllten Startseite: 3,41:1 gegen das Papier. Die Richtlinie verlangt
   * 4,5:1 für gewöhnlichen Text – und es trifft nicht irgendein Detail,
   * sondern 51 Stellen: Unterzeile, alle Rubriken, jeden Kicker, jedes
   * Datum, die Anrisstexte in den Karten.
   *
   * Auf 82 % angehoben. Das bleibt deutlich leiser als der Fließtext – die
   * Rangfolge bleibt also erhalten –, ist aber lesbar. Im Dunkeln dasselbe
   * Problem in Grün: dort waren die Chips bei 3,87.
   */
  --text-leise: color-mix(in srgb, var(--text) 82%, var(--papier));
  --tinte-60: var(--text-leise);

  /* Das Band des Tages. Wird in der Seite überschrieben – siehe
     App\Support\Jahresband. Steht hier ein Rückfall, damit die Kante auch
     ohne PHP nicht leer bleibt. */
  --band: url("../bilder/band/band-fruehling-1.svg");
}

/* ------------------------------------------------------------- Die Fläche
   Vier Lagen übereinander: Damast, Faserrauschen und zwei Webgitter. Eine
   einzelne Lage sähe aus wie Rauschen oder wie Millimeterpapier – erst
   zusammen ergibt es Textil. */
body {
  background-color: var(--papier);
  background-image:
    url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%22160%22%20height%3D%22320%22%20viewBox%3D%220%200%20160%20320%22%3E%3Cdefs%3E%3Cpattern%20id%3D%22a%22%20width%3D%225%22%20height%3D%225%22%20patternUnits%3D%22userSpaceOnUse%22%20patternTransform%3D%22rotate(45)%22%3E%3Cline%20x1%3D%220%22%20y1%3D%220%22%20x2%3D%220%22%20y2%3D%225%22%20stroke%3D%22%234d0f30%22%20stroke-opacity%3D%220.03%22%20stroke-width%3D%221%22%2F%3E%3C%2Fpattern%3E%3Cpattern%20id%3D%22b%22%20width%3D%225%22%20height%3D%225%22%20patternUnits%3D%22userSpaceOnUse%22%20patternTransform%3D%22rotate(-45)%22%3E%3Cline%20x1%3D%220%22%20y1%3D%220%22%20x2%3D%220%22%20y2%3D%225%22%20stroke%3D%22%234d0f30%22%20stroke-opacity%3D%220.03%22%20stroke-width%3D%221%22%2F%3E%3C%2Fpattern%3E%3C%2Fdefs%3E%3Crect%20width%3D%22160%22%20height%3D%22320%22%20fill%3D%22url(%23a)%22%2F%3E%3Cg%20fill%3D%22%23fff%22%20fill-opacity%3D%220.078%22%20fill-rule%3D%22evenodd%22%20transform%3D%22translate(0%200.7)%22%3E%3Cpath%20d%3D%22M92.9%2092.9m-25%200a25%2025%200%201%200%2050%200a25%2025%200%201%200%20-50%200M67.1%2092.9m-25%200a25%2025%200%201%200%2050%200a25%2025%200%201%200%20-50%200M67.1%2067.1m-25%200a25%2025%200%201%200%2050%200a25%2025%200%201%200%20-50%200M92.9%2067.1m-25%200a25%2025%200%201%200%2050%200a25%2025%200%201%200%20-50%200%22%2F%3E%3Cpath%20d%3D%22M12.9%20252.9m-25%200a25%2025%200%201%200%2050%200a25%2025%200%201%200%20-50%200M-12.9%20252.9m-25%200a25%2025%200%201%200%2050%200a25%2025%200%201%200%20-50%200M-12.9%20227.1m-25%200a25%2025%200%201%200%2050%200a25%2025%200%201%200%20-50%200M12.9%20227.1m-25%200a25%2025%200%201%200%2050%200a25%2025%200%201%200%20-50%200%22%2F%3E%3Cpath%20d%3D%22M172.9%20252.9m-25%200a25%2025%200%201%200%2050%200a25%2025%200%201%200%20-50%200M147.1%20252.9m-25%200a25%2025%200%201%200%2050%200a25%2025%200%201%200%20-50%200M147.1%20227.1m-25%200a25%2025%200%201%200%2050%200a25%2025%200%201%200%20-50%200M172.9%20227.1m-25%200a25%2025%200%201%200%2050%200a25%2025%200%201%200%20-50%200%22%2F%3E%3C%2Fg%3E%3Cg%20fill%3D%22%234d0f30%22%20fill-opacity%3D%220.027%22%20fill-rule%3D%22evenodd%22%20transform%3D%22translate(0%20-0.7)%22%3E%3Cpath%20d%3D%22M92.9%2092.9m-25%200a25%2025%200%201%200%2050%200a25%2025%200%201%200%20-50%200M67.1%2092.9m-25%200a25%2025%200%201%200%2050%200a25%2025%200%201%200%20-50%200M67.1%2067.1m-25%200a25%2025%200%201%200%2050%200a25%2025%200%201%200%20-50%200M92.9%2067.1m-25%200a25%2025%200%201%200%2050%200a25%2025%200%201%200%20-50%200%22%2F%3E%3Cpath%20d%3D%22M12.9%20252.9m-25%200a25%2025%200%201%200%2050%200a25%2025%200%201%200%20-50%200M-12.9%20252.9m-25%200a25%2025%200%201%200%2050%200a25%2025%200%201%200%20-50%200M-12.9%20227.1m-25%200a25%2025%200%201%200%2050%200a25%2025%200%201%200%20-50%200M12.9%20227.1m-25%200a25%2025%200%201%200%2050%200a25%2025%200%201%200%20-50%200%22%2F%3E%3Cpath%20d%3D%22M172.9%20252.9m-25%200a25%2025%200%201%200%2050%200a25%2025%200%201%200%20-50%200M147.1%20252.9m-25%200a25%2025%200%201%200%2050%200a25%2025%200%201%200%20-50%200M147.1%20227.1m-25%200a25%2025%200%201%200%2050%200a25%2025%200%201%200%20-50%200M172.9%20227.1m-25%200a25%2025%200%201%200%2050%200a25%2025%200%201%200%20-50%200%22%2F%3E%3C%2Fg%3E%3Cg%20fill%3D%22url(%23b)%22%20fill-rule%3D%22evenodd%22%3E%3Cpath%20d%3D%22M92.9%2092.9m-25%200a25%2025%200%201%200%2050%200a25%2025%200%201%200%20-50%200M67.1%2092.9m-25%200a25%2025%200%201%200%2050%200a25%2025%200%201%200%20-50%200M67.1%2067.1m-25%200a25%2025%200%201%200%2050%200a25%2025%200%201%200%20-50%200M92.9%2067.1m-25%200a25%2025%200%201%200%2050%200a25%2025%200%201%200%20-50%200%22%2F%3E%3Cpath%20d%3D%22M12.9%20252.9m-25%200a25%2025%200%201%200%2050%200a25%2025%200%201%200%20-50%200M-12.9%20252.9m-25%200a25%2025%200%201%200%2050%200a25%2025%200%201%200%20-50%200M-12.9%20227.1m-25%200a25%2025%200%201%200%2050%200a25%2025%200%201%200%20-50%200M12.9%20227.1m-25%200a25%2025%200%201%200%2050%200a25%2025%200%201%200%20-50%200%22%2F%3E%3Cpath%20d%3D%22M172.9%20252.9m-25%200a25%2025%200%201%200%2050%200a25%2025%200%201%200%20-50%200M147.1%20252.9m-25%200a25%2025%200%201%200%2050%200a25%2025%200%201%200%20-50%200M147.1%20227.1m-25%200a25%2025%200%201%200%2050%200a25%2025%200%201%200%20-50%200M172.9%20227.1m-25%200a25%2025%200%201%200%2050%200a25%2025%200%201%200%20-50%200%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E"),
    url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%22160%22%20height%3D%22160%22%3E%3Cfilter%20id%3D%22f%22%3E%3CfeTurbulence%20type%3D%22fractalNoise%22%20baseFrequency%3D%220.75%22%20numOctaves%3D%224%22%20seed%3D%223%22%2F%3E%3CfeColorMatrix%20type%3D%22saturate%22%20values%3D%220%22%2F%3E%3C%2Ffilter%3E%3Crect%20width%3D%22160%22%20height%3D%22160%22%20filter%3D%22url(%23f)%22%20opacity%3D%220.07%22%2F%3E%3C%2Fsvg%3E"),
    repeating-linear-gradient(90deg, rgba(120,100,80,.05) 0 1px, transparent 1px 4px),
    repeating-linear-gradient(0deg,  rgba(120,100,80,.04) 0 1px, transparent 1px 4px);
}

/* --------------------------------------------------------------- Der Saum
   Das grüne Tartan trennt den Kopfbereich vom Inhalt.

   Es sitzt auf dem Maßband-Element, das im Blade ohnehin an dieser Stelle
   steht: .massband--kraeftig zwischen den Rubriken und dem Inhalt. Das hat
   drei Vorteile – es braucht kein neues Element, es hat von sich aus die
   Breite des Textbereichs statt über die ganze Fensterbreite zu laufen,
   und das Lineal, das vorher dort lag, ist damit ersetzt statt zusätzlich
   vorhanden.

   Die Maßbänder an anderen Stellen (Startseite, Rechtstexte, Export)
   bleiben Lineale – dort sind sie gewollt. */
.kopf .massband {
  height: 30px;
  border-top: 0;
  border-radius: 2px;
  background-color: transparent;
  background-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2251%22%20height%3D%2251%22%20viewBox%3D%220%200%2051%2051%22%3E%3Cg%20opacity%3D%221%22%3E%3Cg%3E%3Crect%20x%3D%220%22%20y%3D%220%22%20width%3D%2214%22%20height%3D%2251%22%20fill%3D%22%232f4a2b%22%2F%3E%3Crect%20x%3D%2214%22%20y%3D%220%22%20width%3D%225%22%20height%3D%2251%22%20fill%3D%22%2339676a%22%2F%3E%3Crect%20x%3D%2219%22%20y%3D%220%22%20width%3D%223%22%20height%3D%2251%22%20fill%3D%22%232f4a2b%22%2F%3E%3Crect%20x%3D%2222%22%20y%3D%220%22%20width%3D%222%22%20height%3D%2251%22%20fill%3D%22%23e4ddc8%22%2F%3E%3Crect%20x%3D%2224%22%20y%3D%220%22%20width%3D%223%22%20height%3D%2251%22%20fill%3D%22%232f4a2b%22%2F%3E%3Crect%20x%3D%2227%22%20y%3D%220%22%20width%3D%225%22%20height%3D%2251%22%20fill%3D%22%2339676a%22%2F%3E%3Crect%20x%3D%2232%22%20y%3D%220%22%20width%3D%221%22%20height%3D%2251%22%20fill%3D%22%234d0f30%22%2F%3E%3Crect%20x%3D%2233%22%20y%3D%220%22%20width%3D%225%22%20height%3D%2251%22%20fill%3D%22%2339676a%22%2F%3E%3Crect%20x%3D%2238%22%20y%3D%220%22%20width%3D%223%22%20height%3D%2251%22%20fill%3D%22%232f4a2b%22%2F%3E%3Crect%20x%3D%2241%22%20y%3D%220%22%20width%3D%222%22%20height%3D%2251%22%20fill%3D%22%23e4ddc8%22%2F%3E%3Crect%20x%3D%2243%22%20y%3D%220%22%20width%3D%223%22%20height%3D%2251%22%20fill%3D%22%232f4a2b%22%2F%3E%3Crect%20x%3D%2246%22%20y%3D%220%22%20width%3D%225%22%20height%3D%2251%22%20fill%3D%22%2339676a%22%2F%3E%3C%2Fg%3E%3Cg%20transform%3D%22rotate(90%2025.5%2025.5)%22%20opacity%3D%220.5%22%3E%3Crect%20x%3D%220%22%20y%3D%220%22%20width%3D%2214%22%20height%3D%2251%22%20fill%3D%22%232f4a2b%22%2F%3E%3Crect%20x%3D%2214%22%20y%3D%220%22%20width%3D%225%22%20height%3D%2251%22%20fill%3D%22%2339676a%22%2F%3E%3Crect%20x%3D%2219%22%20y%3D%220%22%20width%3D%223%22%20height%3D%2251%22%20fill%3D%22%232f4a2b%22%2F%3E%3Crect%20x%3D%2222%22%20y%3D%220%22%20width%3D%222%22%20height%3D%2251%22%20fill%3D%22%23e4ddc8%22%2F%3E%3Crect%20x%3D%2224%22%20y%3D%220%22%20width%3D%223%22%20height%3D%2251%22%20fill%3D%22%232f4a2b%22%2F%3E%3Crect%20x%3D%2227%22%20y%3D%220%22%20width%3D%225%22%20height%3D%2251%22%20fill%3D%22%2339676a%22%2F%3E%3Crect%20x%3D%2232%22%20y%3D%220%22%20width%3D%221%22%20height%3D%2251%22%20fill%3D%22%234d0f30%22%2F%3E%3Crect%20x%3D%2233%22%20y%3D%220%22%20width%3D%225%22%20height%3D%2251%22%20fill%3D%22%2339676a%22%2F%3E%3Crect%20x%3D%2238%22%20y%3D%220%22%20width%3D%223%22%20height%3D%2251%22%20fill%3D%22%232f4a2b%22%2F%3E%3Crect%20x%3D%2241%22%20y%3D%220%22%20width%3D%222%22%20height%3D%2251%22%20fill%3D%22%23e4ddc8%22%2F%3E%3Crect%20x%3D%2243%22%20y%3D%220%22%20width%3D%223%22%20height%3D%2251%22%20fill%3D%22%232f4a2b%22%2F%3E%3Crect%20x%3D%2246%22%20y%3D%220%22%20width%3D%225%22%20height%3D%2251%22%20fill%3D%22%2339676a%22%2F%3E%3C%2Fg%3E%3C%2Fg%3E%3C%2Fsvg%3E");
  background-repeat: repeat-x;
  background-position: center;
  /* Die Kachel ist quadratisch und so breit wie das ganze Sett. Ohne
     background-size würde sie in ihrer eigenen Größe gezeichnet und vom
     schmalen Streifen angeschnitten – man sähe einen willkürlichen
     Ausschnitt statt des Musters. */
  background-size: auto 100%;
  box-shadow: 0 1px 0 rgba(255,255,255,.6), 0 1px 3px rgba(60,40,30,.18);
  /* Über die volle Breite, wie das Knotenband unten. Es sitzt im Blade
     außerhalb der Hülle, damit es nicht am Satzspiegel endet; die
     abgerundeten Ecken entfallen dafür – ein Band, das die Seite quert,
     hat keine Ecken. */
  border-radius: 0;
  margin-block: .35rem 0;
}

/* ------------------------------------------------------ Die Knotenkante
   Sitzt über der Fußzeile, ebenfalls ohne eigenes Element: .fuss bekommt
   oben Platz, und ::before füllt ihn mit dem Band des Tages.

   WICHTIG: nur waagerecht kacheln, und die Fläche genau so hoch wie das
   Bild. Steht dort eine andere Höhe, beginnt oben und unten ein zweites
   Band – das sieht aus wie ein Fehler im Muster, ist aber die Kachelung. */
/*
 * KEINE LINIE ÜBER DEM BAND.
 *
 * blog.css gibt der Fußzeile ein border-top in der Akzentfarbe. Solange die
 * Akzentfarbe ein sehr dunkles Bordeaux war, verschwand die Haarlinie fast.
 * Mit dem Logoviolett steht sie deutlich da – und zwar quer durch den
 * oberen Rand des Knotenbandes, wie ein Fehler im Druck.
 *
 * Die Trennung macht das Band selbst. Eine zweite Linie daneben trennt
 * nicht besser, sie stört nur.
 */
.fuss {
  position: relative;
  /* Enger als vorher: Das Band selbst trennt schon kraeftig, darunter
     braucht es keinen Hof. Vorher 1rem Luft unter dem Band, 5rem
     Abstand nach oben, 2/3rem Polster - zusammen ueber 250 Punkte fuer
     vier Zeilen Text. */
  padding-top: calc(var(--band-hoehe) + .2rem);
  border-top: 0;
}

/*
 * UNTER DEM BAND WIRD ES DUNKLER.
 *
 * Der Fuss stand auf demselben hellen Leinen wie der Text darueber und
 * franste nach unten aus - die Seite hoerte nicht auf, sie wurde nur
 * leer. Jetzt legt sich ab der Unterkante des Knotenbandes ein Verlauf
 * darueber, der nach unten in den Logoton laeuft: ein Fuss, der schliesst.
 *
 * Der Verlauf beginnt GENAU am Band (background-position) und ist genau
 * so hoch wie der Rest (background-size), sonst liefe er unter dem Band
 * hindurch und das Muster wuerde truebe.
 */
.fuss::after {
  content: "";
  position: absolute;
  inset: var(--band-hoehe) 0 0 0;
  pointer-events: none;
  z-index: 0;
  background-image: linear-gradient(to bottom,
      rgba(42, 26, 48, 0) 0%,
      rgba(42, 26, 48, .10) 40%,
      rgba(42, 26, 48, .24) 100%);
}
.fuss::before {
  content: "";
  position: absolute;
  inset: 0 0 auto 0;
  height: var(--band-hoehe);
  background-image: var(--band);
  background-repeat: repeat-x;
  background-position: left bottom;
  /*
   * background-size: auto 100% – das Band füllt die Höhe IMMER aus.
   *
   * Ohne diese Zeile wird das SVG in seiner eigenen Größe gezeichnet.
   * Stimmen --band-hoehe und die Bildhöhe nicht überein – etwa weil die
   * Einstellungen geändert, die Dateien aber noch nicht neu erzeugt
   * wurden –, ist das Band abgeschnitten oder es klafft eine Lücke. Mit
   * auto 100% skaliert es mit und bleibt in jedem Fall durchgehend.
   */
  background-size: auto 100%;
}

/* ------------------------------------------------- Karten als Stoffstücke
   Aufgenäht: eine Steppnaht ringsum, ein weicher Schlagschatten und oben
   eine helle Kante, als fiele Licht von vorn. Die Naht sitzt INNEN – genau
   so näht man eine Applikation auf.

   .karte hatte bisher keinen Hintergrund und keinen Innenabstand. Ohne den
   liefe die Steppnaht quer über das Bild. */
.karte {
  position: relative;
  padding: .75rem .8rem 1rem;
  border-radius: 5px;
  background: var(--flaeche);
  box-shadow:
    0 1px 0 rgba(255,255,255,.9) inset,
    0 -1px 0 rgba(0,0,0,.05) inset,
    0 2px 5px rgba(60,40,30,.13),
    0 10px 20px -12px rgba(60,40,30,.25);
}
.karte::after {
  content: "";
  position: absolute;
  inset: 6px;
  border: 1.5px dashed color-mix(in srgb, var(--text) 30%, var(--flaeche));
  border-radius: 3px;
  pointer-events: none;
  opacity: .65;
}
.karte__bild { border-radius: 3px; }

/* Überschriften geprägt statt geworfen: heller Rand nach unten, dunkler
   nach oben. So sieht Papier aus, in das etwas eingedrückt wurde. */
.kopf__titel, .aufmacher__titel, .seitentitel {
  text-shadow: 0 1px 0 rgba(255,255,255,.75), 0 -1px 0 rgba(77,15,48,.12);
}

/* Das Logo wird nirgends umgeschaltet oder umgerechnet – es gibt nur
   eines, und nur ein Schema, in dem es stehen kann. */

/* ------------------------------------------------------- Der Blogname
   Mit dem Pinselstift geschrieben statt gesetzt.

   Die Schrift läuft kleiner als eine Druckschrift derselben Punktzahl –
   Handschriften haben eine niedrigere x-Höhe. Deshalb der Faktor, sonst
   steht der Name plötzlich kleiner da als vorher.

   Kein text-shadow hier: Die geprägte Wirkung passt zu gesetzter Schrift,
   nicht zu einem Filzstiftstrich. Ein Strich liegt AUF dem Papier, er ist
   nicht hineingedrückt. Stattdessen ein Hauch Drehung, als hätte jemand
   schnell unterschrieben. */
.kopf__titel, .kopf__titel a {
  font-family: "Caveat", "Fraunces", Palatino, Georgia, serif;
  font-weight: 600;
  font-size: calc(clamp(1.9rem, 5vw, 2.9rem) * 1.5);
  letter-spacing: .005em;
  text-shadow: none;
}
.kopf__titel {
  display: inline-block;
  transform: rotate(-1.2deg);
  transform-origin: left center;
  /* Die Drehung rückt die Grundlinie – das holt der Abstand zurück. */
  margin-block: .1em .15em;
}

/* Die Hülle um Wortmarke oder Logo.

   Sie ist auf der Startseite ein <h1> und sonst ein <div> – damit jede Seite
   genau eine Überschrift hat, die sie auch beschreibt. Ein <h1> bringt eigene
   Maße mit (Schriftgröße, Außenabstand oben und unten); hier soll es nur die
   Bedeutung beitragen, nicht das Aussehen. Deshalb alles zurück auf null. */
.kopf__marke {
  margin: 0;
  font: inherit;
  font-weight: inherit;
}

/* Das Logo steht an GENAU DERSELBEN Stelle wie der geschriebene Name – im
   Blade sind es zwei Zweige desselben @if. Lädt die Redaktion ein Logo
   hoch, verschwindet die Handschrift. Damit beide Fälle gleich zuhause
   wirken, bekommt das Logo dieselbe leichte Schräge und einen Schatten,
   als läge es auf dem Papier. */
.kopf__logo {
  transform: rotate(-1.2deg);
  transform-origin: left center;
  filter: drop-shadow(0 1px 1px rgba(60,40,30,.22));
}

/* Hier stand das dunkle Leinen samt Damast. Ausgebaut am 21.10.2026. */

/* =========================================================================
 * PLASTISCH: die Dinge, aus denen dieser Blog handelt
 * ========================================================================= */

/* ------------------------------------------------------------ Der Knopf
   Kein Rechteck mit Farbe, sondern ein gedrückter Knopf: Verlauf von oben
   hell nach unten dunkel, eine Lichtkante innen oben, ein Schatten innen
   unten. Beim Drücken kehrt sich das um – das ist der Teil, den man fühlt,
   ohne ihn zu benennen. */
.knopf {
  border: 0;
  border-radius: 4px;
  background-image: linear-gradient(
    color-mix(in srgb, var(--akzent) 82%, #ffffff),
    var(--akzent) 55%,
    color-mix(in srgb, var(--akzent) 86%, #000000));
  /*
   * Auch der dunkle Knopf bekommt einen Ring.
   *
   * Vorher hatte ihn nur der helle, und beim Draufzeigen machten die beiden
   * deshalb verschiedene Gesten: der helle bekam eine Umrandung, der lila
   * wurde bloß etwas dunkler. Gleiche Geste, nur spiegelverkehrt – auf
   * Dunkel muss der Ring aufhellen, auf Hell abdunkeln, sonst sieht man ihn
   * nicht.
   */
  box-shadow:
    0 1px 0 rgba(255,255,255,.28) inset,
    0 -2px 4px rgba(0,0,0,.28) inset,
    0 0 0 1px color-mix(in srgb, var(--akzent) 58%, #000000),
    0 2px 4px rgba(60,40,30,.32);
  text-shadow: 0 -1px 0 rgba(0,0,0,.35);
}
.knopf:active {
  box-shadow:
    0 2px 5px rgba(0,0,0,.35) inset,
    0 0 0 1.5px color-mix(in srgb, var(--akzent) 48%, #ffffff);
  transform: translateY(1px);
}

/*
 * Der leise Knopf: ein Hornknopf neben dem lackierten.
 *
 * Erster Anlauf war eine Steppnaht ringsum – gestrichelt. Das sah nicht nach
 * Material aus, sondern nach Auswahlmarkierung, so wie ein Platzhalter in
 * einem Entwurf. Dazu kamen zwei handfeste Fehler: Der Rand machte den Knopf
 * 41 statt 38 Punkte hoch, also stand er neben dem Hauptknopf schief; und er
 * war fast so hell wie das Papier, wirkte also eher wie ein Loch.
 *
 * Jetzt: kein Rand, sondern ein Ring aus box-shadow – der braucht keinen
 * Platz, beide Knöpfe bleiben gleich hoch. Der Verlauf geht von fast weiß
 * oben zu einem Hauch Akzent unten, wie die Wölbung eines Knopfes. Die
 * Schrift steht in der Akzentfarbe, damit man sieht, dass er anfassbar ist.
 */
.knopf--leise {
  border: 0;
  color: var(--akzent);
  background-image: linear-gradient(
    color-mix(in srgb, var(--flaeche) 97%, #ffffff) 0%,
    color-mix(in srgb, var(--flaeche) 92%, var(--akzent)) 58%,
    color-mix(in srgb, var(--flaeche) 84%, var(--akzent)) 100%);
  box-shadow:
    0 1px 0 rgba(255,255,255,.95) inset,
    0 -2px 3px color-mix(in srgb, var(--akzent) 10%, transparent) inset,
    0 0 0 1px color-mix(in srgb, var(--akzent) 30%, var(--papier)),
    0 2px 4px rgba(60,40,30,.2);
  text-shadow: 0 1px 0 rgba(255,255,255,.85);
}
.knopf--leise:active {
  box-shadow:
    0 2px 4px color-mix(in srgb, var(--akzent) 22%, transparent) inset,
    0 0 0 1px color-mix(in srgb, var(--akzent) 34%, var(--papier));
  transform: translateY(1px);
}

/* ------------------------------------------------- Beim Draufzeigen
 *
 * Hier war etwas kaputt, und zwar an drei Stellen gleichzeitig. Alle drei
 * kommen daher, dass blog.css seine Hover-Zustände an Dinge hängt, die
 * diese Datei ersetzt hat:
 *
 *   1. .knopf:hover setzt die KURZFORM background. Die Kurzform
 *      setzt background-image auf none – beim Draufzeigen verschwand also
 *      die Wölbung, und der Knopf wurde schlagartig flach.
 *   2. .knopf--leise:hover ändert border-color. Der Rand ist hier aber
 *      kein Rand mehr, sondern ein Ring aus box-shadow (damit beide Knöpfe
 *      gleich hoch bleiben) – es passierte also gar nichts.
 *   3. .schlagwort:hover ebenso.
 *
 * Deshalb werden die Zustände hier noch einmal gesetzt, mit demselben
 * Mittel wie der Ruhezustand. */
/* Dieselbe Geste wie beim hellen Knopf: der Ring wird deutlicher und
   nimmt die 1,5 Punkte an, und der Schatten wächst mit. */
.knopf:hover {
  background-image: linear-gradient(
    color-mix(in srgb, var(--akzent) 72%, #ffffff),
    color-mix(in srgb, var(--akzent) 82%, var(--text)) 55%,
    color-mix(in srgb, var(--akzent) 70%, #000000));
  box-shadow:
    0 1px 0 rgba(255,255,255,.34) inset,
    0 -2px 4px rgba(0,0,0,.3) inset,
    0 0 0 1.5px color-mix(in srgb, var(--akzent) 42%, #ffffff),
    0 3px 6px rgba(60,40,30,.38);
}
.knopf:focus-visible {
  background-image: linear-gradient(
    color-mix(in srgb, var(--akzent) 74%, #ffffff),
    color-mix(in srgb, var(--akzent) 84%, var(--text)) 55%,
    color-mix(in srgb, var(--akzent) 72%, #000000));
}

.knopf--leise:hover {
  background-image: linear-gradient(
    color-mix(in srgb, var(--flaeche) 99%, #ffffff) 0%,
    color-mix(in srgb, var(--flaeche) 88%, var(--akzent)) 58%,
    color-mix(in srgb, var(--flaeche) 78%, var(--akzent)) 100%);
  box-shadow:
    0 1px 0 rgba(255,255,255,.95) inset,
    0 -2px 3px color-mix(in srgb, var(--akzent) 14%, transparent) inset,
    0 0 0 1.5px var(--akzent),
    0 3px 6px rgba(60,40,30,.26);
}

/* Beim Draufzeigen wird das Label kräftiger – ein Ring ginge nicht, den
   würde die Maske anknabbern. */
.schlagwort:hover {
  color: var(--flaeche);
  background-image: linear-gradient(
    color-mix(in srgb, var(--akzent-zwei) 78%, var(--flaeche)),
    var(--akzent-zwei));
}

/* Die Karte hebt sich schon in blog.css um zwei Punkte an. Jetzt wirft sie
   dabei auch einen längeren Schatten – sonst schwebt sie ohne Grund. */
.karte { transition: transform .15s ease, box-shadow .15s ease; }
.karte:hover {
  box-shadow:
    0 1px 0 rgba(255,255,255,.9) inset,
    0 -1px 0 rgba(0,0,0,.05) inset,
    0 4px 8px rgba(60,40,30,.16),
    0 16px 28px -14px rgba(60,40,30,.32);
}

/* ---------------------------------------------------------- Das Maßband
   Holz statt Linie. Die Teilstriche aus blog.css bleiben – hier kommt nur
   der warme Grund darunter und eine eingedrückte Kante dazu. Deshalb wird
   background-image NICHT angefasst; sonst wären die Striche weg. */
.massband {
  background-color: #efdfc2;
  border-top-color: color-mix(in srgb, var(--akzent) 55%, #6b4a2a);
  border-radius: 2px;
  box-shadow:
    0 1px 0 rgba(255,255,255,.7) inset,
    0 -2px 4px rgba(120,80,40,.22) inset,
    0 1px 2px rgba(60,40,30,.18);
}

/* Die Kennzahlen eines Beitrags sind das Lineal, an dem man abliest. */
.kennzahlen {
  padding: .55rem .85rem;
  border-radius: 3px;
  background-color: var(--pergament);
  background-image: repeating-linear-gradient(90deg,
    rgba(120,90,50,.34) 0 1px, transparent 1px 12px);
  box-shadow:
    0 1px 0 rgba(255,255,255,.75) inset,
    0 -2px 4px rgba(120,80,40,.2) inset,
    0 1px 3px rgba(60,40,30,.2);
}
.kennzahl { color: #6a553f; }

/*
 * Die kleine Beschriftung über der Zahl braucht ihre eigene Farbe.
 *
 * blog.css gibt ihr --tinte-60, und das ist aus Text und PAPIER gemischt.
 * Auf dem Papier stimmt das auch. Hier liegt sie aber auf dem Pergamentband
 * (#f3e5c9), und dagegen kam sie nur auf 4,43 : 1 – bei 10,9 Punkten
 * Schriftgröße zu wenig, verlangt sind 4,5. Nachgemessen am 21.10.2026 auf
 * allen sechs Beitragsseiten; es war der einzige Kontrastfehler, der übrig
 * blieb.
 *
 * Also hier mit dem Band mischen statt mit dem Papier: 90 % ergibt
 * 5,46 : 1 und sieht unverändert zurückhaltend aus.
 */
.kennzahl dt { color: color-mix(in srgb, var(--text) 90%, var(--pergament)); }

/* -------------------------------------------------------- Fotopapier
   Bilder bekommen einen weißen Rand und einen schwachen Schatten nach
   innen – dann liegen sie auf der Seite, statt in sie geschnitten zu sein. */
.karte__bild, .aufmacher__bild, .beitrag__bild, .album__bild, .produkt__bild {
  border-radius: 2px;
  /* Der weiße Rand ist die Fläche der Seite – dadurch stimmt er in
     beiden Schemata, ohne zweite Regel. */
  box-shadow:
    0 0 0 4px var(--flaeche),
    0 1px 2px rgba(60,40,30,.22),
    0 8px 18px -10px rgba(60,40,30,.35);
}

/* ------------------------------------------------------ Der Zettel
   Angesteckt statt eingerahmt: Papierverlauf, ein Hauch Drehung und oben
   eine Nadel. Die Drehung ist bewusst winzig – ein deutlich schiefer Kasten
   mitten im Text liest sich schlecht. */
.hinweis {
  position: relative;
  border-left: 0;
  border-radius: 3px;
  padding-top: 1.15rem;
  /* Ein Hauch Gelb in die Fläche gemischt – dann ist es Notizpapier, und
     zwar in beiden Schemata. */
  background-image: linear-gradient(
    color-mix(in srgb, var(--flaeche) 88%, #f0d389),
    color-mix(in srgb, var(--flaeche) 80%, #e8c87a));
  transform: rotate(-.35deg);
  box-shadow: 0 2px 6px rgba(60,40,30,.18), 0 12px 20px -16px rgba(60,40,30,.4);
}
/* Die Nadel sitzt auf ::after, nicht auf ::before.
 *
 * Sie hatte ::before, und weiter unten legte das Herzband derselben
 * Stelle Breite, Hoehe und ein Hintergrundbild auf. Zwei Regeln, ein
 * Pseudoelement: Es blieb bei position:absolute; left:50%; top:6px aus
 * dieser Regel, bekam aber 288 mal 30 Punkte und das Band als Bild. Das
 * Ergebnis lag quer ueber der ersten Zeile und ragte rechts aus dem
 * Zettel heraus - auf jeder Seite mit einem Hinweis, im Blog wie auf den
 * Anmeldemasken. Getrennte Pseudoelemente, getrennte Aufgaben. */
.hinweis::after {
  content: "";
  position: absolute;
  left: 50%; top: 6px;
  width: 10px; height: 10px; margin-left: -5px;
  border-radius: 50%;
  background: radial-gradient(circle at 35% 30%, #c9566a, #8e2436);
  box-shadow: 0 1px 2px rgba(0,0,0,.45);
}
.hinweis--warnung::after { background: radial-gradient(circle at 35% 30%, #e0a04a, #a2601a); }

/* ----------------------------------------------------- Das Stofflabel
   Schlagworte sind eingenähte Labels: weicher Grund, Steppnaht, ein
   Schatten, als läge der Streifen auf. */
/*
 * Das Label muss sich vom Tuch abheben.
 *
 * Erste Fassung lag mit ihrem fast weißen Verlauf so dicht am Papier, dass
 * man sie über dem Damast kaum fand – drei Schlagworte sahen aus wie drei
 * Kratzer. Jetzt: ein Hauch Akzent im Grund, ein deutlicher Ring, und 0,78
 * statt 0,72 rem. Unter zwölf Punkten wird Schrift auf gemustertem Grund
 * ohnehin schwer lesbar.
 */
.schlagwort {
  /*
   * DIE ZACKENSCHERE GEHÖRT AN DEN RAND, NICHT ÜBER DIE FLÄCHE.
   *
   * blog.css legt auf das Label eine Maske:
   *   mask-image: radial-gradient(circle at 4px 4px, transparent 4px, #000 0);
   *   mask-size: 8px 8px;
   * Gemeint ist ein gezackter Rand, wie mit der Zackenschere geschnitten.
   * Tatsächlich wird die Maske über die GANZE Fläche gekachelt, und eine
   * Maske wirkt auf alles im Element – auch auf die Schrift. Auf einem
   * 96x29 großen Label sind das 48 ausgestanzte Löcher quer durch die
   * Buchstaben.
   *
   * Aufgefallen ist es bisher nicht, weil --sandton fast Papierfarbe hat;
   * die Löcher waren praktisch unsichtbar. Mit einem kräftigeren Grund
   * sieht man sie sofort – die Schlagworte wirkten „wie mit Punkten
   * überdeckt".
   *
   * Hier wird die Maske deshalb aus drei Lagen zusammengesetzt: oben und
   * unten je ein gezackter Streifen, dazwischen durchgehend deckend. Die
   * Lagen vereinigen sich, der Rand bleibt gezackt, die Schrift bleibt
   * heil.
   */
  --zacke: 4px;
  mask-image:
    radial-gradient(circle at var(--zacke) var(--zacke), transparent var(--zacke), #000 0),
    radial-gradient(circle at var(--zacke) var(--zacke), transparent var(--zacke), #000 0),
    linear-gradient(#000, #000);
  mask-size:
    calc(var(--zacke) * 2) calc(var(--zacke) * 2),
    calc(var(--zacke) * 2) calc(var(--zacke) * 2),
    100% calc(100% - var(--zacke) * 2);
  mask-position:
    calc(var(--zacke) * -1) top,
    calc(var(--zacke) * -1) bottom,
    0 var(--zacke);
  mask-repeat: repeat-x, repeat-x, no-repeat;

  border: 0;
  border-radius: 0;
  font-size: 0.78rem;
  /* Oben und unten so viel Luft, dass die Zacken die Schrift nicht
     erreichen: der Zahn ist --zacke hoch. */
  padding: calc(var(--zacke) + 0.18rem) 0.7rem;
  /* Kein Ring aus box-shadow: Den würde die Maske mit ausstanzen. Die
     Kontur macht hier der kräftigere Grund. */
  background-image: linear-gradient(
    color-mix(in srgb, var(--akzent) 10%, var(--flaeche)),
    color-mix(in srgb, var(--akzent) 20%, var(--flaeche)));
  box-shadow: none;
  position: relative;
}
/*
 * KEINE Steppnaht auf dem Label.
 *
 * Erst hatte es eine, wie die Karten. Auf einem 88x27 großen Schildchen
 * blieben damit 1,8 Punkte Luft zwischen Naht und Schrift – die gestrichelte
 * Linie saß praktisch auf den Buchstaben, und aus drei Schlagworten wurde
 * ein Gekritzel. Andeuten heißt auch: weglassen, wo kein Platz ist. Der
 * Ring und der Verlauf reichen völlig.
 */

/* ------------------------------------------------------- Der Anhänger
   Die Downloadzeile als Papieranhänger mit gestanztem Loch. */
.download {
  position: relative;
  border-left: 0;
  border-radius: 3px;
  padding-left: 2.2rem;
  background-image: linear-gradient(
    color-mix(in srgb, var(--flaeche) 94%, #ffffff),
    color-mix(in srgb, var(--flaeche) 86%, #d8bb7a));
  box-shadow: 0 1px 0 rgba(255,255,255,.8) inset, 0 1px 3px rgba(60,40,30,.2);
}
.download::before {
  content: "";
  position: absolute;
  left: .9rem; top: 50%;
  width: 9px; height: 9px; margin-top: -4.5px;
  border-radius: 50%;
  background: var(--papier);
  box-shadow: 0 1px 1px rgba(0,0,0,.35) inset, 0 0 0 1px rgba(60,40,30,.25);
}

/* --------------------------------------------------- Eingedrückte Felder
   Eingaben sehen aus, als wäre etwas hineingedrückt: Schatten oben innen,
   Lichtkante unten. Genau umgekehrt zum Knopf. */
.suche__formular input, .code-eingabe, .masshelfer__eingaben input {
  border-radius: 3px;
  background-image: linear-gradient(
    color-mix(in srgb, var(--flaeche) 88%, #000000),
    var(--flaeche) 60%);
  box-shadow:
    0 2px 4px rgba(60,40,30,.18) inset,
    0 1px 0 rgba(255,255,255,.9);
}

/* ------------------------------------------------------- Die Naht
   Absatztrenner im Fließtext: eine Steppnaht mit einer kleinen Triquetra in
   der Mitte. Damit kommt das keltische Thema auch zwischen den Absätzen vor
   und nicht nur an der Kante. */
.fliesstext hr, .rechtstext hr {
  height: 40px;
  border: 0;
  background-color: transparent;
  /* Nur die Zier in der Mitte. Hier lag zusätzlich ein linear-gradient,
     der einen 2 Punkte breiten senkrechten Strich links daneben zeichnete –
     ein Rest aus einem früheren Entwurf, der auf der Beitragsseite als
     einzelner Strich neben dem Zeichen stand. Die gestrichelten Linien
     machen ::before und ::after. */
  background-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2240%22%20height%3D%2240%22%20viewBox%3D%220%200%2040%2040%22%3E%3Cdefs%3E%3CclipPath%20id%3D%22trif0%22%3E%3Ccircle%20cx%3D%2229.86%22%20cy%3D%2219.24%22%20r%3D%224.65%22%2F%3E%3C%2FclipPath%3E%3CclipPath%20id%3D%22trif1%22%3E%3Ccircle%20cx%3D%2213.17%22%20cy%3D%2228.88%22%20r%3D%228.68%22%2F%3E%3C%2FclipPath%3E%3CclipPath%20id%3D%22trif2%22%3E%3Ccircle%20cx%3D%2226.83%22%20cy%3D%2228.88%22%20r%3D%228.68%22%2F%3E%3C%2FclipPath%3E%3CclipPath%20id%3D%22trif3%22%3E%3Ccircle%20cx%3D%2210.14%22%20cy%3D%2219.24%22%20r%3D%224.65%22%2F%3E%3C%2FclipPath%3E%3CclipPath%20id%3D%22trif4%22%3E%3Ccircle%20cx%3D%2220%22%20cy%3D%2236.33%22%20r%3D%224.65%22%2F%3E%3C%2FclipPath%3E%3CclipPath%20id%3D%22trif5%22%3E%3Ccircle%20cx%3D%2220%22%20cy%3D%2217.05%22%20r%3D%228.68%22%2F%3E%3C%2FclipPath%3E%3Cpath%20id%3D%22trip0%22%20d%3D%22M20%2034.12L20.57%2033.88L21.14%2033.62L21.69%2033.34L22.23%2033.03L22.76%2032.71L23.27%2032.36L23.77%2032L24.26%2031.61L24.73%2031.2L25.18%2030.78L25.61%2030.34L26.03%2029.88L26.43%2029.41L26.81%2028.92L27.17%2028.41L27.51%2027.89L27.83%2027.36L28.12%2026.81L28.4%2026.26L28.65%2025.69L28.88%2025.12L29.09%2024.53L29.27%2023.94L29.43%2023.34L29.56%2022.73L29.68%2022.12L29.76%2021.51L29.82%2020.89L29.86%2020.27L29.87%2019.65L29.86%2019.03L29.82%2018.42L29.76%2017.8L29.68%2017.18L29.56%2016.57L29.43%2015.97L29.27%2015.37L29.09%2014.78L28.88%2014.19L28.65%2013.62L28.4%2013.05L28.12%2012.49L27.83%2011.95L27.51%2011.42L27.17%2010.9L26.81%2010.39L26.43%209.9L26.03%209.43L25.61%208.97L25.18%208.53L24.73%208.1L24.26%207.7L23.77%207.31L23.27%206.95L22.76%206.6L22.23%206.27L21.69%205.97L21.14%205.69L20.57%205.43L20%205.19L19.43%205.43L18.86%205.69L18.31%205.97L17.77%206.27L17.24%206.6L16.73%206.95L16.23%207.31L15.74%207.7L15.27%208.1L14.82%208.53L14.39%208.97L13.97%209.43L13.57%209.9L13.19%2010.39L12.83%2010.9L12.49%2011.42L12.17%2011.95L11.88%2012.49L11.6%2013.05L11.35%2013.62L11.12%2014.19L10.91%2014.78L10.73%2015.37L10.57%2015.97L10.44%2016.57L10.32%2017.18L10.24%2017.8L10.18%2018.42L10.14%2019.03L10.13%2019.65L10.14%2020.27L10.18%2020.89L10.24%2021.51L10.32%2022.12L10.44%2022.73L10.57%2023.34L10.73%2023.94L10.91%2024.53L11.12%2025.12L11.35%2025.69L11.6%2026.26L11.88%2026.81L12.17%2027.36L12.49%2027.89L12.83%2028.41L13.19%2028.92L13.57%2029.41L13.97%2029.88L14.39%2030.34L14.82%2030.78L15.27%2031.2L15.74%2031.61L16.23%2032L16.73%2032.36L17.24%2032.71L17.77%2033.03L18.31%2033.34L18.86%2033.62L19.43%2033.88Z%22%20fill%3D%22none%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%2F%3E%3Cmask%20id%3D%22trim0%22%20maskUnits%3D%22userSpaceOnUse%22%20x%3D%22-40%22%20y%3D%22-40%22%20width%3D%22120%22%20height%3D%22120%22%3E%3Crect%20x%3D%22-40%22%20y%3D%22-40%22%20width%3D%22120%22%20height%3D%22120%22%20fill%3D%22%23fff%22%2F%3E%3Cg%20clip-path%3D%22url(%23trif0)%22%3E%3Cpath%20d%3D%22M34.49%2023.61L34.13%2023.1L33.74%2022.62L33.34%2022.15L32.92%2021.69L32.48%2021.25L32.02%2020.83L31.55%2020.43L31.06%2020.05L30.56%2019.69L30.04%2019.35L29.51%2019.03L28.97%2018.73L28.41%2018.45L27.85%2018.2L27.27%2017.96L26.69%2017.75L26.1%2017.57L25.5%2017.41L24.89%2017.27L24.28%2017.16L23.67%2017.07%22%20fill%3D%22none%22%20stroke%3D%22%23000%22%20stroke-width%3D%224.4%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%2F%3E%3C%2Fg%3E%3Cg%20clip-path%3D%22url(%23trif1)%22%3E%3Cpath%20d%3D%22M16.35%2017.91L15.77%2018.14L15.2%2018.39L14.65%2018.66L14.1%2018.96L13.57%2019.27L13.05%2019.61L12.54%2019.97L12.05%2020.35L11.97%2020.96L11.91%2021.58L11.88%2022.2L11.87%2022.82L11.89%2023.44L11.93%2024.06L12%2024.67L12.09%2025.29L12.21%2025.89L12.35%2026.5L12.51%2027.1L12.7%2027.69L12.91%2028.27L13.15%2028.84L13.41%2029.41L13.69%2029.96L13.99%2030.5L14.31%2031.03L14.66%2031.55L15.02%2032.05L15.4%2032.54L15.81%2033.01L16.23%2033.46L16.67%2033.9L17.12%2034.32L17.6%2034.72L18.09%2035.1L18.59%2035.46L19.11%2035.81L19.64%2036.13L20.18%2036.43L20.74%2036.7L21.3%2036.96%22%20fill%3D%22none%22%20stroke%3D%22%23000%22%20stroke-width%3D%224.4%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%2F%3E%3C%2Fg%3E%3C%2Fmask%3E%3Cpath%20id%3D%22trip1%22%20d%3D%22M12.05%2020.35L11.97%2020.96L11.91%2021.58L11.88%2022.2L11.87%2022.82L11.89%2023.44L11.93%2024.06L12%2024.67L12.09%2025.29L12.21%2025.89L12.35%2026.5L12.51%2027.1L12.7%2027.69L12.91%2028.27L13.15%2028.84L13.41%2029.41L13.69%2029.96L13.99%2030.5L14.31%2031.03L14.66%2031.55L15.02%2032.05L15.4%2032.54L15.81%2033.01L16.23%2033.46L16.67%2033.9L17.12%2034.32L17.6%2034.72L18.09%2035.1L18.59%2035.46L19.11%2035.81L19.64%2036.13L20.18%2036.43L20.74%2036.7L21.3%2036.96L21.88%2037.19L22.46%2037.4L23.05%2037.59L23.65%2037.75L24.25%2037.89L24.86%2038L25.48%2038.09L26.09%2038.15L26.71%2038.19L27.33%2038.21L27.95%2038.2L28.57%2038.16L29.19%2038.1L29.8%2038.02L30.41%2037.91L31.02%2037.78L31.62%2037.62L32.21%2037.44L32.8%2037.24L33.38%2037.01L33.94%2036.76L34.5%2036.49L35.05%2036.2L35.58%2035.88L36.1%2035.54L36.61%2035.19L37.1%2034.81L37.18%2034.19L37.24%2033.58L37.27%2032.96L37.28%2032.34L37.26%2031.72L37.21%2031.1L37.15%2030.48L37.06%2029.87L36.94%2029.26L36.8%2028.66L36.63%2028.06L36.45%2027.47L36.23%2026.88L36%2026.31L35.74%2025.75L35.46%2025.19L35.16%2024.65L34.84%2024.12L34.49%2023.61L34.13%2023.1L33.74%2022.62L33.34%2022.15L32.92%2021.69L32.48%2021.25L32.02%2020.83L31.55%2020.43L31.06%2020.05L30.56%2019.69L30.04%2019.35L29.51%2019.03L28.97%2018.73L28.41%2018.45L27.85%2018.2L27.27%2017.96L26.69%2017.75L26.1%2017.57L25.5%2017.41L24.89%2017.27L24.28%2017.16L23.67%2017.07L23.05%2017L22.44%2016.96L21.82%2016.95L21.2%2016.96L20.58%2016.99L19.96%2017.05L19.34%2017.13L18.73%2017.24L18.13%2017.37L17.53%2017.53L16.93%2017.71L16.35%2017.91L15.77%2018.14L15.2%2018.39L14.65%2018.66L14.1%2018.96L13.57%2019.27L13.05%2019.61L12.54%2019.97Z%22%20fill%3D%22none%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%2F%3E%3Cmask%20id%3D%22trim1%22%20maskUnits%3D%22userSpaceOnUse%22%20x%3D%22-40%22%20y%3D%22-40%22%20width%3D%22120%22%20height%3D%22120%22%3E%3Crect%20x%3D%22-40%22%20y%3D%22-40%22%20width%3D%22120%22%20height%3D%22120%22%20fill%3D%22%23fff%22%2F%3E%3Cg%20clip-path%3D%22url(%23trif4)%22%3E%3Cpath%20d%3D%22M13.91%2038.15L14.52%2038.09L15.14%2038L15.75%2037.89L16.35%2037.75L16.95%2037.59L17.54%2037.4L18.12%2037.19L18.7%2036.96L19.26%2036.7L19.82%2036.43L20.36%2036.13L20.89%2035.81L21.41%2035.46L21.91%2035.1L22.4%2034.72L22.88%2034.32L23.33%2033.9L23.77%2033.46L24.19%2033.01L24.6%2032.54L24.98%2032.05%22%20fill%3D%22none%22%20stroke%3D%22%23000%22%20stroke-width%3D%224.4%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%2F%3E%3C%2Fg%3E%3Cg%20clip-path%3D%22url(%23trif5)%22%3E%3Cpath%20d%3D%22M27.91%2025.29L28%2024.67L28.07%2024.06L28.11%2023.44L28.13%2022.82L28.12%2022.2L28.09%2021.58L28.03%2020.96L27.95%2020.35L27.46%2019.97L26.95%2019.61L26.43%2019.27L25.9%2018.96L25.35%2018.66L24.8%2018.39L24.23%2018.14L23.65%2017.91L23.07%2017.71L22.47%2017.53L21.87%2017.37L21.27%2017.24L20.66%2017.13L20.04%2017.05L19.42%2016.99L18.8%2016.96L18.18%2016.95L17.56%2016.96L16.95%2017L16.33%2017.07L15.72%2017.16L15.11%2017.27L14.5%2017.41L13.9%2017.57L13.31%2017.75L12.73%2017.96L12.15%2018.2L11.59%2018.45L11.03%2018.73L10.49%2019.03L9.96%2019.35L9.44%2019.69L8.94%2020.05%22%20fill%3D%22none%22%20stroke%3D%22%23000%22%20stroke-width%3D%224.4%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%2F%3E%3C%2Fg%3E%3C%2Fmask%3E%3Cpath%20id%3D%22trip2%22%20d%3D%22M27.95%2020.35L27.46%2019.97L26.95%2019.61L26.43%2019.27L25.9%2018.96L25.35%2018.66L24.8%2018.39L24.23%2018.14L23.65%2017.91L23.07%2017.71L22.47%2017.53L21.87%2017.37L21.27%2017.24L20.66%2017.13L20.04%2017.05L19.42%2016.99L18.8%2016.96L18.18%2016.95L17.56%2016.96L16.95%2017L16.33%2017.07L15.72%2017.16L15.11%2017.27L14.5%2017.41L13.9%2017.57L13.31%2017.75L12.73%2017.96L12.15%2018.2L11.59%2018.45L11.03%2018.73L10.49%2019.03L9.96%2019.35L9.44%2019.69L8.94%2020.05L8.45%2020.43L7.98%2020.83L7.52%2021.25L7.08%2021.69L6.66%2022.15L6.26%2022.62L5.87%2023.1L5.51%2023.61L5.16%2024.12L4.84%2024.65L4.54%2025.19L4.26%2025.75L4%2026.31L3.77%2026.88L3.55%2027.47L3.37%2028.06L3.2%2028.66L3.06%2029.26L2.94%2029.87L2.85%2030.48L2.79%2031.1L2.74%2031.72L2.72%2032.34L2.73%2032.96L2.76%2033.58L2.82%2034.19L2.9%2034.81L3.39%2035.19L3.9%2035.54L4.42%2035.88L4.95%2036.2L5.5%2036.49L6.06%2036.76L6.62%2037.01L7.2%2037.24L7.79%2037.44L8.38%2037.62L8.98%2037.78L9.59%2037.91L10.2%2038.02L10.81%2038.1L11.43%2038.16L12.05%2038.2L12.67%2038.21L13.29%2038.19L13.91%2038.15L14.52%2038.09L15.14%2038L15.75%2037.89L16.35%2037.75L16.95%2037.59L17.54%2037.4L18.12%2037.19L18.7%2036.96L19.26%2036.7L19.82%2036.43L20.36%2036.13L20.89%2035.81L21.41%2035.46L21.91%2035.1L22.4%2034.72L22.88%2034.32L23.33%2033.9L23.77%2033.46L24.19%2033.01L24.6%2032.54L24.98%2032.05L25.34%2031.55L25.69%2031.03L26.01%2030.5L26.31%2029.96L26.59%2029.41L26.85%2028.84L27.09%2028.27L27.3%2027.69L27.49%2027.1L27.65%2026.5L27.79%2025.89L27.91%2025.29L28%2024.67L28.07%2024.06L28.11%2023.44L28.13%2022.82L28.12%2022.2L28.09%2021.58L28.03%2020.96Z%22%20fill%3D%22none%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%2F%3E%3Cmask%20id%3D%22trim2%22%20maskUnits%3D%22userSpaceOnUse%22%20x%3D%22-40%22%20y%3D%22-40%22%20width%3D%22120%22%20height%3D%22120%22%3E%3Crect%20x%3D%22-40%22%20y%3D%22-40%22%20width%3D%22120%22%20height%3D%22120%22%20fill%3D%22%23fff%22%2F%3E%3Cg%20clip-path%3D%22url(%23trif2)%22%3E%3Cpath%20d%3D%22M15.74%2031.61L16.23%2032L16.73%2032.36L17.24%2032.71L17.77%2033.03L18.31%2033.34L18.86%2033.62L19.43%2033.88L20%2034.12L20.57%2033.88L21.14%2033.62L21.69%2033.34L22.23%2033.03L22.76%2032.71L23.27%2032.36L23.77%2032L24.26%2031.61L24.73%2031.2L25.18%2030.78L25.61%2030.34L26.03%2029.88L26.43%2029.41L26.81%2028.92L27.17%2028.41L27.51%2027.89L27.83%2027.36L28.12%2026.81L28.4%2026.26L28.65%2025.69L28.88%2025.12L29.09%2024.53L29.27%2023.94L29.43%2023.34L29.56%2022.73L29.68%2022.12L29.76%2021.51L29.82%2020.89L29.86%2020.27L29.87%2019.65L29.86%2019.03L29.82%2018.42L29.76%2017.8%22%20fill%3D%22none%22%20stroke%3D%22%23000%22%20stroke-width%3D%224.4%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%2F%3E%3C%2Fg%3E%3Cg%20clip-path%3D%22url(%23trif3)%22%3E%3Cpath%20d%3D%22M11.6%2013.05L11.35%2013.62L11.12%2014.19L10.91%2014.78L10.73%2015.37L10.57%2015.97L10.44%2016.57L10.32%2017.18L10.24%2017.8L10.18%2018.42L10.14%2019.03L10.13%2019.65L10.14%2020.27L10.18%2020.89L10.24%2021.51L10.32%2022.12L10.44%2022.73L10.57%2023.34L10.73%2023.94L10.91%2024.53L11.12%2025.12L11.35%2025.69%22%20fill%3D%22none%22%20stroke%3D%22%23000%22%20stroke-width%3D%224.4%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%2F%3E%3C%2Fg%3E%3C%2Fmask%3E%3C%2Fdefs%3E%3Cg%20opacity%3D%220.72%22%3E%3Cg%20mask%3D%22url(%23trim0)%22%3E%3Cuse%20href%3D%22%23trip0%22%20stroke%3D%22%23230716%22%20stroke-width%3D%223.4%22%2F%3E%3Cuse%20href%3D%22%23trip0%22%20stroke%3D%22%234d0f30%22%20stroke-width%3D%222.2%22%2F%3E%3C%2Fg%3E%3Cg%20mask%3D%22url(%23trim1)%22%3E%3Cuse%20href%3D%22%23trip1%22%20stroke%3D%22%23230716%22%20stroke-width%3D%223.4%22%2F%3E%3Cuse%20href%3D%22%23trip1%22%20stroke%3D%22%234d0f30%22%20stroke-width%3D%222.2%22%2F%3E%3C%2Fg%3E%3Cg%20mask%3D%22url(%23trim2)%22%3E%3Cuse%20href%3D%22%23trip2%22%20stroke%3D%22%23230716%22%20stroke-width%3D%223.4%22%2F%3E%3Cuse%20href%3D%22%23trip2%22%20stroke%3D%22%234d0f30%22%20stroke-width%3D%222.2%22%2F%3E%3C%2Fg%3E%3C%2Fg%3E%3C%2Fsvg%3E");
  background-repeat: no-repeat;
  background-position: center;
  margin-block: 2.2rem;
  position: relative;
}
.fliesstext hr::before, .fliesstext hr::after,
.rechtstext hr::before, .rechtstext hr::after {
  content: "";
  position: absolute; top: 50%;
  width: calc(50% - 38px); height: 0;
  border-top: 1.5px dashed color-mix(in srgb, var(--text) 32%, var(--papier));
}
.fliesstext hr::before, .rechtstext hr::before { left: 0; }
.fliesstext hr::after,  .rechtstext hr::after  { right: 0; }

/* -------------------------------------------------- Die aktive Rubrik
   Unterstrichen mit einer Steppnaht statt mit einem Strich. */
.rubrik[aria-current="true"] {
  border-bottom-style: dashed;
  border-bottom-width: 2px;
}

/* --------------------------------------------- Der Punkt vor dem Kicker
   Ein Perlmuttknopf im Kleinformat. */
.kicker__punkt {
  background-image: radial-gradient(circle at 36% 30%, #fffdf8, currentColor 70%);
  box-shadow: 0 1px 1px rgba(60,40,30,.35);
}

/* ------------------------------------------------------ Die Fehlerseite
   Die große Nummer geprägt statt nur blass. */
.fehlerseite__nummer {
  color: color-mix(in srgb, var(--akzent) 22%, var(--papier));
  text-shadow: 0 1px 0 rgba(255,255,255,.9), 0 -1px 0 rgba(77,15,48,.14);
}


/* ===========================================================================
 * FEINSCHLIFF – aus der Durchsicht am vollen Blog
 * ===========================================================================
 *
 * Alles hier geht auf etwas zurück, das beim Ansehen der gefüllten Seite
 * aufgefallen ist. Die Begründung steht jeweils dabei; ohne sie wäre es
 * Geschmack, und Geschmack lässt sich nicht nachvollziehen.
 */

/* ---------------------------------------------------- Ein ruhiges Lesefeld
 *
 * Die Tischdecke lief bisher unter dem Text durch. Bei voller Breite waren
 * acht Damastrosetten gleichzeitig hinter einem Absatz zu sehen – hübsch,
 * aber unruhig zu lesen.
 *
 * Jetzt liegt der Inhalt auf einem Blatt, und das Tuch RAHMT ihn. Das ist
 * auch die ehrlichere Metapher: ein Blatt Papier auf der Tischdecke.
 * Kopfbereich und Fußzeile bleiben bewusst draußen, damit Band und Saum
 * weiterhin über die ganze Breite laufen.
 */
main {
  /*
   * Auf MAIN, nicht auf .huelle: Die Startseite hat eine .huelle direkt
   * unter main, die Beitragsseite deren zwei innerhalb des Artikels. Auf
   * .huelle gesetzt gäbe das dort zwei Blätter übereinander mit einer
   * Fuge dazwischen. main gibt es auf jeder Seite genau einmal.
   */
  display: block;
  max-width: calc(var(--breite) + 5rem);
  margin-inline: auto;
  padding-block: clamp(1.25rem, 2.5vw, 2.25rem);
  background: color-mix(in srgb, var(--flaeche) 88%, transparent);
  border-radius: 6px;
  box-shadow:
    0 1px 0 rgba(255,255,255,.7) inset,
    0 2px 10px rgba(60,40,30,.10),
    0 24px 48px -32px rgba(60,40,30,.22);
}

/* ------------------------------------------- Auf schmalen Geräten
 *
 * Bei 375 Punkten brach die Rubrikenzeile ungünstig: „Alles Nähtagebuch"
 * nebeneinander, dann „Probenähen & Designnähen" allein, am Ende „Album"
 * als Waise. Der Grund sind sehr unterschiedlich lange Namen in einer
 * umbrechenden Zeile – da entscheidet die Zufälligkeit der Längen, wo
 * Lücken entstehen.
 *
 * Auf dem Telefon wird daraus eine waagerecht wischbare Reihe. Das ist
 * aus Apps vertraut, hält die Rangfolge der Rubriken als EINE Zeile
 * zusammen und spart im Kopfbereich drei Zeilen Höhe.
 */
/* ===========================================================================
 * DAUMENMASS AUF TASTGERÄTEN
 * ===========================================================================
 *
 * Mit der Maus trifft man 18 Punkte, mit dem Daumen nicht. Gemessen auf
 * 375 Punkten Breite waren es: Rubriken 37, Schlagworte 32, Knöpfe 38,
 * Fußzeilenverweise 18, Dateiverweise 26. Verlangt sind 44.
 *
 * Die Regel gilt nur dort, wo wirklich getippt wird – an einem Zeigegerät
 * bliebe die Seite sonst unnötig luftig. (pointer: coarse) fängt auch
 * Tablets, die breiter als 860 Punkte sind.
 *
 * Nicht angefasst: Verweise MITTEN IM TEXT. Sie sind Teil eines Satzes,
 * kein Bedienelement; ihnen 44 Punkte zu geben, risse den Absatz
 * auseinander. Ebenso der Sprungverweis „Zum Inhalt springen" – der ist
 * 1x1 und wird erst beim Hineinspringen sichtbar, das ist Absicht.
 */
@media (max-width: 860px), (pointer: coarse) {
  .rubrik,
  /* Plus und Minus am Portionsrechner: 32 Punkte, gemessen am
     21.10.2026 - sie waren nie aufgefallen, weil der Rechner wegen
     falscher Testdaten gar nicht erschien. */
  .rechner__knopf,
  /* "Weiter" und "Zurueck" zwischen den Seiten: 30 Punkte. Auch die
     fielen erst mit echten Inhalten auf - im Testbestand gab es nie
     eine zweite Seite, also auch nie einen Blaetterverweis. */
  .blaettern__zu,
  .aufmacher__titel a,
  .karte__titel a,
  .suchtreffer > li > a,
  .artfilter a,
  .album__filter a,
  .schlagwort,
  .kicker a,
  .knopf,
  .fuss nav a,
  .downloads a,
  .fehlerseite__wege a,
  .wetter__schalter,
  .katze__weiter,
  .katze__schlaf {
    display: inline-flex;
    align-items: center;
    min-height: 44px;
  }

  /* Plus und Minus sind rund und tragen EIN Zeichen. Bei ihnen reicht
     die Höhe nicht: Sie blieben 32 Punkte breit, weil kein Text sie
     auseinanderzieht. Ein Daumen trifft aber eine Fläche, keine Säule.
     Bei den übrigen oben zieht die Beschriftung die Breite von selbst
     über 44 Punkte. */
  .rechner__knopf {
    min-width: 44px;
    justify-content: center;
  }

  /* Die Fußzeilenverweise stehen dicht untereinander – ohne etwas Luft
     dazwischen berühren sich die vergrößerten Flächen.
     MITTIG: Die Fußzeile ist auf schmalen Geräten zentriert, der
     Verweisblock war es nicht mehr – aus display:flex wird text-align
     nicht mehr geerbt, die letzte Zeile klebte links. */
  .fuss nav {
    display: flex;
    flex-wrap: wrap;
    gap: 0 1.2rem;
    justify-content: center;
  }
}

/* Auf breiten Schirmen steht die Zeile wieder auseinandergezogen, und
   der Verweisblock schließt rechts ab. */
@media (min-width: 861px) and (pointer: fine) {
  .fuss nav { justify-content: flex-end; }
}

/* ---------------------------------------------- Dass es weitergeht
 *
 * Die Rubrikzeile ist auf dem Telefon 959 Punkte lang und 375 sichtbar –
 * fast zwei Drittel liegen rechts außerhalb. Ohne Hinweis sieht man eine
 * abgeschnittene Zeile und hält sie für vollständig. Ein weicher Verlauf
 * am rechten Rand sagt: Da kommt noch etwas.
 *
 * Der Verlauf sitzt am <nav> und nicht an der Zeile selbst – an der
 * Zeile würde er mitscrollen und wäre nach dem ersten Wisch in der Mitte.
 */
/* ===========================================================================
 * DIE RUBRIKZEILE SAGT JETZT SELBST, DASS SIE WEITERGEHT
 * ===========================================================================
 *
 * Vorher: ein weicher Verlauf am rechten Rand. Zwei Dinge stimmten nicht.
 *
 *   1. Er lag am <nav>, das <ul> aber greift mit negativen Rändern bis an
 *      den Bildschirmrand. Der Verlauf stand damit um den Satzspiegel-
 *      rand nach innen versetzt - also MITTEN in der Zeile statt an
 *      ihrem Ende.
 *   2. Ein Verlauf auf Papierfarbe ueber einem Papiergrund ist kein
 *      Hinweis, sondern ein Lichtschein. Niemand liest daraus "wischen".
 *
 * Jetzt: zwei runde Knoepfe mit Spitze, genau an den Kanten, und nur
 * dort, wo es wirklich weitergeht (die Klassen setzt js/rubriken.js).
 * Darunter liegt weiterhin ein kurzer Verlauf - aber als Unterlage fuer
 * den Knopf, nicht als Botschaft.
 */
/* AUSSERHALB DER MEDIENABFRAGE: Ohne diese Zeile standen die beiden
   Knoepfe auf breiten Schirmen als zwei graue Pillen unter der
   Unterzeile - dort greift die Regel unten naemlich nicht, und ein
   <button> ohne Gestalt ist trotzdem sichtbar. */
.rubrikzeile__pfeil { display: none; }

@media (max-width: 640px) {
  .rubrikzeile { position: relative; }

  /*
   * DER KNOPF IST GROSS, DIE SCHEIBE IST KLEIN.
   *
   * Erster Anlauf: eine deckende weisse Scheibe von 44 Punkten. Die traf
   * man gut und sie verdeckte die erste Rubrik komplett. Jetzt ist der
   * KNOPF weiterhin 44 Punkte gross (Daumenmass), sichtbar ist davon nur
   * eine durchscheinende Scheibe von 28 - man sieht die Rubrik darunter
   * noch, und der Hinweis draengt sich nicht auf.
   */
  .rubrikzeile__pfeil {
    position: absolute;
    top: 50%;
    z-index: 2;
    display: none;
    align-items: center;
    justify-content: center;
    width: 44px;
    height: 44px;
    margin-top: -22px;
    padding: 0;
    border: 0;
    background: none;
    box-shadow: none;
    cursor: pointer;
  }

  /* Die Knoepfe stehen am BILDSCHIRMrand, nicht am Satzspiegel - dort
     endet die Zeile. Deshalb der negative Rand und vier Punkte Luft. */
  .rubrikzeile__pfeil--vor { right: calc(var(--rand, 1rem) * -1 + 4px); }
  .rubrikzeile__pfeil--zurueck { left: calc(var(--rand, 1rem) * -1 + 4px); }

  .rubrikzeile--vor .rubrikzeile__pfeil--vor,
  .rubrikzeile--zurueck .rubrikzeile__pfeil--zurueck { display: flex; }

  /* Die Scheibe: milchig, kaum umrandet. Wo der Browser es kann, wird
     der Grund dahinter leicht verwaschen - das hebt die Scheibe ab,
     ohne sie zu fuellen. */
  .rubrikzeile__spitze {
    position: relative;
    width: 28px;
    height: 28px;
    border-radius: 50%;
    background: color-mix(in srgb, var(--papier) 58%, transparent);
    border: 1px solid color-mix(in srgb, var(--akzent) 16%, transparent);
    -webkit-backdrop-filter: blur(2px);
            backdrop-filter: blur(2px);
  }

  /* Die Spitze: zwei Striche als Winkel, gedreht. Gezeichnet statt
     Zeichensatz - ein > aus der Schrift sitzt nie mittig. */
  .rubrikzeile__spitze::before {
    content: "";
    position: absolute;
    inset: 0;
    margin: auto;
    width: 8px;
    height: 8px;
    border-top: 2px solid color-mix(in srgb, var(--akzent) 62%, transparent);
    border-right: 2px solid color-mix(in srgb, var(--akzent) 62%, transparent);
    transform: rotate(45deg) translate(-1px, 1px);
  }
  .rubrikzeile__pfeil--zurueck .rubrikzeile__spitze::before {
    transform: rotate(-135deg) translate(-1px, 1px);
  }

  /* Beim Druecken kurz fester - sonst fehlt die Rueckmeldung. */
  .rubrikzeile__pfeil:active .rubrikzeile__spitze {
    background: color-mix(in srgb, var(--papier) 85%, transparent);
  }

  /* Der Verlauf unter dem Knopf: Er trennt den Knopf vom Text, der
     darunter durchwischt. Nur dort, wo der Knopf auch steht. */
  .rubrikzeile::after,
  .rubrikzeile::before {
    content: "";
    position: absolute;
    inset: 0 auto 0 auto;
    width: 46px;
    pointer-events: none;
    opacity: 0;
    transition: opacity .2s ease;
  }
  .rubrikzeile::after {
    right: calc(var(--rand, 1rem) * -1);
    background: linear-gradient(to right, rgba(250, 248, 249, 0), color-mix(in srgb, var(--papier) 72%, transparent) 70%);
  }
  .rubrikzeile::before {
    left: calc(var(--rand, 1rem) * -1);
    background: linear-gradient(to left, rgba(250, 248, 249, 0), color-mix(in srgb, var(--papier) 72%, transparent) 70%);
  }
  .rubrikzeile--vor::after,
  .rubrikzeile--zurueck::before { opacity: 1; }

  @media (prefers-reduced-motion: reduce) {
    .rubrikzeile::after, .rubrikzeile::before { transition: none; }
  }
}

@media (max-width: 640px) {
  .rubriken {
    flex-wrap: nowrap;
    overflow-x: auto;
    gap: 0 1.1rem;
    /* Bis an den Bildschirmrand wischen, aber Text im Satzspiegel halten. */
    margin-inline: calc(var(--rand, 1rem) * -1);
    padding-inline: var(--rand, 1rem);
    scroll-snap-type: x proximity;
    scrollbar-width: none;
  }
  .rubriken::-webkit-scrollbar { display: none; }
  .rubriken > li { flex: 0 0 auto; scroll-snap-align: start; }

  /* Die Chips dürfen weiter umbrechen – sie sind kurz und gleichförmig,
     und als Filter erwartet man sie ohnehin als Feld. */
  .artfilter { gap: .4rem; }

  /* Das Lesefeld bis an den Rand: Auf 375 Punkten kostet ein Rahmen ringsum
     zu viel von den wenigen verfügbaren Punkten.

     KEIN negatives margin-inline hier. Hier stand eins, nach dem Vorbild
     der Rubrikzeile darüber – dort ist es richtig, weil die Zeile IN einem
     Kasten mit Innenabstand sitzt und den aufheben soll. <main> sitzt aber
     direkt im Körper und ist ohnehin schon so breit wie der Bildschirm:
     Zweimal minus 20 Punkte machten es 40 Punkte BREITER als das Fenster,
     und die ganze Seite ließ sich waagerecht schieben (gemessen: Fenster
     375, Dokument 395). Breiter als das Fenster darf hier nichts werden. */
  main {
    border-radius: 0;
    margin-inline: 0;
    padding-inline: 0;
  }

  /*
   * NETZ GEGEN RANDLOSEN TEXT.
   *
   * Dass <main> hier keinen Innenabstand hat, stimmt nur, solange der
   * Inhalt in einer .huelle steckt – die bringt den Seitenrand mit. Die
   * Fehlerseite tat das nicht, und ihr Text lief von Kante zu Kante
   * (gemessen 0…390 auf 390 Punkten).
   *
   * Die Vorlage ist repariert; diese Regel sorgt dafür, dass es bei der
   * nächsten Seite ohne Hülle nicht wieder passiert. Kein Ersatz für die
   * Hülle, nur ein Boden, durch den nichts durchfällt.
   */
  main > *:not(.huelle):not(.fuss__bewegung) {
    padding-inline: var(--rand, 1rem);
  }
}

/* --------------------------------------------- Zwei Reihen, zwei Rollen
 *
 * Über dem Saum stehen die Rubriken, darunter der Artenfilter. Beide waren
 * schmale Schreibmaschinenzeilen mit unterstrichenem Eintrag – nicht
 * auseinanderzuhalten. Erschwerend: Mehrere Namen kommen in beiden vor,
 * „Nähtagebuch" etwa, weil die Rubriken den Arten nachgebildet sind.
 *
 * Die Rubriken sind die Hauptnavigation und bekommen Gewicht. Der Filter
 * wird zu Chips – er sieht damit aus wie das, was er ist: etwas, das man
 * an- und abwählt.
 */
.rubrik {
  font-size: .86rem;
  padding-block: .45rem;
  transition: color .15s ease, border-color .15s ease;
}
.rubrik[aria-current="true"] {
  color: var(--akzent);
  font-weight: 600;
}

.artfilter { gap: .45rem; padding-block: 1rem .25rem; }
.artfilter a {
  padding: .3rem .72rem;
  border-radius: 999px;
  text-decoration: none;
  color: var(--text-leise);
  background: color-mix(in srgb, var(--akzent) 6%, var(--flaeche));
  box-shadow: 0 0 0 1px color-mix(in srgb, var(--akzent) 16%, var(--papier));
  transition: background .15s ease, color .15s ease, box-shadow .15s ease;
}
.artfilter a:hover {
  color: var(--akzent);
  box-shadow: 0 0 0 1px color-mix(in srgb, var(--akzent) 40%, var(--papier));
}
.artfilter a[aria-current="true"],
.artfilter a.ist-aktiv {
  color: var(--flaeche);
  background: var(--akzent);
  box-shadow: 0 1px 2px rgba(60,40,30,.3);
}

/* ------------------------------------------------------ Der Aufmacher
 *
 * Das Maßband unter dem Anrisstext war das lauteste Element im ganzen
 * Block: ein warmer Holzbalken über die volle Spaltenbreite, nur um ein
 * Datum anzukündigen. Das Auge ging zuerst dorthin und nicht zur
 * Überschrift.
 *
 * Es bleibt – es gehört zu einem Nähblog –, aber als schmaler Strich in
 * Textlänge statt als Balken.
 */
.aufmacher .massband {
  height: 7px;
  max-width: 11rem;
  border-radius: 999px;
  opacity: .85;
}

/* ------------------------------------------------------------ Die Karten
 *
 * Mit echten Bildern fiel auf: Das Bild sitzt hart auf der Kartenkante, und
 * zwischen Anrisstext und Datum klafft je nach Textlänge mal viel, mal
 * wenig Luft. Beides beruhigt sich mit abgerundetem Bild, gleichem
 * Innenabstand und einem Datum, das unten festsitzt.
 */
.karte { overflow: hidden; }
.karte__bild {
  border-radius: 4px;
  transition: transform .35s cubic-bezier(.2,.7,.3,1);
}
.karte:hover .karte__bild { transform: scale(1.03); }
.karte__titel { margin-block: .15rem .35rem; }
.karte__mass {
  margin-top: auto;
  border-top-style: dashed;
  border-top-color: color-mix(in srgb, var(--text) 22%, var(--flaeche));
}

/* Der Punkt vor dem Kicker ist die einzige Stelle, an der die Signalfarbe
   vorkommt – klein, aber sie gibt der Karte einen Anker. */
.kicker { color: var(--text-leise); }
.kicker__punkt { background-image: radial-gradient(circle at 36% 30%, #fffdf8, var(--akzent) 72%); }

/* ------------------------------------------------------- Die Galerie
 * Gleiche Sprache wie die Karten: Fotopapier, sanfter Zoom beim
 * Draufzeigen, damit man sieht, dass sich etwas anklicken lässt. */
.galerie img {
  border-radius: 3px;
  transition: transform .3s cubic-bezier(.2,.7,.3,1);
}
.galerie li:hover img { transform: scale(1.04); }
.galerie li figure { overflow: hidden; border-radius: 3px; }

/* ------------------------------------------- Der Beitrag als eine Spalte
 *
 * Hier lag der auffälligste Fehler: Die Überschrift stand linksbündig über
 * 903 Punkte, der Fließtext darunter zentriert in 656 – um 210 Punkte
 * versetzt. Das sah nicht nach Absicht aus, sondern nach Versehen.
 *
 * Jetzt steht der ganze Beitrag in EINER Lesespalte: Überschrift, Anriss,
 * Kennzahlen und Text auf derselben Kante. Nebenbei sinkt die Zeilenlänge
 * von 77 auf gut 70 Zeichen – näher am Bereich, in dem man ohne Mühe liest.
 */
/* ----------------------------------------- Die Lesespalte: zurückgenommen
 *
 * Hier stand eine Regel, die Überschrift, Anriss und Fließtext auf eine
 * gemeinsame Spalte zwang. Anlass war, dass der Text um 210 Punkte neben
 * der Überschrift zu stehen schien.
 *
 * DAS WAR EINE FEHLDIAGNOSE. Der Fließtext liegt innerhalb von .werkbank –
 * er ist die rechte Spalte neben der Material- und der Ablaufliste. Beim
 * Testbeitrag ohne Material war diese Spalte leer, und deshalb SAH es nach
 * einem Versatz aus. Mit Inhalt stimmt die Anordnung.
 *
 * Aufgefallen ist das erst, als der Blog mit echten Beiträgen gefüllt war.
 * Die Regel ist entfernt; eine Spalte zu erzwingen hätte die Werkbank
 * zerdrückt.
 */

/* Das Titelbild darf breiter stehen als der Text – es ist der Aufmacher
   des Beitrags und wirkt in Textbreite verloren klein. */
/* Das Titelbild füllt die Spalte.
   Vorher: max-width 60rem = 960 Punkte, in einer 1012 Punkte breiten
   Spalte. 26 Punkte Luft auf jeder Seite – zu wenig, um als Absicht
   durchzugehen, und zu viel, um nicht aufzufallen. Entweder deutlich
   breiter als der Text oder bündig; bündig ist hier das Ruhigere. */
.beitrag__bildrahmen { max-width: 100%; margin-inline: auto; }

/* Die Kennzahlen nur so breit wie nötig. Über die volle Spalte war es ein
   Holzbalken mit vier Wörtern darin. */
/* Die Kennzahlen stehen in der Lesespalte statt über die volle Breite –
   vorher war es ein Holzbalken über 1012 Punkte für vier Wörter. */
.kennzahlen { padding-inline: .9rem; }

/* ===========================================================================
 * SEITEN, DIE NIE GESTALTET WURDEN: Suche, Maßhelfer, Fehlerseite
 * ===========================================================================
 *
 * Diese drei benutzen .seitentitel für ihre Überschrift und .feld,
 * .feld__label, .feld__hilfe für ihre Formulare. KEINE dieser Klassen
 * steht in blog.css – .seitentitel gar nicht, die Feldklassen nur im
 *
 * (Keine Schrägstriche-Anführungszeichen in diesem Kommentar: Er steht in
 * einem Template-Literal, ein Backtick beendet es mittendrin. Genau das ist
 * hier gerade passiert – haut.css kam mit 0 KB heraus.)
 * Stylesheet der Redaktion. Auf der öffentlichen Seite waren sie damit
 * wirkungslos: „Welche Größe passt?" stand in der Systemschrift, grau und
 * fett, neben einem „Album" in Fraunces und Bordeaux; die drei Eingaben
 * waren 60 Punkte breite Kästchen in Browser-Voreinstellung.
 *
 * Gesehen am 21.10.2026 beim Durchgehen der Seiten. Hier bekommen sie
 * dieselbe Sprache wie der Rest.
 */
.seitentitel {
  font-family: "Fraunces", Palatino, Georgia, serif;
  font-weight: 600;
  color: var(--akzent);
  font-size: clamp(2rem, 4.5vw, 3rem);
  line-height: 1.05;
  margin: 2.2rem 0 .8rem;
}

/* Ein Feld: Beschriftung über der Eingabe, beides über die volle Spalte. */
/* align-content: start, sonst verteilt das Raster die ueberschuessige
   Hoehe auf seine Zeilen: Neben einem 12-zeiligen Textfeld wurde aus dem
   Zahlenfeld "Portionen" ein 139 Punkte hoher Kasten mit einer Ziffer
   oben links. Gemessen: Zeilen 116 / 139 / 142 statt 22 / 45 / 34. */
.huelle .feld { display: grid; gap: .3rem; align-content: start; }

.huelle .feld__label {
  font-family: var(--mono);
  font-size: .7rem;
  letter-spacing: .1em;
  text-transform: uppercase;
  color: var(--text-leise);
}

.huelle .feld__hilfe {
  font-size: .9rem;
  color: var(--text-leise);
}

.huelle .feld input,
.masshelfer__eingaben input {
  width: 100%;
  min-height: 44px;
  padding: .5rem .7rem;
  font: inherit;
  border: 1px solid var(--linie);
}

/* --------------------------------------------------------- Die Maßtabelle
   Kein Gitter aus Linien, sondern ein Blatt: Pergamentkopf wie die
   Kennzahlen, Zahlen in Schreibmaschine, Zeilen nur durch feine Nähte
   getrennt. Die getroffene Größe wird markiert – das ist der ganze Zweck
   des Helfers, es soll ins Auge fallen. */
.masshelfer__tabelle { border-collapse: collapse; width: 100%; margin: 1.6rem 0; }

.masshelfer__tabelle thead th {
  background-color: var(--pergament);
  background-image: repeating-linear-gradient(90deg,
    rgba(120,90,50,.28) 0 1px, transparent 1px 12px);
  font-family: var(--mono);
  font-size: .68rem;
  letter-spacing: .12em;
  text-transform: uppercase;
  color: color-mix(in srgb, var(--text) 90%, var(--pergament));
  border: 0;
  border-bottom: 1px solid color-mix(in srgb, var(--akzent) 30%, transparent);
  padding: .55rem .85rem;
}

.masshelfer__tabelle tbody th,
.masshelfer__tabelle tbody td {
  border: 0;
  border-bottom: 1px dashed var(--linie);
  padding: .5rem .85rem;
  font-family: var(--mono);
  font-size: .82rem;
}

.masshelfer__tabelle tbody th {
  font-family: "Fraunces", Palatino, Georgia, serif;
  font-size: 1rem;
  color: var(--akzent);
}

.masshelfer__treffer th,
.masshelfer__treffer td {
  background: color-mix(in srgb, var(--akzent) 12%, transparent);
  border-bottom-style: solid;
}

/* Das Ergebnis ist die Antwort auf die Frage in der Überschrift – also
   keine fette Zeile im Fließtext, sondern ein eigenes Schild. */
.masshelfer__ergebnis {
  min-height: 1.4rem;
  margin: 1.2rem 0 0;
  font-family: var(--mono);
  font-size: .85rem;
  letter-spacing: .04em;
  color: var(--akzent);
}
.masshelfer__ergebnis:not(:empty) {
  padding: .7rem .9rem;
  border-left: 3px solid var(--akzent);
  background: color-mix(in srgb, var(--akzent) 7%, transparent);
}

/* ===========================================================================
 * DAS WETTER
 * ===========================================================================
 *
 * Eine Zeichenfläche über der ganzen Seite: Schnee, Blätter, Blüten, Pollen,
 * je nach Jahreszeit. Gefüllt wird sie von public/js/wetter.js.
 *
 * position: fixed und nicht absolute – sonst wüchse die Seite mit der
 * Fläche, und auf einer kurzen Seite stünde unten ein leerer Streifen.
 *
 * pointer-events: none ist die wichtigste Zeile der Datei. Ohne sie läge
 * eine unsichtbare Platte über jedem Verweis und jedem Knopf der Seite.
 *
 * z-index 5: über dem Inhalt, aber UNTER dem Lichtkasten (der ist ein
 * dialog und liegt ohnehin in der obersten Ebene) und unter der Kopfzeile,
 * falls die einmal klebt. Es soll vor der Seite schneien, nicht vor dem
 * Bild, das man gerade groß ansieht.
 */
.kopf { position: relative; }

.wetter {
  /* Seit dem 21.10.2026 haengt die Flaeche IM Kopf statt fest ueber dem
     ganzen Fenster: Es schneit ueber der Wortmarke und hoert am Tartanband
     auf. Das Ausblenden macht die Maske - unten laeuft die Deckung weich
     auf null, damit keine Kante entsteht, an der der Schnee abgeschnitten
     aussieht. Die Maske steht zweimal da, weil Safari sie bis heute nur
     mit Praefix kennt. */
  position: absolute;
  inset: 0;
  width: 100%;
  z-index: 5;
  pointer-events: none;
  -webkit-mask-image: linear-gradient(to bottom, #000 0%, #000 58%, rgba(0,0,0,.45) 82%, transparent 100%);
          mask-image: linear-gradient(to bottom, #000 0%, #000 58%, rgba(0,0,0,.45) 82%, transparent 100%);
  /* Kein eigener Hintergrund: Die Fläche ist durchsichtig, nur die Teilchen
     darauf sind zu sehen. */
}

/* Beim Drucken fällt nichts. */
@media print { .wetter { display: none; } }

/* Die Bewegungsschicht über dem Knotenband: dieselbe Fläche wie das Band
   selbst, nur eben zeichenbar. Siehe public/js/band.js. */
.fuss__bewegung {
  position: absolute;
  inset: 0 0 auto 0;
  height: var(--band-hoehe);
  pointer-events: none;
  /* Über dem Band, aber unter allem, was in der Fußzeile steht – der
     Schein einer Kerze soll nicht über den Rechtsverweisen liegen. */
  z-index: 0;
}
.fuss > *:not(.fuss__bewegung) { position: relative; z-index: 1; }
@media print { .fuss__bewegung { display: none; } }

/* Der Schalter in der Fußzeile: so leise wie die Rechtsverweise daneben,
   aber als Knopf erkennbar. Er erscheint erst, wenn das Skript ihn
   freigibt – ohne Skript gibt es kein Wetter und also auch nichts zu
   schalten. */
.wetter__schalter {
  border: 0;
  background: none;
  padding: .2rem 0;
  font-family: var(--mono);
  font-size: .72rem;
  letter-spacing: .08em;
  color: var(--text-leise);
  cursor: pointer;
  text-decoration: underline;
  text-decoration-style: dotted;
  text-underline-offset: 3px;
}
.wetter__schalter:hover { color: var(--akzent-zwei); }

/* ===========================================================================
 * DER KIPPSCHALTER FUERS WETTER
 * ===========================================================================
 *
 * Vorher war es ein unterstrichenes Wort - man musste lesen, um zu
 * verstehen, dass dort etwas zu schalten ist. Jetzt ist es ein Schalter,
 * wie er an einer Wand sitzt: Platte, versenkte Bahn, Wippe, zwei
 * Schrauben. Auf der Wippe eine Wolke; sie sagt, wovon die Rede ist,
 * bevor man das Wort daneben liest.
 *
 * Alles gezeichnet, kein Bild: Der Schalter steht auf jeder Seite
 * zweimal, und eine Datei dafuer waere zwei Anfragen fuer 40 mal 22
 * Punkte.
 *
 * ZUSTAND: aria-pressed="true" heisst "Wetter laeuft" - Wippe rechts,
 * Wolke im Logoton. Aus heisst Wippe links, Wolke blass.
 */
.wetter__schalter {
  display: inline-flex;
  align-items: center;
  /* 0.75 statt 0.5: Die rechte Schraube sitzt 6 Punkte neben der Platte
     und klebte sonst am Wort. */
  gap: .75rem;
  padding-inline: 6px;
  text-decoration: none;          /* der Schalter traegt sich selbst */
}

.kippschalter {
  position: relative;
  flex: none;
  width: 42px;
  height: 22px;
  border-radius: 11px;
  border: 1px solid color-mix(in srgb, var(--tinte) 38%, transparent);
  background:
    linear-gradient(to bottom,
      color-mix(in srgb, var(--tinte) 16%, var(--papier)),
      color-mix(in srgb, var(--tinte) 7%, var(--papier)));
  box-shadow:
    inset 0 2px 3px rgba(40, 24, 30, .30),
    inset 0 -1px 0 rgba(255, 255, 255, .55),
    0 1px 0 rgba(255, 255, 255, .45);
}

/* Die zwei Schrauben links und rechts neben der Bahn - erst sie machen
   aus einem Schieber einen Schalter. */
.kippschalter::before,
.kippschalter::after {
  content: "";
  position: absolute;
  top: 50%;
  width: 3px;
  height: 3px;
  margin-top: -1.5px;
  border-radius: 50%;
  background: color-mix(in srgb, var(--tinte) 45%, transparent);
  box-shadow: 0 1px 0 rgba(255, 255, 255, .5);
}
.kippschalter::before { left: -6px; }
.kippschalter::after  { right: -6px; }

.kippschalter__wippe {
  position: absolute;
  top: 1px;
  left: 1px;
  width: 20px;
  height: 18px;
  border-radius: 9px;
  display: grid;
  place-items: center;
  background: linear-gradient(to bottom, #fffdfa, color-mix(in srgb, var(--tinte) 22%, #fffdfa));
  box-shadow: 0 1px 2px rgba(40, 24, 30, .45), inset 0 1px 0 #fff;
  transform: translateX(0);
  transition: transform .18s cubic-bezier(.3, 1.5, .5, 1);
}

[aria-pressed="true"] .kippschalter__wippe { transform: translateX(19px); }

.kippschalter__wolke {
  width: 13px;
  height: auto;
  display: block;
  fill: color-mix(in srgb, var(--tinte) 35%, transparent);
  transition: fill .18s ease;
}
[aria-pressed="true"] .kippschalter__wolke { fill: var(--akzent); }

/* Gedrueckt gibt der Schalter nach - zwei Punkte, mehr braucht es nicht. */
.wetter__schalter:active .kippschalter__wippe { filter: brightness(.94); }

.wetter__schalter:focus-visible .kippschalter {
  outline: 2px solid var(--akzent);
  outline-offset: 3px;
}

@media (prefers-reduced-motion: reduce) {
  .kippschalter__wippe, .kippschalter__wolke { transition: none; }
}

/* Derselbe Schalter noch einmal oben im Kopf - dort, wo es schneit.
   Er steht neben dem Redaktionsverweis und soll genauso leise sein. */
.wetter__schalter--kopf { white-space: nowrap; }

/* ------------------------------------------------------ Die Schalterecke
 *
 * Bis zum 22.10.2026 war der Wetterschalter die rechte Spalte der
 * Kopfzeile (flex-wrap). Auf dem Telefon passte er neben Logo und
 * Unterzeile nicht mehr hin, brach in eine eigene Zeile und stand dann
 * links unter „NÄHEN… BACKEN… MAMA SEIN…" - mit einer leeren Fläche
 * daneben, die den Kopf um eine Zeile höher machte.
 *
 * Jetzt nimmt er nicht mehr am Zeilenfluss teil: absolut in der rechten
 * oberen Ecke der Kopfzeile, auf der Höhe des Logos. Damit Logo oder
 * Schrifttitel nicht darunterlaufen, hält die Marke rechts so viel Platz
 * frei, wie die Ecke braucht. Die Unterzeile darf weiter die volle Breite
 * nehmen - sie steht unterhalb der Ecke.
 */
.kopf__zeile { position: relative; }

.kopf__schaltecke {
  position: absolute;
  top: 0;
  right: 0;
  display: flex;
  align-items: center;
  gap: .75rem;
  min-height: 44px;
}

.kopf__marke { padding-right: 4.5rem; }

@media (max-width: 560px) {
  /* Auf dem Telefon auf die Mitte des Logos statt an die Oberkante -
     das Logo ist dort niedriger als die Ecke hoch ist. */
  .kopf__schaltecke { top: .35rem; }
  .kopf__marke { padding-right: 3.75rem; }
}
@media (max-width: 520px) { .wetter__schalter--kopf { font-size: .66rem; } }
.wetter__schalter[hidden] { display: none; }

/* ===========================================================================
 * CARA, DIE SCHWARZE KATZE
 * ===========================================================================
 *
 * Sie liegt unten rechts und schläft. Angetippt wacht sie auf und sagt
 * etwas Nützliches. Figur: partials/katze.blade.php, Texte:
 * AppSupportKatze, Verhalten: public/js/katze.js.
 *
 * Sie darf NIE im Weg sein. Deshalb: unten rechts, klein, mit Abstand zum
 * Rand, und auf schmalen Geräten noch kleiner. Wer sie schlafen lässt,
 * verliert keine Zeile Text an sie.
 */
.katze {
  position: fixed;
  right: clamp(.6rem, 2vw, 1.4rem);
  bottom: clamp(.6rem, 2vw, 1.4rem);
  z-index: 40;              /* über dem Wetter (5), unter dem Lichtkasten */
  /*
   * KEIN FLUSS MEHR ZWISCHEN KATZE UND BLASE.
   *
   * Vorher standen beide als Flex-Kinder nebeneinander. Solange die Katze
   * über rechts/unten verankert war, wuchs der Kasten beim Aufwachen nach
   * LINKS und sie blieb liegen. Seit man sie verschieben kann, steht sie
   * über links/oben - und der Kasten wuchs nach rechts: Die Katze sprang
   * beim Aufwachen um die Breite der Blase zur Seite.
   *
   * Jetzt ist der Kasten genau so groß wie die Katze, und die Blase
   * schwebt (position: fixed). Wohin, rechnet katze.js aus - sie nimmt
   * den freien Platz, die Katze bleibt, wo sie liegt.
   */
  display: block;
  line-height: 0;
}

.katze__figur {
  border: 0;
  background: none;
  padding: 0;
  cursor: pointer;
  line-height: 0;
  /* Der Griff muss den Daumen fassen, auch wenn die Katze klein ist. */
  min-width: 44px;
  min-height: 44px;
  border-radius: 50%;
  transition: transform .18s ease;
}
.katze__figur:hover { transform: translateY(-2px) rotate(-1.5deg); }

/* Sie laesst sich verschieben: Der Zeiger sagt es, bevor man es versucht.
   Waehrend des Ziehens kein Schweben und keine Auswahl - sonst markiert
   der Finger beim Ziehen den halben Text der Seite. */
.katze__figur { cursor: grab; touch-action: none; }
.katze--zieht .katze__figur { cursor: grabbing; transform: none; }
.katze--zieht { user-select: none; }
.katze--zieht .katze__blase { opacity: .55; }
.katze__figur:focus-visible {
  outline: 2px solid var(--akzent);
  outline-offset: 4px;
}

/* Hoch statt breit: Das Bildfeld ist jetzt 120x152 statt 120x96, weil die
   sitzende Katze schlank und aufrecht ist. Die Breite bleibt schmal, damit
   sie in der Ecke nicht wuchtig wirkt. */
.katze svg { width: clamp(50px, 7vw, 84px); height: auto; display: block; }

/*
 * SCHLAFEND TRITT SIE ZURÜCK.
 *
 * Sie liegt fest in der Ecke, und auf 390 Punkten Breite deckte sie damit
 * das Ende jeder Zeile zu, die dort endet – im Rezept lag sie auf
 * „Butter und Zucker 3 Min. cremig rühren". Eine schlafende Katze soll da
 * sein, nicht im Weg.
 *
 * Also wird sie im Schlaf leicht durchsichtig. Sobald man sie ansteuert
 * oder weckt, ist sie wieder ganz da. Nicht kleiner UND blasser allein:
 * Beides zusammen macht sie erst unsichtbar, und dann findet sie niemand.
 */
.katze--schlaeft .katze__figur { opacity: .72; transition: opacity .2s ease; }
.katze--schlaeft .katze__figur:hover,
.katze--schlaeft .katze__figur:focus-visible { opacity: 1; }
.katze--wach .katze__figur { opacity: 1; }

/* ------------------------------------------------------ Die Zeichnung
   Ein Fell, ein Ton: fast schwarz, mit einem Hauch Violett darin, damit die
   Katze nicht als Loch in der Seite sitzt. Kein weißer Latz, keine bunten
   Ohrinnenseiten – eine schwarze Katze ist schwarz. */
.k-fell       { fill: #17141a; }
/* Die Ohrinnenseite: gedämpftes Altrosa. Bei einer schwarzen Katze
   schimmert dort die Haut durch das dünne Fell – sie leuchtet nicht,
   darum so weit heruntergenommen. */
.k-ohr        { fill: #4a2f3a; }
/*
 * Die Schnauzenpolster standen auf #231d27 – kaum heller als das Fell.
 * Zwei davon nebeneinander ergaben kein Polster, sondern ein dunkles Band
 * quer durchs halbe Gesicht, und die Nase saß mittendrin wie ein Fleck.
 *
 * Ein Polster steht VOR dem Gesicht und damit im Licht: Es ist heller als
 * das Fell, nicht dunkler. Dazu eine feine Lichtkante oben – erst die
 * macht aus der Fläche eine Wölbung.
 */
.k-schnauze   { fill: #2e2733; }
.k-glanz-fein { fill: none; stroke: rgba(255,255,255,.13); stroke-width: 1.6;
                stroke-linecap: round; }
/*
 * DER MUND MUSS HELLER SEIN ALS DAS FELL.
 *
 * Er war in #0b090d gezeichnet – dunkler als das Fell (#17141a) und damit
 * unsichtbar. Auf einem schwarzen Tier ist eine dunkle Linie keine Linie.
 */
.k-mund       { fill: none; stroke: #4e4257; stroke-width: 1.7; stroke-linecap: round; }
/* Lichtkante am Rücken. Ohne sie ist ein schwarzes Tier eine Silhouette. */
.k-licht      { fill: none; stroke: rgba(255,255,255,.1); stroke-width: 3; stroke-linecap: round; }
/*
 * DIE KANTE ZWISCHEN KOPF UND KÖRPER.
 *
 * Zwei gleich schwarze Flächen übereinander ergeben eine. Bei der
 * schlafenden Katze lag der Kopf auf dem Rumpf, und man sah einen Klumpen
 * mit Augen darin – die Trennlinie gab es schlicht nicht.
 *
 * Kräftiger als die Lichtkante am Rücken: Die beschreibt eine Wölbung,
 * diese muss eine KANTE zeigen, und dafür reichen 10 % Weiß nicht.
 */
.k-kante      { fill: none; stroke: rgba(255,255,255,.12); stroke-width: 2.2;
                stroke-linecap: round; }
/*
 * DER RAND UM KOPF UND OHREN.
 *
 * Fünf Fassungen lang sollte die Silhouette die Trennung leisten – mal
 * ein Kreis auf dem Rumpf, mal eine Nackenkerbe im durchgehenden Umriss.
 * Beides scheitert am selben Umstand: Zwei gleich schwarze Flächen ergeben
 * eine, und eine Kerbe von drei Punkten verschwindet neben einer Form von
 * sechzig.
 *
 * Also das Mittel, das die Flachgrafik dafür hat: eine eigene, eine Spur
 * hellere Kontur. Sie trennt unabhängig davon, wo die Formen einander
 * überlappen – und wo nichts dahinterliegt, liest sie sich als Lichtkante
 * im Fell.
 */
.k-umriss     { fill: #17141a; stroke: #3a3142; stroke-width: 1.8;
                stroke-linejoin: round; }
/* Lidstrich über dem Auge – er macht den Blick. Ohne ihn starrt sie.
   Beim geschlossenen Auge liegt er über dem hellen Bogen und bleibt
   deshalb dunkel: Zwei helle Linien nebeneinander wären ein Doppelstrich,
   hell über dunkel ist ein Lid. */
.k-lid        { fill: none; stroke: #241e2a; stroke-width: 1.6; stroke-linecap: round; }
/* Brauen- und Büschelhaare: feiner als die Schnurrhaare. */
.k-brauen     { fill: none; stroke: #cfc6cd; stroke-width: .8; stroke-linecap: round; opacity: .55; }
/* Die Nase war #d9a3b4 – auf fast schwarzem Fell der hellste Fleck im
   ganzen Bild, heller als die Augen. Bei einer schwarzen Katze ist die
   Nase dunkles Leder mit einem Stich Rosé, nicht Rosa. */
.k-nase       { fill: #b9798c; }
/* Auch Caras Schatten folgt dem Lichtmodell: bräunlich, nicht
   neutralschwarz. Ein grauer Schatten auf einem warmen Tuch sieht aus
   wie ein Loch. */
.k-schatten   { fill: #3a281c; opacity: .17; }
/*
 * DAS GESCHLOSSENE AUGE – DERSELBE FEHLER WIE BEIM MUND.
 *
 * Es stand auf #0b090d, also DUNKLER als das Fell (#17141a). Auf einem
 * schwarzen Tier ist eine dunkle Linie keine Linie; man sah eine Ahnung
 * von Rille, und nur weil der Lidstrich darüber lag, erkannte man
 * überhaupt etwas.
 *
 * Jetzt heller als das Fell und etwas kräftiger – ein geschlossenes Auge
 * ist das einzige Merkmal im Gesicht einer schlafenden Katze, es muss
 * sitzen.
 */
.k-strich     { fill: none; stroke: #6b5c74; stroke-width: 2; stroke-linecap: round; }
.k-strich-fein{ fill: none; stroke: #3a3340; stroke-width: 1.1; stroke-linecap: round; }
.k-haare      { fill: none; stroke: #efe9ee; stroke-width: 1.05; stroke-linecap: round; opacity: .8; }
/* Der Schwanz ist ein Strich, keine Fläche: Er hat auf ganzer Länge
   dieselbe Dicke, und als Fläche müsste man beide Ränder einzeln führen. */
.k-schwanz    { fill: none; stroke: #17141a; stroke-width: 11; stroke-linecap: round; }
/* Der Schwanz der sitzenden Katze ist dünner – er liegt frei neben dem
   Körper, und dort wirkt dieselbe Dicke plump. */
.k-schwanz-duenn { fill: none; stroke: #17141a; stroke-width: 8.5; stroke-linecap: round; }
/* Die Fellkante unter dem Schwanz: etwas breiter, etwas heller. Sie trennt
   ihn vom Körper – zwei schwarze Flächen übereinander ergeben eine. */
.k-saum       { fill: none; stroke: #403747; stroke-width: 14.5; stroke-linecap: round; }
/* BERNSTEIN, NICHT GRÜN. So sieht eine schwarze Katze aus, wenn sie einen
   ansieht. Der Spalt steht senkrecht, der Glanzpunkt sitzt oben links –
   beides zusammen macht aus zwei Flecken einen Blick. */
/* GROSS UND RUND, nicht schmal und geschlitzt. Die Schlitzpupille war
   dreimal der Grund, warum Cara streng aussah – sie ist der Blick eines
   Raubtiers. Rund, zu zwei Dritteln gefuellt, mit zwei Glanzpunkten:
   daraus ist jedes freundliche Zeichentrickauge gebaut. */
.k-auge       { fill: #f7cf43; }
.k-pupille    { fill: #140f0a; }
.k-glanz      { fill: #ffffff; opacity: .95; }
.k-glanz--klein { opacity: .6; }
/* Ein Hauch Waerme auf den Backen. Bei .18 Deckung auf fast schwarzem
   Fell sieht man keine Farbe, nur dass das Gesicht eine Vorderseite hat. */
.k-wange      { fill: #c0718a; opacity: .18; }

/* Welche Haltung gezeigt wird, entscheidet die Klasse am Behälter. */
.katze--schlaeft .k-sitzt { display: none; }
.katze--wach     .k-rolle { display: none; }
.katze--wach     .k-zzz   { display: none; }

/* Das Atmen im Schlaf: kaum sichtbar, aber man merkt, dass sie lebt.
   Kein Hüpfen – eine schlafende Katze hebt und senkt sich, mehr nicht. */
.katze--schlaeft .k-rolle {
  transform-origin: 80px 116px;
  animation: katze-atmen 4.2s ease-in-out infinite;
}
@keyframes katze-atmen {
  0%, 100% { transform: scale(1, 1); }
  50%      { transform: scale(1.012, 1.03); }
}

.k-z {
  font-family: var(--serif);
  font-size: 13px;
  fill: var(--akzent);
  opacity: 0;
}
.k-z1 { animation: katze-z 3.4s ease-in-out infinite; }
.k-z2 { animation: katze-z 3.4s ease-in-out infinite 1.7s; font-size: 10px; }
@keyframes katze-z {
  0%        { opacity: 0;  transform: translate(0, 4px) scale(.8); }
  25%       { opacity: .75; }
  100%      { opacity: 0;  transform: translate(7px, -14px) scale(1.15); }
}

/* Beim Aufwachen streckt sie sich einmal. Eine Katze steht nicht auf,
   ohne sich zu strecken. */
.katze--wach .k-sitzt {
  transform-origin: 52px 138px;
  animation: katze-strecken .5s cubic-bezier(.34, 1.56, .64, 1);
}
@keyframes katze-strecken {
  0%   { transform: scaleY(.62) scaleX(1.12); }
  60%  { transform: scaleY(1.06) scaleX(.97); }
  100% { transform: scaleY(1) scaleX(1); }
}

/* Die Augen blinzeln, sobald sie wach ist – sonst starrt sie. */
.katze--wach .k-augen { animation: katze-blinzeln 8.4s infinite; }
@keyframes katze-blinzeln {
  /* Einmal kurz, kurz danach noch einmal - Katzen blinzeln selten
     einzeln. Die zweite Lidbewegung ist die kuerzere. */
  0%, 72%, 100% { transform: scaleY(1); }
  75%           { transform: scaleY(.08); }
  78%           { transform: scaleY(1); }
  82%           { transform: scaleY(.12); }
  85%           { transform: scaleY(1); }
}
.katze--wach .k-augen { transform-origin: 52px 46px; }

/*
 * SIE WEDELT.
 *
 * Eine sitzende Katze haelt alles still ausser dem Schwanz – daran
 * erkennt man, dass sie lebt und nicht aufgemalt ist. Gedreht wird um den
 * ANSATZ (70/134); dreht man um die Bildmitte, wandert der Koerper mit.
 * Langsam und weit: ein schneller kurzer Schlag heisst bei Katzen Aerger.
 */
/*
 * WACH MACHT SIE QUATSCH.
 *
 * Vorher wedelte der Schwanz gleichmaessig hin und her - eine Bewegung,
 * die man nach zwei Sekunden nicht mehr sieht, weil sie nichts erzaehlt.
 * Eine Katze macht das anders: lange nichts, dann ein Schlenker, zwei
 * kurze Schlaege, wieder Ruhe. Unregelmaessig ist lebendig.
 *
 * Deshalb ein langer Durchlauf (13 s) mit Pausen und Ausschlaegen statt
 * eines Pendels - und die SPITZE laeuft in eigenem Takt (3,7 s). Zwei
 * Takte, die nicht zusammenpassen, ergeben eine Bewegung, die sich
 * gefuehlt nie wiederholt.
 *
 * Gedreht wird jeweils am ANSATZ: der Schwanz unten am Koerper (74/132),
 * die Spitze an der Naht der beiden Pfade (99/83).
 */
.katze--wach .k-wedel {
  transform-origin: 74px 132px;
  animation: katze-wedeln 13s ease-in-out infinite;
}
@keyframes katze-wedeln {
  0%   { transform: rotate(-3deg); }
  10%  { transform: rotate(2.5deg); }
  18%  { transform: rotate(-2deg); }
  /* der Schlenker */
  24%  { transform: rotate(6deg); }
  28%  { transform: rotate(-9deg); }
  31%  { transform: rotate(5deg); }
  /* zwei kurze Schlaege */
  34%  { transform: rotate(-4deg); }
  37%  { transform: rotate(3deg); }
  /* Ruhe */
  50%  { transform: rotate(-1deg); }
  62%  { transform: rotate(7deg); }
  74%  { transform: rotate(-6deg); }
  /* der Peitschenschlag zum Schluss */
  84%  { transform: rotate(1deg); }
  88%  { transform: rotate(-12deg); }
  91%  { transform: rotate(8deg); }
  94%  { transform: rotate(-2deg); }
  100% { transform: rotate(-3deg); }
}

.katze--wach .k-wedel-spitze {
  transform-origin: 99px 83px;
  animation: katze-schwanzspitze 3.7s ease-in-out infinite;
}
@keyframes katze-schwanzspitze {
  0%, 100% { transform: rotate(-7deg); }
  30%      { transform: rotate(10deg); }
  55%      { transform: rotate(-12deg); }
  70%      { transform: rotate(14deg); }
}

/*
 * SIE ATMET AUCH IM WACHEN.
 *
 * Nur der Rumpf, nicht der ganze Koerper: Haette der Kopf mitgeatmet,
 * wuerde er mit jedem Zug um einen halben Punkt wandern, und genau das
 * sieht man sofort als Zittern.
 */
.katze--wach .k-rumpf {
  transform-origin: 52px 138px;
  animation: katze-wachatmen 3.6s ease-in-out infinite;
}
@keyframes katze-wachatmen {
  0%, 100% { transform: scale(1, 1); }
  50%      { transform: scale(1.012, 1.022); }
}

/*
 * UND SIE LEGT DEN KOPF SCHIEF.
 *
 * Alle paar Sekunden einmal, nie zweimal gleich lang. Das ist die
 * Bewegung, die aus einem Bild ein Gegenueber macht - man schaut
 * unwillkuerlich zurueck. Drehpunkt ist der Hals (52/72), nicht die
 * Bildmitte: sonst rutscht der ganze Kopf zur Seite statt sich zu neigen.
 */
.katze--wach .k-kopf {
  transform-origin: 52px 72px;
  animation: katze-kopf-schief 11s ease-in-out infinite;
}
@keyframes katze-kopf-schief {
  0%, 26%, 100% { transform: rotate(0deg); }
  32%           { transform: rotate(-5.5deg); }
  44%           { transform: rotate(-5deg); }
  50%           { transform: rotate(0deg); }
  70%           { transform: rotate(3.5deg); }
  78%           { transform: rotate(3deg); }
  84%           { transform: rotate(0deg); }
}

/* Im Schlaf wedelt sie nicht, aber der Schwanz zuckt alle paar Sekunden
   einmal – das traeumt sie. Der Drehpunkt ist der Ansatz oben rechts. */
.katze--schlaeft .k-wedel-schlaf {
  transform-origin: 116px 112px;
  animation: katze-zucken 7.5s ease-in-out infinite;
}
@keyframes katze-zucken {
  0%, 78%, 100% { transform: rotate(0); }
  84%           { transform: rotate(1.6deg); }
  90%           { transform: rotate(-.8deg); }
}

/* Ohrenzucken. Aussen- und Innenseite tragen dieselbe Klasse und dieselbe
   Dauer, sonst laeuft das halbe Ohr allein los. Der Drehpunkt sitzt am
   Ohransatz, nicht an der Spitze. */
.katze--wach .k-ohr-l {
  transform-origin: 37px 28px;
  animation: katze-ohr-l 7.2s ease-in-out infinite;
}
.katze--wach .k-ohr-r {
  transform-origin: 67px 28px;
  animation: katze-ohr-r 7.2s ease-in-out infinite 2.9s;
}
@keyframes katze-ohr-l {
  0%, 88%, 100% { transform: rotate(0); }
  91%           { transform: rotate(-8deg); }
  94%           { transform: rotate(2deg); }
}
@keyframes katze-ohr-r {
  0%, 88%, 100% { transform: rotate(0); }
  91%           { transform: rotate(8deg); }
  94%           { transform: rotate(-2deg); }
}

/* ------------------------------------------------------ Die Sprechblase */
.katze__blase {
  position: fixed;
  left: 0;
  top: 0;
  line-height: 1.45;
  max-width: min(24rem, calc(100vw - 1.2rem));
  padding: .9rem 1.1rem .8rem .95rem;
  background: var(--flaeche);
  border: 1px solid var(--linie);
  border-radius: 10px 10px 2px 10px;
  box-shadow: 0 6px 20px rgba(35, 25, 31, .16);
  animation: katze-blase .22s ease-out;
}
@keyframes katze-blase {
  from { opacity: 0; transform: translateY(6px) scale(.97); }
  to   { opacity: 1; transform: none; }
}

/* Der Zipfel zeigt auf die Katze. Zwei Dreiecke übereinander: das untere
   in der Linienfarbe, das obere in der Fläche – so bekommt der Zipfel
   denselben Rand wie die Blase. */
/*
 * DER ZIPFEL ZEIGT IMMER AUF DIE KATZE.
 *
 * Vier Lagen, die katze.js setzt: Blase links von ihr (Zipfel rechts),
 * rechts von ihr (Zipfel links), darueber (Zipfel unten) oder darunter
 * (Zipfel oben). Jede Lage ist zwei Dreiecke uebereinander - das untere
 * in der Linienfarbe, das obere in der Flaeche; so bekommt der Zipfel
 * denselben Rand wie die Blase.
 *
 * JEDE LAGE SETZT ALLE VIER KANTEN. Vorher setzte nur die Vorgabe
 * border-right: 0, und die anderen Lagen erbten das: Aus dem Dreieck
 * wurde ein halbes. Gemessen am Zipfel nach oben: 9px 0 0 9px statt
 * 9px 9px 0 9px.
 */
.katze__blase::before,
.katze__blase::after {
  content: "";
  position: absolute;
}

/* Vorgabe: Blase links von der Katze, Zipfel rechts unten. */
.katze__blase::before,
.katze__blase::after {
  right: -9px;
  bottom: var(--zipfel-y, 14px);
  border-width: 9px 0 9px 9px;
  border-style: solid;
  border-color: transparent transparent transparent var(--linie);
}
.katze__blase::after {
  right: -7.5px;
  border-left-color: var(--flaeche);
}

.katze__blase--rechts { border-radius: 10px 10px 10px 2px; }
.katze__blase--rechts::before,
.katze__blase--rechts::after {
  right: auto;
  left: -9px;
  bottom: var(--zipfel-y, 14px);
  border-width: 9px 9px 9px 0;
  border-color: transparent var(--linie) transparent transparent;
}
.katze__blase--rechts::after {
  left: -7.5px;
  border-right-color: var(--flaeche);
}

/* Blase ueber der Katze: Zipfel unten, zeigt nach unten. */
.katze__blase--oben { border-radius: 10px 10px 10px 2px; }
.katze__blase--oben::before,
.katze__blase--oben::after {
  right: auto;
  bottom: -9px;
  left: var(--zipfel-x, 22px);
  border-width: 9px 9px 0 9px;
  border-color: var(--linie) transparent transparent transparent;
}
.katze__blase--oben::after {
  bottom: -7.5px;
  border-top-color: var(--flaeche);
}

/* Blase unter der Katze: Zipfel oben, zeigt nach oben. */
.katze__blase--unten { border-radius: 2px 10px 10px 10px; }
.katze__blase--unten::before,
.katze__blase--unten::after {
  right: auto;
  bottom: auto;
  top: -9px;
  left: var(--zipfel-x, 22px);
  border-width: 0 9px 9px 9px;
  border-color: transparent transparent var(--linie) transparent;
}
.katze__blase--unten::after {
  top: -7.5px;
  border-bottom-color: var(--flaeche);
}

.katze__text {
  margin: 0 0 .6rem;
  font-size: .92rem;
  line-height: 1.45;
  color: var(--text);
}

.katze__knoepfe { display: flex; flex-wrap: wrap; gap: .4rem .9rem; }

.katze__weiter, .katze__schlaf {
  border: 0;
  background: none;
  padding: .25rem 0;
  font-family: var(--mono);
  font-size: .7rem;
  letter-spacing: .06em;
  color: var(--akzent-zwei);
  cursor: pointer;
  text-decoration: underline;
  text-decoration-style: dotted;
  text-underline-offset: 3px;
}
.katze__weiter:hover, .katze__schlaf:hover { color: var(--akzent); }

/* Es gibt KEIN Kreuz zum Wegschicken – nur „Schlaf weiter". Cara gehört
   zur Seite und ist keine Werbung, die man wegklickt. Hier standen die
   Regeln für diesen Knopf; sie sind mit ihm entfallen, und die Blase
   braucht rechts keinen Platz mehr dafür. */

/* Auf dem Telefon ist kein Platz für Katze UND Blase nebeneinander –
   die Blase stellt sich darüber. */
/* Platz für die schlafende Katze: Auf dem Telefon saß sie sonst auf den
   Verweisen der Fußzeile. Sie ist fest in der Ecke – also muss die
   Fußzeile ihr unten Platz lassen, nicht umgekehrt. */
@media (max-width: 560px) {
  /*
   * PLATZ FUER DIE KATZE - ABER WENIGER.
   *
   * Sechs rem waren gedacht, damit die schlafende Katze nicht auf den
   * Verweisen sitzt. Das waren 96 Punkte Leere auf einem Telefon. Seit
   * sie sich verschieben laesst, ist es kein Zwang mehr, ihr die ganze
   * Zeile freizuhalten: 3,4 rem halten sie von den Verweisen fort, den
   * Rest regelt der Daumen.
   */
  .fuss { padding-bottom: 3.4rem; }

  /*
   * DAS KNOTENBAND WIRD AUF DEM TELEFON NIEDRIGER.
   *
   * Es skaliert mit (background-size: auto 100%), also kostet es auf
   * jedem Geraet dieselben 134 Punkte - auf 390 Punkten Breite ist das
   * ein Drittel des Fusses. 96 traegt das Muster noch; darunter wird aus
   * dem Geflecht ein Streifen.
   */
  .fuss { --band-hoehe: 96px; }
}

@media (max-width: 560px) {
  /* Die feste Telefonregel (Blase immer oben) ist entfallen: Wohin die
     Blase passt, rechnet katze.js aus - auf dem Telefon kommt dabei
     meistens "darüber" heraus, aber eben nicht immer. */
  .katze__blase { max-width: calc(100vw - 1.2rem); }
}

/* Wer Bewegung abgestellt hat, bekommt eine ruhende Katze – aber eine
   Katze. Sie ist Bedienung, keine Verzierung; sie verschwindet nicht. */
@media (prefers-reduced-motion: reduce) {
  /*
   * DIE SCHLAFENDEN Z FEHLTEN HIER.
   *
   * Nachgezählt mit einem Skript über alle animierten Regeln in
   * haut.css: Von siebzehn waren drei ungeschützt – die beiden
   * aufsteigenden Z und die Sprechblase. Ausgerechnet die Z sind der
   * schlimmste Fall: Sie laufen dauerhaft, in einer Ecke, im
   * Augenwinkel. Genau davor schützt die Einstellung.
   */
  .k-z1, .k-z2,
  .katze__blase,
  .katze--schlaeft .k-rolle,
  .katze--schlaeft .k-wedel-schlaf,
  .katze--wach .k-wedel,
  .katze--wach .k-wedel-spitze,
  .katze--wach .k-rumpf,
  .katze--wach .k-kopf,
  .katze--wach .k-ohr-l,
  .katze--wach .k-ohr-r,
  .katze--wach .k-sitzt,
  .katze--wach .k-augen,
  .k-z { animation: none; }
  .k-z { opacity: .5; }
}

/* Gedruckt wird ohne Katze. */
@media print { .katze { display: none; } }

/* Kleine Zeichen in Knöpfen: so hoch wie die Schrift, in deren Farbe,
   mit einem Hauch Abstand. currentColor heißt, dass sie beim Draufzeigen
   mitgehen, ohne dass man eine zweite Regel braucht. */
.knopf__zeichen {
  width: 1.05em;
  height: 1.05em;
  vertical-align: -.17em;
  margin-right: .45em;
}

/* ===========================================================================
 * BEWEGUNG BEIM LESEN
 * ===========================================================================
 *
 * Drei Dinge, alle in CSS, KEIN JavaScript:
 *
 *   1. Eine Steppnaht oben am Bildschirmrand zeigt, wie weit man ist.
 *   2. Karten und Bilder tauchen sanft auf, wenn sie ins Bild kommen.
 *   3. Beim Draufzeigen hebt sich eine Karte und bekommt eine Naht.
 *
 * WARUM OHNE SKRIPT: Das Übliche wäre ein IntersectionObserver, der
 * Klassen setzt. Der hat zwei Nachteile, die man erst spät merkt: Ohne
 * Skript bleibt alles unsichtbar, was auf das Erscheinen wartet – und wer
 * mit abgeschaltetem JavaScript liest oder wessen Skript beim Laden
 * hängenbleibt, sieht eine leere Seite. Und er rechnet bei jedem
 * Scrollschritt mit.
 *
 * Scroll-gesteuerte Animationen lösen beides: Sie laufen im Zeichenwerk
 * des Browsers, nicht im Skript, und wo der Browser sie nicht kennt,
 * passiert schlicht NICHTS – der Inhalt steht da, wie er soll. Deshalb
 * steht alles in einem @supports: Ohne Unterstützung ist die Seite
 * vollständig und ruhig, mit Unterstützung lebendig.
 */
@supports (animation-timeline: view()) {
  @media (prefers-reduced-motion: no-preference) {

    /* ------------------------------------------------- Das Lesemaßband
     *
     * Hier lag eine gestrichelte Steppnaht, drei Punkte hoch. Gut gemeint,
     * aber im Konzept heißt die Antwort auf „Fortschritt" MASSBAND – und
     * eine Reihe Striche ist eben doch nur eine Fortschrittsleiste mit
     * Lücken.
     *
     * Jetzt ein Maßband, das über den oberen Rand des Tuchs gezogen wird:
     * warmes Bandpapier, Teilstriche in zwei Längen, elf Punkte hoch.
     * Unter elf sieht man die Striche nicht; darüber wird aus der Anzeige
     * ein Balken.
     *
     * Es ist so breit wie das TUCH, nicht wie das Fenster – es gehört zum
     * Tisch, nicht zum Bildschirm.
     *
     * WICHTIG: aufgedeckt wird mit clip-path, nicht mit scale. Ein scale
     * auf der x-Achse zieht die Teilstriche mit in die Länge; am Anfang
     * wären es Striche, am Ende Balken.
     */
    /*
     * DÜNNER UND LEISER (21.10.2026).
     *
     * Elf Punkte hohes Bandpapier mit Schatten war oben am Bildschirm
     * ein zweiter Kopf: Es nahm Platz und zog den Blick dorthin, wo
     * nichts zu lesen ist. Eine Fortschrittsanzeige soll man bemerken,
     * wenn man sie sucht - sonst nicht.
     *
     * Jetzt vier Punkte, kein Schatten, kein Bandpapier: nur die
     * Teilstriche, leise im Tintenton. Das Maßband bleibt erkennbar
     * (zwei Strichlängen, dieselbe Teilung wie die Maßbänder im Blatt),
     * ist aber eine Linie und keine Leiste.
     */
    body::before {
      content: "";
      position: fixed;
      inset: 0 0 auto 0;
      margin-inline: auto;
      height: 4px;
      width: min(100%, 1160px);
      z-index: 60;
      background-color: color-mix(in srgb, var(--akzent) 10%, transparent);
      background-image:
        repeating-linear-gradient(90deg, color-mix(in srgb, var(--akzent) 42%, transparent) 0 1px, transparent 1px 12.5px),
        repeating-linear-gradient(90deg, color-mix(in srgb, var(--akzent) 70%, transparent) 0 1.5px, transparent 1.5px 62.5px);
      background-size: 100% 50%, 100% 100%;
      background-repeat: repeat-x;
      background-position: 0 100%, 0 100%;
      clip-path: inset(0 100% 0 0);
      animation: lesemass linear;
      animation-timeline: scroll(root block);
    }

    /* ------------------------------------------------- Sanft auftauchen
       steht seit dem 22.10.2026 NICHT mehr hier, sondern unten außerhalb
       dieses @supports – siehe „Einmal auftauchen“. */

  }
}

@keyframes lesemass {
  from { clip-path: inset(0 100% 0 0); }
  to   { clip-path: inset(0 0 0 0); }
}

/* ------------------------------------------------- Einmal auftauchen
 *
 * Karten, Polaroids, Schritte und Downloads tauchen beim ersten
 * Hineinscrollen sanft auf – EINMAL, und danach bleiben sie.
 *
 * Bis zum 22.10.2026 hing das an der Scrollposition (animation-timeline:
 * view()). In Safari blieb der Zeitstrahl dabei hängen: Wer hinunter- und
 * wieder hinaufscrollte, sah blasse Karten und Bilder, bis die Maus darüber
 * fuhr; im Dublin-Beitrag mit 69 Bildern fehlte eine ganze Reihe. Ein
 * Effekt, der Inhalt verschluckt, ist schlechter als keiner.
 *
 * Jetzt setzt js/auftauchen.js die Klasse „auftauchen“ an <html> und
 * meldet jedes Element mit „ist-da“, sobald es zum ersten Mal ins Bild
 * kommt – danach wird es nicht mehr beobachtet. Ohne Skript fehlt die
 * Klasse an <html>, und alles steht von Anfang an da.
 */
@media (prefers-reduced-motion: no-preference) {
  .auftauchen :is(.karte, .galerie li, .album__eintrag, .beitrag__bildrahmen, .downloads li, .schritt):not(.ist-da) {
    opacity: 0;
    transform: translateY(14px);
  }
  /* Der Übergang nur WÄHREND des Auftauchens – danach gilt wieder der
     eigene der Karte (das Anheben beim Draufzeigen bleibt flink). */
  .auftauchen :is(.karte, .galerie li, .album__eintrag, .beitrag__bildrahmen, .downloads li, .schritt).taucht-auf {
    transition: opacity .5s ease-out, transform .5s ease-out;
  }
}

/* ------------------------------------------------- Beim Draufzeigen
   Eine Karte ist ein Stück Papier auf dem Tisch. Wer mit dem Finger
   darauf zeigt, hebt es ein wenig an – und die Steppnaht ringsum wird
   kräftiger, als hätte jemand nachgenäht.

   Das gilt NUR für Zeigegeräte: Auf dem Telefon gibt es kein
   „Draufzeigen", dort bliebe der Zustand nach dem Antippen kleben. */
@media (hover: hover) {
  .karte {
    transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
  }
  .karte:hover {
    transform: translateY(-3px);
    box-shadow: 0 10px 24px rgba(35, 25, 31, .14);
    border-color: color-mix(in srgb, var(--akzent) 45%, transparent);
  }
  .karte:hover .karte__bild { filter: saturate(1.06); }

  /* Galeriebilder: Der Ausschnitt wandert ein wenig näher heran, der
     Rahmen bleibt stehen. Das Bild wächst IM Rahmen, nicht über ihn
     hinaus – sonst springt das Raster. */
  .galerie a { overflow: hidden; display: block; }
  .galerie img { transition: transform .35s ease; }
  .galerie a:hover img { transform: scale(1.05); }
}

/* ===========================================================================
 * DEUTSCHE HANDSCHRIFT: KREUZSTICH
 * ===========================================================================
 *
 * Die Seite ist irisch-deutsch. Das Irische steht schon da: das keltische
 * Knotenband über der Fußzeile, das Tartan unter der Rubrikleiste. Dem
 * Deutschen fehlte sein Gegenstück.
 *
 * Es ist der Kreuzstich. Nicht als Folklore, sondern weil beides
 * HANDARBEIT ist – das ist die Klammer, die diesen Blog trägt. Und die
 * beiden vertragen sich, weil sie sich klar unterscheiden:
 *
 *     Irisch   rund, verschlungen, ohne Anfang und Ende
 *     Deutsch  eckig, gezählt, Kästchen für Kästchen
 *
 * Erzeugt von werkzeuge/kreuzstich.js. Die Bänder sind kachelbar; die
 * Naht ist konstruktiv dicht, weil kein Stich sein Kästchen verlässt.
 */

/* Die Überschrift eines Bausteins – „ZUTATEN", „ZUBEREITUNG", „BILDER".
   Darunter lag ein zwei Punkte dicker Strich. Jetzt liegt dort eine
   gezählte Rautenbordüre: derselbe Platz, dieselbe Aufgabe, aber sie
   sagt, worum es auf dieser Seite geht. */
.baustein__titel {
  border-bottom: 0;
  padding-bottom: 40px;
  background-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2232%22%20height%3D%2236%22%20viewBox%3D%220%200%2032%2036%22%3E%3Cg%20opacity%3D%220.7%22%3E%3Cline%20x1%3D%2216.7%22%20y1%3D%220.6%22%20x2%3D%2219.4%22%20y2%3D%223.3%22%20stroke%3D%22%234d0f30%22%20stroke-width%3D%220.96%22%20stroke-linecap%3D%22round%22%20opacity%3D%220.88%22%2F%3E%3Cline%20x1%3D%2219.2%22%20y1%3D%220.8%22%20x2%3D%2216.7%22%20y2%3D%223.4%22%20stroke%3D%22%2374445e%22%20stroke-width%3D%220.96%22%20stroke-linecap%3D%22round%22%20opacity%3D%220.88%22%2F%3E%3Cline%20x1%3D%2212.7%22%20y1%3D%224.8%22%20x2%3D%2215.2%22%20y2%3D%227.3%22%20stroke%3D%22%234d0f30%22%20stroke-width%3D%220.96%22%20stroke-linecap%3D%22round%22%20opacity%3D%220.99%22%2F%3E%3Cline%20x1%3D%2215.4%22%20y1%3D%224.6%22%20x2%3D%2212.7%22%20y2%3D%227.2%22%20stroke%3D%22%2374445e%22%20stroke-width%3D%220.96%22%20stroke-linecap%3D%22round%22%20opacity%3D%220.99%22%2F%3E%3Cline%20x1%3D%2220.6%22%20y1%3D%224.6%22%20x2%3D%2223.3%22%20y2%3D%227.2%22%20stroke%3D%22%234d0f30%22%20stroke-width%3D%220.96%22%20stroke-linecap%3D%22round%22%20opacity%3D%220.94%22%2F%3E%3Cline%20x1%3D%2223.2%22%20y1%3D%224.7%22%20x2%3D%2220.6%22%20y2%3D%227.4%22%20stroke%3D%22%2374445e%22%20stroke-width%3D%220.96%22%20stroke-linecap%3D%22round%22%20opacity%3D%220.94%22%2F%3E%3Cline%20x1%3D%228.6%22%20y1%3D%228.6%22%20x2%3D%2211.4%22%20y2%3D%2211.3%22%20stroke%3D%22%234d0f30%22%20stroke-width%3D%220.96%22%20stroke-linecap%3D%22round%22%20opacity%3D%220.90%22%2F%3E%3Cline%20x1%3D%2211.2%22%20y1%3D%228.8%22%20x2%3D%228.6%22%20y2%3D%2211.4%22%20stroke%3D%22%2374445e%22%20stroke-width%3D%220.96%22%20stroke-linecap%3D%22round%22%20opacity%3D%220.90%22%2F%3E%3Cline%20x1%3D%2224.6%22%20y1%3D%228.7%22%20x2%3D%2227.2%22%20y2%3D%2211.3%22%20stroke%3D%22%234d0f30%22%20stroke-width%3D%220.96%22%20stroke-linecap%3D%22round%22%20opacity%3D%221.00%22%2F%3E%3Cline%20x1%3D%2227.4%22%20y1%3D%228.6%22%20x2%3D%2224.6%22%20y2%3D%2211.3%22%20stroke%3D%22%2374445e%22%20stroke-width%3D%220.96%22%20stroke-linecap%3D%22round%22%20opacity%3D%221.00%22%2F%3E%3Cline%20x1%3D%224.8%22%20y1%3D%2212.8%22%20x2%3D%227.3%22%20y2%3D%2215.4%22%20stroke%3D%22%234d0f30%22%20stroke-width%3D%220.96%22%20stroke-linecap%3D%22round%22%20opacity%3D%220.97%22%2F%3E%3Cline%20x1%3D%227.4%22%20y1%3D%2212.6%22%20x2%3D%224.7%22%20y2%3D%2215.2%22%20stroke%3D%22%2374445e%22%20stroke-width%3D%220.96%22%20stroke-linecap%3D%22round%22%20opacity%3D%220.97%22%2F%3E%3Cline%20x1%3D%2228.8%22%20y1%3D%2212.8%22%20x2%3D%2231.3%22%20y2%3D%2215.4%22%20stroke%3D%22%234d0f30%22%20stroke-width%3D%220.96%22%20stroke-linecap%3D%22round%22%20opacity%3D%220.97%22%2F%3E%3Cline%20x1%3D%2231.4%22%20y1%3D%2212.6%22%20x2%3D%2228.8%22%20y2%3D%2215.2%22%20stroke%3D%22%2374445e%22%20stroke-width%3D%220.96%22%20stroke-linecap%3D%22round%22%20opacity%3D%220.97%22%2F%3E%3Cline%20x1%3D%220.6%22%20y1%3D%2216.6%22%20x2%3D%223.3%22%20y2%3D%2219.2%22%20stroke%3D%22%234d0f30%22%20stroke-width%3D%220.96%22%20stroke-linecap%3D%22round%22%20opacity%3D%220.92%22%2F%3E%3Cline%20x1%3D%223.2%22%20y1%3D%2216.7%22%20x2%3D%220.6%22%20y2%3D%2219.4%22%20stroke%3D%22%2374445e%22%20stroke-width%3D%220.96%22%20stroke-linecap%3D%22round%22%20opacity%3D%220.92%22%2F%3E%3Cline%20x1%3D%224.6%22%20y1%3D%2220.7%22%20x2%3D%227.2%22%20y2%3D%2223.2%22%20stroke%3D%22%234d0f30%22%20stroke-width%3D%220.96%22%20stroke-linecap%3D%22round%22%20opacity%3D%220.99%22%2F%3E%3Cline%20x1%3D%227.4%22%20y1%3D%2220.6%22%20x2%3D%224.6%22%20y2%3D%2223.3%22%20stroke%3D%22%2374445e%22%20stroke-width%3D%220.96%22%20stroke-linecap%3D%22round%22%20opacity%3D%220.99%22%2F%3E%3Cline%20x1%3D%2228.6%22%20y1%3D%2220.7%22%20x2%3D%2231.2%22%20y2%3D%2223.2%22%20stroke%3D%22%234d0f30%22%20stroke-width%3D%220.96%22%20stroke-linecap%3D%22round%22%20opacity%3D%221.00%22%2F%3E%3Cline%20x1%3D%2231.4%22%20y1%3D%2220.6%22%20x2%3D%2228.6%22%20y2%3D%2223.3%22%20stroke%3D%22%2374445e%22%20stroke-width%3D%220.96%22%20stroke-linecap%3D%22round%22%20opacity%3D%221.00%22%2F%3E%3Cline%20x1%3D%228.8%22%20y1%3D%2224.8%22%20x2%3D%2211.3%22%20y2%3D%2227.4%22%20stroke%3D%22%234d0f30%22%20stroke-width%3D%220.96%22%20stroke-linecap%3D%22round%22%20opacity%3D%220.98%22%2F%3E%3Cline%20x1%3D%2211.4%22%20y1%3D%2224.6%22%20x2%3D%228.7%22%20y2%3D%2227.2%22%20stroke%3D%22%2374445e%22%20stroke-width%3D%220.96%22%20stroke-linecap%3D%22round%22%20opacity%3D%220.98%22%2F%3E%3Cline%20x1%3D%2224.7%22%20y1%3D%2224.6%22%20x2%3D%2227.4%22%20y2%3D%2227.4%22%20stroke%3D%22%234d0f30%22%20stroke-width%3D%220.96%22%20stroke-linecap%3D%22round%22%20opacity%3D%220.88%22%2F%3E%3Cline%20x1%3D%2227.2%22%20y1%3D%2224.8%22%20x2%3D%2224.7%22%20y2%3D%2227.4%22%20stroke%3D%22%2374445e%22%20stroke-width%3D%220.96%22%20stroke-linecap%3D%22round%22%20opacity%3D%220.88%22%2F%3E%3Cline%20x1%3D%2212.8%22%20y1%3D%2228.7%22%20x2%3D%2215.4%22%20y2%3D%2231.4%22%20stroke%3D%22%234d0f30%22%20stroke-width%3D%220.96%22%20stroke-linecap%3D%22round%22%20opacity%3D%220.90%22%2F%3E%3Cline%20x1%3D%2215.3%22%20y1%3D%2228.8%22%20x2%3D%2212.8%22%20y2%3D%2231.3%22%20stroke%3D%22%2374445e%22%20stroke-width%3D%220.96%22%20stroke-linecap%3D%22round%22%20opacity%3D%220.90%22%2F%3E%3Cline%20x1%3D%2220.7%22%20y1%3D%2228.8%22%20x2%3D%2223.2%22%20y2%3D%2231.3%22%20stroke%3D%22%234d0f30%22%20stroke-width%3D%220.96%22%20stroke-linecap%3D%22round%22%20opacity%3D%221.00%22%2F%3E%3Cline%20x1%3D%2223.4%22%20y1%3D%2228.6%22%20x2%3D%2220.7%22%20y2%3D%2231.2%22%20stroke%3D%22%2374445e%22%20stroke-width%3D%220.96%22%20stroke-linecap%3D%22round%22%20opacity%3D%221.00%22%2F%3E%3Cline%20x1%3D%2216.6%22%20y1%3D%2232.6%22%20x2%3D%2219.4%22%20y2%3D%2235.3%22%20stroke%3D%22%234d0f30%22%20stroke-width%3D%220.96%22%20stroke-linecap%3D%22round%22%20opacity%3D%220.89%22%2F%3E%3Cline%20x1%3D%2219.2%22%20y1%3D%2232.8%22%20x2%3D%2216.7%22%20y2%3D%2235.4%22%20stroke%3D%22%2374445e%22%20stroke-width%3D%220.96%22%20stroke-linecap%3D%22round%22%20opacity%3D%220.89%22%2F%3E%3Cline%20x1%3D%2216.7%22%20y1%3D%2216.8%22%20x2%3D%2219.2%22%20y2%3D%2219.3%22%20stroke%3D%22%23a8632a%22%20stroke-width%3D%220.96%22%20stroke-linecap%3D%22round%22%20opacity%3D%221.00%22%2F%3E%3Cline%20x1%3D%2219.4%22%20y1%3D%2216.6%22%20x2%3D%2216.7%22%20y2%3D%2219.2%22%20stroke%3D%22%23bb8559%22%20stroke-width%3D%220.96%22%20stroke-linecap%3D%22round%22%20opacity%3D%221.00%22%2F%3E%3Cline%20x1%3D%2216.6%22%20y1%3D%2212.6%22%20x2%3D%2219.3%22%20y2%3D%2215.2%22%20stroke%3D%22%23a8632a%22%20stroke-width%3D%220.96%22%20stroke-linecap%3D%22round%22%20opacity%3D%220.91%22%2F%3E%3Cline%20x1%3D%2219.2%22%20y1%3D%2212.7%22%20x2%3D%2216.6%22%20y2%3D%2215.4%22%20stroke%3D%22%23bb8559%22%20stroke-width%3D%220.96%22%20stroke-linecap%3D%22round%22%20opacity%3D%220.91%22%2F%3E%3Cline%20x1%3D%2216.7%22%20y1%3D%2220.6%22%20x2%3D%2219.4%22%20y2%3D%2223.4%22%20stroke%3D%22%23a8632a%22%20stroke-width%3D%220.96%22%20stroke-linecap%3D%22round%22%20opacity%3D%220.88%22%2F%3E%3Cline%20x1%3D%2219.3%22%20y1%3D%2220.8%22%20x2%3D%2216.8%22%20y2%3D%2223.3%22%20stroke%3D%22%23bb8559%22%20stroke-width%3D%220.96%22%20stroke-linecap%3D%22round%22%20opacity%3D%220.88%22%2F%3E%3Cline%20x1%3D%2212.8%22%20y1%3D%2216.8%22%20x2%3D%2215.3%22%20y2%3D%2219.4%22%20stroke%3D%22%23a8632a%22%20stroke-width%3D%220.96%22%20stroke-linecap%3D%22round%22%20opacity%3D%220.95%22%2F%3E%3Cline%20x1%3D%2215.4%22%20y1%3D%2216.7%22%20x2%3D%2212.8%22%20y2%3D%2219.2%22%20stroke%3D%22%23bb8559%22%20stroke-width%3D%220.96%22%20stroke-linecap%3D%22round%22%20opacity%3D%220.95%22%2F%3E%3Cline%20x1%3D%2220.6%22%20y1%3D%2216.7%22%20x2%3D%2223.2%22%20y2%3D%2219.2%22%20stroke%3D%22%23a8632a%22%20stroke-width%3D%220.96%22%20stroke-linecap%3D%22round%22%20opacity%3D%220.99%22%2F%3E%3Cline%20x1%3D%2223.3%22%20y1%3D%2216.6%22%20x2%3D%2220.6%22%20y2%3D%2219.3%22%20stroke%3D%22%23bb8559%22%20stroke-width%3D%220.96%22%20stroke-linecap%3D%22round%22%20opacity%3D%220.99%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E");
  background-repeat: repeat-x;
  background-position: left bottom;
  background-size: auto 36px;
}

/* Der Seitentitel bekommt dasselbe, nur zurückhaltender: eine Welle. */
.seitentitel::after {
  content: "";
  display: block;
  height: 24px;
  margin-top: .55rem;
  max-width: 14rem;
  background-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2248%22%20height%3D%2224%22%20viewBox%3D%220%200%2048%2024%22%3E%3Cg%20opacity%3D%221%22%3E%3Cline%20x1%3D%220.6%22%20y1%3D%228.7%22%20x2%3D%223.2%22%20y2%3D%2211.2%22%20stroke%3D%22%234d0f30%22%20stroke-width%3D%220.96%22%20stroke-linecap%3D%22round%22%20opacity%3D%221.00%22%2F%3E%3Cline%20x1%3D%223.4%22%20y1%3D%228.6%22%20x2%3D%220.6%22%20y2%3D%2211.3%22%20stroke%3D%22%2374445e%22%20stroke-width%3D%220.96%22%20stroke-linecap%3D%22round%22%20opacity%3D%221.00%22%2F%3E%3Cline%20x1%3D%220.8%22%20y1%3D%2212.7%22%20x2%3D%223.4%22%20y2%3D%2215.4%22%20stroke%3D%22%234d0f30%22%20stroke-width%3D%220.96%22%20stroke-linecap%3D%22round%22%20opacity%3D%220.91%22%2F%3E%3Cline%20x1%3D%223.4%22%20y1%3D%2212.8%22%20x2%3D%220.8%22%20y2%3D%2215.3%22%20stroke%3D%22%2374445e%22%20stroke-width%3D%220.96%22%20stroke-linecap%3D%22round%22%20opacity%3D%220.91%22%2F%3E%3Cline%20x1%3D%224.8%22%20y1%3D%224.7%22%20x2%3D%227.4%22%20y2%3D%227.4%22%20stroke%3D%22%234d0f30%22%20stroke-width%3D%220.96%22%20stroke-linecap%3D%22round%22%20opacity%3D%220.89%22%2F%3E%3Cline%20x1%3D%227.3%22%20y1%3D%224.8%22%20x2%3D%224.8%22%20y2%3D%227.3%22%20stroke%3D%22%2374445e%22%20stroke-width%3D%220.96%22%20stroke-linecap%3D%22round%22%20opacity%3D%220.89%22%2F%3E%3Cline%20x1%3D%224.6%22%20y1%3D%228.6%22%20x2%3D%227.3%22%20y2%3D%2211.2%22%20stroke%3D%22%234d0f30%22%20stroke-width%3D%220.96%22%20stroke-linecap%3D%22round%22%20opacity%3D%220.95%22%2F%3E%3Cline%20x1%3D%227.2%22%20y1%3D%228.6%22%20x2%3D%224.6%22%20y2%3D%2211.4%22%20stroke%3D%22%2374445e%22%20stroke-width%3D%220.96%22%20stroke-linecap%3D%22round%22%20opacity%3D%220.95%22%2F%3E%3Cline%20x1%3D%228.6%22%20y1%3D%220.7%22%20x2%3D%2211.2%22%20y2%3D%223.2%22%20stroke%3D%22%234d0f30%22%20stroke-width%3D%220.96%22%20stroke-linecap%3D%22round%22%20opacity%3D%220.98%22%2F%3E%3Cline%20x1%3D%2211.3%22%20y1%3D%220.6%22%20x2%3D%228.6%22%20y2%3D%223.4%22%20stroke%3D%22%2374445e%22%20stroke-width%3D%220.96%22%20stroke-linecap%3D%22round%22%20opacity%3D%220.98%22%2F%3E%3Cline%20x1%3D%228.8%22%20y1%3D%224.8%22%20x2%3D%2211.3%22%20y2%3D%227.4%22%20stroke%3D%22%234d0f30%22%20stroke-width%3D%220.96%22%20stroke-linecap%3D%22round%22%20opacity%3D%220.95%22%2F%3E%3Cline%20x1%3D%2211.4%22%20y1%3D%224.7%22%20x2%3D%228.8%22%20y2%3D%227.2%22%20stroke%3D%22%2374445e%22%20stroke-width%3D%220.96%22%20stroke-linecap%3D%22round%22%20opacity%3D%220.95%22%2F%3E%3Cline%20x1%3D%2212.6%22%20y1%3D%220.6%22%20x2%3D%2215.3%22%20y2%3D%223.2%22%20stroke%3D%22%234d0f30%22%20stroke-width%3D%220.96%22%20stroke-linecap%3D%22round%22%20opacity%3D%220.92%22%2F%3E%3Cline%20x1%3D%2215.2%22%20y1%3D%220.7%22%20x2%3D%2212.6%22%20y2%3D%223.4%22%20stroke%3D%22%2374445e%22%20stroke-width%3D%220.96%22%20stroke-linecap%3D%22round%22%20opacity%3D%220.92%22%2F%3E%3Cline%20x1%3D%2212.7%22%20y1%3D%224.8%22%20x2%3D%2215.2%22%20y2%3D%227.3%22%20stroke%3D%22%234d0f30%22%20stroke-width%3D%220.96%22%20stroke-linecap%3D%22round%22%20opacity%3D%220.99%22%2F%3E%3Cline%20x1%3D%2215.4%22%20y1%3D%224.6%22%20x2%3D%2212.7%22%20y2%3D%227.2%22%20stroke%3D%22%2374445e%22%20stroke-width%3D%220.96%22%20stroke-linecap%3D%22round%22%20opacity%3D%220.99%22%2F%3E%3Cline%20x1%3D%2216.7%22%20y1%3D%220.6%22%20x2%3D%2219.4%22%20y2%3D%223.3%22%20stroke%3D%22%234d0f30%22%20stroke-width%3D%220.96%22%20stroke-linecap%3D%22round%22%20opacity%3D%220.88%22%2F%3E%3Cline%20x1%3D%2219.2%22%20y1%3D%220.8%22%20x2%3D%2216.7%22%20y2%3D%223.4%22%20stroke%3D%22%2374445e%22%20stroke-width%3D%220.96%22%20stroke-linecap%3D%22round%22%20opacity%3D%220.88%22%2F%3E%3Cline%20x1%3D%2216.6%22%20y1%3D%224.7%22%20x2%3D%2219.2%22%20y2%3D%227.2%22%20stroke%3D%22%234d0f30%22%20stroke-width%3D%220.96%22%20stroke-linecap%3D%22round%22%20opacity%3D%220.99%22%2F%3E%3Cline%20x1%3D%2219.3%22%20y1%3D%224.6%22%20x2%3D%2216.6%22%20y2%3D%227.3%22%20stroke%3D%22%2374445e%22%20stroke-width%3D%220.96%22%20stroke-linecap%3D%22round%22%20opacity%3D%220.99%22%2F%3E%3Cline%20x1%3D%2220.6%22%20y1%3D%224.6%22%20x2%3D%2223.3%22%20y2%3D%227.2%22%20stroke%3D%22%234d0f30%22%20stroke-width%3D%220.96%22%20stroke-linecap%3D%22round%22%20opacity%3D%220.94%22%2F%3E%3Cline%20x1%3D%2223.2%22%20y1%3D%224.7%22%20x2%3D%2220.6%22%20y2%3D%227.4%22%20stroke%3D%22%2374445e%22%20stroke-width%3D%220.96%22%20stroke-linecap%3D%22round%22%20opacity%3D%220.94%22%2F%3E%3Cline%20x1%3D%2220.8%22%20y1%3D%228.8%22%20x2%3D%2223.3%22%20y2%3D%2211.4%22%20stroke%3D%22%234d0f30%22%20stroke-width%3D%220.96%22%20stroke-linecap%3D%22round%22%20opacity%3D%220.98%22%2F%3E%3Cline%20x1%3D%2223.4%22%20y1%3D%228.6%22%20x2%3D%2220.7%22%20y2%3D%2211.2%22%20stroke%3D%22%2374445e%22%20stroke-width%3D%220.96%22%20stroke-linecap%3D%22round%22%20opacity%3D%220.98%22%2F%3E%3Cline%20x1%3D%2224.6%22%20y1%3D%228.7%22%20x2%3D%2227.2%22%20y2%3D%2211.3%22%20stroke%3D%22%234d0f30%22%20stroke-width%3D%220.96%22%20stroke-linecap%3D%22round%22%20opacity%3D%221.00%22%2F%3E%3Cline%20x1%3D%2227.4%22%20y1%3D%228.6%22%20x2%3D%2224.6%22%20y2%3D%2211.3%22%20stroke%3D%22%2374445e%22%20stroke-width%3D%220.96%22%20stroke-linecap%3D%22round%22%20opacity%3D%221.00%22%2F%3E%3Cline%20x1%3D%2224.8%22%20y1%3D%2212.7%22%20x2%3D%2227.4%22%20y2%3D%2215.4%22%20stroke%3D%22%234d0f30%22%20stroke-width%3D%220.96%22%20stroke-linecap%3D%22round%22%20opacity%3D%220.91%22%2F%3E%3Cline%20x1%3D%2227.4%22%20y1%3D%2212.8%22%20x2%3D%2224.8%22%20y2%3D%2215.3%22%20stroke%3D%22%2374445e%22%20stroke-width%3D%220.96%22%20stroke-linecap%3D%22round%22%20opacity%3D%220.91%22%2F%3E%3Cline%20x1%3D%2228.8%22%20y1%3D%2212.8%22%20x2%3D%2231.3%22%20y2%3D%2215.4%22%20stroke%3D%22%234d0f30%22%20stroke-width%3D%220.96%22%20stroke-linecap%3D%22round%22%20opacity%3D%220.97%22%2F%3E%3Cline%20x1%3D%2231.4%22%20y1%3D%2212.6%22%20x2%3D%2228.8%22%20y2%3D%2215.2%22%20stroke%3D%22%2374445e%22%20stroke-width%3D%220.96%22%20stroke-linecap%3D%22round%22%20opacity%3D%220.97%22%2F%3E%3Cline%20x1%3D%2228.7%22%20y1%3D%2216.6%22%20x2%3D%2231.4%22%20y2%3D%2219.3%22%20stroke%3D%22%234d0f30%22%20stroke-width%3D%220.96%22%20stroke-linecap%3D%22round%22%20opacity%3D%220.88%22%2F%3E%3Cline%20x1%3D%2231.2%22%20y1%3D%2216.8%22%20x2%3D%2228.7%22%20y2%3D%2219.4%22%20stroke%3D%22%2374445e%22%20stroke-width%3D%220.96%22%20stroke-linecap%3D%22round%22%20opacity%3D%220.88%22%2F%3E%3Cline%20x1%3D%2232.8%22%20y1%3D%2216.7%22%20x2%3D%2235.4%22%20y2%3D%2219.4%22%20stroke%3D%22%234d0f30%22%20stroke-width%3D%220.96%22%20stroke-linecap%3D%22round%22%20opacity%3D%220.89%22%2F%3E%3Cline%20x1%3D%2235.3%22%20y1%3D%2216.8%22%20x2%3D%2232.8%22%20y2%3D%2219.3%22%20stroke%3D%22%2374445e%22%20stroke-width%3D%220.96%22%20stroke-linecap%3D%22round%22%20opacity%3D%220.89%22%2F%3E%3Cline%20x1%3D%2232.6%22%20y1%3D%2220.6%22%20x2%3D%2235.3%22%20y2%3D%2223.2%22%20stroke%3D%22%234d0f30%22%20stroke-width%3D%220.96%22%20stroke-linecap%3D%22round%22%20opacity%3D%220.95%22%2F%3E%3Cline%20x1%3D%2235.2%22%20y1%3D%2220.6%22%20x2%3D%2232.6%22%20y2%3D%2223.4%22%20stroke%3D%22%2374445e%22%20stroke-width%3D%220.96%22%20stroke-linecap%3D%22round%22%20opacity%3D%220.95%22%2F%3E%3Cline%20x1%3D%2236.8%22%20y1%3D%2216.8%22%20x2%3D%2239.3%22%20y2%3D%2219.4%22%20stroke%3D%22%234d0f30%22%20stroke-width%3D%220.96%22%20stroke-linecap%3D%22round%22%20opacity%3D%220.95%22%2F%3E%3Cline%20x1%3D%2239.4%22%20y1%3D%2216.7%22%20x2%3D%2236.8%22%20y2%3D%2219.2%22%20stroke%3D%22%2374445e%22%20stroke-width%3D%220.96%22%20stroke-linecap%3D%22round%22%20opacity%3D%220.95%22%2F%3E%3Cline%20x1%3D%2236.6%22%20y1%3D%2220.6%22%20x2%3D%2239.4%22%20y2%3D%2223.3%22%20stroke%3D%22%234d0f30%22%20stroke-width%3D%220.96%22%20stroke-linecap%3D%22round%22%20opacity%3D%220.90%22%2F%3E%3Cline%20x1%3D%2239.2%22%20y1%3D%2220.8%22%20x2%3D%2236.6%22%20y2%3D%2223.4%22%20stroke%3D%22%2374445e%22%20stroke-width%3D%220.96%22%20stroke-linecap%3D%22round%22%20opacity%3D%220.90%22%2F%3E%3Cline%20x1%3D%2240.7%22%20y1%3D%2216.8%22%20x2%3D%2243.2%22%20y2%3D%2219.3%22%20stroke%3D%22%234d0f30%22%20stroke-width%3D%220.96%22%20stroke-linecap%3D%22round%22%20opacity%3D%220.99%22%2F%3E%3Cline%20x1%3D%2243.4%22%20y1%3D%2216.6%22%20x2%3D%2240.7%22%20y2%3D%2219.2%22%20stroke%3D%22%2374445e%22%20stroke-width%3D%220.96%22%20stroke-linecap%3D%22round%22%20opacity%3D%220.99%22%2F%3E%3Cline%20x1%3D%2240.7%22%20y1%3D%2220.6%22%20x2%3D%2243.4%22%20y2%3D%2223.4%22%20stroke%3D%22%234d0f30%22%20stroke-width%3D%220.96%22%20stroke-linecap%3D%22round%22%20opacity%3D%220.88%22%2F%3E%3Cline%20x1%3D%2243.3%22%20y1%3D%2220.8%22%20x2%3D%2240.8%22%20y2%3D%2223.4%22%20stroke%3D%22%2374445e%22%20stroke-width%3D%220.96%22%20stroke-linecap%3D%22round%22%20opacity%3D%220.88%22%2F%3E%3Cline%20x1%3D%2244.7%22%20y1%3D%2212.6%22%20x2%3D%2247.4%22%20y2%3D%2215.3%22%20stroke%3D%22%234d0f30%22%20stroke-width%3D%220.96%22%20stroke-linecap%3D%22round%22%20opacity%3D%220.88%22%2F%3E%3Cline%20x1%3D%2247.2%22%20y1%3D%2212.8%22%20x2%3D%2244.7%22%20y2%3D%2215.4%22%20stroke%3D%22%2374445e%22%20stroke-width%3D%220.96%22%20stroke-linecap%3D%22round%22%20opacity%3D%220.88%22%2F%3E%3Cline%20x1%3D%2244.6%22%20y1%3D%2216.7%22%20x2%3D%2247.2%22%20y2%3D%2219.2%22%20stroke%3D%22%234d0f30%22%20stroke-width%3D%220.96%22%20stroke-linecap%3D%22round%22%20opacity%3D%220.99%22%2F%3E%3Cline%20x1%3D%2247.3%22%20y1%3D%2216.6%22%20x2%3D%2244.6%22%20y2%3D%2219.3%22%20stroke%3D%22%2374445e%22%20stroke-width%3D%220.96%22%20stroke-linecap%3D%22round%22%20opacity%3D%220.99%22%2F%3E%3Cline%20x1%3D%2212.6%22%20y1%3D%2212.7%22%20x2%3D%2215.2%22%20y2%3D%2215.2%22%20stroke%3D%22%236d8f4e%22%20stroke-width%3D%220.96%22%20stroke-linecap%3D%22round%22%20opacity%3D%220.97%22%2F%3E%3Cline%20x1%3D%2215.3%22%20y1%3D%2212.6%22%20x2%3D%2212.6%22%20y2%3D%2215.4%22%20stroke%3D%22%238da875%22%20stroke-width%3D%220.96%22%20stroke-linecap%3D%22round%22%20opacity%3D%220.97%22%2F%3E%3Cline%20x1%3D%228.8%22%20y1%3D%2216.7%22%20x2%3D%2211.4%22%20y2%3D%2219.4%22%20stroke%3D%22%236d8f4e%22%20stroke-width%3D%220.96%22%20stroke-linecap%3D%22round%22%20opacity%3D%220.90%22%2F%3E%3Cline%20x1%3D%2211.3%22%20y1%3D%2216.8%22%20x2%3D%228.8%22%20y2%3D%2219.3%22%20stroke%3D%22%238da875%22%20stroke-width%3D%220.96%22%20stroke-linecap%3D%22round%22%20opacity%3D%220.90%22%2F%3E%3Cline%20x1%3D%2216.7%22%20y1%3D%2216.8%22%20x2%3D%2219.2%22%20y2%3D%2219.3%22%20stroke%3D%22%236d8f4e%22%20stroke-width%3D%220.96%22%20stroke-linecap%3D%22round%22%20opacity%3D%221.00%22%2F%3E%3Cline%20x1%3D%2219.4%22%20y1%3D%2216.6%22%20x2%3D%2216.7%22%20y2%3D%2219.2%22%20stroke%3D%22%238da875%22%20stroke-width%3D%220.96%22%20stroke-linecap%3D%22round%22%20opacity%3D%221.00%22%2F%3E%3Cline%20x1%3D%2212.6%22%20y1%3D%2220.6%22%20x2%3D%2215.4%22%20y2%3D%2223.3%22%20stroke%3D%22%236d8f4e%22%20stroke-width%3D%220.96%22%20stroke-linecap%3D%22round%22%20opacity%3D%220.89%22%2F%3E%3Cline%20x1%3D%2215.2%22%20y1%3D%2220.8%22%20x2%3D%2212.7%22%20y2%3D%2223.4%22%20stroke%3D%22%238da875%22%20stroke-width%3D%220.96%22%20stroke-linecap%3D%22round%22%20opacity%3D%220.89%22%2F%3E%3Cline%20x1%3D%2236.6%22%20y1%3D%220.6%22%20x2%3D%2239.3%22%20y2%3D%223.2%22%20stroke%3D%22%236d8f4e%22%20stroke-width%3D%220.96%22%20stroke-linecap%3D%22round%22%20opacity%3D%220.92%22%2F%3E%3Cline%20x1%3D%2239.2%22%20y1%3D%220.7%22%20x2%3D%2236.6%22%20y2%3D%223.4%22%20stroke%3D%22%238da875%22%20stroke-width%3D%220.96%22%20stroke-linecap%3D%22round%22%20opacity%3D%220.92%22%2F%3E%3Cline%20x1%3D%2232.8%22%20y1%3D%224.8%22%20x2%3D%2235.4%22%20y2%3D%227.4%22%20stroke%3D%22%236d8f4e%22%20stroke-width%3D%220.96%22%20stroke-linecap%3D%22round%22%20opacity%3D%220.94%22%2F%3E%3Cline%20x1%3D%2235.4%22%20y1%3D%224.7%22%20x2%3D%2232.8%22%20y2%3D%227.2%22%20stroke%3D%22%238da875%22%20stroke-width%3D%220.96%22%20stroke-linecap%3D%22round%22%20opacity%3D%220.94%22%2F%3E%3Cline%20x1%3D%2240.6%22%20y1%3D%224.7%22%20x2%3D%2243.2%22%20y2%3D%227.2%22%20stroke%3D%22%236d8f4e%22%20stroke-width%3D%220.96%22%20stroke-linecap%3D%22round%22%20opacity%3D%220.99%22%2F%3E%3Cline%20x1%3D%2243.3%22%20y1%3D%224.6%22%20x2%3D%2240.6%22%20y2%3D%227.3%22%20stroke%3D%22%238da875%22%20stroke-width%3D%220.96%22%20stroke-linecap%3D%22round%22%20opacity%3D%220.99%22%2F%3E%3Cline%20x1%3D%2236.7%22%20y1%3D%228.6%22%20x2%3D%2239.4%22%20y2%3D%2211.4%22%20stroke%3D%22%236d8f4e%22%20stroke-width%3D%220.96%22%20stroke-linecap%3D%22round%22%20opacity%3D%220.88%22%2F%3E%3Cline%20x1%3D%2239.3%22%20y1%3D%228.8%22%20x2%3D%2236.7%22%20y2%3D%2211.4%22%20stroke%3D%22%238da875%22%20stroke-width%3D%220.96%22%20stroke-linecap%3D%22round%22%20opacity%3D%220.88%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E");
  background-repeat: repeat-x;
  background-size: auto 24px;
}

/*
 * DIE NAHT IM AUFMACHER.
 *
 * Dort stand ein Maßband zwischen Anriss und Datum - abgeschnitten, ohne
 * Aufgabe, und weil die Teilstriche auf 190 Punkten kaum zu sehen sind,
 * las es sich als beiger Balken. Ein Maßband misst etwas; hier war nichts
 * zu messen.
 *
 * Jetzt eine kurze Kreuzstichwelle: dieselbe Naht, die unter jedem
 * Seitentitel steht. Sie TRENNT (das war die Aufgabe) und sagt dabei
 * dasselbe wie der Rest der Seite.
 */
.naht {
  height: 24px;
  max-width: 9rem;
  background-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2248%22%20height%3D%2224%22%20viewBox%3D%220%200%2048%2024%22%3E%3Cg%20opacity%3D%221%22%3E%3Cline%20x1%3D%220.6%22%20y1%3D%228.7%22%20x2%3D%223.2%22%20y2%3D%2211.2%22%20stroke%3D%22%234d0f30%22%20stroke-width%3D%220.96%22%20stroke-linecap%3D%22round%22%20opacity%3D%221.00%22%2F%3E%3Cline%20x1%3D%223.4%22%20y1%3D%228.6%22%20x2%3D%220.6%22%20y2%3D%2211.3%22%20stroke%3D%22%2374445e%22%20stroke-width%3D%220.96%22%20stroke-linecap%3D%22round%22%20opacity%3D%221.00%22%2F%3E%3Cline%20x1%3D%220.8%22%20y1%3D%2212.7%22%20x2%3D%223.4%22%20y2%3D%2215.4%22%20stroke%3D%22%234d0f30%22%20stroke-width%3D%220.96%22%20stroke-linecap%3D%22round%22%20opacity%3D%220.91%22%2F%3E%3Cline%20x1%3D%223.4%22%20y1%3D%2212.8%22%20x2%3D%220.8%22%20y2%3D%2215.3%22%20stroke%3D%22%2374445e%22%20stroke-width%3D%220.96%22%20stroke-linecap%3D%22round%22%20opacity%3D%220.91%22%2F%3E%3Cline%20x1%3D%224.8%22%20y1%3D%224.7%22%20x2%3D%227.4%22%20y2%3D%227.4%22%20stroke%3D%22%234d0f30%22%20stroke-width%3D%220.96%22%20stroke-linecap%3D%22round%22%20opacity%3D%220.89%22%2F%3E%3Cline%20x1%3D%227.3%22%20y1%3D%224.8%22%20x2%3D%224.8%22%20y2%3D%227.3%22%20stroke%3D%22%2374445e%22%20stroke-width%3D%220.96%22%20stroke-linecap%3D%22round%22%20opacity%3D%220.89%22%2F%3E%3Cline%20x1%3D%224.6%22%20y1%3D%228.6%22%20x2%3D%227.3%22%20y2%3D%2211.2%22%20stroke%3D%22%234d0f30%22%20stroke-width%3D%220.96%22%20stroke-linecap%3D%22round%22%20opacity%3D%220.95%22%2F%3E%3Cline%20x1%3D%227.2%22%20y1%3D%228.6%22%20x2%3D%224.6%22%20y2%3D%2211.4%22%20stroke%3D%22%2374445e%22%20stroke-width%3D%220.96%22%20stroke-linecap%3D%22round%22%20opacity%3D%220.95%22%2F%3E%3Cline%20x1%3D%228.6%22%20y1%3D%220.7%22%20x2%3D%2211.2%22%20y2%3D%223.2%22%20stroke%3D%22%234d0f30%22%20stroke-width%3D%220.96%22%20stroke-linecap%3D%22round%22%20opacity%3D%220.98%22%2F%3E%3Cline%20x1%3D%2211.3%22%20y1%3D%220.6%22%20x2%3D%228.6%22%20y2%3D%223.4%22%20stroke%3D%22%2374445e%22%20stroke-width%3D%220.96%22%20stroke-linecap%3D%22round%22%20opacity%3D%220.98%22%2F%3E%3Cline%20x1%3D%228.8%22%20y1%3D%224.8%22%20x2%3D%2211.3%22%20y2%3D%227.4%22%20stroke%3D%22%234d0f30%22%20stroke-width%3D%220.96%22%20stroke-linecap%3D%22round%22%20opacity%3D%220.95%22%2F%3E%3Cline%20x1%3D%2211.4%22%20y1%3D%224.7%22%20x2%3D%228.8%22%20y2%3D%227.2%22%20stroke%3D%22%2374445e%22%20stroke-width%3D%220.96%22%20stroke-linecap%3D%22round%22%20opacity%3D%220.95%22%2F%3E%3Cline%20x1%3D%2212.6%22%20y1%3D%220.6%22%20x2%3D%2215.3%22%20y2%3D%223.2%22%20stroke%3D%22%234d0f30%22%20stroke-width%3D%220.96%22%20stroke-linecap%3D%22round%22%20opacity%3D%220.92%22%2F%3E%3Cline%20x1%3D%2215.2%22%20y1%3D%220.7%22%20x2%3D%2212.6%22%20y2%3D%223.4%22%20stroke%3D%22%2374445e%22%20stroke-width%3D%220.96%22%20stroke-linecap%3D%22round%22%20opacity%3D%220.92%22%2F%3E%3Cline%20x1%3D%2212.7%22%20y1%3D%224.8%22%20x2%3D%2215.2%22%20y2%3D%227.3%22%20stroke%3D%22%234d0f30%22%20stroke-width%3D%220.96%22%20stroke-linecap%3D%22round%22%20opacity%3D%220.99%22%2F%3E%3Cline%20x1%3D%2215.4%22%20y1%3D%224.6%22%20x2%3D%2212.7%22%20y2%3D%227.2%22%20stroke%3D%22%2374445e%22%20stroke-width%3D%220.96%22%20stroke-linecap%3D%22round%22%20opacity%3D%220.99%22%2F%3E%3Cline%20x1%3D%2216.7%22%20y1%3D%220.6%22%20x2%3D%2219.4%22%20y2%3D%223.3%22%20stroke%3D%22%234d0f30%22%20stroke-width%3D%220.96%22%20stroke-linecap%3D%22round%22%20opacity%3D%220.88%22%2F%3E%3Cline%20x1%3D%2219.2%22%20y1%3D%220.8%22%20x2%3D%2216.7%22%20y2%3D%223.4%22%20stroke%3D%22%2374445e%22%20stroke-width%3D%220.96%22%20stroke-linecap%3D%22round%22%20opacity%3D%220.88%22%2F%3E%3Cline%20x1%3D%2216.6%22%20y1%3D%224.7%22%20x2%3D%2219.2%22%20y2%3D%227.2%22%20stroke%3D%22%234d0f30%22%20stroke-width%3D%220.96%22%20stroke-linecap%3D%22round%22%20opacity%3D%220.99%22%2F%3E%3Cline%20x1%3D%2219.3%22%20y1%3D%224.6%22%20x2%3D%2216.6%22%20y2%3D%227.3%22%20stroke%3D%22%2374445e%22%20stroke-width%3D%220.96%22%20stroke-linecap%3D%22round%22%20opacity%3D%220.99%22%2F%3E%3Cline%20x1%3D%2220.6%22%20y1%3D%224.6%22%20x2%3D%2223.3%22%20y2%3D%227.2%22%20stroke%3D%22%234d0f30%22%20stroke-width%3D%220.96%22%20stroke-linecap%3D%22round%22%20opacity%3D%220.94%22%2F%3E%3Cline%20x1%3D%2223.2%22%20y1%3D%224.7%22%20x2%3D%2220.6%22%20y2%3D%227.4%22%20stroke%3D%22%2374445e%22%20stroke-width%3D%220.96%22%20stroke-linecap%3D%22round%22%20opacity%3D%220.94%22%2F%3E%3Cline%20x1%3D%2220.8%22%20y1%3D%228.8%22%20x2%3D%2223.3%22%20y2%3D%2211.4%22%20stroke%3D%22%234d0f30%22%20stroke-width%3D%220.96%22%20stroke-linecap%3D%22round%22%20opacity%3D%220.98%22%2F%3E%3Cline%20x1%3D%2223.4%22%20y1%3D%228.6%22%20x2%3D%2220.7%22%20y2%3D%2211.2%22%20stroke%3D%22%2374445e%22%20stroke-width%3D%220.96%22%20stroke-linecap%3D%22round%22%20opacity%3D%220.98%22%2F%3E%3Cline%20x1%3D%2224.6%22%20y1%3D%228.7%22%20x2%3D%2227.2%22%20y2%3D%2211.3%22%20stroke%3D%22%234d0f30%22%20stroke-width%3D%220.96%22%20stroke-linecap%3D%22round%22%20opacity%3D%221.00%22%2F%3E%3Cline%20x1%3D%2227.4%22%20y1%3D%228.6%22%20x2%3D%2224.6%22%20y2%3D%2211.3%22%20stroke%3D%22%2374445e%22%20stroke-width%3D%220.96%22%20stroke-linecap%3D%22round%22%20opacity%3D%221.00%22%2F%3E%3Cline%20x1%3D%2224.8%22%20y1%3D%2212.7%22%20x2%3D%2227.4%22%20y2%3D%2215.4%22%20stroke%3D%22%234d0f30%22%20stroke-width%3D%220.96%22%20stroke-linecap%3D%22round%22%20opacity%3D%220.91%22%2F%3E%3Cline%20x1%3D%2227.4%22%20y1%3D%2212.8%22%20x2%3D%2224.8%22%20y2%3D%2215.3%22%20stroke%3D%22%2374445e%22%20stroke-width%3D%220.96%22%20stroke-linecap%3D%22round%22%20opacity%3D%220.91%22%2F%3E%3Cline%20x1%3D%2228.8%22%20y1%3D%2212.8%22%20x2%3D%2231.3%22%20y2%3D%2215.4%22%20stroke%3D%22%234d0f30%22%20stroke-width%3D%220.96%22%20stroke-linecap%3D%22round%22%20opacity%3D%220.97%22%2F%3E%3Cline%20x1%3D%2231.4%22%20y1%3D%2212.6%22%20x2%3D%2228.8%22%20y2%3D%2215.2%22%20stroke%3D%22%2374445e%22%20stroke-width%3D%220.96%22%20stroke-linecap%3D%22round%22%20opacity%3D%220.97%22%2F%3E%3Cline%20x1%3D%2228.7%22%20y1%3D%2216.6%22%20x2%3D%2231.4%22%20y2%3D%2219.3%22%20stroke%3D%22%234d0f30%22%20stroke-width%3D%220.96%22%20stroke-linecap%3D%22round%22%20opacity%3D%220.88%22%2F%3E%3Cline%20x1%3D%2231.2%22%20y1%3D%2216.8%22%20x2%3D%2228.7%22%20y2%3D%2219.4%22%20stroke%3D%22%2374445e%22%20stroke-width%3D%220.96%22%20stroke-linecap%3D%22round%22%20opacity%3D%220.88%22%2F%3E%3Cline%20x1%3D%2232.8%22%20y1%3D%2216.7%22%20x2%3D%2235.4%22%20y2%3D%2219.4%22%20stroke%3D%22%234d0f30%22%20stroke-width%3D%220.96%22%20stroke-linecap%3D%22round%22%20opacity%3D%220.89%22%2F%3E%3Cline%20x1%3D%2235.3%22%20y1%3D%2216.8%22%20x2%3D%2232.8%22%20y2%3D%2219.3%22%20stroke%3D%22%2374445e%22%20stroke-width%3D%220.96%22%20stroke-linecap%3D%22round%22%20opacity%3D%220.89%22%2F%3E%3Cline%20x1%3D%2232.6%22%20y1%3D%2220.6%22%20x2%3D%2235.3%22%20y2%3D%2223.2%22%20stroke%3D%22%234d0f30%22%20stroke-width%3D%220.96%22%20stroke-linecap%3D%22round%22%20opacity%3D%220.95%22%2F%3E%3Cline%20x1%3D%2235.2%22%20y1%3D%2220.6%22%20x2%3D%2232.6%22%20y2%3D%2223.4%22%20stroke%3D%22%2374445e%22%20stroke-width%3D%220.96%22%20stroke-linecap%3D%22round%22%20opacity%3D%220.95%22%2F%3E%3Cline%20x1%3D%2236.8%22%20y1%3D%2216.8%22%20x2%3D%2239.3%22%20y2%3D%2219.4%22%20stroke%3D%22%234d0f30%22%20stroke-width%3D%220.96%22%20stroke-linecap%3D%22round%22%20opacity%3D%220.95%22%2F%3E%3Cline%20x1%3D%2239.4%22%20y1%3D%2216.7%22%20x2%3D%2236.8%22%20y2%3D%2219.2%22%20stroke%3D%22%2374445e%22%20stroke-width%3D%220.96%22%20stroke-linecap%3D%22round%22%20opacity%3D%220.95%22%2F%3E%3Cline%20x1%3D%2236.6%22%20y1%3D%2220.6%22%20x2%3D%2239.4%22%20y2%3D%2223.3%22%20stroke%3D%22%234d0f30%22%20stroke-width%3D%220.96%22%20stroke-linecap%3D%22round%22%20opacity%3D%220.90%22%2F%3E%3Cline%20x1%3D%2239.2%22%20y1%3D%2220.8%22%20x2%3D%2236.6%22%20y2%3D%2223.4%22%20stroke%3D%22%2374445e%22%20stroke-width%3D%220.96%22%20stroke-linecap%3D%22round%22%20opacity%3D%220.90%22%2F%3E%3Cline%20x1%3D%2240.7%22%20y1%3D%2216.8%22%20x2%3D%2243.2%22%20y2%3D%2219.3%22%20stroke%3D%22%234d0f30%22%20stroke-width%3D%220.96%22%20stroke-linecap%3D%22round%22%20opacity%3D%220.99%22%2F%3E%3Cline%20x1%3D%2243.4%22%20y1%3D%2216.6%22%20x2%3D%2240.7%22%20y2%3D%2219.2%22%20stroke%3D%22%2374445e%22%20stroke-width%3D%220.96%22%20stroke-linecap%3D%22round%22%20opacity%3D%220.99%22%2F%3E%3Cline%20x1%3D%2240.7%22%20y1%3D%2220.6%22%20x2%3D%2243.4%22%20y2%3D%2223.4%22%20stroke%3D%22%234d0f30%22%20stroke-width%3D%220.96%22%20stroke-linecap%3D%22round%22%20opacity%3D%220.88%22%2F%3E%3Cline%20x1%3D%2243.3%22%20y1%3D%2220.8%22%20x2%3D%2240.8%22%20y2%3D%2223.4%22%20stroke%3D%22%2374445e%22%20stroke-width%3D%220.96%22%20stroke-linecap%3D%22round%22%20opacity%3D%220.88%22%2F%3E%3Cline%20x1%3D%2244.7%22%20y1%3D%2212.6%22%20x2%3D%2247.4%22%20y2%3D%2215.3%22%20stroke%3D%22%234d0f30%22%20stroke-width%3D%220.96%22%20stroke-linecap%3D%22round%22%20opacity%3D%220.88%22%2F%3E%3Cline%20x1%3D%2247.2%22%20y1%3D%2212.8%22%20x2%3D%2244.7%22%20y2%3D%2215.4%22%20stroke%3D%22%2374445e%22%20stroke-width%3D%220.96%22%20stroke-linecap%3D%22round%22%20opacity%3D%220.88%22%2F%3E%3Cline%20x1%3D%2244.6%22%20y1%3D%2216.7%22%20x2%3D%2247.2%22%20y2%3D%2219.2%22%20stroke%3D%22%234d0f30%22%20stroke-width%3D%220.96%22%20stroke-linecap%3D%22round%22%20opacity%3D%220.99%22%2F%3E%3Cline%20x1%3D%2247.3%22%20y1%3D%2216.6%22%20x2%3D%2244.6%22%20y2%3D%2219.3%22%20stroke%3D%22%2374445e%22%20stroke-width%3D%220.96%22%20stroke-linecap%3D%22round%22%20opacity%3D%220.99%22%2F%3E%3Cline%20x1%3D%2212.6%22%20y1%3D%2212.7%22%20x2%3D%2215.2%22%20y2%3D%2215.2%22%20stroke%3D%22%236d8f4e%22%20stroke-width%3D%220.96%22%20stroke-linecap%3D%22round%22%20opacity%3D%220.97%22%2F%3E%3Cline%20x1%3D%2215.3%22%20y1%3D%2212.6%22%20x2%3D%2212.6%22%20y2%3D%2215.4%22%20stroke%3D%22%238da875%22%20stroke-width%3D%220.96%22%20stroke-linecap%3D%22round%22%20opacity%3D%220.97%22%2F%3E%3Cline%20x1%3D%228.8%22%20y1%3D%2216.7%22%20x2%3D%2211.4%22%20y2%3D%2219.4%22%20stroke%3D%22%236d8f4e%22%20stroke-width%3D%220.96%22%20stroke-linecap%3D%22round%22%20opacity%3D%220.90%22%2F%3E%3Cline%20x1%3D%2211.3%22%20y1%3D%2216.8%22%20x2%3D%228.8%22%20y2%3D%2219.3%22%20stroke%3D%22%238da875%22%20stroke-width%3D%220.96%22%20stroke-linecap%3D%22round%22%20opacity%3D%220.90%22%2F%3E%3Cline%20x1%3D%2216.7%22%20y1%3D%2216.8%22%20x2%3D%2219.2%22%20y2%3D%2219.3%22%20stroke%3D%22%236d8f4e%22%20stroke-width%3D%220.96%22%20stroke-linecap%3D%22round%22%20opacity%3D%221.00%22%2F%3E%3Cline%20x1%3D%2219.4%22%20y1%3D%2216.6%22%20x2%3D%2216.7%22%20y2%3D%2219.2%22%20stroke%3D%22%238da875%22%20stroke-width%3D%220.96%22%20stroke-linecap%3D%22round%22%20opacity%3D%221.00%22%2F%3E%3Cline%20x1%3D%2212.6%22%20y1%3D%2220.6%22%20x2%3D%2215.4%22%20y2%3D%2223.3%22%20stroke%3D%22%236d8f4e%22%20stroke-width%3D%220.96%22%20stroke-linecap%3D%22round%22%20opacity%3D%220.89%22%2F%3E%3Cline%20x1%3D%2215.2%22%20y1%3D%2220.8%22%20x2%3D%2212.7%22%20y2%3D%2223.4%22%20stroke%3D%22%238da875%22%20stroke-width%3D%220.96%22%20stroke-linecap%3D%22round%22%20opacity%3D%220.89%22%2F%3E%3Cline%20x1%3D%2236.6%22%20y1%3D%220.6%22%20x2%3D%2239.3%22%20y2%3D%223.2%22%20stroke%3D%22%236d8f4e%22%20stroke-width%3D%220.96%22%20stroke-linecap%3D%22round%22%20opacity%3D%220.92%22%2F%3E%3Cline%20x1%3D%2239.2%22%20y1%3D%220.7%22%20x2%3D%2236.6%22%20y2%3D%223.4%22%20stroke%3D%22%238da875%22%20stroke-width%3D%220.96%22%20stroke-linecap%3D%22round%22%20opacity%3D%220.92%22%2F%3E%3Cline%20x1%3D%2232.8%22%20y1%3D%224.8%22%20x2%3D%2235.4%22%20y2%3D%227.4%22%20stroke%3D%22%236d8f4e%22%20stroke-width%3D%220.96%22%20stroke-linecap%3D%22round%22%20opacity%3D%220.94%22%2F%3E%3Cline%20x1%3D%2235.4%22%20y1%3D%224.7%22%20x2%3D%2232.8%22%20y2%3D%227.2%22%20stroke%3D%22%238da875%22%20stroke-width%3D%220.96%22%20stroke-linecap%3D%22round%22%20opacity%3D%220.94%22%2F%3E%3Cline%20x1%3D%2240.6%22%20y1%3D%224.7%22%20x2%3D%2243.2%22%20y2%3D%227.2%22%20stroke%3D%22%236d8f4e%22%20stroke-width%3D%220.96%22%20stroke-linecap%3D%22round%22%20opacity%3D%220.99%22%2F%3E%3Cline%20x1%3D%2243.3%22%20y1%3D%224.6%22%20x2%3D%2240.6%22%20y2%3D%227.3%22%20stroke%3D%22%238da875%22%20stroke-width%3D%220.96%22%20stroke-linecap%3D%22round%22%20opacity%3D%220.99%22%2F%3E%3Cline%20x1%3D%2236.7%22%20y1%3D%228.6%22%20x2%3D%2239.4%22%20y2%3D%2211.4%22%20stroke%3D%22%236d8f4e%22%20stroke-width%3D%220.96%22%20stroke-linecap%3D%22round%22%20opacity%3D%220.88%22%2F%3E%3Cline%20x1%3D%2239.3%22%20y1%3D%228.8%22%20x2%3D%2236.7%22%20y2%3D%2211.4%22%20stroke%3D%22%238da875%22%20stroke-width%3D%220.96%22%20stroke-linecap%3D%22round%22%20opacity%3D%220.88%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E");
  background-repeat: repeat-x;
  background-size: auto 24px;
  opacity: .75;
}

/* Leere Zustände – „noch keine Beiträge", „nichts gefunden". Dort stand
   nur ein Satz in einem leeren Feld. Ein Herzband darüber macht aus der
   Sackgasse eine Seite, die immer noch zu diesem Blog gehört. */
.hinweis::before {
  content: "";
  display: block;
  position: static;
  height: 30px;
  width: min(18rem, 100%);
  margin: 0 0 .9rem;
  background-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2250%22%20height%3D%2230%22%20viewBox%3D%220%200%2050%2030%22%3E%3Cg%20opacity%3D%221%22%3E%3Cline%20x1%3D%221.0%22%20y1%3D%221.0%22%20x2%3D%224.1%22%20y2%3D%224.3%22%20stroke%3D%22%23a8632a%22%20stroke-width%3D%221.20%22%20stroke-linecap%3D%22round%22%20opacity%3D%220.96%22%2F%3E%3Cline%20x1%3D%224.3%22%20y1%3D%220.8%22%20x2%3D%220.9%22%20y2%3D%224.0%22%20stroke%3D%22%23bb8559%22%20stroke-width%3D%221.20%22%20stroke-linecap%3D%22round%22%20opacity%3D%220.96%22%2F%3E%3Cline%20x1%3D%220.8%22%20y1%3D%225.7%22%20x2%3D%224.3%22%20y2%3D%229.1%22%20stroke%3D%22%23a8632a%22%20stroke-width%3D%221.20%22%20stroke-linecap%3D%22round%22%20opacity%3D%220.88%22%2F%3E%3Cline%20x1%3D%224.0%22%20y1%3D%226.0%22%20x2%3D%220.9%22%20y2%3D%229.3%22%20stroke%3D%22%23bb8559%22%20stroke-width%3D%221.20%22%20stroke-linecap%3D%22round%22%20opacity%3D%220.88%22%2F%3E%3Cline%20x1%3D%220.8%22%20y1%3D%2210.9%22%20x2%3D%224.0%22%20y2%3D%2214.1%22%20stroke%3D%22%23a8632a%22%20stroke-width%3D%221.20%22%20stroke-linecap%3D%22round%22%20opacity%3D%221.00%22%2F%3E%3Cline%20x1%3D%224.2%22%20y1%3D%2210.7%22%20x2%3D%220.7%22%20y2%3D%2214.1%22%20stroke%3D%22%23bb8559%22%20stroke-width%3D%221.20%22%20stroke-linecap%3D%22round%22%20opacity%3D%221.00%22%2F%3E%3Cline%20x1%3D%221.0%22%20y1%3D%2215.9%22%20x2%3D%224.3%22%20y2%3D%2219.3%22%20stroke%3D%22%23a8632a%22%20stroke-width%3D%221.20%22%20stroke-linecap%3D%22round%22%20opacity%3D%220.91%22%2F%3E%3Cline%20x1%3D%224.2%22%20y1%3D%2215.9%22%20x2%3D%221.0%22%20y2%3D%2219.1%22%20stroke%3D%22%23bb8559%22%20stroke-width%3D%221.20%22%20stroke-linecap%3D%22round%22%20opacity%3D%220.91%22%2F%3E%3Cline%20x1%3D%220.7%22%20y1%3D%2220.7%22%20x2%3D%224.1%22%20y2%3D%2224.0%22%20stroke%3D%22%23a8632a%22%20stroke-width%3D%221.20%22%20stroke-linecap%3D%22round%22%20opacity%3D%220.92%22%2F%3E%3Cline%20x1%3D%224.0%22%20y1%3D%2220.9%22%20x2%3D%220.7%22%20y2%3D%2224.3%22%20stroke%3D%22%23bb8559%22%20stroke-width%3D%221.20%22%20stroke-linecap%3D%22round%22%20opacity%3D%220.92%22%2F%3E%3Cline%20x1%3D%220.9%22%20y1%3D%2226.0%22%20x2%3D%224.1%22%20y2%3D%2229.2%22%20stroke%3D%22%23a8632a%22%20stroke-width%3D%221.20%22%20stroke-linecap%3D%22round%22%20opacity%3D%220.99%22%2F%3E%3Cline%20x1%3D%224.3%22%20y1%3D%2225.7%22%20x2%3D%220.9%22%20y2%3D%2229.0%22%20stroke%3D%22%23bb8559%22%20stroke-width%3D%221.20%22%20stroke-linecap%3D%22round%22%20opacity%3D%220.99%22%2F%3E%3Cline%20x1%3D%2215.7%22%20y1%3D%220.7%22%20x2%3D%2219.2%22%20y2%3D%224.0%22%20stroke%3D%22%234d0f30%22%20stroke-width%3D%221.20%22%20stroke-linecap%3D%22round%22%20opacity%3D%220.92%22%2F%3E%3Cline%20x1%3D%2219.0%22%20y1%3D%220.9%22%20x2%3D%2215.7%22%20y2%3D%224.3%22%20stroke%3D%22%2374445e%22%20stroke-width%3D%221.20%22%20stroke-linecap%3D%22round%22%20opacity%3D%220.92%22%2F%3E%3Cline%20x1%3D%2220.8%22%20y1%3D%220.7%22%20x2%3D%2224.3%22%20y2%3D%224.2%22%20stroke%3D%22%234d0f30%22%20stroke-width%3D%221.20%22%20stroke-linecap%3D%22round%22%20opacity%3D%220.88%22%2F%3E%3Cline%20x1%3D%2224.0%22%20y1%3D%221.0%22%20x2%3D%2220.9%22%20y2%3D%224.3%22%20stroke%3D%22%2374445e%22%20stroke-width%3D%221.20%22%20stroke-linecap%3D%22round%22%20opacity%3D%220.88%22%2F%3E%3Cline%20x1%3D%2231.0%22%20y1%3D%221.0%22%20x2%3D%2234.1%22%20y2%3D%224.3%22%20stroke%3D%22%234d0f30%22%20stroke-width%3D%221.20%22%20stroke-linecap%3D%22round%22%20opacity%3D%220.96%22%2F%3E%3Cline%20x1%3D%2234.3%22%20y1%3D%220.8%22%20x2%3D%2231.0%22%20y2%3D%224.0%22%20stroke%3D%22%2374445e%22%20stroke-width%3D%221.20%22%20stroke-linecap%3D%22round%22%20opacity%3D%220.96%22%2F%3E%3Cline%20x1%3D%2235.9%22%20y1%3D%221.0%22%20x2%3D%2239.0%22%20y2%3D%224.1%22%20stroke%3D%22%234d0f30%22%20stroke-width%3D%221.20%22%20stroke-linecap%3D%22round%22%20opacity%3D%221.00%22%2F%3E%3Cline%20x1%3D%2239.3%22%20y1%3D%220.7%22%20x2%3D%2235.8%22%20y2%3D%224.0%22%20stroke%3D%22%2374445e%22%20stroke-width%3D%221.20%22%20stroke-linecap%3D%22round%22%20opacity%3D%221.00%22%2F%3E%3Cline%20x1%3D%2211.0%22%20y1%3D%226.0%22%20x2%3D%2214.2%22%20y2%3D%229.3%22%20stroke%3D%22%234d0f30%22%20stroke-width%3D%221.20%22%20stroke-linecap%3D%22round%22%20opacity%3D%220.95%22%2F%3E%3Cline%20x1%3D%2214.3%22%20y1%3D%225.9%22%20x2%3D%2211.0%22%20y2%3D%229.0%22%20stroke%3D%22%2374445e%22%20stroke-width%3D%221.20%22%20stroke-linecap%3D%22round%22%20opacity%3D%220.95%22%2F%3E%3Cline%20x1%3D%2215.9%22%20y1%3D%226.0%22%20x2%3D%2219.0%22%20y2%3D%229.2%22%20stroke%3D%22%234d0f30%22%20stroke-width%3D%221.20%22%20stroke-linecap%3D%22round%22%20opacity%3D%220.99%22%2F%3E%3Cline%20x1%3D%2219.3%22%20y1%3D%225.7%22%20x2%3D%2215.9%22%20y2%3D%229.0%22%20stroke%3D%22%2374445e%22%20stroke-width%3D%221.20%22%20stroke-linecap%3D%22round%22%20opacity%3D%220.99%22%2F%3E%3Cline%20x1%3D%2220.8%22%20y1%3D%225.9%22%20x2%3D%2224.0%22%20y2%3D%229.0%22%20stroke%3D%22%234d0f30%22%20stroke-width%3D%221.20%22%20stroke-linecap%3D%22round%22%20opacity%3D%220.99%22%2F%3E%3Cline%20x1%3D%2224.2%22%20y1%3D%225.7%22%20x2%3D%2220.7%22%20y2%3D%229.2%22%20stroke%3D%22%2374445e%22%20stroke-width%3D%221.20%22%20stroke-linecap%3D%22round%22%20opacity%3D%220.99%22%2F%3E%3Cline%20x1%3D%2225.7%22%20y1%3D%225.7%22%20x2%3D%2229.1%22%20y2%3D%229.0%22%20stroke%3D%22%234d0f30%22%20stroke-width%3D%221.20%22%20stroke-linecap%3D%22round%22%20opacity%3D%220.94%22%2F%3E%3Cline%20x1%3D%2229.0%22%20y1%3D%225.8%22%20x2%3D%2225.7%22%20y2%3D%229.3%22%20stroke%3D%22%2374445e%22%20stroke-width%3D%221.20%22%20stroke-linecap%3D%22round%22%20opacity%3D%220.94%22%2F%3E%3Cline%20x1%3D%2230.8%22%20y1%3D%225.7%22%20x2%3D%2234.3%22%20y2%3D%229.1%22%20stroke%3D%22%234d0f30%22%20stroke-width%3D%221.20%22%20stroke-linecap%3D%22round%22%20opacity%3D%220.89%22%2F%3E%3Cline%20x1%3D%2234.0%22%20y1%3D%226.0%22%20x2%3D%2230.8%22%20y2%3D%229.3%22%20stroke%3D%22%2374445e%22%20stroke-width%3D%221.20%22%20stroke-linecap%3D%22round%22%20opacity%3D%220.89%22%2F%3E%3Cline%20x1%3D%2235.9%22%20y1%3D%225.8%22%20x2%3D%2239.3%22%20y2%3D%229.3%22%20stroke%3D%22%234d0f30%22%20stroke-width%3D%221.20%22%20stroke-linecap%3D%22round%22%20opacity%3D%220.89%22%2F%3E%3Cline%20x1%3D%2239.1%22%20y1%3D%226.0%22%20x2%3D%2236.0%22%20y2%3D%229.2%22%20stroke%3D%22%2374445e%22%20stroke-width%3D%221.20%22%20stroke-linecap%3D%22round%22%20opacity%3D%220.89%22%2F%3E%3Cline%20x1%3D%2241.0%22%20y1%3D%225.9%22%20x2%3D%2244.2%22%20y2%3D%229.3%22%20stroke%3D%22%234d0f30%22%20stroke-width%3D%221.20%22%20stroke-linecap%3D%22round%22%20opacity%3D%220.94%22%2F%3E%3Cline%20x1%3D%2244.3%22%20y1%3D%225.9%22%20x2%3D%2241.0%22%20y2%3D%229.0%22%20stroke%3D%22%2374445e%22%20stroke-width%3D%221.20%22%20stroke-linecap%3D%22round%22%20opacity%3D%220.94%22%2F%3E%3Cline%20x1%3D%2210.8%22%20y1%3D%2210.7%22%20x2%3D%2214.2%22%20y2%3D%2214.1%22%20stroke%3D%22%234d0f30%22%20stroke-width%3D%221.20%22%20stroke-linecap%3D%22round%22%20opacity%3D%220.90%22%2F%3E%3Cline%20x1%3D%2214.0%22%20y1%3D%2210.9%22%20x2%3D%2210.8%22%20y2%3D%2214.3%22%20stroke%3D%22%2374445e%22%20stroke-width%3D%221.20%22%20stroke-linecap%3D%22round%22%20opacity%3D%220.90%22%2F%3E%3Cline%20x1%3D%2215.9%22%20y1%3D%2210.8%22%20x2%3D%2219.3%22%20y2%3D%2214.2%22%20stroke%3D%22%234d0f30%22%20stroke-width%3D%221.20%22%20stroke-linecap%3D%22round%22%20opacity%3D%220.88%22%2F%3E%3Cline%20x1%3D%2219.1%22%20y1%3D%2211.0%22%20x2%3D%2215.9%22%20y2%3D%2214.2%22%20stroke%3D%22%2374445e%22%20stroke-width%3D%221.20%22%20stroke-linecap%3D%22round%22%20opacity%3D%220.88%22%2F%3E%3Cline%20x1%3D%2221.0%22%20y1%3D%2210.9%22%20x2%3D%2224.2%22%20y2%3D%2214.3%22%20stroke%3D%22%234d0f30%22%20stroke-width%3D%221.20%22%20stroke-linecap%3D%22round%22%20opacity%3D%220.92%22%2F%3E%3Cline%20x1%3D%2224.2%22%20y1%3D%2210.9%22%20x2%3D%2221.0%22%20y2%3D%2214.0%22%20stroke%3D%22%2374445e%22%20stroke-width%3D%221.20%22%20stroke-linecap%3D%22round%22%20opacity%3D%220.92%22%2F%3E%3Cline%20x1%3D%2225.9%22%20y1%3D%2211.0%22%20x2%3D%2229.1%22%20y2%3D%2214.2%22%20stroke%3D%22%234d0f30%22%20stroke-width%3D%221.20%22%20stroke-linecap%3D%22round%22%20opacity%3D%220.98%22%2F%3E%3Cline%20x1%3D%2229.3%22%20y1%3D%2210.8%22%20x2%3D%2225.9%22%20y2%3D%2214.0%22%20stroke%3D%22%2374445e%22%20stroke-width%3D%221.20%22%20stroke-linecap%3D%22round%22%20opacity%3D%220.98%22%2F%3E%3Cline%20x1%3D%2230.8%22%20y1%3D%2210.9%22%20x2%3D%2234.0%22%20y2%3D%2214.1%22%20stroke%3D%22%234d0f30%22%20stroke-width%3D%221.20%22%20stroke-linecap%3D%22round%22%20opacity%3D%221.00%22%2F%3E%3Cline%20x1%3D%2234.2%22%20y1%3D%2210.7%22%20x2%3D%2230.8%22%20y2%3D%2214.1%22%20stroke%3D%22%2374445e%22%20stroke-width%3D%221.20%22%20stroke-linecap%3D%22round%22%20opacity%3D%221.00%22%2F%3E%3Cline%20x1%3D%2235.7%22%20y1%3D%2210.8%22%20x2%3D%2239.1%22%20y2%3D%2214.0%22%20stroke%3D%22%234d0f30%22%20stroke-width%3D%221.20%22%20stroke-linecap%3D%22round%22%20opacity%3D%220.96%22%2F%3E%3Cline%20x1%3D%2239.1%22%20y1%3D%2210.8%22%20x2%3D%2235.7%22%20y2%3D%2214.2%22%20stroke%3D%22%2374445e%22%20stroke-width%3D%221.20%22%20stroke-linecap%3D%22round%22%20opacity%3D%220.96%22%2F%3E%3Cline%20x1%3D%2240.8%22%20y1%3D%2210.7%22%20x2%3D%2244.2%22%20y2%3D%2214.1%22%20stroke%3D%22%234d0f30%22%20stroke-width%3D%221.20%22%20stroke-linecap%3D%22round%22%20opacity%3D%220.90%22%2F%3E%3Cline%20x1%3D%2244.0%22%20y1%3D%2210.9%22%20x2%3D%2240.8%22%20y2%3D%2214.3%22%20stroke%3D%22%2374445e%22%20stroke-width%3D%221.20%22%20stroke-linecap%3D%22round%22%20opacity%3D%220.90%22%2F%3E%3Cline%20x1%3D%2215.7%22%20y1%3D%2215.8%22%20x2%3D%2219.0%22%20y2%3D%2219.0%22%20stroke%3D%22%234d0f30%22%20stroke-width%3D%221.20%22%20stroke-linecap%3D%22round%22%20opacity%3D%220.97%22%2F%3E%3Cline%20x1%3D%2219.1%22%20y1%3D%2215.8%22%20x2%3D%2215.7%22%20y2%3D%2219.2%22%20stroke%3D%22%2374445e%22%20stroke-width%3D%221.20%22%20stroke-linecap%3D%22round%22%20opacity%3D%220.97%22%2F%3E%3Cline%20x1%3D%2220.7%22%20y1%3D%2215.7%22%20x2%3D%2224.2%22%20y2%3D%2219.0%22%20stroke%3D%22%234d0f30%22%20stroke-width%3D%221.20%22%20stroke-linecap%3D%22round%22%20opacity%3D%220.91%22%2F%3E%3Cline%20x1%3D%2224.0%22%20y1%3D%2215.9%22%20x2%3D%2220.8%22%20y2%3D%2219.3%22%20stroke%3D%22%2374445e%22%20stroke-width%3D%221.20%22%20stroke-linecap%3D%22round%22%20opacity%3D%220.91%22%2F%3E%3Cline%20x1%3D%2225.9%22%20y1%3D%2215.7%22%20x2%3D%2229.3%22%20y2%3D%2219.2%22%20stroke%3D%22%234d0f30%22%20stroke-width%3D%221.20%22%20stroke-linecap%3D%22round%22%20opacity%3D%220.88%22%2F%3E%3Cline%20x1%3D%2229.0%22%20y1%3D%2216.0%22%20x2%3D%2225.9%22%20y2%3D%2219.2%22%20stroke%3D%22%2374445e%22%20stroke-width%3D%221.20%22%20stroke-linecap%3D%22round%22%20opacity%3D%220.88%22%2F%3E%3Cline%20x1%3D%2231.0%22%20y1%3D%2215.9%22%20x2%3D%2234.3%22%20y2%3D%2219.3%22%20stroke%3D%22%234d0f30%22%20stroke-width%3D%221.20%22%20stroke-linecap%3D%22round%22%20opacity%3D%220.91%22%2F%3E%3Cline%20x1%3D%2234.2%22%20y1%3D%2216.0%22%20x2%3D%2231.0%22%20y2%3D%2219.1%22%20stroke%3D%22%2374445e%22%20stroke-width%3D%221.20%22%20stroke-linecap%3D%22round%22%20opacity%3D%220.91%22%2F%3E%3Cline%20x1%3D%2236.0%22%20y1%3D%2216.0%22%20x2%3D%2239.1%22%20y2%3D%2219.3%22%20stroke%3D%22%234d0f30%22%20stroke-width%3D%221.20%22%20stroke-linecap%3D%22round%22%20opacity%3D%220.97%22%2F%3E%3Cline%20x1%3D%2239.3%22%20y1%3D%2215.8%22%20x2%3D%2235.9%22%20y2%3D%2219.0%22%20stroke%3D%22%2374445e%22%20stroke-width%3D%221.20%22%20stroke-linecap%3D%22round%22%20opacity%3D%220.97%22%2F%3E%3Cline%20x1%3D%2220.9%22%20y1%3D%2221.0%22%20x2%3D%2224.0%22%20y2%3D%2224.2%22%20stroke%3D%22%234d0f30%22%20stroke-width%3D%221.20%22%20stroke-linecap%3D%22round%22%20opacity%3D%221.00%22%2F%3E%3Cline%20x1%3D%2224.3%22%20y1%3D%2220.7%22%20x2%3D%2220.8%22%20y2%3D%2224.0%22%20stroke%3D%22%2374445e%22%20stroke-width%3D%221.20%22%20stroke-linecap%3D%22round%22%20opacity%3D%221.00%22%2F%3E%3Cline%20x1%3D%2225.7%22%20y1%3D%2220.9%22%20x2%3D%2229.0%22%20y2%3D%2224.0%22%20stroke%3D%22%234d0f30%22%20stroke-width%3D%221.20%22%20stroke-linecap%3D%22round%22%20opacity%3D%220.99%22%2F%3E%3Cline%20x1%3D%2229.2%22%20y1%3D%2220.7%22%20x2%3D%2225.7%22%20y2%3D%2224.2%22%20stroke%3D%22%2374445e%22%20stroke-width%3D%221.20%22%20stroke-linecap%3D%22round%22%20opacity%3D%220.99%22%2F%3E%3Cline%20x1%3D%2230.7%22%20y1%3D%2220.7%22%20x2%3D%2234.1%22%20y2%3D%2224.0%22%20stroke%3D%22%234d0f30%22%20stroke-width%3D%221.20%22%20stroke-linecap%3D%22round%22%20opacity%3D%220.93%22%2F%3E%3Cline%20x1%3D%2234.0%22%20y1%3D%2220.9%22%20x2%3D%2230.7%22%20y2%3D%2224.3%22%20stroke%3D%22%2374445e%22%20stroke-width%3D%221.20%22%20stroke-linecap%3D%22round%22%20opacity%3D%220.93%22%2F%3E%3Cline%20x1%3D%2226.0%22%20y1%3D%2225.9%22%20x2%3D%2229.2%22%20y2%3D%2229.3%22%20stroke%3D%22%234d0f30%22%20stroke-width%3D%221.20%22%20stroke-linecap%3D%22round%22%20opacity%3D%220.93%22%2F%3E%3Cline%20x1%3D%2229.2%22%20y1%3D%2225.9%22%20x2%3D%2226.0%22%20y2%3D%2229.0%22%20stroke%3D%22%2374445e%22%20stroke-width%3D%221.20%22%20stroke-linecap%3D%22round%22%20opacity%3D%220.93%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E");
  background-repeat: repeat-x;
  background-size: auto 30px;
}


/* ===========================================================================
 * DREI ZEICHEN, DREI PLÄTZE
 * ===========================================================================
 *
 * Die Seite trägt schon fünf Zierelemente: Tartan am Kopf, Knotenband am
 * Fuß, Kreuzstich an den Überschriften, Triquetra im Text, Knotenecken am
 * Bogen. Noch drei dazu geht nur, wenn jedes einen GRUND hat und höchstens
 * EINMAL je Seite vorkommt. Sonst wird aus Handschrift Tapete.
 *
 *   Triskele  vor der Unterzeile im Kopf – die Dreifachspirale aus
 *             Newgrange, das älteste irische Muster. Sie steht da, wo die
 *             Seite sagt, worum es geht.
 *   Spirale   am Zitat – ein Zitat ist eine Stimme von außen, und die
 *             Spirale markiert, wo sie anfängt. Einmal je Zitat.
 *   Claddagh  in der Fußzeile – Herz, Krone, Hände: Liebe, Treue,
 *             Freundschaft. Dort, wo die Seite von sich selbst spricht.
 */

/* ---------------------------------------------- Triskele im Seitenkopf */
.kopf__unterzeile--zeichen {
  display: flex;
  align-items: center;
  gap: .55rem;
}
.kopf__unterzeile--zeichen::before {
  content: "";
  flex: 0 0 auto;
  width: 18px;
  height: 18px;
  background-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2264%22%20height%3D%2264%22%20viewBox%3D%220%200%2064%2064%22%3E%3Cdefs%3E%3Cpath%20id%3D%22trip0%22%20d%3D%22M32%2027.01L32.28%2026.83L32.58%2026.66L32.9%2026.51L33.24%2026.39L33.59%2026.28L33.96%2026.2L34.34%2026.13L34.74%2026.1L35.14%2026.09L35.55%2026.11L35.98%2026.15L36.4%2026.22L36.83%2026.33L37.26%2026.46L37.69%2026.62L38.12%2026.82L38.54%2027.04L38.96%2027.3L39.36%2027.59L39.76%2027.91L40.14%2028.25L40.51%2028.63L40.86%2029.04L41.19%2029.47L41.5%2029.93L41.78%2030.42L42.04%2030.93L42.27%2031.47L42.48%2032.03L42.65%2032.61L42.79%2033.21L42.89%2033.82L42.96%2034.45L42.99%2035.09L42.99%2035.75L42.95%2036.41L42.86%2037.07L42.74%2037.74L42.57%2038.42L42.36%2039.09L42.11%2039.75L41.82%2040.41L41.49%2041.06L41.11%2041.7L40.69%2042.33L40.24%2042.94L39.74%2043.52L39.2%2044.09L38.62%2044.63L38%2045.14L37.35%2045.62L36.66%2046.07L35.94%2046.49L35.19%2046.86L34.41%2047.2L33.6%2047.5L32.77%2047.75L31.91%2047.96L31.03%2048.12L30.14%2048.23L29.23%2048.29L28.31%2048.3L27.38%2048.26L26.44%2048.16L25.5%2048.01L24.56%2047.81L23.62%2047.55L22.7%2047.23L21.78%2046.86L20.87%2046.44L19.98%2045.95L19.11%2045.42L18.26%2044.83L17.44%2044.18L16.65%2043.49L15.89%2042.75L15.17%2041.95L14.49%2041.11L13.85%2040.23L13.25%2039.3L12.7%2038.33L12.21%2037.32L11.76%2036.28L11.37%2035.21L11.04%2034.1L10.77%2032.97L10.56%2031.82L10.41%2030.64L10.33%2029.45L10.31%2028.25L10.36%2027.03L10.48%2025.82L10.67%2024.6L10.93%2023.38L11.26%2022.17L11.65%2020.97L12.12%2019.78L12.66%2018.61L13.26%2017.47L13.94%2016.35L14.68%2015.26L15.48%2014.21L16.35%2013.19L17.28%2012.22L18.27%2011.29L19.32%2010.41L20.42%209.59L21.57%208.82L22.78%208.12L24.03%207.47%22%20fill%3D%22none%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%2F%3E%3Cpath%20id%3D%22trip1%22%20d%3D%22M36.32%2034.5L36.34%2034.83L36.33%2035.17L36.3%2035.52L36.24%2035.88L36.16%2036.24L36.05%2036.6L35.91%2036.96L35.74%2037.32L35.55%2037.68L35.33%2038.03L35.08%2038.37L34.8%2038.7L34.5%2039.02L34.17%2039.33L33.81%2039.62L33.43%2039.89L33.02%2040.14L32.59%2040.37L32.14%2040.58L31.67%2040.77L31.17%2040.92L30.66%2041.05L30.14%2041.15L29.59%2041.22L29.04%2041.26L28.48%2041.26L27.9%2041.23L27.32%2041.16L26.74%2041.06L26.15%2040.92L25.56%2040.74L24.98%2040.52L24.4%2040.27L23.82%2039.98L23.26%2039.64L22.71%2039.28L22.18%2038.87L21.66%2038.43L21.16%2037.95L20.68%2037.43L20.23%2036.88L19.8%2036.3L19.41%2035.69L19.04%2035.04L18.71%2034.37L18.41%2033.66L18.15%2032.94L17.93%2032.19L17.75%2031.42L17.62%2030.63L17.53%2029.82L17.48%2029L17.48%2028.17L17.53%2027.33L17.63%2026.48L17.78%2025.64L17.98%2024.79L18.22%2023.94L18.52%2023.1L18.87%2022.27L19.28%2021.45L19.73%2020.65L20.23%2019.87L20.78%2019.1L21.38%2018.36L22.03%2017.65L22.72%2016.97L23.46%2016.33L24.24%2015.71L25.06%2015.14L25.93%2014.61L26.83%2014.13L27.76%2013.69L28.73%2013.3L29.72%2012.96L30.75%2012.68L31.8%2012.45L32.86%2012.28L33.95%2012.17L35.05%2012.11L36.17%2012.12L37.29%2012.2L38.41%2012.33L39.54%2012.53L40.66%2012.8L41.78%2013.13L42.88%2013.52L43.97%2013.98L45.04%2014.51L46.09%2015.09L47.12%2015.75L48.11%2016.46L49.08%2017.23L50%2018.06L50.89%2018.95L51.73%2019.9L52.52%2020.9L53.27%2021.94L53.95%2023.04L54.59%2024.18L55.16%2025.37L55.67%2026.59L56.11%2027.85L56.49%2029.14L56.8%2030.46L57.03%2031.81L57.2%2033.18L57.28%2034.56L57.3%2035.96L57.23%2037.36%22%20fill%3D%22none%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%2F%3E%3Cpath%20id%3D%22trip2%22%20d%3D%22M27.68%2034.5L27.38%2034.34L27.09%2034.17L26.8%2033.96L26.52%2033.73L26.25%2033.48L25.99%2033.21L25.75%2032.9L25.52%2032.58L25.31%2032.24L25.12%2031.87L24.95%2031.48L24.8%2031.08L24.67%2030.65L24.57%2030.21L24.5%2029.76L24.45%2029.29L24.44%2028.81L24.45%2028.32L24.5%2027.83L24.57%2027.33L24.68%2026.82L24.83%2026.32L25%2025.81L25.22%2025.31L25.46%2024.81L25.74%2024.32L26.06%2023.84L26.41%2023.37L26.79%2022.91L27.2%2022.47L27.65%2022.06L28.13%2021.66L28.64%2021.28L29.18%2020.93L29.75%2020.61L30.34%2020.32L30.96%2020.06L31.61%2019.83L32.27%2019.64L32.96%2019.48L33.66%2019.36L34.38%2019.29L35.11%2019.25L35.85%2019.26L36.6%2019.31L37.35%2019.4L38.11%2019.54L38.87%2019.72L39.63%2019.95L40.38%2020.23L41.12%2020.56L41.86%2020.93L42.58%2021.34L43.28%2021.81L43.96%2022.31L44.62%2022.87L45.26%2023.46L45.87%2024.1L46.44%2024.78L46.99%2025.5L47.5%2026.25L47.96%2027.05L48.39%2027.87L48.78%2028.73L49.12%2029.62L49.41%2030.54L49.65%2031.48L49.84%2032.44L49.98%2033.42L50.07%2034.42L50.09%2035.43L50.07%2036.46L49.98%2037.48L49.83%2038.52L49.63%2039.55L49.36%2040.58L49.03%2041.6L48.65%2042.61L48.2%2043.61L47.7%2044.59L47.13%2045.55L46.51%2046.48L45.83%2047.39L45.09%2048.26L44.3%2049.1L43.46%2049.9L42.56%2050.66L41.62%2051.38L40.63%2052.04L39.59%2052.66L38.52%2053.22L37.4%2053.73L36.25%2054.17L35.07%2054.56L33.86%2054.88L32.62%2055.14L31.36%2055.32L30.08%2055.44L28.78%2055.49L27.48%2055.47L26.16%2055.37L24.85%2055.2L23.54%2054.96L22.23%2054.64L20.93%2054.24L19.65%2053.78L18.38%2053.23L17.14%2052.62L15.93%2051.93L14.74%2051.17%22%20fill%3D%22none%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%2F%3E%3C%2Fdefs%3E%3Cg%20opacity%3D%220.42%22%3E%3Cuse%20href%3D%22%23trip0%22%20stroke%3D%22%23230716%22%20stroke-width%3D%224.74%22%2F%3E%3Cuse%20href%3D%22%23trip0%22%20stroke%3D%22%234d0f30%22%20stroke-width%3D%223.2%22%2F%3E%3Cuse%20href%3D%22%23trip1%22%20stroke%3D%22%23230716%22%20stroke-width%3D%224.74%22%2F%3E%3Cuse%20href%3D%22%23trip1%22%20stroke%3D%22%234d0f30%22%20stroke-width%3D%223.2%22%2F%3E%3Cuse%20href%3D%22%23trip2%22%20stroke%3D%22%23230716%22%20stroke-width%3D%224.74%22%2F%3E%3Cuse%20href%3D%22%23trip2%22%20stroke%3D%22%234d0f30%22%20stroke-width%3D%223.2%22%2F%3E%3Cpath%20d%3D%22M28.41%2032a3.59%203.59%200%201%200%207.19%200a3.59%203.59%200%201%200%20-7.19%200%22%20fill%3D%22%234d0f30%22%20stroke%3D%22%23230716%22%20stroke-width%3D%221.54%22%20stroke-linejoin%3D%22round%22%20stroke-linecap%3D%22round%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E");
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
}

/* ------------------------------------------------------ Spirale am Zitat
   Sie sitzt oben links IM Einzug, nicht daneben: Das Zitat rückt ohnehin
   ein, und dort ist der Platz schon frei. */
.fliesstext blockquote, .rechtstext blockquote {
  position: relative;
  padding-left: 2.4rem;
}
.fliesstext blockquote::before, .rechtstext blockquote::before {
  content: "";
  position: absolute;
  left: .5rem;
  top: .25rem;
  width: 20px;
  height: 20px;
  background-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2256%22%20height%3D%2256%22%20viewBox%3D%220%200%2056%2056%22%3E%3Cdefs%3E%3Cpath%20id%3D%22spip0%22%20d%3D%22M28%2025.95L28.13%2025.87L28.28%2025.8L28.43%2025.74L28.59%2025.69L28.76%2025.65L28.94%2025.62L29.13%2025.61L29.31%2025.61L29.51%2025.63L29.7%2025.66L29.9%2025.7L30.1%2025.76L30.3%2025.84L30.49%2025.94L30.69%2026.05L30.88%2026.18L31.06%2026.32L31.23%2026.48L31.4%2026.65L31.56%2026.84L31.71%2027.05L31.84%2027.27L31.97%2027.5L32.07%2027.74L32.17%2028L32.24%2028.27L32.3%2028.54L32.34%2028.83L32.36%2029.12L32.37%2029.42L32.35%2029.72L32.31%2030.03L32.24%2030.33L32.16%2030.64L32.06%2030.95L31.93%2031.25L31.78%2031.55L31.61%2031.84L31.41%2032.12L31.2%2032.4L30.96%2032.66L30.7%2032.91L30.42%2033.15L30.13%2033.37L29.81%2033.57L29.48%2033.76L29.13%2033.92L28.77%2034.06L28.39%2034.19L28%2034.28L27.6%2034.35L27.19%2034.4L26.78%2034.42L26.35%2034.41L25.93%2034.38L25.5%2034.31L25.07%2034.22L24.65%2034.1L24.23%2033.95L23.81%2033.77L23.4%2033.56L23%2033.32L22.62%2033.05L22.25%2032.76L21.89%2032.44L21.55%2032.09L21.23%2031.72L20.94%2031.32L20.66%2030.9L20.42%2030.46L20.19%2030L20%2029.53L19.84%2029.03L19.7%2028.52L19.6%2028L19.53%2027.47L19.5%2026.93L19.5%2026.38L19.54%2025.83L19.61%2025.27L19.72%2024.72L19.87%2024.17L20.05%2023.63L20.27%2023.09L20.52%2022.57L20.81%2022.05L21.14%2021.56L21.5%2021.08L21.89%2020.62L22.32%2020.18L22.77%2019.77L23.26%2019.38L23.78%2019.02L24.32%2018.7L24.88%2018.4L25.47%2018.14L26.08%2017.92L26.7%2017.74L27.35%2017.59L28%2017.49L28.67%2017.42L29.34%2017.4L30.02%2017.42L30.7%2017.49L31.38%2017.6L32.06%2017.75L32.73%2017.95L33.39%2018.19L34.04%2018.48L34.68%2018.81L35.29%2019.18L35.89%2019.6L36.47%2020.05L37.01%2020.54L37.53%2021.07L38.02%2021.64L38.47%2022.24L38.89%2022.87L39.27%2023.54L39.61%2024.23L39.9%2024.94L40.16%2025.68L40.36%2026.44L40.52%2027.21L40.63%2028L40.69%2028.8L40.7%2029.6L40.65%2030.41L40.56%2031.22L40.41%2032.03L40.21%2032.84L39.96%2033.63L39.66%2034.41L39.31%2035.18L38.9%2035.92L38.45%2036.64L37.95%2037.34L37.4%2038.01L36.81%2038.64L36.17%2039.24L35.49%2039.81L34.78%2040.33L34.03%2040.81L33.24%2041.24L32.43%2041.62L31.58%2041.95L30.72%2042.23L29.83%2042.46L28.92%2042.63L28%2042.74L27.07%2042.8L26.13%2042.8L25.19%2042.73L24.25%2042.61L23.31%2042.43L22.39%2042.18L21.47%2041.88L20.57%2041.51L19.69%2041.09L18.84%2040.61L18.01%2040.08L17.21%2039.49L16.45%2038.85L15.73%2038.15L15.04%2037.41L14.41%2036.63L13.82%2035.8L13.28%2034.93L12.8%2034.02L12.37%2033.08L12%2032.11L11.69%2031.11L11.44%2030.09L11.26%2029.05L11.14%2028L11.09%2026.94L11.1%2025.87L11.19%2024.79L11.34%2023.72L11.56%2022.66L11.85%2021.61L12.21%2020.57L12.63%2019.55L13.12%2018.56L13.68%2017.59L14.29%2016.66L14.97%2015.76L15.71%2014.91L16.5%2014.1L17.34%2013.33L18.24%2012.62L19.18%2011.96L20.17%2011.37L21.2%2010.83L22.27%2010.36L23.37%209.95L24.49%209.61L25.64%209.34L26.81%209.15L28%209.02L29.2%208.98L30.4%209.01L31.6%209.11L32.8%209.29L33.99%209.55L35.17%209.88L36.33%2010.29L37.47%2010.78L38.58%2011.34L39.65%2011.96L40.69%2012.66L41.69%2013.43L42.63%2014.26L43.53%2015.15L44.38%2016.1L45.17%2017.11L45.89%2018.17L46.55%2019.27L47.14%2020.42L47.66%2021.61L48.1%2022.84L48.47%2024.1L48.76%2025.38L48.97%2026.68L49.09%2028L49.13%2029.33L49.09%2030.66L48.97%2032L48.76%2033.33L48.46%2034.65L48.08%2035.95L47.62%2037.23L47.08%2038.49L46.45%2039.71L45.75%2040.89L44.97%2042.04L44.12%2043.13L43.19%2044.18L42.2%2045.16L41.14%2046.09%22%20fill%3D%22none%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%2F%3E%3C%2Fdefs%3E%3Cg%20opacity%3D%220.3%22%3E%3Cuse%20href%3D%22%23spip0%22%20stroke%3D%22%23230716%22%20stroke-width%3D%224.56%22%2F%3E%3Cuse%20href%3D%22%23spip0%22%20stroke%3D%22%234d0f30%22%20stroke-width%3D%223.08%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E");
  background-size: contain;
  background-repeat: no-repeat;
}

/* --------------------------------------------- Claddagh in der Fußzeile */
.fuss__zeichen {
  /* 72 war auf dem alten, flächigen Papiergrund richtig. Auf dem Tuch
     mit Damast konkurriert das Zeichen mit den Rosetten und fiel wieder
     auf Klecksgröße zurück. 92 trägt gegen das Muster. */
  /* 92 war richtig, als der Fuss viel Platz hatte; dann 64. Zweiter
     Durchgang am selben Tag: 46. Kleiner traegt es nicht mehr gegen das
     Damastmuster, groesser kostet eine halbe Zeile. */
  width: 46px;
  height: 46px;
  margin: 0 auto .3rem;
  background-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%22160%22%20height%3D%22160%22%20viewBox%3D%220%200%20160%20160%22%3E%3Cg%20opacity%3D%220.42%22%3E%3Cpath%20d%3D%22M57.28%2074.72L57.28%2063.2L58.19%2063.2L65%2052.26L71.82%2063.2L73.18%2063.2L80%2045.34L86.82%2063.2L88.18%2063.2L95%2052.26L101.81%2063.2L102.72%2063.2L102.72%2074.72Z%22%20fill%3D%22%234d0f30%22%20stroke%3D%22%23230716%22%20stroke-width%3D%223.84%22%20stroke-linejoin%3D%22round%22%20stroke-linecap%3D%22round%22%2F%3E%3Cpath%20d%3D%22M76.64%2040.74a3.36%203.36%200%201%200%206.72%200a3.36%203.36%200%201%200%20-6.72%200%22%20fill%3D%22%234d0f30%22%20stroke%3D%22%23230716%22%20stroke-width%3D%223.84%22%20stroke-linejoin%3D%22round%22%20stroke-linecap%3D%22round%22%2F%3E%3Cpath%20d%3D%22M62.44%2048.42a2.56%202.56%200%201%200%205.12%200a2.56%202.56%200%201%200%20-5.12%200%22%20fill%3D%22%234d0f30%22%20stroke%3D%22%23230716%22%20stroke-width%3D%223.84%22%20stroke-linejoin%3D%22round%22%20stroke-linecap%3D%22round%22%2F%3E%3Cpath%20d%3D%22M92.44%2048.42a2.56%202.56%200%201%200%205.12%200a2.56%202.56%200%201%200%20-5.12%200%22%20fill%3D%22%234d0f30%22%20stroke%3D%22%23230716%22%20stroke-width%3D%223.84%22%20stroke-linejoin%3D%22round%22%20stroke-linecap%3D%22round%22%2F%3E%3Cpath%20d%3D%22M80%2081.24C71.6%2065.64%2052%2071.88%2052%2092.16C52%20112.44%2071.6%20123.36%2080%20129.6C88.4%20123.36%20108%20112.44%20108%2092.16C108%2071.88%2088.4%2065.64%2080%2081.24Z%22%20fill%3D%22%234d0f30%22%20stroke%3D%22%23230716%22%20stroke-width%3D%223.84%22%20stroke-linejoin%3D%22round%22%20stroke-linecap%3D%22round%22%2F%3E%3Cg%20transform%3D%22translate(0%200)%20scale(1%201)%22%3E%3Cpath%20d%3D%22M8.8%2071.68L32.8%2080C41.28%2079.04%2049.6%2081.92%2054.08%2088.32C57.6%2093.44%2054.08%2098.88%2048.32%20100C40.32%20101.6%2031.36%2099.52%2025.6%2097.76L6.08%2090.56Z%22%20fill%3D%22%234d0f30%22%20stroke%3D%22%23230716%22%20stroke-width%3D%223.84%22%20stroke-linejoin%3D%22round%22%20stroke-linecap%3D%22round%22%2F%3E%3Cpath%20d%3D%22M36.48%2088.96C41.28%2087.04%2045.76%2088.96%2047.04%2093.44%22%20fill%3D%22none%22%20stroke%3D%22%23230716%22%20stroke-width%3D%222.11%22%20stroke-linecap%3D%22round%22%20opacity%3D%220.85%22%2F%3E%3Cpath%20d%3D%22M44.48%2093.12C48.96%2091.52%2051.84%2093.12%2052.48%2096.64%22%20fill%3D%22none%22%20stroke%3D%22%23230716%22%20stroke-width%3D%222.11%22%20stroke-linecap%3D%22round%22%20opacity%3D%220.85%22%2F%3E%3Cpath%20d%3D%22M52.48%2097.28C56.64%2096%2057.92%2097.28%2057.92%2099.84%22%20fill%3D%22none%22%20stroke%3D%22%23230716%22%20stroke-width%3D%222.11%22%20stroke-linecap%3D%22round%22%20opacity%3D%220.85%22%2F%3E%3Cpath%20d%3D%22M18.88%2075.52L15.68%2092.16%22%20fill%3D%22none%22%20stroke%3D%22%23230716%22%20stroke-width%3D%222.69%22%20stroke-linecap%3D%22round%22%20opacity%3D%220.85%22%2F%3E%3C%2Fg%3E%3Cg%20transform%3D%22translate(160%200)%20scale(-1%201)%22%3E%3Cpath%20d%3D%22M8.8%2071.68L32.8%2080C41.28%2079.04%2049.6%2081.92%2054.08%2088.32C57.6%2093.44%2054.08%2098.88%2048.32%20100C40.32%20101.6%2031.36%2099.52%2025.6%2097.76L6.08%2090.56Z%22%20fill%3D%22%234d0f30%22%20stroke%3D%22%23230716%22%20stroke-width%3D%223.84%22%20stroke-linejoin%3D%22round%22%20stroke-linecap%3D%22round%22%2F%3E%3Cpath%20d%3D%22M36.48%2088.96C41.28%2087.04%2045.76%2088.96%2047.04%2093.44%22%20fill%3D%22none%22%20stroke%3D%22%23230716%22%20stroke-width%3D%222.11%22%20stroke-linecap%3D%22round%22%20opacity%3D%220.85%22%2F%3E%3Cpath%20d%3D%22M44.48%2093.12C48.96%2091.52%2051.84%2093.12%2052.48%2096.64%22%20fill%3D%22none%22%20stroke%3D%22%23230716%22%20stroke-width%3D%222.11%22%20stroke-linecap%3D%22round%22%20opacity%3D%220.85%22%2F%3E%3Cpath%20d%3D%22M52.48%2097.28C56.64%2096%2057.92%2097.28%2057.92%2099.84%22%20fill%3D%22none%22%20stroke%3D%22%23230716%22%20stroke-width%3D%222.11%22%20stroke-linecap%3D%22round%22%20opacity%3D%220.85%22%2F%3E%3Cpath%20d%3D%22M18.88%2075.52L15.68%2092.16%22%20fill%3D%22none%22%20stroke%3D%22%23230716%22%20stroke-width%3D%222.69%22%20stroke-linecap%3D%22round%22%20opacity%3D%220.85%22%2F%3E%3C%2Fg%3E%3C%2Fg%3E%3C%2Fsvg%3E");
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
}
/* Gedruckt braucht es kein Zeichen. */
@media print { .fuss__zeichen, .kopf__unterzeile--zeichen::before { display: none; } }


/* ===========================================================================
 * DIE ECKEN DES LESEBOGENS
 * ===========================================================================
 *
 * Der weiße Bogen beginnt und endet als glatte Kante. Ein geflochtener
 * Eckbeschlag macht daraus ein Blatt, das jemand eingefasst hat – und er
 * ist das irische Gegenstück zum Kreuzstich an den Überschriften: dort
 * eckig und gezählt, hier rund und verschlungen.
 *
 * Sehr blass und klein. Es ist ein Beschlag, kein Rahmen; wer ihn beim
 * Lesen bemerkt, soll ihn bemerken, ohne davon aufgehalten zu werden.
 *
 * Nur ab Tabletbreite: Auf dem Telefon füllt der Bogen die ganze Breite,
 * und zwei Beschläge in den oberen Ecken säßen direkt am Bildschirmrand.
 */

@media (min-width: 900px) {
  main { position: relative; }
  main::before, main::after {
    content: "";
    position: absolute;
    top: 0;
    /* 72 statt 60: Die geschlossene Ecke verliert an beiden Enden den
       Platz für die Schlaufe. Bei gleicher Kastengröße wäre sie deutlich
       kürzer als die offene und säße verloren in der Ecke. */
    width: 72px;
    height: 72px;
    background-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%22144%22%20height%3D%22144%22%20viewBox%3D%220%200%20144%20144%22%3E%3Cdefs%3E%3CclipPath%20id%3D%22knof0%22%3E%3Ccircle%20cx%3D%2245.07%22%20cy%3D%22119.98%22%20r%3D%228.65%22%2F%3E%3C%2FclipPath%3E%3CclipPath%20id%3D%22knof1%22%3E%3Ccircle%20cx%3D%2230.96%22%20cy%3D%22106.92%22%20r%3D%228.65%22%2F%3E%3C%2FclipPath%3E%3CclipPath%20id%3D%22knof2%22%3E%3Ccircle%20cx%3D%2230.96%22%20cy%3D%2280.8%22%20r%3D%2211.62%22%2F%3E%3C%2FclipPath%3E%3CclipPath%20id%3D%22knof3%22%3E%3Ccircle%20cx%3D%2237.6%22%20cy%3D%2255.85%22%20r%3D%2211.61%22%2F%3E%3C%2FclipPath%3E%3CclipPath%20id%3D%22knof4%22%3E%3Ccircle%20cx%3D%2255.85%22%20cy%3D%2237.6%22%20r%3D%2211.61%22%2F%3E%3C%2FclipPath%3E%3CclipPath%20id%3D%22knof5%22%3E%3Ccircle%20cx%3D%2280.8%22%20cy%3D%2230.96%22%20r%3D%2211.62%22%2F%3E%3C%2FclipPath%3E%3CclipPath%20id%3D%22knof6%22%3E%3Ccircle%20cx%3D%22106.92%22%20cy%3D%2230.96%22%20r%3D%228.65%22%2F%3E%3C%2FclipPath%3E%3CclipPath%20id%3D%22knof7%22%3E%3Ccircle%20cx%3D%22119.98%22%20cy%3D%2216.85%22%20r%3D%228.65%22%2F%3E%3C%2FclipPath%3E%3Cpath%20id%3D%22knop0%22%20d%3D%22M45.07%20119.98L44.99%20119.08L44.75%20118.19L44.34%20117.29L43.79%20116.4L43.08%20115.51L42.24%20114.61L41.26%20113.72L40.16%20112.82L38.96%20111.93L37.67%20111.04L36.3%20110.14L34.87%20109.25L33.39%20108.35L31.88%20107.46L30.36%20106.57L28.86%20105.67L27.37%20104.78L25.93%20103.88L24.54%20102.99L23.23%20102.1L22.01%20101.2L20.89%20100.31L19.88%2099.41L19.01%2098.52L18.27%2097.63L17.68%2096.73L17.25%2095.84L16.97%2094.94L16.85%2094.05L16.9%2093.16L17.11%2092.26L17.48%2091.37L18%2090.47L18.67%2089.58L19.49%2088.69L20.44%2087.79L21.51%2086.9L22.69%2086L23.96%2085.11L25.32%2084.22L26.74%2083.32L28.21%2082.43L29.71%2081.53L31.23%2080.64L32.89%2079.7L34.54%2078.83L36.15%2078.02L37.71%2077.26L39.19%2076.56L40.58%2075.9L41.84%2075.27L42.97%2074.67L43.95%2074.09L44.78%2073.51L45.43%2072.91L45.91%2072.3L46.22%2071.66L46.35%2070.97L46.31%2070.23L46.11%2069.42L45.75%2068.54L45.25%2067.58L44.62%2066.54L43.87%2065.41L43.04%2064.19L42.13%2062.88L41.16%2061.49L40.17%2060.02L39.17%2058.47L38.18%2056.86L37.23%2055.2L36.33%2053.49L35.51%2051.75L34.79%2050L34.18%2048.26L33.7%2046.54L33.36%2044.85L33.18%2043.22L33.15%2041.67L33.29%2040.2L33.6%2038.84L34.08%2037.6L34.73%2036.49L35.53%2035.53L36.49%2034.73L37.6%2034.08L38.84%2033.6L40.2%2033.29L41.67%2033.15L43.22%2033.18L44.85%2033.36L46.54%2033.7L48.26%2034.18L50%2034.79L51.75%2035.51L53.49%2036.33L55.19%2037.22L56.86%2038.18L58.47%2039.17L60.02%2040.17L61.49%2041.16L62.88%2042.12L64.19%2043.03L65.41%2043.87L66.54%2044.61L67.58%2045.25L68.54%2045.75L69.42%2046.11L70.23%2046.31L70.97%2046.35L71.66%2046.22L72.3%2045.91L72.92%2045.43L73.51%2044.78L74.09%2043.95L74.67%2042.97L75.27%2041.84L75.9%2040.58L76.56%2039.2L77.26%2037.72L78.02%2036.16L78.83%2034.54L79.7%2032.89L80.64%2031.23L81.53%2029.71L82.43%2028.21L83.32%2026.74L84.22%2025.32L85.11%2023.97L86%2022.69L86.9%2021.51L87.79%2020.44L88.69%2019.49L89.58%2018.68L90.47%2018L91.37%2017.48L92.26%2017.11L93.16%2016.9L94.05%2016.85L94.94%2016.97L95.84%2017.25L96.73%2017.68L97.63%2018.27L98.52%2019.01L99.41%2019.88L100.31%2020.89L101.2%2022L102.1%2023.23L102.99%2024.54L103.88%2025.92L104.78%2027.37L105.67%2028.85L106.57%2030.36L107.46%2031.88L108.35%2033.39L109.25%2034.86L110.14%2036.3L111.04%2037.67L111.93%2038.96L112.82%2040.16L113.72%2041.26L114.61%2042.23L115.51%2043.08L116.4%2043.79L117.29%2044.34L118.19%2044.75L119.08%2044.99L119.98%2045.07L122.73%2044.8L125.38%2044L127.82%2042.69L129.95%2040.94L131.71%2038.8L133.01%2036.36L133.82%2033.71L134.09%2030.96L133.82%2028.21L133.01%2025.56L131.71%2023.12L129.95%2020.98L127.82%2019.23L125.38%2017.92L122.73%2017.12L119.98%2016.85%22%20fill%3D%22none%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%2F%3E%3Cmask%20id%3D%22knom0%22%20maskUnits%3D%22userSpaceOnUse%22%20x%3D%22-144%22%20y%3D%22-144%22%20width%3D%22432%22%20height%3D%22432%22%3E%3Crect%20x%3D%22-144%22%20y%3D%22-144%22%20width%3D%22432%22%20height%3D%22432%22%20fill%3D%22%23fff%22%2F%3E%3Cg%20clip-path%3D%22url(%23knof1)%22%3E%3Cpath%20d%3D%22M41.03%20100.31L39.91%20101.2L38.69%20102.1L37.38%20102.99L35.99%20103.88L34.55%20104.78L33.06%20105.67L31.56%20106.57L30.04%20107.46L28.53%20108.35L27.05%20109.25L25.62%20110.14L24.25%20111.04L22.96%20111.93L21.76%20112.82L20.66%20113.72%22%20fill%3D%22none%22%20stroke%3D%22%23000%22%20stroke-width%3D%2214.57%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%2F%3E%3C%2Fg%3E%3Cg%20clip-path%3D%22url(%23knof3)%22%3E%3Cpath%20d%3D%22M53.41%2056.44L52.43%2056.55L51.32%2056.58L50.07%2056.54L48.69%2056.46L47.19%2056.34L45.58%2056.21L43.87%2056.07L42.08%2055.96L40.23%2055.88L38.33%2055.84L36.41%2055.87L34.48%2055.97L32.58%2056.15L30.72%2056.43L28.92%2056.8L27.21%2057.27L25.61%2057.85L24.14%2058.53L22.81%2059.31%22%20fill%3D%22none%22%20stroke%3D%22%23000%22%20stroke-width%3D%2214.57%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%2F%3E%3C%2Fg%3E%3Cg%20clip-path%3D%22url(%23knof5)%22%3E%3Cpath%20d%3D%22M90.47%2043.92L89.58%2043.24L88.69%2042.43L87.79%2041.48L86.9%2040.41L86%2039.23L85.11%2037.95L84.22%2036.6L83.32%2035.18L82.43%2033.71L81.53%2032.21L80.64%2030.69L79.63%2029.05L78.55%2027.46L77.41%2025.94L76.22%2024.51L74.98%2023.2L73.7%2022.03L72.39%2021.01L71.06%2020.17L69.72%2019.51%22%20fill%3D%22none%22%20stroke%3D%22%23000%22%20stroke-width%3D%2214.57%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%2F%3E%3C%2Fg%3E%3Cg%20clip-path%3D%22url(%23knof7)%22%3E%3Cpath%20d%3D%22M119.98%2016.85L119.08%2016.93L118.19%2017.17L117.29%2017.58L116.4%2018.13L115.51%2018.84L114.61%2019.69L113.72%2020.66L112.82%2021.76L111.93%2022.96L111.04%2024.25%22%20fill%3D%22none%22%20stroke%3D%22%23000%22%20stroke-width%3D%2214.57%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%2F%3E%3C%2Fg%3E%3C%2Fmask%3E%3Cpath%20id%3D%22knop1%22%20d%3D%22M119.98%2016.85L119.08%2016.93L118.19%2017.17L117.29%2017.58L116.4%2018.13L115.51%2018.84L114.61%2019.69L113.72%2020.66L112.82%2021.76L111.93%2022.96L111.04%2024.25L110.14%2025.62L109.25%2027.06L108.35%2028.53L107.46%2030.04L106.57%2031.56L105.67%2033.07L104.78%2034.55L103.88%2036L102.99%2037.38L102.1%2038.69L101.2%2039.92L100.31%2041.03L99.41%2042.04L98.52%2042.91L97.63%2043.65L96.73%2044.24L95.84%2044.67L94.94%2044.95L94.05%2045.07L93.16%2045.02L92.26%2044.81L91.37%2044.44L90.47%2043.92L89.58%2043.24L88.69%2042.43L87.79%2041.48L86.9%2040.41L86%2039.23L85.11%2037.95L84.22%2036.6L83.32%2035.18L82.43%2033.71L81.53%2032.21L80.64%2030.69L79.63%2029.05L78.55%2027.46L77.41%2025.94L76.22%2024.51L74.98%2023.2L73.7%2022.03L72.39%2021.01L71.06%2020.17L69.72%2019.51L68.39%2019.05L67.07%2018.8L65.78%2018.75L64.53%2018.92L63.34%2019.3L62.21%2019.89L61.16%2020.68L60.19%2021.66L59.31%2022.82L58.53%2024.14L57.85%2025.61L57.27%2027.21L56.8%2028.92L56.43%2030.72L56.15%2032.58L55.97%2034.49L55.87%2036.41L55.84%2038.33L55.88%2040.23L55.96%2042.09L56.07%2043.88L56.21%2045.58L56.34%2047.19L56.46%2048.7L56.54%2050.07L56.58%2051.32L56.55%2052.43L56.44%2053.41L56.23%2054.24L55.92%2054.93L55.49%2055.49L54.93%2055.92L54.24%2056.23L53.41%2056.44L52.43%2056.55L51.32%2056.58L50.07%2056.54L48.69%2056.46L47.19%2056.34L45.58%2056.21L43.87%2056.07L42.08%2055.96L40.23%2055.88L38.33%2055.84L36.41%2055.87L34.48%2055.97L32.58%2056.15L30.72%2056.43L28.92%2056.8L27.21%2057.27L25.61%2057.85L24.14%2058.53L22.81%2059.31L21.66%2060.19L20.68%2061.16L19.89%2062.21L19.3%2063.34L18.92%2064.53L18.75%2065.78L18.8%2067.07L19.05%2068.39L19.51%2069.72L20.17%2071.06L21.02%2072.39L22.03%2073.7L23.2%2074.98L24.51%2076.22L25.94%2077.41L27.46%2078.55L29.05%2079.63L30.69%2080.64L32.21%2081.53L33.71%2082.43L35.18%2083.32L36.6%2084.22L37.96%2085.11L39.23%2086L40.41%2086.9L41.48%2087.79L42.43%2088.69L43.25%2089.58L43.92%2090.47L44.44%2091.37L44.81%2092.26L45.02%2093.16L45.07%2094.05L44.95%2094.94L44.67%2095.84L44.24%2096.73L43.65%2097.63L42.91%2098.52L42.04%2099.41L41.03%20100.31L39.91%20101.2L38.69%20102.1L37.38%20102.99L35.99%20103.88L34.55%20104.78L33.06%20105.67L31.56%20106.57L30.04%20107.46L28.53%20108.35L27.05%20109.25L25.62%20110.14L24.25%20111.04L22.96%20111.93L21.76%20112.82L20.66%20113.72L19.68%20114.61L18.84%20115.51L18.13%20116.4L17.58%20117.29L17.17%20118.19L16.93%20119.08L16.85%20119.98L17.12%20122.73L17.92%20125.38L19.23%20127.82L20.98%20129.95L23.12%20131.71L25.56%20133.01L28.21%20133.82L30.96%20134.09L33.71%20133.82L36.36%20133.01L38.8%20131.71L40.94%20129.95L42.69%20127.82L44%20125.38L44.8%20122.73L45.07%20119.98%22%20fill%3D%22none%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%2F%3E%3Cmask%20id%3D%22knom1%22%20maskUnits%3D%22userSpaceOnUse%22%20x%3D%22-144%22%20y%3D%22-144%22%20width%3D%22432%22%20height%3D%22432%22%3E%3Crect%20x%3D%22-144%22%20y%3D%22-144%22%20width%3D%22432%22%20height%3D%22432%22%20fill%3D%22%23fff%22%2F%3E%3Cg%20clip-path%3D%22url(%23knof0)%22%3E%3Cpath%20d%3D%22M45.07%20119.98L44.99%20119.08L44.75%20118.19L44.34%20117.29L43.79%20116.4L43.08%20115.51L42.24%20114.61L41.26%20113.72L40.16%20112.82L38.96%20111.93L37.67%20111.04%22%20fill%3D%22none%22%20stroke%3D%22%23000%22%20stroke-width%3D%2214.57%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%2F%3E%3C%2Fg%3E%3Cg%20clip-path%3D%22url(%23knof2)%22%3E%3Cpath%20d%3D%22M18.67%2089.58L19.49%2088.69L20.44%2087.79L21.51%2086.9L22.69%2086L23.96%2085.11L25.32%2084.22L26.74%2083.32L28.21%2082.43L29.71%2081.53L31.23%2080.64L32.89%2079.7L34.54%2078.83L36.15%2078.02L37.71%2077.26L39.19%2076.56L40.58%2075.9L41.84%2075.27L42.97%2074.67L43.95%2074.09L44.78%2073.51%22%20fill%3D%22none%22%20stroke%3D%22%23000%22%20stroke-width%3D%2214.57%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%2F%3E%3C%2Fg%3E%3Cg%20clip-path%3D%22url(%23knof4)%22%3E%3Cpath%20d%3D%22M40.2%2033.29L41.67%2033.15L43.22%2033.18L44.85%2033.36L46.54%2033.7L48.26%2034.18L50%2034.79L51.75%2035.51L53.49%2036.33L55.19%2037.22L56.86%2038.18L58.47%2039.17L60.02%2040.17L61.49%2041.16L62.88%2042.12L64.19%2043.03L65.41%2043.87L66.54%2044.61L67.58%2045.25L68.54%2045.75L69.42%2046.11%22%20fill%3D%22none%22%20stroke%3D%22%23000%22%20stroke-width%3D%2214.57%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%2F%3E%3C%2Fg%3E%3Cg%20clip-path%3D%22url(%23knof6)%22%3E%3Cpath%20d%3D%22M100.31%2020.89L101.2%2022L102.1%2023.23L102.99%2024.54L103.88%2025.92L104.78%2027.37L105.67%2028.85L106.57%2030.36L107.46%2031.88L108.35%2033.39L109.25%2034.86L110.14%2036.3L111.04%2037.67L111.93%2038.96L112.82%2040.16L113.72%2041.26%22%20fill%3D%22none%22%20stroke%3D%22%23000%22%20stroke-width%3D%2214.57%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%2F%3E%3C%2Fg%3E%3C%2Fmask%3E%3C%2Fdefs%3E%3Cg%20opacity%3D%220.2%22%3E%3Cg%20mask%3D%22url(%23knom0)%22%3E%3Cuse%20href%3D%22%23knop0%22%20stroke%3D%22%23230716%22%20stroke-width%3D%2212.36%22%2F%3E%3Cuse%20href%3D%22%23knop0%22%20stroke%3D%22%234d0f30%22%20stroke-width%3D%228.35%22%2F%3E%3C%2Fg%3E%3Cg%20mask%3D%22url(%23knom1)%22%3E%3Cuse%20href%3D%22%23knop1%22%20stroke%3D%22%23230716%22%20stroke-width%3D%2212.36%22%2F%3E%3Cuse%20href%3D%22%23knop1%22%20stroke%3D%22%234d0f30%22%20stroke-width%3D%228.35%22%2F%3E%3C%2Fg%3E%3Cpath%20d%3D%22M27.62%20119.08a3.34%203.34%200%201%200%206.68%200a3.34%203.34%200%201%200%20-6.68%200%22%20fill%3D%22%234d0f30%22%20stroke%3D%22%23230716%22%20stroke-width%3D%224.01%22%20stroke-linejoin%3D%22round%22%20stroke-linecap%3D%22round%22%2F%3E%3Cpath%20d%3D%22M27.62%2093.16a3.34%203.34%200%201%200%206.68%200a3.34%203.34%200%201%200%20-6.68%200%22%20fill%3D%22%234d0f30%22%20stroke%3D%22%23230716%22%20stroke-width%3D%224.01%22%20stroke-linejoin%3D%22round%22%20stroke-linecap%3D%22round%22%2F%3E%3Cpath%20d%3D%22M29.48%2067.15a3.34%203.34%200%201%200%206.68%200a3.34%203.34%200%201%200%20-6.68%200%22%20fill%3D%22%234d0f30%22%20stroke%3D%22%23230716%22%20stroke-width%3D%224.01%22%20stroke-linejoin%3D%22round%22%20stroke-linecap%3D%22round%22%2F%3E%3Cpath%20d%3D%22M42.87%2044.83a3.34%203.34%200%201%200%206.68%200a3.34%203.34%200%201%200%20-6.68%200%22%20fill%3D%22%234d0f30%22%20stroke%3D%22%23230716%22%20stroke-width%3D%224.01%22%20stroke-linejoin%3D%22round%22%20stroke-linecap%3D%22round%22%2F%3E%3Cpath%20d%3D%22M64.76%2032.57a3.34%203.34%200%201%200%206.68%200a3.34%203.34%200%201%200%20-6.68%200%22%20fill%3D%22%234d0f30%22%20stroke%3D%22%23230716%22%20stroke-width%3D%224.01%22%20stroke-linejoin%3D%22round%22%20stroke-linecap%3D%22round%22%2F%3E%3Cpath%20d%3D%22M90.71%2030.96a3.34%203.34%200%201%200%206.68%200a3.34%203.34%200%201%200%20-6.68%200%22%20fill%3D%22%234d0f30%22%20stroke%3D%22%23230716%22%20stroke-width%3D%224.01%22%20stroke-linejoin%3D%22round%22%20stroke-linecap%3D%22round%22%2F%3E%3Cpath%20d%3D%22M116.63%2030.96a3.34%203.34%200%201%200%206.68%200a3.34%203.34%200%201%200%20-6.68%200%22%20fill%3D%22%234d0f30%22%20stroke%3D%22%23230716%22%20stroke-width%3D%224.01%22%20stroke-linejoin%3D%22round%22%20stroke-linecap%3D%22round%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E");
    background-size: 100% 100%;
    background-repeat: no-repeat;
    pointer-events: none;
  }
  /*
   * DIE GESPIEGELTE IST DIE RECHTE.
   *
   * Hier stand es andersherum, und damit lag an der LINKEN Blattecke eine
   * rechte Ecke: Der senkrechte Schenkel saß innen statt am Rand, der
   * Bogen öffnete sich nach außen, und das Geflecht hing frei in der
   * Fläche statt die Kante zu fassen.
   *
   * Keltisch.zeichen('knotenecke') zeichnet die Mittellinie als L mit dem
   * SENKRECHTEN Schenkel LINKS und dem waagerechten OBEN (keltisch.js,
   * knotenecke: erst von unten herauf bei x = rand, dann der Viertelkreis
   * von PI bis 3/2 PI, dann nach rechts hinaus bei y = rand). Das ist
   * fertig eine Ecke für OBEN LINKS – sie gehört also unverändert nach
   * links, und gespiegelt nach rechts.
   */
  main::before { left: 0; }
  main::after  { right: 0; transform: scaleX(-1); }
}


/* ===========================================================================
 * ZEILENLÄNGE
 * ===========================================================================
 *
 * Der Fließtext eines Beitrags steht in einer 661 Punkte schmalen Spalte –
 * gut. Die übrigen Seiten hatten keine: Auf dem Maßhelfer liefen Zeilen
 * über 1012 Punkte, gemessen rund 101 und 130 Zeichen. Ab etwa 90 Zeichen
 * findet das Auge beim Umbruch den Zeilenanfang nicht mehr zuverlässig.
 *
 * 42rem sind rund 670 Punkte und damit dieselbe Breite wie der Fließtext –
 * so lesen sich alle Seiten gleich.
 *
 * NICHT in ch gerechnet: ch bezieht sich auf die Schriftgröße des
 * jeweiligen Elements, eine Überschrift bekäme damit eine andere Breite
 * als ein Absatz. Das ist genau das Gegenteil von dem, was man will.
 */
.masshelfer > p,
.rechtstext,
.suche__hinweis,
.hinweis,
.album > li ~ p,
.beitrag__teaser {
  max-width: 42rem;
}

/* Die Maßtabelle darf breit bleiben – eine Tabelle liest man spaltenweise,
   nicht zeilenweise, und schmal gequetscht brechen die Zahlen um. */
.masshelfer__tabelle { max-width: none; }

/* ===========================================================================
 * DIE GANZE KARTE IST DER VERWEIS
 * ===========================================================================
 *
 * Der Titel einer Karte war 30 Punkte hoch – als Tippziel auf dem Telefon
 * zu wenig. Ihn auf 44 aufzublasen hieße, Luft zwischen Titel und Text zu
 * schieben, die dort gestalterisch nichts zu suchen hat.
 *
 * Also wird stattdessen die ganze Karte zum Ziel: Der Titelverweis legt
 * eine unsichtbare Fläche über die Karte. Das ist nebenbei das, was man
 * ohnehin erwartet – wer auf eine Karte tippt, will den Beitrag.
 *
 * Für Vorleseprogramme ändert sich nichts: Es bleibt EIN Verweis mit dem
 * Titel als Text. Das Bild darüber trägt schon aria-hidden und
 * tabindex="-1", es war nie ein zweiter Eintrag.
 *
 * Was INNERHALB der Karte eigene Verweise hat – die Kategorie im Kicker –,
 * muss darüber liegen, sonst verschluckt die Fläche sie.
 */
.karte,
.suchtreffer > li { position: relative; }

/* Ein Suchtreffer ist ein Titel, eine Angabenzeile und ein Anriss – und
   anklickbar war nur der Titel, 23 Punkte hoch. Dieselbe Lösung wie bei
   den Karten: Der Titelverweis legt sich über den ganzen Eintrag. */
.suchtreffer > li > a::after,
.karte__titel a::after {
  content: "";
  position: absolute;
  inset: 0;
  /* Nichts Sichtbares, nur Fläche. */
  background: transparent;
}

.karte .kicker a { position: relative; z-index: 1; }
.suchtreffer > li > a { position: static; }

/* Beim Draufzeigen soll die ganze Karte reagieren, nicht nur der Titel –
   sonst wirkt die Fläche wie ein Fehler. :has() macht das ohne Skript. */
@supports selector(:has(*)) {
  @media (hover: hover) {
    .karte:has(.karte__titel a:hover) .karte__titel a { color: var(--akzent-zwei); }
  }
}
.karte__titel a:focus-visible::after,
.suchtreffer > li > a:focus-visible::after {
  outline: 2px solid var(--akzent);
  outline-offset: 3px;
}

/* ===========================================================================
 * WENN WENIG DA IST
 * ===========================================================================
 *
 * Zwei Stellen, an denen die Seite bei wenig Inhalt auseinanderfällt:
 *
 *   1. Eine Rubrik mit EINEM Beitrag zeigte eine Karte links oben und
 *      daneben zwei leere Spalten – 85 % weiße Fläche. Das Raster ist
 *      richtig, nur die Ausrichtung war es nicht.
 *
 *   2. Ein Beitrag OHNE Werkbank-Angaben (kein Material, keine Schritte,
 *      keine Kennzahlen) behielt die leere linke Spalte trotzdem: 300
 *      Punkte breit, 0 hoch, und der Fließtext begann 356 Punkte weiter
 *      rechts als alles andere auf der Seite.
 */

/* Wenige Karten rücken in die Mitte, statt links zu kleben. Bei drei und
   mehr ändert sich nichts – dann ist die Reihe ohnehin voll. */
.beitragsliste { justify-content: center; }
.beitragsliste > * { width: 100%; max-width: 420px; justify-self: center; }

/* :has() ist hier genau das richtige Werkzeug: Die Spalte verschwindet,
   wenn die Seitenspalte leer ist – ohne dass PHP das wissen muss. Wo der
   Browser :has() nicht kennt, bleibt es beim Bisherigen; das ist eine
   leere Spalte, kein Fehler. */
@supports selector(:has(*)) {
  @media (min-width: 900px) {
    .werkbank:has(> .werkbank__seite:empty) { grid-template-columns: 1fr; }
    .werkbank > .werkbank__seite:empty { display: none; }
  }
}

/* ------------------------------------------------------------- Album
 *
 * Die Polaroids standen unterschiedlich hoch: Ein zweizeiliger Titel machte
 * die Karte länger, und die Unterkanten franste eine Reihe lang aus. In
 * einem Raster lässt sich das abstellen – die Karte füllt ihre Zelle, und
 * die Angaben hängen sich unten an.
 */
.album__eintrag { display: grid; }
.album__eintrag a { grid-template-rows: auto auto 1fr; height: 100%; }
.album__angaben { align-self: end; }

/* Die Beschriftung über einer Filterreihe. Klein, in Schreibmaschine, wie
   alle Beschriftungen auf dieser Seite – sie soll die Reihe benennen, nicht
   mit ihr konkurrieren. */
.album__filterwort {
  margin: 1.4rem 0 .35rem;
  font-family: var(--mono);
  font-size: .68rem;
  letter-spacing: .12em;
  text-transform: uppercase;
  color: var(--text-leise);
}
.album__filterwort + .album__filter { margin-top: 0; }

/* -------------------------------------------- Lange Wörter umbrechen
 *
 * „Datenschutzerklärung" ist ein Wort und passt auf 375 Punkten nicht in
 * die Lesespalte: Die Überschrift stand 49 Punkte über, und die ganze Seite
 * ließ sich seitwärts schieben (gemessen Fenster 375, Dokument 404). Das
 * trifft jede deutsche Zusammensetzung – Schnittmusteralbum,
 * Reißverschlussfuß, Thermomix-Rezepte.
 *
 * hyphens: auto trennt nach den Regeln der Sprache; dass das <html> ein
 * lang="de" trägt, ist dafür die Voraussetzung und steht im Layout.
 * overflow-wrap fängt ab, was sich nicht trennen lässt – Adressen etwa.
 */
.beitrag__titel, .aufmacher__titel, .seitentitel, .karte__titel,
.baustein__titel, .kopf__titel, .fliesstext, .rechtstext {
  hyphens: auto;
  overflow-wrap: break-word;
}

/* ---------------------------------------------------------- Überschriften
 * Etwas mehr Luft davor als danach – eine Überschrift gehört zum Text
 * UNTER ihr, nicht zu dem darüber. */
.fliesstext h2, .rechtstext h2 { margin-block: 2.2rem .6rem; }
.fliesstext h3, .rechtstext h3 { margin-block: 1.8rem .4rem; }

/* Zitate als eingerücktes Stück mit Faden statt als Kasten. */
.fliesstext blockquote, .rechtstext blockquote {
  margin: 1.6rem 0;
  padding: .2rem 0 .2rem 1.4rem;
  border-left: 2px dashed color-mix(in srgb, var(--akzent) 35%, var(--papier));
  font-family: var(--serif);
  font-size: 1.1em;
  line-height: 1.45;
  color: color-mix(in srgb, var(--text) 85%, var(--akzent));
}

/* Hier stand ein zweiter Satz Regeln für die dunkle Umgebung –
   Holztöne, Messingkanten, ein eigener Zettel. Der Dunkelmodus ist am
   21.10.2026 ausgebaut worden; es gibt nur noch dieses eine Schema. */

/* ===========================================================================
 * DER NÄHTISCH AM FENSTER
 * ===========================================================================
 *
 * Bis hierher hatte der Blog schöne Einzelteile – Leinen, Tartan,
 * Knotenband, Kreuzstich, Wetter, Katze – und keine Klammer, die erklärt,
 * warum sie zusammen auf einer Seite sind. Ab hier gibt es eine:
 *
 *     Die Seite ist keine Seite. Sie ist die TISCHPLATTE, auf die Sarah
 *     ihre Arbeit legt – gekalkte Küche, Regen vor dem Fenster, eine
 *     Lampe über dem Tisch.
 *
 * Irisches Landhaus draußen und als Kante, deutsche Gemütlichkeit drinnen
 * und als Ordnung. Jede weitere Entscheidung beantwortet eine Frage:
 * „Liegt das auf einem Nähtisch?" Wenn nein, kommt es nicht auf die Seite.
 *
 * Die ganze Beschreibung steht in werkzeuge/KONZEPT.md, die gebaute
 * Vorlage in werkzeuge/konzept.html.
 *
 * Der Abschnitt steht ABSICHTLICH ganz am Ende: Er ändert Dinge, die
 * weiter oben schon gesetzt sind (body, main, .karte), und in CSS gewinnt
 * bei gleicher Gewichtung das Letzte.
 * ========================================================================= */

:root {
  /*
   * DIE LESEBREITE WIRD SCHMALER: 1140 → 960.
   *
   * Nicht aus Geschmack. Der Bogen muss AUF dem Tuch liegen und das Tuch
   * AUF dem Tisch, und beides braucht einen Rand, sonst sieht man weder
   * Tuch noch Tisch. Die Rechnung von außen nach innen:
   *
   *   Fenster 1280 − Tuch 1160  =  60 Punkte Holz je Seite
   *   Tuch 1160 − Bogen 1040    =  60 Punkte Leinen je Seite
   *   Bogen = --breite + 5rem   =  960 + 80
   *
   * Bei 960 bleiben nach dem Innenrand rund 830 Punkte Inhalt – immer noch
   * drei Kartenspalten, nur ohne die überlange Zeile von vorher.
   */
  --breite: 960px;

  /*
   * IRISCHES LANDHAUS. Die Farben der Dinge, nicht der Marke: das Grün an
   * Tür und Anrichte, der zweite Lack daneben, das Messing der Beschläge,
   * die gekalkte Wand, der Schiefer, die ungefärbte Wolle.
   */
  --moos:        #27493a;
  --ochsenblut:  #8a2f28;
  --messing:     #b08d45;
  --kalk:        #f1ebe1;
  --schiefer:    #4a4a46;
  --aran:        #e3dac8;

  /* DEUTSCHE GEMÜTLICHKEIT. Der gescheuerte Tisch, der
     Geschirrtuchstreifen, der Kachelofen, das Licht unter dem Schirm. */
  --kiefer:      #c39a63;
  --kiefer-tief: #9a703f;
  --tuchblau:    #2d5a86;
  --tuchrot:     #a7332f;
  --ofencreme:   #efe2ca;
  --lampe:       #f0c67a;

  /* Die Handschrift. Dieselbe wie im Blognamen – sie hat ab jetzt genau
     zwei Plätze: Randnotiz und Polaroid-Steg. Nie Fließtext. */
  --hand: "Caveat", "Bradley Hand", "Segoe Script", cursive;

  /*
   * DAS LICHT HAT EINE RICHTUNG – UND DAMIT JEDER SCHATTEN.
   *
   * Lampe links warm, Fenster rechts kühl. Daraus folgt: Schatten fallen
   * nach UNTEN RECHTS und sind BRÄUNLICH. Neutrales Grau ist Fotostudio,
   * kein Küchentisch; es ist der häufigste Grund, warum eine Seite
   * „gebaut" aussieht statt fotografiert.
   *
   * Drei Stufen, mehr braucht es nicht: was flach aufliegt, was angehoben
   * ist, was darüber schwebt.
   */
  /*
   * Jede Stufe hat DREI Lagen, und die erste ist die wichtigste: ein
   * enger, dunkler Kontaktschatten direkt unter der Kante. Ohne ihn
   * schwebt alles ein bisschen – der weiche Wurf allein sagt „darüber",
   * aber nicht „liegt auf". Erst der harte Saum unten setzt das Blatt
   * aufs Tuch.
   */
  --wurf-klein: 0 1px 1px rgba(58,40,28,.22),
                1px 2px 3px rgba(58,40,28,.11), 2px 5px 11px rgba(58,40,28,.1);
  --wurf:       0 1px 2px rgba(58,40,28,.24),
                1px 3px 5px rgba(58,40,28,.12), 4px 10px 22px rgba(58,40,28,.13);
  --wurf-hoch:  0 2px 3px rgba(58,40,28,.26),
                2px 5px 9px rgba(58,40,28,.14), 8px 22px 44px rgba(58,40,28,.18);
}

/* ---------------------------------------------------------------- Der Tisch
 *
 * Gescheuerte Kiefer. Drei Lagen: breite Adern, feine Maserung, und ein
 * Abdunkeln an den beiden Außenkanten, damit die Platte dort wegkippt.
 *
 * KEINE senkrechten Verläufe über die ganze Seitenhöhe – auf einem langen
 * Beitrag wäre das ein Verlauf über fünftausend Punkte, und oben sähe das
 * Holz anders aus als unten. Alles hier ist entweder waagerecht oder
 * kachelt. */
body {
  /*
   * Der erste Anlauf war zu hell und zu orange – das Holz schrie lauter
   * als das Tuch darauf. Gescheuerte Kiefer ist mattes Honigbraun und
   * steht im Schatten des Tisches, nicht im Licht.
   */
  background-color: #a87c4b;
  background-image:
    /*
     * ZUERST DAS STREUGUT, dann erst das Holz – die oberste Lage steht
     * vorn. Zwei Streifen, links und rechts am Fensterrand, senkrecht
     * gekachelt, damit auch eine lange Seite nicht unten leer wird.
     *
     * Kein @media nötig: Wird das Fenster schmal, schiebt sich das Tuch
     * von selbst darüber. Ein Tuch, das größer ist als der Tisch, ist ein
     * Tuch und kein Fehler.
     */
    url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%22120%22%20height%3D%22760%22%20viewBox%3D%220%200%20120%20760%22%3E%3Cdefs%3E%3Cfilter%20id%3D%22sg%22%20x%3D%22-30%25%22%20y%3D%22-30%25%22%20width%3D%22160%25%22%20height%3D%22160%25%22%3E%3CfeGaussianBlur%20stdDeviation%3D%221.6%22%2F%3E%3C%2Ffilter%3E%3C%2Fdefs%3E%3Cg%20filter%3D%22url(%23sg)%22%20opacity%3D%22.3%22%20transform%3D%22translate(1.6%202.6)%22%3E%3Cpath%20d%3D%22M101.6%20651.9q-10.3%20-1.2%20-14.9%208.1%22%20fill%3D%22none%22%20stroke%3D%22%233a281c%22%20stroke-width%3D%221.5%22%20stroke-linecap%3D%22round%22%2F%3E%3Cpath%20d%3D%22M77.6%20236.7q21.6%20-13.1%2025.3%2011.9%22%20fill%3D%22none%22%20stroke%3D%22%233a281c%22%20stroke-width%3D%221.5%22%20stroke-linecap%3D%22round%22%2F%3E%3Cpath%20d%3D%22M97.3%2054.3q12.4%20-2.9%2020.2%207.2%22%20fill%3D%22none%22%20stroke%3D%22%233a281c%22%20stroke-width%3D%221.5%22%20stroke-linecap%3D%22round%22%2F%3E%3Cpath%20d%3D%22M58.4%20376.2q-12.8%20-6.9%20-6.6%20-20.1%22%20fill%3D%22none%22%20stroke%3D%22%233a281c%22%20stroke-width%3D%221.5%22%20stroke-linecap%3D%22round%22%2F%3E%3Cpath%20d%3D%22M53.5%20258.6q-28.1%204.1%20-11.2%2026.9%22%20fill%3D%22none%22%20stroke%3D%22%233a281c%22%20stroke-width%3D%221.5%22%20stroke-linecap%3D%22round%22%2F%3E%3Cpath%20d%3D%22M87.8%20617.1q-11.2%20-2.0%20-8.9%20-13.1%22%20fill%3D%22none%22%20stroke%3D%22%233a281c%22%20stroke-width%3D%221.5%22%20stroke-linecap%3D%22round%22%2F%3E%3Cpath%20d%3D%22M25.2%20666.2q-20.6%20-22.4%20-33.1%205.4%22%20fill%3D%22none%22%20stroke%3D%22%233a281c%22%20stroke-width%3D%221.5%22%20stroke-linecap%3D%22round%22%2F%3E%3Cpath%20d%3D%22M22.4%2030.2q-2.8%20-23.8%2020.9%20-27.5%22%20fill%3D%22none%22%20stroke%3D%22%233a281c%22%20stroke-width%3D%221.5%22%20stroke-linecap%3D%22round%22%2F%3E%3Ccircle%20cx%3D%2241.9%22%20cy%3D%22306.7%22%20r%3D%2214.6%22%20fill%3D%22%233a281c%22%2F%3E%3Ccircle%20cx%3D%2230.1%22%20cy%3D%22580.2%22%20r%3D%2214.2%22%20fill%3D%22%233a281c%22%2F%3E%3Cpath%20d%3D%22M97.2%20415.4L111.5%20440.6%22%20stroke%3D%22%233a281c%22%20stroke-width%3D%222.6%22%20stroke-linecap%3D%22round%22%2F%3E%3Ccircle%20cx%3D%2297.2%22%20cy%3D%22415.4%22%20r%3D%224.6%22%20fill%3D%22%233a281c%22%2F%3E%3C%2Fg%3E%3Cpath%20d%3D%22M101.6%20651.9q-10.3%20-1.2%20-14.9%208.1%22%20fill%3D%22none%22%20stroke%3D%22%2354345d%22%20stroke-width%3D%221.5%22%20stroke-linecap%3D%22round%22%20opacity%3D%22.72%22%2F%3E%3Cpath%20d%3D%22M77.6%20236.7q21.6%20-13.1%2025.3%2011.9%22%20fill%3D%22none%22%20stroke%3D%22%237a3f6d%22%20stroke-width%3D%221.5%22%20stroke-linecap%3D%22round%22%20opacity%3D%22.72%22%2F%3E%3Cpath%20d%3D%22M97.3%2054.3q12.4%20-2.9%2020.2%207.2%22%20fill%3D%22none%22%20stroke%3D%22%232d5a86%22%20stroke-width%3D%221.5%22%20stroke-linecap%3D%22round%22%20opacity%3D%22.72%22%2F%3E%3Cpath%20d%3D%22M58.4%20376.2q-12.8%20-6.9%20-6.6%20-20.1%22%20fill%3D%22none%22%20stroke%3D%22%23b08d45%22%20stroke-width%3D%221.5%22%20stroke-linecap%3D%22round%22%20opacity%3D%22.72%22%2F%3E%3Cpath%20d%3D%22M53.5%20258.6q-28.1%204.1%20-11.2%2026.9%22%20fill%3D%22none%22%20stroke%3D%22%2327493a%22%20stroke-width%3D%221.5%22%20stroke-linecap%3D%22round%22%20opacity%3D%22.72%22%2F%3E%3Cpath%20d%3D%22M87.8%20617.1q-11.2%20-2.0%20-8.9%20-13.1%22%20fill%3D%22none%22%20stroke%3D%22%238a2f28%22%20stroke-width%3D%221.5%22%20stroke-linecap%3D%22round%22%20opacity%3D%22.72%22%2F%3E%3Cpath%20d%3D%22M25.2%20666.2q-20.6%20-22.4%20-33.1%205.4%22%20fill%3D%22none%22%20stroke%3D%22%2354345d%22%20stroke-width%3D%221.5%22%20stroke-linecap%3D%22round%22%20opacity%3D%22.72%22%2F%3E%3Cpath%20d%3D%22M22.4%2030.2q-2.8%20-23.8%2020.9%20-27.5%22%20fill%3D%22none%22%20stroke%3D%22%237a3f6d%22%20stroke-width%3D%221.5%22%20stroke-linecap%3D%22round%22%20opacity%3D%22.72%22%2F%3E%3Ccircle%20cx%3D%2241.9%22%20cy%3D%22306.7%22%20r%3D%2214.6%22%20fill%3D%22%23e9dcc0%22%2F%3E%3Ccircle%20cx%3D%2241.9%22%20cy%3D%22306.7%22%20r%3D%2214.0%22%20fill%3D%22none%22%20stroke%3D%22%23b9a681%22%20stroke-width%3D%221%22%2F%3E%3Ccircle%20cx%3D%2241.9%22%20cy%3D%22306.7%22%20r%3D%229.1%22%20fill%3D%22none%22%20stroke%3D%22%23b9a681%22%20stroke-width%3D%22.7%22%20opacity%3D%22.7%22%2F%3E%3Cpath%20d%3D%22M32.8%20299.3a11.7%2011.7%200%200%201%2013.2%20-2.9%22%20fill%3D%22none%22%20stroke%3D%22%23ffffff%22%20stroke-width%3D%221.1%22%20opacity%3D%22.55%22%2F%3E%3Ccircle%20cx%3D%2236.9%22%20cy%3D%22301.7%22%20r%3D%221.7%22%20fill%3D%22%234a3a28%22%2F%3E%3Cpath%20d%3D%22M35.2%20302.4a1.7%201.7%200%200%200%203.4%200%22%20fill%3D%22none%22%20stroke%3D%22%23ffffff%22%20stroke-width%3D%22.7%22%20opacity%3D%22.5%22%2F%3E%3Ccircle%20cx%3D%2246.9%22%20cy%3D%22301.7%22%20r%3D%221.7%22%20fill%3D%22%234a3a28%22%2F%3E%3Cpath%20d%3D%22M45.2%20302.4a1.7%201.7%200%200%200%203.4%200%22%20fill%3D%22none%22%20stroke%3D%22%23ffffff%22%20stroke-width%3D%22.7%22%20opacity%3D%22.5%22%2F%3E%3Ccircle%20cx%3D%2236.9%22%20cy%3D%22311.6%22%20r%3D%221.7%22%20fill%3D%22%234a3a28%22%2F%3E%3Cpath%20d%3D%22M35.2%20312.3a1.7%201.7%200%200%200%203.4%200%22%20fill%3D%22none%22%20stroke%3D%22%23ffffff%22%20stroke-width%3D%22.7%22%20opacity%3D%22.5%22%2F%3E%3Ccircle%20cx%3D%2246.9%22%20cy%3D%22311.6%22%20r%3D%221.7%22%20fill%3D%22%234a3a28%22%2F%3E%3Cpath%20d%3D%22M45.2%20312.3a1.7%201.7%200%200%200%203.4%200%22%20fill%3D%22none%22%20stroke%3D%22%23ffffff%22%20stroke-width%3D%22.7%22%20opacity%3D%22.5%22%2F%3E%3Cpath%20d%3D%22M36.9%20301.7L46.9%20311.6M46.9%20301.7L36.9%20311.6%22%20stroke%3D%22%238a2f28%22%20stroke-width%3D%221.6%22%20stroke-linecap%3D%22round%22%2F%3E%3Ccircle%20cx%3D%2230.1%22%20cy%3D%22580.2%22%20r%3D%2214.2%22%20fill%3D%22%23cdb79a%22%2F%3E%3Ccircle%20cx%3D%2230.1%22%20cy%3D%22580.2%22%20r%3D%2213.6%22%20fill%3D%22none%22%20stroke%3D%22%239c8464%22%20stroke-width%3D%221%22%2F%3E%3Ccircle%20cx%3D%2230.1%22%20cy%3D%22580.2%22%20r%3D%228.8%22%20fill%3D%22none%22%20stroke%3D%22%239c8464%22%20stroke-width%3D%22.7%22%20opacity%3D%22.7%22%2F%3E%3Cpath%20d%3D%22M21.4%20573.1a11.3%2011.3%200%200%201%2012.8%20-2.8%22%20fill%3D%22none%22%20stroke%3D%22%23ffffff%22%20stroke-width%3D%221.1%22%20opacity%3D%22.55%22%2F%3E%3Ccircle%20cx%3D%2225.0%22%20cy%3D%22580.2%22%20r%3D%221.6%22%20fill%3D%22%234a3a28%22%2F%3E%3Cpath%20d%3D%22M23.4%20580.9a1.6%201.6%200%200%200%203.3%200%22%20fill%3D%22none%22%20stroke%3D%22%23ffffff%22%20stroke-width%3D%22.7%22%20opacity%3D%22.5%22%2F%3E%3Ccircle%20cx%3D%2235.3%22%20cy%3D%22580.2%22%20r%3D%221.6%22%20fill%3D%22%234a3a28%22%2F%3E%3Cpath%20d%3D%22M33.6%20580.9a1.6%201.6%200%200%200%203.3%200%22%20fill%3D%22none%22%20stroke%3D%22%23ffffff%22%20stroke-width%3D%22.7%22%20opacity%3D%22.5%22%2F%3E%3Cpath%20d%3D%22M25.0%20579.2q5.1%202.6%2010.2%200%22%20fill%3D%22none%22%20stroke%3D%22%232d5a86%22%20stroke-width%3D%221.6%22%20stroke-linecap%3D%22round%22%2F%3E%3Cpath%20d%3D%22M97.2%20415.4L111.5%20440.6%22%20stroke%3D%22%239b9aa2%22%20stroke-width%3D%221.7%22%20stroke-linecap%3D%22round%22%2F%3E%3Ccircle%20cx%3D%2297.2%22%20cy%3D%22415.4%22%20r%3D%224.6%22%20fill%3D%22%23b3261e%22%2F%3E%3Ccircle%20cx%3D%2295.9%22%20cy%3D%22414.0%22%20r%3D%221.4%22%20fill%3D%22%23ffffff%22%20opacity%3D%22.65%22%2F%3E%3C%2Fsvg%3E"),
    url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%22120%22%20height%3D%22760%22%20viewBox%3D%220%200%20120%20760%22%3E%3Cdefs%3E%3Cfilter%20id%3D%22sg%22%20x%3D%22-30%25%22%20y%3D%22-30%25%22%20width%3D%22160%25%22%20height%3D%22160%25%22%3E%3CfeGaussianBlur%20stdDeviation%3D%221.6%22%2F%3E%3C%2Ffilter%3E%3C%2Fdefs%3E%3Cg%20filter%3D%22url(%23sg)%22%20opacity%3D%22.3%22%20transform%3D%22translate(1.6%202.6)%22%3E%3Cpath%20d%3D%22M20.0%20339.3q15.6%2014.3%201.5%2030.1%22%20fill%3D%22none%22%20stroke%3D%22%233a281c%22%20stroke-width%3D%221.5%22%20stroke-linecap%3D%22round%22%2F%3E%3Cpath%20d%3D%22M38.7%20675.8q-19.1%20-27.6%2014.2%20-32.0%22%20fill%3D%22none%22%20stroke%3D%22%233a281c%22%20stroke-width%3D%221.5%22%20stroke-linecap%3D%22round%22%2F%3E%3Cpath%20d%3D%22M22.1%2072.4q-10.8%20-1.0%20-13.2%209.6%22%20fill%3D%22none%22%20stroke%3D%22%233a281c%22%20stroke-width%3D%221.5%22%20stroke-linecap%3D%22round%22%2F%3E%3Cpath%20d%3D%22M62.8%2067.6q11.6%200.0%2016.6%2010.5%22%20fill%3D%22none%22%20stroke%3D%22%233a281c%22%20stroke-width%3D%221.5%22%20stroke-linecap%3D%22round%22%2F%3E%3Cpath%20d%3D%22M89.6%20433.9q-24.8%200.5%20-19.3%2024.6%22%20fill%3D%22none%22%20stroke%3D%22%233a281c%22%20stroke-width%3D%221.5%22%20stroke-linecap%3D%22round%22%2F%3E%3Cpath%20d%3D%22M66.1%20350.3q-0.3%2014.7%2013.4%209.3%22%20fill%3D%22none%22%20stroke%3D%22%233a281c%22%20stroke-width%3D%221.5%22%20stroke-linecap%3D%22round%22%2F%3E%3Cpath%20d%3D%22M49.0%20292.8q3.2%20-11.9%2015.0%20-8.7%22%20fill%3D%22none%22%20stroke%3D%22%233a281c%22%20stroke-width%3D%221.5%22%20stroke-linecap%3D%22round%22%2F%3E%3Cpath%20d%3D%22M90.0%20594.6q0.8%2017.8%20-16.8%2020.4%22%20fill%3D%22none%22%20stroke%3D%22%233a281c%22%20stroke-width%3D%221.5%22%20stroke-linecap%3D%22round%22%2F%3E%3Ccircle%20cx%3D%2248.3%22%20cy%3D%22310.7%22%20r%3D%2213.7%22%20fill%3D%22%233a281c%22%2F%3E%3Ccircle%20cx%3D%2233.1%22%20cy%3D%22402.1%22%20r%3D%2213.3%22%20fill%3D%22%233a281c%22%2F%3E%3Cpath%20d%3D%22M72.6%20619.8L46.3%20631.0%22%20stroke%3D%22%233a281c%22%20stroke-width%3D%222.6%22%20stroke-linecap%3D%22round%22%2F%3E%3Ccircle%20cx%3D%2272.6%22%20cy%3D%22619.8%22%20r%3D%224.6%22%20fill%3D%22%233a281c%22%2F%3E%3C%2Fg%3E%3Cpath%20d%3D%22M20.0%20339.3q15.6%2014.3%201.5%2030.1%22%20fill%3D%22none%22%20stroke%3D%22%2354345d%22%20stroke-width%3D%221.5%22%20stroke-linecap%3D%22round%22%20opacity%3D%22.72%22%2F%3E%3Cpath%20d%3D%22M38.7%20675.8q-19.1%20-27.6%2014.2%20-32.0%22%20fill%3D%22none%22%20stroke%3D%22%237a3f6d%22%20stroke-width%3D%221.5%22%20stroke-linecap%3D%22round%22%20opacity%3D%22.72%22%2F%3E%3Cpath%20d%3D%22M22.1%2072.4q-10.8%20-1.0%20-13.2%209.6%22%20fill%3D%22none%22%20stroke%3D%22%232d5a86%22%20stroke-width%3D%221.5%22%20stroke-linecap%3D%22round%22%20opacity%3D%22.72%22%2F%3E%3Cpath%20d%3D%22M62.8%2067.6q11.6%200.0%2016.6%2010.5%22%20fill%3D%22none%22%20stroke%3D%22%23b08d45%22%20stroke-width%3D%221.5%22%20stroke-linecap%3D%22round%22%20opacity%3D%22.72%22%2F%3E%3Cpath%20d%3D%22M89.6%20433.9q-24.8%200.5%20-19.3%2024.6%22%20fill%3D%22none%22%20stroke%3D%22%2327493a%22%20stroke-width%3D%221.5%22%20stroke-linecap%3D%22round%22%20opacity%3D%22.72%22%2F%3E%3Cpath%20d%3D%22M66.1%20350.3q-0.3%2014.7%2013.4%209.3%22%20fill%3D%22none%22%20stroke%3D%22%238a2f28%22%20stroke-width%3D%221.5%22%20stroke-linecap%3D%22round%22%20opacity%3D%22.72%22%2F%3E%3Cpath%20d%3D%22M49.0%20292.8q3.2%20-11.9%2015.0%20-8.7%22%20fill%3D%22none%22%20stroke%3D%22%2354345d%22%20stroke-width%3D%221.5%22%20stroke-linecap%3D%22round%22%20opacity%3D%22.72%22%2F%3E%3Cpath%20d%3D%22M90.0%20594.6q0.8%2017.8%20-16.8%2020.4%22%20fill%3D%22none%22%20stroke%3D%22%237a3f6d%22%20stroke-width%3D%221.5%22%20stroke-linecap%3D%22round%22%20opacity%3D%22.72%22%2F%3E%3Ccircle%20cx%3D%2248.3%22%20cy%3D%22310.7%22%20r%3D%2213.7%22%20fill%3D%22%23e9dcc0%22%2F%3E%3Ccircle%20cx%3D%2248.3%22%20cy%3D%22310.7%22%20r%3D%2213.1%22%20fill%3D%22none%22%20stroke%3D%22%23b9a681%22%20stroke-width%3D%221%22%2F%3E%3Ccircle%20cx%3D%2248.3%22%20cy%3D%22310.7%22%20r%3D%228.5%22%20fill%3D%22none%22%20stroke%3D%22%23b9a681%22%20stroke-width%3D%22.7%22%20opacity%3D%22.7%22%2F%3E%3Cpath%20d%3D%22M39.8%20303.8a11.0%2011.0%200%200%201%2012.3%20-2.7%22%20fill%3D%22none%22%20stroke%3D%22%23ffffff%22%20stroke-width%3D%221.1%22%20opacity%3D%22.55%22%2F%3E%3Ccircle%20cx%3D%2243.3%22%20cy%3D%22310.7%22%20r%3D%221.6%22%20fill%3D%22%234a3a28%22%2F%3E%3Cpath%20d%3D%22M41.8%20311.3a1.6%201.6%200%200%200%203.2%200%22%20fill%3D%22none%22%20stroke%3D%22%23ffffff%22%20stroke-width%3D%22.7%22%20opacity%3D%22.5%22%2F%3E%3Ccircle%20cx%3D%2253.2%22%20cy%3D%22310.7%22%20r%3D%221.6%22%20fill%3D%22%234a3a28%22%2F%3E%3Cpath%20d%3D%22M51.6%20311.3a1.6%201.6%200%200%200%203.2%200%22%20fill%3D%22none%22%20stroke%3D%22%23ffffff%22%20stroke-width%3D%22.7%22%20opacity%3D%22.5%22%2F%3E%3Cpath%20d%3D%22M43.3%20309.7q4.9%202.6%209.9%200%22%20fill%3D%22none%22%20stroke%3D%22%238a2f28%22%20stroke-width%3D%221.6%22%20stroke-linecap%3D%22round%22%2F%3E%3Ccircle%20cx%3D%2233.1%22%20cy%3D%22402.1%22%20r%3D%2213.3%22%20fill%3D%22%23cdb79a%22%2F%3E%3Ccircle%20cx%3D%2233.1%22%20cy%3D%22402.1%22%20r%3D%2212.7%22%20fill%3D%22none%22%20stroke%3D%22%239c8464%22%20stroke-width%3D%221%22%2F%3E%3Ccircle%20cx%3D%2233.1%22%20cy%3D%22402.1%22%20r%3D%228.2%22%20fill%3D%22none%22%20stroke%3D%22%239c8464%22%20stroke-width%3D%22.7%22%20opacity%3D%22.7%22%2F%3E%3Cpath%20d%3D%22M24.9%20395.4a10.6%2010.6%200%200%201%2011.9%20-2.7%22%20fill%3D%22none%22%20stroke%3D%22%23ffffff%22%20stroke-width%3D%221.1%22%20opacity%3D%22.55%22%2F%3E%3Ccircle%20cx%3D%2228.3%22%20cy%3D%22402.1%22%20r%3D%221.5%22%20fill%3D%22%234a3a28%22%2F%3E%3Cpath%20d%3D%22M26.8%20402.7a1.5%201.5%200%200%200%203.0%200%22%20fill%3D%22none%22%20stroke%3D%22%23ffffff%22%20stroke-width%3D%22.7%22%20opacity%3D%22.5%22%2F%3E%3Ccircle%20cx%3D%2237.9%22%20cy%3D%22402.1%22%20r%3D%221.5%22%20fill%3D%22%234a3a28%22%2F%3E%3Cpath%20d%3D%22M36.4%20402.7a1.5%201.5%200%200%200%203.0%200%22%20fill%3D%22none%22%20stroke%3D%22%23ffffff%22%20stroke-width%3D%22.7%22%20opacity%3D%22.5%22%2F%3E%3Cpath%20d%3D%22M28.3%20401.1q4.8%202.6%209.5%200%22%20fill%3D%22none%22%20stroke%3D%22%232d5a86%22%20stroke-width%3D%221.6%22%20stroke-linecap%3D%22round%22%2F%3E%3Cpath%20d%3D%22M72.6%20619.8L46.3%20631.0%22%20stroke%3D%22%239b9aa2%22%20stroke-width%3D%221.7%22%20stroke-linecap%3D%22round%22%2F%3E%3Ccircle%20cx%3D%2272.6%22%20cy%3D%22619.8%22%20r%3D%224.6%22%20fill%3D%22%23b3261e%22%2F%3E%3Ccircle%20cx%3D%2271.3%22%20cy%3D%22618.4%22%20r%3D%221.4%22%20fill%3D%22%23ffffff%22%20opacity%3D%22.65%22%2F%3E%3C%2Fsvg%3E"),
    repeating-linear-gradient(90deg,
      rgba(72,44,18,.2) 0 2px, transparent 2px 24px,
      rgba(142,100,54,.12) 24px 27px, transparent 27px 73px),
    repeating-linear-gradient(90deg,
      rgba(96,62,28,.09) 0 1px, transparent 1px 5px),
    linear-gradient(90deg,
      rgba(44,26,8,.26), rgba(44,26,8,0) 20%,
      rgba(44,26,8,0) 80%, rgba(44,26,8,.26));
  background-position: left 8px top 40px, right 8px top 180px, 0 0, 0 0, 0 0;
  background-repeat: repeat-y, repeat-y, repeat, repeat, repeat;
}

/* ----------------------------------------------------------------- Das Tuch
 *
 * Irisches Leinen mit Damast – genau die Lagen, die vorher auf dem Körper
 * lagen; sie sind nur eine Ebene nach innen gerückt. Am oberen Rand der
 * deutsche Geschirrtuchstreifen, an den Seiten eine Saumkante.
 *
 * Hier treffen sich die beiden Länder in einem einzigen Stück Stoff. */
.tuch {
  position: relative;
  max-width: 1160px;
  margin-inline: auto;
  /*
   * DAS TUCH IST NICHT DAS BLATT.
   *
   * Erster Anlauf: beide auf --papier. Dann sind Tuch und Lesebogen
   * dieselbe Farbe, die Dreiteilung Tisch–Tuch–Blatt fällt auf zwei
   * zusammen, und die 60 Punkte Tuch neben dem Blatt sehen aus wie ein
   * zu breiter Innenabstand. Das Leinen ist ungebleicht und darum wärmer
   * und eine Spur dunkler als das Papier darauf.
   */
  background-color: #f2ebe0;
  background-image:
    /* die Saumkante links und rechts, je eine Linie 10 Punkte vom Rand */
    linear-gradient(90deg, transparent 9px, rgba(122,92,58,.28) 9px 10px, transparent 10px),
    linear-gradient(270deg, transparent 9px, rgba(122,92,58,.28) 9px 10px, transparent 10px),
    url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%22160%22%20height%3D%22320%22%20viewBox%3D%220%200%20160%20320%22%3E%3Cdefs%3E%3Cpattern%20id%3D%22a%22%20width%3D%225%22%20height%3D%225%22%20patternUnits%3D%22userSpaceOnUse%22%20patternTransform%3D%22rotate(45)%22%3E%3Cline%20x1%3D%220%22%20y1%3D%220%22%20x2%3D%220%22%20y2%3D%225%22%20stroke%3D%22%234d0f30%22%20stroke-opacity%3D%220.062%22%20stroke-width%3D%221%22%2F%3E%3C%2Fpattern%3E%3Cpattern%20id%3D%22b%22%20width%3D%225%22%20height%3D%225%22%20patternUnits%3D%22userSpaceOnUse%22%20patternTransform%3D%22rotate(-45)%22%3E%3Cline%20x1%3D%220%22%20y1%3D%220%22%20x2%3D%220%22%20y2%3D%225%22%20stroke%3D%22%234d0f30%22%20stroke-opacity%3D%220.062%22%20stroke-width%3D%221%22%2F%3E%3C%2Fpattern%3E%3C%2Fdefs%3E%3Crect%20width%3D%22160%22%20height%3D%22320%22%20fill%3D%22url(%23a)%22%2F%3E%3Cg%20fill%3D%22%23fff%22%20fill-opacity%3D%220.161%22%20fill-rule%3D%22evenodd%22%20transform%3D%22translate(0%200.7)%22%3E%3Cpath%20d%3D%22M92.9%2092.9m-25%200a25%2025%200%201%200%2050%200a25%2025%200%201%200%20-50%200M67.1%2092.9m-25%200a25%2025%200%201%200%2050%200a25%2025%200%201%200%20-50%200M67.1%2067.1m-25%200a25%2025%200%201%200%2050%200a25%2025%200%201%200%20-50%200M92.9%2067.1m-25%200a25%2025%200%201%200%2050%200a25%2025%200%201%200%20-50%200%22%2F%3E%3Cpath%20d%3D%22M12.9%20252.9m-25%200a25%2025%200%201%200%2050%200a25%2025%200%201%200%20-50%200M-12.9%20252.9m-25%200a25%2025%200%201%200%2050%200a25%2025%200%201%200%20-50%200M-12.9%20227.1m-25%200a25%2025%200%201%200%2050%200a25%2025%200%201%200%20-50%200M12.9%20227.1m-25%200a25%2025%200%201%200%2050%200a25%2025%200%201%200%20-50%200%22%2F%3E%3Cpath%20d%3D%22M172.9%20252.9m-25%200a25%2025%200%201%200%2050%200a25%2025%200%201%200%20-50%200M147.1%20252.9m-25%200a25%2025%200%201%200%2050%200a25%2025%200%201%200%20-50%200M147.1%20227.1m-25%200a25%2025%200%201%200%2050%200a25%2025%200%201%200%20-50%200M172.9%20227.1m-25%200a25%2025%200%201%200%2050%200a25%2025%200%201%200%20-50%200%22%2F%3E%3C%2Fg%3E%3Cg%20fill%3D%22%234d0f30%22%20fill-opacity%3D%220.056%22%20fill-rule%3D%22evenodd%22%20transform%3D%22translate(0%20-0.7)%22%3E%3Cpath%20d%3D%22M92.9%2092.9m-25%200a25%2025%200%201%200%2050%200a25%2025%200%201%200%20-50%200M67.1%2092.9m-25%200a25%2025%200%201%200%2050%200a25%2025%200%201%200%20-50%200M67.1%2067.1m-25%200a25%2025%200%201%200%2050%200a25%2025%200%201%200%20-50%200M92.9%2067.1m-25%200a25%2025%200%201%200%2050%200a25%2025%200%201%200%20-50%200%22%2F%3E%3Cpath%20d%3D%22M12.9%20252.9m-25%200a25%2025%200%201%200%2050%200a25%2025%200%201%200%20-50%200M-12.9%20252.9m-25%200a25%2025%200%201%200%2050%200a25%2025%200%201%200%20-50%200M-12.9%20227.1m-25%200a25%2025%200%201%200%2050%200a25%2025%200%201%200%20-50%200M12.9%20227.1m-25%200a25%2025%200%201%200%2050%200a25%2025%200%201%200%20-50%200%22%2F%3E%3Cpath%20d%3D%22M172.9%20252.9m-25%200a25%2025%200%201%200%2050%200a25%2025%200%201%200%20-50%200M147.1%20252.9m-25%200a25%2025%200%201%200%2050%200a25%2025%200%201%200%20-50%200M147.1%20227.1m-25%200a25%2025%200%201%200%2050%200a25%2025%200%201%200%20-50%200M172.9%20227.1m-25%200a25%2025%200%201%200%2050%200a25%2025%200%201%200%20-50%200%22%2F%3E%3C%2Fg%3E%3Cg%20fill%3D%22url(%23b)%22%20fill-rule%3D%22evenodd%22%3E%3Cpath%20d%3D%22M92.9%2092.9m-25%200a25%2025%200%201%200%2050%200a25%2025%200%201%200%20-50%200M67.1%2092.9m-25%200a25%2025%200%201%200%2050%200a25%2025%200%201%200%20-50%200M67.1%2067.1m-25%200a25%2025%200%201%200%2050%200a25%2025%200%201%200%20-50%200M92.9%2067.1m-25%200a25%2025%200%201%200%2050%200a25%2025%200%201%200%20-50%200%22%2F%3E%3Cpath%20d%3D%22M12.9%20252.9m-25%200a25%2025%200%201%200%2050%200a25%2025%200%201%200%20-50%200M-12.9%20252.9m-25%200a25%2025%200%201%200%2050%200a25%2025%200%201%200%20-50%200M-12.9%20227.1m-25%200a25%2025%200%201%200%2050%200a25%2025%200%201%200%20-50%200M12.9%20227.1m-25%200a25%2025%200%201%200%2050%200a25%2025%200%201%200%20-50%200%22%2F%3E%3Cpath%20d%3D%22M172.9%20252.9m-25%200a25%2025%200%201%200%2050%200a25%2025%200%201%200%20-50%200M147.1%20252.9m-25%200a25%2025%200%201%200%2050%200a25%2025%200%201%200%20-50%200M147.1%20227.1m-25%200a25%2025%200%201%200%2050%200a25%2025%200%201%200%20-50%200M172.9%20227.1m-25%200a25%2025%200%201%200%2050%200a25%2025%200%201%200%20-50%200%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E"),
    repeating-linear-gradient(90deg, rgba(120,100,80,.07) 0 1px, transparent 1px 4px),
    repeating-linear-gradient(0deg,  rgba(120,100,80,.06) 0 1px, transparent 1px 4px);
  box-shadow: 0 0 0 1px rgba(92,62,34,.16), var(--wurf-hoch);
}

/* Die Webkante oben: ein gewebter Streifen, kein Rahmen. */
.tuch::before {
  content: "";
  position: absolute;
  left: 0; right: 0; top: 10px;
  height: 13px;
  background: repeating-linear-gradient(90deg,
    var(--tuchblau) 0 3px, transparent 3px 7px,
    var(--tuchblau) 7px 9px, transparent 9px 26px,
    var(--tuchrot) 26px 28px, transparent 28px 34px);
  opacity: .72;
  pointer-events: none;
}

/*
 * DAS LICHT IM RAUM.
 *
 * Eine fixierte Lage über dem Tuch und UNTER dem Lesebogen: links der
 * warme Schein der Lampe, rechts das kühle Regenlicht vom Fenster. Sie
 * bleibt beim Scrollen stehen, weil das Licht zum Zimmer gehört und nicht
 * zum Blatt.
 *
 * Warum sie nicht ÜBER dem Text liegt, obwohl echtes Licht das täte: Jede
 * Lage über dem Text senkt den Kontrast, und die Seite ist auf 4,5:1
 * durchgerechnet. Der Lesebogen ist leicht durchsichtig – das Licht
 * schimmert also trotzdem durch, nur ohne die Schrift anzufassen.
 */
.tuch::after {
  content: "";
  position: fixed;
  inset: 0;
  z-index: 0;
  pointer-events: none;
  background:
    radial-gradient(78% 62% at -4% -10%,  var(--lampenlicht), transparent 64%),
    radial-gradient(64% 54% at 104% -8%,  var(--fensterlicht), transparent 58%),
    /* und die Ecken unten fallen weg – ein Zimmer ist am Rand dunkler */
    radial-gradient(140% 95% at 50% 10%,  transparent 62%, rgba(44,26,8,.16));
}

/*
 * DIE JAHRESZEIT STEHT IM FENSTER, NICHT IN DER LAMPE.
 *
 * Draußen ändert sich das Licht vier Mal im Jahr: im Winter hart und
 * blau, im Frühling grünlich durch das junge Laub, im Sommer hell und
 * fast farblos, im Herbst tief und golden. Drinnen ändert sich nichts –
 * die Lampe brennt immer gleich, und genau das ist der Punkt.
 *
 * Es ist die leiseste Art, die Jahreszeit zu zeigen: Man sieht es nicht,
 * man merkt es. Das Knotenband sagt sie laut, das Wetter sichtbar, das
 * Licht nur spürbar – drei Stufen, nicht drei Mal dasselbe.
 */
:root {
  --lampenlicht: rgba(255,206,122,.46);
  --fensterlicht: rgba(140,174,204,.38);
}
[data-jahreszeit="winter"]    { --fensterlicht: rgba(158,188,218,.5); }
[data-jahreszeit="fruehling"] { --fensterlicht: rgba(152,196,170,.36); }
[data-jahreszeit="sommer"]    { --fensterlicht: rgba(198,214,186,.3); }
[data-jahreszeit="herbst"]    { --fensterlicht: rgba(208,168,112,.4); }

/* Der Gegenstand der Jahreszeit: einer, auf dem Holz links, weit oben.
   Er liegt außerhalb des Tuchs und wird auf schmalen Geräten verdeckt. */
body::after {
  content: "";
  position: absolute;
  left: 18px;
  top: 820px;
  width: 78px;
  height: 92px;
  z-index: 0;
  pointer-events: none;
  background-repeat: no-repeat;
  background-size: contain;
}
[data-jahreszeit="fruehling"] body::after { background-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2278%22%20height%3D%2292%22%20viewBox%3D%220%200%2064%2076%22%3E%3Cdefs%3E%3Cfilter%20id%3D%22jd%22%20x%3D%22-30%25%22%20y%3D%22-30%25%22%20width%3D%22170%25%22%20height%3D%22170%25%22%3E%3CfeGaussianBlur%20stdDeviation%3D%221.8%22%2F%3E%3C%2Ffilter%3E%3C%2Fdefs%3E%3Cellipse%20cx%3D%2234%22%20cy%3D%2270%22%20rx%3D%2220%22%20ry%3D%224.5%22%20fill%3D%22%233a281c%22%20opacity%3D%22.28%22%20filter%3D%22url(%23jd)%22%2F%3E%3Cpath%20d%3D%22M30%2064%20C31%2050%2030%2040%2029%2032%22%20fill%3D%22none%22%20stroke%3D%22%234a6b42%22%20stroke-width%3D%222.2%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%2F%3E%3Cpath%20d%3D%22M29%2034%20C22%2026%2020%2016%2029%2010%20C38%2016%2036%2026%2029%2034%20Z%22%20fill%3D%22%237b5aa6%22%2F%3E%3Cpath%20d%3D%22M29%2034%20C20%2030%2014%2022%2018%2014%20C27%2016%2030%2026%2029%2034%20Z%22%20fill%3D%22%236a4d93%22%2F%3E%3Cpath%20d%3D%22M29%2034%20C38%2030%2044%2022%2040%2014%20C31%2016%2028%2026%2029%2034%20Z%22%20fill%3D%22%238d6ab5%22%2F%3E%3Cpath%20d%3D%22M30%2064%20c-10%20-4%20-16%20-12%20-14%20-18%20c8%200%2013%208%2014%2018%20Z%22%20fill%3D%22%234a6b42%22%2F%3E%3C%2Fsvg%3E"); }
[data-jahreszeit="sommer"] body::after { background-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2278%22%20height%3D%2292%22%20viewBox%3D%220%200%2064%2076%22%3E%3Cdefs%3E%3Cfilter%20id%3D%22jd%22%20x%3D%22-30%25%22%20y%3D%22-30%25%22%20width%3D%22170%25%22%20height%3D%22170%25%22%3E%3CfeGaussianBlur%20stdDeviation%3D%221.8%22%2F%3E%3C%2Ffilter%3E%3C%2Fdefs%3E%3Cellipse%20cx%3D%2234%22%20cy%3D%2270%22%20rx%3D%2220%22%20ry%3D%224.5%22%20fill%3D%22%233a281c%22%20opacity%3D%22.28%22%20filter%3D%22url(%23jd)%22%2F%3E%3Cpath%20d%3D%22M30%2066%20C31%2054%2030%2044%2029%2036%22%20fill%3D%22none%22%20stroke%3D%22%234a6b42%22%20stroke-width%3D%222.2%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%2F%3E%3Cpath%20d%3D%22M30%2060%20c-9%20-3%20-14%20-10%20-12%20-15%20c7%200%2011%207%2012%2015%20Z%22%20fill%3D%22%234a6b42%22%2F%3E%3Cellipse%20cx%3D%2242.0%22%20cy%3D%2224.0%22%20rx%3D%227%22%20ry%3D%223.4%22%20fill%3D%22%23fdfaf2%22%20stroke%3D%22%23e6ddc9%22%20stroke-width%3D%22.7%22%20transform%3D%22rotate(0.0%2042.0%2024.0)%22%2F%3E%3Cellipse%20cx%3D%2239.5%22%20cy%3D%2231.6%22%20rx%3D%227%22%20ry%3D%223.4%22%20fill%3D%22%23fdfaf2%22%20stroke%3D%22%23e6ddc9%22%20stroke-width%3D%22.7%22%20transform%3D%22rotate(36.0%2039.5%2031.6)%22%2F%3E%3Cellipse%20cx%3D%2233.0%22%20cy%3D%2236.4%22%20rx%3D%227%22%20ry%3D%223.4%22%20fill%3D%22%23fdfaf2%22%20stroke%3D%22%23e6ddc9%22%20stroke-width%3D%22.7%22%20transform%3D%22rotate(72.0%2033.0%2036.4)%22%2F%3E%3Cellipse%20cx%3D%2225.0%22%20cy%3D%2236.4%22%20rx%3D%227%22%20ry%3D%223.4%22%20fill%3D%22%23fdfaf2%22%20stroke%3D%22%23e6ddc9%22%20stroke-width%3D%22.7%22%20transform%3D%22rotate(108.0%2025.0%2036.4)%22%2F%3E%3Cellipse%20cx%3D%2218.5%22%20cy%3D%2231.6%22%20rx%3D%227%22%20ry%3D%223.4%22%20fill%3D%22%23fdfaf2%22%20stroke%3D%22%23e6ddc9%22%20stroke-width%3D%22.7%22%20transform%3D%22rotate(144.0%2018.5%2031.6)%22%2F%3E%3Cellipse%20cx%3D%2216.0%22%20cy%3D%2224.0%22%20rx%3D%227%22%20ry%3D%223.4%22%20fill%3D%22%23fdfaf2%22%20stroke%3D%22%23e6ddc9%22%20stroke-width%3D%22.7%22%20transform%3D%22rotate(180.0%2016.0%2024.0)%22%2F%3E%3Cellipse%20cx%3D%2218.5%22%20cy%3D%2216.4%22%20rx%3D%227%22%20ry%3D%223.4%22%20fill%3D%22%23fdfaf2%22%20stroke%3D%22%23e6ddc9%22%20stroke-width%3D%22.7%22%20transform%3D%22rotate(216.0%2018.5%2016.4)%22%2F%3E%3Cellipse%20cx%3D%2225.0%22%20cy%3D%2211.6%22%20rx%3D%227%22%20ry%3D%223.4%22%20fill%3D%22%23fdfaf2%22%20stroke%3D%22%23e6ddc9%22%20stroke-width%3D%22.7%22%20transform%3D%22rotate(252.0%2025.0%2011.6)%22%2F%3E%3Cellipse%20cx%3D%2233.0%22%20cy%3D%2211.6%22%20rx%3D%227%22%20ry%3D%223.4%22%20fill%3D%22%23fdfaf2%22%20stroke%3D%22%23e6ddc9%22%20stroke-width%3D%22.7%22%20transform%3D%22rotate(288.0%2033.0%2011.6)%22%2F%3E%3Cellipse%20cx%3D%2239.5%22%20cy%3D%2216.4%22%20rx%3D%227%22%20ry%3D%223.4%22%20fill%3D%22%23fdfaf2%22%20stroke%3D%22%23e6ddc9%22%20stroke-width%3D%22.7%22%20transform%3D%22rotate(324.0%2039.5%2016.4)%22%2F%3E%3Ccircle%20cx%3D%2229%22%20cy%3D%2224%22%20r%3D%226.4%22%20fill%3D%22%23e8b93f%22%2F%3E%3Ccircle%20cx%3D%2227%22%20cy%3D%2222%22%20r%3D%222.2%22%20fill%3D%22%23f5d272%22%20opacity%3D%22.8%22%2F%3E%3C%2Fsvg%3E"); }
[data-jahreszeit="herbst"] body::after { background-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2278%22%20height%3D%2292%22%20viewBox%3D%220%200%2064%2076%22%3E%3Cdefs%3E%3Cfilter%20id%3D%22jd%22%20x%3D%22-30%25%22%20y%3D%22-30%25%22%20width%3D%22170%25%22%20height%3D%22170%25%22%3E%3CfeGaussianBlur%20stdDeviation%3D%221.8%22%2F%3E%3C%2Ffilter%3E%3C%2Fdefs%3E%3Cellipse%20cx%3D%2234%22%20cy%3D%2270%22%20rx%3D%2220%22%20ry%3D%224.5%22%20fill%3D%22%233a281c%22%20opacity%3D%22.28%22%20filter%3D%22url(%23jd)%22%2F%3E%3Cpath%20d%3D%22M6%2030%20C14%2010%2034%206%2044%2016%20C34%2018%2018%2024%206%2030%20Z%22%20fill%3D%22%23a8702c%22%2F%3E%3Cpath%20d%3D%22M6%2030%20C16%2020%2030%2014%2044%2016%22%20fill%3D%22none%22%20stroke%3D%22%237d5524%22%20stroke-width%3D%221.2%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%2F%3E%3Cpath%20d%3D%22M44%2016%20C50%2020%2052%2028%2048%2034%22%20fill%3D%22none%22%20stroke%3D%22%237d5524%22%20stroke-width%3D%221.6%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%2F%3E%3Cellipse%20cx%3D%2233%22%20cy%3D%2250%22%20rx%3D%2221%22%20ry%3D%2218.5%22%20fill%3D%22%235f3214%22%2F%3E%3Cellipse%20cx%3D%2233%22%20cy%3D%2250%22%20rx%3D%2221%22%20ry%3D%2218.5%22%20fill%3D%22none%22%20stroke%3D%22%233d1e08%22%20stroke-width%3D%221.3%22%2F%3E%3Cellipse%20cx%3D%2233%22%20cy%3D%2262%22%20rx%3D%229.5%22%20ry%3D%225.6%22%20fill%3D%22%23ddcda2%22%2F%3E%3Cellipse%20cx%3D%2233%22%20cy%3D%2262%22%20rx%3D%229.5%22%20ry%3D%225.6%22%20fill%3D%22none%22%20stroke%3D%22%23b9a271%22%20stroke-width%3D%22.8%22%2F%3E%3Cpath%20d%3D%22M22%2040%20C26%2034%2038%2033%2044%2039%22%20fill%3D%22none%22%20stroke%3D%22%239a6336%22%20stroke-width%3D%223%22%20opacity%3D%22.55%22%20stroke-linecap%3D%22round%22%2F%3E%3C%2Fsvg%3E"); }
[data-jahreszeit="winter"] body::after { background-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2278%22%20height%3D%2292%22%20viewBox%3D%220%200%2064%2076%22%3E%3Cdefs%3E%3Cfilter%20id%3D%22jd%22%20x%3D%22-30%25%22%20y%3D%22-30%25%22%20width%3D%22170%25%22%20height%3D%22170%25%22%3E%3CfeGaussianBlur%20stdDeviation%3D%221.8%22%2F%3E%3C%2Ffilter%3E%3C%2Fdefs%3E%3Cellipse%20cx%3D%2234%22%20cy%3D%2270%22%20rx%3D%2220%22%20ry%3D%224.5%22%20fill%3D%22%233a281c%22%20opacity%3D%22.28%22%20filter%3D%22url(%23jd)%22%2F%3E%3Cpath%20d%3D%22M10%2062%20C20%2046%2032%2030%2046%2014%22%20fill%3D%22none%22%20stroke%3D%22%233f5c3a%22%20stroke-width%3D%222.6%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%2F%3E%3Cpath%20d%3D%22M13.6%2057.2%20l-9%20-2%22%20fill%3D%22none%22%20stroke%3D%22%234a6b42%22%20stroke-width%3D%221.8%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%2F%3E%3Cpath%20d%3D%22M13.6%2057.2%20l8%203%22%20fill%3D%22none%22%20stroke%3D%22%2339572f%22%20stroke-width%3D%221.8%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%2F%3E%3Cpath%20d%3D%22M18.28%2050.96%20l-10%20-2%22%20fill%3D%22none%22%20stroke%3D%22%234a6b42%22%20stroke-width%3D%221.8%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%2F%3E%3Cpath%20d%3D%22M18.28%2050.96%20l9%203%22%20fill%3D%22none%22%20stroke%3D%22%2339572f%22%20stroke-width%3D%221.8%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%2F%3E%3Cpath%20d%3D%22M22.96%2044.72%20l-11%20-2%22%20fill%3D%22none%22%20stroke%3D%22%234a6b42%22%20stroke-width%3D%221.8%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%2F%3E%3Cpath%20d%3D%22M22.96%2044.72%20l10%203%22%20fill%3D%22none%22%20stroke%3D%22%2339572f%22%20stroke-width%3D%221.8%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%2F%3E%3Cpath%20d%3D%22M27.64%2038.480000000000004%20l-12%20-2%22%20fill%3D%22none%22%20stroke%3D%22%234a6b42%22%20stroke-width%3D%221.8%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%2F%3E%3Cpath%20d%3D%22M27.64%2038.480000000000004%20l11%203%22%20fill%3D%22none%22%20stroke%3D%22%2339572f%22%20stroke-width%3D%221.8%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%2F%3E%3Cpath%20d%3D%22M32.32%2032.24%20l-13%20-2%22%20fill%3D%22none%22%20stroke%3D%22%234a6b42%22%20stroke-width%3D%221.8%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%2F%3E%3Cpath%20d%3D%22M32.32%2032.24%20l12%203%22%20fill%3D%22none%22%20stroke%3D%22%2339572f%22%20stroke-width%3D%221.8%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%2F%3E%3Cpath%20d%3D%22M37%2026%20l-14%20-2%22%20fill%3D%22none%22%20stroke%3D%22%234a6b42%22%20stroke-width%3D%221.8%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%2F%3E%3Cpath%20d%3D%22M37%2026%20l13%203%22%20fill%3D%22none%22%20stroke%3D%22%2339572f%22%20stroke-width%3D%221.8%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%2F%3E%3Cpath%20d%3D%22M41.68%2019.759999999999998%20l-15%20-2%22%20fill%3D%22none%22%20stroke%3D%22%234a6b42%22%20stroke-width%3D%221.8%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%2F%3E%3Cpath%20d%3D%22M41.68%2019.759999999999998%20l14%203%22%20fill%3D%22none%22%20stroke%3D%22%2339572f%22%20stroke-width%3D%221.8%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%2F%3E%3C%2Fsvg%3E"); }
.kopf, main, .fuss { position: relative; z-index: 1; }

/*
 * DER LESEBOGEN WIRD EIN ECHTES BLATT.
 *
 * Er stand auf „--flaeche 88% durchsichtig" – über dem alten, flächigen
 * Papiergrund sah man den Unterschied noch. Auf dem Tuch mit Damast
 * darunter verschwand er: Tuch und Bogen waren dieselbe Fläche, und die
 * ganze Dreiteilung Tisch–Tuch–Blatt war weg.
 *
 * Jetzt deckt er, einen Hauch wärmer als das Tuch, und wirft den Schatten
 * des Lichtmodells. Damit stimmt auch die Reihenfolge von außen nach
 * innen wieder: Holz, Leinen, Papier.
 */
main {
  background-color: #fffdfa;
  background-image: none;
  box-shadow:
    0 1px 0 rgba(255,255,255,.9) inset,
    0 0 0 1px rgba(122,92,58,.1),
    var(--wurf-hoch);
}

/* ===========================================================================
 * DIE PAPIERE
 * ===========================================================================
 *
 * Bisher waren alle Karten dieselbe weiße Fläche, und die Rubrik stand als
 * Wort darüber. Auf einem echten Tisch liegen verschiedene Papiere – und
 * man erkennt die Sorte, BEVOR man liest.
 *
 * Die Sorte kommt aus der Beitragsart (karte--rezept und so weiter, im
 * Blade gesetzt). Jedes Papier ist ein Hintergrund, mehr nicht: Innenabstand,
 * Steppnaht und Schatten bleiben für alle gleich, sonst stünden die Karten
 * im Raster unterschiedlich hoch.
 * ========================================================================= */

.karte {
  /* Der Schatten folgt jetzt dem Licht. Die Lichtkante innen oben bleibt –
     sie macht aus der Fläche ein Blatt. */
  box-shadow:
    0 1px 0 rgba(255,255,255,.9) inset,
    0 -1px 0 rgba(0,0,0,.05) inset,
    var(--wurf-klein);
}
.karte:hover {
  box-shadow:
    0 1px 0 rgba(255,255,255,.9) inset,
    0 -1px 0 rgba(0,0,0,.05) inset,
    var(--wurf);
}

/* --- Rezept: die Karteikarte aus dem Rezeptkasten.
       Creme, liniert, roter Kopfstrich, ein Fettfleck rechts unten. */
.karte--rezept,
.aufmacher--rezept,
.suchtreffer--rezept {
  background-color: var(--ofencreme);
  background-image:
    radial-gradient(26px 20px at 86% 82%, rgba(170,130,60,.17), transparent 70%),
    repeating-linear-gradient(0deg, transparent 0 21px, rgba(120,90,50,.13) 21px 22px);
  background-position: 0 0, 0 .75rem;
}

/* --- Nähtagebuch: Zählpapier. Kariert, jede fünfte Linie kräftiger –
       darauf wird gezählt, nicht gemalt. Das ist die deutsche Hälfte. */
.karte--naehen,
.aufmacher--naehen,
.suchtreffer--naehen {
  background-color: #f7f6f1;
  background-image:
    repeating-linear-gradient(90deg, rgba(70,110,130,.12) 0 1px, transparent 1px 11px),
    repeating-linear-gradient(0deg,  rgba(70,110,130,.12) 0 1px, transparent 1px 11px),
    repeating-linear-gradient(90deg, rgba(70,110,130,.21) 0 1px, transparent 1px 55px),
    repeating-linear-gradient(0deg,  rgba(70,110,130,.21) 0 1px, transparent 1px 55px);
}

/* --- Probenähen: Seidenpapier. Durchscheinend, mit den Schnittlinien des
       Bogens – gestrichelt, schräg, so wie sie auf einem Schnittmuster
       tatsächlich laufen. */
.karte--probenaehen,
.aufmacher--probenaehen,
.suchtreffer--probenaehen {
  background-color: #fcfaf5;
  background-image:
    repeating-linear-gradient(32deg,
      rgba(90,70,90,.15) 0 1px, transparent 1px 4px,
      rgba(90,70,90,.15) 4px 5px, transparent 5px 30px);
}

/* --- Ausflug & Urlaub: die Postkarte. Warmes Kartenpapier, und in der
       Ecke eine Briefmarke mit Zackenrand. */
.karte--reise,
.aufmacher--reise,
.suchtreffer--reise {
  background-color: #fdfbf6;
  background-image: linear-gradient(160deg, #fdfbf6, #f4ece0);
}
/*
 * DIE BRIEFMARKE MUSS FARBIG SEIN.
 *
 * Erster Anlauf: weißes Markenpapier mit einem kleinen moosgrünen Kreis
 * darin, 30 Punkte breit. Auf der Karte war das ein grüner Punkt – als
 * Briefmarke nicht zu erkennen, und der Zackenrand bei 5 % Zahntiefe
 * entsprach 1,5 Punkten, also gar nichts.
 *
 * Eine echte Briefmarke ist eine FARBFLÄCHE mit weißem Zackenrand. Also
 * umgedreht: moosgrün gefüllt, heller Druck darauf, größer, und leicht
 * schief aufgeklebt – gerade klebt niemand eine Marke auf.
 */
.karte--reise::before,
.aufmacher--reise::before {
  content: "";
  position: absolute;
  right: 12px; bottom: 12px;
  width: 42px; height: 50px;
  z-index: 1;
  transform: rotate(-5deg);
  background:
    radial-gradient(circle at 50% 40%, rgba(240,232,210,.9) 20%, transparent 21%),
    radial-gradient(circle at 50% 40%, transparent 27%, rgba(240,232,210,.55) 28% 31%, transparent 32%),
    linear-gradient(#2f573f, var(--moos));
  box-shadow: 1px 2px 4px rgba(58,40,28,.28);
  /* Der Zackenrand einer Briefmarke: abwechselnd Spitze und Kerbe.
     Mit border-image ginge es feiner, aber nicht ohne eigene Grafik. */
  clip-path: polygon(0% 9%, 12.5% 0%, 25% 9%, 37.5% 0%, 50% 9%, 62.5% 0%,
                     75% 9%, 87.5% 0%, 100% 9%,
                     100% 91%, 87.5% 100%, 75% 91%, 62.5% 100%, 50% 91%,
                     37.5% 100%, 25% 91%, 12.5% 100%, 0% 91%);
}

/* --- Gedanken & Alltag: die Heftseite. Liniert, mit der roten Randlinie
       links, die jedes deutsche Schulheft hat. */
.karte--alltag,
.aufmacher--alltag,
.suchtreffer--alltag {
  background-color: #fcfbf7;
  background-image:
    linear-gradient(90deg, transparent 2.2rem, rgba(167,51,47,.35) 2.2rem 2.3rem, transparent 2.3rem),
    repeating-linear-gradient(0deg, transparent 0 22px, rgba(70,90,130,.13) 22px 23px);
  background-position: 0 0, 0 .75rem;
}

/* ------------------------------------------------- Drei Spalten bleiben drei
 *
 * Mit der schmaleren Lesebreite (960 statt 1140) passten plötzlich nur noch
 * ZWEI Kartenspalten ins Raster: 3 × 260 Punkte Mindestbreite plus 2 × 32
 * Punkte Abstand sind 844, zur Verfügung stehen 832. Zwölf Punkte haben
 * die dritte Spalte gekostet, und auf einem 1440 breiten Fenster stand
 * daneben eine halbe Seite leer.
 *
 * Mindestbreite und Abstand etwas herunter, und es sind wieder drei: 3 ×
 * 248 plus 2 × 28 sind 800.
 */
.beitragsliste {
  gap: 2.25rem 1.75rem;
  grid-template-columns: repeat(auto-fill, minmax(248px, 1fr));
}
.beitragsliste > * { max-width: 460px; }


/* ------------------------------------------------------- Der Sprunglink
 *
 * „Zum Inhalt springen" steht VOR dem Tuch und liegt damit seit dem Umbau
 * auf dem blanken Holz. Seine Schrift war die Textfarbe der Seite –
 * dunkelgrau auf Honigbraun, gemessen 2,56:1. Solange er versteckt ist,
 * sieht das niemand; sobald jemand mit der Tastatur ankommt, ist es das
 * Erste auf der Seite.
 *
 * Er bekommt deshalb sein eigenes Blatt: Papier darunter, dunkle Schrift
 * darauf, und der Schatten des Lichtmodells.
 */
/* Auch im versteckten Zustand: Der Prüfer misst jedes Element mit Text,
   ob man es gerade sieht oder nicht – und er hat recht damit, denn eine
   Schriftfarbe ohne eigenen Grund ist eine Wette darauf, was zufällig
   dahinterliegt. Hier war das seit dem Umbau das Holz. */
.nur-fuer-screenreader {
  background-color: var(--papier);
  color: var(--text);
}
.nur-fuer-screenreader:focus,
.nur-fuer-screenreader:focus-visible {
  background-color: var(--papier);
  color: var(--text);
  padding: .55rem .9rem;
  border-radius: 3px;
  box-shadow: 0 0 0 2px var(--akzent), var(--wurf);
}


/* ===========================================================================
 * DIE RUBRIKEN WERDEN WEBETIKETTEN
 * ===========================================================================
 *
 * Mit der schmaleren Lesebreite passen die sieben Rubriken nicht mehr in
 * eine Zeile – „Probenähen & Designnähen" allein ist über 200 Punkte breit.
 * Umbrechen muss sie also; die Frage ist nur, ob es aussieht wie ein
 * Versehen oder wie Absicht.
 *
 * Als nackte Wörter mit Unterstrich sah es nach Versehen aus: fünf oben,
 * zwei unten, und der Strich unter der aktiven klebte in der Luft.
 *
 * Als WEBETIKETTEN sieht es nach Absicht aus – gewebte Bändchen mit
 * umgeschlagenen Enden, wie sie in jedem selbstgenähten Stück stecken.
 * Zwei Reihen Etiketten sind zwei Reihen Etiketten, keine kaputte Zeile.
 * Das aktive ist moosgrün, die übrigen aus ungebleichtem Leinen.
 * ========================================================================= */

.rubriken {
  gap: .5rem .9rem;
  /* Die umgeschlagenen Enden stehen 7 Punkte über das Etikett hinaus.
     Ohne Platz dafür wird das erste links angeschnitten. */
  padding-inline: 7px;
}

.rubrik {
  position: relative;
  padding: .34rem .62rem;
  font-size: .76rem;
  letter-spacing: .04em;
  color: color-mix(in srgb, var(--text) 92%, #000);
  border-bottom: 0;
  /* Eigene Hintergrundfarbe, nicht nur Verläufe. Mit der Kurzform
     background: steht background-color auf transparent – der Prüfer
     rechnete die Schrift deshalb gegen das Tuch dahinter, und beim aktiven
     Etikett ergab weiß auf Leinen 1,14:1. Gegen die Verläufe sieht man
     die Farbe nicht, aber sie ist der ehrliche Grund darunter. */
  background-color: #e9e0cd;
  background-image:
    repeating-linear-gradient(0deg, rgba(90,70,40,.07) 0 1px, transparent 1px 3px),
    linear-gradient(#f0e9da, #e4dac6);
  box-shadow: 0 1px 0 rgba(255,255,255,.6) inset, var(--wurf-klein);
  transition: transform .14s ease, box-shadow .14s ease;
}

/* Die umgeschlagenen Enden. Sie sind etwas dunkler als das Band – dort
   liegt der Stoff doppelt. */
.rubrik::before,
.rubrik::after {
  content: "";
  position: absolute;
  top: 0; bottom: 0;
  width: 7px;
  background: linear-gradient(#e2d8c2, #d3c6ab);
}
.rubrik::before { left: -7px; }
.rubrik::after  { right: -7px; }

.rubrik:hover {
  color: var(--text);
  transform: translateY(-1px);
  box-shadow: 0 1px 0 rgba(255,255,255,.6) inset, var(--wurf);
}

.rubrik[aria-current="true"] {
  color: #fdfaf4;
  background-color: var(--moos);
  background-image:
    repeating-linear-gradient(0deg, rgba(0,0,0,.09) 0 1px, transparent 1px 3px),
    linear-gradient(#2f573f, var(--moos));
  box-shadow: 0 1px 0 rgba(255,255,255,.14) inset, var(--wurf-klein);
}
.rubrik[aria-current="true"]::before,
.rubrik[aria-current="true"]::after {
  background: linear-gradient(#20402f, #183224);
}

/*
 * Auf dem Telefon wischt die Reihe waagerecht. Dort zieht sich .rubriken
 * über den Seitenrand hinaus (negatives margin-inline) und holt den Rand
 * mit padding-inline wieder herein – mein pauschales padding-inline: 7px
 * hat genau das überschrieben, und das erste Etikett klebte mit
 * abgeschnittenem Ende am Bildschirmrand.
 *
 * Hier also beides: der Seitenrand UND die 7 Punkte für das
 * überstehende Bandende.
 */
@media (max-width: 640px) {
  .rubriken { padding-inline: calc(var(--rand, 1rem) + 7px); }
}


/* ------------------------------------------- Umbruch in der schmalen Karte
 *
 * In 248 Punkte breiten Spalten trennte der Browser mitten im Wort:
 * „Tischdecke mit kel-tischem Saum", „Was mir keiner ge-sagt hat". Das ist
 * korrekte deutsche Silbentrennung und in einer Überschrift trotzdem
 * falsch – eine Überschrift liest man als Ganzes, nicht Silbe für Silbe.
 *
 * Also keine Trennung in Titeln, dafür Umbruch nach Sinn (text-wrap:
 * balance verteilt die Zeilen gleichmäßig statt die letzte als Waise
 * stehen zu lassen) und eine Spur kleiner, damit lange Wörter passen.
 * Im Fließtext bleibt die Trennung – dort hilft sie.
 */
.karte__titel,
.aufmacher__titel,
.beitrag__titel {
  hyphens: none;
  text-wrap: balance;
}

/* ------------------------------------------------- Einzeilige Überschrift
 *
 * Impressum und Datenschutz tragen EIN Wort als Überschrift. Umbrochen
 * sieht ein Wort wie ein Fehler aus ("Datenschutz-" / "erklärung"), und
 * genau das passierte auf dem Telefon.
 *
 * Die Größe rechnet sich deshalb selbst: 100cqi ist die Breite des Bogens
 * (der Behälter meldet sie über container-type), geteilt durch die Zahl
 * der Zeichen mal ihrer mittleren Breite in der Fraunces (0,57 em,
 * nachgemessen an "Datenschutzerklärung"). Heraus kommt der Schriftgrad, bei dem das Wort genau
 * hineinpasst - gedeckelt bei 3rem, damit "Impressum" nicht riesig wird,
 * und bei 1.1rem nach unten, damit es lesbar bleibt.
 *
 * Die Zeichenzahl kommt aus PHP als --titel-zeichen; ohne sie rechnet die
 * Regel mit zwölf und bleibt dadurch im vernünftigen Bereich.
 */
.rechtskopf { container-type: inline-size; }

.beitrag__titel--einzeilig {
  white-space: nowrap;
  font-size: clamp(1.1rem, calc(100cqi / (var(--titel-zeichen, 12) * 0.57)), 3rem);
}

/* ------------------------------------------------ Kein Umbruch im Wort
 *
 * „Glücksding von Rabaukentochter" stand auf dem Telefon als
 * „Rabaukentochte" / „r" da: Das Wort war breiter als die Spalte, und
 * overflow-wrap brach es, wo es eben musste. Silbentrennung ist in
 * Überschriften bewusst aus (siehe oben).
 *
 * Dasselbe Verfahren wie beim einzeiligen Titel, nur für das LÄNGSTE
 * Wort statt für den ganzen Titel: Der Rahmen meldet seine Breite
 * (100cqi), PHP liefert die Zeichenzahl des längsten Wortes als
 * --laengstes-wort, und die Schrift wird höchstens so groß, dass dieses
 * Wort passt. 0,6 em je Zeichen ist etwas großzügiger als die 0,57 der
 * Rechtstexte - Titel tragen Versalien und fettere Schnitte.
 *
 * Kurze Wörter ändern nichts: min() lässt die gewohnte Größe stehen.
 * Nach unten ist bei 1,15rem Schluss (reicht für 22 Buchstaben auf 320 px,
 * gemessen); ein Wort, das selbst dann nicht
 * passt, darf weiterhin umbrechen, statt die Seite zu verbreitern.
 *
 * Der Rahmen ist ein eigener Block, weil container-type die Breite vom
 * Inhalt abkoppelt - auf der Überschrift selbst ginge die Rechnung im
 * Kreis.
 */
.titelrahmen { container-type: inline-size; }

.titelrahmen > .beitrag__titel {
  font-size: max(1.15rem, min(clamp(2.2rem, 6vw, 3.8rem),
                              calc(100cqi / (var(--laengstes-wort, 8) * 0.6))));
}
.titelrahmen > .aufmacher__titel {
  font-size: max(1.15rem, min(clamp(2rem, 4.5vw, 3rem),
                              calc(100cqi / (var(--laengstes-wort, 8) * 0.6))));
}
.karte__titel { font-size: 1.3rem; }

/* Auf der Fehlerseite steht alles mittig – die Kreuzstichwelle unter dem
   Titel aber nicht: Sie ist ein Block mit max-width und klebte deshalb
   links. Nur hier zentrieren; auf den übrigen Seiten steht der Titel
   linksbündig und die Welle gehört darunter, nicht in die Mitte. */
.fehlerseite .seitentitel::after { margin-inline: auto; }

/* Der Kicker trug „REZEPT · THERMOMIX-REZEPTE" in zwei Zeilen, und der
   Trennpunkt hing allein am Ende der ersten. Kleiner und enger gesetzt
   passt er wieder in eine Zeile; wo nicht, bricht er wenigstens sauber. */
.kicker {
  font-size: .63rem;
  letter-spacing: .1em;
  line-height: 1.5;
}


/* ===========================================================================
 * DER AUFMACHER LIEGT AUCH AUF PAPIER
 * ===========================================================================
 *
 * Er war der einzige Beitrag ohne Sorte: sechs Karten auf Karteikarte,
 * Zählpapier und Postkarte – und oben drüber der wichtigste Beitrag des
 * Tages auf blankem Blatt. Das las sich wie ein Fehler, nicht wie eine
 * Hervorhebung.
 *
 * Jetzt liegt er auf demselben Papier wie seine Rubrik, nur groß, und eine
 * Stecknadel hält ihn. Die Nadel trägt genau EIN Blatt auf der Seite –
 * eine Nadel auf jeder Karte wäre ein Nadelkissen.
 */
.aufmacher {
  position: relative;
  padding: clamp(1.1rem, 2.4vw, 1.9rem);
  border-radius: 3px;
  transform: rotate(-.35deg);
  box-shadow:
    0 1px 0 rgba(255,255,255,.9) inset,
    0 -1px 0 rgba(0,0,0,.05) inset,
    var(--wurf);
}

/* Die Stecknadel: Glaskopf mit Lichtpunkt, darunter der Schaft, leicht
   schräg. Sie sitzt links oben über der Papierkante – eine Nadel steckt
   DURCH das Blatt, sie liegt nicht darauf. */
.aufmacher::after {
  content: "";
  position: absolute;
  left: clamp(1.4rem, 3vw, 2.6rem);
  top: -10px;
  width: 18px;
  height: 36px;
  /* Kopf UND Schaft in einem Kasten: zwei Hintergrundlagen statt zweier
     Elemente – ein zweites Pseudoelement ist beim Aufmacher schon für die
     Briefmarke vergeben. Der Schatten muss deshalb ein Filter sein; ein
     box-shadow zeichnete den rechteckigen Kasten nach. */
  background-image:
    radial-gradient(circle 9px at 9px 9px, #fff 7%, var(--signal) 46%, #6d1710 100%),
    linear-gradient(#d6d6da, #8e8e96);
  background-size: 18px 18px, 2px 20px;
  background-position: 0 0, 8px 15px;
  background-repeat: no-repeat;
  filter: drop-shadow(1px 3px 4px rgba(58,40,28,.45));
  z-index: 2;
  pointer-events: none;
}

/* Das Bild bekommt eine Passepartout-Kante, damit es auf dem Papier
   aufliegt statt hineingeschnitten zu sein. */
.aufmacher__bild {
  border-radius: 3px;
  box-shadow:
    0 0 0 6px rgba(255,255,255,.85),
    0 0 0 7px rgba(122,92,58,.18),
    var(--wurf-klein);
}

/* Die Briefmarke des Aufmachers darf größer sein – auf einem großen Blatt
   wäre die Kartenmarke ein Fliegendreck. */
.aufmacher--reise::before {
  width: 58px;
  height: 70px;
  right: 18px;
  bottom: 18px;
}

/* ===========================================================================
 * DAS ZITAT WIRD EIN GESTICKTES SPRUCHBILD
 * ===========================================================================
 *
 * Bisher: eingerückt, mit gestricheltem Faden links. Ordentlich, aber es
 * war das einzige Element im Fließtext ohne Entsprechung auf dem Tisch.
 *
 * In einer deutschen Küche hängt der Spruch GERAHMT an der Wand, auf Leinen
 * gestickt. Genau das ist es jetzt: Aran-Leinen, ein Kiefernrahmen aus
 * gestaffelten Schatten (kein border – der würde die Breite ändern und den
 * Fließtext verschieben), darunter eine gezählte Bordüre.
 *
 * Der Rahmen steht nach AUSSEN, deshalb braucht das Zitat ringsum Luft;
 * ohne sie läge das Holz auf dem Absatz darüber.
 * ========================================================================= */

.fliesstext blockquote, .rechtstext blockquote {
  position: relative;
  margin: 2.6rem 13px;
  padding: 1.15rem 1.4rem 29px;
  border-left: 0;
  text-align: center;
  font-style: normal;
  color: color-mix(in srgb, var(--text) 80%, var(--akzent));
  background-color: var(--aran);
  background-image:
    repeating-linear-gradient(90deg, rgba(120,95,60,.09) 0 1px, transparent 1px 4px),
    repeating-linear-gradient(0deg,  rgba(120,95,60,.07) 0 1px, transparent 1px 4px),
    url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2230%22%20height%3D%2215%22%20viewBox%3D%220%200%2030%2015%22%3E%3Cg%20opacity%3D%220.85%22%3E%3Cline%20x1%3D%226.4%22%20y1%3D%220.5%22%20x2%3D%228.4%22%20y2%3D%222.4%22%20stroke%3D%22%234d0f30%22%20stroke-width%3D%220.80%22%20stroke-linecap%3D%22round%22%20opacity%3D%220.98%22%2F%3E%3Cline%20x1%3D%228.5%22%20y1%3D%220.4%22%20x2%3D%226.4%22%20y2%3D%222.5%22%20stroke%3D%22%2374445e%22%20stroke-width%3D%220.80%22%20stroke-linecap%3D%22round%22%20opacity%3D%220.98%22%2F%3E%3Cline%20x1%3D%226.6%22%20y1%3D%2212.5%22%20x2%3D%228.6%22%20y2%3D%2214.6%22%20stroke%3D%22%234d0f30%22%20stroke-width%3D%220.80%22%20stroke-linecap%3D%22round%22%20opacity%3D%220.90%22%2F%3E%3Cline%20x1%3D%228.5%22%20y1%3D%2212.6%22%20x2%3D%226.6%22%20y2%3D%2214.5%22%20stroke%3D%22%2374445e%22%20stroke-width%3D%220.80%22%20stroke-linecap%3D%22round%22%20opacity%3D%220.90%22%2F%3E%3Cline%20x1%3D%220.5%22%20y1%3D%226.6%22%20x2%3D%222.4%22%20y2%3D%228.4%22%20stroke%3D%22%234d0f30%22%20stroke-width%3D%220.80%22%20stroke-linecap%3D%22round%22%20opacity%3D%221.00%22%2F%3E%3Cline%20x1%3D%222.5%22%20y1%3D%226.4%22%20x2%3D%220.4%22%20y2%3D%228.5%22%20stroke%3D%22%2374445e%22%20stroke-width%3D%220.80%22%20stroke-linecap%3D%22round%22%20opacity%3D%221.00%22%2F%3E%3Cline%20x1%3D%2212.6%22%20y1%3D%226.5%22%20x2%3D%2214.5%22%20y2%3D%228.6%22%20stroke%3D%22%234d0f30%22%20stroke-width%3D%220.80%22%20stroke-linecap%3D%22round%22%20opacity%3D%220.92%22%2F%3E%3Cline%20x1%3D%2214.5%22%20y1%3D%226.5%22%20x2%3D%2212.6%22%20y2%3D%228.4%22%20stroke%3D%22%2374445e%22%20stroke-width%3D%220.80%22%20stroke-linecap%3D%22round%22%20opacity%3D%220.92%22%2F%3E%3Cline%20x1%3D%223.6%22%20y1%3D%223.5%22%20x2%3D%225.6%22%20y2%3D%225.6%22%20stroke%3D%22%234d0f30%22%20stroke-width%3D%220.80%22%20stroke-linecap%3D%22round%22%20opacity%3D%220.89%22%2F%3E%3Cline%20x1%3D%225.5%22%20y1%3D%223.6%22%20x2%3D%223.6%22%20y2%3D%225.5%22%20stroke%3D%22%2374445e%22%20stroke-width%3D%220.80%22%20stroke-linecap%3D%22round%22%20opacity%3D%220.89%22%2F%3E%3Cline%20x1%3D%229.5%22%20y1%3D%223.6%22%20x2%3D%2211.4%22%20y2%3D%225.5%22%20stroke%3D%22%234d0f30%22%20stroke-width%3D%220.80%22%20stroke-linecap%3D%22round%22%20opacity%3D%220.99%22%2F%3E%3Cline%20x1%3D%2211.6%22%20y1%3D%223.4%22%20x2%3D%229.5%22%20y2%3D%225.4%22%20stroke%3D%22%2374445e%22%20stroke-width%3D%220.80%22%20stroke-linecap%3D%22round%22%20opacity%3D%220.99%22%2F%3E%3Cline%20x1%3D%223.6%22%20y1%3D%229.6%22%20x2%3D%225.5%22%20y2%3D%2211.6%22%20stroke%3D%22%234d0f30%22%20stroke-width%3D%220.80%22%20stroke-linecap%3D%22round%22%20opacity%3D%220.97%22%2F%3E%3Cline%20x1%3D%225.6%22%20y1%3D%229.5%22%20x2%3D%223.6%22%20y2%3D%2211.4%22%20stroke%3D%22%2374445e%22%20stroke-width%3D%220.80%22%20stroke-linecap%3D%22round%22%20opacity%3D%220.97%22%2F%3E%3Cline%20x1%3D%229.4%22%20y1%3D%229.5%22%20x2%3D%2211.4%22%20y2%3D%2211.4%22%20stroke%3D%22%234d0f30%22%20stroke-width%3D%220.80%22%20stroke-linecap%3D%22round%22%20opacity%3D%220.97%22%2F%3E%3Cline%20x1%3D%2211.5%22%20y1%3D%229.5%22%20x2%3D%229.4%22%20y2%3D%2211.5%22%20stroke%3D%22%2374445e%22%20stroke-width%3D%220.80%22%20stroke-linecap%3D%22round%22%20opacity%3D%220.97%22%2F%3E%3Cline%20x1%3D%226.5%22%20y1%3D%226.4%22%20x2%3D%228.5%22%20y2%3D%228.5%22%20stroke%3D%22%238a2f28%22%20stroke-width%3D%220.80%22%20stroke-linecap%3D%22round%22%20opacity%3D%220.90%22%2F%3E%3Cline%20x1%3D%228.4%22%20y1%3D%226.6%22%20x2%3D%226.5%22%20y2%3D%228.6%22%20stroke%3D%22%23a45d57%22%20stroke-width%3D%220.80%22%20stroke-linecap%3D%22round%22%20opacity%3D%220.90%22%2F%3E%3Cline%20x1%3D%2221.6%22%20y1%3D%223.5%22%20x2%3D%2223.6%22%20y2%3D%225.6%22%20stroke%3D%22%238a2f28%22%20stroke-width%3D%220.80%22%20stroke-linecap%3D%22round%22%20opacity%3D%220.89%22%2F%3E%3Cline%20x1%3D%2223.5%22%20y1%3D%223.6%22%20x2%3D%2221.6%22%20y2%3D%225.5%22%20stroke%3D%22%23a45d57%22%20stroke-width%3D%220.80%22%20stroke-linecap%3D%22round%22%20opacity%3D%220.89%22%2F%3E%3Cline%20x1%3D%2218.5%22%20y1%3D%226.6%22%20x2%3D%2220.4%22%20y2%3D%228.4%22%20stroke%3D%22%238a2f28%22%20stroke-width%3D%220.80%22%20stroke-linecap%3D%22round%22%20opacity%3D%221.00%22%2F%3E%3Cline%20x1%3D%2220.5%22%20y1%3D%226.4%22%20x2%3D%2218.5%22%20y2%3D%228.5%22%20stroke%3D%22%23a45d57%22%20stroke-width%3D%220.80%22%20stroke-linecap%3D%22round%22%20opacity%3D%221.00%22%2F%3E%3Cline%20x1%3D%2224.5%22%20y1%3D%226.4%22%20x2%3D%2226.5%22%20y2%3D%228.4%22%20stroke%3D%22%238a2f28%22%20stroke-width%3D%220.80%22%20stroke-linecap%3D%22round%22%20opacity%3D%220.90%22%2F%3E%3Cline%20x1%3D%2226.4%22%20y1%3D%226.6%22%20x2%3D%2224.5%22%20y2%3D%228.6%22%20stroke%3D%22%23a45d57%22%20stroke-width%3D%220.80%22%20stroke-linecap%3D%22round%22%20opacity%3D%220.90%22%2F%3E%3Cline%20x1%3D%2221.6%22%20y1%3D%229.6%22%20x2%3D%2223.5%22%20y2%3D%2211.6%22%20stroke%3D%22%238a2f28%22%20stroke-width%3D%220.80%22%20stroke-linecap%3D%22round%22%20opacity%3D%220.97%22%2F%3E%3Cline%20x1%3D%2223.6%22%20y1%3D%229.5%22%20x2%3D%2221.6%22%20y2%3D%2211.4%22%20stroke%3D%22%23a45d57%22%20stroke-width%3D%220.80%22%20stroke-linecap%3D%22round%22%20opacity%3D%220.97%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E");
  background-repeat: repeat, repeat, repeat-x;
  background-position: 0 0, 0 0, center calc(100% - 7px);
  background-size: auto, auto, auto 15px;
  box-shadow:
    /* innen die Passepartout-Kante, dann das Holz, dann der Wurf */
    0 0 0 4px var(--aran),
    0 0 0 5px rgba(120,95,60,.4),
    0 0 0 13px var(--kiefer),
    0 0 0 14px rgba(90,62,34,.45),
    var(--wurf);
}
/* Das Anführungszeichen aus muster.js saß links oben am alten Einzug.
   Im Rahmen hat es keinen Platz – der Rahmen sagt schon, dass hier etwas
   Zitiertes steht. */
.fliesstext blockquote::before, .rechtstext blockquote::before { content: none; }


/* ===========================================================================
 * FEHLER 404: DIE AUFGETRENNTE NAHT
 * ===========================================================================
 *
 * Die große 404 stand als nackte Zahl da. Auf einem Nähtisch gibt es für
 * „hier ist etwas kaputt" ein eigenes Bild: eine Naht, deren Faden
 * gerissen ist. Die Stiche laufen auseinander, und genau an der Stelle, wo
 * es gerissen ist, klafft die Lücke.
 *
 * Zwei Reihen Stiche, die zweite leicht verdreht und blasser – als hätte
 * sich der Stoff gelöst.
 * ========================================================================= */
.fehlerseite__nummer { position: relative; padding-bottom: 1.3rem; }
.fehlerseite__nummer::before,
.fehlerseite__nummer::after {
  content: "";
  position: absolute;
  /* MITTIG. Erster Anlauf stand auf left: 0 – die Zahl ist aber zentriert,
     und die Naht lag deshalb links daneben wie ein vergessener Strich. */
  left: 50%;
  width: min(13rem, 56%);
  height: 3px;
  border-radius: 2px;
  background: repeating-linear-gradient(90deg,
    var(--signal) 0 9px, transparent 9px 16px);
}
.fehlerseite__nummer::before {
  bottom: 11px;
  opacity: .6;
  transform: translateX(-50%);
}
.fehlerseite__nummer::after {
  bottom: 3px;
  opacity: .28;
  transform: translateX(-50%) rotate(-1.2deg);
}


/* ===========================================================================
 * DIE BEITRAGSSEITE: DAS TITELBILD LIEGT AUF DEM BLATT
 * ===========================================================================
 *
 * Bisher lief es von Kante zu Kante des Lesebogens – damals richtig, denn
 * der Bogen war nur eine etwas hellere Fläche, und bündig war ruhiger als
 * 26 Punkte Luft je Seite.
 *
 * Mit dem Konzept stimmt das nicht mehr: Der Bogen ist jetzt ein Blatt
 * Papier auf einem Tuch auf einem Tisch. Ein Foto, das über die Blattkante
 * hinausläuft, ist kein Foto auf dem Blatt – es ist ein Loch darin.
 *
 * Also aufgeklebt: Passepartout aus Papier, eine Haarlinie darum, und der
 * Schatten des Lichtmodells. Dieselbe Behandlung wie beim Aufmacher,
 * damit ein Bild auf dieser Seite immer gleich daliegt.
 * ========================================================================= */
.beitrag__bildrahmen {
  max-width: min(100% - 3.5rem, 1040px);
  margin-inline: auto;
}
.beitrag__bild {
  border-radius: 3px;
  box-shadow:
    0 0 0 8px rgba(255,255,255,.9),
    0 0 0 9px rgba(122,92,58,.18),
    var(--wurf);
}

/* ===========================================================================
 * DAS ALBUM: ES SIND POLAROIDS, ALSO SOLLEN SIE WELCHE SEIN
 * ===========================================================================
 *
 * Die Einträge trugen schon Papierrahmen und eine leichte Schräge, aber
 * ringsum denselben Abstand – und damit sahen sie aus wie Karten mit
 * weißem Rand. Ein Sofortbild erkennt man am BREITEN STEG UNTEN; das ist
 * die ganze Form.
 *
 * Dazu etwas mehr Schräge. 0,4 Grad sieht niemand; bei einem Grad merkt
 * man, dass jemand die Bilder hingelegt hat.
 * ========================================================================= */
.album__eintrag a {
  padding: .6rem .6rem 1.3rem;
  transform: rotate(-1deg);
}
.album__eintrag:nth-child(even) a { transform: rotate(1.1deg); }
.album__eintrag:nth-child(3n) a   { transform: rotate(-.5deg); }
.album__eintrag a:hover { transform: rotate(0) translateY(-3px); }

/* Der Titel bleibt gesetzte Serife, nicht Handschrift: Er ist ein Verweis,
   und Verweise liest man schnell. Die Handschrift bleibt der Bildunterschrift
   in der Galerie – dort beschreibt sie, hier navigiert sie. */
.album__angaben { font-size: .74rem; }


/* ===========================================================================
 * DIE SUCHTREFFER SIND ZETTEL
 * ===========================================================================
 *
 * Sie standen als nackte Verweisliste da – auf einer Seite, auf der jeder
 * Beitrag sonst auf seinem eigenen Papier liegt. Wer von der Startseite
 * kommt, sucht hier dieselben Dinge und findet sie plötzlich als Text.
 *
 * Jetzt liegt jeder Treffer auf einem SCHMALEN Streifen seines Papiers –
 * nicht als volle Karte: Ein Suchergebnis ist eine Fundstelle, keine
 * Auslage. Deshalb kein Bild, kein Rahmen, nur das Papier und eine Kante.
 * ========================================================================= */
.suchtreffer { list-style: none; padding: 0; display: grid; gap: .9rem; }
.suchtreffer > li {
  position: relative;
  padding: .85rem 1rem .9rem;
  border-radius: 3px;
  box-shadow:
    0 1px 0 rgba(255,255,255,.85) inset,
    var(--wurf-klein);
}
.suchtreffer > li > a { font-family: var(--serif); font-size: 1.15rem; }
.suchtreffer__zeile { display: block; margin-top: .2rem; }
.suchtreffer__teaser { margin: .4rem 0 0; }

/* ===========================================================================
 * DER HAHN KOMMT IN DIE KÜCHE
 * ===========================================================================
 *
 * In kreuzstich.js liegen fünf gezählte Zeichen; benutzt wurde bisher nur
 * die Blume (im Spruchbild). Von den übrigen vier bekommt genau EINES
 * einen Platz, und zwar das, für das es einen Grund gibt:
 *
 *   HAHN  – das Küchenmotiv des deutschen Kreuzstichs. Er steht neben
 *           „Zutaten", und nur auf einem Rezept. Einmal je Seite.
 *
 * HERZ, STERN und TANNE bleiben absichtlich liegen. Für das Herz gäbe es
 * nur einen gefühligen Platz, kein notwendiger; der Stern hätte keinen
 * Begriff, den er benennt; und die Tanne sagt „Winter" – das sagt das
 * Jahresband schon, und zwar besser, weil es den Winter wirklich kennt.
 * Ein Zeichen ohne Grund ist Tapete.
 * ========================================================================= */

.beitrag--rezept .werkbank__seite > .baustein__titel {
  position: relative;
  /* Platz links für den Hahn. Nicht als Innenabstand auf dem Titel selbst:
     der trägt schon die Rautenbordüre als Hintergrund, und die würde
     mitwandern. */
  padding-left: 2.9rem;
}
.beitrag--rezept .werkbank__seite > .baustein__titel::before {
  content: "";
  position: absolute;
  left: 0;
  /* Etwas über die Zeile hinaus nach oben: Unter dem Titel läuft die
     Rautenbordüre, und bei gleicher Grundlinie stünde der Hahn mit den
     Füßen darin. */
  top: -.35em;
  width: 2.4rem;
  height: 2.4rem;
  background-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2236%22%20height%3D%2236%22%20viewBox%3D%220%200%2036%2036%22%3E%3Cg%20opacity%3D%220.9%22%3E%3Cline%20x1%3D%220.6%22%20y1%3D%220.6%22%20x2%3D%222.5%22%20y2%3D%222.6%22%20stroke%3D%22%234d0f30%22%20stroke-width%3D%220.80%22%20stroke-linecap%3D%22round%22%20opacity%3D%220.96%22%2F%3E%3Cline%20x1%3D%222.6%22%20y1%3D%220.5%22%20x2%3D%220.6%22%20y2%3D%222.4%22%20stroke%3D%22%2374445e%22%20stroke-width%3D%220.80%22%20stroke-linecap%3D%22round%22%20opacity%3D%220.96%22%2F%3E%3Cline%20x1%3D%226.4%22%20y1%3D%220.5%22%20x2%3D%228.4%22%20y2%3D%222.4%22%20stroke%3D%22%234d0f30%22%20stroke-width%3D%220.80%22%20stroke-linecap%3D%22round%22%20opacity%3D%220.98%22%2F%3E%3Cline%20x1%3D%228.5%22%20y1%3D%220.4%22%20x2%3D%226.4%22%20y2%3D%222.5%22%20stroke%3D%22%2374445e%22%20stroke-width%3D%220.80%22%20stroke-linecap%3D%22round%22%20opacity%3D%220.98%22%2F%3E%3Cline%20x1%3D%2224.4%22%20y1%3D%220.5%22%20x2%3D%2226.4%22%20y2%3D%222.4%22%20stroke%3D%22%238a2f28%22%20stroke-width%3D%220.80%22%20stroke-linecap%3D%22round%22%20opacity%3D%220.98%22%2F%3E%3Cline%20x1%3D%2226.5%22%20y1%3D%220.4%22%20x2%3D%2224.4%22%20y2%3D%222.5%22%20stroke%3D%22%23a45d57%22%20stroke-width%3D%220.80%22%20stroke-linecap%3D%22round%22%20opacity%3D%220.98%22%2F%3E%3Cline%20x1%3D%2227.4%22%20y1%3D%220.4%22%20x2%3D%2229.5%22%20y2%3D%222.4%22%20stroke%3D%22%238a2f28%22%20stroke-width%3D%220.80%22%20stroke-linecap%3D%22round%22%20opacity%3D%220.92%22%2F%3E%3Cline%20x1%3D%2229.4%22%20y1%3D%220.5%22%20x2%3D%2227.4%22%20y2%3D%222.6%22%20stroke%3D%22%23a45d57%22%20stroke-width%3D%220.80%22%20stroke-linecap%3D%22round%22%20opacity%3D%220.92%22%2F%3E%3Cline%20x1%3D%2230.5%22%20y1%3D%220.4%22%20x2%3D%2232.6%22%20y2%3D%222.5%22%20stroke%3D%22%238a2f28%22%20stroke-width%3D%220.80%22%20stroke-linecap%3D%22round%22%20opacity%3D%220.88%22%2F%3E%3Cline%20x1%3D%2232.4%22%20y1%3D%220.6%22%20x2%3D%2230.5%22%20y2%3D%222.6%22%20stroke%3D%22%23a45d57%22%20stroke-width%3D%220.80%22%20stroke-linecap%3D%22round%22%20opacity%3D%220.88%22%2F%3E%3Cline%20x1%3D%220.5%22%20y1%3D%223.4%22%20x2%3D%222.6%22%20y2%3D%225.5%22%20stroke%3D%22%234d0f30%22%20stroke-width%3D%220.80%22%20stroke-linecap%3D%22round%22%20opacity%3D%220.88%22%2F%3E%3Cline%20x1%3D%222.4%22%20y1%3D%223.6%22%20x2%3D%220.5%22%20y2%3D%225.6%22%20stroke%3D%22%2374445e%22%20stroke-width%3D%220.80%22%20stroke-linecap%3D%22round%22%20opacity%3D%220.88%22%2F%3E%3Cline%20x1%3D%223.6%22%20y1%3D%223.5%22%20x2%3D%225.6%22%20y2%3D%225.6%22%20stroke%3D%22%234d0f30%22%20stroke-width%3D%220.80%22%20stroke-linecap%3D%22round%22%20opacity%3D%220.89%22%2F%3E%3Cline%20x1%3D%225.5%22%20y1%3D%223.6%22%20x2%3D%223.6%22%20y2%3D%225.5%22%20stroke%3D%22%2374445e%22%20stroke-width%3D%220.80%22%20stroke-linecap%3D%22round%22%20opacity%3D%220.89%22%2F%3E%3Cline%20x1%3D%226.6%22%20y1%3D%223.6%22%20x2%3D%228.5%22%20y2%3D%225.6%22%20stroke%3D%22%234d0f30%22%20stroke-width%3D%220.80%22%20stroke-linecap%3D%22round%22%20opacity%3D%220.95%22%2F%3E%3Cline%20x1%3D%228.6%22%20y1%3D%223.5%22%20x2%3D%226.6%22%20y2%3D%225.4%22%20stroke%3D%22%2374445e%22%20stroke-width%3D%220.80%22%20stroke-linecap%3D%22round%22%20opacity%3D%220.95%22%2F%3E%3Cline%20x1%3D%2221.6%22%20y1%3D%223.5%22%20x2%3D%2223.6%22%20y2%3D%225.6%22%20stroke%3D%22%234d0f30%22%20stroke-width%3D%220.80%22%20stroke-linecap%3D%22round%22%20opacity%3D%220.89%22%2F%3E%3Cline%20x1%3D%2223.5%22%20y1%3D%223.6%22%20x2%3D%2221.6%22%20y2%3D%225.5%22%20stroke%3D%22%2374445e%22%20stroke-width%3D%220.80%22%20stroke-linecap%3D%22round%22%20opacity%3D%220.89%22%2F%3E%3Cline%20x1%3D%2224.6%22%20y1%3D%223.6%22%20x2%3D%2226.5%22%20y2%3D%225.6%22%20stroke%3D%22%234d0f30%22%20stroke-width%3D%220.80%22%20stroke-linecap%3D%22round%22%20opacity%3D%220.94%22%2F%3E%3Cline%20x1%3D%2226.6%22%20y1%3D%223.5%22%20x2%3D%2224.6%22%20y2%3D%225.4%22%20stroke%3D%22%2374445e%22%20stroke-width%3D%220.80%22%20stroke-linecap%3D%22round%22%20opacity%3D%220.94%22%2F%3E%3Cline%20x1%3D%2227.5%22%20y1%3D%223.6%22%20x2%3D%2229.4%22%20y2%3D%225.5%22%20stroke%3D%22%234d0f30%22%20stroke-width%3D%220.80%22%20stroke-linecap%3D%22round%22%20opacity%3D%220.99%22%2F%3E%3Cline%20x1%3D%2229.6%22%20y1%3D%223.4%22%20x2%3D%2227.5%22%20y2%3D%225.4%22%20stroke%3D%22%2374445e%22%20stroke-width%3D%220.80%22%20stroke-linecap%3D%22round%22%20opacity%3D%220.99%22%2F%3E%3Cline%20x1%3D%2230.5%22%20y1%3D%223.5%22%20x2%3D%2232.4%22%20y2%3D%225.4%22%20stroke%3D%22%234d0f30%22%20stroke-width%3D%220.80%22%20stroke-linecap%3D%22round%22%20opacity%3D%220.99%22%2F%3E%3Cline%20x1%3D%2232.5%22%20y1%3D%223.4%22%20x2%3D%2230.4%22%20y2%3D%225.5%22%20stroke%3D%22%2374445e%22%20stroke-width%3D%220.80%22%20stroke-linecap%3D%22round%22%20opacity%3D%220.99%22%2F%3E%3Cline%20x1%3D%223.4%22%20y1%3D%226.5%22%20x2%3D%225.4%22%20y2%3D%228.4%22%20stroke%3D%22%234d0f30%22%20stroke-width%3D%220.80%22%20stroke-linecap%3D%22round%22%20opacity%3D%220.95%22%2F%3E%3Cline%20x1%3D%225.4%22%20y1%3D%226.5%22%20x2%3D%223.4%22%20y2%3D%228.6%22%20stroke%3D%22%2374445e%22%20stroke-width%3D%220.80%22%20stroke-linecap%3D%22round%22%20opacity%3D%220.95%22%2F%3E%3Cline%20x1%3D%226.5%22%20y1%3D%226.4%22%20x2%3D%228.5%22%20y2%3D%228.5%22%20stroke%3D%22%234d0f30%22%20stroke-width%3D%220.80%22%20stroke-linecap%3D%22round%22%20opacity%3D%220.90%22%2F%3E%3Cline%20x1%3D%228.4%22%20y1%3D%226.6%22%20x2%3D%226.5%22%20y2%3D%228.6%22%20stroke%3D%22%2374445e%22%20stroke-width%3D%220.80%22%20stroke-linecap%3D%22round%22%20opacity%3D%220.90%22%2F%3E%3Cline%20x1%3D%229.5%22%20y1%3D%226.5%22%20x2%3D%2211.6%22%20y2%3D%228.5%22%20stroke%3D%22%234d0f30%22%20stroke-width%3D%220.80%22%20stroke-linecap%3D%22round%22%20opacity%3D%220.88%22%2F%3E%3Cline%20x1%3D%2211.5%22%20y1%3D%226.6%22%20x2%3D%229.6%22%20y2%3D%228.5%22%20stroke%3D%22%2374445e%22%20stroke-width%3D%220.80%22%20stroke-linecap%3D%22round%22%20opacity%3D%220.88%22%2F%3E%3Cline%20x1%3D%2221.4%22%20y1%3D%226.5%22%20x2%3D%2223.4%22%20y2%3D%228.4%22%20stroke%3D%22%234d0f30%22%20stroke-width%3D%220.80%22%20stroke-linecap%3D%22round%22%20opacity%3D%220.96%22%2F%3E%3Cline%20x1%3D%2223.4%22%20y1%3D%226.5%22%20x2%3D%2221.4%22%20y2%3D%228.5%22%20stroke%3D%22%2374445e%22%20stroke-width%3D%220.80%22%20stroke-linecap%3D%22round%22%20opacity%3D%220.96%22%2F%3E%3Cline%20x1%3D%2224.5%22%20y1%3D%226.4%22%20x2%3D%2226.5%22%20y2%3D%228.4%22%20stroke%3D%22%234d0f30%22%20stroke-width%3D%220.80%22%20stroke-linecap%3D%22round%22%20opacity%3D%220.90%22%2F%3E%3Cline%20x1%3D%2226.4%22%20y1%3D%226.6%22%20x2%3D%2224.5%22%20y2%3D%228.6%22%20stroke%3D%22%2374445e%22%20stroke-width%3D%220.80%22%20stroke-linecap%3D%22round%22%20opacity%3D%220.90%22%2F%3E%3Cline%20x1%3D%2227.5%22%20y1%3D%226.5%22%20x2%3D%2229.6%22%20y2%3D%228.5%22%20stroke%3D%22%238a2f28%22%20stroke-width%3D%220.80%22%20stroke-linecap%3D%22round%22%20opacity%3D%220.88%22%2F%3E%3Cline%20x1%3D%2229.4%22%20y1%3D%226.6%22%20x2%3D%2227.6%22%20y2%3D%228.5%22%20stroke%3D%22%23a45d57%22%20stroke-width%3D%220.80%22%20stroke-linecap%3D%22round%22%20opacity%3D%220.88%22%2F%3E%3Cline%20x1%3D%2230.6%22%20y1%3D%226.5%22%20x2%3D%2232.5%22%20y2%3D%228.6%22%20stroke%3D%22%234d0f30%22%20stroke-width%3D%220.80%22%20stroke-linecap%3D%22round%22%20opacity%3D%220.92%22%2F%3E%3Cline%20x1%3D%2232.5%22%20y1%3D%226.6%22%20x2%3D%2230.6%22%20y2%3D%228.4%22%20stroke%3D%22%2374445e%22%20stroke-width%3D%220.80%22%20stroke-linecap%3D%22round%22%20opacity%3D%220.92%22%2F%3E%3Cline%20x1%3D%223.6%22%20y1%3D%229.6%22%20x2%3D%225.5%22%20y2%3D%2211.6%22%20stroke%3D%22%234d0f30%22%20stroke-width%3D%220.80%22%20stroke-linecap%3D%22round%22%20opacity%3D%220.97%22%2F%3E%3Cline%20x1%3D%225.6%22%20y1%3D%229.5%22%20x2%3D%223.6%22%20y2%3D%2211.4%22%20stroke%3D%22%2374445e%22%20stroke-width%3D%220.80%22%20stroke-linecap%3D%22round%22%20opacity%3D%220.97%22%2F%3E%3Cline%20x1%3D%226.5%22%20y1%3D%229.6%22%20x2%3D%228.4%22%20y2%3D%2211.5%22%20stroke%3D%22%234d0f30%22%20stroke-width%3D%220.80%22%20stroke-linecap%3D%22round%22%20opacity%3D%221.00%22%2F%3E%3Cline%20x1%3D%228.5%22%20y1%3D%229.4%22%20x2%3D%226.5%22%20y2%3D%2211.4%22%20stroke%3D%22%2374445e%22%20stroke-width%3D%220.80%22%20stroke-linecap%3D%22round%22%20opacity%3D%221.00%22%2F%3E%3Cline%20x1%3D%229.4%22%20y1%3D%229.5%22%20x2%3D%2211.4%22%20y2%3D%2211.4%22%20stroke%3D%22%234d0f30%22%20stroke-width%3D%220.80%22%20stroke-linecap%3D%22round%22%20opacity%3D%220.97%22%2F%3E%3Cline%20x1%3D%2211.5%22%20y1%3D%229.5%22%20x2%3D%229.4%22%20y2%3D%2211.5%22%20stroke%3D%22%2374445e%22%20stroke-width%3D%220.80%22%20stroke-linecap%3D%22round%22%20opacity%3D%220.97%22%2F%3E%3Cline%20x1%3D%2224.5%22%20y1%3D%229.6%22%20x2%3D%2226.4%22%20y2%3D%2211.5%22%20stroke%3D%22%234d0f30%22%20stroke-width%3D%220.80%22%20stroke-linecap%3D%22round%22%20opacity%3D%221.00%22%2F%3E%3Cline%20x1%3D%2226.6%22%20y1%3D%229.4%22%20x2%3D%2224.5%22%20y2%3D%2211.4%22%20stroke%3D%22%2374445e%22%20stroke-width%3D%220.80%22%20stroke-linecap%3D%22round%22%20opacity%3D%221.00%22%2F%3E%3Cline%20x1%3D%2227.4%22%20y1%3D%229.5%22%20x2%3D%2229.4%22%20y2%3D%2211.4%22%20stroke%3D%22%234d0f30%22%20stroke-width%3D%220.80%22%20stroke-linecap%3D%22round%22%20opacity%3D%220.98%22%2F%3E%3Cline%20x1%3D%2229.5%22%20y1%3D%229.4%22%20x2%3D%2227.4%22%20y2%3D%2211.5%22%20stroke%3D%22%2374445e%22%20stroke-width%3D%220.80%22%20stroke-linecap%3D%22round%22%20opacity%3D%220.98%22%2F%3E%3Cline%20x1%3D%2230.4%22%20y1%3D%229.4%22%20x2%3D%2232.5%22%20y2%3D%2211.4%22%20stroke%3D%22%234d0f30%22%20stroke-width%3D%220.80%22%20stroke-linecap%3D%22round%22%20opacity%3D%220.92%22%2F%3E%3Cline%20x1%3D%2232.4%22%20y1%3D%229.5%22%20x2%3D%2230.4%22%20y2%3D%2211.6%22%20stroke%3D%22%2374445e%22%20stroke-width%3D%220.80%22%20stroke-linecap%3D%22round%22%20opacity%3D%220.92%22%2F%3E%3Cline%20x1%3D%2233.5%22%20y1%3D%229.4%22%20x2%3D%2235.6%22%20y2%3D%2211.5%22%20stroke%3D%22%238a2f28%22%20stroke-width%3D%220.80%22%20stroke-linecap%3D%22round%22%20opacity%3D%220.88%22%2F%3E%3Cline%20x1%3D%2235.4%22%20y1%3D%229.6%22%20x2%3D%2233.5%22%20y2%3D%2211.6%22%20stroke%3D%22%23a45d57%22%20stroke-width%3D%220.80%22%20stroke-linecap%3D%22round%22%20opacity%3D%220.88%22%2F%3E%3Cline%20x1%3D%223.5%22%20y1%3D%2212.4%22%20x2%3D%225.6%22%20y2%3D%2214.5%22%20stroke%3D%22%234d0f30%22%20stroke-width%3D%220.80%22%20stroke-linecap%3D%22round%22%20opacity%3D%220.88%22%2F%3E%3Cline%20x1%3D%225.4%22%20y1%3D%2212.6%22%20x2%3D%223.5%22%20y2%3D%2214.6%22%20stroke%3D%22%2374445e%22%20stroke-width%3D%220.80%22%20stroke-linecap%3D%22round%22%20opacity%3D%220.88%22%2F%3E%3Cline%20x1%3D%226.6%22%20y1%3D%2212.5%22%20x2%3D%228.6%22%20y2%3D%2214.6%22%20stroke%3D%22%234d0f30%22%20stroke-width%3D%220.80%22%20stroke-linecap%3D%22round%22%20opacity%3D%220.90%22%2F%3E%3Cline%20x1%3D%228.5%22%20y1%3D%2212.6%22%20x2%3D%226.6%22%20y2%3D%2214.5%22%20stroke%3D%22%2374445e%22%20stroke-width%3D%220.80%22%20stroke-linecap%3D%22round%22%20opacity%3D%220.90%22%2F%3E%3Cline%20x1%3D%229.6%22%20y1%3D%2212.6%22%20x2%3D%2211.5%22%20y2%3D%2214.6%22%20stroke%3D%22%234d0f30%22%20stroke-width%3D%220.80%22%20stroke-linecap%3D%22round%22%20opacity%3D%220.95%22%2F%3E%3Cline%20x1%3D%2211.6%22%20y1%3D%2212.5%22%20x2%3D%229.6%22%20y2%3D%2214.4%22%20stroke%3D%22%2374445e%22%20stroke-width%3D%220.80%22%20stroke-linecap%3D%22round%22%20opacity%3D%220.95%22%2F%3E%3Cline%20x1%3D%2212.5%22%20y1%3D%2212.6%22%20x2%3D%2214.4%22%20y2%3D%2214.5%22%20stroke%3D%22%234d0f30%22%20stroke-width%3D%220.80%22%20stroke-linecap%3D%22round%22%20opacity%3D%221.00%22%2F%3E%3Cline%20x1%3D%2214.6%22%20y1%3D%2212.4%22%20x2%3D%2212.5%22%20y2%3D%2214.4%22%20stroke%3D%22%2374445e%22%20stroke-width%3D%220.80%22%20stroke-linecap%3D%22round%22%20opacity%3D%221.00%22%2F%3E%3Cline%20x1%3D%2215.4%22%20y1%3D%2212.5%22%20x2%3D%2217.4%22%20y2%3D%2214.4%22%20stroke%3D%22%234d0f30%22%20stroke-width%3D%220.80%22%20stroke-linecap%3D%22round%22%20opacity%3D%220.99%22%2F%3E%3Cline%20x1%3D%2217.5%22%20y1%3D%2212.4%22%20x2%3D%2215.4%22%20y2%3D%2214.5%22%20stroke%3D%22%2374445e%22%20stroke-width%3D%220.80%22%20stroke-linecap%3D%22round%22%20opacity%3D%220.99%22%2F%3E%3Cline%20x1%3D%2218.4%22%20y1%3D%2212.4%22%20x2%3D%2220.5%22%20y2%3D%2214.4%22%20stroke%3D%22%234d0f30%22%20stroke-width%3D%220.80%22%20stroke-linecap%3D%22round%22%20opacity%3D%220.93%22%2F%3E%3Cline%20x1%3D%2220.4%22%20y1%3D%2212.5%22%20x2%3D%2218.4%22%20y2%3D%2214.6%22%20stroke%3D%22%2374445e%22%20stroke-width%3D%220.80%22%20stroke-linecap%3D%22round%22%20opacity%3D%220.93%22%2F%3E%3Cline%20x1%3D%2221.5%22%20y1%3D%2212.4%22%20x2%3D%2223.6%22%20y2%3D%2214.5%22%20stroke%3D%22%234d0f30%22%20stroke-width%3D%220.80%22%20stroke-linecap%3D%22round%22%20opacity%3D%220.88%22%2F%3E%3Cline%20x1%3D%2223.4%22%20y1%3D%2212.6%22%20x2%3D%2221.5%22%20y2%3D%2214.6%22%20stroke%3D%22%2374445e%22%20stroke-width%3D%220.80%22%20stroke-linecap%3D%22round%22%20opacity%3D%220.88%22%2F%3E%3Cline%20x1%3D%2224.6%22%20y1%3D%2212.5%22%20x2%3D%2226.6%22%20y2%3D%2214.6%22%20stroke%3D%22%234d0f30%22%20stroke-width%3D%220.80%22%20stroke-linecap%3D%22round%22%20opacity%3D%220.89%22%2F%3E%3Cline%20x1%3D%2226.5%22%20y1%3D%2212.6%22%20x2%3D%2224.6%22%20y2%3D%2214.5%22%20stroke%3D%22%2374445e%22%20stroke-width%3D%220.80%22%20stroke-linecap%3D%22round%22%20opacity%3D%220.89%22%2F%3E%3Cline%20x1%3D%2227.6%22%20y1%3D%2212.6%22%20x2%3D%2229.5%22%20y2%3D%2214.6%22%20stroke%3D%22%234d0f30%22%20stroke-width%3D%220.80%22%20stroke-linecap%3D%22round%22%20opacity%3D%220.95%22%2F%3E%3Cline%20x1%3D%2229.6%22%20y1%3D%2212.5%22%20x2%3D%2227.6%22%20y2%3D%2214.4%22%20stroke%3D%22%2374445e%22%20stroke-width%3D%220.80%22%20stroke-linecap%3D%22round%22%20opacity%3D%220.95%22%2F%3E%3Cline%20x1%3D%2230.5%22%20y1%3D%2212.6%22%20x2%3D%2232.4%22%20y2%3D%2214.5%22%20stroke%3D%22%238a2f28%22%20stroke-width%3D%220.80%22%20stroke-linecap%3D%22round%22%20opacity%3D%220.99%22%2F%3E%3Cline%20x1%3D%2232.6%22%20y1%3D%2212.4%22%20x2%3D%2230.5%22%20y2%3D%2214.4%22%20stroke%3D%22%23a45d57%22%20stroke-width%3D%220.80%22%20stroke-linecap%3D%22round%22%20opacity%3D%220.99%22%2F%3E%3Cline%20x1%3D%226.4%22%20y1%3D%2215.5%22%20x2%3D%228.5%22%20y2%3D%2217.4%22%20stroke%3D%22%234d0f30%22%20stroke-width%3D%220.80%22%20stroke-linecap%3D%22round%22%20opacity%3D%220.95%22%2F%3E%3Cline%20x1%3D%228.4%22%20y1%3D%2215.5%22%20x2%3D%226.4%22%20y2%3D%2217.6%22%20stroke%3D%22%2374445e%22%20stroke-width%3D%220.80%22%20stroke-linecap%3D%22round%22%20opacity%3D%220.95%22%2F%3E%3Cline%20x1%3D%229.5%22%20y1%3D%2215.4%22%20x2%3D%2211.5%22%20y2%3D%2217.5%22%20stroke%3D%22%234d0f30%22%20stroke-width%3D%220.80%22%20stroke-linecap%3D%22round%22%20opacity%3D%220.89%22%2F%3E%3Cline%20x1%3D%2211.4%22%20y1%3D%2215.6%22%20x2%3D%229.5%22%20y2%3D%2217.6%22%20stroke%3D%22%2374445e%22%20stroke-width%3D%220.80%22%20stroke-linecap%3D%22round%22%20opacity%3D%220.89%22%2F%3E%3Cline%20x1%3D%2212.6%22%20y1%3D%2215.5%22%20x2%3D%2214.6%22%20y2%3D%2217.5%22%20stroke%3D%22%234d0f30%22%20stroke-width%3D%220.80%22%20stroke-linecap%3D%22round%22%20opacity%3D%220.88%22%2F%3E%3Cline%20x1%3D%2214.5%22%20y1%3D%2215.6%22%20x2%3D%2212.6%22%20y2%3D%2217.5%22%20stroke%3D%22%2374445e%22%20stroke-width%3D%220.80%22%20stroke-linecap%3D%22round%22%20opacity%3D%220.88%22%2F%3E%3Cline%20x1%3D%2215.6%22%20y1%3D%2215.6%22%20x2%3D%2217.5%22%20y2%3D%2217.6%22%20stroke%3D%22%234d0f30%22%20stroke-width%3D%220.80%22%20stroke-linecap%3D%22round%22%20opacity%3D%220.93%22%2F%3E%3Cline%20x1%3D%2217.5%22%20y1%3D%2215.5%22%20x2%3D%2215.6%22%20y2%3D%2217.4%22%20stroke%3D%22%2374445e%22%20stroke-width%3D%220.80%22%20stroke-linecap%3D%22round%22%20opacity%3D%220.93%22%2F%3E%3Cline%20x1%3D%2218.6%22%20y1%3D%2215.6%22%20x2%3D%2220.4%22%20y2%3D%2217.5%22%20stroke%3D%22%234d0f30%22%20stroke-width%3D%220.80%22%20stroke-linecap%3D%22round%22%20opacity%3D%220.99%22%2F%3E%3Cline%20x1%3D%2220.6%22%20y1%3D%2215.4%22%20x2%3D%2218.5%22%20y2%3D%2217.4%22%20stroke%3D%22%2374445e%22%20stroke-width%3D%220.80%22%20stroke-linecap%3D%22round%22%20opacity%3D%220.99%22%2F%3E%3Cline%20x1%3D%2221.5%22%20y1%3D%2215.6%22%20x2%3D%2223.4%22%20y2%3D%2217.4%22%20stroke%3D%22%234d0f30%22%20stroke-width%3D%220.80%22%20stroke-linecap%3D%22round%22%20opacity%3D%221.00%22%2F%3E%3Cline%20x1%3D%2223.5%22%20y1%3D%2215.4%22%20x2%3D%2221.4%22%20y2%3D%2217.5%22%20stroke%3D%22%2374445e%22%20stroke-width%3D%220.80%22%20stroke-linecap%3D%22round%22%20opacity%3D%221.00%22%2F%3E%3Cline%20x1%3D%2224.4%22%20y1%3D%2215.5%22%20x2%3D%2226.4%22%20y2%3D%2217.4%22%20stroke%3D%22%234d0f30%22%20stroke-width%3D%220.80%22%20stroke-linecap%3D%22round%22%20opacity%3D%220.95%22%2F%3E%3Cline%20x1%3D%2226.4%22%20y1%3D%2215.5%22%20x2%3D%2224.4%22%20y2%3D%2217.6%22%20stroke%3D%22%2374445e%22%20stroke-width%3D%220.80%22%20stroke-linecap%3D%22round%22%20opacity%3D%220.95%22%2F%3E%3Cline%20x1%3D%2227.5%22%20y1%3D%2215.4%22%20x2%3D%2229.5%22%20y2%3D%2217.5%22%20stroke%3D%22%234d0f30%22%20stroke-width%3D%220.80%22%20stroke-linecap%3D%22round%22%20opacity%3D%220.90%22%2F%3E%3Cline%20x1%3D%2229.4%22%20y1%3D%2215.6%22%20x2%3D%2227.5%22%20y2%3D%2217.6%22%20stroke%3D%22%2374445e%22%20stroke-width%3D%220.80%22%20stroke-linecap%3D%22round%22%20opacity%3D%220.90%22%2F%3E%3Cline%20x1%3D%226.6%22%20y1%3D%2218.6%22%20x2%3D%228.5%22%20y2%3D%2220.5%22%20stroke%3D%22%234d0f30%22%20stroke-width%3D%220.80%22%20stroke-linecap%3D%22round%22%20opacity%3D%220.98%22%2F%3E%3Cline%20x1%3D%228.6%22%20y1%3D%2218.5%22%20x2%3D%226.6%22%20y2%3D%2220.4%22%20stroke%3D%22%2374445e%22%20stroke-width%3D%220.80%22%20stroke-linecap%3D%22round%22%20opacity%3D%220.98%22%2F%3E%3Cline%20x1%3D%229.5%22%20y1%3D%2218.6%22%20x2%3D%2211.4%22%20y2%3D%2220.5%22%20stroke%3D%22%234d0f30%22%20stroke-width%3D%220.80%22%20stroke-linecap%3D%22round%22%20opacity%3D%221.00%22%2F%3E%3Cline%20x1%3D%2211.5%22%20y1%3D%2218.4%22%20x2%3D%229.5%22%20y2%3D%2220.5%22%20stroke%3D%22%2374445e%22%20stroke-width%3D%220.80%22%20stroke-linecap%3D%22round%22%20opacity%3D%221.00%22%2F%3E%3Cline%20x1%3D%2212.4%22%20y1%3D%2218.5%22%20x2%3D%2214.4%22%20y2%3D%2220.4%22%20stroke%3D%22%234d0f30%22%20stroke-width%3D%220.80%22%20stroke-linecap%3D%22round%22%20opacity%3D%220.96%22%2F%3E%3Cline%20x1%3D%2214.5%22%20y1%3D%2218.5%22%20x2%3D%2212.4%22%20y2%3D%2220.5%22%20stroke%3D%22%2374445e%22%20stroke-width%3D%220.80%22%20stroke-linecap%3D%22round%22%20opacity%3D%220.96%22%2F%3E%3Cline%20x1%3D%2215.4%22%20y1%3D%2218.4%22%20x2%3D%2217.5%22%20y2%3D%2220.4%22%20stroke%3D%22%234d0f30%22%20stroke-width%3D%220.80%22%20stroke-linecap%3D%22round%22%20opacity%3D%220.91%22%2F%3E%3Cline%20x1%3D%2217.4%22%20y1%3D%2218.5%22%20x2%3D%2215.5%22%20y2%3D%2220.6%22%20stroke%3D%22%2374445e%22%20stroke-width%3D%220.80%22%20stroke-linecap%3D%22round%22%20opacity%3D%220.91%22%2F%3E%3Cline%20x1%3D%2218.5%22%20y1%3D%2218.4%22%20x2%3D%2220.6%22%20y2%3D%2220.5%22%20stroke%3D%22%234d0f30%22%20stroke-width%3D%220.80%22%20stroke-linecap%3D%22round%22%20opacity%3D%220.88%22%2F%3E%3Cline%20x1%3D%2220.4%22%20y1%3D%2218.6%22%20x2%3D%2218.6%22%20y2%3D%2220.5%22%20stroke%3D%22%2374445e%22%20stroke-width%3D%220.80%22%20stroke-linecap%3D%22round%22%20opacity%3D%220.88%22%2F%3E%3Cline%20x1%3D%2221.6%22%20y1%3D%2218.5%22%20x2%3D%2223.6%22%20y2%3D%2220.6%22%20stroke%3D%22%234d0f30%22%20stroke-width%3D%220.80%22%20stroke-linecap%3D%22round%22%20opacity%3D%220.91%22%2F%3E%3Cline%20x1%3D%2223.5%22%20y1%3D%2218.6%22%20x2%3D%2221.6%22%20y2%3D%2220.4%22%20stroke%3D%22%2374445e%22%20stroke-width%3D%220.80%22%20stroke-linecap%3D%22round%22%20opacity%3D%220.91%22%2F%3E%3Cline%20x1%3D%2224.6%22%20y1%3D%2218.6%22%20x2%3D%2226.5%22%20y2%3D%2220.6%22%20stroke%3D%22%234d0f30%22%20stroke-width%3D%220.80%22%20stroke-linecap%3D%22round%22%20opacity%3D%220.97%22%2F%3E%3Cline%20x1%3D%2226.6%22%20y1%3D%2218.5%22%20x2%3D%2224.6%22%20y2%3D%2220.4%22%20stroke%3D%22%2374445e%22%20stroke-width%3D%220.80%22%20stroke-linecap%3D%22round%22%20opacity%3D%220.97%22%2F%3E%3Cline%20x1%3D%2227.5%22%20y1%3D%2218.6%22%20x2%3D%2229.4%22%20y2%3D%2220.5%22%20stroke%3D%22%234d0f30%22%20stroke-width%3D%220.80%22%20stroke-linecap%3D%22round%22%20opacity%3D%221.00%22%2F%3E%3Cline%20x1%3D%2229.5%22%20y1%3D%2218.4%22%20x2%3D%2227.5%22%20y2%3D%2220.4%22%20stroke%3D%22%2374445e%22%20stroke-width%3D%220.80%22%20stroke-linecap%3D%22round%22%20opacity%3D%221.00%22%2F%3E%3Cline%20x1%3D%229.6%22%20y1%3D%2221.5%22%20x2%3D%2211.6%22%20y2%3D%2223.6%22%20stroke%3D%22%234d0f30%22%20stroke-width%3D%220.80%22%20stroke-linecap%3D%22round%22%20opacity%3D%220.90%22%2F%3E%3Cline%20x1%3D%2211.5%22%20y1%3D%2221.6%22%20x2%3D%229.6%22%20y2%3D%2223.5%22%20stroke%3D%22%2374445e%22%20stroke-width%3D%220.80%22%20stroke-linecap%3D%22round%22%20opacity%3D%220.90%22%2F%3E%3Cline%20x1%3D%2212.6%22%20y1%3D%2221.6%22%20x2%3D%2214.5%22%20y2%3D%2223.6%22%20stroke%3D%22%234d0f30%22%20stroke-width%3D%220.80%22%20stroke-linecap%3D%22round%22%20opacity%3D%220.96%22%2F%3E%3Cline%20x1%3D%2214.6%22%20y1%3D%2221.5%22%20x2%3D%2212.6%22%20y2%3D%2223.4%22%20stroke%3D%22%2374445e%22%20stroke-width%3D%220.80%22%20stroke-linecap%3D%22round%22%20opacity%3D%220.96%22%2F%3E%3Cline%20x1%3D%2215.5%22%20y1%3D%2221.6%22%20x2%3D%2217.4%22%20y2%3D%2223.5%22%20stroke%3D%22%234d0f30%22%20stroke-width%3D%220.80%22%20stroke-linecap%3D%22round%22%20opacity%3D%221.00%22%2F%3E%3Cline%20x1%3D%2217.6%22%20y1%3D%2221.4%22%20x2%3D%2215.5%22%20y2%3D%2223.4%22%20stroke%3D%22%2374445e%22%20stroke-width%3D%220.80%22%20stroke-linecap%3D%22round%22%20opacity%3D%221.00%22%2F%3E%3Cline%20x1%3D%2218.4%22%20y1%3D%2221.5%22%20x2%3D%2220.4%22%20y2%3D%2223.4%22%20stroke%3D%22%234d0f30%22%20stroke-width%3D%220.80%22%20stroke-linecap%3D%22round%22%20opacity%3D%220.98%22%2F%3E%3Cline%20x1%3D%2220.5%22%20y1%3D%2221.4%22%20x2%3D%2218.4%22%20y2%3D%2223.5%22%20stroke%3D%22%2374445e%22%20stroke-width%3D%220.80%22%20stroke-linecap%3D%22round%22%20opacity%3D%220.98%22%2F%3E%3Cline%20x1%3D%2221.4%22%20y1%3D%2221.4%22%20x2%3D%2223.5%22%20y2%3D%2223.4%22%20stroke%3D%22%234d0f30%22%20stroke-width%3D%220.80%22%20stroke-linecap%3D%22round%22%20opacity%3D%220.92%22%2F%3E%3Cline%20x1%3D%2223.4%22%20y1%3D%2221.5%22%20x2%3D%2221.4%22%20y2%3D%2223.6%22%20stroke%3D%22%2374445e%22%20stroke-width%3D%220.80%22%20stroke-linecap%3D%22round%22%20opacity%3D%220.92%22%2F%3E%3Cline%20x1%3D%2224.5%22%20y1%3D%2221.4%22%20x2%3D%2226.6%22%20y2%3D%2223.5%22%20stroke%3D%22%234d0f30%22%20stroke-width%3D%220.80%22%20stroke-linecap%3D%22round%22%20opacity%3D%220.88%22%2F%3E%3Cline%20x1%3D%2226.4%22%20y1%3D%2221.6%22%20x2%3D%2224.5%22%20y2%3D%2223.6%22%20stroke%3D%22%2374445e%22%20stroke-width%3D%220.80%22%20stroke-linecap%3D%22round%22%20opacity%3D%220.88%22%2F%3E%3Cline%20x1%3D%2227.6%22%20y1%3D%2221.5%22%20x2%3D%2229.6%22%20y2%3D%2223.6%22%20stroke%3D%22%234d0f30%22%20stroke-width%3D%220.80%22%20stroke-linecap%3D%22round%22%20opacity%3D%220.90%22%2F%3E%3Cline%20x1%3D%2229.5%22%20y1%3D%2221.6%22%20x2%3D%2227.6%22%20y2%3D%2223.5%22%20stroke%3D%22%2374445e%22%20stroke-width%3D%220.80%22%20stroke-linecap%3D%22round%22%20opacity%3D%220.90%22%2F%3E%3Cline%20x1%3D%2212.5%22%20y1%3D%2224.4%22%20x2%3D%2214.6%22%20y2%3D%2226.5%22%20stroke%3D%22%234d0f30%22%20stroke-width%3D%220.80%22%20stroke-linecap%3D%22round%22%20opacity%3D%220.89%22%2F%3E%3Cline%20x1%3D%2214.4%22%20y1%3D%2224.6%22%20x2%3D%2212.5%22%20y2%3D%2226.6%22%20stroke%3D%22%2374445e%22%20stroke-width%3D%220.80%22%20stroke-linecap%3D%22round%22%20opacity%3D%220.89%22%2F%3E%3Cline%20x1%3D%2215.6%22%20y1%3D%2224.5%22%20x2%3D%2217.6%22%20y2%3D%2226.6%22%20stroke%3D%22%234d0f30%22%20stroke-width%3D%220.80%22%20stroke-linecap%3D%22round%22%20opacity%3D%220.89%22%2F%3E%3Cline%20x1%3D%2217.5%22%20y1%3D%2224.6%22%20x2%3D%2215.6%22%20y2%3D%2226.5%22%20stroke%3D%22%2374445e%22%20stroke-width%3D%220.80%22%20stroke-linecap%3D%22round%22%20opacity%3D%220.89%22%2F%3E%3Cline%20x1%3D%2218.6%22%20y1%3D%2224.6%22%20x2%3D%2220.5%22%20y2%3D%2226.6%22%20stroke%3D%22%234d0f30%22%20stroke-width%3D%220.80%22%20stroke-linecap%3D%22round%22%20opacity%3D%220.94%22%2F%3E%3Cline%20x1%3D%2220.6%22%20y1%3D%2224.5%22%20x2%3D%2218.6%22%20y2%3D%2226.4%22%20stroke%3D%22%2374445e%22%20stroke-width%3D%220.80%22%20stroke-linecap%3D%22round%22%20opacity%3D%220.94%22%2F%3E%3Cline%20x1%3D%2221.5%22%20y1%3D%2224.6%22%20x2%3D%2223.4%22%20y2%3D%2226.5%22%20stroke%3D%22%234d0f30%22%20stroke-width%3D%220.80%22%20stroke-linecap%3D%22round%22%20opacity%3D%220.99%22%2F%3E%3Cline%20x1%3D%2223.6%22%20y1%3D%2224.4%22%20x2%3D%2221.5%22%20y2%3D%2226.4%22%20stroke%3D%22%2374445e%22%20stroke-width%3D%220.80%22%20stroke-linecap%3D%22round%22%20opacity%3D%220.99%22%2F%3E%3Cline%20x1%3D%2224.5%22%20y1%3D%2224.5%22%20x2%3D%2226.4%22%20y2%3D%2226.4%22%20stroke%3D%22%234d0f30%22%20stroke-width%3D%220.80%22%20stroke-linecap%3D%22round%22%20opacity%3D%220.99%22%2F%3E%3Cline%20x1%3D%2226.5%22%20y1%3D%2224.4%22%20x2%3D%2224.4%22%20y2%3D%2226.5%22%20stroke%3D%22%2374445e%22%20stroke-width%3D%220.80%22%20stroke-linecap%3D%22round%22%20opacity%3D%220.99%22%2F%3E%3Cline%20x1%3D%2215.4%22%20y1%3D%2227.5%22%20x2%3D%2217.4%22%20y2%3D%2229.4%22%20stroke%3D%22%238a2f28%22%20stroke-width%3D%220.80%22%20stroke-linecap%3D%22round%22%20opacity%3D%220.96%22%2F%3E%3Cline%20x1%3D%2217.4%22%20y1%3D%2227.5%22%20x2%3D%2215.4%22%20y2%3D%2229.5%22%20stroke%3D%22%23a45d57%22%20stroke-width%3D%220.80%22%20stroke-linecap%3D%22round%22%20opacity%3D%220.96%22%2F%3E%3Cline%20x1%3D%2221.5%22%20y1%3D%2227.5%22%20x2%3D%2223.6%22%20y2%3D%2229.5%22%20stroke%3D%22%238a2f28%22%20stroke-width%3D%220.80%22%20stroke-linecap%3D%22round%22%20opacity%3D%220.88%22%2F%3E%3Cline%20x1%3D%2223.4%22%20y1%3D%2227.6%22%20x2%3D%2221.6%22%20y2%3D%2229.5%22%20stroke%3D%22%23a45d57%22%20stroke-width%3D%220.80%22%20stroke-linecap%3D%22round%22%20opacity%3D%220.88%22%2F%3E%3Cline%20x1%3D%2215.6%22%20y1%3D%2230.6%22%20x2%3D%2217.5%22%20y2%3D%2232.6%22%20stroke%3D%22%238a2f28%22%20stroke-width%3D%220.80%22%20stroke-linecap%3D%22round%22%20opacity%3D%220.97%22%2F%3E%3Cline%20x1%3D%2217.6%22%20y1%3D%2230.5%22%20x2%3D%2215.6%22%20y2%3D%2232.4%22%20stroke%3D%22%23a45d57%22%20stroke-width%3D%220.80%22%20stroke-linecap%3D%22round%22%20opacity%3D%220.97%22%2F%3E%3Cline%20x1%3D%2221.4%22%20y1%3D%2230.5%22%20x2%3D%2223.4%22%20y2%3D%2232.4%22%20stroke%3D%22%238a2f28%22%20stroke-width%3D%220.80%22%20stroke-linecap%3D%22round%22%20opacity%3D%220.98%22%2F%3E%3Cline%20x1%3D%2223.5%22%20y1%3D%2230.4%22%20x2%3D%2221.4%22%20y2%3D%2232.5%22%20stroke%3D%22%23a45d57%22%20stroke-width%3D%220.80%22%20stroke-linecap%3D%22round%22%20opacity%3D%220.98%22%2F%3E%3Cline%20x1%3D%2212.4%22%20y1%3D%2233.4%22%20x2%3D%2214.5%22%20y2%3D%2235.4%22%20stroke%3D%22%238a2f28%22%20stroke-width%3D%220.80%22%20stroke-linecap%3D%22round%22%20opacity%3D%220.93%22%2F%3E%3Cline%20x1%3D%2214.4%22%20y1%3D%2233.5%22%20x2%3D%2212.4%22%20y2%3D%2235.6%22%20stroke%3D%22%23a45d57%22%20stroke-width%3D%220.80%22%20stroke-linecap%3D%22round%22%20opacity%3D%220.93%22%2F%3E%3Cline%20x1%3D%2215.5%22%20y1%3D%2233.4%22%20x2%3D%2217.6%22%20y2%3D%2235.5%22%20stroke%3D%22%238a2f28%22%20stroke-width%3D%220.80%22%20stroke-linecap%3D%22round%22%20opacity%3D%220.88%22%2F%3E%3Cline%20x1%3D%2217.4%22%20y1%3D%2233.6%22%20x2%3D%2215.5%22%20y2%3D%2235.6%22%20stroke%3D%22%23a45d57%22%20stroke-width%3D%220.80%22%20stroke-linecap%3D%22round%22%20opacity%3D%220.88%22%2F%3E%3Cline%20x1%3D%2218.6%22%20y1%3D%2233.5%22%20x2%3D%2220.6%22%20y2%3D%2235.6%22%20stroke%3D%22%238a2f28%22%20stroke-width%3D%220.80%22%20stroke-linecap%3D%22round%22%20opacity%3D%220.89%22%2F%3E%3Cline%20x1%3D%2220.5%22%20y1%3D%2233.6%22%20x2%3D%2218.6%22%20y2%3D%2235.5%22%20stroke%3D%22%23a45d57%22%20stroke-width%3D%220.80%22%20stroke-linecap%3D%22round%22%20opacity%3D%220.89%22%2F%3E%3Cline%20x1%3D%2221.6%22%20y1%3D%2233.6%22%20x2%3D%2223.5%22%20y2%3D%2235.6%22%20stroke%3D%22%238a2f28%22%20stroke-width%3D%220.80%22%20stroke-linecap%3D%22round%22%20opacity%3D%220.95%22%2F%3E%3Cline%20x1%3D%2223.6%22%20y1%3D%2233.5%22%20x2%3D%2221.6%22%20y2%3D%2235.4%22%20stroke%3D%22%23a45d57%22%20stroke-width%3D%220.80%22%20stroke-linecap%3D%22round%22%20opacity%3D%220.95%22%2F%3E%3Cline%20x1%3D%2224.5%22%20y1%3D%2233.6%22%20x2%3D%2226.4%22%20y2%3D%2235.5%22%20stroke%3D%22%238a2f28%22%20stroke-width%3D%220.80%22%20stroke-linecap%3D%22round%22%20opacity%3D%220.99%22%2F%3E%3Cline%20x1%3D%2226.6%22%20y1%3D%2233.4%22%20x2%3D%2224.5%22%20y2%3D%2235.4%22%20stroke%3D%22%23a45d57%22%20stroke-width%3D%220.80%22%20stroke-linecap%3D%22round%22%20opacity%3D%220.99%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E");
  background-size: contain;
  background-repeat: no-repeat;
  background-position: left center;
}



/* ===========================================================================
 * DER FLECK
 * ===========================================================================
 *
 * Eine Rezeptkarte, die in einer Küche gelegen hat, ist nicht sauber.
 * Genau daran erkennt man sie – der Fettfleck und der Kaffeerand sind
 * nicht Schmutz, sie sind der Beweis, dass damit gekocht wurde.
 *
 * Zwei Ringe, einer davon nur angedeutet: So sieht es aus, wenn eine
 * Tasse zweimal abgestellt wurde. Der Rand ist dunkler als die Mitte –
 * beim Trocknen wandert der Kaffee nach außen, das ist der Grund, warum
 * ein Kaffeefleck ein RING ist und kein Kreis.
 *
 * Wo er liegt, entscheidet der Beitrag, nicht der Zufall: „--fleck-x" und
 * „--fleck-y" kommen aus einer Prüfsumme des Kurznamens. Echter Zufall
 * hieße, dass der Fleck bei jedem Aufruf woanders sitzt; derselbe Fleck
 * auf jeder Karte hieße, dass man die Wiederholung sieht.
 * ========================================================================= */
.karte--rezept,
.aufmacher--rezept,
.suchtreffer--rezept {
  --fleck-x: 78%;
  --fleck-y: 70%;
}
.karte--rezept,
.aufmacher--rezept {
  background-image:
    /* der Kaffeerand: innen hell, der Rand dunkel */
    radial-gradient(circle at var(--fleck-x) var(--fleck-y),
      rgba(140,98,48,.05) 0 15px,
      rgba(124,84,40,.19) 15px 18px,
      rgba(140,98,48,.05) 18px 21px,
      transparent 21px),
    /* der zweite, nur angedeutete Abdruck daneben */
    radial-gradient(circle at calc(var(--fleck-x) - 9%) calc(var(--fleck-y) + 7%),
      transparent 0 11px,
      rgba(124,84,40,.1) 11px 13px,
      transparent 13px),
    /* der Fettfleck: keine Kante, nur durchscheinendes Papier */
    radial-gradient(26px 20px at calc(var(--fleck-x) + 6%) calc(var(--fleck-y) - 18%),
      rgba(170,130,60,.16), transparent 70%),
    repeating-linear-gradient(0deg, transparent 0 21px, rgba(120,90,50,.13) 21px 22px);
  background-position: 0 0, 0 0, 0 0, 0 .75rem;
}

/*
 * AUF DER REZEPTSEITE LIEGEN DIE ZUTATEN AUF DER KARTE.
 *
 * Die Spalte stand bisher nackt auf dem Lesebogen, während dieselbe
 * Zutatenliste in der Übersicht auf einer Karteikarte liegt. Jetzt auch
 * hier – mit dem Hahn darüber, den Linien darunter und dem Fleck, den
 * eine Karte bekommt, die in der Küche gelegen hat.
 */
.beitrag--rezept .werkbank__seite {
  padding: 1.2rem 1.3rem 1.6rem;
  border-radius: 3px;
  transform: rotate(-.5deg);
  background-color: var(--ofencreme);
  background-image:
    radial-gradient(circle at 70% 80%,
      rgba(140,98,48,.05) 0 18px,
      rgba(124,84,40,.18) 18px 21px,
      rgba(140,98,48,.05) 21px 24px,
      transparent 24px),
    radial-gradient(30px 22px at 22% 92%, rgba(170,130,60,.15), transparent 70%),
    repeating-linear-gradient(0deg, transparent 0 22px, rgba(120,90,50,.13) 22px 23px);
  background-position: 0 0, 0 0, 0 1.2rem;
  box-shadow:
    0 1px 0 rgba(255,255,255,.8) inset,
    var(--wurf);
}
/* Der rote Kopfstrich der Karteikarte, unter dem Hahn und der Bordüre. */
.beitrag--rezept .werkbank__seite > .baustein__titel { margin-top: 0; }

/* ===========================================================================
 * DER PUNKT VOR DER RUBRIK WIRD EIN KNOPF
 * ===========================================================================
 *
 * Er war eine Glasperle: ein Kreis mit Lichtpunkt. Hübsch, aber ohne
 * Grund – auf einem Nähtisch gibt es keine Glasperlen, es gibt Knöpfe.
 *
 * Zwei Löcher und eine Fadenbrücke, mehr passt bei zehn Punkten nicht
 * hinein, und mehr braucht es auch nicht: Zwei dunkle Punkte nebeneinander
 * auf einer gewölbten Scheibe liest jeder als Knopf.
 *
 * WICHTIG ist der Selektor. In blog.css steht die Farbe je Art als
 * KURZFORM (.kicker--rezept .kicker__punkt { background: ... }), und die
 * setzt background-image auf none. Mit „.kicker__punkt" allein verliert
 * diese Datei – die Kurzform ist spezifischer. Mit „.kicker .kicker__punkt"
 * steht es gleich, und die spätere Datei gewinnt.
 * ========================================================================= */
.kicker .kicker__punkt {
  width: 10px;
  height: 10px;
  background-image:
    radial-gradient(circle .9px at 32% 52%, rgba(28,18,10,.8) 99%, transparent 100%),
    radial-gradient(circle .9px at 68% 52%, rgba(28,18,10,.8) 99%, transparent 100%),
    /* die Wölbung – durchsichtig, damit die Farbe der Art darunter bleibt */
    radial-gradient(circle at 34% 28%,
      rgba(255,255,255,.8), rgba(255,255,255,0) 52%, rgba(0,0,0,.26));
  box-shadow:
    0 1px 1px rgba(58,40,28,.4),
    inset 0 0 0 1px rgba(0,0,0,.16);
}


/* Die Garnrolle liegt im Kopfbereich rechts – siehe garnrolle().
   Erst ab Tabletbreite: Auf dem Telefon ist der Kopf eng, und eine Rolle
   neben dem Blognamen wäre dort kein Fundstück, sondern ein Hindernis. */
.kopf { position: relative; }
@media (min-width: 900px) {
  .kopf::after {
    content: "";
    position: absolute;
    right: clamp(1rem, 6vw, 5.5rem);
    top: 1.6rem;
    width: 86px;
    height: 214px;
    background-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2286%22%20height%3D%22214%22%20viewBox%3D%220%200%2086%20214%22%3E%3Cdefs%3E%3ClinearGradient%20id%3D%22gr-licht%22%20x1%3D%220%22%20y1%3D%220%22%20x2%3D%220%22%20y2%3D%221%22%3E%3Cstop%20offset%3D%220%22%20stop-color%3D%22%23ffffff%22%20stop-opacity%3D%22.22%22%2F%3E%3Cstop%20offset%3D%22.5%22%20stop-color%3D%22%23ffffff%22%20stop-opacity%3D%220%22%2F%3E%3Cstop%20offset%3D%221%22%20stop-color%3D%22%23000000%22%20stop-opacity%3D%22.22%22%2F%3E%3C%2FlinearGradient%3E%3Cfilter%20id%3D%22gr-s%22%20x%3D%22-40%25%22%20y%3D%22-40%25%22%20width%3D%22180%25%22%20height%3D%22180%25%22%3E%3CfeGaussianBlur%20stdDeviation%3D%222.4%22%2F%3E%3C%2Ffilter%3E%3C%2Fdefs%3E%3Cellipse%20cx%3D%2246%22%20cy%3D%2272%22%20rx%3D%2230%22%20ry%3D%228%22%20fill%3D%22%233a281c%22%20opacity%3D%22.3%22%20filter%3D%22url(%23gr-s)%22%2F%3E%3Cpath%20d%3D%22M44%2058%20C64%2070%2070%2096%2056%20118%20C46%20136%2049%20154%2053%20172%20C56%20188%2051%20200%2056%20214%22%20fill%3D%22none%22%20stroke%3D%22%234d0f30%22%20stroke-width%3D%222.2%22%20stroke-linecap%3D%22round%22%20opacity%3D%22.9%22%2F%3E%3Crect%20x%3D%2222%22%20y%3D%2226%22%20width%3D%2242%22%20height%3D%2240%22%20rx%3D%223%22%20fill%3D%22%234d0f30%22%2F%3E%3Cpath%20d%3D%22M23.0%2066%20L28.0%2026%22%20stroke%3D%22rgba(255%2C255%2C255%2C.18)%22%20stroke-width%3D%221.6%22%2F%3E%3Cpath%20d%3D%22M27.6%2066%20L32.6%2026%22%20stroke%3D%22rgba(255%2C255%2C255%2C.18)%22%20stroke-width%3D%221.6%22%2F%3E%3Cpath%20d%3D%22M32.2%2066%20L37.2%2026%22%20stroke%3D%22rgba(255%2C255%2C255%2C.18)%22%20stroke-width%3D%221.6%22%2F%3E%3Cpath%20d%3D%22M36.8%2066%20L41.8%2026%22%20stroke%3D%22rgba(255%2C255%2C255%2C.18)%22%20stroke-width%3D%221.6%22%2F%3E%3Cpath%20d%3D%22M41.4%2066%20L46.4%2026%22%20stroke%3D%22rgba(255%2C255%2C255%2C.18)%22%20stroke-width%3D%221.6%22%2F%3E%3Cpath%20d%3D%22M46.0%2066%20L51.0%2026%22%20stroke%3D%22rgba(255%2C255%2C255%2C.18)%22%20stroke-width%3D%221.6%22%2F%3E%3Cpath%20d%3D%22M50.6%2066%20L55.6%2026%22%20stroke%3D%22rgba(255%2C255%2C255%2C.18)%22%20stroke-width%3D%221.6%22%2F%3E%3Cpath%20d%3D%22M55.2%2066%20L60.2%2026%22%20stroke%3D%22rgba(255%2C255%2C255%2C.18)%22%20stroke-width%3D%221.6%22%2F%3E%3Cpath%20d%3D%22M59.8%2066%20L64.8%2026%22%20stroke%3D%22rgba(255%2C255%2C255%2C.18)%22%20stroke-width%3D%221.6%22%2F%3E%3Crect%20x%3D%2222%22%20y%3D%2226%22%20width%3D%2242%22%20height%3D%2240%22%20rx%3D%223%22%20fill%3D%22url(%23gr-licht)%22%2F%3E%3Cellipse%20cx%3D%2222%22%20cy%3D%2246%22%20rx%3D%227%22%20ry%3D%2224%22%20fill%3D%22%23c9a465%22%2F%3E%3Cellipse%20cx%3D%2222%22%20cy%3D%2246%22%20rx%3D%227%22%20ry%3D%2224%22%20fill%3D%22none%22%20stroke%3D%22%239c7640%22%20stroke-width%3D%221.2%22%2F%3E%3Cellipse%20cx%3D%2220.4%22%20cy%3D%2240%22%20rx%3D%222.6%22%20ry%3D%2210%22%20fill%3D%22%23e2c796%22%20opacity%3D%22.5%22%2F%3E%3Cellipse%20cx%3D%2222%22%20cy%3D%2246%22%20rx%3D%222.4%22%20ry%3D%227%22%20fill%3D%22%236e5333%22%2F%3E%3Cellipse%20cx%3D%2264%22%20cy%3D%2246%22%20rx%3D%227%22%20ry%3D%2224%22%20fill%3D%22%23c9a465%22%2F%3E%3Cellipse%20cx%3D%2264%22%20cy%3D%2246%22%20rx%3D%227%22%20ry%3D%2224%22%20fill%3D%22none%22%20stroke%3D%22%239c7640%22%20stroke-width%3D%221.2%22%2F%3E%3Cellipse%20cx%3D%2262.4%22%20cy%3D%2240%22%20rx%3D%222.6%22%20ry%3D%2210%22%20fill%3D%22%23e2c796%22%20opacity%3D%22.5%22%2F%3E%3Cellipse%20cx%3D%2264%22%20cy%3D%2246%22%20rx%3D%222.4%22%20ry%3D%227%22%20fill%3D%22%236e5333%22%2F%3E%3C%2Fsvg%3E");
    background-repeat: no-repeat;
    background-size: contain;
    pointer-events: none;
    z-index: 0;
  }
}


/* ---------------------------------------------- Eine Filterzeile
 *
 * Die Arten standen als eigene Knopfreihe unter der Rubrikleiste – zwei
 * fast gleiche Listen übereinander. Jetzt sind sie ein Auswahlfeld in
 * der Suchzeile. Das Feld bekommt dieselbe Höhe wie Suchfeld und Knopf,
 * sonst sitzt die Zeile schief.
 */
/* Das Suchfeld war vorher genau 44 hoch. Mit dem Auswahlfeld daneben
   in derselben Reihe wurde es 43,5 – ein halber Punkt, und der Prüfer
   hatte recht: unter dem Daumenmaß ist unter dem Daumenmaß. Beide Felder
   bekommen die Höhe jetzt ausdrücklich. */
.suche--mit-art input[type="search"],
.suche--mit-art .knopf { min-height: 44px; }

.suche--mit-art select {
  flex: 0 0 auto;
  min-width: 12rem;
  font-family: var(--sans);
  /* Das Daumenmaß gilt auch hier. Frisch eingebaut war das Feld 22
     Punkte hoch – der Prüfer hat es auf 390 Punkten sofort gemeldet.
     44 ist die Zahl aus dem Standard, nicht geschätzt. */
  min-height: 44px;
  padding-inline: .7rem;
}
@media (max-width: 560px) {
  .suche--mit-art { flex-wrap: wrap; }
  .suche--mit-art select { flex: 1 1 100%; min-width: 0; }
}

/* Was gerade filtert, steht als Zettel darunter – mit dem Weg zurück.
   Ohne ihn sucht jemand, bekommt drei Beiträge und hält die Seite für
   leer. */
.filterstand {
  margin: .9rem 0 0;
  font-family: var(--mono);
  font-size: .76rem;
  letter-spacing: .04em;
  color: var(--text-leise);
}
.filterstand strong { color: var(--akzent); font-weight: 600; }
.filterstand__weg { margin-left: .8rem; }

/* ===========================================================================
 * DAS POLAROID IST DIE EINZIGE BILDFORM
 * ===========================================================================
 *
 * Es war schon da – Galerie, Lichtkasten, Album benutzen es. Es bleibt und
 * bekommt nur zwei Änderungen aus dem Konzept:
 *
 *   1. Der Schatten folgt dem Licht (vorher mittig und neutralgrau).
 *   2. Auf dem Steg steht Handschrift. Auf ein Sofortbild schreibt man mit
 *      dem Stift, nicht in Serife kursiv.
 *
 * Fotoecken wurden erwogen und verworfen: zwei Bildmetaphern nebeneinander
 * sind keine.
 * ========================================================================= */

.galerie figure,
.album__eintrag a { box-shadow: var(--wurf-klein); }
.galerie li:hover figure,
.album__eintrag a:hover { box-shadow: var(--wurf); }

.galerie figcaption,
.polaroid__text {
  font-family: var(--hand);
  font-style: normal;
  font-size: 1.1rem;
  line-height: 1.25;
}


/* ===========================================================================
 * AUF PAPIER GIBT ES KEINEN TISCH
 * ===========================================================================
 *
 * Ein Rezept wird ausgedruckt – dafür hat der Blog sogar einen eigenen
 * Druckknopf. Gemessen an einem dreiseitigen Rezept: 344 eingebettete
 * Bilder, 5,2 MB. Das waren das Kiefernholz, das Leinen, der Damast, das
 * Streugut, die Webkante, die Knotenecken und die Kreuzstichborten – alles
 * Hintergrundbilder, alle in der Druckdatei.
 *
 * blog.css hat eine Druckregel („body { background: #fff }"), aber sie
 * steht VOR haut.css, und haut.css setzt den Körpergrund ohne
 * Medienabfrage. Bei gleicher Gewichtung gewinnt die spätere Regel – die
 * Druckregel lief also ins Leere.
 *
 * Auf Papier bleibt: Text, Bilder, Linien. Sonst nichts.
 * ========================================================================= */
@media print {
  @page { margin: 1.6cm; }

  /*
   * KEIN EINZIGES HINTERGRUNDBILD AUF PAPIER.
   *
   * Erst standen hier nur die bekannten Stellen – Tuch, Holz, Bordüren,
   * Knotenecken. Danach waren es statt 344 noch 70 eingebettete Bilder;
   * irgendwo kachelte also weiter etwas. Statt die Fundstelle zu suchen,
   * die Regel: Auf Papier gibt es keine Hintergrundbilder. Keines davon
   * trägt Information, alle kosten Tinte, und ein neues, das jemand
   * später einbaut, ist von vornherein mitabgedeckt.
   *
   * Die einzelnen Regeln darunter bleiben trotzdem stehen: Sie räumen
   * Schatten, Rahmen und Drehungen weg, die ein background-image-Verbot
   * nicht erfasst.
   */
  /* MIT Pseudoelementen. Der Stern allein trifft sie nicht – die
     Kastanie der Jahreszeit hängt an body::after und stand nach dem
     ersten Anlauf immer noch auf dem Ausdruck. */
  *, *::before, *::after {
    background-image: none !important;
    /*
     * SCHATTEN AUCH NICHT.
     *
     * Die Kennzahlenleiste blieb als beiger Balken stehen, obwohl ihre
     * Füllfarbe schon zurückgesetzt war – was man sah, waren ihre drei
     * eingelassenen Schatten. Ein Schatten ist auf Papier ein grauer
     * Fleck ohne Bedeutung; er erzeugt Tonwert, wo Linien gemeint sind.
     */
    box-shadow: none !important;
    text-shadow: none !important;
  }
  body::after { content: none !important; }

  /* Der Tisch, das Tuch und alles, was sie tragen. */
  body {
    background: #fff !important;
    color: #000;
  }
  .tuch {
    max-width: none;
    background: none !important;
    box-shadow: none !important;
  }
  .tuch::before,          /* Webkante */
  .tuch::after,           /* das Licht im Raum – fest positioniert */
  body::before {          /* das Lesemaßband – fest positioniert */
    content: none !important;
    display: none !important;
  }

  /*
   * FEST POSITIONIERTES GEHÖRT NICHT AUFS PAPIER.
   *
   * Was am Bildschirm stehen bleibt, druckt mancher Browser auf JEDER
   * Seite erneut. Das Maßband wäre ein Streifen über jeder Blattkante,
   * die Lichtlage ein grauer Schleier über allem.
   */
  .katze, .wetter, .fuss__bewegung, .speicherbalken { display: none !important; }

  /* Der Lesebogen ist auf Papier das Papier. */
  main {
    max-width: none;
    background: none !important;
    box-shadow: none !important;
    border-radius: 0;
    padding-block: 0;
  }
  main::before, main::after { content: none !important; }   /* Knotenecken */

  /* Die gezählten Bordüren sind Bilder. Eine Linie sagt dasselbe und
     kostet keine Tinte. */
  .baustein__titel {
    background-image: none !important;
    padding-bottom: .2rem;
    border-bottom: 1px solid #000;
  }
  .seitentitel::after,
  .hinweis::before,
  .beitrag--rezept .werkbank__seite > .baustein__titel::before { content: none !important; }

  /* Papiersorten, Flecken und Briefmarken: auf echtem Papier überflüssig. */
  .karte, .aufmacher, .suchtreffer > li,
  .beitrag--rezept .werkbank__seite {
    background: none !important;
    box-shadow: none !important;
    transform: none !important;
    border: 1px solid #999;
  }
  .karte--reise::before, .aufmacher--reise::before,
  .aufmacher::after { content: none !important; }   /* Briefmarke, Stecknadel */

  /* Das Spruchbild behält seinen Rahmen, aber als Strich statt als
     gestapelte Schatten – die druckt ohnehin kein Treiber verlässlich. */
  .fliesstext blockquote, .rechtstext blockquote {
    margin: 1.2rem 0;
    padding: .8rem 1rem;
    background: none !important;
    box-shadow: none !important;
    border: 1px solid #000;
  }

  /* Bilder ohne Passepartout – der ist ein Schatten und wird grau. */
  .beitrag__bild, .karte__bild, .aufmacher__bild { box-shadow: none !important; }

  /*
   * KEINE BEWEGUNG – UND NICHTS, WAS HALB ANIMIERT ERSTARRT.
   *
   * Das ist nicht nur Kosmetik, hier lag ein echter Fehler. Karten,
   * Schritte, Bilder und Downloads tragen
   *
   *     animation: auftauchen linear both;
   *     animation-timeline: view();
   *
   * und „auftauchen" beginnt bei opacity: 0. Mit dem Füllmodus „both"
   * behält ein Element den Anfangswert, solange es außerhalb des
   * Sichtbereichs liegt. Beim Drucken gibt es kein Scrollen – alles,
   * was beim Rendern nicht im Fenster stand, wäre mit opacity 0 aufs
   * Papier gekommen. Leere Schritte in einem Rezept.
   *
   * Deshalb: Animationen und Übergänge aus, und bei genau den Regeln,
   * die mit Durchsichtigkeit und Verschiebung arbeiten, die Endwerte
   * ausdrücklich zurücksetzen.
   */
  *, *::before, *::after {
    animation: none !important;
    transition: none !important;
  }
  .karte, .album__eintrag, .galerie li, .beitrag__bildrahmen,
  .downloads li, .schritt, .aufmacher, .beitrag__titel, .katze__blase {
    opacity: 1 !important;
    transform: none !important;
    scale: none !important;
  }

  /* Cara, das Wetter und die Bewegung am Knotenband haben auf Papier
     nichts verloren – noch einmal ausdrücklich, auch für den Fall, dass
     eine spätere Regel sie wieder einblendet. */
  .katze, .katze__blase, .wetter, .fuss__bewegung,
  .wetter__schalter, .speicherbalken { display: none !important; }

  /*
   * ÜBERSCHRIFTEN BLEIBEN BEI IHREM ABSCHNITT.
   *
   * „Zubereitung" allein am Fuß einer Seite und die Schritte auf der
   * nächsten – das liest sich schlecht und sieht nach Fehler aus.
   *
   * Ein „wenn weniger als ein Drittel frei ist, dann umbrechen" gibt es
   * in CSS nicht. Was es gibt, erreicht dasselbe:
   *
   *   break-after: avoid   – nach der Überschrift wird nicht getrennt
   *   break-before: avoid  – das erste Element danach bleibt bei ihr
   *   break-inside: avoid  – ein Block, der auf eine Seite passt,
   *                          rutscht ganz auf die nächste statt zu reißen
   *   orphans/widows: 3    – nie weniger als drei Zeilen eines Absatzes
   *                          allein am Seitenanfang oder -ende
   *
   * Zusammen heißt das: Eine Überschrift kommt nur dort zu stehen, wo
   * hinter ihr noch ein ganzer Block oder mindestens drei Zeilen Platz
   * haben – sonst wandert sie mit auf die nächste Seite.
   */
  h1, h2, h3, h4,
  .seitentitel, .baustein__titel, .beitrag__titel {
    break-after: avoid-page;
    page-break-after: avoid;          /* ältere Treiber */
  }
  .baustein__titel + *, .seitentitel + *, h2 + *, h3 + * {
    break-before: avoid-page;
    page-break-before: avoid;
  }
  /* Ein Trenner gehoert zu dem, was nach ihm kommt. Allein unten am
     Blatt sah er aus wie ein Druckfehler: zwei blasse Striche. */
  hr { break-after: avoid-page; page-break-after: avoid; }
  /*
   * NUR KLEINE EINHEITEN BLEIBEN GANZ.
   *
   * Erster Anlauf: auch .werkbank__seite und .block durften nicht
   * reißen. Gemessen an der Druckdatei hieß das: Die Zutatenkarte passte
   * nicht mehr aufs erste Blatt, wanderte komplett auf das zweite – und
   * unten auf Seite 1 blieben 40 % leer. Ein halb leeres Blatt ist auch
   * nicht gut lesbar, nur anders schlecht.
   *
   * Zusammen bleibt deshalb nur, was von sich aus kurz ist: ein Schritt,
   * eine Zutat, ein Bild, ein Zitat. Lange Blöcke dürfen über die
   * Blattkante laufen – ihre ÜBERSCHRIFT bleibt trotzdem bei ihnen,
   * dafür sorgt break-after: avoid, und drei Zeilen Mindestmaß sorgen
   * dafür, dass es sich lohnt.
   */
  .schritt, .zutat, .zutaten li, .downloads li, .produktkarte,
  .kennzahlen, .beitrag__bildrahmen, figure, table, blockquote {
    break-inside: avoid;
    page-break-inside: avoid;
  }
  .werkbank, .werkbank__seite, .block, .schritte, .fliesstext {
    break-inside: auto;
    page-break-inside: auto;
  }
  p, li { orphans: 3; widows: 3; }

  /* Farbflächen sind keine Hintergrundbilder und bleiben sonst stehen.
     Die Kennzahlenleiste war ein beiger Balken quer über dem Blatt. */
  .kennzahlen, .marke, .masszahl, .pergament, .werkbank__seite {
    background-color: transparent !important;
  }
  .kennzahlen { border-top: 1px solid #000; border-bottom: 1px solid #000; }

  /*
   * WAS AUF PAPIER NICHTS TUT, KOMMT WEG - UND SEINE ÜBERSCHRIFT MIT.
   *
   * blog.css wollte das schon: Galerie, Verwandtes und Knöpfe sollten
   * nicht aufs Blatt. Nur heißen zwei dieser Listen heute anders, die
   * Regel traf ins Leere. Gedruckt kam dabei heraus: eine Überschrift
   * "Bilder" mit nichts darunter - die Galerie war verborgen, die
   * Überschrift stand noch da - und unter "Passt dazu" eine Karte, die
   * an der Blattkante abriss.
   *
   * Eine Überschrift ohne ihren Inhalt ist schlimmer als beides. Mit
   * :has(+ ...) hängt sie an ihrer Liste und geht mit ihr.
   */
  .beitrag .galerie,
  .beitrag .beitragsliste,
  .beitrag .baustein__titel:has(+ .galerie),
  .beitrag .baustein__titel:has(+ .beitragsliste) { display: none !important; }

  /* Suchfeld, Artfilter, Filterstand und Blätterer sind Bedienung. */
  .suche, .filterstand, .blaettern__nav { display: none !important; }

  /*
   * DIE DOWNLOADZEILEN WAREN 150 PUNKTE HOCH.
   *
   * Das kommt vom Daumenmaß: Beschriftung und Verweis sind je 44 Punkte
   * hohe Ziele, und bei Ausrichtung an der Schriftlinie stapeln sich
   * deren Grundlinien statt sich zu überlagern. Auf dem Bildschirm ist
   * das richtig, auf Papier tippt niemand.
   */
  .downloads .download > * { min-height: 0 !important; }
  .downloads .download { padding-block: .3rem; margin-bottom: .2rem; }
  .downloads .download a { display: none !important; }

  /*
   * KARTEN IN LISTEN STAPELN.
   *
   * Chrome trennt Rasterzellen nicht sauber: Auf der Startseite wurde
   * die unterste Karte an der Blattkante durchgeschnitten, break-inside
   * greift in einem Raster nicht. Als Block gestapelt greift es wieder.
   */
  .beitragsliste { display: block !important; }
  .beitragsliste > li {
    margin-bottom: 1.2rem;
    break-inside: avoid;
    page-break-inside: avoid;
  }
  /*
   * UND SIE WERDEN FLACHER.
   *
   * Gestapelt in voller Breite brauchte die Startseite sechs Blatt, fast
   * nur Fotos. Eine gedruckte Liste ist ein Verzeichnis: Bild klein nach
   * links, Text daneben. Damit sind es wieder zwei Blatt, und man sieht
   * auf einen Blick, was es gibt.
   */
  /* ACHTUNG beim Lesen der Regeln: Die Karte IST das li, die Klasse
     steht am Listeneintrag selbst. Ein .beitragsliste .karte trifft
     deshalb nichts. Auf dem Schirm ist sie flex und hoechstens 460
     Punkte breit - fuers Papier muss sie ein gewoehnlicher Block in
     voller Satzbreite sein, sonst schwimmt nichts um das Bild. */
  .beitragsliste > li {
    display: block !important;
    width: 100% !important;
    max-width: none !important;
    margin-inline: 0;
  }
  .beitragsliste > li::after { content: ""; display: block; clear: both; }
  .beitragsliste .karte__bild {
    float: left;
    width: 4.4cm;
    max-height: 3.3cm;
    object-fit: cover;
    margin: 0 1rem .4rem 0;
  }
  /* Das Datum steht immer unter dem Bild, nicht mal daneben und mal
     darunter - das haengt sonst davon ab, wie lang der Anriss ist. */
  .beitragsliste .karte__mass { clear: left; }
  .aufmacher__bild { max-height: 7cm; object-fit: cover; }
}

