/* ============================================================
   taga11y examples — shared page scaffold
   ============================================================ */

/* ── Colour variables ───────────────────────────────────────── */
:root {
  --page-bg:            #ffffff;
  --page-text:          #1a1a1a;
  --page-text-muted:    #555555;
  --page-link:          #0060df;
  --page-border:        #cccccc;
  --page-border-subtle: #eeeeee;
  --page-surface:       #f4f4f4;

  --page-note-info-bg:      #fffbe6;
  --page-note-info-border:  #f0d050;
  --page-note-warn-bg:      #fff0f0;
  --page-note-warn-border:  #e57373;
}

@media (prefers-color-scheme: dark) {
  :root {
    --page-bg:            #1a1a1a;
    --page-text:          #e0e0e0;
    --page-text-muted:    #aaaaaa;
    --page-link:          #5fb3f5;
    --page-border:        #444444;
    --page-border-subtle: #333333;
    --page-surface:       #2a2a2a;

    --page-note-info-bg:      #2d2500;
    --page-note-info-border:  #7a6200;
    --page-note-warn-bg:      #2d0000;
    --page-note-warn-border:  #b71c1c;
  }
}

/* ── Base ───────────────────────────────────────────────────── */
body {
  font-family: system-ui, sans-serif;
  max-width: 720px;
  margin: 2rem auto;
  padding: 0 1rem;
  background-color: var(--page-bg);
  color: var(--page-text);
}

a { color: var(--page-link); }

/* ── Shared layout helpers ──────────────────────────────────── */
.back  { margin-bottom: 1.5rem; }

label  { display: block; margin-bottom: 0.25rem; }

.note  { margin-top: 1rem; font-size: 0.875rem; color: var(--page-text-muted); }

/* ── Inline code & preformatted blocks ──────────────────────── */
code {
  background: var(--page-surface);
  padding: 0.1em 0.3em;
  border-radius: 3px;
  font-size: 0.875em;
}

pre {
  background: var(--page-surface);
  color: var(--page-text);
  border-radius: 4px;
  padding: 1rem;
  white-space: pre-wrap;
  overflow-wrap: anywhere;
}

/* ── Navigation list (index.html) ───────────────────────────── */
nav ul { list-style: none; padding: 0; }
nav li { margin: 0.5rem 0; }

/* ── Form layout (form.html) ────────────────────────────────── */
fieldset {
  border: 1px solid var(--page-border);
  border-radius: 4px;
  margin-bottom: 1.5rem;
  padding: 1rem;
}
legend { font-weight: bold; padding: 0 0.25rem; }
.field  { margin-bottom: 1.25rem; }
.actions { display: flex; gap: 0.75rem; margin-top: 0.5rem; }

/* ── Table (a11y-demo.html) ─────────────────────────────────── */
table { width: 100%; border-collapse: collapse; margin-top: 0.75rem; font-size: 0.875rem; }
th, td { text-align: left; padding: 0.4rem 0.6rem; border: 1px solid var(--page-border); }
th { background: var(--page-surface); color: var(--page-text); }

/* ── Keyboard key badge (a11y-demo.html) ────────────────────── */
kbd {
  display: inline-block;
  padding: 0.1em 0.4em;
  background: var(--page-surface);
  border: 1px solid var(--page-border);
  border-radius: 3px;
  font-family: monospace;
  font-size: 0.8em;
  color: var(--page-text);
}

/* ── Collapsible code block ─────────────────────────────────── */
.code-block {
  margin-top: 2rem;
}

.code-block summary {
  cursor: pointer;
  font-weight: 600;
  user-select: none;
  padding: 0.25rem 0;
}

.code-block summary:hover {
  text-decoration: underline;
}

.code-block pre {
  margin: 0.75rem 0 0;
  padding: 1rem;
  overflow-x: auto;
  font-size: 0.8125rem;
  line-height: 1.6;
}

.code-block code {
  background: none;
  padding: 0;
  border-radius: 0;
  font-size: inherit;
}
