.cloud-route-board {
  grid-column: 9 / -1;
  border-top: 3px solid var(--chalk);
}

.cloud-route-board > p {
  display: grid;
  gap: 5px;
  margin: 0;
  padding: 11px 0 13px;
  border-bottom: 1px solid var(--hairline-dark);
}

.cloud-route-board > p span,
.cloud-readout > span {
  color: var(--clay-bright);
  font: 750 0.6rem/1.2 var(--mono);
  letter-spacing: 0.075em;
  text-transform: uppercase;
}

.cloud-route-board > p strong {
  color: var(--ash);
  font: 650 0.67rem/1.35 var(--sans);
}

.cloud-route-board > a {
  display: grid;
  grid-template-columns: 38px minmax(0, 1fr) auto;
  gap: 14px;
  align-items: center;
  min-height: 67px;
  padding: 8px 8px 8px 0;
  border-bottom: 1px solid var(--hairline-dark);
  color: var(--chalk);
  text-decoration: none;
}

.cloud-route-board > a::after {
  content: "↗";
  color: var(--clay-bright);
  font: 700 0.82rem/1 var(--mono);
}

.cloud-route-board > a > b {
  align-self: stretch;
  display: grid;
  place-items: center;
  border-right: 1px solid var(--hairline-dark);
  color: var(--clay-bright);
  font: 700 0.61rem/1 var(--mono);
}

.cloud-route-board > a > span {
  display: grid;
  gap: 4px;
}

.cloud-route-board > a strong {
  font: 650 0.9rem/1.15 var(--sans);
}

.cloud-route-board > a small {
  overflow: hidden;
  color: var(--ash);
  font: 650 0.59rem/1.3 var(--mono);
  text-overflow: ellipsis;
  white-space: nowrap;
}

.cloud-route-board > a:is(:hover, :focus-visible) {
  background: rgba(255, 255, 255, 0.045);
  box-shadow: inset 4px 0 0 var(--clay-bright);
}

.cloud-readout {
  display: grid;
  grid-template-columns: 72px minmax(0, 1fr) auto;
  gap: 18px;
  align-items: center;
  min-height: 48px;
  padding: 8px 0;
  border-top: 1px solid var(--hairline-dark);
  color: var(--chalk);
}
.cloud-readout[hidden] { display: none; }

.cloud-readout strong {
  overflow: hidden;
  font: 650 0.78rem/1.3 var(--sans);
  text-overflow: ellipsis;
  white-space: nowrap;
}

.cloud-readout small {
  color: var(--ash);
  font: 650 0.57rem/1.35 var(--mono);
  letter-spacing: 0.035em;
  text-transform: uppercase;
}

.cloud-readout--paper {
  position: sticky;
  z-index: 8;
  top: 0;
  margin-bottom: 0;
  padding-inline: 14px;
  border-color: var(--hairline-light);
  border-bottom: 1px solid var(--hairline-light);
  color: var(--ink);
  background: var(--paper);
  background: color-mix(in srgb, var(--paper) 94%, transparent);
  backdrop-filter: blur(14px);
}

.cloud-readout--paper > span,
.cloud-readout--paper small {
  color: var(--mineral);
}

.world-rail a[aria-current="location"] {
  color: var(--lichen-bright);
  box-shadow: inset 0 -3px 0 var(--lichen-bright);
}

@media (max-width: 820px) {
  .cloud-route-board {
    margin-top: 36px;
  }

  .cloud-readout {
    grid-template-columns: auto 1fr;
  }

  .cloud-readout small {
    grid-column: 2;
  }

  .cloud-readout--paper {
    top: 0;
  }
}

@media (max-width: 560px) {
  .cloud-route-board > a {
    min-height: 64px;
  }

  .cloud-route-board > a small {
    white-space: normal;
  }

  .cloud-readout {
    grid-template-columns: 1fr;
    gap: 3px;
    min-height: 68px;
  }

  .cloud-readout small {
    grid-column: 1;
  }
}

@media (forced-colors: active) {
  .cloud-route-board > a:is(:hover, :focus-visible),
  .world-rail a[aria-current="location"] {
    outline: 3px solid Highlight;
    outline-offset: -3px;
  }

  .cloud-readout--paper {
    background: Canvas;
  }
}
