*,*:before,*:after{margin:0;padding:0;box-sizing:border-box}:root{--bg-dark: #0a0e17;--bg-panel: rgba(10, 14, 23, .92);--bg-card: rgba(20, 28, 45, .85);--border: rgba(100, 160, 255, .15);--border-hover: rgba(100, 160, 255, .35);--text: #c8d6e5;--text-dim: #6b7c93;--text-bright: #f0f4f8;--accent: #4fc3f7;--accent-glow: rgba(79, 195, 247, .3);--green: #66bb6a;--gold: #ffd54f;--red: #ef5350;--font-mono: "SF Mono", "Fira Code", "Consolas", monospace;--font-sans: -apple-system, BlinkMacSystemFont, "Segoe UI", system-ui, sans-serif}body,html{width:100%;height:100%;overflow:hidden;font-family:var(--font-sans);color:var(--text);background:var(--bg-dark)}#canvas-container{position:fixed;top:0;right:0;bottom:0;left:0;z-index:0}#canvas-container canvas{display:block;width:100%;height:100%}#ui{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1;pointer-events:none}#ui>*{pointer-events:auto}#hud{display:flex;justify-content:space-between;align-items:center;padding:12px 24px;background:linear-gradient(180deg,rgba(10,14,23,.95) 0%,rgba(10,14,23,.7) 80%,transparent 100%);border-bottom:1px solid var(--border)}#hud-left,#hud-right{display:flex;gap:24px;align-items:center}#currency-amount{font-family:var(--font-mono);font-size:28px;font-weight:700;color:var(--accent);text-shadow:0 0 20px var(--accent-glow)}#currency-label{font-size:11px;text-transform:uppercase;letter-spacing:1.5px;color:var(--text-dim);display:block;margin-top:-2px}#rate-amount{font-family:var(--font-mono);font-size:18px;color:var(--green)}#rate-label{font-size:10px;text-transform:uppercase;letter-spacing:1px;color:var(--text-dim);display:block}#phase-display{font-size:12px;color:var(--gold);text-transform:uppercase;letter-spacing:1px}#tokens-amount{font-family:var(--font-mono);font-size:16px;color:var(--text)}#tokens-label{font-size:10px;text-transform:uppercase;letter-spacing:1px;color:var(--text-dim);display:block}#click-prompt{position:absolute;bottom:120px;left:50%;transform:translate(-50%);font-size:14px;color:var(--text-dim);text-transform:uppercase;letter-spacing:2px;animation:pulse-text 2s ease-in-out infinite;pointer-events:none}@keyframes pulse-text{0%,to{opacity:.4}50%{opacity:.9}}#shop-toggle,#stats-toggle{position:absolute;right:16px;width:48px;height:48px;border-radius:12px;background:var(--bg-panel);border:1px solid var(--border);display:flex;align-items:center;justify-content:center;font-size:22px;cursor:pointer;transition:all .2s}#shop-toggle{top:80px}#stats-toggle{top:140px}#shop-toggle:hover,#stats-toggle:hover{border-color:var(--border-hover);background:var(--bg-card);transform:scale(1.05)}.panel{position:absolute;right:16px;top:70px;bottom:16px;width:340px;background:var(--bg-panel);border:1px solid var(--border);border-radius:12px;overflow-y:auto;transition:transform .3s ease,opacity .3s ease;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.panel.hidden{transform:translate(360px);opacity:0;pointer-events:none}.panel-header{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;border-bottom:1px solid var(--border);position:sticky;top:0;background:var(--bg-panel);z-index:2}.panel-header h2{font-size:16px;font-weight:600;color:var(--text-bright);letter-spacing:.5px}.panel-close{background:none;border:none;color:var(--text-dim);font-size:24px;cursor:pointer;padding:0 4px;line-height:1}.panel-close:hover{color:var(--text-bright)}.shop-section h3{font-size:11px;text-transform:uppercase;letter-spacing:2px;color:var(--text-dim);padding:12px 20px 8px}.shop-item{margin:6px 12px;padding:12px 16px;background:var(--bg-card);border:1px solid var(--border);border-radius:8px;cursor:pointer;transition:all .15s;display:flex;flex-direction:column;gap:6px}.shop-item:hover:not(.locked){border-color:var(--border-hover);background:#1e2a41d9}.shop-item.locked{opacity:.35;cursor:not-allowed}.shop-item.affordable{border-color:#66bb6a4d}.shop-item.affordable:hover{border-color:#66bb6a80;box-shadow:0 0 12px #66bb6a1a}.shop-item-top{display:flex;justify-content:space-between;align-items:center}.shop-item-name{font-size:14px;font-weight:600;color:var(--text-bright)}.shop-item-count{font-family:var(--font-mono);font-size:13px;color:var(--text-dim)}.shop-item-desc{font-size:12px;color:var(--text-dim);line-height:1.4}.shop-item-flavor{font-size:11px;color:var(--text-dim);font-style:italic;opacity:.7}.shop-item-bottom{display:flex;justify-content:space-between;align-items:center;margin-top:2px}.shop-item-cost{font-family:var(--font-mono);font-size:13px;color:var(--accent)}.shop-item-output{font-size:11px;color:var(--green)}.shop-item-bought{font-size:11px;color:var(--green);font-weight:600}#stats-content{padding:16px 20px}.stat-row{display:flex;justify-content:space-between;padding:8px 0;border-bottom:1px solid var(--border);font-size:13px}.stat-label{color:var(--text-dim)}.stat-value{font-family:var(--font-mono);color:var(--text-bright)}#notifications{position:absolute;bottom:24px;left:24px;display:flex;flex-direction:column-reverse;gap:8px;pointer-events:none;max-width:360px}.notification{padding:12px 20px;background:var(--bg-panel);border:1px solid var(--border);border-radius:8px;font-size:13px;color:var(--text-bright);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);animation:notif-in .3s ease-out,notif-out .4s ease-in 3.6s forwards;pointer-events:auto}.notification.achievement{border-color:#ffd54f66;background:#14120aeb}.notification.achievement:before{content:"🏆 "}.notification.unlock:before{content:"🔓 "}@keyframes notif-in{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes notif-out{0%{opacity:1}to{opacity:0;transform:translateY(-10px)}}#click-feedback{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;overflow:hidden}.click-number{position:absolute;font-family:var(--font-mono);font-size:20px;font-weight:700;color:var(--accent);text-shadow:0 0 10px var(--accent-glow);pointer-events:none;animation:float-up 1s ease-out forwards}.click-number.crit{font-size:28px;color:var(--gold);text-shadow:0 0 15px rgba(255,213,79,.5)}@keyframes float-up{0%{opacity:1;transform:translateY(0) scale(1)}70%{opacity:.8}to{opacity:0;transform:translateY(-80px) scale(.6)}}.panel::-webkit-scrollbar{width:6px}.panel::-webkit-scrollbar-track{background:transparent}.panel::-webkit-scrollbar-thumb{background:var(--border);border-radius:3px}@media(max-width:600px){#hud{flex-direction:column;gap:8px;padding:8px 16px}.panel{width:calc(100% - 32px);left:16px}#currency-amount{font-size:22px}}
