/* Bristol Babysitters Club: page-level rules (reset, body, wall background, light/dark artwork swap).
   Every colour, size and font comes from tokens.css; component styles are in components.css. */

*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; }
body {
  margin: 0;
  background: var(--paper);
  color: var(--ink);
  font-family: var(--font-sans);
  font-size: 16px;
  line-height: 24px;
}
h1, h2, h3, h4, p, ul, ol, dl, dd, figure { margin: 0; }
ul, ol { padding: 0; }
a { color: var(--link); text-underline-offset: 3px; }
button, input, select, textarea { font: inherit; color: inherit; }
:focus-visible { outline: none; box-shadow: var(--focus-ring); }
.sr-only { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.club-muted { color: var(--ink-muted); }

/* Theme-specific artwork (logo files): show one per theme. */
.only-dark { display: none; }
[data-theme="dark"] .only-dark { display: block; }
[data-theme="dark"] .only-light { display: none; }
[data-theme="light"] .only-light { display: block; }
[data-theme="light"] .only-dark { display: none; }
@media (prefers-color-scheme: dark) {
  :root:not([data-theme]) .only-dark { display: block; }
  :root:not([data-theme]) .only-light { display: none; }
}

/* The wall: a faint dot grid behind the board, never behind paperwork. */
.club-wall { background-image: radial-gradient(var(--rule) 1.6px, transparent 1.8px); background-size: 18px 18px; }
