:root{--bg:#121419;--panel:#1c1f26;--panel-2:#262a33;--line:#333845;--text:#eef0f4;--dim:#8b93a3;--chips:#3e8bff;--mult:#ff4d5a;--money:#f5c400;--good:#2fb36d;color:var(--text);background:var(--bg);font-family:system-ui,-apple-system,Segoe UI,Apple SD Gothic Neo,Malgun Gothic,sans-serif}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body{overscroll-behavior:none;touch-action:none;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;background:var(--bg);height:100%;margin:0;overflow:hidden}button{font:inherit;color:inherit;touch-action:manipulation}.hidden{display:none!important}#app{max-width:520px;height:100dvh;padding:env(safe-area-inset-top) 0 env(safe-area-inset-bottom);flex-direction:column;margin:0 auto;display:flex;position:relative}#top{flex:none;padding:8px 12px 6px}#stage-label{color:var(--dim);letter-spacing:.04em;min-height:16px;font-size:12px}#hud{grid-template-columns:repeat(5,1fr);gap:6px;margin-top:4px;display:grid}.stat{background:var(--panel);text-align:center;border-radius:10px;min-width:0;padding:5px 4px 6px}.stat .k{color:var(--dim);font-size:11px;display:block}.stat .v{font-variant-numeric:tabular-nums;white-space:nowrap;font-size:18px;font-weight:800;display:block}.stat .hearts{color:var(--mult);letter-spacing:-1px}.stat .money{color:var(--money)}.stat.bump .v{animation:.25s ease-out bump}#progress{background:var(--panel);border-radius:2px;height:4px;margin-top:6px;overflow:hidden}#progress-fill{background:var(--good);width:0;height:100%;transition:width .25s ease-out}#stage{flex:1;min-height:0;position:relative}#board{touch-action:none;width:100%;height:100%;position:absolute;inset:0}#volley{text-align:center;pointer-events:none;font-variant-numeric:tabular-nums;white-space:nowrap;z-index:2;font-weight:900;position:absolute;top:6px;left:50%;transform:translate(-50%)}#volley .chips,#volley .mult{color:#fff;border-radius:10px;min-width:64px;padding:2px 10px;font-size:30px;display:inline-block}#volley .chips{background:var(--chips);text-align:right}#volley .mult{background:var(--mult);text-align:left}#volley .times{color:var(--dim);margin:0 4px;font-size:22px}#volley .pop{animation:.18s ease-out bump}#volley-note{color:var(--text);min-height:18px;margin-top:2px;font-size:14px;font-weight:700}#volley-score{color:var(--money);text-shadow:0 2px #000;min-height:0;font-size:34px}#hint{text-align:center;color:var(--text);pointer-events:none;font-size:14px;animation:1.6s ease-in-out infinite breathe;position:absolute;bottom:8px;left:0;right:0}#toast{background:var(--panel-2);border:1px solid var(--line);text-align:center;pointer-events:none;z-index:3;border-radius:10px;max-width:92%;padding:8px 12px;font-size:13px;position:absolute;bottom:40px;left:50%;transform:translate(-50%)}#bottom{flex:none;padding:6px 10px 10px}#charms{grid-template-columns:repeat(5,1fr);gap:6px;display:grid}.charm{background:var(--panel);border:1px solid var(--line);text-align:center;word-break:keep-all;border-radius:10px;flex-direction:column;justify-content:center;align-items:center;height:54px;padding:2px;font-size:12px;font-weight:700;line-height:1.15;display:flex;position:relative}.charm.empty{color:var(--dim);border-style:dashed;font-weight:400}.charm .rar{border-radius:3px;width:6px;height:6px;position:absolute;top:3px;right:4px}.charm.fire{border-color:var(--money);animation:.32s ease-in-out wiggle;box-shadow:0 0 10px #f5c40080}#controls{gap:6px;margin-top:8px;display:flex}.ctl{border:1px solid var(--line);background:var(--panel-2);border-radius:12px;flex:1;height:46px;font-size:15px;font-weight:800}.ctl.small{flex:0 0 64px;font-size:13px}.ctl.active{background:var(--money);color:#111;border-color:var(--money)}.ctl:disabled{opacity:.4}#overlay{z-index:10;background:#0a0b0edb;justify-content:center;align-items:center;padding:16px;display:flex;position:absolute;inset:0}.sheet{touch-action:pan-y;background:var(--panel);border:1px solid var(--line);border-radius:16px;width:100%;max-height:100%;padding:16px;overflow-y:auto}.sheet h2{margin:0 0 4px;font-size:22px}.sheet h3{color:var(--dim);margin:14px 0 6px;font-size:13px;font-weight:600}.sheet .sub{color:var(--dim);font-size:13px}.sheet .row{justify-content:space-between;gap:8px;padding:4px 0;font-size:15px;display:flex}.sheet .row b{color:var(--money)}.btn{background:var(--good);color:#08130d;border:none;border-radius:12px;width:100%;height:48px;margin-top:12px;font-size:16px;font-weight:900;display:block}.btn.secondary{background:var(--panel-2);color:var(--text);border:1px solid var(--line)}.btn:disabled{opacity:.4}.banner{text-align:center;pointer-events:none}.banner .big{font-size:30px;font-weight:900}.banner .mid{color:var(--dim);margin-top:6px;font-size:18px}.banner .warn{color:var(--mult);margin-top:12px;font-size:18px;font-weight:800}.items{gap:8px;display:grid}.item{background:var(--panel-2);border:1px solid var(--line);border-radius:12px;grid-template-columns:1fr auto;align-items:center;gap:4px 10px;padding:10px 12px;display:grid}.item .name{font-weight:800}.item .desc{color:var(--dim);grid-column:1/2;font-size:12px}.item .tag{vertical-align:1px;border-radius:6px;margin-left:6px;padding:1px 6px;font-size:11px;font-weight:700}.item button,.mini{background:var(--money);color:#111;border:none;border-radius:10px;grid-area:1/2/3;min-width:64px;height:40px;font-weight:900}.item.sold{opacity:.35}.owned{border-bottom:1px solid var(--line);grid-template-columns:1fr auto auto auto;align-items:center;gap:6px;padding:6px 0;font-size:14px;display:grid}.owned button{border:1px solid var(--line);background:var(--panel-2);border-radius:8px;min-width:38px;height:34px;font-weight:800}.owned button.sell{min-width:58px;color:var(--money)}.pillrow{flex-wrap:wrap;gap:6px;font-size:13px;display:flex}.pill{background:var(--panel-2);border-radius:8px;padding:3px 8px}pre.result{white-space:pre-wrap;background:var(--bg);-webkit-user-select:text;user-select:text;border-radius:8px;margin:10px 0 0;padding:10px;font-size:12px}#build{color:#555c6b;pointer-events:none;z-index:11;font-size:10px;position:absolute;bottom:2px;right:6px}@keyframes bump{0%{transform:scale(1)}40%{transform:scale(1.22)}to{transform:scale(1)}}@keyframes wiggle{0%,to{transform:rotate(0)scale(1)}25%{transform:rotate(-8deg)scale(1.08)}75%{transform:rotate(8deg)scale(1.08)}}@keyframes breathe{0%,to{opacity:.55}50%{opacity:1}}#combo{color:#ffb45f;white-space:nowrap;pointer-events:none;z-index:2;background:#2a1d10;border:2px solid #ff9d3c;border-radius:14px;padding:4px 16px;font-size:22px;font-weight:900;transition:opacity .2s;position:absolute;top:6px;left:50%;transform:translate(-50%)}#combo-k{color:#fff;font-variant-numeric:tabular-nums;font-size:28px}#combo.idle{opacity:.35;border-color:var(--line);background:var(--panel);color:var(--dim)}#combo.hot{box-shadow:0 0 18px #ff9d3cb3}#combo.up{animation:.22s ease-out comboUp}@keyframes comboUp{50%{transform:translate(-50%)scale(1.25)}}#combo.break{border-color:var(--mult);color:var(--mult);animation:.5s ease-out shatter}#volley{top:68px}#refund{background:var(--good);color:#08130d;pointer-events:none;z-index:3;border-radius:12px;padding:6px 12px;font-size:20px;font-weight:900;animation:1s ease-out forwards refund;position:absolute;top:10px;right:12px}#debug{color:#b8f5c8;white-space:pre;pointer-events:none;z-index:4;background:#000000b8;border-radius:8px;max-width:62%;max-height:45%;margin:0;padding:6px 8px;font:10px/1.35 ui-monospace,Consolas,monospace;position:absolute;bottom:4px;left:4px;overflow:hidden}@keyframes shatter{0%{transform:translate(-50%)scale(1.15)}20%{transform:translate(calc(-50% - 10px))rotate(-4deg)}40%{transform:translate(calc(10px - 50%))rotate(4deg)}60%{transform:translate(calc(-50% - 6px))rotate(-2deg)}to{transform:translate(-50%)scale(1)}}@keyframes refund{0%{opacity:0;transform:translateY(12px)scale(.6)}20%{opacity:1;transform:translateY(0)scale(1.2)}70%{opacity:1;transform:translateY(-6px)scale(1)}to{opacity:0;transform:translateY(-40px)}}html{-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;text-size-adjust:100%}body.push #combo{border-width:1.5px;padding:2px 12px;font-size:16px;top:2px}body.push #combo-k{font-size:20px}@media (height<=760px){#top{padding:4px 10px 2px}#stage-label{min-height:14px;font-size:11px}#hud{gap:4px;margin-top:2px}.stat{border-radius:8px;padding:2px 2px 3px}.stat .k{font-size:10px}.stat .v{font-size:15px}#progress{margin-top:4px}#bottom{padding:4px 8px 6px}.charm{height:36px;font-size:11px}#controls{margin-top:5px}.ctl{height:36px;font-size:13px}#hint{font-size:12px;bottom:2px}}@media (height<=620px){.stat .k{font-size:9px}.charm{height:30px}.ctl{height:32px}}.invisible{visibility:hidden}#lv-bar{align-items:center;gap:6px;min-height:34px;display:flex}#lv-title{white-space:nowrap;text-overflow:ellipsis;flex:1;min-width:0;font-size:15px;font-weight:800;overflow:hidden}.icon{border:1px solid var(--line);background:var(--panel-2);border-radius:10px;min-width:36px;height:32px;padding:0 8px;font-size:17px;font-weight:800}.icon.small{min-width:40px;font-size:12px}.stat .v.star{color:var(--money)}#boosters{grid-template-columns:repeat(4,1fr);gap:8px;padding-top:6px;display:grid}.booster{border:1px solid var(--line);background:var(--panel-2);border-radius:12px;height:54px;font-size:15px;font-weight:800;position:relative}.booster .count{background:var(--good);color:#08130d;border-radius:11px;min-width:22px;height:22px;padding:0 5px;font-size:13px;line-height:22px;position:absolute;top:-7px;right:-5px}.booster .count.zero{background:var(--money);color:#111}.booster.active{background:var(--money);border-color:var(--money);color:#111}.booster.off{opacity:.35}body.lv #hint{color:#ffd36a;font-size:14px;font-weight:700;animation:none;bottom:6px}#home{z-index:9;touch-action:pan-y;background:var(--bg);padding:env(safe-area-inset-top) 0 env(safe-area-inset-bottom);position:absolute;inset:0;overflow-y:auto}.home-in{padding:14px 14px 28px}.home-head{justify-content:space-between;align-items:center;display:flex}.logo{letter-spacing:.06em;font-size:22px;font-weight:900}.coins{color:var(--money);font-variant-numeric:tabular-nums;align-items:center;gap:6px;font-size:20px;font-weight:900;display:flex}.coin{background:radial-gradient(circle at 35% 35%,#ffe680,#d9a400);border-radius:50%;width:16px;height:16px;display:inline-block;box-shadow:inset 0 0 0 2px #b88a00}.home-boosters{grid-template-columns:repeat(4,1fr);gap:6px;margin-top:10px;display:grid}.pill-btn{border:1px solid var(--line);background:var(--panel);border-radius:10px;height:36px;font-size:13px}.pill-btn b{color:var(--good)}.btn.play{flex-direction:column;justify-content:center;align-items:center;gap:2px;height:78px;display:flex}.btn.play .big{font-size:26px}.btn.play .small{opacity:.8;font-size:14px;font-weight:700}.btn.daily{color:#ffb45f;background:#2a1d10;border:2px solid #ff9d3c;flex-direction:column;align-items:center;gap:2px;height:auto;padding:10px;display:flex}.btn.daily .big{font-size:18px}.btn.daily .small{color:var(--text);font-size:13px;font-weight:700}.btn.daily .tiny{color:var(--dim);font-size:11px;font-weight:400}.btn.big{height:56px;font-size:18px}#home h3{color:var(--dim);margin:18px 0 8px;font-size:13px;font-weight:600}.lv-grid{grid-template-columns:repeat(5,1fr);gap:6px;display:grid}.lv-cell{border:1px solid var(--line);background:var(--panel);border-radius:10px;flex-direction:column;justify-content:center;align-items:center;gap:1px;height:54px;display:flex}.lv-cell .n{font-size:17px;font-weight:900}.lv-cell .s{letter-spacing:-1px;min-height:13px;color:var(--money);font-size:11px}.lv-cell.next{border:2px solid var(--good);background:#15301f}.lv-cell.next .s{letter-spacing:0;color:var(--good);font-weight:700}.lv-cell.crux .n{color:#ff9d3c}.lv-cell.locked{opacity:.3}.home-foot{text-align:center;color:var(--dim);margin-top:14px;font-size:11px}.stars-big{text-align:center;letter-spacing:4px;color:var(--money);font-size:44px;line-height:1.1}.result-sheet h2{text-align:center}.gift{color:var(--good);text-align:center;background:#15301f;border-radius:10px;margin-top:8px;padding:8px;font-weight:800}.dim{color:var(--dim);font-size:13px;font-weight:400}.warn-text{color:var(--mult);margin:6px 0;font-weight:700}.sheet.intro{text-align:center}.sheet.intro .tag{background:var(--money);color:#111;border-radius:8px;padding:2px 10px;font-size:12px;font-weight:900;display:inline-block}.sheet.intro h2{margin-top:8px}.sheet.intro p{word-break:keep-all;font-size:16px;line-height:1.5}.intro-art{background:var(--bg);border-radius:12px;margin:8px auto;display:block}.ad{text-align:center;background:repeating-linear-gradient(45deg,#1c1f26 0 14px,#20242c 14px 28px);border-radius:16px;flex-direction:column;justify-content:center;align-items:center;width:100%;height:100%;display:flex}.ad-label{font-size:30px;font-weight:900}.ad-sub{color:var(--dim);margin-top:6px}.ad-count{color:var(--money);margin-top:18px;font-size:56px;font-weight:900}@media (height<=760px){#lv-bar{min-height:30px}.icon{height:28px}.booster{height:44px}}@media (height<=620px){.booster{height:38px}}#toast{width:max-content}body.lv #build{display:none}a.btn{text-align:center;justify-content:center;align-items:center;text-decoration:none;display:flex}a.btn.secondary{color:var(--text)}#home a,.home-foot a{color:inherit}.logo{text-decoration:none}.head-right{align-items:center;gap:10px;display:flex}.lang-btn{min-width:44px;padding:0 10px;font-weight:800}.cap-card{border:1px dashed var(--line);background:var(--panel);text-align:center;word-break:keep-all;border-radius:12px;margin-top:12px;padding:14px;font-weight:700}#vs-line{color:#ffb45f;pointer-events:none;z-index:2;background:#2a1d10;border:1px solid #ff9d3c;border-radius:12px;width:max-content;max-width:94%;padding:4px 12px;font-size:14px;font-weight:800;position:absolute;top:4px;left:50%;transform:translate(-50%)}body.lv.has-vs #combo{top:34px}.sub.center{text-align:center;margin:6px 0}.vs-result{color:#ffb45f;text-align:center;background:#2a1d10;border-radius:10px;margin:10px 0 4px;padding:8px;font-weight:800}.countdown{color:var(--dim);text-align:center;font-variant-numeric:tabular-nums;margin-top:12px;font-size:12px}.lead{text-align:center;word-break:keep-all;font-size:16px;line-height:1.5}.home-in.page h2{margin:20px 0 8px}.home-in.page p{word-break:keep-all;line-height:1.6}.sheet-foot{text-align:center;color:var(--dim);margin-top:6px;font-size:12px}.sheet-foot a,.home-foot a{color:var(--dim)}
