/* ════════════════════════════════════════════════════════════════════════════
   Build-System — Design-Tokens
   „Nachtschicht": Tinten-Petrol als Grund, warmes Papierweiß als Schrift,
   Amber für „du bist dran / Aktion", Grünspan-Türkis für „Agent arbeitet".
   Farbe ist Zustand, nie Dekoration. Zwei Themes: Nacht (Standard) und Tag.
   Schrift: IBM Plex Sans (UI + Lesetext) und IBM Plex Mono (Code, Pfade).
   Alle Schriften liegen lokal unter /vendor/fonts (keine CDNs).
   ════════════════════════════════════════════════════════════════════════════ */

@font-face{font-family:'IBM Plex Sans';font-style:normal;font-weight:100 700;font-display:swap;src:url('/vendor/fonts/ibm-plex-sans-latin-wght-normal.woff2') format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'IBM Plex Sans';font-style:normal;font-weight:100 700;font-display:swap;src:url('/vendor/fonts/ibm-plex-sans-latin-ext-wght-normal.woff2') format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:'IBM Plex Sans';font-style:italic;font-weight:100 700;font-display:swap;src:url('/vendor/fonts/ibm-plex-sans-latin-wght-italic.woff2') format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'IBM Plex Sans';font-style:italic;font-weight:100 700;font-display:swap;src:url('/vendor/fonts/ibm-plex-sans-latin-ext-wght-italic.woff2') format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:'IBM Plex Mono';font-style:normal;font-weight:400;font-display:swap;src:url('/vendor/fonts/ibm-plex-mono-latin-400-normal.woff2') format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'IBM Plex Mono';font-style:normal;font-weight:400;font-display:swap;src:url('/vendor/fonts/ibm-plex-mono-latin-ext-400-normal.woff2') format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:'IBM Plex Mono';font-style:normal;font-weight:500;font-display:swap;src:url('/vendor/fonts/ibm-plex-mono-latin-500-normal.woff2') format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'IBM Plex Mono';font-style:normal;font-weight:500;font-display:swap;src:url('/vendor/fonts/ibm-plex-mono-latin-ext-500-normal.woff2') format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:'IBM Plex Mono';font-style:normal;font-weight:600;font-display:swap;src:url('/vendor/fonts/ibm-plex-mono-latin-600-normal.woff2') format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'IBM Plex Mono';font-style:normal;font-weight:600;font-display:swap;src:url('/vendor/fonts/ibm-plex-mono-latin-ext-600-normal.woff2') format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}

/* ── Nacht (Standard) ─────────────────────────────────────────────────────── */
:root{
  color-scheme:dark;

  /* Flächen: Grund → Paneel → angehoben → gedrückt; „versenkt" für Code */
  --ground:#0e1517;
  --surface:#131d20;
  --raised:#1a272b;
  --raised-2:#233439;
  --sunken:#0a1012;

  /* Linien */
  --line:rgba(150,200,195,.10);
  --line-2:rgba(150,200,195,.18);
  --line-3:rgba(150,200,195,.30);

  /* Schrift */
  --ink:#e9e5da;
  --ink-2:#aab5b2;
  --ink-3:#7f8d8a;
  --ink-4:#596765;

  /* Signal = du bist dran / Hauptaktion (auch die Marke) */
  --signal:#f2b441;
  --signal-ink:#f2b441;
  --on-signal:#1d1504;
  --signal-wash:rgba(242,180,65,.12);
  --signal-line:rgba(242,180,65,.34);

  /* Agent arbeitet */
  --agent:#5ccabf;
  --agent-wash:rgba(92,202,191,.12);
  --agent-line:rgba(92,202,191,.34);

  /* Rückmeldungen */
  --ok:#78c98f;      --ok-wash:rgba(120,201,143,.12);   --ok-line:rgba(120,201,143,.32);
  --danger:#ef7064;  --danger-wash:rgba(239,112,100,.12); --danger-line:rgba(239,112,100,.36);
  --info:#90baf3;    --info-wash:rgba(144,186,243,.12);  --info-line:rgba(144,186,243,.32);
  --violet:#baa4f5;  --violet-wash:rgba(186,164,245,.13);

  --focus:#f2b441;
  --scrim:rgba(3,7,8,.64);
  --shadow-float:0 22px 54px -16px rgba(0,0,0,.62),0 3px 10px rgba(0,0,0,.28);
  --shadow-sheet:0 -24px 64px -24px rgba(0,0,0,.66);
  --code-bg:#091012;
  --selection:rgba(242,180,65,.28);

  /* Schrift */
  --font-ui:'IBM Plex Sans',system-ui,-apple-system,'Segoe UI',Roboto,sans-serif;
  --font-mono:'IBM Plex Mono',ui-monospace,'SF Mono',Menlo,Consolas,monospace;
  --chat-fs:16px;

  /* Maße */
  --r-xs:5px; --r-sm:8px; --r-md:11px; --r-lg:16px; --r-xl:22px; --r-pill:999px;
  --rail-w:76px;
  --sb-w:296px;
  --bar-h:56px;
  --pad:16px;
  --col-max:47rem;
  --tap:44px;

  --ease:cubic-bezier(.2,.7,.2,1);
  --ease-out:cubic-bezier(.16,1,.3,1);
  --t-fast:.12s;
  --t:.2s;

  /* Kompatibilität: vom JS erzeugtes Markup nutzt teils noch die alten Namen —
     sie zeigen auf die neuen Werte, damit nichts im alten Look erscheint. */
  --bg:var(--ground); --bg2:var(--surface); --bg3:var(--raised); --bg4:var(--raised-2);
  --border:var(--line); --border2:var(--line-2);
  --text:var(--ink); --text2:var(--ink-2); --text3:var(--ink-3);
  --amber:var(--signal-ink); --amber2:var(--signal-wash); --amber3:var(--signal-line);
  --blue:var(--info); --blue2:var(--info-wash);
  --green:var(--ok); --green2:var(--ok-wash);
  --red:var(--danger); --red2:var(--danger-wash);
  --violet2:var(--violet-wash);
}

/* ── Tag ──────────────────────────────────────────────────────────────────── */
:root[data-theme="light"]{
  color-scheme:light;
  --ground:#eef2f0;
  --surface:#f7f9f8;
  --raised:#ffffff;
  --raised-2:#e7edea;
  --sunken:#e3e9e6;

  --line:rgba(16,46,46,.10);
  --line-2:rgba(16,46,46,.17);
  --line-3:rgba(16,46,46,.30);

  --ink:#122124;
  --ink-2:#46585a;
  --ink-3:#687979;
  --ink-4:#9aa8a8;

  --signal:#f0ae37;
  --signal-ink:#8a5900;
  --on-signal:#1d1504;
  --signal-wash:rgba(240,174,55,.17);
  --signal-line:rgba(160,104,0,.36);

  --agent:#0d7f75;
  --agent-wash:rgba(13,127,117,.10);
  --agent-line:rgba(13,127,117,.32);

  --ok:#2a8648;      --ok-wash:rgba(42,134,72,.10);    --ok-line:rgba(42,134,72,.30);
  --danger:#c23b2b;  --danger-wash:rgba(194,59,43,.08); --danger-line:rgba(194,59,43,.30);
  --info:#2a64b2;    --info-wash:rgba(42,100,178,.09);  --info-line:rgba(42,100,178,.28);
  --violet:#6549c2;  --violet-wash:rgba(101,73,194,.09);

  --focus:#a56f00;
  --scrim:rgba(16,32,35,.36);
  --shadow-float:0 20px 46px -16px rgba(16,40,42,.30),0 2px 8px rgba(16,40,42,.08);
  --shadow-sheet:0 -18px 52px -22px rgba(16,40,42,.34);
  --code-bg:#f1f4f2;
  --selection:rgba(240,174,55,.32);
}

/* Lesegröße im Chat (Einstellungen → Darstellung, je Gerät) */
:root[data-textsize="s"]{--chat-fs:15px}
:root[data-textsize="l"]{--chat-fs:17.5px}

@media (max-width:767px){
  :root{--pad:14px;--bar-h:54px}
}
