/* World media remains separate from combat, and uses the original mother coordinates. */
[data-world-atmosphere-host],.world-layer-stack,.world-layer-group,.world-patch-stack{position:absolute;inset:0;pointer-events:none;overflow:hidden}
[data-world-atmosphere-host]{z-index:0}
.world-layer,.world-patch{position:absolute;max-width:none;max-height:none;object-fit:fill;transform:translate(calc(var(--world-shift-x,0px)*var(--world-depth,1)),calc(var(--world-shift-y,0px)*var(--world-depth,1)));transition:transform 180ms ease-out;pointer-events:none}
.world-patch{mask-size:100% 100%;mask-repeat:no-repeat;-webkit-mask-size:100% 100%;-webkit-mask-repeat:no-repeat}
[data-world-layers="ready"]>.ds-world-art{opacity:0!important}
.world-layer-stack[hidden],.world-patch[hidden],.world-cinema[hidden],.world-cinema-video[hidden]{display:none!important}
.world-cinema{position:absolute;inset:0;z-index:20;background:#03080dea;overflow:hidden;isolation:isolate}
.world-cinema-backdrop{position:absolute;max-width:none;max-height:none;object-fit:contain;opacity:.36;pointer-events:none}
.world-cinema-video{position:absolute;max-width:none;max-height:none;object-fit:contain;pointer-events:none}
.world-cinema-skip{position:absolute;right:25px;bottom:23px;z-index:2;border:1px solid #e2c78b85!important;background:#07111eea!important;border-radius:24px;padding:10px 20px;color:#f3e3ba!important;box-shadow:0 4px 22px #0008;font:13px/1.4 sans-serif!important}
.world-portal-scene{position:absolute;inset:0;overflow:hidden;pointer-events:none}
.world-portal-image{position:absolute;object-fit:contain;max-width:none;max-height:none}
.world-portal-scene .world-patch{transform:none;transition:none}
.world-distant-motes{position:absolute;pointer-events:none;overflow:hidden;transform:translate(calc(var(--world-shift-x,0px)*var(--world-depth,1)),calc(var(--world-shift-y,0px)*var(--world-depth,1)));transition:transform 180ms ease-out}
.world-distant-mote{position:absolute;width:2px;height:2px;border-radius:50%;background:#e6e2cb;opacity:.06;animation:world-distant-light 12s ease-in-out infinite;animation-play-state:paused}
[data-world-ambient="active"] .world-distant-mote{animation-play-state:running}
@keyframes world-distant-light{0%,100%{opacity:.025;transform:translate(0,0)}50%{opacity:.19;transform:translate(4px,-6px)}}
@media(prefers-reduced-motion:reduce){.world-layer,.world-patch,.world-distant-motes{transform:none;transition:none}.world-distant-mote{animation:none;opacity:.04}}
/* 归塔 state layers */
.world-layer-group[data-chapter]{visibility:hidden}
[data-world-completed~="1"] .world-layer-group[data-chapter="1"],[data-world-completed~="2"] .world-layer-group[data-chapter="2"],[data-world-completed~="3"] .world-layer-group[data-chapter="3"],[data-world-completed~="4"] .world-layer-group[data-chapter="4"],[data-world-completed~="5"] .world-layer-group[data-chapter="5"],[data-world-completed~="6"] .world-layer-group[data-chapter="6"]{visibility:visible}
