/* Shared theme tokens and browser defaults. Dark is the default theme. */
:root {
  color-scheme: dark;
  --bg: #121314;
  --surface: #1b1c1e;
  --surface-2: #26272a;
  --ink: #ececea;
  --ink-2: #c4c4c0;
  --muted: #95979c;
  --line: #2e2f33;
  --line-strong: #44454a;
  /* Georgian flag red: the one brand color. */
  --accent: #ef4250;
  --accent-hover: #ff6370;
  --accent-soft: #3a1b1f;
  --on-accent: #ffffff;
  --good: #4fc97a;
  --good-soft: #17301f;
  --warn: #f2b84b;
  --warn-soft: #33290f;
  --danger: #ff7b72;
  --shadow: 0 12px 32px rgba(0, 0, 0, .45);
  --font: system-ui, -apple-system, "Segoe UI", Roboto, "Noto Sans Georgian", "Helvetica Neue", Arial, sans-serif;
  --radius: 8px;
}

:root[data-theme="light"] {
  color-scheme: light;
  --bg: #f6f6f3;
  --surface: #ffffff;
  --surface-2: #efefeb;
  --ink: #16181d;
  --ink-2: #3d424d;
  --muted: #676d78;
  --line: #e2e2dc;
  --line-strong: #cbcbc3;
  --accent: #c8102e;
  --accent-hover: #a30d25;
  --accent-soft: #fbe9ec;
  --on-accent: #ffffff;
  --good: #157a3c;
  --good-soft: #e5f4ea;
  --warn: #9a6700;
  --warn-soft: #fbf3dc;
  --danger: #b42318;
  --shadow: 0 12px 32px rgba(22, 24, 29, .14);
}

* { box-sizing: border-box; }
/* Always reserve the scrollbar's space so pages don't shift sideways when one is shorter than the window. */
html {
  scroll-behavior: smooth;
  scrollbar-gutter: stable;
  scrollbar-width: thin;
  scrollbar-color: var(--line-strong) transparent;
}
/* Chrome/Safari: a slim scrollbar that matches the theme instead of the default grey bar. */
::-webkit-scrollbar { width: 10px; height: 10px; }
::-webkit-scrollbar-track { background: transparent; }
::-webkit-scrollbar-thumb { background: var(--line-strong); border: 3px solid var(--bg); border-radius: 999px; }
::-webkit-scrollbar-thumb:hover { background: var(--muted); }
body {
  min-height: 100vh;
  margin: 0;
  overflow-x: clip;
  color: var(--ink);
  background: var(--bg);
  font-family: var(--font);
  font-size: 15px;
  font-variant-numeric: tabular-nums;
  line-height: 1.5;
  -webkit-font-smoothing: antialiased;
}
button, input, select { font: inherit; }
button, a { -webkit-tap-highlight-color: transparent; }
a { color: inherit; }
:focus-visible { outline: 2px solid var(--accent); outline-offset: 2px; }
svg { width: 1.1em; height: 1.1em; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.icon-sprite { position: absolute; width: 0; height: 0; overflow: hidden; }
.sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }
h1, h2, h3, p { margin-top: 0; }
