:root {
  --foreground: #1f2328;
  --background: #fff;
  --muted: #666;
  --success: #5cb85c;
  --warning: #ffc941;
  --danger: #d9534f;
  --accent: LinkText;
}

@media (prefers-color-scheme: dark) {
  :root {
    --foreground: #fff;
    --background: #1a1a1a;
    --muted: #aaa;
    --accent: #88f;
    color-scheme: dark;
  }
  legend { color: #fafafa !important; }
  code { background-color: #2b2b2b !important; }
  .warn { background: #2a1512 !important; }
  header, footer { border-color: #fff; }
}

@media (prefers-color-scheme: light) {
  .fs th { background-color: #e1e1e1; }
}

html {
  font-family: sans-serif;
  color: var(--foreground);
  background-color: var(--background);
}

body {
  margin: 0;
  min-height: 100vh;
  display: flex;
  flex-direction: column;
}

.container {
  width: 100%;
  max-width: 60rem;
  margin: 0 auto;
  padding: 0 1rem;
  box-sizing: border-box;
}

h1, h2, h3 { margin-top: 20px; margin-bottom: 8px; line-height: 1.25; }
p { margin-top: 6px; margin-bottom: 6px; }

a:link, a:visited, a:active { color: var(--accent); }
a:hover { text-decoration: none; }

/* Top bar */
header {
  padding-top: 1rem;
  padding-bottom: 0.75rem;
  border-bottom: 4px solid #000;
}
.site-name { font-size: 1.5rem; font-weight: 700; margin: 0; }
.navbar { list-style: none; margin: 0.5rem 0 0; padding: 0; font-size: 0.875rem; }
.navbar li { display: inline; }
.navbar li:not(:last-of-type)::after { content: " | "; }
.navbar .current { font-weight: 700; }

main { flex: 1; padding-top: 1rem; padding-bottom: 2rem; }

/* Project box */
fieldset {
  margin-bottom: 10px;
  padding: 8px;
  border: 1px solid #ccc;
  border-radius: 3px;
}
legend { padding: 0 5px; color: #444; font-weight: 700; }

.facts { margin: 6px 0; border-collapse: collapse; }
.facts th {
  padding: 1px 12px 1px 0;
  text-align: left;
  font-weight: 400;
  color: var(--muted);
  vertical-align: top;
}
.facts td { padding: 1px 0 10px; }
.note { font-size: 0.875rem; color: var(--muted); }

/* File table */
.fs {
  width: 100%;
  min-width: 40rem;
  table-layout: fixed;
  border-collapse: separate;
  border-spacing: 0;
  border: 0.5px solid var(--foreground);
  border-radius: 2px;
}
.fs td, .fs th {
  padding: 0 6px;
  border: 0.5px solid var(--foreground);
  white-space: nowrap;
  text-align: left;
}
.fs th { font-weight: 400; }
.fs td { overflow: hidden; text-overflow: ellipsis; }

/* Same column widths in every file table so they line up */
.fs th:nth-child(1) { width: 40%; }
.fs th:nth-child(2) { width: 15%; }
.fs th:nth-child(3) { width: 15%; }
.fs th:nth-child(4) { width: 12%; }
.fs th:nth-child(5) { width: 18%; }
.table-wrap { overflow-x: auto; }

.status-soon { color: var(--muted); font-style: italic; }
.status-out { color: var(--success); font-weight: 700; }

code {
  background-color: #f5f5f5;
  padding: 1px 4px;
  border-radius: 2px;
  font-family: monospace;
  font-size: 13px;
}

/* Warning box */
.warn {
  margin-top: 1.5rem;
  padding: 16px 18px;
  border-left: 4px solid var(--danger);
  background: #fdf3f1;
}
.warn p { margin: 0; }
.warn .lede { color: var(--danger); margin-bottom: 6px; font-weight: 700; }
.warn ul { margin: 6px 0 0; padding-left: 18px; }

/* FAQ */
details { padding: 5px 0 5px 10px; }
summary { cursor: pointer; }

footer {
  padding-top: 1rem;
  padding-bottom: 1rem;
  border-top: 4px solid #000;
  font-size: 0.875rem;
  color: var(--muted);
}
