:root{color-scheme:dark;font-family:ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,sans-serif;line-height:1.5}*{box-sizing:border-box;margin:0;padding:0}html,body,#root{min-height:100vh;overflow:hidden;background:#1a3a1a;color:#fafafa}.game{position:relative;width:100vw;height:100vh;overflow:hidden;user-select:none;-webkit-user-select:none}.game-bg{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(180deg,#87ceeb,#b8e6b8 60%,#5a8a3c 60%,#4a7a2c)}.game-bg:before{content:"";position:absolute;bottom:0;left:0;right:0;height:40%;background:repeating-linear-gradient(90deg,transparent,transparent 40px,rgba(0,0,0,.05) 40px,rgba(0,0,0,.05) 80px)}.sun{position:absolute;top:40px;right:60px;width:80px;height:80px;background:#fd4;border-radius:50%;box-shadow:0 0 40px #fd4a,0 0 80px #fd45;animation:sunPulse 3s ease-in-out infinite}@keyframes sunPulse{0%,to{box-shadow:0 0 40px #fd4a,0 0 80px #fd45}50%{box-shadow:0 0 60px #fd4c,0 0 100px #fd47}}.cloud{position:absolute;background:#fff;border-radius:50px;opacity:.9;animation:cloudMove linear infinite}.cloud:before,.cloud:after{content:"";position:absolute;background:#fff;border-radius:50%}.cloud-1{width:100px;height:30px;top:60px;left:-100px;animation-duration:25s}.cloud-1:before{width:50px;height:40px;top:-20px;left:15px}.cloud-1:after{width:35px;height:30px;top:-10px;left:50px}.cloud-2{width:80px;height:25px;top:120px;left:-80px;animation-duration:35s;animation-delay:-10s}.cloud-2:before{width:40px;height:35px;top:-18px;left:10px}.cloud-2:after{width:30px;height:25px;top:-8px;left:40px}.cloud-3{width:120px;height:35px;top:30px;left:-120px;animation-duration:30s;animation-delay:-18s}.cloud-3:before{width:60px;height:45px;top:-22px;left:20px}.cloud-3:after{width:45px;height:35px;top:-12px;left:60px}@keyframes cloudMove{0%{transform:translate(0)}to{transform:translate(calc(100vw + 200px))}}.fence{position:absolute;bottom:38%;left:0;right:0;height:50px;display:flex;align-items:flex-end;gap:30px;padding:0 10px}.fence-post{width:12px;height:50px;background:linear-gradient(90deg,#8b6914,#a0782a,#8b6914);border-radius:2px 2px 0 0;position:relative;flex-shrink:0}.fence-post:before{content:"";position:absolute;top:-6px;left:50%;transform:translate(-50%);width:16px;height:12px;background:#9a7424;clip-path:polygon(50% 0%,0% 100%,100% 100%)}.fence-rail{position:absolute;left:0;right:0;height:8px;background:linear-gradient(180deg,#a0782a,#8b6914);border-radius:2px}.fence-rail:first-of-type{bottom:35px}.fence-rail:last-of-type{bottom:15px}.barn{position:absolute;bottom:40%;left:30px;width:120px;height:80px;background:#8b2500;border-radius:4px}.barn:before{content:"";position:absolute;top:-40px;left:-5px;right:-5px;height:40px;background:#6b1c00;clip-path:polygon(0% 100%,50% 0%,100% 100%)}.barn:after{content:"";position:absolute;bottom:0;left:50%;transform:translate(-50%);width:30px;height:45px;background:#5a1800;border-radius:3px 3px 0 0}.silo{position:absolute;bottom:40%;left:170px;width:40px;height:100px;background:linear-gradient(90deg,#888,#aaa,#888);border-radius:20px 20px 0 0}.silo:before{content:"";position:absolute;top:-15px;left:-5px;right:-5px;height:20px;background:linear-gradient(90deg,#777,#999,#777);border-radius:50%}.crops{position:absolute;bottom:10%;left:0;right:0;height:20%;display:flex;align-items:flex-end;justify-content:center;gap:8px;padding:0 20px}.crop{display:flex;flex-direction:column;align-items:center;transition:transform .3s ease}.crop:hover{transform:scale(1.1)}.crop-stem{width:4px;background:#3a7a1c;border-radius:2px}.crop-head{border-radius:50%;margin-bottom:2px}.hud{position:absolute;top:0;left:0;right:0;padding:16px 20px;display:flex;justify-content:space-between;align-items:flex-start;z-index:10}.hud-left,.hud-right{display:flex;flex-direction:column;gap:8px}.hud-stat{display:flex;align-items:center;gap:8px;background:#00000080;padding:6px 14px;border-radius:20px;font-size:15px;font-weight:600;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);border:1px solid rgba(255,255,255,.1)}.hud-icon{font-size:18px}.hud-value{color:gold}.combo-display{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);font-size:48px;font-weight:900;color:#f60;text-shadow:0 0 20px #ff6600,0 2px 4px rgba(0,0,0,.5);pointer-events:none;z-index:20;animation:comboPopup .8s ease-out forwards}@keyframes comboPopup{0%{transform:translate(-50%,-50%) scale(.5);opacity:0}20%{transform:translate(-50%,-50%) scale(1.3);opacity:1}to{transform:translate(-50%,-70%) scale(1);opacity:0}}.target-area{position:absolute;top:50%;left:50%;transform:translate(-50%,-60%);z-index:5}.game-canvas{position:absolute;top:0;left:0;width:100%;height:100%;z-index:5}.knife-bar{position:absolute;bottom:20px;left:50%;transform:translate(-50%);display:flex;gap:8px;z-index:10;background:#0009;padding:10px 16px;border-radius:16px;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border:1px solid rgba(255,255,255,.1)}.knife-slot{width:48px;height:48px;border-radius:10px;border:2px solid rgba(255,255,255,.2);display:grid;place-items:center;cursor:pointer;font-size:24px;transition:all .2s;position:relative;background:#ffffff0d}.knife-slot:hover{border-color:#ffffff80;transform:translateY(-2px)}.knife-slot.active{border-color:gold;background:#ffd70026;box-shadow:0 0 12px #ffd7004d}.knife-slot.locked{opacity:.4;cursor:not-allowed}.knife-slot .lock-badge{position:absolute;bottom:-4px;right:-4px;background:#333;border-radius:50%;width:18px;height:18px;display:grid;place-items:center;font-size:10px;border:1px solid rgba(255,255,255,.2)}.btn{padding:12px 28px;border:none;border-radius:12px;font-size:16px;font-weight:700;cursor:pointer;transition:all .2s;text-transform:uppercase;letter-spacing:.05em}.btn:hover{transform:translateY(-2px)}.btn:active{transform:translateY(0)}.btn-primary{background:linear-gradient(135deg,#ff6b35,#ff4500);color:#fff;box-shadow:0 4px 15px #ff450066}.btn-primary:hover{box-shadow:0 6px 20px #ff450099}.btn-secondary{background:linear-gradient(135deg,#4caf50,#2e7d32);color:#fff;box-shadow:0 4px 15px #4caf5066}.btn-shop{background:linear-gradient(135deg,gold,#fa0);color:#333;box-shadow:0 4px 15px #ffd70066}.overlay{position:fixed;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;z-index:100;background:#000000b3;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);animation:fadeIn .3s ease}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.overlay-card{background:linear-gradient(145deg,#2a2a2a,#1a1a1a);border:1px solid rgba(255,255,255,.1);border-radius:24px;padding:40px;text-align:center;max-width:400px;width:90%;animation:slideUp .4s ease}@keyframes slideUp{0%{transform:translateY(30px);opacity:0}to{transform:translateY(0);opacity:1}}.overlay-card h2{font-size:28px;margin-bottom:8px}.overlay-card .subtitle{color:#ffffff80;margin-bottom:24px;font-size:14px}.overlay-card .reward{display:flex;align-items:center;justify-content:center;gap:8px;font-size:24px;font-weight:700;color:gold;margin-bottom:24px}.overlay-card .stars{font-size:40px;margin-bottom:16px}.overlay-card .btn{margin:6px}.shop-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin:20px 0;max-height:300px;overflow-y:auto;padding-right:8px}.shop-item{background:#ffffff0d;border:2px solid rgba(255,255,255,.1);border-radius:14px;padding:14px;text-align:center;cursor:pointer;transition:all .2s}.shop-item:hover{border-color:#ffd70080;background:#ffd7000d}.shop-item.owned{border-color:#4caf50;background:#4caf501a}.shop-item.equipped{border-color:gold;background:#ffd7001a}.shop-item .item-icon{font-size:32px;margin-bottom:6px}.shop-item .item-name{font-size:13px;font-weight:600;margin-bottom:4px}.shop-item .item-price{font-size:12px;color:gold}.shop-item .item-status{font-size:11px;color:#4caf50;font-weight:600}.level-indicator{position:absolute;top:80px;left:50%;transform:translate(-50%);z-index:10;text-align:center}.level-indicator .level-name{font-size:20px;font-weight:800;text-shadow:0 2px 8px rgba(0,0,0,.5);color:#fff}.level-indicator .level-sub{font-size:12px;color:#ffffffb3;text-shadow:0 1px 4px rgba(0,0,0,.5)}.progress-bar-wrap{position:absolute;top:72px;left:50%;transform:translate(-50%);width:200px;z-index:10}.progress-bar{width:100%;height:8px;background:#0006;border-radius:4px;overflow:hidden}.progress-fill{height:100%;background:linear-gradient(90deg,#4caf50,#8bc34a);border-radius:4px;transition:width .3s ease}.title-screen{position:fixed;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;z-index:200;background:linear-gradient(180deg,#87ceeb,#b8e6b8 50%,#5a8a3c 50%,#4a7a2c)}.title-content{text-align:center;animation:titleBounce .8s ease}@keyframes titleBounce{0%{transform:scale(.3);opacity:0}50%{transform:scale(1.1)}to{transform:scale(1);opacity:1}}.title-content h1{font-size:52px;font-weight:900;color:#fff;text-shadow:0 4px 0 #8B4513,0 6px 20px rgba(0,0,0,.3);margin-bottom:8px;line-height:1.1}.title-content .title-sub{font-size:18px;color:#fffc;margin-bottom:30px;text-shadow:0 1px 4px rgba(0,0,0,.3)}.title-knife{font-size:80px;margin-bottom:20px;animation:knifeFloat 2s ease-in-out infinite}@keyframes knifeFloat{0%,to{transform:translateY(0) rotate(-10deg)}50%{transform:translateY(-15px) rotate(10deg)}}.title-buttons{display:flex;flex-direction:column;gap:12px;align-items:center}.float-score{position:absolute;font-size:20px;font-weight:800;color:gold;text-shadow:0 1px 4px rgba(0,0,0,.5);pointer-events:none;z-index:15;animation:floatUp 1s ease-out forwards}@keyframes floatUp{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(-60px)}}.shake{animation:shake .3s ease}@keyframes shake{0%,to{transform:translate(-50%,-60%)}25%{transform:translate(calc(-50% + 5px),calc(-60% - 3px))}75%{transform:translate(calc(-50% - 5px),calc(-60% + 3px))}}.miss-flash{position:fixed;top:0;right:0;bottom:0;left:0;background:#ff000026;pointer-events:none;z-index:50;animation:flashOut .4s ease-out forwards}@keyframes flashOut{0%{opacity:1}to{opacity:0}}.particle{position:absolute;width:6px;height:6px;border-radius:50%;pointer-events:none;z-index:15;animation:particleFly .6s ease-out forwards}@keyframes particleFly{0%{opacity:1;transform:translate(0) scale(1)}to{opacity:0;transform:translate(var(--dx),var(--dy)) scale(0)}}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:#fff3;border-radius:3px}
