/* ==========================================================================
   Promptability – Design Tokens · v0.1 (Entwurf, 22.10.2026)
   Quelle der Wahrheit für Farben, Typografie, Abstände und Daten-Palette.
   Kontrastwerte: WCAG 2.x, gemessen gegen --paper (hell #F4F3EF / dunkel #111110).
   ========================================================================== */

:root {
  color-scheme: light;

  /* --- Neutrale Flächen (leicht warm, nicht rein achromatisch) --------- */
  --paper:      #F4F3EF;  /* Seitenhintergrund */
  --surface:    #FBFAF7;  /* gehobene Fläche: Eingaben, Tabellenkopf, Karten mit Zweck */
  --sunk:       #EAE9E4;  /* versenkte Fläche: Prompts, Code, Rohdaten */

  /* --- Text ------------------------------------------------------------- */
  --ink:        #141414;  /* 16.6:1 – Überschriften, Fließtext */
  --ink-2:      #55544F;  /*  6.8:1 – Sekundärtext, Lead */
  --ink-3:      #66655F;  /*  5.3:1 – Metadaten, Achsen, Fußnoten (4.8:1 auf --sunk) */

  /* --- Linien: dekorativ vs. funktional strikt getrennt ------------------ */
  --rule:       #DAD8D1;  /* 1.3:1 – Trennlinie, Raster. NIE als Eingabegrenze */
  --line:       #8C8A83;  /* 3.1:1 – Eingabefelder, Buttons, Fokus-Rahmen sekundär */

  /* --- Index-Blau: Befund oder Link, sonst nichts ------------------------ */
  --blue:       #2337FF;  /* 6.2:1 – Links, Fokus, Cursor, Befund in Diagrammen */
  --blue-press: #1A28C2;  /* 8.9:1 – Hover/Pressed */
  --blue-wash:  #E3E6FF;  /* Markierung hinter Text, Auswahl (Blau darauf 5.6:1) */
  --on-blue:    #FFFFFF;  /* 6.9:1 auf --blue */

  /* --- Veränderung (nur mit Vorzeichen + Pfeil, nie Farbe allein) -------- */
  --up:         #147A4B;  /* 4.8:1 */
  --down:       #C23A1E;  /* 4.8:1 */

  /* --- Datenvisualisierung ------------------------------------------------ */
  --viz-context: #B3B1A9; /* Kontext-Serien im Fokus-Modus (1.9:1 → Direktlabel Pflicht) */
  --viz-grid:    #DAD8D1;
  /* Kategorial, feste Reihenfolge, max. 6 Serien – validiert (CVD ΔE ≥ 8.8, normal ≥ 18.7, alle ≥ 3:1) */
  --viz-1: #2337FF;  /* Index-Blau – immer das Untersuchungsobjekt */
  --viz-2: #D4561C;  /* Orange */
  --viz-3: #0E8C68;  /* Petrol */
  --viz-4: #B88300;  /* Ocker */
  --viz-5: #C4457A;  /* Magenta */
  --viz-6: #3F7F12;  /* Grün */
  /* Sequenziell / ordinal, ein Farbton (hell → dunkel) */
  --seq-1: #98A3FF; --seq-2: #6878FF; --seq-3: #2337FF; --seq-4: #1A28C2; --seq-5: #10187F;

  /* --- Typografie --------------------------------------------------------- */
  --font-sans: "Instrument Sans", "Helvetica Neue", Arial, sans-serif;  /* Mensch: Redaktion */
  --font-mono: "Fragment Mono", ui-monospace, "SF Mono", Menlo, monospace; /* Maschine: Prompts, Daten, IDs */

  /* Größe / Zeilenhöhe / Laufweite / Gewicht – Referenz 1440 px, fluid bis 390 px */
  --t-display: clamp(3rem, .8rem + 9.4vw, 9.25rem);      /*  48 → 148 px */
  --t-display-lh: .92;  --t-display-ls: -.055em;  --t-display-w: 480;
  --t-h1: clamp(2.25rem, 1.45rem + 3.2vw, 4.25rem);      /*  36 →  68 px */
  --t-h1-lh: 1;    --t-h1-ls: -.045em;  --t-h1-w: 500;
  --t-h2: clamp(2rem, 1.45rem + 2.25vw, 3.25rem);        /*  32 →  52 px */
  --t-h2-lh: 1.04; --t-h2-ls: -.038em;  --t-h2-w: 500;
  --t-h3: clamp(1.375rem, 1.2rem + .7vw, 1.75rem);       /*  22 →  28 px */
  --t-h3-lh: 1.16; --t-h3-ls: -.022em;  --t-h3-w: 500;
  --t-lead: clamp(1.125rem, 1.05rem + .3vw, 1.3125rem);  /*  18 →  21 px */
  --t-lead-lh: 1.45; --t-lead-ls: -.008em;
  --t-body: 1.0625rem;  --t-body-lh: 1.6;                 /*  17 px, max. 68ch */
  --t-small: .875rem;   --t-small-lh: 1.5;                /*  14 px */
  --t-meta: .75rem;     --t-meta-lh: 1.4; --t-meta-ls: .045em;  /* 12 px Mono, Versalien */
  --t-data: .8125rem;   --t-data-lh: 1.55;                /*  13 px Mono, gemischt */

  /* --- Raum (4-px-Basis; optische Ausnahmen werden im Sheet benannt) ------ */
  --s-1: 4px;  --s-2: 8px;  --s-3: 12px; --s-4: 16px; --s-5: 24px;
  --s-6: 32px; --s-7: 48px; --s-8: 64px; --s-9: 96px; --s-10: 128px;
  --page-max: 1440px;
  --page-pad: clamp(20px, 5.5vw, 80px);
  --gutter: clamp(16px, 1.7vw, 24px);
  --measure: 68ch;

  /* --- Form ---------------------------------------------------------------- */
  --radius-0: 0;    /* Blöcke, Abbildungen, Tabellen */
  --radius-1: 3px;  /* Buttons, Eingaben, Tags */
  --hair: 1px;
  --focus: 2px solid var(--blue);
  --focus-offset: 3px;

  /* --- Bewegung ------------------------------------------------------------ */
  --ease: cubic-bezier(.2, 0, 0, 1);
  --dur-1: 120ms;   /* Hover, Farbe */
  --dur-2: 240ms;   /* Ein-/Ausblenden */
  --blink: 530ms;   /* Cursor-Takt, max. 3 Zyklen, dann Ruhezustand: sichtbar */
}

/* ------------------------------------------------------------------------ */
/* Dunkel – eigene Stufen, nicht automatisch invertiert                       */
/* ------------------------------------------------------------------------ */
@media (prefers-color-scheme: dark) {
  :root:not([data-theme="light"]) {
    color-scheme: dark;
    --paper: #111110; --surface: #1A1A18; --sunk: #1F1F1D;
    --ink: #EEEDE8; --ink-2: #B5B3AB; --ink-3: #8F8D86;
    --rule: #2C2B28; --line: #6A6862;
    --blue: #6F80FF; --blue-press: #95A1FF; --blue-wash: #1C2150; --on-blue: #0B0B0A;
    --up: #4CC38A; --down: #FF7A5C;
    --viz-context: #4A4945; --viz-grid: #2C2B28;
    --viz-1: #6F80FF; --viz-2: #E0662E; --viz-3: #1FA57C; --viz-4: #B88A00; --viz-5: #DB5F92; --viz-6: #5A9A22;
    --seq-1: #3443CC; --seq-2: #5466F5; --seq-3: #7D8CFF; --seq-4: #A9B3FF; --seq-5: #D3D8FF;
  }
}
:root[data-theme="dark"], .theme-dark {
  color-scheme: dark;
  --paper: #111110; --surface: #1A1A18; --sunk: #1F1F1D;
  --ink: #EEEDE8; --ink-2: #B5B3AB; --ink-3: #8F8D86;
  --rule: #2C2B28; --line: #6A6862;
  --blue: #6F80FF; --blue-press: #95A1FF; --blue-wash: #1C2150; --on-blue: #0B0B0A;
  --up: #4CC38A; --down: #FF7A5C;
  --viz-context: #4A4945; --viz-grid: #2C2B28;
  --viz-1: #6F80FF; --viz-2: #E0662E; --viz-3: #1FA57C; --viz-4: #B88A00; --viz-5: #DB5F92; --viz-6: #5A9A22;
  --seq-1: #3443CC; --seq-2: #5466F5; --seq-3: #7D8CFF; --seq-4: #A9B3FF; --seq-5: #D3D8FF;
}
