/* Reveal rhythm: the content stays concealed until the physical reveal finishes. */
.tile.sand-unsealing{pointer-events:none!important;overflow:visible}.sand-unsealing .unknown{filter:drop-shadow(0 3px 2px #aa7b49);transform-origin:50% 85%}.sand-unsealing:after{content:''!important;position:absolute;inset:20% 15%!important;clip-path:polygon(45% 0,57% 24%,43% 40%,60% 55%,46% 80%,55% 100%,38% 77%,47% 55%,33% 40%,48% 22%);background:#76502d!important;animation:sand-crack .29s ease-out both;border:0!important;border-radius:0!important;z-index:3}
.sand-reveal-dust{position:absolute;inset:0;pointer-events:none;z-index:4}.sand-reveal-dust i{position:absolute;left:50%;top:50%;width:5px;height:4px;background:#fff2c7;border:1px solid #d6b076;border-radius:40%;animation:sand-dust .3s ease-out both}
@keyframes sand-crack{0%,15%{opacity:0;scale:.2}55%{opacity:.75}to{opacity:0;scale:1.3}}
@keyframes sand-dust{from{opacity:0;transform:translate(0,0) scale(.5)}25%{opacity:1}to{opacity:0;transform:translate(var(--x),var(--y)) rotate(var(--r)) scale(.25)}}
.star-card.is-shrouded .star-card-face{visibility:hidden}.star-card.is-shrouded .star-hold-mark{visibility:hidden}
.forest-last-reveal>b{color:#876c29;text-shadow:0 0 10px #f9db8399}.forest-last-reveal{box-shadow:0 0 20px #f9db8377!important}
.star-animating .rules-paytable .is-current{background:transparent;box-shadow:none}
.star-visible-clue{min-height:1.6em;line-height:1.6!important;color:#f1d4a7!important;font-size:12px!important;letter-spacing:2px!important}
.star-mode .star-card[data-winning="true"] .star-card-face{border-color:#ffe5a8;box-shadow:0 0 0 2px #e5c59155,0 0 28px #eacb9a7a,inset 0 0 18px #fff3c62e}
.star-mode .star-card[data-winning="true"]{opacity:1;filter:none}
.has-winning-stars .star-card[data-winning="false"]{filter:saturate(.5);opacity:.43;transition:opacity .25s,filter .25s}
.star-card[data-winning="true"]:after{content:'✦';position:absolute;top:-12px;left:50%;translate:-50% 0;color:#ffe6a2;text-shadow:0 0 12px #ffe6a2;font-size:15px;z-index:3}

/* Explanations use the material of the chapter and remain readable after the burst. */
.round-evidence{position:relative;z-index:3;padding:12px 14px;margin:13px auto;border:1px solid #a8bc84;border-radius:5px 16px 5px 16px;background:linear-gradient(125deg,#fffbe5f5,#e0e9c8f5);color:#416047;text-align:center;max-width:100%;box-sizing:border-box;animation:evidence-arrive .25s ease-out both}
.round-evidence>small,.auction-ledger>small{display:block;font-size:9px;line-height:1.6;letter-spacing:2px;opacity:.72}.round-evidence>.evidence-title{display:block;font-size:15px;font-weight:500;letter-spacing:1px;margin-top:4px;line-height:1.5}.round-evidence>p{font-size:11px;line-height:1.7;margin:6px 0 0;letter-spacing:.5px}
.evidence-equation{display:flex;align-items:center;justify-content:center;gap:7px;flex-wrap:wrap;margin-top:9px}.evidence-term{display:inline-block;padding:4px 7px;border:1px solid #b9c894;border-radius:35% 8% 35% 8%;background:#f8f6db;opacity:.3;font:16px Georgia,serif;transition:opacity .15s,background .15s,box-shadow .15s}.evidence-term.is-counted{opacity:1;background:#f8efb8;box-shadow:0 0 12px #e8cb7c4d}.evidence-equation i{font:12px Georgia,serif;opacity:.6}.evidence-sum{font:25px Georgia,serif;color:#6c7946;min-width:28px}
.evidence-shore{border-color:#bfa56d;background:linear-gradient(120deg,#fff8dce8,#f0dca8f5);color:#78643c}.evidence-shore>.evidence-title{color:#458e7e}
.evidence-stars{border-color:#cdb4d47d;background:linear-gradient(125deg,#443158ef,#2e2546f5);color:#f7e1bd}.evidence-stars>small{color:#ceb3de}.star-proof-chips{display:flex;justify-content:center;gap:7px;margin-top:8px}.star-proof-chips>span{padding:3px 9px;border:1px solid #d5bb8280;color:#ffe9b4;border-radius:5px;background:#6f50784f;font:16px Georgia,serif}
.evidence-wind{border-color:#c3ab6a;background:linear-gradient(120deg,#fffbeee8,#f2e4c8f5);color:#655735;width:min(100%,350px);margin:12px auto}.wind-return-rows{display:grid;gap:5px;margin-top:9px}.wind-return-rows>div{display:flex;justify-content:space-between;gap:12px;border-bottom:1px dashed #bda76b55;padding-bottom:4px;font-size:11px;text-align:left;animation:wind-row-in .3s ease-out both}.wind-return-rows b{font:14px Georgia,serif;white-space:nowrap;color:#527768}.wind-return-sum{padding-top:5px;font-weight:600}
#forest-game:has(.evidence-forest) #forest-result{display:none}
@keyframes evidence-arrive{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}
@keyframes wind-row-in{from{opacity:0;translate:-12px 0}to{opacity:1;translate:0 0}}

/* The pointer flexes at the same boundaries that produce the mechanical tick. */
.compass-pointer{transform-box:fill-box;transform-origin:50% 8%;will-change:transform}
.compass-instrument[data-spin-phase="braking"] .compass-wheel{filter:drop-shadow(0 0 12px #dbbe7977)}
.compass-instrument[data-spin-phase="braking"] .atmos-trace{border-color:#ffe9a44f}

/* A pair of opaque brass doors conceals the actual lantern core until opening. */
.lamp-core-cover{position:absolute;inset:25% 24% 26%;display:flex;perspective:350px;z-index:10;pointer-events:none;border-radius:12% 12% 8% 8%;filter:drop-shadow(0 0 12px #ffe0a366)}
.lamp-core-cover i{width:50%;height:100%;background:repeating-linear-gradient(0deg,transparent 0 15px,#513f2233 16px 17px),linear-gradient(105deg,#725a35,#c7a369 55%,#f2d795);border:1px solid #ffe4a4;box-shadow:inset 0 0 0 3px #8a683788;transform-origin:left center;transition:transform .39s cubic-bezier(.2,.7,.3,1),opacity .39s}
.lamp-core-cover i:nth-child(2){transform-origin:right center;background:linear-gradient(85deg,#f2d795,#c7a369 45%,#725a35)}.lamp-core-cover span{position:absolute;inset:0;display:grid;place-items:center;color:#ffeab6;text-shadow:0 0 12px #fff3b3;font-size:24px;transition:opacity .2s}.lamp-core-cover[data-open="true"] i:first-child{transform:rotateY(-105deg);opacity:0}.lamp-core-cover[data-open="true"] i:nth-child(2){transform:rotateY(105deg);opacity:0}.lamp-core-cover[data-open="true"] span{opacity:0}
.auction-scene[data-unveiling="true"] .lamp-flame{visibility:hidden}.auction-scene[data-unveiling="true"] #auction-price,.auction-scene[data-unveiling="true"] #auction-result{visibility:hidden}
.auction-ledger{position:absolute;left:50%;top:61%;translate:-50% 0;width:52%;min-width:270px;max-width:440px;z-index:8;padding:13px 18px 11px;border:1px solid #dcc08a;border-radius:5px 5px 16px 16px;box-shadow:0 6px 25px #091a3699,inset 0 0 0 4px #ffe3a012;background:linear-gradient(120deg,#182c40f5,#102136f5);text-align:center;color:#f4deb1;animation:evidence-arrive .3s ease-out both;box-sizing:border-box}
.lamp-value-comparison{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin:9px 0}.lamp-value-comparison>div+div{border-left:1px solid #e4c18c44}.lamp-value-comparison small{display:block;font-size:10px;letter-spacing:2px;color:#d0c0a3}.lamp-value-comparison strong{display:block;font:clamp(18px,2vw,29px)/1.5 Georgia,serif;white-space:nowrap;color:#ffe3a8}.lamp-ledger-net{display:block;font:22px Georgia,"Microsoft YaHei",serif;color:#b6e4c8}.lamp-ledger-net[data-profit="loss"]{color:#edb6ac}.auction-ledger>p{font-size:10px;line-height:1.6;color:#cbbfa9;margin:7px 0 0}.auction-scene:has(.auction-ledger) .auction-price-plaque{visibility:hidden}

/* Passing the money threshold is a travel milestone, not an early clear verdict. */
.chapter-goal-reached{--goal-light:#9edac4;position:fixed;inset:0;width:100%;height:100dvh;max-width:none;max-height:none;border:0;margin:0;padding:0;background:radial-gradient(ellipse at 50% 48%,#0b2e3b85,#071a2bd4);color:#4e654f;pointer-events:none!important;overflow:hidden;z-index:2147483500;animation:goal-veil-in .25s ease-out both}
.chapter-goal-reached::backdrop{background:transparent;pointer-events:none}.chapter-goal-reached *{box-sizing:border-box;pointer-events:none!important}.goal-forest{--goal-light:#b9d68c}.goal-stars{--goal-light:#d4b4ee}.goal-wind{--goal-light:#b9e3ea}.goal-lantern{--goal-light:#e4c785}
.goal-route-beam{position:absolute;left:50%;top:48%;width:min(100vw,900px);height:min(110vh,900px);translate:-50% -50%;background:conic-gradient(from 155deg,transparent 0 15deg,#f9df9b23 24deg,transparent 32deg 195deg,#f9df9b23 204deg,transparent 212deg);animation:goal-light-in 1.2s ease-out both}
.goal-pass{position:absolute;top:48%;left:50%;translate:-50% -50%;width:min(440px,90vw);padding:26px 35px 22px;background:repeating-linear-gradient(0deg,transparent 0 4px,#ac945407 5px 6px),linear-gradient(125deg,#fff8e5,#f0e7c8);border:1px solid #e6ce93;outline:1px solid #f7e2ac55;outline-offset:7px;border-radius:3px 15px 4px 15px;box-shadow:0 25px 80px #04132288,inset 0 0 0 6px #f4e5b84d;text-align:center;animation:goal-pass-in .5s cubic-bezier(.15,.8,.2,1) both}
.goal-pass>small{font:9px Georgia,serif;letter-spacing:2.5px;color:#8e8159}.goal-wallet-mark{position:relative;width:59px;height:60px;margin:16px auto 10px;display:grid;place-items:center;border:2px solid #9f9566;border-radius:30% 30% 40% 40%;background:radial-gradient(ellipse at 40% 30%,#fff4cf,#d9c186);font:30px Georgia,serif;color:#fff9df;text-shadow:0 2px #9c8659;box-shadow:0 0 30px color-mix(in srgb,var(--goal-light) 55%,transparent)}.goal-wallet-mark:before{content:'';position:absolute;top:-7px;left:13px;right:13px;height:12px;border:3px double #9c956e;border-radius:50%;background:var(--goal-light)}
.goal-pass h2{font-size:28px;font-weight:500;letter-spacing:5px;margin:14px 0 20px}.goal-progress{height:5px;position:relative;background:#d9d1b4;border-radius:3px;margin:0 15px 14px}.goal-progress>i{display:block;height:100%;background:linear-gradient(90deg,#bba065,var(--goal-light));border-radius:3px;animation:goal-fill .7s .15s ease-out both}.goal-progress>b{position:absolute;right:0;top:50%;translate:50% -50%;font:18px Georgia,serif;color:#b29859;text-shadow:0 0 14px #ebcf7a}
.goal-wallet-numbers{display:block;font:23px Georgia,serif;color:#557362}.goal-stamp{position:absolute;right:22px;top:89px;width:62px;height:62px;display:grid;place-items:center;border:3px double #769a78;border-radius:50%;font-size:17px;letter-spacing:2px;color:#638866;rotate:12deg;background:#eff1d822;animation:goal-stamp-in .35s .55s cubic-bezier(.2,.8,.3,1) both}.goal-pass>p{font-size:12px;line-height:1.9;margin:17px 0 16px;color:#797654}.goal-next{border-top:1px dashed #bdb184;padding-top:13px;position:relative}.goal-next:before{content:'✦';position:absolute;left:12px;top:25px;color:#b49c5e;text-shadow:0 0 12px #d6b75f}.goal-next small{display:block;font-size:9px;letter-spacing:1px;color:#8a815e}.goal-next strong{display:block;font-size:16px;font-weight:500;letter-spacing:3px;color:#677c61;margin-top:7px}
.route-preview-lit{filter:brightness(1.2);box-shadow:0 0 18px #f0d78a77;background:#f6ebc789!important}
@keyframes goal-veil-in{from{opacity:0}to{opacity:1}}@keyframes goal-pass-in{from{opacity:0;transform:translateY(25px) rotate(-4deg) scale(.88)}to{opacity:1;transform:none}}@keyframes goal-light-in{from{opacity:0;scale:.5}to{opacity:1;scale:1}}@keyframes goal-fill{from{width:var(--goal-from)}to{width:100%}}@keyframes goal-stamp-in{from{opacity:0;scale:2.1;rotate:-15deg}to{opacity:1;scale:1;rotate:12deg}}
@media(max-width:700px){.round-evidence{padding:9px 10px;margin:10px auto}.round-evidence>.evidence-title{font-size:13px}.round-evidence>p{font-size:10px}.evidence-equation{gap:5px}.evidence-term{font-size:14px;padding:3px 5px}.auction-ledger{top:65%;width:83%;min-width:0;padding:9px 12px}.lamp-value-comparison{gap:8px;margin:6px 0}.lamp-value-comparison strong{font-size:21px}.lamp-ledger-net{font-size:19px}.auction-ledger>p{font-size:9px}.goal-pass{padding:23px 22px 20px}.goal-pass h2{font-size:25px}.goal-wallet-numbers{font-size:21px}.goal-stamp{right:14px;top:95px;width:51px;height:51px;font-size:14px}.goal-pass>p{font-size:11px}.goal-next:before{left:0}.goal-next strong{font-size:15px}.star-visible-clue{font-size:10px!important;letter-spacing:1px!important}}
@media(max-height:600px) and (min-width:701px){.goal-pass{padding:15px 30px}.goal-wallet-mark{width:43px;height:43px;margin:13px auto 6px;font-size:22px}.goal-pass h2{font-size:23px;margin:10px 0 14px}.goal-pass>p{margin:10px 0}.goal-stamp{top:65px}.goal-next{padding-top:9px}}
@media(prefers-reduced-motion:reduce){.sand-unsealing:after,.sand-reveal-dust,.goal-route-beam{display:none}.round-evidence,.round-evidence *,.auction-ledger,.auction-ledger *,.chapter-goal-reached,.chapter-goal-reached *,.lamp-core-cover *{animation:none!important;transition:none!important}.goal-progress>i{width:100%}.has-winning-stars .star-card[data-winning="false"]{transition:none}}
