:root {
  --navy: #e6edf3;
  --navy-dark: #c9d7e3;
  --navy-deep: #010409;
  --accent: #3fb950;
  --accent-dark: #2ea043;
  --accent-soft: #10261a;
  --text: #d7dde4;
  --muted: #9aaab8;
  --faint: #6e7d8c;
  --bg: #0d1117;
  --card: #161b22;
  --line: #2b3139;
  --good: #3fb950;
  --good-bg: #0f2b20;
  --bad: #f85149;
  --bad-bg: #2b1212;
  --warn-bg: #2b2210;
  --warn: #d29922;
}

body {
  background:
    radial-gradient(circle at 50% 0%, rgba(63, 185, 80, 0.06), transparent 55%),
    var(--bg);
}

a {
  color: #58a6ff;
}

.nav {
  background: #010409;
  border-bottom: 1px solid #2b3139;
  box-shadow: none;
}

.nav-inner {
  border-bottom: 3px solid var(--accent);
}

.nav .logo,
.nav .logo:hover {
  color: #f0f6fc;
  font-family: 'SFMono-Regular', Consolas, 'Liberation Mono', Menlo, monospace;
  letter-spacing: 0.04em;
}

.nav ul li a {
  color: #9fb1c9;
  font-family: 'SFMono-Regular', Consolas, 'Liberation Mono', Menlo, monospace;
  font-size: 0.82rem;
}

.nav ul li a:hover,
.nav ul li a.current {
  background: #161b22;
  color: #f0f6fc;
  border-bottom: 2px solid var(--accent);
  border-radius: 0;
}

.page-head {
  background: linear-gradient(180deg, #161b22, #0d1117);
  border-bottom: 1px solid #2b3139;
}

.page-head h1 {
  font-family: 'SFMono-Regular', Consolas, 'Liberation Mono', Menlo, monospace;
  color: #f0f6fc;
}

.page-head h1::after {
  content: "_";
  color: var(--accent);
}

.page-head p {
  color: #9aaab8;
}

.page-head .crumbs {
  color: #6e7d8c;
}

.page-head .crumbs a {
  color: #9fb1c9;
}

.section h2,
.section h3,
details.faq-item summary {
  color: #e6edf3;
  font-family: 'SFMono-Regular', Consolas, 'Liberation Mono', Menlo, monospace;
}

.section h2::before {
  content: "## ";
  color: var(--accent);
}

.section h4 {
  color: #58a6ff;
}

.hero {
  background: #161b22;
  border-color: #2b3139;
  box-shadow: inset 0 0 0 1px #21262d, 0 10px 30px rgba(0, 0, 0, 0.4);
}

.card,
.course-card,
.timeline,
.accordion details,
.table-wrap,
.topic-grid div,
.author-grid div,
.term-grid div {
  background: #161b22;
  border-color: #2b3139;
  box-shadow: 0 6px 18px rgba(0, 0, 0, 0.35);
}

.card h3,
.course-card h3 {
  color: #e6edf3;
}

.card p,
.course-card p,
.section p,
.section .lede {
  color: #9aaab8;
}

.course-card .level {
  color: #3fb950;
  background: #10261a;
}

.topic-grid div,
.author-grid div,
.term-grid div {
  color: #dbe4ee;
}

.timeline {
  border-left: 4px solid var(--accent);
}

.period h3 {
  color: #58a6ff;
}

.period ul li {
  color: #9aaab8;
}

.period ul li::before {
  background: var(--accent);
}

thead th {
  background: #21262d;
  color: #f0f6fc;
}

tbody tr:nth-child(even) {
  background: #12161c;
}

tbody tr:hover {
  background: #10261a;
}

.callout.note {
  background: #11233b;
  border-left-color: #58a6ff;
}

.callout.note b {
  color: #79c0ff;
}

.callout.warn {
  background: #2b2210;
  border-left-color: #d29922;
}

.callout.warn b {
  color: #e3b341;
}

.callout.good {
  background: #0f2b20;
  border-left-color: #3fb950;
}

.callout.good b {
  color: #56d364;
}

.callout p {
  color: #d7dde4;
}

.callout b {
  color: #e6edf3;
}

.actionbox {
  background: #1c2128;
  border: 1px solid #2b3139;
}

.hero-visual,
.flashcard-back {
  background: linear-gradient(135deg, #1c2128 0%, #161b22 100%);
  border: 1px solid #2b3139;
}

.flashcard-front {
  background: #161b22;
  border-color: #2b3139;
}

.pic {
  background: #161b22;
  border-color: #2b3139;
}

details.faq-item {
  background: #161b22;
  border-color: #2b3139;
}

.stat-num {
  color: #3fb950;
}

footer {
  background: #010409;
  border-top: 1px solid #2b3139;
  color: #7d8ca1;
}

footer h4 {
  color: #f0f6fc;
}

footer p {
  color: #7d8ca1;
}

footer ul li a {
  color: #9fb1c9;
}

footer ul li a:hover {
  color: #58a6ff;
}

.cookiebar,
.toast {
  background: #010409;
  border: 1px solid #2b3139;
}

audio,
table,
pre {
  color-scheme: dark;
}