presseportale/resources/css/shared/design-tokens.css
Kevin Adametz 9b47296cea
Some checks are pending
linter / quality (push) Waiting to run
tests / ci (push) Waiting to run
Rebrand Hub+Flux
2026-05-20 15:44:15 +02:00

253 lines
9.8 KiB
CSS
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

/**
* Hub × FluxUI — Gemeinsame Design-Tokens (Single Source of Truth)
*
* Diese Datei ist die EINZIGE Quelle für Hub-Farben, Fonts, Radii und
* Schatten. Sowohl der Web-Build (Hub-Landing, Hub-Auth) als auch der
* Portal-Build (User-Panel, Admin-Bereich) importieren diese Datei.
*
* Konventionen:
* - Token-Names sind STABIL. Werte können sich ändern (z.B. Dark Mode),
* Namen nicht.
* - Light Mode ist Default. Dark Mode kommt in Phase 5.
* - FluxUI-Akzent-Variablen (--color-accent, --color-accent-*) werden
* in portal.css mit unseren Hub-Werten gebridged, nicht hier.
*
* Dokumentation: dev/frontend/hub-flux/README.md
* dev/frontend/hub-flux/01-PHASE-0-TOKENS.md
*/
@theme {
/* =========================================================
* SURFACES — warmes Buchpapier, gemeinsame Familie
* ========================================================= */
--color-bg: #f6f4ef;
--color-bg-elev: #fbfaf6;
--color-bg-rule: #e2ddd0;
--color-bg-rule-2: #ede7d7; /* leicht hellere Variante für Progress-Tracks */
--color-bg-rule-strong: #1a1f1c;
--color-bg-dark: #15201a;
--color-bg-card: #ffffff;
--color-bg-card-warm: #efeadc;
--color-bg-card-warm-border: #d6cfbb;
--color-bg-card-warm-hover: #e6deca;
--color-bg-card-warm-rule: #c8bda3;
/* =========================================================
* HUB-BLAU — primärer Akzent, plattform-neutral
* Klarer Kontrast zum hellen Buchpapier-Hintergrund.
* ========================================================= */
--color-hub: #1a2540;
--color-hub-2: #243152;
--color-hub-3: #2e3d66;
--color-hub-soft: #e5e9f1;
--color-hub-soft-2: #cfd6e4;
--color-hub-line: #7b8fbf;
/* Topbar-Aliase für Hub-Gradient */
--color-topbar: #1a2540;
--color-topbar2: #243152;
--color-topbar-deep: #0f1729;
/* =========================================================
* AKZENT — gedecktes Bernstein (sekundärer Akzent)
* Bewusst NICHT Orange (BP24) und NICHT Grün (Presseecho).
* Im Portal für: Notifications, Datenqualität, Empfehlungs-Ribbons.
*
* Wichtige Trennung (Phase 5 / Dark Mode):
* --color-accent — heller Akzent (Light: Bernstein, Dark: heller Bernstein).
* In portal.css wird das auf var(--color-hub) umgebogen,
* weil FluxUI-Primary-Buttons das nutzen.
* --color-accent-warm — KONSTANTER Bernstein (gleicher Wert in beiden Modi).
* Für Hint-Card-Border, Schritt-Karten-Eyebrows
* und alle Stellen, die explizit Bernstein sein müssen.
* --color-accent-deep — gedämpfter Bernstein für Action-Links.
* ========================================================= */
--color-accent: #b07a3a;
--color-accent-deep: #8a5e27;
--color-accent-soft: #f1e6d3;
--color-accent-warm: #b07a3a;
/* =========================================================
* PANEL-DARK — KONSTANTES dunkles Hub-Blau (in beiden Modi).
* Wird von `.panel-dark` und der Brand-Bridge genutzt; soll im
* Dark Mode NICHT hell werden, sondern immer dunkel bleiben.
* Im Hub-Frontend (Light-Only) zeigt's die gleiche Atmosphäre.
* ========================================================= */
--color-panel-dark: #0f1729;
--color-panel-dark-2: #1a2540;
/* =========================================================
* INK — Anthrazit-Reihe für Text & Linien
* ========================================================= */
--color-ink: #1a1f1c;
--color-ink-2: #3a413d;
--color-ink-3: #5a6360;
--color-ink-4: #8a918d;
--color-ink-on-dark: #f6f4ef;
--color-ink-on-dark-2: #b2b9c7;
--color-ink-on-dark-3: #7b8fbf;
--color-ink-on-dark-muted: #7b8fbf;
--color-ink-on-dark-rule: #2a3550;
/* =========================================================
* BRAND-ALIASE für Komponenten, die brand-Tokens nutzen
* ========================================================= */
--color-brand: #1a2540;
--color-brand-deep: #0f1729;
--color-brand-soft: #e5e9f1;
/* =========================================================
* STATUS — Erfolg, Warnung, Fehler, Live
* Identische Namen wie das User-Dashboard-Mockup verwendet.
* ========================================================= */
--color-ok: #2e8540;
--color-ok-soft: #e2f1e5;
--color-warn: #a87a1f;
--color-warn-soft: #f6eac8;
--color-err: #a8331f;
--color-err-soft: #f4dad2;
--color-live: #c84a1e;
--color-gain: #2e8540;
--color-gain-deep: #1f5e2e;
--color-loss: #c8341e;
/* =========================================================
* EDITORIAL — für Card-Warm-Sektionen
* ========================================================= */
--color-card-warm-cat: #5a6360;
--color-card-warm-title: #2a302d;
--color-feature-line: #c0c8db;
--color-feature-dot: #d8dde9;
/* =========================================================
* BRIDGE-DOTS — kleine farbige Punkte für presseecho /
* businessportal24 in Brücken-Anzeigen (Sidebar, Topbar,
* Bridge-Cards). Werte aus dem User-Dashboard-Mockup.
* ========================================================= */
--color-bridge-presseecho: #1f4d3a;
--color-bridge-businessportal: #c84a1e;
/* =========================================================
* FONTS — Hub: Inter Tight + JetBrains Mono.
* Source Serif 4 wird im Hub für die Markennennungen der
* Tochter-Portale (presseecho, businessportal24) verwendet;
* im Portal nur für Brand-Mark, falls überhaupt.
* ========================================================= */
--font-sans:
"Inter Tight", Inter, system-ui, -apple-system, BlinkMacSystemFont,
"Segoe UI", sans-serif;
--font-serif:
"Source Serif 4", "Source Serif Pro", Charter, "Iowan Old Style",
Georgia, serif;
--font-mono:
"JetBrains Mono", "SF Mono", ui-monospace, SFMono-Regular, Menlo,
Consolas, monospace;
/* =========================================================
* LAYOUT
* ========================================================= */
--container-layout: 1280px;
/* =========================================================
* RADII — kleines Set, am Mockup orientiert
* ========================================================= */
--radius-xs: 3px;
--radius-sm: 4px;
--radius-md: 6px;
--radius-lg: 8px;
/* =========================================================
* SCHATTEN — weich, warm-getönt
* ========================================================= */
--shadow-soft: 0 1px 0 rgba(26, 31, 28, 0.03);
--shadow-card: 0 1px 2px 0 rgb(26 37 64 / 0.06);
--shadow-card-hover: 0 4px 12px -2px rgb(26 37 64 / 0.12);
--shadow-auth:
0 1px 0 rgba(26, 31, 28, 0.03),
0 20px 50px -32px rgba(26, 37, 64, 0.28);
}
/* =========================================================
* DARK MODE — Phase 5 AKTIV.
* Werte aus dev/frontend/tailwind_v3/User Dashboard presseportale Dark.html.
* Aktivierung über `.dark` (FluxUI Appearance-Switcher setzt das auf <html>).
*
* Konventionen:
* - Gleiche Token-Namen wie Light Mode (Single Source of Truth).
* - `--color-accent-warm`, `--color-panel-dark*` bleiben KONSTANT
* (siehe Begründungen oben im Light-Block).
* - Hub-Frontend (Landing + Auth) lädt KEIN `@fluxAppearance` und
* bleibt damit immer Light. Nur Portal-Seiten schalten um.
* ========================================================= */
.dark {
/* Surfaces */
--color-bg: #0e1218;
--color-bg-elev: #14181f;
--color-bg-rule: #2a3142;
--color-bg-rule-2: #232838;
--color-bg-rule-strong: #ece9e0;
--color-bg-card: #181d27;
--color-bg-card-warm: #1f1a12;
/* Hub-Blau (im Dark Mode HELLER für Lesbarkeit auf dunklem Bg) */
--color-hub: #5a78c2;
--color-hub-2: #6d8ad3;
--color-hub-3: #4a65a8;
--color-hub-soft: #1f2a47;
--color-hub-soft-2: #2c3a5d;
--color-hub-line: #7b8fbf;
/* Bernstein — heller Akzent (warm-Token bleibt konstant) */
--color-accent: #d9a560;
--color-accent-deep: #b07a3a;
--color-accent-soft: #2a2418;
/* --color-accent-warm: konstant #b07a3a (aus Light geerbt) */
/* Ink */
--color-ink: #ece9e0;
--color-ink-2: #c9c5b8;
--color-ink-3: #8e8b82;
--color-ink-4: #5d5c57;
/* Brand-Aliase */
--color-brand: #5a78c2;
--color-brand-deep: #4a65a8;
--color-brand-soft: #1f2a47;
/* Status */
--color-ok: #4dc076;
--color-ok-soft: #1a2d22;
--color-warn: #d9a560;
--color-warn-soft: #2d2418;
--color-err: #e07664;
--color-err-soft: #2e1715;
--color-gain: #4dc076;
--color-gain-deep: #3aa060;
--color-loss: #e07664;
/* Bridge-Dots heller für Dark-Bg */
--color-bridge-presseecho: #4da37a;
--color-bridge-businessportal: #e36340;
/* Editorial */
--color-card-warm-cat: #8e8b82;
--color-card-warm-title: #ece9e0;
--color-feature-line: #2c3a5d;
--color-feature-dot: #2a3142;
/* Schatten — im Dark Mode neutral schwarz statt hub-blau-warm */
--shadow-soft: 0 1px 0 rgba(0, 0, 0, 0.4);
--shadow-card: 0 1px 2px 0 rgba(0, 0, 0, 0.4);
--shadow-card-hover: 0 4px 12px -2px rgba(0, 0, 0, 0.55);
--shadow-auth:
0 1px 0 rgba(0, 0, 0, 0.5),
0 20px 50px -32px rgba(0, 0, 0, 0.7);
/* color-scheme-Hint für native Form-Controls (Scrollbars, Inputs) */
color-scheme: dark;
/* Brand-Mark Wortmarke (z.B. „presse" bei pressekonto) im Portal-Dark
auf weiß. Wird nur von `<x-web.brand-mark variant="auto">` ausgelesen;
Hub-Frontend ist Light-Only, dort bleibt der Inline-Fallback aktiv. */
--brand-mark-name-color: #ffffff;
}