/* Тема «Контраст» (contrast) — WCAG AAA: чёрное и белое, жёлтый акцент, толстые обводки и фокус-кольца,
   ни одной полупрозрачности и тени; движение укорочено. */
[data-theme="contrast"] {
  color-scheme: dark;

  --bg: var(--p-hc-black);
  --surface-1: var(--p-hc-black);
  --surface-2: var(--p-hc-gray-900);
  --surface-3: var(--p-hc-gray-800);
  --surface-raised: var(--p-hc-black);
  --field-bg: var(--p-hc-black);
  --border: var(--p-hc-gray-300);
  --border-strong: var(--p-hc-white);
  --border-raised: var(--p-hc-white);
  --fg: var(--p-hc-white);
  --fg-muted: var(--p-hc-gray-300);
  --link: var(--p-hc-cyan);
  --link-hover: var(--p-hc-white);
  --accent: var(--p-hc-yellow);
  --on-accent: var(--p-hc-black);
  --success: var(--p-hc-green);    --on-success: var(--p-hc-black);
  --warn: var(--p-hc-orange);      --on-warn: var(--p-hc-black);
  --danger: var(--p-hc-red);       --on-danger: var(--p-hc-black);
  --info: var(--p-hc-cyan);        --on-info: var(--p-hc-black);
  --notice: var(--p-hc-orange);    --on-notice: var(--p-hc-black);
  --warn-fill: var(--p-hc-orange);
  --soft-strength: 12%;
  --ring: var(--p-hc-yellow);
  --selection-bg: var(--p-hc-yellow);
  --selection-fg: var(--p-hc-black);
  --overlay: var(--p-black);
  --scroll-thumb: var(--p-hc-gray-500);
  --scroll-thumb-hover: var(--p-hc-white);
  --code-bg: var(--p-hc-gray-900);
  --code-fg: var(--p-hc-white);
  --diff-add: var(--p-hc-green);
  --diff-del: var(--p-hc-red);
  --diff-hunk: var(--p-hc-cyan);
  --mark-bg: var(--p-hc-yellow);
  --mark-fg: var(--p-hc-black);
  --chart-1: var(--p-hc-yellow); --chart-2: var(--p-hc-cyan); --chart-3: var(--p-hc-orange);
  --chart-4: var(--p-hc-red); --chart-5: var(--p-hc-violet); --chart-6: var(--p-hc-green);

  --font: "IBM Plex Sans", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
  --font-heading: var(--font);
  --font-mono: "JetBrains Mono", ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
  --font-data: var(--font);
  --fs-xs: 14px; --fs-sm: 15px; --fs-md: 16px; --fs-base: 17px; --fs-lg: 18px; --fs-xl: 20px; --fs-2xl: 24px; --fs-3xl: 30px;
  --fw-regular: 500; --fw-medium: 600; --fw-semibold: 700; --fw-bold: 700; --heading-weight: 700;
  --lh-body: 1.6; --lh-tight: 1.3; --lh-loose: 1.75;
  --tracking-caps: .04em;

  --r-xs: 2px; --r-sm: 3px; --r: 4px; --r-lg: 6px; --r-xl: 8px; --r-pill: 999px;
  --border-w: 2px; --focus-w: 4px; --focus-offset: 3px;
  --icon-size: 20px; --icon-stroke: 2.5;

  /* теней нет: границы 2px заменяют elevation */
  --shadow: none;
  --shadow-md: none;
  --shadow-lg: none;
  --shadow-sidebar: none;
  --shadow-focus: 0 0 0 var(--focus-w) var(--ring);   /* сплошное кольцо без размытия */
  --shadow-mark: none;

  --density: 1.1;
  --control-h: 44px; --control-h-sm: 40px; --nav-h: 46px;

  --dur-fast: .08s; --dur: .1s; --dur-slow: .14s;
  --ease: linear;

  --disabled-bg: var(--p-hc-gray-900);
  --disabled-fg: var(--p-hc-gray-500);
  --disabled-border: var(--p-hc-gray-500);
}
