/* Raadslicht project page */

:root {
  --ink: #1A1A1A;
  --gray: #5F6170;
  --rule: #DCDAD3;
  --bg: #FBFAF7;
  --accent: #FF602F;
}

/* Base */

*, *::before, *::after { box-sizing: border-box; }

body {
  margin: 0;
  background: var(--bg);
  color: var(--ink);
  font-family: 'Source Serif 4', Georgia, serif;
  font-optical-sizing: auto;
  font-size: 19px;
  line-height: 1.65;
}

.page { max-width: 680px; margin: 0 auto; padding: 56px 24px 96px; }

a {
  color: inherit;
  text-decoration: underline;
  text-decoration-color: var(--accent);
  text-decoration-thickness: 1px;
  text-underline-offset: 3px;
}

p, ul, ol { margin: 0 0 14px; }
ul, ol { padding-left: 1.25em; }
li { margin: 0 0 6px; }

/* Headings */

h1 { font-size: 40px; line-height: 1.15; font-weight: 600; letter-spacing: -.01em; margin: 0 0 12px; }
h2 { font-size: 24px; line-height: 1.3; font-weight: 600; margin: 48px 0 12px; }
h3 { font-size: 19px; font-weight: 600; font-style: italic; margin: 28px 0 6px; }

/* Masthead and title */

.mast { display: flex; align-items: center; gap: 10px; margin-bottom: 56px; }
.mast span { font-family: 'Big Shoulders Display', sans-serif; font-weight: 800; font-size: 20px; letter-spacing: .04em; }

.subtitle { font-size: 21px; font-style: italic; color: var(--gray); margin: 0 0 20px; }
sup.fka { font-size: .5em; font-weight: 400; color: var(--gray); margin-left: 1px; }
.fka-note { font-size: 14px; color: var(--gray); margin: 0 0 8px; }

.abstract { margin: 40px 0 0; }
.abstract h2 { margin-top: 0; }

/* Figures */

figure { margin: 28px 0; }
figcaption { font-size: 15px; line-height: 1.5; color: var(--gray); margin-top: 8px; }


img.screenshot { display: block; width: 100%; height: auto; border: 1px solid var(--rule); }

/* Tables */

table { width: 100%; border-collapse: collapse; font-size: 16px; margin: 8px 0; }
thead th { text-align: left; font-weight: 600; padding: 6px 10px 6px 0; border-top: 1.5px solid var(--ink); border-bottom: 1px solid var(--ink); }
tbody td { padding: 5px 10px 5px 0; vertical-align: top; }
tbody tr:last-child td { border-bottom: 1.5px solid var(--ink); }
table.pair td { width: 50%; line-height: 1.5; padding-top: 8px; padding-bottom: 8px; }
.num { text-align: right; font-variant-numeric: tabular-nums; }

/* Notes for the authors */

.todo { color: var(--accent); font-size: 16px; font-style: italic; line-height: 1.55; }
.todo::before { content: "[TODO] "; font-weight: 700; }
.verify { font-size: 13px; color: var(--accent); }

/* References */

ol.refs { font-size: 15px; line-height: 1.5; padding-left: 1.4em; color: #333; }
ol.refs li { margin-bottom: 8px; }
