/* World encounter renderer v2: trimmed assets + native-image coordinates. */
.voyage-intro{display:none!important}
.story-vessel{top:auto!important;bottom:38%!important;width:min(760px,96vw)!important;will-change:auto!important}
.scene-prop{position:relative;height:auto;max-width:88vw;margin:0 auto;filter:drop-shadow(0 18px 18px rgba(0,0,0,.6))}
.scene-prop>img{position:absolute;z-index:1;inset:0;width:100%;height:100%;object-fit:fill}
.scene-prop:after{content:"";position:absolute;z-index:0;left:50%;bottom:-2%;width:82%;height:8%;translate:-50% 0;border-radius:50%;background:radial-gradient(ellipse,rgba(225,248,255,.62) 0 4%,rgba(123,211,232,.32) 18%,rgba(13,73,91,.18) 40%,transparent 72%);filter:blur(2px);animation:water-contact 3.6s ease-in-out infinite}
@keyframes water-contact{0%,100%{scale:.88 .72;opacity:.58}50%{scale:1.08 1;opacity:.9}}
.scene-prop .story-board{position:absolute;z-index:2;display:flex;flex-direction:column;justify-content:center;width:auto;max-width:none;box-sizing:border-box;padding:8px!important;border:0!important;background:transparent!important;box-shadow:none!important;backdrop-filter:none!important;text-align:left;overflow:hidden;animation:none!important;translate:none!important;rotate:none!important;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}
.scene-prop .story-board:before{display:none!important}
.scene-prop .story-board small{font:800 clamp(8px,.65vw,12px)/1.05 Georgia,serif!important;color:#4c2e14!important;letter-spacing:.06em}
.scene-prop .story-board h2{font:900 clamp(18px,1.5vw,28px)/1.02 Georgia,serif!important;color:#130c07!important;letter-spacing:-.025em!important;margin:5px 0!important;text-shadow:0 1px rgba(255,255,255,.55)}
.scene-prop .story-board p{font:700 clamp(10px,.82vw,15px)/1.18 Georgia,serif!important;color:#21150d!important;margin:0 0 5px!important}
.scene-prop .story-board b{font:800 clamp(8px,.6vw,11px)/1 Georgia,serif!important;color:#314616!important;letter-spacing:.04em}

/* Pixel-measured writable regions on tightly trimmed source artwork. */
.flag-island{top:auto!important}.flag-island .scene-prop{width:min(620px,88vw);aspect-ratio:372/534}.flag-island .story-board{left:29%;top:39%;width:56%;height:29%;transform:rotate(-.8deg)}
.raft{top:auto!important}.raft .scene-prop{width:min(600px,88vw);aspect-ratio:396/515}.raft .story-board{left:42%;top:17%;width:42%;height:43%;transform:rotate(.4deg);text-align:center}
.raft .story-board h2{font-size:clamp(13px,.9vw,17px)!important;overflow-wrap:break-word}.raft .story-board p{font-size:clamp(8px,.62vw,11px)!important}
.signal-buoy{top:auto!important}.signal-buoy .scene-prop{width:min(560px,84vw);aspect-ratio:327/572}.signal-buoy .story-board{left:14%;top:31%;width:72%;height:23%}
.message-bottle{top:auto!important}.message-bottle .scene-prop{width:min(660px,90vw);aspect-ratio:382/221}.message-bottle .story-board{left:40%;top:19%;width:39%;height:64%;transform:rotate(1deg)}
.data-ship{top:auto!important}.data-ship .scene-prop{width:min(610px,86vw);aspect-ratio:374/592}.data-ship .story-board{left:19%;top:19%;width:64%;height:51%;transform:rotate(-1deg)}

@keyframes constant-pass{
  0%{opacity:1;transform:translate3d(0,-12vh,-600px) scale(.002)}
  10%{opacity:1;transform:translate3d(var(--x10),-10.5vh,-420px) scale(.38)}
  20%{opacity:1;transform:translate3d(var(--x20),-9vh,-280px) scale(.76)}
  30%{opacity:1;transform:translate3d(var(--x30),-7.5vh,-120px) scale(1.05)}
  40%{opacity:1;transform:translate3d(var(--x40),-6vh,0) scale(1.18)}
  60%{opacity:1;transform:translate3d(var(--x60),-3vh,40px) scale(1.22)}
  80%{opacity:1;transform:translate3d(var(--x80),0,80px) scale(1.28)}
  100%{opacity:1;transform:translate3d(var(--exit-x),1vh,120px) scale(1.35)}
}
@keyframes constant-pass-island{
  0%{opacity:1;transform:translate3d(0,-12vh,-600px) scale(.002)}
  10%{opacity:1;transform:translate3d(var(--x10),-10.5vh,-420px) scale(.36)}
  20%{opacity:1;transform:translate3d(var(--x20),-9vh,-280px) scale(.72)}
  30%{opacity:1;transform:translate3d(var(--x30),-7.5vh,-120px) scale(1)}
  40%{opacity:1;transform:translate3d(var(--x40),-6vh,0) scale(1.13)}
  60%{opacity:1;transform:translate3d(var(--x60),-3vh,40px) scale(1.18)}
  80%{opacity:1;transform:translate3d(var(--x80),0,80px) scale(1.24)}
  100%{opacity:1;transform:translate3d(var(--exit-x),.5vh,120px) scale(1.3)}
}
.story-vessel{animation-name:constant-pass!important;animation-timing-function:linear!important}
.story-vessel.flag-island{animation-name:constant-pass-island!important;animation-timing-function:linear!important}
@media(max-width:850px){
  .scene-prop .story-board h2{font-size:15px!important}.scene-prop .story-board p{font-size:9px!important}.scene-prop .story-board small,.scene-prop .story-board b{font-size:7px!important}
  .story-vessel{bottom:34%!important}.flag-island,.raft,.signal-buoy,.message-bottle,.data-ship{top:auto!important}
}
