/*
 * Varzytines.com design tokens — B etapas / galutinis identitetas
 * Grynas CSS, be build step. Šviesi tema yra numatytoji.
 * Public Sans v2.001, SIL Open Font License 1.1.
 *
 * NEKRAUTI kartu su varzytines-stage-a-compat.css (spec §0).
 * Prieš įjungiant reikia: /static/fonts/public-sans/*.woff2 + OFL.txt
 */

@font-face {
  font-family: "Public Sans";
  src: url("/static/fonts/public-sans/PublicSans-Regular.woff2") format("woff2");
  font-style: normal;
  font-weight: 400;
  font-display: swap;
}

@font-face {
  font-family: "Public Sans";
  src: url("/static/fonts/public-sans/PublicSans-SemiBold.woff2") format("woff2");
  font-style: normal;
  font-weight: 600;
  font-display: swap;
}

@font-face {
  font-family: "Public Sans";
  src: url("/static/fonts/public-sans/PublicSans-Bold.woff2") format("woff2");
  font-style: normal;
  font-weight: 700;
  font-display: swap;
}

:root {
  color-scheme: light;

  /* Primitive: registro popierius ir dokumentų rašalas. Nenaudoti tiesiogiai komponentuose. */
  --vz-ref-paper-0: #fffefa;
  --vz-ref-paper-50: #faf9f4;
  --vz-ref-paper-100: #f4f2ea;
  --vz-ref-paper-200: #eae7dd;
  --vz-ref-ink-950: #17201c;
  --vz-ref-ink-800: #2f3b35;
  --vz-ref-ink-700: #46534c;
  --vz-ref-ink-600: #5e6a63;
  --vz-ref-ink-500: #748078;
  --vz-ref-ink-300: #b7bfb9;
  --vz-ref-ink-200: #d3d8d3;
  --vz-ref-ink-100: #e8ebe7;

  /* Primitive: kadastro / registrų mėlyna. Veiksmams, nuorodoms ir fokusui. */
  --vz-ref-cadastre-900: #0e3d47;
  --vz-ref-cadastre-800: #124a57;
  --vz-ref-cadastre-700: #175e6c;
  --vz-ref-cadastre-600: #1c7283;
  --vz-ref-cadastre-200: #b8d5dc;
  --vz-ref-cadastre-100: #dcecf0;
  --vz-ref-cadastre-50: #eff6f7;

  /* Primitive: penkios duomenų būsenos. Spalva visada naudojama su tekstu ir ikona. */
  --vz-ref-verified-700: #21633f;
  --vz-ref-verified-300: #a9cdb5;
  --vz-ref-verified-100: #e2f0e7;
  --vz-ref-source-700: #245876;
  --vz-ref-source-300: #aec5d2;
  --vz-ref-source-100: #e2ecf2;
  --vz-ref-estimate-700: #735214;
  --vz-ref-estimate-300: #d9c387;
  --vz-ref-estimate-100: #f5ecd6;
  --vz-ref-unknown-700: #874226;
  --vz-ref-unknown-300: #dfb39e;
  --vz-ref-unknown-100: #f7e7de;
  --vz-ref-na-700: #53605a;
  --vz-ref-na-300: #c5cbc7;
  --vz-ref-na-100: #e9ece9;

  /* Primitive: klaida / pavojus. Nenaudoti duomenų trūkumui. */
  --vz-ref-danger-700: #963a37;
  --vz-ref-danger-300: #e0aaa7;
  --vz-ref-danger-100: #f8e4e2;

  /* Semantic surfaces: puslapis, kortelė, sugrupuotas laukas, overlay. */
  --vz-color-canvas: var(--vz-ref-paper-100);
  --vz-color-surface: var(--vz-ref-paper-0);
  --vz-color-surface-subtle: var(--vz-ref-paper-50);
  --vz-color-surface-muted: var(--vz-ref-paper-200);
  --vz-color-surface-raised: var(--vz-ref-paper-0);
  --vz-color-overlay: #17201ccc;

  /* Semantic text: pagrindinis, antrinis, metaduomenys ir išjungta būsena. */
  --vz-color-text: var(--vz-ref-ink-950);
  --vz-color-text-muted: var(--vz-ref-ink-700);
  --vz-color-text-subtle: var(--vz-ref-ink-600);
  --vz-color-text-disabled: var(--vz-ref-ink-500);
  --vz-color-text-inverse: var(--vz-ref-paper-0);

  /* Semantic borders: grupavimas, aktyvus atskyrimas ir fokusas. */
  --vz-color-border: var(--vz-ref-ink-200);
  --vz-color-border-strong: var(--vz-ref-ink-300);
  --vz-color-divider: var(--vz-ref-paper-200);
  --vz-color-focus: var(--vz-ref-cadastre-600);

  /* Semantic action: vienintelis pagrindinis veiksmo akcentas. */
  --vz-color-action: var(--vz-ref-cadastre-700);
  --vz-color-action-hover: var(--vz-ref-cadastre-800);
  --vz-color-action-active: var(--vz-ref-cadastre-900);
  --vz-color-action-soft: var(--vz-ref-cadastre-50);
  --vz-color-action-soft-hover: var(--vz-ref-cadastre-100);
  --vz-color-link: var(--vz-ref-cadastre-700);
  --vz-color-link-hover: var(--vz-ref-cadastre-900);

  /* Semantic data provenance: penkios privalomos duomenų būsenos. */
  --vz-data-verified-fg: var(--vz-ref-verified-700);
  --vz-data-verified-bg: var(--vz-ref-verified-100);
  --vz-data-verified-border: var(--vz-ref-verified-300);
  --vz-data-source-fg: var(--vz-ref-source-700);
  --vz-data-source-bg: var(--vz-ref-source-100);
  --vz-data-source-border: var(--vz-ref-source-300);
  --vz-data-estimate-fg: var(--vz-ref-estimate-700);
  --vz-data-estimate-bg: var(--vz-ref-estimate-100);
  --vz-data-estimate-border: var(--vz-ref-estimate-300);
  --vz-data-insufficient-fg: var(--vz-ref-unknown-700);
  --vz-data-insufficient-bg: var(--vz-ref-unknown-100);
  --vz-data-insufficient-border: var(--vz-ref-unknown-300);
  --vz-data-na-fg: var(--vz-ref-na-700);
  --vz-data-na-bg: var(--vz-ref-na-100);
  --vz-data-na-border: var(--vz-ref-na-300);

  /* Semantic verdicts: rekomendacija nėra vien spalva — komponentas turi tekstą ir ikoną. */
  --vz-verdict-buy-fg: #1f633d;
  --vz-verdict-buy-bg: #e0f1e6;
  --vz-verdict-buy-border: #9dc8aa;
  --vz-verdict-check-fg: #735214;
  --vz-verdict-check-bg: #f5ecd6;
  --vz-verdict-check-border: #d9c387;
  --vz-verdict-watch-fg: #245876;
  --vz-verdict-watch-bg: #e2ecf2;
  --vz-verdict-watch-border: #aec5d2;
  --vz-verdict-pass-fg: #53605a;
  --vz-verdict-pass-bg: #e9ece9;
  --vz-verdict-pass-border: #c5cbc7;
  --vz-verdict-none-fg: #5e6a63;
  --vz-verdict-none-bg: #f4f2ea;
  --vz-verdict-none-border: #d3d8d3;

  /* Semantic feedback: sistemos sėkmė, perspėjimas ir klaida. */
  --vz-color-success: var(--vz-ref-verified-700);
  --vz-color-success-soft: var(--vz-ref-verified-100);
  --vz-color-warning: var(--vz-ref-estimate-700);
  --vz-color-warning-soft: var(--vz-ref-estimate-100);
  --vz-color-danger: var(--vz-ref-danger-700);
  --vz-color-danger-soft: var(--vz-ref-danger-100);
  --vz-color-danger-border: var(--vz-ref-danger-300);

  /* Typography: Public Sans failai yra self-hosted; monospace tik ID, datoms ir kodams. */
  --vz-font-sans: "Public Sans", "Segoe UI", system-ui, sans-serif;
  --vz-font-mono: "JetBrains Mono", ui-monospace, "Cascadia Mono", "Segoe UI Mono", Consolas, monospace;
  --vz-font-weight-regular: 400;
  --vz-font-weight-semibold: 600;
  --vz-font-weight-bold: 700;
  --vz-font-size-caption: 0.75rem;
  --vz-font-size-ui: 0.875rem;
  --vz-font-size-body: 1rem;
  --vz-font-size-lead: 1.25rem;
  --vz-font-size-title: 1.75rem;
  --vz-font-size-display-min: 2.25rem;
  --vz-font-size-display-max: 3.5rem;
  --vz-line-height-tight: 1.2;
  --vz-line-height-ui: 1.4;
  --vz-line-height-body: 1.6;
  --vz-letter-spacing-label: 0.02em;
  --vz-letter-spacing-caps: 0.06em;

  /* Spacing: 4 px bazė, 24 px teksto ritmas. */
  --vz-space-0: 0;
  --vz-space-1: 0.25rem;
  --vz-space-2: 0.5rem;
  --vz-space-3: 0.75rem;
  --vz-space-4: 1rem;
  --vz-space-5: 1.5rem;
  --vz-space-6: 2rem;
  --vz-space-7: 3rem;
  --vz-space-8: 4rem;

  /* Shape: dokumentų, lentelių ir spaudų logika — mažiau dekoratyvaus apvalinimo. */
  --vz-radius-xs: 0.125rem;
  --vz-radius-sm: 0.25rem;
  --vz-radius-md: 0.5rem;
  --vz-radius-lg: 0.75rem;
  --vz-radius-pill: 999rem;
  --vz-border-width: 0.0625rem;
  --vz-border-width-strong: 0.125rem;

  /* Elevation: šviesioje temoje tik dialogams ir plaukiojantiems meniu. */
  --vz-shadow-panel: 0 0.125rem 0.5rem #17201c14;
  --vz-shadow-dialog: 0 1rem 3rem #17201c2e;

  /* Sizing: 44 px touch target, bendras turinio plotis ir stabilus header. */
  --vz-size-touch: 2.75rem;
  --vz-size-control: 2.5rem;
  --vz-size-header: 3.5rem;
  --vz-size-content-max: 78rem;
  --vz-size-text-measure: 68ch;

  /* Motion: tik būsenai; jokio dekoratyvaus judesio. */
  --vz-duration-fast: 120ms;
  --vz-duration-standard: 180ms;
  --vz-ease-out: cubic-bezier(0.22, 1, 0.36, 1);

  /* Layering: vienas bendras z-index kontraktas. */
  --vz-z-header: 100;
  --vz-z-popover: 300;
  --vz-z-banner: 400;
  --vz-z-dialog: 600;
  --vz-z-toast: 700;

  /* Legacy aliases: laikyti iki 4 sistemos vartotojų migracijos pabaigos. */
  --bg-0: var(--vz-color-canvas);
  --bg-1: var(--vz-color-surface);
  --bg-2: var(--vz-color-surface-subtle);
  --bg-3: var(--vz-color-surface-muted);
  --border: var(--vz-color-border);
  --border-strong: var(--vz-color-border-strong);
  --text: var(--vz-color-text);
  --text-2: var(--vz-color-text-muted);
  --text-3: var(--vz-color-text-subtle);
  --accent: var(--vz-color-action);
  --accent-2: var(--vz-color-action-hover);
  --accent-3: var(--vz-color-action);
  --accent-4: var(--vz-color-link);
  --grad: linear-gradient(135deg, var(--vz-color-action), var(--vz-color-action));
  --buy: var(--vz-verdict-buy-fg);
  --buy-bg: var(--vz-verdict-buy-bg);
  --check: var(--vz-verdict-check-fg);
  --check-bg: var(--vz-verdict-check-bg);
  --reject: var(--vz-verdict-pass-fg);
  --reject-bg: var(--vz-verdict-pass-bg);
  --danger: var(--vz-color-danger);
  --radius: var(--vz-radius-md);
  --radius-lg: var(--vz-radius-lg);
  --font: var(--vz-font-sans);
  --mono: var(--vz-font-mono);
  --header-h: var(--vz-size-header);
  --shadow-md: var(--vz-shadow-panel);
  --shadow-lg: var(--vz-shadow-dialog);
}

/* Tamsi tema: tik semantinių tokenų perrišimas, ne antra komponentų sistema. */
:root[data-theme="dark"] {
  color-scheme: dark;
  --vz-color-canvas: #101512;
  --vz-color-surface: #171d1a;
  --vz-color-surface-subtle: #202823;
  --vz-color-surface-muted: #2a342e;
  --vz-color-surface-raised: #202823;
  --vz-color-overlay: #090c0ae6;
  --vz-color-text: #f1f4ef;
  --vz-color-text-muted: #c2cac4;
  --vz-color-text-subtle: #aeb8b1;
  --vz-color-text-disabled: #7e8a82;
  --vz-color-text-inverse: #101512;
  --vz-color-border: #3b4740;
  --vz-color-border-strong: #59665e;
  --vz-color-divider: #303b35;
  --vz-color-focus: #74c3cb;
  --vz-color-action: #74c3cb;
  --vz-color-action-hover: #91d2d8;
  --vz-color-action-active: #a9dfe3;
  --vz-color-action-soft: #17383a;
  --vz-color-action-soft-hover: #20484b;
  --vz-color-link: #8ccfd5;
  --vz-color-link-hover: #b0e1e4;
  --vz-data-verified-fg: #9cd7ad;
  --vz-data-verified-bg: #183b25;
  --vz-data-verified-border: #3d7650;
  --vz-data-source-fg: #a9d0e6;
  --vz-data-source-bg: #193647;
  --vz-data-source-border: #46758e;
  --vz-data-estimate-fg: #e6c980;
  --vz-data-estimate-bg: #3f3218;
  --vz-data-estimate-border: #806a30;
  --vz-data-insufficient-fg: #efb497;
  --vz-data-insufficient-bg: #43291e;
  --vz-data-insufficient-border: #8b5b43;
  --vz-data-na-fg: #bdc6c0;
  --vz-data-na-bg: #2a322e;
  --vz-data-na-border: #59655e;
  --vz-verdict-buy-fg: #9cd7ad;
  --vz-verdict-buy-bg: #183b25;
  --vz-verdict-buy-border: #3d7650;
  --vz-verdict-check-fg: #e6c980;
  --vz-verdict-check-bg: #3f3218;
  --vz-verdict-check-border: #806a30;
  --vz-verdict-watch-fg: #a9d0e6;
  --vz-verdict-watch-bg: #193647;
  --vz-verdict-watch-border: #46758e;
  --vz-verdict-pass-fg: #bdc6c0;
  --vz-verdict-pass-bg: #2a322e;
  --vz-verdict-pass-border: #59655e;
  --vz-verdict-none-fg: #aeb8b1;
  --vz-verdict-none-bg: #202823;
  --vz-verdict-none-border: #3b4740;
  --vz-color-success: #9cd7ad;
  --vz-color-success-soft: #183b25;
  --vz-color-warning: #e6c980;
  --vz-color-warning-soft: #3f3218;
  --vz-color-danger: #efaaa6;
  --vz-color-danger-soft: #452320;
  --vz-color-danger-border: #8f514d;
  --vz-shadow-panel: 0 0 0 0.0625rem #3b4740;
  --vz-shadow-dialog: 0 1rem 3rem #05070599;
}

@media (prefers-reduced-motion: reduce) {
  :root {
    --vz-duration-fast: 0ms;
    --vz-duration-standard: 0ms;
  }
}
