:root{--sat: env(safe-area-inset-top, 0px);--sar: env(safe-area-inset-right, 0px);--sab: env(safe-area-inset-bottom, 0px);--sal: env(safe-area-inset-left, 0px);--hud-h: 64px;--accent: #ff5d8f;--ink: #3a2348}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body{margin:0;height:100%;overflow:hidden;overscroll-behavior:none}body{font-family:system-ui,-apple-system,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;color:var(--ink);user-select:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;-webkit-touch-callout:none;touch-action:none}#app{position:fixed;inset:0;overflow:hidden}#game{position:absolute;inset:0;display:block}.hud{position:absolute;left:0;right:0;top:0;height:calc(var(--hud-h) + var(--sat));display:grid;grid-template-columns:1fr auto 1fr;align-items:center;padding:max(6px,var(--sat)) max(10px,var(--sar)) 0 max(10px,var(--sal));pointer-events:none}.hud>*{pointer-events:auto}.lv{justify-self:start;display:flex;flex-direction:column;gap:4px;min-width:64px}.lvnum{color:#3a2348;font-weight:900;font-size:clamp(13px,2.2vmin,17px);background:#fffc;padding:3px 10px;border-radius:999px;width:max-content}.xpbar{width:70px;height:7px;border-radius:9px;background:#0002;overflow:hidden}.xpbar i{display:block;height:100%;width:0;background:var(--accent);border-radius:9px;transition:width .6s cubic-bezier(.2,.8,.2,1)}.sc{text-align:center;line-height:1}.score{font-weight:950;font-size:clamp(30px,6.5vmin,52px);color:#fff;text-shadow:0 2px 0 #3a2348,0 -1.5px 0 #3a2348,1.5px 0 0 #3a2348,-1.5px 0 0 #3a2348,0 4px 10px #3a234855;font-variant-numeric:tabular-nums;will-change:transform}.best{font-weight:800;font-size:clamp(11px,1.9vmin,14px);letter-spacing:.08em;opacity:.8;margin-top:3px;color:var(--hud-text, #3a2348)}.icon{justify-self:end;width:46px;height:46px;border-radius:14px;border:0;background:#fffc;color:var(--ink);display:grid;place-items:center;cursor:pointer;box-shadow:0 3px #0002}.icon.off{opacity:.7}.tools{justify-self:end;display:flex;gap:8px;position:relative;z-index:6}.icon.acct b{font-size:19px;font-weight:950}.icon.acct.in{background:var(--accent);color:#fff}.shop{margin-top:10px;border:2px dashed #3a234833;background:none;font:inherit;font-weight:800;font-size:14px;color:inherit;border-radius:14px;padding:8px 12px;min-height:44px;cursor:pointer;width:100%}.shop-club{margin-top:8px;display:flex;flex-direction:column;gap:6px}.shop-club-btn{border:0;background:none;font:inherit;font-weight:700;font-size:13px;color:inherit;opacity:.85;text-decoration:underline;text-underline-offset:3px;min-height:40px;cursor:pointer;width:100%}.ico{width:24px;height:24px;flex:none}.panel{position:absolute;inset:0;display:grid;place-items:center;background:radial-gradient(#2a103855,#2a1038aa);padding:10px;animation:fade .2s ease-out;z-index:5}.panel[hidden]{display:none}@keyframes fade{0%{opacity:0}}.card{width:min(400px,94vw);max-height:96%;overflow:auto;background:#fffaf6;border-radius:26px;padding:18px 18px 16px;text-align:center;box-shadow:0 18px 50px #2a103866,0 4px #00000014;animation:pop .32s cubic-bezier(.2,1.4,.4,1)}@keyframes pop{0%{transform:scale(.85) translateY(14px);opacity:0}}.title{font-weight:900;font-size:20px;color:var(--accent);letter-spacing:.02em}.big{font-weight:950;font-size:54px;line-height:1.05;font-variant-numeric:tabular-nums}.sub{font-size:14px;opacity:.7;margin-bottom:10px}.row{display:flex;justify-content:space-between;align-items:baseline;font-size:14px;font-weight:700;margin-top:8px;gap:8px}.row .val{font-weight:900}.tag{font-size:11px;background:#ffe7a8;padding:2px 6px;border-radius:8px;font-weight:800}.bar{height:10px;border-radius:10px;background:#3a234818;overflow:hidden;margin-top:5px}.bar i{display:block;height:100%;width:0;background:linear-gradient(90deg,var(--accent),#ffb03a);border-radius:10px;transition:width .9s cubic-bezier(.2,.8,.2,1) .15s}.bar.daily i{background:linear-gradient(90deg,#5fd38d,#4fb7ff)}.levelup,.unlock{margin-top:8px;font-weight:900;font-size:14px;background:#fff0f5;border-radius:12px;padding:7px;color:#c2185b;animation:pop .4s cubic-bezier(.2,1.4,.4,1) .2s both}.btns{display:flex;flex-direction:column;gap:10px;margin-top:14px}.btn{min-height:56px;border-radius:18px;border:0;font:inherit;font-weight:900;font-size:18px;display:flex;align-items:center;justify-content:center;gap:10px;cursor:pointer;transition:transform .08s}.btn:active{transform:scale(.97)}.btn:focus{outline:none}.btn:focus-visible{outline:3px solid #3a234866;outline-offset:2px}.btn.primary{background:var(--accent);color:#fff;box-shadow:0 5px #0000002e}.btn.reward{background:#fff;color:#5b3d8e;border:2.5px solid #8b6cc7;font-size:16px;min-height:52px}.btn[disabled]{opacity:.5}.themes{display:flex;gap:8px;justify-content:center;margin-top:14px;flex-wrap:wrap}.chip{width:34px;height:34px;border-radius:50%;border:3px solid #fff;box-shadow:0 0 0 1.5px #3a234833;cursor:pointer;padding:0;color:#fff;font-weight:900}.chip.on{box-shadow:0 0 0 3px var(--accent)}.chip.locked{filter:grayscale(1) brightness(.85);cursor:default}.chip small{font-size:11px}.note{margin-top:10px;font-size:12px;opacity:.65}.toast{position:absolute;left:50%;bottom:max(18px,var(--sab));transform:translate(-50%,30px);opacity:0;background:#3a2348;color:#fff;font-weight:800;padding:10px 16px;border-radius:14px;transition:all .25s;pointer-events:none;z-index:6}.toast.show{opacity:1;transform:translate(-50%)}@media(max-height:520px){.card{padding:10px 14px;border-radius:20px}.big{font-size:38px}.title{font-size:16px}.sub{margin-bottom:4px}.btn{min-height:46px;font-size:16px}.btn.reward{min-height:44px}.btns{margin-top:8px;gap:7px}.themes{margin-top:8px}.chip{width:28px;height:28px}}.desk-backdrop,.desk-rail,.desk-pop-ov{display:none}#stage{position:absolute;inset:0}.desk-root #game{position:absolute;inset:0;display:block;width:100%;height:100%}@media(hover:hover)and (pointer:fine){.desk-root #game{cursor:pointer}.desk-root[data-theme=blossom] #game,.desk-root[data-theme=foam] #game,.desk-root[data-theme=stack] #game{cursor:grab}.desk-root[data-theme=blossom] #game:active,.desk-root[data-theme=foam] #game:active,.desk-root[data-theme=stack] #game:active{cursor:grabbing}}html.desk-own.desk-wide .desk-backdrop{display:block;position:absolute;inset:0;width:100%;height:100%;grid-column:1 / -1;grid-row:1;z-index:0;pointer-events:none;overflow:hidden}html.desk-own.desk-wide .desk-art{position:absolute;inset:-8%;width:116%;height:116%;filter:blur(18px) saturate(1.05);transform:scale(1.04);opacity:.95}html.desk-own.desk-wide .desk-backdrop:after{content:"";position:absolute;inset:0;background:radial-gradient(ellipse at 50% 50%,#0000 30%,#0002);pointer-events:none}html.desk-own.desk-wide #app.desk-root{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;column-gap:clamp(16px,2vw,40px);padding:24px 28px;background:#1a1520}html.desk-own.desk-wide #app.desk-root[data-theme=blossom]{background:#c98aa6}html.desk-own.desk-wide #app.desk-root[data-theme=puddle]{background:#6a8aa6}html.desk-own.desk-wide #app.desk-root[data-theme=foam]{background:#7aaa90}html.desk-own.desk-wide #app.desk-root[data-theme=stack]{background:#1c1840}html.desk-own.desk-wide #stage.desk-stage{position:relative;inset:auto;z-index:1;grid-column:2;grid-row:1;justify-self:center;--stage-h: min( calc(100dvh - 48px) , calc((100dvw - 540px) * 16 / 9), 1100px);height:var(--stage-h);width:calc(var(--stage-h) * 9 / 16);max-width:100%;border-radius:28px;overflow:hidden;box-shadow:0 0 0 3px #fff8,0 0 0 6px #00000014,0 22px 50px #00000040,0 2px #00000010;background:#000}html.desk-own.desk-wide .desk-rail{display:flex;flex-direction:column;z-index:1;position:relative;grid-row:1;width:min(260px,100%);max-height:calc(100dvh - 48px);overflow:auto;color:#2a1d38;font-family:system-ui,-apple-system,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;background:#fffaf6ee;border-radius:24px;padding:22px 20px 18px;box-shadow:0 16px 40px #0002;backdrop-filter:blur(10px)}html.desk-own.desk-wide .desk-rail-left{grid-column:1;justify-self:end}html.desk-own.desk-wide .desk-rail-right{grid-column:3;justify-self:start}html.desk-own.desk-wide #app.desk-root[data-theme=stack] .desk-rail{background:#2a2450ee;color:#f4eef8}html.desk-own.desk-wide #app.desk-root[data-theme=puddle] .desk-rail{background:#f3f8fdee;color:#1e2a38}html.desk-own.desk-wide #app.desk-root[data-theme=foam] .desk-rail{background:#f3fbf8ee;color:#1c3a32}.desk-brand{display:flex;align-items:center;gap:10px;text-decoration:none;color:inherit;font-weight:800;font-size:18px;letter-spacing:-.02em;margin-bottom:18px;width:max-content;border-radius:10px}.desk-brand:focus{outline:none}.desk-brand:focus-visible{outline:3px solid currentColor;outline-offset:3px}.desk-mark{width:32px;height:32px;flex:none;border-radius:9px}.desk-kicker{font-size:11px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;opacity:.62}.desk-title{margin:4px 0 16px;font-size:clamp(22px,1.8vw,26px);line-height:1.15;font-weight:900;letter-spacing:-.03em}.desk-best{background:#0000000c;border-radius:16px;padding:12px 14px;margin-bottom:12px}.desk-best-lbl{font-size:11px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;opacity:.6}.desk-best-val{font-size:28px;font-weight:900;font-variant-numeric:tabular-nums;letter-spacing:-.03em;margin-top:2px}.desk-btn{min-height:46px;border:0;border-radius:14px;font:inherit;font-weight:800;font-size:15px;cursor:pointer;background:var(--accent, #6b3fa0);color:#fff;box-shadow:0 3px #00000028;margin-bottom:10px}.desk-btn:hover{filter:brightness(1.06)}.desk-btn:active{transform:translateY(1px);box-shadow:0 2px #00000028}.desk-btn:focus{outline:none}.desk-btn:focus-visible{outline:3px solid currentColor;outline-offset:3px}.desk-back{margin-top:8px;display:inline-flex;align-items:center;gap:6px;min-height:40px;padding:0 12px;color:inherit;font-weight:700;font-size:14px;text-decoration:none;border-radius:12px;background:#0000000c;width:max-content}.desk-back:hover{background:#00000016}.desk-back:focus{outline:none}.desk-back:focus-visible{outline:3px solid currentColor;outline-offset:3px}#app.desk-root[data-theme=stack] .desk-back{background:#ffffff14}#app.desk-root[data-theme=stack] .desk-back:hover{background:#fff2}.desk-h{margin:0 0 10px;font-size:15px;font-weight:800}.desk-p{margin:0 0 14px;font-size:14px;line-height:1.45;opacity:.86}.desk-fine{margin:0;font-size:13px;line-height:1.45;opacity:.7}.desk-keys{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:12px}.desk-keys li{display:flex;flex-direction:column;align-items:flex-start;gap:5px;font-size:13px}.desk-act{font-size:11px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;opacity:.62}.desk-kds{display:flex;flex-wrap:wrap;gap:4px}.desk-keys kbd{display:inline-block;min-width:1.6em;padding:3px 7px;border-radius:8px;background:#00000010;border:1px solid #00000018;font:700 12px/1.2 ui-monospace,Menlo,Consolas,monospace;text-align:center}#app.desk-root[data-theme=stack] .desk-keys kbd{background:#ffffff18;border-color:#fff2}html.desk-own.desk-wide .desk-pop-ov{display:grid;place-items:center;position:absolute;inset:0;z-index:20;background:#1a1028aa;padding:20px}.desk-pop{width:min(360px,100%);background:#fffaf6;color:#2a1d38;border-radius:22px;padding:22px 22px 18px;box-shadow:0 20px 50px #0004;position:relative}.desk-pop-x{position:absolute;top:10px;right:10px;width:40px;height:40px;border:0;border-radius:12px;background:#00000010;font:700 22px/1 system-ui,sans-serif;cursor:pointer;color:inherit}.desk-pop-x:focus{outline:none}.desk-pop-x:focus-visible{outline:3px solid #6b3fa0;outline-offset:2px}@media(prefers-reduced-motion:reduce){html.desk-own.desk-wide .desk-art{filter:blur(12px)}}
