:root{--motion-quick:160ms;--motion-panel:220ms;--motion-enter:300ms;--motion-ease:cubic-bezier(.2,.7,.2,1)}
.journey-intro{position:relative;padding-right:150px!important;min-height:136px}.journey-intro>div:first-child{position:relative;z-index:1}.journey-art{position:absolute;right:0;top:50%;transform:translateY(-50%);width:138px;height:118px;padding:0;background:none;border:0;border-radius:20px}.journey-art .journey-svg{width:100%;height:100%;overflow:visible;fill:none}.journey-art svg{stroke:none}.journey-current{stroke-dasharray:100;stroke-dashoffset:0}.journey-play .journey-current{animation:journey-draw 1900ms var(--motion-ease) both}.journey-play .journey-object{transform-origin:65px 80px;animation:journey-arrive 750ms var(--motion-ease) both}.journey-play .journey-destination{transform-origin:112px 21px;animation:journey-arrive 450ms 1350ms var(--motion-ease) both}.favorite-real svg{width:23px;height:23px;stroke:currentColor;stroke-width:1.6;fill:none;display:block;margin:auto}.favorite-real[aria-pressed=true] svg{fill:#0066cc;stroke:#0066cc}.button,.quick-stops button,.filter-trigger,.fuel-tabs button,.nav-item{transition:background-color var(--motion-quick),color var(--motion-quick),box-shadow var(--motion-quick),transform var(--motion-quick)}.button:active,.quick-stops button:active,.filter-trigger:active{transform:scale(.97)}.real-station{transition:border-color 180ms,box-shadow 180ms}.real-station:focus-within{border-color:#95b9e3;box-shadow:0 0 0 3px #0066cc0a}.fuel-tabs .selected{box-shadow:0 2px 7px #263d5510}dialog[open]::backdrop{animation:backdrop-arrive 180ms ease-out both}
@keyframes journey-draw{from{stroke-dashoffset:100;opacity:.3}to{stroke-dashoffset:0;opacity:1}}@keyframes journey-arrive{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}@keyframes backdrop-arrive{from{background-color:transparent}to{background-color:#10101580}}
@media(max-width:760px){#catalog .journey-intro,#electric .journey-intro{padding-right:105px!important;min-height:130px!important;margin:0!important;display:flex;align-items:center}#catalog .journey-intro h1,#electric .journey-intro h1{font-size:30px;line-height:1.08;letter-spacing:-1.2px;max-width:245px}.journey-art{width:108px;height:102px;right:-5px}.journey-intro p{font-size:12px!important;max-width:210px;line-height:1.5}.journey-intro .location{display:none}}
@media(hover:hover){.journey-art:hover{background:#eaf0f780}.real-station:hover{border-color:#cddbea;box-shadow:0 4px 16px #17355705}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}.journey-current{stroke-dashoffset:0}.journey-object,.journey-destination{opacity:1}}
/* Cinematic SVG scene: arrival, stop, energy transfer, departure. */
.journey-intro{padding-right:0!important;display:grid!important;grid-template-columns:1fr minmax(300px,46%);align-items:center;gap:18px;min-height:210px}.journey-art{position:relative;inset:auto;transform:none;width:100%;height:auto;border-radius:20px;text-align:left;overflow:hidden}.journey-art .journey-svg{display:block;width:100%;height:auto}.journey-caption{display:flex;justify-content:space-between;padding:4px 14px 12px;color:#8694a4;font-size:10px;letter-spacing:.1px}.journey-control{color:#526d87}.journey-art:hover{background:transparent}.journey-car{animation:scene-drive 10s cubic-bezier(.4,0,.2,1) infinite}.journey-wheel{animation:scene-wheels 10s linear infinite}.wheel-one{transform-origin:215px 175px}.wheel-two{transform-origin:337px 175px}.journey-energy{animation:scene-energy 10s linear infinite}.journey-flow{animation:scene-flow .7s linear infinite}.journey-meter{transform-origin:445px 29px;animation:scene-meter 10s linear infinite}.journey-pin{transform-origin:484px 34px;animation:scene-check 10s ease-in-out infinite}.journey-play .journey-current,.journey-current{animation:none;stroke-dashoffset:0;stroke-dasharray:3 6}.journey-art:not(.journey-play) *,.journey-offscreen *,.journey-hidden .journey-art *{animation-play-state:paused!important}.journey-art:focus-visible{outline:3px solid #0066cc;outline-offset:3px}
@keyframes scene-drive{0%{transform:translateX(-410px);opacity:0}6%{opacity:1}28%,69%{transform:translateX(0);opacity:1}94%,100%{transform:translateX(460px);opacity:0}}
@keyframes scene-wheels{0%{transform:rotate(0)}28%,69%{transform:rotate(720deg)}94%,100%{transform:rotate(1620deg)}}
@keyframes scene-energy{0%,29%{opacity:0}35%,60%{opacity:1}66%,100%{opacity:0}}
@keyframes scene-meter{0%,34%{transform:scaleX(.04)}60%,100%{transform:scaleX(1)}}
@keyframes scene-flow{to{stroke-dashoffset:-22}}
@keyframes scene-check{0%,60%{opacity:0;transform:translateY(5px) scale(.7)}65%,73%{opacity:1;transform:translateY(0) scale(1)}79%,100%{opacity:0;transform:translateY(-4px) scale(.9)}}
@media(max-width:760px){#catalog .journey-intro,#electric .journey-intro{display:block!important;padding:18px 0 6px!important;min-height:0!important}.journey-intro>div:first-child{padding-right:0}.journey-art{width:100%;height:auto;right:auto;margin-top:4px}.journey-caption{font-size:9px;padding:0 4px 5px}#catalog .journey-intro h1,#electric .journey-intro h1{font-size:30px;max-width:none;margin-bottom:7px}.journey-intro p{max-width:none;font-size:13px!important}.journey-art .journey-svg{max-height:150px}.journey-intro{gap:0}}
@media(prefers-reduced-motion:reduce){.journey-art *{animation:none!important}.journey-car{transform:none;opacity:1}.journey-energy{opacity:.6}.journey-pin{opacity:0}.journey-meter{transform:none}}
