:root{--journey-ease:cubic-bezier(.2,.7,.2,1)}
@keyframes journey-enter{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}
@keyframes journey-drive{0%,100%{transform:translateX(-22px)}50%{transform:translateX(22px)}}
@keyframes journey-road{to{background-position:-48px 0}}
.journey-road{position:relative;width:180px;height:74px;margin:0 auto 18px;color:#079fe1;overflow:hidden}
.journey-road svg{position:absolute;width:90px;left:45px;bottom:10px;animation:none}
.journey-road:after{content:"";position:absolute;bottom:5px;height:3px;left:0;right:0;background:var(--soft);animation:none}
.page-header,.welcome-banner,.hero,.auth-card,.welcome-journey,.support-window,.modal{animation:none}
.btn,.vehicle-card,.nav-link,.support-options button{transition:background-color .18s,box-shadow .18s,transform .18s var(--journey-ease)}
.btn:active,.support-options button:active{transform:scale(.98)}
@media(hover:hover){.vehicle-card:hover{transform:none}}
.support-options{display:grid;gap:8px;margin:12px 0}.support-options button{text-align:left;border:1px solid #94cadc;background:var(--soft);color:#12465f;border-radius:12px;padding:12px;cursor:pointer;font:inherit;min-height:44px}.support-options button:disabled{opacity:.5;cursor:wait}
.support-options.categories{grid-template-columns:repeat(2,minmax(0,1fr))}.support-options.categories button{font-size:13px}
.welcome-journey{border:1px solid #8bcbdc;background:var(--soft)}
.welcome-journey summary{cursor:pointer;font-weight:750;font-size:1.15rem;min-height:44px}.welcome-journey summary span{font-size:.8rem;margin-left:12px;color:#286174}
.journey-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin:20px 0}.journey-steps a{display:flex;gap:12px;padding:16px;border-radius:12px;background:var(--surface);color:#163c50;text-decoration:none;align-items:center}.journey-steps b{font-size:1.4rem;color:#007fac}.journey-steps small{display:block;margin-top:6px;font-weight:400;line-height:1.4}
@media(max-width:700px){.journey-steps{grid-template-columns:1fr}}
.obd-tour{border:1px solid var(--border,#9cc9dc);border-radius:12px;background:var(--white,#fff);color:var(--ink,#152c4b);width:min(540px,calc(100vw - 24px));max-height:92dvh;padding:0;overflow:auto;box-shadow:none}.obd-tour::backdrop{background:#071c39a8;backdrop-filter:none}.tour-shell{padding:24px}.tour-shell progress{width:100%;height:8px;accent-color:#0876cf;margin:12px 0}.tour-shell h2{font-size:1.75rem;margin:14px 0}.tour-bubble{background:#0876cf12;border:1px solid #0876cf35;border-radius:12px;padding:18px;line-height:1.65}.tour-example{padding:16px;background:#1fbea512;border-radius:12px;margin:16px 0}.tour-example summary{cursor:pointer;min-height:44px;display:flex;align-items:center;font-weight:700}.tour-shell footer{display:flex;justify-content:space-between;gap:12px;margin-top:20px}.tour-shell footer .btn:last-child{flex:1}.tour-mascot{width:76px;height:66px;position:relative;border-radius:12px;background:var(--soft);display:grid;place-items:center;margin:16px 0;color:#72ffe0;font-size:24px;box-shadow:none;animation:none}.tour-mascot span{background:#133b53;border-radius:12px;padding:3px 10px;font-size:18px}.tour-mascot i{position:absolute;bottom:4px;font-style:normal}.tour-mode{display:grid;gap:12px;margin:16px 0}.tour-mode button{font:inherit;color:inherit;text-align:left;border:1px solid #8daebf;border-radius:12px;background:transparent;padding:16px;min-height:68px;cursor:pointer}.tour-mode button[aria-pressed=true]{border:2px solid #0876cf;background:#0876cf12}.tour-mode small{display:block;margin-top:8px;line-height:1.5}.tour-error{color:#b32338}@keyframes tour-hop{50%{transform:translateY(-7px) rotate(3deg)}}
.obd-tour{overflow:hidden}.tour-shell{display:flex;flex-direction:column;max-height:92dvh}.tour-content{overflow:auto;min-height:0;padding:0 3px;overscroll-behavior:contain}.tour-shell>progress,.tour-shell>footer,.tour-shell>.row{flex-shrink:0}.tour-shell footer{margin-top:12px}.tour-shell>progress{margin:12px 0 4px}
@media(max-width:480px){.tour-shell{padding:18px}.tour-shell h2{font-size:1.45rem}.tour-bubble{padding:14px}.tour-shell>.row small{font-size:12px}.tour-mascot{margin:12px 0;width:64px;height:56px}}
@media(prefers-reduced-motion:reduce){:root *,:root *::before,:root *::after{animation:none;transition:none!important;scroll-behavior:auto!important}}
