/* Design tokens. Every colour, size and radius used by the other files comes from here.
   Themes: dusk (default, dark) and day (light). The accent is chosen by the person. No gradients anywhere. */
@font-face { font-family: "IBM Plex Sans"; font-weight: 400 600; font-display: swap; src: url("../fonts/plex-sans-cyrillic.woff2") format("woff2");
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116; }
@font-face { font-family: "IBM Plex Sans"; font-weight: 400 600; font-display: swap; src: url("../fonts/plex-sans-latin-ext.woff2") format("woff2");
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF; }
@font-face { font-family: "IBM Plex Sans"; font-weight: 400 600; font-display: swap; src: url("../fonts/plex-sans-latin.woff2") format("woff2");
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }

:root {
  --font: "IBM Plex Sans", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
  /* type scale */
  --fs-xs: 12px; --fs-sm: 14px; --fs-md: 16px; --fs-lg: 20px; --fs-xl: 24px; --fs-2xl: 32px;
  /* space: 4 px base */
  --sp-1: 4px; --sp-2: 8px; --sp-3: 12px; --sp-4: 16px; --sp-5: 24px; --sp-6: 32px; --sp-7: 48px;
  --radius-control: 6px; --radius-widget: 10px;
  --nav-w: 232px; --top-h: 56px; --grid-gap: 16px;
  --motion: 150ms;
  /* density: "comfortable" is the default; "compact" scales the paddings */
  --pad-widget: var(--sp-5); --row-h: 40px;
}
:root[data-density="compact"] { --pad-widget: var(--sp-4); --row-h: 32px; --grid-gap: 12px; }

/* ---- themes ---- */
:root, :root[data-theme="dusk"] {
  --bg: #0f1216; --surface: #1a1e24; --surface-2: #232830; --line: #323843;
  --text: #ebe8e1; --muted: #a8aeb6; --on-accent: #14171a; --scrim: 10 12 16;
  --ok: #7fc08b; --warn: #e3b25b; --danger: #ee8c80;
  color-scheme: dark;
}
:root[data-theme="day"] {
  --bg: #e9e7e1; --surface: #ffffff; --surface-2: #f3f1ec; --line: #d9d5cc;
  --text: #1d2023; --muted: #5c6166; --on-accent: #ffffff; --scrim: 240 238 232;
  --ok: #2f7d46; --warn: #8a5a00; --danger: #b3382c;
  color-scheme: light;
}

/* ---- accents (dark values first, light values for the day theme; all pass 4.5:1 for text and buttons) ---- */
:root, :root[data-accent="ember"]      { --accent: #e3a24b; }
:root[data-accent="clay"]              { --accent: #e08a68; }
:root[data-accent="rose"]              { --accent: #e58aa3; }
:root[data-accent="lake"]              { --accent: #5bb8c6; }
:root[data-accent="moss"]              { --accent: #9cc46a; }
:root[data-accent="slate"]             { --accent: #8db3d6; }
:root[data-theme="day"][data-accent="ember"] { --accent: #8a5a00; }
:root[data-theme="day"][data-accent="clay"]  { --accent: #a8472a; }
:root[data-theme="day"][data-accent="rose"]  { --accent: #a03d57; }
:root[data-theme="day"][data-accent="lake"]  { --accent: #1b6672; }
:root[data-theme="day"][data-accent="moss"]  { --accent: #4d6a2b; }
:root[data-theme="day"][data-accent="slate"] { --accent: #3d5873; }
