/* New illustrated scenery; only the paper and wood controls share the shop's UI kit. */
.fortune-scene { position:absolute; inset:0; z-index:20; overflow:clip; pointer-events:auto; background:#182d2a; color:var(--ink); }
.fortune-scenery { position:absolute; inset:0; transition:transform .5s ease; transform-origin:50% 47%; }
.fortune-scenery img { position:absolute; image-rendering:auto; object-fit:contain; }
.fortune-scenery .fortune-character { image-rendering:auto; }
.fortune-background { inset:0; width:100%; height:100%; object-fit:cover!important; }
.fortune-scene.is-at-stall .fortune-scenery { transform:scale(1.045); }
.fortune-heading,.fortune-purse,.fortune-dialogue,.fortune-records,.fortune-button { position:relative; isolation:isolate; }
.fortune-heading { position:absolute; top:22px; left:292px; width:440px; padding:17px 24px 14px; text-align:center; }
.fortune-eyebrow { margin:0 0 6px; font-size:13px; letter-spacing:4px; color:#806342; }
.fortune-heading h1 { margin:0; font-size:30px; font-weight:500; letter-spacing:5px; }
.fortune-count { margin:6px 0 0; font-size:13px; color:#806342; }
.fortune-button { background:transparent; color:#f7e3bd; padding:12px 20px; min-height:45px; font-size:17px; }
.fortune-button:hover:not(:disabled) { filter:brightness(1.12); }
.fortune-button:disabled { opacity:.55; }
.fortune-back { position:absolute; left:25px; top:31px; width:128px; }
.fortune-purse { position:absolute; right:25px; top:31px; margin:0; padding:16px 24px; font-size:18px; }
.fortune-arrow { position:absolute; top:328px; width:62px; height:76px; font:48px/1 Georgia,serif; padding:0 10px 6px; }
.fortune-left { left:24px; }.fortune-right { right:24px; }
.fortune-npc { position:absolute; left:357px; top:172px; width:310px; height:260px; background:transparent; color:#fff0d1; }
.fortune-npc-hint { position:absolute; bottom:5px; left:50%; transform:translateX(-50%); padding:7px 12px; white-space:nowrap; isolation:isolate; color:var(--ink); font-size:14px; opacity:0; }
.fortune-npc:hover .fortune-npc-hint,.fortune-npc:focus-visible .fortune-npc-hint { opacity:1; }
.fortune-dialogue { position:absolute; left:176px; right:176px; bottom:46px; padding:20px 26px 19px; }
.fortune-speech { margin:0 0 8px; font-size:17px; line-height:1.65; }
.fortune-detail { margin:0; font-size:13px; line-height:1.6; color:#7e6243; }
.fortune-actions { display:flex; justify-content:center; gap:10px; margin-top:13px; }
.fortune-actions .fortune-button { font-size:15px; padding:10px 18px; }
.fortune-receipt { white-space:pre-line; margin-top:10px; padding:10px 0 0; border-top:1px solid #b7955f; color:#943d2b; font-size:15px; line-height:1.65; }
.fortune-footnote { position:absolute; bottom:8px; left:50%; transform:translateX(-50%); width:max-content; padding:5px 16px; text-align:center; margin:0; font-size:13px; color:var(--ink); isolation:isolate; }
.fortune-records { position:absolute; right:35px; top:137px; width:290px; max-height:365px; padding:22px; }
.fortune-record-body { max-height:315px; overflow-y:auto; scrollbar-width:thin; scrollbar-color:#9a7545 transparent; }
.fortune-record-body h2 { font-size:22px; margin:0 0 8px; font-weight:500; }
.fortune-record-body h3 { font-size:15px; margin:15px 0 6px; }
.fortune-record-body p { font-size:13px; line-height:1.55; white-space:pre-line; margin:7px 0; }
.fortune-record-note { color:#7e6243; }
.fortune-open #play-hud,.fortune-open #scene { visibility:hidden; }
.fortune-open .scene-notice { display:none; }
.fortune-scene.scene-loading .fortune-npc { pointer-events:none; }
body.reduced-motion .fortune-scenery { transition:none; }
@media (prefers-reduced-motion:reduce) { .fortune-scenery { transition:none; } }
.pick-heading { display:flex; align-items:center; justify-content:space-between; gap:12px; }
.pick-heading b { font-size:17px; font-weight:500; }
.pick-hint { margin:0; font-size:12px; color:#756b52; line-height:1.6; }
.pick-purchase { min-height:40px; width:100%; }

/* A reading takes the whole table: the stall's dialogue, arrows and hints step back so only one panel speaks at a time. */
.fortune-scene.is-presenting :is(.fortune-dialogue,.fortune-footnote,.fortune-arrow,.fortune-records,.fortune-npc,.fortune-back,.fortune-purse,.fortune-heading) { visibility:hidden; }
.fortune-scene.is-presenting .fortune-scenery::after { content:''; position:absolute; inset:0; background:url("assets/time/shade_night.jpg") center/cover; mix-blend-mode:multiply; opacity:.9; }
