:root {
  color-scheme: light;
  --color-primary: #a61b2b;
  --color-primary-hover: #851523;
  --color-primary-soft: #fff0f1;
  --color-ink: #20242b;
  --color-muted: #626b78;
  --color-border: #dce1e7;
  --color-surface: #ffffff;
  --color-page: #f7f8fa;
  --color-success: #176b43;
  --color-success-bg: #eaf7ef;
  --color-danger: #a61b2b;
  --color-danger-bg: #fff0f1;
  --color-focus: #2463eb;
  --font-sans: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  --font-size-xs: 0.75rem;
  --font-size-sm: 0.875rem;
  --font-size-md: 1rem;
  --font-size-lg: 1.125rem;
  --font-size-xl: 1.375rem;
  --font-size-2xl: 1.875rem;
  --font-size-3xl: 2.25rem;
  --line-body: 1.55;
  --radius-sm: 0.5rem;
  --radius-md: 0.875rem;
  --radius-lg: 1.25rem;
  --shadow-card: 0 18px 50px rgba(28, 35, 45, 0.09);
  --space-1: 0.25rem;
  --space-2: 0.5rem;
  --space-3: 0.75rem;
  --space-4: 1rem;
  --space-5: 1.25rem;
  --space-6: 1.5rem;
  --space-8: 2rem;
  --space-10: 2.5rem;
}
* { box-sizing: border-box; }
html { min-width: 320px; background: var(--color-page); }
body {
  margin: 0;
  color: var(--color-ink);
  background: var(--color-page);
  font-family: var(--font-sans);
  font-size: var(--font-size-md);
  line-height: var(--line-body);
  -webkit-font-smoothing: antialiased;
}
button, input, select { font: inherit; }
a { color: var(--color-primary); text-underline-offset: 0.18em; }
a:hover { color: var(--color-primary-hover); }
:focus-visible { outline: 3px solid var(--color-focus); outline-offset: 3px; }
[hidden] { display: none !important; }
