:root{--ease-premium:cubic-bezier(.16,1,.3,1);--ease-overshoot:cubic-bezier(.34,1.56,.64,1);--duration-fluid:.6s;--duration-interface:.24s;--duration-tooltip:.18s;--motion-distance:16px;--motion-scale:.97}
.motion-reveal{opacity:1}
.motion-tooltip-anchor{position:absolute;left:0;top:8px;width:min(185px,calc(100% - 8px));z-index:3;pointer-events:none;transform:translate3d(var(--tooltip-x,0px),0,0)}
.motion-tooltip-anchor .chart-tooltip{position:relative;left:auto;top:auto;width:100%;box-sizing:border-box;visibility:hidden;opacity:0}
.motion-tooltip-anchor.is-visible .chart-tooltip{visibility:visible;opacity:1}
.map-viewport{transform-origin:0 0;transform-box:view-box}.worldmap{overflow:hidden}
.workflow-progress span{width:100%;transform-origin:left center;transform:scaleX(var(--workflow-progress,.2))}
.motion-reveal:focus-within{opacity:1!important;transform:none!important}
.workflow-step.active{transform:none}
@media(prefers-reduced-motion:no-preference){
 html{scroll-behavior:smooth}
 .motion-reveal{transition:opacity var(--duration-fluid) var(--ease-premium),transform var(--duration-fluid) var(--ease-premium);transition-delay:var(--motion-delay,0s)}
 .motion-reveal.is-armed:not(.is-visible){opacity:0;transform:translate3d(0,var(--motion-distance),0) scale(var(--motion-scale))}
 .motion-reveal.is-visible{opacity:1;transform:translate3d(0,0,0) scale(1)}
 .motion-reveal.is-armed.is-visible:not(.is-complete){will-change:transform,opacity}
 .motion-reveal:focus-within{transition:none}
 .motion-control{transition:transform var(--duration-interface) var(--ease-premium)}
 .motion-control:active{transform:translate3d(0,1px,0) scale(.985)}
 .motion-tooltip-anchor.is-visible{will-change:transform,opacity}
 .motion-tooltip-anchor .chart-tooltip{transform:translate3d(0,5px,0) scale(.98);transform-origin:top left;transition:opacity var(--duration-tooltip) var(--ease-premium),transform var(--duration-tooltip) var(--ease-premium)}
 .motion-tooltip-anchor.is-visible .chart-tooltip{transform:translate3d(0,0,0) scale(1)}
 .map-viewport,.map-location{transition:transform var(--duration-fluid) var(--ease-premium)}
 .map-viewport.is-moving{will-change:transform,opacity}
 .map-motion-off .map-viewport,.map-motion-off .map-location{transition:none}
 .workflow-progress span{transition:transform var(--duration-fluid) var(--ease-premium)}
 .workflow-step{transition:transform var(--duration-interface) var(--ease-premium)}
 .workflow-step.active{transform:translate3d(0,-4px,0)}
 .worldmap .map-pulse{animation:premium-map-pulse 3.5s var(--ease-premium) infinite;transform-box:fill-box;transform-origin:center}
 .worldmap .map-location:nth-child(2n) .map-pulse{animation-delay:-1.6s}
 .map-motion-off .map-pulse{animation:none;opacity:0}
 .motion-panel.is-entering{animation:premium-panel-enter var(--duration-fluid) var(--ease-premium) both;will-change:transform,opacity}
 .map-motion-off .motion-panel{animation:none}
 .scenes-running .industrial-scene:not([hidden])>svg,.market-voyage.is-running svg{will-change:transform,opacity}
 @keyframes premium-map-pulse{0%{transform:scale(.85);opacity:.65}75%,100%{transform:scale(2.2);opacity:0}}
 @keyframes premium-panel-enter{from{opacity:.25;transform:translate3d(0,10px,0) scale(.985)}to{opacity:1;transform:translate3d(0,0,0) scale(1)}}
}
@media(prefers-reduced-motion:no-preference) and (hover:hover) and (pointer:fine){.motion-control:hover{transform:translate3d(0,-1px,0)}}
@media(max-width:600px){.motion-tooltip-anchor{width:min(160px,calc(100% - 8px))}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.motion-reveal{opacity:1;transform:none}.map-pulse{opacity:0}}
