/* 3.9.70 web speed (Mender, brief 46).
   The timetable download is a small bar above the tab bar, not a screen over Home: Home's live times come from the
   server and show straight away, so nobody waits for "Timetables near you" (63 s on a $20 phone in 3.9.67). The bar
   never takes a tap (except "Try again" when the download failed), and nothing on it spins forever. */
#dl.dl-mini { inset: auto 12px calc(var(--nav-h) + var(--safe-bot) + 10px) 12px; z-index: 19; display: grid; grid-template-columns: 1fr auto; align-items: center; gap: 6px 12px;
  padding: 10px 14px 12px; border-radius: 16px; background: var(--surface); border: 1px solid var(--line); box-shadow: 0 6px 20px rgba(0, 0, 0, .12); text-align: left; overflow: visible; pointer-events: none;
  justify-content: stretch; transform: none; animation: dl-mini-in .3s var(--ease) both; }
#dl.dl-mini.out { opacity: 0; transform: translateY(8px); }
#dl.dl-mini .dl-ring, #dl.dl-mini .dl-sub, #dl.dl-mini .dl-steps, #dl.dl-mini .dl-detail { display: none; }
#dl.dl-mini .dl-title { grid-column: 1; grid-row: 1; margin: 0; font-size: var(--fs-sub); font-weight: 700; letter-spacing: 0; }
#dl.dl-mini .dl-row { display: contents; }
#dl.dl-mini .dl-what { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }   /* still the live region for screen readers */
#dl.dl-mini .dl-pct { grid-column: 2; grid-row: 1; font-size: var(--fs-sub); font-weight: 700; }
#dl.dl-mini .dl-bar { grid-column: 1 / -1; grid-row: 2; width: 100%; height: 6px; }
#dl.dl-mini .dl-bar i { min-width: 6px; }
#dl.dl-mini .dl-bar i::after { animation: none; }
#dl.dl-mini .dl-err, #dl.dl-mini .dl-full { grid-column: 1 / -1; margin: 4px 0 0; width: auto; pointer-events: auto; }
#dl.dl-mini .dl-err p { margin: 0 0 8px; }
#dl.dl-mini .dl-err .btn { width: 100%; }
#dl.dl-mini .dl-full { padding: 8px 10px; }
@keyframes dl-mini-in { from { opacity: 0; transform: translateY(8px); } }
@media (prefers-reduced-motion: reduce) { #dl.dl-mini { animation: none; } }
/* Home's "Live near you" while the timetable is still coming: its placeholder takes about the room the stops will, so the
   rows below it (Meet us there, the feedback card) don't jump when they arrive (layout shift was 0.07-0.09) */
#h-near .h-near-list:has(.skel) { min-height: 560px; }
