/* The map sprites stay on their true coordinates; machinery and particles provide motion. */
.world-land629 .npc-moving648>img[data-npc-kind648]{animation:none!important;translate:calc(var(--art-w648,100px)*var(--drive-x687,0)) calc(var(--art-h648,100px)*var(--drive-y687,0))!important;rotate:var(--drive-turn687,0deg)!important}
.world-land629 .npc-fx648{display:none!important}
.world-detail685{position:absolute;left:50%;top:var(--art-y648,45%);width:var(--art-w648,80%);height:var(--art-h648,80%);transform:translate(-50%,-50%);z-index:2;pointer-events:none;contain:strict}
.dragging602 .world-detail685{visibility:hidden}
.march-vfx685{pointer-events:none}
.march-muzzle685{animation:muzzle685 2.4s linear infinite;animation-delay:var(--vfx-delay685);transform-box:fill-box;transform-origin:center;stroke:none;opacity:0}
.march-trace685{fill:none;stroke:#ffe1a0;stroke-width:.13;stroke-linecap:round;stroke-dasharray:1 9;animation:trace685 2.4s linear infinite;animation-delay:var(--vfx-delay685);opacity:0}
.march-wake685{fill:none;stroke:#b9e4e7;stroke-width:.09;opacity:.6;stroke-dasharray:.7 .4;animation:wake685 1.8s linear infinite}
.march-prop685{fill:none;stroke:#f7e9c5;stroke-width:.13;stroke-dasharray:.4 .22;animation:prop685 .18s linear infinite;opacity:.55}
.return600 .march-muzzle685,.return600 .march-trace685{display:none}
@keyframes muzzle685{0%,86%,94%,100%{opacity:0;scale:.6}88%,91%{opacity:1;scale:1.15}}
@keyframes trace685{0%,88%,99%,100%{opacity:0;stroke-dashoffset:0}90%{opacity:.9;stroke-dashoffset:0}97%{opacity:.35;stroke-dashoffset:-5}}
@keyframes wake685{to{stroke-dashoffset:-2.2}}
@keyframes prop685{to{stroke-dashoffset:-1.24}}
.map-paused648 .march-vfx685 *,.dragging602 .march-vfx685 *{animation-play-state:paused!important}
@media(prefers-reduced-motion:reduce){.march-vfx685 *{animation:none!important}.march-muzzle685,.march-trace685{display:none}}

body:has(#modal[open]) .march-vfx685 *{animation-play-state:paused!important}

/* Match artwork to its own tile rather than overlapping adjacent targets. */
.world-land629:not(.world-nearest671) .world-cell.npc-cell>img{width:80%!important;height:80%!important;max-width:225px!important;max-height:200px!important}
.world-land629 .npc-level,.world-land629 .resource-node-level617{white-space:nowrap;line-height:1.2}
.boss-map686 .boss-target686{position:absolute;width:var(--boss-size686);height:auto;min-width:0;min-height:0;margin:0;padding:0;border:0;background:none;box-shadow:none;transform:translate(-50%,-50%);pointer-events:auto;overflow:visible;display:flex;flex-direction:column;align-items:center;gap:3px;isolation:isolate}
.boss-target686 .boss-portrait{position:relative;width:var(--boss-size686);height:calc(var(--boss-size686)*1.5);min-height:0;flex:none;margin:0;filter:drop-shadow(0 3px 2px #173b3a55)}
.boss-target686:before{content:'';position:absolute;left:5%;right:5%;height:10%;bottom:28px;background:radial-gradient(ellipse,#193e3540,transparent 70%);z-index:-1;pointer-events:none}
.boss-label686{display:flex;flex-direction:column;align-items:center;gap:1px;padding:3px 6px;background:#183f4ded;border:1px solid #d7c78b;border-radius:5px;color:#fff2cd;font:700 var(--boss-font686)/1.15 system-ui;white-space:nowrap}
.boss-label686 b{font:inherit;color:inherit}.boss-label686 small{font:600 calc(var(--boss-font686)*.9)/1.15 system-ui;color:#f1cf83}
.boss-target686:focus-visible{outline:2px solid #ffe5a1;outline-offset:4px;border-radius:10px}
.march-muzzle685{stroke:none;fill-opacity:.9;animation-duration:3.4s}
.march-trace685{stroke-width:.07;animation-duration:3.4s;opacity:0}
.march-wake685{stroke:#cae7df;stroke-width:.06;stroke-dasharray:none;animation:none;opacity:.3}
.march-air686{fill:none;stroke:#e2ede4;stroke-width:.04;stroke-linecap:round;opacity:.16}
.march-dust686{opacity:.12}

.boss-label686{margin-top:calc(var(--boss-size686)*-.15)}

/* Keep motion attached to the artwork, independent of world zoom and camera. */
.world-land629 .npc-moving648>.world-detail685{translate:calc(var(--art-w648,100px)*var(--drive-x687,0)) calc(var(--art-h648,100px)*var(--drive-y687,0));rotate:var(--drive-turn687,0deg)}
.world-land629 .npc-moving648>.npc-level{translate:calc(var(--art-w648,100px)*var(--drive-x687,0)) calc(var(--art-h648,100px)*var(--drive-y687,0))}
