/* Токены, сброс, базовая типографика */

:root {
  --bg: #EEF0EC;
  --tile: #FFFFFF;
  --tile-2: #F6F7F4;
  --line: #E3E6E0;
  --ink: #15171C;
  --ink-2: #5D636D;
  --ink-3: #8A9099;

  --sea: #E4ECEF;
  --land: #FBFBF8;
  --land-line: #D3DBDD;
  --grat: #D8E2E6;

  --rail: #1F7A55;
  --bus: #D99A16;
  --air: #3A55E0;
  --tg: #2AABEE;

  --r: 28px;
  --gap: 20px;
  --shadow: 0 1px 2px rgba(21, 23, 28, .04), 0 0 0 1px rgba(21, 23, 28, .05);

  --sans: "Onest", system-ui, -apple-system, "Segoe UI", sans-serif;
  --display: "Unbounded", "Onest", system-ui, sans-serif;
}

@media (prefers-color-scheme: dark) {
  :root {
    --bg: #121417;
    --tile: #1B1E22;
    --tile-2: #22262B;
    --line: #2B3036;
    --ink: #EEF0F2;
    --ink-2: #A3A9B2;
    --ink-3: #7C838D;

    --sea: #172026;
    --land: #262B31;
    --land-line: #343B42;
    --grat: #1D262D;

    --rail: #3FBF8A;
    --bus: #F0B53A;
    --air: #7D91FF;

    --shadow: 0 0 0 1px rgba(255, 255, 255, .05);
  }
}

*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; }
body {
  margin: 0;
  background: var(--bg);
  color: var(--ink);
  font: 400 15px/1.5 var(--sans);
  font-variant-numeric: tabular-nums;
  -webkit-font-smoothing: antialiased;
}
h1, h2, p, dl, dd { margin: 0; }
a { color: inherit; text-decoration: none; }
button { font: inherit; color: inherit; }
:focus-visible { outline: 2px solid var(--air); outline-offset: 3px; border-radius: 8px; }

@media (prefers-reduced-motion: reduce) {
  * { transition: none !important; }
}
