:root {
  color-scheme: light;
  --bg: #fbfaf6;
  --surface: rgba(255,255,255,0.9);
  --surface-strong: #ffffff;
  --text: #171715;
  --text-soft: rgba(23,23,21,0.72);
  --text-muted: rgba(23,23,21,0.52);
  --line: rgba(23,23,21,0.08);
  --shadow: 0 24px 60px rgba(26,24,19,0.08);
  --shadow-soft: 0 8px 20px rgba(26,24,19,0.06);
  --accent: #6d63ff;
  --accent-soft: rgba(109,99,255,0.12);
  --accent-line: rgba(109,99,255,0.2);
  --success: #1f9d61;
  --warning: #c17e2c;
  --radius-xl: 28px;
  --radius-lg: 22px;
  --radius-md: 16px;
  --radius-sm: 12px;
  --page-pad: clamp(18px, 3vw, 34px);
  --content: 1180px;
  --font-sans: 'Inter', system-ui, -apple-system, 'Segoe UI', sans-serif;
  --font-serif: 'Source Serif 4', Georgia, serif;
  --font-mono: 'Geist Mono', ui-monospace, 'SFMono-Regular', Menlo, monospace;
}
html[data-theme='dark'] {
  color-scheme: dark;
  --bg: #0f1115;
  --surface: rgba(20,23,29,0.84);
  --surface-strong: #1a1d24;
  --text: #e7e8eb;
  --text-soft: rgba(231,232,235,0.76);
  --text-muted: rgba(231,232,235,0.56);
  --line: rgba(255,255,255,0.08);
  --shadow: 0 28px 70px rgba(0,0,0,0.35);
  --shadow-soft: 0 8px 24px rgba(0,0,0,0.26);
  --accent: #8f86ff;
  --accent-soft: rgba(143,134,255,0.14);
  --accent-line: rgba(143,134,255,0.24);
  --success: #55c58f;
  --warning: #e0b467;
}
html[data-font='serif'] { --font-sans: 'Source Serif 4', Georgia, serif; }
* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  background:
    radial-gradient(circle at top left, rgba(109,99,255,0.06), transparent 30%),
    radial-gradient(circle at 92% 8%, rgba(109,99,255,0.04), transparent 24%),
    var(--bg);
  color: var(--text);
  font-family: var(--font-sans);
  letter-spacing: -0.01em;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}
a { color: inherit; text-decoration: none; }
button, input { font: inherit; }
img { max-width: 100%; display: block; }
