/* One decision at a time, using the existing theme tokens. */
.journey-choices{display:flex;gap:4px;padding:5px;border-radius:16px;background:var(--surface-2);margin:14px 0 10px}
.journey-choices button{flex:1;min-height:44px;padding:8px 4px;border-radius:12px;font-size: var(--fs-foot);font-weight:700}
.journey-choices button[aria-pressed="true"]{background:var(--surface);color:var(--accent);box-shadow:var(--shadow)}
.journey-deadline{display:flex;align-items:center;gap:8px;flex-wrap:wrap;font-size: var(--fs-sub);margin:10px 0 16px}.journey-deadline input{width:20px;height:20px;accent-color:var(--accent)}.journey-deadline small{color:var(--muted)}
.journey-status{display:flex;align-items:flex-start;gap:10px;padding:16px;border-radius:16px;background:var(--ok-soft);margin:14px 0;color:var(--text)}
.journey-status.warn{background:var(--warn-soft)}.journey-status.bad{background:var(--bad-soft)}.journey-status p{margin:5px 0;font-size: var(--fs-foot);line-height:1.5}.journey-status small{color:var(--muted);font-size: var(--fs-cap)}.journey-dot{flex:none;width:8px;height:8px;border-radius:50%;background:var(--ok);margin-top:6px}.warn .journey-dot{background:var(--warn)}.bad .journey-dot{background:var(--bad)}
.journey-hero{border:1px solid color-mix(in srgb,var(--accent) 24%,var(--line));background:linear-gradient(145deg,var(--surface),var(--accent-soft))}.journey-hero h2{margin:10px 0}.journey-hero .big{font-size: var(--fs-title);line-height:1.2}
.community-box{border:1px solid var(--line);padding:14px;border-radius:16px;margin:14px 0}.community-box p{font-size: var(--fs-foot);color:var(--muted);margin:8px 0}.community-actions{display:flex;flex-wrap:wrap;gap:8px}.community-actions button{min-height:44px;padding:8px 12px;border:1px solid var(--line);border-radius:12px;font-size: var(--fs-foot)}.community-actions button:disabled{opacity:.5}
.meet-candidate{display:block;width:100%;text-align:left;padding:14px;border:1px solid var(--line);border-radius:14px;margin:10px 0}.meet-candidate[aria-pressed="true"]{border-color:var(--accent);background:var(--accent-soft)}.meet-candidate small{display:block;color:var(--muted);margin-top:5px}.meet-members{display:grid;gap:8px;margin:14px 0}.meet-member{display:flex;justify-content:space-between;gap:12px;padding:12px;background:var(--surface-2);border-radius:12px}.meet-member small{color:var(--muted)}
/* it eases in with the card or trip it belongs to (opening a trip, a fresh card); not again on every refresh, which blinked it */
@media(prefers-reduced-motion:no-preference){.opening .journey-status,.appear .journey-status{animation:journey-in .2s ease-out}@keyframes journey-in{from{opacity:.5;transform:translateY(3px)}to{opacity:1;transform:none}}}

.meet-candidate:disabled{opacity:1;color:var(--text);cursor:default}
@media(prefers-reduced-motion:no-preference){.meet-member-in{animation:meet-in .28s cubic-bezier(.2,.8,.2,1) both}.meet-member-updated{animation:meet-update .65s ease-out both}@keyframes meet-in{from{opacity:0;transform:translateY(7px)}to{opacity:1;transform:none}}@keyframes meet-update{0%{box-shadow:0 0 0 0 color-mix(in srgb,var(--accent) 38%,transparent)}45%{box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 32%,transparent)}100%{box-shadow:0 0 0 0 transparent}}}

.crowd-feedback{display:flex;flex-wrap:wrap;gap:4px 12px;margin:-4px 0 8px}.crowd-feedback .link{font-size: var(--fs-cap)}
/* 3.9.20: "+3 similar" under an option (search.js similarHTML): the others that end on the same bus at the same time */
.opt-similar { display: block; width: 100%; text-align: left; padding: 8px 18px 12px 18px; font-size: var(--fs-detail); font-weight: 600; color: var(--accent); background: none; border: 0; }
.opt-similar-list { border-left: 3px solid var(--line, rgba(127,127,127,.25)); margin-left: 14px; }
.opt-similar-list .opt { padding-left: 14px; }
/* 3.9.20: "Trip ended · Undo" (ride.js endWithUndo), where the toast sits, for about 6 s */
.undo-toast { position: fixed; left: 16px; right: 16px; bottom: calc(var(--nav-h) + var(--safe-bot) + 14px); z-index: 30; display: flex; align-items: center; gap: 12px; padding: 10px 10px 10px 18px; border-radius: 18px; background: var(--surface); color: var(--text); box-shadow: var(--shadow), 0 8px 30px rgba(0, 0, 0, .18); animation: appear .35s var(--ease) both; max-width: 520px; margin-inline: auto; font-weight: 600; }
.undo-toast > span { flex: 1; }
.undo-toast .btn { color: var(--accent); }
.pay-tip { margin: 4px 0 8px; font-size: var(--fs-detail); }
.journey-why{margin:-4px 4px 10px;font-size: var(--fs-sub);color:var(--muted)}
.journey-status.live::before { content: none; display: none; }   /* the global .live dot made a second bullet next to .journey-dot */
