*{box-sizing:border-box} :root{--ink:#493d31;--green:#436b58;--red:#b64e34;--cream:#fbf5e8}body{margin:0;background:#f6efdf;color:var(--ink);font-family:"PingFang SC","Microsoft YaHei",sans-serif}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;cursor:pointer;touch-action:manipulation;border:0}button:focus-visible,a:focus-visible{outline:4px solid #d99a33;outline-offset:4px}button:disabled{cursor:default}button[hidden],[hidden]{display:none!important}.app{max-width:1300px;margin:auto;padding:22px 40px 12px}header{display:flex;align-items:center;justify-content:space-between;margin-bottom:26px}.brand{display:flex;align-items:center;gap:12px;text-decoration:none;color:var(--ink);font-size:18px;letter-spacing:2px;font-weight:600}.brand small{display:block;font-size:9px;letter-spacing:2.3px;font-weight:400;margin-top:5px;color:#94836c}.seal{display:grid;place-items:center;width:43px;height:43px;background:var(--red);color:#fff2d5;border-radius:12px 4px;font-family:serif;font-size:28px;transform:rotate(-5deg)}.tools{display:flex;gap:8px}.tools button{background:#fff8ed;border:1px solid #ddd2be;border-radius:30px;color:#6b6556;padding:11px 14px;font-size:14px}.chapter{display:flex;justify-content:space-between;font-size:12px;letter-spacing:2px;color:#8a7c64;margin:0 4px 12px}.stage{height:min(55vw,580px);min-height:370px;position:relative;isolation:isolate;overflow:hidden;border-radius:25px;background:radial-gradient(ellipse at 40% 15%,#fff4d9,transparent 55%),linear-gradient(#e8dcca,#f4d1a1 70%,#d2b785);border:1px solid #d9c8a6;box-shadow:0 12px 40px #7159350c}.stage:after{content:"";position:absolute;inset:0;pointer-events:none;z-index:30;opacity:.12;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.8' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' opacity='.3' filter='url(%23n)'/%3E%3C/svg%3E")}.sun{position:absolute;width:130px;height:130px;border-radius:50%;background:#fff1cc;top:9%;left:48%;box-shadow:0 0 55px #ffe8b0}.cloud{position:absolute;width:150px;height:32px;background:#fff9e5a0;border-radius:50%;box-shadow:35px -15px 0 -4px #fff9e590,-30px 0 0 -9px #fff9e5;animation:float 8s ease-in-out infinite}.c1{top:17%;left:7%}.c2{top:10%;right:9%;transform:scale(.7)}.mountain{position:absolute;clip-path:polygon(0 100%,0 82%,10% 52%,17% 62%,28% 15%,37% 54%,48% 4%,57% 46%,65% 24%,76% 68%,87% 37%,100% 78%,100% 100%);width:110%;height:74%;bottom:12%;left:-5%;transition:background 2s}.back{background:#bea993;opacity:.4;bottom:22%;transform:scaleX(-1)}.middle{background:#b98062;opacity:.5}.front{background:#a76449;opacity:.5;height:45%;bottom:0}.ground{position:absolute;bottom:-24%;height:47%;width:150%;left:-25%;border-radius:50%;background:#bfad78;transition:background 2s}.path{position:absolute;bottom:-19%;left:15%;height:38%;width:75%;border-radius:50%;background:#e7cd96;transform:rotate(-7deg)}.foliage{position:absolute;bottom:3%;font-size:90px;color:#667449;opacity:.7}.f1{left:1%}.f2{right:1%;font-size:120px}.actor{position:absolute;bottom:6%;height:80%;aspect-ratio:.75;z-index:5;transition:left .6s ease-in-out, transform .55s;pointer-events:none}.hero{left:40%;}.princess{right:0;bottom:7%;height:77%}.sprite{position:absolute;inset:0;background:url('assets/characters.png') left center / 200% 100% no-repeat;z-index:2;filter:drop-shadow(0 7px 6px #60462f20)}.ironfan{background-position:right center}.shadow{position:absolute;bottom:0;left:16%;width:70%;height:5%;background:#59463133;border-radius:50%;filter:blur(6px)}#intro{position:absolute;top:13%;left:6%;z-index:10}.eyebrow{font-size:13px;color:#9d5c40;letter-spacing:4px}h1{font-family:"Songti SC","Noto Serif CJK SC",serif;font-size:clamp(38px,5.5vw,76px);line-height:1.15;letter-spacing:7px;margin:18px 0 18px;font-weight:800}h1 em{font-style:normal;color:#a34d35}#intro p{font-size:16px;line-height:1.9;color:#78654e}.primary{background:var(--green);color:#fffbef;padding:17px 28px;border-radius:40px;min-height:58px;box-shadow:0 5px 0 #304f42;font-weight:600;letter-spacing:2px;font-size:18px}.primary:active{transform:translateY(3px);box-shadow:0 2px 0 #304f42}.primary b{margin-left:24px}.intro-note{margin-top:17px;font-size:11px;color:#8a7558;letter-spacing:2px}.console{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:22px 6px;min-height:114px}.instruction{display:flex;gap:15px;align-items:center}#badge{display:grid;place-items:center;border-radius:50%;background:#e8e2d2;width:48px;height:48px;font-size:25px;flex-shrink:0}h2{font-size:18px;margin:0 0 7px;font-weight:600}.instruction p{font-size:13px;margin:0;color:#93836c;line-height:1.6}.journey{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;border-top:1px solid #ddd2bf;padding-top:17px}.journey div{font-size:14px;color:#a0937e;padding:9px 12px;display:flex;align-items:center;gap:14px;border-radius:10px}.journey span{font-size:11px;border:1px solid #d5c7b0;width:27px;height:27px;border-radius:50%;display:grid;place-items:center}.journey i{margin-left:auto;font-size:22px;font-style:normal}.journey .active{background:#e4e9da;color:#446b54}.journey .done{color:#446b54}.journey .done span{background:#446b54;color:white}footer{font-size:11px;color:#a3937b;margin-top:24px;display:flex;justify-content:space-between;gap:10px}#bubble{position:absolute;top:7%;left:50%;transform:translateX(-50%);background:#fff9eeed;border:1px solid #e6d5ba;border-radius:20px;padding:14px 25px;z-index:12;font-size:clamp(15px,2vw,22px);font-weight:600;max-width:85%;text-align:center;box-shadow:0 5px 20px #65523312;white-space:pre-line}#bubble:empty{display:none}.playing .hero{left:7%;height:67%}.playing .princess{right:5%;height:64%}.ring{position:absolute;z-index:8;bottom:5%;width:115px;height:65px;border-radius:50%;background:#fbeb8c88;border:5px solid #fff4a0;box-shadow:0 0 0 9px #ffe18750,0 0 30px #ffff9b;animation:pulse 1.2s infinite;color:#715b29;font-size:18px;font-weight:bold}.ring:before{content:'↓';position:absolute;bottom:65px;left:35px;font-size:42px;color:#fff4a0;filter:drop-shadow(0 2px 3px #765b32)}#wind{position:absolute;inset:0;pointer-events:none;z-index:7;opacity:0}#wind.blow{opacity:1}#wind i{position:absolute;width:42%;height:35px;border-top:5px solid #fff9e5b0;border-radius:50%;right:-50%;animation:gust 1.4s linear infinite}#wind i:nth-child(1){top:35%}#wind i:nth-child(2){top:48%;animation-delay:.2s}#wind i:nth-child(3){top:63%;animation-delay:.4s}#wind i:nth-child(4){top:77%;animation-delay:.1s}.jump .sprite{animation:jump .8s ease-in-out}.tumble .sprite{animation:tumble .9s ease-in-out}.fanmove .sprite{animation:fan .6s ease-in-out 2}#magic{position:absolute;z-index:10;left:12%;bottom:20%;font-size:110px;pointer-events:none}.transformed .hero .sprite{opacity:0}.transformed #magic{animation:float 1s ease-in-out infinite}.choice{background:#fff9ed;border:2px solid #dbccae;border-radius:18px;min-width:90px;min-height:85px;color:#665b46;padding:8px 15px;box-shadow:0 4px 0 #d8c7a8}.choice b{display:block;font-size:36px}.choice span{font-size:13px}#controls{display:flex;gap:10px;flex-shrink:0}.fire{position:absolute;bottom:27%;z-index:3;font-size:clamp(36px,5vw,65px);animation:flicker 1s ease-in-out infinite;transition:opacity .6s, transform .6s}.fire.out{opacity:0;transform:scale(.1)}.bloom{position:absolute;bottom:20%;z-index:4;font-size:40px;animation:pop .6s both}.green .middle{background:#88a182}.green .front{background:#607d58}.green .ground{background:#8fa875}.green{background:linear-gradient(#e1eddf,#f6e7be)}#overlay{position:absolute;inset:0;z-index:40;background:#f6efdadd;backdrop-filter:blur(7px);display:grid;place-items:center;padding:20px;text-align:center}.card{max-width:460px}.card .big{font-size:64px}.card h2{font-family:serif;font-size:32px;margin:14px 0}.card p{line-height:1.8;font-size:16px;color:#796a54;margin:10px 0 22px}.secondary{display:block;background:transparent;color:#796a54;margin:22px auto 0;text-decoration:underline;padding:8px}.paused *{animation-play-state:paused!important}.spark{position:absolute;z-index:11;font-size:26px;animation:confetti 2.7s ease-out forwards;pointer-events:none}.progress{font-size:20px;color:#b98d40;letter-spacing:7px}@keyframes pulse{50%{box-shadow:0 0 0 14px #ffe18720,0 0 40px #ffff9b}}@keyframes float{50%{translate:0 -9px}}@keyframes jump{50%{transform:translateY(-70px) rotate(-8deg)}}@keyframes tumble{50%{transform:translateX(-30px) rotate(-30deg)}}@keyframes gust{to{right:110%}}@keyframes fan{50%{transform:rotate(-12deg)}}@keyframes flicker{50%{scale:1.07 .93}}@keyframes pop{from{transform:scale(0)}to{transform:scale(1)}}@keyframes confetti{from{transform:translateY(-30px) rotate(0);opacity:1}to{transform:translateY(400px) rotate(180deg);opacity:0}}@media(max-width:760px){.app{padding:14px 14px 10px}header{margin-bottom:18px}.brand{font-size:14px;letter-spacing:1px}.brand small{font-size:7px}.seal{width:35px;height:35px;font-size:24px}.tools{gap:5px}.tools button{padding:10px;font-size:13px}.tools button span{display:none}.chapter{font-size:10px;letter-spacing:1px}.chapter #dots{font-size:9px}.stage{min-height:420px;height:65vh;max-height:580px;border-radius:20px}.hero{height:57%;left:18%;bottom:4%}.princess{height:54%;right:-7%;bottom:4%}#intro{top:6%;left:7%}h1{font-size:42px;margin:12px 0;letter-spacing:4px}#intro p{font-size:13px;margin:8px 0}.eyebrow{font-size:11px;letter-spacing:2px}.primary{padding:13px 22px;font-size:16px;min-height:52px}.intro-note{font-size:10px;margin-top:12px}#intro .primary{position:absolute;top:275px;left:0;min-width:170px;z-index:15}#intro .intro-note{position:absolute;top:325px;width:210px;color:#625336}.console{flex-direction:column;align-items:stretch;padding:18px 2px;gap:14px}h2{font-size:16px}.instruction p{font-size:12px}#controls{justify-content:center}.choice{flex:1;max-width:140px}.journey{gap:4px;padding-top:10px}.journey div{padding:7px 3px;font-size:11px;gap:5px}.journey i{display:none}.journey span{width:23px;height:23px}footer{font-size:10px;line-height:1.7}footer span{display:none}.playing .hero{height:55%;left:0}.playing .princess{height:53%;right:-6%;bottom:15%}.ring{width:90px;height:59px}.ring:before{left:24px}.playing #bubble{top:7%;width:88%;padding:13px;max-width:92%}#magic{font-size:90px;left:12%;bottom:20%}.fire{font-size:45px}.card h2{font-size:27px}}@media(max-height:520px) and (orientation:landscape){.app{padding:8px 18px}header{margin-bottom:8px}.brand small,.chapter,footer,.journey{display:none}.stage{height:65vh;min-height:240px}.console{padding:12px 0;flex-direction:row;min-height:75px}h1{font-size:35px;margin:8px 0}#intro{top:7%}#intro p{font-size:12px}#intro .primary{position:static;padding:9px 18px;min-height:42px}#intro .intro-note{display:none}.hero{height:83%;left:38%}.princess{height:80%;right:0}.choice{min-height:60px;min-width:65px;padding:4px 10px}.choice b{font-size:24px}.playing .hero{height:75%}.playing .princess{height:73%}.ring{height:45px}.card .big{font-size:35px}.card h2{margin:6px;font-size:25px}.card p{margin:6px 0 12px}}
/* Three living storybook worlds */
#world{position:absolute;inset:-1%;z-index:-1;background:url('assets/worlds.png') center top/100% 310%;transition:filter 2s,transform 2s;animation:world-breathe 18s ease-in-out infinite}.stage{background:#dbe2b9;touch-action:pan-y}.stage .mountain,.stage .ground,.stage .path,.stage .foliage,.stage .sun{display:none}.stage[data-scene="2"] #world{background-position:center 48%}.stage[data-scene="3"] #world{background-position:center bottom}.stage.green #world{filter:hue-rotate(45deg) saturate(.7) brightness(1.14)}#intro{background:linear-gradient(100deg,#fff2dbe8,#fff2dbbe 65%,transparent);border-radius:20px;padding:22px 40px 24px 25px;top:8%;left:4%}#intro h1{margin:10px 0}.playing #world{animation:world-breathe 18s ease-in-out infinite}.playing .hero{height:56%;bottom:5%;left:3%;transition:left .6s,bottom .6s;z-index:7}.playing .princess{height:60%;right:0;bottom:13%;animation:princess-idle 4s ease-in-out infinite}.hero{animation:hero-idle 4s ease-in-out infinite}.hero .action-sprite{display:none;position:absolute;inset:0;background:url('assets/actions.png') 0 0/200% 200% no-repeat;filter:drop-shadow(0 5px 4px #40301424)}.hero.pose-wave,.hero.pose-jump,.hero.pose-fan{aspect-ratio:1}.hero.pose-wave .sprite,.hero.pose-jump .sprite,.hero.pose-fan .sprite{display:none}.hero.pose-wave .action-sprite,.hero.pose-jump .action-sprite,.hero.pose-fan .action-sprite{display:block}.hero.pose-jump .action-sprite{background-position:100% 0}.hero.pose-fan .action-sprite{background-position:0 100%}.hero.fanning .action-sprite{animation:fan-frames .65s steps(1) 2}.hero-hit{position:absolute;inset:20% 20% 0;background:transparent;pointer-events:auto;z-index:9}.ride-cloud{display:none;position:absolute;bottom:-15%;left:10%;font-size:100px;color:#fff6d9;text-shadow:0 5px 6px #b89e66;z-index:3}.hero.riding .ride-cloud{display:block}.hero.riding{animation:cloud-rescue 1.8s ease-in-out}.hero.jumping{animation:leap .65s ease-in-out}.hero.waving{animation:hello .7s ease-in-out 2}.hero.hiding{filter:brightness(.9)}.princess.casting{animation:cast .65s ease-in-out 2}.princess.casting:after{content:'🍃';position:absolute;font-size:95px;right:2%;top:20%;z-index:4;animation:cast-fan .65s ease-in-out 2}.princess.happy{animation:hello .7s ease-in-out 2}#decor,#ambience,#weather,#touchfx{position:absolute;inset:0;pointer-events:none}#decor{z-index:9}#ambience{z-index:2;overflow:hidden}#weather{z-index:12}#touchfx{z-index:22}.leaf{position:absolute;top:-15%;font-size:22px;opacity:.8;animation:leaf-drift 11s linear infinite}.gusting .leaf{animation-duration:1.3s}.bamboo{position:absolute;bottom:0;width:9px;height:80%;background:repeating-linear-gradient(0deg,#4f785f 0 62px,#9daf77 63px 67px);transform-origin:bottom;opacity:.6;animation:bamboo-sway 5s ease-in-out infinite}.bamboo:before,.bamboo:after{content:'❧';position:absolute;color:#4b7652;font-size:70px;left:-30px;top:18%;transform:rotate(-35deg)}.bamboo:after{top:50%;transform:rotate(30deg)}.gusting .bamboo{animation:strong-sway .7s ease-in-out infinite}.ripple{position:absolute;left:22%;top:54%;width:28%;height:4%;border:2px solid #d6ffec9c;border-radius:50%;animation:pond 3s ease-out infinite}.firefly{position:absolute;width:7px;height:7px;border-radius:50%;background:#ffffb5;box-shadow:0 0 14px #fff;animation:firefly 4s ease-in-out infinite}.heat{position:absolute;inset:30% 0 20%;background:repeating-linear-gradient(95deg,transparent 0 100px,#ffecb81c 110px 120px,transparent 130px 210px);animation:heat 3s ease-in-out infinite}.green .heat{display:none}.hotspot{position:absolute;pointer-events:auto;min-width:60px;min-height:60px;border-radius:50%;background:transparent;font-size:46px;padding:3px;z-index:9;filter:drop-shadow(0 5px 4px #322a2922);touch-action:manipulation}.hotspot.target{animation:target-glow 1.5s ease-in-out infinite}.hotspot.done{animation:pop .6s both;pointer-events:none}.hotspot small{position:absolute;bottom:-17px;left:50%;transform:translateX(-50%);font-size:12px;background:#fff7dfe8;color:#496044;white-space:nowrap;padding:4px 10px;border-radius:12px}.rock{width:110px;height:80px;border-radius:60% 50% 18% 22%;background:linear-gradient(145deg,#afbaa0,#677a66 65%,#526b50);border-bottom:7px solid #53654e;box-shadow:inset 10px 8px 12px #d3d6b650,0 6px 10px #23372c30;font-size:18px;color:white;bottom:4%}.rock:after{content:'❧';position:absolute;top:4px;left:8px;color:#c5d29b;font-size:32px}.rock.active{outline:5px solid #ffe28a;box-shadow:0 0 0 12px #ffeaa766,0 0 38px #fff3c0;animation:target-glow 1s infinite}.rock.active:before{content:'↓ 躲这里';position:absolute;top:-42px;left:-2px;width:110px;color:#56704b;background:#fff7dd;border-radius:20px;padding:8px;font-size:15px;font-weight:bold}.small-surprise{font-size:35px;opacity:.9}.trail{position:absolute;font-size:24px;transform:translate(-50%,-50%);animation:touch-pop .9s ease-out forwards}.flying-animal{position:absolute;left:15%;top:50%;width:80px;height:80px;display:grid;place-items:center;font-size:65px;z-index:15;transition:left .7s ease-in-out,top .7s ease-in-out;pointer-events:none;filter:drop-shadow(0 6px 5px #35422833)}.flying-animal span{display:block;animation:flutter .3s ease-in-out infinite}.transformed .hero{opacity:0}.transformed #magic{animation:none;inset:0;left:0;bottom:0;pointer-events:none}.petal{position:absolute;font-size:22px;animation:leaf-drift 8s linear infinite;color:#ffcbdf}.rain-drop{position:absolute;top:-15%;width:2px;height:25px;background:#c3e8fac9;animation:rain .65s linear infinite}.flower-bed{position:absolute;bottom:0;height:25%;width:100%;background:linear-gradient(transparent,#83a660c9);animation:pop .8s}.cloud-button{font-size:76px;top:20%;left:43%;animation:float 3s ease-in-out infinite}.fan-button{font-size:55px;bottom:7%;left:43%;background:#fbf3dcb8;border:3px solid #fff1a1;border-radius:50%;width:90px;height:90px;box-shadow:0 0 25px #fff5bd}.fire{z-index:6;transform-origin:bottom;pointer-events:none}.gusting .fire{transform:skewX(20deg) scaleY(.75)}#wind.reverse{transform:scaleX(-1)}#travel{position:absolute;inset:0;z-index:35;pointer-events:none;background:#f5f3df;display:grid;place-items:center;animation:cloud-wipe 3.2s both}#travel span{font-size:220px;color:#fff;text-shadow:0 10px 40px #b5c8bc;animation:travel-cloud 3.2s both}#travel b{position:absolute;bottom:28%;font-size:24px;color:#56725f}#travel:before,#travel:after{content:'☁';position:absolute;left:-20%;font-size:300px;color:#fff;animation:travel-cloud 3.2s both}#travel:after{left:auto;right:-15%;top:-20%;animation-direction:reverse}.walking-team{position:absolute;bottom:12%;z-index:10;white-space:nowrap;font-size:55px;animation:walk-home 8s linear forwards}.walking-team span{display:inline-block;animation:step .5s ease-in-out infinite alternate}.walking-team span:nth-child(even){animation-delay:.25s}.playing #bubble{top:4%;font-size:18px;max-width:82%;padding:11px 20px;background:#fff9eeed}.console{min-height:100px}.hint-hand{position:absolute;right:-20px;top:-35px;font-size:38px;animation:hint-tap 1s infinite;pointer-events:none}.stage .cloud{z-index:1;pointer-events:auto;cursor:pointer}.stage[data-scene="2"] .cloud{display:none}
@keyframes world-breathe{50%{transform:scale(1.025) translateX(-.4%)}}@keyframes hero-idle{50%{translate:0 -3px;rotate:.5deg}}@keyframes princess-idle{50%{rotate:-1deg;translate:0 -4px}}@keyframes fan-frames{0%,100%{background-position:0 100%}50%{background-position:100% 100%}}@keyframes leap{0%{transform:scale(1.03,.94)}45%{transform:translateY(-60px) rotate(-5deg)}100%{transform:none}}@keyframes hello{50%{rotate:4deg;translate:0 -6px}}@keyframes cast{50%{rotate:-8deg}}@keyframes cast-fan{50%{rotate:-45deg;translate:-35px 0}}@keyframes cloud-rescue{50%{translate:0 -100px;rotate:-8deg}}@keyframes leaf-drift{0%{transform:translate(-20px,-20px) rotate(0);opacity:0}10%{opacity:.9}100%{transform:translate(230px,650px) rotate(290deg);opacity:.2}}@keyframes bamboo-sway{50%{transform:rotate(3deg)}}@keyframes strong-sway{50%{transform:rotate(-15deg)}}@keyframes pond{to{scale:1.8;opacity:0}}@keyframes firefly{50%{translate:20px -30px;opacity:.3}}@keyframes heat{50%{transform:skewX(5deg);opacity:.4}}@keyframes target-glow{50%{filter:drop-shadow(0 0 15px #fff89a);scale:1.08}}@keyframes touch-pop{to{translate:0 -60px;scale:1.6;opacity:0}}@keyframes flutter{50%{scale:.85 1.08;rotate:8deg}}@keyframes rain{to{translate:-70px 650px}}@keyframes cloud-wipe{0%,100%{opacity:0;transform:translateX(-110%)}20%,80%{opacity:1;transform:translateX(0)}99%{opacity:0;transform:translateX(110%)}}@keyframes travel-cloud{from{translate:-120% 0}to{translate:130% 0}}@keyframes walk-home{from{left:-30%}to{left:105%}}@keyframes step{to{translate:0 -7px;rotate:3deg}}@keyframes hint-tap{50%{scale:.8;translate:-4px 6px}}
@media(max-width:760px){.stage{min-height:440px;height:64vh;max-height:620px}#world{background-size:190% 310%}.playing .hero{height:40%;bottom:7%;left:0}.playing .princess{height:44%;right:-5%;bottom:25%}#intro{top:4%;left:4%;padding:15px 20px 14px;max-width:90%}#intro .primary{position:static;min-width:150px;margin-top:5px}#intro .intro-note{position:static;width:auto;font-size:9px}.stage:not(.playing) .hero{left:5%;height:47%;bottom:2%}.stage:not(.playing) .princess{right:-3%;height:49%;bottom:2%}.playing #bubble{font-size:15px;top:4%;max-width:93%;width:93%;padding:12px}.rock{width:83px;height:66px;font-size:14px}.rock.active:before{width:90px;left:-3px;font-size:13px;top:-37px}.flying-animal{font-size:54px;width:65px;height:65px}.hotspot{font-size:39px;min-width:57px;min-height:57px}.fan-button{width:79px;height:79px;font-size:48px;left:46%;bottom:5%}.cloud-button{font-size:64px;left:36%}.walking-team{font-size:38px}.hero-hit{inset:10%}.fire{font-size:39px}.leaf{font-size:17px}.tools button span{display:none}.console{min-height:110px}.choice{min-height:74px}.choice b{font-size:30px}.bloom{font-size:32px}#travel b{font-size:20px}.journey div{font-size:11px}}
@media(max-height:520px) and (orientation:landscape){.stage{min-height:240px;height:65vh}#world{background-size:100% 310%}.playing .hero{height:65%}.playing .princess{height:67%;bottom:9%}.stage:not(.playing) .hero{height:80%;left:43%}.stage:not(.playing) .princess{height:80%;right:0}#intro{top:3%;padding:9px 18px}#intro h1{font-size:30px;line-height:1.05}#intro p{font-size:11px}.playing #bubble{font-size:14px;top:3%;padding:7px 14px}.fan-button{width:65px;height:65px;font-size:38px}.cloud-button{top:20%}.rock{width:86px;height:52px}.rock.active:before{top:-32px;padding:5px}#travel b{bottom:15%}.hotspot{font-size:35px}}
.stage.playing[data-scene="3"]{touch-action:none}.walking-team svg{height:100px;width:72px;filter:drop-shadow(0 4px 2px #72593733)}.walking-team{display:flex;align-items:flex-end;gap:7px}.walking-team span:nth-child(2) svg{width:90px}@media(max-width:760px){.walking-team svg{height:75px;width:48px}.walking-team span:nth-child(2) svg{width:66px}}
/* Natural stone props, two-chapter adventure */
.journey{grid-template-columns:repeat(2,1fr)}.rock{width:175px;height:126px;border:0;border-radius:0;background:url('assets/boulder.png') center/contain no-repeat;box-shadow:none;bottom:2%;padding:0;filter:drop-shadow(0 5px 3px #3d48343b)}.rock:after{display:none}.rock.active{outline:0;box-shadow:none;animation:stone-light 1.8s ease-in-out infinite}.rock.active:before{left:50%;transform:translateX(-50%);top:-22px;width:100px;padding:5px 8px;font-size:13px;background:#fff8dfed;box-shadow:0 2px 6px #5c512c22}.rock:not(.active){background-size:95% 94%;filter:brightness(.94) drop-shadow(0 5px 3px #3d48343b)}.small-surprise img{width:65px;height:50px;object-fit:contain;display:block}.hero.hiding{transform:scale(.64);transform-origin:50% 100%;animation:none;transition:transform .3s,left .6s,bottom .6s}.rock .hint-hand{top:-50px;right:-5px}@keyframes stone-light{0%,100%{filter:drop-shadow(0 5px 3px #3d48344b) drop-shadow(0 0 3px #ffe38c88)}50%{filter:drop-shadow(0 5px 3px #3d48344b) drop-shadow(0 0 10px #ffe38cdd)}}@media(max-width:760px){.rock{width:112px;height:88px;bottom:3%}.rock.active:before{top:-24px;width:90px;font-size:12px}.small-surprise img{width:52px;height:42px}}@media(max-height:520px) and (orientation:landscape){.rock{width:125px;height:84px;bottom:1%}.rock.active:before{top:-18px}}
/* Focused prompts and immediate completion */
.hint-hand,.rock .hint-hand{left:auto;right:-23px;top:35%;font-size:32px;z-index:5;pointer-events:none;transform:rotate(-30deg)}.cloud-button{width:190px;height:135px;padding:0;background:transparent;border:0;animation:float 3s ease-in-out infinite}.cloud-button img{width:100%;height:100%;object-fit:contain;filter:brightness(.8) saturate(.85);transition:filter .35s}.cloud-button small{bottom:-6px;font-size:14px;background:#edf3fa;color:#425a76}.cloud-button.raining-cloud img{filter:brightness(.5) saturate(1.2)}.cloud-button.raining-cloud small{display:none}.bud{width:100px;height:100px;min-width:0;min-height:0;background:radial-gradient(ellipse,#fff4b0c9 0%,#f7ebac7a 45%,transparent 70%);border:0;padding:6px;transform-origin:50% 100%;animation:bud-sway 2.2s ease-in-out infinite!important}.bud .flower-icon{display:block;font-size:65px;line-height:1.1;filter:drop-shadow(0 4px 3px #3a583033)}.bud:not(.done) .flower-icon{filter:saturate(.8) drop-shadow(0 0 8px #fff7ba);transform:scale(.8)}.bud small{bottom:-10px;font-size:12px;background:#fffbea;color:#4d6741}.bud.done{background:transparent;animation:flower-open .55s both!important}.bud.done small{background:#e9f4de;color:#426b35}.bud.done .flower-icon{font-size:75px}.bud .hint-hand{top:-15px;right:0}.stage #victory{position:absolute;left:50%;top:21%;transform:translateX(-50%);width:min(440px,88%);padding:22px;text-align:center;background:#fff9e9f5;border:2px solid #d6b861;border-radius:24px;z-index:25;box-shadow:0 12px 40px #63522e33;animation:pop .5s}.stage #victory h2{font-size:26px;color:#44663b}.stage #victory p{font-size:14px;line-height:1.6;color:#79684f}.stage #victory .primary{min-height:44px;padding:11px 22px;font-size:15px}.stage #victory .secondary{display:inline-block;margin:0 0 0 8px;padding:10px;font-size:13px}@keyframes bud-sway{50%{rotate:4deg;translate:0 -4px}}@keyframes flower-open{from{transform:scale(.7)}65%{transform:scale(1.18)}to{transform:scale(1)}}@media(max-width:760px){.cloud-button{width:142px;height:108px;margin-left:-25px}.bud{width:64px;height:80px;padding:2px}.bud .flower-icon{font-size:49px}.bud.done .flower-icon{font-size:55px}.bud small{font-size:10px;padding:3px 5px;bottom:-7px}.hint-hand,.rock .hint-hand{font-size:28px;right:-19px}.bud .hint-hand{right:0;top:-19px}.stage #victory{top:21%;padding:17px}.stage #victory h2{font-size:21px}.stage #victory p{font-size:12px}}@media(max-height:520px) and (orientation:landscape){.cloud-button{width:135px;height:90px}.bud{width:62px;height:53px}.bud .flower-icon,.bud.done .flower-icon{font-size:42px}.bud small{bottom:-9px;font-size:9px}.stage #victory{top:17%;padding:12px}.stage #victory h2{font-size:20px;margin:0}.stage #victory p{margin:6px}.stage #victory .primary{min-height:35px;padding:7px 18px}}
.stage #victory{animation:victory-appear .4s ease-out}@keyframes victory-appear{from{opacity:0;transform:translateX(-50%) scale(.9)}to{opacity:1;transform:translateX(-50%) scale(1)}}
/* Bigger shelter and a visible Monkey King cloud journey */
.rock{width:238px;height:172px}.rock.active:before{top:-15px}.hero.hiding{transform:scale(.7)}
#travel{display:block;background:linear-gradient(#cce7df 0%,#f9efcf 60%,#ecc99c);animation:flight-screen 5.2s linear both;overflow:hidden}#travel:before,#travel:after{display:none}#travel b{top:8%;bottom:auto;left:8%;width:84%;text-align:center;font-size:23px;letter-spacing:2px;color:#536653;text-shadow:0 2px 5px #fff8e5;z-index:5}.flight-landscape{position:absolute;inset:0;background:url('assets/worlds.png') center bottom/120% 310% no-repeat;animation:approach-mountain 5.2s ease-in-out both}.flight-rider{position:absolute;width:300px;height:300px;top:28%;left:-40%;z-index:4;animation:monkey-flight 5.2s linear both}.flight-body{position:absolute;width:78%;height:78%;top:0;left:25%;background:url('assets/actions.png') left top/200% 200% no-repeat;filter:drop-shadow(0 5px 3px #60523422);animation:rider-bob .8s ease-in-out infinite}.flight-cloud{position:absolute;left:-8%;bottom:4%;width:118%;height:39%;object-fit:contain;filter:drop-shadow(0 9px 9px #917b4644);animation:rider-bob .8s ease-in-out infinite}.flight-mist{position:absolute;height:60px;width:240px;border-radius:50%;background:#fffcf0e0;box-shadow:80px 15px 0 4px #fffcf0c9,-50px 12px 0 -8px #fffcf0ca;z-index:2;left:110%;animation:passing-cloud 2.8s linear infinite}.mist-back{top:25%;opacity:.6;animation-delay:-1.3s}.mist-front{top:70%;width:320px;height:75px;z-index:6;opacity:.85;animation-duration:2s}
@keyframes monkey-flight{0%{left:-42%;top:52%;transform:rotate(-8deg)}20%{left:18%;top:30%;transform:rotate(-5deg)}45%{left:34%;top:20%;transform:rotate(0)}68%{left:42%;top:25%;transform:rotate(3deg)}83%{left:63%;top:35%;transform:rotate(7deg)}100%{left:115%;top:44%;transform:rotate(4deg)}}@keyframes rider-bob{50%{translate:0 -6px}}@keyframes passing-cloud{to{left:-60%}}@keyframes approach-mountain{0%,30%{opacity:0;transform:scale(.85);filter:blur(3px)}65%{opacity:.7}100%{opacity:1;transform:scale(1.03);filter:blur(0)}}@keyframes flight-screen{0%{opacity:0}7%,96%{opacity:1}100%{opacity:0}}
@media(max-width:760px){.rock{width:148px;height:113px;bottom:2%}.rock.active:before{top:-15px}#travel b{font-size:17px;top:10%;left:4%;width:92%;letter-spacing:1px}.flight-rider{width:210px;height:210px}.flight-landscape{background-size:210% 310%}.flight-mist{height:40px;width:145px}.mist-front{height:50px;width:180px}}
@media(max-height:520px) and (orientation:landscape){.rock{width:166px;height:114px;bottom:0}.rock.active:before{top:-13px}.flight-rider{width:175px;height:175px}#travel b{top:5%;font-size:17px}.flight-landscape{background-size:120% 310%}}
