html,body,#root{margin:0;min-height:100vh;overflow:hidden}.sky{position:relative;width:100vw;height:100vh;background:linear-gradient(180deg,#1a73e8,#4a90d9,#87ceeb 60%,#b8e4f9);overflow:hidden;cursor:crosshair;-webkit-user-select:none;user-select:none}.sun{position:absolute;top:60px;right:120px;width:100px;height:100px;background:radial-gradient(circle,#fff9c4,#ffd54f 40%,#ff8f00);border-radius:50%;box-shadow:0 0 60px 20px #ffd54f99,0 0 120px 60px #ff980033;animation:sun-pulse 4s ease-in-out infinite;cursor:pointer;transition:transform .3s}.sun:hover{transform:scale(1.15)}.sun.rays:before,.sun.rays:after{content:"";position:absolute;top:50%;left:50%;width:160px;height:160px;margin:-80px 0 0 -80px;border-radius:50%;border:2px dashed rgba(255,213,79,.3);animation:sun-rays-spin 20s linear infinite}.sun.rays:after{width:220px;height:220px;margin:-110px 0 0 -110px;animation-duration:30s;animation-direction:reverse}@keyframes sun-pulse{0%,to{box-shadow:0 0 60px 20px #ffd54f99,0 0 120px 60px #ff980033}50%{box-shadow:0 0 80px 30px #ffd54fb3,0 0 150px 80px #ff98004d}}@keyframes sun-rays-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.cloud{position:absolute;filter:drop-shadow(0 4px 12px rgba(0,0,0,.08));cursor:grab;transition:filter .2s}.cloud:hover{filter:drop-shadow(0 6px 20px rgba(0,0,0,.15))}.cloud.dragging{cursor:grabbing;z-index:100}.cloud-body{position:relative;background:#fff;border-radius:50%}.cloud-body:before,.cloud-body:after{content:"";position:absolute;background:#fff;border-radius:50%}.cloud-body{width:120px;height:50px;border-radius:25px}.cloud-body:before{width:60px;height:60px;top:-30px;left:20px}.cloud-body:after{width:80px;height:70px;top:-35px;left:45px}.cloud.small .cloud-body{width:80px;height:35px;border-radius:18px}.cloud.small .cloud-body:before{width:40px;height:40px;top:-20px;left:15px}.cloud.small .cloud-body:after{width:55px;height:48px;top:-24px;left:30px}.bird{position:absolute;pointer-events:none;animation:bird-fly linear forwards}.bird svg{fill:#333;opacity:.7}@keyframes bird-fly{0%{transform:translate(0) scale(1);opacity:.8}50%{transform:translate(40vw,-20vh) scale(.8);opacity:.6}to{transform:translate(100vw,-40vh) scale(.5);opacity:0}}.shooting-star{position:absolute;width:4px;height:4px;background:#fff;border-radius:50%;box-shadow:0 0 6px 2px #fffc;animation:shoot 1s linear forwards;pointer-events:none}.shooting-star:after{content:"";position:absolute;top:0;right:0;width:60px;height:2px;background:linear-gradient(to left,white,transparent);transform-origin:right;transform:rotate(45deg)}@keyframes shoot{0%{transform:translate(0);opacity:1}to{transform:translate(-300px,300px);opacity:0}}.rainbow{position:absolute;bottom:-200px;left:50%;transform:translate(-50%);width:600px;height:300px;border-radius:300px 300px 0 0;border:30px solid transparent;border-top:30px solid red;box-shadow:0 -8px orange,0 -16px #ff0,0 -24px green,0 -32px #2196f3,0 -40px #9c27b0;opacity:0;transition:opacity 1.5s,bottom 1.5s;pointer-events:none}.rainbow.visible{opacity:.7;bottom:-50px}.controls{position:fixed;bottom:24px;left:50%;transform:translate(-50%);display:flex;gap:10px;z-index:10}.controls button{padding:8px 18px;border:none;border-radius:20px;background:#ffffffd9;color:#333;font-size:.85rem;font-weight:500;cursor:pointer;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:0 2px 10px #0000001a;transition:all .2s}.controls button:hover{background:#fff;transform:translateY(-2px);box-shadow:0 4px 15px #00000026}.controls button.active{background:#1a73e8;color:#fff}.firefly{position:absolute;width:6px;height:6px;background:#fff9c4;border-radius:50%;box-shadow:0 0 10px 4px #fff9c499;pointer-events:none;animation:firefly-float linear infinite}@keyframes firefly-float{0%{transform:translate(0);opacity:0}25%{opacity:1}50%{transform:translate(30px,-50px);opacity:.6}75%{opacity:1}to{transform:translate(-20px,-100px);opacity:0}}.hint{position:fixed;top:20px;left:50%;transform:translate(-50%);color:#fffc;font-size:.85rem;font-family:system-ui,sans-serif;background:#0003;padding:6px 16px;border-radius:20px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);pointer-events:none;animation:hint-fade 4s ease forwards;z-index:10}@keyframes hint-fade{0%{opacity:0;transform:translate(-50%) translateY(-10px)}15%{opacity:1;transform:translate(-50%) translateY(0)}80%{opacity:1}to{opacity:0}}
