*{margin:0;padding:0;box-sizing:border-box}
html,body{width:100%;height:100%;overflow:hidden;font-family:-apple-system,BlinkMacSystemFont,'SF Pro Display',system-ui,sans-serif;color:#fff;touch-action:manipulation;user-select:none;-webkit-user-select:none;-webkit-tap-highlight-color:transparent;cursor:pointer}
body{transition:background 1.2s ease}
#bg-fx{position:fixed;inset:0;z-index:0;pointer-events:none;overflow:hidden}
#hud{position:fixed;top:0;left:0;right:0;z-index:10;text-align:center;padding:44px 20px 16px;pointer-events:none}
#click-count{font-size:clamp(52px,14vw,100px);font-weight:800;letter-spacing:-3px;line-height:1;transition:transform .05s cubic-bezier(.4,0,.2,1);text-shadow:0 2px 20px rgba(0,0,0,.15)}
#click-count.bump{transform:scale(1.07)}
#sub-hud{display:flex;justify-content:center;gap:20px;margin-top:10px;font-size:12px;font-weight:600;opacity:.5}
.shockwave{position:fixed;z-index:4;pointer-events:none;width:10px;height:10px;border-radius:50%;border:2px solid var(--ring,rgba(255,255,255,.2));animation:shk .65s cubic-bezier(0,.4,.2,1) forwards}
@keyframes shk{0%{transform:translate(-50%,-50%) scale(1);opacity:1}100%{transform:translate(-50%,-50%) scale(30);opacity:0;border-width:.2px}}
.dot-b{position:fixed;z-index:5;pointer-events:none;width:5px;height:5px;border-radius:50%;background:var(--dot,rgba(255,255,255,.25));animation:db .55s cubic-bezier(.2,.8,.3,1) forwards}
@keyframes db{0%{transform:translate(-50%,-50%) scale(1);opacity:.4}100%{transform:translate(var(--dx),var(--dy)) scale(0);opacity:0}}
.click-p{position:fixed;z-index:7;pointer-events:none;font-size:16px;font-weight:700;opacity:0;animation:pU .85s cubic-bezier(.2,.8,.3,1) forwards}
.click-p.super{font-size:26px;color:#ff6b6b;text-shadow:0 0 12px rgba(255,107,107,.4)}
@keyframes pU{0%{opacity:.9;transform:translateY(0) scale(1.05)}100%{opacity:0;transform:translateY(-70px) scale(.6)}}
#super-flash{position:fixed;inset:0;z-index:3;pointer-events:none;opacity:0;background:radial-gradient(circle,rgba(255,107,107,.2) 0%,transparent 60%)}
#super-flash.active{animation:sf .5s ease-out forwards}
@keyframes sf{0%{opacity:1}100%{opacity:0}}
.sp{position:fixed;inset:0;z-index:2;pointer-events:none;background:rgba(255,255,255,.03);animation:spp .25s ease-out forwards}
@keyframes spp{0%{opacity:1}100%{opacity:0}}
#shop-toggle,#stats-toggle,#bg-toggle,#reset-toggle{position:fixed;z-index:20;width:52px;height:52px;border-radius:16px;background:rgba(0,0,0,.35);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid rgba(255,255,255,.08);display:flex;align-items:center;justify-content:center;font-size:20px;cursor:pointer;transition:transform .12s ease}
#shop-toggle{bottom:28px;right:28px}#stats-toggle{bottom:28px;left:28px}#bg-toggle{bottom:28px;left:50%;transform:translateX(-50%)}#reset-toggle{bottom:92px;left:28px}
#shop-toggle:active,#stats-toggle:active,#reset-toggle:active{transform:scale(.88)}#bg-toggle:active{transform:translateX(-50%) scale(.88)}
#stats-panel{position:fixed;bottom:156px;left:28px;z-index:20;background:rgba(0,0,0,.5);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border:1px solid rgba(255,255,255,.06);border-radius:20px;padding:18px 22px;font-size:12px;line-height:2.2;min-width:170px;transition:transform .25s cubic-bezier(.4,0,.2,1),opacity .2s;transform-origin:bottom left}
#stats-panel.hidden{transform:scale(.9) translateY(10px);opacity:0;pointer-events:none}
.sl{opacity:.5}.sv{float:right;font-weight:700}
#shop{position:fixed;top:0;right:0;bottom:0;width:min(400px,88vw);z-index:30;background:rgba(10,10,10,.92);backdrop-filter:blur(30px);-webkit-backdrop-filter:blur(30px);border-left:1px solid rgba(255,255,255,.05);overflow-y:auto;padding:28px 20px;transition:transform .3s cubic-bezier(.4,0,.2,1)}
#shop.hidden{transform:translateX(100%);pointer-events:none}
#shop-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}
#shop-header h2{font-size:18px;font-weight:700;opacity:.9}
#shop-close{background:rgba(255,255,255,.06);border:none;color:#fff;font-size:16px;cursor:pointer;width:36px;height:36px;border-radius:12px;display:flex;align-items:center;justify-content:center}
#shop-close:active{transform:scale(.85)}
#shop-tabs{display:flex;gap:6px;margin-bottom:16px}
.tab-btn{flex:1;padding:10px;border:none;border-radius:12px;background:rgba(255,255,255,.04);color:#fff;font-size:12px;font-weight:600;cursor:pointer;transition:background .15s}
.tab-btn.active{background:rgba(255,255,255,.12)}.tab-btn:active{transform:scale(.95)}
.upgrade-btn{width:100%;padding:14px 16px;margin-bottom:8px;background:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.04);border-radius:14px;color:#fff;cursor:pointer;text-align:left;transition:transform .1s,background .12s}
.upgrade-btn:not(:disabled):active{transform:scale(.97);background:rgba(255,255,255,.08)}
.upgrade-btn:disabled{opacity:.18;cursor:not-allowed}
.un{font-weight:700;font-size:13px}.ud{font-size:10px;opacity:.35;margin-top:2px}
.um{display:flex;justify-content:space-between;align-items:center;margin-top:8px}
.uc{font-size:12px;font-weight:700;color:#ffd43b}.uo{font-size:10px;opacity:.3;background:rgba(255,255,255,.04);padding:3px 9px;border-radius:8px}
#shop::-webkit-scrollbar{width:3px}#shop::-webkit-scrollbar-thumb{background:rgba(255,255,255,.06);border-radius:2px}
#combo{position:fixed;top:50%;left:50%;z-index:8;transform:translate(-50%,-50%);pointer-events:none;font-size:70px;font-weight:900;opacity:0;transition:opacity .2s}
#combo.v{opacity:.07}
#bg-name{position:fixed;top:50%;left:50%;z-index:9;transform:translate(-50%,-50%);pointer-events:none;font-size:28px;font-weight:700;opacity:0;transition:opacity .3s;text-shadow:0 2px 12px rgba(0,0,0,.3)}
#bg-name.show{opacity:.6}

/* Rebirth Panel */
.rebirth-panel{display:flex;flex-direction:column;align-items:center;gap:14px;padding:20px;text-align:center}
.rebirth-title{font-size:24px;font-weight:800;color:#ffd700;text-shadow:0 0 12px #ffd70066;letter-spacing:2px}
.rebirth-desc{font-size:13px;opacity:.7;line-height:1.5;max-width:260px}
.rebirth-circles{display:flex;gap:16px;margin:12px 0}
.rebirth-circle{width:40px;height:40px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:20px;border:2px solid rgba(255,255,255,.15);color:rgba(255,255,255,.3);transition:all .3s}
.rebirth-circle.active{border-color:#ffd700;color:#ffd700;background:radial-gradient(circle,rgba(255,215,0,.2),transparent);box-shadow:0 0 12px #ffd70044}
.rebirth-cost{font-size:14px;opacity:.6}
.rebirth-btn{margin-top:8px;background:linear-gradient(135deg,#ffd700,#b8860b)!important;color:#000!important;font-weight:700}
.rebirth-btn:disabled{opacity:.3;background:rgba(255,255,255,.1)!important;color:rgba(255,255,255,.3)!important}
.rebirth-complete{font-size:16px;color:#ffd700;font-weight:700;text-shadow:0 0 10px #ffd700;animation:goldenPulse 2s ease-in-out infinite}
.rebirth-rewards{font-size:13px;line-height:1.8;margin-top:8px;padding:12px;background:rgba(255,215,0,.08);border:1px solid rgba(255,215,0,.2);border-radius:10px}
.golden-anim{animation:goldenPulse 1s ease-in-out infinite}
@keyframes goldenPulse{0%,100%{opacity:1}50%{opacity:.5}}

/* Maxed upgrade */
.upgrade-btn.maxed{opacity:.5;border-color:rgba(255,215,0,.3)!important;background:rgba(255,215,0,.05)!important}
.upgrade-btn.maxed .uc{color:#ffd700}

/* Golden blur overlay when golden connection is active */
.golden-circle-corner{animation:goldenFloat 3s ease-in-out infinite alternate}
@keyframes goldenFloat{0%{box-shadow:0 0 12px #ffd700,0 0 24px #ffd70066}100%{box-shadow:0 0 20px #ffd700,0 0 40px #ffd70088}}

/* Cheat Panel */
#cheat-panel{display:none;position:fixed;bottom:20px;right:20px;z-index:999;flex-direction:column;gap:8px;background:rgba(0,0,0,.9);border:2px solid #ffd700;border-radius:14px;padding:14px;min-width:180px;backdrop-filter:blur(10px)}
#cheat-panel .cheat-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:4px;font-size:14px;font-weight:700;color:#ffd700}
#cheat-panel .cheat-header button{background:none;border:none;color:#fff;font-size:18px;cursor:pointer}
#cheat-panel button{background:rgba(255,215,0,.1);border:1px solid rgba(255,215,0,.3);color:#ffd700;padding:8px 12px;border-radius:8px;font-size:12px;cursor:pointer;font-weight:600;transition:background .15s}
#cheat-panel button:hover{background:rgba(255,215,0,.25)}
