:root{color-scheme:dark;font-family:Segoe UI,system-ui,-apple-system,Roboto,sans-serif;line-height:1.5}*{box-sizing:border-box;margin:0;padding:0}html,body,#root{min-height:100vh;background:#0a0a0a;color:#fafafa;overflow:hidden}.overlay{position:fixed;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;z-index:10;pointer-events:none}.overlay>*{pointer-events:auto}.menu-panel{background:linear-gradient(145deg,#1e140aeb,#0f0a05f5);border:1px solid rgba(255,180,50,.15);border-radius:1.25rem;padding:2.5rem 2rem 2rem;max-width:520px;width:90vw;text-align:center;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);box-shadow:0 0 80px #ffa01414,0 8px 32px #00000080}.sun-icon{font-size:3.5rem;margin-bottom:.5rem;filter:drop-shadow(0 0 20px rgba(255,200,50,.6));animation:pulse-sun 3s ease-in-out infinite}@keyframes pulse-sun{0%,to{transform:scale(1);filter:drop-shadow(0 0 20px rgba(255,200,50,.6))}50%{transform:scale(1.08);filter:drop-shadow(0 0 35px rgba(255,200,50,.8))}}.menu-panel h1{font-size:2rem;font-weight:800;letter-spacing:-.03em;background:linear-gradient(135deg,#fd5,#fa2);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;margin-bottom:.25rem}.subtitle{color:#fff0c88c;font-size:.9rem;margin-bottom:1.75rem}.level-grid{display:grid;grid-template-columns:1fr 1fr;gap:.65rem;margin-bottom:1.5rem}.level-btn{display:flex;flex-direction:column;align-items:center;gap:.15rem;padding:.75rem .5rem;border-radius:.75rem;border:1px solid rgba(255,180,50,.12);background:#ffa01e0f;color:#fff;cursor:pointer;transition:all .2s;font-family:inherit}.level-btn.unlocked:hover{background:#ffa01e26;border-color:#ffb4324d;transform:translateY(-2px);box-shadow:0 4px 16px #ffa01e26}.level-btn.locked{opacity:.3;cursor:not-allowed;filter:grayscale(.6)}.level-num{font-size:1.3rem;font-weight:800;color:#fc4}.level-name{font-size:.8rem;font-weight:600;color:#fff0c8cc}.level-goal{font-size:.65rem;color:#ffdc9673;text-transform:uppercase;letter-spacing:.08em}.menu-footer{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:1rem}.shop-btn{padding:.55rem 1.25rem;border-radius:.6rem;border:1px solid rgba(255,200,80,.25);background:linear-gradient(135deg,#ffaa1e33,#ff820026);color:#fd7;font-weight:700;font-size:.85rem;cursor:pointer;font-family:inherit;transition:all .2s}.shop-btn:hover{background:linear-gradient(135deg,#ffaa1e59,#ff820040);transform:translateY(-1px)}.stats{display:flex;flex-direction:column;gap:.15rem;font-size:.72rem;color:#ffdc9680;text-align:right}.controls-hint{font-size:.7rem;color:#fff0c840;letter-spacing:.02em}.shop-panel{background:linear-gradient(145deg,#19140cf0,#0c0a06f7);border:1px solid rgba(255,180,50,.12);border-radius:1.25rem;padding:2rem 1.75rem;max-width:480px;width:90vw;text-align:center;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);box-shadow:0 0 60px #ffa0140f}.shop-panel h2{font-size:1.5rem;font-weight:800;color:#fc4;margin-bottom:.25rem}.shop-energy{color:#fff0c880;font-size:.85rem;margin-bottom:1.25rem}.shop-energy strong{color:#fd6}.upgrade-grid{display:grid;grid-template-columns:1fr 1fr;gap:.65rem;margin-bottom:1.25rem}.upgrade-card{background:#ffa01e0d;border:1px solid rgba(255,180,50,.1);border-radius:.75rem;padding:.85rem .65rem;display:flex;flex-direction:column;align-items:center;gap:.3rem}.upgrade-name{font-size:.8rem;font-weight:700;color:#fd8}.upgrade-desc{font-size:.65rem;color:#ffdc9666;line-height:1.3;min-height:2em}.upgrade-level{display:flex;gap:.3rem;margin:.25rem 0}.pip{width:10px;height:10px;border-radius:50%;border:1px solid rgba(255,200,80,.3);background:transparent;transition:all .3s}.pip.filled{background:#fa2;border-color:#fc5;box-shadow:0 0 6px #ffaa1e80}.buy-btn{padding:.35rem .75rem;border-radius:.4rem;border:1px solid rgba(255,200,80,.2);background:#ffaa1e26;color:#fd7;font-size:.7rem;font-weight:600;cursor:pointer;font-family:inherit;transition:all .2s}.buy-btn:hover:not(.disabled){background:#ffaa1e4d;transform:translateY(-1px)}.buy-btn.disabled{opacity:.35;cursor:not-allowed}.maxed{font-size:.7rem;font-weight:800;color:#ffc8504d;letter-spacing:.1em}.back-btn{padding:.55rem 1.5rem;border-radius:.6rem;border:1px solid rgba(255,255,255,.1);background:#ffffff0a;color:#fff9;font-weight:600;font-size:.85rem;cursor:pointer;font-family:inherit;transition:all .2s}.back-btn:hover{background:#ffffff14;color:#fff}.result-panel{background:linear-gradient(145deg,#19140cf0,#0c0a06f7);border:1px solid rgba(255,180,50,.12);border-radius:1.25rem;padding:2rem 2rem 1.5rem;max-width:380px;width:85vw;text-align:center;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);box-shadow:0 0 60px #ffa0140f}.result-panel.complete{border-color:#ffdc5033;box-shadow:0 0 80px #ffc8281a}.result-panel.gameover{border-color:#ff3c3c26;box-shadow:0 0 60px #ff28280f}.result-icon{font-size:3rem;margin-bottom:.5rem}.result-panel h2{font-size:1.5rem;font-weight:800;margin-bottom:1rem}.complete h2{color:#fd5}.gameover h2{color:#f65}.result-stats{display:flex;flex-direction:column;gap:.4rem;margin-bottom:1.25rem}.stat-row{display:flex;justify-content:space-between;padding:.35rem .75rem;background:#ffa01e0d;border-radius:.5rem;font-size:.85rem}.stat-row span:first-child{color:#ffdc968c}.stat-row span:last-child{font-weight:700;color:#fd8}.result-actions{display:flex;gap:.5rem;justify-content:center;flex-wrap:wrap}.next-btn,.retry-btn{padding:.6rem 1.5rem;border-radius:.6rem;border:none;font-weight:700;font-size:.9rem;cursor:pointer;font-family:inherit;transition:all .2s}.next-btn{background:linear-gradient(135deg,#fa2,#f80);color:#1a0800}.next-btn:hover{transform:translateY(-2px);box-shadow:0 4px 16px #ff8c0059}.retry-btn{background:linear-gradient(135deg,#f54,#c32);color:#fff}.retry-btn:hover{transform:translateY(-2px);box-shadow:0 4px 16px #ff3c284d}.menu-return-btn,.shop-btn-sm{padding:.6rem 1rem;border-radius:.6rem;border:1px solid rgba(255,255,255,.1);background:#ffffff0a;color:#fff9;font-weight:600;font-size:.8rem;cursor:pointer;font-family:inherit;transition:all .2s}.menu-return-btn:hover,.shop-btn-sm:hover{background:#ffffff14;color:#fff}@media(max-width:480px){.menu-panel{padding:1.75rem 1.25rem 1.5rem}.menu-panel h1{font-size:1.5rem}.sun-icon{font-size:2.5rem}.level-grid{grid-template-columns:1fr}.menu-footer{flex-direction:column;text-align:center}.stats{text-align:center}.upgrade-grid{grid-template-columns:1fr}}
