/* IBM Plex Mono -- kanonische Code-/Monospace-Schrift fuer selbst veroeffentlichte
   HTML unter PK-Domain. Companion zur Corporate S (Fliesstext + Ueberschriften):
   humanistische Monospace, die im Charakter zur Corporate S passt, mit eindeutiger
   Unterscheidung von l/1/I und 0/O.

   LIZENZ: SIL Open Font License 1.1 (OFL.txt liegt neben den woff2). Frei nutzbar,
   modifizierbar und MITLIEFERBAR -- anders als die URW-Corporate duerfen die Dateien
   ins Repo committet und gebuendelt werden.

   AUSLIEFERUNG selbst-gehostet, KEIN Google Fonts / Font-CDN (CI-Regel, DSGVO):
   woff2 unter <kurs>/fonts/plex/, in _quarto.yml via `resources: [fonts/plex]` ins
   _site kopiert. url() ist relativ zur css; diese css als LETZTE unter
   format.html.css, damit --bs-font-monospace ueberschreibt.

   GEWICHTE: 400 = Regular (Code-Lauftext), 700 = Bold (Schluesselwoerter via
   Syntax-Highlighting, z.B. def/return). Mehr Schnitte bewusst nicht geladen.

   Zentrale Stelle der Wahrheit: repos/briefer/architect/css/code-fonts.css; jeder
   Quarto-Kurs bindet sie projektlokal als ECHTE Datei ein (kein Symlink, sonst
   kopiert Quarto sie defekt ins _site) und legt die woff2 unter <kurs>/fonts/plex/
   ab. SoT der Schriftwahl (Name/Rolle/Gewichte/Lizenz): repos/briefer/style/ci.md,
   Abschnitt Schriften. */

@font-face {
  font-family: "IBM Plex Mono";
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("fonts/plex/ibm-plex-mono-regular.woff2") format("woff2");
}
@font-face {
  font-family: "IBM Plex Mono";
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("fonts/plex/ibm-plex-mono-bold.woff2") format("woff2");
}

:root {
  --bs-font-monospace: "IBM Plex Mono", "SF Mono", SFMono-Regular, Menlo, Consolas, "Liberation Mono", monospace;
}

/* Belt-and-suspenders: pandoc/Quarto setzt fuer .sourceCode teils eigene Stacks. */
code, pre, kbd, samp,
.sourceCode, div.sourceCode pre {
  font-family: var(--bs-font-monospace);
}

/* An Corporate S angleichen: IBM Plex Mono laeuft optisch etwas groesser als die
   Laufschrift -- leicht kleiner skalieren und mit ruhiger Zeilenhoehe setzen. */
pre, div.sourceCode {
  font-size: 0.85em;
  line-height: 1.55;
}

/* Inline-Code im Fliesstext (z.B. `if`, `for`, `def`) gebrandet einfaerben:
   CI-Orange statt bootswatch-Lila (#7d12ba). Pro Theme die WCAG-AA-taugliche
   Orangestufe (Spiegelung aus repos/briefer/style/ci.md): hell Orange Dunkel
   #C05408 (4.65:1 auf Weiss -- die einzige Orange-Text-Kontraststufe der CI),
   dunkel Helles Orange #FF9C5B (7.7:1 auf #222). WICHTIG: Orange Dunkel auf der
   grauen Inline-Box faellt mit 4.04:1 unter AA -- darum hat Inline-Code keinen
   Box-Hintergrund mehr, der Code sitzt auf dem Seitengrund (4.65:1). Block-Code
   bleibt unberuehrt (eigene Syntax-Highlight-Farben). */
:root, [data-bs-theme="light"] {
  --bs-code-color: #C05408;
}
/* THEME-SCOPING wie brand-colors.css: Quartos Toggle setzt die Body-Klasse
   `quarto-dark`, NICHT zwingend `[data-bs-theme="dark"]` -- auf vielen Renders bleibt
   das Attribut leer. Fehlte der `.quarto-dark`-Selektor, bliebe im Darkmode der helle
   #C05408 stehen (nur 3.42:1 auf #222, unter AA). Beide Selektoren fangen beide Faelle
   (gemessen 2026-07-02, Playwright/Chromium gegen den echten Toggle). */
.quarto-dark, [data-bs-theme="dark"] {
  --bs-code-color: #FF9C5B;
}
p code:not(.sourceCode),
li code:not(.sourceCode),
td code:not(.sourceCode) {
  font-size: 0.85em;
  padding: 0;
  background-color: transparent;
}
