/* Lynkeus: style of the static pages. */
:root {
  --ink: #1b1b1b;
  --ink-light: #565c65;
  --line: #a9aeb1;
  --shade: #f0f0f0;
  --link: #005ea2;
  --link-visited: #54278f;
  --focus: #2491ff;
}

* { box-sizing: border-box; }

html { font-size: 100%; }

body {
  margin: 0;
  color: var(--ink);
  background: #ffffff;
  font-family: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
  line-height: 1.5;
}

a { color: var(--link); }
a:visited { color: var(--link-visited); }
a:focus-visible, .table-wrap:focus-visible { outline: 0.25rem solid var(--focus); outline-offset: 0.125rem; }

.skip-link { position: absolute; left: -999rem; top: 0; padding: 0.5rem 1rem; background: #ffffff; }
.skip-link:focus { left: 0; }

.site-header, main, .site-footer { max-width: 80rem; margin: 0 auto; padding: 0 1.5rem; }

.site-header { border-bottom: 1px solid var(--line); max-width: none; }
.site-name { max-width: 77rem; margin: 0 auto; padding: 1rem 0; font-size: 1.25rem; font-weight: 700; letter-spacing: 0.02em; }

main { padding-top: 2rem; padding-bottom: 3rem; }

h1 { margin: 0 0 1rem; font-size: 2rem; line-height: 1.2; }
h2 { margin: 2.5rem 0 1rem; font-size: 1.375rem; line-height: 1.3; }
main > p { max-width: 68ch; }

.download { margin: 0 0 1.5rem; font-weight: 700; }

.details { display: grid; grid-template-columns: max-content 1fr; gap: 0.25rem 1.5rem; margin: 0 0 1.5rem; max-width: 68ch; }
.details dt { color: var(--ink-light); }
.details dd { margin: 0; }

.table-wrap { overflow-x: auto; }
table { width: 100%; min-width: 56rem; border-collapse: collapse; font-size: 0.9375rem; }
th, td { padding: 0.625rem 0.75rem; border: 1px solid var(--line); text-align: left; vertical-align: top; }
thead th { background: var(--shade); }
tbody th { white-space: nowrap; font-weight: 700; }
td:nth-child(2) { white-space: nowrap; }
tr:target { background: #fff5c2; }

code { font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace; font-size: 0.9em; overflow-wrap: anywhere; }

.site-footer { border-top: 1px solid var(--line); padding-top: 1rem; padding-bottom: 2rem; color: var(--ink-light); font-size: 0.875rem; }
.site-footer p { margin: 0.75rem 0 0; max-width: 68ch; }
.page-details { display: grid; grid-template-columns: max-content 1fr; gap: 0.125rem 1.5rem; margin: 0; }
.page-details dd { margin: 0; color: var(--ink); }
.site-footer a { color: var(--link); }

@media print {
  .skip-link, .download { display: none; }
  table { min-width: 0; font-size: 0.75rem; }
  a { color: inherit; text-decoration: none; }
}
