:root{--bg-0: #9470cc;--bg-1: #9470cc;--bg-glow: #d8bbff;--ink: #f7f5ff;--ink-dim: #d9e8ff;--accent: #3df0ff;--accent-2: #ffd45a;--control-bg: rgba(246, 238, 255, .92);--control-ink: #625979;--panel-bg-0: rgba(255, 253, 255, .96);--panel-bg-1: rgba(225, 241, 255, .96);--panel-ink: #30406b;--panel-dim: #667394;--board-bg: rgba(103, 78, 164, .58);--board-cell: rgba(188, 161, 228, .95);--board-line: rgba(123, 98, 178, .54);--hud-bg: rgba(58, 35, 102, .42);--hud-border: rgba(255, 255, 255, .18);--hud-shadow: rgba(20, 12, 40, .24);--safe-top: env(safe-area-inset-top, 0px);--safe-bottom: env(safe-area-inset-bottom, 0px)}*{margin:0;padding:0;box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body{height:100%;overflow:hidden;overscroll-behavior:none;touch-action:none;user-select:none;-webkit-user-select:none}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,system-ui,sans-serif;color:var(--ink);background:#9470cc;background-attachment:fixed;transition:background .42s ease,color .22s ease}#app{position:fixed;top:0;left:0;right:0;height:100%;height:var(--app-height, 100dvh);display:block;padding:0}.hud{position:fixed;z-index:4;top:calc(var(--safe-top) + clamp(28px,5.8vh,68px));left:0;right:0;display:flex;align-items:center;justify-content:space-between;padding:0 clamp(18px,5vw,34px);pointer-events:none}.score-hero{position:fixed;left:50%;top:clamp(72px,10.2vh,118px);transform:translate(-50%);min-width:5.5ch;text-align:center}.hud .score-value{display:inline-block;font-family:var(--display-font, inherit);font-size:clamp(40px,11vw,76px);line-height:.95;font-weight:900;letter-spacing:0;font-variant-numeric:tabular-nums;position:relative;background:none;color:var(--score-ink, #ffe86a);text-shadow:0 3px 0 rgba(91,53,122,.28),0 4px 12px rgba(72,44,109,.24)}.best-chip{display:flex;align-items:center;gap:9px;min-width:96px;font-family:var(--display-font, inherit);color:var(--accent-2);font-size:clamp(25px,6.7vw,42px);font-weight:900;font-variant-numeric:tabular-nums;text-shadow:0 2px 8px rgba(65,30,25,.36)}.best-chip .crown{font-size:1.42em;line-height:1;color:#ffd34f}body.progression-shell .score-hero{top:clamp(58px,7.4vh,84px);padding:5px clamp(13px,3.4vw,18px) 8px;border:1px solid var(--hud-border);border-radius:8px;background:var(--hud-bg);background:linear-gradient(180deg,color-mix(in srgb,var(--hud-bg),rgba(255,255,255,.1)),var(--hud-bg));box-shadow:0 10px 24px var(--hud-shadow),inset 0 1px #ffffff24}body.progression-shell .hud .score-value{font-size:clamp(38px,9vw,62px)}body.progression-shell .best-chip{min-width:auto;padding:5px 11px 6px;border:1px solid var(--hud-border);border-radius:8px;background:var(--hud-bg);box-shadow:0 8px 18px var(--hud-shadow),inset 0 1px #ffffff1f;color:var(--score-ink);font-size:clamp(23px,5.8vw,36px)}body.progression-shell .best-chip .crown{color:var(--accent-2)}@media(max-width:480px){body.progression-shell .hud{top:calc(var(--safe-top) + clamp(10px,2.2vh,18px));padding:0 clamp(14px,4vw,18px)}body.progression-shell .best-chip{gap:5px;padding:4px 8px 5px;font-size:clamp(17px,4.8vw,23px)}body.progression-shell .best-chip .crown{font-size:1.25em}}.icon-btn{appearance:none;border:none;background:var(--control-bg);color:var(--control-ink);width:clamp(50px,13.5vw,68px);height:clamp(50px,13.5vw,68px);border-radius:11px;font-size:clamp(25px,6.4vw,36px);display:grid;place-items:center;cursor:pointer;transition:transform .08s ease,background .15s ease;pointer-events:auto;box-shadow:0 7px #382b6538,0 12px 18px #382b6529}body.progression-shell .icon-btn{border:1px solid var(--hud-border);border-radius:8px;box-shadow:0 8px 18px var(--hud-shadow),inset 0 1px #ffffff29}.icon-btn:active{transform:scale(.92);background:#fffffff2}.icon-btn.audio-unlock{color:#9b6b00;background:#ffe061e6;box-shadow:0 0 18px #ffce3a38}#audioUnlockBtn{display:none!important}.right-cluster{display:flex;align-items:center;gap:clamp(7px,2vw,12px);min-width:clamp(50px,13.5vw,68px);justify-content:flex-end}.hud .bb-daily-btn{width:72px;height:38px;padding:0 9px;justify-content:center;gap:5px;border-radius:9px;background:var(--control-bg);color:var(--control-ink);font-size:12px;font-weight:900;box-shadow:0 4px #382b6538,0 8px 16px #382b651f;pointer-events:auto}.hud .bb-daily-btn:before{content:"";width:17px;height:17px;background:center / contain no-repeat url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 18 18' fill='none'%3E%3Crect x='2.3' y='3.2' width='13.4' height='12.1' rx='2.2' fill='%23fff6ff' stroke='%23625979' stroke-width='1.8'/%3E%3Cpath d='M5 1.9v3M13 1.9v3M3.4 6.8h11.2' stroke='%23625979' stroke-width='1.8' stroke-linecap='round'/%3E%3Cpath d='M6.1 9.3h1.8v1.8H6.1zM10.1 9.3h1.8v1.8h-1.8z' fill='%23d52fc1'/%3E%3C/svg%3E");flex:0 0 auto}.hud .bb-daily-btn:active{background:#fffffff2}.hud .bb-daily-dot{top:-5px;right:-7px;width:12px;height:12px;border-radius:50%;border:2px solid var(--control-bg);background:linear-gradient(180deg,#ffdc65,#ff8a4c);box-shadow:0 2px 6px #81412159}.hud .bb-daily-dot:after{content:""}.hud .bb-daily-text{display:inline;font-size:12px;letter-spacing:0;line-height:1}.stage-wrap{position:absolute;inset:0;width:100%;min-height:100%}#stage{position:absolute;inset:0;width:100%;height:100%;display:block;touch-action:none}.overlay{position:fixed;inset:0;display:grid;place-items:center;background:#050710b8;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);opacity:0;pointer-events:none;transition:opacity .25s ease;z-index:10}.overlay.show{opacity:1;pointer-events:auto}.panel{width:min(86vw,380px);background:linear-gradient(180deg,var(--panel-bg-0),var(--panel-bg-1));border:1px solid rgba(255,255,255,.62);border-radius:18px;padding:28px 24px 24px;text-align:center;color:var(--panel-ink);box-shadow:0 28px 70px #372a6661,0 5px #5942972e;transform:translateY(12px) scale(.96);transition:transform .3s cubic-bezier(.2,.9,.3,1.2)}body.progression-shell .panel{border-color:color-mix(in srgb,var(--accent),rgba(255,255,255,.68) 58%);border-radius:8px;box-shadow:0 28px 70px color-mix(in srgb,var(--hud-shadow),rgba(0,0,0,.3)),0 5px #59429729}.overlay.show .panel{transform:translateY(0) scale(1)}.panel h1{font-size:26px;font-weight:800;margin-bottom:4px}.panel .sub{color:var(--panel-dim);font-size:14px;margin-bottom:18px}.panel .big-score{font-size:54px;font-weight:800;font-variant-numeric:tabular-nums;text-shadow:0 0 30px rgba(124,92,255,.5);line-height:1}.panel .big-score-label{font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:var(--ink-dim);font-weight:700;margin-bottom:18px}.panel .row{display:flex;gap:10px;justify-content:center;margin-top:6px}.btn{appearance:none;border:none;border-radius:16px;padding:15px 26px;font-size:16px;font-weight:800;cursor:pointer;color:#fff;background:linear-gradient(180deg,#15d9e8,#0fb1d2);box-shadow:0 9px #10639147,0 14px 24px #119cc23d;transition:transform .08s ease,filter .15s ease;flex:1}body.progression-shell .btn{border-radius:8px;color:var(--control-ink);background:linear-gradient(180deg,var(--accent-2),var(--accent));box-shadow:0 9px color-mix(in srgb,var(--accent),#000 35%),0 14px 24px var(--hud-shadow)}.btn:active{transform:scale(.95);filter:brightness(1.08)}.btn.ghost{background:#5b488914;box-shadow:none;color:var(--panel-ink);flex:0 0 auto}body.progression-shell .btn.ghost{background:color-mix(in srgb,var(--panel-bg-0),var(--accent) 12%);box-shadow:none;color:var(--panel-ink)}.hud .score-value{transform-origin:center center;will-change:transform}@keyframes scorePulse{0%{transform:scale(1)}30%{transform:scale(1.18);color:#ffdf72}to{transform:scale(1)}}.hud .score-value.pulse{animation:scorePulse .36s cubic-bezier(.2,.9,.3,1.2)}.panel h1.go-title{font-size:17px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:var(--panel-dim);margin-bottom:8px}.panel h1.go-title.celebrate{font-size:24px;letter-spacing:0;text-transform:none;color:#ffdf72;text-shadow:0 0 26px rgba(255,206,58,.55);animation:goCelebrate .46s cubic-bezier(.2,.9,.3,1.2)}@keyframes goCelebrate{0%{transform:scale(.6);opacity:0}60%{transform:scale(1.12)}to{transform:scale(1);opacity:1}}.panel .big-score.gold{color:#ffdf72;text-shadow:0 0 38px rgba(255,206,58,.6)}.btn.revive-btn{display:flex;flex-direction:column;align-items:center;gap:2px;padding-top:11px;padding-bottom:11px;line-height:1.1}.btn .btn-sub{font-size:11px;font-weight:700;letter-spacing:.02em;opacity:.82}.level-track{position:fixed;z-index:4;left:50%;top:clamp(120px,16vh,150px);transform:translate(-50%);display:flex;flex-direction:row;align-items:center;gap:9px;pointer-events:none;white-space:nowrap}body.progression-shell .level-track{padding:6px 9px;border:1px solid var(--hud-border);border-radius:8px;background:var(--hud-bg);box-shadow:0 8px 18px var(--hud-shadow),inset 0 1px #ffffff1f}body.prestige-preview .level-track{gap:8px;padding:7px 10px;border-color:color-mix(in srgb,var(--rank-metal-light, var(--accent-2)),rgba(255,255,255,.2) 28%);background:linear-gradient(180deg,#ffffff1a,#fff0),color-mix(in srgb,var(--hud-bg),#07040f 28%);box-shadow:0 10px 24px var(--hud-shadow),inset 0 1px #ffffff29}body.prestige-preview .level-track:before{content:"";width:28px;height:28px;flex:0 0 auto;border-radius:50%;border:2px solid rgba(255,255,255,.28);background:radial-gradient(circle at 35% 25%,rgba(255,255,255,.88),transparent 23%),linear-gradient(145deg,var(--rank-metal-light, #ffe588),var(--rank-metal-dark, #8f5517));box-shadow:inset 0 -4px 9px #00000040,0 6px 14px color-mix(in srgb,var(--rank-metal-light, #ffe588),transparent 65%)}body.prestige-preview .level-track:after{content:var(--rank-stars, "★ ☆ ☆ ☆ ☆");flex:0 0 auto;color:var(--rank-metal-light, var(--accent-2));font-size:12px;letter-spacing:1px;text-shadow:0 0 12px color-mix(in srgb,var(--rank-metal-light, #ffe588),transparent 45%)}.level-tag{font-size:clamp(12px,3.4vw,15px);font-weight:900;letter-spacing:.04em;color:var(--accent);text-shadow:0 2px 7px rgba(20,12,40,.45)}body.progression-shell .level-tag{max-width:min(54vw,236px);overflow:hidden;text-overflow:ellipsis;color:var(--score-ink);text-shadow:0 2px 8px var(--hud-shadow)}body.prestige-preview .level-tag{max-width:min(44vw,210px);color:color-mix(in srgb,var(--rank-metal-light, var(--score-ink)),#ffffff 22%);letter-spacing:0;text-shadow:0 2px 8px rgba(0,0,0,.28)}.level-bar{width:clamp(96px,30vw,150px);height:7px;border-radius:999px;background:#ffffff29;box-shadow:inset 0 0 0 1px #ffffff24;overflow:hidden}body.progression-shell .level-bar{background:#ffffff2e;box-shadow:inset 0 0 0 1px var(--hud-border)}body.prestige-preview .level-bar{width:clamp(74px,22vw,118px);height:6px;background:#ffffff24;box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--rank-metal-light, #ffe588),transparent 72%)}.level-fill{height:100%;width:0%;border-radius:999px;background:var(--accent);box-shadow:0 0 12px var(--accent);transition:width .34s cubic-bezier(.2,.8,.2,1)}body.prestige-preview .level-fill{background:linear-gradient(90deg,var(--rank-metal-dark, var(--accent)),var(--rank-metal-light, var(--accent-2)));box-shadow:0 0 14px color-mix(in srgb,var(--rank-metal-light, #ffe588),transparent 40%)}.level-tag.bump{animation:levelBump .36s ease-out}@keyframes levelBump{0%{transform:scale(1)}35%{transform:scale(1.22)}to{transform:scale(1)}}.hidden{display:none!important}body.mode-challenge .hud{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(min-content,1fr);align-items:start;column-gap:6px}@media(max-width:390px){body.mode-challenge .icon-btn.mode-toggle,body.mode-challenge .icon-btn.audio-unlock{font-size:11px;padding:0 9px;height:30px}}body.mode-challenge .hud .right-cluster{grid-column:3;grid-row:1;justify-self:end;display:flex;flex-direction:column;align-items:flex-end;gap:7px}.obj-header{grid-column:2;grid-row:1;justify-self:center;min-width:0;display:flex;flex-direction:column;align-items:center;gap:7px;z-index:4}.obj-row{display:flex;gap:clamp(10px,4.5vw,20px);align-items:flex-start}.pack-row{display:flex;align-items:center;gap:9px}.obj-level{font-size:12px;font-weight:900;color:#fff;background:#140c3080;border-radius:11px;padding:3px 9px;letter-spacing:.02em;white-space:nowrap}.obj-streak{font-size:11px;font-weight:900;color:#ffd34f;text-shadow:0 1px 4px rgba(20,10,45,.6);white-space:nowrap}.pack-dots{display:flex;gap:5px}.pack-dots i{width:7px;height:7px;border-radius:50%;background:#ffffff61}.pack-dots i.done{background:#5ce8e8;box-shadow:0 0 5px #5ce8e8b3}.pack-dots i.cur{background:#ffd34f;box-shadow:0 0 6px #ffd34fcc}.obj-item{display:flex;flex-direction:column;align-items:center;gap:1px;min-width:34px}.obj-item svg{filter:drop-shadow(0 2px 4px rgba(20,10,45,.45))}.obj-cnt{font-size:17px;font-weight:900;color:#fff;font-variant-numeric:tabular-nums;text-shadow:0 1px 6px rgba(30,15,60,.6)}.obj-done{font-size:17px;font-weight:900;color:#8dff70;text-shadow:0 0 10px rgba(120,255,100,.55)}.obj-item.is-done svg{opacity:.85}.obj-item.pop svg{animation:obj-pop .32s ease-out}@keyframes obj-pop{0%{transform:scale(1)}45%{transform:scale(1.45)}to{transform:scale(1)}}@media(prefers-reduced-motion:reduce){.obj-item.pop svg{animation:none}}.score-track{position:relative;width:min(46vw,220px);height:26px;border-radius:14px;background:#140c308c;overflow:hidden;box-shadow:inset 0 1px 4px #00000059}.score-fill{position:absolute;inset:0 auto 0 0;border-radius:14px;background:linear-gradient(90deg,#35b9ec,#5ce8e8);transition:width .28s ease-out}.score-now,.score-target{position:absolute;top:50%;transform:translateY(-50%);font-size:13px;font-weight:900;color:#fff;text-shadow:0 1px 3px rgba(20,10,45,.6)}.score-now{left:10px}.score-target{right:10px;opacity:.85}.gem-flight{position:fixed;z-index:60;pointer-events:none;filter:drop-shadow(0 2px 6px rgba(20,10,45,.5))}.so-close{position:fixed;inset:0;z-index:40;display:flex;flex-direction:column;align-items:center;padding-top:max(96px,18vh);background:linear-gradient(180deg,var(--bg-1),var(--bg-0) 80%);opacity:0;pointer-events:none;transition:opacity .25s ease-out}.so-close.show{opacity:1;pointer-events:auto}.sc-title{font-family:var(--display-font, inherit);font-size:clamp(30px,9vw,42px);font-weight:900;color:#fff;text-shadow:0 3px 14px rgba(40,18,80,.55);margin:0 0 34px}.sc-tally{display:flex;gap:30px;margin-bottom:46px;transform:scale(1.25)}.sc-tally .obj-cnt{font-size:21px}.sc-score{font-size:30px;font-weight:900;color:#fff;font-variant-numeric:tabular-nums}.so-close .btn.sc-retry{flex:0 0 auto;background:linear-gradient(180deg,#7ede58,#4cb830);color:#fff;font-size:17px;font-weight:900;border-radius:16px;padding:13px 62px;box-shadow:0 5px #37881f,0 10px 22px #0f082873}.sc-share{margin-top:20px;background:none;border:none;color:#fffc;font-weight:800;font-size:15px;text-decoration:underline;text-underline-offset:3px;cursor:pointer}.band-wipe{position:fixed;left:0;right:0;top:32%;height:34%;z-index:50;display:grid;place-items:center;background:linear-gradient(180deg,#586ccdf7,#3a48a0f7);box-shadow:0 0 40px #140e3780;transform:translate(-102%);pointer-events:none;visibility:hidden}.band-wipe.run{visibility:visible;animation:band-sweep .95s cubic-bezier(.6,0,.3,1) forwards}@keyframes band-sweep{0%{transform:translate(-102%)}38%{transform:translate(0)}62%{transform:translate(0)}to{transform:translate(102%)}}@media(prefers-reduced-motion:reduce){.band-wipe.run{animation:none;visibility:hidden}}.bw-inner{display:flex;flex-direction:column;align-items:center;gap:10px}.bw-level{font-family:var(--display-font, inherit);font-size:clamp(24px,7vw,34px);font-weight:900;color:#fff;text-shadow:0 2px 10px rgba(30,18,70,.5)}.bw-goal{display:flex;gap:12px;font-size:18px;font-weight:900;color:#fff}.icon-btn.mode-toggle{display:flex;flex-direction:row;align-items:center;justify-content:center;gap:5px;width:auto;padding:0 13px;font-size:13px;font-weight:900;line-height:1;white-space:nowrap;letter-spacing:.01em}.icon-btn.audio-unlock{width:auto;padding:0 13px;font-size:13px;font-weight:900;line-height:1;white-space:nowrap;animation:sound-nudge 2.2s ease-in-out infinite}@keyframes sound-nudge{0%,to{transform:scale(1);box-shadow:0 3px 8px #1e0f3c59}50%{transform:scale(1.07);box-shadow:0 3px 14px #1e0f3c80,0 0 0 4px #ffffff1f}}@media(prefers-reduced-motion:reduce){.icon-btn.audio-unlock{animation:none}}@media(min-width:700px){#app,.hud{left:50%;right:auto;transform:translate(-50%);width:min(540px,100vw)}#app{top:50%;transform:translate(-50%,-50%);height:min(var(--app-height, 100dvh),900px)}}.btn-ico{font-size:1.5em;line-height:0;vertical-align:-.12em;display:inline-block}.icon-btn.mode-toggle .btn-ico{font-size:1.7em;vertical-align:-.14em}@media(max-width:344px){body.mode-challenge .icon-btn.mode-toggle,body.mode-challenge .icon-btn.audio-unlock{font-size:10px;padding:0 7px;gap:3px;height:27px}body.mode-challenge .icon-btn.mode-toggle .btn-ico{font-size:1.4em}.obj-row{gap:8px}}.bb-daily-btn{position:relative;appearance:none;border:none;display:inline-flex;align-items:center;gap:5px;height:38px;padding:0 11px;border-radius:12px;background:#7c5cff29;color:var(--control-ink);font-size:15px;font-weight:800;cursor:pointer;transition:transform .08s ease,background .15s ease}.bb-daily-btn:active{transform:scale(.94);background:#7c5cff42}.bb-daily-text{font-size:13px;letter-spacing:.01em}.bb-daily-dot{position:absolute;top:-3px;right:-3px;width:11px;height:11px;border-radius:50%;background:#ff4d6d;box-shadow:0 0 8px #ff4d6dd9;border:2px solid var(--bg-0)}.bb-daily-dot.hidden{display:none!important}.bb-streak-chip{display:inline-flex;align-items:center;gap:3px;height:38px;padding:0 12px;border-radius:12px;background:#7c5cff29;color:var(--control-ink);font-size:14px;font-weight:800;font-variant-numeric:tabular-nums;white-space:nowrap}.bb-streak-chip.hidden{display:none!important}.bb-daily-panel .bb-daily-status{color:var(--panel-dim);font-size:14px;margin:2px 0 16px}.bb-daily-panel .bb-daily-status b{color:var(--panel-ink)}.bb-share-row{margin-top:10px;gap:10px}.bb-share-row .btn{flex:1}.btn.bb-share{background:#5b488914;box-shadow:none;color:#b735a4}.install-steps{text-align:left;margin:4px 0 18px;padding-left:20px;color:var(--panel-ink);font-size:15px;line-height:1.9}.install-steps b{color:var(--panel-ink)}.ios-share-glyph{display:inline-block;transform:translateY(2px);color:var(--accent);font-weight:800}
