/* Last stylesheet: gesture guidance has no backing capsule and never takes clicks. */
#stage .guide,#stage .first-hit>span,#stage .west-hotspot>span,#stage .hotspot>span,#stage .wither-hit>span,#stage .burial-pick>span,#stage .departure-hit>span,#stage .departure-final-hint,#stage .burial-poem-hint,#stage .garden-explore-hint{display:none!important}
#stage .scene-next:disabled,#stage .scene-next[hidden],#stage .scene-nav:has(.scene-next[hidden]){display:none!important}
#stage .scene-next:not([hidden]):not(:disabled){box-shadow:0 0 0 2px #b38366,0 0 22px #fff4d388;animation:nextInvite 1.8s ease-in-out infinite}
#stage .first-hit i,#stage .west-hotspot i,#stage .hotspot i,#stage .wither-hit i,#stage .burial-pick i{display:none!important}
#stage .groom-hit,#stage .burial-baoyu-hit,#stage .burial-revisit{display:none!important}
#stage .first-scene.zoomed:not(.rock-seen) .first-grass-hit{display:none!important}
.gesture-hand{position:absolute;z-index:110;width:clamp(26px,3.1vw,48px);height:auto;pointer-events:none;filter:drop-shadow(0 2px 3px #3f292e66);animation:handTap 1.6s ease-in-out infinite;transform-origin:25% 10%}
.gesture-hand[hidden]{display:none!important}.gesture-hand svg{width:100%;display:block}
.gesture-hand[data-mode=drag]{animation:handDrag 2.3s ease-in-out infinite}.gesture-hand[data-mode=swipe]{animation:handSwipe 1.7s ease-in-out infinite}.gesture-hand[data-mode=up]{animation:handUp 1.8s ease-in-out infinite}
.flower-contours,.burial-outlines{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;z-index:7}
.flower-contours path{display:none;fill:none;stroke:#fff9e9;stroke-width:2.5;filter:drop-shadow(0 0 2px #b65f70);animation:flowerEdge 1.4s ease-in-out infinite;vector-effect:non-scaling-stroke}
.flower-contours[data-phase="0"] .branch-outline,.flower-contours[data-phase="3"] .book-outline{display:block}
.burial-outlines img{width:100%;height:100%;object-fit:cover;filter:drop-shadow(1px 0 0 #fff) drop-shadow(-1px 0 0 #fff) drop-shadow(0 1px 0 #fff) drop-shadow(0 -1px 0 #fff) drop-shadow(0 0 4px #a74861);animation:flowerEdge 1.4s ease-in-out infinite}
.burial-outlines img[hidden]{display:none!important}
#stage .single-flower-poem .poem-controls{display:none!important}
#stage .single-flower-poem{pointer-events:none}#stage .single-flower-poem .poem-column{animation-duration:.35s!important}
#stage .west-two{transition:opacity .6s ease,clip-path .6s ease}#stage .west-three{transition:opacity .6s ease}#stage .petal-flight i{animation-duration:.65s;animation-delay:0s}
#stage .wither-moon,#stage .wither-spirit{transition:opacity .75s ease-in-out}#stage .frame-three,#stage .frame-four,#stage .frame-five,#stage .frame-six{transition-duration:.65s}
#stage .wither-scene{touch-action:none}
.wind-leaf{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:4;pointer-events:none;opacity:0;clip-path:polygon(0% 60%,3% 55%,8% 50%,13% 48%,18% 48%,23% 52%,29% 55%,31% 61%,29% 66%,30% 71%,29% 76%,30% 81%,29% 85%,24% 79%,19% 76%,15% 77%,12% 76%,10% 73%,6% 71%,2% 70%,0% 68%);transform-origin:14% 72%}
.wind-blowing .wind-leaf{animation:leafWind 1.6s ease-in-out}
.touch-ripple{position:absolute;z-index:7;width:24px;height:12px;border:2px solid #fff4dc;border-radius:50%;pointer-events:none;animation:waterRing .8s ease-out forwards;box-shadow:0 0 0 6px #fff8df44}
#stage .lock-hit.gesture-target{outline:1.5px solid #ffe6a5;outline-offset:-20px;border-radius:45%;background:none;box-shadow:none}
#stage .departure-scene{touch-action:none}
#stage .departure-final-mist{transition-duration:.85s}
#stage .inspection-hint,#stage .inspection-chest>span{display:none!important}
.spring-garden-link{position:absolute;left:4%;top:16%;z-index:12;background:#fff9e5d9;border:1px solid #876d56;border-radius:3px;padding:.6em 1em;color:#654e41;font:inherit;cursor:pointer}
#stage .snow-reading-place{opacity:1;pointer-events:auto;outline:1px solid #fff4d4;box-shadow:0 0 16px #fff8de99}
@keyframes handTap{0%,100%{transform:translate(5px,9px);opacity:.65}45%,65%{transform:translate(0,0) scale(.92);opacity:1}}
@keyframes handDrag{0%,12%{transform:translate(0,0);opacity:0}22%{opacity:1}75%{transform:translate(var(--drag-x),var(--drag-y));opacity:1}95%,100%{transform:translate(var(--drag-x),var(--drag-y));opacity:0}}
@keyframes handSwipe{0%,100%{transform:translateX(-28px);opacity:0}20%{opacity:1}80%{transform:translateX(45px);opacity:1}}
@keyframes handUp{0%,100%{transform:translateY(35px);opacity:0}20%{opacity:1}80%{transform:translateY(-35px);opacity:1}}
@keyframes flowerEdge{50%{opacity:.55}}
@keyframes nextInvite{50%{box-shadow:0 0 0 2px #b38366,0 0 28px #fff4d3cc}}
@keyframes waterRing{to{transform:translate(-50%,-50%) scale(10);opacity:0}}
@keyframes leafWind{0%,100%{opacity:0;transform:rotate(0deg)}15%{opacity:1}30%{opacity:1;transform:rotate(-.9deg)}65%{opacity:1;transform:rotate(.65deg)}85%{opacity:1;transform:rotate(-.25deg)}}
@media(prefers-reduced-motion:reduce){.gesture-hand,.flower-contours path,.burial-outlines img,#stage .scene-next{animation:none!important}.touch-ripple,.wind-blowing .wind-leaf{animation-duration:.01ms!important}}

/* Display the supplied artwork directly; its transparent canvas is cropped in CSS. */
#stage{--corner-gap:clamp(10px,1.8vw,28px);--art-button-width:clamp(144px,15vw,200px)}
#stage :is(.scene-prev,.scene-next,.peach-memory-back,.inspection-return,.spring-garden-link,.opening-enter,.empty-chapter>button,.fi-skip,.fi-continue){isolation:isolate;box-sizing:border-box;position:absolute;width:var(--art-button-width);min-width:0;min-height:44px;height:max(44px,calc(var(--art-button-width)*.213));padding:0 20px;border:0;border-radius:0;background:transparent!important;box-shadow:none!important;backdrop-filter:none;color:#fff0bf!important;font:500 clamp(13px,1.15vw,18px)/1.2 var(--ui-serif);letter-spacing:.08em;text-shadow:0 1px 2px #6e170d;display:grid;place-items:center;animation:none}
#stage :is(.scene-prev,.scene-next,.peach-memory-back,.inspection-return,.spring-garden-link,.opening-enter,.empty-chapter>button,.fi-skip,.fi-continue)::before{content:"";position:absolute;z-index:-1;left:0;top:50%;width:100%;aspect-ratio:1080/230;transform:translateY(-50%);background-image:url('assets/button-red-gold.png');background-size:111.111% 521.739%;background-position:50% 50%;background-repeat:no-repeat;pointer-events:none}
#stage :is(.scene-prev,.scene-next,.peach-memory-back,.inspection-return,.spring-garden-link,.opening-enter,.empty-chapter>button,.fi-skip,.fi-continue):focus-visible{outline:2px solid #b97536;outline-offset:3px}
#stage>.scene-prev{top:var(--corner-gap);left:var(--corner-gap);bottom:auto;right:auto;z-index:90}
#stage .scene-nav,#stage.garden-map-active .scene-nav{top:var(--corner-gap);right:var(--corner-gap);bottom:auto;left:auto;min-height:44px;width:var(--art-button-width);padding:0;border:0;background:none;box-shadow:none;z-index:90}
#stage .scene-nav>.scene-next{position:relative;inset:auto;transition:opacity 1s ease;animation:none}
#stage .scene-next.awaiting-invitation{visibility:hidden!important;opacity:0;pointer-events:none}
#stage button[hidden]{display:none!important}
#stage .scene-nav:has(.awaiting-invitation){visibility:hidden;pointer-events:none}
#stage>.restart{top:calc(var(--corner-gap) + 52px);right:var(--corner-gap);width:36px;height:36px;min-height:36px;opacity:.8}
#stage .scene-entry-title[data-chapter="west"] h2{top:23%}
#stage :is(.first-title,.west-title,.title,.story-heading,.departure-small-title){top:calc(var(--corner-gap) + 52px)}
#stage .peach-memory-back{top:var(--corner-gap);left:var(--corner-gap);right:auto;bottom:auto;transform:none}
#stage .inspection-return{top:var(--corner-gap);left:var(--corner-gap);bottom:auto}
#stage .spring-garden-link{left:var(--corner-gap);top:calc(var(--corner-gap) + 60px)}
#stage .empty-chapter>button{position:relative;margin-top:42px}
#stage .opening-enter{left:50%;top:77%;transform:translateX(-50%);text-indent:0}
@media(max-height:500px){#stage{--art-button-width:clamp(132px,19vw,160px);--corner-gap:max(8px,env(safe-area-inset-top,0px))}#stage>.scene-prev,#stage .peach-memory-back{left:max(10px,env(safe-area-inset-left,0px))}#stage .scene-nav,#stage>.restart{right:max(10px,env(safe-area-inset-right,0px))}#stage>.restart{width:30px;height:30px;min-height:30px;top:calc(var(--corner-gap) + 47px)}#stage .gesture-hand{width:26px}#stage .scene-entry-title[data-chapter="west"] h2{top:24%}}
@media(prefers-reduced-motion:reduce){#stage .scene-nav>.scene-next{transition:none}}
