:root {
  color-scheme: light dark;
  --page: #ffffff;
  --surface: #f5f5f5;
  --ink: #171717;
  --muted: #525252;
  --action: #202020;
  --on-action: #ffffff;
  --focus: #1d4ed8;
}
@media (prefers-color-scheme: dark) {
  :root {
    --page: #171717;
    --surface: #262626;
    --ink: #fafafa;
    --muted: #d4d4d4;
    --action: #fafafa;
    --on-action: #171717;
    --focus: #93c5fd;
  }
}
* { box-sizing: border-box; }
body { margin: 0; padding: 1.5rem; background: var(--page);
  color: var(--ink); font: 1rem/1.6 system-ui, sans-serif; }
main { max-width: 50rem; margin: auto; }
.panel { padding: 1.5rem; background: var(--surface); color: var(--ink); }
.supporting { color: var(--muted); }
.button-primary { display: inline-flex; padding: .65rem 1rem;
  min-height: 44px; background: var(--action); color: var(--on-action); }
.button-primary:hover { text-decoration-thickness: 3px; }
.button-primary:focus-visible { outline: 3px solid var(--focus);
  outline-offset: 3px; }
