/* ============================================================
   Daqli.UI · tokens.css · v0.1 (6. 7. 2026)
   Design jazyk „Daqli Horizon“ — zdroj: design-prirucka-2026.html
   Tři vrstvy: 1) primitiva → 2) sémantika (light-dark) → 3) komponentní.
   Tmavý režim = „Deep Space“ v1.1 (prosvětlená noční modř),
   světlý = „Paper & Ink“ (teplé neutrály). Výchozí režim volí
   uživatel/systém; [data-theme] má přednost před prefers-color-scheme.
   ============================================================ */

@layer tokens {

/* ---------- 1) PRIMITIVA (nikdo je nepoužívá přímo) ---------- */
:root {
  /* Deep Space (dark) */
  --ds-bg: #0e1420;  --ds-bg-2: #131a28;
  --ds-srf: #182233; --ds-srf-2: #202b3f;
  --ds-bor: #2e3a50; --ds-bor-soft: #263248;
  /* tx-3: zesvětleno z #74809a (4,0:1 na surface) na AA — council 2026-07-06 */
  --ds-tx: #e8ecf4;  --ds-tx-2: #a7b1c2;  --ds-tx-3: #8894ac;
  --ds-accent: #4d8dff;  --ds-ai: #37e6c3;  --ds-accent-soft: #16294a;
  /* Paper & Ink (light) */
  --pp-bg: #f7f8fb;  --pp-bg-2: #eef1f6;          /* pozn.: teplé varianty ladit v hi-fi fázi */
  --pp-srf: #ffffff; --pp-srf-2: #f2f4f9;
  --pp-bor: #dde3ec; --pp-bor-soft: #e8edf4;
  /* tx-3: 2× ztmaveno na AA ≥4,5:1 — council 2026-07-06 (#8a94a6→#6b7689, jen na surface),
     contrast gate 2026-07-07 (#6b7689→#626c7e: AA i na bg/bg-2/surface-2 — thead, podtitulky) */
  --pp-tx: #10151f;  --pp-tx-2: #4a5568;  --pp-tx-3: #626c7e;
  /* pp-ai: ztmaveno #0aa88a→#066e59 (contrast gate 2026-07-07: text „✦ AI“ na ai-bg měl 2,6:1) */
  --pp-accent: #2563eb; --pp-ai: #066e59; --pp-accent-soft: #e3edff;
}

/* ---------- 2) SÉMANTIKA (jediné, co smí komponenty číst) ---------- */
:root {
  color-scheme: light dark;

  --dq-bg:          light-dark(var(--pp-bg),          var(--ds-bg));
  --dq-bg-2:        light-dark(var(--pp-bg-2),        var(--ds-bg-2));
  --dq-surface:     light-dark(var(--pp-srf),         var(--ds-srf));
  --dq-surface-2:   light-dark(var(--pp-srf-2),       var(--ds-srf-2));
  --dq-border:      light-dark(var(--pp-bor),         var(--ds-bor));
  --dq-border-soft: light-dark(var(--pp-bor-soft),    var(--ds-bor-soft));
  --dq-text:        light-dark(var(--pp-tx),          var(--ds-tx));
  --dq-text-2:      light-dark(var(--pp-tx-2),        var(--ds-tx-2));
  --dq-text-3:      light-dark(var(--pp-tx-3),        var(--ds-tx-3));

  --dq-accent:      light-dark(var(--pp-accent),      var(--ds-accent));
  --dq-accent-soft: light-dark(var(--pp-accent-soft), var(--ds-accent-soft));
  /* mint/teal — VÝHRADNĚ pro označení práce AI (✦) */
  --dq-ai:          light-dark(var(--pp-ai),          var(--ds-ai));
  /* měkké AI pozadí (badge „✦ AI“) — dřív se zneužíval modrý accent-soft (kontrast 2,5:1 v light) */
  --dq-ai-bg:       light-dark(#d6f3ec, #10352c);

  /* Stavová sémantika velínu — NEDOTKNUTELNÁ (tenant branding ji nesmí měnit).
     err/info light ztmaveny (contrast gate 2026-07-07): badge text na *-bg musí být AA ≥4,5:1
     (#dc2626 mělo 3,95:1; #2563eb mělo 4,24:1) */
  --dq-ok:      light-dark(#15803d, #3ddc97);  --dq-ok-bg:      light-dark(#dcfce7, #123529);
  --dq-warn:    light-dark(#b45309, #ffc857);  --dq-warn-bg:    light-dark(#fef3c7, #3d2e10);
  --dq-err:     light-dark(#b91c1c, #ff6b6b);  --dq-err-bg:     light-dark(#fee2e2, #3d181b);
  --dq-info:    light-dark(#1d4ed8, #4d8dff);  --dq-info-bg:    light-dark(#dbeafe, #16294a);

  /* POZOR: light-dark() přijímá POUZE <color> hodnoty. Gradienty, stíny a obrázky
     se z barevných tokenů SKLÁDAJÍ — nikdy se nebalí do light-dark() celé
     (neplatná hodnota by potichu zrušila celou deklaraci). */

  /* „Gradient je noční jev“: v dark modro-mint, ve světlém PLNÁ modř
     (koncová barva je ve světlém režimu shodná s akcentem → jednolitá výplň) */
  --dq-grad-end:   light-dark(var(--pp-accent), var(--ds-ai));
  --dq-brand-grad: linear-gradient(92deg, var(--dq-accent), var(--dq-grad-end));

  --dq-glass:  light-dark(rgba(255,255,255,.78), rgba(24,34,51,.72));

  --dq-shadow-clr: light-dark(rgba(16,21,31,.10), rgba(0,0,0,.45));
  --dq-shadow: 0 8px 30px var(--dq-shadow-clr);

  --dq-mesh-tint:   light-dark(rgba(37,99,235,.10), rgba(77,141,255,.16));
  --dq-mesh-tint-2: light-dark(rgba(10,168,138,.06), rgba(55,230,195,.07));
  --dq-mesh: radial-gradient(800px 400px at 85% -10%, var(--dq-mesh-tint), transparent 60%),
             radial-gradient(600px 300px at 10% 0%, var(--dq-mesh-tint-2), transparent 60%);

  --dq-focus:  light-dark(rgba(37,99,235,.40), rgba(77,141,255,.45));
}
/* Vynucení volbou uživatele (ukládá se; nastavuje boot skript v <head> — bez FOUC) */
:root[data-theme="light"] { color-scheme: light; }
:root[data-theme="dark"]  { color-scheme: dark; }

/* ---------- Typografie ---------- */
:root {
  --dq-font-ui:   "Inter", "Inter Variable", -apple-system, "Segoe UI Variable", "Segoe UI", Roboto, sans-serif;
  --dq-font-mono: "JetBrains Mono", "Geist Mono", "Cascadia Code", Consolas, ui-monospace, monospace;
  /* škála dle příručky kap. 4 (px při 16px root) */
  --dq-fs-display: 2rem;     /* KPI hero, w700–800, ls -2 %, tabular-nums */
  --dq-fs-h1: 1.4rem;        /* w700 */
  --dq-fs-h2: 1.1rem;        /* w650–700 */
  --dq-fs-body: .9375rem;    /* 15px, w400–450, max 78 znaků/řádek */
  --dq-fs-sm: .8125rem;      /* 13px meta */
  --dq-fs-label: .6875rem;   /* 11px caps, w600, ls +8 % */
  --dq-fs-mono: .8125rem;
}

/* ---------- Tvar, prostor, hloubka ---------- */
:root {
  --dq-r-sm: 6px;  --dq-r-ctl: 8px;  --dq-r: 10px;  --dq-r-lg: 16px;  --dq-r-pill: 999px;
  /* r-ctl: rádius tlačítek/inputů dle příručky kap. 6.1 — chyběl, hi-fi ho hardcodovaly (council) */
  /* text na akcentních a jasných výplních (primární/AI tlačítka, počítadlo zvonečku) —
     přežije tenant branding. Dark = tmavý inkoust (vzor Material You / iOS filled button):
     bílá na světlém akcentu #4d8dff měla jen 3,2:1 (contrast gate 2026-07-07) → tmavá dává 5,8:1 */
  --dq-on-accent: light-dark(#ffffff, #0e1420);
  --dq-space: 4px; /* mřížka — všechny odstupy násobky */
  /* hustota: globální volba v Nastavení (Profil → Vzhled), NE per-grid */
  --dq-row-h: 44px;                    /* komfort */
  --dq-ctl-h-sm: 28px; --dq-ctl-h: 36px; --dq-ctl-h-lg: 44px;
}
:root[data-density="compact"] { --dq-row-h: 32px; }

/* ---------- Pohyb ---------- */
:root {
  --dq-dur-1: 120ms;  /* hover, focus — „reakce ruky“ */
  --dq-dur-2: 200ms;  /* popover, toast */
  --dq-dur-3: 320ms;  /* view transitions, drawer */
  --dq-ease: cubic-bezier(.2, .8, .2, 1);
  /* Daqli Pulse: klid 6000ms; trvání = 6000 − stupeň × jednotka
     (waiting 4800, incident 3600); offline = statická čárkovaná */
  --dq-pulse-base: 6000ms;
  --dq-pulse-unit: 1200ms;
}
@media (prefers-reduced-motion: reduce) {
  :root { --dq-dur-1: 0ms; --dq-dur-2: 0ms; --dq-dur-3: 0ms; }
}

/* ---------- 3) KOMPONENTNÍ (jemné ladění bez zásahu do komponent) ---------- */
:root {
  --dq-btn-pad: 8px 16px;
  --dq-input-pad: 9px 12px;
  --dq-icon-stroke: 1.75;   /* Lucide linkový styl, currentColor, žádné emoji v chrome */
  /* Scrollbary: základ dává color-scheme (nativní scrollbar v barvě tématu — proto nikdy
     nevypadají „bíle na tmavém“); brandový vzhled dodávají tyto tokeny přes scrollbar-color
     v base.css. Palec = mezi border a text-3 (viditelný, ale nenápadný), dráha průhledná. */
  --dq-scrollbar-thumb: light-dark(#c1cbda, #3a4763);
  --dq-scrollbar-track: transparent;
}

} /* @layer tokens */
