/* Wizards & Lizards — web reading style.
   Jon Mayo. PUBLIC DOMAIN (CC0-1.0)
   Mirrors the print palette (Cinzel display + Crimson Text body, ink on
   parchment). Fonts are embedded by `pandoc --embed-resources`; if a font
   fails to resolve, the serif fallback stack keeps it readable. */

@font-face {
    font-family: "Cinzel";
    src: url("fonts/Cinzel-Bold.ttf") format("truetype");
    font-weight: bold;
}
@font-face {
    font-family: "Cinzel";
    src: url("fonts/Cinzel-Regular.ttf") format("truetype");
    font-weight: normal;
}
@font-face {
    font-family: "Crimson Text";
    src: url("fonts/CrimsonText-Regular.ttf") format("truetype");
    font-weight: normal;
    font-style: normal;
}
@font-face {
    font-family: "Crimson Text";
    src: url("fonts/CrimsonText-Italic.ttf") format("truetype");
    font-weight: normal;
    font-style: italic;
}
@font-face {
    font-family: "Crimson Text";
    src: url("fonts/CrimsonText-Bold.ttf") format("truetype");
    font-weight: bold;
}

:root {
    --ink: #241a12;
    --ink-light: #4a3526;
    --ink-faint: #8b7355;
    --ink-red: #6b1c0a;
    --paper: #faf6ee;
    --aside: #f5efe6;
}

html { font-size: 18px; }

body {
    font-family: "Crimson Text", Georgia, "Times New Roman", serif;
    color: var(--ink);
    background: var(--paper);
    line-height: 1.5;
    max-width: 42rem;
    margin: 0 auto;
    padding: 3rem 1.5rem 6rem;
    text-align: justify;
    hyphens: auto;
}

h1, h2, h3 {
    font-family: "Cinzel", Georgia, serif;
    color: var(--ink);
    line-height: 1.2;
    text-align: left;
}
h1 { font-size: 1.9rem; letter-spacing: 0.03em; margin: 2.2rem 0 0.6rem; }
h2 { font-size: 1.35rem; margin: 2rem 0 0.5rem; border-bottom: 1px solid var(--ink-faint); padding-bottom: 0.2rem; }
h3 { font-size: 1.1rem; color: var(--ink-light); margin: 1.4rem 0 0.4rem; }
h4 { font-style: italic; margin: 1.1rem 0 0.3rem; }

a { color: var(--ink-red); }
a:hover { color: var(--ink); }

/* small-caps game terms from filters/terms.lua */
.term { font-variant: small-caps; letter-spacing: 0.03em; }

/* worked-example boxes from filters/aside.lua */
.aside {
    background: var(--aside);
    border-left: 3px solid var(--ink-faint);
    padding: 0.7rem 1rem;
    margin: 1.2rem 0;
    font-size: 0.92rem;
    color: var(--ink-light);
}

table { border-collapse: collapse; margin: 1.2rem 0; width: 100%; font-size: 0.95rem; }
th, td { border: 1px solid var(--ink-faint); padding: 0.35rem 0.6rem; text-align: left; }
th { background: var(--aside); font-family: "Cinzel", serif; font-weight: bold; }

code { background: var(--aside); padding: 0.1em 0.3em; border-radius: 3px; font-size: 0.85em; }

hr { border: none; border-top: 1px solid var(--ink-faint); margin: 2rem 0; }

#TOC { font-size: 0.95rem; background: var(--aside); border: 1px solid var(--ink-faint);
       padding: 1rem 1.4rem; margin: 1.5rem 0; }
#TOC ul { list-style: none; padding-left: 1rem; }
#TOC > ul { padding-left: 0; }
