/* v54 — dedicated resizable rail journey panel; the compact card stays short. */
.map-shell > #journeyTimelinePanel.journey-timeline-panel {
  position:absolute;z-index:750;left:16px;top:16px;bottom:auto;
  display:flex;flex-direction:column;width:min(380px,calc(100% - 32px));
  max-width:calc(100% - 32px);height:var(--st-journey-custom-height,calc(100% - 32px));
  max-height:calc(100% - 32px);min-height:min(250px,calc(100% - 32px));overflow:hidden;
  background:var(--st-ui-surface,#fff);color:var(--st-ui-text,#283f37);
  border:1px solid var(--st-ui-border,#e1ebe6);border-radius:20px;
  box-shadow:0 20px 60px #0a292f34;isolation:isolate;
  animation:st-journey-appear .23s cubic-bezier(.22,1,.36,1) both;
  transition:height .2s cubic-bezier(.22,1,.36,1);
}
.map-shell > #journeyTimelinePanel[hidden]{display:none!important}
.app.st-journey-open #selectedRoutePanel{display:none!important}
.st-journey-drag-wrap{display:none}
.st-journey-resize-foot{display:flex;justify-content:center;flex:none;padding:1px 0 5px;border-top:1px solid var(--st-ui-border,#e3ece7)}
.st-journey-resize-handle{width:110px;height:17px;border:0;border-radius:9px;background:transparent;display:grid;place-items:center;cursor:ns-resize;touch-action:none;user-select:none}
.st-journey-resize-handle span{width:38px;height:4px;border-radius:99px;background:#a9c0b5}
.st-journey-resize-handle:hover span,.st-journey-grab:hover span{background:#3b9675}
.st-journey-resizing{transition:none!important;user-select:none}
.st-journey-head{display:flex;gap:12px;justify-content:space-between;align-items:flex-start;padding:16px 17px 12px;border-bottom:1px solid var(--st-ui-border,#e3ece7)}
.st-journey-head-copy{min-width:0;flex:1}.st-journey-kicker{display:block;font-size:9px;font-weight:850;letter-spacing:.12em;color:var(--st-ui-muted,#618078)}
.st-journey-head h2{margin:4px 0 3px;font-size:18px;line-height:1.2;letter-spacing:-.4px}
.st-journey-head p{margin:0;color:var(--st-ui-muted,#658077);font-size:11px;line-height:1.4;overflow-wrap:anywhere}
.st-journey-close{width:35px;height:35px;min-width:35px;border:1px solid var(--st-ui-border,#d8e5de);border-radius:11px;background:var(--st-ui-surface,#fff);color:var(--st-ui-text,#264539);font-size:22px;line-height:1}
.st-journey-scroll{overflow:auto;min-height:0;flex:1;padding:14px 16px 16px;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#bacdc5 transparent}
.st-journey-topline{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:8px;margin-bottom:11px}
.st-journey-badge{padding:5px 8px;border-radius:999px;background:#fff3d9;color:#97600d;border:1px solid #f0dbad;font-size:10px;font-weight:800}
.st-journey-trip{font-size:10px;color:var(--st-ui-muted,#628075);font-weight:700}
.st-journey-hero{display:flex;flex-direction:column;gap:5px;padding:15px;border:1px solid #d8e9e0;border-radius:15px;background:linear-gradient(125deg,#f1faf6,#eaf6f2)}
.st-journey-eyebrow{font-size:10px;letter-spacing:.04em;text-transform:uppercase;font-weight:850;color:#4e8270}
.st-journey-hero>strong{font-size:18px;line-height:1.25;color:#174c38;overflow-wrap:anywhere}
.st-journey-eta{display:flex;align-items:baseline;flex-wrap:wrap;gap:6px;margin:3px 0 2px}
.st-journey-eta span{font-size:20px;font-weight:850;letter-spacing:-.55px;color:#146c57;font-variant-numeric:tabular-nums}
.st-journey-eta small{color:#537268;font-size:10px;font-weight:700}
.st-journey-meter{height:7px;border-radius:30px;background:#c9e0d4;overflow:hidden;margin-top:5px}
.st-journey-meter span{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#239e71,#096b50);transition:width .6s ease}
.st-journey-counter{font-size:10px;color:#50796a;margin-top:2px}
.st-journey-list-head{display:flex;justify-content:space-between;align-items:center;gap:8px;margin:18px 0 7px}
.st-journey-list-head h3{font-size:12px;margin:0;font-weight:850}
.st-journey-list-head button{border:0;background:transparent;color:#117251;font-weight:800;font-size:11px;padding:6px;cursor:pointer}
.st-journey-list{list-style:none;padding:0 0 0 5px;margin:0}
.st-journey-stop{position:relative;padding:0 0 0 0;margin:0}
.st-journey-stop:not(:last-child)::before{content:"";position:absolute;top:24px;bottom:-9px;left:12px;width:2px;background:var(--st-ui-border,#dde7e2);pointer-events:none}
.st-journey-stop.passed:not(:last-child)::before{background:#7cbfa0}
.st-journey-stop-action{display:flex;align-items:center;gap:11px;text-align:left;width:100%;padding:9px 3px 9px 0;min-height:53px;border:0;border-radius:11px;background:transparent;color:inherit;cursor:pointer}
.st-journey-stop-action:hover{background:var(--st-ui-soft,#eef6f2)}
.st-journey-stop-action:focus-visible,.st-journey-close:focus-visible,.st-journey-actions button:focus-visible,.st-journey-grab:focus-visible,.st-journey-resize-handle:focus-visible{outline:3px solid #7ec6a7;outline-offset:2px}
.st-journey-node{position:relative;z-index:1;display:grid;place-items:center;flex:none;width:26px;height:26px;border-radius:50%;border:2px solid #d8e1dc;color:#8e9d94;font-size:13px;font-weight:900;background:var(--st-ui-surface,#fff)}
.st-journey-stop.passed .st-journey-node{background:#e4f5ea;color:#168a57;border-color:#70bb92}
.st-journey-stop.next .st-journey-node{background:#dcecff;color:#1768bf;border-color:#6faaf1;box-shadow:0 0 0 4px #bddcff7a}
.st-journey-stop-copy{display:flex;flex:1;flex-direction:column;gap:3px;min-width:0}
.st-journey-stop-copy strong{font-size:12px;font-weight:800;line-height:1.3;overflow-wrap:anywhere}
.st-journey-stop-copy small{font-size:9.5px;line-height:1.3;color:var(--st-ui-muted,#7a8a81)}
.st-journey-stop.passed .st-journey-stop-copy small{color:#287b59}
.st-journey-stop.next .st-journey-stop-copy strong{color:#116db9}
.st-journey-stop-time{font-size:11px;font-weight:800;font-variant-numeric:tabular-nums;flex:none;color:var(--st-ui-text,#425a4e)}
.st-journey-stop.next .st-journey-stop-time{color:#116db9}
.st-journey-collapsed{list-style:none;margin:4px 0 8px}
.st-journey-collapsed button{width:100%;padding:10px;border:1px dashed #b1d7c1;border-radius:10px;background:#f1faf4;color:#297451;text-align:left;font-size:10px;font-weight:750}
.st-journey-actions{display:flex;gap:8px;margin-top:15px}
.st-journey-actions button{flex:1;min-width:0;min-height:39px;padding:8px 5px;border-radius:10px;border:1px solid var(--st-ui-border,#cbded3);background:var(--st-ui-surface,#fff);color:var(--st-ui-text,#2a5e49);font-size:10px;font-weight:850;cursor:pointer}
.st-journey-actions button[aria-pressed="true"]{background:#e9f8f0;color:#176e4e;border-color:#9dcdb7}
.st-journey-actions button:disabled{opacity:.48;cursor:not-allowed}
.st-journey-source{margin:14px 0 0;padding:10px;background:var(--st-ui-soft,#f4f8f6);border-radius:11px;color:var(--st-ui-muted,#65776b);font-size:10px;line-height:1.5}
.st-journey-hint{margin:9px 0 0;font-size:10px;color:var(--st-ui-muted,#61786c);line-height:1.4}
.route-focus-compact .route-compact-journey{background:color-mix(in srgb,var(--route-accent,#146c57) 9%,var(--st-ui-surface,#fff))!important}
.st-journey-popup-action{display:block;margin:7px auto 3px;padding:8px 11px;width:calc(100% - 12px);border:1px solid #aed5be;border-radius:10px;background:#ecf8f1;color:#176a50;font-size:11px;font-weight:850;cursor:pointer}
.st-journey-popup-action:hover{background:#dff3e7}
:root[data-theme="dark"] .st-journey-hero{background:linear-gradient(125deg,#153c31,#173b37);border-color:#316253}
:root[data-theme="dark"] .st-journey-hero>strong,:root[data-theme="dark"] .st-journey-eta span{color:#b2f4d8}
:root[data-theme="dark"] .st-journey-eyebrow,:root[data-theme="dark"] .st-journey-eta small,:root[data-theme="dark"] .st-journey-counter{color:#b5d6c9}
:root[data-theme="dark"] .st-journey-badge{background:#4b381c;color:#ffe0a0;border-color:#886d38}
:root[data-theme="dark"] .st-journey-stop.passed .st-journey-node{background:#174b38;color:#b1eeca;border-color:#2c9967}
:root[data-theme="dark"] .st-journey-stop.next .st-journey-node{background:#193e64;color:#d8efff;border-color:#4d92d6}
:root[data-theme="dark"] .st-journey-stop.next .st-journey-stop-copy strong,:root[data-theme="dark"] .st-journey-stop.next .st-journey-stop-time{color:#9ed0ff}
:root[data-theme="dark"] .st-journey-collapsed button,:root[data-theme="dark"] .st-journey-actions button[aria-pressed="true"]{background:#194332;color:#b3f0d2;border-color:#376f55}
@keyframes st-journey-appear{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}
@media(min-width:821px){
  /* The timeline owns the map workspace; do not leave a blank navigation column. */
  .app.st-journey-open{grid-template-columns:minmax(0,1fr)}
  .app.st-journey-open>.sidebar{display:none}
  .app.st-journey-open>.map-shell{grid-column:1;min-width:0}
}
@media(max-width:820px){
  .map-shell > #journeyTimelinePanel.journey-timeline-panel{top:auto;left:8px;bottom:calc(88px + env(safe-area-inset-bottom,0px));width:calc(100% - 16px);max-width:calc(100% - 16px);height:var(--st-journey-custom-height,min(44dvh,370px));max-height:calc(100% - 125px);min-height:min(198px,calc(100% - 125px));border-radius:21px;transition:height .25s cubic-bezier(.22,1,.36,1)}
  .map-shell > #journeyTimelinePanel.journey-timeline-panel[data-expanded="true"]{height:var(--st-journey-custom-height,min(76dvh,680px))}
  .st-journey-drag-wrap{display:flex;justify-content:center;margin-top:3px}
  .st-journey-grab{width:76px;height:23px;border:0;background:transparent;display:grid;place-items:center;cursor:ns-resize;touch-action:none;user-select:none}
  .st-journey-grab span{width:34px;height:4px;border-radius:99px;background:#b9cac2}
  .st-journey-resize-foot{display:none}
  .st-journey-head{padding:5px 15px 10px}
  .st-journey-head h2{font-size:15px}
  .st-journey-scroll{padding:11px 14px 16px}
  .st-journey-hero{padding:11px 12px}
  .st-journey-hero>strong{font-size:16px}
  .st-journey-eta span{font-size:18px}
}
@media(max-width:390px){.route-focus-compact .route-compact-actions{gap:3px}.route-focus-compact .route-compact-actions button{padding:0 5px;font-size:9px}}
@media(prefers-reduced-motion:reduce){.map-shell > #journeyTimelinePanel.journey-timeline-panel,.st-journey-meter span{animation:none!important;transition:none!important}}
