/* Model-painted environments and objects shared by the fifteen game pages. */
.game-art{object-fit:contain;display:block;max-width:100%;user-select:none;-webkit-user-drag:none}
.painted-scene{position:relative;margin:0 0 22px;overflow:hidden;border:1px solid #c3d3e5;border-radius:9px;height:clamp(150px,15vw,235px);background:#193f64;isolation:isolate}
.painted-scene>.painted-panorama{width:100%;height:100%;object-fit:cover;object-position:center 57%}
.painted-scene:after{content:'';position:absolute;inset:0;pointer-events:none;box-shadow:inset 0 0 35px #132f4b26}
.ui-glyph{font-family:system-ui,sans-serif;display:inline-flex;align-items:center;justify-content:center;font-size:17px;line-height:1;font-weight:500;vertical-align:middle}
.goods-mark{width:58px;height:58px;flex:0 0 58px;background:#edf3f9;border:0;border-radius:7px;box-shadow:none;padding:3px}
.goods-mark>.game-art{width:100%;height:100%}
.commodity-row{min-height:92px}
.module-icon:has(.module-art){width:82px;height:82px;flex:0 0 82px;background:#edf3f8;border:0;padding:2px}
.module-art{width:100%;height:100%;filter:drop-shadow(0 4px 3px #253d5a1c)}
.port-panorama{height:132px;margin:0 0 17px;border-radius:6px}
.port-specialties>span{position:relative;padding-left:48px;min-height:49px;display:flex;flex-direction:column;justify-content:center}
.port-specialties .port-goods{position:absolute;left:0;top:3px;width:42px;height:42px}
.tavern-scene{position:relative;isolation:isolate;overflow:hidden;min-height:252px;padding:28px 32px;display:flex;align-items:center;background:#172d42;border-color:#bccdde;color:#fff}
.tavern-scene>.game-art{position:absolute;inset:0;width:100%;height:100%;max-width:none;object-fit:cover;object-position:50% 52%;z-index:-2}
.tavern-scene:after{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,#14283ce8 0%,#14283cb3 34%,#14283c10 80%);pointer-events:none}
.tavern-scene h2{color:#fffaf1;text-shadow:0 2px 7px #07182d}
.tavern-scene .eyebrow,.tavern-scene p,.tavern-scene small{color:#d9e6f4}
.tavern-scene>div{max-width:470px}
.tavern-lantern{display:none}
.shipyard-scene{height:190px;border:0;border-bottom:1px solid #c8d8e7;border-radius:0;margin:0}
.shipyard-scene>.painted-panorama{object-position:50% 55%}
.ship-visual{background:#bed7ea url('assets/game-art/scene-ocean.webp') center 59%/cover;position:relative}
.ship-visual>.ship-portrait{position:relative;z-index:1;filter:drop-shadow(0 8px 3px #102d4f42)}
.ship-visual .ship-name{position:relative;z-index:1;color:#f0f6fc;text-shadow:0 1px 3px #153656}
.journey-scene{isolation:isolate;background:#244d76;overflow:hidden}
.journey-scene>.ocean-backdrop{position:absolute;inset:-3%;width:106%;max-width:none;height:106%;object-fit:cover;object-position:50% 72%;z-index:-1;animation:painted-sea-drift 12s ease-in-out infinite alternate}
.journey-scene .sailing-ship{position:relative;z-index:1;filter:drop-shadow(0 7px 4px #17385945)}
.journey-scene .sea-wake{z-index:0;background:none;opacity:.65}
.journey-scene .sailing-sun{display:none}
.journey-scene.under-fire .ocean-backdrop{filter:brightness(.68) saturate(.8)}
.pirate-encounter{position:relative;padding-top:12px}
.encounter-portrait{width:min(220px,100%);height:120px;margin:0 auto 7px}
.crew-main>.crew-avatar-painted{width:100px;height:134px;flex:0 0 100px;object-fit:cover;object-position:50% 19%;border-radius:6px}
.crew-panorama{height:178px}
.legacy-panorama{height:185px}
.archive-panorama{height:210px}
.story-art{background-image:url('assets/game-art/scene-treasure.webp')}
.paused .journey-scene>.ocean-backdrop{animation-play-state:paused}
@keyframes painted-sea-drift{from{transform:translate3d(-1%,0,0) scale(1.02)}to{transform:translate3d(1%,1%,0) scale(1.03)}}
@media(max-width:760px){
 .painted-scene{height:155px;margin-bottom:17px;border-radius:7px}
 .commodity-row{min-height:91px}.goods-mark{width:50px;height:50px;flex-basis:50px}
 .module-icon:has(.module-art){width:68px;height:68px;flex-basis:68px}
 .tavern-scene{min-height:238px;padding:23px 21px}.tavern-scene:after{background:linear-gradient(90deg,#14283ce8,#14283c99 65%,#14283c40)}
 .shipyard-scene{height:160px;margin:0;border-radius:0}.port-panorama{height:125px}
 .crew-main>.crew-avatar-painted{width:80px;height:112px;flex-basis:80px}
 .crew-panorama,.legacy-panorama,.archive-panorama{height:150px}
}
@media(max-width:370px){.goods-mark{width:43px;height:43px;flex-basis:43px}.crew-main>.crew-avatar-painted{width:68px;flex-basis:68px;height:100px}.tavern-scene{padding:21px 16px}}
@media(prefers-reduced-motion:reduce){.journey-scene>.ocean-backdrop{animation:none!important}}
