/* Lysi design tokens (2026-09 handoff). Loads after popup.css/domain.css/
   license.css/table.css/panel.css — theme blocks below win on source order. */

:root {
  --lysi-font-sans: 'Geist', system-ui, sans-serif;
  --lysi-font-mono: 'Geist Mono', ui-monospace, monospace;
  --lysi-r-4: 4px; --lysi-r-5: 5px; --lysi-r-6: 6px; --lysi-r-7: 7px; --lysi-r-8: 8px; --lysi-r-10: 10px; --lysi-r-12: 12px; --lysi-r-99: 99px;
  --lysi-s-2: 2px; --lysi-s-4: 4px; --lysi-s-6: 6px; --lysi-s-8: 8px; --lysi-s-9: 9px; --lysi-s-10: 10px; --lysi-s-12: 12px; --lysi-s-14: 14px; --lysi-s-16: 16px; --lysi-s-18: 18px; --lysi-s-20: 20px; --lysi-s-24: 24px; --lysi-s-28: 28px; --lysi-s-32: 32px; --lysi-s-52: 52px;
  --lysi-fs-11: 11px; --lysi-fs-11-5: 11.5px; --lysi-fs-12: 12px; --lysi-fs-12-5: 12.5px; --lysi-fs-13: 13px; --lysi-fs-13-5: 13.5px; --lysi-fs-14: 14px; --lysi-fs-15: 15px; --lysi-fs-16: 16px; --lysi-fs-17: 17px; --lysi-fs-19: 19px;
  --lysi-doc: #00a3a3;   /* the «DOC» of the Lysi Doc logo (assets/logo/*.svg), same in every theme */
  --lysi-hue-per: 305; --lysi-hue-id: 250; --lysi-hue-adr: 60; --lysi-hue-dat: 195; --lysi-hue-med: 15; --lysi-hue-org: 150; --lysi-hue-misc: 95;
}

/* category helper classes — set --cat-h, consumed by [class*="cat-"] below */
.cat-per { --cat-h: var(--lysi-hue-per); } .cat-id { --cat-h: var(--lysi-hue-id); }
.cat-adr { --cat-h: var(--lysi-hue-adr); } .cat-dat { --cat-h: var(--lysi-hue-dat); }
.cat-med { --cat-h: var(--lysi-hue-med); } .cat-org { --cat-h: var(--lysi-hue-org); }
.cat-misc { --cat-h: var(--lysi-hue-misc); }

[class*="cat-"] {
  --cat-bg: oklch(var(--lysi-cat-bg-l) var(--lysi-cat-bg-c) var(--cat-h));
  --cat-fg: oklch(var(--lysi-cat-fg-l) var(--lysi-cat-fg-c) var(--cat-h));
  --cat-swatch: oklch(var(--lysi-cat-swatch-l) var(--lysi-cat-swatch-c) var(--cat-h));
  --cat-origbg: oklch(var(--lysi-cat-origbg-l) var(--lysi-cat-origbg-c) var(--cat-h));
  --cat-underline: oklch(var(--lysi-cat-underline-l) var(--lysi-cat-underline-c) var(--cat-h));
}

:root,
[data-theme="light"] {
  --lysi-main: #F5F3EF;
  --lysi-rail: #EDE9E2;
  --lysi-rail-border: #E0DBD2;
  --lysi-rail-on: #FFFFFF;
  --lysi-panel: #FBFAF7;
  --lysi-card: #FFFFFF;
  --lysi-border: #E4E0D8;
  --lysi-border-panel: #E7E2DA;
  --lysi-ink: #1C1B19;
  --lysi-ink2: #4A463F;
  --lysi-ink3: #6B665D;
  --lysi-seg: #EAE6DF;
  --lysi-seg-panel: #E6E1D9;
  --lysi-seg-on: #FFFFFF;
  --lysi-seg-on-ink: #1C1B19;
  --lysi-seg-shadow: 0 1px 2px rgba(0,0,0,.08);
  --lysi-accent: #0A6A6A;
  --lysi-on-accent: #FFFFFF;
  --lysi-accent-text: #0A6A6A;
  --lysi-warn-bg: #FBEFD6;
  --lysi-warn-border: #E6C98C;
  --lysi-warn-ink: #7A4A00;
  --lysi-warn-line: #D9A441;
  --lysi-warn-track: #F0DDB4;
  --lysi-warn-row: #FDF6E7;
  --lysi-ok: #2E9E6A;
  --lysi-ok-ink: #1F6B47;
  --lysi-ok-bg: #D6ECE2;
  --lysi-btn: #1C1B19;
  --lysi-on-btn: #F5F3EF;
  --lysi-ghost: #D6D0C6;
  --lysi-kbd: #FFFFFF;
  --lysi-row-on: #EFEBE4;
  --lysi-step-ring: #B7B0A4;
  --lysi-tile: #E4DFD6; --lysi-auto-done: #7FB8AE;   /* session stats cockpit */
  --lysi-track: #EDEAE4;
  --lysi-track2: #F1E6CF;
  --lysi-disabled: #E6E1D9;
  --lysi-disabled-ink: #5F5A51;
  --lysi-neutral-bg: #E0DBD2;
  --lysi-paper: #FFFFFF;
  --lysi-paper-border: #E4E0D8;
  --lysi-paper-ink: #1C1B19;
  --lysi-paper-ink3: #6B665D;
  --lysi-doc-warn-ink: #6E4200;
  --lysi-doc-warn-bg: #FBEFD6;
  --lysi-doc-warn-line: #D9A441;
  --lysi-doc-warn-row: #FDF6E7;
  --lysi-doc-label: #0A6A6A;   /* prototype dBar */
  --lysi-done: var(--lysi-doc);   /* rail step marks = logo cyan */
  --lysi-on-done: #FFFFFF;
  --lysi-shadow-window: 0 1px 0 rgba(0,0,0,.04), 0 24px 60px -20px rgba(40,30,10,.28), 0 0 0 1px rgba(0,0,0,.08);
  --lysi-shadow-panel: 0 1px 0 rgba(0,0,0,.04), 0 18px 44px -16px rgba(40,30,10,.30), 0 0 0 1px rgba(0,0,0,.08);
  --lysi-panel-ring: rgba(0,0,0,.08);   /* ring of prototype `frame`; drop shadow is native (panel window) */
  /* category L/C */
  --lysi-cat-bg-l: 0.95;
  --lysi-cat-bg-c: 0.035;
  --lysi-cat-fg-l: 0.45;
  --lysi-cat-fg-c: 0.13;
  --lysi-cat-swatch-l: 0.56;
  --lysi-cat-swatch-c: 0.13;
  --lysi-cat-origbg-l: 0.965;
  --lysi-cat-origbg-c: 0.03;
  --lysi-cat-underline-l: 0.72;
  --lysi-cat-underline-c: 0.12;
}

[data-theme="graphite"] {
  --lysi-main: #17181A;
  --lysi-rail: #101113;
  --lysi-rail-border: #26282C;
  --lysi-rail-on: #26282D;
  --lysi-panel: #1B1C1F;
  --lysi-card: #24262A;
  --lysi-border: #2C2E33;
  --lysi-border-panel: #2C2E33;
  --lysi-ink: #F4F4F2;
  --lysi-ink2: #CDCFD3;
  --lysi-ink3: #A0A4AB;
  --lysi-seg: #232529;
  --lysi-seg-panel: #26282C;
  --lysi-seg-on: #3D4046;
  --lysi-seg-on-ink: #FFFFFF;
  --lysi-seg-shadow: none;
  --lysi-accent: #4FD1BD;
  --lysi-on-accent: #04201C;
  --lysi-accent-text: #6FDCCB;
  --lysi-warn-bg: #3A2A0B;
  --lysi-warn-border: #9A6D1E;
  --lysi-warn-ink: #FFD28A;
  --lysi-warn-line: #F2B44A;
  --lysi-warn-track: #5A4214;
  --lysi-warn-row: #2E2410;
  --lysi-ok: #4ADE9A;
  --lysi-ok-ink: #86EBBB;
  --lysi-ok-bg: #12352A;
  --lysi-btn: #F4F4F2;
  --lysi-on-btn: #17181A;
  --lysi-ghost: #4A4D54;
  --lysi-kbd: #26282C;
  --lysi-row-on: #282A2F;
  --lysi-step-ring: #5C6068;
  --lysi-tile: #1D1F22; --lysi-auto-done: #2F7F73;   /* session stats cockpit */
  --lysi-track: #383B40;
  --lysi-track2: #3A3C41;
  --lysi-disabled: #26282C;
  --lysi-disabled-ink: #A0A4AB;
  --lysi-neutral-bg: #2C2E33;
  --lysi-paper: #212326;
  --lysi-paper-border: #33363B;
  --lysi-paper-ink: #F1F1EF;
  --lysi-paper-ink3: #A0A4AB;
  --lysi-doc-warn-ink: #FFE0A8;
  --lysi-doc-warn-bg: #4A3510;
  --lysi-doc-warn-line: #F2B44A;
  --lysi-doc-warn-row: #2E2410;
  --lysi-doc-label: #6FDCCB;   /* prototype dBar */
  --lysi-done: #4FD1BD;
  --lysi-on-done: #04201C;
  --lysi-shadow-window: 0 24px 60px -20px rgba(0,0,0,.45), 0 0 0 1px rgba(0,0,0,.5);
  --lysi-shadow-panel: 0 18px 44px -16px rgba(0,0,0,.45), 0 0 0 1px rgba(0,0,0,.5);
  --lysi-panel-ring: rgba(0,0,0,.5);   /* ring of prototype `frame`; drop shadow is native (panel window) */
  /* category L/C */
  --lysi-cat-bg-l: 0.35;
  --lysi-cat-bg-c: 0.075;
  --lysi-cat-fg-l: 0.88;
  --lysi-cat-fg-c: 0.1;
  --lysi-cat-swatch-l: 0.76;
  --lysi-cat-swatch-c: 0.12;
  --lysi-cat-origbg-l: 0.31;
  --lysi-cat-origbg-c: 0.05;
  --lysi-cat-underline-l: 0.68;
  --lysi-cat-underline-c: 0.13;
}

[data-theme="black"] {
  --lysi-main: #000000;
  --lysi-rail: #000000;
  --lysi-rail-border: #1F1F1F;
  --lysi-rail-on: #1C1C1C;
  --lysi-panel: #0A0A0A;
  --lysi-card: #151515;
  --lysi-border: #232323;
  --lysi-border-panel: #232323;
  --lysi-ink: #FFFFFF;
  --lysi-ink2: #D6D6D6;
  --lysi-ink3: #A8A8A8;
  --lysi-seg: #171717;
  --lysi-seg-panel: #171717;
  --lysi-seg-on: #FFFFFF;
  --lysi-seg-on-ink: #000000;
  --lysi-seg-shadow: none;
  --lysi-accent: #5EEAD4;
  --lysi-on-accent: #002420;
  --lysi-accent-text: #5EEAD4;
  --lysi-warn-bg: #2B1E00;
  --lysi-warn-border: #A87A00;
  --lysi-warn-ink: #FFD27A;
  --lysi-warn-line: #FFB020;
  --lysi-warn-track: #4A3500;
  --lysi-warn-row: #1F1600;
  --lysi-ok: #34D399;
  --lysi-ok-ink: #6EE7B7;
  --lysi-ok-bg: #062B20;
  --lysi-btn: #FFFFFF;
  --lysi-on-btn: #000000;
  --lysi-ghost: #3D3D3D;
  --lysi-kbd: #1A1A1A;
  --lysi-row-on: #1C1C1C;
  --lysi-step-ring: #555555;
  --lysi-tile: #161616; --lysi-auto-done: #2F7F73;   /* session stats cockpit */
  --lysi-track: #2C2C2C;
  --lysi-track2: #2E2E2E;
  --lysi-disabled: #171717;
  --lysi-disabled-ink: #A8A8A8;
  --lysi-neutral-bg: #232323;
  --lysi-paper: #111111;
  --lysi-paper-border: #282828;
  --lysi-paper-ink: #FFFFFF;
  --lysi-paper-ink3: #A8A8A8;
  --lysi-doc-warn-ink: #FFE2A0;
  --lysi-doc-warn-bg: #3D2B00;
  --lysi-doc-warn-line: #FFB020;
  --lysi-doc-warn-row: #1F1600;
  --lysi-doc-label: #5EEAD4;   /* prototype dBar */
  --lysi-done: #5EEAD4;
  --lysi-on-done: #002420;
  --lysi-shadow-window: 0 24px 60px -20px rgba(0,0,0,.5), 0 0 0 1px rgba(0,0,0,.6);
  --lysi-shadow-panel: 0 18px 44px -16px rgba(0,0,0,.5), 0 0 0 1px rgba(0,0,0,.6);
  --lysi-panel-ring: rgba(0,0,0,.6);   /* ring of prototype `frame`; drop shadow is native (panel window) */
  /* category L/C */
  --lysi-cat-bg-l: 0.3;
  --lysi-cat-bg-c: 0.085;
  --lysi-cat-fg-l: 0.88;
  --lysi-cat-fg-c: 0.1;
  --lysi-cat-swatch-l: 0.76;
  --lysi-cat-swatch-c: 0.12;
  --lysi-cat-origbg-l: 0.26;
  --lysi-cat-origbg-c: 0.05;
  --lysi-cat-underline-l: 0.68;
  --lysi-cat-underline-c: 0.13;
}

/* legacy variable re-mapping — re-skins the existing popup.css/domain.css rules */
:root,
[data-theme="light"] {
  --bg: var(--lysi-main);
  --bg-1: var(--lysi-rail);
  --bg-2: var(--lysi-panel);
  --bg-3: var(--lysi-card);
  --bg-input: var(--lysi-card);
  --bg-card: var(--lysi-card);
  --bg-elev: var(--lysi-card);
  --border: var(--lysi-border);
  --border-strong: var(--lysi-border-panel);
  --hair: rgba(50,45,30,0.08);
  --text: var(--lysi-ink);
  --text-2: var(--lysi-ink2);
  --text-3: var(--lysi-ink3);
  --text-muted: var(--lysi-ink3);
  --text-placeholder: var(--lysi-ink3);
  --label-color: var(--lysi-ink);
  --accent: var(--lysi-accent);
  --accent-2: #085555;
  --accent-soft: rgba(10,106,106,0.08);
  --accent-hair: rgba(10,106,106,0.30);
  --accent-fg: var(--lysi-on-accent);
  --success: var(--lysi-ok);
  --warning: var(--lysi-warn-ink);
  --danger: #b1362e;
  --result-text: var(--lysi-ink);
  --btn-border: var(--lysi-ghost);
  --btn-secondary-bg: rgba(50,45,30,0.05);
  --skipped-bg: rgba(50,45,30,0.03);
  --success-bg: var(--lysi-ok-bg);
  --success-border: rgba(43,124,70,0.25);
  --neutral-bg: var(--lysi-neutral-bg);
  --neutral-border: #e0dbd1;
  --sb-thumb: rgba(10,106,106,0.35);
  --sb-thumb-hover: rgba(10,106,106,0.60);
  --tooltip-shadow: rgba(50,45,30,0.18);
  --copied-color: var(--lysi-card);
  --manual: #7c3aed;
  --sicher: var(--lysi-ok);
  --sicher-bg: var(--lysi-ok-bg);
  --label-on-color: #ffffff;
  --unsicher: #b1362e;
  --unsicher-bg: rgba(177,54,46,0.10);
  --banner-bg: rgba(10,106,106,0.10);
  --cat-name: hsl(290,40%,44%);
  --cat-contact: hsl(217,55%,44%);
  --cat-finance: hsl(151,55%,29%);
  --cat-location: hsl(37,72%,34%);
  --cat-id: hsl(357,55%,42%);
  --cat-date: hsl(264,40%,50%);
  --cat-medical: hsl(176,55%,28%);
  --cat-custom: hsl(24,70%,40%);
}

[data-theme="graphite"] {
  --bg: var(--lysi-main);
  --bg-1: var(--lysi-rail);
  --bg-2: var(--lysi-panel);
  --bg-3: var(--lysi-card);
  --bg-input: var(--lysi-card);
  --bg-card: var(--lysi-card);
  --bg-elev: var(--lysi-card);
  --border: var(--lysi-border);
  --border-strong: var(--lysi-border-panel);
  --hair: rgba(255,255,255,0.055);
  --text: var(--lysi-ink);
  --text-2: var(--lysi-ink2);
  --text-3: var(--lysi-ink3);
  --text-muted: var(--lysi-ink3);
  --text-placeholder: var(--lysi-ink3);
  --label-color: var(--lysi-ink);
  --accent: var(--lysi-accent);
  --accent-2: #0f9494;
  --accent-soft: rgba(20,184,184,0.12);
  --accent-hair: rgba(20,184,184,0.28);
  --accent-fg: var(--lysi-on-accent);
  --success: var(--lysi-ok);
  --warning: var(--lysi-warn-ink);
  --danger: #f87171;
  --result-text: var(--lysi-ink);
  --btn-border: var(--lysi-ghost);
  --btn-secondary-bg: rgba(255,255,255,0.05);
  --skipped-bg: rgba(255,255,255,0.03);
  --success-bg: var(--lysi-ok-bg);
  --success-border: rgba(52,211,153,0.20);
  --neutral-bg: var(--lysi-neutral-bg);
  --neutral-border: rgba(255,255,255,0.10);
  --sb-thumb: rgba(20,184,184,0.40);
  --sb-thumb-hover: rgba(20,184,184,0.65);
  --tooltip-shadow: rgba(0,0,0,0.35);
  --copied-color: var(--lysi-main);
  --manual: #c4b5fd;
  --sicher: var(--lysi-ok);
  --sicher-bg: var(--lysi-ok-bg);
  --label-on-color: #000000;
  --unsicher: #FF6B6B;
  --unsicher-bg: rgba(255,107,107,0.12);
  --banner-bg: rgba(20,184,184,0.12);
  --cat-name: #f0abfc;
  --cat-contact: #93c5fd;
  --cat-finance: #86efac;
  --cat-location: #fcd34d;
  --cat-id: #fda4af;
  --cat-date: #c4b5fd;
  --cat-medical: #5eead4;
  --cat-custom: #fbbf24;
}

[data-theme="black"] {
  --bg: var(--lysi-main);
  --bg-1: var(--lysi-rail);
  --bg-2: var(--lysi-panel);
  --bg-3: var(--lysi-card);
  --bg-input: var(--lysi-card);
  --bg-card: var(--lysi-card);
  --bg-elev: var(--lysi-card);
  --border: var(--lysi-border);
  --border-strong: var(--lysi-border-panel);
  --hair: rgba(255,255,255,0.055);
  --text: var(--lysi-ink);
  --text-2: var(--lysi-ink2);
  --text-3: var(--lysi-ink3);
  --text-muted: var(--lysi-ink3);
  --text-placeholder: var(--lysi-ink3);
  --label-color: var(--lysi-ink);
  --accent: var(--lysi-accent);
  --accent-2: #0f9494;
  --accent-soft: rgba(20,184,184,0.12);
  --accent-hair: rgba(20,184,184,0.28);
  --accent-fg: var(--lysi-on-accent);
  --success: var(--lysi-ok);
  --warning: var(--lysi-warn-ink);
  --danger: #f87171;
  --result-text: var(--lysi-ink);
  --btn-border: var(--lysi-ghost);
  --btn-secondary-bg: rgba(255,255,255,0.05);
  --skipped-bg: rgba(255,255,255,0.03);
  --success-bg: var(--lysi-ok-bg);
  --success-border: rgba(52,211,153,0.20);
  --neutral-bg: var(--lysi-neutral-bg);
  --neutral-border: rgba(255,255,255,0.10);
  --sb-thumb: rgba(20,184,184,0.40);
  --sb-thumb-hover: rgba(20,184,184,0.65);
  --tooltip-shadow: rgba(0,0,0,0.35);
  --copied-color: var(--lysi-main);
  --manual: #c4b5fd;
  --sicher: var(--lysi-ok);
  --sicher-bg: var(--lysi-ok-bg);
  --label-on-color: #000000;
  --unsicher: #FF6B6B;
  --unsicher-bg: rgba(255,107,107,0.12);
  --banner-bg: rgba(20,184,184,0.12);
  --cat-name: #f0abfc;
  --cat-contact: #93c5fd;
  --cat-finance: #86efac;
  --cat-location: #fcd34d;
  --cat-id: #fda4af;
  --cat-date: #c4b5fd;
  --cat-medical: #5eead4;
  --cat-custom: #fbbf24;
}
