/* Three locks tell the story of the island chest. */
.game[data-scene=treasure] .treasure-scene{isolation:isolate}
.game[data-scene=treasure] .treasure-chest-v2{position:absolute;z-index:2;left:50%;bottom:4%;width:clamp(145px,42%,250px);aspect-ratio:3/2;transform:translateX(-50%);filter:drop-shadow(0 8px 6px #15261e99)}
.treasure-chest-image,.treasure-chest-open-image{position:absolute;inset:0;display:block;width:100%;height:100%;object-fit:contain;transition:opacity .7s ease,transform .7s ease}
.treasure-chest-open-image{opacity:0;transform:translateY(5%) scale(.94)}
.treasure-chest-v2.is-opening .treasure-chest-image{opacity:0;transform:scale(.98)}
.treasure-chest-v2.is-opening .treasure-chest-open-image{opacity:1;transform:none;animation:chest-reveal 1s ease-out both}
.treasure-lock-marker{position:absolute;z-index:3;top:61%;left:40%;width:clamp(22px,9%,27px);aspect-ratio:1;transform:translate(-50%,-50%);display:grid;place-items:center;border-radius:50%;font:bold 15px/1 system-ui;color:#fff;background:#286c50;box-shadow:0 0 0 2px #fff8df,0 2px 4px #291c16aa;opacity:0}
.treasure-lock-marker[data-lock="1"]{left:59%}.treasure-lock-marker[data-lock="2"]{left:79%}
.treasure-lock-marker.is-open{opacity:1}.treasure-lock-marker.is-new{animation:chest-lock-open .7s ease-out both}
.treasure-lock-marker.is-current{opacity:1;background:#fff0ae44;box-shadow:0 0 0 2px #ffdf82,0 0 13px 3px #ffc957aa}
.treasure-chest-v2.is-opening .treasure-lock-marker{opacity:0;transition:opacity .35s ease}
.treasure-progress{margin:1rem 0 .9rem;padding:.8rem 1rem;border:1px solid #d5bc88;border-radius:15px;background:#fcf5e4;color:#604824}
.treasure-progress-label{display:block;font-weight:800;font-size:.95rem}
.treasure-progress-marks{display:flex;gap:.45rem;margin-top:.5rem}
.treasure-progress-mark{display:grid;place-items:center;width:2rem;height:2rem;border:1px solid #c9a568;border-radius:50%;background:#eee0be;color:#765a2c;font-weight:800}
.treasure-progress-mark.is-current{outline:2px solid #bd862d;outline-offset:2px;background:#fff3c9}
.treasure-progress-mark.is-open{background:#c4e5ce;border-color:#619876;color:#225e3d}
.treasure-progress-mark.is-new{animation:chest-lock-open .7s ease-out both}
.treasure-step-title{margin:1.15rem 0 .55rem;color:#523a1f;font:700 clamp(1.2rem,2.7vw,1.45rem)/1.25 Georgia,serif}
.treasure-clue{display:inline-block;margin:.2rem 0 .5rem;padding:.6rem .85rem;border:1px solid #d6b777;border-radius:10px;background:#fff4d6;color:#6a4a14;font-weight:800}
.game[data-scene=treasure] .treasure-instruction{margin:.5rem 0 .8rem}
.game[data-scene=treasure] .treasure-question{margin:.5rem 0 1rem}
.game[data-scene=treasure] .treasure-answers{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.65rem}
.game[data-scene=treasure] .treasure-answers .answer{min-width:0;width:100%;min-height:54px;padding:.6rem .45rem;font-size:clamp(1rem,3vw,1.2rem)}
.game[data-scene=treasure] .treasure-answers[hidden],.game[data-scene=treasure] .treasure-instruction[hidden],.game[data-scene=treasure] .treasure-progress[hidden],.game[data-scene=treasure] .treasure-clue[hidden],.game[data-scene=treasure] .treasure-step-title[hidden]{display:none}
.treasure-reward{text-align:center;margin:1rem auto 0;max-width:39rem;color:#4e412a}
.treasure-reward-art{display:grid;place-items:center;margin:.3rem auto;color:#d99c2c}
.treasure-reward-star{font-size:2.2rem;line-height:1;text-shadow:0 0 12px #ffdc75;animation:chest-reward-star 1.1s ease-out both}
.treasure-reward-kicker{color:#a4701d;font-size:.8rem;font-weight:850;letter-spacing:.08em;text-transform:uppercase}
.treasure-reward h4{margin:.35rem 0;font:700 clamp(1.5rem,4vw,2.15rem)/1.18 Georgia,serif;color:#59401e}
.treasure-reward p:not(.treasure-reward-kicker){line-height:1.5;margin:.7rem auto 1.15rem;max-width:30rem}
@keyframes chest-lock-open{0%{opacity:0;transform:translate(-50%,-50%) scale(.5)}65%{opacity:1;transform:translate(-50%,-50%) scale(1.2)}100%{opacity:1;transform:translate(-50%,-50%) scale(1)}}
.treasure-progress-mark.is-new{animation:chest-progress-pop .7s ease-out both}
@keyframes chest-progress-pop{0%{transform:scale(.6)}70%{transform:scale(1.2)}100%{transform:scale(1)}}
@keyframes chest-reveal{0%{opacity:0;transform:translateY(5%) scale(.94)}70%{opacity:1;transform:translateY(-2%) scale(1.03)}100%{opacity:1;transform:none}}
@keyframes chest-reward-star{0%{opacity:0;transform:translateY(12px) scale(.7)}100%{opacity:1;transform:none}}
@media(max-width:390px){.game[data-scene=treasure] .treasure-chest-v2{width:clamp(145px,58%,200px);bottom:4%}.game[data-scene=treasure] .treasure-answers{gap:.5rem}.treasure-progress{padding:.7rem .8rem}}
@media(prefers-reduced-motion:reduce){.treasure-chest-image,.treasure-chest-open-image,.treasure-lock-marker{transition:none}.treasure-chest-v2.is-opening .treasure-chest-open-image,.treasure-lock-marker.is-new,.treasure-progress-mark.is-new,.treasure-reward-star{animation:none}}
.game[data-scene=treasure] .mission-view[hidden],
.game[data-scene=treasure] .treasure-question[hidden],
.game[data-scene=treasure] .stage-actions[hidden],
.game[data-scene=treasure] .hint[hidden],
.game[data-scene=treasure] .feedback[hidden]{display:none}
