:root {
  color-scheme: light;
  --map-canvas: #FFFFFF;
  --map-raised: #F4F4F2;
  --map-rule: #D8D8D3;
  --map-main: #242321;
  --map-body: #353330;
  --map-muted: #625C56;
  --map-accent: #C43B26;
  --map-accent-deep: #A52E1C;
}

body {
  background: var(--map-canvas);
  color: var(--map-body);
}

h1, h2, h3, h4, h5, h6, strong {
  color: var(--map-main);
}

a {
  color: var(--map-accent);
  text-decoration-line: underline;
}

a:hover {
  color: var(--map-accent-deep);
  text-decoration-thickness: 2px;
}

a:focus-visible, summary:focus-visible {
  outline: 3px solid var(--map-main);
  outline-offset: 5px;
}

::selection {
  color: white;
  background: var(--map-accent);
}

.map-skip, .lost-skip {
  background: var(--map-accent);
  color: white;
}

.map-skip:hover, .lost-skip:hover {
  color: white;
  background: var(--map-accent-deep);
}

.map-utility, .lost-utility {
  border-bottom: 2px solid var(--map-main);
}

.map-wordmark, .lost-wordmark {
  color: var(--map-main);
  text-decoration-line: none;
}

.map-wordmark span, .lost-wordmark span,
.map-kicker, .map-rail-label, .map-rail-note,
.map-study-kind, .map-endnotes-label, .lost-kicker {
  color: var(--map-muted);
}

.map-editorial, .map-chapter-tag {
  color: var(--map-accent);
}

.map-menu summary {
  color: var(--map-main);
  border: 2px solid var(--map-main);
  border-radius: 0;
}

.map-menu summary:hover {
  background: var(--map-raised);
}

.map-menu nav {
  background: var(--map-canvas);
  border: 2px solid var(--map-main);
}

.map-menu a:hover, .map-menu a:focus-visible {
  background: var(--map-raised);
}

.map-menu[open] .map-menu-plus {
  transform: rotate(45deg);
}

.map-action, .lost-action {
  color: white;
  background: var(--map-accent);
  border: 2px solid var(--map-accent);
  border-radius: 0;
  text-decoration-line: none;
}

.map-action:hover, .lost-action:hover {
  color: white;
  background: var(--map-accent-deep);
  border-color: var(--map-accent-deep);
  text-decoration: underline;
}

.map-orientation {
  background: var(--map-canvas);
  border: 2px solid var(--map-rule);
  border-radius: 0;
}

.map-geometry {
  background: var(--map-canvas);
  border: 2px solid var(--map-rule);
}

.map-geometry-orbit {
  background: var(--map-accent);
  border-radius: 50%;
}

.map-geometry-plane {
  background: var(--map-canvas);
  border-radius: 50%;
}

.map-geometry-node {
  background: var(--map-accent);
}

.map-orientation li::marker, .map-bullets li::marker {
  color: var(--map-accent);
}

.map-rail {
  border-top: 4px solid var(--map-accent);
}

.map-rail a {
  color: var(--map-main);
  border-bottom: 1px solid var(--map-rule);
}

.map-rail a:hover, .map-rail a:focus-visible {
  color: var(--map-accent);
}

.map-rail-dot {
  background: var(--map-accent);
  border-radius: 50%;
}

.map-chapter {
  border-top: 2px solid var(--map-rule);
}

.map-chapter:target {
  border-top-color: var(--map-accent);
}

.map-chapter-tag::before {
  background: var(--map-accent);
}

.map-study-row, .map-route-list li, .map-cost-list li,
.map-question-list li, .map-endnotes {
  border-top: 1px solid var(--map-rule);
}

.map-study-symbol {
  border: 2px solid var(--map-accent);
}

.map-study-symbol-round {
  border-radius: 50%;
}

.map-study-symbol-diamond {
  transform: rotate(45deg);
}

.map-inset {
  background: var(--map-raised);
  border: 2px solid var(--map-rule);
  border-radius: 0;
}

.map-urgent {
  border: 3px solid var(--map-accent);
  background: var(--map-canvas);
}

.map-question-list li::before,
.map-endnotes a span:last-child {
  color: var(--map-accent);
}

.map-footer, .lost-footer {
  border-top: 2px solid var(--map-main);
  color: var(--map-muted);
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto; }
}

@media print {
  body, .map-orientation, .map-inset { background: white; color: #242321; }
  h1, h2, h3, h4, h5, h6, strong, a,
  .map-editorial, .map-kicker, .map-chapter-tag, .map-study-kind,
  .map-endnotes-label, .map-endnotes a, .map-endnotes a span:last-child,
  .lost-kicker, .map-wordmark span, .lost-wordmark span { color: #242321; }
  .map-chapter, .map-study-row, .map-route-list li, .map-cost-list li,
  .map-question-list li, .map-endnotes, .map-footer, .lost-footer,
  .map-utility, .lost-utility, .map-inset, .map-orientation { border-color: #777; }
}
