/* The same textured coin travels from the button to the table, then comes to rest. */
.coin-journey{position:fixed;inset:0;width:100vw;height:100dvh;max-width:none;max-height:none;margin:0;padding:0;border:0;background:transparent;overflow:visible;z-index:2147483647;perspective:1100px;pointer-events:none;display:none}
.coin-journey.journey-visible{display:block}
.coin-journey::backdrop{background:transparent;pointer-events:none}
.journey-skip{position:absolute;right:25px;bottom:25px;pointer-events:auto;border:1px solid #a9945b;padding:12px 18px;background:#11180eea;color:#ead49b;font:500 13px var(--heading);cursor:pointer}
.journey-skip:focus-visible{outline:2px solid #e3cc8d;outline-offset:4px}
.story-coin{position:absolute;inset:0;width:100%;height:100%;transform-style:preserve-3d;transform-origin:50% 100%;pointer-events:none}
.story-coin.in-transit{position:absolute;inset:0 auto auto 0;width:160px;height:160px;transform-origin:0 0}
.coin-edge,.coin-face,.coin-glint{position:absolute;inset:0;border-radius:50%;display:block}
.coin-edge{background:repeating-conic-gradient(#ad8747 0deg 3deg,#e4be6f 3deg 5deg,#62451f 5deg 7deg);border:1px solid #a87d3e;transform:translateZ(var(--depth))}
.coin-face{background-image:url('assets/coin-table.jpg');background-size:278.3% 141.2%;background-position:20.2% 59.5%;border:2px solid #c8a566;box-shadow:inset 0 0 3px #f9da90;backface-visibility:hidden}
.coin-front{transform:translateZ(6px)}
.coin-back{transform:rotateY(180deg) translateZ(6px)}
.coin-glint{transform:translateZ(6.5px);backface-visibility:hidden;background:linear-gradient(120deg,#ffe9ac55,transparent 35%,#00000018 65%,#fff2b32a);mix-blend-mode:soft-light}
#donate-dialog .offering-scene{inset:205px 43% 47px 0;height:auto;overflow:visible;perspective:1000px;background:none}
.oak-table{position:absolute;inset:0;background:url('assets/tavern-oak.jpg') center/cover;mask-image:linear-gradient(90deg,transparent,#000 10%,#000 90%,transparent),linear-gradient(180deg,transparent,#000 35%,#000 90%,transparent);mask-composite:intersect}
.coin-rest{position:absolute;width:185px;height:185px;left:32%;bottom:24%;perspective:900px}
.coin-contact-shadow{position:absolute;left:calc(32% - 10px);bottom:calc(24% - 10px);width:205px;height:30px;background:#000b;border-radius:50%;filter:blur(7px);opacity:0;pointer-events:none}
#donate-dialog.coin-opening{animation:offering-arrive .42s cubic-bezier(.2,.7,.3,1) both}
@keyframes offering-arrive{from{opacity:0}to{opacity:1}}
@media(max-width:650px){#donate-dialog .offering-scene{inset:146px 0 auto;height:150px}.coin-rest{width:108px;height:108px;left:calc(50% - 54px);bottom:22%}.coin-contact-shadow{left:calc(50% - 64px);width:128px;bottom:calc(22% - 8px);height:20px}.journey-skip{bottom:18px;right:18px}}
@media(prefers-reduced-motion:reduce){#donate-dialog.coin-opening{animation:none}}
