/* Copy of design/prism-theme.css for the website (deployed on its own, so it cannot reach ../design/).
   Keep in sync with the source: diff design/prism-theme.css Website2/assets/prism-theme.css should show
   only this header. */
/* ---------------------------------------------------------------------------
 * Prism LCA — design tokens
 * Die Palette des Projekts: hier definiert, überall referenziert.
 * Verbindliche Palette für alle UI/Designs in diesem Projekt.
 *
 * Die App bindet diese Datei per @import in src/renderer/src/index.css ein — Vite inlined den
 * Import beim Bundeln, zur Laufzeit gibt es keinen zweiten Request. Stand 31.08.2026 wurden die
 * Werte auf den GELEBTEN Stand der App gezogen (eine Zeit lang lebten die echten Tokens nur in
 * index.css und diese Datei war ein totes Dokument mit den Mockup-Werten von Phase 0); die
 * --prism-*-Namen von damals bestehen als Aliasse am Dateiende weiter.
 *
 * Theme-Kaskade, an einer Stelle erklärt, weil man sie leicht falsch baut: die helle Tabelle trägt
 * den expliziten Schalter in ihrer Selektorliste, damit eine gewählte helle Darstellung
 * (Spezifität 0,2,0) den System-Dunkel-Media-Block (nacktes :root, 0,1,0) schlägt. OHNE explizite
 * Wahl gewinnt der Media-Block allein durch spätere Position. Die dunkle Tabelle steht zweimal —
 * einmal für die Systemwahl, einmal für den Schalter —, weil CSS eine Media-Query nicht in eine
 * Selektorliste heben kann; themeTokens.test.ts hält die beiden Körper byte-gleich.
 * -------------------------------------------------------------------------- */

:root,
:root[data-theme='light'] {
  /* Flächen & Rahmen ------------------------------------------------------- */
  --bg: #f3f5f2; --surface: #ffffff; --surface-2: #f4f6f1; --surface-3: #eef1ec;
  --border: #e0e4dd; --border-strong: #cfd5cb;
  /* Text ------------------------------------------------------------------- */
  --text: #26313a; --muted: #5f6b6f; --faint: #8b968f;
  /* Marke: Grün ist Primär (Links, Buttons, Akzente), Navy Sekundär (Überschriften, dunkle UI),
     Violett der Kategorien-/Sekundärakzent. Die -soft-Varianten sind ihre Flächen. */
  --green: #93c120; --green-ink: #5f8410; --green-soft: #eaf3d6;
  --navy: #2f4e66; --navy-soft: #e5ecf1; --purple: #9f5987; --purple-soft: #f0e4ec;
  /* Quell-Chips: Gelb für die eigene Bibliothek „My processes“, ein blaustichiges Violett für BAFU —
     neben Navy für ecoinvent. Violett ist bewusst ein eigener Token: --purple ist der wärmere
     Kategorien-Akzent und bleibt, wie er ist (Jonas, 05.09.2026). */
  --yellow: #8a6d00; --yellow-soft: #fbf1c7;
  --violet: #6b57b8; --violet-soft: #ebe6f8;
  /* Semantisch ------------------------------------------------------------- */
  --ok: #3a9d5d; --wait: #d18a00; --bad: #cc4b37; --info: #1779ba;
  /* Schatten --------------------------------------------------------------- */
  --shadow: 0 1px 2px rgba(20,32,28,.06), 0 4px 16px rgba(20,32,28,.05);
  --shadow-lg: 0 10px 34px rgba(20,32,28,.14);
  --shadow-sheet: 0 1px 1px rgba(20,32,28,.04), 0 12px 24px -8px rgba(20,32,28,.14), 0 40px 80px -24px rgba(20,32,28,.28);
}
@media (prefers-color-scheme: dark) {
  :root {
    --bg: #131c24; --surface: #1a262f; --surface-2: #1f2d38; --surface-3: #243541;
    --border: #2c3d49; --border-strong: #38505f;
    --text: #e7edf0; --muted: #a4b4bf; --faint: #74868f;
    --green: #a6d42e; --green-ink: #b9e34a; --green-soft: #26331a;
    --navy: #7ea6c4; --navy-soft: #1e2f3c; --purple: #c98bb3; --purple-soft: #2e2130;
    --yellow: #e8c547; --yellow-soft: #34301b;
    --violet: #ab9ce6; --violet-soft: #26223a;
    --ok: #4fc47d; --wait: #f0ae2e; --bad: #e5745f; --info: #4aa3dd;
    --shadow: 0 1px 2px rgba(0,0,0,.3), 0 4px 16px rgba(0,0,0,.3);
    --shadow-lg: 0 10px 34px rgba(0,0,0,.45);
    --shadow-sheet: 0 1px 1px rgba(0,0,0,.3), 0 12px 24px -8px rgba(0,0,0,.45), 0 40px 80px -24px rgba(0,0,0,.6);
  }
}
:root[data-theme='dark'] {
  --bg: #131c24; --surface: #1a262f; --surface-2: #1f2d38; --surface-3: #243541;
  --border: #2c3d49; --border-strong: #38505f;
  --text: #e7edf0; --muted: #a4b4bf; --faint: #74868f;
  --green: #a6d42e; --green-ink: #b9e34a; --green-soft: #26331a;
  --navy: #7ea6c4; --navy-soft: #1e2f3c; --purple: #c98bb3; --purple-soft: #2e2130;
  --yellow: #e8c547; --yellow-soft: #34301b;
  --violet: #ab9ce6; --violet-soft: #26223a;
  --ok: #4fc47d; --wait: #f0ae2e; --bad: #e5745f; --info: #4aa3dd;
  --shadow: 0 1px 2px rgba(0,0,0,.3), 0 4px 16px rgba(0,0,0,.3);
  --shadow-lg: 0 10px 34px rgba(0,0,0,.45);
  --shadow-sheet: 0 1px 1px rgba(0,0,0,.3), 0 12px 24px -8px rgba(0,0,0,.45), 0 40px 80px -24px rgba(0,0,0,.6);
}

/* Theme-unabhängig: Geometrie, Typo-Skala und Mono-Stack wechseln nicht mit der Palette. */
:root {
  --r: 8px; --r-sm: 6px; --r-md: 10px; --r-lg: 14px;
  /* Die Typo-Skala: sechs Stufen, jede mit einer Rolle. Vorher waren es siebzehn Stufen zwischen
     9 und 33px — sechs davon halbe —, weil es nichts gab, woran sich eine neue Regel festhalten
     konnte. Glyphen (Carets, ×, Pfeile), SVG-Diagrammtexte und em-relative Größen gehören nicht
     zur Textskala und behalten ihre eigenen Maße. */
  --fs-label: 11px;   /* Kleinlabel, Spaltenköpfe, Metazeilen, Einheiten, Badges */
  --fs-sec: 12px;     /* Sekundärtext: Hinweise, Chips, Beschreibungen, Datentabellen */
  --fs-body: 13px;    /* Fließtext in Zeilen, Listen, Feldern, Buttons */
  --fs-base: 14px;    /* Grundtext, Navigation, Wortmarke, Suchfeld */
  --fs-title: 17px;   /* Blatt- und Dialogtitel, große Zahl */
  --fs-page: 26px;    /* Seitenüberschrift und Kennzahl der Startseite */
  /* One monospace stack for the whole app — formulas, traces, code in the assistant's answers. */
  --mono: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
}

/* Alt-Vokabular (--prism-*, aus dem Phase-0-Mockup): Aliasse auf die getragenen Tokens, damit
   beide Namen in beiden Themes richtig auflösen. Neue Regeln nutzen die kurzen Namen. */
:root {
  --ink: var(--text);
  --bg-muted: var(--surface-2);
  --panel: var(--surface);
  --prism-navy: var(--navy);
  --prism-green: var(--green);
  --prism-green-dark: var(--green-ink);
  --prism-gray-light: var(--border-strong);
  --prism-alert: var(--bad);
  --prism-info: var(--info);
  --prism-purple: var(--purple);
  /* The app's warning colour. It was the one alias nobody defined, so fourteen rules fell back to a
     literal #ffae00 that no theme could reach — a fixed orange on the dark canvas. --wait is the
     token that already carries this role everywhere else. */
  --prism-warning: var(--wait);
}
