@import"https://fonts.googleapis.com/css2?family=Ma+Shan+Zheng&family=ZCOOL+KuaiLe&display=swap";:root{--red-primary: #D4213D;--red-dark: #9B1B30;--red-light: #F25C78;--gold: #F2B705;--gold-light: #FFD54F;--cream: #FFF8E7;--sky-blue: #87CEEB;--sky-light: #C8E6F5;--green-dark: #2D5A3D;--green-light: #5FAD56;--brown: #8B6F47;--brown-light: #C4A265;--white: #FFFFFF;--paper-texture: #FDF5E6;--font-display: "Ma Shan Zheng", cursive;--font-body: "ZCOOL KuaiLe", cursive}*{margin:0;padding:0;box-sizing:border-box}html,body,#root{width:100%;height:100%;overflow:hidden;touch-action:manipulation;-webkit-tap-highlight-color:transparent;user-select:none;-webkit-user-select:none}body{font-family:var(--font-body);background:var(--cream)}.game-container{width:100%;height:100dvh;position:relative;overflow:hidden;background:linear-gradient(180deg,#87ceeb,#c8e6f5 40%,#fff8e7,#f5e6c8)}.start-screen{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;z-index:100;background:linear-gradient(180deg,#87ceeb,#c8e6f5 40%,#fff8e7,#f5e6c8)}.start-title{font-family:var(--font-display);font-size:clamp(2rem,8vw,4rem);color:var(--red-primary);text-shadow:2px 2px 0 var(--gold),-1px -1px 0 var(--red-dark);margin-bottom:2rem}.start-subtitle{font-family:var(--font-body);font-size:clamp(1rem,4vw,1.5rem);color:var(--red-dark);margin-bottom:3rem;animation:pulse 1.5s ease-in-out infinite}@keyframes pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.6;transform:scale(.95)}}.start-horse-container{position:relative;width:150px;height:150px;margin-bottom:2rem}.background-layer{position:absolute;bottom:0;left:0;width:100%;height:100%;pointer-events:none}.cloud{position:absolute;background:#ffffffe6;border-radius:50px;filter:blur(1px)}.cloud:before,.cloud:after{content:"";position:absolute;background:#ffffffe6;border-radius:50%}.cloud:before{width:60%;height:130%;top:-50%;left:20%}.cloud:after{width:40%;height:110%;top:-30%;left:55%}.mountains{position:absolute;bottom:25%;left:0;width:200%;height:30%}.mountain{position:absolute;bottom:0;width:0;height:0;border-style:solid;opacity:.3}.ground{position:absolute;bottom:0;left:0;width:200%;height:25%;background:linear-gradient(180deg,#8bc34a,#6b8e23 30%,#5a7a1e)}.ground-decoration{position:absolute;width:100%;height:100%}.grass-blade{position:absolute;bottom:70%;width:3px;background:#4caf50;border-radius:50% 50% 0 0;transform-origin:bottom center}.game-scene{position:absolute;inset:0;overflow:hidden}.horse-wrapper{position:absolute;z-index:10}.horse{position:relative;width:80px;height:70px}.horse-body{position:absolute;width:50px;height:30px;background:var(--red-primary);border-radius:25px 20px 5px 5px;top:15px;left:10px;box-shadow:inset -3px -3px 0 var(--red-dark)}.horse-body:after{content:"";position:absolute;width:15px;height:8px;background:var(--gold);border-radius:50%;top:8px;left:15px;box-shadow:0 0 0 2px var(--red-primary)}.horse-head{position:absolute;width:22px;height:28px;background:var(--red-primary);border-radius:12px 12px 5px 8px;top:2px;left:48px;transform:rotate(-10deg);box-shadow:inset -2px -2px 0 var(--red-dark)}.horse-ear{position:absolute;width:6px;height:12px;background:var(--red-dark);border-radius:3px 3px 0 0;top:-8px;right:3px;transform:rotate(15deg)}.horse-eye{position:absolute;width:5px;height:5px;background:var(--gold);border-radius:50%;top:8px;right:4px;box-shadow:inset 1px 1px 0 var(--red-dark)}.horse-mane{position:absolute;top:0;left:35px;width:20px;height:20px}.mane-strand{position:absolute;width:8px;height:3px;background:var(--gold);border-radius:4px;transform-origin:right center}.mane-strand:nth-child(1){top:2px;transform:rotate(-20deg)}.mane-strand:nth-child(2){top:7px;transform:rotate(-10deg)}.mane-strand:nth-child(3){top:12px;transform:rotate(0)}.horse-legs{position:absolute;bottom:0;left:15px;width:50px;height:25px}.horse-leg{position:absolute;width:6px;height:20px;background:var(--red-dark);border-radius:3px;bottom:0;transform-origin:top center}.horse-leg:after{content:"";position:absolute;bottom:0;left:-1px;width:8px;height:4px;background:var(--gold);border-radius:2px}.horse-leg.front-left{left:32px}.horse-leg.front-right{left:38px}.horse-leg.back-left{left:5px}.horse-leg.back-right{left:11px}.horse-running .horse-leg.front-left{animation:legFront .4s ease-in-out infinite}.horse-running .horse-leg.front-right{animation:legFront .4s ease-in-out infinite .2s}.horse-running .horse-leg.back-left{animation:legBack .4s ease-in-out infinite .1s}.horse-running .horse-leg.back-right{animation:legBack .4s ease-in-out infinite .3s}@keyframes legFront{0%,to{transform:rotate(-20deg)}50%{transform:rotate(30deg)}}@keyframes legBack{0%,to{transform:rotate(25deg)}50%{transform:rotate(-25deg)}}.horse-tail{position:absolute;top:15px;left:0;width:15px;height:6px;overflow:visible}.tail-strand{position:absolute;width:12px;height:3px;background:var(--gold);border-radius:5px;transform-origin:right center;right:0}.tail-strand:nth-child(1){top:0;animation:tailWag .6s ease-in-out infinite}.tail-strand:nth-child(2){top:4px;animation:tailWag .6s ease-in-out infinite .1s}.tail-strand:nth-child(3){top:8px;animation:tailWag .6s ease-in-out infinite .2s}@keyframes tailWag{0%,to{transform:rotate(-15deg)}50%{transform:rotate(-35deg)}}.obstacle{position:absolute;z-index:5}.obstacle-rock{width:40px;height:30px;position:relative}.obstacle-rock .rock-body{width:100%;height:100%;background:linear-gradient(135deg,#9e9e9e,#757575);border-radius:40% 50% 45% 55%;position:relative;box-shadow:inset -3px -3px 5px #0000004d,2px 2px 4px #0003}.obstacle-rock .rock-body:before{content:"";position:absolute;width:30%;height:25%;background:#ffffff4d;border-radius:50%;top:15%;left:20%}.obstacle-fence{width:30px;height:40px;position:relative}.fence-post{position:absolute;width:6px;height:100%;background:linear-gradient(180deg,var(--brown),var(--brown-light));border-radius:2px;bottom:0}.fence-post:first-child{left:2px}.fence-post:last-child{right:2px}.fence-rail{position:absolute;width:100%;height:5px;background:var(--brown);border-radius:2px;left:0}.fence-rail:nth-child(2){top:8px}.fence-rail:nth-child(3){top:22px}.obstacle-bush{width:45px;height:30px;position:relative}.bush-body{width:100%;height:100%;background:radial-gradient(circle at 50% 60%,var(--green-light),var(--green-dark));border-radius:50% 50% 40% 40%;position:relative}.bush-body:before{content:"";position:absolute;width:60%;height:70%;background:radial-gradient(circle,var(--green-light),var(--green-dark));border-radius:50%;top:-30%;left:20%}.collectible{position:absolute;z-index:6;cursor:pointer;filter:drop-shadow(0 2px 4px rgba(0,0,0,.2))}.collectible-inner{font-size:30px;animation:float 1.5s ease-in-out infinite}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-5px)}}.collect-flash{position:absolute;inset:-10px;background:radial-gradient(circle,rgba(255,215,0,.6),transparent);border-radius:50%;animation:flashOut .4s ease-out forwards}@keyframes flashOut{0%{transform:scale(.5);opacity:1}to{transform:scale(2);opacity:0}}.progress-bar-container{position:absolute;top:15px;left:50%;transform:translate(-50%);width:60%;max-width:300px;z-index:50}.progress-bar-bg{width:100%;height:12px;background:#ffffff80;border-radius:6px;border:2px solid var(--gold);overflow:hidden;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}.progress-bar-fill{height:100%;background:linear-gradient(90deg,var(--red-primary),var(--gold));border-radius:4px;transition:width .3s ease}.progress-icon{position:absolute;top:-2px;font-size:16px;transform:translate(-50%);transition:left .3s ease}.collect-count{position:absolute;top:15px;right:15px;z-index:50;font-family:var(--font-body);font-size:clamp(1rem,3vw,1.3rem);color:var(--red-primary);background:#ffffffb3;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);padding:4px 12px;border-radius:20px;border:2px solid var(--gold)}.finale-overlay{position:absolute;inset:0;z-index:200;display:flex;align-items:center;justify-content:center;background:#0000004d}.scroll-container{position:relative;width:85%;max-width:380px}.scroll-body{background:linear-gradient(180deg,#fff8e7,#f5e6c8);border:3px solid var(--gold);border-radius:8px;padding:2rem 1.5rem;position:relative;box-shadow:0 10px 40px #0000004d,inset 0 0 20px #f2b7051a}.scroll-roller{width:calc(100% + 20px);height:20px;background:linear-gradient(180deg,var(--gold),var(--gold-light),var(--gold));border-radius:10px;margin-left:-10px;box-shadow:0 2px 8px #0003;position:relative}.scroll-roller:before,.scroll-roller:after{content:"";position:absolute;width:24px;height:24px;background:radial-gradient(circle,var(--gold-light),var(--gold));border-radius:50%;top:-2px;box-shadow:0 2px 4px #0003}.scroll-roller:before{left:-5px}.scroll-roller:after{right:-5px}.scroll-content{text-align:center;padding:1rem 0}.scroll-title{font-family:var(--font-display);font-size:clamp(2rem,8vw,3rem);color:var(--red-primary);text-shadow:2px 2px 0 var(--gold);margin-bottom:1rem;line-height:1.3}.scroll-message{font-family:var(--font-body);font-size:clamp(1rem,4vw,1.4rem);color:var(--red-dark);line-height:1.8;margin-bottom:1rem}.scroll-decoration{font-size:1.5rem;margin:.5rem 0}.scroll-stats{font-family:var(--font-body);font-size:clamp(.8rem,3vw,1rem);color:var(--brown);margin-top:1rem;padding-top:.8rem;border-top:2px dashed var(--gold)}.replay-btn{margin-top:1.2rem;padding:10px 30px;font-family:var(--font-body);font-size:clamp(1rem,4vw,1.2rem);color:var(--white);background:linear-gradient(135deg,var(--red-primary),var(--red-light));border:2px solid var(--gold);border-radius:25px;cursor:pointer;box-shadow:0 4px 15px #d4213d66;transition:transform .2s,box-shadow .2s}.replay-btn:active{transform:scale(.95);box-shadow:0 2px 8px #d4213d66}.paper-decoration{position:absolute;pointer-events:none;z-index:1}.paper-lantern{font-size:24px;position:absolute;animation:lanternSwing 3s ease-in-out infinite}@keyframes lanternSwing{0%,to{transform:rotate(-5deg)}50%{transform:rotate(5deg)}}.tap-hint{position:absolute;bottom:30%;left:50%;transform:translate(-50%);z-index:20;font-family:var(--font-body);font-size:clamp(.9rem,3.5vw,1.2rem);color:var(--red-primary);background:#fffc;padding:8px 20px;border-radius:20px;border:2px solid var(--gold);animation:pulse 1.5s ease-in-out infinite;pointer-events:none}
