

/* =========================
   Orcus / Rules Doc CSS
   Semantic HTML, Word-ish feel
   ========================= */

html{
  color: #1a1a1a;
  background-color: #fdfdfd;
  color-scheme: light;
}


/* Small screens */
@media (max-width: 600px){
  body{
    padding: 12px;
    font-size: 0.95em; /* gentle shrink */
  }
  /* keep headings proportional without hard overriding Word pt sizes */
  h1{ font-size: clamp(1.6rem, 6vw, 2rem); }
}


:root{
  --orcus-body-font: "Gentium Book Plus", serif;
  --orcus-heading-font: "League Spartan", sans-serif;
  --orcus-text: #262626;

  /* Heading colors from Word */
  --orcus-h1: #17365D;
  --orcus-h2: #1F497D;
  --orcus-h3: #4F81BD;
  --orcus-h6: #4F81BD;

  --orcus-rule: rgba(0,0,0,.12);
  --orcus-code-bg: #f6f7f9;
  --orcus-muted: #555;

}


body{
  margin: 0 auto;
  max-width: 36em;
  padding: 50px;

  background: #ffffff;
  color: var(--orcus-text);
  font-family: var(--orcus-body-font);
  font-size: 10pt;                 /* Word Normal = 10pt */
  line-height: 1.5;

  hyphens: auto;
  overflow-wrap: break-word;
  text-rendering: optimizeLegibility;
  font-kerning: normal;
}


h1, h2, h3, h5, h6{
  margin-top: 1.4em; /* close to Pandoc/Word heading rhythm */
  line-height: 1.15;
}

/* Word style: Heading 1 */
h1{
  font-family: var(--orcus-heading-font);
  font-size: 24pt;
  color: var(--orcus-h1);
  font-weight: 800; /* or 900 if you have it */
  margin-bottom: 6pt;
}

/* Word style: Heading 2 */
h2{
  font-family: var(--orcus-heading-font);
  font-size: 18pt;
  color: var(--orcus-h2);
  font-weight: 800; /* or 900 if you have it */
  margin-top: 6pt;
  margin-bottom: 0pt;
}

/* Word style: Heading 3 */
h3{
  font-family: var(--orcus-heading-font);
  font-size: 12pt;
  color: var(--orcus-h3);
  font-weight: 600; 
  margin-bottom: 0pt;
}

h4.Heading-4---At-Will,
h4.Heading-4---Encounter,
h4.Heading-4---Daily,
h4.Heading-4---Monster{
  /* Font (base) */
  font-family: Calibri, "Segoe UI", Arial, sans-serif;
  font-size: 10pt;
  font-weight: bold;
  color: #ffffff;

  /* Word spacing */
  margin-top: 10pt;
  margin-bottom: 0pt;
  margin-right: 60pt;

  /* Word paragraph indents */
  padding-left: 0.2cm;
  padding-right: 0.2cm;

  /* Border spacing from text */
  padding-top: 2pt;
  padding-bottom: 2pt;

  /* Borders */
  border-top: 0.5pt solid #000000;
  border-left: 0.5pt solid #000000;
  border-right: 0.5pt solid #000000;
  border-bottom: none;

  /* Word pagination behavior */
  break-after: avoid;     /* Keep with next */
  break-inside: avoid;    /* Keep lines together */
}


/* Word style: Heading 5 */
h5{
  font-family: "League Spartan", sans-serif;
  font-size: 10pt;
  color: var(--orcus-text);
  margin-top: 10pt;
  margin-bottom: 0pt;
  font-weight: 400;
}

/* Word style: Heading 6 */
h6{
  font-family: var(--orcus-body-font);
  font-size: 12pt;
  color: var(--orcus-h6);
  margin-top: 10pt;
  margin-bottom: 0pt;
}

p{margin-top: 0;}

/* ---- Links ---- */
a{ color: #1f5aa6; text-decoration: none; }
a:hover{ text-decoration: underline; }

/* ---- Paragraphs & lists ---- */
ul, ol{ margin: .65rem 0 .95rem 1.25rem;
padding-left: 0pt; }
li{ margin: .2rem 0; }

/* Word-style block quote */
blockquote{
  /* Font */
  font-family: Calibri, "Segoe UI", Arial, sans-serif;
  font-size: 8pt;
  font-weight: normal;
  color: var(--orcus-text);

  /* Word paragraph spacing */
  margin-top: 0pt;          /* Spacing before: 0 */
  margin-bottom: 6pt;       /* Spacing after: 6pt */
  margin-left: 0pt;
  margin-right: 60pt;

  /* Word paragraph indents */
  padding-left: 0.2cm;
  padding-right: 0.2cm;

  /* Vertical padding to keep text off borders */
  padding-top: 2pt;
  padding-bottom: 2pt;

  /* Borders: single, solid, 0.5pt, all sides */
  border: 0.5pt solid #000000;

  /* Word pagination behavior */
  break-inside: avoid;      /* Keep lines together */

  background: transparent;
}

blockquote p {margin-top: 0pt;
margin-bottom: 0pt;
}

/* ---- Inline code / code blocks ---- */
code{
  font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, "Liberation Mono", monospace;
  font-size: .95em;
  background: var(--orcus-code-bg);
  padding: .12em .35em;
  border-radius: .35em;
}

pre{
  background: var(--orcus-code-bg);
  padding: 1rem;
  border-radius: .8rem;
  overflow: auto;
  border: 1px solid var(--orcus-rule);
}

pre code{
  background: none;
  padding: 0;
}

table{
  margin: 0.9em 0 1.1em;
}


td{
  font-family: "League Spartan", sans-serif;
  font-size: 8pt;
  font-weight: normal;
  vertical-align: top;

  /* Word paragraph spacing ≈ margins */
  padding-top: 1.8pt;
  padding-bottom: 1.8pt;
  padding-left: 0.6em;
  padding-right: 0.6em;

  border: none;
}


th{
  font-family: "League Spartan", sans-serif;
  font-size: 8pt;
  font-weight: normal;
  text-align: left;
  vertical-align: top;

  padding-top: 1.8pt;
  padding-bottom: 1.8pt;
  padding-left: 0.6em;
  padding-right: 0.6em;

  border: none;
  border-bottom: 0.5pt solid #000000;
}



/* Helps stat blocks: keep first column compact-ish */
td:first-child, th:first-child{
  white-space: nowrap;
}

/* Let long text wrap gracefully */
td{ word-break: normal; overflow-wrap: anywhere; }

/* ---- Images ---- */
img{
  max-width: 100%;
  height: auto;
}

/* ---- Footnotes (Pandoc HTML) ---- */
.footnotes{
  border-top: 1px solid var(--orcus-rule);
  margin-top: 2rem;
  padding-top: 1rem;
  color: var(--orcus-muted);
  font-size: .95rem;
}



h4.Heading-4---At-Will{background-color: #9BBB59;}
h4.Heading-4---Encounter{ background-color: #E36C0A; }
h4.Heading-4---Daily{     background-color: #17365D; }
h4.Heading-4---Monster{   background-color: #7030A0; }

@media print{
  html{ background-color: white; }
  body{
    background-color: transparent;
    color: black;
    font-size: 12pt;
    max-width: none;
    padding: 0;
  }
  p, h2, h3{ orphans: 3; widows: 3; }
  h2, h3, h4{ page-break-after: avoid; }
  a{ color: inherit; text-decoration: none; }
  table, pre, blockquote{ break-inside: avoid; }
}

/* ---- Table of Contents ---- */
p[class^="toc-level-"]{
  margin-bottom: 0;
}
p.toc-level-0{ margin-left: 0; }
p.toc-level-1{ margin-left: 1.5em; }
p.toc-level-2{ margin-left: 3em; }
p.toc-level-3{ margin-left: 4.5em; }
p.toc-level-4{ margin-left: 6em; }
p.toc-level-5{ margin-left: 7.5em; }

