.story-moment { display: grid; grid-template-columns: minmax(0,1fr) 190px; gap: 28px; align-items: center; padding: 14px 0; }
.story-moment > p { margin: 0; }
.story-vignette { width: 100%; aspect-ratio: 1; background-image: url('assets/story-vignettes.webp'); background-size: 300% 200%; background-repeat: no-repeat; }
.story-reveal-ready .story-vignette { opacity: 0; transform: translateY(22px) rotate(-3deg) scale(.94); transition: opacity .75s ease, transform .9s cubic-bezier(.2,.8,.2,1); }
.story-reveal-ready.revealed .story-vignette { opacity: 1; transform: none; }
.story-moment-reverse .story-vignette { transform-origin: right center; }
.fortune-lab { padding: 24px 0; }
.fortune-lab[hidden] { display: none !important; }
.fortune-frame { width: 100%; height: 1200px; border: 0; display: block; background: #131b1a; color-scheme: dark; }
.atlas-expedition { display: grid; grid-template-columns: minmax(0,1fr) 220px; gap: 24px; margin-top: 20px; }
.atlas-expedition .atlas-map { aspect-ratio: 1.85; min-height: 320px; border-radius: 4px; }
.atlas-guide { border-left: 1px solid var(--line); padding-left: 20px; }
.pirate-art { aspect-ratio: 1.25; width: 100%; background: url('assets/pirate-expedition.webp') 0 0 / 200% 100% no-repeat; }
.pirate-ship { background-position: 100% 0; animation: atlas-sail 6s ease-in-out infinite; }
.pirate-guide { animation: atlas-guide 8s ease-in-out infinite; }
.atlas-guide h4 { margin: 10px 0; font-size: 18px; }
.atlas-guide p { color: var(--muted); font-size: 12px; line-height: 1.7; }
.atlas-pin { width: 44px; height: 44px; border: 0; background: none; border-radius: 4px; font-size: 14px; color: #292a22; }
.atlas-pin:hover,.atlas-pin:focus-visible { background: #ffffff50; color: #292a22; }
.atlas-pin:focus-visible { outline: 2px solid #563414; }
.atlas-gem { display: inline-block; width: 17px; height: 22px; clip-path: polygon(28% 0,72% 0,100% 36%,50% 100%,0 36%); background: linear-gradient(120deg,#fff9,var(--gem,#dd6879) 35%,var(--gem,#dd6879) 70%,#292432); box-shadow: inset 3px 0 #ffffff70; vertical-align: middle; }
.atlas-pin.collected { background: none; }
.atlas-pin.collected .atlas-gem { opacity: .38; }
.atlas-pin.collected:after { content: '\2713'; position: absolute; top: 3px; right: 3px; font-weight: bold; }
.atlas-clue { padding-right: 58px; }
.atlas-quiz-actions { display: flex; gap: 10px; align-items: center; flex-wrap: wrap; margin-top: 12px; }
.atlas-quiz-actions button,.atlas-answers button { background: #243a32; color: #e9e8da; border: 1px solid #506357; border-radius: 4px; min-height: 44px; padding: 10px 14px; font-size: 12px; }
.atlas-quiz-actions button { display: inline-flex; align-items: center; gap: 8px; }
.atlas-quiz-actions svg { width: 16px; height: 16px; }
.atlas-quiz-actions button:disabled { opacity: .5; cursor: default; }
.atlas-answers { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 8px; margin-top: 18px; }
.atlas-answers button { text-align: left; display: flex; align-items: center; gap: 9px; }
.atlas-answers button:hover,.atlas-answers button:focus-visible { border-color: #e8c05d; }
#atlas-feedback { min-height: 42px; color: #d8bd70; font-size: 13px; }
.atlas-collection { display: grid; grid-template-columns: repeat(5,minmax(0,1fr)); gap: 14px; margin: 24px 0; }
.atlas-treasure { padding: 8px 0; border-bottom: 1px solid var(--line); min-width: 0; }
.atlas-treasure .atlas-gem { width: 24px; height: 31px; margin-bottom: 10px; opacity: .25; }
.atlas-treasure.found .atlas-gem { opacity: 1; }
.atlas-treasure h4 { font-size: 12px; margin: 5px 0; overflow-wrap: anywhere; }
.atlas-treasure p { font-size: 10px; color: var(--muted); margin: 5px 0; }
.atlas-treasure.found { animation: atlas-reward .6s ease both; }
.atlas-collection-label { font-size: 18px; margin-top: 26px; }
.atlas-mode-note { font-size: 11px; color: var(--muted); line-height: 1.7; }
.world-hunt[hidden] .pirate-art,.motion-paused .pirate-art { animation-play-state: paused; }
@keyframes atlas-guide { 50% { transform: translateY(-4px) rotate(.5deg); } }
@keyframes atlas-sail { 50% { transform: translate(5px,-5px) rotate(-1.2deg); } }
@keyframes atlas-reward { from { transform: translateY(6px); opacity: .4; } to { transform: none; opacity: 1; } }
@media(max-width:760px) {
 .story-moment { grid-template-columns: minmax(0,1fr) 116px; gap: 14px; padding: 12px 0; }
 .atlas-expedition { display: block; }
 .atlas-expedition .atlas-map { min-height: 270px; aspect-ratio: 1.45; }
 .atlas-guide { display: grid; grid-template-columns: 105px minmax(0,1fr); gap: 14px; border: 0; padding: 12px 0; align-items: center; }
 .atlas-guide .pirate-ship { display: none; }
 .atlas-collection { grid-template-columns: repeat(3,minmax(0,1fr)); gap: 10px; }
 .atlas-clue h4 { font-size: 19px; }
}
@media(max-width:420px) { .story-moment { display: block; } .story-vignette { width: 175px; margin: 12px auto 0; } }
@media(prefers-reduced-motion:reduce) { .story-reveal-ready .story-vignette { opacity: 1; transform: none; transition: none; } .pirate-art,.atlas-treasure.found { animation: none; } }
