/* Authored SVG stories share one timeline per scene and never own controls. */
.mw-story77{--story77-duration:16s;--story77-calm-duration:32s;position:relative;isolation:isolate;display:block;width:100%;max-width:1100px;height:210px;margin:0 auto 24px;overflow:hidden;border:1px solid #3b5032;border-radius:14px;background:linear-gradient(110deg,#101a14,#14231a 56%,#0b120e);pointer-events:none;user-select:none;contain:paint}
.mw-story77--workshop{--story77-duration:18s;--story77-calm-duration:36s}.mw-story77--racer{--story77-duration:20s;--story77-calm-duration:40s}
.mw-story77 .mw-story77-art{display:block;width:100%;height:100%;overflow:hidden}
.mw-story77 [data-motion]{animation:var(--story77-animation) var(--story77-duration) cubic-bezier(.4,0,.25,1) infinite both!important;animation-play-state:paused!important;transform-box:view-box}
.mw-story77[data-moving="true"] [data-motion]{animation-play-state:running!important}
.mw-story77[data-calm="true"] [data-motion]{animation-name:var(--story77-calm)!important;animation-duration:var(--story77-calm-duration)!important}
.mw-story77-guardian{--story77-animation:mw-story77-guardian;--story77-calm:mw-story77-calm-guardian;transform-origin:312px 187px}
.mw-story77-guardian-arm{--story77-animation:mw-story77-guardian-arm;--story77-calm:mw-story77-calm-guardian-arm;transform-origin:315px 113px}
.mw-story77-guardian-backfoot{--story77-animation:mw-story77-guardian-backfoot;--story77-calm:mw-story77-calm-foot;transform-origin:309px 147px}
.mw-story77-guardian-frontfoot{--story77-animation:mw-story77-guardian-frontfoot;--story77-calm:mw-story77-calm-foot;transform-origin:319px 147px}
.mw-story77-alien{--story77-animation:mw-story77-alien;--story77-calm:mw-story77-calm-alien;transform-origin:498px 188px}
.mw-story77-alien-arm{--story77-animation:mw-story77-alien-arm;--story77-calm:mw-story77-calm-alien-arm;transform-origin:487px 113px}
.mw-story77-alien-foot{--story77-animation:mw-story77-alien-foot;--story77-calm:mw-story77-calm-foot;transform-origin:499px 149px}
.mw-story77-contact{--story77-animation:mw-story77-contact;--story77-calm:mw-story77-calm-contact;transform-origin:419px 68px;opacity:0}
@keyframes mw-story77-guardian{0%,15%,100%{transform:translate(0,0) rotate(0)}32%{transform:translate(7px,0) rotate(1deg)}44%,50%{transform:translate(12px,-1px) rotate(1deg)}57%{transform:translate(6px,0) rotate(-1deg)}76%{transform:translate(0,0) rotate(0)}}
@keyframes mw-story77-guardian-arm{0%,18%,100%{transform:rotate(-8deg)}33%{transform:rotate(-12deg)}44%,49%{transform:rotate(12deg)}58%{transform:rotate(-3deg)}77%{transform:rotate(-8deg)}}
@keyframes mw-story77-guardian-backfoot{0%,18%,43%,100%{transform:rotate(0)}30%{transform:rotate(-7deg)}57%{transform:rotate(3deg)}77%{transform:rotate(0)}}
@keyframes mw-story77-guardian-frontfoot{0%,20%,100%{transform:translateX(0) rotate(0)}34%,51%{transform:translateX(5px) rotate(-3deg)}65%{transform:translateX(2px) rotate(1deg)}78%{transform:translateX(0) rotate(0)}}
@keyframes mw-story77-alien{0%,21%,100%{transform:translate(0,0) rotate(0)}39%{transform:translate(-4px,0) rotate(-1deg)}44%,50%{transform:translate(-10px,0) rotate(-1deg)}58%{transform:translate(-4px,0) rotate(1deg)}77%{transform:translate(0,0) rotate(0)}}
@keyframes mw-story77-alien-arm{0%,23%,100%{transform:rotate(5deg)}36%{transform:rotate(9deg)}44%,49%{transform:rotate(-10deg)}57%{transform:rotate(0)}78%{transform:rotate(5deg)}}
@keyframes mw-story77-alien-foot{0%,25%,100%{transform:translateX(0) rotate(0)}41%,51%{transform:translateX(-4px) rotate(4deg)}70%{transform:translateX(0) rotate(0)}}
@keyframes mw-story77-contact{0%,43%,51%,100%{opacity:0;transform:scale(.7)}46%,48%{opacity:.8;transform:scale(1)}}
@keyframes mw-story77-calm-guardian{0%,18%,100%{transform:translate(0,0)}44%,51%{transform:translate(3px,0)}77%{transform:translate(0,0)}}
@keyframes mw-story77-calm-guardian-arm{0%,18%,100%{transform:rotate(-3deg)}44%,49%{transform:rotate(3deg)}77%{transform:rotate(-3deg)}}
@keyframes mw-story77-calm-alien{0%,23%,100%{transform:translate(0,0)}44%,51%{transform:translate(-2px,0)}78%{transform:translate(0,0)}}
@keyframes mw-story77-calm-alien-arm{0%,23%,100%{transform:rotate(2deg)}44%,49%{transform:rotate(-2deg)}78%{transform:rotate(2deg)}}
@keyframes mw-story77-calm-foot{0%,100%{transform:translateX(0)}44%,51%{transform:translateX(1px)}}
@keyframes mw-story77-calm-contact{0%,43%,53%,100%{opacity:0}46%,49%{opacity:.18}}
.mw-story77-mechanic{--story77-animation:mw-story77-mechanic;--story77-calm:mw-story77-calm-mechanic;transform-origin:308px 199px}
.mw-story77-mechanic-arm{--story77-animation:mw-story77-mechanic-arm;--story77-calm:mw-story77-calm-mechanic-arm;transform-origin:331px 119px}
.mw-story77-droid{--story77-animation:mw-story77-droid;--story77-calm:mw-story77-calm-droid;transform-origin:462px 199px}
.mw-story77-droid-head{--story77-animation:mw-story77-droid-head;--story77-calm:mw-story77-calm-droid-head;transform-origin:461px 122px}
.mw-story77-droid-status{--story77-animation:mw-story77-droid-status;--story77-calm:mw-story77-calm-status;opacity:.25}
.mw-story77-weld{--story77-animation:mw-story77-weld;--story77-calm:mw-story77-calm-weld;opacity:0}
.mw-story77-shuttle{--story77-animation:mw-story77-shuttle;--story77-calm:mw-story77-calm-shuttle;transform-origin:659px 151px}
.mw-story77-engine{--story77-animation:mw-story77-engine;--story77-calm:mw-story77-calm-engine;opacity:0}
@keyframes mw-story77-mechanic{0%,12%,100%{transform:rotate(0)}25%,43%{transform:rotate(1.4deg)}52%,90%{transform:rotate(-.5deg)}}
@keyframes mw-story77-mechanic-arm{0%,12%,100%{transform:rotate(-5deg)}26%,43%{transform:rotate(0)}52%,92%{transform:rotate(-6deg)}}
@keyframes mw-story77-droid{0%,44%,100%{transform:translateY(0)}53%{transform:translateY(-2px)}61%,93%{transform:translateY(0)}}
@keyframes mw-story77-droid-head{0%,17%,100%{transform:rotate(0)}30%,43%{transform:rotate(-4deg)}53%,64%{transform:rotate(4deg)}81%,94%{transform:rotate(0)}}
@keyframes mw-story77-droid-status{0%,24%,100%{opacity:.25}43%{opacity:.45}51%,91%{opacity:.8}}
@keyframes mw-story77-weld{0%,29%,45%,100%{opacity:0}34%,40%{opacity:.78}}
@keyframes mw-story77-shuttle{0%,57%,100%{transform:translate(0,0) rotate(0)}66%{transform:translate(2px,-5px) rotate(-1deg)}78%{transform:translate(18px,-23px) rotate(-3deg)}86%{transform:translate(8px,-29px) rotate(1deg)}96%{transform:translate(0,-2px) rotate(0)}}
@keyframes mw-story77-engine{0%,52%,100%{opacity:0}61%{opacity:.35}71%,86%{opacity:.7}96%{opacity:.25}}
@keyframes mw-story77-calm-mechanic{0%,12%,100%{transform:rotate(0)}25%,43%{transform:rotate(.35deg)}52%,90%{transform:rotate(0)}}
@keyframes mw-story77-calm-mechanic-arm{0%,12%,100%{transform:rotate(-1.5deg)}26%,43%{transform:rotate(0)}52%,92%{transform:rotate(-1.5deg)}}
@keyframes mw-story77-calm-droid{0%,44%,100%{transform:translateY(0)}53%{transform:translateY(-.6px)}61%,93%{transform:translateY(0)}}
@keyframes mw-story77-calm-droid-head{0%,17%,100%{transform:rotate(0)}30%,43%{transform:rotate(-1deg)}53%,64%{transform:rotate(1deg)}81%,94%{transform:rotate(0)}}
@keyframes mw-story77-calm-status{0%,24%,100%{opacity:.3}51%,91%{opacity:.5}}
@keyframes mw-story77-calm-weld{0%,29%,45%,100%{opacity:0}34%,40%{opacity:.18}}
@keyframes mw-story77-calm-shuttle{0%,57%,100%{transform:translateY(0)}78%{transform:translateY(-4px)}86%{transform:translateY(-5px)}96%{transform:translateY(-1px)}}
@keyframes mw-story77-calm-engine{0%,52%,100%{opacity:0}61%{opacity:.2}71%,86%{opacity:.3}96%{opacity:.15}}
.mw-story77-racer{--story77-animation:mw-story77-racer;--story77-calm:mw-story77-calm-racer;transform-origin:391px 121px}
.mw-story77-racer-exhaust{--story77-animation:mw-story77-racer-exhaust;--story77-calm:mw-story77-calm-exhaust;transform-origin:314px 121px}
.mw-story77-planet{--story77-animation:mw-story77-planet;--story77-calm:mw-story77-calm-planet;transform-origin:620px 107px}
.mw-story77-speed{--story77-animation:mw-story77-speed;--story77-calm:mw-story77-calm-speed}
.mw-story77-meteor-one{--story77-animation:mw-story77-meteor-one;--story77-calm:mw-story77-calm-meteor-one}
.mw-story77-meteor-two{--story77-animation:mw-story77-meteor-two;--story77-calm:mw-story77-calm-meteor-two}
.mw-story77-trail{--story77-animation:mw-story77-trail;--story77-calm:mw-story77-calm-trail}
@keyframes mw-story77-racer{0%,100%{transform:translate(0,3px) rotate(0)}20%{transform:translate(9px,0) rotate(-1deg)}40%{transform:translate(26px,-8px) rotate(-3deg)}55%{transform:translate(38px,-5px) rotate(1deg)}74%{transform:translate(22px,4px) rotate(2deg)}90%{transform:translate(6px,4px) rotate(0)}}
@keyframes mw-story77-racer-exhaust{0%,100%{opacity:.55;transform:scaleX(.82)}24%,55%{opacity:.82;transform:scaleX(1)}75%{opacity:.65;transform:scaleX(.9)}}
@keyframes mw-story77-planet{0%,100%{transform:translateX(0)}55%{transform:translateX(-25px)}85%{transform:translateX(-8px)}}
@keyframes mw-story77-speed{0%,100%{transform:translateX(0);opacity:.22}45%{transform:translateX(-42px);opacity:.42}72%{transform:translateX(-18px);opacity:.28}}
@keyframes mw-story77-meteor-one{0%,9%,100%{transform:translate(0,0);opacity:.6}24%{transform:translate(-31px,3px);opacity:.85}50%{transform:translate(-107px,15px);opacity:.7}63%,80%{transform:translate(-128px,20px);opacity:0}90%{transform:translate(0,0);opacity:0}}
@keyframes mw-story77-meteor-two{0%,23%,100%{transform:translate(0,0);opacity:.4}40%{transform:translate(-29px,-3px);opacity:.75}66%{transform:translate(-100px,-13px);opacity:.7}79%,87%{transform:translate(-127px,-18px);opacity:0}94%{transform:translate(0,0);opacity:0}}
@keyframes mw-story77-trail{0%,100%{transform:translateX(0);opacity:.2}30%,58%{transform:translateX(-23px);opacity:.45}78%{transform:translateX(-9px);opacity:.3}}
@keyframes mw-story77-calm-racer{0%,100%{transform:translate(0,1px)}40%{transform:translate(6px,-1px)}55%{transform:translate(8px,0)}74%{transform:translate(4px,1px)}}
@keyframes mw-story77-calm-exhaust{0%,100%{opacity:.5;transform:scaleX(.94)}24%,55%{opacity:.65;transform:scaleX(1)}75%{opacity:.55;transform:scaleX(.97)}}
@keyframes mw-story77-calm-planet{0%,100%{transform:translateX(0)}55%{transform:translateX(-5px)}85%{transform:translateX(-2px)}}
@keyframes mw-story77-calm-speed{0%,100%{transform:translateX(0);opacity:.2}45%{transform:translateX(-8px);opacity:.28}72%{transform:translateX(-3px);opacity:.23}}
@keyframes mw-story77-calm-meteor-one{0%,9%,100%{transform:translate(0,0);opacity:.55}50%{transform:translate(-20px,3px);opacity:.7}80%{transform:translate(-8px,1px);opacity:.6}}
@keyframes mw-story77-calm-meteor-two{0%,23%,100%{transform:translate(0,0);opacity:.45}66%{transform:translate(-18px,-2px);opacity:.6}87%{transform:translate(-7px,-1px);opacity:.5}}
@keyframes mw-story77-calm-trail{0%,100%{transform:translateX(0);opacity:.2}30%,58%{transform:translateX(-5px);opacity:.3}78%{transform:translateX(-2px);opacity:.25}}
@media(max-width:650px){.mw-story77{height:180px;margin-bottom:20px;border-radius:12px}.mw-story77 .mw-story77-art{width:110%;max-width:none;margin-left:-5%}}
@media(max-width:420px){.mw-story77{height:150px;margin-bottom:18px}.mw-story77 .mw-story77-art{width:140%;margin-left:-20%}}
@media(prefers-reduced-motion:reduce){.mw-story77 [data-motion]{animation-name:var(--story77-calm)!important;animation-duration:var(--story77-calm-duration)!important}}
@media print{.mw-story77{display:none!important}}
/* Distinct vignettes, one observed container and no overlapping controls. */
.mw-story77--constellation91{display:flex;flex-direction:column;height:auto;gap:0}
.mw-story77--constellation91>.mw-story77-art{flex:none;height:210px}
.mw-story91-sky,.mw-story91-station{flex:none;width:100%;overflow:hidden;contain:paint;pointer-events:none}
.mw-story91-sky{order:-1;height:68px;border-bottom:1px solid #31452e}
.mw-story91-station{height:58px;border-top:1px solid #31452e}
.mw-story91-sky>svg,.mw-story91-station>svg{display:block;width:100%;height:100%}
.mw-story77-courier{--story77-animation:mw-story77-courier;--story77-calm:mw-story77-calm-courier;transform-origin:369px 41px}
.mw-story77-courier-comet{--story77-animation:mw-story77-courier-comet;--story77-calm:mw-story77-calm-courier-comet;transform-origin:638px 14px}
.mw-story77-beacon{--story77-animation:mw-story77-beacon;--story77-calm:mw-story77-calm-beacon;transform-origin:420px 60px}
.mw-story77-beacon-signal{--story77-animation:mw-story77-beacon-signal;--story77-calm:mw-story77-calm-beacon-signal;transform-origin:420px 20px}
.mw-story77-beacon-stars{--story77-animation:mw-story77-beacon-stars;--story77-calm:mw-story77-calm-beacon-stars;transform-origin:420px 32px}
@keyframes mw-story77-courier{0%,100%{transform:translate(-168px,9px) rotate(-2deg)}34%{transform:translate(-44px,-7px) rotate(1deg)}68%{transform:translate(181px,7px) rotate(3deg)}84%{transform:translate(255px,13px) rotate(1deg)}92%{transform:translate(31px,0) rotate(-2deg)}}
@keyframes mw-story77-courier-comet{0%,18%,73%,100%{opacity:0;transform:translate(0,0)}27%{opacity:.7;transform:translate(-32px,6px)}55%{opacity:.45;transform:translate(-250px,39px)}64%{opacity:0;transform:translate(-310px,48px)}}
@keyframes mw-story77-beacon{0%,100%{opacity:.72}37%,52%{opacity:1}78%{opacity:.8}}
@keyframes mw-story77-beacon-signal{0%,100%{opacity:.12;transform:scale(.72)}22%{opacity:.52;transform:scale(1)}54%{opacity:0;transform:scale(1.52)}78%{opacity:.1;transform:scale(.75)}}
@keyframes mw-story77-beacon-stars{0%,100%{opacity:.32}38%{opacity:.7}68%{opacity:.28}}
@keyframes mw-story77-calm-courier{0%,100%{transform:translate(-12px,0)}52%{transform:translate(12px,-2px)}}
@keyframes mw-story77-calm-courier-comet{0%,100%{opacity:.18;transform:translate(0,0)}52%{opacity:.25;transform:translate(-12px,2px)}}
@keyframes mw-story77-calm-beacon{0%,100%{opacity:.65}50%{opacity:.8}}
@keyframes mw-story77-calm-beacon-signal{0%,100%{opacity:.13;transform:scale(.95)}50%{opacity:.22;transform:scale(1.03)}}
@keyframes mw-story77-calm-beacon-stars{0%,100%{opacity:.26}50%{opacity:.4}}
@media(max-width:650px){.mw-story77--constellation91>.mw-story77-art{height:180px}.mw-story91-sky{height:58px}.mw-story91-station{height:50px}}
@media(max-width:420px){.mw-story77--constellation91>.mw-story77-art{height:150px}.mw-story91-sky{height:50px}.mw-story91-station{height:45px}}
/* A green observatory: the probe crosses a constellation and folds into a gate. */
.mw-story106-wormhole{flex:none;width:100%;height:92px;overflow:hidden;contain:paint;pointer-events:none;border-top:1px solid #31452e;background:linear-gradient(90deg,#0c160f,#17291a 50%,#0c160f)}
.mw-story106-wormhole>svg{display:block;width:100%;height:100%}
.mw-story77-wormhole-probe{--story77-animation:mw-story77-wormhole-probe;--story77-calm:mw-story77-calm-wormhole-probe;transform-origin:420px 58px}
.mw-story77-wormhole-exhaust{--story77-animation:mw-story77-wormhole-exhaust;--story77-calm:mw-story77-calm-wormhole-exhaust;transform-origin:405px 61px}
.mw-story77-wormhole-gates{--story77-animation:mw-story77-wormhole-gates;--story77-calm:mw-story77-calm-wormhole-gates;transform-origin:420px 66px}
.mw-story77-wormhole-stars{--story77-animation:mw-story77-wormhole-stars;--story77-calm:mw-story77-calm-wormhole-stars;transform-origin:420px 42px}
@keyframes mw-story77-wormhole-probe{0%,100%{transform:translate(0,-14px) rotate(0) scale(1);opacity:.95}24%{transform:translate(135px,-7px) rotate(2deg) scale(1);opacity:.95}36%{transform:translate(210px,5px) rotate(3deg) scale(.88);opacity:.9}42%{transform:translate(224px,8px) rotate(3deg) scale(.14);opacity:0}43%,49%{transform:translate(-241px,8px) rotate(-3deg) scale(.14);opacity:0}56%{transform:translate(-224px,6px) rotate(-3deg) scale(.88);opacity:.9}74%{transform:translate(-132px,-5px) rotate(-2deg) scale(1);opacity:.95}}
@keyframes mw-story77-wormhole-exhaust{0%,100%{transform:scaleX(.7);opacity:.4}24%,74%{transform:scaleX(1);opacity:.6}36%,56%{transform:scaleX(.65);opacity:.35}42%,49%{transform:scaleX(.45);opacity:.15}}
@keyframes mw-story77-wormhole-gates{0%,100%{opacity:.55;transform:scale(1)}36%,56%{opacity:.8;transform:scale(1.015)}44%,49%{opacity:.55;transform:scale(1)}}
@keyframes mw-story77-wormhole-stars{0%,100%{opacity:.4}28%{opacity:.64}62%{opacity:.46}85%{opacity:.6}}
@keyframes mw-story77-calm-wormhole-probe{0%,100%{transform:translate(-4px,-11px) rotate(0) scale(1);opacity:.85}50%{transform:translate(4px,-13px) rotate(.3deg) scale(1);opacity:.85}}
@keyframes mw-story77-calm-wormhole-exhaust{0%,100%{transform:scaleX(.75);opacity:.3}50%{transform:scaleX(.85);opacity:.38}}
@keyframes mw-story77-calm-wormhole-gates{0%,100%{opacity:.5;transform:scale(1)}50%{opacity:.58;transform:scale(1)}}
@keyframes mw-story77-calm-wormhole-stars{0%,100%{opacity:.4}50%{opacity:.48}}
@media(max-width:650px){.mw-story106-wormhole{height:78px}}
@media(max-width:420px){.mw-story106-wormhole{height:66px}}
/* A fourth story beat inside the existing beacon strip: approach, dock, depart. */
.mw-story111-orbital-dock{--dock111-light:#c8eaa0}
.mw-story111-orbital-dock--guardian{--dock111-light:#b7e4b8}
.mw-story111-orbital-dock--workshop{--dock111-light:#d9ed99}
.mw-story111-orbital-dock--racer{--dock111-light:#b4f79c}
.mw-story77-dock-shuttle{--story77-animation:mw-story77-dock-shuttle;--story77-calm:mw-story77-calm-dock-shuttle;transform-origin:260px 31px}
.mw-story77-dock-thrust{--story77-animation:mw-story77-dock-thrust;--story77-calm:mw-story77-calm-dock-thrust;transform-origin:238px 31px}
.mw-story77-dock-latch{--story77-animation:mw-story77-dock-latch;--story77-calm:mw-story77-calm-dock-latch;transform-origin:508px 31px;opacity:.16}
.mw-story77-dock-status{--story77-animation:mw-story77-dock-status;--story77-calm:mw-story77-calm-dock-status;opacity:.55}
.mw-story77-dock-stars{--story77-animation:mw-story77-dock-stars;--story77-calm:mw-story77-calm-dock-stars;opacity:.4}
@keyframes mw-story77-dock-shuttle{0%,100%{transform:translate(-110px,14px) rotate(0);opacity:0}8%{transform:translate(-110px,14px) rotate(-3deg);opacity:.92}26%{transform:translate(-12px,0) rotate(-2deg);opacity:1}43%{transform:translate(150px,-1px) rotate(1deg);opacity:1}55%,68%{transform:translate(208px,0) rotate(0);opacity:1}76%{transform:translate(178px,0) rotate(0);opacity:1}84%{transform:translate(155px,0) rotate(180deg);opacity:1}95%{transform:translate(-70px,10px) rotate(180deg);opacity:.9}99%{transform:translate(-110px,14px) rotate(180deg);opacity:0}}
@keyframes mw-story77-dock-thrust{0%,100%{opacity:0;transform:scaleX(.6)}8%,26%,92%{opacity:.8;transform:scaleX(1)}45%,76%,84%{opacity:.35;transform:scaleX(.65)}54%,69%{opacity:.08;transform:scaleX(.4)}}
@keyframes mw-story77-dock-latch{0%,42%,76%,100%{opacity:.12;transform:scale(1)}51%{opacity:.55;transform:scale(1.08)}55%,68%{opacity:.9;transform:scale(1)}72%{opacity:.3;transform:scale(1.04)}}
@keyframes mw-story77-dock-status{0%,100%{opacity:.48}43%{opacity:.6}55%,68%{opacity:.95}76%{opacity:.55}}
@keyframes mw-story77-dock-stars{0%,100%{opacity:.3}27%{opacity:.64}61%{opacity:.4}84%{opacity:.6}}
@keyframes mw-story77-calm-dock-shuttle{0%,100%{transform:translate(1px,0) rotate(0);opacity:.85}50%{transform:translate(3px,-.5px) rotate(.2deg);opacity:.85}}
@keyframes mw-story77-calm-dock-thrust{0%,100%{opacity:.28;transform:scaleX(.7)}50%{opacity:.34;transform:scaleX(.75)}}
@keyframes mw-story77-calm-dock-latch{0%,100%{opacity:.3;transform:scale(1)}50%{opacity:.36;transform:scale(1)}}
@keyframes mw-story77-calm-dock-status{0%,100%{opacity:.5}50%{opacity:.58}}
@keyframes mw-story77-calm-dock-stars{0%,100%{opacity:.38}50%{opacity:.46}}
/* Zoom only decorative SVG inside its clipped strip; page width never changes. */
@media(max-width:420px){.mw-story91-station>svg{width:150%;max-width:none;margin-left:-20%}}
