/* Historical base rules; the calm hierarchy overrides follow below. */
:root {
  --paper: #f6f1e7;
  --paper-2: #e9e0cf;
  --white: #fffdf8;
  --ink: #202d29;
  --muted: #5f6963;
  --rule: #c6bdad;
  --green: #1f4b43;
  --green-2: #2f6a5e;
  --red: #b84a35;
  --orange: #d2763f;
  --yellow: #d7a839;
  --blue: #4b6e78;
  --violet: #75648f;
  --shadow: 0 8px 24px rgb(32 45 41 / 16%);
}

html { font-size: 16px; }
.directory-page { max-width: 1120px; margin-inline: auto; padding: 26px clamp(18px, 4vw, 44px) 48px; }
.directory-title { margin-block: 20px 26px; }
.directory-title h1 { font-size: clamp(26px, 4vw, 36px); line-height: 1.35; }
.directory-title p { max-width: 70ch; margin-top: 10px; }
.entry-links { display: flex; flex-wrap: wrap; gap: 10px 24px; padding: 16px 22px; border-bottom: 1px solid var(--rule); background: #fff; }
.entry-links a, .evidence-section a, .directory-page a { color: var(--green); text-underline-offset: 4px; }
.directory-page a.button { color: #fff; }
.entry-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px 24px; }
.entry-grid > a { display: block; padding: 18px 0; border-top: 2px solid var(--rule); text-decoration: none; }
.entry-grid h2 { margin: 0 0 8px; font-size: 22px; }
.entry-grid p { color: var(--ink); margin-bottom: 10px; }
.entry-grid span { font-size: 15px; font-weight: 650; }
.directory-list { list-style: none; padding: 0; margin: 18px 0; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 26px; }
.directory-list li { border-bottom: 1px solid var(--rule); }
.directory-list a { display: block; padding: 12px 0; text-decoration: none; }
.directory-list strong { display: block; font-size: 18px; }
.directory-list span { display: block; color: var(--muted); font-size: 15px; margin-top: 4px; }
.route-directory { list-style: none; padding: 0; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px 22px; }
.route-directory a { display: flex; align-items: center; gap: 10px; padding: 12px 0; border-bottom: 1px solid var(--rule); text-decoration: none; }
.route-directory small { margin-left: auto; color: var(--muted); }
.route-swatch { width: 10px; height: 16px; background: var(--route-color); flex: 0 0 auto; }
.evidence-list { margin: 16px 0; }
.evidence-list > div { display: grid; grid-template-columns: 150px minmax(0, 1fr); gap: 16px; border-top: 1px solid var(--rule); padding: 14px 0; }
.evidence-list dt { font-weight: 700; }
.evidence-list dt small { display: block; font-size: 13px; font-weight: 400; color: var(--muted); margin-top: 5px; }
.evidence-list dd { margin: 0; }
.evidence-list dd p { margin: 0 0 8px; }
.pending-evidence { border-block: 1px solid var(--rule); padding: 10px 0; }
.pending-evidence summary { cursor: pointer; font-weight: 650; }
.pending-evidence p { margin-top: 10px; }
.data-note { font-size: 14px; color: var(--muted); margin-top: 18px; }
.entry-grid a:hover, .directory-list a:hover, .route-directory a:hover { text-decoration: underline; }
:focus-visible { outline: 3px solid #35685d; outline-offset: 3px; }
@media (max-width: 720px) {
  .entry-grid, .directory-list, .route-directory { grid-template-columns: 1fr; }
  .evidence-list > div { grid-template-columns: 1fr; gap: 8px; }
}
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; transition: none !important; animation: none !important; }
}
body {
  background: var(--paper);
  color: var(--ink);
  font-size: 1rem;
  line-height: 1.6;
}

.site-header {
  min-height: 62px;
  border-bottom: 1px solid var(--rule);
  background: rgb(255 253 248 / 96%);
}
.brand { gap: 10px; padding: 7px 18px; border-right-color: var(--rule); }
.brand-mark { width: 36px; height: 36px; background: var(--green); color: #fff8e8; font-size: 19px; }
.brand strong { font-family: var(--sans); font-size: 19px; letter-spacing: .05em; }
.brand strong i { color: var(--red); }
.brand small { margin-top: 1px; color: var(--muted); font-size: 12px; letter-spacing: .04em; }
.site-nav a { min-width: auto; padding: 0 19px; border-left-color: var(--rule); font-size: 14px; font-weight: 650; }
.site-nav a:hover { background: var(--paper-2); color: var(--ink); }
.site-nav a[aria-current="page"] { background: var(--green); color: white; box-shadow: inset 0 -4px 0 var(--yellow); }
.compare-count { background: var(--red); font-size: 12px; }
.page { min-height: calc(100vh - 62px); }

/* Search: begin with the tool, not a hero */
.search-first .atlas-layout {
  display: grid;
  grid-template-columns: minmax(440px, 490px) minmax(0, 1fr);
  height: calc(100vh - 62px);
  min-height: 680px;
  border-bottom: 2px solid var(--green);
}
.search-first .atlas-panel {
  max-height: none;
  height: 100%;
  overflow-y: auto;
  border-right: 1px solid var(--rule);
  background: var(--white);
  scrollbar-color: var(--rule) transparent;
}
.search-first .panel-head {
  padding: 13px 17px 12px;
  border-bottom: 1px solid var(--rule);
  background: var(--paper);
}
.search-first .panel-head > p {
  margin: 0 0 1px;
  color: var(--red);
  font-size: 13px;
  font-weight: 750;
}
.search-first .panel-head h1 {
  margin: 0;
  font-family: var(--sans);
  font-size: 24px;
  line-height: 1.3;
  letter-spacing: -.02em;
}
.search-first .search-box { margin-top: 9px; }
.search-first .search-box input {
  height: 42px;
  border: 1px solid #918979;
  border-radius: 5px;
  background: white;
  font-size: 16px;
}
.search-first .search-box input:focus { border-color: var(--green); outline: 3px solid rgb(47 106 94 / 16%); }

.perspectives { padding: 10px 17px 11px; border-bottom: 1px solid var(--rule); background: #fffcf5; }
.filter-title { margin-bottom: 7px; }
.filter-title h3 { margin: 0; font-size: 15px; }
.filter-title span { color: var(--muted); font-size: 13px; }
.perspective-list { gap: 6px; }
.perspective-chip {
  padding: 6px 10px;
  border-color: #aaa291;
  border-radius: 999px;
  background: white;
  color: var(--ink);
  font-size: 14px;
  font-weight: 650;
}
.perspective-chip:hover { border-color: var(--green); background: #f1eadc; }
.perspective-chip:nth-child(1)[aria-pressed="true"] { border-color: var(--red); background: #fae8e1; color: #873220; }
.perspective-chip:nth-child(2)[aria-pressed="true"] { border-color: #a87914; background: #fff0c6; color: #71500b; }
.perspective-chip:nth-child(3)[aria-pressed="true"] { border-color: var(--green-2); background: #deeee9; color: #174f45; }
.perspective-chip:nth-child(4)[aria-pressed="true"] { border-color: var(--violet); background: #eee9f5; color: #55466e; }
.perspective-chip:nth-child(5)[aria-pressed="true"] { border-color: #9d4d69; background: #f7e6ed; color: #7c3650; }
.perspective-chip:nth-child(6)[aria-pressed="true"] { border-color: var(--orange); background: #f9e7d9; color: #81431c; }
.search-first .theme-context { margin-top: 6px; color: var(--green); font-size: 13px; }

.condition-drawer { border-bottom: 1px solid var(--rule); background: white; }
.condition-drawer summary {
  padding: 9px 17px;
  background: var(--paper-2);
  color: var(--ink);
  font-size: 15px;
}
.condition-drawer summary span { color: var(--red); font-size: 13px; }
.search-first .filters { padding: 9px 17px 10px; border: 0; }
.search-first .filter-mode { margin: 0 0 7px; }
.filter-mode label, .filter-mode select, .search-first .filter-mode button { font-size: 14px; }
.filter-mode select { min-height: 34px; border-color: #8f8778; background: white; }
#clear-filters { color: var(--red); }
.search-first .filter-group {
  grid-template-columns: 102px 1fr;
  gap: 7px;
  padding: 6px 0;
  border-top-color: #ddd5c7;
}
.filter-group-head h4 { margin: 1px 0 0; font-size: 14px; line-height: 1.35; }
.filter-group-head p { display: none; }
.filter-group-options { gap: 5px; }
.search-first .filter-chip {
  padding: 5px 8px;
  border-color: #b7af9f;
  border-radius: 4px;
  background: #fffefa;
  font-size: 14px;
  line-height: 1.3;
}
.search-first .filter-chip:hover { border-color: var(--green); background: #f0ebe0; }
.search-first .filter-chip[aria-pressed="true"] { border-color: var(--green); background: var(--green); color: white; }
.search-first .filter-group:nth-child(4n + 1) .filter-group-head h4 { color: var(--red); }
.search-first .filter-group:nth-child(4n + 2) .filter-group-head h4 { color: var(--green-2); }
.search-first .filter-group:nth-child(4n + 3) .filter-group-head h4 { color: var(--violet); }
.search-first .filter-group:nth-child(4n) .filter-group-head h4 { color: #906817; }

.search-first .result-summary {
  position: sticky;
  z-index: 2;
  bottom: 0;
  padding: 6px 17px;
  border-block: 1px solid var(--rule);
  background: rgb(31 75 67 / 96%);
  color: white;
  font-size: 13px;
}
.search-first .result-summary strong { color: #ffe7a7; font-size: 17px; }
.search-first .station-row {
  grid-template-columns: 30px 1fr 18px;
  gap: 10px;
  padding: 9px 17px;
  border-bottom-color: #ddd5c7;
  background: white;
}
.search-first .station-row:hover { background: #f6eddd; }
.search-first .row-code { height: 25px; border-color: var(--orange); color: var(--red); font-size: 12px; }
.search-first .station-row h3 { margin: -2px 0 1px; font-family: var(--sans); font-size: 18px; line-height: 1.35; }
.search-first .station-row p { font-size: 13px; line-height: 1.45; }
.search-first .row-status { align-self: center; color: var(--red); font-size: 18px; }

.search-first .map-wrap { min-height: 0; height: 100%; background: #dfe6df; }
#map, .mini-map { z-index: 1; }
.map-fallback { z-index: 2; background: #efe8da; }
.search-first .map-fallback.is-visible { display: block; }
.map-toolbar {
  z-index: 4;
  right: 12px;
  bottom: 12px;
  left: 12px;
  padding: 8px 11px;
  border: 1px solid rgb(31 75 67 / 22%);
  border-radius: 5px;
  color: var(--ink);
  font-size: 14px;
}
.map-toolbar a { color: var(--red); }
.atlas-marker { width: 32px; height: 32px; border-color: #fff8e7; background: var(--green); font-size: 11px; }
.atlas-marker.feature, .atlas-marker.theme-strong { width: 39px; height: 39px; background: var(--red); }
.maplibregl-ctrl-group { border-radius: 5px !important; overflow: hidden; }
.maplibregl-popup-content { border: 1px solid var(--rule); border-radius: 5px !important; background: var(--white) !important; }
.map-popup { width: 230px; padding: 14px; }
.map-popup small { color: var(--red); font-size: 13px; }
.map-popup h3 { margin: 2px 0 6px; font-family: var(--sans); font-size: 22px; }
.map-popup p, .map-popup a { font-size: 14px; }
.fallback-stations { border-color: var(--rule); background: linear-gradient(145deg, #f8f3e9, #e7ddcb); }
.fallback-stations a { background: var(--green); font-size: 13px; }

.quick-note { padding: 9px clamp(18px, 4vw, 48px); background: var(--yellow); color: #3c3015; font-size: 14px; }
.featured-section { padding: 28px 0 34px; background: var(--paper); }
.section-head { align-items: end; margin: 0; padding: 0 clamp(18px, 4vw, 48px) 15px; }
.section-head .section-kicker { margin-bottom: 4px; color: var(--red); }
.section-head h2 { font-family: var(--sans); font-size: 28px; }
.section-head > p { max-width: 560px; font-size: 15px; }
.search-first .featured-grid { gap: 12px; padding: 0 clamp(18px, 4vw, 48px); background: transparent; border: 0; }
.search-first .feature-link,
.search-first .feature-link:nth-child(-n + 2) { grid-column: span 4; border: 1px solid var(--rule); border-radius: 6px; background: var(--white); }
.search-first .feature-image { aspect-ratio: 16 / 9; }
.feature-copy { padding: 12px 14px 14px; }
.feature-copy small { color: var(--red); font-size: 13px; }
.feature-copy h3 { margin: 1px 0 4px; font-family: var(--sans); font-size: 21px; }
.feature-copy p { font-size: 15px; line-height: 1.5; }
.feature-link:nth-child(4n + 1) .feature-copy { border-top-color: var(--red); }
.feature-link:nth-child(4n + 2) .feature-copy { border-top-color: var(--green-2); }
.feature-link:nth-child(4n + 3) .feature-copy { border-top-color: var(--violet); }
.feature-link:nth-child(4n) .feature-copy { border-top-color: var(--yellow); }

/* Compare: compact title, fixed narrow axis column */
.compare-page { background: var(--paper); }
.compare-title {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 24px;
  padding: 18px clamp(20px, 4vw, 54px) 14px;
  border-bottom: 1px solid var(--rule);
  background: var(--green);
  color: white;
}
.compare-title div > p { margin: 0 0 1px; color: #f4c96b; font-size: 13px; font-weight: 750; }
.compare-title h1 { margin: 0; font-family: var(--sans); font-size: clamp(27px, 3vw, 38px); line-height: 1.25; }
.compare-title > p { max-width: 520px; margin: 0 0 3px; color: #e4eee9; font-size: 15px; }
.compare-controls {
  grid-template-columns: repeat(3, minmax(180px, 1fr)) auto;
  gap: 10px;
  padding: 12px clamp(20px, 4vw, 54px);
  border-bottom: 1px solid var(--rule);
  background: var(--paper-2);
}
.compare-controls label { font-size: 14px; letter-spacing: .02em; }
.compare-controls select { height: 42px; margin-top: 3px; border-color: #807969; border-radius: 4px; background: white; font-size: 15px; }
.button { min-height: 42px; border-color: var(--green); border-radius: 4px; background: var(--green); font-size: 14px; }
.button:hover { border-color: var(--red); background: var(--red); }
.button.secondary { color: var(--green); }
.compare-output { overflow-x: auto; padding: 15px clamp(12px, 2.5vw, 30px) 28px; }
.compare-table { width: 100%; min-width: 780px; table-layout: fixed; background: var(--white); }
.compare-table col.compare-axis { width: 168px !important; }
.compare-table col.compare-station { width: auto !important; }
.compare-table th, .compare-table td { width: auto !important; padding: 10px 13px; border-color: var(--rule); overflow-wrap: anywhere; }
.compare-table th:first-child, .compare-table td:first-child { width: 168px !important; background: #eee4d2; color: var(--ink); font-size: 14px; }
.compare-table thead th { border-top: 4px solid var(--red); background: #fffaf0; }
.compare-table thead th:first-child { border-top-color: var(--green); }
.compare-name { font-family: var(--sans); font-size: 24px; text-decoration-color: var(--yellow); }
.compare-descriptor { margin-top: 4px; font-size: 14px; line-height: 1.45; }
.compare-table p, .compare-table li { margin-top: 0; margin-bottom: 5px; font-size: 15px; line-height: 1.5; }
.compare-table tbody tr:nth-child(even) td { background: #fcf8ef; }
.compare-actions { margin-top: 14px; }

/* Station pages: less ceremony, more usable information */
.breadcrumb { padding: 8px clamp(18px, 4vw, 48px); font-size: 13px; }
.station-hero { grid-template-columns: minmax(420px, .9fr) minmax(470px, 1.1fr); min-height: 390px; }
.station-hero-copy { padding: 26px clamp(22px, 4vw, 50px); }
.station-hero h1 { font-family: var(--sans); font-size: clamp(48px, 5vw, 70px); }
.line-label, .station-kana { font-size: 13px; }
.station-descriptor { margin-top: 17px; font-size: clamp(21px, 2vw, 27px); }
.station-summary { font-size: 16px; }
.hero-actions { margin-top: 16px; }
.station-lead-photo > img { min-height: 390px; max-height: 500px; }
.station-lead-photo figcaption p { font-size: 17px; }
.station-lead-photo figcaption span, .station-lead-photo figcaption small { font-size: 12px; }
.station-facts { background: var(--paper-2); }
.station-facts > div { padding: 11px 22px; }
.station-facts small { color: var(--red); font-size: 13px; }
.station-facts p { font-size: 15px; }
.station-lenses { background: var(--green); }
.station-lenses span, .station-lenses a { font-size: 14px; }
.station-lenses a { padding: 10px 13px; }
.station-body { grid-template-columns: minmax(190px, .24fr) minmax(0, 1fr); }
.station-index { padding: 25px 22px; background: #ede3d2; }
.station-index h2 { font-family: var(--sans); font-size: 20px; }
.station-index a { padding: 8px 0; font-size: 14px; }
.content-section { padding: 25px clamp(22px, 4vw, 52px); }
.content-section h2 { margin-bottom: 13px; font-family: var(--sans); font-size: clamp(27px, 3vw, 35px); }
.split-note { padding: 15px 18px; }
.split-note h3, .split-note ul, .walk-band strong, .walk-band p, .life-note p, .related-item p { font-size: 15px; }
.walk-band { grid-template-columns: 88px 135px 1fr; gap: 13px; padding: 10px 0; }
.content-map { height: min(53vh, 470px); min-height: 340px; }
.photo-walk { gap: 18px 14px; }
.photo-item figcaption p { font-size: 15px; }
.photo-credit { font-size: 12px; }
.life-note { min-height: 0; padding-block: 14px; }
.related-item { padding: 14px; }
.related-item h3 { font-family: var(--sans); }

.page-title { padding: 20px clamp(18px, 4vw, 50px) 16px; }
.page-title h1 { font-family: var(--sans); font-size: clamp(30px, 3.5vw, 44px); }
.page-title p { margin-top: 6px; font-size: 16px; }
.prose { max-width: 920px; padding: 24px clamp(20px, 4vw, 48px) 44px; }
.prose h2 { margin-top: 28px; padding-top: 12px; font-family: var(--sans); font-size: 25px; }
.prose p, .prose li { font-size: 16px; }
.credit-table th, .credit-table td { font-size: 13px; }

.site-footer { padding: 18px clamp(18px, 4vw, 52px); background: #183b35; }
.site-footer p, .footer-links { font-size: 13px; }

/* 地図は地名を読めることを優先する。マーカーは地図上の駅名として常時表示。 */
.leaflet-container { background: #e5edef; font-family: var(--sans); }
.leaflet-control-zoom { border: 1px solid var(--rule) !important; border-radius: 5px !important; box-shadow: none !important; }
.leaflet-control-zoom a { width: 31px !important; height: 31px !important; line-height: 31px !important; border-color: var(--rule) !important; color: var(--green) !important; font-size: 19px !important; }
.leaflet-control-attribution { padding: 2px 5px !important; background: rgb(255 252 245 / 88%) !important; color: #6f716c !important; font-size: 10px !important; }
.atlas-label-icon { width: auto !important; height: auto !important; margin: 0 !important; border: 0 !important; background: transparent !important; }
.atlas-label-icon .atlas-marker {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  width: max-content !important;
  min-width: 58px !important;
  height: 32px !important;
  min-height: 32px !important;
  padding: 5px 8px;
  border: 2px solid #fff8e7;
  border-radius: 4px;
  background: var(--green);
  color: white;
  box-shadow: 0 2px 7px rgb(16 48 42 / 32%);
  font-size: 13px;
  font-weight: 700;
  line-height: 1.15;
  white-space: nowrap !important;
}
.atlas-label-icon .atlas-marker::before { content: attr(data-slug); display: none; }
.atlas-label-icon .atlas-marker.feature,
.atlas-label-icon .atlas-marker.theme-strong { background: var(--red); }
.leaflet-popup-content-wrapper { border: 1px solid var(--rule); border-radius: 5px !important; box-shadow: 0 6px 18px rgb(16 48 42 / 18%) !important; }
.leaflet-popup-content { margin: 0 !important; }
.leaflet-popup-tip { background: var(--white); }

/* 情報の密度は保ちつつ、見出しでは一呼吸置く。 */
.search-first .panel-head { padding: 21px 18px 16px; }
.search-first .panel-head h1 { margin-top: 4px; }
.search-first .perspectives { padding-block: 15px; }
.search-first .filter-section { padding-block: 13px; }
.compare-title { padding-top: 24px; padding-bottom: 19px; }
.compare-controls { padding-top: 15px; padding-bottom: 15px; }

/* 条件選択は彩度を上げすぎず、色は案内と強調に限定する。 */
.perspective-chip[aria-pressed="true"],
.perspective-chip:nth-child(2n)[aria-pressed="true"],
.perspective-chip:nth-child(3n)[aria-pressed="true"] {
  border-color: var(--green);
  background: #e3eee9;
  color: var(--green);
}
.search-first .filter-chip[aria-pressed="true"] { background: var(--green); color: white; }

/* 左の操作欄は色面ではなく、白地・余白・見出しのレールで階層を作る。 */
.search-first .panel-head,
.search-first .perspectives {
  background: #fff;
  border-bottom: 1px solid #c9cfca;
}
.search-first .route-drawer,
.search-first .condition-drawer {
  border-top: 0;
  border-bottom: 1px solid #c9cfca;
  background: #fff;
}
.search-first .route-drawer { border-bottom: 0; }
.search-first .route-drawer > summary,
.search-first .condition-drawer > summary {
  position: relative;
  min-height: 50px;
  padding: 13px 22px 13px 26px;
  background: #fff;
  color: var(--ink);
  font-size: 15px;
  font-weight: 750;
}
.search-first .route-drawer > summary::after,
.search-first .condition-drawer > summary::after {
  position: absolute;
  top: 13px;
  bottom: 13px;
  left: 0;
  width: 3px;
  background: #52605a;
  content: "";
}
.search-first .route-drawer > summary::before,
.search-first .condition-drawer > summary::before { color: #58635e; }
.search-first .route-drawer > summary span,
.search-first .condition-drawer > summary span {
  padding: 2px 7px;
  border: 1px solid #bdc5bf;
  border-radius: 999px;
  color: #4d5c55;
  font-size: 12px;
  font-weight: 650;
  line-height: 1.35;
}
.search-first .route-drawer[open] > summary,
.search-first .condition-drawer[open] > summary {
  border-bottom: 1px solid #d8ddd9;
}
.search-first .condition-drawer > summary { margin-top: 7px; }
.search-first .condition-match {
  margin-top: 4px;
  border-color: #cbd2cd;
  background: #fff;
}
.search-first .result-summary {
  min-height: 48px;
  padding-inline: 22px;
  border-top: 1px solid #87928b;
  border-bottom: 1px solid #c9cfca;
  background: #fff;
  color: var(--ink);
}
.search-first .result-summary strong {
  color: var(--ink);
  font-size: 18px;
}

/* 2026-09 calm hierarchy: neutral surfaces, two restrained accents. */
:root {
  --paper: #f4f5f3;
  --paper-2: #e9ece9;
  --white: #ffffff;
  --rule: #c9d0cc;
  --green: #234c43;
  --green-2: #3f6b61;
  --red: #985447;
  --orange: #985447;
  --yellow: #c6a65a;
  --blue: #45656d;
  --violet: #676675;
}

body,
.compare-page,
.featured-section { background: var(--paper); }
.site-header { background: rgb(255 255 255 / 97%); }
.site-nav a:hover { background: #eef1ef; }
.site-nav a[aria-current="page"] { box-shadow: inset 0 -3px 0 #b7c6c0; }

/* 色は選択状態と小さな目印だけに使う。 */
.search-first .filter-group-head h4,
.search-first .filter-group:nth-child(4n + 1) .filter-group-head h4,
.search-first .filter-group:nth-child(4n + 2) .filter-group-head h4,
.search-first .filter-group:nth-child(4n + 3) .filter-group-head h4,
.search-first .filter-group:nth-child(4n) .filter-group-head h4 { color: #34413c; }
.feature-link:nth-child(4n + 1) .feature-copy,
.feature-link:nth-child(4n + 2) .feature-copy,
.feature-link:nth-child(4n + 3) .feature-copy,
.feature-link:nth-child(4n) .feature-copy { border-top-color: var(--green); }
.quick-note {
  border-block: 1px solid var(--rule);
  border-left: 4px solid var(--red);
  background: #f8f9f8;
  color: var(--ink);
}

/* 比較ページ：タイトル・操作・表を白と薄い中間色で分離する。 */
.compare-title {
  border-bottom: 1px solid var(--rule);
  background: #fff;
  color: var(--ink);
}
.compare-title div > p { color: var(--green-2); }
.compare-title > p { color: var(--muted); }
.compare-controls { background: #eef1ef; }
.compare-controls select { border-color: #87928c; }
.compare-table { background: #fff; }
.compare-table th:first-child,
.compare-table td:first-child { background: #eef1ef; }
.compare-table thead th,
.compare-table thead th:first-child {
  border-top: 3px solid var(--green);
  background: #fff;
}
.compare-table tbody tr:nth-child(even) td { background: #f7f8f7; }
.compare-table tbody tr:nth-child(even) td:first-child { background: #e9edea; }
.compare-name { text-decoration-color: var(--green-2); }
.button:hover { border-color: #173a33; background: #173a33; }

/* 駅ページ：写真を主役にし、情報面では大きな色面を使わない。 */
.breadcrumb,
.station-hero-copy,
.station-content { background: #fff; }
.station-facts { background: #eef1ef; }
.station-facts small { color: var(--green-2); }
.station-lenses {
  border-block: 1px solid var(--rule);
  background: #fff;
  color: var(--ink);
}
.station-lenses span { color: var(--muted); }
.station-lenses a {
  border-left-color: var(--rule);
  color: var(--green);
}
.station-lenses a:hover { background: #eef1ef; color: var(--ink); }
.station-index { background: #f1f3f1; }
.station-index a::before,
.walk-band b { color: var(--green-2); }
.content-section h2 {
  padding-left: 14px;
  border-left: 3px solid var(--green);
}
.split-notes,
.split-note + .split-note,
.walk-bands,
.related-item { border-color: var(--rule); }
.life-note small,
.related-item small { color: var(--red); }
.line-label { background: #f5f7f5; }
.station-map-note { background: rgb(255 255 255 / 92%); }
.leaflet-control-attribution { background: rgb(255 255 255 / 88%) !important; }

/* 検索エンジンとJS無効時にも読める、駅ページの静的概要。JS起動後は通常の駅画面に置き換わる。 */
.static-seo-content,
.theme-static-copy {
  max-width: 980px;
  margin: 0 auto;
  padding: 28px clamp(20px, 4vw, 56px);
  background: #fff;
  color: var(--ink);
}
.static-seo-content h1,
.theme-static-copy h1 { margin: 6px 0 10px; font-size: clamp(1.8rem, 3vw, 2.8rem); }
.static-seo-content h2 { margin: 24px 0 8px; font-size: 1.2rem; border-left: 3px solid var(--green); padding-left: 10px; }
.static-seo-content p,
.static-seo-content li,
.theme-static-copy p { line-height: 1.8; }
.static-seo-content ul { margin: 0; padding-left: 1.4em; }
.static-seo-lead { max-width: 70ch; font-size: 1.05rem; }
.static-seo-meta,
.static-seo-note { color: var(--muted); font-size: .9rem; }
.static-seo-content dl { margin: 0; border-top: 1px solid var(--rule); }
.static-seo-content dl > div { display: grid; grid-template-columns: 7rem 1fr; gap: 14px; padding: 10px 0; border-bottom: 1px solid var(--rule); }
.static-seo-content dt { font-weight: 700; }
.static-seo-content dd { margin: 0; }
.static-seo-links { margin-top: 22px; }
.static-seo-links a,
.theme-static-links a { display: inline-block; margin: 4px 8px 4px 0; color: var(--green); text-decoration: underline; text-underline-offset: 3px; }
.theme-static-copy { border-bottom: 1px solid var(--rule); }
.theme-static-copy + .quick-note { margin-top: 0; }
@media (max-width: 720px) {
  .static-seo-content,
  .theme-static-copy { padding: 22px 18px; }
  .static-seo-content dl > div { grid-template-columns: 1fr; gap: 2px; }
}

@media (max-width: 1100px) {
  .site-nav a { padding-inline: 12px; }
  .search-first .atlas-layout { grid-template-columns: 410px minmax(0, 1fr); }
  .search-first .feature-link,
  .search-first .feature-link:nth-child(-n + 2) { grid-column: span 6; }
  .station-hero { grid-template-columns: 1fr; }
  .compare-title { align-items: start; }
}

@media (max-width: 980px) {
  .site-nav { top: 62px; background: var(--white); }
  .search-first .atlas-layout { grid-template-columns: 370px minmax(0, 1fr); }
  .compare-controls { grid-template-columns: repeat(2, 1fr); }
}

@media (max-width: 720px) {
  .brand { padding-inline: 12px; }
  .brand small { display: none; }
  .search-first .atlas-layout { display: flex; height: auto; min-height: 0; }
  .search-first .atlas-panel { height: auto; max-height: none; }
  .search-first .map-wrap { order: -1; height: 48vh; min-height: 350px; }
  .search-first .filter-group { grid-template-columns: 1fr; }
  .map-toolbar span { display: none; }
  .search-first .feature-link,
  .search-first .feature-link:nth-child(-n + 2) { grid-column: span 12; }
  .section-head { display: block; }
  .section-head > p { margin-top: 6px; }
  .compare-title { display: block; }
  .compare-title > p { margin-top: 6px; }
  .compare-controls { grid-template-columns: 1fr; }
  .compare-table col.compare-axis { width: 126px !important; }
  .compare-table th:first-child, .compare-table td:first-child { width: 126px !important; }
  .station-lead-photo > img { min-height: 320px; }
  .station-body { grid-template-columns: 1fr; }
  .station-index { display: none; }
}

/* v38: evidence and audit status use the existing neutral palette. */
.verification-note { min-height: 3.2em; margin: 0; padding: 8px 16px; font-size: 14px; line-height: 1.6; color: var(--muted, #52606b); border-bottom: 1px solid var(--rule, #d3dae0); }
.filter-chip.is-under-review small { display: inline-block; margin-left: 5px; font-size: 12px; font-weight: 400; }
.pending-evidence { margin-block: 12px; padding: 12px 14px; border: 1px solid var(--rule, #d3dae0); border-radius: 4px; }
.pending-evidence summary { font-weight: 600; cursor: pointer; }
.pending-evidence dt { font-weight: 600; }
.pending-evidence dd { margin: 4px 0 14px; }
.audit-table-wrap { overflow: auto; max-height: 72vh; border: 1px solid var(--rule, #d3dae0); margin-block: 20px; }
.audit-table { border-collapse: separate; border-spacing: 0; min-width: 1800px; width: 100%; font-size: 15px; }
.audit-table th, .audit-table td { padding: 12px 14px; border-bottom: 1px solid var(--rule, #d3dae0); border-right: 1px solid var(--rule, #d3dae0); text-align: center; white-space: nowrap; }
.audit-table th { background: #f1f4f6; color: #26343d; }
.audit-table thead th { position: sticky; top: 0; z-index: 2; }
.audit-table th:first-child { position: sticky; left: 0; z-index: 1; text-align: left; }
.audit-table thead th:first-child { z-index: 3; }
.audit-state.is-positive { font-weight: 700; color: #214d44; }
.audit-state.is-pending { font-size: 13px; color: #66727b; }
@media (max-width: 720px) { .verification-note { padding-inline: 14px; } }

.compare-legend { margin: 0 0 16px; line-height: 1.7; color: #52606b; font-size: 15px; }
.condition-status.is-positive { color: #214d44; font-weight: 600; }
.condition-status.is-pending { color: #67737b; }
.compare-evidence summary { cursor: pointer; width: fit-content; }
.compare-evidence p { margin-block: 10px; font-size: 15px; line-height: 1.7; }

/* 条件と結果の整理 */
.legacy-themes{display:none!important}.mobile-search-toolbar{display:none}.rent-filter{display:block!important}.rent-filter>label{display:block;margin-bottom:8px}.rent-inputs{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.rent-inputs input[type=range]{width:100%;accent-color:#183f39}.rent-inputs input[type=number]{width:6.5em;min-height:36px;font:inherit;padding:6px}.rent-filter small{display:block;margin-top:8px;font-size:12px;color:#263c33}.rent-inputs button{font:inherit;padding:7px;background:white;color:#183f39;border:1px solid #183f39}#selected-conditions{padding:10px 17px;display:flex;gap:6px;flex-wrap:wrap;border-bottom:1px solid #c6d0ca;background:#fff}#selected-conditions:empty{display:none}#selected-conditions button{font:inherit;font-size:12px;padding:5px 8px;background:white;color:#183f39;border:1px solid #82978b;border-radius:3px}.mobile-conditions{padding:0;border:1px solid #183f39;background:white;color:#183f39}.mobile-conditions::backdrop{background:rgba(0,0,0,.4)}.mobile-conditions header,.mobile-conditions footer{display:flex;align-items:center;justify-content:space-between;padding:12px 18px;background:white;position:sticky;z-index:5}.mobile-conditions header{top:0;border-bottom:1px solid #c6d0ca}.mobile-conditions footer{bottom:0;border-top:1px solid #c6d0ca}.mobile-conditions h2{margin:0;font-size:20px}.mobile-conditions button{font:inherit}.mobile-conditions header button{padding:8px 12px;color:#183f39;background:white;border:1px solid #183f39}.mobile-conditions footer button{width:100%;padding:12px;background:#183f39;color:white;border:0;border-radius:3px}.mobile-conditions .legacy-themes{display:none!important}.conditions-open{overflow:hidden}
@media(max-width:720px){
 .search-first .atlas-layout{display:block;height:auto;min-height:0;overflow:visible}.search-first .atlas-panel{height:auto;max-height:none;overflow:visible;width:100%}.mobile-search-toolbar{display:flex;position:sticky;top:60px;z-index:8;justify-content:space-between;gap:8px;padding:10px 16px;background:white;border-bottom:1px solid #c6d0ca}.mobile-search-toolbar button{font:inherit;font-size:14px;padding:9px 12px;background:white;border:1px solid #183f39;color:#183f39}.mobile-search-toolbar button[aria-pressed=true]{background:#183f39;color:white}.search-first .map-wrap{display:none!important}.search-first.is-map-view .map-wrap{display:block!important;height:calc(100dvh - 180px);min-height:360px;position:relative;top:auto}.search-first.is-map-view #station-list,.search-first.is-map-view #verification-note,.search-first.is-map-view .result-summary{display:none}.search-first .station-list{min-height:0!important}.search-first .result-summary{position:static}.mobile-conditions{width:100%;max-width:none;height:90dvh;max-height:90dvh;margin:auto 0 0;box-sizing:border-box;border-radius:12px 12px 0 0;overflow:auto}.mobile-conditions #search-controls{display:block}.mobile-conditions .filter-group{display:block}.mobile-conditions .filter-group-head{margin-bottom:8px}.mobile-conditions .filter-group-options{display:flex;flex-wrap:wrap;gap:6px}.mobile-conditions .filters{padding:12px 18px}.mobile-conditions .filter-chip{padding:7px;font-size:14px;background:white;border:1px solid #85978d}.mobile-conditions .filter-chip strong{inline-size:6.25em;min-inline-size:6.25em;white-space:nowrap}.mobile-conditions #hobby-list button{font-size:14px}.mobile-conditions .route-drawer>summary,.mobile-conditions .condition-drawer>summary{padding:14px 18px}.mobile-conditions .filter-list{gap:12px}.mobile-conditions .condition-match{display:flex;justify-content:space-between}.mobile-conditions .route-filters{padding:12px 18px}.mobile-conditions .route-group-head{margin-bottom:8px}.mobile-conditions .route-chip{padding:8px}.mobile-conditions .rent-filter{margin-bottom:14px}
}

@media(max-width:720px){.site-header{display:flex!important;align-items:center;justify-content:space-between;min-height:60px;height:auto;padding:10px 16px;box-sizing:border-box}.site-header>.brand{min-width:0}.site-header>.nav-toggle{width:auto;min-width:64px;white-space:nowrap;flex-shrink:0;padding:8px}.site-header>.site-nav{position:absolute;top:100%;left:0;right:0;background:white;z-index:20}#selected-conditions{position:sticky;top:112px;z-index:7;max-height:105px;overflow:auto}.search-first .row-facts{font-size:12px;color:#183f39;margin-top:6px}}

.rent-scale{display:flex;justify-content:space-between;width:100%;font-size:12px;color:#183f39;margin-top:-4px}

/* 駅ガイドは写真の元サイズにかかわらず同じ高さにする */
.search-first .feature-link .feature-image,.search-first .feature-link:nth-child(-n + 2) .feature-image{position:relative;display:block;width:100%;aspect-ratio:3/2;overflow:hidden;}
.search-first .feature-link .feature-image img{position:absolute;inset:0;display:block;width:100%;height:100%;object-fit:cover;}
.evidence-section .evidence-short{margin:0 0 6px;font-size:14px;line-height:1.7}.evidence-full>summary{cursor:pointer;font-size:13px;color:#183f39;padding:4px 0}.evidence-full p{font-size:14px;line-height:1.8}.evidence-full ul{padding-left:18px;font-size:13px;line-height:1.7}.evidence-full li{margin:6px 0;overflow-wrap:anywhere}.evidence-list>div{padding-block:12px!important}.rent-tick{position:relative;width:100%;height:20px;font-size:12px;color:#183f39;pointer-events:none;margin-top:-6px}.rent-tick span{position:absolute;left:66.225%;transform:translateX(-50%);white-space:nowrap}.rent-tick span:before{content:'';display:block;width:1px;height:6px;background:#183f39;margin:0 auto 2px}

/* 根拠は条件名と開閉アイコンのみ。見出し全体を押せる */
.evidence-section .compact-evidence{display:block;border-top:1px solid #c6d0ca;}
.evidence-section .evidence-condition{border-bottom:1px solid #c6d0ca;margin:0;padding:0;}
.evidence-section .evidence-condition>summary{display:flex;align-items:center;justify-content:space-between;gap:16px;list-style:none;padding:12px 0;min-height:44px;box-sizing:border-box;font-size:15px;font-weight:600;line-height:1.5;color:#183f39;cursor:pointer;}
.evidence-condition>summary::-webkit-details-marker{display:none}.evidence-condition>summary::after{content:'▸';font-size:16px;flex-shrink:0}.evidence-condition[open]>summary::after{content:'▾'}.evidence-condition>summary:focus-visible{outline:2px solid #b06c14;outline-offset:2px}.evidence-section .evidence-body{padding:0 0 14px}.evidence-section .evidence-body p{margin:0 0 8px;font-size:14px;line-height:1.8}.evidence-section .evidence-body .evidence-date{font-size:12px}.evidence-section .evidence-body ul{margin:0;padding-left:18px}

/* 要点を読みながら、必要な行だけ出典を開く */
.condition-reason{position:relative;border-top:1px solid #c6d0ca;padding:16px 0}.condition-reason-heading{padding-right:48px}.condition-reason-heading h3{font-size:15px;margin:0 0 5px}.condition-reason-heading p{font-size:14px;line-height:1.7;margin:0;color:#40544d}.compact-evidence .condition-reason .evidence-condition{border:0;margin:0;padding:0}.compact-evidence .condition-reason .evidence-condition>summary{position:absolute;right:0;top:14px;width:44px;min-height:44px;padding:0;display:flex;align-items:center;justify-content:center}.compact-evidence .condition-reason .evidence-condition>summary::after{position:static}.condition-reason .evidence-body{margin-top:14px;padding:12px 16px;border-left:2px solid #b8c9bf;background:#f5f7f4}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.evidence-list.compact-evidence>.condition-reason{display:block}.evidence-section .condition-reason .evidence-body{padding:12px 16px}#evidence{scroll-margin-top:90px}
.favorite-button{display:inline-flex;align-items:center;justify-content:center;gap:5px;min-height:40px;padding:7px 10px;border:1px solid #577066;border-radius:3px;background:#fff;color:#183f39;font:inherit;font-size:14px;cursor:pointer;white-space:nowrap}.favorite-button[aria-pressed=true]{background:#fff4d9;border-color:#8a5700;color:#754900}.favorite-button>span:first-child{font-size:21px;line-height:1}.station-result{position:relative}.station-result>.favorite-button{margin:0 16px 12px 60px}.map-popup .favorite-button{margin:4px 0 10px}.map-popup>a{display:block}#favorites-only{margin-left:auto;border:1px solid #577066;border-radius:3px;background:white;color:#183f39;padding:8px;font:inherit;font-size:13px;cursor:pointer}#favorites-only[aria-pressed=true]{background:#183f39;color:white}.favorite-button:focus-visible,#favorites-only:focus-visible{outline:2px solid #ad6800;outline-offset:3px}.favorite-storage-note{position:fixed;bottom:12px;left:12px;right:12px;z-index:1000;background:#fff4d9;border:1px solid #754900;padding:12px;color:#183f39}

/* Theme guides: concise comparisons, separate from the map search. */
.theme-scope,.theme-footnote {font-size:.88rem;line-height:1.7;color:var(--ink,#23332f);}
.theme-scope {padding-block:0 1rem;border-bottom:1px solid var(--rule,#cbd3cf);}
.theme-results {margin-block:2rem 3rem;}
.theme-results-heading,.theme-station-heading {display:flex;align-items:baseline;justify-content:space-between;gap:1rem;}
.theme-results-heading h2 {font-size:1.3rem;margin:0;}
.theme-results-heading>span,.theme-station-heading>span {font-size:.85rem;white-space:nowrap;}
.theme-stations {list-style:none;padding:0;margin:1rem 0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 2rem;}
.theme-station {padding:1.25rem 0;border-top:1px solid var(--rule,#cbd3cf);min-width:0;}
.theme-station h3 {font-size:1.15rem;margin:0;}
.theme-facts {list-style:none;padding:0;margin:.75rem 0;line-height:1.65;}
.theme-facts li+li {margin-top:.5rem;}
.theme-facts li>span {display:block;font-size:.8rem;font-weight:700;}
.theme-station-meta {font-size:.85rem;line-height:1.7;margin:.75rem 0;}
.theme-detail {font-size:.9rem;}
.theme-map-link {display:inline-block;padding:.65rem 1rem;border:1px solid currentColor;text-decoration:none;}
@media(max-width:700px){.theme-stations{grid-template-columns:1fr}.theme-results{margin-block:1.5rem 2rem}.theme-station-heading{gap:.5rem}}
.theme-primary-search { margin: 0 0 1.5rem; }
.theme-primary-search p { font-size: .85rem; margin: .45rem 0 0; line-height: 1.6; }
#contact-form input:not([type="hidden"]),#contact-form textarea { width: min(100%, 42rem); padding: .6rem; font: inherit; border: 1px solid #667974; border-radius: 3px; }
#contact-form label { font-weight: 700; }
#contact-submit { padding: .65rem 1.4rem; font: inherit; }

/* Warm, dimmer display for night use. The overlay never captures pointer or scroll events. */

.night-shift-toggle { align-self: center; margin: 8px; padding: 6px 10px; border: 1px solid #51635c; border-radius: 4px; background: #fff; color: #213d36; font-size: 13px; cursor: pointer; white-space: nowrap; }
.night-shift-toggle[aria-pressed="true"] { background: #284b41; color: #fff; }
@media (min-width: 901px) {
  .search-first .atlas-layout { border-left: 32px solid #fff; }
}

/* Dark palette changes the page surfaces while leaving photographs and map imagery intact. */
:root.night-shift { --paper:#141b19; --paper-2:#222d29; --white:#1c2522; --ink:#edf3ef; --muted:#b6c5bd; --rule:#4d6058; --green:#9fceb9; --green-2:#a8d2c2; --red:#efaa98; --orange:#efaa98; --blue:#a1cbd5; --violet:#c2bed4; }
.night-shift body,.night-shift .compare-page,.night-shift .featured-section {background:#141b19;color:var(--ink)}
.night-shift :is(.site-header,.search-first .atlas-panel,.search-first .panel-head,.search-first .perspectives,.search-first .route-drawer,.search-first .condition-drawer,.search-first .route-drawer>summary,.search-first .condition-drawer>summary,.search-first .condition-match,.search-first .result-summary,.search-first .station-row,.breadcrumb,.station-hero-copy,.station-content,.station-lenses,.compare-title,.compare-table,.compare-table thead th,.compare-table thead th:first-child,.theme-static-copy,.static-seo-content,.quick-note,.site-footer,.site-nav,.life-note,.split-note,.related-item,.feature-link,.feature-copy,.audit-table th,.search-first .filter-chip,.filter-mode select,.compare-controls select,.night-shift-toggle,input,select,textarea) {background:#1c2522;color:#edf3ef;border-color:#4d6058}
.night-shift :is(.compare-controls,.compare-table th:first-child,.compare-table td:first-child,.station-facts,.compare-table tbody tr:nth-child(even) td,.compare-table tbody tr:nth-child(even) td:first-child) {background:#27332e;color:#edf3ef}
.night-shift :is(.search-first .filter-group-head h4,.search-first .filter-group:nth-child(n) .filter-group-head h4,.search-first .route-drawer>summary span,.search-first .condition-drawer>summary span,.search-first .result-summary strong,.search-first .row-facts,.condition-status.is-positive,.audit-state.is-positive,.compare-legend,.station-facts small,.station-lenses a) {color:#c6dfd3}
.night-shift :is(.search-first .filter-chip[aria-pressed="true"],.perspective-chip[aria-pressed="true"],.site-nav a[aria-current="page"]) {background:#376655;color:#fff;border-color:#8fbca7}
.night-shift :is(.site-nav a:hover,.search-first .station-row:hover,.search-first .filter-chip:hover) {background:#34463e;color:#fff}
.night-shift .atlas-layout {border-left-color:#141b19}
@media(max-width:720px){.night-shift .site-header>.site-nav{background:#1c2522}}

/* Dark mode: unify the entire result card and keep controls readable. */
.night-shift .leaflet-tile-pane { filter: grayscale(1) invert(1) brightness(.72) contrast(.88) !important; opacity:1 !important; }
.night-shift .search-first .station-result { background:#1c2522; border-color:#42534b; }
.night-shift :is(.favorite-button,#favorites-only,#hobby-list button,.route-chip,.perspective-chip,.relax-condition) { background:#27352f; color:#e8f0eb; border-color:#72887a; }
.night-shift :is(.favorite-button[aria-pressed=true],#favorites-only[aria-pressed=true],#hobby-list button[aria-pressed=true],.route-chip[aria-pressed=true],.perspective-chip[aria-pressed=true]) { background:#396452; color:#fff; border-color:#98c3ad; }
.night-shift :is(.hobby-entry p,.priority-guide,.service-description,.search-first .result-evidence>summary,.rent-scale,.selected-evidence small,.search-first .row-facts,.search-first .selected-evidence .condition-badge) { color:#c2d1c8; }
.night-shift .search-first .selected-evidence .condition-badge { background:#293b32; border-color:#718a7a; }
.night-shift :is(.map-toolbar,.map-popup,.station-map-note,.leaflet-control-attribution) { background:rgba(27,38,33,.96) !important; color:#e1ece5 !important; border-color:#718579; }
.night-shift :is(.map-toolbar a,.map-popup a,.leaflet-control-attribution a) { color:#b5dbc5 !important; }
.night-shift .leaflet-control-zoom a { background:#293b32; color:#e3eee7; border-color:#718579; }
@media(min-width:901px) { .search-first .atlas-panel { border-left:1px solid #a4b0a9; } .night-shift .search-first .atlas-panel { border-left-color:#687d71; } }

/* Alternative navigation follows the page color scheme. */
.night-shift .entry-links { background:#1c2522; border-color:#4d6058; }
.night-shift .entry-links a { color:#b5dbc5; }

/* Station guides and selected filters in dark mode. */
.night-shift .station-index { background:#202c27; color:#edf3ef; border-color:#4d6058; }
.night-shift .station-index a { color:#d9e8df; }
.night-shift .station-index a:hover { color:#fff; text-decoration:underline; }
.night-shift .line-label { background:#30443a; color:#e6f1ea; border-color:#718a7a; }
.night-shift .station-summary { color:#c5d4ca; }
.night-shift .station-lenses a:hover, .night-shift .station-lenses a:focus-visible { background:#3a5045; color:#fff; }
.night-shift .hero-actions .button:not(.secondary) { background:#396452; border-color:#87ab97; color:#fff; }
.night-shift .hero-actions .button:hover { background:#4c7561; color:#fff; }
.night-shift #selected-conditions { background:#202c27; border-color:#4d6058; }
.night-shift #selected-conditions button { background:#30443a; color:#edf3ef; border-color:#718a7a; }
.night-shift #selected-conditions button:hover, .night-shift #selected-conditions button:focus-visible { background:#40594b; color:#fff; }

/* 地図タイルの読み込み中に見える背景色 */
.leaflet-container {
  background: #e2e7e0;
}

.night-shift .leaflet-container {
  background: #222624;
}

/* ダークモード：地図の読み込み中の背景 */
.night-shift #map,
.night-shift .mini-map,
.night-shift .leaflet-container {
  background-color: #222624;
}

/* ダークモード：条件に合う理由・出典 */
.night-shift .condition-reason-heading p {
  color: #c5d4ca;
}

.night-shift .evidence-section .condition-reason .evidence-body {
  background: #27352f;
  color: #edf3ef;
  border-color: #718a7a;
}

.night-shift .evidence-section .evidence-body a {
  color: #b5dbc5;
}

.night-shift .evidence-section .evidence-condition > summary {
  color: #d9e8df;
}

/* ダークモード：スマホの地図・駅一覧切り替え */
.night-shift .mobile-search-toolbar {
  background: #1c2522;
  border-color: #4d6058;
}

.night-shift .mobile-search-toolbar button {
  background: #27352f;
  color: #edf3ef;
  border-color: #718a7a;
}

.night-shift .mobile-search-toolbar button[aria-pressed="true"] {
  background: #396452;
  color: #fff;
  border-color: #98c3ad;
}
