:root,[data-skin="classic"]{
  --bg: oklch(0.941 0.027 79.5); --bg-hex:#F3EADB;
  --surface: oklch(0.969 0.017 79.9);
  --fawn: oklch(0.879 0.045 80.6);
  --line: oklch(0.812 0.051 79.1);
  --accent: oklch(0.593 0.093 47.8);
  --walnut: oklch(0.416 0.068 48.5);
  --ink: oklch(0.257 0.031 44.7);
  --ink-2: oklch(0.470 0.031 58.9);
  --brass: oklch(0.668 0.073 72.3);
  --sage: oklch(0.585 0.048 118.9);
  --terra: oklch(0.548 0.131 33.2);
  --ochre: oklch(0.706 0.116 74.6);
  --slate: oklch(0.583 0.041 234.2);
  --shadow-1: 0 1px 2px oklch(0.257 0.031 44.7 / .06), 0 2px 6px oklch(0.257 0.031 44.7 / .05);
  --shadow-2: 0 2px 4px oklch(0.257 0.031 44.7 / .06), 0 8px 20px oklch(0.257 0.031 44.7 / .09);
  --shadow-3: 0 4px 8px oklch(0.257 0.031 44.7 / .08), 0 18px 44px oklch(0.257 0.031 44.7 / .14);
  --r-s:6px; --r-m:10px; --r-l:16px; --r-xl:22px;
  --serif:'Lora',Georgia,serif; --sans:'Golos Text','Helvetica Neue',Helvetica,sans-serif; --mono:'JetBrains Mono',ui-monospace,monospace;
  --dur:200ms; --ease:cubic-bezier(.2,.7,.3,1);
}
[data-theme="candle"],[data-theme="candle"] [data-skin="classic"]{
  --bg: oklch(0.216 0.021 49.5);
  --surface: oklch(0.262 0.024 53.1);
  --fawn: oklch(0.320 0.028 56.3);
  --line: oklch(0.385 0.030 55.1);
  --accent: oklch(0.686 0.093 52.9);
  --walnut: oklch(0.790 0.062 62.7);
  --ink: oklch(0.946 0.019 80.1);
  --ink-2: oklch(0.762 0.030 71.4);
  --brass: oklch(0.744 0.079 73.8);
  --sage: oklch(0.715 0.055 122.4);
  --terra: oklch(0.686 0.121 34.8);
  --ochre: oklch(0.795 0.105 76.9);
  --slate: oklch(0.712 0.044 235.6);
  --shadow-1: 0 1px 2px oklch(0.12 0.02 45 / .45);
  --shadow-2: 0 3px 8px oklch(0.12 0.02 45 / .45), 0 10px 28px oklch(0.10 0.02 45 / .5);
  --shadow-3: 0 6px 16px oklch(0.12 0.02 45 / .5), 0 22px 56px oklch(0.09 0.02 45 / .62);
}
[data-theme="candle"] input,[data-theme="candle"] textarea,[data-theme="candle"] select{color:var(--ink)}
[data-theme="candle"] input::placeholder,[data-theme="candle"] textarea::placeholder{color:var(--ink-2)}
*{box-sizing:border-box}
body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--sans);font-size:15px;line-height:1.55;-webkit-font-smoothing:antialiased;text-wrap:pretty}
h1,h2,h3,h4{font-family:var(--serif);font-weight:600;margin:0;letter-spacing:-0.01em}
a{color:var(--accent);text-decoration:none}
a:hover{color:var(--walnut);text-decoration:underline}
button{font:inherit;color:inherit}
input,select,textarea{font:inherit;color:inherit}
:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:4px}
iconify-icon{display:inline-block;vertical-align:-0.125em}
[data-scroll]{scrollbar-width:thin;scrollbar-color:var(--line) transparent}
[data-scroll]::-webkit-scrollbar{width:9px;height:9px}
[data-scroll]::-webkit-scrollbar-track{background:transparent}
[data-scroll]::-webkit-scrollbar-thumb{background:var(--line);border:3px solid transparent;background-clip:padding-box;border-radius:999px;transition:background var(--dur) var(--ease)}
[data-scroll]:hover::-webkit-scrollbar-thumb{background:color-mix(in oklab, var(--accent) 55%, var(--line));background-clip:padding-box}
[data-scroll]::-webkit-scrollbar-thumb:hover{background:var(--accent);background-clip:padding-box}
[data-scroll]::-webkit-scrollbar-thumb:active{background:var(--walnut);background-clip:padding-box}
[data-scroll]::-webkit-scrollbar-corner{background:transparent}
@media (prefers-reduced-motion: reduce){*{animation:none!important;transition:none!important}}

/* ---------- Удобство чтения (assets/js/lk-access.js ставит data-* на <html>) ---------- */

/* Размер: масштабируется вся страница, вместе с кнопками и иконками. Высоты на vh/vw
   в стилях делятся на --lk-vz, её мерит lk-access.js. */
html[data-fs="115"]{zoom:1.15}
html[data-fs="130"]{zoom:1.3}
html[data-fs="150"]{zoom:1.5}

/* Шрифт: без засечек в заголовках или разборчивый Fira Sans (есть кириллица, I/l/1 различимы) */
html[data-font="plain"]{--serif:var(--sans)}
html[data-font="legible"]{--sans:'Fira Sans',Verdana,Tahoma,sans-serif;--serif:var(--sans)}
html[data-font="legible"] body{font-size:15.5px}

/* Высокий контраст: поверх любого скина, поэтому !important (скины весомее по селекторам).
   Основной текст почти чёрный или почти белый, вторичный близко к основному, рамки видны. */
html[data-contrast="more"]{
  --ink: oklch(0.160 0.015 60) !important;
  --ink-2: color-mix(in oklab, var(--ink) 80%, var(--bg)) !important;
  --line: color-mix(in oklab, var(--ink) 42%, var(--bg)) !important;
}
html[data-contrast="more"][data-theme="candle"]{
  --ink: oklch(0.985 0.005 90) !important;
}
html[data-contrast="more"] a,html[data-contrast="more"] .st-link{color:var(--walnut)}
html[data-contrast="more"] .lk-btn--primary{background:var(--walnut);color:var(--bg)}
html[data-contrast="more"] .lk-btn--primary:hover{background:var(--ink);color:var(--bg)}
html[data-contrast="more"] .lk-nav__item.is-active{background:var(--walnut);color:var(--bg)}
html[data-contrast="more"] :focus-visible{outline:3px solid var(--ink);outline-offset:3px}

/* Свободные интервалы: для строк, у которых высота не задана жёстко */
html[data-spacing="wide"] body{line-height:1.8;letter-spacing:.02em;word-spacing:.1em}
html[data-spacing="wide"] p,html[data-spacing="wide"] li,html[data-spacing="wide"] dd,
html[data-spacing="wide"] .lk-prose{line-height:1.8}

/* Подчёркнутые ссылки в тексте (кнопки и меню остаются как есть) */
html[data-links="underline"] .lk-content a:not([class]),
html[data-links="underline"] .lk-prose a,
html[data-links="underline"] .st-sample a{text-decoration:underline;text-underline-offset:.18em;text-decoration-thickness:1.5px}

/* Без анимаций: то же, что системная настройка «уменьшить движение» */
html[data-motion="reduce"] *,html[data-motion="reduce"] *::before,html[data-motion="reduce"] *::after{
  animation:none!important;transition:none!important;scroll-behavior:auto!important
}
