:root {
  --color-primary: #2563eb;
  --color-primary-strong: #1d4ed8;
  --color-bg: linear-gradient(180deg, #f6f9ff 0%, #eef3fb 100%);
  --color-surface: #ffffff;
  --color-surface-muted: #f8fbff;
  --color-text: #0f172a;
  --color-muted: #64748b;
  --color-border: #d9e4f3;
  --color-focus: #60a5fa;
  --radius-sm: 12px;
  --radius-md: 18px;
  --radius-lg: 20px;
  --shadow-card: 0 10px 28px rgba(37, 99, 235, 0.12);
  --shadow-soft: 0 4px 14px rgba(15, 23, 42, 0.08);
  --space-1: 6px;
  --space-2: 10px;
  --space-3: 14px;
  --space-4: 18px;
  --space-5: 24px;
  --space-6: 30px;
  --font-base: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
}

* {
  box-sizing: border-box;
}

html,
body {
  margin: 0;
  padding: 0;
}

body {
  font-family: var(--font-base);
  background: var(--color-bg);
  color: var(--color-text);
}

img {
  max-width: 100%;
  display: block;
}

button,
input,
select {
  font: inherit;
}

:focus-visible {
  outline: 3px solid color-mix(in srgb, var(--color-focus) 60%, transparent);
  outline-offset: 2px;
}
