*,:before,:after{box-sizing:border-box;margin:0;padding:0}:root{--bg-primary:#0f0a1e;--bg-secondary:#1a1035;--bg-card:#ffffff14;--bg-glass:#ffffff1f;--text-primary:#fff;--text-secondary:#ffffffb3;--text-muted:#fff6;--accent-pink:#ff6b9d;--accent-purple:#c471f5;--accent-blue:#4facfe;--accent-teal:#43e97b;--accent-yellow:#f5d020;--accent-orange:#f89b29;--gradient-primary:linear-gradient(135deg, #667eea 0%, #764ba2 100%);--gradient-warm:linear-gradient(135deg, #f093fb 0%, #f5576c 100%);--gradient-cool:linear-gradient(135deg, #4facfe 0%, #00f2fe 100%);--gradient-forest:linear-gradient(135deg, #43e97b 0%, #38f9d7 100%);--gradient-ocean:linear-gradient(135deg, #4facfe 0%, #6a82fb 100%);--gradient-castle:linear-gradient(135deg, #f5d020 0%, #f89b29 100%);--shadow-soft:0 4px 20px #0000004d;--shadow-glow:0 0 30px #667eea66;--radius-sm:12px;--radius-md:20px;--radius-lg:28px;--radius-xl:36px;--font-display:"Fredoka", "Outfit", sans-serif;--font-body:"Outfit", "Fredoka", sans-serif;--safe-top:env(safe-area-inset-top,0px);--safe-bottom:env(safe-area-inset-bottom,0px);--safe-left:env(safe-area-inset-left,0px);--safe-right:env(safe-area-inset-right,0px)}html,body{height:100%;font-family:var(--font-body);background:var(--bg-primary);color:var(--text-primary);-webkit-tap-highlight-color:transparent;-webkit-touch-callout:none;-webkit-user-select:none;user-select:none;touch-action:none;overflow:hidden}#app{width:100%;height:100%;position:relative;overflow:hidden}.screen{opacity:0;visibility:hidden;z-index:0;flex-direction:column;transition:opacity .4s,visibility .4s;display:flex;position:absolute;inset:0}.screen.active{opacity:1;visibility:visible;z-index:1}.btn-icon{background:var(--bg-glass);-webkit-backdrop-filter:blur(10px);width:48px;height:48px;color:var(--text-primary);cursor:pointer;border:none;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:1.4rem;transition:transform .2s,background .2s;display:flex}.btn-icon:active{background:#fff3;transform:scale(.9)}.btn-action{border-radius:var(--radius-lg);font-family:var(--font-display);cursor:pointer;border:none;justify-content:center;align-items:center;gap:8px;min-width:200px;padding:16px 32px;font-size:1.1rem;font-weight:600;transition:transform .2s,box-shadow .2s;display:flex}.btn-action:active{transform:scale(.95)}.btn-primary{background:var(--gradient-primary);color:#fff;box-shadow:0 4px 20px #667eea66}.btn-primary:active{box-shadow:0 2px 10px #667eea4d}.btn-secondary{background:var(--bg-glass);-webkit-backdrop-filter:blur(10px);color:var(--text-primary);border:1px solid #ffffff26}.home-bg{background:radial-gradient(ellipse at 30% 20%, #667eea4d 0%, transparent 50%), radial-gradient(ellipse at 70% 80%, #f093fb33 0%, transparent 50%), radial-gradient(ellipse at 50% 50%, #43e97b1a 0%, transparent 60%), var(--bg-primary);z-index:0;position:absolute;inset:0}.home-content{z-index:2;padding:16px;padding-top:calc(16px + var(--safe-top));flex-direction:column;flex:1;justify-content:center;align-items:center;gap:16px;display:flex;position:relative}.home-title-container{align-items:center;gap:8px;display:flex}.home-emoji{font-size:3rem}.home-title{font-family:var(--font-display);text-align:center;background:linear-gradient(135deg,#fff 0%,#e0d4ff 50%,#fff 100%);-webkit-text-fill-color:transparent;text-shadow:none;filter:drop-shadow(0 4px 10px #667eea4d);-webkit-background-clip:text;background-clip:text;font-size:3rem;font-weight:700;line-height:1.1}.home-subtitle{color:var(--text-secondary);text-align:center;max-width:300px;font-size:1.1rem}.difficulty-selector{flex-wrap:wrap;justify-content:center;gap:16px;display:flex}.btn-difficulty{border-radius:var(--radius-lg);background:var(--bg-glass);-webkit-backdrop-filter:blur(15px);color:var(--text-primary);cursor:pointer;min-width:130px;font-family:var(--font-body);border:2px solid #ffffff1a;flex-direction:column;align-items:center;gap:8px;padding:16px 20px;transition:all .3s;display:flex}.btn-difficulty:active{transform:scale(.95)}.btn-difficulty:hover{box-shadow:var(--shadow-glow);background:#ffffff26;border-color:#ffffff4d}.diff-emoji{font-size:2rem}.diff-label{font-family:var(--font-display);font-size:1.1rem;font-weight:700}.diff-desc{color:var(--text-muted);font-size:.85rem}.floating-emojis{z-index:1;pointer-events:none;position:absolute;inset:0;overflow:hidden}.float-emoji{opacity:.15;left:var(--x);animation:floatUp var(--dur) var(--delay) infinite ease-in-out;font-size:2rem;position:absolute;bottom:-50px}@keyframes floatUp{0%{opacity:0;transform:translateY(0)rotate(0)}10%{opacity:.15}90%{opacity:.15}to{opacity:0;transform:translateY(-110vh)rotate(360deg)}}.bounce-1{animation:2s ease-in-out infinite bounce}.bounce-2{animation:2s ease-in-out .5s infinite bounce}@keyframes bounce{0%,to{transform:translateY(0)}50%{transform:translateY(-12px)}}#screen-levels{background:var(--bg-primary)}.levels-header{padding:16px 20px;padding-top:calc(16px + var(--safe-top));align-items:center;gap:12px;display:flex}.levels-title{font-family:var(--font-display);font-size:1.4rem;font-weight:700}.levels-grid{padding:8px 20px 24px;padding-bottom:calc(24px + var(--safe-bottom));-webkit-overflow-scrolling:touch;flex-direction:column;flex:1;gap:16px;display:flex;overflow-y:auto}.level-card{border-radius:var(--radius-lg);cursor:pointer;border:2px solid #ffffff14;flex-direction:column;justify-content:flex-end;min-height:160px;transition:transform .3s,box-shadow .3s;display:flex;position:relative;overflow:hidden}.level-card:active{transform:scale(.97)}.level-card-bg{background-position:50%;background-size:cover;transition:transform .4s;position:absolute;inset:0}.level-card:hover .level-card-bg{transform:scale(1.05)}.level-card-overlay{background:linear-gradient(#0000 0%,#0000001a 40%,#000c 100%);position:absolute;inset:0}.level-card-content{z-index:1;justify-content:space-between;align-items:flex-end;padding:20px;display:flex;position:relative}.level-card-info{flex-direction:column;gap:4px;display:flex}.level-card-emoji{font-size:2rem}.level-card-name{font-family:var(--font-display);font-size:1.3rem;font-weight:700}.level-card-desc{color:var(--text-secondary);font-size:.85rem}.level-card-badge{font-size:.8rem;font-weight:600;font-family:var(--font-display);border-radius:20px;align-items:center;gap:6px;padding:6px 14px;display:flex}.level-card.locked{opacity:.5;pointer-events:none}.level-card.locked .level-card-badge{background:#ffffff26}.level-card.unlocked .level-card-badge{color:var(--accent-teal);background:#43e97b40}.level-card.completed .level-card-badge{color:var(--accent-yellow);background:#f5d02040}#screen-game{background:#000}.game-header{z-index:10;padding:12px 16px;padding-top:calc(12px + var(--safe-top));background:linear-gradient(#000000b3 0%,#0000 100%);justify-content:space-between;align-items:center;display:flex;position:absolute;top:0;left:0;right:0}.game-info{flex-direction:column;align-items:center;gap:2px;display:flex}.game-level-name{font-family:var(--font-display);font-size:1rem;font-weight:600}.game-counter{color:var(--text-secondary);font-size:.85rem;font-weight:500}.btn-hint{position:relative}.hint-badge{background:var(--accent-pink);border-radius:50%;justify-content:center;align-items:center;width:20px;height:20px;font-size:.7rem;font-weight:700;display:flex;position:absolute;top:-4px;right:-4px}.game-scene-container{touch-action:none;flex:1;position:relative;overflow:hidden}.game-scene{transform-origin:0 0;width:200%;height:100%;transition:none;position:relative}.scene-bg{object-fit:cover;pointer-events:none;width:100%;height:100%;display:block}.objects-layer{pointer-events:none;position:absolute;inset:0}.hidden-object{pointer-events:all;cursor:pointer;z-index:5;justify-content:center;align-items:center;transition:transform .3s,opacity .3s;display:flex;position:absolute}.hidden-object .obj-emoji{font-size:inherit;filter:drop-shadow(0 2px 4px #0000004d);line-height:1}.hidden-object .obj-img{object-fit:contain;filter:drop-shadow(0 2px 4px #0000004d);width:100%;height:100%}.hidden-object.found{pointer-events:none;animation:.6s forwards objectFound}@keyframes objectFound{0%{transform:scale(1)}30%{transform:scale(1.8)}50%{opacity:1;transform:scale(1.5)}to{opacity:0;transform:scale(2)}}.hidden-object.hint-pulse{animation:1.5s ease-in-out 3 hintPulse}@keyframes hintPulse{0%,to{filter:drop-shadow(0 0 #ffd70000)}50%{filter:drop-shadow(0 0 20px #ffd700cc)drop-shadow(0 0 40px #ffd70066)}}.decoy-object{pointer-events:none;opacity:.6;z-index:3;justify-content:center;align-items:center;display:flex;position:absolute}.sparkle-container{pointer-events:none;z-index:20;position:absolute}.sparkle{font-size:1.2rem;animation:.8s ease-out forwards sparkle;position:absolute}@keyframes sparkle{0%{opacity:1;transform:translate(0)scale(0)}to{transform:translate(var(--sx), var(--sy)) scale(1);opacity:0}}.game-toolbar{z-index:10;padding:16px 12px;padding-bottom:calc(12px + var(--safe-bottom));background:linear-gradient(#0000 0%,#0009 30%,#000000d9 100%);position:absolute;bottom:0;left:0;right:0}.toolbar-objects{-webkit-overflow-scrolling:touch;scrollbar-width:none;gap:8px;padding:4px 8px;display:flex;overflow-x:auto}.toolbar-objects::-webkit-scrollbar{display:none}.toolbar-item{border-radius:var(--radius-sm);-webkit-backdrop-filter:blur(10px);background:#ffffff1a;border:1px solid #ffffff1a;flex-direction:column;flex-shrink:0;align-items:center;gap:4px;min-width:64px;padding:8px 12px;transition:all .3s;display:flex}.toolbar-item .item-emoji{font-size:1.8rem;line-height:1;transition:filter .3s}.toolbar-item .item-img{object-fit:contain;width:32px;height:32px;transition:filter .3s}.toolbar-item .item-name{color:var(--text-secondary);white-space:nowrap;font-size:.65rem;font-weight:500}.toolbar-item.found{background:#43e97b33;border-color:#43e97b4d}.toolbar-item.found .item-emoji,.toolbar-item.found .item-img{filter:none}.toolbar-item.found .item-name{color:var(--accent-teal)}.toolbar-item.found:after{content:"✓";background:var(--accent-teal);color:#000;border-radius:50%;justify-content:center;align-items:center;width:20px;height:20px;font-size:.7rem;font-weight:700;display:flex;position:absolute;top:-4px;right:-4px}.toolbar-item{position:relative}#screen-victory{background:var(--bg-primary);justify-content:center;align-items:center}.victory-content{z-index:2;flex-direction:column;align-items:center;gap:24px;padding:24px;animation:.8s ease-out victoryEnter;display:flex;position:relative}@keyframes victoryEnter{0%{opacity:0;transform:scale(.5)}60%{transform:scale(1.05)}to{opacity:1;transform:scale(1)}}.victory-stars{gap:8px;display:flex}.victory-star{font-size:3rem;animation:.5s ease-out backwards starPop}.victory-star:first-child{animation-delay:.3s}.victory-star:nth-child(2){animation-delay:.6s}.victory-star:nth-child(3){animation-delay:.9s}@keyframes starPop{0%{opacity:0;transform:scale(0)rotate(-180deg)}60%{transform:scale(1.3)rotate(10deg)}to{opacity:1;transform:scale(1)rotate(0)}}.victory-title{font-family:var(--font-display);background:linear-gradient(135deg, var(--accent-yellow) 0%, var(--accent-orange) 100%);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;font-size:2.5rem;font-weight:700}.victory-subtitle{color:var(--text-secondary);font-size:1.1rem}.victory-buttons{flex-direction:column;gap:12px;width:100%;max-width:280px;margin-top:16px;display:flex}.confetti-canvas{z-index:1;pointer-events:none;position:absolute;inset:0}@media (width>=414px){.home-title{font-size:4rem}.home-emoji{font-size:3.5rem}}@media (width>=768px){.home-title{font-size:5rem}.difficulty-selector{gap:24px}.btn-difficulty{min-width:200px;padding:32px 36px}.levels-grid{grid-template-columns:1fr 1fr;gap:20px;padding:20px 32px;display:grid}.level-card{min-height:220px}}@media (width>=1024px){.levels-grid{grid-template-columns:1fr 1fr 1fr;max-width:1000px;margin:0 auto}}@media (height<=500px) and (orientation:landscape){.home-title{font-size:2.5rem}.home-content{gap:16px}.home-emoji{font-size:2rem}.difficulty-selector{flex-direction:row}.btn-difficulty{min-width:130px;padding:16px 20px}.diff-emoji{font-size:1.8rem}.home-subtitle{font-size:.9rem}}
