
html.lt-app {
  --lt-title-badge-gap: 12px;
  --lt-ground: #F2F5FA;
  --lt-surface: #FFFFFF;
  --lt-ink: #0E1A33;
  --lt-ink-2: #3B4A6B;
  --lt-muted: #5B6680;
  --lt-accent: #1446A0;
  --lt-accent-soft: #E3EBFC;
  --lt-hairline: #DCE3EE;
  --lt-input: #F7F9FC;
  --lt-input-border: #C9D2E0;
  --lt-button: #1446A0;
  --lt-on-button: #FFFFFF;
  --lt-link: #1446A0;
  --lt-icon-bg: #EAF0FB;
  --lt-icon-ink: #1446A0;
  --lt-dash: #8A96AE;
  --lt-grip: #D3DAE6;
  --lt-pill: #FFFFFF;
  --lt-pill-ink: #0E1A33;
  --lt-shadow-card: 0 2px 4px rgba(14,26,51,.06), 0 20px 48px rgba(14,26,51,.14);
  --lt-shadow-row: 0 2px 8px rgba(14,26,51,.06);

  --lt-field: #1446A0;
  --lt-on-field: #FFFFFF;
  --lt-on-field-2: #DCE5FA;
  --lt-field-chip: #2A5BB4;
  --lt-field-chip-ink: #FFFFFF;
  --lt-chip-on: #FFFFFF;
  --lt-chip-on-ink: #1446A0;
  --lt-trace: #FFFFFF;
  --lt-trace-o: .09;
  --lt-trace-stop-o: .22;

  --lt-warn-bg: #FEF3C7;
  --lt-warn-ink: #78350F;
  --lt-ok: #15803D;
  --lt-go: #1E7A3E;
  --lt-ttc: #C8102E;
  --lt-up: #1A1A1A;
  --lt-up-edge: transparent;
  --lt-line-1: #F8C300;
  --lt-line-2: #16A753;
  --lt-line-4: #B32078;
  --lt-line-5: #F87005;
  --lt-line-6: #8A999A;
  --lt-on-mark: #FFFFFF;
  --lt-on-mark-dark: #0E1A33;
  --lt-band: #0D1B3D;
  --lt-band-raised: #131E36;
  --lt-band-edge: #2C3A5C;
  --lt-band-ink: #EEF2FA;
  --lt-band-ink-2: #9AA6C0;
  --lt-band-good: #4ADE80;
  --lt-band-accent: #8FB0FF;
  --lt-scrim: rgba(14,26,51,.45);

  --lt-font: 'Geist', system-ui, -apple-system, 'Segoe UI', sans-serif;
  color-scheme: light;
}

html.lt-app .lta[data-moment="afternoon"] {
  --lt-field: #DCE8FB;
  --lt-on-field: #0E1A33;
  --lt-on-field-2: #3B4A6B;
  --lt-field-chip: #FFFFFF;
  --lt-field-chip-ink: #1446A0;
  --lt-chip-on: #1446A0;
  --lt-chip-on-ink: #FFFFFF;
  --lt-trace: #1446A0;
  --lt-trace-o: .07;
  --lt-trace-stop-o: .16;
}

html.lt-app[data-lt-theme="night"],
html.lt-app[data-lt-theme="night"] .lta[data-moment] {
  --lt-ground: #0A1224;
  --lt-surface: #131E36;
  --lt-ink: #EEF2FA;
  --lt-ink-2: #C3CCE0;
  --lt-muted: #9AA6C0;
  --lt-accent: #8FB0FF;
  --lt-accent-soft: #1C2946;
  --lt-hairline: #2C3A5C;
  --lt-input: #0F1930;
  --lt-input-border: #2C3A5C;
  --lt-button: #2F5FE0;
  --lt-on-button: #FFFFFF;
  --lt-link: #8FB0FF;
  --lt-icon-bg: #1C2946;
  --lt-icon-ink: #8FB0FF;
  --lt-dash: #6B7897;
  --lt-grip: #2C3A5C;
  --lt-pill: #1A2B55;
  --lt-pill-ink: #EEF2FA;
  --lt-shadow-card: 0 2px 4px rgba(0,0,0,.2), 0 20px 48px rgba(0,0,0,.35);
  --lt-shadow-row: 0 2px 8px rgba(0,0,0,.2);
  --lt-field: #0D1B3D;
  --lt-on-field: #EEF2FA;
  --lt-on-field-2: #AEBBD8;
  --lt-field-chip: #1A2B55;
  --lt-field-chip-ink: #EEF2FA;
  --lt-chip-on: #2F5FE0;
  --lt-chip-on-ink: #FFFFFF;
  --lt-trace: #5B8CFF;
  --lt-trace-o: .14;
  --lt-trace-stop-o: .34;
  --lt-warn-bg: #3B2A08;
  --lt-warn-ink: #FCD989;
  --lt-ok: #4ADE80;
  --lt-up-edge: #9AA6C0;
  color-scheme: dark;
}
@media (prefers-color-scheme: dark) {
  html.lt-app[data-lt-theme="device"],
  html.lt-app[data-lt-theme="device"] .lta[data-moment] {
    --lt-ground: #0A1224;
    --lt-surface: #131E36;
    --lt-ink: #EEF2FA;
    --lt-ink-2: #C3CCE0;
    --lt-muted: #9AA6C0;
    --lt-accent: #8FB0FF;
    --lt-accent-soft: #1C2946;
    --lt-hairline: #2C3A5C;
    --lt-input: #0F1930;
    --lt-input-border: #2C3A5C;
    --lt-button: #2F5FE0;
    --lt-on-button: #FFFFFF;
    --lt-link: #8FB0FF;
    --lt-icon-bg: #1C2946;
    --lt-icon-ink: #8FB0FF;
    --lt-dash: #6B7897;
    --lt-grip: #2C3A5C;
    --lt-pill: #1A2B55;
    --lt-pill-ink: #EEF2FA;
    --lt-shadow-card: 0 2px 4px rgba(0,0,0,.2), 0 20px 48px rgba(0,0,0,.35);
    --lt-shadow-row: 0 2px 8px rgba(0,0,0,.2);
    --lt-field: #0D1B3D;
    --lt-on-field: #EEF2FA;
    --lt-on-field-2: #AEBBD8;
    --lt-field-chip: #1A2B55;
    --lt-field-chip-ink: #EEF2FA;
    --lt-chip-on: #2F5FE0;
    --lt-chip-on-ink: #FFFFFF;
    --lt-trace: #5B8CFF;
    --lt-trace-o: .14;
    --lt-trace-stop-o: .34;
    --lt-warn-bg: #3B2A08;
    --lt-warn-ink: #FCD989;
    --lt-ok: #4ADE80;
    --lt-up-edge: #9AA6C0;
    color-scheme: dark;
  }
}


html.lt-app {
  background-color: var(--lt-page, var(--lt-field)) !important;
}
html.lt-app body,
html.lt-app body.bench {
  background: var(--lt-page, var(--lt-field)) !important;
  color: var(--lt-ink);
  font-family: var(--lt-font);
}
html.lt-app body *:not(svg):not(path):not(circle) {
  font-family: var(--lt-font);
}

html.lt-app .bench-nav,
html.lt-app .bench-before-stage,
html.lt-app .bench-after-stage,
html.lt-app .bench-footer,
html.lt-app #lt-signup,
html.lt-app #lt-wrap > .lt-header {
  display: none !important;
}

html.lt-app .bench-stage {
  padding: 0;
  max-width: none;
  background: var(--lt-ground);
  min-height: calc(100vh - var(--bench-bar-pad, 44px));
  min-height: calc(100dvh - var(--bench-bar-pad, 44px));
}
html.lt-app .bench-stage-inner.lt-wrap,
html.lt-app #lt-wrap.is-proposing,
html.lt-app #lt-main {
  max-width: none !important;
  width: auto;
  margin: 0;
  padding: 0;
}

html.lt-app #lt-main > .lt-grid > .lt-col-main > .lt-card { display: contents; }
html.lt-app .lt-tab-block,
html.lt-app #lt-answer-kicker,
html.lt-app #lt-answer-time,
html.lt-app #lt-answer-original,
html.lt-app #lt-answer-detail,
html.lt-app #lt-answer-status,
html.lt-app #lt-notleft,
html.lt-app #lt-legs-toggle,
html.lt-app #lt-list,
html.lt-app .lt-direction-sub,
html.lt-app .lt-time-tray-head {
  display: none !important;
}
html.lt-app #lt-main > .lt-grid { display: block; }


html.lt-app .lta {
  position: relative;
  background: var(--lt-ground);
  color: var(--lt-ink);
}
html.lt-app .lta-shell {
  position: relative;
  z-index: 1;
  background: var(--lt-field);
  color: var(--lt-on-field);
  overflow: hidden;
}
html.lt-app .lta-trace {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  pointer-events: none;
  z-index: 0;
}
html.lt-app .lta-trace path { stroke: var(--lt-trace); stroke-opacity: var(--lt-trace-o); }
html.lt-app .lta-trace circle { stroke: var(--lt-trace); stroke-opacity: var(--lt-trace-stop-o); }
html.lt-app .lta-trace--phone { height: 540px; }
html.lt-app .lta-trace--desk { display: none; height: 600px; }
html.lt-app .lta-header,
html.lt-app .lta-body { position: relative; z-index: 1; }

html.lt-app .lta-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  height: 44px;
  padding: 20px 24px 0;
}
html.lt-app .lta-header-start { display: flex; align-items: center; gap: 12px; min-width: 0; }
html.lt-app .lta-wordmark {
  margin: 0;
  font-size: 17px;
  font-weight: 700;
  letter-spacing: -0.2px;
  color: var(--lt-on-field);
}
html.lt-app .lta-header-end { display: flex; align-items: center; gap: 12px; }
html.lt-app .lta-iconbtn {
  width: 44px;
  height: 44px;
  border-radius: 22px;
  border: 0;
  padding: 0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: var(--lt-field-chip);
  color: var(--lt-field-chip-ink);
  cursor: pointer;
}

html.lt-app .lta-header .lt-direction-toggle {
  display: none;
  flex-direction: row;
  gap: 4px;
  padding: 4px;
  margin: 0;
  border: 0;
  border-radius: 24px;
  background: var(--lt-field-chip);
  box-shadow: none;
}
html.lt-app .lta-header #lt-direction-work { order: -1; }
html.lt-app .lta-header .lt-direction-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  line-height: 1;
  flex: 0 0 auto;
  width: auto;
  white-space: nowrap;
  height: 40px;
  min-width: 0;
  padding: 0 18px;
  border: 0;
  border-radius: 20px;
  background: transparent;
  color: var(--lt-field-chip-ink);
  box-shadow: none;
  font-size: 15px;
  font-weight: 500;
  text-align: center;
  cursor: pointer;
}
html.lt-app .lta-header .lt-direction-btn.is-active {
  background: var(--lt-surface);
  color: var(--lt-ink);
  font-weight: 600;
}
html.lt-app .lta[data-moment="afternoon"] .lta-header .lt-direction-btn.is-active {
  background: var(--lt-button);
  color: var(--lt-on-button);
}
html.lt-app .lta-header .lt-direction-label { font: inherit; color: inherit; letter-spacing: 0; text-transform: none; }


html.lt-app .lta-hero {
  padding: 64px 24px 56px;
  color: var(--lt-on-field);
  font-variant-numeric: tabular-nums;
}
html.lt-app .lta-context-btn {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  min-height: 44px;
  margin: -12px 0;
  padding: 0;
  border: 0;
  background: none;
  color: var(--lt-on-field-2);
  font: inherit;
  text-align: left;
  cursor: pointer;
  border-radius: 8px;
}
html.lt-app .lta-context-btn:focus-visible { outline: 3px solid var(--lt-on-field); outline-offset: 4px; }
html.lt-app .lta-context {
  margin: 0;
  font-size: 15px;
  font-weight: 500;
  color: var(--lt-on-field-2);
}
html.lt-app .lta-daynote { margin: 16px 0 0; max-width: 520px; padding: 10px 12px; border-radius: 12px; background: var(--lt-warn-bg); color: var(--lt-warn-ink); font-size: 14px; line-height: 1.45; }
html.lt-app .lta-daynote[hidden] { display: none; }
html.lt-app .lta-oneoff-closure { margin: 8px 0 0; padding: 10px 12px; border-radius: 12px; background: var(--lt-warn-bg); color: var(--lt-warn-ink); font-size: 14px; line-height: 1.45; }
html.lt-app .lta-oneoff-closure[hidden] { display: none; }
html.lt-app .lta-daynote.is-stale { font-weight: 600; }
html.lt-app .lta-flip-icon { flex: 0 0 auto; color: var(--lt-on-field); transition: color .2s ease; }
html.lt-app .lta-flip-icon.is-turning { animation: lta-flip-turn .4s ease; }
@keyframes lta-flip-turn { from { transform: rotate(0deg); } to { transform: rotate(180deg); } }
@media (prefers-reduced-motion: reduce) {
  html.lt-app .lta-flip-icon.is-turning { color: var(--lt-on-field-2); animation: none; }
}
html.lt-app .lta-homeby[hidden] { display: none; }
html.lt-app .lta-homeby-label {
  margin: 14px 0 0;
  font-size: 22px;
  font-weight: 600;
  color: var(--lt-on-field);
}
html.lt-app .lta-label {
  margin: 20px 0 0;
  font-size: 22px;
  font-weight: 500;
  color: var(--lt-on-field);
}
html.lt-app .lta-homeby:not([hidden]) ~ .lta-label { margin-top: 36px; }
html.lt-app .lta-time {
  margin: 0;
  display: flex;
  align-items: baseline;
  flex-wrap: wrap;
  gap: 0 8px;
  font-size: 104px;
  line-height: 104px;
  font-weight: 600;
  letter-spacing: -4px;
  color: var(--lt-on-field);
  font-variant-numeric: tabular-nums;
}
html.lt-app .lta-time-mer {
  font-size: 28px;
  line-height: 1;
  letter-spacing: 0;
  font-weight: 600;
}
html.lt-app .lta-time.is-words { font-size: 72px; line-height: 80px; letter-spacing: -2px; }
html.lt-app .lta-support {
  margin: 14px 0 0;
  font-size: 18px;
  color: var(--lt-on-field-2);
  font-variant-numeric: tabular-nums;
}
html.lt-app .lta-label[hidden],
html.lt-app .lta-time[hidden],
html.lt-app .lta-support[hidden],
html.lt-app .lta-pills[hidden] { display: none; }
html.lt-app .lta-pills { margin-top: 20px; display: flex; gap: 8px; flex-wrap: wrap; }
html.lt-app .lta-pill {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  height: 36px;
  padding: 0 14px;
  border-radius: 18px;
  background: var(--lt-pill);
  color: var(--lt-pill-ink);
  font-size: 14px;
  font-weight: 600;
}
html.lt-app .lta-pill-dot { width: 8px; height: 8px; border-radius: 4px; background: var(--lt-ok); }
html.lt-app .lta-pill--warn { background: var(--lt-warn-bg); color: var(--lt-warn-ink); }
html.lt-app .lta-pill--warn .lta-pill-dot { background: var(--lt-warn-ink); }

html.lt-app .lta-hero #lt-answer { margin: 0; padding: 0; border: 0; background: none; box-shadow: none; min-height: 0; color: var(--lt-on-field); }
html.lt-app .lta-hero .lt-head-slot { min-height: 0; margin: 0; }
html.lt-app .lta-hero #lt-doorlock:not([hidden]),
html.lt-app .lta-hero #lt-live-notice:not([hidden]) {
  display: block;
  margin: 20px 0 0;
  padding: 12px 14px;
  border-radius: 14px;
  background: var(--lt-warn-bg);
  color: var(--lt-warn-ink);
  font-size: 15px;
  line-height: 1.4;
  letter-spacing: 0;
  text-transform: none;
  border: 0;
}
html.lt-app .lta-hero #lt-error:not([hidden]),
html.lt-app .lta-hero #lt-no-more-today:not([hidden]) {
  display: block;
  margin: 20px 0 0;
  padding: 16px 18px;
  border-radius: 20px;
  background: var(--lt-surface);
  color: var(--lt-ink);
  font-size: 17px;
  border: 0;
}
html.lt-app .lta-hero #lt-no-more-today a { color: var(--lt-link); }
html.lt-app .lta-hero .bench-loading { padding: 24px 0 0; }
html.lt-app .lta-hero .bench-loading-dot { background: var(--lt-on-field); }

html.lt-app .lta-homeby .lt-time-tray { margin: 12px 0 0; padding: 0; border: 0; background: none; box-shadow: none; }
html.lt-app .lta-homeby .lt-time-rail {
  display: flex;
  align-items: center;
  gap: 8px;
  margin: 0;
  padding: 0;
  border: 0;
  background: none;
}
html.lt-app .lta-homeby .lt-time-rail-slots {
  flex: 1 1 auto;
  min-width: 0;
  display: flex;
  gap: 8px;
  border: 0;
  background: none;
  padding: 0;
  overflow-x: auto;
  scrollbar-width: none;
}
html.lt-app .lta-homeby .lt-time-rail-slots::-webkit-scrollbar { display: none; }
html.lt-app .lta-homeby .lt-time-rail-slot {
  flex: 0 0 auto;
  min-width: 60px;
  height: 48px;
  padding: 0 6px;
  border: 0;
  border-radius: 14px;
  background: var(--lt-field-chip);
  color: var(--lt-ink);
  font-size: 16px;
  font-weight: 500;
  font-variant-numeric: tabular-nums;
  box-shadow: none;
  cursor: pointer;
}
html.lt-app .lta[data-moment="morning"] .lta-homeby .lt-time-rail-slot,
html.lt-app[data-lt-theme="night"] .lta-homeby .lt-time-rail-slot { color: var(--lt-field-chip-ink); }
@media (prefers-color-scheme: dark) {
  html.lt-app[data-lt-theme="device"] .lta-homeby .lt-time-rail-slot { color: var(--lt-field-chip-ink); }
}
html.lt-app .lta[data-moment] .lta-homeby .lt-time-rail-slot.is-selected {
  background: var(--lt-chip-on);
  color: var(--lt-chip-on-ink);
  font-weight: 600;
}
html.lt-app .lta-homeby .lt-time-rail-meridiem {
  margin-left: 2px;
  font-size: 11px;
  text-transform: lowercase;
  letter-spacing: 0;
  color: inherit;
  opacity: .8;
}
html.lt-app .lta-homeby .lt-time-rail-nav {
  flex: 0 0 auto;
  width: 36px;
  height: 44px;
  border: 0;
  border-radius: 22px;
  background: transparent;
  color: var(--lt-on-field);
  font-size: 26px;
  line-height: 1;
  cursor: pointer;
}


html.lt-app .lta-card {
  position: relative;
  z-index: 1;
  display: flex;
  flex-direction: column;
  gap: 18px;
  padding: 10px 20px 24px;
  border-radius: 28px 28px 0 0;
  background: var(--lt-surface);
  color: var(--lt-ink);
}
html.lt-app .lta-card[hidden] { display: none; }
html.lt-app .lta-grip { width: 40px; height: 5px; border-radius: 3px; background: var(--lt-grip); align-self: center; }
html.lt-app .lta-card-head { display: flex; flex-wrap: wrap; align-items: baseline; justify-content: space-between; gap: 4px 12px; }
html.lt-app .lta-card-title { margin: 0; font-size: 17px; font-weight: 600; color: var(--lt-ink); }
html.lt-app .lta-card-meta { flex: 0 0 auto; font-size: 13px; color: var(--lt-muted); }
html.lt-app .lta-badge {
  display: inline-flex;
  align-items: center;
  height: 22px;
  padding: 0 8px;
  border-radius: 6px;
  font-size: 12px;
  font-weight: 700;
  color: var(--lt-on-mark);
  letter-spacing: .02em;
}
html.lt-app .lta-badge--go { background: var(--lt-go); }
html.lt-app .lta-badge--ttc { background: var(--lt-ttc); }
html.lt-app .lta-badge--up { background: var(--lt-up); box-shadow: inset 0 0 0 1px var(--lt-up-edge); }

html.lt-app .lta-strip { display: flex; align-items: flex-start; }
html.lt-app .lta-strip-item {
  flex: 0 0 auto;
  width: 60px;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 6px;
  text-align: center;
}
html.lt-app .lta-strip-join { flex: 1 1 auto; min-width: 6px; height: 2px; margin-top: 19px; background: var(--lt-hairline); }
@media (max-width: 480px) {
  html.lt-app .lta-strip-item { flex: 1 1 0; width: auto; min-width: 48px; max-width: 60px; }
  html.lt-app .lta-strip-join { min-width: 3px; }
  html.lt-app .lta-strip-label { font-size: 11px; }
}
html.lt-app .lta-strip-icon {
  width: 40px;
  height: 40px;
  border-radius: 20px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: var(--lt-icon-bg);
  color: var(--lt-icon-ink);
  font-size: 18px;
  font-weight: 700;
}
html.lt-app .lta-strip-icon--park { border-radius: 10px; }
html.lt-app .lta-strip-icon--dashed {
  width: 38px;
  height: 38px;
  background: transparent;
  border: 1px dashed var(--lt-dash);
  color: var(--lt-muted);
}
html.lt-app .lta-strip-mins { font-size: 15px; font-weight: 600; font-variant-numeric: tabular-nums; color: var(--lt-ink); white-space: nowrap; }
html.lt-app .lta-strip-label { font-size: 12px; color: var(--lt-muted); line-height: 1.25; }

html.lt-app .lta-roundel--1 { background: var(--lt-line-1); color: var(--lt-on-mark-dark); }
html.lt-app .lta-roundel--2 { background: var(--lt-line-2); color: var(--lt-on-mark-dark); }
html.lt-app .lta-roundel--4 { background: var(--lt-line-4); color: var(--lt-on-mark); }
html.lt-app .lta-roundel--5 { background: var(--lt-line-5); color: var(--lt-on-mark-dark); }
html.lt-app .lta-roundel--6 { background: var(--lt-line-6); color: var(--lt-on-mark-dark); }
html.lt-app .lta-roundel--go { background: var(--lt-go); color: var(--lt-on-mark); font-size: 12px; }
html.lt-app .lta-roundel--up { background: var(--lt-up); color: var(--lt-on-mark); font-size: 12px; box-shadow: inset 0 0 0 1px var(--lt-up-edge); }
html.lt-app .lta-roundel--link { background: var(--lt-icon-bg); color: var(--lt-ink); font-size: 11px; letter-spacing: 0.01em; box-shadow: inset 0 0 0 1px var(--lt-hairline); }

html.lt-app .lta-padline { margin: 0; font-size: 14px; color: var(--lt-muted); }
html.lt-app .lta-padline[hidden] { display: none; }
html.lt-app .lta-marginline { margin: 0; font-size: 14px; color: var(--lt-muted); }
html.lt-app .lta-marginline[hidden] { display: none; }

html.lt-app .lta-timeline { list-style: none; margin: 0; padding: 0; display: none; flex-direction: column; }
html.lt-app .lta-tl-row {
  display: grid;
  grid-template-columns: 64px 32px minmax(0, 1fr);
  column-gap: 12px;
}
html.lt-app .lta-tl-time { font-size: 15px; font-weight: 600; font-variant-numeric: tabular-nums; color: var(--lt-ink); white-space: nowrap; }
html.lt-app .lta-tl-rail { display: flex; flex-direction: column; align-items: center; }
html.lt-app .lta-tl-mark { flex: 0 0 auto; width: 12px; height: 12px; margin-top: 4px; border-radius: 6px; background: var(--lt-accent); }
html.lt-app .lta-tl-mark--stop { width: 10px; height: 10px; border-radius: 3px; border: 2px solid var(--lt-accent); background: var(--lt-surface); }
html.lt-app .lta-tl-mark--line { width: 14px; height: 14px; margin-top: 3px; border-radius: 7px; }
html.lt-app .lta-tl-line { flex: 1 1 auto; width: 2px; background: var(--lt-hairline); }
html.lt-app .lta-tl-row:last-child .lta-tl-line { display: none; }
html.lt-app .lta-tl-text { padding-bottom: 18px; min-width: 0; line-height: 1.35; }
html.lt-app .lta-tl-label { display: block; font-size: 15px; font-weight: 600; color: var(--lt-ink); }
html.lt-app .lta-tl-detail { display: block; margin-top: 2px; font-size: 13px; color: var(--lt-muted); line-height: 1.4; }
html.lt-app .lta-card.is-full .lta-timeline { display: flex; }
html.lt-app .lta-card.is-full .lta-strip,
html.lt-app .lta-card.is-full .lta-padline { display: none; }

html.lt-app .lta-notices { display: flex; flex-direction: column; gap: 10px; }
html.lt-app .lta-notices:empty { display: none; }
html.lt-app .lta-notices > [hidden] { display: none !important; }
html.lt-app .lta-notices > div {
  margin: 0;
  padding: 12px 14px 12px 40px;
  border: 0;
  border-radius: 14px;
  background: var(--lt-warn-bg);
  color: var(--lt-warn-ink);
  font-size: 14px;
  line-height: 20px;
  position: relative;
  box-shadow: none;
}
html.lt-app .lta-notices > div::before {
  content: '';
  position: absolute;
  left: 14px;
  top: 13px;
  width: 18px;
  height: 18px;
  background: currentColor;
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round'%3E%3Cpath d='M12 3l9 16H3z'/%3E%3Cpath d='M12 10v4M12 17v0'/%3E%3C/svg%3E") center / contain no-repeat;
          mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round'%3E%3Cpath d='M12 3l9 16H3z'/%3E%3Cpath d='M12 10v4M12 17v0'/%3E%3C/svg%3E") center / contain no-repeat;
}
html.lt-app .lta-notices p { margin: 0; color: inherit; font-size: inherit; }
html.lt-app .lta-notices .lta-drivehome-date { margin-top: 2px; font-size: 12px; line-height: 16px; }
html.lt-app .lta-notices a,
html.lt-app .lta-notices button { color: inherit; font: inherit; font-weight: 600; text-decoration: underline; background: none; border: 0; padding: 0; min-height: 0; cursor: pointer; }

html.lt-app .lta-primary {
  height: 56px;
  border: 0;
  border-radius: 16px;
  background: var(--lt-button);
  color: var(--lt-on-button);
  font-size: 17px;
  font-weight: 600;
  cursor: pointer;
}
html.lt-app .lta-primary[hidden],
html.lt-app .lta-textbtn[hidden] { display: none; }
html.lt-app .lta-links { display: flex; align-items: center; justify-content: space-between; gap: 8px; flex-wrap: wrap; }
html.lt-app .lta-textbtn {
  display: inline-flex;
  align-items: center;
  height: 44px;
  padding: 0;
  border: 0;
  background: transparent;
  color: var(--lt-link);
  font-size: 15px;
  font-weight: 500;
  cursor: pointer;
}
html.lt-app .lta-textbtn:hover { text-decoration: underline; }
html.lt-app .lta-links .lta-desk-only { display: none; }

html.lt-app .lta-padding[hidden] { display: none; }
html.lt-app .lta-padding { border-top: 1px solid var(--lt-hairline); padding-top: 12px; }
html.lt-app .lta-padding .lt-legs-list,
html.lt-app .lta-padding .lt-pad { margin: 0; padding: 0; border: 0; background: none; color: var(--lt-ink); }
html.lt-app .lta-padding .lt-leg-time,
html.lt-app .lta-padding .lt-leg-label,
html.lt-app .lta-padding .lt-pad-label { color: var(--lt-ink); font-variant-numeric: tabular-nums; }
html.lt-app .lta-padding .lt-leg-dot-filled { background: var(--lt-accent); border-color: var(--lt-accent); }
html.lt-app .lta-padding .lt-leg-dot-open { border-color: var(--lt-accent); background: var(--lt-surface); }
html.lt-app .lta-padding .lt-leg-connector { background: var(--lt-hairline); }
html.lt-app .lta-padding .lt-pad-chip { color: var(--lt-muted); border-color: var(--lt-hairline); background: transparent; }
html.lt-app .lta-padding .lt-pad-step {
  min-width: 44px;
  min-height: 44px;
  border: 0;
  border-radius: 14px;
  background: var(--lt-icon-bg);
  color: var(--lt-icon-ink);
  font-size: 20px;
}
html.lt-app .lta-padding .lt-pad-stepper-val { color: var(--lt-ink); font-weight: 600; }
html.lt-app .lta-padding .lt-pad-toggle { display: none; }
html.lt-app .lta-padding .lt-pad-summary,
html.lt-app .lta-padding .lt-pad-chain-notice { color: var(--lt-muted); font-size: 13px; }
html.lt-app .lta-padding .lt-pad-chain-notice button {
  display: inline;
  padding: 0;
  border: 0;
  background: none;
  font: inherit;
  color: var(--lt-link);
  text-decoration: underline;
  cursor: pointer;
}
html.lt-app .lta-card #lt-lastmile { color: var(--lt-ink); background: none; border: 0; padding: 0; margin: 0; }
html.lt-app .lta-card .lt-lastmile-btn {
  min-height: 44px;
  border: 0;
  border-radius: 14px;
  background: var(--lt-icon-bg);
  color: var(--lt-icon-ink);
  box-shadow: none;
}
html.lt-app .lta-card .lt-lastmile-btn[aria-pressed="true"] { background: var(--lt-button); color: var(--lt-on-button); }


html.lt-app .lta-footer {
  display: flex;
  flex-direction: column;
  gap: 16px;
  padding: 32px 24px 96px;
  background: var(--lt-ground);
  color: var(--lt-muted);
}
html.lt-app .lta-footer .lt-data-legend {
  margin: 0;
  font-size: 13px;
  line-height: 1.5;
  color: var(--lt-muted);
  border: 0;
  padding: 0;
  background: none;
}
html.lt-app .lta-footer-links { display: flex; gap: 20px; flex-wrap: wrap; }
html.lt-app .lta-footer-links a,
html.lt-app .lta-footer-links button {
  display: inline-flex;
  align-items: center;
  min-height: 44px;
  padding: 0;
  border: 0;
  background: none;
  color: var(--lt-link);
  font-size: 14px;
  text-decoration: underline;
  cursor: pointer;
}


html.lt-app .lta-settings {
  width: min(560px, 100vw);
  max-width: 100vw;
  max-height: 88vh;
  margin: auto auto 0;
  padding: 0;
  border: 0;
  border-radius: 28px 28px 0 0;
  background: var(--lt-surface);
  color: var(--lt-ink);
  box-shadow: var(--lt-shadow-card);
}
html.lt-app .lta-settings::backdrop { background: var(--lt-scrim); }
html.lt-app .lta-settings-in { padding: 20px 24px 32px; display: flex; flex-direction: column; gap: 20px; }
html.lt-app .lta-settings-head { display: flex; align-items: center; justify-content: space-between; }
html.lt-app .lta-settings-title { margin: 0; font-size: 20px; font-weight: 600; }
html.lt-app .lta-settings-close {
  width: 44px; height: 44px; border: 0; border-radius: 22px;
  background: var(--lt-icon-bg); color: var(--lt-icon-ink); font-size: 22px; cursor: pointer;
}
html.lt-app .lta-settings-group { display: flex; flex-direction: column; gap: 10px; }
html.lt-app .lta-settings-label { margin: 0; font-size: 13px; font-weight: 600; color: var(--lt-muted); }
html.lt-app .lta-seg { display: flex; gap: 4px; padding: 4px; border-radius: 24px; background: var(--lt-input); box-shadow: inset 0 0 0 1px var(--lt-input-border); }
html.lt-app .lta-seg button {
  flex: 1 1 0;
  height: 40px;
  border: 0;
  border-radius: 20px;
  background: transparent;
  color: var(--lt-ink);
  font-size: 15px;
  font-weight: 500;
  cursor: pointer;
}
html.lt-app .lta-seg button[aria-pressed="true"] { background: var(--lt-button); color: var(--lt-on-button); font-weight: 600; }
html.lt-app .lta-check { display: flex; align-items: center; gap: 12px; min-height: 44px; font-size: 16px; color: var(--lt-ink); cursor: pointer; }
html.lt-app .lta-check input { width: 22px; height: 22px; accent-color: var(--lt-button); }
html.lt-app .lta-settings .lt-setup-foot,
html.lt-app .lta-settings .lt-foot,
html.lt-app .lta-settings .lt-disclosure,
html.lt-app .lta-settings .lt-ttc-notice {
  margin: 0;
  padding: 0;
  border: 0;
  background: none;
  color: var(--lt-ink-2);
  font-size: 14px;
  line-height: 1.5;
}
html.lt-app .lta-settings .lt-setup-foot-label { margin: 0; font-size: 13px; font-weight: 600; color: var(--lt-muted); text-transform: none; letter-spacing: 0; }
html.lt-app .lta-settings .lt-summary { color: var(--lt-ink); }
html.lt-app .lta-settings a { color: var(--lt-link); }
html.lt-app .lta-settings .lt-foot-link { display: inline-flex; min-height: 44px; align-items: center; margin-right: 16px; }
html.lt-app .lta-settings .lt-foot-link-icon { width: 14px; height: 14px; fill: currentColor; }
html.lt-app .lta-settings button.lt-change-btn,
html.lt-app .lta-settings .lt-clear-btn,
html.lt-app .lta-settings .bench-privacy-trigger,
html.lt-app .lta-settings .lt-freshness-trigger {
  min-height: 44px;
  padding: 0;
  border: 0;
  background: none;
  color: var(--lt-link);
  font-size: 15px;
  font-weight: 500;
  cursor: pointer;
  text-decoration: none;
}
html.lt-app .lta-settings .lt-clear-btn { color: var(--lt-ttc); }
html.lt-app .lta-settings .bench-privacy-panel p,
html.lt-app .lta-settings .lt-freshness-panel p { color: var(--lt-ink-2); }


html.lt-app .bench-presence-bar {
  --bar-bg: var(--lt-band);
  --bar-bg-raised: var(--lt-band-raised);
  --bar-bg-edge: var(--lt-band-edge);
  --bar-ink: var(--lt-band-ink);
  --bar-ink-dim: var(--lt-band-ink-2);
  --bar-good: var(--lt-band-good);
  --bar-accent: var(--lt-band-accent);
  --bar-track: var(--lt-band-edge);
  --accent: var(--lt-band-accent);
}
html.lt-app .bench-fb-pull {
  background: var(--lt-surface);
  color: var(--lt-link);
  border: 0;
  border-radius: 14px 0 0 14px;
  box-shadow: var(--lt-shadow-row);
}
html.lt-app .bench-fb-pull:hover {
  background: var(--lt-ink);
  color: var(--lt-ground);
  box-shadow: var(--lt-shadow-row);
}


html.lt-app #lt-setup {
  max-width: none;
  margin: 0;
  padding: 0;
  border: 0;
  border-radius: 0;
  box-shadow: none;
  background: var(--lt-ground);
  color: var(--lt-ink);
  font-family: var(--lt-font);
}
html.lt-app #lt-setup > .lt-setup-label { display: none; }
html.lt-app #lt-wrap.is-proposing { max-width: none !important; }

html.lt-app .lta-first .lta-shell { overflow: clip; }
html.lt-app .lta-first { overflow-x: clip; }
html.lt-app .lta-first .lta-shell { overflow: visible; }
html.lt-app .lta-first-hero { position: relative; z-index: 1; padding: 32px 24px 32px; color: var(--lt-on-field); }
html.lt-app .lta-first #lt-form-title {
  margin: 0;
  font-size: 36px;
  line-height: 1.08;
  letter-spacing: -1px;
  font-weight: 700;
  color: var(--lt-on-field);
  text-wrap: balance;
}
html.lt-app .lta-first #lt-form-lede { margin: 12px 0 0; font-size: 17px; line-height: 1.4; color: var(--lt-on-field-2); }
html.lt-app .lta-first #lt-previous-version { margin: 12px 0 0; font-size: 15px; color: var(--lt-on-field-2); }
html.lt-app .lta-first #lt-previous-version[hidden] { display: none; }

html.lt-app .lta-proof {
  margin: 28px 0 0;
  padding: 16px 18px;
  border-radius: 20px;
  background: var(--lt-surface);
  color: var(--lt-ink);
  box-shadow: var(--lt-shadow-card);
  font-variant-numeric: tabular-nums;
}
html.lt-app .lta-proof-kicker { margin: 0 0 10px; font-size: 13px; line-height: 1.4; color: var(--lt-muted); }
html.lt-app .lta-proof-rows { margin: 0; display: flex; flex-direction: column; gap: 6px; }
html.lt-app .lta-proof-row { display: flex; align-items: baseline; justify-content: space-between; gap: 12px; }
html.lt-app .lta-proof-row dt { font-size: 16px; color: var(--lt-ink-2); }
html.lt-app .lta-proof-row dd { margin: 0; font-size: 20px; color: var(--lt-ink-2); }
html.lt-app .lta-proof-row.is-best dt { font-weight: 700; color: var(--lt-ink); }
html.lt-app .lta-proof-row.is-best dd { font-size: 24px; font-weight: 700; color: var(--lt-accent); }
html.lt-app .lta-proof-total { margin: 12px 0 0; padding-top: 12px; border-top: 1px solid var(--lt-hairline); font-size: 16px; font-weight: 700; }
html.lt-app .lta-proof-date { margin: 6px 0 0; font-size: 12px; color: var(--lt-muted); }

html.lt-app .lta-first-card {
  position: relative;
  z-index: 1;
  padding: 24px 24px 8px;
  border-radius: 28px 28px 0 0;
  background: var(--lt-surface);
  color: var(--lt-ink);
}
html.lt-app .lta-first-card-title { display: none; margin: 0 0 20px; font-size: 22px; font-weight: 700; color: var(--lt-ink); }
html.lt-app .lta-first .ltpu-ask,
html.lt-app .lta-first .ltpu-ask .ltpu-confirm { margin: 0; padding: 0; border: 0; background: none; box-shadow: none; }
html.lt-app .lta-first .ltpu-ask[hidden],
html.lt-app .lta-first #lt-form-rest[hidden],
html.lt-app .lta-first #lt-setup-form[hidden] { display: none; }
html.lt-app .lta-first .ltpu-ask .ltpu-confirm { display: flex; flex-direction: column; }
html.lt-app .lta-first .bench-field-label {
  display: block;
  margin: 16px 0 8px;
  font-size: 15px;
  font-weight: 600;
  letter-spacing: 0;
  text-transform: none;
  color: var(--lt-ink);
}
html.lt-app .lta-first .ltpu-ask .ltpu-confirm > .bench-field-label:first-child { margin-top: 0; }
html.lt-app .lta-first .bench-input,
html.lt-app .lta-first .lt-picker-input {
  box-sizing: border-box;
  width: 100%;
  height: 52px;
  padding: 0 16px;
  border: 1px solid var(--lt-input-border);
  border-radius: 14px;
  background: var(--lt-input);
  color: var(--lt-ink);
  font: inherit;
  font-size: 17px;
  box-shadow: none;
}
html.lt-app .lta-first .bench-input::placeholder,
html.lt-app .lta-first .lt-picker-input::placeholder { color: var(--lt-muted); }
html.lt-app .lta-first .bench-input:focus,
html.lt-app .lta-first .lt-picker-input:focus { outline: 2px solid var(--lt-accent); outline-offset: 1px; border-color: transparent; }
html.lt-app .lta-first .ltpu-helpers { display: flex; flex-wrap: wrap; gap: 0 20px; margin: 2px 0 0; }
html.lt-app .lta-first .ltpu-helper {
  display: inline-flex;
  align-items: center;
  min-height: 44px;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: none;
  box-shadow: none;
  color: var(--lt-link);
  font: inherit;
  font-size: 15px;
  font-weight: 600;
  cursor: pointer;
}
html.lt-app .lta-first .ltpu-helper-note,
html.lt-app .lta-first .ltpu-suggest-off { margin: 4px 0 0; font-size: 14px; color: var(--lt-muted); }
html.lt-app .lta-first .ltpu-same-place { margin: 12px 0 0; padding: 14px 16px; border-radius: 16px; background: var(--lt-warn-bg); color: var(--lt-warn-ink); font-size: 15px; line-height: 1.5; }
html.lt-app .lta-first .ltpu-same-place-line { margin: 0 0 8px; }
html.lt-app .lta-first .ltpu-same-place-back { min-height: 44px; padding: 0; border: 0; background: none; box-shadow: none; font: inherit; font-weight: 600; color: inherit; text-decoration: underline; cursor: pointer; }
html.lt-app .lta-first .lta-first-oneoff { display: block; margin: 16px auto 0; padding: 10px 12px; min-height: 44px; font-size: 15px; font-weight: 600; color: var(--lt-accent); background: none; border: 0; cursor: pointer; text-decoration: underline; text-underline-offset: 3px; }
html.lt-app .lta-first[data-view="confirm"] .lta-first-oneoff,
html.lt-app .lta-first[data-view="routes"] .lta-first-oneoff,
html.lt-app .lta-first[data-view="working"] .lta-first-oneoff,
html.lt-app .lta-first.is-oneoff .lta-first-oneoff,
html.lt-app .lta-first.is-oneoff #lt-station-details,
html.lt-app .lta-first.is-oneoff #lt-avoid-tolls-wrap,
html.lt-app .lta-first.is-oneoff .lta-proof,
html.lt-app .lta-first.is-oneoff .lta-blurbs,
html.lt-app .lta-first.is-oneoff #lt-setup-close,
html.lt-app .lta-first.is-oneoff #lt-previous-version,
html.lt-app .lta-first.is-oneoff .lta-routes-limit-wrap { display: none !important; }
html.lt-app .lta-first .ltpu-oneoff-date { margin: 10px 0 0; max-width: 240px; }
html.lt-app .lta-first .ltpu-oneoff-date[hidden] { display: none; }
html.lt-app .lta-footer-links #lta-oneoff { order: 9; }
html.lt-app .lta-first .lta-oneoff-trip { margin: 16px 0 0; }
html.lt-app .lta-first .lta-oneoff-trip .lta-timeline { display: flex; }
html.lt-app .lta-first .lta-wordmark { white-space: nowrap; }
@media (max-width: 480px) { html.lt-app .lta-first #lta-oneoff-back { font-size: 12px; padding: 7px 10px; margin-left: 8px; white-space: nowrap; } html.lt-app .lta-first .lta-oneoff-back-your { display: none; } }
html.lt-app .lta-first .ltpu-helper-note[hidden],
html.lt-app .lta-first .ltpu-suggest-off[hidden] { display: none; }

html.lt-app .lta-first .ltpu-suggest {
  z-index: 30;
  padding: 6px;
  border: 1px solid var(--lt-hairline);
  border-radius: 16px;
  background: var(--lt-surface);
  box-shadow: var(--lt-shadow-card);
}
html.lt-app .lta-first .ltpu-suggest[hidden] { display: none; }
html.lt-app .lta-first .ltpu-suggest-item {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  width: 100%;
  min-height: 44px;
  padding: 10px 12px;
  border: 0;
  border-radius: 10px;
  background: none;
  color: var(--lt-ink);
  font: inherit;
  text-align: left;
  cursor: pointer;
}
html.lt-app .lta-first .ltpu-suggest-item.is-active,
html.lt-app .lta-first .ltpu-suggest-item:hover { background: var(--lt-accent-soft); }
html.lt-app .lta-first .ltpu-suggest-main { font-size: 15px; font-weight: 600; }
html.lt-app .lta-first .ltpu-suggest-secondary { font-size: 13px; color: var(--lt-muted); }

html.lt-app .lta-first .ltpu-when { margin: 8px 0 0; }
html.lt-app .lta-first .ltpu-when,
html.lt-app .lta-first .ltpu-ask .ltpu-confirm { min-width: 0; max-width: 100%; }
html.lt-app .lta-first .ltpu-time-rail { display: flex; align-items: center; gap: 4px; width: 100%; min-width: 0; }
html.lt-app .lta-first .ltpu-time-chips,
html.lt-app .lta-first .ltpu-day-chips { display: flex; gap: 8px; }
html.lt-app .lta-first .ltpu-time-chips { flex: 1 1 auto; min-width: 0; overflow-x: auto; scrollbar-width: none; }
html.lt-app .lta-first .ltpu-time-chips::-webkit-scrollbar { display: none; }
html.lt-app .lta-first .ltpu-day-chips { flex-wrap: wrap; }
html.lt-app .lta-first .ltpu-chip {
  flex: 0 0 auto;
  min-width: 60px;
  min-height: 48px;
  padding: 4px 10px;
  border: 1px solid var(--lt-input-border);
  border-radius: 14px;
  background: var(--lt-surface);
  box-shadow: none;
  color: var(--lt-ink);
  font: inherit;
  font-size: 16px;
  font-weight: 600;
  font-variant-numeric: tabular-nums;
  line-height: 1.1;
  cursor: pointer;
}
html.lt-app .lta-first .ltpu-day-chip { min-height: 44px; font-size: 15px; font-weight: 500; }
html.lt-app .lta-first .ltpu-chip.is-active { background: var(--lt-button); border-color: var(--lt-button); color: var(--lt-on-button); }
html.lt-app .lta-first .ltpu-day-chip.is-assumed { border-style: dashed; }
html.lt-app .lta-first .ltpu-day-chip.is-active.is-assumed { background: var(--lt-accent-soft); border-color: var(--lt-accent); color: var(--lt-accent); }
html.lt-app .lta-first .ltpu-day-chip.is-past { color: var(--lt-muted); background: var(--lt-input); border-color: var(--lt-hairline); }
html.lt-app .lta-first .ltpu-time-meridiem { display: block; font-size: 11px; font-weight: 500; color: inherit; opacity: .8; text-transform: lowercase; }
html.lt-app .lta-first .ltpu-time-rail-nav {
  flex: 0 0 auto;
  width: 36px;
  height: 44px;
  padding: 0;
  border: 0;
  background: none;
  color: var(--lt-ink);
  font-size: 26px;
  cursor: pointer;
}
html.lt-app .lta-first .ltpu-day-line { margin: 10px 0 0; font-size: 14px; line-height: 1.45; color: var(--lt-muted); white-space: normal; max-width: 100%; }

html.lt-app .lta-first #lt-form-rest { margin-top: 16px; }
html.lt-app .lta-first .lt-station-details { margin: 0; border: 0; background: none; padding: 0; }
html.lt-app .lta-first .lt-station-summary {
  display: inline-flex;
  align-items: center;
  min-height: 44px;
  list-style: none;
  color: var(--lt-link);
  font-size: 15px;
  font-weight: 600;
  cursor: pointer;
}
html.lt-app .lta-first .lt-station-summary::-webkit-details-marker { display: none; }
html.lt-app .lta-first .lt-station-summary::before { content: none; }
html.lt-app .lta-first .lt-field { margin: 8px 0 0; }
html.lt-app .lta-first .lt-picker-field { position: relative; }
html.lt-app .lta-first .lt-picker-list { border-radius: 14px; border: 1px solid var(--lt-hairline); background: var(--lt-surface); }
html.lt-app .lta-first .lt-picker-row { color: var(--lt-ink); }
html.lt-app .lta-first .lt-mode-toggle { display: inline-flex; gap: 4px; padding: 4px; border-radius: 24px; background: var(--lt-input); box-shadow: inset 0 0 0 1px var(--lt-input-border); }
html.lt-app .lta-first .lt-toggle-btn {
  min-height: 40px;
  padding: 0 18px;
  border: 0;
  border-radius: 20px;
  background: transparent;
  box-shadow: none;
  color: var(--lt-ink);
  font: inherit;
  font-size: 15px;
  font-weight: 500;
  cursor: pointer;
}
html.lt-app .lta-first .lt-toggle-btn.is-active { background: var(--lt-button); color: var(--lt-on-button); font-weight: 600; }
html.lt-app .lta-first .lt-avoid-tolls { margin: 8px 0 0; }
html.lt-app .lta-first .lt-check { display: inline-flex; align-items: center; gap: 10px; min-height: 44px; font-size: 16px; color: var(--lt-ink); }
html.lt-app .lta-first .lt-check input { width: 20px; height: 20px; accent-color: var(--lt-button); }
html.lt-app .lta-first .lt-setup-note { margin: 4px 0 0; font-size: 14px; line-height: 1.45; color: var(--lt-muted); }
html.lt-app .lta-first .lt-setup-note[hidden] { display: none; }
html.lt-app .lta-first-go {
  position: sticky;
  bottom: calc(var(--bench-bar-pad, 44px) + 8px);
  z-index: 20;
  margin: 20px -8px 0;
  padding: 8px;
  border-radius: 20px;
  background: var(--lt-surface);
}
html.lt-app .lta-first[data-view="confirm"] .lta-first-go,
html.lt-app .lta-first[data-view="routes"] .lta-first-go,
html.lt-app .lta-first #lt-form-rest[hidden] ~ .lta-first-go { display: none; }
html.lt-app .lta-first #lt-save {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  min-height: 56px;
  margin: 0;
  border: 0;
  border-radius: 16px;
  background: var(--lt-button);
  box-shadow: none;
  color: var(--lt-on-button);
  font: inherit;
  font-size: 17px;
  font-weight: 600;
  transform: none;
  cursor: pointer;
}
html.lt-app .lta-first #lt-save:disabled { opacity: .7; cursor: default; }
html.lt-app .lta-first #lt-save:focus-visible { outline: 2px solid var(--lt-accent); outline-offset: 2px; }
html.lt-app .lta-first .lta-first-go-note { margin: 8px 0 16px; text-align: center; font-size: 12px; }
html.lt-app .lta-first[data-view="confirm"] .lta-first-go-note,
html.lt-app .lta-first[data-view="routes"] .lta-first-go-note,
html.lt-app .lta-first #lt-form-rest[hidden] ~ .lta-first-go-note { display: none; }
html.lt-app .lta-first #lt-setup-error { margin: 12px 0 0; padding: 12px 14px; border-radius: 14px; background: var(--lt-warn-bg); color: var(--lt-warn-ink); border: 0; font-size: 15px; }
html.lt-app .lta-first #lt-setup-error[hidden] { display: none; }

html.lt-app .lta-pillbtn {
  display: inline-flex;
  align-items: center;
  min-height: 44px;
  padding: 0 18px;
  border: 0;
  border-radius: 22px;
  background: var(--lt-field-chip);
  color: var(--lt-field-chip-ink);
  font: inherit;
  font-size: 15px;
  font-weight: 600;
  cursor: pointer;
}
html.lt-app .lta-pillbtn[hidden] { display: none; }
@media (max-width: 899px) { html.lt-app #lta-first-change { display: none; } }
html.lt-app .lta-first #lt-setup-close { position: static; width: auto; height: auto; }

html.lt-app .lta-first .ltpu-confirm-host { color: var(--lt-ink); }
html.lt-app .lta-first .ltpu-confirm-host .ltpu-confirm { margin: 0 0 16px; padding: 0; border: 0; background: none; box-shadow: none; }
html.lt-app .lta-first .ltpu-confirm-headline,
html.lt-app .lta-first .ltpu-confirm-question { font-size: 18px; font-weight: 700; color: var(--lt-ink); }
html.lt-app .lta-first .ltpu-confirm-addr { font-size: 16px; color: var(--lt-ink-2); }
html.lt-app .lta-first .ltpu-confirm-typed,
html.lt-app .lta-first .ltpu-confirm-note { font-size: 14px; color: var(--lt-muted); }
html.lt-app .lta-first .ltpu-map-surface,
html.lt-app .lta-first .ltpu-map-surface-pick { border-radius: 16px; overflow: hidden; border: 1px solid var(--lt-hairline); }
html.lt-app .lta-first .ltpu-confirm-host button:not(.leaflet-control-zoom-in):not(.leaflet-control-zoom-out) {
  min-height: 44px;
  padding: 0 18px;
  border: 1px solid var(--lt-input-border);
  border-radius: 14px;
  background: var(--lt-surface);
  box-shadow: none;
  color: var(--lt-ink);
  font: inherit;
  font-size: 15px;
  font-weight: 600;
  cursor: pointer;
}
html.lt-app .lta-first .ltpu-confirm-host .ltpu-confirm-yes { border-color: var(--lt-button); background: var(--lt-button); color: var(--lt-on-button); }

html.lt-app .lta-routes-head,
html.lt-app .lta-routes,
html.lt-app .lta-blurbs { display: none; }
html.lt-app .lta-first.is-change .lta-proof,
html.lt-app .lta-first[data-view="confirm"] .lta-proof,
html.lt-app .lta-first[data-view="routes"] .lta-proof,
html.lt-app .lta-first[data-view="routes"] #lt-form-title,
html.lt-app .lta-first[data-view="routes"] #lt-form-lede,
html.lt-app .lta-first[data-view="routes"] #lt-previous-version,
html.lt-app .lta-first[data-view="routes"] .lta-first-card { display: none; }
html.lt-app .lta-first[data-view="routes"] .lta-routes-head { display: block; }
html.lt-app .lta-first[data-view="routes"] .lta-routes { display: block; }
html.lt-app .lta-routes-back { margin: 0 0 16px; }
html.lt-app .lta-routes-title { margin: 0; font-size: 32px; line-height: 1.1; letter-spacing: -0.8px; font-weight: 700; color: var(--lt-on-field); }
html.lt-app .lta-routes-sub { margin: 8px 0 0; font-size: 15px; line-height: 1.5; color: var(--lt-on-field-2); }
html.lt-app .lta-routes { position: relative; z-index: 1; padding: 0 16px 40px; background: var(--lt-ground); }

@media (max-width: 899px) {
  html.lt-app .lta-first[data-view="routes"]:not(.is-oneoff) {
    --lt-field: var(--lt-ground);
    --lt-on-field: var(--lt-ink);
    --lt-on-field-2: var(--lt-muted);
    --lt-field-chip: var(--lt-icon-bg);
    --lt-field-chip-ink: var(--lt-icon-ink);
    --lt-trace-o: 0;
    --lt-trace-stop-o: 0;
  }
  html.lt-app .lta-first[data-view="routes"] .lta-first-hero { padding-top: 16px; padding-bottom: 20px; }
}

html.lt-app .lta-first #ltpu-grid { display: flex; flex-direction: column; gap: 16px; margin: 0; padding: 0; max-width: none; }
html.lt-app .lta-first .ltpu-option {
  position: relative;
  display: flex;
  flex-direction: column;
  gap: 12px;
  margin: 0;
  padding: 24px;
  border: 0;
  border-radius: 24px;
  background: var(--lt-surface);
  box-shadow: var(--lt-shadow-card);
  color: var(--lt-ink);
  font-variant-numeric: tabular-nums;
}
html.lt-app .lta-first .ltpu-option.is-top { display: flex; grid-column: 1; }
html.lt-app .lta-first .ltpu-option.is-top .ltpu-option-head { display: contents; }
html.lt-app .lta-first .ltpu-option-headings { display: flex; flex-direction: column; gap: 8px; min-width: 0; flex: 0 0 auto; }
html.lt-app .lta-first .ltpu-option > * { flex: 0 0 auto; grid-column: auto; grid-row: auto; }
html.lt-app .lta-first .ltpu-kicker {
  align-self: flex-start;
  margin: 0;
  padding: 4px 12px;
  border-radius: 14px;
  background: var(--lt-accent-soft);
  color: var(--lt-accent);
  font-size: 13px;
  font-weight: 700;
  letter-spacing: 0;
  text-transform: none;
}
html.lt-app .lta-first .ltpu-option-title { margin: 0; font-size: 22px; line-height: 1.2; font-weight: 700; color: var(--lt-ink); padding-right: 64px; }
html.lt-app .lta-first .ltpu-option-agencies { margin: 0; display: inline-flex; align-items: center; gap: 6px; }
html.lt-app .lta-first .ltpu-option.is-top .ltpu-option-agencies { position: absolute; top: 24px; right: 24px; }
html.lt-app .lta-first .lt-agency-badge {
  display: inline-flex;
  align-items: center;
  height: 22px;
  padding: 0 8px;
  border: 0;
  border-radius: 6px;
  color: var(--lt-on-mark);
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.02em;
}
html.lt-app .lta-first .lt-agency-badge.is-go { background: var(--lt-go); }
html.lt-app .lta-first .lt-agency-badge.is-ttc { background: var(--lt-ttc); }
html.lt-app .lta-first .lt-agency-badge.is-up { background: var(--lt-up); box-shadow: inset 0 0 0 1px var(--lt-up-edge); }
html.lt-app .lta-first .ltpu-agency-arrow { color: var(--lt-muted); font-size: 12px; }
html.lt-app .lta-first .ltpu-option-why,
html.lt-app .lta-first .ltpu-option-note,
html.lt-app .lta-first .ltpu-option-evening,
html.lt-app .lta-first .ltpu-option-tolls,
html.lt-app .lta-first .ltpu-estimate { margin: 0; font-size: 15px; line-height: 1.45; color: var(--lt-ink-2); }
html.lt-app .lta-first .ltpu-option-note,
html.lt-app .lta-first .ltpu-estimate { color: var(--lt-muted); font-size: 14px; }
html.lt-app .lta-first .ltpu-face {
  display: grid;
  grid-template-columns: 1fr 1fr;
  grid-template-rows: auto auto;
  grid-auto-flow: column;
  column-gap: 16px;
  margin: 4px 0 0;
}
html.lt-app .lta-first .ltpu-face dt { font-size: 13px; font-weight: 500; letter-spacing: 0; text-transform: none; color: var(--lt-muted); }
html.lt-app .lta-first .ltpu-face dd { margin: 0; font-size: 44px; line-height: 1.1; font-weight: 700; letter-spacing: -1.5px; color: var(--lt-ink); text-align: left; }
html.lt-app .lta-first .ltpu-face .lta-mer { margin-left: 4px; font-size: 17px; font-weight: 600; letter-spacing: 0; }
html.lt-app .lta-first .ltpu-boardings { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 8px; }
html.lt-app .lta-first .ltpu-board-pick {
  display: block;
  width: 100%;
  min-height: 44px;
  padding: 10px 14px;
  border: 1px solid var(--lt-hairline);
  border-radius: 14px;
  background: var(--lt-input);
  box-shadow: none;
  color: var(--lt-ink);
  font: inherit;
  font-size: 15px;
  font-weight: 500;
  text-align: left;
  cursor: pointer;
}
html.lt-app .lta-first .ltpu-board-pick.is-current { border: 2px solid var(--lt-accent); background: var(--lt-accent-soft); font-weight: 600; }
html.lt-app .lta-first .ltpu-board-facts { font-size: 13px; font-weight: 400; color: var(--lt-muted); }
html.lt-app .lta-first .ltpu-board-more,
html.lt-app .lta-first .ltpu-stops-summary,
html.lt-app .lta-first .ltpu-chain > summary {
  display: inline-flex;
  align-items: center;
  min-height: 44px;
  padding: 0;
  border: 0;
  background: none;
  box-shadow: none;
  color: var(--lt-link);
  font: inherit;
  font-size: 15px;
  font-weight: 600;
  cursor: pointer;
}
html.lt-app .lta-first .ltpu-stops,
html.lt-app .lta-first .ltpu-chain { margin: 0; border: 0; padding: 0; background: none; }
html.lt-app .lta-first .ltpu-legs { margin: 4px 0 0; padding-left: 20px; font-size: 14px; line-height: 1.6; color: var(--lt-ink-2); }
html.lt-app .lta-first .ltpu-chain-total { margin: 6px 0 0; font-size: 14px; font-weight: 600; color: var(--lt-ink); }
html.lt-app .lta-first .ltpu-pick {
  order: 50;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  min-height: 56px;
  margin: 8px 0 0;
  padding: 0 28px;
  border: 0;
  border-radius: 16px;
  background: var(--lt-button);
  box-shadow: none;
  color: var(--lt-on-button);
  font: inherit;
  font-size: 17px;
  font-weight: 600;
  transform: none;
  cursor: pointer;
}
html.lt-app .lta-first .ltpu-pick:focus-visible,
html.lt-app .lta-first .ltpu-try:focus-visible { outline: 2px solid var(--lt-accent); outline-offset: 2px; }

html.lt-app .lta-routes-side { display: flex; flex-direction: column; gap: 12px; min-width: 0; }
html.lt-app .lta-routes-other { margin: 12px 4px 0; font-size: 16px; font-weight: 700; color: var(--lt-ink-2); }
html.lt-app .lta-first .ltpu-option.is-lower { padding: 16px 18px; gap: 8px; border-radius: 20px; box-shadow: var(--lt-shadow-row); }
html.lt-app .lta-first .ltpu-option.is-lower .ltpu-option-head {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  grid-template-areas: "h d" "h t";
  align-items: center;
  column-gap: 12px;
}
html.lt-app .lta-first .ltpu-option.is-lower .ltpu-option-headings {
  grid-area: h;
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  align-items: center;
  column-gap: 12px;
  row-gap: 2px;
}
html.lt-app .lta-first .ltpu-option.is-lower .ltpu-option-agencies { grid-column: 1; grid-row: 1 / span 2; }
html.lt-app .lta-first .ltpu-option.is-lower .ltpu-option-title { grid-column: 2; font-size: 16px; padding: 0; }
html.lt-app .lta-first .ltpu-option.is-lower .lta-route-times { grid-column: 2; margin: 0; font-size: 13px; color: var(--lt-muted); }
html.lt-app .lta-first .ltpu-option.is-lower .ltpu-option-why,
html.lt-app .lta-first .ltpu-option.is-lower .ltpu-option-note,
html.lt-app .lta-first .ltpu-option.is-lower .ltpu-face,
html.lt-app .lta-first .ltpu-option.is-lower .ltpu-option-evening,
html.lt-app .lta-first .ltpu-option.is-lower .ltpu-option-tolls,
html.lt-app .lta-first .ltpu-option.is-lower .ltpu-estimate,
html.lt-app .lta-first .ltpu-option.is-lower .ltpu-chain { display: none; }
html.lt-app .lta-route-diff { grid-area: d; margin: 0; text-align: right; font-size: 13px; color: var(--lt-muted); line-height: 1.2; }
html.lt-app .lta-route-diff b { display: block; font-size: 17px; font-weight: 700; color: var(--lt-ink); }
html.lt-app .lta-first .ltpu-try {
  grid-area: t;
  justify-self: end;
  min-height: 36px;
  padding: 0;
  border: 0;
  background: none;
  box-shadow: none;
  color: var(--lt-link);
  font: inherit;
  font-size: 14px;
  font-weight: 600;
  cursor: pointer;
}
html.lt-app .lta-first .ltpu-option.is-lower .ltpu-stops-summary { min-height: 32px; font-size: 13px; }

html.lt-app .lta-first .ltpu-working { display: flex; align-items: center; gap: 12px; padding: 24px 8px; color: var(--lt-ink-2); font-size: 16px; }
html.lt-app .lta-first .ltpu-working-line { margin: 0; }
html.lt-app .lta-first .ltpu-spinner { border-color: var(--lt-hairline); border-top-color: var(--lt-accent); }
html.lt-app .lta-first .ltpu-empty,
html.lt-app .lta-first .ltpu-failed,
html.lt-app .lta-first .ltpu-grid-note { margin: 0; padding: 14px 16px; border-radius: 16px; background: var(--lt-warn-bg); color: var(--lt-warn-ink); font-size: 15px; }
html.lt-app .lta-first .ltpu-empty-day-hint { margin: 0; font-size: 14px; color: var(--lt-muted); }

html.lt-app .lta-blurbs { list-style: none; margin: 0; padding: 0; }
html.lt-app .lta-blurbs h3 { margin: 0 0 6px; font-size: 18px; font-weight: 700; color: var(--lt-ink); }
html.lt-app .lta-blurbs p { margin: 0; font-size: 15px; line-height: 1.5; color: var(--lt-muted); }

@media (min-width: 900px) {
  html.lt-app .lta-first::before { height: 640px; }
  html.lt-app .lta-first[data-view="routes"]::before { height: var(--lta-band-h, 320px); }
  html.lt-app .lta-first[data-view="routes"] .lta-trace--desk { height: var(--lta-band-h, 320px); }
  html.lt-app .lta-first-body {
    display: grid;
    grid-template-columns: minmax(0, 560px) 480px;
    justify-content: space-between;
    column-gap: 80px;
    align-items: start;
    margin-top: 48px;
  }
  html.lt-app .lta-first-hero { padding: 40px 0 0; }
  html.lt-app .lta-first #lt-form-title { font-size: 64px; letter-spacing: -2.5px; }
  html.lt-app .lta-first #lt-form-lede { margin-top: 16px; font-size: 22px; }
  html.lt-app .lta-proof { margin-top: 40px; padding: 20px 24px; border-radius: 24px; }
  html.lt-app .lta-proof-row dd { font-size: 24px; }
  html.lt-app .lta-proof-row.is-best dd { font-size: 28px; }
  html.lt-app .lta-first-card { padding: 32px; border-radius: 28px; box-shadow: var(--lt-shadow-card); }
  html.lt-app .lta-first-card-title { display: block; }
  html.lt-app .lta-first-go { position: static; margin: 20px 0 0; padding: 0; }
  html.lt-app .lta-first[data-view="form"]:not(.is-change) .lta-blurbs {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 40px;
    margin: 72px 0 0;
    padding: 0 0 80px;
  }
  html.lt-app .lta-first[data-view="confirm"] .lta-first-body { grid-template-columns: minmax(0, 1fr) 600px; column-gap: 56px; }
  html.lt-app .lta-first[data-view="confirm"] #lt-form-title { font-size: 48px; letter-spacing: -1.5px; }
  html.lt-app .lta-first[data-view="routes"] .lta-first-body { display: block; margin-top: 24px; }
  html.lt-app .lta-first[data-view="routes"] .lta-first-hero { padding: 16px 0 40px; }
  html.lt-app .lta-routes-back { display: none; }
  html.lt-app .lta-routes-title { font-size: 56px; letter-spacing: -2px; }
  html.lt-app .lta-routes-sub { margin-top: 10px; font-size: 20px; }
  html.lt-app .lta-routes { padding: 0 0 80px; background: transparent; }
  html.lt-app .lta-first #ltpu-grid {
    display: grid;
    grid-template-columns: minmax(0, 640px) minmax(0, 1fr);
    column-gap: 32px;
    row-gap: 16px;
    align-items: start;
  }
  html.lt-app .lta-first #ltpu-grid > :not(.ltpu-option):not(.lta-routes-side) { grid-column: 1 / -1; }
  html.lt-app .lta-first #ltpu-grid > .lta-card.lta-oneoff-trip:not(.ltpu-option) { grid-column: 1; }
  html.lt-app .lta-first .ltpu-option.is-top { padding: 32px; border-radius: 28px; }
  html.lt-app .lta-first .ltpu-option.is-top .ltpu-option-title { font-size: 28px; }
  html.lt-app .lta-first .ltpu-option.is-top .ltpu-option-agencies { top: 32px; right: 32px; }
  html.lt-app .lta-first .ltpu-face dd { font-size: 56px; letter-spacing: -2px; }
  html.lt-app .lta-first .ltpu-pick { width: auto; align-self: flex-start; }
  html.lt-app .lta-routes-side { grid-column: 2; }
  html.lt-app .lta-routes-other { margin: var(--lta-other-drop, 0px) 4px 0; color: var(--lt-on-field); }
  html.lt-app .lta-routes-other.is-on-ground { color: var(--lt-ink-2); }
}
@media (min-width: 900px) and (max-width: 1099px) {
  html.lt-app .lta-first-body { grid-template-columns: minmax(0, 1fr) minmax(0, 420px); column-gap: 40px; }
}


@media (min-width: 900px) {
  html.lt-app .lta::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 600px;
    background: var(--lt-field);
  }
  html.lt-app .lta-trace--phone { display: none; }
  html.lt-app .lta-trace--desk { display: block; z-index: 0; }
  html.lt-app .lta-shell {
    box-sizing: border-box;
    background: transparent;
    overflow: visible;
    max-width: 1168px;
    margin: 0 auto;
    padding: 0 24px;
  }
  html.lt-app .lta-header { height: 88px; padding: 0; }
  html.lt-app .lta-wordmark { font-size: 20px; letter-spacing: -0.3px; }
  html.lt-app .lta-header .lt-direction-toggle { display: flex; }
  html.lt-app .lta-iconbtn { width: 48px; height: 48px; border-radius: 24px; }
  html.lt-app .lta-body {
    display: grid;
    grid-template-columns: minmax(0, 560px) 480px;
    justify-content: space-between;
    column-gap: 80px;
    align-items: start;
    margin-top: 56px;
  }
  html.lt-app .lta-hero { padding: 0; }
  html.lt-app .lta-context { font-size: 17px; }
  html.lt-app .lta-homeby-label { margin-top: 20px; font-size: 24px; }
  html.lt-app .lta-label { margin-top: 24px; font-size: 26px; }
  html.lt-app .lta-homeby:not([hidden]) ~ .lta-label { margin-top: 40px; }
  html.lt-app .lta-time { font-size: 152px; line-height: 150px; letter-spacing: -6px; gap: 0 10px; }
  html.lt-app .lta-time.is-words { font-size: 104px; line-height: 110px; letter-spacing: -4px; }
  html.lt-app .lta-time-mer { font-size: 36px; }
  html.lt-app .lta-support { margin-top: 16px; font-size: 22px; }
  html.lt-app .lta-pills { margin-top: 24px; gap: 10px; }
  html.lt-app .lta-pill { height: 40px; padding: 0 16px; border-radius: 20px; font-size: 15px; }
  html.lt-app .lta-homeby .lt-time-rail-slot { min-width: 76px; height: 52px; font-size: 17px; }
  html.lt-app .lta-homeby .lt-time-rail-slots { gap: 10px; }

  html.lt-app .lta-card {
    padding: 28px;
    gap: 20px;
    border-radius: 28px;
    box-shadow: var(--lt-shadow-card);
  }
  html.lt-app .lta-grip,
  html.lt-app .lta-strip,
  html.lt-app .lta-padline,
  html.lt-app .lta-links .lta-phone-only { display: none; }
  html.lt-app .lta-links .lta-desk-only { display: inline-flex; }
  html.lt-app .lta-links { justify-content: flex-start; gap: 24px; }
  html.lt-app .lta-card-title { font-size: 20px; }
  html.lt-app .lta-timeline { display: flex; }

  html.lt-app .lta-footer {
    flex-direction: row;
    align-items: flex-start;
    justify-content: space-between;
    gap: 40px;
    max-width: 1120px;
    margin: 0 auto;
    padding: 80px 24px 96px;
  }
  html.lt-app .lta-footer .lt-data-legend { max-width: 640px; }

  html.lt-app .lta-settings { margin: auto; border-radius: 28px; max-height: 80vh; }
}

@media (prefers-reduced-motion: reduce) {
  html.lt-app .lta *,
  html.lt-app .lta-settings * { transition: none !important; animation: none !important; }
}


html.lt-app .lta-tl-icon {
  flex: 0 0 auto;
  width: 32px;
  height: 32px;
  border-radius: 16px;
  margin-top: -6px;
  font-size: 14px;
}
html.lt-app .lta-tl-icon.lta-strip-icon--park { border-radius: 8px; }
html.lt-app .lta-tl-icon.lta-roundel--go,
html.lt-app .lta-tl-icon.lta-roundel--up { font-size: 10px; }
html.lt-app .lta-tl-icon.lta-roundel--link { font-size: 8px; }
html.lt-app .lta-tl-icon svg { width: 18px; height: 18px; }
html.lt-app .lta-tl-rail .lta-tl-mark { margin-top: 4px; }
html.lt-app .lta-tl-icon + .lta-tl-line { margin-top: 2px; }

html.lt-app .lta-homeby { margin-top: 16px; }
html.lt-app .lta-when {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  min-height: 44px;
  padding: 0 16px;
  border: 0;
  border-radius: 22px;
  background: var(--lt-field-chip);
  color: var(--lt-field-chip-ink);
  font: inherit;
  font-size: 16px;
  font-weight: 500;
  cursor: pointer;
}
html.lt-app .lta-when-val { font-weight: 700; font-variant-numeric: tabular-nums; }
html.lt-app .lta-when-caret {
  width: 8px;
  height: 8px;
  margin: 0 0 3px 6px;
  border-right: 2px solid currentColor;
  border-bottom: 2px solid currentColor;
  transform: rotate(45deg);
  transition: transform 150ms ease;
}
html.lt-app .lta-when[aria-expanded="true"] .lta-when-caret { transform: rotate(-135deg); margin-bottom: -3px; }
html.lt-app .lta-when:focus-visible { outline: 2px solid var(--lt-on-field); outline-offset: 2px; }
html.lt-app .lta-picker[hidden] { display: none; }
html.lt-app .lta-homeby ~ .lta-label { margin-top: 28px; }

html.lt-app .lta-on-desk { display: none; }
@media (min-width: 900px) {
  html.lt-app .lta-on-phone { display: none; }
  html.lt-app .lta-on-desk { display: inline; }
  html.lt-app .lta-homeby ~ .lta-label { margin-top: 36px; }
  html.lt-app .lta-when { min-height: 48px; font-size: 18px; border-radius: 24px; }
}

html.lt-app .lta.is-going .lta-hero #lt-doorlock { display: none !important; }

html.lt-app .lta-footer-side { display: flex; flex-direction: column; gap: 4px; }
html.lt-app .lta-footer-made { display: flex; flex-direction: column; gap: 4px; font-size: 14px; color: var(--lt-muted); }
html.lt-app .lta-footer-made p { margin: 0; line-height: 1.5; }
html.lt-app .lta-footer-made a { color: var(--lt-link); text-decoration: underline; }
html.lt-app .lta-footer-made > a { display: inline-flex; align-items: center; min-height: 44px; }
@media (min-width: 900px) { html.lt-app .lta-footer-side { align-items: flex-end; text-align: right; } }

html.lt-app .lta-page {
  position: fixed;
  inset: 0;
  z-index: 900;
  overflow: auto;
  background: var(--lt-ground);
  color: var(--lt-ink);
  font-family: var(--lt-font);
}
html.lt-app .lta-page[hidden] { display: none; }
html.lt-app.lta-paged body { overflow: hidden; }
html.lt-app .lta-page-in { max-width: 720px; margin: 0 auto; padding: 16px 24px 120px; }
html.lt-app .lta-page-head { display: flex; align-items: center; min-height: 72px; }
html.lt-app .lta-page-back {
  width: 44px;
  height: 44px;
  border: 0;
  border-radius: 22px;
  background: var(--lt-icon-bg);
  color: var(--lt-icon-ink);
  font-size: 20px;
  font-weight: 600;
  cursor: pointer;
}
html.lt-app .lta-page-back:focus-visible { outline: 2px solid var(--lt-accent); outline-offset: 2px; }
html.lt-app .lta-page-title { margin: 16px 0 24px; font-size: 32px; line-height: 1.15; letter-spacing: -0.5px; font-weight: 700; }
html.lt-app .lta-page-body { font-size: 16px; line-height: 1.6; color: var(--lt-ink-2); }
html.lt-app .lta-page-body[hidden] { display: none; }
html.lt-app .lta-page-body h2 { margin: 28px 0 8px; font-size: 20px; color: var(--lt-ink); }
html.lt-app .lta-page-body p { margin: 0 0 12px; }
html.lt-app .lta-page-body a { color: var(--lt-link); }
html.lt-app .lta-page-note { color: var(--lt-muted); }
html.lt-app .lta-page .lt-disclosure { border: 0; background: none; padding: 0; margin: 0; }
html.lt-app .lta-page .bench-privacy-trigger { display: none; }
html.lt-app .lta-page .bench-privacy-panel { display: block; padding: 0; border: 0; background: none; font-size: 16px; color: var(--lt-ink-2); }
html.lt-app .lta-page .bench-privacy-panel p { margin: 0 0 12px; }
html.lt-app .lta-page .bench-privacy-panel button {
  min-height: 44px;
  padding: 0 18px;
  border: 1px solid var(--lt-input-border);
  border-radius: 14px;
  background: var(--lt-surface);
  color: var(--lt-ink);
  font: inherit;
  font-weight: 600;
  cursor: pointer;
}
@media (min-width: 900px) { html.lt-app .lta-page-title { font-size: 40px; } }

html.lt-app .lta-settings-link {
  display: inline-flex;
  align-items: center;
  min-height: 44px;
  padding: 0;
  border: 0;
  background: none;
  color: var(--lt-link);
  font: inherit;
  font-weight: 600;
  cursor: pointer;
}
html.lt-app .lta-settings-link::after { content: '›'; margin-left: 8px; font-size: 20px; line-height: 1; }

html.lt-app .bench-fb-pull {
  text-transform: none;
  letter-spacing: 0.02em;
  font-size: 14px;
  font-weight: 600;
}
html.lt-app .bench-fb-scrim { background: var(--lt-scrim); }
html.lt-app .bench-fb-panel {
  --panel: var(--lt-surface);
  --panel-raised: var(--lt-input);
  --ink: var(--lt-ink);
  --ink-soft: var(--lt-muted);
  --line: var(--lt-hairline);
  --line-strong: var(--lt-input-border);
  --accent: var(--lt-button);
  --accent-ink: var(--lt-on-button);
  --ground-sunk: var(--lt-accent-soft);
  --radius: 14px;
  --radius-lg: 28px;
  --border-w: 1px;
  font-family: var(--lt-font);
  top: auto;
  left: 0;
  right: 0;
  bottom: 0;
  width: auto;
  max-width: none;
  max-height: 88vh;
  border: 0;
  border-radius: 28px 28px 0 0;
  box-shadow: var(--lt-shadow-card);
  transform: translateY(100%);
}
html.lt-app .bench-fb-panel.is-open { transform: translateY(0); }
html.lt-app .bench-fb-panel * { font-family: var(--lt-font); }
@media (max-width: 899px) {
  html.lt-app .bench-fb-panel {
    background: transparent;
    box-shadow: none;
    border-radius: 0;
    justify-content: flex-end;
    pointer-events: none;
  }
  html.lt-app .bench-fb-body {
    flex: 0 1 auto;
    max-height: 100%;
    overflow: auto;
    background: var(--lt-surface);
    border-radius: 28px 28px 0 0;
    box-shadow: var(--lt-shadow-card);
    pointer-events: auto;
  }
}
html.lt-app .bench-fb-btn { border-radius: 14px; box-shadow: none; }
html.lt-app .bench-fb-btn--send,
html.lt-app .bench-fb-btn--send:hover { border: 0; box-shadow: none; transform: none; background: var(--lt-button); color: var(--lt-on-button); font-weight: 600; }
html.lt-app .bench-fb-chip,
html.lt-app .bench-fb-verdict-btn,
html.lt-app .bench-fb-after-btn { border-radius: 14px; box-shadow: none; }
html.lt-app .bench-fb-close { border-radius: 22px; }
html.lt-app .bench-fb-foot { border-top-color: var(--lt-hairline); }
@media (min-width: 900px) {
  html.lt-app .bench-fb-panel {
    left: 50%;
    right: auto;
    bottom: 50%;
    width: 520px;
    max-height: 80vh;
    border-radius: 28px;
    opacity: 0;
    transform: translate(-50%, calc(50% + 32px));
    transition: transform 180ms ease, opacity 180ms ease;
  }
  html.lt-app .bench-fb-panel.is-open { opacity: 1; transform: translate(-50%, 50%); }
}

@media (prefers-reduced-motion: reduce) {
  html.lt-app .bench-fb-panel,
  html.lt-app .lta-when-caret { transition: none; }
}


html.lt-app body.bench { padding-bottom: var(--bench-bar-pad, 44px); }
@media (max-width: 899px) and (max-height: 800px) {
  html.lt-app .lta-hero { padding: 36px 24px 28px; }
  html.lt-app .lta-label { margin-top: 14px; }
  html.lt-app .lta-homeby ~ .lta-label { margin-top: 18px; }
  html.lt-app .lta-time { font-size: 88px; line-height: 90px; letter-spacing: -3px; }
  html.lt-app .lta-time.is-words { font-size: 64px; line-height: 68px; }
  html.lt-app .lta-support { margin-top: 8px; }
}
@media (max-width: 899px) and (max-height: 700px) {
  html.lt-app .lta-hero { padding: 24px 24px 20px; }
  html.lt-app .lta-time { font-size: 76px; line-height: 78px; }
}

html.lt-app .lta-grip { display: none; }
html.lt-app .lta-card { padding-top: 24px; }

html.lt-app .lta-card .lt-lastmile { margin: 0; }
html.lt-app .lta-tl-text #lt-lastmile { margin: 8px 0 0; }
html.lt-app .lta-tl-text .lt-lastmile-text { display: none; }
@media (min-width: 900px) { html.lt-app .lta-card { padding-top: 28px; } }
@media (max-width: 899px) and (max-height: 620px) {
  html.lt-app .lta-hero { padding: 12px 24px 16px; }
  html.lt-app .lta-label { margin-top: 8px; font-size: 18px; }
  html.lt-app .lta-homeby { margin-top: 10px; }
  html.lt-app .lta-homeby ~ .lta-label { margin-top: 12px; }
  html.lt-app .lta-time { font-size: 60px; line-height: 64px; letter-spacing: -2px; }
  html.lt-app .lta-time.is-words { font-size: 48px; line-height: 52px; }
  html.lt-app .lta-support { margin-top: 4px; font-size: 15px; }
}
html.lt-app .lta-card-head { flex-wrap: nowrap; align-items: flex-start; }
html.lt-app .lta-card-title { flex: 1 1 auto; min-width: 0; }
html.lt-app .lta-card-meta { flex: 0 0 auto; margin-top: 1px; }
@media (max-width: 899px) and (max-height: 700px) {
  html.lt-app .lta-card { padding-top: 16px; gap: 12px; }
}
html.lt-app .lta-card .lt-lastmile-note { margin: 6px 0 0; color: var(--lt-muted); font-size: 13px; line-height: 1.4; }
html.lt-app .lta-card .lt-lastmile-text { color: var(--lt-ink); font-size: 15px; }

html.lt-app .lta-first .ltpu-ask .ltpu-confirm { gap: 0; align-items: stretch; }
html.lt-app .lta-first .ltpu-ask .bench-field-label { margin: 12px 0 8px; }
html.lt-app .lta-first .ltpu-ask .ltpu-helpers { margin: 0; }
html.lt-app .lta-first .ltpu-ask .ltpu-helper { min-height: 40px; align-items: flex-start; padding-top: 8px; }
html.lt-app .lta-first .ltpu-ask #ltpu-when { margin-top: 12px; }

@media (max-width: 899px) {
  html.lt-app .lta-first-go {
    bottom: var(--bench-bar-pad, 44px);
    margin: 20px -24px 0;
    padding: 12px 24px;
    border-radius: 0;
    box-shadow: 0 -1px 0 var(--lt-hairline);
  }
  html.lt-app .lta-first.is-typing .lta-first-go,
  html.lt-app .lta-first.no-pin .lta-first-go { position: static; box-shadow: none; }
  html.lt-app:has(.lta-first[data-view="form"]) { scroll-padding-bottom: calc(var(--bench-bar-pad, 44px) + 96px); }
}
@media (max-width: 899px) and (max-height: 900px) {
  html.lt-app .lta-first-hero { padding: 20px 24px 24px; }
  html.lt-app .lta-first #lt-form-title { font-size: 32px; }
  html.lt-app .lta-first #lt-form-lede { margin-top: 8px; font-size: 15px; }
  html.lt-app .lta-proof { margin-top: 18px; padding: 14px 16px; }
  html.lt-app .lta-proof-kicker { margin-bottom: 8px; }
  html.lt-app .lta-proof-total { margin-top: 10px; padding-top: 10px; }
  html.lt-app .lta-first-card { padding-top: 20px; }
}

html.lt-app .lta-first .ltpu-day-kinds { flex-wrap: nowrap; }
html.lt-app .lta-first .ltpu-day-kinds .ltpu-day-chip { flex: 1 1 0; min-width: 0; padding: 4px 6px; }
html.lt-app .lta-first .ltpu-day-note { margin: 6px 0 0; padding: 10px 12px; border-radius: 12px; background: var(--lt-warn-bg); color: var(--lt-warn-ink); font-size: 14px; line-height: 1.45; }
html.lt-app .lta-first .ltpu-day-note[hidden] { display: none; }

html.lt-app .lta-sr { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0; }
html.lt-app .lta-working { display: none; }
html.lt-app .lta-first[data-view="working"] .lta-working { display: block; position: relative; z-index: 1; }
html.lt-app .lta-first[data-view="working"] #lt-form-title,
html.lt-app .lta-first[data-view="working"] #lt-form-lede,
html.lt-app .lta-first[data-view="working"] #lt-previous-version,
html.lt-app .lta-first[data-view="working"] .lta-routes-head,
html.lt-app .lta-first[data-view="working"] .lta-proof,
html.lt-app .lta-first[data-view="working"] .lta-first-card,
html.lt-app .lta-first[data-view="working"] .lta-routes,
html.lt-app .lta-first[data-view="working"] .lta-blurbs { display: none !important; }
html.lt-app .lta-first[data-view="working"] .lta-shell {
  min-height: calc(100vh - var(--bench-bar-pad, 44px));
  min-height: calc(100dvh - var(--bench-bar-pad, 44px));
  box-sizing: border-box;
}
html.lt-app .lta-first[data-view="working"] .lta-first-body { padding-bottom: 0; }
@media (max-width: 899px) {
  html.lt-app .lta-first[data-view="working"] .lta-first-hero { padding-top: clamp(24px, calc(100vh - 580px), 170px); padding-top: clamp(24px, calc(100dvh - 580px), 170px); }
}
html.lt-app .lta-working-kicker { margin: 0; font-size: 17px; font-weight: 600; color: var(--lt-on-field-2); }
html.lt-app .lta-working-count {
  margin: 4px 0 0;
  font-size: 120px;
  line-height: 1;
  font-weight: 700;
  letter-spacing: -4px;
  font-variant-numeric: tabular-nums;
  color: var(--lt-on-field);
}
html.lt-app .lta-working-count::after { content: 's'; font-size: 48px; letter-spacing: 0; margin-left: 4px; color: var(--lt-on-field-2); }
html.lt-app .lta-working-over { margin: 16px 0 0; font-size: 28px; line-height: 1.2; font-weight: 700; color: var(--lt-on-field); }
html.lt-app .lta-working-station { margin: 28px 0 0; font-size: 24px; line-height: 1.25; font-weight: 700; color: var(--lt-on-field); overflow-wrap: anywhere; }
html.lt-app .lta-working-tally { margin: 8px 0 0; font-size: 17px; font-variant-numeric: tabular-nums; color: var(--lt-on-field-2); }
html.lt-app .lta-working-quip { margin: 40px 0 0; min-height: 2.8em; font-size: 17px; line-height: 1.4; color: var(--lt-on-field-2); }
html.lt-app .lta-working [hidden] { display: none; }
html.lt-app .lta-train { display: none; }
html.lt-app .lta-first[data-view="working"] .lta-train { display: inline; fill: var(--lt-on-field); stroke: none; }
@media (min-width: 900px) {
  html.lt-app .lta-first[data-view="working"]::before { height: calc(100vh - var(--bench-bar-pad, 44px)); height: calc(100dvh - var(--bench-bar-pad, 44px)); }
  html.lt-app .lta-first[data-view="working"] .lta-trace--desk { height: calc(100vh - var(--bench-bar-pad, 44px)); height: calc(100dvh - var(--bench-bar-pad, 44px)); }
  html.lt-app .lta-first[data-view="working"] .lta-first-hero { max-width: 760px; padding-top: 72px; }
  html.lt-app .lta-working-count { font-size: 168px; }
  html.lt-app .lta-working-station { font-size: 32px; }
  html.lt-app .lta-working-tally,
  html.lt-app .lta-working-quip { font-size: 20px; }
}

html.lt-app .lta-first .ltpu-day-kinds { gap: 6px; }
html.lt-app .lta-first .ltpu-day-kinds .ltpu-day-chip { padding: 4px 2px; font-size: 14px; }
html.lt-app .lta-first .ltpu-day-note.is-stale { font-weight: 600; }

html.lt-app .lta-proof-total { margin: 0 0 12px; padding: 0; border: 0; font-size: 26px; line-height: 1.15; letter-spacing: -0.5px; color: var(--lt-accent); }
html.lt-app .lta-proof-rows { gap: 8px; padding-top: 12px; border-top: 1px solid var(--lt-hairline); }
html.lt-app .lta-proof-row { display: grid; grid-template-columns: 76px minmax(0, 1fr); align-items: baseline; gap: 8px; }
html.lt-app .lta-proof-row dt { font-size: 15px; font-weight: 600; color: var(--lt-ink); }
html.lt-app .lta-proof-row dd { font-size: 15px; line-height: 1.35; text-align: left; color: var(--lt-ink-2); }
html.lt-app .lta-proof-date { margin-top: 10px; line-height: 1.45; }
@media (min-width: 900px) {
  html.lt-app .lta-proof-total { font-size: 32px; }
  html.lt-app .lta-proof-row dt, html.lt-app .lta-proof-row dd { font-size: 17px; }
}
@media (max-width: 899px) and (max-height: 900px) {
  html.lt-app .lta-proof-total { margin-bottom: 10px; font-size: 21px; letter-spacing: -0.3px; }
  html.lt-app .lta-proof-rows { padding-top: 10px; gap: 6px; }
  html.lt-app .lta-proof-row { grid-template-columns: 64px minmax(0, 1fr); }
  html.lt-app .lta-proof-row dt, html.lt-app .lta-proof-row dd { font-size: 14px; }
}

html.lt-app { --lt-tag-bg: #FFFFFF; --lt-tag-ink: #1446A0; }
html.lt-app .lta[data-moment="afternoon"] { --lt-tag-bg: #1446A0; --lt-tag-ink: #FFFFFF; }
html.lt-app[data-lt-theme="night"],
html.lt-app[data-lt-theme="night"] .lta[data-moment] { --lt-tag-bg: #8FB0FF; --lt-tag-ink: #0D1B3D; }
@media (prefers-color-scheme: dark) {
  html.lt-app[data-lt-theme="device"],
  html.lt-app[data-lt-theme="device"] .lta[data-moment] { --lt-tag-bg: #8FB0FF; --lt-tag-ink: #0D1B3D; }
}
html.lt-app .lta-wordmark { display: inline-flex; align-items: center; gap: 8px; }
html.lt-app .lta-city {
  display: inline-flex;
  align-items: center;
  height: 20px;
  padding: 0 7px;
  border-radius: 6px;
  background: var(--lt-tag-bg);
  color: var(--lt-tag-ink);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.4px;
  text-transform: uppercase;
  line-height: 1;
}
html.lt-app .lta-region { margin: 10px 0 0; font-size: 15px; line-height: 1.4; font-weight: 600; color: var(--lt-on-field); text-wrap: balance; }
html.lt-app .lta-first[data-view="routes"] .lta-region,
html.lt-app .lta-first[data-view="working"] .lta-region { display: none; }
@media (min-width: 900px) { html.lt-app .lta-region { margin-top: 16px; font-size: 18px; } }
@media (max-width: 899px) and (max-height: 900px) { html.lt-app .lta-region { margin-top: 8px; font-size: 13px; font-weight: 500; } }

html.lt-app .lta-homeby .lt-time-rail-slots,
html.lt-app .lta-first .ltpu-time-rail.is-full .ltpu-time-chips {
  overflow-x: auto;
  overflow-y: hidden;
  -webkit-overflow-scrolling: touch;
  scroll-snap-type: x mandatory;
  overscroll-behavior-x: contain;
  overscroll-behavior-y: none;
  touch-action: pan-x;
  scroll-padding-inline: 0;
}
html.lt-app .lta-homeby .lt-time-rail-slot,
html.lt-app .lta-first .ltpu-time-rail.is-full .ltpu-time-chip,
html.lt-app .lta-first .ltpu-time-rail.is-full .ltpu-time-mirror { scroll-snap-align: start; scroll-snap-stop: normal; }
@media (max-width: 899px) {
  html.lt-app .lta-homeby .lt-time-rail-nav,
  html.lt-app .lta-first .ltpu-time-rail.is-full .ltpu-time-rail-nav { display: none; }
}

html.lt-app .lta-hero #lt-doorlock .lt-doorlock-count[data-far] { display: none; }
@media (max-width: 899px) {
  html.lt-app .lta-hero .lta-context-btn,
  html.lt-app .lta-hero .lta-daynote,
  html.lt-app .lta-hero .lta-label,
  html.lt-app .lta-hero .lta-support,
  html.lt-app .lta-hero #lt-doorlock,
  html.lt-app .lta-hero #lt-live-notice,
  html.lt-app .lta-hero #lt-error,
  html.lt-app .lta-hero #lt-no-more-today { margin-right: 28px; }
}


html.lt-app[data-lt-colour="red"][data-lt-theme="light"] {
  --lt-accent: #A5122A;
  --lt-accent-soft: #FBE3E7;
  --lt-button: #A5122A;
  --lt-link: #A5122A;
  --lt-icon-bg: #FBEAED;
  --lt-icon-ink: #A5122A;
  --lt-field: #A5122A;
  --lt-on-field: #FFFFFF;
  --lt-on-field-2: #F8D9DE;
  --lt-field-chip: #BE2A42;
  --lt-field-chip-ink: #FFFFFF;
  --lt-chip-on: #FFFFFF;
  --lt-chip-on-ink: #A5122A;
  --lt-trace: #FFFFFF;
  --lt-tag-bg: #FFFFFF;
  --lt-tag-ink: #A5122A;
}
html.lt-app[data-lt-colour="red"][data-lt-theme="light"] .lta[data-moment="afternoon"] {
  --lt-field: #F9DDE2;
  --lt-on-field: #0E1A33;
  --lt-on-field-2: #3B4A6B;
  --lt-field-chip: #FFFFFF;
  --lt-field-chip-ink: #A5122A;
  --lt-chip-on: #A5122A;
  --lt-chip-on-ink: #FFFFFF;
  --lt-trace: #A5122A;
  --lt-tag-bg: #A5122A;
  --lt-tag-ink: #FFFFFF;
}
@media (prefers-color-scheme: light) {
  html.lt-app[data-lt-colour="red"][data-lt-theme="device"] {
  --lt-accent: #A5122A;
  --lt-accent-soft: #FBE3E7;
  --lt-button: #A5122A;
  --lt-link: #A5122A;
  --lt-icon-bg: #FBEAED;
  --lt-icon-ink: #A5122A;
  --lt-field: #A5122A;
  --lt-on-field: #FFFFFF;
  --lt-on-field-2: #F8D9DE;
  --lt-field-chip: #BE2A42;
  --lt-field-chip-ink: #FFFFFF;
  --lt-chip-on: #FFFFFF;
  --lt-chip-on-ink: #A5122A;
  --lt-trace: #FFFFFF;
  --lt-tag-bg: #FFFFFF;
  --lt-tag-ink: #A5122A;
  }
  html.lt-app[data-lt-colour="red"][data-lt-theme="device"] .lta[data-moment="afternoon"] {
  --lt-field: #F9DDE2;
  --lt-on-field: #0E1A33;
  --lt-on-field-2: #3B4A6B;
  --lt-field-chip: #FFFFFF;
  --lt-field-chip-ink: #A5122A;
  --lt-chip-on: #A5122A;
  --lt-chip-on-ink: #FFFFFF;
  --lt-trace: #A5122A;
  --lt-tag-bg: #A5122A;
  --lt-tag-ink: #FFFFFF;
  }
}

html.lt-app .lta-padding .lt-pad-body {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: nowrap;
  gap: 10px;
  min-height: 44px;
  padding: 4px 0;
}
html.lt-app .lta-padding .lt-pad-label { flex: 1 1 auto; min-width: 0; font-size: 15px; line-height: 1.35; }
html.lt-app .lta-padding .lt-pad-stepper { flex: 0 0 auto; display: inline-flex; align-items: center; gap: 4px; margin: 0; }
html.lt-app .lta-padding .lt-pad-stepper-val { min-width: 52px; text-align: center; font-size: 15px; font-variant-numeric: tabular-nums; }
html.lt-app .lta-padding .lt-pad-chip,
html.lt-app .lta-padding .lt-pad-chip--auto,
html.lt-app .lta-padding .lt-pad-chip--fixed {
  flex: 0 0 auto;
  min-width: 52px;
  margin: 0 48px 0 0;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: none;
  color: var(--lt-muted);
  font-size: 15px;
  text-align: center;
  font-variant-numeric: tabular-nums;
}
html.lt-app .lta-padding .lt-pad-summary { margin-top: 12px; line-height: 1.45; }
@media (max-width: 899px) {
  html.lt-app .lta-padding .lt-leg-row,
  html.lt-app .lta-padding .lt-pad-row { grid-template-columns: 62px 16px minmax(0, 1fr); column-gap: 8px; }
  html.lt-app .lta-padding .lt-leg-time { font-size: 13px; }
  html.lt-app .lta-padding .lt-pad-step { min-width: 36px; min-height: 40px; border-radius: 12px; font-size: 18px; }
  html.lt-app .lta-padding .lt-pad-stepper-val { min-width: 48px; }
  html.lt-app .lta-padding .lt-pad-chip,
  html.lt-app .lta-padding .lt-pad-chip--auto,
  html.lt-app .lta-padding .lt-pad-chip--fixed { min-width: 48px; margin-right: 40px; }
}
html.lt-app .lta-padding .lt-pad-chip--auto { text-decoration: underline dashed var(--lt-dash); text-underline-offset: 4px; }

html.lt-app .lta-hero #lt-error:not([hidden]) { background: var(--lt-warn-bg); color: var(--lt-warn-ink); box-shadow: none; }
html.lt-app .lta-hero #lt-no-more-today .lt-no-more-head { color: var(--lt-ink); font-weight: 700; }

html.lt-app .lta-first .lt-picker-open { padding: 0; border: 0; border-radius: 0; background: none; gap: 8px; }
html.lt-app .lta-first .lt-picker-field {
  min-height: 52px;
  padding: 0 14px;
  gap: 10px;
  border: 1px solid var(--lt-input-border);
  border-radius: 14px;
  background: var(--lt-input);
}
html.lt-app .lta-first .lt-picker-field:focus-within { border-color: transparent; outline: 2px solid var(--lt-accent); outline-offset: 1px; }
html.lt-app .lta-first .lt-picker-field .lt-picker-input,
html.lt-app .lta-first .lt-picker-field .lt-picker-input:focus { height: 50px; padding: 0; border: 0; border-radius: 0; background: none; outline: none; font-size: 17px; }
html.lt-app .lta-first .lt-picker-icon { color: var(--lt-muted); }
html.lt-app .lta-first .lt-picker-clear,
html.lt-app .lta-first .lt-picker-close { min-height: 44px; padding: 0 2px; color: var(--lt-link); font-size: 15px; font-weight: 600; text-decoration: none; }
html.lt-app .lta-first .lt-picker-filter-trigger { align-self: flex-start; min-height: 40px; padding: 0; border: 0; background: none; color: var(--lt-link); font: inherit; font-size: 15px; font-weight: 600; box-shadow: none; }
html.lt-app .lta-first .lt-picker-chips .lt-picker-chip { min-height: 36px; padding: 0 12px; border: 1px solid var(--lt-input-border); border-radius: 12px; background: var(--lt-surface); color: var(--lt-ink); font: inherit; font-size: 14px; }
html.lt-app .lta-first .lt-picker-chips .lt-picker-chip.is-active { background: var(--lt-button); border-color: var(--lt-button); color: var(--lt-on-button); }
html.lt-app .lta-first .lt-picker-count { margin: 0; color: var(--lt-muted); font-size: 14px; }
html.lt-app .lta-first .lt-picker-list { max-height: 320px; padding: 0; border: 0; border-radius: 0; background: none; border-top: 1px solid var(--lt-hairline); }
html.lt-app .lta-first .lt-picker-row { min-height: 56px; padding: 8px 4px; border: 0; border-bottom: 1px solid var(--lt-hairline); border-radius: 0; background: none; }
html.lt-app .lta-first .lt-picker-row:hover,
html.lt-app .lta-first .lt-picker-row.is-active { background: var(--lt-accent-soft); }
html.lt-app .lta-first .lt-picker-row.is-selected { background: var(--lt-accent-soft); border-color: var(--lt-hairline); }
html.lt-app .lta-first .lt-picker-row-name { font-family: var(--lt-font); font-style: normal; font-size: 17px; font-weight: 600; color: var(--lt-ink); }
html.lt-app .lta-first .lt-picker-row-line { margin-top: 2px; font-size: 14px; color: var(--lt-muted); }
html.lt-app .lta-first .lt-picker-summary { width: 100%; min-height: 56px; padding: 8px 14px; border: 1px solid var(--lt-input-border); border-radius: 14px; background: var(--lt-input); color: var(--lt-ink); text-align: left; }
html.lt-app .lta-first .lt-picker-summary-name { font-family: var(--lt-font); font-style: normal; font-size: 17px; font-weight: 600; color: var(--lt-ink); }
html.lt-app .lta-first .lt-picker-summary-line { font-size: 14px; color: var(--lt-muted); }
html.lt-app .lta-first .lt-picker-summary-change,
html.lt-app .lta-first .lt-picker-remove { color: var(--lt-link); font: inherit; font-size: 15px; font-weight: 600; text-decoration: none; background: none; border: 0; }
html.lt-app .lta-first .lt-picker-chosen { display: flex; flex-wrap: wrap; align-items: center; gap: 4px 12px; }
html.lt-app .lta-first .lt-picker-chosen .lt-picker-summary { flex: 1 1 100%; display: flex; align-items: center; gap: 10px; }
html.lt-app .lta-first .lt-picker-summary-text { flex: 1 1 auto; min-width: 0; }
html.lt-app .lta-first .lt-picker-chosen .lt-picker-remove { margin-left: auto; min-height: 40px; padding: 0 2px; }
html.lt-app .lta-hero #lt-no-more-today .lt-no-more-body { color: var(--lt-ink-2); }
html.lt-app .lta-hero #lt-no-more-today .lt-no-more-body a { color: var(--lt-link); }

@media (min-width: 900px) {
  html.lt-app .lta:not(.lta-first) > .lta-shell { min-height: 600px; }
  html.lt-app .lta-footer { position: relative; z-index: 1; }
}


html.lt-app .bench-fb-check { display: none !important; }

html.lt-app a.lta-wordmark { text-decoration: none; border-radius: 6px; }
html.lt-app a.lta-wordmark:hover { text-decoration: none; opacity: 0.88; color: var(--lt-on-field); }
html.lt-app a.lta-wordmark:focus-visible { outline: 2px solid var(--lt-on-field); outline-offset: 4px; }

html.lt-app .lta-footer .lt-data-echo {
  margin: 8px 0 0;
  font-size: 13px;
  line-height: 1.5;
  color: var(--lt-muted);
}

html.lt-app .lta-first .ltpu-tolls-flip {
  color: var(--lt-link);
  font-weight: 600;
  text-underline-offset: 3px;
  min-height: 32px;
}

html.lt-app .lta-first .ltpu-confirm-host .ltpu-confirm-headline { margin: 0 0 20px; }
html.lt-app .lta-first .ltpu-confirm-host .ltpu-confirm + .ltpu-confirm { margin-top: 12px; }

html.lt-app .lta-first #lt-form-lede { color: var(--lt-on-field); font-weight: 600; }
html.lt-app .lta-region { font-weight: 400; color: var(--lt-on-field-2); }
@media (max-width: 899px) and (max-height: 900px) {
  html.lt-app .lta-first #lt-form-lede { margin-top: 8px; }
  html.lt-app .lta-region { margin-top: 6px; font-weight: 400; }
}

html.lt-app .lt-time-rail-slots.is-fit > .lt-time-rail-slot,
html.lt-app .ltpu-time-chips.is-fit > .ltpu-time-chip,
html.lt-app .ltpu-time-chips.is-fit > .ltpu-time-mirror {
  flex: 0 0 var(--lta-chip-w);
  width: var(--lta-chip-w);
  min-width: 0;
  padding-left: 0;
  padding-right: 0;
}

html.lt-app[data-lt-colour="red"][data-lt-theme="night"],
html.lt-app[data-lt-colour="red"][data-lt-theme="night"] .lta[data-moment] {
  --lt-ground: #08080B;
  --lt-surface: #141419;
  --lt-ink: #F3F3F6;
  --lt-ink-2: #CFCFD8;
  --lt-muted: #A4A4B2;
  --lt-accent: #FF7A8C;
  --lt-accent-soft: #2A1519;
  --lt-hairline: #2B2B34;
  --lt-input: #0E0E12;
  --lt-input-border: #34343F;
  --lt-button: #C8102E;
  --lt-on-button: #FFFFFF;
  --lt-link: #FF7A8C;
  --lt-icon-bg: #16213F;
  --lt-icon-ink: #8FB0FF;
  --lt-dash: #5E5E6E;
  --lt-grip: #2B2B34;
  --lt-pill: #16213F;
  --lt-pill-ink: #F3F3F6;
  --lt-field: #0E0E12;
  --lt-on-field: #F3F3F6;
  --lt-on-field-2: #B9BCCB;
  --lt-field-chip: #1A2647;
  --lt-field-chip-ink: #F3F3F6;
  --lt-chip-on: #C8102E;
  --lt-chip-on-ink: #FFFFFF;
  --lt-trace: #E0314B;
  --lt-trace-o: .2;
  --lt-trace-stop-o: .5;
  --lt-tag-bg: #FF7A8C;
  --lt-tag-ink: #14080A;
}
@media (prefers-color-scheme: dark) {
  html.lt-app[data-lt-colour="red"][data-lt-theme="device"],
  html.lt-app[data-lt-colour="red"][data-lt-theme="device"] .lta[data-moment] {
    --lt-ground: #08080B;
    --lt-surface: #141419;
    --lt-ink: #F3F3F6;
    --lt-ink-2: #CFCFD8;
    --lt-muted: #A4A4B2;
    --lt-accent: #FF7A8C;
    --lt-accent-soft: #2A1519;
    --lt-hairline: #2B2B34;
    --lt-input: #0E0E12;
    --lt-input-border: #34343F;
    --lt-button: #C8102E;
    --lt-on-button: #FFFFFF;
    --lt-link: #FF7A8C;
    --lt-icon-bg: #16213F;
    --lt-icon-ink: #8FB0FF;
    --lt-dash: #5E5E6E;
    --lt-grip: #2B2B34;
    --lt-pill: #16213F;
    --lt-pill-ink: #F3F3F6;
    --lt-field: #0E0E12;
    --lt-on-field: #F3F3F6;
    --lt-on-field-2: #B9BCCB;
    --lt-field-chip: #1A2647;
    --lt-field-chip-ink: #F3F3F6;
    --lt-chip-on: #C8102E;
    --lt-chip-on-ink: #FFFFFF;
    --lt-trace: #E0314B;
    --lt-trace-o: .2;
    --lt-trace-stop-o: .5;
    --lt-tag-bg: #FF7A8C;
    --lt-tag-ink: #14080A;
}
}

html.lt-app .lta-routes-sub .lta-routes-sum { color: inherit; }
html.lt-app .lta-routes-edit {
  display: inline-flex;
  align-items: center;
  min-height: 44px;
  margin: -12px 0;
  padding: 0 4px;
  border: 0;
  background: none;
  color: var(--lt-on-field);
  font: inherit;
  font-weight: 700;
  text-decoration: underline;
  text-underline-offset: 4px;
  cursor: pointer;
}
html.lt-app .lta-routes-edit:focus-visible { outline: 2px solid var(--lt-on-field); outline-offset: 2px; border-radius: 6px; }
html.lt-app .lta-routes-limit-wrap { position: relative; display: flex; align-items: center; width: fit-content; max-width: 100%; margin: 14px 0 0; }
html.lt-app .lta-routes-limit {
  appearance: none; -webkit-appearance: none;
  box-sizing: border-box; min-height: 44px; max-width: 100%;
  padding: 0 42px 0 18px; margin: 0;
  border: 1.5px solid var(--lt-field-chip-ink); border-radius: 22px;
  background: var(--lt-field-chip); color: var(--lt-field-chip-ink);
  font: inherit; font-size: 15px; line-height: 1.2; font-weight: 600;
  text-overflow: ellipsis; white-space: nowrap; overflow: hidden;
  cursor: pointer;
}
html.lt-app .lta-routes-limit-wrap::after {
  content: ''; position: absolute; right: 19px; top: 50%;
  width: 8px; height: 8px; margin-top: -6px;
  border-right: 2px solid var(--lt-field-chip-ink); border-bottom: 2px solid var(--lt-field-chip-ink);
  transform: rotate(45deg); pointer-events: none;
}
html.lt-app .lta-routes-limit::-ms-expand { display: none; }
html.lt-app .lta-routes-limit option { color: var(--lt-ink); background: var(--lt-surface); font-weight: 400; }
html.lt-app .lta-routes-limit:hover { filter: brightness(1.06); }
html.lt-app .lta-routes-limit:focus-visible { outline: 3px solid var(--lt-on-field); outline-offset: 3px; }
@media (min-width: 900px) { html.lt-app .lta-routes-limit { font-size: 16px; } }
html.lt-app .lta-seg--stack { flex-wrap: wrap; }
html.lt-app .lta-seg--stack button { flex: 1 1 auto; min-width: 0; white-space: nowrap; }
@media (max-width: 420px) {
  html.lt-app .lta-seg--stack { flex-direction: column; border-radius: 20px; }
  html.lt-app .lta-seg--stack button { width: 100%; }
}
html.lt-app .ltpu-limit-note button.ltpu-limit-widen,
.ltpu-limit-note button.ltpu-limit-widen { display: inline; min-height: 0; padding: 0; border: 0; background: none; color: inherit; font: inherit; font-weight: 600; text-decoration: underline; cursor: pointer; }
html.lt-app .lta-first[data-view="routes"].is-editing .lta-first-card { display: block; margin: 0 0 20px; }
html.lt-app .lta-first.is-editing .lta-first-card-title,
html.lt-app .lta-first.is-editing #ltpu-ask .ltpu-confirm > :not(.ltpu-when),
html.lt-app .lta-first.is-editing #lt-avoid-tolls-wrap,
html.lt-app .lta-first.is-editing .lta-first-go-note { display: none !important; }
html.lt-app .lta-first[data-view="routes"].is-editing .lta-first-go { display: block; position: static; margin: 16px 0 0; padding: 0; background: none; }
html.lt-app .lta-first.is-editing .ltpu-when { margin-top: 0; }
@media (min-width: 900px) {
  html.lt-app .lta-first[data-view="routes"].is-editing .lta-first-card { max-width: 640px; }
}

html.lt-app { --lt-hero: #1446A0; --lt-on-hero: #FFFFFF; --lt-on-hero-2: #DCE5FA; }
html.lt-app[data-lt-colour="red"] { --lt-hero: #A5122A; --lt-on-hero-2: #F8D9DE; }
html.lt-app[data-lt-theme="night"] { --lt-hero: #1A3E9C; --lt-on-hero-2: #D3DDF7; }
html.lt-app[data-lt-colour="red"][data-lt-theme="night"] { --lt-hero: #9B1028; --lt-on-hero-2: #F6D3D9; }
@media (prefers-color-scheme: dark) {
  html.lt-app[data-lt-theme="device"] { --lt-hero: #1A3E9C; --lt-on-hero-2: #D3DDF7; }
  html.lt-app[data-lt-colour="red"][data-lt-theme="device"] { --lt-hero: #9B1028; --lt-on-hero-2: #F6D3D9; }
}
html.lt-app .lta-first .ltpu-option.is-top {
  overflow: hidden;
  isolation: isolate;
  background: var(--lt-hero);
  color: var(--lt-on-hero);
}
html.lt-app .lta-first .ltpu-option.is-top > :not(.lta-card-trace) { position: relative; z-index: 1; }
html.lt-app .lta-first .ltpu-option.is-top .ltpu-option-agencies { position: absolute; z-index: 1; }
html.lt-app .lta-card-trace {
  position: absolute;
  inset: 0;
  z-index: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
  stroke: #FFFFFF;
  opacity: .12;
}
html.lt-app .lta-card-trace circle { fill: none; stroke-width: 2; opacity: 1.6; }
html.lt-app .lta-first .ltpu-option.is-top .ltpu-option-title,
html.lt-app .lta-first .ltpu-option.is-top .ltpu-face dd,
html.lt-app .lta-first .ltpu-option.is-top .ltpu-chain-total { color: var(--lt-on-hero); }
html.lt-app .lta-first .ltpu-option.is-top .ltpu-option-why,
html.lt-app .lta-first .ltpu-option.is-top .ltpu-option-note,
html.lt-app .lta-first .ltpu-option.is-top .ltpu-option-evening,
html.lt-app .lta-first .ltpu-option.is-top .ltpu-option-tolls,
html.lt-app .lta-first .ltpu-option.is-top .ltpu-estimate,
html.lt-app .lta-first .ltpu-option.is-top .ltpu-face dt,
html.lt-app .lta-first .ltpu-option.is-top .ltpu-legs,
html.lt-app .lta-first .ltpu-option.is-top .ltpu-board-facts { color: var(--lt-on-hero-2); }
html.lt-app .lta-first .ltpu-option.is-top .ltpu-kicker { background: rgba(255,255,255,.16); color: var(--lt-on-hero); }
html.lt-app .lta-first .ltpu-option.is-top .lt-agency-badge { box-shadow: 0 0 0 1.5px rgba(255,255,255,.85); }
html.lt-app .lta-first .ltpu-option.is-top .ltpu-board-pick {
  border: 1px solid rgba(255,255,255,.45);
  background: rgba(255,255,255,.08);
  color: var(--lt-on-hero);
}
html.lt-app .lta-first .ltpu-option.is-top .ltpu-board-pick.is-current { border: 2px solid var(--lt-on-hero); background: rgba(255,255,255,.14); }
html.lt-app .lta-first .ltpu-option.is-top .ltpu-board-more,
html.lt-app .lta-first .ltpu-option.is-top .ltpu-stops-summary,
html.lt-app .lta-first .ltpu-option.is-top .ltpu-chain > summary,
html.lt-app .lta-first .ltpu-option.is-top .ltpu-tolls-flip { color: var(--lt-on-hero); text-decoration: underline; text-underline-offset: 3px; }
html.lt-app .lta-first .ltpu-option.is-top .ltpu-pick { background: #FFFFFF; color: var(--lt-hero); }
html.lt-app .lta-first .ltpu-option.is-top .ltpu-pick:focus-visible { outline-color: #FFFFFF; }

html.lt-app .lta-first .ltpu-option.is-lower .ltpu-option-head { grid-template-areas: "h d" "t t"; row-gap: 12px; }
html.lt-app .lta-first .ltpu-option.is-lower .ltpu-try {
  justify-self: stretch;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  min-height: 48px;
  border: 1.5px solid var(--lt-link);
  border-radius: 14px;
  color: var(--lt-link);
  font-size: 16px;
}
html.lt-app .lta-first .ltpu-option.is-lower .ltpu-try:hover { background: var(--lt-accent-soft); }

html.lt-app .lt-picker-open.is-searching .lt-picker-filter-trigger,
html.lt-app .lt-picker-open.is-searching .lt-picker-chips,
html.lt-app .lt-picker-open.is-searching .lt-picker-count { display: none !important; }
html.lt-app .lta-first .lt-picker-open.is-searching .lt-picker-list { margin-top: 8px; }

html.lt-app .lta-first .leaflet-tile-pane { filter: grayscale(1) brightness(1.06) contrast(.88); }
html.lt-app[data-lt-theme="night"] .lta-first .leaflet-tile-pane { filter: grayscale(1) invert(1) brightness(.92) contrast(.86); }
@media (prefers-color-scheme: dark) {
  html.lt-app[data-lt-theme="device"] .lta-first .leaflet-tile-pane { filter: grayscale(1) invert(1) brightness(.92) contrast(.86); }
}
html.lt-app .lta-first .leaflet-container { background: var(--lt-input); }

html.lt-app .lta-first .ltpu-confirm-host .ltpu-confirm-yes { position: relative; overflow: visible; transition: background-color .18s ease, border-color .18s ease; }
html.lt-app .lta-first .ltpu-confirm-host button.ltpu-confirm-yes:not(.leaflet-control-zoom-in):not(.leaflet-control-zoom-out):not(.lta-x) { border-color: var(--lt-button); background: var(--lt-button); color: var(--lt-on-button); }
html.lt-app .lta-first .ltpu-confirm-host button.ltpu-confirm-yes.is-locked:not(.leaflet-control-zoom-in):not(.leaflet-control-zoom-out):not(.lta-x) { border-color: #15803D; background: #15803D; color: #FFFFFF; }
html.lt-app .lta-spark {
  position: absolute;
  inset: 0;
  overflow: visible;
  pointer-events: none;
}
html.lt-app .lta-spark rect {
  fill: none;
  stroke: #FFE08A;
  stroke-width: 3;
  stroke-linecap: round;
  stroke-dasharray: 14 86;
  stroke-dashoffset: 0;
  filter: drop-shadow(0 0 4px rgba(255, 214, 102, .95));
  animation: lta-spark-run .52s cubic-bezier(.45, 0, .2, 1) forwards;
}
@keyframes lta-spark-run {
  0% { stroke-dashoffset: 0; opacity: 1; }
  85% { opacity: 1; }
  100% { stroke-dashoffset: -100; opacity: 0; }
}
html.lt-app .lta-first .ltpu-confirm-host .ltpu-confirm-yes.is-thud { animation: lta-thud .3s cubic-bezier(.3, 1.6, .5, 1); }
@keyframes lta-thud {
  0% { transform: scale(1); }
  35% { transform: scale(.955); }
  100% { transform: scale(1); }
}
@media (prefers-reduced-motion: reduce) {
  html.lt-app .lta-spark { display: none; }
  html.lt-app .lta-first .ltpu-confirm-host .ltpu-confirm-yes.is-thud { animation: none; }
}

html.lt-app .lta-game { display: none; }
@media (min-width: 1100px) {
  html.lt-app .lta-first[data-view="working"] .lta-game {
    display: block;
    position: absolute;
    top: 8px;
    left: 600px;
    width: 500px;
    color: var(--lt-on-field);
  }
}
html.lt-app .lta-game-svg { display: block; width: 100%; height: auto; overflow: visible; }
html.lt-app .lta-game-line { fill: none; stroke: var(--lt-on-field); stroke-opacity: .35; stroke-width: 4; stroke-linecap: round; transition: stroke-opacity .2s; }
html.lt-app .lta-game-line.is-taken { stroke-opacity: .8; }
html.lt-app .lta-game-junction { fill: var(--lt-field); stroke: var(--lt-on-field); stroke-opacity: .5; stroke-width: 2; }
html.lt-app .lta-game-junction.is-near { stroke-opacity: 1; stroke: #FFE08A; stroke-width: 3; }
html.lt-app .lta-game-junction.is-picked { fill: #FFE08A; }
html.lt-app .lta-game-station { fill: var(--lt-field); stroke: var(--lt-on-field); stroke-width: 3; }
html.lt-app .lta-game-station.is-served { fill: var(--lt-on-field); fill-opacity: .35; stroke-opacity: .35; }
html.lt-app .lta-game-station.is-stopped { fill: #FFE08A; stroke: #FFE08A; }
html.lt-app .lta-game-dot { fill: var(--lt-on-field); }
html.lt-app .lta-game-score { margin: 8px 0 0; font-size: 17px; font-weight: 700; font-variant-numeric: tabular-nums; color: var(--lt-on-field); }
html.lt-app .lta-game-score.is-flash { color: #FFE08A; }
html.lt-app .lta-game-how { margin: 6px 0 0; max-width: 420px; font-size: 14px; line-height: 1.45; color: var(--lt-on-field-2); }
html.lt-app .lta-first[data-view="working"] .lta-working:has(.lta-game) ~ * .lta-train, html.lt-app .lta-first[data-view="working"]:has(.lta-game) .lta-train { display: none; }

html.lt-app .lta-hero #lt-track:not([hidden]) {
  display: block;
  margin: 16px 0 0;
  padding: 0;
  border: 0;
  background: none;
  color: var(--lt-on-field-2);
  font-size: 16px;
  line-height: 1.4;
  letter-spacing: 0;
  text-transform: none;
}
html.lt-app .lta-hero #lt-track.lt-track--assigned:not([hidden]) {
  display: inline-block;
  padding: 10px 16px;
  border-radius: 14px;
  background: var(--lt-chip-on);
  color: var(--lt-chip-on-ink);
  font-size: 20px;
  font-weight: 700;
}
@media (max-width: 899px) { html.lt-app .lta-hero #lt-track { margin-right: 28px; } }
html.lt-app .lta-hero #lt-doorlock.lt-changed,
html.lt-app .lta-hero #lt-track.lt-changed,
html.lt-app .lta-hero #lt-live-notice.lt-changed { animation: none; }

html.lt-app .lta-notices:not(:has(> :not([hidden]))) { display: none; }


html.lt-app .lta-footer { background: transparent; }

html.lt-app .bench-fb-note.is-sent { color: var(--lt-accent); font-weight: 700; font-size: 15px; }

html.lt-app .lta-footer-side { gap: 2px; }
html.lt-app .lta-footer-links { gap: 4px 18px; }
html.lt-app .lta-footer-links a,
html.lt-app .lta-footer-links button { min-height: 32px; line-height: 20px; }
html.lt-app .lta-footer-made { gap: 0; line-height: 20px; }
html.lt-app .lta-footer-made > a { min-height: 32px; }
html.lt-app .lta-footer-made p { line-height: 20px; margin: 4px 0 0; }

html.lt-app .lta-settings { overflow-y: auto; scrollbar-width: none; overscroll-behavior: contain; }
html.lt-app .lta-settings::-webkit-scrollbar { display: none; }
html.lt-app .lta-settings-head {
  position: sticky;
  top: 0;
  z-index: 2;
  margin: -20px -24px 0;
  padding: 20px 24px 12px;
  background: var(--lt-surface);
}
html.lt-app .lta-settings-fade {
  position: sticky;
  bottom: 0;
  flex: 0 0 auto;
  height: 56px;
  margin: -76px -24px -32px;
  background: linear-gradient(to bottom, transparent, var(--lt-surface) 85%);
  pointer-events: none;
  opacity: 0;
  transition: opacity .15s;
}
html.lt-app .lta-settings.has-more .lta-settings-fade { opacity: 1; }

html.lt-app { --lt-hero: #1F56B8; --lt-on-hero-2: #DCE5FA; }
html.lt-app[data-lt-colour="red"] { --lt-hero: #B71E36; --lt-on-hero-2: #F8D9DE; }
html.lt-app[data-lt-theme="night"] { --lt-hero: #1A3E9C; --lt-on-hero-2: #D3DDF7; }
html.lt-app[data-lt-colour="red"][data-lt-theme="night"] { --lt-hero: #9B1028; --lt-on-hero-2: #F6D3D9; }
@media (prefers-color-scheme: dark) {
  html.lt-app[data-lt-theme="device"] { --lt-hero: #1A3E9C; --lt-on-hero-2: #D3DDF7; }
  html.lt-app[data-lt-colour="red"][data-lt-theme="device"] { --lt-hero: #9B1028; --lt-on-hero-2: #F6D3D9; }
}
html.lt-app .lta-first .ltpu-option.is-top { box-shadow: 0 0 0 1px rgba(255, 255, 255, .32), var(--lt-shadow-card); }

html.lt-app .lta-first .is-mapbox .leaflet-tile-pane { filter: none; }

html.lt-app .lta-ask { display: grid; gap: 20px; margin: 36px 0 0; }
html.lt-app .lta-ask[hidden], html.lt-app .lta-ask-btns[hidden] { display: none; }
html.lt-app .lta-ask-q { margin: 0; font-size: 40px; line-height: 44px; font-weight: 600; letter-spacing: -1px; color: var(--lt-on-field); }
html.lt-app .lta-ask-btns { display: grid; gap: 12px; max-width: 480px; }
html.lt-app .lta-ask-yes,
html.lt-app .lta-ask-no {
  min-height: 56px; width: 100%; padding: 12px 20px; border-radius: 16px;
  font-size: 17px; font-weight: 600; line-height: 22px; cursor: pointer;
}
html.lt-app .lta-ask-yes { border: 0; background: var(--lt-on-field); color: var(--lt-field); }
html.lt-app .lta-ask-no { border: 1.5px solid var(--lt-on-field); background: transparent; color: var(--lt-on-field); }
html.lt-app .lta-ask-yes:focus-visible,
html.lt-app .lta-ask-no:focus-visible { outline: 2px solid var(--lt-on-field); outline-offset: 3px; }
html.lt-app .lta-settings-note { margin: 4px 0 0 34px; font-size: 13px; line-height: 18px; color: var(--lt-muted, var(--lt-ink)); }
html.lt-app .lta-settings-note--seg { margin-left: 0; margin-top: 4px; }
html.lt-app .lt-margin-slider {
  width: 100%;
  margin: 10px 0 2px;
  accent-color: var(--lt-button);
  cursor: pointer;
}
html.lt-app .lta-margin-stops { display: flex; justify-content: space-between; font-size: 12px; line-height: 16px; color: var(--lt-muted); }
html.lt-app .lta-margin-stops span { flex: 1 1 0; text-align: center; }
html.lt-app .lta-margin-stops span:first-child { text-align: left; }
html.lt-app .lta-margin-stops span:last-child { text-align: right; }
html.lt-app .lta-margin-name { margin: 10px 0 0; font-size: 16px; font-weight: 600; color: var(--lt-ink); }
html.lt-app .lta-padding .lt-pad-row--margin .lt-pad-body { flex-wrap: wrap; row-gap: 6px; }
html.lt-app .lta-padding .lt-pad-row--margin .lt-margin-slider { flex: 1 1 140px; max-width: 220px; margin: 0; min-height: 44px; }
@media (max-width: 899px) {
  html.lt-app .lta-padding .lt-pad-row--margin .lt-margin-slider { flex-basis: 100%; max-width: none; }
}

html.lt-app .lta-routes-checked { margin: 16px 0 0; max-width: 60ch; font-size: 14px; line-height: 1.5; color: var(--lt-on-field-2); }
html.lt-app .lta-routes-checked[hidden] { display: none; }
@media (min-width: 900px) { html.lt-app .lta-routes-checked { font-size: 15px; } }

html.lt-app[data-lt-colour="green"][data-lt-theme="light"] {
  --lt-accent: #0F5A4A;
  --lt-accent-soft: #DDF0E8;
  --lt-button: #0F5A4A;
  --lt-link: #0F5A4A;
  --lt-icon-bg: #E4F3EC;
  --lt-icon-ink: #0F5A4A;
  --lt-field: #0F5A4A;
  --lt-on-field: #FFFFFF;
  --lt-on-field-2: #CFEBDF;
  --lt-field-chip: #1D6B59;
  --lt-field-chip-ink: #FFFFFF;
  --lt-chip-on: #FFFFFF;
  --lt-chip-on-ink: #0F5A4A;
  --lt-trace: #FFFFFF;
  --lt-tag-bg: #FFFFFF;
  --lt-tag-ink: #0F5A4A;
}
html.lt-app[data-lt-colour="green"][data-lt-theme="light"] .lta[data-moment="afternoon"] {
  --lt-field: #DCEFE7;
  --lt-on-field: #0B2620;
  --lt-on-field-2: #33564B;
  --lt-field-chip: #FFFFFF;
  --lt-field-chip-ink: #0F5A4A;
  --lt-chip-on: #0F5A4A;
  --lt-chip-on-ink: #FFFFFF;
  --lt-trace: #0F5A4A;
  --lt-tag-bg: #0F5A4A;
  --lt-tag-ink: #FFFFFF;
}
@media (prefers-color-scheme: light) {
  html.lt-app[data-lt-colour="green"][data-lt-theme="device"] {
    --lt-accent: #0F5A4A;
    --lt-accent-soft: #DDF0E8;
    --lt-button: #0F5A4A;
    --lt-link: #0F5A4A;
    --lt-icon-bg: #E4F3EC;
    --lt-icon-ink: #0F5A4A;
    --lt-field: #0F5A4A;
    --lt-on-field: #FFFFFF;
    --lt-on-field-2: #CFEBDF;
    --lt-field-chip: #1D6B59;
    --lt-field-chip-ink: #FFFFFF;
    --lt-chip-on: #FFFFFF;
    --lt-chip-on-ink: #0F5A4A;
    --lt-trace: #FFFFFF;
    --lt-tag-bg: #FFFFFF;
    --lt-tag-ink: #0F5A4A;
  }
  html.lt-app[data-lt-colour="green"][data-lt-theme="device"] .lta[data-moment="afternoon"] {
    --lt-field: #DCEFE7;
    --lt-on-field: #0B2620;
    --lt-on-field-2: #33564B;
    --lt-field-chip: #FFFFFF;
    --lt-field-chip-ink: #0F5A4A;
    --lt-chip-on: #0F5A4A;
    --lt-chip-on-ink: #FFFFFF;
    --lt-trace: #0F5A4A;
    --lt-tag-bg: #0F5A4A;
    --lt-tag-ink: #FFFFFF;
  }
}
html.lt-app[data-lt-colour="green"][data-lt-theme="night"],
html.lt-app[data-lt-colour="green"][data-lt-theme="night"] .lta[data-moment] {
  --lt-ground: #0A110E;
  --lt-surface: #131C18;
  --lt-ink: #EEF5F1;
  --lt-ink-2: #C8D7D0;
  --lt-muted: #9BAFA6;
  --lt-accent: #5ED3A6;
  --lt-accent-soft: #12271F;
  --lt-hairline: #24332C;
  --lt-input: #0D1512;
  --lt-input-border: #2E3F37;
  --lt-button: #0F6B55;
  --lt-on-button: #FFFFFF;
  --lt-link: #5ED3A6;
  --lt-icon-bg: #14271F;
  --lt-icon-ink: #5ED3A6;
  --lt-dash: #56685F;
  --lt-grip: #24332C;
  --lt-pill: #17271F;
  --lt-pill-ink: #EEF5F1;
  --lt-field: #0D1612;
  --lt-on-field: #EEF5F1;
  --lt-on-field-2: #B2C6BC;
  --lt-field-chip: #1A2E26;
  --lt-field-chip-ink: #EEF5F1;
  --lt-chip-on: #0F6B55;
  --lt-chip-on-ink: #FFFFFF;
  --lt-trace: #3FBF8F;
  --lt-trace-o: .2;
  --lt-trace-stop-o: .5;
  --lt-tag-bg: #5ED3A6;
  --lt-tag-ink: #06120D;
}
@media (prefers-color-scheme: dark) {
  html.lt-app[data-lt-colour="green"][data-lt-theme="device"],
  html.lt-app[data-lt-colour="green"][data-lt-theme="device"] .lta[data-moment] {
    --lt-ground: #0A110E;
    --lt-surface: #131C18;
    --lt-ink: #EEF5F1;
    --lt-ink-2: #C8D7D0;
    --lt-muted: #9BAFA6;
    --lt-accent: #5ED3A6;
    --lt-accent-soft: #12271F;
    --lt-hairline: #24332C;
    --lt-input: #0D1512;
    --lt-input-border: #2E3F37;
    --lt-button: #0F6B55;
    --lt-on-button: #FFFFFF;
    --lt-link: #5ED3A6;
    --lt-icon-bg: #14271F;
    --lt-icon-ink: #5ED3A6;
    --lt-dash: #56685F;
    --lt-grip: #24332C;
    --lt-pill: #17271F;
    --lt-pill-ink: #EEF5F1;
    --lt-field: #0D1612;
    --lt-on-field: #EEF5F1;
    --lt-on-field-2: #B2C6BC;
    --lt-field-chip: #1A2E26;
    --lt-field-chip-ink: #EEF5F1;
    --lt-chip-on: #0F6B55;
    --lt-chip-on-ink: #FFFFFF;
    --lt-trace: #3FBF8F;
    --lt-trace-o: .2;
    --lt-trace-stop-o: .5;
    --lt-tag-bg: #5ED3A6;
    --lt-tag-ink: #06120D;
  }
}
html.lt-app[data-lt-colour="green"] { --lt-hero: #176B58; --lt-on-hero-2: #CFEBDF; }
html.lt-app[data-lt-colour="green"][data-lt-theme="night"] { --lt-hero: #0F5444; --lt-on-hero-2: #CDE6DB; }
@media (prefers-color-scheme: dark) {
  html.lt-app[data-lt-colour="green"][data-lt-theme="device"] { --lt-hero: #0F5444; --lt-on-hero-2: #CDE6DB; }
}

html.lt-app .lta-first .ltpu-badges { display: flex; flex-wrap: wrap; gap: 6px; margin: 0; padding: 0; list-style: none; }
html.lt-app .lta-first .ltpu-option-limit { margin: 4px 0 0; font-size: 13px; line-height: 18px; color: var(--lt-muted); }
html.lt-app .lta-first .ltpu-option.is-top .ltpu-option-limit { color: var(--lt-on-hero); font-size: 14px; }
html.lt-app .lta-first .ltpu-option.is-lower .ltpu-option-limit { grid-column: 1 / -1; }
.ltpu-option-limit { margin: 4px 0 0; font-size: 14px; }
html.lt-app .lta-first .ltpu-badge {
  display: inline-flex;
  align-items: center;
  min-height: 24px;
  padding: 0 10px;
  border: 1.5px solid currentColor;
  border-radius: 12px;
  font-size: 13px;
  font-weight: 700;
  line-height: 1.2;
  white-space: nowrap;
}
html.lt-app .lta-first .ltpu-badge--rec { background: var(--lt-button); border-color: var(--lt-button); color: var(--lt-on-button); }
html.lt-app .lta-first .ltpu-badge--fact { background: transparent; color: var(--lt-link); }
html.lt-app .lta-first .ltpu-badge--warn { background: var(--lt-warn-bg); border-color: var(--lt-warn-bg); color: var(--lt-warn-ink); }
html.lt-app .lta-first .ltpu-option-lot { margin: 0; font-size: 14px; line-height: 1.4; color: var(--lt-ink-2); }
html.lt-app .lta-first .ltpu-option.is-top .ltpu-badge--rec { background: #FFFFFF; border-color: #FFFFFF; color: var(--lt-hero); }
html.lt-app .lta-first .ltpu-option.is-top .ltpu-badge--fact { color: var(--lt-on-hero); }
html.lt-app .lta-first .ltpu-option.is-top .ltpu-badge--warn { background: #FEF3C7; border-color: #FEF3C7; color: #78350F; }
html.lt-app .lta-first .ltpu-option.is-top .ltpu-option-lot { color: var(--lt-on-hero-2); }
html.lt-app .lta-first .ltpu-badge-wrap { display: flex; flex-direction: column; gap: 6px; min-width: 0; }
html.lt-app .lta-first .ltpu-option.is-lower.has-badges .ltpu-option-head { grid-template-areas: "h d" "b b" "t t"; }
html.lt-app .lta-first .ltpu-option.is-lower .ltpu-badge-wrap { grid-area: b; gap: 4px; }
html.lt-app .lta-first .ltpu-option.is-top .ltpu-option-title + .ltpu-badge-wrap { margin-top: calc(var(--lt-title-badge-gap) - 8px); }
html.lt-app .lta-first .ltpu-option.is-lower.has-badges .ltpu-option-head { row-gap: var(--lt-title-badge-gap); }
html.lt-app .lta-first .ltpu-option.is-lower .ltpu-option-lot { font-size: 13px; }

html.lt-app .ltci {
  display: flex;
  flex-direction: column;
  gap: 12px;
  margin: 24px 16px 0;
  padding: 20px;
  border-radius: 20px;
  background: var(--lt-surface);
  color: var(--lt-ink);
  box-shadow: var(--lt-shadow-row);
}
html.lt-app .ltci-text { margin: 0; font-size: 16px; line-height: 1.45; color: var(--lt-ink); }
html.lt-app .ltci-amounts { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 8px; }
html.lt-app .ltci-amount,
html.lt-app .ltci-go {
  position: relative;
  min-height: 48px;
  padding: 0 8px;
  border: 1.5px solid var(--lt-button);
  border-radius: 14px;
  background: transparent;
  color: var(--lt-link);
  font: inherit;
  font-size: 16px;
  font-weight: 700;
  cursor: pointer;
  transition: background-color .18s ease, border-color .18s ease;
}
html.lt-app .ltci-amount:disabled { opacity: .55; cursor: default; }
html.lt-app .ltci-go { background: var(--lt-button); color: var(--lt-on-button); padding: 0 18px; }
html.lt-app .ltci-amount.is-locked { border-color: #15803D; background: #15803D; color: #FFFFFF; }
html.lt-app .ltci-amount.is-thud { animation: lta-thud .3s cubic-bezier(.3, 1.6, .5, 1); }
html.lt-app .ltci-other-row { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; }
html.lt-app .ltci-other-row[hidden], html.lt-app .ltci-card[hidden] { display: none; }
html.lt-app .ltci-other-label { font-size: 15px; color: var(--lt-ink-2); }
html.lt-app .ltci-other-field {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  min-height: 48px;
  padding: 0 12px;
  border: 1px solid var(--lt-input-border);
  border-radius: 12px;
  background: var(--lt-input);
  color: var(--lt-ink);
  font-size: 16px;
}
html.lt-app .ltci-other-field input { width: 4.5em; border: 0; background: transparent; color: inherit; font: inherit; outline: none; }
html.lt-app .ltci-card { display: flex; flex-direction: column; gap: 10px; }
html.lt-app .ltci-card-field {
  padding: 14px 12px;
  border: 1px solid var(--lt-input-border);
  border-radius: 12px;
  background: var(--lt-input);
}
html.lt-app .ltci-say { margin: 0; font-size: 14px; color: var(--lt-ink-2); }
html.lt-app .ltci-say:empty { display: none; }
html.lt-app .ltci-small { margin: 0; font-size: 13px; line-height: 1.45; color: var(--lt-muted); }
html.lt-app .ltci-notnow {
  align-self: flex-start;
  min-height: 44px;
  padding: 0;
  border: 0;
  background: none;
  color: var(--lt-link);
  font: inherit;
  font-size: 14px;
  font-weight: 600;
  cursor: pointer;
}
html.lt-app .ltci.is-thanked { padding: 18px 20px; }
html.lt-app .ltci-thanks { margin: 0; font-size: 18px; font-weight: 700; color: var(--lt-accent); }
@media (prefers-reduced-motion: reduce) {
  html.lt-app .ltci-amount.is-thud { animation: none; }
}
@media (min-width: 900px) {
  html.lt-app .ltci { max-width: 560px; margin: 24px auto 0; }
}

html.lt-app .ltin {
  display: flex;
  flex-direction: column;
  gap: 12px;
  margin: 24px 16px 0;
  padding: 20px;
  border-radius: 20px;
  background: var(--lt-surface);
  color: var(--lt-ink);
  box-shadow: var(--lt-shadow-row);
}
html.lt-app .ltin-text { margin: 0; font-size: 16px; line-height: 1.45; color: var(--lt-ink); }
html.lt-app .ltin-go {
  align-self: flex-start;
  min-height: 48px;
  padding: 0 18px;
  border: 1.5px solid var(--lt-button);
  border-radius: 14px;
  background: var(--lt-button);
  color: var(--lt-on-button);
  font: inherit;
  font-size: 16px;
  font-weight: 700;
  cursor: pointer;
}
html.lt-app .ltin-go:disabled { opacity: .55; cursor: default; }
@media (max-width: 479px) { html.lt-app .ltin-go { align-self: stretch; width: 100%; padding: 10px 18px; line-height: 1.25; } }
html.lt-app .ltin-go:focus-visible, html.lt-app .ltin-notnow:focus-visible { outline: 3px solid var(--lt-link); outline-offset: 3px; }
html.lt-app .ltin-ios { display: flex; align-items: center; gap: 10px; margin: 0; font-size: 17px; font-weight: 700; line-height: 1.3; color: var(--lt-ink); }
html.lt-app .ltin-share { flex: 0 0 auto; color: var(--lt-link); }
html.lt-app .ltin-small { margin: 0; font-size: 13px; line-height: 1.45; color: var(--lt-muted); }
html.lt-app .ltin-notnow {
  align-self: flex-start;
  min-height: 44px;
  padding: 0;
  border: 0;
  background: none;
  color: var(--lt-link);
  font: inherit;
  font-size: 14px;
  font-weight: 600;
  cursor: pointer;
}
@media (min-width: 900px) {
  html.lt-app .ltin { max-width: 640px; margin: 24px auto 0; }
}

html.lt-app .lta-first .ltpu-time-wrap { min-width: 0; max-width: 100%; }
html.lt-app .lta-first .ltpu-time-jumps { display: flex; flex-wrap: wrap; align-items: center; gap: 0 2px; margin: 0 0 6px; }
html.lt-app .lta-first .ltpu-time-jump { min-height: 36px; padding: 0 6px; border: 0; background: none; font: inherit; font-size: 14px; font-weight: 500; color: var(--lt-link); cursor: pointer; }
html.lt-app .lta-first .ltpu-time-jump:first-of-type { padding-left: 0; }
html.lt-app .lta-first .ltpu-time-jump-dot { color: var(--lt-muted); }
html.lt-app .lta-first-hero .lta-first-oneoff { display: inline-block; margin: 12px 0 0; padding: 10px 0; text-align: left; color: var(--lt-on-field); }
html.lt-app .lta-first .lta-oneoff-back-text { white-space: nowrap; }
html.lt-app .ltpu-pin-badge { background: var(--lt-button); color: var(--lt-on-button); }
html.lt-app .ltpu-pin-point path { fill: var(--lt-button); stroke: var(--lt-ink); }
html.lt-app .lta-first .ltpu-option.is-top .ltpu-option-title { padding-right: var(--ltpu-badge-room, 64px); }

html.lt-app .lta-card .lta-oneoff-lastmile[hidden] { display: none; }
html.lt-app .lta-card .lta-oneoff-lastmile { margin: 12px 0 0; }
html.lt-app .lta-tl-text .lta-oneoff-lastmile { margin: 8px 0 0; }
html.lt-app .lta-tl-text .lta-oneoff-lastmile .lt-lastmile-text { display: none; }
html.lt-app .lta-card .lta-oneoff-lastmile .lt-lastmile-choice { display: flex; gap: 8px; flex-wrap: wrap; margin: 6px 0 0; }
html.lt-app .lta-card .lta-oneoff-lastmile .lt-lastmile-btn { padding: 0 16px; font: inherit; font-weight: 600; cursor: pointer; }
html.lt-app .lta-card .lta-oneoff-lastmile .lt-lastmile-btn[hidden] { display: none; }
html.lt-app .lta-card .lta-oneoff-lastmile[aria-busy="true"] .lt-lastmile-btn { opacity: .6; cursor: progress; }

html.lt-app .lta-oneoff-band { display: none; }
html.lt-app .lta-first.is-oneoff[data-view="routes"] .lta-oneoff-band { display: flex; }
html.lt-app .lta-first.is-oneoff[data-view="routes"] .lta-routes-title { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0; }
html.lt-app .lta-first.is-oneoff .lta-routes-back { display: none; }
html.lt-app .lta-first.is-oneoff .lta-routes-sub { margin: 0; font-size: 14px; color: var(--lt-on-field-2); }
html.lt-app .lta-first.is-oneoff .lta-routes-sub .lta-sub-by { display: none; }
html.lt-app .lta-first.is-oneoff .lta-routes-edit { color: var(--lt-on-field); font-weight: 600; }
html.lt-app .lta-oneoff-band { flex-direction: column; gap: 0; margin: 18px 0 0; color: var(--lt-on-field); }
html.lt-app .lta-ob-main { display: flex; flex-direction: column; min-width: 0; }
html.lt-app .lta-ob-times { display: flex; flex-direction: column; }
html.lt-app .lta-ob-k { margin: 0; font-size: 18px; color: var(--lt-on-field-2); }
html.lt-app .lta-ob-big { margin: 0; font-size: 96px; line-height: 96px; font-weight: 600; letter-spacing: -4px; color: var(--lt-on-field); font-variant-numeric: tabular-nums; outline: none; }
html.lt-app .lta-ob-big .lta-mer { margin-left: 6px; font-size: 24px; letter-spacing: 0; }
html.lt-app .lta-ob-arrow,
html.lt-app .lta-ob-there { display: none; }
html.lt-app .lta-ob-there-line { margin: 8px 0 0; font-size: 18px; color: var(--lt-on-field-2); }
html.lt-app .lta-ob-mid { margin: 0; font-size: 64px; line-height: 64px; font-weight: 600; letter-spacing: -2px; color: var(--lt-on-field-2); font-variant-numeric: tabular-nums; }
html.lt-app .lta-ob-mid .lta-mer { margin-left: 6px; font-size: 20px; letter-spacing: 0; }
html.lt-app .lta-ob-train { display: flex; align-items: center; gap: 10px; margin: 18px 0 0; font-size: 17px; line-height: 22px; font-weight: 600; color: var(--lt-on-field); }
html.lt-app .lta-ob-train .ltpu-option-agencies { display: inline-flex; align-items: center; gap: 4px; margin: 0; flex-shrink: 0; }
html.lt-app .lta-ob-train .lt-agency-badge { box-shadow: 0 0 0 2px var(--lt-on-field); }
html.lt-app .lta-ob-facts { margin: 6px 0 0; font-size: 14px; line-height: 1.45; color: var(--lt-on-field-2); }
html.lt-app .lta-ob-facts[hidden] { display: none; }
html.lt-app .lta-ob-facts .ltpu-tolls-flip { padding: 0; border: 0; background: none; font: inherit; font-weight: 600; color: var(--lt-on-field); text-decoration: underline; text-underline-offset: 2px; cursor: pointer; }
html.lt-app .lta-ob-warn { align-self: flex-start; margin: 10px 0 0; padding: 6px 10px; border-radius: 10px; background: var(--lt-warn-bg); color: var(--lt-warn-ink); font-size: 14px; line-height: 1.45; }
html.lt-app .lta-ob-quiet { margin: 6px 0 0; font-size: 13px; line-height: 1.45; color: var(--lt-on-field-2); }
html.lt-app .lta-oneoff-band .lta-oneoff-closure { margin: 12px 0 0; max-width: 640px; }
html.lt-app .lta-ob-warn[hidden],
html.lt-app .lta-ob-quiet[hidden],
html.lt-app .lta-oneoff-band .lta-oneoff-closure[hidden] { display: none; }
html.lt-app .lta-ob-act { display: flex; flex-direction: column; align-items: stretch; gap: 12px; margin: 20px 0 0; }
html.lt-app .lta-ob-cal { min-height: 56px; padding: 0 32px; border: 0; border-radius: 16px; background: var(--lt-on-field); color: var(--lt-field); font: inherit; font-size: 17px; font-weight: 600; cursor: pointer; }
html.lt-app .lta-ob-cal[hidden] { display: none; }
html.lt-app .lta-ob-cal:focus-visible { outline: 3px solid var(--lt-on-field); outline-offset: 3px; }
html.lt-app .lta-ob-saved { display: none; margin: 0; font-size: 13px; color: var(--lt-on-field-2); }

html.lt-app .lta-first #ltpu-grid > .lta-oneoff-result { display: flex; flex-direction: column; gap: 16px; }
html.lt-app .lta-first .lta-oneoff-result .lta-oneoff-trip { margin: 0; padding: 22px 20px; border-radius: 22px; box-shadow: var(--lt-shadow-card); gap: 4px; }
html.lt-app .lta-oneoff-trip-h,
html.lt-app .lta-oneoff-ways-h { margin: 0 0 12px; font-size: 18px; font-weight: 600; color: var(--lt-ink); }
html.lt-app .lta-oneoff-refused { margin: 0; font-size: 15px; color: var(--lt-muted); }
html.lt-app .lta-oneoff-refused[hidden] { display: none; }
html.lt-app .lta-oneoff-side { display: flex; flex-direction: column; gap: 16px; min-width: 0; }
html.lt-app .lta-first .lta-oneoff-ways { margin: 0; padding: 20px; border-radius: 22px; box-shadow: var(--lt-shadow-card); gap: 0; }
html.lt-app .lta-first .lta-oneoff-ways[hidden] { display: none; }
html.lt-app .lta-ways { list-style: none; margin: 0; padding: 0; }
html.lt-app .lta-ways[hidden] { display: none; }
html.lt-app .lta-ways--stops { margin: 4px 0 0; padding: 0 0 0 12px; border-left: 2px solid var(--lt-hairline); }
html.lt-app .lta-way { display: flex; align-items: center; gap: 10px; padding: 12px 0; border-bottom: 1px solid var(--lt-hairline); }
html.lt-app .lta-ways > .lta-way:last-child { border-bottom: 0; }
html.lt-app .lta-way-text { display: flex; flex-direction: column; gap: 2px; flex: 1 1 auto; min-width: 0; }
html.lt-app .lta-way-label { margin: 0; font-size: 11px; font-weight: 600; letter-spacing: .4px; text-transform: uppercase; color: var(--lt-ink-2); }
html.lt-app .lta-way-name { margin: 0; font-size: 15px; font-weight: 600; color: var(--lt-ink); overflow-wrap: anywhere; }
html.lt-app .lta-way-facts { margin: 0; font-size: 13px; color: var(--lt-muted); }
html.lt-app .lta-way-facts.is-warn { color: var(--lt-warn-ink); }
html.lt-app .lta-way-more { display: none; }
html.lt-app .lta-way-end { display: flex; flex-direction: column; align-items: flex-end; gap: 0; flex-shrink: 0; text-align: right; }
html.lt-app .lta-way-diff { margin: 0; font-size: 14px; font-weight: 600; color: var(--lt-ink); white-space: nowrap; }
html.lt-app .lta-way.is-current .lta-way-diff { color: var(--lt-muted); font-weight: 500; }
html.lt-app .lta-way-switch { min-height: 44px; min-width: 44px; padding: 0; border: 0; background: none; font: inherit; font-size: 13px; font-weight: 600; color: var(--lt-link); text-decoration: underline; text-underline-offset: 2px; cursor: pointer; }
html.lt-app .lta-ways-stops { align-self: flex-start; min-height: 44px; margin: 4px 0 0; padding: 0; border: 0; background: none; font: inherit; font-size: 14px; font-weight: 500; color: var(--lt-link); text-decoration: underline; text-underline-offset: 2px; cursor: pointer; text-align: left; }
html.lt-app .lta-ways-stops[hidden] { display: none; }
html.lt-app .lta-oneoff-checked { margin: 0; padding: 0 8px; font-size: 13px; line-height: 19px; color: var(--lt-muted); }

@media (max-width: 899px) {
  html.lt-app .lta-first.is-oneoff[data-view="routes"] .lta-first-hero { padding: 20px 24px 24px; }
  html.lt-app .lta-first.is-oneoff[data-view="routes"] .lta-routes { padding-top: 24px; }
}
@media (min-width: 900px) {
  html.lt-app .lta-first.is-oneoff .lta-routes-sub { font-size: 16px; }
  html.lt-app .lta-first.is-oneoff .lta-routes-sub .lta-sub-by { display: inline; }
  html.lt-app .lta-first.is-oneoff[data-view="routes"] .lta-first-hero { padding: 12px 0 30px; }
  html.lt-app .lta-oneoff-band { flex-direction: row; justify-content: space-between; align-items: flex-end; gap: 40px; margin-top: 22px; }
  html.lt-app .lta-ob-times { flex-direction: row; align-items: flex-end; gap: 28px; }
  html.lt-app .lta-ob-leave,
  html.lt-app .lta-ob-there { display: flex; flex-direction: column; gap: 4px; }
  html.lt-app .lta-ob-k { font-size: 16px; }
  html.lt-app .lta-ob-big { font-size: 120px; line-height: 112px; letter-spacing: -5px; }
  html.lt-app .lta-ob-big .lta-mer { font-size: 28px; }
  html.lt-app .lta-ob-arrow { display: block; padding-bottom: 22px; font-size: 40px; color: var(--lt-on-field-2); opacity: .7; }
  html.lt-app .lta-ob-there-line { display: none; }
  html.lt-app .lta-ob-train { margin-top: 22px; gap: 12px; font-size: 22px; line-height: 28px; }
  html.lt-app .lta-ob-facts { margin-top: 8px; font-size: 15px; }
  html.lt-app .lta-ob-act { align-items: flex-end; margin: 0; padding-bottom: 6px; flex-shrink: 0; }
  html.lt-app .lta-ob-saved { display: block; }
  html.lt-app .lta-oneoff-checked-saved { display: none; }
  html.lt-app .lta-first #ltpu-grid > .lta-oneoff-result { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 400px); column-gap: 40px; align-items: start; grid-column: 1 / -1; }
  html.lt-app .lta-first .lta-oneoff-result .lta-oneoff-trip { padding: 28px 32px; border-radius: 24px; }
  html.lt-app .lta-oneoff-trip-h { margin-bottom: 14px; font-size: 20px; }
  html.lt-app .lta-first .lta-oneoff-ways { padding: 24px; border-radius: 24px; }
  html.lt-app .lta-way-label { font-size: 12px; }
  html.lt-app .lta-way-more { display: inline; }
  html.lt-app .lta-way-diff { font-size: 15px; }
}

html.lt-app .lta-first .ltpu-better-start,
html.lt-app .lta-first .ltpu-cleared {
  margin: 0;
  max-width: 60ch;
  font-size: 15px;
  line-height: 1.5;
  color: var(--lt-ink);
}
html.lt-app .lta-first .ltpu-better-start .ltpu-see-options,
html.lt-app .lta-first .ltpu-cleared .ltpu-cleared-undo {
  display: inline-flex;
  align-items: center;
  min-height: 44px;
  min-width: 44px;
  margin: -11px 0;
  padding: 0 2px;
  border: 0;
  border-radius: 6px;
  background: none;
  color: var(--lt-link);
  font: inherit;
  font-weight: 600;
  text-decoration: underline;
  text-underline-offset: 3px;
  vertical-align: baseline;
  cursor: pointer;
}
html.lt-app .lta-first .ltpu-better-start .ltpu-see-options:focus,
html.lt-app .lta-first .ltpu-cleared .ltpu-cleared-undo:focus { outline: none; }
html.lt-app .lta-first .ltpu-better-start .ltpu-see-options:focus-visible,
html.lt-app .lta-first .ltpu-cleared .ltpu-cleared-undo:focus-visible { outline: 2px solid var(--lt-accent); outline-offset: 2px; }
@media (min-width: 900px) {
  html.lt-app .lta-first .ltpu-better-start,
  html.lt-app .lta-first .ltpu-cleared { font-size: 16px; }
}

html.lt-app .lta-first .ltpu-badge-li { display: flex; }
html.lt-app .lta-first .ltpu-badge-btn {
  display: inline-flex;
  align-items: center;
  min-height: 44px;
  min-width: 44px;
  margin: -10px 0;
  padding: 0;
  border: 0;
  border-radius: 14px;
  background: none;
  color: inherit;
  font: inherit;
  cursor: pointer;
}
html.lt-app .lta-first .ltpu-badge-btn:focus { outline: none; }
html.lt-app .lta-first .ltpu-badge-btn:focus-visible { outline: 2px solid var(--lt-on-hero, #FFFFFF); outline-offset: 0; }
html.lt-app .lta-first .ltpu-badge-btn .ltpu-badge { pointer-events: none; }
html.lt-app .lta-first .ltpu-option.is-top .ltpu-board-pick.is-shown { outline: 2px dashed var(--lt-on-hero); outline-offset: 3px; }
html.lt-app .lta-first .ltpu-board-pick.is-shown { outline: 2px dashed var(--lt-accent); outline-offset: 3px; }
html.lt-app .lta-first .lta-ob-badges { margin-top: var(--lt-title-badge-gap); }
html.lt-app .lta-ob-badges[hidden] { display: none; }
html.lt-app .lta-ob-badges .ltpu-badge--rec { background: var(--lt-on-field); border-color: var(--lt-on-field); color: var(--lt-field); }
html.lt-app .lta-ob-badges .ltpu-badge--fact { background: transparent; color: var(--lt-on-field); }
html.lt-app .lta-ob-badges .ltpu-badge--warn { background: #FEF3C7; border-color: #FEF3C7; color: #78350F; }
html.lt-app .lta-ob-badges .ltpu-badge-btn:focus-visible { outline-color: var(--lt-on-field); }
html.lt-app .lta-way.is-shown { margin: 0 -10px; padding-left: 10px; padding-right: 10px; border-radius: 12px; background: var(--lt-accent-soft); box-shadow: inset 0 0 0 2px var(--lt-accent); }

html.lt-app[data-skin] {
  --accent: var(--lt-button); --accent-soft: var(--lt-accent-soft); --accent-ink: var(--lt-on-button);
  --ink: var(--lt-ink); --ink-soft: var(--lt-ink-2); --ink-faint: var(--lt-muted);
  --line: var(--lt-hairline); --line-strong: var(--lt-hairline);
  --panel: var(--lt-surface); --panel-raised: var(--lt-surface);
  --good: var(--lt-ok); --warn: var(--lt-warn-ink); --stop: var(--lt-ttc);
  --good-soft: var(--lt-input); --warn-soft: var(--lt-warn-bg); --stop-soft: var(--lt-input);
  --ground-sunk: var(--lt-input);
  --shadow: none; --shadow-lift: none; --press: none;
  --font-body: var(--lt-font); --font-display: var(--lt-font);
}

html.lt-app .lta-first #ltpu-grid .ltpu-failed-retry {
  display: flex; align-items: center; justify-content: center;
  width: 100%; max-width: 420px; min-height: 56px; margin: 12px 0 0; padding: 0 20px;
  border: 0; border-radius: 16px; background: var(--lt-button); box-shadow: none;
  color: var(--lt-on-button); font: inherit; font-size: 17px; font-weight: 600; transform: none; cursor: pointer;
}
html.lt-app .lta-first #ltpu-grid .ltpu-failed-change {
  display: inline-flex; align-items: center; min-height: 44px; margin: 4px 0 0; padding: 0;
  border: 0; border-radius: 6px; background: none; box-shadow: none;
  color: var(--lt-link); font: inherit; font-size: 15px; font-weight: 600;
  text-decoration: underline; text-underline-offset: 3px; transform: none; cursor: pointer;
}
html.lt-app .lta-first #ltpu-grid .ltpu-failed-retry:focus { outline: none; }
html.lt-app .lta-first #ltpu-grid .ltpu-failed-retry:focus-visible { outline: 2px solid var(--lt-accent); outline-offset: 2px; }
html.lt-app .lta-first #ltpu-grid .ltpu-failed-change:focus { outline: none; }
html.lt-app .lta-first #ltpu-grid .ltpu-failed-change:focus-visible { outline: 2px solid var(--lt-accent); outline-offset: 2px; }

html.lt-app .lta-hero #lt-stale:not([hidden]) {
  display: block;
  margin: 20px 0 0;
  padding: 16px 18px;
  border-radius: 20px;
  border: 0;
  box-shadow: none;
  background: var(--lt-warn-bg);
  color: var(--lt-warn-ink);
  font-family: var(--lt-font);
  font-size: 17px;
  line-height: 1.4;
}
html.lt-app .lta-hero #lt-stale p { margin: 0; color: inherit; font-size: inherit; }
html.lt-app .lta-hero #lt-stale .lt-stale-head { font-weight: 700; margin-bottom: 4px; }
@media (min-width: 900px) { html.lt-app .lta-hero #lt-stale { margin-right: 28px; } }
