@font-face {
  font-family: "Inter Variable";
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
  src: url("brand/inter-latin-variable.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;
}
@font-face {
  font-family: "Inter Variable";
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
  src: url("brand/inter-cyrillic-variable.woff2") format("woff2");
  unicode-range: U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}

:root {
  color-scheme: light;
  --font-sans: "Inter Variable", Inter, -apple-system, system-ui, "Segoe UI", sans-serif;
  --font-mono: ui-monospace, SFMono-Regular, Consolas, monospace;
  --canvas: #f4f4f7;
  --surface: #fff;
  --surface-subtle: #f6f5f4;
  --surface-hover: #ebe9e6;
  --ink: #1a1a1a;
  --muted: #625f68;
  --muted-strong: #4b4851;
  --border: #e0dfe4;
  --border-strong: #898590;
  --primary: #5645d4;
  --primary-hover: #4b3ac2;
  --primary-pressed: #4534b3;
  --primary-ink: #fff;
  --focus: #5645d4;
  --danger: #b4232c;
  --danger-surface: #fff0f0;
  --warning: #954600;
  --warning-surface: #fff4e8;
  --success: #137333;
  --success-surface: #eaf6ed;
  --info: #315da8;
  --info-surface: #edf3ff;
  --shadow-sm: 0 1px 3px rgb(21 18 40 / 8%);
  --shadow-lg: 0 24px 70px rgb(20 18 35 / 22%);
  --radius-control: 10px;
  --radius-card: 12px;
  --space-1: 4px;
  --space-2: 8px;
  --space-3: 12px;
  --space-4: 16px;
  --space-6: 24px;
  --space-8: 32px;
  --space-12: 48px;
  font-family: var(--font-sans);
  font-synthesis: none;
  text-rendering: optimizeLegibility;
}

* { box-sizing: border-box; }
html { min-width: 320px; min-height: 100%; color-scheme: light; }
body {
  min-height: 100%;
  margin: 0;
  background: var(--canvas);
  color: var(--ink);
  font: 15px/1.55 var(--font-sans);
  -webkit-font-smoothing: antialiased;
}
button, input, select, textarea { font: inherit; }
button { color: inherit; }
a { color: var(--primary); overflow-wrap: anywhere; text-underline-offset: 3px; }
a:hover { color: var(--primary-pressed); }
:focus-visible { outline: 3px solid var(--focus); outline-offset: 2px; }
[hidden] { display: none !important; }
.visually-hidden {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  white-space: nowrap !important;
  border: 0 !important;
}
.skip-link {
  position: fixed;
  z-index: 100;
  top: 8px;
  left: 8px;
  padding: 10px 14px;
  transform: translateY(-160%);
  border-radius: 8px;
  background: var(--surface);
  color: var(--primary);
  box-shadow: var(--shadow-sm);
}
.skip-link:focus { transform: translateY(0); }
