/* SPDX-FileCopyrightText: Copyright (c) 2024-2026 Raphaël Van Dyck */
/* SPDX-License-Identifier: BSD-3-Clause */

html {
  font-family: Arial, sans-serif;
  font-size: 14pt;
  line-height: 1.4;
}

@media print {
  html {
    font-size: 12pt;
  }
}

div.preamble {
  display: none;
}

h1 {
  counter-reset: h2counter h3counter h4counter h5counter h6counter;
}

h2 {
  counter-increment: h2counter;
  counter-set: h3counter h4counter h5counter h6counter;
}

h2:before {
  content: counter(h2counter) ". ";
}

h3 {
  counter-increment: h3counter;
  counter-set: h4counter h5counter h6counter;
}

h3:before {
  content: counter(h2counter) "." counter(h3counter) ". ";
}

h4 {
  counter-increment: h4counter;
  counter-set: h5counter h6counter;
}

h4:before {
  content: counter(h2counter) "." counter(h3counter) "." counter(h4counter) ". ";
}

h5 {
  counter-increment: h5counter;
  counter-set: h6counter;
}

h5:before {
  content: counter(h2counter) "." counter(h3counter) "." counter(h4counter) "." counter(h5counter) ". ";
}

h6 {
  counter-increment: h6counter;
}

h6:before {
  content: counter(h2counter) "." counter(h3counter) "." counter(h4counter) "." counter(h5counter) "." counter(h6counter) ". ";
}

.bg {
  background-color: lightgray;
}

.strike {
  text-decoration: line-through;
}

pre.repl {
  margin-left: 2em;
  border-radius: 10px;
  padding: 10px;
  width: 800px;
  background-color: lightgray;
}

div.trace ul {
  border-left: 1px solid;
}

div.trace > ul {
  border-left: none;
}

div.trace li {
  list-style-type: none;
}

span.charseq {
  font-family: monospace;
  line-height: 2em;
}

span.char {
  margin: 1px;
  border: 1px solid;
  padding: 1px;
}

table.plain {
  border-collapse: collapse;
  border: 1px solid;
}

table.plain th, table.plain td {
  border: 1px solid;
  padding: 5px;
  text-align: left;
}

table.ks {
  border-collapse: collapse;
  border: 1px solid;
}

table.ks th, table.ks td {
  border: 1px solid;
  padding: 5px;
  text-align: left;
}

table.ebnf {
  margin-left: 1em;
}

td.lhs, td.def, td.rhs {
  padding: 5px;
}

td.lhs {
  text-align: right;
}

td.def {
  text-align: center;
}

td.rhs {
  text-align: left;
}

pre.blockcode, div.indentation {
  font-family: monospace;
}

div.blockcomment, span.eolcomment {
  font-family: Arial, sans-serif;
}

span.eolcomment::before {
  content: '\2014  '; /* em dash followed by a single space */
}
