.expected-time { color: var(--accent); }
.prediction-info { display: inline-flex; vertical-align: baseline; margin-left: .25em; }
.prediction-info .prediction-info-button { display: inline-flex; align-items: center; justify-content: center; font: italic 600 11px Georgia, serif; color: inherit; background: transparent; border: 1px solid currentColor; border-radius: 50%; min-height: 0; width: 15px; height: 15px; padding: 0; cursor: pointer; }
.prediction-info-button:focus-visible { outline: 2px solid var(--accent); outline-offset: 3px; }
.prediction-tooltip { position: fixed; z-index: 10000; width: max-content; max-width: min(280px, calc(100vw - 16px)); padding: 10px 12px; color: var(--ink); background: var(--surface); border: 1px solid var(--line); border-radius: 6px; box-shadow: 0 3px 12px #0002; white-space: normal; font: 400 13px/1.5 system-ui, sans-serif; }
.prediction-tooltip[hidden] { display: none; }

:root { --timing-green: #147257; --timing-amber: #945600; --timing-red: #b42332; }
:root[data-theme="dark"] { --timing-green: #88ddba; --timing-amber: #f7c575; --timing-red: #ff929c; }
@media (prefers-color-scheme: dark) {
  :root:not([data-theme="light"]) { --timing-green: #88ddba; --timing-amber: #f7c575; --timing-red: #ff929c; }
}
.board .live-secondary.timing-green { color: var(--timing-green); }
.board .live-secondary.timing-amber { color: var(--timing-amber); }
.board .live-secondary.timing-red { color: var(--timing-red); }

.board .journey-observation { color: var(--muted); }
.board .observation-detail { display: block; font-size: 12px; margin-top: 3px; }
