.nazgul-tube-map { max-width: none; }
.nazgul-tube-map .byline { margin-bottom: 1rem; }
.nazgul-tube-map .map-introduction { margin-top: 1.5rem; }
.nazgul-tube-map .map-method { font-size: 1rem; }
.nazgul-tube-map .map-method summary { cursor: pointer; color: #55415f; }
.nazgul-tube-map .map-method[open] summary { margin-bottom: .75rem; }
.nazgul-tube-map .rider-legend { display: flex; flex-wrap: wrap; gap: .5rem 1rem; margin-top: 1.5rem; }
.nazgul-tube-map .rider-legend button {
  display: inline-flex;
  align-items: center;
  gap: .45rem;
  min-height: 44px;
  border: 1px solid transparent;
  border-radius: .25rem;
  padding: .25rem .4rem;
  background: transparent;
  color: #252332;
  font: 1rem 'IBM Plex Sans Condensed', sans-serif;
  cursor: pointer;
}
.nazgul-tube-map .rider-legend button:disabled { cursor: default; opacity: 1; }
.nazgul-tube-map .rider-legend button[aria-pressed="true"] { background: #ece7f0; border-color: #665472; }
.nazgul-tube-map .rider-swatch {
  display: inline-grid;
  place-items: center;
  width: 1.75rem;
  height: 1.75rem;
  border-radius: 50%;
  background: var(--rider-color);
  color: white;
  font-weight: bold;
}
.nazgul-tube-map .highlight-help,
.nazgul-tube-map .map-instructions { font-size: .95rem; color: #59525f; }
.nazgul-tube-map .highlight-help { margin: .65rem 0 1.25rem; }
.nazgul-tube-map .highlight-help[hidden] { display: none; }
.nazgul-tube-map .evidence-key { display: flex; flex-wrap: wrap; gap: .5rem 1.5rem; font-size: 1rem; margin: 1rem 0 .75rem; }
.nazgul-tube-map .evidence-key > span { display: inline-flex; align-items: center; gap: .5rem; }
.nazgul-tube-map .key-line { width: 2.5rem; border-top: 4px solid #5e5267; }
.nazgul-tube-map .key-line.dashed { border-top-style: dashed; }
.nazgul-tube-map .map-downloads { display: flex; flex-wrap: wrap; gap: .5rem 1.5rem; margin: 1.5rem 0; font-size: 1rem; }
.nazgul-tube-map .tube-map-scroll { max-width: 100%; overflow-x: auto; background: white; border-block: 1px solid #d7d1dc; }
.nazgul-tube-map .tube-map-svg { display: block; width: 100%; min-width: 900px; height: auto; }
.nazgul-tube-map :focus-visible { outline: 3px solid #665472; outline-offset: 3px; }
.nazgul-tube-map .map-decisions { margin-top: 3rem; }
.nazgul-tube-map .map-decisions > p { font-size: 1rem; }
.nazgul-tube-map .step-decision { border-top: 1px solid #d7d1dc; padding: 1rem 0; font-size: 1rem; }
.nazgul-tube-map .step-decision summary { cursor: pointer; font-family: 'IBM Plex Sans Condensed', sans-serif; font-size: 1.15rem; color: #55415f; }
.nazgul-tube-map .step-decision[open] summary { margin-bottom: 1rem; }
.nazgul-tube-map .step-decision li { margin-bottom: .5rem; }
.nazgul-tube-map .review-tag { display: inline-block; margin-left: .5rem; padding: .15rem .45rem; background: #f4e5c8; color: #734608; border-radius: .2rem; font-size: .85rem; }
.nazgul-tube-map .review-note { padding: .75rem 1rem; background: #faf4e9; border-left: 3px solid #95600e; }
.nazgul-tube-map .source-cells { color: #59525f; font-size: .9rem; }
@media print {
  .nazgul-tube-map .rider-legend button { color: #252332; }
  .nazgul-tube-map .highlight-help { display: none; }
  .nazgul-tube-map .tube-map-scroll { overflow: visible; }
  .nazgul-tube-map .tube-map-svg { min-width: 0; }
  .nazgul-tube-map .muted { opacity: 1; }
}
