:root {
  --footer-h: 20px;
  --bg-dark: #0b0b0b;
  --text-light: #e5e7eb;
  --text-muted: #94a3b8;
  --link: #93c5fd;
  --card-bg: #151515;
  --card-edge: #242424;
  --card-head: #111213;
  --card-head-edge: #1f1f1f;
  --overlay-bg: #f3f6fb;
  --overlay-text: #0f172a;
  --overlay-help: #64748b;
  --border: #e5e7eb;
  --radius: 12px;
  --shadow-card: 0 8px 30px rgba(0,0,0,.35);
  --shadow-overlay: 0 4px 20px rgba(0,0,0,.05);
  --font: system-ui, -apple-system, Segoe UI, Roboto, sans-serif;
}
* { box-sizing: border-box; }
a { color: var(--link); text-decoration: none; }
a:hover { text-decoration: underline; }

/* Prevent header/content from shifting when a vertical scrollbar appears */
html, body { scrollbar-gutter: stable both-edges; }

/* Fallback for browsers that don’t support scrollbar-gutter */
@supports not (scrollbar-gutter: stable) {
  html, body { overflow-y: scroll; }
}
