:root { --bg: #0d1117; --card: #161b22; --border: #2b333d; --fg: #e6edf3; --muted: #8b949e; --accent: #4f8ff7; --good: #4fc38a; --bad: #f7784f; color-scheme: dark; font-family: Inter, system-ui, -apple-system, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif; font-synthesis: none; text-rendering: optimizeLegibility; -webkit-font-smoothing: antialiased; } /* Light theme: system preference and explicit opt-in. The dark values in :root above stay the default; `html[data-theme='dark']` re-asserts them with enough specificity to beat the media query. */ @media (prefers-color-scheme: light) { :root { --bg: #f4f6f8; --card: #ffffff; --border: #d4dbe2; --fg: #1c2128; --muted: #59636e; --accent: #2563eb; --good: #15803d; --bad: #c2410c; color-scheme: light; } } html[data-theme='light'] { --bg: #f4f6f8; --card: #ffffff; --border: #d4dbe2; --fg: #1c2128; --muted: #59636e; --accent: #2563eb; --good: #15803d; --bad: #c2410c; color-scheme: light; } html[data-theme='dark'] { --bg: #0d1117; --card: #161b22; --border: #2b333d; --fg: #e6edf3; --muted: #8b949e; --accent: #4f8ff7; --good: #4fc38a; --bad: #f7784f; color-scheme: dark; } * { box-sizing: border-box; } body { margin: 0; background: var(--bg); color: var(--fg); } /* Keyboard focus must always be visible (theme-var colors only). */ :focus-visible { outline: 2px solid var(--accent); outline-offset: 2px; }