/* dashboard/static/dashboard/brand.css — die Marke Talvesa im Panel.
 *
 * Die Marke ist schwarz-weiß — #0B0B0B, #444444, #F5F5F5 aus der Brand
 * Identity V1.0 —, dazu eine Monospace-Schrift für das Große und Instrument
 * Sans für den Rest. Das ist eine Aussage über *Talvesa*, keine Rolle des
 * Design-Systems: ds-tokens.css kommt aus pablo-roso/style_guide und wird
 * drift-geprüft, für die Marke gibt es weder das eine noch das andere.
 *
 * DAS ORIGINAL LIEGT IN pablo-roso/paralympus, talvesa/static/talvesa/scss/
 * _brand.scss. Die --tv-*-Werte und die @font-face-Regeln unten sind eine
 * Abschrift davon, mit denselben Namen und in derselben Mechanik (Licht in
 * :root, Dunkel im @media-Zweig UND an [data-theme="dark"], [data-theme=
 * "light"] erzwingt Hell). Wer die Marke ändert, ändert sie dort und zieht
 * diese Datei nach — nicht umgekehrt. Dasselbe gilt für die Schriftdateien
 * unter fonts/ und brand/favicon.png.
 *
 * Gelesen wird --tv-* nur an zwei Stellen: vom :root-Adapter in panel.css
 * (der die Rollen --bg/--text/--accent/… darauf legt) und von den wenigen
 * Regeln, die ausdrücklich die Marke meinen (Logo, Seitenleiste als
 * Nachtband, Überschriften in Mono). Alles andere im Panel liest weiter
 * seine eigenen Rollennamen.
 *
 * Eine Ergänzung gibt es im Original nicht als Variable: --tv-grain, das
 * Korn der dunklen Bänder — siehe den Block ganz unten.
 */

/* Die Hausschrift: Liberation Mono, lokal (kein CDN, keine Verbindung nach
   draußen). Sie heißt „Talvesa Mono", weil sie eine Teilmenge ist:
   „Liberation" ist unter der SIL Open Font License ein reservierter Name,
   und eine veränderte Fassung darf ihn nicht tragen. Lizenz und Herkunft:
   fonts/OFL-talvesa-mono.txt. */
@font-face {
  font-family: "Talvesa Mono";
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("fonts/talvesa-mono-regular.e4100c429a37.woff2") format("woff2");
}
@font-face {
  font-family: "Talvesa Mono";
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("fonts/talvesa-mono-bold.476ace5f2c45.woff2") format("woff2");
}
/* Die Textschrift: Instrument Sans (SIL OFL, ohne reservierten Namen;
   fonts/OFL-instrument-sans.txt), variabel von 400 bis 700, lateinische
   Teilmenge. Ruhig, etwas schmal — gut für lange deutsche Wörter und für
   die dichten Tabellen dieses Panels. */
@font-face {
  font-family: "Instrument Sans";
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
  src: url("fonts/instrument-sans-latin-wght.fa41c43a3d8e.woff2") format("woff2");
}

/* Fehlt eine Datei, fällt die Kette auf das installierte Original und dann
   auf die Systemschrift zurück — dieselbe Zeichenbreite (0,6 em) bei der
   Mono, also springt beim Nachladen nichts. */
:root {
  --tv-font-mono: "Talvesa Mono", "Liberation Mono", ui-monospace, "SFMono-Regular",
    Menlo, Consolas, monospace;
  --tv-font-sans: "Instrument Sans", var(--talvesa-font-family);
}

/* Papier, Tinte, Linien — und die Nacht: Flächen, die in beiden Themes
   dunkel sind (hier: die Seitenleiste). Im dunklen Theme liegt die Nacht
   eine Stufe tiefer als das Papier, damit sie trotzdem als eigene Fläche
   zu lesen ist. Werte 1:1 aus _brand.scss. */
:root {
  --tv-paper: #f5f5f5;
  --tv-surface: #ffffff;
  --tv-ink: #0b0b0b;
  --tv-ink-2: #444444;
  --tv-ink-3: #666666;
  --tv-line: rgba(11, 11, 11, 0.12);
  --tv-line-strong: rgba(11, 11, 11, 0.28);
  --tv-night: #0b0b0b;
  --tv-night-2: #161616;
  --tv-on-night: #f5f5f5;
  --tv-on-night-2: #a8a8a8;
  --tv-night-line: rgba(245, 245, 245, 0.14);
}

@media (prefers-color-scheme: dark) {
  :root:not([data-theme="light"]) {
    --tv-paper: #121212;
    --tv-surface: #1a1a1a;
    --tv-ink: #f5f5f5;
    --tv-ink-2: #bdbdbd;
    --tv-ink-3: #949494;
    --tv-line: rgba(245, 245, 245, 0.12);
    --tv-line-strong: rgba(245, 245, 245, 0.3);
    --tv-night: #050505;
    --tv-night-2: #0f0f0f;
    --tv-on-night: #f5f5f5;
    --tv-on-night-2: #a8a8a8;
    --tv-night-line: rgba(245, 245, 245, 0.12);
  }
}

[data-theme="dark"] {
  --tv-paper: #121212;
  --tv-surface: #1a1a1a;
  --tv-ink: #f5f5f5;
  --tv-ink-2: #bdbdbd;
  --tv-ink-3: #949494;
  --tv-line: rgba(245, 245, 245, 0.12);
  --tv-line-strong: rgba(245, 245, 245, 0.3);
  --tv-night: #050505;
  --tv-night-2: #0f0f0f;
  --tv-on-night: #f5f5f5;
  --tv-on-night-2: #a8a8a8;
  --tv-night-line: rgba(245, 245, 245, 0.12);
}

[data-theme="light"] {
  --tv-paper: #f5f5f5;
  --tv-surface: #ffffff;
  --tv-ink: #0b0b0b;
  --tv-ink-2: #444444;
  --tv-ink-3: #666666;
  --tv-line: rgba(11, 11, 11, 0.12);
  --tv-line-strong: rgba(11, 11, 11, 0.28);
  --tv-night: #0b0b0b;
  --tv-night-2: #161616;
  --tv-on-night: #f5f5f5;
  --tv-on-night-2: #a8a8a8;
  --tv-night-line: rgba(245, 245, 245, 0.14);
}

/* --- Nur im Panel ---------------------------------------------------------
   --tv-grain ist das Filmkorn der dunklen Bänder aus _foundation.scss
   (dort .mkt-night::before), als SVG-Rauschen im data:-URI. Es liegt auf
   der Seitenleiste, dem einen „Nachtband" dieser Oberfläche. Die Deckkraft
   (0,07, wie dort) steckt im SVG selbst statt an einem Pseudo-Element: So
   ist das Korn eine Hintergrundebene der Leiste und scrollt nicht mit ihrem
   Inhalt weg.

   Bis zum Abschied vom Glas standen hier noch zwei Lichttöne (ein Fleck
   hinter der Seite, eine Kante auf den Karten): Glas über einer einfarbigen
   Fläche ist unsichtbar, also brauchte es Licht dahinter. Ohne Glas sind
   Papier und Fläche wieder genau die Farben der Marke. */
:root {
  --tv-grain: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='220' height='220'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='0.07'/%3E%3C/svg%3E");
}
