:root {
  --bg: #fdf8ff;
  --fg: #1d1b20;
  --muted: #625b71;
  --accent: #6750a4;
  --accent-fg: #ffffff;
  --card: #ece6f0;
}
@media (prefers-color-scheme: dark) {
  :root {
    --bg: #141218;
    --fg: #e6e0e9;
    --muted: #cac4d0;
    --accent: #d0bcff;
    --accent-fg: #381e72;
    --card: #211f26;
  }
}
* { box-sizing: border-box; }
body {
  margin: 0;
  background: var(--bg);
  color: var(--fg);
  font: 16px/1.55 system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
}
main { max-width: 640px; margin: 0 auto; padding: 48px 20px 64px; }
h1 { font-size: 2rem; margin: 0 0 8px; }
h2 { font-size: 1.15rem; margin: 32px 0 8px; }
p, li { color: var(--fg); }
.muted { color: var(--muted); }
a { color: var(--accent); }
.hero { text-align: center; padding-top: 24px; }
.flag { font-size: 56px; }
.card { background: var(--card); border-radius: 16px; padding: 20px; margin: 24px 0; }
.buttons { display: flex; flex-direction: column; gap: 12px; margin-top: 20px; }
.button {
  display: block; text-align: center; text-decoration: none; font-weight: 600;
  padding: 14px 20px; border-radius: 999px;
  background: var(--accent); color: var(--accent-fg);
}
.button.secondary { background: transparent; color: var(--accent); border: 2px solid var(--accent); }
.button[hidden], [hidden] { display: none !important; }
footer { margin-top: 48px; font-size: 0.9rem; color: var(--muted); text-align: center; }
footer a { margin: 0 8px; }
mark { background: #ffe082; color: #000; padding: 0 4px; border-radius: 4px; }
