@import url(fonts/muller/muller.css);
@import url(fonts/junicode/junicode.css);
@import url(fonts/pragmatapro/pragmatapro.css);

@import url(counters.css);

:root {
  --root-col: hsl(30deg, 5%, 26%);
  --fg-col:   hsl(336deg, 17%, 11%);
  --bg-col:   hsl(40deg, 91%, 98%);
  --link-col: hsl(355deg, 52%, 48%);

  --ipa-font: Junicode;
  --body-font: Muller;

  --junicode-features:
    "ccmp", "calt", "liga", "locl", "mark", "mkmk",
    "ss01", "cv91" 2;
  /* ccmp: glyph composition (required)
   * calt: contextual alternates (required)
   * liga: standard ligatures (required)
   * locl: localised forms
   * mark/mkmk: mark (diacritic) positioning (required)
   * ss01: modern icelandic Þþð
   * cv91: alternate Ŋ (the one that's like a big ŋ with no descender)
   */
}

:root {
  background: var(--root-col);

  /* font-family: var(--body-font); */
  font-family: var(--ipa-font);
  font-feature-settings: var(--junicode-features);
  font-weight: 500;
  font-stretch: semi-expanded;
  font-size: 16pt;

  line-height: 150%;

  height: 100vh;
}

body {
  background: url(paper.png), var(--bg-col);
  background-blend-mode: multiply;
  color: var(--fg-col);
  box-shadow: 0 0 5em var(--fg-col);

  max-width: 50em;
  min-height: 100%;
  margin: 0 auto;
  padding: 1em 2em 3em;

  box-sizing: border-box;
}

header {
  text-align: center;
}

header h1 {
  font-size: 250%;
  margin-top: 0.4em;
}

h1, h2, h3, h4, h5, h6 {
  font-stretch: semi-condensed;
  font-weight: 600;
  margin: 1em 0 0.25em;
}

h1 { font-size: 200%; }
h2 { font-size: 180%; }
h3 { font-size: 160%; }
h4 { font-size: 140%; }
h5 { font-size: 120%; }
h6 { font-size: 100%; }

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

b, strong {
  font-weight: 700;
}

ul li {
  list-style: '— ';
}

table {
  margin: auto;
  border-spacing: 0;
  border-top: 2px solid var(--root-col);
  border-bottom: 2px solid var(--root-col);
}

th {
  font-weight: 700;
}

thead th {
  border-bottom: 1px solid var(--root-col);
}

td, th {
  padding: 0 0.5em;
  vertical-align: text-bottom;
}

code {
  font-family: PragmataPro;
  font-size:   80%;
  font-weight: 400;
}

pre {
  width: min-content;
  margin: auto;
}


.ipa, .lang, .ebnf-t {
  font-family: var(--ipa-font);

  font-feature-settings: var(--junicode-features);

  text-underline-offset: 0.125em;
}

.ipa {
  font-feature-settings: "ss03";
  /* ss03: latin-style greek letters */
  font-weight: 500;
}

.lang, .ebnf-t {
  font-weight: 700;
}

.abbr {
  font-size: 70%;
  font-weight: 500;
}

.scr {
  height: 1.5em;
  vertical-align: -40%;
  padding-right: 0.5ex;
}

.gloss .scr {
  height: 2em;
}

.example .scr {
  width: 80%; height: auto;
  display: block; margin: auto;
}

.splash .scr {
  height: 10em;
  display: block; margin: auto;
}

.example {
  margin: auto;
}

.example .text {
  display: block;
  text-align: center;
  width: 80%;
  margin: 0.75em auto 0;
}

blockquote {
  font-style: italic;
}


.letter-list {
  margin: 1.25em auto 0;
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  justify-content: center;
  width: 80%;
  row-gap: 0.5em;
  column-gap: 1.5em;
}

.letter-list + .letter-list {
  margin-top: 2.5em;
}

.letter-list .lang {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
}

.letter-list .scr {
  width: auto;
  height: 3em;
  margin-left: 0.5em;
}

.letter-list .text {
  font-size: 125%;
}

main nav {
  text-align: center;
  font-size: 125%;
}


#toc > h2 {
  font-size: 120%;
  font-weight: 300;
}
#toc > ul {
  columns: 2;
  margin-left:  2em;
  margin-right: 2em;
}

figure:not(.left) {
  text-align: center;
}
figure:not(.left) table {
  display: inline-table;
}
figure table {
  margin: 1em 0.5em;
}
.gloss {
  border: none;
  text-align: left;
}

figure ul {
  text-align: left;
  margin-left: 5em;
  margin-right: 5em;
  columns: 2;
}
figure li {
  break-inside: avoid;
}

dt { font-weight: 500; float: left; clear: left; }
dd { margin-left: 4em; }

dt {
  break-after: avoid;
}

dd {
  break-before: avoid;
}

u u {
  text-decoration: double underline;
}

:is(.twocol, .threecol):not(:is(ul, ol) *) {
  margin-top: 1em;
}
.twocol {
  columns: 2;
}
.threecol {
  columns: 3;
}
.twocol :first-child, .threecol :first-child {
  margin-top: 0;
}

footer {
  border-top: 1px solid var(--root-col);
  width: 80%;
  margin: 2em auto 1em;
  padding-top: 0.5em;

  font-size: 80%;
  font-weight: 500;
  text-align: center;
}

.ebnf {
  border: none;
}

.ebnf td {
  padding: 0 0.15em;
}

.ebnf-nt {
  font-weight: 500;
  color: hsl(155deg, 80%, 20%);
  white-space: nowrap;
}

.ebnf-punc {
  color: hsl(25deg, 40%, 30%);
}

.ebnf-sub, .ebnf-brack {
  color: hsl(210deg, 80%, 35%);
  font-weight: 500;
}

.ebnf-brack {
  padding: 0 0.05em;
}

.ebnf-s {
  font-style: italic;
  color: hsl(330deg, 80%, 30%);
}

.ebnf-f {
  font-weight: bold;
  color: hsl(280deg, 80%, 30%);
}

.ebnf-com {
  font-style: italic;
  color: hsl(350deg, 20%, 40%);
  margin-left: 1em;
}

blockquote {
  max-width: 70%;
  border-left: 1px solid black;
  padding-left: 1em;
  margin: auto;
}