/* OPERATOR V3 — Design-Tokens.
 *
 * Vorbild: Max' JARVIS-Kommandozentrale — Magenta und Lila auf tiefem Violett.
 * Der Look ist Leuchtreklame in einem dunklen Kontrollraum: Farbe kommt aus
 * Leuchten, nicht aus Flächen; Struktur kommt aus dünnen Rändern.
 *
 * Die Regel bleibt: Farbe trägt Bedeutung. Magenta ist die Marke und das
 * Lebendige, Lila das Denkende, Bernstein bleibt allein für „wartet auf Max".
 */

:root {
  /* --- Grund & Flächen: tiefes Violett statt Grau --- */
  --bg:        #0a0614;
  --bg-tief:   #060310;
  --s1:        #120a20;
  --s2:        #1a1030;
  --s3:        #241640;
  --line:      #2a1a45;
  --line-hell: #3d2861;

  /* --- Text --- */
  --text:      #f2e9ff;
  --dim:       #a292c4;
  --dim2:      #6e5f8c;

  /* --- Bedeutungsfarben --- */
  --sys:       #ff2d78;   /* Marke, live, System, aktive Auswahl — Magenta */
  --sys-weich: rgba(255,45,120,.12);
  --sys-rand:  rgba(255,45,120,.38);
  --sys-hell:  #ff6ba6;

  --brain:     #a855f7;   /* Wissen, Gedächtnis, Denken — Lila */
  --brain-weich: rgba(168,85,247,.13);
  --brain-rand:  rgba(168,85,247,.4);
  --brain-hell:  #c98cff;

  --wait:      #ffa640;   /* WARTET AUF MAX — sonst nirgends */
  --wait-weich:rgba(255,166,64,.13);
  --wait-rand: rgba(255,166,64,.4);

  --ok:        #16dba0;   /* läuft, fertig, gesund */
  --ok-weich:  rgba(22,219,160,.13);

  /* 16.08.2026 von #ff3b5c auf #ff5a3c. Gemessen lag das alte Rot nur deltaE 18 von
   * der Marke #ff2d78 entfernt — auf einem 9-Pixel-Statuspunkt sind Magenta und Rot
   * damit kaum zu trennen, und "Fehler" sah aus wie "Marke". Jetzt 43. */
  --bad:       #ff5a3c;   /* Fehler, offline, kritisch */
  --bad-weich: rgba(255,90,60,.13);

  --idle:      #6e5f8c;   /* ruht, unbenutzt, keine Daten */
  --idle-weich:rgba(110,95,140,.14);

  /* --- Leuchten statt Schatten --- */
  --glut-sys:   0 0 26px rgba(255,45,120,.28);
  --glut-brain: 0 0 26px rgba(168,85,247,.26);
  --glut-wait:  0 0 22px rgba(255,166,64,.22);
  --tiefe-2:    0 8px 34px rgba(0,0,0,.62);

  /* --- Maße --- */
  --kopf-h:    58px;
  --nav-b:     226px;
  --nav-b-schmal: 62px;
  --insp-b:    440px;
  --max-b:     1840px;
  --max-b-weit: 2440px;

  --r-s:       6px;
  --r:         9px;
  --r-l:       13px;

  --a1: 4px; --a2: 8px; --a3: 12px; --a4: 16px; --a5: 24px; --a6: 32px; --a7: 48px;

  --f: ui-sans-serif, -apple-system, "Segoe UI", Inter, Roboto, sans-serif;
  --f-zahl: ui-monospace, "SF Mono", "Cascadia Mono", "Roboto Mono", Menlo, monospace;

  --t-schnell: var(--d-kurz, 150ms) cubic-bezier(.16,.84,.44,1);  /* zeigt auf die Leiter in system.css */
  --t:         var(--d-mittel, 240ms) cubic-bezier(.16,.84,.44,1);
  --t-lang:    var(--d-lang, 420ms) cubic-bezier(.16,.84,.44,1);
}

:root,
[data-dichte="normal"] { --zeile: 34px; --karte-p: 14px; --f-basis: 13.5px; }
[data-dichte="eng"]    { --zeile: 28px; --karte-p: 11px; --f-basis: 13px; }
[data-dichte="weit"]   { --zeile: 42px; --karte-p: 18px; --f-basis: 14.5px; }

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    animation-duration: .001ms !important; animation-iteration-count: 1 !important;
    transition-duration: .001ms !important;
  }
}



/* ═══════════════════════════════════════════════════════════════════════════
 * FARBWELTEN — 16.08.2026 aus dem X-SALE-STANDARD uebernommen.
 *
 * Max mit einem Screenshot des X-Sale-Menues: "denk doch mit."
 * Zu Recht. X-Sale hat laengst ein Erscheinungsbild-Menue
 * (src/app/portal/[slug]/AppearanceMenu.tsx, src/lib/xsTheme.ts) mit zehn benannten
 * Paletten, zwei Premium-Looks und fuenf Spass-Modi. Am 15.08. hatte ich daneben zehn
 * EIGENE Welten erfunden — zwei Design-Systeme in einem Haus, andere Namen fuer
 * dieselbe Sache. Diese Datei ersetzt sie durch den Hausstandard: gleiche Schluessel,
 * gleiche Namen, gleiche Farben wie in X-Sale.
 *
 * NICHT von Hand geschrieben, sondern erzeugt von werkzeuge/palette-generator.js.
 * Grund: X-Sale kennt je Palette drei Farben (Grund, Schrift, Akzent). Der Operator
 * braucht mehr, weil bei ihm Farbe BEDEUTUNG traegt — Marke, Wissen, laeuft, Fehler,
 * wartet auf Max, ruht. Diese sechs muessen in jeder Palette unterscheidbar bleiben,
 * sonst sieht ein Fehler aus wie ein Erfolg. Der Generator waehlt sie rechnerisch und
 * prueft jedes Paar auf Abstand (deltaE >= 25) statt zu raten. Aenderungen also im
 * Generator machen, nicht hier.
 *
 * MXX (:root oben) bleibt der Standard: wer nichts einstellt, sieht das Gewohnte.
 * ═══════════════════════════════════════════════════════════════════════════ */

/* ── Paletten (X-Sale-Standard) ──────────────────────────────────── */
:root[data-thema="mitternacht"] {
  --bg: #000000; --bg-tief: #050505; --s1: #0d0d0d; --s2: #171717; --s3: #242424;
  --line: #1f1f1f; --line-hell: #383838;
  --text: #f4f4f5; --dim: #9f9f9f; --dim2: #6e6e6e;
  --sys: #2563eb; --sys-weich: rgba(37,99,235,0.13); --sys-rand: rgba(37,99,235,0.4); --sys-hell: #6692f1;
  --brain: #a855f7; --brain-weich: rgba(168,85,247,0.13); --brain-rand: rgba(168,85,247,0.4); --brain-hell: #c288f9;
  --ok: #16dba0; --ok-weich: rgba(22,219,160,0.13);
  --bad: #ff5a3c; --bad-weich: rgba(255,90,60,0.13);
  --wait: #ffa640; --wait-weich: rgba(255,166,64,0.13); --wait-rand: rgba(255,166,64,0.4);
  --idle: #6e5f8c; --idle-weich: rgba(110,95,140,0.14);
  --glut-sys: 0 0 26px rgba(37,99,235,0.3); --glut-brain: 0 0 26px rgba(168,85,247,0.26);
}

:root[data-thema="schiefer"] {
  --bg: #0b1220; --bg-tief: #101724; --s1: #171e2b; --s2: #212734; --s3: #2d333f;
  --line: #282e3b; --line-hell: #414651;
  --text: #e2e8f0; --dim: #979da7; --dim2: #6c727e;
  --sys: #38bdf8; --sys-weich: rgba(56,189,248,0.13); --sys-rand: rgba(56,189,248,0.4); --sys-hell: #74d1fa;
  --brain: #a855f7; --brain-weich: rgba(168,85,247,0.13); --brain-rand: rgba(168,85,247,0.4); --brain-hell: #c288f9;
  --ok: #16dba0; --ok-weich: rgba(22,219,160,0.13);
  --bad: #ff5a3c; --bad-weich: rgba(255,90,60,0.13);
  --wait: #ffa640; --wait-weich: rgba(255,166,64,0.13); --wait-rand: rgba(255,166,64,0.4);
  --idle: #6e5f8c; --idle-weich: rgba(110,95,140,0.14);
  --glut-sys: 0 0 26px rgba(56,189,248,0.3); --glut-brain: 0 0 26px rgba(168,85,247,0.26);
}

:root[data-thema="wald"] {
  --bg: #0a1410; --bg-tief: #0f1915; --s1: #16201c; --s2: #202926; --s3: #2c3531;
  --line: #27302d; --line-hell: #404845;
  --text: #e7f0ea; --dim: #9aa39e; --dim2: #6d7772;
  --sys: #22c55e; --sys-weich: rgba(34,197,94,0.13); --sys-rand: rgba(34,197,94,0.4); --sys-hell: #64d68e;
  --brain: #a855f7; --brain-weich: rgba(168,85,247,0.13); --brain-rand: rgba(168,85,247,0.4); --brain-hell: #c288f9;
  --ok: #16dba0; --ok-weich: rgba(22,219,160,0.13);
  --bad: #ff5a3c; --bad-weich: rgba(255,90,60,0.13);
  --wait: #ffa640; --wait-weich: rgba(255,166,64,0.13); --wait-rand: rgba(255,166,64,0.4);
  --idle: #6e5f8c; --idle-weich: rgba(110,95,140,0.14);
  --glut-sys: 0 0 26px rgba(34,197,94,0.3); --glut-brain: 0 0 26px rgba(168,85,247,0.26);
}

:root[data-thema="pflaume"] {
  --bg: #150a1b; --bg-tief: #1a0f20; --s1: #211626; --s2: #2a2030; --s3: #362c3b;
  --line: #312736; --line-hell: #48404d;
  --text: #efe6f6; --dim: #a399a9; --dim2: #776d7e;
  --sys: #a855f7; --sys-weich: rgba(168,85,247,0.13); --sys-rand: rgba(168,85,247,0.4); --sys-hell: #c288f9;
  --brain: #38bdf8; --brain-weich: rgba(56,189,248,0.13); --brain-rand: rgba(56,189,248,0.4); --brain-hell: #74d1fa;
  --ok: #16dba0; --ok-weich: rgba(22,219,160,0.13);
  --bad: #ff5a3c; --bad-weich: rgba(255,90,60,0.13);
  --wait: #ffa640; --wait-weich: rgba(255,166,64,0.13); --wait-rand: rgba(255,166,64,0.4);
  --idle: #6e5f8c; --idle-weich: rgba(110,95,140,0.14);
  --glut-sys: 0 0 26px rgba(168,85,247,0.3); --glut-brain: 0 0 26px rgba(56,189,248,0.26);
}

:root[data-thema="sonnenuntergang"] {
  --bg: #1a0f0a; --bg-tief: #1f140f; --s1: #251b16; --s2: #2f2520; --s3: #3a312c;
  --line: #352c27; --line-hell: #4c4440;
  --text: #f5ece7; --dim: #a89f9a; --dim2: #7d726d;
  --sys: #fb923c; --sys-weich: rgba(251,146,60,0.13); --sys-rand: rgba(251,146,60,0.4); --sys-hell: #fcb377;
  --brain: #a855f7; --brain-weich: rgba(168,85,247,0.13); --brain-rand: rgba(168,85,247,0.4); --brain-hell: #c288f9;
  --ok: #16dba0; --ok-weich: rgba(22,219,160,0.13);
  --bad: #ff5a3c; --bad-weich: rgba(255,90,60,0.13);
  --wait: #ffd60a; --wait-weich: rgba(255,214,10,0.13); --wait-rand: rgba(255,214,10,0.4);
  --idle: #6e5f8c; --idle-weich: rgba(110,95,140,0.14);
  --glut-sys: 0 0 26px rgba(251,146,60,0.3); --glut-brain: 0 0 26px rgba(168,85,247,0.26);
}

:root[data-thema="rose"] {
  --bg: #170a10; --bg-tief: #1c0f15; --s1: #23161c; --s2: #2c2026; --s3: #372c31;
  --line: #33272d; --line-hell: #4a4045;
  --text: #f7e7ef; --dim: #a99aa1; --dim2: #7c6d74;
  --sys: #f43f5e; --sys-weich: rgba(244,63,94,0.13); --sys-rand: rgba(244,63,94,0.4); --sys-hell: #f7798e;
  --brain: #a855f7; --brain-weich: rgba(168,85,247,0.13); --brain-rand: rgba(168,85,247,0.4); --brain-hell: #c288f9;
  --ok: #16dba0; --ok-weich: rgba(22,219,160,0.13);
  --bad: #ff5a3c; --bad-weich: rgba(255,90,60,0.13);
  --wait: #ffa640; --wait-weich: rgba(255,166,64,0.13); --wait-rand: rgba(255,166,64,0.4);
  --idle: #6e5f8c; --idle-weich: rgba(110,95,140,0.14);
  --glut-sys: 0 0 26px rgba(244,63,94,0.3); --glut-brain: 0 0 26px rgba(168,85,247,0.26);
}

:root[data-thema="hell"] {
  --bg: #f6f7f9; --bg-tief: #fbfbfc; --s1: #eaebed; --s2: #e0e1e3; --s3: #d4d4d6;
  --line: #d8d9db; --line-hell: #c0c1c2;
  --text: #18181b; --dim: #666669; --dim2: #929395;
  --sys: #2563eb; --sys-weich: rgba(37,99,235,0.13); --sys-rand: rgba(37,99,235,0.4); --sys-hell: #1a45a5;
  --brain: #6d28d9; --brain-weich: rgba(109,40,217,0.13); --brain-rand: rgba(109,40,217,0.4); --brain-hell: #4c1c98;
  --ok: #0a7d5c; --ok-weich: rgba(10,125,92,0.13);
  --bad: #c22138; --bad-weich: rgba(194,33,56,0.13);
  --wait: #b26a00; --wait-weich: rgba(178,106,0,0.13); --wait-rand: rgba(178,106,0,0.4);
  --idle: #83838f; --idle-weich: rgba(131,131,143,0.14);
  --glut-sys: 0 0 0 1px rgba(37,99,235,0.18); --glut-brain: 0 0 14px rgba(109,40,217,0.16);
  --tiefe-2: 0 8px 28px rgba(20,20,40,.14);
}

:root[data-thema="papier"] {
  --bg: #faf8f3; --bg-tief: #fdfcf9; --s1: #eeece7; --s2: #e4e2dd; --s3: #d7d5d1;
  --line: #dcdad6; --line-hell: #c3c1be;
  --text: #1f1c19; --dim: #6c6965; --dim2: #979591;
  --sys: #0d9488; --sys-weich: rgba(13,148,136,0.13); --sys-rand: rgba(13,148,136,0.4); --sys-hell: #09685f;
  --brain: #6d28d9; --brain-weich: rgba(109,40,217,0.13); --brain-rand: rgba(109,40,217,0.4); --brain-hell: #4c1c98;
  --ok: #15803d; --ok-weich: rgba(21,128,61,0.13);
  --bad: #c22138; --bad-weich: rgba(194,33,56,0.13);
  --wait: #b26a00; --wait-weich: rgba(178,106,0,0.13); --wait-rand: rgba(178,106,0,0.4);
  --idle: #83838f; --idle-weich: rgba(131,131,143,0.14);
  --glut-sys: 0 0 0 1px rgba(13,148,136,0.18); --glut-brain: 0 0 14px rgba(109,40,217,0.16);
  --tiefe-2: 0 8px 28px rgba(20,20,40,.14);
}

:root[data-thema="minze"] {
  --bg: #eef6f4; --bg-tief: #f7fbfa; --s1: #e2eae8; --s2: #d9e0de; --s3: #cdd4d2;
  --line: #d1d8d7; --line-hell: #bac0be;
  --text: #143230; --dim: #607775; --dim2: #8c9e9c;
  --sys: #0d9488; --sys-weich: rgba(13,148,136,0.13); --sys-rand: rgba(13,148,136,0.4); --sys-hell: #09685f;
  --brain: #6d28d9; --brain-weich: rgba(109,40,217,0.13); --brain-rand: rgba(109,40,217,0.4); --brain-hell: #4c1c98;
  --ok: #15803d; --ok-weich: rgba(21,128,61,0.13);
  --bad: #c22138; --bad-weich: rgba(194,33,56,0.13);
  --wait: #b26a00; --wait-weich: rgba(178,106,0,0.13); --wait-rand: rgba(178,106,0,0.4);
  --idle: #83838f; --idle-weich: rgba(131,131,143,0.14);
  --glut-sys: 0 0 0 1px rgba(13,148,136,0.18); --glut-brain: 0 0 14px rgba(109,40,217,0.16);
  --tiefe-2: 0 8px 28px rgba(20,20,40,.14);
}

:root[data-thema="himmel"] {
  --bg: #eef4fb; --bg-tief: #f7fafd; --s1: #e2e8ee; --s2: #d9dee4; --s3: #cdd2d8;
  --line: #d1d7dd; --line-hell: #babec4;
  --text: #152233; --dim: #616c79; --dim2: #8c96a1;
  --sys: #2563eb; --sys-weich: rgba(37,99,235,0.13); --sys-rand: rgba(37,99,235,0.4); --sys-hell: #1a45a5;
  --brain: #6d28d9; --brain-weich: rgba(109,40,217,0.13); --brain-rand: rgba(109,40,217,0.4); --brain-hell: #4c1c98;
  --ok: #0a7d5c; --ok-weich: rgba(10,125,92,0.13);
  --bad: #c22138; --bad-weich: rgba(194,33,56,0.13);
  --wait: #b26a00; --wait-weich: rgba(178,106,0,0.13); --wait-rand: rgba(178,106,0,0.4);
  --idle: #83838f; --idle-weich: rgba(131,131,143,0.14);
  --glut-sys: 0 0 0 1px rgba(37,99,235,0.18); --glut-brain: 0 0 14px rgba(109,40,217,0.16);
  --tiefe-2: 0 8px 28px rgba(20,20,40,.14);
}
/* ── Premium-Looks ───────────────────────────────────────────────── */
:root[data-thema="glow"] {
  --bg: #0a0e1a; --bg-tief: #0f131f; --s1: #161a25; --s2: #20242f; --s3: #2c303a;
  --line: #272b35; --line-hell: #40434c;
  --text: #eaf0ff; --dim: #9ca1af; --dim2: #6f7481;
  --sys: #22d3ee; --sys-weich: rgba(34,211,238,0.13); --sys-rand: rgba(34,211,238,0.4); --sys-hell: #64e0f3;
  --brain: #a855f7; --brain-weich: rgba(168,85,247,0.13); --brain-rand: rgba(168,85,247,0.4); --brain-hell: #c288f9;
  --ok: #16dba0; --ok-weich: rgba(22,219,160,0.13);
  --bad: #ff5a3c; --bad-weich: rgba(255,90,60,0.13);
  --wait: #ffa640; --wait-weich: rgba(255,166,64,0.13); --wait-rand: rgba(255,166,64,0.4);
  --idle: #6e5f8c; --idle-weich: rgba(110,95,140,0.14);
  --glut-sys: 0 0 34px rgba(34,211,238,0.3); --glut-brain: 0 0 34px rgba(168,85,247,0.26);
}

:root[data-thema="neon"] {
  --bg: #070a14; --bg-tief: #0c0f19; --s1: #131620; --s2: #1d2029; --s3: #2a2c35;
  --line: #252730; --line-hell: #3e4048;
  --text: #eaf0ff; --dim: #9ba0ad; --dim2: #6d717e;
  --sys: #22d3ee; --sys-weich: rgba(34,211,238,0.13); --sys-rand: rgba(34,211,238,0.4); --sys-hell: #64e0f3;
  --brain: #a855f7; --brain-weich: rgba(168,85,247,0.13); --brain-rand: rgba(168,85,247,0.4); --brain-hell: #c288f9;
  --ok: #16dba0; --ok-weich: rgba(22,219,160,0.13);
  --bad: #ff5a3c; --bad-weich: rgba(255,90,60,0.13);
  --wait: #ffa640; --wait-weich: rgba(255,166,64,0.13); --wait-rand: rgba(255,166,64,0.4);
  --idle: #6e5f8c; --idle-weich: rgba(110,95,140,0.14);
  --glut-sys: 0 0 44px rgba(34,211,238,0.3); --glut-brain: 0 0 44px rgba(168,85,247,0.26);
}
/* ── Spass-Modi ──────────────────────────────────────────────────── */
:root[data-thema="bold"] {
  --bg: #0a0a0a; --bg-tief: #0f0f0f; --s1: #161616; --s2: #202020; --s3: #2c2c2c;
  --line: #272727; --line-hell: #404040;
  --text: #efefef; --dim: #9f9f9f; --dim2: #717171;
  --sys: #00ff88; --sys-weich: rgba(0,255,136,0.13); --sys-rand: rgba(0,255,136,0.4); --sys-hell: #4dffac;
  --brain: #a855f7; --brain-weich: rgba(168,85,247,0.13); --brain-rand: rgba(168,85,247,0.4); --brain-hell: #c288f9;
  --ok: #16dba0; --ok-weich: rgba(22,219,160,0.13);
  --bad: #ff5a3c; --bad-weich: rgba(255,90,60,0.13);
  --wait: #ffa640; --wait-weich: rgba(255,166,64,0.13); --wait-rand: rgba(255,166,64,0.4);
  --idle: #6e5f8c; --idle-weich: rgba(110,95,140,0.14);
  --glut-sys: 0 0 26px rgba(0,255,136,0.3); --glut-brain: 0 0 26px rgba(168,85,247,0.26);
}

:root[data-thema="blossom"] {
  --bg: #fff0f6; --bg-tief: #fff8fb; --s1: #f2e4ea; --s2: #e8dae0; --s3: #dbced4;
  --line: #e0d3d8; --line-hell: #c7bbc0;
  --text: #4a0020; --dim: #89546b; --dim2: #ae8496;
  --sys: #b45d8a; --sys-weich: rgba(180,93,138,0.13); --sys-rand: rgba(180,93,138,0.4); --sys-hell: #7e4161;
  --brain: #6d28d9; --brain-weich: rgba(109,40,217,0.13); --brain-rand: rgba(109,40,217,0.4); --brain-hell: #4c1c98;
  --ok: #0a7d5c; --ok-weich: rgba(10,125,92,0.13);
  --bad: #c22138; --bad-weich: rgba(194,33,56,0.13);
  --wait: #b26a00; --wait-weich: rgba(178,106,0,0.13); --wait-rand: rgba(178,106,0,0.4);
  --idle: #83838f; --idle-weich: rgba(131,131,143,0.14);
  --glut-sys: 0 0 0 1px rgba(180,93,138,0.18); --glut-brain: 0 0 14px rgba(109,40,217,0.16);
  --tiefe-2: 0 8px 28px rgba(20,20,40,.14);
}

:root[data-thema="hearts"] {
  --bg: #fff1f2; --bg-tief: #fff8f9; --s1: #f2e5e6; --s2: #e8dbdc; --s3: #dbcfd0;
  --line: #e0d4d5; --line-hell: #c7bcbd;
  --text: #450a0a; --dim: #865b5b; --dim2: #ab898a;
  --sys: #e11d48; --sys-weich: rgba(225,29,72,0.13); --sys-rand: rgba(225,29,72,0.4); --sys-hell: #9e1432;
  --brain: #6d28d9; --brain-weich: rgba(109,40,217,0.13); --brain-rand: rgba(109,40,217,0.4); --brain-hell: #4c1c98;
  --ok: #0a7d5c; --ok-weich: rgba(10,125,92,0.13);
  --bad: #7f1d1d; --bad-weich: rgba(127,29,29,0.13);
  --wait: #b26a00; --wait-weich: rgba(178,106,0,0.13); --wait-rand: rgba(178,106,0,0.4);
  --idle: #83838f; --idle-weich: rgba(131,131,143,0.14);
  --glut-sys: 0 0 0 1px rgba(225,29,72,0.18); --glut-brain: 0 0 14px rgba(109,40,217,0.16);
  --tiefe-2: 0 8px 28px rgba(20,20,40,.14);
}

:root[data-thema="boomer"] {
  --bg: #d4d0c8; --bg-tief: #eae8e4; --s1: #c9c6be; --s2: #c1bdb6; --s3: #b6b3ac;
  --line: #bbb7b0; --line-hell: #a5a29c;
  --text: #000000; --dim: #4a4946; --dim2: #75726e;
  --sys: #000080; --sys-weich: rgba(0,0,128,0.13); --sys-rand: rgba(0,0,128,0.4); --sys-hell: #00005a;
  --brain: #6d28d9; --brain-weich: rgba(109,40,217,0.13); --brain-rand: rgba(109,40,217,0.4); --brain-hell: #4c1c98;
  --ok: #0a7d5c; --ok-weich: rgba(10,125,92,0.13);
  --bad: #c22138; --bad-weich: rgba(194,33,56,0.13);
  --wait: #b45309; --wait-weich: rgba(180,83,9,0.13); --wait-rand: rgba(180,83,9,0.4);
  --idle: #83838f; --idle-weich: rgba(131,131,143,0.14);
  --glut-sys: 0 0 0 1px rgba(0,0,128,0.18); --glut-brain: 0 0 14px rgba(109,40,217,0.16);
  --tiefe-2: 0 8px 28px rgba(20,20,40,.14);
  --f: 'Courier New', Courier, monospace;
}

:root[data-thema="y2k"] {
  --bg: #0d0018; --bg-tief: #12051d; --s1: #190d24; --s2: #23172d; --s3: #2f2438;
  --line: #2a1f34; --line-hell: #42384b;
  --text: #f0abfc; --dim: #a16fac; --dim2: #734d7f;
  --sys: #d946ef; --sys-weich: rgba(217,70,239,0.13); --sys-rand: rgba(217,70,239,0.4); --sys-hell: #e47ef4;
  --brain: #38bdf8; --brain-weich: rgba(56,189,248,0.13); --brain-rand: rgba(56,189,248,0.4); --brain-hell: #74d1fa;
  --ok: #16dba0; --ok-weich: rgba(22,219,160,0.13);
  --bad: #ff5a3c; --bad-weich: rgba(255,90,60,0.13);
  --wait: #ffa640; --wait-weich: rgba(255,166,64,0.13); --wait-rand: rgba(255,166,64,0.4);
  --idle: #6e5f8c; --idle-weich: rgba(110,95,140,0.14);
  --glut-sys: 0 0 26px rgba(217,70,239,0.3); --glut-brain: 0 0 26px rgba(56,189,248,0.26);
}

/* ═══════════════════════════════════════════════════════════════════════════
 * FARBWELT „JARVIS" — 17.08.2026, Max' Vorgabe 69.
 *
 * Graphit als Grund, Electric Blue als Marke, Cyan als Licht. Kein Violett im
 * Grund mehr: Max wollte „dunkles Anthrazit / Schwarz / Graphit" statt der
 * bisherigen Leuchtreklame in Violett.
 *
 * MXX BLEIBT ERHALTEN und ist einen Klick entfernt. Diese Welt ist nur der
 * neue Vorschlag für den Operator — wer MXX gewählt hat, behält MXX. Der
 * Hausstandard aus X-Sale ([[xsale-ist-der-hausstandard]]) wird nicht
 * überschrieben, sondern ergänzt.
 *
 * DIE FARBEN SIND GERECHNET, NICHT GEWÄHLT (tools/farbabstand.js):
 *   Kontrast gegen den Grund: sys 6,7:1 · ok 11,3:1 · wait 10,4:1 · bad 6,0:1
 *   Engster Abstand zweier Bedeutungen: sys ↔ brain = deltaE 41,9
 * Die Datei selbst hält fest, warum das zählt: am 16.08. lag „Fehler" nur
 * deltaE 18 von „Marke" entfernt und war auf einem 9-px-Punkt nicht mehr davon
 * zu unterscheiden. Unter 25 ist riskant, ab 35 sicher — 41,9 ist sicher.
 * ═══════════════════════════════════════════════════════════════════════════ */
:root[data-thema="jarvis"] {
  --bg: #080b10; --bg-tief: #05070a; --s1: #0e131a; --s2: #151c26; --s3: #1e2733;
  --line: #223040; --line-hell: #33475e;
  --text: #e8f0f7; --dim: #93a6ba; --dim2: #5d7186;
  --sys: #1e9bff; --sys-weich: rgba(30,155,255,0.12); --sys-rand: rgba(30,155,255,0.38); --sys-hell: #5ecbff;
  --brain: #a97bff; --brain-weich: rgba(169,123,255,0.13); --brain-rand: rgba(169,123,255,0.4); --brain-hell: #c6a5ff;
  --ok: #2ee07a; --ok-weich: rgba(46,224,122,0.13);
  --bad: #ff4d4d; --bad-weich: rgba(255,77,77,0.13);
  --wait: #ffab33; --wait-weich: rgba(255,171,51,0.13); --wait-rand: rgba(255,171,51,0.4);
  --idle: #5d7186; --idle-weich: rgba(93,113,134,0.14);
  --glut-sys: 0 0 26px rgba(30,155,255,0.30); --glut-brain: 0 0 26px rgba(169,123,255,0.26);
  --glut-wait: 0 0 22px rgba(255,171,51,0.22);
}

/* Farbwelt-Menü: Beschriftung folgt dem AKTIVEN Thema, nicht dem angebotenen.
   (17.08.2026)

   Gemessen: Im Menü hatte jeder Eintrag die Textfarbe seines eigenen Themas —
   "Hell" rgb 24/24/27, "Papier" rgb 31/28/25, "Boomer" rgb 0/0/0. Schwarz auf
   dunklem Menü: die Namen waren unsichtbar, obwohl sie im HTML standen. Max sah
   Einträge ganz ohne Beschriftung.

   Ursache waren die Farbblöcke oben in dieser Datei: Sie standen als nacktes
   [data-thema="x"] da, nicht auf :root beschränkt. Die Menüknöpfe tragen dasselbe
   Merkmal als Klick-Marke — also erklärte jeder Knopf sich selbst zum Thema und
   färbte seinen Text um. Oben behoben (:root davor).

   Diese Regel ist der Gürtel zum Hosenträger, falls jemand das Merkmal später
   wieder an einem anderen Element setzt. Welche Farbe ein Thema hat, zeigt der
   Farbtupfer links — dafür ist er da, nicht die Schrift. */
#farbwelt-menue .fw,
#farbwelt-menue .fw span { color: var(--text); }
#farbwelt-menue .fw.ist,
#farbwelt-menue .fw.ist span { color: var(--sys-hell); }
