:root{--accent: #43b581;--accent-dark: #36996d;--bg: #eef0f4;--fg: #2b2d31;--card: rgba(255, 255, 255, .82);--card-solid: #ffffff;--item: rgba(255, 255, 255, .7);--item-border: rgba(0, 0, 0, .12);--item-hover: rgba(0, 0, 0, .05);--muted: #6b6f76;--shadow: rgba(0, 0, 0, .18);--danger: #e05252;--hud-blur: saturate(180%) blur(14px)}:root.dark{--bg: #16181d;--fg: #f0f0f0;--card: rgba(34, 38, 46, .78);--card-solid: #22262e;--item: rgba(43, 48, 58, .7);--item-border: rgba(255, 255, 255, .12);--item-hover: rgba(255, 255, 255, .08);--muted: #a0a5ad;--shadow: rgba(0, 0, 0, .5);--danger: #ff6b6b}*{box-sizing:border-box}html,body{margin:0;height:100%;overflow:hidden;font-family:Arial,Helvetica,sans-serif;background:var(--bg);color:var(--fg);transition:background-color .4s,color .4s}#scene{position:fixed;inset:0;width:100%;height:100%;display:block;z-index:0;cursor:pointer;touch-action:none}.score-bar{position:fixed;top:14px;left:14px;z-index:20;display:flex;align-items:center;gap:8px;flex-wrap:wrap;background:var(--card);backdrop-filter:var(--hud-blur);-webkit-backdrop-filter:var(--hud-blur);padding:8px 14px;border-radius:14px;box-shadow:0 4px 16px var(--shadow);pointer-events:auto;max-width:calc(100vw - 80px)}@media (max-width: 600px){.score-bar{gap:6px;padding:6px 10px}.score-value{font-size:18px}.mini-stats{font-size:10px;gap:6px}.topbar button{width:36px;height:36px;font-size:18px}.side-panel{width:100vw}}.score-label{font-size:13px;color:var(--muted)}.score-value{font-size:22px;font-weight:800;color:var(--accent);min-width:40px;transition:transform .1s}.score-value.pulse{animation:scorePulse .2s ease-out}@keyframes scorePulse{50%{transform:scale(1.15);color:#ffd166}}.score-value.high-combo{color:#ffd166;text-shadow:0 0 12px rgba(255,215,0,.6)}.mini-stats{display:flex;gap:10px;font-size:12px;color:var(--muted)}.mini-stats strong{color:var(--fg)}.level-badge{background:linear-gradient(135deg,var(--accent),var(--accent-dark));color:#fff;padding:2px 10px;border-radius:999px;font-size:12px;font-weight:700}.topbar{position:fixed;top:14px;right:14px;z-index:20;display:flex;gap:8px}.topbar button{width:42px;height:42px;font-size:20px;line-height:1;padding:0;background:var(--card);backdrop-filter:var(--hud-blur);-webkit-backdrop-filter:var(--hud-blur);border:1px solid var(--item-border);border-radius:12px;cursor:pointer;color:inherit;transition:background-color .2s,transform .1s}.topbar button:hover{background:var(--item-hover)}.topbar button:active{transform:scale(.92)}.topbar button:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.fps-counter{font-size:11px;color:var(--muted);padding:4px 6px;background:var(--card);border:1px solid var(--item-border);border-radius:8px;align-self:center;backdrop-filter:var(--hud-blur)}.ach-count{position:absolute;top:-4px;right:-4px;min-width:18px;height:18px;padding:0 4px;display:flex;align-items:center;justify-content:center;background:var(--accent);color:#fff;font-size:11px;font-weight:700;border-radius:999px}.topbar button{position:relative}.side-panel{position:fixed;top:0;left:0;z-index:30;height:100vh;width:320px;max-width:85vw;background:var(--card-solid);box-shadow:4px 0 24px var(--shadow);display:flex;flex-direction:column;transform:translate(-100%);transition:transform .3s ease}.side-panel.open{transform:translate(0)}.panel-header{display:flex;align-items:center;justify-content:space-between;padding:16px;border-bottom:1px solid var(--item-border)}.panel-header h2{margin:0;font-size:20px}.panel-close{width:32px;height:32px;border:none;border-radius:8px;background:transparent;font-size:18px;cursor:pointer;color:var(--muted)}.panel-close:hover{background:var(--item-hover)}.panel-tabs{display:flex;border-bottom:1px solid var(--item-border);flex-wrap:wrap}.buy-mode-bar{display:flex;align-items:center;justify-content:space-between;padding:8px 12px;border-bottom:1px solid var(--item-border)}.buy-mode-label{font-size:13px;color:var(--muted)}.buy-mode-btn{padding:4px 14px;font:inherit;font-size:14px;font-weight:700;color:var(--accent);background:var(--item);border:1px solid var(--accent);border-radius:8px;cursor:pointer;transition:background-color .2s}.buy-mode-btn:hover{background:var(--item-hover)}.tab{flex:1;padding:8px 4px;border:none;background:transparent;font:inherit;font-size:13px;font-weight:600;color:var(--muted);cursor:pointer;border-bottom:2px solid transparent;transition:color .2s,border-color .2s}.tab.active{color:var(--accent);border-bottom-color:var(--accent)}.tab:hover{color:var(--fg)}.panel-body{flex:1;overflow-y:auto;padding:12px}.tab-content{display:none}.tab-content.active{display:flex;flex-direction:column;gap:8px}.panel-footer{padding:12px 16px;border-top:1px solid var(--item-border)}.danger-text{width:100%;padding:8px;border:none;border-radius:8px;background:transparent;color:var(--danger);font:inherit;font-size:14px;cursor:pointer}.danger-text:hover{background:#e052521a}.item{display:flex;flex-direction:column;gap:2px;width:100%;padding:10px 14px;font:inherit;text-align:left;color:inherit;background:var(--item);border:1px solid var(--item-border);border-radius:10px;cursor:pointer;transition:background-color .2s,border-color .2s,transform .12s,opacity .2s,box-shadow .2s}.item:hover{background:var(--item-hover);border-color:var(--accent);box-shadow:0 4px 12px #00000014;transform:translate(4px)}.item:active{transform:scale(.97)}.item:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.item.cant-afford{opacity:.5}.item .top{display:flex;justify-content:space-between;align-items:center;gap:8px;font-weight:700}.item .desc{font-size:13px;color:var(--muted)}.item .price{font-size:14px}.u-owned{background:var(--accent);color:#fff;border-radius:999px;padding:1px 9px;font-size:12px;font-weight:700}.u-owned:empty{display:none}.combo{width:80px;height:18px;border-radius:11px;background:#0000001f;overflow:hidden;position:relative;opacity:0;transition:opacity .3s}.combo.active{opacity:1}.combo-fill{position:absolute;inset:0;width:0%;background:linear-gradient(90deg,var(--accent),#ffd166);border-radius:11px;transition:width .15s ease-out}.combo-mult{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-weight:800;font-size:14px;color:#fff;text-shadow:0 1px 2px rgba(0,0,0,.5)}#floaters{position:fixed;inset:0;pointer-events:none;overflow:hidden;z-index:50}.floater{position:absolute;font-size:20px;font-weight:800;color:var(--accent);text-shadow:0 1px 3px rgba(0,0,0,.4);animation:floatUp .9s ease-out forwards;transform:translate(-50%,-50%)}.floater.crit{color:#ff8c42;font-size:26px;text-shadow:0 0 8px rgba(255,140,66,.6),0 1px 3px rgba(0,0,0,.4)}@keyframes floatUp{0%{opacity:0;transform:translate(-50%,-50%) scale(.5)}15%{opacity:1;transform:translate(-50%,-60%) scale(1.15)}30%{transform:translate(-50%,-70%) scale(1)}to{opacity:0;transform:translate(-50%,-160%) scale(.9)}}.modal{position:fixed;inset:0;z-index:80;display:none;align-items:center;justify-content:center;background:#00000080;backdrop-filter:blur(4px);padding:16px}.modal.open{display:flex}.modal-content{position:relative;background:var(--card-solid);color:var(--fg);border-radius:16px;padding:24px;max-width:480px;width:100%;max-height:85vh;overflow-y:auto;box-shadow:0 20px 60px #0006;animation:modalIn .25s ease-out}@keyframes modalIn{0%{opacity:0;transform:scale(.92) translateY(20px)}to{opacity:1;transform:scale(1) translateY(0)}}.modal-close{position:absolute;top:12px;right:12px;width:32px;height:32px;border:none;border-radius:8px;background:transparent;font-size:18px;cursor:pointer;color:var(--muted)}.modal-close:hover{background:var(--item-hover)}.modal h2{margin:0 0 14px;font-size:22px}.modal h3{margin:18px 0 8px;font-size:17px;color:var(--muted)}.stats-list{display:flex;flex-direction:column;gap:6px}.stat-row{display:flex;justify-content:space-between;padding:8px 12px;background:var(--item);border-radius:8px;font-size:15px}.stat-row strong{color:var(--accent)}.ach-list{display:grid;grid-template-columns:1fr;gap:8px}.ach{display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:10px;background:var(--item);border:1px solid var(--item-border)}.ach.got{border-color:var(--accent);background:#43b5811f}.ach.locked{opacity:.5}.ach-icon{font-size:22px}.ach div{display:flex;flex-direction:column}.ach strong{font-size:14px}.ach span{font-size:12px;color:var(--muted)}.prestige-info{display:flex;flex-direction:column;gap:8px;margin:16px 0;padding:14px;background:var(--item);border-radius:10px}.prestige-info strong{color:var(--accent);font-size:18px}.prestige-go{width:100%;padding:12px;font-size:16px;font-weight:700;color:#fff;background:linear-gradient(135deg,#ffd166,#43b581);border:none;border-radius:10px;cursor:pointer;transition:transform .1s,filter .2s}.prestige-go:hover:not(:disabled){filter:brightness(1.1)}.prestige-go:active:not(:disabled){transform:scale(.97)}.prestige-go:disabled{opacity:.5;cursor:not-allowed}.star-upgrades{display:flex;flex-direction:column;gap:8px}.star-upgrade{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 12px;background:var(--item);border:1px solid var(--item-border);border-radius:10px}.star-upgrade.maxed{opacity:.6}.su-info{display:flex;flex-direction:column;gap:2px}.su-info strong{font-size:14px}.su-info span{font-size:12px;color:var(--muted)}.su-info small{font-size:12px;color:var(--accent);font-weight:700}.su-btn{padding:6px 12px;font:inherit;font-size:14px;font-weight:700;color:#fff;background:linear-gradient(135deg,#ffd166,#fa0);border:none;border-radius:8px;cursor:pointer;flex-shrink:0;transition:transform .1s,filter .2s}.su-btn:hover:not(:disabled){filter:brightness(1.1);transform:scale(1.05)}.su-btn:disabled{opacity:.5;cursor:not-allowed}.skin-item{display:flex;align-items:center;gap:12px;width:100%;padding:10px 14px;font:inherit;text-align:left;color:inherit;background:var(--item);border:1px solid var(--item-border);border-radius:10px;cursor:pointer;transition:background-color .2s,border-color .2s}.skin-item:hover{background:var(--item-hover)}.skin-item.current{border-color:var(--accent);border-width:2px}.skin-item.locked{opacity:.6}.skin-swatch{width:36px;height:36px;border-radius:50%;flex-shrink:0;border:2px solid rgba(0,0,0,.1)}.skin-info{display:flex;flex-direction:column;gap:2px}.skin-info strong{font-size:15px}.skin-info span{font-size:12px;color:var(--muted)}.skin-cost{font-size:13px;color:var(--accent);font-weight:700}.minigame-content{max-width:400px;text-align:center}.minigame-arena{width:100%;height:200px;background:#00000026;border-radius:12px;margin:16px 0;position:relative;overflow:hidden}.minigame-status{font-size:18px;font-weight:700;color:var(--accent)}.timer-bar{width:100%;height:8px;background:#0003;border-radius:4px;overflow:hidden;margin-bottom:12px}.timer-fill{height:100%;width:100%;background:linear-gradient(90deg,#43b581,#ffd166,#e74c3c);border-radius:4px;transition:width .1s linear}.limit-overlay{position:fixed;inset:0;z-index:90;display:flex;align-items:center;justify-content:center;background:#000000d9;backdrop-filter:blur(8px)}.limit-overlay[hidden]{display:none!important}.limit-content{text-align:center;padding:32px;background:var(--card-solid);border-radius:20px;max-width:400px;box-shadow:0 0 60px #ffc8004d}.limit-content h1{color:var(--danger);font-size:28px;margin-bottom:12px}.limit-content p{color:var(--muted);margin-bottom:16px}#limit-bonus{font-size:20px;font-weight:700;color:var(--accent);margin-bottom:20px}#toast{position:fixed;left:50%;bottom:24px;transform:translate(-50%,20px);max-width:min(90vw,420px);padding:10px 18px;background:#1f232b;color:#fff;border-radius:10px;box-shadow:0 6px 20px #00000059;opacity:0;pointer-events:none;transition:opacity .25s,transform .25s;z-index:60}#toast.show{opacity:1;transform:translate(-50%);animation:toastIn .25s ease-out}@keyframes toastIn{0%{opacity:0;transform:translate(-50%,20px) scale(.9)}to{opacity:1;transform:translate(-50%) scale(1)}}#toast.golden{background:linear-gradient(135deg,#d4a017,#ffd166);color:#1a1a1a;font-weight:700}#toast.achievement{background:linear-gradient(135deg,#43b581,#2d8a5f)}#toast.warn{background:#c05050}#toast.info{background:#2d7dd2}.golden-banner{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%) scale(.8);z-index:70;padding:16px 32px;background:linear-gradient(135deg,gold,#fa0);color:#1a1a1a;font-size:22px;font-weight:800;border-radius:16px;box-shadow:0 0 40px #ffd70099;opacity:0;pointer-events:none;transition:opacity .3s,transform .3s}.golden-banner.show{opacity:1;transform:translate(-50%,-50%) scale(1);animation:goldenPulse 1s ease-in-out infinite}@keyframes goldenPulse{0%,to{box-shadow:0 0 40px #ffd70099}50%{box-shadow:0 0 60px #ffd700e6}}.auto-cheat-btn{position:fixed;bottom:20px;left:50%;transform:translate(-50%);z-index:25;padding:12px 28px;font-size:16px;font-weight:800;color:#fff;background:linear-gradient(135deg,#9b59b6,#8e44ad);border:none;border-radius:14px;box-shadow:0 6px 20px #9b59b680;cursor:pointer;user-select:none;-webkit-user-select:none;transition:transform .1s,box-shadow .2s,background .2s}.auto-cheat-btn:hover{filter:brightness(1.1)}.auto-cheat-btn.active{background:linear-gradient(135deg,#e74c3c,#c0392b);box-shadow:0 0 24px #e74c3c99;animation:cheatPulse 1s ease-in-out infinite}@keyframes cheatPulse{0%,to{box-shadow:0 0 16px #e74c3c80}50%{box-shadow:0 0 32px #e74c3ccc}}.save-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:8px}.save-btn{padding:8px 16px;font:inherit;font-size:14px;color:var(--fg);background:var(--item);border:1px solid var(--item-border);border-radius:8px;cursor:pointer;transition:background-color .2s}.save-btn:hover{background:var(--item-hover)}.import-input{width:100%;padding:8px;font:inherit;font-size:13px;background:var(--item);border:1px solid var(--item-border);border-radius:8px;color:var(--fg);margin-top:8px}.powerups{position:fixed;bottom:80px;left:50%;transform:translate(-50%);z-index:22;display:flex;gap:8px;pointer-events:none}.powerup-badge{display:flex;flex-direction:column;align-items:center;gap:2px;padding:8px 14px;background:var(--card);backdrop-filter:var(--hud-blur);-webkit-backdrop-filter:var(--hud-blur);border:1px solid var(--accent);border-radius:12px;box-shadow:0 4px 16px #43b5814d;animation:badgeIn .3s ease-out}@keyframes badgeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.pu-icon{font-size:14px;font-weight:700;color:var(--accent)}.pu-timer{font-size:12px;color:var(--muted)}.laser-dot{position:absolute;width:40px;height:40px;border-radius:50%;background:radial-gradient(circle,red,#c00);box-shadow:0 0 20px #f009;cursor:pointer;transform:translate(-50%,-50%);animation:laserPulse .5s ease-in-out infinite alternate}@keyframes laserPulse{0%{box-shadow:0 0 15px #ff000080}to{box-shadow:0 0 30px #f00c}}.loading{position:fixed;inset:0;display:flex;align-items:center;justify-content:center;background:var(--bg);color:var(--muted);font-size:18px;z-index:100;transition:opacity .5s}.loading.hidden{opacity:0;pointer-events:none}.loading span:after{content:"";display:inline-block;width:1ch;animation:dots 1.2s steps(4,end) infinite}@keyframes dots{0%{content:""}25%{content:"."}50%{content:".."}75%{content:"..."}}.noscript{position:fixed;left:50%;bottom:24px;transform:translate(-50%);background:#1f232b;color:#fff;padding:10px 18px;border-radius:10px}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation:none!important;transition:none!important}}
