/* ════════════════════════════════════════════════════════════════════════════
   screen.css — the only stylesheet. Hand-written, no build step.
   ----------------------------------------------------------------------------
   THIS IS DELIBERATELY ALMOST EMPTY. No stack has been chosen yet — see
   abstract/15. What is here is only what GHOST ITSELF requires of a theme, so
   that `yarn test` (gscan) passes and the theme is installable.

   Do not grow this file into a design system. When a stack is chosen this gets
   replaced wholesale, so anything clever written here now is work thrown away.
   See abstract/03 for why the theme must not own how things look.
   ════════════════════════════════════════════════════════════════════════ */

/* ── What Ghost requires ──────────────────────────────────────────────────
   Ghost's editor (Koenig) lets a writer break OUT of the reading measure on a
   per-card basis, and gscan FAILS the theme if these two classes are not
   styled. That makes them the only rules a blank theme cannot do without. */
.gh-content > *               { max-width: 40rem; margin-inline: auto; }
.gh-content > .kg-width-wide  { max-width: 68rem; }
.gh-content > .kg-width-full  { max-width: none; }

/* Ghost Admin → Design lets an editor choose fonts. Honouring these variables
   is the "custom fonts" support gscan warns about when it is absent. */
body                  { font-family: var(--gh-font-body, system-ui, sans-serif); }
h1, h2, h3, h4, h5, h6 { font-family: var(--gh-font-heading, inherit); }

/* ── Enough that an unstyled theme is readable rather than unusable ──────── */
body { margin: 0; line-height: 1.6; }
img  { max-width: 100%; height: auto; }

/* The skip link is the first focusable thing in the document and invisible
   until focused — keyboard users get past the nav, nobody else sees it. */
.skip-link { position: absolute; left: -9999px; }
.skip-link:focus { left: 1rem; top: 1rem; }
