

/* Dossier and right-panel refinements. */


.side-panel {
  gap: 0;
  padding: 0;
  border: 1px solid rgba(17, 16, 14, 0.5);
  background:
    linear-gradient(90deg, rgba(17, 16, 14, 0.024) 1px, transparent 1px),
    var(--material-ledger);
  background-size: 30px 30px, auto;
  box-shadow: var(--material-raised);
}

@media (max-width: 980px) {
  body.is-map-active .mobile-sheet-context-rail {
    display: none;
  }

  body.is-map-active .mobile-sheet[data-snap="full"] > .mobile-sheet-context-rail {
    position: sticky;
    z-index: 33;
    top: 106px;
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(174px, 0.55fr) minmax(150px, 0.48fr);
    order: 3;
    gap: 6px;
    min-width: 0;
    margin: 0 calc(var(--mobile-panel-pad, 10px) * -1);
    padding: 7px var(--mobile-panel-pad, 10px) 8px;
    border-bottom: 1px solid rgba(17, 16, 14, 0.18);
    background:
      linear-gradient(90deg, rgba(17, 16, 14, 0.018) 1px, transparent 1px),
      rgba(248, 245, 236, 0.975);
    background-size: 18px 18px, auto;
    box-shadow: 0 8px 18px rgba(35, 29, 20, 0.08);
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
    animation: mobile-context-resolve 380ms cubic-bezier(0.16, 1, 0.3, 1) both;
  }

  body.is-map-active .mobile-sheet-context-rail .mobile-search-form {
    position: relative;
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: 3px;
    min-height: 48px;
    padding: 0;
    border: 0;
    background: transparent;
    box-shadow: none;
  }

  body.is-map-active .mobile-sheet-context-rail .mobile-search-form > label {
    position: absolute;
    z-index: 2;
    top: 5px;
    left: 13px;
    margin: 0;
    color: rgba(17, 16, 14, 0.52);
    font: 760 var(--panel-label)/1 var(--font-mono);
    letter-spacing: 0.08em;
    text-transform: uppercase;
    pointer-events: none;
  }

  body.is-map-active .mobile-sheet-context-rail .mobile-search-row,
  body.is-map-active .mobile-map-search-row {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 44px;
    gap: 4px;
    min-width: 0;
  }

  body.is-map-active .mobile-sheet-context-rail input[type="search"] {
    width: 100%;
    min-width: 0;
    min-height: 48px;
    height: 48px;
    padding: 18px 34px 4px 13px;
    border: 1px solid rgba(17, 16, 14, 0.3);
    border-radius: 8px;
    background: rgba(255, 253, 247, 0.88);
    font-size: var(--panel-label);
  }

  body.is-map-active .mobile-locate-button {
    position: relative;
    display: grid;
    width: 44px;
    min-width: 44px;
    height: 44px;
    min-height: 44px;
    padding: 0;
    place-items: center;
    border: 1px solid rgba(17, 16, 14, 0.28);
    border-radius: 8px;
    background: rgba(255, 253, 247, 0.88);
    color: var(--ink);
  }

  body.is-map-active .mobile-sheet-context-rail .mobile-locate-button {
    height: 48px;
    min-height: 48px;
  }

  body.is-map-active .mobile-locate-button > .mobile-locate-icon {
    position: relative;
    display: block;
    width: 18px;
    height: 18px;
    border: 1.8px solid currentColor;
    border-radius: 50%;
    background: radial-gradient(circle, var(--accent) 0 2px, transparent 2.5px);
  }

  body.is-map-active .mobile-locate-button > .mobile-locate-icon::before,
  body.is-map-active .mobile-locate-button > .mobile-locate-icon::after {
    content: "";
    position: absolute;
    top: 50%;
    left: 50%;
    background: currentColor;
    transform: translate(-50%, -50%);
  }

  body.is-map-active .mobile-locate-button > .mobile-locate-icon::before { width: 24px; height: 1px; }
  body.is-map-active .mobile-locate-button > .mobile-locate-icon::after { width: 1px; height: 24px; }

  body.is-map-active .mobile-locate-button:hover,
  body.is-map-active .mobile-locate-button:focus-visible {
    border-color: rgba(201, 53, 43, 0.52);
    color: var(--accent);
    transform: translateY(-1px);
  }

  body.is-map-active .mobile-sheet-context-rail .search-results {
    position: absolute;
    z-index: 50;
    top: calc(100% + 5px);
    right: 48px;
    left: 0;
    max-height: min(280px, 42dvh);
    overflow: auto;
  }

  body.is-map-active .mobile-sheet-time-control {
    display: grid;
    grid-template-columns: 36px minmax(0, 1fr) 36px;
    gap: 4px;
    align-items: center;
    min-height: 48px;
    padding: 4px;
    border: 1px solid rgba(17, 16, 14, 0.3);
    border-radius: 8px;
    background: rgba(255, 253, 247, 0.82);
  }

  body.is-map-active .mobile-sheet-time-control .mobile-time-step-button {
    min-width: 36px;
    width: 36px;
    min-height: 40px;
    height: 40px;
    border-radius: 6px;
  }

  body.is-map-active .mobile-sheet-time-control .mobile-time-range-label {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 2px 6px;
    min-width: 0;
    margin: 0;
  }

  body.is-map-active .mobile-sheet-time-control .mobile-time-range-label > span {
    color: rgba(17, 16, 14, 0.54);
    font: 740 var(--panel-label)/1 var(--font-mono);
    letter-spacing: 0.06em;
    text-transform: uppercase;
  }

  body.is-map-active .mobile-sheet-time-control .mobile-time-range-label > strong {
    font: 760 var(--panel-label)/1 var(--font-mono);
  }

  body.is-map-active .mobile-sheet-context-rail .mobile-spatial-view-guide {
    display: block;
    min-width: 0;
    padding: 0;
    border: 0;
    background: none;
    box-shadow: none;
  }

  body.is-map-active .mobile-sheet-context-rail .mobile-spatial-view-guide > .spatial-view-eyebrow {
    display: none;
  }

  body.is-map-active .mobile-sheet-context-rail .spatial-view-button {
    min-height: 40px;
    height: 40px;
    padding: 0 6px;
  }

  body.is-map-active .mobile-sheet[data-snap="full"] > #mobilePrimarySummary {
    order: 4;
  }

  body.is-map-active.is-reach-mode.has-origin .mobile-sheet[data-snap="full"] > #mobileInspector {
    order: 5;
  }

  body.is-map-active .mobile-sheet[data-snap="full"] > #mobileCompassSummary {
    order: 6;
  }

  body.is-map-active .mobile-sheet[data-snap="full"] > #mobileReachDetails {
    order: 5;
  }

  body.is-map-active .mobile-sheet[data-snap="full"] > .mobile-surface-story-toggle {
    order: 4;
  }

  body.is-map-active .mobile-compass-summary[hidden] {
    display: none;
  }

  body.is-map-active .mobile-compass-summary {
    min-width: 0;
    padding: 4px 10px 12px;
  }

  body.is-map-active .mobile-compass-card {
    padding: 11px 10px 8px;
    border: 1px solid rgba(17, 16, 14, 0.16);
    border-radius: 12px;
    background: rgba(255, 253, 247, 0.72);
    box-shadow: 0 7px 18px rgba(36, 30, 20, 0.07);
    animation: mobile-compass-resolve 520ms cubic-bezier(0.16, 1, 0.3, 1) both;
  }

  body.is-map-active .mobile-compass-card .mobile-score-card-clock {
    margin-top: 4px;
  }

  body.is-map-active .mobile-sheet[data-snap="full"] .mobile-sheet-head #mobileCollapsedLineLogo.mobile-collapsed-line-logo:not([hidden]) {
    display: flex;
    grid-row: auto;
    width: fit-content;
    max-width: min(100%, 220px);
    margin: 1px 0 0;
  }

  body.is-map-active .mobile-sheet[data-snap="full"] .mobile-sheet-head .mobile-station-role:not([hidden]) {
    display: block;
    margin: 1px 0 0;
    overflow: hidden;
    color: rgba(17, 16, 14, 0.64);
    font: 680 var(--panel-label)/1.25 var(--font-main);
    text-overflow: ellipsis;
    white-space: nowrap;
    animation: mobile-role-resolve 360ms ease-out both;
  }

  body.is-map-active .mobile-sheet[data-snap="full"] .mobile-sheet-head #mobileStatusText {
    display: none;
  }

  body.is-map-active .origin-glance-neighbors button,
  body.is-map-active .origin-glance-popover button {
    min-height: 40px;
    padding-block: 8px;
  }

  @keyframes mobile-context-resolve {
    from { opacity: 0; transform: translateY(-7px); }
    to { opacity: 1; transform: translateY(0); }
  }

  @keyframes mobile-compass-resolve {
    from { opacity: 0; transform: translateY(8px) scale(0.985); }
    to { opacity: 1; transform: translateY(0) scale(1); }
  }

  @keyframes mobile-role-resolve {
    from { opacity: 0; transform: translateX(-5px); }
    to { opacity: 1; transform: translateX(0); }
  }
}

@media (max-width: 980px) {
  html body.is-map-active #mobileSheet:is([data-snap="half"], [data-snap="full"]) :is(
    #mobileOriginTitle,
    .origin-profile-head > strong,
    .station-detail-title
  ) {
    font-size: var(--mobile-type-reader-title, 20px);
    line-height: 1.16;
  }

  html body.is-map-active #mobileSheet:is([data-snap="half"], [data-snap="full"]) :is(
    .origin-glance-heading > span,
    .detail-section-heading > strong,
    .origin-profile-head > span
  ) {
    font-size: var(--mobile-type-section, 16px);
    line-height: 1.25;
  }

  /* Linked stations are app controls, even when emitted inside compact
     glance popovers. Reset the browser button appearance explicitly. */
  html body.is-map-active #mobileSheet :is(button[data-linked-station-index], .line-chain-stop) {
    appearance: none;
    -webkit-appearance: none;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    box-sizing: border-box;
    min-width: 44px;
    min-height: 44px;
    padding: 8px 11px;
    border: 1px solid var(--mobile-edge-floating, rgba(17, 16, 14, 0.18));
    border-radius: var(--mobile-radius-control, 10px);
    background: var(--mobile-paper-floating-strong, #fffdf7);
    box-shadow: none;
    color: var(--ink);
    font: 680 var(--mobile-type-control, 13px)/1.25 var(--font-main);
    text-align: center;
  }

  html body.is-map-active #mobileSheet :is(button[data-linked-station-index], .line-chain-stop):is(
    .is-active,
    [aria-current="true"],
    [aria-pressed="true"]
  ) {
    border-color: color-mix(in srgb, var(--accent) 52%, var(--mobile-edge-floating, rgba(17, 16, 14, 0.16)));
    background: color-mix(in srgb, var(--accent) 9%, var(--mobile-paper-floating-strong, #fffdf7));
    box-shadow: inset 3px 0 0 var(--accent);
  }

  html body.is-map-active #mobileSheet :is(
    .line-chip,
    .station-line-row,
    .origin-line-evidence-row,
    .linked-row,
    .line-rank,
    .origin-glance-more > summary,
    .network-atlas-details > summary,
    #mobileInspector details > summary,
    #mobileReachDetails details > summary
  ) {
    box-sizing: border-box;
    min-height: 44px;
    border-radius: var(--mobile-radius-control, 10px);
  }
}

/* Data-shaped station stamps: the same normalized reach ripples, true-bearing
 * route threads, station stone and loose registration used by Prototype Stamp,
 * reduced to the few marks that survive at invitation scale. */

.atlas-starter-caption {
  display: grid;
  gap: 2px;
  min-width: 0;
}

@media (min-width: 761px) and (min-height: 600px) {
  body.is-map-active.is-reach-mode.has-origin:not(.is-comparison-surface) #stationDetailsCard :is(
    .origin-profile-head > span,
    .station-reach-highlights-head > .detail-section-label
  ) {
    font-size: 0.9375rem;
    font-weight: 720;
    line-height: 1.2;
  }

  body.is-map-active.is-reach-mode.has-origin:not(.is-comparison-surface) #stationDetailsCard :is(
    .origin-profile-head,
    .station-reach-highlights-head
  ) .eyebrow-pair {
    font-size: 0.8125rem;
    font-weight: 560;
  }

  body.is-map-active.is-reach-mode.has-origin:not(.is-comparison-surface) #stationDetailsCard :is(
    .origin-fact > header > span,
    .origin-fact-series > small,
    .station-reach-highlights-head > small,
    .station-reach-milestone > span > small,
    .station-reach-compass .reach-clock-foot
  ) {
    font-size: 0.875rem;
    line-height: 1.3;
  }

  body.is-map-active.is-reach-mode.has-origin:not(.is-comparison-surface) #stationDetailsCard .origin-fact-series > small {
    overflow: visible;
    overflow-wrap: anywhere;
    text-align: right;
    text-overflow: clip;
    white-space: normal;
  }
}

.desktop-atlas-welcome,
.desktop-atlas-welcome-return,
.desktop-explore-empty {
  display: none;
}

body.has-desktop-explore-empty .side-panel > .briefing-masthead {
  display: none;
}

body.has-desktop-explore-empty .side-panel > .desktop-explore-empty:not([hidden]) {
  display: grid;
  grid-template-rows: auto auto auto minmax(88px, 1fr);
  gap: 0;
  align-content: stretch;
  flex: 1 0 auto;
  box-sizing: border-box;
  min-height: 100%;
  padding: clamp(30px, 3.5vw, 44px) clamp(24px, 2.8vw, 36px) clamp(24px, 3vw, 34px);
  border-top: 0;
  border-bottom: 0;
  background:
    linear-gradient(145deg, rgba(201, 53, 43, 0.035), transparent 38%),
    transparent;
}

.desktop-explore-empty-intro {
  display: grid;
  gap: 10px;
}

.desktop-explore-empty-kicker {
  color: var(--accent);
  font: 780 var(--panel-label)/1 var(--font-mono);
  letter-spacing: 0.16em;
  text-transform: uppercase;
}

.desktop-explore-empty-intro h2 {
  max-width: 13ch;
  margin: 0;
  color: var(--ink);
  font: 720 clamp(1.7rem, 2.5vw, 2.15rem)/1.02 var(--font-display, Georgia, serif);
  letter-spacing: -0.035em;
  text-wrap: balance;
}

.desktop-explore-empty-intro > p {
  max-width: 34ch;
  margin: 0;
  color: rgba(17, 16, 14, 0.66);
  font: 500 var(--panel-body)/1.44 var(--font-main);
}

.desktop-explore-empty-resume,
.desktop-explore-empty-nearby {
  display: grid;
  gap: 8px;
  min-width: 0;
  padding-top: 22px;
}

.desktop-explore-empty-resume[hidden],
.desktop-explore-empty-nearby[hidden] {
  display: none;
}

.desktop-explore-empty-section-title {
  color: rgba(17, 16, 14, 0.58);
  font: 760 var(--panel-label)/1.15 var(--font-mono);
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

.desktop-explore-empty-restore {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 32px;
  gap: 12px;
  align-items: center;
  width: 100%;
  min-height: 78px;
  padding: 13px 13px 12px 15px;
  border: 1px solid rgba(17, 16, 14, 0.3);
  border-radius: 4px;
  background:
    linear-gradient(135deg, rgba(201, 53, 43, 0.045), transparent 64%),
    rgba(255, 253, 247, 0.72);
  box-shadow:
    inset 0 0 0 2px rgba(255, 253, 247, 0.56),
    0 2px 6px rgba(37, 31, 22, 0.06);
  color: var(--ink);
  text-align: left;
  cursor: pointer;
  transition:
    border-color var(--motion-duration-fast) var(--ease-crisp),
    box-shadow var(--motion-duration-base) var(--ease-crisp),
    transform var(--motion-duration-fast) var(--ease-crisp);
}

.desktop-explore-empty-restore[hidden] {
  display: none;
}

.desktop-explore-empty-restore-copy {
  display: grid;
  gap: 5px;
  min-width: 0;
}

.desktop-explore-empty-restore-copy small {
  color: var(--accent);
  font: 760 var(--panel-label)/1 var(--font-mono);
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.desktop-explore-empty-restore-copy strong {
  overflow: hidden;
  font: 720 0.96rem/1.2 var(--font-main);
  text-overflow: ellipsis;
  white-space: nowrap;
}

.desktop-explore-empty-restore i {
  display: grid;
  width: 30px;
  height: 30px;
  border: 1px solid rgba(201, 53, 43, 0.42);
  border-radius: 50%;
  color: var(--accent);
  font-style: normal;
  place-items: center;
  transition: transform var(--motion-duration-fast) var(--ease-crisp);
}

.desktop-explore-empty-restore:is(:hover, :focus-visible) {
  border-color: rgba(179, 42, 32, 0.62);
  box-shadow:
    inset 0 0 0 2px rgba(255, 253, 247, 0.64),
    0 7px 15px rgba(37, 31, 22, 0.1);
  transform: translateY(-1px);
}

.desktop-explore-empty-restore:is(:hover, :focus-visible) i,
.desktop-explore-empty-nearby-grid button:is(:hover, :focus-visible) i,
.desktop-explore-empty-overview:is(:hover, :focus-visible) i {
  transform: translateX(3px);
}

.desktop-explore-empty-restore:focus-visible,
.desktop-explore-empty-nearby-grid button:focus-visible,
.desktop-explore-empty-overview:focus-visible {
  outline: 2px solid var(--accent);
  outline-offset: 2px;
}

.desktop-explore-empty-nearby-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 6px;
}

.desktop-explore-empty-nearby-grid button {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 8px;
  align-items: center;
  min-width: 0;
  min-height: 62px;
  padding: 9px 9px 8px 10px;
  border: 1px solid rgba(17, 16, 14, 0.22);
  border-radius: 3px;
  background: rgba(255, 253, 247, 0.56);
  color: var(--ink);
  text-align: left;
  cursor: pointer;
  transition:
    border-color var(--motion-duration-fast) var(--ease-crisp),
    background-color var(--motion-duration-fast) var(--ease-crisp),
    transform var(--motion-duration-fast) var(--ease-crisp);
}

.desktop-explore-empty-nearby-grid button > span {
  display: grid;
  gap: 4px;
  min-width: 0;
}

.desktop-explore-empty-nearby-grid button strong,
.desktop-explore-empty-nearby-grid button small {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.desktop-explore-empty-nearby-grid button strong {
  font: 720 var(--panel-body)/1.1 var(--font-main);
}

.desktop-explore-empty-nearby-grid button small {
  color: rgba(17, 16, 14, 0.58);
  font: 620 var(--panel-label)/1.1 var(--font-mono);
}

.desktop-explore-empty-nearby-grid button i,
.desktop-explore-empty-overview i {
  color: var(--accent);
  font-style: normal;
  transition: transform var(--motion-duration-fast) var(--ease-crisp);
}

.desktop-explore-empty-nearby-grid button:is(:hover, :focus-visible) {
  border-color: rgba(179, 42, 32, 0.5);
  background: rgba(201, 53, 43, 0.045);
  transform: translateY(-1px);
}

.desktop-explore-empty-footer {
  display: grid;
  gap: 14px;
  align-self: end;
  min-width: 0;
  padding-top: 20px;
  border-top: 1px solid rgba(17, 16, 14, 0.16);
}

.desktop-explore-empty-context {
  display: grid;
  gap: 5px;
}

.desktop-explore-empty-context span {
  color: rgba(17, 16, 14, 0.54);
  font: 760 var(--panel-label)/1 var(--font-mono);
  letter-spacing: 0.09em;
  text-transform: uppercase;
}

.desktop-explore-empty-context strong {
  color: rgba(17, 16, 14, 0.76);
  font: 640 var(--panel-label)/1.45 var(--font-main);
}

.desktop-explore-empty-overview {
  display: inline-flex;
  gap: 8px;
  align-items: center;
  justify-content: space-between;
  width: fit-content;
  min-height: 34px;
  padding: 4px 0;
  border: 0;
  border-bottom: 1px solid currentColor;
  border-radius: 0;
  background: transparent;
  color: rgba(17, 16, 14, 0.64);
  font: 680 var(--panel-label)/1.2 var(--font-main);
  text-align: left;
  cursor: pointer;
}

@media (min-width: 761px) and (min-height: 600px) {
  body.has-network-overview:not(.is-network-story-open) .side-panel > .desktop-atlas-welcome {
    flex: 1 0 auto;
    gap: 14px;
    align-content: center;
    min-height: 0;
    box-sizing: border-box;
    padding: clamp(28px, 4vw, 50px) clamp(24px, 3vw, 38px);
    border-top: 0;
    background: transparent;
  }

  .desktop-atlas-welcome-kicker {
    color: var(--accent);
    font: 780 var(--panel-label)/1 var(--font-mono);
    letter-spacing: 0.16em;
    text-transform: uppercase;
  }

  .desktop-atlas-welcome h2 {
    max-width: 14ch;
    margin: 0;
    color: var(--ink);
    font: 720 clamp(1.65rem, 2.6vw, 2.35rem)/1.02 var(--font-display, Georgia, serif);
    letter-spacing: -0.035em;
  }

  .desktop-atlas-welcome > p {
    max-width: 38ch;
    margin: 0;
    color: rgba(17, 16, 14, 0.66);
    font: 500 var(--panel-body)/1.5 var(--font-main);
  }

  .desktop-atlas-welcome-starters {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 6px;
  }

  .desktop-atlas-welcome-starters button {
    display: grid;
    grid-template-rows: minmax(54px, auto) auto;
    gap: 4px;
    min-width: 0;
    min-height: 104px;
    padding: 5px 6px 7px;
    overflow: hidden;
    border: 1px solid rgba(17, 16, 14, 0.48);
    border-radius: 2px;
    background:
      linear-gradient(rgba(244, 236, 220, 0.24), rgba(244, 236, 220, 0.24)),
      rgba(255, 253, 247, 0.88);
    color: var(--ink);
    box-shadow:
      inset 0 0 0 2px rgba(244, 236, 220, 0.9),
      inset 0 0 0 3px rgba(17, 16, 14, 0.14);
    font: 760 var(--panel-label)/1.1 var(--font-main);
    text-align: left;
    text-overflow: ellipsis;
    white-space: nowrap;
    cursor: pointer;
  }

  /* Each starter states its own reach, so the claim above is shown not asserted. */
  .desktop-atlas-welcome-starters small {
    overflow: hidden;
    color: rgba(17, 16, 14, 0.68);
    font: 620 var(--panel-label)/1.1 var(--font-mono);
    text-overflow: ellipsis;
  }

  .desktop-atlas-welcome-starters button:hover {
    border-color: rgba(179, 42, 32, 0.7);
    background:
      linear-gradient(rgba(244, 236, 220, 0.18), rgba(244, 236, 220, 0.18)),
      rgba(255, 253, 247, 0.96);
  }

  .desktop-atlas-welcome-starters button:focus-visible {
    border-color: var(--ink);
    outline: 2px solid var(--ink);
    outline-offset: 2px;
  }

  .desktop-atlas-survey-button {
    display: grid;
    width: 100%;
    min-width: 0;
    padding: 0;
    overflow: hidden;
    border: 1px solid rgba(17, 16, 14, 0.34);
    border-radius: 4px;
    background:
      linear-gradient(90deg, rgba(17, 16, 14, 0.02) 1px, transparent 1px),
      rgba(255, 253, 247, 0.66);
    background-size: 18px 18px, auto;
    box-shadow:
      inset 0 0 0 2px rgba(255, 253, 247, 0.5),
      0 2px 5px rgba(37, 31, 22, 0.07);
    color: var(--ink);
    text-align: left;
    cursor: pointer;
    transition:
      border-color var(--motion-duration-fast) var(--ease-crisp),
      box-shadow var(--motion-duration-base) var(--ease-crisp),
      transform var(--motion-duration-fast) var(--ease-crisp);
  }

  .desktop-atlas-survey-head {
    display: flex;
    justify-content: space-between;
    align-items: center;
    min-height: 28px;
    padding: 4px 8px;
    border-bottom: 1px solid rgba(17, 16, 14, 0.24);
    background: rgba(17, 16, 14, 0.025);
  }

  .desktop-atlas-survey-head > span {
    display: inline-flex;
    gap: 7px;
    align-items: center;
    color: rgba(17, 16, 14, 0.62);
    font: 760 var(--panel-label)/1.1 var(--font-mono);
    letter-spacing: 0.07em;
    text-transform: uppercase;
  }

  .desktop-atlas-survey-head b {
    display: grid;
    width: 18px;
    height: 18px;
    border: 1px solid var(--accent);
    color: var(--accent);
    font-size: 0.58rem;
    line-height: 1;
    place-items: center;
  }

  .desktop-atlas-survey-head > i {
    position: relative;
    width: 17px;
    height: 1px;
    color: var(--accent);
    background: currentColor;
    transition: transform var(--motion-duration-base) var(--ease-crisp);
  }

  .desktop-atlas-survey-head > i::after {
    position: absolute;
    top: 50%;
    right: 0;
    width: 6px;
    height: 6px;
    border-top: 1px solid currentColor;
    border-right: 1px solid currentColor;
    content: "";
    transform: translateY(-50%) rotate(45deg);
  }

  .desktop-atlas-survey-body {
    display: grid;
    grid-template-columns: minmax(92px, 0.42fr) minmax(0, 1fr);
    min-height: 96px;
  }

  .desktop-atlas-survey-map {
    position: relative;
    display: grid;
    min-width: 0;
    overflow: hidden;
    border-right: 1px solid rgba(17, 16, 14, 0.16);
    background:
      radial-gradient(circle at 50% 48%, rgba(179, 42, 32, 0.055), transparent 62%),
      rgba(255, 253, 247, 0.22);
    place-items: center;
  }

  .desktop-atlas-survey-map .network-plate {
    flex: none;
    width: 78px;
    max-width: calc(100% - 12px);
    max-height: 88px;
    filter: drop-shadow(0 2px 2px rgba(17, 16, 14, 0.08));
    transition:
      filter var(--motion-duration-base) var(--ease-crisp),
      transform var(--motion-duration-base) var(--ease-crisp);
  }

  .desktop-atlas-survey-button:not(.is-registering) .network-plate-rail path {
    stroke-dasharray: 1;
    stroke-dashoffset: 1;
  }

  .desktop-atlas-survey-button.is-registering .network-plate {
    animation: desktop-atlas-survey-plate-register 520ms cubic-bezier(0.16, 1, 0.3, 1) both;
  }

  .desktop-atlas-survey-button.is-registering .network-plate-rail path {
    stroke-dasharray: 1;
    stroke-dashoffset: 0;
    animation: desktop-atlas-survey-route-register 640ms var(--survey-route-delay, 0ms) cubic-bezier(0.16, 1, 0.3, 1) backwards;
  }

  .desktop-atlas-survey-scan {
    position: absolute;
    z-index: 2;
    top: 7px;
    bottom: 7px;
    left: 7%;
    width: 1px;
    background: linear-gradient(180deg, transparent, rgba(201, 53, 43, 0.9) 20% 80%, transparent);
    box-shadow: 8px 0 14px rgba(201, 53, 43, 0.12);
    opacity: 0;
    pointer-events: none;
  }

  .desktop-atlas-survey-button.is-registering .desktop-atlas-survey-scan {
    animation: desktop-atlas-survey-scan 980ms 300ms cubic-bezier(0.16, 1, 0.3, 1) both;
  }

  .desktop-atlas-survey-summary {
    display: grid;
    align-content: center;
    gap: 5px;
    min-width: 0;
    padding: 10px 11px;
  }

  .desktop-atlas-survey-summary > strong {
    color: var(--ink);
    font: 760 clamp(1rem, 1.8vw, 1.22rem)/1 var(--font-display, Georgia, serif);
    letter-spacing: -0.035em;
  }

  .desktop-atlas-survey-summary > span {
    display: flex;
    gap: 4px;
    align-items: baseline;
    min-width: 0;
    color: rgba(17, 16, 14, 0.62);
    font: 560 var(--panel-label)/1.2 var(--font-main);
  }

  .desktop-atlas-survey-summary > span b {
    flex: 0 0 auto;
    color: var(--ink);
    font: 760 var(--panel-label)/1 var(--font-mono);
  }

  .desktop-atlas-survey-summary small {
    display: inline-flex;
    gap: 5px;
    align-items: center;
    margin-top: 2px;
    color: var(--accent);
    font: 720 var(--panel-label)/1.15 var(--font-main);
  }

  .desktop-atlas-survey-summary small i {
    font-style: normal;
    transition: transform var(--motion-duration-base) var(--ease-crisp);
  }

  .desktop-atlas-survey-button:is(:hover, :focus-visible) {
    border-color: rgba(179, 42, 32, 0.68);
    box-shadow:
      inset 0 0 0 2px rgba(255, 253, 247, 0.58),
      0 7px 15px rgba(37, 31, 22, 0.11);
    transform: translateY(-1px);
  }

  .desktop-atlas-survey-button:focus-visible {
    outline: 2px solid rgba(179, 42, 32, 0.72);
    outline-offset: 2px;
  }

  .desktop-atlas-survey-button:is(:hover, :focus-visible) .desktop-atlas-survey-head > i,
  .desktop-atlas-survey-button:is(:hover, :focus-visible) .desktop-atlas-survey-summary small i {
    transform: translateX(3px);
  }

  .desktop-atlas-survey-button:is(:hover, :focus-visible) .network-plate {
    filter: drop-shadow(0 3px 3px rgba(17, 16, 14, 0.12));
    transform: scale(1.018);
  }

  .desktop-atlas-survey-button:is(:hover, :focus-visible) .desktop-atlas-survey-scan {
    animation: desktop-atlas-survey-scan-hover 760ms cubic-bezier(0.16, 1, 0.3, 1) both;
  }

  .desktop-atlas-welcome-stories {
    display: grid;
    gap: 8px;
    min-width: 0;
    padding-top: 10px;
    border-top: 1px solid rgba(17, 16, 14, 0.16);
  }

  .desktop-atlas-welcome-stories-title {
    color: rgba(17, 16, 14, 0.58);
    font: 760 var(--panel-label)/1.15 var(--font-mono);
    letter-spacing: 0.1em;
    text-transform: uppercase;
  }

  .desktop-atlas-welcome-story-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 6px;
  }

  .desktop-atlas-welcome-story-grid button {
    position: relative;
    display: grid;
    align-content: start;
    gap: 5px;
    min-width: 0;
    min-height: 92px;
    padding: 10px 9px 9px;
    overflow: hidden;
    border: 1px solid rgba(17, 16, 14, 0.22);
    border-radius: 3px;
    background:
      linear-gradient(155deg, rgba(255, 253, 247, 0.84), rgba(242, 235, 221, 0.52));
    color: var(--ink);
    text-align: left;
    cursor: pointer;
    transition:
      border-color var(--motion-duration-fast) var(--ease-crisp),
      background-color var(--motion-duration-fast) var(--ease-crisp),
      transform var(--motion-duration-fast) var(--ease-crisp);
  }

  .desktop-atlas-welcome-story-grid button::before {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 2px;
    background: var(--rail-red);
    content: "";
    transform: scaleX(0.22);
    transform-origin: left;
    transition: transform var(--motion-duration-base) var(--ease-crisp);
  }

  .desktop-atlas-welcome-story-grid button strong {
    max-width: 100%;
    font: 760 0.84rem/1.03 var(--font-mono);
    letter-spacing: -0.025em;
    overflow-wrap: anywhere;
    text-wrap: balance;
  }

  .desktop-atlas-welcome-story-grid button span {
    color: rgba(17, 16, 14, 0.64);
    font: 570 var(--panel-label)/1.22 var(--font-main);
  }

  .desktop-atlas-welcome-story-grid button:is(:hover, :focus-visible) {
    border-color: rgba(179, 42, 32, 0.62);
    background: rgba(201, 53, 43, 0.055);
    transform: translateY(-1px);
  }

  .desktop-atlas-welcome-story-grid button:is(:hover, :focus-visible)::before {
    transform: scaleX(1);
  }

  .desktop-atlas-welcome-story-grid button:focus-visible {
    outline: 2px solid var(--ink);
    outline-offset: 2px;
  }

  .desktop-atlas-welcome-return {
    width: fit-content;
    min-height: 36px;
    padding: 4px 0;
    border: 0;
    border-bottom: 1px solid currentColor;
    border-radius: 0;
    background: transparent;
    color: rgba(17, 16, 14, 0.64);
    font: 650 var(--panel-label)/1.25 var(--font-main);
    text-align: left;
    cursor: pointer;
  }

  body.has-network-overview:not(.is-network-story-open) .side-panel > #atlasNetworkPortrait {
    display: none;
  }

  body.has-network-overview.is-network-story-open .side-panel > #atlasNetworkPortrait {
    display: block;
    padding: 0;
    border-top: 0;
  }

  body.has-network-overview.is-network-story-open .side-panel > .desktop-atlas-welcome-return:not([hidden]) {
    position: sticky;
    z-index: 6;
    top: 0;
    display: inline-flex;
    align-items: center;
    flex: 0 0 auto;
    width: auto;
    margin: 0;
    padding: 10px 18px 9px;
    border-bottom: 1px solid rgba(17, 16, 14, 0.2);
    background: rgba(248, 244, 234, 0.97);
  }

  body.is-map-active.is-reach-mode.has-origin:not(.is-car-surface):not(.is-walking-surface):not(.is-comparison-surface) .side-panel > .score-card { order: 1; }
  body.is-map-active.is-reach-mode.has-origin:not(.is-car-surface):not(.is-walking-surface):not(.is-comparison-surface) .side-panel > .station-role-card { order: 2; }
  body.is-map-active.is-reach-mode.has-origin:not(.is-car-surface):not(.is-walking-surface):not(.is-comparison-surface) .side-panel > #stationDetailsCard { order: 3; }
  body.is-map-active.is-reach-mode.has-origin:not(.is-car-surface):not(.is-walking-surface):not(.is-comparison-surface) .side-panel > #reachLinesCard { order: 4; }
  body.is-map-active.is-reach-mode.has-origin:not(.is-car-surface):not(.is-walking-surface):not(.is-comparison-surface) .side-panel > #reachDetailsCard { order: 5; }
  body.is-map-active.is-reach-mode.has-origin:not(.is-car-surface):not(.is-walking-surface):not(.is-comparison-surface) .side-panel > #neighborhoodTextureCard { order: 6; }
  body.is-map-active.is-reach-mode.has-origin:not(.is-car-surface):not(.is-walking-surface):not(.is-comparison-surface) .side-panel > #stationDataNoteCard { order: 7; }

}

@media (min-width: 761px) {
  body.has-network-overview .command-mast > .spatial-view-guide,
  body.has-network-overview #locateButton,
  body.has-network-overview #hillsButton,
  body.has-network-overview #mapStatePill {
    display: none;
  }
}

@keyframes desktop-atlas-survey-plate-register {
  from {
    opacity: 0;
    transform: scale(0.975);
  }
  to {
    opacity: 1;
    transform: scale(1);
  }
}

@keyframes desktop-atlas-survey-route-register {
  from {
    stroke-dashoffset: 1;
    opacity: 0.1;
  }
  to {
    stroke-dashoffset: 0;
    opacity: 0.42;
  }
}

@keyframes desktop-atlas-survey-scan {
  0% { opacity: 0; transform: translateX(0); }
  18% { opacity: 0.72; }
  82% { opacity: 0.42; }
  100% { opacity: 0; transform: translateX(82px); }
}

@keyframes desktop-atlas-survey-scan-hover {
  0% { opacity: 0; transform: translateX(0); }
  22% { opacity: 0.6; }
  100% { opacity: 0; transform: translateX(82px); }
}

@media (min-width: 761px) and (min-height: 600px) and (max-height: 760px) {
  body.has-desktop-explore-empty .side-panel > .desktop-explore-empty:not([hidden]) {
    padding: 22px 24px 20px;
  }

  .desktop-explore-empty-intro,
  .desktop-explore-empty-resume,
  .desktop-explore-empty-nearby {
    gap: 7px;
  }

  .desktop-explore-empty-resume,
  .desktop-explore-empty-nearby {
    padding-top: 15px;
  }

  .desktop-explore-empty-restore {
    min-height: 64px;
    padding-top: 10px;
    padding-bottom: 10px;
  }

  .desktop-explore-empty-nearby-grid button {
    min-height: 52px;
    padding-top: 7px;
    padding-bottom: 7px;
  }

  .desktop-explore-empty-footer {
    gap: 8px;
    padding-top: 14px;
  }

  body.has-network-overview:not(.is-network-story-open) .side-panel > .desktop-atlas-welcome {
    gap: 10px;
    padding-top: 20px;
    padding-bottom: 20px;
  }

  .desktop-atlas-welcome h2 {
    font-size: clamp(1.55rem, 2.4vw, 1.9rem);
  }

  .desktop-atlas-survey-body {
    min-height: 82px;
  }

  .desktop-atlas-survey-map .network-plate {
    width: 66px;
    max-height: 74px;
  }

  .desktop-atlas-welcome-story-grid button {
    min-height: 78px;
    padding-top: 8px;
    padding-bottom: 8px;
  }

  .desktop-atlas-welcome-story-grid button strong {
    font-size: 0.78rem;
  }
}

@media (prefers-reduced-motion: reduce) {
  .desktop-atlas-survey-button,
  .desktop-atlas-survey-button .network-plate,
  .desktop-atlas-survey-button .network-plate-rail path,
  .desktop-atlas-survey-head > i,
  .desktop-atlas-survey-summary small i,
  .desktop-explore-empty-restore,
  .desktop-explore-empty-restore i,
  .desktop-explore-empty-nearby-grid button,
  .desktop-explore-empty-nearby-grid button i,
  .desktop-explore-empty-overview i {
    transition: none;
  }

  .desktop-atlas-survey-button.is-registering .network-plate,
  .desktop-atlas-survey-button.is-registering .network-plate-rail path,
  .desktop-atlas-survey-button .desktop-atlas-survey-scan {
    animation: none;
  }

  .desktop-atlas-survey-button .network-plate-rail path {
    stroke-dasharray: none;
    stroke-dashoffset: 0;
  }

  .desktop-atlas-survey-button:is(:hover, :focus-visible),
  .desktop-atlas-survey-button:is(:hover, :focus-visible) .network-plate,
  .desktop-atlas-survey-button:is(:hover, :focus-visible) .desktop-atlas-survey-head > i,
  .desktop-atlas-survey-button:is(:hover, :focus-visible) .desktop-atlas-survey-summary small i,
  .desktop-explore-empty-restore:is(:hover, :focus-visible) i {
    transform: none;
  }
}

@media (max-width: 980px) {
  .mobile-share-button[hidden],
  .mobile-sheet .share-button[hidden] {
    display: none;
  }

}

@media (max-width: 620px) {
  body.is-map-active .mobile-sheet[data-snap="full"] > .mobile-sheet-context-rail {
    top: 102px;
  }

  body.is-map-active .mobile-sheet-context-rail .mobile-search-form {
    grid-column: 1 / -1;
  }

  body.is-map-active .mobile-sheet-context-rail .mobile-spatial-view-guide {
    grid-column: 2;
  }

  body.is-map-active .mobile-sheet-context-rail .spatial-view-copy em,
  body.is-map-active .mobile-sheet-context-rail .spatial-view-icon {
    display: none;
  }

  body.is-map-active .mobile-sheet[data-snap="collapsed"] .mobile-collapsed-control-bar {
    grid-template-columns: minmax(0, 1fr) 56px 48px;
    gap: 4px;
    width: 100%;
    min-width: 0;
  }

  body.is-map-active .mobile-sheet[data-snap="collapsed"] .mobile-collapsed-poster-button {
    width: 48px;
    min-width: 48px;
    padding: 0;
    background-position: center;
    color: transparent;
    font-size: 0;
  }
}

@media (max-width: 370px) {
  body.is-map-active:is(.has-origin, .is-route-mode, .is-index-mode) .mobile-sheet #mobileSheetShareButton:not([hidden]) {
    display: grid;
  }

  body.is-map-active .mobile-sheet .mobile-sheet-actions {
    grid-template-columns: 44px;
  }

}


@media (min-width: 761px) and (max-width: 980px) and (min-height: 600px) and (orientation: landscape) {
  body.is-map-active .mobile-map-control-rail {
  }

  body.is-map-active .mobile-map-search-form[data-panel-visible="true"],
  body.is-map-active .mobile-map-search-form:not([hidden]) {
    display: grid;
  }
}

@media (prefers-reduced-motion: reduce) {
  body.is-map-active .mobile-sheet[data-snap="full"] > .mobile-sheet-context-rail,
  body.is-map-active .mobile-compass-card,
  body.is-map-active .mobile-sheet[data-snap="full"] .mobile-sheet-head .mobile-station-role {
    animation: none;
  }
}

.side-panel > section,
.side-panel > .briefing-masthead {
  flex: 0 0 auto;
  margin: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}

.side-panel > section {
  border-top: 1px solid var(--material-ledger-rule);
}

.briefing-masthead {
  border-bottom: 1px solid rgba(17, 16, 14, 0.34);
}

.details-card::before,
.details-card::after,
.route-card::before,
.route-card::after,
.score-card::before,
.score-card::after {
  display: none;
}

body.is-reach-mode.has-origin:not(.is-comparison-surface) .score-card,
.score-card {
  padding: 16px 18px;
  min-height: 0;
}

.side-panel {
  background:
    linear-gradient(90deg, rgba(17, 16, 14, 0.02) 1px, transparent 1px),
    linear-gradient(180deg, rgba(255, 253, 247, 0.94), rgba(244, 238, 225, 0.86));
  background-size: 34px 34px, auto;
}

.briefing-masthead {
  padding: 18px 18px 14px 22px;
}

.side-panel .briefing-masthead-title {
  padding-left: 10px;
  border-left: 3px solid var(--material-signal-red);
}

.side-panel > section {
  display: grid;
  gap: 9px;
  padding: 14px 18px 13px;
}

.side-panel > section h3,
.score-card > span {
  margin: 0;
  color: rgba(17, 16, 14, 0.58);
  font-family: var(--font-mono);
  font-size: var(--panel-label);
  font-weight: 800;
  letter-spacing: 0.09em;
}

.route-summary,
#stationDetails,
#reachDetails,
#lineDetails,
#reachMeta {
  color: rgba(17, 16, 14, 0.68);
  line-height: 1.42;
}

body.is-reach-mode.has-origin:not(.is-comparison-surface) .score-card,
.score-card {
  background:
    linear-gradient(90deg, rgba(17, 16, 14, 0.08) 0 1px, transparent 1px 100%) left bottom / 12px 1px repeat-x;
}

body.is-reach-mode.has-origin:not(.is-comparison-surface) .reach-caption-headline > #reachValue,
.score-card > strong {
  font-size: clamp(40px, 4vw, 58px);
}

body.is-reach-mode.has-origin:not(.is-comparison-surface) .side-panel {
  gap: 8px;
}

body.is-reach-mode.has-origin:not(.is-comparison-surface) .side-panel > .score-card {
  order: 1;
  padding: 16px 18px 13px;
  border-color: rgba(17, 16, 14, 0.26);
}

body.is-reach-mode.has-origin .side-panel > .briefing-masthead {
  order: 0;
  padding: 15px 16px 13px;
  border-bottom-color: rgba(17, 16, 14, 0.34);
}

body.is-reach-mode.has-origin:not(.is-comparison-surface) #stationDetailsCard {
  order: 3;
}

body.is-reach-mode.has-origin:not(.is-comparison-surface) #reachDetailsCard {
  order: 2;
}

body.is-map-active.is-reach-mode.has-origin .side-panel > .briefing-masthead .briefing-masthead-kicker {
  font-size: var(--panel-label);
  letter-spacing: 0.16em;
}

body.is-map-active.is-reach-mode.has-origin .side-panel > .briefing-masthead .briefing-masthead-title strong {
  font-size: clamp(20px, 1.9vw, 26px);
}

body.is-map-active.is-reach-mode.has-origin .side-panel > .briefing-masthead .briefing-masthead-title span[lang="ja"] {
  font-size: clamp(16px, 1.45vw, 20px);
}

body.is-reach-mode.has-origin .briefing-masthead-classification {
  font-size: var(--panel-label);
  font-style: normal;
}

body.is-reach-mode.has-origin:not(.is-comparison-surface) .score-card > span:first-child,
body.is-reach-mode.has-origin:not(.is-comparison-surface) #scoreCardTitle {
  color: var(--plate-ink);
  font-size: var(--panel-label);
  letter-spacing: 0.18em;
}

body.is-reach-mode.has-origin:not(.is-comparison-surface) .score-card .reach-summary-line strong {
  color: var(--plate-ink);
  font-style: normal;
}

.departure-board-pending {
  display: grid;
  gap: 4px;
  width: min(100%, 270px);
  font-variant-numeric: tabular-nums;
}

.departure-board-pending > span {
  display: grid;
  grid-template-columns: 58px minmax(0, 1fr);
  align-items: baseline;
  border-bottom: 1px solid rgb(17 16 14 / 14%);
  padding: 2px 0;
}

.departure-board-pending i {
  color: var(--plate-muted);
  font: 700 9px/1 var(--font-sans);
  letter-spacing: .14em;
}

.departure-board-pending b {
  overflow: hidden;
  color: var(--plate-ink);
  font: 760 11px/1.2 var(--font-sans);
  letter-spacing: .08em;
  text-overflow: ellipsis;
  white-space: nowrap;
}

body.is-map-active.is-reach-mode.has-origin .side-panel > .briefing-masthead,
body.is-map-active .side-panel > .briefing-masthead[data-sign-state="station"] {
  padding-left: 24px;
}

body.is-map-active.is-reach-mode.has-origin .side-panel > .briefing-masthead::before,
.side-panel > .briefing-masthead[data-sign-state="station"]::before {
  left: 8px;
  top: 34px;
  bottom: 12px;
  width: 2px;
  pointer-events: none;
}

@media (min-width: 981px), (min-width: 761px) and (max-width: 980px) and (min-height: 600px) and (orientation: landscape) {
body.is-reach-mode.has-origin:not(.is-comparison-surface) #stationDataNoteCard {
    order: 9;
  }

body.is-reach-mode.has-origin:not(.is-comparison-surface) #lineDetailsCard,
  body.is-reach-mode.has-origin:not(.is-comparison-surface) #neighborhoodTextureCard {
    order: 8;
  }

#stationDetailsCard .desktop-origin-summary {
    gap: 10px;
  }

#stationDetailsCard .origin-compact-fact {
    padding-block: 7px;
    border-top-color: rgba(17, 16, 14, 0.055);
  }

#stationDetailsCard .origin-position-row {
    padding-block: 6px;
    border-top-color: rgba(17, 16, 14, 0.055);
  }

#stationDetailsCard .origin-line-evidence-row {
    border-top-color: rgba(17, 16, 14, 0.055);
  }
}

body.is-reach-mode.has-origin:not(.is-comparison-surface) .reach-caption-headline {
  display: grid;
  gap: 7px;
}

body.is-reach-mode.has-origin:not(.is-comparison-surface) #reachValue {
  font-size: 1rem;
  line-height: 1;
}

body.is-reach-mode.has-origin:not(.is-comparison-surface) #reachValue .reach-station-count {
  display: flex;
  align-items: baseline;
  gap: 10px;
}

body.is-reach-mode.has-origin:not(.is-comparison-surface) #reachValue .reach-station-count b {
  color: var(--ink);
  font-family: var(--font-metric, var(--font-mono));
  font-size: clamp(2.35rem, 3.8vw, 3.3rem);
  font-weight: 820;
  letter-spacing: -0.035em;
}

body.is-reach-mode.has-origin:not(.is-comparison-surface) #reachValue .reach-station-count span {
  display: inline;
  color: rgba(17, 16, 14, 0.72);
  font-family: var(--font-main);
  font-size: 0.84rem;
  font-weight: 720;
  letter-spacing: 0;
  line-height: 1.25;
  text-transform: none;
}

body.is-reach-mode.has-origin:not(.is-comparison-surface) #reachNetworkTagline {
  color: var(--ink-label);
  font-family: var(--font-mono);
  font-size: var(--panel-label);
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.life-from-here-combined {
  display: grid;
  gap: 12px;
}

.life-from-here-combined .daily-life-circle.is-compact {
  margin: 0;
  padding-bottom: 12px;
  border-bottom: 1px solid rgba(17, 16, 14, 0.14);
}

.life-from-here-combined .life-access-orbit {
  margin: 0;
  border-top: 0;
}

.mobile-score-card-clock {
  grid-column: 1 / -1;
  margin-top: 8px;
  padding-top: 10px;
  border-top: 1px solid rgba(17, 16, 14, 0.12);
}

@media (max-width: 760px) {
  body.is-reach-mode.has-origin .mobile-sheet[data-snap="full"] > #mobileInspector {
    order: 3;
  }

  body.is-reach-mode.has-origin .mobile-sheet[data-snap="full"] > #mobilePrimarySummary {
    order: 4;
  }

  body.is-reach-mode.has-origin .mobile-sheet[data-snap="full"] > #mobileReachDetails {
    order: 3;
  }

  .mobile-sheet[data-snap="full"] .mobile-score-card .network-count {
    align-items: baseline;
    gap: 8px;
  }

  .mobile-sheet[data-snap="full"] .mobile-score-card .network-count span {
    max-width: 18ch;
    font-family: var(--font-main);
    font-size: var(--panel-label);
    font-weight: 720;
    letter-spacing: 0;
    line-height: 1.25;
    text-transform: none;
  }
}

body.is-reach-mode.has-origin:not(.is-comparison-surface) .side-panel > .score-card,
.side-panel > .score-card {
  display: grid;
  grid-auto-rows: max-content;
  align-content: start;
  height: auto;
  min-height: 0;
  max-height: none;
  overflow: visible;
}

.score-card-caption {
  height: auto;
  min-height: 0;
  overflow: visible;
}

body.is-inspect-mode #stationDetailsCard,
body.is-inspect-mode #lineDetailsCard,
body.is-inspect-mode #stationDataNoteCard,
body.is-inspect-mode #neighborhoodTextureCard {
  display: none;
}

body.is-inspect-mode .side-panel > .score-card {
  display: grid;
  gap: 11px;
  max-height: none;
  overflow: visible;
}

body.is-inspect-mode .score-card > span:first-child,
body.is-inspect-mode #scoreCardTitle {
  letter-spacing: 0;
  text-transform: none;
}

body.is-inspect-mode #scoreCardTitle,
body.is-map-active.is-inspect-mode .side-panel .score-card > #scoreCardTitle {
  display: none;
}

body.is-inspect-mode .score-card-caption {
  display: grid;
  gap: 0;
  margin-top: 0;
}

body.is-inspect-mode #scoreCardTitle::before,
body.is-inspect-mode .score-card > span:first-child::before {
  content: none;
  display: none;
}

body.is-inspect-mode #scorePlateNumber,
body.is-map-active.is-inspect-mode .side-panel .score-card > #scorePlateNumber {
  display: none;
}

body.is-inspect-mode .reach-caption-headline,
body.is-map-active.is-inspect-mode .side-panel .score-card .reach-caption-headline {
  display: none;
}

body.is-inspect-mode .reach-caption-headline > #reachValue {
  font-family: var(--font-main);
  font-size: var(--panel-label);
  font-weight: 780;
  letter-spacing: 0;
  line-height: 1.1;
}

.briefing-masthead:not([data-sign-state="station"]) .briefing-masthead-title strong,
.briefing-masthead[data-sign-state="empty"] .briefing-masthead-title strong {
  font-family: var(--font-ui-ja);
  font-weight: 760;
  letter-spacing: -0.025em;
}

.briefing-masthead[data-sign-state="empty"] .briefing-masthead-classification {
  font-family: var(--font-main);
  font-size: var(--panel-label);
  font-style: normal;
  font-weight: 610;
  line-height: 1.3;
}

.briefing-masthead:not([data-sign-state="station"]) .briefing-masthead-title span[lang="ja"],
.briefing-masthead[data-sign-state="empty"] .briefing-masthead-title span[lang="ja"] {
  font-family: var(--font-ui-ja);
  font-weight: 700;
  letter-spacing: 0;
  text-transform: none;
}

.briefing-masthead:not([data-sign-state="station"]) .briefing-masthead-title .masthead-romaji,
.briefing-masthead[data-sign-state="empty"] .briefing-masthead-title .masthead-romaji {
  font-family: var(--font-ui);
  font-weight: 700;
  letter-spacing: 0.03em;
  text-transform: none;
}

.briefing-masthead[data-sign-state="station"] .briefing-masthead-classification {
  font-family: var(--font-rail-label);
  font-style: normal;
  font-weight: 760;
  letter-spacing: 0.045em;
  text-transform: uppercase;
}

@media (min-width: 981px) and (max-width: 1240px), (min-width: 761px) and (max-width: 980px) and (min-height: 600px) and (orientation: landscape) {
body.is-map-active .side-panel {
    height: 100%;
    min-height: 0;
    max-height: 100%;
    overflow-y: auto;
  }
}

.dossier-close {
  display: none;
}

.dossier-restore {
  display: none;
}

.dossier-restore[hidden],
body.is-map-active.is-dossier-minimized .dossier-restore[hidden] {
  display: none;
}

@media (min-width: 981px), (min-width: 761px) and (max-width: 980px) and (min-height: 600px) and (orientation: landscape) {

  body.is-map-active .workspace {
    grid-template-columns: minmax(0, 1fr) clamp(312px, 32vw, 392px);
  }

  @media (max-width: 1240px) {
    body.is-map-active .workspace {
      grid-template-columns: minmax(0, 1fr) clamp(300px, 33vw, 380px);
    }
  }

  body.is-map-active .side-panel {
    position: relative;
    top: 0;
    display: flex;
    flex-direction: column;
    height: 100%;
    max-height: 100%;
    overflow-y: auto;
    padding: 0;
    border: 1px solid rgba(17, 16, 14, 0.16);
    border-radius: 16px;
    background:
      linear-gradient(180deg, rgba(255, 253, 247, 0.98), rgba(250, 246, 237, 0.96));
    box-shadow:
      0 1px 2px rgba(17, 16, 14, 0.05),
      0 18px 44px rgba(48, 42, 32, 0.12);
    scrollbar-gutter: auto;
  }

  body.is-map-active .side-panel::-webkit-scrollbar {
    width: 7px;
  }

  body.is-map-active .side-panel::-webkit-scrollbar-thumb {
    border-radius: 99px;
    background: rgba(17, 16, 14, 0.18);
  }

  body.is-map-active .side-panel > section,
  body.is-map-active .side-panel > header {
    margin: 0;
    border: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
  }

  body.is-map-active .side-panel > section {
    padding: 15px 18px 17px;
    border-top: 1px solid rgba(17, 16, 14, 0.09);
  }

  body.is-map-active .side-panel > section:hover {
    border-color: rgba(17, 16, 14, 0.09);
    box-shadow: none;
    transform: none;
  }

  body.is-map-active .side-panel > section::before,
  body.is-map-active .side-panel > section::after {
    content: none;
  }


  body.is-map-active .side-panel .briefing-masthead {
    position: relative;
    padding: 18px 18px 14px;
  }

  body.is-map-active .side-panel .briefing-masthead .briefing-masthead-kicker {
    display: flex;
    order: 0;
    align-items: baseline;
    gap: 7px;
    margin: 0 28px 2px 0;
    color: rgba(22, 20, 15, 0.62);
    font-family: var(--font-rail-label);
    font-size: var(--panel-label);
    font-weight: 820;
    letter-spacing: 0.15em;
    text-transform: uppercase;
  }

  body.is-map-active .side-panel .briefing-masthead .briefing-divider {
    color: rgba(22, 20, 15, 0.25);
  }

  body.is-map-active .side-panel .briefing-masthead .briefing-plate-number {
    color: var(--ink-label);
    font-family: var(--font-mono);
    letter-spacing: 0.08em;
  }

  body.is-map-active .side-panel .briefing-masthead .briefing-masthead-title {
    position: relative;
    padding-left: 13px;
  }

  body.is-map-active .side-panel .briefing-masthead[data-sign-state="station"] .briefing-masthead-title {
    align-items: flex-start;
  }

  body.is-map-active .side-panel .briefing-masthead .briefing-masthead-title::before {
    content: "";
    position: absolute;
    left: 0;
    top: 3px;
    bottom: 3px;
    width: 4px;
    border-radius: 99px;
    background: var(--accent);
  }

  body.is-map-active .side-panel .briefing-masthead .briefing-masthead-title::after {
    content: none;
  }

  body.is-map-active:is(.has-origin, .has-station-focus, .has-line-focus, .is-route-mode) .side-panel .dossier-close {
    position: absolute;
    top: 14px;
    right: 14px;
    z-index: 3;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 36px;
    min-width: 36px;
    height: 36px;
    min-height: 36px;
    padding: 0;
    border: 1px solid rgba(17, 16, 14, 0.16);
    border-radius: 50%;
    background: rgba(255, 253, 247, 0.84);
    color: var(--ink-secondary);
    box-shadow: none;
    cursor: pointer;
    transition: border-color var(--motion-duration-micro) var(--motion-ease-standard), background-color var(--motion-duration-micro) var(--motion-ease-standard), color var(--motion-duration-micro) var(--motion-ease-standard), transform var(--motion-duration-micro) var(--motion-ease-standard);
  }

  /* Keep the line-badge grid out of the panel-toggle lane. Busy stations can
     use the full 136px badge stack without painting under the control. */
  body.is-map-active:is(.has-origin, .has-station-focus, .has-line-focus, .is-route-mode) .side-panel .briefing-masthead-station-row {
    padding-right: 44px;
  }

  body.is-map-active:is(.has-origin, .has-station-focus, .has-line-focus, .is-route-mode) .side-panel .dossier-close:hover {
    border-color: rgba(17, 16, 14, 0.34);
    background: rgba(17, 16, 14, 0.06);
    color: var(--ink);
  }

  body.is-map-active:is(.has-origin, .has-station-focus, .has-line-focus, .is-route-mode) .side-panel .dossier-close:focus-visible,
  body.is-map-active.is-dossier-minimized .dossier-restore:focus-visible {
    outline: 2px solid var(--accent);
    outline-offset: 2px;
    box-shadow: 0 0 0 4px rgba(201, 53, 43, 0.18);
  }

  body.is-map-active:is(.has-origin, .has-station-focus, .has-line-focus, .is-route-mode) .side-panel .dossier-close:active,
  body.is-map-active.is-dossier-minimized .dossier-restore:active {
    transform: translateY(1px);
  }

  .dossier-close > span,
  .dossier-restore > span {
    position: absolute;
    width: 1px;
    height: 1px;
    overflow: hidden;
    clip: rect(0 0 0 0);
    clip-path: inset(50%);
    white-space: nowrap;
  }

  .dossier-close > .panel-utility-icon,
  .dossier-restore > .panel-utility-icon {
    display: block;
  }

  body.is-map-active.is-dossier-minimized .workspace {
    grid-template-columns: minmax(0, 1fr);
    align-items: stretch;
  }

  body.is-map-active.is-dossier-minimized .map-panel {
    min-height: calc(100vh - 32px);
    min-height: calc(100dvh - 32px);
  }

  body.is-map-active.is-dossier-minimized .command-mast {
    box-sizing: border-box;
    padding-right: 60px;
  }

  body.is-map-active.is-dossier-minimized .side-panel {
    display: none;
  }

  body.is-map-active.is-dossier-minimized .dossier-restore {
    position: fixed;
    top: calc(env(safe-area-inset-top) + 26px);
    right: 14px;
    z-index: 90;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 36px;
    min-width: 36px;
    height: 36px;
    min-height: 36px;
    padding: 0;
    border: 1px solid rgba(17, 16, 14, 0.16);
    border-radius: 50%;
    background: rgba(255, 253, 247, 0.9);
    color: var(--ink-secondary);
    box-shadow: 0 8px 22px rgba(48, 42, 32, 0.12);
    cursor: pointer;
    transition: border-color var(--motion-duration-micro) var(--motion-ease-standard), background-color var(--motion-duration-micro) var(--motion-ease-standard), color var(--motion-duration-micro) var(--motion-ease-standard), transform var(--motion-duration-micro) var(--motion-ease-standard);
  }

  body.is-map-active.is-dossier-minimized .dossier-restore:hover {
    border-color: rgba(17, 16, 14, 0.34);
    background: rgba(255, 253, 247, 0.98);
    color: var(--ink);
  }

  @media (max-width: 1240px) {
    body.is-map-active.is-dossier-minimized .dossier-restore {
      top: calc(env(safe-area-inset-top) + 23px);
    }
  }


  body.is-map-active .side-panel .details-card > h3,
  body.is-map-active .side-panel .route-card > h3 {
    margin: 0 0 10px;
    padding: 0;
    border: 0;
    color: rgba(22, 20, 15, 0.62);
    font-family: var(--font-rail-label);
    font-size: var(--panel-label);
    font-weight: 820;
    letter-spacing: 0.14em;
    text-transform: uppercase;
  }

  body.is-map-active .side-panel .details-card > h3::before,
  body.is-map-active .side-panel .details-card > h3::after,
  body.is-map-active .side-panel .route-card > h3::before,
  body.is-map-active .side-panel .route-card > h3::after {
    content: none;
  }


  body.is-map-active.is-reach-mode.has-origin:not(.is-comparison-surface) .side-panel .score-card,
  body.is-map-active .side-panel .score-card {
    position: relative;
    border-top: 0;
    background:
    repeating-linear-gradient(90deg, rgba(17, 16, 14, 0.14) 0 1px, transparent 1px 8px) left 18px top 0 / calc(100% - 36px) 6px no-repeat,
    linear-gradient(rgba(17, 16, 14, 0.12), rgba(17, 16, 14, 0.12)) left 18px top 1px / calc(100% - 36px) 1px no-repeat,
    linear-gradient(rgba(17, 16, 14, 0.12), rgba(17, 16, 14, 0.12)) left 18px top 4px / calc(100% - 36px) 1px no-repeat,
    transparent;
  }

  body.is-map-active .side-panel .score-card .plate-number {
    color: rgba(22, 20, 15, 0.38);
    font-family: var(--font-mono);
  }

  body.is-map-active .side-panel .score-card .plate-number[hidden],
  body.is-map-active .side-panel .score-card .plate-number:empty {
    display: none;
  }

  body.is-map-active .side-panel .score-card > #scoreCardTitle {
    display: block;
    margin: 4px 0 8px;
    padding: 0;
    border: 0;
    background: transparent;
    color: rgba(22, 20, 15, 0.55);
    font-family: var(--font-rail-label);
    font-size: var(--panel-label);
    font-weight: 820;
    letter-spacing: 0.14em;
    text-transform: uppercase;
  }

  body.is-map-active.is-reach-mode.has-origin:not(.is-comparison-surface) .side-panel .score-card > #scoreCardTitle {
    color: var(--plate-ink);
    font-size: var(--panel-label);
    letter-spacing: 0.18em;
  }

  body.is-map-active .side-panel .score-card > #scoreCardTitle::before,
  body.is-map-active .side-panel .score-card > #scoreCardTitle::after,
  body.is-map-active .side-panel .score-card > .plate-number::before,
  body.is-map-active .side-panel .score-card > .plate-number::after {
    content: none;
  }


  body.is-map-active:not(.has-origin) .side-panel > section {
    padding: 12px 18px 13px;
  }

  body.is-map-active:not(.has-origin) .side-panel #stationDetails,
  body.is-map-active:not(.has-origin) .side-panel #reachDetails,
  body.is-map-active:not(.has-origin) .side-panel #lineDetails,
  body.is-map-active:not(.has-origin) .side-panel #reachMeta {
    color: var(--ink-soft);
    font-family: var(--font-serif);
    font-size: 0.9rem;
    font-style: italic;
    line-height: 1.45;
  }

  body.is-map-active .side-panel .origin-profile-summary,
  body.is-map-active .side-panel .origin-profile-head{
    min-width: 0;
    max-width: 100%;
    box-sizing: border-box;
  }

  body.is-map-active .side-panel .origin-profile-summary {
    display: grid;
    gap: 10px;
  }

  body.is-map-active .side-panel .origin-profile-head {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 12px;
    padding-bottom: 6px;
    border-bottom: 1px solid rgba(17, 16, 14, 0.11);
  }

  body.is-map-active .side-panel .origin-profile-head > span {
    min-width: 0;
    color: rgba(22, 20, 15, 0.6);
    font-family: var(--font-mono);
    font-size: var(--panel-label);
    font-weight: 820;
    letter-spacing: 0.14em;
    line-height: 1.15;
    text-transform: uppercase;
  }

  body.is-map-active .side-panel .origin-profile-head > small {
    flex: 0 1 auto;
    min-width: 0;
    color: var(--ink-tertiary);
    font-family: var(--font-main);
    font-size: var(--panel-label);
    font-weight: 620;
    line-height: 1.15;
    text-align: right;
  }

  body.is-map-active .side-panel .origin-compact-fact {
    display: grid;
    gap: 3px;
    padding: 10px 12px;
    background: rgba(255, 253, 247, 0.96);
  }

  body.is-map-active .side-panel .origin-compact-fact small {
    order: 2;
    color: rgba(22, 20, 15, 0.6);
    font-family: var(--font-rail-label);
    font-size: var(--panel-label);
    font-weight: 800;
    letter-spacing: 0.1em;
    text-transform: uppercase;
  }

  body.is-map-active .side-panel .origin-compact-fact strong {
    order: 1;
    color: var(--ink);
    font-family: var(--font-metric);
    font-size: 1.04rem;
    font-weight: 780;
    font-variant-numeric: tabular-nums;
    line-height: 1;
  }

  body.is-map-active .side-panel .origin-compact-fact em {
    order: 3;
    color: var(--ink-tertiary);
    font-size: var(--panel-label);
    font-style: normal;
  }

  body.is-map-active .side-panel .origin-position-row {
    border-radius: 9px;
  }

  body.is-map-active .side-panel .origin-line-evidence-row {
    border-radius: 10px;
  }

  body.is-map-active .side-panel details > summary {
    font-family: var(--font-rail-label);
    letter-spacing: 0.08em;
  }



  body.is-map-active .side-panel button:not(.dossier-close):not(.origin-adjacent-stop):not(.origin-line-evidence-row):not(.daily-life-intent):not(.route-view-button):not([data-linked-station-index]) {
    border-radius: 9px;
  }

  body.is-map-active .side-panel .line-chip,
  body.is-map-active .side-panel .linked-row {
    border-radius: 9px;
  }


  body.is-map-active .side-panel input[type="search"] {
    border-radius: 10px;
  }
}


@media (max-width: 980px) {
  body.is-map-active .mobile-sheet[data-snap="full"] {
    gap: 0;
    border-top: 1px solid var(--paper-edge);
    background:
      var(--paper-panel-background),
      linear-gradient(180deg, rgba(255, 253, 247, 0.985), rgba(250, 246, 237, 0.965));
    background-size: var(--paper-grain-size), var(--paper-formation-size), auto;
  }

  body.is-map-active .mobile-sheet[data-snap="full"] .mobile-sheet-head {
    margin-bottom: 0;
    border-bottom: 1px solid rgba(17, 16, 14, 0.13);
  }

  body.is-map-active .mobile-sheet[data-snap="full"] .mobile-sheet-head > div:first-child {
    position: relative;
    display: grid;
    gap: 3px;
    min-width: 0;
    padding-left: 13px;
  }

  body.is-map-active .mobile-sheet[data-snap="full"] .mobile-sheet-head > div:first-child::before {
    content: "";
    position: absolute;
    left: 0;
    top: 3px;
    bottom: 3px;
    width: 4px;
    border-radius: 99px;
    background: var(--accent);
  }

  body.is-map-active .mobile-sheet[data-snap="full"] .mobile-sheet-eyebrow {
    display: block;
    margin: 0;
    color: rgba(22, 20, 15, 0.58);
    font-family: var(--font-mono);
    font-size: var(--panel-label);
    font-weight: 820;
    letter-spacing: 0.14em;
    line-height: 1;
    text-transform: uppercase;
  }


  body.is-map-active .mobile-sheet[data-snap="full"] #mobileOriginTitle {
    margin: 0;
    color: var(--ink);
    font-family: var(--font-main);
    font-size: clamp(1.22rem, 7vw, 1.68rem);
    font-weight: 880;
    line-height: 1.02;
    letter-spacing: 0;
  }

  body.is-map-active .mobile-sheet[data-snap="full"] #mobileOriginTitle.is-ekimeihyo {
    display: grid;
    gap: 1px;
  }

  body.is-map-active .mobile-sheet[data-snap="full"] #mobileOriginTitle .mobile-origin-primary {
    display: block;
    font-family: var(--font-rail-station-ja);
  }

  body.is-map-active .mobile-sheet[data-snap="full"] #mobileOriginTitle .mobile-origin-secondary {
    display: block;
    color: rgba(22, 20, 15, 0.62);
    font-family: var(--font-rail-station-latin);
    font-size: var(--panel-label);
    font-weight: 820;
    line-height: 1;
    text-transform: uppercase;
  }

  body.is-map-active .mobile-sheet[data-snap="full"] #mobileStatusText {
    display: block;
    margin: 1px 0 0;
    color: rgba(22, 20, 15, 0.64);
    font-family: var(--font-mono);
    font-size: var(--panel-label);
    font-weight: 650;
    line-height: 1.25;
    letter-spacing: 0.02em;
  }

  body.is-reach-mode.has-origin .mobile-sheet[data-snap="full"] .mobile-collapsed-line-logo:not([hidden]) {
    display: flex;
    align-items: center;
    min-width: 0;
    margin: 5px 0 2px;
    overflow: hidden;
  }

  body.is-reach-mode.has-origin .mobile-sheet[data-snap="full"] .mobile-collapsed-line-strip {
    display: flex;
    flex-wrap: nowrap;
    gap: 4px;
    width: 100%;
    min-width: 0;
    overflow: hidden;
  }

  body.is-reach-mode.has-origin .mobile-sheet[data-snap="full"] .mobile-collapsed-line-strip .station-sign-badge b {
    min-width: 24px;
    height: 22px;
    padding-inline: 5px;
    font-size: 0.58rem;
  }

  body.is-reach-mode.has-origin .mobile-sheet[data-snap="full"] .mobile-collapsed-line-strip .station-sign-badge span {
    padding-inline: 6px;
    font-size: 0.5rem;
  }

  body.is-reach-mode.has-origin .mobile-sheet[data-snap="full"] .mobile-collapsed-line-overflow {
    flex: 0 0 auto;
    min-width: 30px;
    height: 22px;
    padding: 0 7px;
    border: 1px solid rgba(17, 16, 14, 0.28);
    border-radius: 0;
    background: rgba(255, 253, 247, 0.76);
    color: rgba(17, 16, 14, 0.7);
    font-family: var(--font-mono);
    font-size: var(--panel-label);
    font-weight: 850;
    line-height: 1;
  }

  body.is-reach-mode.has-origin .mobile-sheet[data-snap="full"] > #mobileInspector[data-panel-visible="true"] {
    display: block;
    order: 2;
  }

  body.is-reach-mode.has-origin .mobile-sheet[data-snap="full"] > #mobilePrimarySummary {
    display: block;
    order: 3;
  }

  body.is-reach-mode.has-origin .mobile-sheet[data-snap="full"] > #mobileReachDetails[data-panel-visible="true"] {
    display: block;
    order: 4;
  }

  body.is-reach-mode.has-origin .mobile-sheet[data-snap="full"] > .mobile-mode-control {
    order: 5;
  }

  body.is-reach-mode.has-origin .mobile-sheet[data-snap="full"] > .mobile-surface-story-toggle {
    order: 6;
  }

  body.is-reach-mode.has-origin .mobile-sheet[data-snap="full"] > .mobile-search-form[data-panel-visible="true"] {
    order: 7;
  }

  body.is-reach-mode.has-origin .mobile-sheet[data-snap="full"] > .mobile-adjust-map {
    order: 8;
  }

  body.is-map-active .mobile-sheet[data-snap="full"] #mobilePrimarySummary,
  body.is-map-active .mobile-sheet[data-snap="full"] #mobileInspector,
  body.is-map-active .mobile-sheet[data-snap="full"] #mobileReachDetails {
    margin: 0;
  }

  body.is-map-active .mobile-sheet[data-snap="full"] #mobilePrimarySummary .mobile-primary-card,
  body.is-map-active .mobile-sheet[data-snap="full"] #mobileInspector.mobile-inspector,
  body.is-map-active .mobile-sheet[data-snap="full"] #mobileReachDetails.mobile-reach-details {
    border: 0;
    border-top: 1px solid rgba(17, 16, 14, 0.1);
    border-radius: 0;
    background: transparent;
    background-size: auto;
    box-shadow: none;
  }

  body.is-map-active .mobile-sheet[data-snap="full"] #mobileInspector.mobile-inspector {
    padding: 20px 10px 15px;
  }

  body.is-map-active .mobile-sheet[data-snap="full"] #mobilePrimarySummary .mobile-primary-card {
    padding: 18px 10px 15px;
  }

  body.is-map-active .mobile-sheet[data-snap="full"] #mobileReachDetails.mobile-reach-details {
    padding: 14px 10px 15px;
  }

  .mobile-sheet[data-snap="full"] .mobile-origin-dossier {
    display: grid;
    gap: 12px;
    min-width: 0;
  }

  .mobile-sheet[data-snap="full"] .mobile-origin-dossier .origin-network-glance {
    display: grid;
    gap: 12px;
    min-width: 0;
  }

  .mobile-sheet[data-snap="full"] .mobile-origin-dossier .origin-network-glance > section {
    display: grid;
    gap: 6px;
    min-width: 0;
  }

  .mobile-sheet[data-snap="full"] .mobile-origin-dossier .origin-glance-heading {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    padding-bottom: 6px;
    border-bottom: 1px solid rgba(17, 16, 14, 0.13);
  }

  .mobile-sheet[data-snap="full"] .mobile-origin-dossier .origin-glance-heading > span {
    min-width: 0;
    color: rgba(22, 20, 15, 0.62);
    font: 820 var(--panel-label)/1.15 var(--font-mono);
    letter-spacing: 0.14em;
    overflow-wrap: anywhere;
    text-transform: uppercase;
  }

  .mobile-sheet[data-snap="full"] .mobile-origin-dossier .origin-glance-lines,
  .mobile-sheet[data-snap="full"] .mobile-origin-dossier .origin-glance-popover {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: 6px;
    min-width: 0;
  }

  .mobile-sheet[data-snap="full"] .mobile-origin-dossier .origin-glance-neighbors {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
  }

  .mobile-sheet[data-snap="full"] .mobile-origin-dossier .origin-glance-more {
    min-width: 0;
  }

  .mobile-sheet[data-snap="full"] .mobile-origin-dossier .origin-glance-more > summary {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 30px;
    min-height: 28px;
    padding: 4px 7px;
    border: 1px solid rgba(17, 16, 14, 0.18);
    border-radius: 999px;
    background: rgba(255, 253, 247, 0.72);
    color: var(--ink);
    font: 820 var(--panel-label)/1 var(--font-mono);
    cursor: pointer;
    list-style: none;
  }

  .mobile-sheet[data-snap="full"] .mobile-origin-dossier .origin-glance-more > summary::-webkit-details-marker {
    display: none;
  }

  .mobile-sheet[data-snap="full"] .mobile-origin-dossier .origin-glance-more > .origin-glance-popover {
    display: none;
    margin-top: 6px;
  }

  .mobile-sheet[data-snap="full"] .mobile-origin-dossier .origin-glance-more[open] > .origin-glance-popover {
    display: grid;
  }

  .mobile-sheet[data-snap="full"] .mobile-origin-dossier .origin-glance-lines .line-chip,
  .mobile-sheet[data-snap="full"] .mobile-origin-dossier .origin-glance-popover .line-chip {
    width: 100%;
    min-width: 0;
    max-width: 100%;
  }

  .mobile-sheet[data-snap="full"] .mobile-origin-dossier .origin-profile-summary {
    display: grid;
    gap: 10px;
    min-width: 0;
  }

  .mobile-sheet[data-snap="full"] .mobile-origin-dossier .origin-profile-head {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 12px;
    min-width: 0;
    padding-bottom: 6px;
    border-bottom: 1px solid rgba(17, 16, 14, 0.13);
  }

  .mobile-sheet[data-snap="full"] .mobile-origin-dossier .origin-profile-head > span{
    min-width: 0;
    color: rgba(22, 20, 15, 0.62);
    font-family: var(--font-mono);
    font-size: var(--panel-label);
    font-weight: 820;
    letter-spacing: 0.14em;
    line-height: 1.15;
    overflow-wrap: anywhere;
    text-transform: uppercase;
  }

  .mobile-sheet[data-snap="full"] .mobile-origin-dossier .origin-compact-fact {
    display: grid;
    gap: 3px;
    min-width: 0;
    padding: 10px 11px;
    background: rgba(255, 253, 247, 0.96);
  }

  .mobile-sheet[data-snap="full"] .mobile-origin-dossier .origin-compact-fact small {
    order: 2;
    color: rgba(22, 20, 15, 0.6);
    font-family: var(--font-rail-label);
    font-size: var(--panel-label);
    font-weight: 800;
    letter-spacing: 0.1em;
    line-height: 1.1;
    text-transform: uppercase;
  }

  .mobile-sheet[data-snap="full"] .mobile-origin-dossier .origin-compact-fact strong {
    order: 1;
    min-width: 0;
    color: var(--ink);
    font-family: var(--font-metric, var(--font-mono));
    font-size: 1rem;
    font-weight: 780;
    font-variant-numeric: tabular-nums;
    line-height: 1;
    overflow-wrap: anywhere;
  }

  .mobile-sheet[data-snap="full"] .mobile-origin-dossier .origin-compact-fact em {
    order: 3;
    color: rgba(22, 20, 15, 0.42);
    font-size: var(--panel-label);
    font-style: normal;
    line-height: 1.18;
  }

  .mobile-sheet[data-snap="full"] .mobile-origin-dossier .origin-profile-head > small{
    min-width: 0;
    color: rgba(22, 20, 15, 0.48);
    font-family: var(--font-main);
    font-size: var(--panel-label);
    font-weight: 620;
    line-height: 1.15;
    text-align: right;
  }

  .mobile-sheet[data-snap="full"] .mobile-origin-dossier .origin-position-row {
    display: grid;
    grid-template-columns: minmax(82px, 0.75fr) minmax(0, 0.65fr) minmax(0, 1fr);
    gap: 7px;
    align-items: baseline;
    min-width: 0;
    padding: 7px 0;
    border-top: 1px solid rgba(17, 16, 14, 0.07);
    border-radius: 0;
    font-variant-numeric: tabular-nums;
  }

  .mobile-sheet[data-snap="full"] .mobile-origin-dossier .origin-position-row:first-child {
    border-top: 0;
  }

  .mobile-sheet[data-snap="full"] .mobile-origin-dossier .origin-position-row small,
  .mobile-sheet[data-snap="full"] .mobile-origin-dossier .origin-position-row em {
    min-width: 0;
    color: rgba(22, 20, 15, 0.5);
    font-family: var(--font-main);
    font-size: var(--panel-label);
    font-style: normal;
    font-weight: 650;
    line-height: 1.15;
    overflow-wrap: anywhere;
  }

  .mobile-sheet[data-snap="full"] .mobile-origin-dossier .origin-position-row strong {
    min-width: 0;
    color: var(--ink);
    font-family: var(--font-mono);
    font-size: var(--panel-label);
    font-weight: 760;
    line-height: 1.05;
  }

  .mobile-sheet[data-snap="full"] .mobile-origin-dossier .origin-line-evidence-row {
    display: grid;
    grid-template-columns: 32px minmax(0, 1fr);
    gap: 2px 9px;
    align-items: center;
    min-width: 0;
    padding: 7px 0;
    border: 0;
    border-top: 1px solid rgba(17, 16, 14, 0.08);
    border-radius: 0;
    background: transparent;
    box-shadow: none;
    color: var(--ink);
    text-align: left;
    transform: none;
  }

  .mobile-sheet[data-snap="full"] .mobile-origin-dossier .origin-line-evidence-row:first-child {
    border-top: 0;
  }

  body.is-map-active .mobile-sheet[data-snap="full"] #mobilePrimarySummary .mobile-score-card {
    position: relative;
    background:
      repeating-linear-gradient(90deg, rgba(17, 16, 14, 0.14) 0 1px, transparent 1px 8px) left 10px top 0 / calc(100% - 20px) 6px no-repeat,
      linear-gradient(rgba(17, 16, 14, 0.12), rgba(17, 16, 14, 0.12)) left 10px top 1px / calc(100% - 20px) 1px no-repeat,
      linear-gradient(rgba(17, 16, 14, 0.12), rgba(17, 16, 14, 0.12)) left 10px top 4px / calc(100% - 20px) 1px no-repeat,
      transparent;
  }

  .mobile-sheet[data-snap="full"] .mobile-score-card > span {
    display: block;
    margin: 0 0 7px;
    color: rgba(22, 20, 15, 0.55);
    font-family: var(--font-mono);
    font-size: var(--panel-label);
    font-weight: 820;
    letter-spacing: 0.14em;
    line-height: 1.1;
    text-transform: uppercase;
  }

  .mobile-sheet[data-snap="full"] .mobile-score-card > strong {
    display: block;
    margin: 0;
    color: var(--ink);
    font-family: var(--font-metric, var(--font-mono));
    font-weight: 780;
    line-height: 0.95;
  }

  .mobile-sheet[data-snap="full"] .mobile-score-card .network-count {
    display: flex;
    flex-wrap: wrap;
    align-items: baseline;
    gap: 0.18em 0.3em;
  }

  .mobile-sheet[data-snap="full"] .mobile-score-card .network-count b {
    color: var(--ink);
    font: inherit;
    font-size: clamp(2.35rem, 13vw, 3.28rem);
    letter-spacing: 0;
  }

  .mobile-sheet[data-snap="full"] .mobile-score-card .network-count span {
    color: rgba(22, 20, 15, 0.62);
    font-family: var(--font-mono);
    font-size: var(--panel-label);
    font-weight: 820;
    letter-spacing: 0.12em;
    line-height: 1.1;
    text-transform: uppercase;
  }

  body.is-map-active.is-reach-mode.has-origin .mobile-sheet[data-snap="full"] #mobilePrimarySummary .mobile-score-card.mobile-primary-card.is-result > p {
    margin: 9px 0 0;
    padding-top: 9px;
    border-top: 1px solid rgba(17, 16, 14, 0.12);
    color: rgba(22, 20, 15, 0.68);
    font-family: var(--font-main);
    font-size: 0.82rem;
    font-weight: 600;
    line-height: 1.32;
    display: block;
    overflow: visible;
    -webkit-line-clamp: unset;
  }

  .mobile-sheet[data-snap="full"] #mobileReachDetails > h3,
  .mobile-sheet[data-snap="full"] #mobileReachDetails .detail-section-label,
  .mobile-sheet[data-snap="full"] #mobileReachDetails .reach-clock-kicker,
  .mobile-sheet[data-snap="full"] #mobileReachDetails .hubs-in-reach-kicker {
    color: rgba(22, 20, 15, 0.62);
    font-family: var(--font-mono);
    font-size: var(--panel-label);
    font-weight: 820;
    font-style: normal;
    letter-spacing: 0.14em;
    text-transform: uppercase;
  }

  .mobile-sheet[data-snap="full"] #mobileReachDetails > h3 {
    margin: 0 0 10px;
    padding: 0;
    border-top: 0;
  }

  @media (max-width: 380px) {

    .mobile-sheet[data-snap="full"] .mobile-origin-dossier .origin-position-row {
      grid-template-columns: minmax(76px, 0.8fr) minmax(0, 0.65fr) minmax(0, 1fr);
      gap: 6px;
    }
  }
}


.mobile-map-time-instrument {
  display: contents;
}

@media (max-width: 980px) {
  .mobile-map-time-instrument {
    display: contents;
  }

  body.is-map-active .mobile-sheet {
    border-top-left-radius: 18px;
    border-top-right-radius: 18px;
    box-shadow:
      0 -2px 6px rgba(17, 16, 14, 0.05),
      0 -18px 44px rgba(48, 42, 32, 0.14);
  }

  body.is-map-active .mobile-sheet .mobile-sheet-handle::before {
    width: 44px;
    height: 5px;
    border-radius: 99px;
    background: rgba(17, 16, 14, 0.28);
    box-shadow: none;
  }

  body.is-map-active .mobile-sheet .mobile-sheet-handle::after {
    border-radius: 99px;
    background: transparent;
  }

  .mobile-sheet .mode-button.is-active::after,
  .mobile-sheet .surface-story-button.is-active::after,
  .mobile-sheet .spatial-view-button.is-active::after,
  .mobile-map-control-rail .spatial-view-button.is-active::after,
  .mobile-collapsed-control-bar .mode-button.is-active::after,
  .mobile-collapsed-control-bar .spatial-view-button.is-active::after {
    content: none;
  }


  body.is-reach-mode.has-origin .mobile-sheet[data-snap="full"] .mobile-search-row {
    grid-template-columns: minmax(0, 1fr) auto;
  }

  .mobile-search-row button[type="submit"],
  #mobileSearchForm button[type="submit"] {
    flex: 0 0 auto;
    width: auto;
    min-width: 0;
    max-width: none;
    padding-inline: 11px;
    font-size: var(--panel-label);
    letter-spacing: 0.05em;
    white-space: nowrap;
  }

  .mobile-collapsed-mode-control,
  .mobile-mode-control,
  .mobile-surface-story-toggle,
  .mobile-map-spatial-view-toggle {
    border-radius: 12px;
    border-color: rgba(184, 70, 54, 0.3);
  }

  
  .mobile-map-spatial-view-toggle .spatial-view-button {
    border-radius: 9px;
  }

  .mobile-collapsed-mode-control .mode-button,
  .mobile-mode-control .mode-button,
  .mobile-surface-story-toggle .surface-story-button {
    border-radius: 9px;
  }

  .mobile-collapsed-mode-control .mode-button.is-active,
  .mobile-mode-control .mode-button.is-active {
    background: #16140f;
    color: rgba(255, 253, 247, 0.95);
  }

  .mobile-search-form input[type="search"],
  .mobile-route-card input[type="search"] {
    border-radius: 11px;
  }

  .mobile-search-form .mobile-search-row button[type="submit"] {
    border-radius: 11px;
    border-color: rgba(146, 36, 28, 0.85);
    background: linear-gradient(180deg, #cd4033, #bd2f24);
    color: rgba(255, 253, 247, 0.96);
  }

  .mobile-share-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0 10px;
    border-radius: 10px;
    line-height: 1;
  }

  .mobile-primary-summary,
  .mobile-primary-card,
  .mobile-route-card,
  .mobile-inspector,
  .mobile-reach-details,
  .mobile-metric-card {
    border-radius: 12px;
  }


  body.is-map-active.is-reach-mode #mobileReachTimeControl {
    gap: 8px;
    padding: 6px 8px;
  }

  body.is-map-active.is-reach-mode.has-origin .mobile-sheet[data-snap="full"] > #mobileInspector.mobile-inspector[data-panel-visible="true"] {
    padding: 20px 10px 15px;
  }

  body.is-map-active.is-reach-mode.has-origin .mobile-sheet[data-snap="full"] > #mobileReachDetails.mobile-reach-details[data-panel-visible="true"] {
    padding: 14px 10px 15px;
  }

  .mobile-reach-time-control::before,
  .mobile-reach-time-control::after {
    content: none;
  }

  body.is-map-active.is-reach-mode #mobileReachTimeControl .mobile-time-step-button {
    min-width: 34px;
    min-height: 34px;
    border: 1px solid rgba(17, 16, 14, 0.14);
    border-radius: 9px;
    background: #fffdf7;
    color: rgba(22, 20, 15, 0.72);
    font-weight: 800;
    box-shadow: 0 1px 2px rgba(17, 16, 14, 0.05);
  }

  body.is-map-active.is-reach-mode #mobileReachTimeControl .mobile-time-range-label {
    gap: 8px;
    margin: 0;
    padding: 0 2px;
    border: 0;
    background: transparent;
    box-shadow: none;
  }

  body.is-map-active.is-reach-mode #mobileReachTimeControl .mobile-time-range-label::before,
  body.is-map-active.is-reach-mode #mobileReachTimeControl .mobile-time-range-label::after {
    content: none;
  }

  body.is-map-active.is-reach-mode #mobileReachTimeControl .mobile-time-range-label > span {
    border: 0;
    padding: 0;
    background: transparent;
    color: rgba(22, 20, 15, 0.62);
    font-family: var(--font-rail-label);
    font-size: var(--panel-label);
    font-weight: 820;
    letter-spacing: 0.13em;
    text-transform: uppercase;
  }

  .mobile-time-range-label input[type="range"],
  #mobileMapMaxTimeRange,
  #mobileMaxTimeRange {
    -webkit-appearance: none;
    appearance: none;
    height: 30px;
    margin: 0;
    padding: 0;
    border: 0;
    background:
      linear-gradient(90deg, rgba(17, 16, 14, 0.24) 1px, transparent 1px) left 9px bottom 4px / calc((100% - 18px) / 17) 4px repeat-x,
      linear-gradient(90deg, rgba(17, 16, 14, 0.38) 1px, transparent 1px) left 9px bottom 4px / calc((100% - 18px) / 3.4) 7px repeat-x,
      transparent;
    box-shadow: none;
    cursor: pointer;
    touch-action: none;
  }

  .mobile-map-control-rail .language-toggle,
  .mobile-map-control-rail .spatial-view-toggle,
  .map-zoom-controls .icon-button,
  .map-corner-actions .icon-button,
  .distance-legend,
  .map-state-pill,
  .legend {
    overflow: hidden;
    border-radius: 11px;
  }

  body.is-reach-mode.has-origin .mobile-sheet[data-snap="full"] .mobile-mode-control .mode-button,
  body.is-map-active .mobile-sheet[data-snap="full"] .mobile-mode-control .mode-button {
    min-height: 44px;
    padding: 7px 8px 7px 31px;
    font-size: var(--panel-label);
    letter-spacing: 0;
  }

  body.is-reach-mode.has-origin .mobile-sheet[data-snap="full"] .mobile-mode-control .mode-button::before,
  body.is-map-active .mobile-sheet[data-snap="full"] .mobile-mode-control .mode-button::before {
    left: 10px;
    width: 14px;
    height: 14px;
  }

  body.is-reach-mode.has-origin .mobile-sheet[data-snap="full"] .mobile-mode-control .mode-button[data-mode="reach"]::before,
  body.is-map-active .mobile-sheet[data-snap="full"] .mobile-mode-control .mode-button[data-mode="reach"]::before {
    width: 6px;
    height: 6px;
    left: 12px;
  }

  .mobile-sheet-actions .mobile-share-button,
  body.is-map-active .mobile-sheet-actions .mobile-share-button {
    justify-content: center;
    background-size: 14px 14px, 18px 18px, auto;
    color: rgba(22, 20, 15, 0.72);
    letter-spacing: 0;
  }

  .mobile-collapsed-control-bar .mobile-collapsed-poster-button,
  body.is-map-active .mobile-collapsed-control-bar .mobile-collapsed-poster-button {
    min-width: 40px;
    padding: 0;
    background-position: center, 0 0, 0 0;
    color: transparent;
    font-size: 0;
    letter-spacing: 0;
  }

  .mobile-search-form .mobile-search-row,
  body.is-reach-mode.has-origin .mobile-sheet[data-snap="full"] .mobile-search-row {
    grid-template-columns: minmax(0, 1fr) minmax(112px, max-content);
    gap: 8px;
  }

  .mobile-search-form .mobile-search-row button[type="submit"],
  #mobileSearchForm button[type="submit"],
  body.is-reach-mode.has-origin .mobile-sheet[data-snap="full"] .mobile-search-row button[type="submit"] {
    min-width: 112px;
    min-height: 34px;
    height: 34px;
    padding: 0 13px 0 34px;
    border: 1px solid rgba(146, 36, 28, 0.85);
    border-radius: 11px;
    background:
      no-repeat left 13px center / 14px 14px
      url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Ccircle cx='12' cy='12' r='4' fill='%23fffdf7'/%3E%3Ccircle cx='12' cy='12' r='8.4' fill='none' stroke='%23fffdf7' stroke-width='1.8' opacity='0.85'/%3E%3C/svg%3E"),
      linear-gradient(180deg, #cd4033, #bd2f24);
    color: rgba(255, 253, 247, 0.96);
    box-shadow:
      0 1px 2px rgba(17, 16, 14, 0.08),
      0 8px 18px rgba(160, 42, 32, 0.22);
    font-family: var(--font-rail-label);
    font-size: var(--panel-label);
    font-weight: 820;
    letter-spacing: 0;
    text-transform: uppercase;
    white-space: nowrap;
  }

  .mobile-settings-disclosure[open] {
    gap: 0;
    overflow: hidden;
    border: 1px solid rgba(17, 16, 14, 0.22);
    border-radius: 12px;
    background:
      linear-gradient(90deg, rgba(17, 16, 14, 0.018) 1px, transparent 1px),
      rgba(255, 253, 247, 0.94);
    background-size: 18px 18px, auto;
    box-shadow:
      0 1px 2px rgba(17, 16, 14, 0.05),
      0 12px 30px rgba(48, 42, 32, 0.13);
  }

  .mobile-settings-disclosure[open] > summary {
    min-height: 44px;
    padding: 0 13px;
    border: 0;
    border-bottom: 1px solid rgba(17, 16, 14, 0.1);
    border-radius: 0;
    background: rgba(255, 253, 247, 0.42);
    box-shadow: none;
    color: rgba(22, 20, 15, 0.74);
    font-family: var(--font-rail-label);
    font-size: var(--panel-label);
    font-weight: 820;
    letter-spacing: 0;
    text-transform: uppercase;
  }

  .mobile-settings-disclosure[open] > summary::after {
    content: "-";
    color: rgba(22, 20, 15, 0.48);
    font-family: var(--font-mono);
    font-size: var(--panel-label);
  }

  .mobile-settings-disclosure[open] > h3 {
    display: none;
  }

  .mobile-settings-disclosure[open] > .mobile-control-grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 0;
    padding: 10px 12px 12px;
  }

  .mobile-settings-disclosure[open] .mobile-control-section {
    position: relative;
    display: grid;
    gap: 0;
    padding: 0;
    border: 0;
    background: transparent;
    box-shadow: none;
  }

  .mobile-settings-disclosure[open] .mobile-control-section + .mobile-control-section {
    margin-top: 10px;
    padding-top: 10px;
    border-top: 1px solid rgba(17, 16, 14, 0.14);
  }

  .mobile-settings-disclosure[open] .mobile-control-section::before,
  .mobile-settings-disclosure[open] .mobile-control-section::after {
    content: none;
  }

  .mobile-settings-disclosure[open] .mobile-control-section-title {
    display: block;
    margin: 0 0 8px;
    color: rgba(22, 20, 15, 0.54);
    font-family: var(--font-rail-label);
    font-size: var(--panel-label);
    font-weight: 820;
    letter-spacing: 0;
    line-height: 1;
    text-transform: uppercase;
  }

  .mobile-settings-disclosure[open] .toggle-control {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center;
    min-height: 32px;
    padding: 0;
    border: 0;
    background: transparent;
    box-shadow: none;
    color: #16140f;
  }

  .mobile-settings-disclosure[open] .toggle-control span {
    grid-column: 1;
    grid-row: 1;
    color: rgba(22, 20, 15, 0.78);
    font-family: var(--font-rail-label);
    font-size: var(--panel-label);
    font-weight: 800;
    letter-spacing: 0;
    line-height: 1;
    text-transform: uppercase;
  }

  .mobile-settings-disclosure[open] .toggle-control.is-disabled span {
    color: rgba(22, 20, 15, 0.34);
  }

  .mobile-settings-disclosure[open] .toggle-control input[type="checkbox"] {
    appearance: none;
    -webkit-appearance: none;
    position: relative;
    grid-column: 2;
    grid-row: 1;
    justify-self: end;
    width: 31px;
    height: 18px;
    margin: 0;
    border: 0;
    border-radius: 999px;
    background: rgba(17, 16, 14, 0.4);
    box-shadow: inset 0 1px 2px rgba(17, 16, 14, 0.22);
  }

  .mobile-settings-disclosure[open] .toggle-control input[type="checkbox"]::after {
    content: "";
    position: absolute;
    top: 3px;
    left: 3px;
    width: 12px;
    height: 12px;
    border-radius: 50%;
    background: #fffdf7;
    box-shadow: 0 1px 2px rgba(17, 16, 14, 0.24);
    transition: transform var(--motion-duration-fast) var(--motion-ease-standard);
  }

  .mobile-settings-disclosure[open] .toggle-control input[type="checkbox"]:checked {
    background: #16140f;
  }

  .mobile-settings-disclosure[open] .toggle-control input[type="checkbox"]:checked::after {
    transform: translateX(13px);
  }

  .mobile-settings-disclosure[open] .toggle-control input[type="checkbox"]:disabled {
    background: rgba(17, 16, 14, 0.32);
    opacity: 0.52;
  }

  body.is-reach-mode.has-origin #mobileAdjustMap .mobile-settings-disclosure[open] .mobile-settings-language-toggle {
    justify-self: start;
    display: inline-grid;
    grid-template-columns: auto auto;
    gap: 3px;
    min-height: 34px;
    padding: 4px;
    border: 1px solid rgba(17, 16, 14, 0.18);
    border-radius: 11px;
    background: rgba(255, 253, 247, 0.72);
    box-shadow: none;
  }

  .mobile-settings-disclosure[open] .mobile-select-control {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    align-items: center;
    gap: 10px;
    min-height: 34px;
    padding: 0;
    border: 0;
    background: transparent;
    box-shadow: none;
  }

  .mobile-settings-disclosure[open] .mobile-select-control > span {
    color: rgba(22, 20, 15, 0.78);
    font-family: var(--font-rail-label);
    font-size: var(--panel-label);
    font-weight: 800;
    letter-spacing: 0;
    text-transform: uppercase;
  }

  .mobile-settings-disclosure[open] .mobile-select-control select {
    min-width: 0;
    height: 30px;
    padding: 0 28px 0 11px;
    border: 1px solid rgba(17, 16, 14, 0.14);
    border-radius: 8px;
    background: rgba(255, 253, 247, 0.78);
    color: #16140f;
    box-shadow: none;
    font-family: var(--font-rail-label);
    font-size: var(--panel-label);
    font-weight: 800;
    letter-spacing: 0;
    text-transform: uppercase;
  }

  body.is-map-active.is-reach-mode.has-origin:not(.is-time-rings-view) #mobileReachTimeControl,
  body.is-time-rings-view.is-reach-mode.has-origin #mobileReachTimeControl {
    min-height: 58px;
    height: auto;
    padding: 5px;
    overflow: visible;
  }

  body.is-map-active.is-reach-mode.has-origin:not(.is-time-rings-view) #mobileReachTimeControl .mobile-time-range-label,
  body.is-time-rings-view.is-reach-mode.has-origin #mobileReachTimeControl .mobile-time-range-label {
    grid-template-rows: 15px 20px;
    min-height: 44px;
    height: 44px;
    padding: 3px 8px;
    overflow: visible;
  }

  body.is-map-active.is-reach-mode.has-origin:not(.is-time-rings-view) #mobileReachTimeControl .mobile-time-step-button,
  body.is-time-rings-view.is-reach-mode.has-origin #mobileReachTimeControl .mobile-time-step-button {
    min-height: 44px;
    height: 44px;
  }

  .mobile-sheet-actions .mobile-share-button,
  body.is-map-active .mobile-sheet-actions .mobile-share-button {
    min-width: 90px;
    padding: 0 10px 0 31px;
    background-position: left 10px center, 0 0, 0 0;
    font-size: var(--panel-label);
  }

  body.is-reach-mode.has-origin.is-mobile-sheet-expanded #mobileAdjustMap:has(.mobile-settings-disclosure[open]),
  body.is-reach-mode.has-origin.is-mobile-sheet-expanded #mobileAdjustMap .mobile-settings-disclosure[open] {
    width: min(282px, calc(100vw - 24px));
  }

  body.is-reach-mode.has-origin.is-mobile-sheet-expanded #mobileAdjustMap:has(.mobile-settings-disclosure[open]) {
    position: fixed;
    z-index: 30;
  }

  body.is-reach-mode.has-origin.is-mobile-sheet-expanded #mobileAdjustMap .mobile-settings-disclosure[open] > .mobile-control-grid {
    display: grid;
    grid-template-columns: 1fr;
    max-height: min(42dvh, 328px);
    overflow: auto;
    padding: 10px 12px 12px;
    border: 0;
    background: transparent;
    box-shadow: none;
    backdrop-filter: none;
    -webkit-backdrop-filter: none;
  }

  body.is-reach-mode.has-origin.is-mobile-sheet-expanded #mobileAdjustMap .mobile-settings-disclosure[open] > summary::after {
    content: "-";
  }

  body.is-reach-mode.has-origin.is-mobile-sheet-expanded .mobile-sheet[data-snap="full"] > #mobileAdjustMap {
    position: static;
    width: 100%;
    min-height: 0;
    display: grid;
    gap: 0;
    padding: 0;
  }

  body.is-reach-mode.has-origin.is-mobile-sheet-expanded .mobile-sheet[data-snap="full"] #mobileAdjustMap:has(.mobile-settings-disclosure[open]),
  body.is-reach-mode.has-origin.is-mobile-sheet-expanded .mobile-sheet[data-snap="full"] #mobileAdjustMap .mobile-settings-disclosure[open] {
    width: 100%;
  }

  body.is-reach-mode.has-origin.is-mobile-sheet-expanded .mobile-sheet[data-snap="full"] #mobileAdjustMap .mobile-settings-disclosure > .mobile-control-grid,
  body.is-reach-mode.has-origin.is-mobile-sheet-expanded .mobile-sheet[data-snap="full"] #mobileAdjustMap .mobile-settings-disclosure[open] > .mobile-control-grid {
    display: grid;
    max-height: min(38dvh, 328px);
    overflow: auto;
    padding: 10px 12px 12px;
    border: 0;
    background: transparent;
    box-shadow: none;
    backdrop-filter: none;
    -webkit-backdrop-filter: none;
  }

  body.is-reach-mode.has-origin.is-mobile-sheet-expanded .mobile-sheet[data-snap="full"] #mobileAdjustMap .mobile-settings-disclosure[open] > summary::after {
    content: "-";
  }

  body.is-reach-mode.has-origin.is-mobile-sheet-expanded .mobile-sheet[data-snap="full"] #mobileAdjustMap .mobile-settings-disclosure:not([open]) > summary {
    width: 100%;
  }

  body.is-map-active .mobile-sheet[data-snap="collapsed"] .mobile-sheet-head {
    height: 48px;
    min-height: 48px;
    overflow: hidden;
    padding-top: 0;
  }

  body.is-map-active .mobile-sheet[data-snap="collapsed"] #mobileStatusText,
  body.is-map-active .mobile-sheet[data-snap="collapsed"] .mobile-sheet-actions {
    display: none;
  }

  body.is-map-active.is-reach-mode.has-origin .mobile-sheet[data-snap="collapsed"] #mobileStatusText {
    display: none;
  }

  body.is-reach-mode.has-origin .mobile-sheet[data-snap="collapsed"] .mobile-sheet-head > div:first-child {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(88px, 44vw);
    grid-template-areas:
      "origin lines"
      "summary summary";
    align-items: center;
    column-gap: 8px;
    row-gap: 2px;
    min-width: 0;
  }

  body.is-reach-mode.has-origin .mobile-sheet[data-snap="collapsed"] #mobileOriginTitle.is-ekimeihyo {
    grid-area: origin;
    width: auto;
    max-width: 100%;
    min-width: 0;
  }

  body.is-reach-mode.has-origin .mobile-sheet[data-snap="collapsed"] #mobileOriginTitle.is-ekimeihyo::after {
    display: none;
  }

  body.is-reach-mode.has-origin .mobile-sheet[data-snap="collapsed"] .mobile-collapsed-line-logo:not([hidden]) {
    grid-area: lines;
    justify-self: end;
    align-self: center;
    width: 100%;
    max-width: 100%;
    min-height: 21px;
    margin: 0;
    overflow: visible;
  }

  body.is-reach-mode.has-origin .mobile-sheet[data-snap="collapsed"] .mobile-collapsed-line-strip {
    justify-content: flex-end;
    width: 100%;
    max-width: 100%;
    gap: 3px;
  }

  body.is-reach-mode.has-origin .mobile-sheet[data-snap="collapsed"] .mobile-collapsed-line-strip .station-sign-badge {
    max-width: clamp(58px, 18vw, 88px);
  }

  body.is-reach-mode.has-origin .mobile-sheet[data-snap="collapsed"] .mobile-collapsed-line-overflow {
    min-width: 44px;
    height: 44px;
    padding-inline: 6px;
  }

  body.is-reach-mode.has-origin .mobile-sheet[data-snap="collapsed"] #mobileCollapsedSummary {
    grid-area: summary;
    max-width: 100%;
  }

  body.is-map-active .map-hub-tray {
    display: none;
  }

  body.is-reach-mode.has-origin #mobileAdjustMap {
    z-index: 8;
    width: 42px;
    min-height: 40px;
    gap: 0;
  }

  body.is-map-active.is-reach-mode.has-origin:not(.is-time-rings-view) #mobileAdjustMap,
  body.is-time-rings-view.is-reach-mode.has-origin #mobileAdjustMap {
    position: fixed;
    top: calc(env(safe-area-inset-top) + 10px);
    right: 54px;
    bottom: auto;
    left: auto;
    z-index: 8;
    width: 42px;
    min-height: 40px;
  }

  body.is-reach-mode.has-origin #mobileAdjustMap:has(.mobile-settings-disclosure[open]) {
    right: 10px;
    z-index: 30;
    width: min(282px, calc(100vw - 20px));
  }

  body.is-map-active.is-reach-mode.has-origin:not(.is-time-rings-view) #mobileAdjustMap:has(.mobile-settings-disclosure[open]),
  body.is-time-rings-view.is-reach-mode.has-origin #mobileAdjustMap:has(.mobile-settings-disclosure[open]) {
    right: 10px;
    z-index: 30;
    width: min(282px, calc(100vw - 20px));
  }

  body.is-reach-mode.has-origin #mobileAdjustMap {
    position: absolute;
    top: calc(env(safe-area-inset-top) + 46px);
    right: auto;
    bottom: auto;
    left: 10px;
  }

  body.is-map-active.is-reach-mode.has-origin:not(.is-time-rings-view) #mobileAdjustMap,
  body.is-time-rings-view.is-reach-mode.has-origin #mobileAdjustMap,
  body.is-map-active.is-reach-mode.has-origin:not(.is-time-rings-view) #mobileAdjustMap:has(.mobile-settings-disclosure[open]),
  body.is-time-rings-view.is-reach-mode.has-origin #mobileAdjustMap:has(.mobile-settings-disclosure[open]) {
    position: absolute;
    top: auto;
    bottom: var(--mobile-map-bottom-clearance, 188px);
    left: 12px;
  }

  body.is-map-active.is-reach-mode.has-origin:not(.is-time-rings-view) #mobileAdjustMap .mobile-settings-disclosure > summary,
  body.is-time-rings-view.is-reach-mode.has-origin #mobileAdjustMap .mobile-settings-disclosure > summary,
  body.is-map-active.is-reach-mode.has-origin:not(.is-time-rings-view) #mobileAdjustMap .mobile-settings-disclosure[open] > summary,
  body.is-time-rings-view.is-reach-mode.has-origin #mobileAdjustMap .mobile-settings-disclosure[open] > summary {
    padding: 0;
  }

  body.is-reach-mode.has-origin #mobileAdjustMap .mobile-settings-disclosure {
    gap: 0;
  }

  body.is-reach-mode.has-origin #mobileAdjustMap .mobile-settings-disclosure[open] {
    gap: 6px;
  }

  body.is-reach-mode.has-origin #mobileAdjustMap .mobile-settings-disclosure:not([open]) > summary {
    width: 42px;
    min-height: 40px;
    height: 40px;
  }

  body.is-map-active.is-reach-mode.has-origin:not(.is-time-rings-view) .map-zoom-controls,
  body.is-time-rings-view.is-reach-mode.has-origin .map-zoom-controls {
    left: 12px;
    bottom: var(--mobile-map-bottom-clearance, 188px);
    z-index: 6;
  }

  body.is-map-active.is-reach-mode.has-origin:not(.is-time-rings-view) .distance-legend,
  body.is-time-rings-view.is-reach-mode.has-origin .distance-legend {
    top: calc(env(safe-area-inset-top) + 48px);
    right: auto;
    bottom: auto;
    left: 10px;
    z-index: 5;
    max-width: 96px;
    min-width: 74px;
  }

  body.is-reach-mode.has-origin:has(#mobileAdjustMap .mobile-settings-disclosure[open]) .map-corner-actions,
  body.is-reach-mode.has-origin:has(#mobileAdjustMap .mobile-settings-disclosure[open]) .distance-legend {
    opacity: 0;
    pointer-events: none;
  }


  body.is-map-active .mobile-map-time-instrument {
    display: none;
  }

  body.is-map-active.is-reach-mode.has-origin .mobile-map-time-instrument {
    position: fixed;
    right: 12px;
    bottom: var(--mobile-map-bottom-clearance, 188px);
    left: 12px;
    z-index: 7;
    display: grid;
    grid-template-columns: 42px minmax(0, 1fr);
    align-items: stretch;
    gap: 0;
    overflow: visible;
    border: 1px solid rgba(17, 16, 14, 0.16);
    border-radius: 13px;
    background:
      linear-gradient(90deg, rgba(17, 16, 14, 0.018) 1px, transparent 1px),
      rgba(255, 253, 247, 0.95);
    background-size: 18px 18px, auto;
    box-shadow:
      inset 0 1px 0 rgba(255, 253, 247, 0.74),
      0 1px 2px rgba(17, 16, 14, 0.05),
      0 10px 24px rgba(48, 42, 32, 0.12);
    pointer-events: none;
  }

  body.is-map-active.is-reach-mode.has-origin .mobile-map-time-instrument .map-zoom-controls {
    position: static;
    inset: auto;
    display: grid;
    grid-template-rows: repeat(2, minmax(0, 1fr));
    align-self: stretch;
    width: 45px;
    min-width: 45px;
    height: auto;
    min-height: 66px;
    gap: 0;
    overflow: hidden;
    border: 0;
    border-right: 1px solid rgba(17, 16, 14, 0.12);
    border-radius: 12px 0 0 12px;
    background: transparent;
    box-shadow: none;
    pointer-events: auto;
  }

  body.is-map-active.is-reach-mode.has-origin .mobile-map-time-instrument .map-zoom-controls .icon-button {
    display: grid;
    place-items: center;
    width: 100%;
    min-width: 0;
    min-height: 0;
    height: auto;
    margin: 0;
    border: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
  }

  body.is-map-active.is-reach-mode.has-origin .mobile-map-time-instrument .map-zoom-controls .icon-button + .icon-button {
    border-top: 1px solid rgba(17, 16, 14, 0.12);
  }

  body.is-map-active.is-reach-mode.has-origin .mobile-map-time-instrument #mobileReachTimeControl {
    position: static;
    inset: auto;
    align-self: stretch;
    width: auto;
    min-width: 0;
    max-width: none;
    margin: 0;
    border: 0;
    border-radius: 0 12px 12px 0;
    background: transparent;
    box-shadow: none;
    pointer-events: auto;
  }

  body.is-map-active.is-reach-mode.has-origin .mobile-sheet[data-snap="collapsed"] .mobile-sheet-handle {
    min-height: 44px;
    height: 44px;
    margin: -2px 0 -2px;
    padding: 0;
  }

  body.is-map-active.is-reach-mode.has-origin .mobile-sheet[data-snap="collapsed"] .mobile-sheet-handle::before {
    width: 42px;
    height: 4px;
    border: 0;
    border-radius: 99px;
    background: rgba(17, 16, 14, 0.3);
    box-shadow: none;
  }

  body.is-map-active .mobile-sheet[data-snap="collapsed"] .mobile-collapsed-control-bar {
    position: relative;
    display: grid;
    grid-template-columns: minmax(132px, 1.18fr) minmax(102px, 0.9fr) minmax(54px, auto);
    gap: 6px;
    align-items: stretch;
    min-height: 48px;
    height: 48px;
  }

  body.is-map-active .mobile-sheet[data-snap="collapsed"] .mobile-collapsed-mode-control {
    position: relative;
    z-index: 11;
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    min-width: 0;
    min-height: 48px;
    height: 48px;
    overflow: visible;
    padding: 3px;
    border-radius: 12px;
  }

  body.is-map-active .mobile-sheet[data-snap="collapsed"] .mobile-collapsed-mode-control .mode-button {
    min-height: 44px;
    height: 44px;
    padding: 0 2px;
    border-radius: 9px;
  }

  body.is-map-active .mobile-sheet[data-snap="collapsed"] .mobile-collapsed-mode-control .mode-button:not(.is-active) {
    position: relative;
    right: auto;
    left: auto;
    display: grid;
    width: 100%;
    background: #fffdf7;
    color: rgba(22, 20, 15, 0.72);
    opacity: 1;
    pointer-events: auto;
    transform: none;
    visibility: visible;
    box-shadow: none;
    transition:
      background-color 150ms cubic-bezier(0.22, 0.68, 0.24, 1),
      color 150ms cubic-bezier(0.22, 0.68, 0.24, 1);
  }

  body.is-map-active .mobile-sheet[data-snap="collapsed"] .mobile-collapsed-poster-button,
  body.is-map-active .mobile-collapsed-control-bar .mobile-collapsed-poster-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 64px;
    min-height: 40px;
    height: 40px;
    padding: 0 8px 0 27px;
    border: 1px solid rgba(184, 70, 54, 0.52);
    border-radius: 12px;
    background-position: left 9px center, 0 0, 0 0;
    background-size: 14px 14px, 18px 18px, auto;
    color: rgba(146, 36, 28, 0.92);
    font-size: 0.625rem;
    font-weight: 850;
    letter-spacing: 0;
    text-transform: uppercase;
  }

  @media (max-width: 380px) {
    body.is-map-active .mobile-sheet[data-snap="collapsed"] .mobile-collapsed-control-bar {
      grid-template-columns: minmax(86px, 0.74fr) minmax(120px, 1fr) 58px;
      gap: 4px;
    }

    body.is-map-active .mobile-sheet[data-snap="collapsed"] .mobile-collapsed-mode-control .mode-button {
      padding-left: 22px;
    }

    body.is-map-active .mobile-sheet[data-snap="collapsed"] .mobile-collapsed-poster-button,
    body.is-map-active .mobile-collapsed-control-bar .mobile-collapsed-poster-button {
      min-width: 58px;
      padding-right: 6px;
      padding-left: 24px;
      font-size: 0.5rem;
    }

    .mobile-surface-story-toggle .surface-story-button {
      font-size: var(--panel-label);
      letter-spacing: 0;
    }
  }

  body.is-reach-mode #mobileReachTimeControl.mobile-reach-time-control {
    padding: 4px;
  }

  body.is-reach-mode #mobileReachTimeControl.mobile-reach-time-control .mobile-time-range-label {
    padding: 4px 8px 5px;
  }

  body.is-reach-mode #mobileReachTimeControl.mobile-reach-time-control .mobile-time-range-label input {
    width: 100%;
    height: 44px;
    margin: 0;
    padding: 0;
  }
}

@media (max-width: 374px) {
  body.is-map-active.is-reach-mode.has-origin .mobile-map-time-instrument #mobileReachTimeControl.mobile-reach-time-control {
    right: 10px;
  }
}

@media (max-width: 980px) {
  body.is-map-active.is-reach-mode.has-origin .mobile-sheet[data-snap="full"] .mobile-sheet-head #mobileOriginTitle.is-ekimeihyo {
    display: grid;
  }

  body.is-map-active.is-reach-mode.has-origin .mobile-sheet[data-snap="full"] .mobile-sheet-head #mobileStatusText {
    display: none;
  }

  body.is-map-active.is-reach-mode.has-origin .mobile-sheet[data-snap="full"] .mobile-sheet-head #mobileCollapsedLineLogo.mobile-collapsed-line-logo:not([hidden]) {
    display: none;
  }

}

@media (max-width: 980px) {
  .mobile-sheet .mobile-sheet-head {
    margin-top: -10px;
  }

  body.is-map-active .mobile-sheet[data-snap="collapsed"] .mobile-sheet-head,
  body.is-time-rings-view.is-map-active .mobile-sheet[data-snap="collapsed"] .mobile-sheet-head {
    margin-top: -10px;
  }

  .mobile-sheet[data-snap="full"] {
    padding-top: 0;
    scroll-padding-top: 72px;
  }

  .mobile-sheet[data-snap="full"] .mobile-sheet-handle,
  body.is-inspect-mode .mobile-sheet[data-snap="full"] .mobile-sheet-handle {
    top: 0;
    min-height: 44px;
    height: 44px;
    width: min(128px, calc(100vw - 28px));
    margin: 0 auto -8px;
  }

  .mobile-sheet[data-snap="full"] .mobile-sheet-head,
  body.is-inspect-mode .mobile-sheet[data-snap="full"] .mobile-sheet-head {
    top: 44px;
    margin-top: 0;
  }

  body.is-time-rings-view.is-map-active .map-frame .map-state-pill {
    min-height: 30px;
    padding-block: 0;
  }
}

@media (max-width: 980px) {
  body.is-map-active .mobile-collapsed-mode-control .mode-button,
  body.is-map-active .mobile-mode-control .mode-button {
    display: grid;
  }

  body.is-map-active .mobile-surface-story-toggle .surface-story-button,
  body.is-map-active .mobile-spatial-view-guide .spatial-view-button {
    min-width: 0;
    min-height: 44px;
    padding: 0 7px;
  }

  body.is-reach-mode.has-origin .mobile-sheet[data-snap="full"] .mobile-spatial-view-guide .spatial-view-button {
    min-height: 28px;
    height: auto;
    padding: 0 7px;
  }

  body.is-map-active .mobile-mode-control .mode-button,
  body.is-map-active .mobile-sheet[data-snap="full"] .mobile-mode-control .mode-button,
  body.is-reach-mode.has-origin .mobile-sheet[data-snap="full"] .mobile-mode-control .mode-button {
    min-height: 48px;
    padding: 7px 9px 7px 31px;
  }

  body.is-map-active .mobile-collapsed-mode-control .mode-button,
  body.is-map-active .mobile-sheet[data-snap="collapsed"] .mobile-collapsed-mode-control .mode-button {
    min-height: 44px;
    height: 44px;
    padding: 0 2px;
  }

  body.is-time-rings-view.is-map-active .mobile-sheet[data-snap="collapsed"] .mobile-collapsed-mode-control .mode-button {
    min-height: 44px;
    height: 44px;
    padding: 0 2px;
  }

  @container mobile-mode-lens (min-width: 252px) {
    .mobile-collapsed-mode-control .mode-button,
    body.is-map-active .mobile-sheet[data-snap="collapsed"] .mobile-collapsed-mode-control .mode-button {
      padding-inline: 4px;
    }
  }

  @media (max-width: 380px) {
    body.is-map-active .mobile-sheet[data-snap="collapsed"] .mobile-collapsed-mode-control .mode-button {
      padding-inline: 3px;
    }
  }
}

@media (max-width: 980px) {
  body.is-map-active.has-origin #mobileAdjustMap,
  body.is-map-active.is-reach-mode.has-origin:not(.is-time-rings-view) #mobileAdjustMap,
  body.is-time-rings-view.is-reach-mode.has-origin #mobileAdjustMap {
    position: fixed;
    top: 10px;
    right: 54px;
    bottom: auto;
    left: auto;
    z-index: 8;
  }

  body.is-map-active.has-origin #mobileAdjustMap:has(.mobile-settings-disclosure[open]),
  body.is-map-active.is-reach-mode.has-origin:not(.is-time-rings-view) #mobileAdjustMap:has(.mobile-settings-disclosure[open]),
  body.is-time-rings-view.is-reach-mode.has-origin #mobileAdjustMap:has(.mobile-settings-disclosure[open]) {
    position: fixed;
    top: 10px;
    right: 10px;
    bottom: auto;
    left: auto;
    width: min(282px, calc(100vw - 20px));
    z-index: 30;
  }
}

@media (max-width: 760px) and (orientation: landscape) {
  body.is-map-active.is-reach-mode.has-origin .mobile-map-time-instrument {
    left: 78px;
  }
}

@media (max-width: 760px), (max-width: 980px) and (orientation: portrait) {
  body.is-map-active .page-shell,
  body.is-map-active .map-panel {
    overflow: hidden;
    overflow: clip;
    overscroll-behavior: none;
  }

  body.is-map-active .notes {
    display: none;
  }
}

@media (max-width: 980px) {
  body.is-map-active .mobile-sheet[data-snap] {
    bottom: auto;
    transform: translate3d(0, var(--mobile-sheet-drag-y, 0px), 0);
  }

  body.is-map-active .mobile-sheet[data-snap="full"] {
    top: calc(100dvh - 86dvh);
  }

  body.is-map-active .mobile-sheet[data-snap="collapsed"] {
    top: calc(100dvh - var(--mobile-sheet-peek, clamp(96px, 13dvh, 118px)));
  }

  body.is-map-active.is-reach-mode.has-origin .mobile-sheet[data-snap="collapsed"],
  body.is-map-active.is-route-mode .mobile-sheet[data-snap="collapsed"],
  body.is-map-active.is-inspect-mode .mobile-sheet[data-snap="collapsed"] {
    top: calc(100dvh - var(--mobile-sheet-peek));
  }

  body.is-time-rings-view.is-map-active.is-reach-mode.has-origin .mobile-sheet[data-snap="collapsed"] {
    top: calc(100dvh - var(--mobile-sheet-peek));
  }
}

@media (min-width: 761px) and (max-width: 980px) and (min-height: 600px) and (orientation: landscape) {

  body.is-map-active {
    overflow: hidden;
  }

  body.is-map-active .page-shell {
    box-sizing: border-box;
    display: flex;
    flex-direction: column;
    width: calc(100vw - 28px);
    height: 100dvh;
    min-height: 0;
    padding: 14px 0 18px;
  }

  body.is-map-active .notes {
    display: none;
  }

  body.is-map-active .workspace,
  body.is-map-active.is-dossier-minimized .workspace {
    display: grid;
    flex: 1 1 auto;
    grid-template-columns: minmax(0, 1fr) clamp(260px, 35vw, 330px);
    gap: 14px;
    align-items: stretch;
    height: auto;
    min-height: 0;
  }

  body.is-map-active.is-dossier-minimized .workspace {
    grid-template-columns: minmax(0, 1fr);
  }

  body.is-map-active .map-panel {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    grid-template-rows: auto minmax(0, 1fr);
    height: 100%;
    min-width: 0;
    min-height: 0;
    max-height: 100%;
    overflow: visible;
    border: 0;
    background: transparent;
    box-shadow: none;
  }

  body.is-map-active .map-panel::before {
    content: none;
  }

  body.is-map-active .panel-title-block {
    display: none;
  }

  body.is-map-active .map-frame {
    position: relative;
    display: block;
    height: auto;
    min-height: 0;
    max-height: 100%;
    margin: 0;
    overflow: hidden;
    border: 1px solid var(--chrome-card-border-strong);
    border-radius: 16px;
    background: var(--water);
    box-shadow:
      inset 0 0 0 1px rgba(247, 245, 236, 0.4),
      0 1px 2px rgba(17, 16, 14, 0.05),
      0 18px 44px rgba(48, 42, 32, 0.11);
  }

  body.is-map-active .map-frame > #mapCanvas {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    min-height: 0;
    aspect-ratio: auto;
  }

  body.is-map-active .side-panel {
    position: relative;
    top: 0;
    display: block;
    height: 100%;
    max-height: 100%;
    overflow-y: auto;
    padding: 0;
    border: 1px solid rgba(17, 16, 14, 0.16);
    border-radius: 16px;
    background:
      linear-gradient(180deg, rgba(255, 253, 247, 0.98), rgba(250, 246, 237, 0.96));
    box-shadow:
      0 1px 2px rgba(17, 16, 14, 0.05),
      0 18px 44px rgba(48, 42, 32, 0.12);
    scrollbar-gutter: auto;
  }

  body.is-map-active.is-dossier-minimized .side-panel {
    display: none;
  }

  body.is-map-active .map-surface-rail {
    top: 14px;
    left: 14px;
    right: auto;
  }


  body.is-map-active.is-reach-mode.has-origin:not(.is-time-rings-view) .distance-legend,
  body.is-time-rings-view.is-reach-mode.has-origin .distance-legend {
    top: auto;
    right: auto;
    bottom: 18px;
    left: 14px;
  }

  body.is-map-active .mobile-sheet,
  body.is-map-active .mobile-sheet[data-snap],
  body.is-map-active .mobile-map-control-rail,
  body.is-map-active .mobile-map-time-instrument,
  body.is-map-active.is-reach-mode.has-origin .mobile-map-time-instrument,
  body.is-time-rings-view.is-map-active.is-reach-mode.has-origin .mobile-map-time-instrument {
    display: none;
  }

  body.is-map-active #mobileAdjustMap,
  body.is-map-active.has-origin #mobileAdjustMap,
  body.is-map-active.is-reach-mode.has-origin:not(.is-time-rings-view) #mobileAdjustMap,
  body.is-time-rings-view.is-map-active.is-reach-mode.has-origin #mobileAdjustMap {
    display: none;
    position: static;
    width: auto;
  }
}



@media (max-width: 980px) {
  body.is-map-active.has-origin #mobileAdjustMap,
  body.is-map-active.is-reach-mode.has-origin:not(.is-time-rings-view) #mobileAdjustMap,
  body.is-time-rings-view.is-map-active.is-reach-mode.has-origin #mobileAdjustMap {
    top: calc(env(safe-area-inset-top) + 15px);
    right: calc(env(safe-area-inset-right) + 66px);
    width: 44px;
    min-height: 44px;
    height: 44px;
    padding: 0;
  }

  body.is-map-active.has-origin #mobileAdjustMap:has(.mobile-settings-disclosure[open]),
  body.is-map-active.is-reach-mode.has-origin:not(.is-time-rings-view) #mobileAdjustMap:has(.mobile-settings-disclosure[open]),
  body.is-time-rings-view.is-map-active.is-reach-mode.has-origin #mobileAdjustMap:has(.mobile-settings-disclosure[open]) {
    top: calc(env(safe-area-inset-top) + 15px);
    right: calc(env(safe-area-inset-right) + 15px);
    height: auto;
  }

  body.is-map-active.is-reach-mode.has-origin:not(.is-time-rings-view) #mobileAdjustMap .mobile-settings-disclosure > summary,
  body.is-time-rings-view.is-reach-mode.has-origin #mobileAdjustMap .mobile-settings-disclosure > summary,
  body.is-map-active.is-reach-mode.has-origin:not(.is-time-rings-view) #mobileAdjustMap .mobile-settings-disclosure:not([open]) > summary,
  body.is-time-rings-view.is-reach-mode.has-origin #mobileAdjustMap .mobile-settings-disclosure:not([open]) > summary {
    width: 44px;
    min-height: 44px;
    height: 44px;
    border-radius: 11px;
  }

  body.is-map-active.is-reach-mode.has-origin .mobile-map-time-instrument .map-zoom-controls {
    min-height: 88px;
  }

  body.is-map-active.is-reach-mode.has-origin .mobile-map-time-instrument .map-zoom-controls .icon-button {
    min-height: 44px;
  }

  body.is-map-active .map-frame .map-corner-actions .icon-button {
    width: 44px;
    height: 44px;
    min-height: 44px;
  }

  body.is-map-active .map-frame .map-state-pill,
  body.is-map-active.is-reach-mode .map-frame .map-state-pill,
  body.is-time-rings-view.is-map-active .map-frame .map-state-pill {
    padding-left: 10px;
    border: 1px solid rgba(17, 16, 14, 0.22);
    border-left-color: rgba(17, 16, 14, 0.22);
    background: #fffdf7;
    box-shadow: 0 6px 16px rgba(24, 20, 15, 0.055);
    backdrop-filter: none;
    -webkit-backdrop-filter: none;
    -webkit-mask: none;
    mask: none;
  }

  body.is-map-active .map-frame .map-state-pill::before,
  body.is-map-active .map-frame .map-state-pill::after,
  body.is-map-active .map-frame .map-state-pill .state-pill-detail::before {
    content: none;
    display: none;
  }

  body.is-map-active .mobile-sheet .mobile-sheet-handle {
    position: relative;
    min-height: 36px;
  }

  body.is-map-active .map-state-pill .state-pill-detail {
    overflow: visible;
    text-overflow: clip;
    white-space: normal;
    line-height: 1.25;
  }


}

@media (max-width: 980px) {
  body.is-map-active .panel-header .map-origin-search {
    display: none;
  }

  body.is-map-active .command-sentence {
    grid-template-columns: minmax(0, 1fr);
    grid-template-areas: "time";
    height: auto;
  }

  body.is-map-active .command-sentence .range-control {
    grid-area: time;
  }

  body.is-map-active .mobile-map-search-form {
    --mobile-map-search-shift-x: 0px;
    left: calc(env(safe-area-inset-left) + 12px);
    right: auto;
    top: calc(env(safe-area-inset-top) + 10px);
    width: min(640px, calc(100% - 142px));
    max-width: none;
    transform: none;
    z-index: 12;
  }

  body.is-map-active .mobile-map-search-row {
    min-height: 38px;
    padding: 3px;
  }

  body.is-map-active .mobile-map-search-row input {
    height: 32px;
    min-height: 32px;
    padding-inline: 10px;
  }

  body.is-map-active .mobile-map-search-row button {
    display: none;
  }

  body.is-map-active .mobile-map-search-results {
    left: 0;
    width: min(430px, 100%);
    transform: none;
  }

  body.is-map-active .map-frame .map-state-pill {
    left: calc(env(safe-area-inset-left) + 12px);
    top: calc(env(safe-area-inset-top) + 60px);
    z-index: 6;
    display: inline-flex;
    align-items: center;
    gap: 6px;
    width: auto;
    max-width: min(220px, calc(100% - 132px));
    height: auto;
    min-height: 32px;
    padding: 6px 10px;
    clip: auto;
    overflow: hidden;
    white-space: nowrap;
    border: 1px solid rgba(17, 16, 14, 0.18);
    border-radius: 10px;
    background:
      linear-gradient(90deg, rgba(17, 16, 14, 0.018) 1px, transparent 1px),
      rgba(255, 253, 247, 0.94);
    background-size: 18px 18px, auto;
    box-shadow: 0 6px 16px rgba(24, 20, 15, 0.07);
    pointer-events: none;
  }

  body.is-map-active .map-frame .map-state-pill .state-pill-mode,
  body.is-map-active .map-frame .map-state-pill .state-pill-detail {
    display: block;
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    line-height: 1;
  }

  body.is-map-active .map-frame .map-state-pill .state-pill-mode {
    flex: 0 1 auto;
    max-width: 86px;
  }

  body.is-map-active .map-frame .map-state-pill .state-pill-detail {
    flex: 0 1 auto;
    max-width: 112px;
  }

  body.is-map-active .map-frame .map-state-pill .state-pill-detail::before {
    content: "/";
    display: inline;
    margin-right: 4px;
    color: rgba(17, 16, 14, 0.34);
  }

  body.is-map-active .distance-legend,
  body.is-map-active.is-reach-mode.has-origin:not(.is-time-rings-view) .distance-legend,
  body.is-time-rings-view.is-reach-mode.has-origin .distance-legend,
  body.is-map-active .map-frame .distance-legend,
  body.is-map-active.is-reach-mode.has-origin:not(.is-time-rings-view) .map-frame .distance-legend,
  body.is-time-rings-view.is-reach-mode.has-origin .map-frame .distance-legend {
    top: calc(env(safe-area-inset-top) + 102px);
    right: auto;
    bottom: auto;
    left: calc(env(safe-area-inset-left) + 12px);
    z-index: 5;
  }

  body.is-map-active #mobileAdjustMap,
  body.is-map-active.has-origin #mobileAdjustMap,
  body.is-map-active.is-reach-mode.has-origin:not(.is-time-rings-view) #mobileAdjustMap,
  body.is-time-rings-view.is-map-active.is-reach-mode.has-origin #mobileAdjustMap {
    position: absolute;
    top: calc(env(safe-area-inset-top) + 10px);
    right: calc(env(safe-area-inset-right) + 64px);
    display: grid;
    width: 44px;
    min-height: 44px;
    height: 44px;
    padding: 0;
    z-index: 8;
  }

  body.is-map-active .map-frame .map-corner-actions,
  body.is-time-rings-view.is-map-active .map-corner-actions {
    top: calc(env(safe-area-inset-top) + 10px);
    right: calc(env(safe-area-inset-right) + 12px);
    z-index: 8;
  }
}

@media (max-width: 619px) {
  body.is-map-active .mobile-map-search-form {
    left: calc(env(safe-area-inset-left) + 12px);
    width: calc(100% - 24px);
  }

  body.is-map-active .map-frame .map-state-pill,
  body.is-map-active.is-reach-mode .map-frame .map-state-pill,
  body.is-time-rings-view.is-map-active .map-frame .map-state-pill {
    top: calc(env(safe-area-inset-top) + 62px);
  }

  body.is-map-active #mobileAdjustMap,
  body.is-map-active.has-origin #mobileAdjustMap,
  body.is-map-active.is-reach-mode.has-origin:not(.is-time-rings-view) #mobileAdjustMap,
  body.is-time-rings-view.is-map-active.is-reach-mode.has-origin #mobileAdjustMap,
  body.is-map-active .map-frame .map-corner-actions,
  body.is-time-rings-view.is-map-active .map-corner-actions {
    top: calc(env(safe-area-inset-top) + 62px);
  }

  body.is-map-active .distance-legend,
  body.is-map-active.is-reach-mode.has-origin:not(.is-time-rings-view) .distance-legend,
  body.is-time-rings-view.is-reach-mode.has-origin .distance-legend,
  body.is-map-active .map-frame .distance-legend,
  body.is-map-active.is-reach-mode.has-origin:not(.is-time-rings-view) .map-frame .distance-legend,
  body.is-time-rings-view.is-reach-mode.has-origin .map-frame .distance-legend {
    top: calc(env(safe-area-inset-top) + 108px);
  }
}

@media (min-width: 620px) and (max-width: 820px) {
  body.is-map-active #mobileAdjustMap,
  body.is-map-active.has-origin #mobileAdjustMap,
  body.is-map-active.is-reach-mode.has-origin:not(.is-time-rings-view) #mobileAdjustMap,
  body.is-time-rings-view.is-map-active.is-reach-mode.has-origin #mobileAdjustMap {
    top: calc(env(safe-area-inset-top) + 16px);
  }
}

@media (max-width: 619px) {
  body.is-map-active #mobileAdjustMap,
  body.is-map-active.has-origin #mobileAdjustMap,
  body.is-map-active.is-reach-mode.has-origin:not(.is-time-rings-view) #mobileAdjustMap,
  body.is-time-rings-view.is-map-active.is-reach-mode.has-origin #mobileAdjustMap {
    top: calc(env(safe-area-inset-top) + 68px);
  }
}

@media (max-width: 980px) {
  body.is-map-active:has(.mobile-map-search-form [aria-expanded="true"]) .map-frame .map-state-pill,
  body.is-map-active:has(.mobile-map-search-results:not(:empty)) .map-frame .map-state-pill,
  body.is-map-active:has(.mobile-map-search-form [aria-expanded="true"]) #mapStatePill,
  body.is-map-active:has(.mobile-map-search-results:not(:empty)) #mapStatePill,
  body.is-map-active:has(.mobile-map-search-form [aria-expanded="true"]) #mobileAdjustMap,
  body.is-map-active:has(.mobile-map-search-results:not(:empty)) #mobileAdjustMap,
  body.is-map-active:has(.mobile-map-search-form [aria-expanded="true"]) .map-corner-actions,
  body.is-map-active:has(.mobile-map-search-results:not(:empty)) .map-corner-actions,
  body.is-map-active:has(.mobile-map-search-form [aria-expanded="true"]) .distance-legend,
  body.is-map-active:has(.mobile-map-search-results:not(:empty)) .distance-legend,
  body.is-map-active:has(.mobile-map-search-form [aria-expanded="true"]) .map-frame .distance-legend,
  body.is-map-active:has(.mobile-map-search-results:not(:empty)) .map-frame .distance-legend {
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transform: translateY(-6px);
  }
}

@media (max-width: 980px) {
  body.is-map-active {
    --chrome-card-bg: rgba(255, 253, 247, 0.94);
    --chrome-card-border: rgba(17, 16, 14, 0.14);
    --chrome-card-border-strong: rgba(17, 16, 14, 0.22);
    --chrome-card-shadow:
      0 1px 2px rgba(17, 16, 14, 0.05),
      0 10px 26px rgba(48, 42, 32, 0.09);
    --chrome-ink: #16140f;
    --chrome-cream: rgba(255, 253, 247, 0.96);
    --chrome-red: #c9352b;
    --chrome-radius: var(--control-radius);
    --chrome-radius-inner: var(--control-radius);
  }

  body.is-map-active .mobile-map-search-form {
    z-index: 14;
  }

  body.is-map-active .mobile-map-search-row {
    min-height: 50px;
    padding: 3px;
    border-color: var(--chrome-card-border);
    border-radius: var(--control-radius);
    background:
      linear-gradient(90deg, rgba(17, 16, 14, 0.018) 1px, transparent 1px),
      var(--chrome-card-bg);
    background-size: 18px 18px, auto;
    box-shadow: var(--chrome-card-shadow);
  }

  body.is-map-active .mobile-map-search-row input {
    height: 44px;
    min-height: 44px;
    padding: 0 10px 0 34px;
    border-radius: var(--chrome-radius-inner);
    background:
      no-repeat left 11px center / 15px 15px
      url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2316140f' stroke-opacity='0.55' stroke-width='2' stroke-linecap='round'%3E%3Ccircle cx='10.8' cy='10.8' r='6.2'/%3E%3Cpath d='m19.6 19.6-4.4-4.4'/%3E%3C/svg%3E"),
      rgba(255, 253, 247, 0.72);
    box-shadow: inset 0 0 0 1px rgba(17, 16, 14, 0.08);
    font-family: var(--font-rail-label);
    font-size: 1rem;
    font-weight: 680;
  }

  body.is-map-active .mobile-map-search-row input:focus {
    background:
      no-repeat left 11px center / 15px 15px
      url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23c9352b' stroke-opacity='0.78' stroke-width='2' stroke-linecap='round'%3E%3Ccircle cx='10.8' cy='10.8' r='6.2'/%3E%3Cpath d='m19.6 19.6-4.4-4.4'/%3E%3C/svg%3E"),
      rgba(255, 253, 247, 0.96);
    box-shadow:
      inset 0 0 0 1px rgba(201, 53, 43, 0.36),
      0 0 0 2px rgba(201, 53, 43, 0.12);
  }

  body.is-map-active .mobile-map-search-results {
    border-color: var(--chrome-card-border-strong);
    background:
      linear-gradient(90deg, rgba(17, 16, 14, 0.018) 1px, transparent 1px),
      rgba(255, 253, 247, 0.98);
    background-size: 18px 18px, auto;
    box-shadow: var(--chrome-card-shadow);
  }

  body.is-map-active #mobileAdjustMap,
  body.is-map-active.has-origin #mobileAdjustMap,
  body.is-map-active.is-reach-mode.has-origin:not(.is-time-rings-view) #mobileAdjustMap,
  body.is-time-rings-view.is-map-active.is-reach-mode.has-origin #mobileAdjustMap {
    width: 44px;
    min-height: 44px;
    height: 44px;
  }

  body.is-map-active #mobileAdjustMap:has(.mobile-settings-disclosure[open]),
  body.is-map-active.has-origin #mobileAdjustMap:has(.mobile-settings-disclosure[open]),
  body.is-map-active.is-reach-mode.has-origin:not(.is-time-rings-view) #mobileAdjustMap:has(.mobile-settings-disclosure[open]),
  body.is-time-rings-view.is-map-active.is-reach-mode.has-origin #mobileAdjustMap:has(.mobile-settings-disclosure[open]) {
    right: calc(env(safe-area-inset-right) + 12px);
    width: min(282px, calc(100% - 24px));
    min-height: 0;
    height: auto;
    z-index: 30;
  }

  body.is-map-active #mobileAdjustMap .mobile-settings-disclosure {
    width: 100%;
  }

  body.is-map-active #mobileAdjustMap .mobile-settings-disclosure:not([open]) {
    display: grid;
    place-items: center;
  }

  body.is-map-active #mobileAdjustMap .mobile-settings-disclosure > summary,
  body.is-map-active .map-frame .map-corner-actions .icon-button {
    width: 44px;
    min-width: 44px;
    height: 44px;
    min-height: 44px;
    border-color: var(--chrome-card-border);
    border-radius: 11px;
    background:
      linear-gradient(90deg, rgba(17, 16, 14, 0.018) 1px, transparent 1px),
      var(--chrome-card-bg);
    background-size: 18px 18px, auto;
    box-shadow: var(--chrome-card-shadow);
    color: var(--chrome-ink);
    transition: border-color var(--motion-duration-fast) var(--motion-snap, var(--motion-ease-standard)),
      box-shadow var(--motion-duration-fast) var(--motion-snap, var(--motion-ease-standard)),
      transform var(--motion-duration-fast) var(--motion-snap, var(--motion-ease-standard));
  }

  body.is-map-active .map-frame .map-corner-actions #fullscreenButton.icon-button,
  body.is-time-rings-view.is-map-active .map-frame .map-corner-actions #fullscreenButton.icon-button {
    width: 44px;
    min-width: 44px;
    height: 44px;
    min-height: 44px;
  }

  body.is-map-active #mobileAdjustMap .mobile-settings-disclosure:not([open]) > summary {
    box-sizing: border-box;
    display: grid;
    place-items: center;
    width: 44px;
    min-width: 44px;
    min-height: 44px;
    height: 44px;
    padding: 0;
    border-radius: 11px;
    font-size: 0;
    letter-spacing: 0;
  }

  body.is-map-active #mobileAdjustMap .mobile-settings-disclosure:not([open]) > summary span {
    position: absolute;
    width: 1px;
    height: 1px;
    overflow: hidden;
    clip: rect(0 0 0 0);
    white-space: nowrap;
  }

  body.is-map-active #mobileAdjustMap .mobile-settings-disclosure:not([open]) > summary::after {
    content: "";
    position: static;
    width: 20px;
    height: 20px;
    margin: 0;
    background:
      no-repeat center / 20px 20px
      url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none'%3E%3Cpath d='M4 7.5h9M17.5 7.5H20M4 16.5h2.5M11 16.5h9' stroke='%2316140f' stroke-opacity='0.64' stroke-width='1.8' stroke-linecap='round'/%3E%3Ccircle cx='15.2' cy='7.5' r='2.25' fill='%23c9352b' stroke='%23fffdf7' stroke-width='1.2'/%3E%3Ccircle cx='8.8' cy='16.5' r='2.25' fill='%23c9352b' stroke='%23fffdf7' stroke-width='1.2'/%3E%3C/svg%3E");
    transform: none;
  }

  body.is-map-active #mobileAdjustMap .mobile-settings-disclosure[open] {
    border-color: var(--chrome-card-border-strong);
    background:
      linear-gradient(90deg, rgba(17, 16, 14, 0.018) 1px, transparent 1px),
      rgba(255, 253, 247, 0.98);
    background-size: 18px 18px, auto;
    box-shadow:
      0 1px 2px rgba(17, 16, 14, 0.07),
      0 16px 34px rgba(48, 42, 32, 0.18);
  }

  body.is-map-active #mobileAdjustMap .mobile-settings-disclosure[open] > summary {
    width: 100%;
    min-height: 40px;
    height: 40px;
    padding: 0 12px 0 42px;
    border-width: 0 0 1px;
    border-radius: 11px 11px 0 0;
    background:
      no-repeat left 14px center / 15px 15px
      url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2316140f' stroke-opacity='0.62' stroke-width='1.8' stroke-linecap='round'%3E%3Cpath d='M4 7.5h9M17.5 7.5H20M4 16.5h2.5M11 16.5h9'/%3E%3Ccircle cx='15.2' cy='7.5' r='2.2'/%3E%3Ccircle cx='8.8' cy='16.5' r='2.2'/%3E%3C/svg%3E"),
      transparent;
    box-shadow: none;
    font-size: var(--panel-label);
  }

  body.is-map-active #mobileAdjustMap .mobile-settings-disclosure[open] > summary::after {
    content: "-";
    width: auto;
    height: auto;
    background: none;
    color: var(--chrome-red);
    font-size: 0.9rem;
    transform: none;
  }

  body.is-map-active #mobileAdjustMap .mobile-settings-disclosure > summary:hover,
  body.is-map-active #mobileAdjustMap .mobile-settings-disclosure > summary:focus-visible,
  body.is-map-active .map-frame .map-corner-actions .icon-button:hover,
  body.is-map-active .map-frame .map-corner-actions .icon-button:focus-visible {
    border-color: var(--chrome-card-border-strong);
    box-shadow:
      0 1px 2px rgba(17, 16, 14, 0.06),
      0 14px 30px rgba(48, 42, 32, 0.13);
    transform: translateY(-1px);
  }

  body.is-map-active .mobile-sheet[data-snap="collapsed"] .mobile-collapsed-mode-control,
  body.is-map-active .mobile-sheet[data-snap="full"] > .mobile-mode-control,
  body.is-map-active .mobile-sheet[data-snap="full"] > .mobile-surface-story-toggle,
  body.is-map-active .mobile-sheet[data-snap="full"] .mobile-spatial-view-guide {
    border-color: var(--chrome-card-border);
    border-radius: var(--chrome-radius);
    background:
      linear-gradient(90deg, rgba(17, 16, 14, 0.018) 1px, transparent 1px),
      var(--chrome-card-bg);
    background-size: 18px 18px, auto;
    box-shadow:
      inset 0 1px 0 rgba(255, 253, 247, 0.74),
      0 6px 16px rgba(36, 30, 20, 0.08);
  }

  body.is-map-active .mobile-sheet[data-snap="collapsed"] .mobile-collapsed-mode-control .mode-button.mode-button,
  body.is-map-active .mobile-sheet[data-snap="collapsed"] .mobile-collapsed-control-bar .spatial-view-button.spatial-view-button {
    border-radius: var(--chrome-radius-inner);
    font-family: var(--font-rail-label);
    font-size: var(--panel-label);
    font-weight: 820;
    letter-spacing: 0.04em;
    text-transform: uppercase;
  }

  body.is-map-active .mobile-sheet[data-snap="collapsed"] .mobile-collapsed-control-bar .mobile-share-button.mobile-share-button,
  body.is-map-active .mobile-sheet-actions .mobile-share-button{
    border: 1px solid rgba(184, 70, 54, 0.46);
    border-radius: var(--chrome-radius);
    background:
      no-repeat left 10px center / 14px 14px
      url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23b84636' stroke-opacity='0.86' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3.5' y='4.5' width='17' height='15' rx='2.4'/%3E%3Cpath d='m6.5 15.5 3.6-4.4 2.8 3 1.8-2 2.8 3.4'/%3E%3Ccircle cx='9.2' cy='9' r='1.2' fill='%23b84636' fill-opacity='0.82' stroke='none'/%3E%3C/svg%3E"),
      linear-gradient(90deg, rgba(17, 16, 14, 0.018) 1px, transparent 1px),
      var(--chrome-card-bg);
    background-size: 14px 14px, 18px 18px, auto;
    color: rgba(146, 36, 28, 0.92);
    box-shadow:
      inset 0 1px 0 rgba(255, 253, 247, 0.74),
      0 6px 16px rgba(36, 30, 20, 0.08);
    font-family: var(--font-rail-label);
    font-weight: 820;
    letter-spacing: 0.04em;
    text-transform: uppercase;
  }

  body.is-map-active .mobile-sheet-actions .mobile-share-button {
    padding: 0 11px 0 32px;
  }

  body.is-map-active .mobile-sheet[data-snap="full"] .mobile-sheet-head {
    border-bottom-color: rgba(17, 16, 14, 0.12);
    background:
      linear-gradient(90deg, rgba(17, 16, 14, 0.018) 1px, transparent 1px),
      rgba(255, 253, 247, 0.98);
    background-size: 18px 18px, auto;
    box-shadow:
      0 1px 2px rgba(17, 16, 14, 0.05),
      0 12px 26px rgba(48, 42, 32, 0.08);
  }

  body.is-map-active .map-frame .map-state-pill {
    border-color: var(--chrome-card-border);
    background:
      linear-gradient(90deg, rgba(17, 16, 14, 0.018) 1px, transparent 1px),
      var(--chrome-card-bg);
    background-size: 18px 18px, auto;
    box-shadow: var(--chrome-card-shadow);
  }
}

@media (max-width: 619px) {
  body.is-map-active #mobileAdjustMap:has(.mobile-settings-disclosure[open]),
  body.is-map-active.has-origin #mobileAdjustMap:has(.mobile-settings-disclosure[open]),
  body.is-map-active.is-reach-mode.has-origin:not(.is-time-rings-view) #mobileAdjustMap:has(.mobile-settings-disclosure[open]),
  body.is-time-rings-view.is-map-active.is-reach-mode.has-origin #mobileAdjustMap:has(.mobile-settings-disclosure[open]) {
    top: calc(env(safe-area-inset-top) + 62px);
  }

}

.network-colophon{
  --colophon-ink:#26241f;
  --colophon-muted:#6d685e;
  --colophon-rule:rgba(38,36,31,.24);
  --colophon-vermilion:#a94432;
  --colophon-indigo:#3f5065;
  --colophon-brass:#8a6632;
  --colophon-paper:#f3efdf;
  --colophon-indigo-wash:rgba(63,80,101,.055);
  --colophon-brass-wash:rgba(138,102,50,.06);
  --colophon-hover-wash:rgba(38,36,31,.045);
  position:relative;
  min-width:0;
  padding:0 20px 0 24px;
  overflow:hidden;
  color:var(--colophon-ink);
  background:var(--paper-panel-background),linear-gradient(180deg,rgba(255,255,255,0.3),transparent 180px),var(--colophon-paper);
  background-size:var(--paper-grain-size),var(--paper-formation-size),auto,auto;
  font-variant-numeric:tabular-nums lining-nums;
  isolation:isolate;
}
body.has-network-overview .side-panel>.briefing-masthead{display:none;}
.side-panel>#atlasNetworkPortrait{display:none;}
body.has-network-overview .side-panel>#atlasNetworkPortrait{display:block;padding:0;border-top:0;}
body.has-origin .side-panel>#atlasNetworkPortrait{display:none;}
body.has-network-overview #legend,
body.has-network-overview #desktopReachTimeControl{display:none;}
.network-colophon-spine{position:absolute;z-index:3;top:0;bottom:0;left:8px;width:1px;background:var(--colophon-ink);pointer-events:none;transform-origin:top;animation:network-spine-register 480ms cubic-bezier(0.16,1,0.3,1) both;}
.network-colophon-spine::before,.network-colophon-spine::after{position:absolute;content:"";background:var(--colophon-ink);}
.network-colophon-spine::before,.network-colophon-spine::after{left:-4px;width:9px;height:1px;}
.network-colophon-spine::before{top:16px;}
.network-colophon-spine::after{bottom:16px;}
.network-colophon.is-desktop .network-colophon-masthead.is-active::before,
.network-colophon.is-desktop .network-colophon-interlude.is-active::before{position:absolute;z-index:4;top:50%;left:-21px;width:11px;height:11px;margin-top:-5.5px;border:2px solid var(--colophon-paper);border-radius:50%;background:var(--colophon-vermilion);box-shadow:0 0 0 1px var(--colophon-ink);content:"";pointer-events:none;animation:network-folio-register 160ms ease-out both;}
.network-colophon-masthead{position:relative;display:grid;gap:8px;min-height:0;padding:24px 34px 20px 0;border-bottom:1.5px solid var(--colophon-ink);}
.network-colophon-masthead>span{display:none;}
.network-survey-plate small{font-family:var(--font-mono,ui-monospace,monospace);}
.network-colophon-masthead small,
.network-colophon-story-trigger span,
.network-colophon-story-trigger strong,
.network-footprint-ledger dt,
.network-colophon-caveat{font-family:var(--font-main);}
.network-colophon-masthead small{color:var(--colophon-vermilion);font-size:var(--panel-label);font-weight:750;letter-spacing:0.06em;text-transform:uppercase;}
.network-colophon-masthead h2{margin:0;font:760 clamp(1.45rem,3vw,1.9rem)/1 var(--font-display,Georgia,serif);letter-spacing:-0.035em;}
.network-colophon-overview-trigger{position:absolute;right:0;bottom:12px;display:grid;width:32px;height:42px;padding:0;border:0;border-radius:0;background:transparent;place-items:center;cursor:pointer;}
.network-colophon-overview-trigger i{display:block;width:11px;height:11px;border:1px solid var(--colophon-ink);border-radius:50%;background:var(--colophon-paper);transition: background-color var(--motion-duration-fast) var(--motion-ease-standard),transform var(--motion-duration-fast) var(--motion-ease-standard);}
.network-colophon-masthead.is-active .network-colophon-overview-trigger i,.network-colophon-overview-trigger[aria-pressed="true"] i{background:var(--colophon-vermilion);box-shadow:inset 0 0 0 2px var(--colophon-paper);transform:scale(1.1);}
.network-colophon-masthead p{max-width:31ch;margin:7px 0 0;color:var(--colophon-muted);font:450 var(--panel-body)/1.5 var(--font-main);}
.network-colophon-masthead>b{padding:3px 0 0;color:var(--colophon-vermilion);font:750 var(--panel-label)/1.3 var(--font-mono,monospace);letter-spacing:0.04em;text-align:right;}
.network-colophon-orientation{padding:20px 0 26px;border-bottom:1px solid var(--colophon-rule);}
.network-colophon-story{position:relative;min-width:0;padding-top:28px;border-bottom:1px solid var(--colophon-rule);}
.network-colophon-story-header{position:relative;display:block;min-height:0;}
.network-colophon-folio{display:block;margin:0 0 5px;color:var(--colophon-vermilion);font:750 var(--panel-label)/1 var(--font-mono,monospace);}
.network-colophon-story-trigger{position:relative;display:block;width:100%;min-height:38px;padding:0 24px 12px 0;border:0;border-radius:0;color:inherit;background:transparent;text-align:left;cursor:pointer;}
.network-colophon-story-trigger span{color:var(--colophon-muted);font-size:var(--panel-label);font-weight:600;letter-spacing:0.05em;}
.network-colophon-story-trigger strong{font-family:var(--font-display,Georgia,serif);font-size:var(--panel-lead);font-weight:750;letter-spacing:-0.012em;line-height:1.25;text-transform:none;}
.network-colophon-story-trigger i{position:absolute;top:50%;right:4px;width:9px;height:9px;border:1px solid var(--colophon-ink);border-radius:50%;transform:translateY(-50%);transition: background-color var(--motion-duration-fast) var(--motion-ease-standard),transform var(--motion-duration-fast) var(--motion-ease-standard);}
.network-colophon-story.is-active .network-colophon-story-trigger i,.network-colophon-story-trigger[aria-pressed="true"] i{background:var(--colophon-vermilion);box-shadow:inset 0 0 0 2px var(--colophon-paper);transform:translateY(-50%) scale(1.1);}
.network-colophon-story-body{min-width:0;padding:4px 0 30px;}
.network-colophon-story.is-footprint .network-colophon-story-body{display:grid;grid-template-columns:minmax(0,1fr);gap:14px;}
.network-footprint-readout{display:grid;grid-template-columns:auto minmax(0,1fr);gap:0 3px;align-self:center;align-items:end;min-width:0;}
.network-footprint-readout strong{display:block;min-width:0;font:750 clamp(2.6rem,6vw,3.15rem)/0.82 var(--font-display,Georgia,serif);letter-spacing:-0.075em;white-space:nowrap;}
.network-footprint-readout>span{margin-bottom:4px;margin-left:-4px;color:var(--colophon-vermilion);font:750 var(--panel-label)/1 var(--font-mono,monospace);white-space:nowrap;}
.network-footprint-readout p{grid-column:1 / -1;max-width:44ch;margin:12px 0 0;color:var(--colophon-muted);font:450 var(--panel-body)/1.45 var(--font-main);}
.network-colophon-story-body sup,.network-footprint-readout sup{display:none;}
.network-colophon-methods sup{margin-left:0;color:var(--colophon-vermilion);font:750 var(--panel-label)/1 var(--font-mono,monospace);}
.network-footprint-graphic{display:block;width:100%;min-height:112px;overflow:visible;}
.network-footprint-envelope{fill:var(--colophon-indigo-wash);stroke:var(--colophon-ink);stroke-dasharray:3 3;stroke-width:0.8;}
.network-footprint-hatch{opacity:0.35;}
.network-footprint-hatch + g,.network-footprint-graphic pattern line{stroke:var(--colophon-indigo);stroke-width:1;}
.network-footprint-stations circle{fill:var(--colophon-paper);stroke:var(--colophon-indigo);stroke-width:0.8;}
.network-footprint-crosshair{fill:var(--colophon-vermilion);stroke:var(--colophon-vermilion);stroke-dasharray:1 4;stroke-width:0.55;opacity:0.55;}
.network-footprint-ledger{display:grid;grid-column:1 / -1;grid-template-columns:minmax(0,1fr);gap:0;margin:0;border-top:1px solid var(--colophon-rule);}
.network-footprint-ledger div{display:flex;gap:12px;justify-content:space-between;align-items:baseline;min-width:0;padding:9px 0;}
.network-footprint-ledger div + div,
.network-density-table th,
.network-density-table td{border-top:1px solid var(--colophon-rule);}
.network-footprint-ledger dt{min-height:0;color:var(--colophon-muted);font-size:var(--panel-label);line-height:1.25;letter-spacing:0.04em;text-transform:none;}
.network-footprint-ledger dd{flex:0 0 auto;margin:0;color:var(--colophon-ink);font:750 var(--panel-body)/1.2 var(--font-mono,monospace);text-align:right;white-space:nowrap;}
.network-density-table{width:100%;border-collapse:collapse;font-variant-numeric:tabular-nums lining-nums;}
.network-density-table thead th{padding:0 7px 8px;border-top:0;text-align:left;vertical-align:bottom;}
.network-density-table thead th:first-child{width:38%;padding-left:0;}
.network-density-table thead th+th,
.network-survey-metrics>div+div,
.network-survey-record dl>div+div{border-left:1px solid var(--colophon-rule);}
.network-density-table thead strong{display:block;font:750 var(--panel-label)/1.15 var(--font-main);}
.network-density-table thead small{display:block;margin-top:3px;color:var(--colophon-muted);font:450 var(--panel-label)/1.25 var(--font-main);white-space:nowrap;}
.network-density-table tbody th{padding:8px 7px 8px 0;color:var(--colophon-muted);font:600 var(--panel-label)/1.3 var(--font-main);text-align:left;}
.network-density-table tbody td{padding:8px 7px;border-left:1px solid var(--colophon-rule);font:750 var(--panel-lead)/1 var(--font-display,Georgia,serif);}
.network-density-table tbody td:nth-child(2){color:var(--colophon-vermilion);}
.network-density-table tbody td:nth-child(3){color:var(--colophon-indigo);}
.network-density-note{max-width:46ch;margin:10px 0 0;color:var(--colophon-muted);font:450 var(--panel-body)/1.5 var(--font-main);}
.network-colophon-interlude{position:relative;display:grid;grid-template-columns:52px minmax(0,1fr);gap:8px;align-items:start;padding:13px 0;border-bottom:1px solid var(--colophon-rule);}
.network-colophon-interlude>span{padding-top:4px;color:var(--colophon-vermilion);font:750 var(--panel-label)/1.2 var(--font-mono,monospace);letter-spacing:.05em;text-transform:uppercase;}
.network-colophon-interlude button{position:relative;display:grid;gap:4px;width:100%;min-height:44px;padding:3px 28px 3px 0;border:0;border-radius:0;color:inherit;background:transparent;text-align:left;cursor:pointer;}
.network-colophon-interlude strong{font:750 var(--panel-lead)/1.25 var(--font-display,Georgia,serif);}
.network-colophon-interlude small{color:var(--colophon-muted);font:450 var(--panel-body)/1.45 var(--font-main);}
.network-colophon-interlude i{position:absolute;top:50%;right:4px;width:9px;height:9px;border:1px solid var(--colophon-ink);border-radius:50%;transform:translateY(-50%);}
.network-colophon-interlude button[aria-pressed="true"] i{background:var(--colophon-vermilion);box-shadow:inset 0 0 0 2px var(--colophon-paper);}
.network-colophon-overview-trigger:hover,
.network-colophon-story-trigger:hover,
.network-colophon-interlude button:hover{background:var(--colophon-hover-wash);}
.network-colophon-overview-trigger:focus-visible,
.network-colophon-story-trigger:focus-visible,
.network-colophon-interlude button:focus-visible{background:var(--colophon-hover-wash);outline:2px solid var(--colophon-vermilion);outline-offset:-1px;}
.network-inline-headline{display:grid;grid-template-columns:auto minmax(0,1fr);gap:14px;align-items:center;}
.network-inline-headline>strong{display:inline-flex;align-items:flex-start;gap:2px;font:750 2.9rem/0.85 var(--font-display,Georgia,serif);letter-spacing:-0.065em;white-space:nowrap;}
.network-inline-headline>strong small{display:inline-block;margin-top:0.16em;color:var(--colophon-vermilion);font:750 var(--panel-lead)/1 var(--font-mono,monospace);letter-spacing:0;}
.network-inline-headline>span{display:grid;gap:3px;color:var(--colophon-muted);font:450 var(--panel-body)/1.4 var(--font-main);}
.network-inline-headline>span b{color:var(--colophon-ink);font:750 var(--panel-body)/1.25 var(--font-main);letter-spacing:0;text-transform:none;}
.network-demand-figure,
.network-mode-figure{margin:11px 0 0;}
.network-demand-ticks{display:flex;align-items:end;height:58px;gap:2px;border-bottom:1px solid var(--colophon-ink);}
.network-demand-ticks i{display:block;flex:1 1 0;height:var(--tick-height);max-width:4px;background:var(--colophon-rule);transform-origin:bottom;}
.network-demand-ticks i.is-top{min-width:4px;background:var(--colophon-vermilion);}
.network-colophon[data-active-story="demand"] .network-demand-ticks i{animation:network-tick-register 360ms var(--tick-delay) cubic-bezier(0.16,1,0.3,1) both;}
.network-demand-figure figcaption{display:flex;flex-wrap:wrap;gap:10px 16px;margin-top:10px;}
.network-demand-figure figcaption>span{display:grid;gap:4px;justify-items:start;}
.network-demand-hub{display:inline-flex;gap:4px;align-items:baseline;color:var(--colophon-ink);font:600 var(--panel-label)/1.25 var(--font-main);white-space:nowrap;}
.network-demand-figure figcaption b{color:var(--colophon-vermilion);font-family:var(--font-mono,monospace);}
.network-demand-figure figcaption small{color:var(--colophon-muted);font:450 var(--panel-label)/1 var(--font-main);}


.network-demand-livery{display:inline-flex;gap:2px;align-items:center;}
.network-demand-livery b{width:7px;height:11px;border:.5px solid rgba(38,36,31,.55);border-radius:1.5px;background:var(--livery);}

.network-demand-route-count{margin:7px 0 0;color:var(--colophon-muted);font:600 var(--panel-label)/1.35 var(--font-main);letter-spacing:0;}
.network-chart-note{margin:7px 0 0;color:var(--colophon-muted);font:450 var(--panel-label)/1.4 var(--font-main);}
.network-inline-headline.is-rail-car>strong{color:var(--colophon-vermilion);}
.network-mode-summary{display:grid;grid-template-columns:repeat(3,1fr);margin-top:12px;border-block:1px solid var(--colophon-rule);}
.network-mode-summary span{display:grid;gap:4px;padding:8px 7px 7px 0;}
.network-mode-summary span+span{padding-left:8px;border-left:1px solid var(--colophon-rule);}
.network-mode-summary strong{font:760 var(--panel-label)/1 var(--font-display,Georgia,serif);}
.network-mode-summary .is-rail strong{color:var(--colophon-vermilion);}
.network-mode-summary .is-car strong{color:var(--colophon-indigo);}
.network-mode-summary small{color:var(--colophon-muted);font:600 var(--panel-label)/1.25 var(--font-mono,monospace);text-transform:uppercase;}
.network-mode-figure figcaption{margin-bottom:7px;color:var(--colophon-muted);font:600 var(--panel-label)/1.35 var(--font-main);}
.network-mode-bars{display:grid;gap:5px;}
.network-mode-row{display:grid;grid-template-columns:64px minmax(0,1fr);gap:8px;align-items:center;}
.network-mode-row>span{color:var(--colophon-muted);font:600 var(--panel-label)/1 var(--font-mono,monospace);text-align:right;}
.network-mode-row>i{display:flex;height:8px;overflow:hidden;background:rgba(38,36,31,.08);}
.network-mode-row b{display:block;height:100%;}
.network-mode-row .is-rail,
.network-mode-legend .is-rail::before,
.network-rent-legend .is-high::before{background:var(--colophon-vermilion);}
.network-mode-row .is-even,
.network-mode-legend .is-even::before,
.network-rent-legend .is-middle::before{background:var(--colophon-brass);}
.network-mode-row .is-car,
.network-mode-legend .is-car::before,
.network-rent-legend .is-low::before{background:var(--colophon-indigo);}
.network-mode-legend{display:flex;flex-wrap:wrap;gap:4px 14px;margin:9px 0 0;padding-left:72px;color:var(--colophon-muted);font:600 var(--panel-label)/1.25 var(--font-main);}
.network-mode-legend span::before{display:inline-block;width:6px;height:6px;margin-right:4px;content:"";}
.network-inline-headline.is-rho>strong{color:var(--colophon-brass);font-size:2.45rem;letter-spacing:-0.04em;word-spacing:0.08em;}
.network-inline-headline.is-rent-premium>strong{color:var(--colophon-brass);}
.network-rent-relationship{margin:7px 0 0;}
.network-rent-legend{display:flex;flex-wrap:wrap;gap:4px 12px;color:var(--colophon-muted);font:600 var(--panel-label)/1.25 var(--font-main);}
.network-rent-legend span::before{display:inline-block;width:7px;height:7px;margin-right:5px;border:1px solid var(--colophon-paper);border-radius:50%;content:"";}
.network-rent-scatter{display:block;width:100%;margin-top:5px;overflow:visible;}
.network-rent-grid line{stroke:var(--colophon-rule);stroke-width:.7;}
.network-rent-grid text{fill:var(--colophon-muted);font:600 10px var(--font-mono,monospace);}
.network-rent-grid .network-rent-axis-title{font:600 10px var(--font-main);}
.network-rent-trend{fill:none;stroke:var(--colophon-ink);stroke-width:1.2;stroke-dasharray:1;stroke-dashoffset:0;opacity:.72;}
.network-colophon[data-active-story="rent-access"] .network-rent-trend{animation:network-line-register 620ms cubic-bezier(0.16,1,0.3,1) both;}
.network-rent-points circle{stroke:var(--colophon-paper);stroke-width:.8;cursor:crosshair;}
.network-rent-points circle.is-low-access{fill:var(--colophon-indigo);}
.network-rent-points circle.is-middle-access{fill:var(--colophon-brass);}
.network-rent-points circle.is-high-access{fill:var(--colophon-vermilion);}
.network-rent-points circle.is-map-active{r:5px;stroke:var(--colophon-ink);stroke-width:1.4;outline:none;}
.network-rent-points circle:focus-visible{r:5px;stroke:var(--colophon-vermilion);stroke-width:2;outline:none;}
.network-rent-relationship>figcaption{max-width:46ch;margin:3px 0 0;color:var(--colophon-muted);font:450 var(--panel-label)/1.4 var(--font-main);}
.network-colophon-caveat{margin:5px 0 0;color:var(--colophon-muted);font-size:var(--panel-label);line-height:1.45;}
.network-colophon-footer{padding:16px 0 24px;}
.network-survey-plate{margin:0;border:1px solid var(--colophon-ink);background:rgba(255,255,255,.14);box-shadow:inset 0 0 0 3px rgba(243,239,223,.62);}
.network-survey-plate-head{display:flex;gap:8px;align-items:center;justify-content:space-between;min-height:30px;padding:4px 7px;border-bottom:1px solid var(--colophon-ink);background:rgba(38,36,31,.035);}
.network-survey-plate-head>span{display:flex;gap:7px;align-items:center;min-width:0;color:var(--colophon-muted);font:700 var(--panel-label)/1.15 var(--font-mono,monospace);letter-spacing:.055em;text-transform:uppercase;}
.network-survey-plate-head>span b{display:grid;flex:0 0 20px;width:20px;height:20px;border:1px solid var(--colophon-vermilion);color:var(--colophon-vermilion);font-size:.62rem;line-height:1;place-items:center;}
.network-survey-export{min-height:22px;padding:3px 6px;border:1px solid var(--colophon-ink);border-radius:0;background:var(--colophon-ink);color:var(--colophon-paper);font:750 .52rem/1 var(--font-mono,monospace);letter-spacing:.045em;text-transform:uppercase;white-space:nowrap;}
.network-survey-export:hover,.network-survey-export:focus-visible{border-color:var(--colophon-vermilion);background:var(--colophon-vermilion);color:var(--colophon-paper);}
.network-survey-export:focus-visible{outline:2px solid var(--colophon-paper);outline-offset:-3px;}
.network-survey-plate.has-plate{display:grid;grid-template-columns:minmax(0,1fr);}
.network-survey-plate.has-plate>figcaption{grid-column:1;border-top:1px solid var(--colophon-rule);}
.network-survey-map{position:relative;display:flex;gap:12px;align-items:center;justify-content:center;padding:10px 8px;}
/* Inks match ATLAS_INK in atlas-config.js so the plate and the exported poster
   read as the same press. Do not swap these for the colophon vars. */
.network-plate{--plate-ink:#11100e;--plate-paper:#f3eee0;--plate-red:#c9352b;display:block;flex:0 1 156px;width:156px;max-width:100%;height:auto;}
.network-plate-ground{fill:var(--plate-paper);}
.network-plate-coast path{fill:none;stroke:var(--plate-ink);stroke-linejoin:round;stroke-linecap:round;vector-effect:non-scaling-stroke;}
.network-plate-coast.is-shoal path{stroke-width:2.6px;opacity:.075;}
.network-plate-coast.is-offset path{stroke-width:1.2px;opacity:.11;}
.network-plate-coast.is-line path{stroke-width:.6px;opacity:.72;}
.network-plate-rail path{fill:none;stroke:var(--plate-ink);stroke-width:.5px;stroke-linejoin:round;stroke-linecap:round;opacity:.42;vector-effect:non-scaling-stroke;}
.network-plate-vignette{pointer-events:none;}
.network-plate-graticule rect{fill:var(--plate-ink);opacity:.82;}
.network-plate-rule{fill:none;stroke:var(--plate-ink);}
.network-plate-rule.is-outer{stroke-width:1.1px;vector-effect:non-scaling-stroke;}
.network-plate-rule.is-inner{stroke-width:.5px;opacity:.55;vector-effect:non-scaling-stroke;}
.network-plate-compass path{fill:var(--plate-ink);}
.network-plate-compass .is-south{fill:var(--plate-paper);stroke:var(--plate-ink);stroke-width:.4px;vector-effect:non-scaling-stroke;}
.network-plate-compass text{fill:var(--plate-red);font:800 5px/1 var(--font-mono,monospace);}
.network-plate-cartouche .is-title-ja{fill:var(--plate-ink);font:600 8.5px/1 var(--font-display,Georgia,serif);transform:translate(1px,-46px);}
.network-plate-cartouche .is-title-en{fill:var(--plate-ink);font:600 4.6px/1 var(--font-main);letter-spacing:.06em;opacity:.66;transform:translate(11px,-2px);}
.network-plate-cartouche .is-folio{fill:var(--plate-red);font:800 5.4px/1 var(--font-mono,monospace);transform:translate(11px,-9px);}
.network-plate-seal rect{fill:var(--plate-red);}
.network-plate-seal .is-rings path{fill:none;stroke:var(--plate-paper);stroke-width:.55px;opacity:.92;vector-effect:non-scaling-stroke;}
.network-plate-seal circle{fill:var(--plate-paper);opacity:.92;}
.network-survey-extent{display:grid;flex:0 1 84px;gap:5px;margin:0;padding:0;font-family:var(--font-mono,monospace);}
.network-survey-extent>div{display:flex;gap:5px;align-items:baseline;justify-content:space-between;}
.network-survey-extent dt{color:var(--colophon-vermilion);font-size:.58rem;font-weight:800;letter-spacing:.04em;}
.network-survey-extent dd{display:flex;gap:3px;align-items:baseline;margin:0;}
.network-survey-extent b{font-size:.72rem;line-height:1;}
.network-survey-extent span{color:var(--colophon-muted);font-size:.58rem;}
.network-survey-plate figcaption{display:block;}
.network-survey-inventory>small,.network-survey-record>small{display:block;padding:6px 8px 5px;color:var(--colophon-vermilion);font:750 var(--panel-label)/1.15 var(--font-main);letter-spacing:.035em;text-transform:uppercase;}
.network-survey-metrics,.network-survey-record dl{display:grid;margin:0;}
.network-survey-metrics{grid-template-columns:repeat(3,minmax(0,1fr));border-top:1px solid var(--colophon-rule);}
.network-survey-metrics.has-two{grid-template-columns:repeat(2,minmax(0,1fr));}
.network-survey-metrics>div{display:grid;grid-template-rows:1fr auto;min-width:0;min-height:88px;padding:8px 7px 7px;}
.network-survey-metrics dt,.network-survey-record dt{color:var(--colophon-muted);font:600 var(--panel-label)/1.24 var(--font-main);}
.network-survey-metrics dt{display:grid;grid-template-columns:18px minmax(0,1fr);gap:5px;align-items:start;}
.network-survey-metrics dt i{position:relative;display:block;width:14px;height:14px;margin-top:1px;color:var(--colophon-indigo);}
.network-survey-metrics .is-routes dt i{color:var(--colophon-brass);}
.network-survey-metrics .is-groups dt i{color:var(--colophon-vermilion);}
.network-survey-metrics .is-stations dt i{width:12px;height:12px;margin:2px 0 0 1px;border:2px solid currentColor;border-radius:50%;background:var(--colophon-paper);box-shadow:inset 0 0 0 2px var(--colophon-paper),inset 0 0 0 4px currentColor;}
.network-survey-metrics .is-routes dt i::before,.network-survey-metrics .is-routes dt i::after{position:absolute;right:0;left:0;height:1px;background:currentColor;content:"";}
.network-survey-metrics .is-routes dt i::before{top:4px;box-shadow:0 5px 0 currentColor;}
.network-survey-metrics .is-routes dt i::after{top:1px;left:3px;width:1px;height:12px;background:repeating-linear-gradient(currentColor 0 2px,transparent 2px 4px);}
.network-survey-metrics .is-groups dt i::before,.network-survey-metrics .is-groups dt i::after{position:absolute;top:6px;left:0;width:15px;height:2px;background:currentColor;content:"";transform:rotate(32deg);}
.network-survey-metrics .is-groups dt i::after{color:var(--colophon-vermilion);transform:rotate(-32deg);}
.network-survey-metrics dd,.network-survey-record dd{margin:0;}
.network-survey-metrics strong{font:760 var(--panel-title)/.95 var(--font-display,Georgia,serif);letter-spacing:-.04em;}
.network-survey-record{border-top:1px solid var(--colophon-ink);background:var(--colophon-brass-wash);}
.network-survey-record>small{color:var(--colophon-vermilion);}
.network-survey-record dl{grid-template-columns:1fr 1.08fr;border-top:1px solid var(--colophon-rule);}
.network-survey-record dl>div{display:grid;grid-template-rows:auto 1fr;min-width:0;min-height:65px;padding:7px 8px 8px;}
.network-survey-record dd{grid-row:1;}
.network-survey-record dt{grid-row:2;margin-top:4px;}
.network-survey-record strong{font:760 var(--panel-lead)/1 var(--font-display,Georgia,serif);letter-spacing:-.03em;}
.network-colophon-starters{display:flex;flex-wrap:wrap;gap:4px;align-items:center;padding:12px 0 7px;color:var(--colophon-muted);font:600 var(--panel-label)/1.35 var(--font-main);}
.network-colophon-starters button{min-height:28px;padding:2px 1px;border:0;border-radius:0;color:var(--colophon-ink);background:transparent;font:inherit;cursor:pointer;}
.network-colophon-starters button:hover{color:var(--colophon-vermilion);}
.network-colophon-starters button:focus-visible{color:var(--colophon-vermilion);outline:2px solid var(--colophon-vermilion);outline-offset:2px;}

.network-colophon-continue{display:none;margin:-4px 0 12px;}
.network-colophon-story-trigger[aria-expanded="true"]+.network-colophon-continue{display:block;animation:network-folio-register 160ms ease-out both;}
.network-colophon-continue button{display:inline-flex;gap:5px;align-items:center;min-height:30px;padding:2px 2px 3px 0;border:0;border-radius:0;color:var(--colophon-muted);background:transparent;text-align:left;cursor:pointer;transition:color var(--motion-duration-fast) var(--motion-ease-standard);}
.network-colophon-continue small{color:var(--colophon-vermilion);font:700 var(--panel-label)/1.25 var(--font-main);letter-spacing:.01em;text-transform:none;}
.network-colophon-continue small::after{content:":";}
.network-colophon-continue strong{font:600 var(--panel-label)/1.3 var(--font-main);}
.network-colophon-continue i{position:relative;width:13px;height:1px;margin-left:2px;color:var(--colophon-vermilion);background:currentColor;transition:transform var(--motion-duration-base) var(--motion-ease-standard);}
.network-colophon-continue i::after{position:absolute;top:50%;right:0;width:5px;height:5px;border-top:1px solid currentColor;border-right:1px solid currentColor;transform:translate(1px,-50%) rotate(45deg);content:"";}
.network-colophon-continue button:hover,.network-colophon-continue button:focus-visible{color:var(--colophon-ink);}
.network-colophon-continue button:hover i,.network-colophon-continue button:focus-visible i{transform:translateX(3px);}
.network-colophon-continue button:focus-visible,
.network-colophon .network-demand-hub:focus-visible,
.network-colophon-methods summary:focus-visible,
.network-colophon-methods a:focus-visible,
.network-restore-note button:focus-visible{outline:2px solid var(--colophon-vermilion);outline-offset:2px;}
@media (prefers-reduced-motion:reduce){.network-colophon-story-trigger[aria-expanded="true"]+.network-colophon-continue{animation:none;}
.network-colophon-continue button,.network-colophon-continue i{transition:none;}
.network-colophon-continue button:hover i,.network-colophon-continue button:focus-visible i{transform:none;}}


[data-network-locus]{scroll-margin-block:32px;}
.network-colophon [data-network-locus].is-locus-active{position:relative;color:var(--colophon-vermilion);}
.network-colophon th[data-network-locus].is-locus-active,
.network-colophon .network-demand-hub.is-locus-active{box-shadow:none;}
.network-colophon .network-demand-hub{border:0;border-radius:0;padding:2px 1px;background:transparent;font:inherit;cursor:pointer;}
.network-colophon .network-rent-points circle.is-locus-active{stroke:var(--colophon-vermilion);stroke-width:2;}
@media (prefers-reduced-motion:no-preference){
  .network-colophon [data-network-locus]{transition:color var(--motion-duration-fast) var(--motion-ease-standard);}
}


.network-rent-handoff{position:fixed;z-index:60;inset:0;pointer-events:none;}
.network-rent-handoff>i{position:absolute;display:block;border-radius:50%;box-shadow:0 0 0 1px rgba(245,240,227,.8);transform:translate(-50%,-50%);will-change:transform,opacity;}
.network-rent-handoff.is-dissolving>i{opacity:0;transition:opacity 180ms linear;}
.network-colophon-methods{padding:8px 0;border-block:1px solid var(--colophon-rule);}
.network-colophon-methods summary{min-height:32px;color:var(--colophon-ink);font:750 var(--panel-label)/32px var(--font-main);letter-spacing:0.04em;text-transform:uppercase;cursor:pointer;}
.network-colophon-methods-copy{display:grid;gap:7px;padding:7px 0;}
.network-colophon-methods-copy p{margin:0;color:var(--colophon-muted);font:450 var(--panel-body)/1.5 var(--font-main);}
.network-colophon-methods-copy sup{display:inline-block;min-width:20px;margin:0;}
.network-colophon-methods table{width:100%;border-collapse:collapse;font:450 var(--panel-label)/1.4 var(--font-mono,monospace);}
.network-colophon-methods th,.network-colophon-methods td{padding:5px 3px;border-top:1px solid var(--colophon-rule);text-align:left;}
.network-colophon-methods th{width:54%;}
.network-colophon-methods ul{display:flex;flex-wrap:wrap;gap:5px 12px;margin:10px 0 2px;padding:0;list-style:none;font:600 var(--panel-label)/1.35 var(--font-main);}
.network-colophon-methods a{color:var(--colophon-vermilion);text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:2px;}
.network-colophon-methods a:hover{color:var(--colophon-ink);}
.network-restore-note{display:flex;gap:7px;align-items:center;min-height:34px;padding:6px 0;border-bottom:1px solid var(--colophon-rule);color:var(--colophon-muted);font:450 var(--panel-label)/1.3 var(--font-main);}
.network-restore-note button{border:0;border-bottom:1px solid currentColor;border-radius:0;color:var(--colophon-vermilion);background:transparent;font:inherit;}

.network-colophon-line{position:absolute;z-index:4;top:0;bottom:0;left:0;width:24px;pointer-events:none;}
.network-colophon-line-progress{position:absolute;top:0;bottom:0;left:8px;width:1px;background:var(--colophon-vermilion);transform:scaleY(var(--line-progress,0));transform-origin:top;transition:transform 120ms linear;will-change:transform;}
.network-colophon-line-marker{position:absolute;top:0;left:6px;width:5px;height:5px;border-radius:50%;opacity:0;background:var(--colophon-vermilion);transform:translate3d(0,var(--line-marker-y,-3px),0);transition:transform 120ms linear,opacity 120ms linear;will-change:transform;}
.network-colophon.is-reading .network-colophon-line-marker{opacity:1;}

.network-colophon-stop{position:absolute;top:var(--stop-y,0);left:0;display:flex;gap:8px;align-items:center;width:auto;min-height:24px;padding:0 6px 0 0;border:0;border-radius:0;background:transparent;transform:translateY(-50%);pointer-events:auto;cursor:pointer;}
.network-colophon-stop>i{position:relative;z-index:1;flex:0 0 auto;width:9px;height:9px;margin-left:4px;border:1px solid var(--colophon-ink);border-radius:50%;background:var(--colophon-paper);transition: background-color var(--motion-duration-fast) var(--motion-ease-standard),transform var(--motion-duration-fast) var(--motion-ease-standard),border-color var(--motion-duration-fast) var(--motion-ease-standard);}
.network-colophon-stop.is-passed>i{background:var(--colophon-ink);}
.network-colophon-stop.is-current>i{border-color:var(--colophon-vermilion);background:var(--colophon-vermilion);box-shadow:0 0 0 3px var(--colophon-paper),0 0 0 4px rgba(169,68,50,.35);transform:scale(1.25);}

.network-colophon-stop>span{max-width:0;overflow:hidden;padding:5px 0;border:1px solid transparent;border-radius:2px;opacity:0;color:var(--colophon-ink);background:var(--colophon-paper);font:600 var(--panel-label)/1.2 var(--font-main);white-space:nowrap;transition: max-width var(--motion-duration-base) cubic-bezier(.16,1,.3,1),opacity var(--motion-duration-fast) var(--motion-ease-standard),padding var(--motion-duration-base) cubic-bezier(.16,1,.3,1);}
.network-colophon-stop:hover>span,.network-colophon-stop:focus-visible>span{max-width:230px;padding:5px 9px;border-color:var(--colophon-rule);opacity:1;}
.network-colophon-stop.is-current:hover>span,.network-colophon-stop.is-current:focus-visible>span,.network-colophon-stop.is-label-suppressed>span{max-width:0;padding:5px 0;border-color:transparent;opacity:0;}
.network-colophon-stop:focus-visible{outline:none;}
.network-colophon-stop:focus-visible>i{border-color:var(--colophon-vermilion);box-shadow:0 0 0 3px var(--colophon-paper),0 0 0 5px var(--colophon-vermilion);transform:scale(1.1);}
.network-colophon-stop:hover>i{border-color:var(--colophon-vermilion);transform:scale(1.2);}

.network-colophon:has(.network-colophon-line){padding-left:30px;}
.network-colophon:has(.network-colophon-line) .network-colophon-spine{opacity:.5;}


.network-colophon-story.is-reveal-pending,
.network-colophon-interlude.is-reveal-pending,
.network-colophon-orientation.is-reveal-pending{opacity:0;transform:translateY(10px);}
.network-colophon-story,
.network-colophon-interlude,
.network-colophon-orientation{transition:opacity 520ms cubic-bezier(.16,1,.3,1),transform 520ms cubic-bezier(.16,1,.3,1);}
.network-colophon-story.is-revealed,
.network-colophon-interlude.is-revealed,
.network-colophon-orientation.is-revealed{opacity:1;transform:none;}


.network-colophon-story.is-reveal-pending .network-colophon-story-body{opacity:0;}
.network-colophon-story .network-colophon-story-body{transition:opacity 460ms cubic-bezier(.16,1,.3,1) 90ms;}
.network-colophon-story.is-revealed .network-colophon-story-body{opacity:1;}


.network-colophon-story.is-active .network-colophon-folio{color:var(--colophon-vermilion);}
.network-colophon-story .network-colophon-folio{transition: color var(--motion-duration-base) var(--motion-ease-standard);}

@media (max-width:980px){
  .network-colophon-line{display:none;}
  .network-colophon:has(.network-colophon-line){padding-left:var(--mobile-panel-pad,14px);}
}

@keyframes network-spine-register{from{transform:scaleY(0);}
to{transform:scaleY(1);}
}
@keyframes network-folio-register{from{opacity:0;}
to{opacity:1;}
}
@keyframes network-tick-register{from{opacity:0;transform:scaleY(0.1);}
to{opacity:1;transform:scaleY(1);}
}
@keyframes network-line-register{from{stroke-dashoffset:1;}
to{stroke-dashoffset:0;}
}
@media (max-width:980px){#mobilePrimarySummary .network-colophon{width:100%;max-width:100%;margin:0;padding-right:var(--mobile-panel-pad,14px);padding-left:var(--mobile-panel-pad,14px);box-sizing:border-box;}
#mobilePrimarySummary .network-colophon-spine{display:none;}
#mobilePrimarySummary .network-colophon-story-trigger,#mobilePrimarySummary .network-colophon-starters button,#mobilePrimarySummary .network-colophon-methods summary{min-height:44px;}
#mobilePrimarySummary .network-colophon-masthead{min-height:0;}
body.has-network-overview .mobile-sheet[data-snap="collapsed"] #mobileCollapsedSummary{display:block;margin:2px 0 0;overflow:hidden;color:rgba(17,16,14,.62);font:700 var(--panel-label)/1.1 var(--font-main);text-overflow:ellipsis;white-space:nowrap;}
body.has-network-overview .mobile-sheet[data-snap="full"] .mobile-sheet-head{display:grid;grid-template-columns:1fr;min-height:42px;padding-block:4px;}
body.has-network-overview .mobile-sheet[data-snap="full"]>.mobile-project-signature,
body.has-network-overview .mobile-sheet[data-snap="full"]>.atlas-dossier-tabs{display:none;}
body.has-network-overview .mobile-sheet[data-snap="full"] .mobile-sheet-head>div:first-child{display:none;}
body.has-network-overview .mobile-sheet[data-snap="full"] .mobile-sheet-actions{justify-self:end;width:auto;}
}
@media (hover:none){.network-colophon-story-trigger:hover,.network-colophon-overview-trigger:hover,.network-colophon-interlude button:hover{background:transparent;outline:0;}}
@media (max-width:420px){.network-colophon{padding-right:14px;padding-left:14px;}
.network-colophon-spine{display:none;}
.network-colophon-story.is-footprint .network-colophon-story-body{grid-template-columns:1fr;}
.network-footprint-readout{display:grid;grid-template-columns:auto auto 1fr;align-items:end;}
.network-footprint-readout p{grid-column:auto;align-self:center;margin:0 0 0 9px;}
.network-footprint-readout>span{margin-bottom:5px;}
.network-footprint-readout strong{font-size:3.2rem;}
.network-footprint-graphic{min-height:126px;}
.network-survey-metrics dt{grid-template-columns:16px minmax(0,1fr);gap:4px;font-size:calc(var(--panel-label) - .02rem);}
.network-survey-metrics strong{font-size:var(--panel-lead);}
.network-survey-record strong{font-size:var(--panel-body);}
}
@media (prefers-reduced-motion:reduce){.network-colophon *,.network-colophon *::before,.network-colophon *::after{animation-duration:1ms;animation-delay:0ms;transition-duration:1ms;transform:none;clip-path:none;}
}
@media (min-width: 981px), (min-width: 761px) and (max-width: 980px) and (min-height: 600px) and (orientation: landscape) {
  body.is-reach-mode.has-line-focus .side-panel > .briefing-masthead {
    order: 1;
  }

  body.is-reach-mode.has-line-focus #lineDetailsCard {
    order: 2;
  }

  body.is-reach-mode.has-line-focus .side-panel > .score-card {
    order: 3;
  }

  body.is-reach-mode.has-line-focus #stationDetailsCard,
  body.is-reach-mode.has-line-focus #stationRoleCard {
    order: 4;
  }

  body.is-reach-mode.has-line-focus #reachLinesCard,
  body.is-reach-mode.has-line-focus #reachDetailsCard,
  body.is-reach-mode.has-line-focus #stationDataNoteCard {
    order: 5;
  }

  body.is-reach-mode.has-line-focus #lineDetailsCard > h3 {
    display: none;
  }
}

.line-detail.is-reach-compact {
  gap: 9px;
}

.line-detail.is-reach-compact .detail-meta {
  margin-top: 0;
}

@media (max-width: 980px) {
  body.is-map-active .mobile-sheet[data-snap="collapsed"] .mobile-collapsed-mode-control {
    background:
      linear-gradient(90deg, rgba(17, 16, 14, 0.018) 1px, transparent 1px),
      var(--chrome-card-bg);
    background-size: 18px 18px, auto;
  }

  body.is-map-active .mobile-sheet[data-snap="collapsed"] .mobile-collapsed-mode-control {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  body.is-map-active .mobile-sheet[data-snap="collapsed"] .mobile-collapsed-mode-control .mode-button.mode-button {
    position: relative;
    justify-content: center;
    justify-self: stretch;
    width: 100%;
    min-width: 0;
    padding: 0 4px;
    overflow: hidden;
    background: #fffdf7;
    color: rgba(22, 20, 15, 0.78);
    box-shadow: none;
    text-align: center;
    text-overflow: ellipsis;
    white-space: nowrap;
  }

  body.is-map-active .mobile-sheet[data-snap="collapsed"] .mobile-collapsed-mode-control .mode-button.mode-button:not(.is-active) {
    position: relative;
    right: auto;
    left: auto;
    width: 100%;
  }

  body.is-map-active .mobile-sheet[data-snap="collapsed"] .mobile-collapsed-mode-control .mode-button.mode-button.is-active {
    background: var(--chrome-ink);
    color: var(--chrome-cream);
    box-shadow: 0 6px 16px rgba(17, 16, 14, 0.26);
  }

  body.is-map-active .mobile-sheet[data-snap="collapsed"] .mobile-collapsed-mode-control .mode-button.mode-button:not(.is-active):hover {
    background: #f6f1e6;
    color: var(--chrome-ink);
  }

  body.is-map-active .mobile-sheet[data-snap="collapsed"] .mobile-collapsed-control-bar .mobile-share-button.mobile-share-button {
    position: relative;
    overflow: hidden;
    min-height: 48px;
    height: 48px;
    border-color: rgba(17, 16, 14, 0.18);
    background:
      no-repeat left 10px center / 14px 14px
      url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23b84636' stroke-opacity='0.86' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3.5' y='4.5' width='17' height='15' rx='2.4'/%3E%3Cpath d='m6.5 15.5 3.6-4.4 2.8 3 1.8-2 2.8 3.4'/%3E%3Ccircle cx='9.2' cy='9' r='1.2' fill='%23b84636' fill-opacity='0.82' stroke='none'/%3E%3C/svg%3E"),
      rgba(255, 253, 247, 0.74);
    background-size: 14px 14px, auto;
    color: rgba(22, 20, 15, 0.68);
    box-shadow:
      0 1px 2px rgba(17, 16, 14, 0.05),
      0 9px 24px rgba(48, 42, 32, 0.08);
  }

  body.is-map-active .mobile-sheet[data-snap="collapsed"] .mobile-collapsed-control-bar .mobile-share-button.mobile-share-button::before {
    content: "";
    position: absolute;
    inset: 0;
    padding: 1px;
    border-radius: inherit;
    background:
      linear-gradient(
        115deg,
        rgba(184, 70, 54, 0),
        rgba(184, 70, 54, 0.48) 18%,
        rgba(216, 137, 44, 0.36) 34%,
        rgba(184, 70, 54, 0) 48%,
        rgba(184, 70, 54, 0.38) 68%,
        rgba(184, 70, 54, 0)
      ) 0 0 / 230% 230% no-repeat;
    -webkit-mask:
      linear-gradient(#000 0 0) content-box,
      linear-gradient(#000 0 0);
    -webkit-mask-composite: xor;
    mask:
      linear-gradient(#000 0 0) content-box,
      linear-gradient(#000 0 0);
    mask-composite: exclude;
    opacity: 0.38;
    pointer-events: none;
    animation: none;
  }

  body.is-map-active .mobile-sheet[data-snap="collapsed"] .mobile-collapsed-control-bar .mobile-share-button.mobile-share-button.is-context-ready::before {
    animation: posterCtaEdgeTrace 1100ms cubic-bezier(0.16, 1, 0.3, 1) 1 both;
  }

  body.is-map-active .mobile-sheet[data-snap="collapsed"] .mobile-collapsed-control-bar .mobile-share-button.mobile-share-button:hover,
  body.is-map-active .mobile-sheet[data-snap="collapsed"] .mobile-collapsed-control-bar .mobile-share-button.mobile-share-button:focus-visible {
    border-color: rgba(184, 70, 54, 0.5);
    background-color: #fffdf7;
    color: var(--chrome-ink);
    box-shadow:
      0 1px 2px rgba(17, 16, 14, 0.06),
      0 14px 30px rgba(48, 42, 32, 0.13);
    transform: translateY(-1px);
  }

  body.is-map-active .mobile-sheet[data-snap="collapsed"] .mobile-collapsed-control-bar .mobile-share-button.mobile-share-button:hover::before,
  body.is-map-active .mobile-sheet[data-snap="collapsed"] .mobile-collapsed-control-bar .mobile-share-button.mobile-share-button:focus-visible::before {
    opacity: 0.9;
    animation-duration: 2400ms;
  }
}

@media (prefers-reduced-motion: reduce) {
  body.is-map-active .mobile-sheet[data-snap="collapsed"] .mobile-collapsed-control-bar .mobile-share-button.mobile-share-button.is-context-ready::before {
    animation: none;
  }
}

@media (max-width: 619px) {
  body.is-map-active .mobile-sheet[data-snap="collapsed"] .mobile-collapsed-control-bar {
    grid-template-columns: minmax(221px, 1.8fr) minmax(67px, 0.55fr) minmax(60px, auto);
    gap: 4px;
  }

  body.is-map-active .mobile-sheet[data-snap="collapsed"] .mobile-collapsed-mode-control .mode-button.mode-button {
    padding-inline: 0;
    font-size: var(--panel-label);
  }

  body.is-map-active .mobile-sheet[data-snap="collapsed"] .mobile-collapsed-control-bar .mobile-share-button.mobile-share-button {
    min-width: 60px;
    padding-right: 4px;
    padding-left: 20px;
    background-position: left 6px center, 0 0;
    background-size: 11px 11px, auto;
    font-size: var(--panel-label);
    letter-spacing: 0;
    white-space: nowrap;
  }
}

@media (max-width: 980px) {
  body.is-map-active:is(.is-mobile-sheet-expanded, .is-mobile-sheet-full) .map-frame .map-state-pill,
  body.is-map-active.is-reach-mode:is(.is-mobile-sheet-expanded, .is-mobile-sheet-full) .map-frame .map-state-pill,
  body.is-time-rings-view.is-map-active:is(.is-mobile-sheet-expanded, .is-mobile-sheet-full) .map-frame .map-state-pill {
    top: calc(env(safe-area-inset-top) + 10px);
    max-width: min(220px, calc(100% - 150px));
    z-index: 10;
  }

  body.is-map-active:is(.is-mobile-sheet-expanded, .is-mobile-sheet-full) #mobileAdjustMap,
  body.is-map-active.has-origin:is(.is-mobile-sheet-expanded, .is-mobile-sheet-full) #mobileAdjustMap,
  body.is-map-active.is-reach-mode.has-origin:not(.is-time-rings-view):is(.is-mobile-sheet-expanded, .is-mobile-sheet-full) #mobileAdjustMap,
  body.is-time-rings-view.is-map-active.is-reach-mode.has-origin:is(.is-mobile-sheet-expanded, .is-mobile-sheet-full) #mobileAdjustMap,
  body.is-map-active:is(.is-mobile-sheet-expanded, .is-mobile-sheet-full) .map-frame .map-corner-actions,
  body.is-time-rings-view.is-map-active:is(.is-mobile-sheet-expanded, .is-mobile-sheet-full) .map-corner-actions {
    top: calc(env(safe-area-inset-top) + 10px);
    z-index: 10;
  }

  body.is-map-active:is(.is-mobile-sheet-expanded, .is-mobile-sheet-full) .mobile-map-control-rail,
  body.is-map-active:is(.is-mobile-sheet-expanded, .is-mobile-sheet-full) .mobile-map-time-instrument,
  body.is-map-active:is(.is-mobile-sheet-expanded, .is-mobile-sheet-full) #mobileAdjustMap,
  body.is-map-active:is(.is-mobile-sheet-expanded, .is-mobile-sheet-full) .map-frame .map-corner-actions {
    opacity: 0;
    pointer-events: none;
    transform: translateY(-4px);
  }

}


@media (min-width: 761px) and (max-width: 980px) and (min-height: 600px) and (orientation: landscape) {
  body.is-map-active .mobile-map-search-form {
    top: calc(env(safe-area-inset-top) + 12px);
    left: calc(env(safe-area-inset-left) + 12px);
    right: auto;
    width: min(240px, calc(100% - 286px));
    min-width: 158px;
    max-width: 240px;
    z-index: 9;
  }

  body.is-map-active .mobile-map-search-row {
    min-height: 44px;
    height: 44px;
  }

  body.is-map-active .mobile-map-search-row input {
    height: 36px;
    min-height: 36px;
    font-size: 0.86rem;
  }

  body.is-map-active #mobileAdjustMap,
  body.is-map-active.has-origin #mobileAdjustMap,
  body.is-map-active.is-reach-mode.has-origin:not(.is-time-rings-view) #mobileAdjustMap,
  body.is-time-rings-view.is-map-active.is-reach-mode.has-origin #mobileAdjustMap,
  body.is-map-active .map-frame .map-corner-actions,
  body.is-time-rings-view.is-map-active .map-corner-actions{
    top: calc(env(safe-area-inset-top) + 12px);
  }

  body.is-map-active #mobileAdjustMap,
  body.is-map-active.has-origin #mobileAdjustMap,
  body.is-map-active.is-reach-mode.has-origin:not(.is-time-rings-view) #mobileAdjustMap,
  body.is-time-rings-view.is-map-active.is-reach-mode.has-origin #mobileAdjustMap {
    right: calc(env(safe-area-inset-right) + 64px);
    width: 44px;
    min-height: 44px;
    height: 44px;
  }

  body.is-map-active .map-frame .map-corner-actions,
  body.is-time-rings-view.is-map-active .map-corner-actions {
    right: calc(env(safe-area-inset-right) + 12px);
  }

  body.is-map-active .map-surface-rail {
    top: calc(env(safe-area-inset-top) + 64px);
    left: calc(env(safe-area-inset-left) + 12px);
    right: auto;
  }

  body.is-map-active .map-frame .map-state-pill,
  body.is-map-active.is-reach-mode .map-frame .map-state-pill,
  body.is-time-rings-view.is-map-active .map-frame .map-state-pill {
    top: calc(env(safe-area-inset-top) + 64px);
    right: calc(env(safe-area-inset-right) + 12px);
    left: auto;
    max-width: min(190px, calc(100% - 216px));
  }

  body.is-map-active .distance-legend,
  body.is-map-active.is-reach-mode.has-origin:not(.is-time-rings-view) .distance-legend,
  body.is-time-rings-view.is-reach-mode.has-origin .distance-legend,
  body.is-map-active .map-frame .distance-legend,
  body.is-map-active.is-reach-mode.has-origin:not(.is-time-rings-view) .map-frame .distance-legend,
  body.is-time-rings-view.is-reach-mode.has-origin .map-frame .distance-legend {
    top: auto;
    right: auto;
    bottom: calc(env(safe-area-inset-bottom) + 14px);
    left: calc(env(safe-area-inset-left) + 12px);
    max-width: 120px;
  }

  body.is-map-active.is-reach-mode.has-origin:not(.is-time-rings-view):not(.is-car-surface):not(.is-walking-surface):not(.is-comparison-surface) .map-frame #legend.legend,
  body.is-map-active.is-reach-mode.has-origin:not(.is-time-rings-view):not(.is-car-surface):not(.is-walking-surface):not(.is-comparison-surface) #legend.legend {
    display: grid;
    top: auto;
    right: calc(env(safe-area-inset-right) + 12px);
    bottom: calc(env(safe-area-inset-bottom) + 12px);
    left: auto;
    min-width: 218px;
    max-width: min(280px, calc(100% - 132px));
    z-index: 4;
  }
}

.isochrone-legend-toggle,
.isochrone-legend-toggle[hidden] {
  display: none;
}

/* The legend is the sole isochrone visibility owner at every viewport. Its
   transparent button covers the full plate; hybrid tablets additionally move
   the plate clear of the overlaid dossier below. */
  html body.is-map-active #legend.legend.is-isochrone-toggle {
    cursor: pointer;
  }

  html body.is-map-active #legend.legend.is-isochrone-toggle .isochrone-legend-toggle:not([hidden]) {
    position: absolute;
    inset: -4px -1px;
    z-index: 3;
    display: block;
    width: auto;
    height: auto;
    margin: 0;
    padding: 0;
    border: 0;
    border-radius: inherit;
    background: transparent;
    color: inherit;
    cursor: pointer;
    touch-action: manipulation;
  }

  html body.is-map-active #legend.legend.is-isochrone-toggle .isochrone-legend-toggle:focus-visible {
    outline: 2px solid var(--accent);
    outline-offset: -3px;
  }

  html body.is-map-active #legend.legend.is-isochrone-toggle .isochrone-legend-toggle:active {
    background: rgba(17, 16, 14, 0.055);
  }

  html body.is-map-active #legend.legend.is-isochrone-toggle .legend-kicker {
    padding-right: 36px;
  }

  html body.is-map-active #legend.legend.is-isochrone-toggle .isochrone-legend-toggle-state {
    position: absolute;
    top: 6px;
    right: 7px;
    min-width: 28px;
    padding: 3px 4px;
    border: 1px solid rgba(17, 16, 14, 0.28);
    border-radius: 2px;
    background: rgba(255, 253, 247, 0.9);
    color: rgba(17, 16, 14, 0.68);
    font: 800 0.5rem/1 var(--font-atlas-mono);
    letter-spacing: 0.055em;
    text-align: center;
    text-transform: uppercase;
  }

  html body.is-map-active #legend.legend.is-isochrone-toggle
    .isochrone-legend-toggle[aria-pressed="true"] .isochrone-legend-toggle-state {
    border-color: var(--accent);
    background: var(--accent);
    color: var(--paper);
  }

  html body.is-map-active #legend.legend.is-isochrone-toggle.is-isochrone-off
    .legend-isochrone-bands {
    opacity: 0.38;
    filter: grayscale(0.82);
  }
@media (min-width: 981px) and (max-width: 1120px) {
  html body.is-map-active.has-origin:not(.is-dossier-minimized) #legend.legend.is-isochrone-toggle {
    right: calc(var(--tablet-dossier-width, clamp(310px, 32vw, 340px)) + 14px);
  }
}

@media (min-width: 761px) and (max-width: 980px) and (min-height: 600px) and (orientation: landscape) {
  body.is-map-active #mobileAdjustMap,
  body.is-map-active.has-origin #mobileAdjustMap,
  body.is-map-active.is-reach-mode.has-origin:not(.is-time-rings-view) #mobileAdjustMap,
  body.is-time-rings-view.is-map-active.is-reach-mode.has-origin #mobileAdjustMap {
    display: none;
  }
}



.side-panel > .briefing-masthead[data-sign-state="station"]::before {
  background: var(--livery, var(--accent));
}

@media (min-width: 981px), (min-width: 761px) and (max-width: 980px) and (min-height: 600px) and (orientation: landscape) {
  body.is-map-active .side-panel .briefing-masthead[data-sign-state="station"] .briefing-masthead-title {
    padding-left: 0;
  }

  body.is-map-active .side-panel .briefing-masthead[data-sign-state="station"] .briefing-masthead-title::before {
    content: none;
  }


  body.is-map-active .side-panel .briefing-masthead[data-sign-state="station"] .briefing-masthead-title::after {
    content: "";
    align-self: stretch;
    display: block;
    margin-top: 7px;
    height: 6px;
    background: var(--livery-band, var(--livery, var(--accent)));
  }
}

body.is-map-active.is-reach-mode.has-origin:not(.is-comparison-surface) .side-panel > .score-card {
  min-height: 0;
  height: auto;
  align-content: start;
  gap: 0;
  padding: 12px 24px 13px;
}

body.is-map-active.is-reach-mode.has-origin:not(.is-car-surface):not(.is-walking-surface):not(.is-comparison-surface) #scoreCardTitle {
  display: none;
}

body.is-map-active .side-panel > .station-role-card {
  padding: 12px 24px 13px;
}

.station-role-card .origin-role-summary {
  padding: 0;
  border-bottom: 0;
}

body.is-map-active.is-reach-mode.has-origin:not(.is-comparison-surface) .score-card .reach-caption-headline {
  display: grid;
  gap: 5px;
}

body.is-map-active.is-reach-mode.has-origin:not(.is-comparison-surface) #reachValue .reach-station-count {
  display: grid;
  gap: 2px;
  font-family: var(--font-metric-display);
  font-variant-numeric: lining-nums tabular-nums;
  font-weight: 420;
}

body.is-map-active.is-reach-mode.has-origin:not(.is-comparison-surface) #reachValue .reach-station-count b {
  font-family: inherit;
  font-size: clamp(48px, 4.6vw, 68px);
  font-weight: 420;
  line-height: 0.88;
  letter-spacing: -0.025em;
}

body.is-map-active.is-reach-mode.has-origin:not(.is-comparison-surface) #reachValue[data-station-count-pending] .reach-station-count b {
  min-width: 2.25ch;
  color: rgba(17, 16, 14, .28);
  letter-spacing: -.08em;
  animation: reach-count-pending-pulse 760ms ease-in-out infinite alternate;
}

@keyframes reach-count-pending-pulse {
  from { opacity: .38; }
  to { opacity: .78; }
}

@media (prefers-reduced-motion: reduce) {
  body.is-map-active.is-reach-mode.has-origin:not(.is-comparison-surface) #reachValue[data-station-count-pending] .reach-station-count b {
    opacity: .55;
    animation: none;
  }
}

body.is-map-active.is-reach-mode.has-origin:not(.is-comparison-surface) #reachValue .reach-station-count span {
  display: block;
  font-family: var(--font-rail-code);
  font-size: clamp(1rem, 1.3vw, 1.18rem);
  font-weight: 560;
  line-height: 1.2;
  letter-spacing: 0.015em;
}

body.is-map-active.is-reach-mode.has-origin:not(.is-comparison-surface) #reachNetworkTagline,
body.is-map-active.is-reach-mode.has-origin:not(.is-comparison-surface) #reachMeta {
  display: block;
  margin-top: 4px;
}

body.is-map-active.is-reach-mode.has-origin:not(.is-comparison-surface) #reachMeta {
  min-height: 0;
  padding-top: 0;
  border-top: 0;
  font-family: var(--font-mono);
  font-size: var(--panel-label);
  font-style: normal;
  font-weight: 650;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.origin-role-summary {
  display: grid;
  gap: 5px;
  padding: 0 0 10px;
  border-bottom: 1px solid rgba(17, 16, 14, 0.16);
}

.origin-role-summary > strong {
  font-family: var(--font-editorial, var(--font-serif));
  font-size: 1.14rem;
  font-style: italic;
  font-weight: 540;
}

.origin-role-summary > p {
  margin: 0;
  color: rgba(17, 16, 14, 0.72);
  font-family: var(--font-main);
  font-size: 0.82rem;
  line-height: 1.42;
}



.origin-facts {
  display: grid;
  gap: 0;
  border-top: 1px solid rgba(17, 16, 14, 0.14);
}

.origin-fact {
  appearance: none;
  display: grid;
  gap: 6px;
  min-width: 0;
  width: 100%;
  padding: 9px 0 10px;
  border: 0;
  border-bottom: 1px solid rgba(17, 16, 14, 0.12);
  border-radius: 0;
  background: transparent;
  color: inherit;
  font: inherit;
  text-align: left;
  transition: background var(--motion-base, 0.2s) ease;
}

.origin-fact:is(:hover, :focus-visible) {
  background: rgba(17, 16, 14, 0.03);
}

@media (prefers-reduced-motion: reduce) {
  .origin-fact {
    transition: none;
  }
}

.origin-fact > header {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 2px 12px;
  align-items: baseline;
  min-width: 0;
}

.origin-fact > header > span {
  color: var(--ink-label);
  font: 600 var(--panel-label)/1.25 var(--font-ui);
  letter-spacing: 0;
  text-transform: none;
}

.origin-fact > header > strong {
  color: var(--ink);
  font: 440 1.48rem/1 var(--font-metric-display);
  font-variant-numeric: tabular-nums lining-nums;
}

.origin-fact-series {
  display: grid;
  grid-template-columns: minmax(18px, 1fr) minmax(0, auto);
  gap: 10px;
  align-items: center;
  min-width: 0;
}

.origin-fact-series > small {
  min-width: 0;
  max-width: 100%;
  overflow: hidden;
  color: var(--ink-label);
  font: 560 var(--panel-label)/1.2 var(--font-mono);
  font-variant-numeric: tabular-nums lining-nums;
  justify-self: end;
  text-overflow: ellipsis;
  white-space: nowrap;
}


.origin-fact-rank {
  position: relative;
  display: block;
  height: 3px;
  border-radius: 1.5px;
  background: rgba(17, 16, 14, 0.1);
}


.origin-fact-rank::after {
  content: "";
  position: absolute;
  inset: 0 auto 0 0;
  width: calc(var(--rank-fill, 0) * 100%);
  min-width: 3px;
  border-radius: 1.5px;
  background: rgba(17, 16, 14, 0.56);
  transition: width var(--motion-slow, 0.32s) var(--motion-ease-enter, cubic-bezier(0.16, 1, 0.3, 1));
}


.origin-fact-rank::before {
  content: "";
  position: absolute;
  top: -1px;
  bottom: -1px;
  left: 50%;
  width: 1px;
  transform: translateX(-0.5px);
  background: rgba(17, 16, 14, 0.27);
  z-index: 1;
}

.origin-fact:is(:hover, :focus-visible) .origin-fact-rank::after {
  background: var(--accent);
}

@media (prefers-reduced-motion: reduce) {
  .origin-fact-rank::after {
    transition: none;
  }
}

@media (min-width: 761px) and (min-height: 600px) {
  body.is-map-active.is-reach-mode.has-origin .side-panel > .briefing-masthead {
    height: 140px;
    min-height: 140px;
    max-height: 140px;
    padding-block: 8px 7px;
    overflow: hidden;
  }

  body.is-map-active.is-reach-mode.has-origin .briefing-masthead-title {
    margin-block: 3px 2px;
  }

  body.is-map-active.is-reach-mode.has-origin .briefing-masthead-title > strong {
    font-size: clamp(1.35rem, 2.1vw, 1.7rem);
  }

  body.is-map-active.is-reach-mode.has-origin:not(.is-comparison-surface) .side-panel > .score-card {
    padding-block: 8px 9px;
  }

  body.is-map-active.is-reach-mode.has-origin:not(.is-comparison-surface) #reachValue .reach-station-count b {
    font-size: clamp(44px, 4vw, 54px);
  }

  body.is-map-active.is-reach-mode.has-origin:not(.is-comparison-surface) #reachValue .reach-station-count span {
    font-size: 0.95rem;
  }

  body.is-map-active.is-reach-mode.has-origin:not(.is-comparison-surface) .side-panel > .station-role-card {
    padding-block: 9px 10px;
    border-left: 4px solid var(--livery, var(--accent));
    background: color-mix(in srgb, var(--livery, var(--accent)) 7%, var(--paper));
  }

  body.is-map-active.is-reach-mode.has-origin:not(.is-comparison-surface) .origin-role-summary > p {
    font-size: var(--panel-label);
    line-height: 1.32;
  }

  body.is-map-active.is-reach-mode.has-origin:not(.is-comparison-surface) #stationDetailsCard {
    padding-block: 10px;
  }

  body.is-map-active.is-reach-mode.has-origin:not(.is-comparison-surface) .origin-profile-head {
    padding-block: 0 7px;
  }

  body.is-map-active.is-reach-mode.has-origin:not(.is-comparison-surface) .origin-fact {
    gap: 4px;
    padding-block: 6px 7px;
  }

  body.is-map-active.is-reach-mode.has-origin:not(.is-comparison-surface) .origin-fact > header > strong {
    font-size: 1.2rem;
  }

  body.is-map-active.is-reach-mode.has-origin:not(.is-comparison-surface) .origin-fact > header > span {
    font-size: 0.875rem;
    line-height: 1.3;
  }


  body.is-map-active.is-reach-mode.has-origin:not(.is-comparison-surface) .origin-facts {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    column-gap: 22px;
  }

  body.is-map-active.is-reach-mode.has-origin:not(.is-comparison-surface) .origin-fact:is(.is-riders, .is-residents) {
    grid-column: 1 / -1;
  }

  body.is-map-active.is-reach-mode.has-origin:not(.is-comparison-surface) .origin-fact:is(.is-riders, .is-residents) > header > strong {
    font-size: 1.35rem;
  }

  body.is-map-active.is-reach-mode.has-origin:not(.is-comparison-surface) .origin-fact:is(.is-rent, .is-stops) {
    border-bottom: 0;
  }

  body.is-map-active.is-reach-mode.has-origin:not(.is-comparison-surface) .origin-fact:is(.is-rent, .is-stops) > header > strong {
    font-size: 1rem;
  }

  body.is-map-active.is-reach-mode.has-origin:not(.is-comparison-surface) .origin-fact:is(.is-rent, .is-stops) .origin-fact-rank {
    height: 2px;
  }

}

@media (min-width: 761px) and (min-height: 600px) {
  body.is-map-active.is-reach-mode.has-origin:not(.is-comparison-surface) .origin-profile-summary {
    gap: 0;
  }

  body.is-map-active.is-reach-mode.has-origin:not(.is-comparison-surface) .origin-profile-head {
    border-bottom: 1px solid rgba(17, 16, 14, 0.13);
  }

  body.is-map-active.is-reach-mode.has-origin:not(.is-comparison-surface) .origin-facts {
    border-top: 0;
  }

}

@media (min-width: 761px) and (min-height: 600px) {
  .briefing-masthead-station-row {
    order: 1;
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 10px;
    align-items: end;
    min-width: 0;
  }

  body.is-map-active .side-panel .briefing-masthead-station-row .briefing-masthead-title {
    order: initial;
    min-width: 0;
    width: auto;
  }

  body.is-map-active .side-panel .briefing-masthead-station-row .briefing-masthead-lines {
    order: initial;
    display: block;
    align-self: center;
    width: fit-content;
    max-width: 136px;
    padding-bottom: 0;
  }

  body.is-map-active .side-panel .briefing-masthead-line-strip {
    display: flex;
    flex-wrap: wrap;
    gap: 4px;
    width: fit-content;
    max-width: 136px;
    justify-content: flex-end;
  }

  body.is-map-active .side-panel .briefing-masthead-line-strip .station-sign-badge.is-compact > b {
    min-width: 24px;
    width: auto;
    min-height: 23px;
    height: 23px;
    padding-inline: 5px;
    font-size: 0.56rem;
  }

  body.is-map-active .side-panel .briefing-masthead-line-strip .station-sign-badge.is-compact {
    min-height: 23px;
    height: 23px;
  }

  body.is-map-active.is-reach-mode.has-origin .side-panel > .briefing-masthead .briefing-masthead-classification {
    display: none;
  }

  body.is-map-active .side-panel .briefing-masthead.has-long-station-name .briefing-masthead-station-row {
    gap: 8px;
  }

  body.is-map-active .side-panel .briefing-masthead.has-long-station-name .briefing-masthead-title > strong {
    font-size: clamp(1.18rem, 1.8vw, 1.42rem);
    line-height: 1;
    letter-spacing: 0.015em;
  }

  body.is-map-active .side-panel .briefing-masthead.has-long-station-name .briefing-masthead-title > .masthead-romaji {
    font-size: var(--panel-label);
    line-height: 1.06;
    letter-spacing: 0.04em;
  }

  body.is-map-active .side-panel .briefing-masthead.has-long-station-name .briefing-masthead-title::after {
    height: 4px;
    margin-top: 4px;
  }

  .reach-network-context:empty {
    display: none;
  }


  body.is-map-active.is-reach-mode.has-origin:not(.is-comparison-surface):not(.is-car-surface)
    #reachNetworkContext .origin-network-glance > section:has(.origin-glance-lines) {
    display: none;
  }

  .origin-network-glance {
    display: grid;
    gap: 10px;
    min-width: 0;
    padding-left: 14px;
    border-left: 1px solid rgba(17, 16, 14, 0.14);
  }

  .origin-network-glance > section {
    display: grid;
    gap: 5px;
    min-width: 0;
  }

  .origin-glance-heading {
    display: flex;
    gap: 7px;
    align-items: flex-start;
    justify-content: space-between;
  }

  .origin-glance-heading > span {
    min-width: 0;
    color: var(--ink-label);
    font: 700 var(--panel-label)/1.15 var(--font-ui);
    letter-spacing: 0.08em;
    text-transform: uppercase;
  }


  .origin-glance-heading > span .eyebrow-pair {
    display: block;
    margin-left: 0;
    white-space: nowrap;
  }

  .origin-glance-lines,
  .origin-glance-neighbors {
    display: flex;
    flex-wrap: wrap;
    gap: 4px;
    align-items: center;
    min-width: 0;
  }

  .origin-network-glance .line-chip,
  .origin-glance-neighbors > button {
    box-sizing: border-box;
    max-width: 100%;
    min-height: 24px;
    padding: 3px 7px;
    border: 1px solid rgba(17, 16, 14, 0.14);
    border-radius: 2px;
    background: rgba(255, 255, 255, 0.34);
    color: var(--ink);
    font: 650 var(--panel-label)/1.15 var(--font-main);
    overflow-wrap: anywhere;
    white-space: normal;
  }

  .origin-network-glance .line-chip-code {
    width: 14px;
    height: 14px;
    font-size: var(--panel-label);
  }

  .origin-network-glance small {
    color: var(--ink-tertiary);
    font: 650 var(--panel-label)/1 var(--font-mono);
  }

  .origin-glance-more {
    position: relative;
    flex: 0 0 auto;
    z-index: 4;
  }


  .origin-glance-more > summary {
    display: inline-grid;
    place-items: center;
    min-width: 24px;
    min-height: 24px;
    padding: 3px 5px;
    border: 0;
    border-radius: 2px;
    background: rgba(17, 16, 14, 0.06);
    box-shadow: inset 0 0 0 1px rgba(17, 16, 14, 0.2);
    color: var(--ink);
    font: 820 var(--panel-label)/1 var(--font-mono);
    cursor: pointer;
    list-style: none;
  }

  .origin-glance-more > summary::-webkit-details-marker {
    display: none;
  }

  .origin-glance-more > summary:hover,
  .origin-glance-more[open] > summary {
    background: var(--ink);
    box-shadow: inset 0 0 0 1px var(--ink);
    color: var(--paper);
  }

  .origin-glance-popover {
    position: absolute;
    top: calc(100% + 6px);
    right: 0;
    z-index: 30;
    display: none;
    width: max-content;
    min-width: 150px;
    max-width: 250px;
    max-height: 230px;
    overflow: auto;
    padding: 7px;
    border: 1px solid rgba(17, 16, 14, 0.24);
    border-radius: 2px;
    background: var(--paper);
    box-shadow: 0 8px 20px rgba(17, 16, 14, 0.2);
  }

  .origin-glance-more:is([open], :hover, :focus-within) > .origin-glance-popover {
    display: flex;
    flex-direction: column;
    gap: 5px;
  }

  .origin-glance-popover > button {
    box-sizing: border-box;
    max-width: 100%;
    min-height: 25px;
    padding: 4px 7px;
    border: 1px solid rgba(17, 16, 14, 0.14);
    border-radius: 2px;
    background: rgba(255, 255, 255, 0.52);
    color: var(--ink);
    font: 650 var(--panel-label)/1.2 var(--font-main);
    overflow-wrap: anywhere;
    text-align: left;
    white-space: normal;
  }

  body.is-map-active.is-reach-mode.has-origin:not(.is-comparison-surface) .origin-fact {
    position: relative;
    width: 100%;
    border: 0;
    border-bottom: 1px solid rgba(17, 16, 14, 0.12);
    border-radius: 0;
    background: transparent;
    color: inherit;
    font: inherit;
    text-align: left;
    cursor: help;
  }

  body.is-map-active.is-reach-mode.has-origin:not(.is-comparison-surface) .origin-fact:last-child {
    border-bottom: 0;
  }

}

@media (max-width: 760px) {
  body.is-map-active .mobile-map-search-row,
  body.is-map-active .mobile-sheet .mobile-search-row {
    grid-template-columns: minmax(0, 1fr);
  }

  body.is-map-active.has-origin :is(#mobileStationSearch, #mobileMapStationSearch) {
    border-left-color: rgba(201, 53, 43, 0.72);
    box-shadow: inset 3px 0 0 rgba(201, 53, 43, 0.78);
  }

  body.is-map-active.is-reach-mode.has-origin .mobile-sheet[data-snap="full"] > #mobileInspector {
    order: 4;
  }

  body.is-map-active.is-reach-mode.has-origin .mobile-sheet[data-snap="full"] > #mobilePrimarySummary {
    order: 3;
  }

  body.is-map-active.is-reach-mode.has-origin .mobile-sheet[data-snap="full"] > #mobileReachDetails {
    order: 3;
  }

  body.is-map-active.is-reach-mode.has-origin .mobile-sheet[data-snap="full"] .mobile-score-card .network-count {
    font-family: var(--font-metric-display);
    font-variant-numeric: lining-nums tabular-nums;
  }

  body.is-map-active.is-reach-mode.has-origin .mobile-sheet[data-snap="full"] .mobile-score-card .network-count b {
    font-family: inherit;
    font-weight: 420;
    letter-spacing: -0.025em;
  }

  body.is-map-active.is-reach-mode.has-origin .mobile-sheet[data-snap="full"] .mobile-score-card .network-count span {
    font-family: var(--font-rail-code);
    font-weight: 560;
    letter-spacing: 0.015em;
  }

}

/* Final responsive ownership: keep these after legacy adapters. */
@media (max-width: 980px) {
  body.is-map-active .mobile-sheet[data-snap="full"] > .mobile-sheet-head {
    order: 1;
  }

  body.is-map-active .mobile-sheet[data-snap="full"] > .mobile-mode-control {
    order: 2;
  }

  body.is-map-active .mobile-sheet[data-snap="full"] .mobile-sheet-head > div:first-child {
    grid-template-columns: minmax(0, 1fr) auto;
    grid-template-rows: auto auto auto;
    column-gap: 6px;
  }

  body.is-map-active .mobile-sheet[data-snap="full"] .mobile-sheet-eyebrow {
    grid-column: 1 / -1;
    grid-row: 1;
  }

  body.is-map-active .mobile-sheet[data-snap="full"] #mobileOriginTitle {
    grid-column: 1;
    grid-row: 2;
  }

  body.is-map-active .mobile-sheet[data-snap="full"] #mobileCollapsedLineLogo {
    grid-column: 2;
    grid-row: 2;
    align-self: center;
    min-width: 28px;
  }

  body.is-map-active .mobile-sheet[data-snap="full"] #mobileStationRole {
    grid-column: 1 / -1;
    grid-row: 3;
    max-width: 100%;
  }

  body.is-map-active .mobile-sheet[data-snap="full"] > .mobile-sheet-context-rail {
    position: sticky;
    top: 103px;
    grid-template-columns: minmax(0, 1fr) minmax(174px, 0.55fr) minmax(150px, 0.48fr);
    gap: 6px;
    margin: 0 calc(var(--mobile-panel-pad, 10px) * -1);
    padding: 7px var(--mobile-panel-pad, 10px) 8px;
    border: 0;
    border-bottom: 1px solid rgba(17, 16, 14, 0.18);
    border-radius: 0;
    background: rgba(248, 245, 236, 0.98);
    box-shadow: 0 8px 18px rgba(35, 29, 20, 0.08);
  }

  body.is-map-active .mobile-sheet-context-rail > * {
    min-width: 0;
    margin: 0;
  }

  body.is-map-active .mobile-sheet-context-rail > .mobile-search-form {
    position: relative;
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: 0;
    width: auto;
    min-width: 0;
    min-height: 48px;
    padding: 0;
    border: 0;
    background: transparent;
    box-shadow: none;
    order: 1;
  }

  body.is-map-active .mobile-sheet-context-rail > .mobile-search-form > label {
    position: absolute;
    z-index: 2;
    top: 5px;
    left: 13px;
    display: block;
    margin: 0;
    font-size: var(--panel-label);
    pointer-events: none;
  }

  body.is-map-active .mobile-sheet-context-rail .mobile-search-row,
  body.is-map-active .mobile-map-search-form .mobile-map-search-row {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 44px;
    gap: 4px;
    min-width: 0;
  }

  body.is-map-active .mobile-sheet-context-rail #mobileStationSearch {
    width: 100%;
    min-width: 0;
    height: 48px;
    min-height: 48px;
    padding: 18px 32px 4px 13px;
  }

  body.is-map-active .mobile-sheet-context-rail .mobile-locate-button,
  body.is-map-active .mobile-map-search-form .mobile-locate-button {
    display: grid;
    width: 44px;
    min-width: 44px;
    height: 48px;
    min-height: 48px;
    padding: 0;
    place-items: center;
    overflow: hidden;
    color: transparent;
    font-size: 0;
  }

  body.is-map-active .mobile-locate-button::before {
    content: "";
    display: block;
    width: 18px;
    height: 18px;
    border: 1.8px solid var(--ink);
    border-radius: 50%;
    background: radial-gradient(circle, var(--accent) 0 2px, transparent 2.5px);
    box-shadow: 0 -8px 0 -7px var(--ink), 0 8px 0 -7px var(--ink), -8px 0 0 -7px var(--ink), 8px 0 0 -7px var(--ink);
  }

  body.is-map-active .mobile-locate-button::after,
  body.is-map-active .mobile-locate-button > span {
    content: none;
    display: none;
  }

  body.is-map-active .mobile-sheet-context-rail > .mobile-sheet-time-control {
    display: grid;
    grid-template-columns: 36px minmax(0, 1fr) 36px;
    gap: 4px;
    align-items: center;
    min-height: 48px;
    padding: 4px;
    border: 1px solid rgba(17, 16, 14, 0.3);
    border-radius: 8px;
    background: rgba(255, 253, 247, 0.82);
    height: 48px;
    max-height: 48px;
    order: 2;
  }

  body.is-map-active .mobile-sheet-time-control .mobile-time-step-button {
    width: 36px;
    min-width: 36px;
    height: 40px;
    min-height: 40px;
    padding: 0;
  }

  body.is-map-active .mobile-sheet-time-control .mobile-time-range-label {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 2px 5px;
    min-width: 0;
    margin: 0;
    padding: 0;
  }

  body.is-map-active .mobile-sheet-time-control input[type="range"] {
    grid-column: 1 / -1;
    width: 100%;
    min-width: 0;
  }

  body.is-map-active .mobile-sheet-context-rail > .mobile-spatial-view-guide {
    display: block;
    width: auto;
    min-width: 0;
    height: 48px;
    padding: 0;
    border: 0;
    background: transparent;
    box-shadow: none;
    order: 4;
  }

  body.is-map-active .mobile-sheet-context-rail .spatial-view-button {
    height: 40px;
    min-height: 40px;
    padding: 0 5px;
  }

  body.is-map-active .mobile-sheet-context-rail .spatial-view-eyebrow,
  body.is-map-active .mobile-sheet-context-rail .spatial-view-button em {
    display: none;
  }

  body.is-map-active .mobile-sheet[data-snap="full"] > .mobile-sheet-context-rail {
    display: grid;
    order: 4;
  }

  body.is-map-active.is-reach-mode.has-origin .mobile-sheet[data-snap="full"] > #mobilePrimarySummary {
    order: 5;
  }

  body.is-map-active.is-reach-mode.has-origin .mobile-sheet[data-snap="full"] > #mobileInspector {
    order: 6;
  }

  body.is-map-active .mobile-sheet[data-snap="full"] > #mobileCompassSummary {
    order: 7;
  }

  body.is-map-active.is-reach-mode.has-origin .mobile-sheet[data-snap="full"] > #mobileReachDetails {
    order: 6;
  }

  body.is-map-active .mobile-sheet[data-snap="full"] > .mobile-surface-story-toggle {
    order: 5;
  }

  body.is-map-active .mobile-sheet[data-snap="full"] .mobile-sheet-head #mobileCollapsedLineLogo.mobile-collapsed-line-logo:not([hidden]) {
    display: flex;
  }

  body.is-map-active .mobile-sheet[data-snap="full"] .mobile-sheet-head .mobile-station-role:not([hidden]) {
    display: block;
  }

  body.is-map-active .mobile-sheet[data-snap="full"] .mobile-sheet-head #mobileStatusText {
    display: none;
  }

}

@media (max-width: 820px) {
  body.is-map-active .mobile-sheet[data-snap="full"] > .mobile-sheet-context-rail {
    grid-template-columns: minmax(0, 1fr) minmax(128px, 0.75fr);
  }

  body.is-map-active .mobile-sheet-context-rail > .mobile-search-form {
    grid-column: 1 / -1;
  }
}

@media (max-width: 620px) {
  body.is-map-active .mobile-sheet[data-snap="full"] > .mobile-sheet-context-rail {
    grid-template-columns: minmax(0, 1fr) minmax(128px, 0.75fr);
  }

  body.is-map-active .mobile-sheet-context-rail > .mobile-search-form {
    grid-column: 1 / -1;
  }

  body.is-map-active .mobile-sheet-context-rail .spatial-view-icon {
    display: none;
  }

  body.is-map-active .mobile-sheet-context-rail .spatial-view-button {
    grid-template-columns: minmax(0, 1fr);
    justify-items: center;
    text-align: center;
  }

}

@media (max-width: 370px) {
  body.is-map-active:is(.has-origin, .is-route-mode, .is-index-mode) .mobile-sheet[data-snap="full"] #mobileSheetShareButton:not([hidden]) {
    display: grid;
  }
}

@media (min-width: 761px) and (max-width: 980px) and (min-height: 600px) and (orientation: landscape) {
  body.is-map-active .mobile-map-control-rail {
    display: flex;
    top: 14px;
    right: auto;
    left: 274px;
    opacity: 1;
    pointer-events: auto;
    transform: none;
  }

}


@media (max-width: 760px), (max-width: 980px) and (orientation: portrait) {
  body.is-map-active:not(.has-origin) .mobile-map-search-form,
  body.is-map-active:not(.has-origin) .mobile-map-control-rail,
  body.is-map-active:not(.has-origin) #mobileAdjustMap {
    display: none;
  }

  body.is-map-active:not(.has-origin) .map-frame .map-state-pill {
    top: calc(env(safe-area-inset-top) + 12px);
    right: auto;
    left: calc(env(safe-area-inset-left) + 12px);
    max-width: calc(100% - 92px);
  }

  body.is-map-active:not(.has-origin) .map-frame .map-corner-actions {
    top: calc(env(safe-area-inset-top) + 12px);
    right: calc(env(safe-area-inset-right) + 12px);
  }

  body.is-map-active:not(.has-origin) .map-frame .distance-legend {
    top: calc(env(safe-area-inset-top) + 62px);
    right: auto;
    bottom: auto;
    left: calc(env(safe-area-inset-left) + 12px);
  }
}


@media (min-width: 761px) and (max-width: 980px) and (min-height: 600px) and (orientation: landscape) {
  body.is-map-active .mobile-map-search-row {
    height: 52px;
    min-height: 52px;
  }

  body.is-map-active #mobileMapStationSearch,
  body.is-map-active #mobileMapLocateButton.mobile-locate-button {
    height: 44px;
    min-height: 44px;
  }
}


.reach-isochrone-control {
  position: absolute;
  top: calc(100% + 8px);
  left: 0;
  box-sizing: border-box;
  display: grid;
  grid-template-columns: 30px minmax(0, 1fr) auto;
  gap: 8px;
  align-items: center;
  width: 196px;
  min-height: 46px;
  padding: 6px 8px;
  border: 1px solid rgba(12, 12, 12, 0.22);
  border-radius: var(--control-radius);
  background: var(--panel-paper-fine);
  color: var(--ink);
  box-shadow: var(--shadow-contact);
  cursor: pointer;
  isolation: isolate;
  transition:
    border-color 160ms cubic-bezier(0.22, 0.68, 0.24, 1),
    box-shadow 160ms cubic-bezier(0.22, 0.68, 0.24, 1),
    transform 160ms cubic-bezier(0.22, 0.68, 0.24, 1);
}

.reach-isochrone-control[hidden] {
  display: none;
}

.reach-isochrone-control:hover {
  border-color: rgba(12, 12, 12, 0.44);
  box-shadow: var(--shadow-lift);
  transform: none;
}

.reach-isochrone-control > input {
  position: absolute;
  width: 1px;
  height: 1px;
  opacity: 0;
  pointer-events: none;
}

.reach-isochrone-swatches {
  display: grid;
  grid-template-rows: repeat(var(--isochrone-band-count, 2), 1fr);
  align-content: stretch;
  width: 28px;
  height: 28px;
  overflow: hidden;
  border: 1px solid rgba(12, 12, 12, 0.24);
  border-radius: 2px;
  background: var(--paper);
}

.reach-isochrone-swatches i {
  display: block;
  min-height: 0;
  border-bottom: 1px solid rgba(12, 12, 12, 0.16);
  background: var(--isochrone-band-color, rgba(201, 53, 43, 0.42));
}

.reach-isochrone-swatches i:last-child {
  border-bottom: 0;
}

.reach-isochrone-copy {
  display: grid;
  gap: 2px;
  min-width: 0;
  line-height: 1;
}

.reach-isochrone-copy strong {
  overflow: hidden;
  color: #16140f;
  font-family: var(--font-main);
  font-size: 0.72rem;
  font-weight: 780;
  letter-spacing: 0;
  line-height: 1.05;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.reach-isochrone-copy small {
  overflow: hidden;
  color: rgba(22, 20, 15, 0.62);
  font-family: var(--font-rail-label);
  font-size: 0.58rem;
  font-style: normal;
  font-weight: 700;
  letter-spacing: 0.035em;
  line-height: 1.1;
  text-overflow: ellipsis;
  text-transform: uppercase;
  white-space: nowrap;
}

.reach-isochrone-state {
  min-width: 30px;
  padding: 4px 5px;
  border: 1px solid rgba(12, 12, 12, 0.24);
  border-radius: 2px;
  background: transparent;
  color: var(--ink-label);
  font-family: var(--font-atlas-mono);
  font-size: 0.58rem;
  font-weight: 800;
  letter-spacing: 0.06em;
  line-height: 1;
  text-align: center;
  text-transform: uppercase;
}

.reach-isochrone-control > input:checked ~ .reach-isochrone-state {
  border-color: var(--accent);
  background: var(--accent);
  color: var(--paper);
}

.reach-isochrone-control > input:focus-visible + .reach-isochrone-swatches {
  outline: 2px solid var(--accent);
  outline-offset: 2px;
}

@media (prefers-reduced-motion: reduce) {
  .reach-isochrone-control {
    transition: none;
  }
}


@media (max-width: 980px) {
  body.is-map-active .origin-glance-neighbors > button,
  body.is-map-active .origin-glance-popover button {
    min-width: 44px;
    min-height: 44px;
  }
}

.side-panel > .desktop-atlas-welcome {
  display: none;
}

@media (min-width: 761px) and (min-height: 600px) {
  body.has-network-overview:not(.is-network-story-open) .side-panel > .desktop-atlas-welcome {
    display: grid;
  }

  body.is-map-active.is-reach-mode.has-origin .side-panel > .briefing-masthead {
    height: 108px;
    min-height: 108px;
    max-height: 108px;
    padding: 12px 16px 10px;
  }

  body.is-map-active.is-reach-mode.has-origin .side-panel > .briefing-masthead .briefing-project-brand,
  body.is-map-active.is-reach-mode.has-origin .side-panel > .briefing-masthead .briefing-masthead-kicker {
    display: none;
  }
}

@media (max-width: 980px) {
  
  body.is-map-active .mobile-sheet[data-snap="full"] .mobile-surface-story-toggle .surface-story-button.is-active,
  body.is-map-active .mobile-sheet[data-snap="full"] .mobile-spatial-view-guide .spatial-view-button.is-active {
    border-color: rgba(17, 16, 14, 0.3);
    background: rgba(17, 16, 14, 0.075);
    color: var(--ink);
    box-shadow: inset 0 0 0 1px rgba(17, 16, 14, 0.18);
  }

  /* Task summary copy now uses the shared 15px body scale, whose intrinsic
     line box is taller than the legacy fixed 14px row. Half can grow by this
     one quiet line; the compact collapsed-map card remains untouched. */
  html body.is-map-active.is-reach-mode.has-origin
    #mobileSheet.mobile-sheet[data-snap="half"] .mobile-network-coverage {
    grid-template-rows: 25px 6px minmax(22px, auto);
  }

  html body.is-map-active.is-reach-mode.has-origin
    #mobileSheet.mobile-sheet[data-snap="half"] .mobile-network-coverage > p {
    min-height: 22px;
    overflow: visible;
    line-height: 1.45;
    text-overflow: clip;
  }
}

/* Quiet map guidance; temporary failures retain an inline retry action. */
.transit-surface-error {
  position: absolute;
  z-index: 70;
  top: 84px;
  left: 50%;
  transform: translateX(-50%);
  display: flex;
  align-items: center;
  gap: 12px;
  width: max-content;
  max-width: min(480px, calc(100% - 32px));
  box-sizing: border-box;
  padding: 6px 14px;
  border: 0;
  border-radius: 22px;
  background: #fff9ecf2;
  color: #493a2c;
  box-shadow: none;
  font-size: 13px;
  line-height: 1.5;
}
.transit-surface-error[hidden] { display: none; }
.transit-surface-error button {
  flex: 0 0 auto;
  margin: 0;
  min-height: 44px;
  padding: 4px;
  border: 0;
  border-radius: 4px;
  background: transparent;
  color: inherit;
  font: inherit;
  text-decoration: underline;
  text-underline-offset: 3px;
  cursor: pointer;
}
.transit-surface-error button:focus-visible { outline: 3px solid #29717c; outline-offset: 3px; }
@media (max-width: 760px), (max-width: 980px) and (orientation: portrait) {
  .transit-surface-error { top: 162px; }
}
