/* The suitcase and body share one crisp sprite, so the handle stays attached. */
body[data-workspace="consumer"] .map-traveler{width:86px;height:86px;max-width:none;bottom:calc(100% + 1px)}
body[data-workspace="consumer"] .minimi-hero{width:154px;height:154px}
body[data-workspace="consumer"] .minimi-header-sprite{width:40px;height:40px}
.travel-walker{position:absolute;top:0;left:0;width:90px;height:90px;z-index:8;pointer-events:none;will-change:transform;filter:drop-shadow(0 4px 1px #51425845)}
.travel-walker-sprite{width:100%;height:100%;object-fit:contain;image-rendering:pixelated;animation:suitcase-walk .32s steps(2,end) infinite}
.travel-facing-left .travel-walker-sprite{--facing:-1}
body.travel-in-motion .map-traveler{visibility:hidden}
.travel-arrival{position:fixed;bottom:24px;left:calc(50% + 100px);transform:translateX(-50%);z-index:50;max-width:calc(100vw - 30px);display:flex;align-items:center;justify-content:center;gap:12px;flex-wrap:wrap;padding:13px 18px;background:#fff8e9f5;border:3px ridge #c8baa6;border-radius:9px;box-shadow:0 5px 22px #42334a35;font:16px var(--pixel);color:#66506c;white-space:nowrap}
.travel-arrival .btn{font:13px var(--pixel)}
.travel-arrived .map-node-number{animation:city-arrival .8s ease-out}
@keyframes suitcase-walk{0%,100%{transform:translateY(0) rotate(-2deg) scaleX(var(--facing,1))}50%{transform:translateY(-5px) rotate(2deg) scaleX(var(--facing,1))}}
@keyframes city-arrival{0%{box-shadow:0 0 0 0 #f0ab67cc}100%{box-shadow:0 0 0 24px #f0ab6700}}
body.motion-paused .travel-walker-sprite,body.motion-paused .travel-arrived .map-node-number{animation:none}
@media(prefers-reduced-motion:reduce){.travel-walker-sprite,.travel-arrived .map-node-number{animation:none}}
@media(max-width:600px){body[data-workspace="consumer"] .map-traveler{width:74px;height:74px}.travel-walker{width:78px;height:78px}.travel-arrival{gap:9px;font-size:14px}.travel-arrival .btn{font-size:12px}}
@media(max-width:900px){.travel-arrival{left:50%;width:max-content;bottom:16px;padding:10px 13px}}
