:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--ink:#3a2340;--ink2:#735a78;--paper:#fff8f1;--paper2:#fbece8;--line:#ecd3d4;--rose:#d4577b;--rose-d:#a83a5e;--gold:#d6a243;--gold-l:#f3d58a;--night:#241a2e;--ok:#4e9a6a;--display:"ZCOOL XiaoWei","Songti SC","STSong","SimSun",serif;--serif:"Noto Serif SC","Songti SC","STSong","SimSun",serif;--sans:-apple-system,BlinkMacSystemFont,"PingFang SC","Hiragino Sans GB","Microsoft YaHei",sans-serif}[hidden]{display:none!important}html,body{height:100%}body{background:var(--night);color:var(--ink);font-family:var(--sans);-webkit-user-select:none;user-select:none;touch-action:none;-webkit-tap-highlight-color:transparent;-webkit-touch-callout:none;overscroll-behavior:none;margin:0;overflow:hidden}#game{cursor:pointer;position:fixed;inset:0;overflow:hidden}#game canvas{image-rendering:pixelated;image-rendering:crisp-edges;display:block}button{font:inherit;color:inherit;cursor:pointer}button:focus-visible{outline:2px solid var(--rose);outline-offset:2px}canvas.px{image-rendering:pixelated;image-rendering:crisp-edges}.hud{z-index:5;padding:calc(env(safe-area-inset-top,0px) + 12px) 16px 0;pointer-events:none;justify-content:space-between;align-items:flex-start;gap:12px;display:flex;position:fixed;top:0;left:0;right:0}.hud>*{pointer-events:auto}.tracker{border:1px solid var(--line);background:#fff8f1f0;border-radius:12px;align-items:flex-start;max-width:min(320px,58vw);display:flex;box-shadow:0 6px 18px #241a2e38}.tr-main{text-align:left;background:0 0;border:none;border-radius:12px 0 0 12px;flex:1;min-width:0;padding:10px 2px 11px 14px}.tr-tog{width:34px;height:34px;color:var(--ink2);background:0 0;border:none;border-radius:8px;flex:none;place-items:center;margin:4px 4px 0 0;display:grid}.tr-tog:hover{background:var(--paper2);color:var(--rose-d)}.tr-tog svg{transition:transform .2s}.tracker .cnt{color:var(--ink2);font-family:var(--sans);font-variant-numeric:tabular-nums;margin-left:6px;font-size:12px;display:none}.tracker.collapsed{max-width:min(260px,58vw)}.tracker.collapsed .eyebrow,.tracker.collapsed .chips,.tracker.collapsed .sub{display:none}.tracker.collapsed .ttl{white-space:nowrap;text-overflow:ellipsis;margin:0;font-size:15px;overflow:hidden}.tracker.collapsed .cnt{display:inline}.tracker.collapsed .tr-main{padding:8px 2px 8px 12px}.tracker.collapsed .tr-tog{height:32px;margin:2px 2px 2px 0}.tracker.collapsed .tr-tog svg{transform:rotate(180deg)}.tracker .eyebrow{letter-spacing:.14em;color:var(--rose-d);font-size:11px;font-weight:600}.tracker .ttl{font-family:var(--display);margin-top:2px;font-size:19px;line-height:1.25}.tracker .chips{color:var(--ink2);flex-wrap:wrap;gap:4px 10px;margin-top:6px;font-size:12.5px;display:flex}.tracker .chips span.ok{color:var(--ok)}.tracker .sub{color:var(--ink2);margin-top:6px;font-size:12px}.side{flex-direction:column;align-items:flex-end;gap:8px;display:flex}.coins{border:1px solid var(--line);font-variant-numeric:tabular-nums;background:#fff8f1f0;border-radius:999px;align-items:center;gap:6px;padding:4px 12px 4px 6px;font-weight:700;display:flex;box-shadow:0 4px 12px #241a2e2e}.coins canvas{width:24px;height:24px}.hbtns{gap:6px;display:flex}.hbtn{border:1px solid var(--line);background:#fff8f1f0;border-radius:10px;padding:7px 11px;font-size:13px;font-weight:600;box-shadow:0 4px 12px #241a2e2e}.hbtn kbd{font-family:var(--sans);color:var(--ink2);margin-left:4px;font-size:10px;font-weight:500}.hbtn:hover{background:#fff}@media (pointer:coarse){.hbtn kbd{display:none}}#loc{z-index:6;pointer-events:none;text-align:center;opacity:0;transition:opacity .6s;position:fixed;top:22%;left:50%;transform:translate(-50%)}#loc.show{opacity:1}#loc .n{font-family:var(--display);color:#fff;text-shadow:0 2px 0 var(--rose-d),0 6px 22px #241a2eb3;letter-spacing:.12em;font-size:clamp(28px,6vw,44px)}#loc .r{background:linear-gradient(90deg,transparent,var(--gold-l),transparent);width:120px;height:2px;margin:8px auto 0}#toasts{left:50%;top:calc(env(safe-area-inset-top,0px) + 96px);z-index:8;pointer-events:none;flex-direction:column;align-items:center;gap:6px;width:min(420px,100% - 32px);display:flex;position:fixed;transform:translate(-50%)}.toast{color:#fff;text-align:center;background:#3a2340e6;border-radius:999px;padding:7px 14px;font-size:13.5px;animation:.25s ease-out tin;box-shadow:0 4px 14px #00000040}.toast.quest{background:var(--rose-d)}.toast.done{background:#b8862b}.toast.out{opacity:0;transition:opacity .4s}@keyframes tin{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:none}}#dialog{left:50%;bottom:calc(env(safe-area-inset-bottom,0px) + 16px);z-index:10;box-sizing:border-box;background:var(--paper);width:min(720px,100% - 32px);box-shadow:0 0 0 3px var(--paper),0 0 0 5px var(--gold),0 16px 40px #140a1980;cursor:pointer;border-radius:16px;align-items:flex-start;gap:16px;padding:18px 20px 16px;display:flex;position:fixed;transform:translate(-50%)}#dialog .pf{width:72px;height:72px;box-shadow:inset 0 0 0 2px var(--gold-l);background:radial-gradient(circle at 50% 40%,#fff 0%,#fbd6e1 70%,#f4b8ca 100%);border-radius:50%;flex:none;place-items:center;display:grid;overflow:hidden}#dialog .pf canvas{width:72px;height:72px}#dialog .body{flex:1;min-width:0}#dialog .name{align-items:baseline;gap:10px;margin-bottom:4px;display:flex}#dialog .name b{font-family:var(--display);color:var(--rose-d);letter-spacing:.06em;font-size:20px;font-weight:400}#dialog .name i{color:var(--rose);letter-spacing:1px;font-size:13px;font-style:normal}#dialog .txt{font-family:var(--serif);white-space:pre-wrap;min-height:3.4em;font-size:17px;line-height:1.75}#dialog.narr .txt{color:var(--ink2);font-style:italic}#dialog .ch{flex-direction:column;gap:6px;margin-top:10px;display:flex}#dialog .ch button{text-align:left;border:1px solid var(--line);font-family:var(--serif);background:#fff;border-radius:10px;align-items:baseline;gap:10px;padding:8px 12px;font-size:15px;display:flex}#dialog .ch button small{color:var(--gold);font-family:var(--sans);font-size:12px;font-weight:700}#dialog .ch button.sel,#dialog .ch button:hover{border-color:var(--rose);background:#fff0f4}#dialog .nx{color:var(--rose);font-size:12px;animation:1s infinite blink;position:absolute;bottom:10px;right:18px}@keyframes blink{50%{opacity:.2}}@media (width<=520px){#dialog{gap:12px;padding:14px}#dialog .pf,#dialog .pf canvas{width:56px;height:56px}#dialog .txt{font-size:15.5px}}#panel{z-index:20;background:#241a2e8c;place-items:center;padding:16px;display:grid;position:fixed;inset:0}#panel .card{background:var(--paper);width:min(580px,100%);max-height:min(82vh,760px);box-shadow:0 0 0 3px var(--paper),0 0 0 5px var(--gold),0 20px 50px #00000073;border-radius:16px;flex-direction:column;display:flex;overflow:hidden}#panel header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;padding:16px 20px 12px;display:flex}#panel header h2{font-family:var(--display);letter-spacing:.08em;color:var(--rose-d);margin:0;font-size:26px;font-weight:400}#panel header button{border:1px solid var(--line);background:0 0;border-radius:8px;padding:5px 12px}#panel .inner{touch-action:pan-y;-webkit-overflow-scrolling:touch;overscroll-behavior:contain;flex-direction:column;gap:14px;padding:16px 20px 20px;display:flex;overflow:auto}.sec-t{letter-spacing:.16em;color:var(--ink2);margin:4px 0 -4px;font-size:11px;font-weight:700}.quest{border:1px solid var(--line);background:#fff;border-radius:12px;padding:12px 14px}.quest.main{border-color:var(--gold-l);background:linear-gradient(#fffaf0,#fff)}.quest.done{opacity:.62}.quest .hd{flex-wrap:wrap;align-items:baseline;gap:8px;display:flex}.quest .tag{letter-spacing:.1em;color:#fff;background:var(--rose);border-radius:4px;padding:1px 6px;font-size:11px;font-weight:700}.quest.main .tag{background:var(--gold)}.quest h3{font-family:var(--display);margin:0;font-size:19px;font-weight:400}.quest .gv{color:var(--ink2);margin-left:auto;font-size:12px}.quest p{font-family:var(--serif);color:var(--ink2);margin:6px 0 8px;font-size:14px;line-height:1.6}.quest ul{flex-direction:column;gap:3px;margin:0;padding:0;font-size:13.5px;list-style:none;display:flex}.quest li:before{content:"○";color:var(--rose);margin-right:6px}.quest li.ok{color:var(--ok)}.quest li.ok:before{content:"●";color:var(--ok)}.empty{font-family:var(--serif);color:var(--ink2);text-align:center;padding:20px 0}.items{grid-template-columns:repeat(auto-fill,minmax(118px,1fr));gap:8px;display:grid}.item{border:1px solid var(--line);text-align:left;background:#fff;border-radius:10px;align-items:center;gap:8px;padding:8px;display:flex}.item canvas{flex:none;width:32px;height:32px}.item b{font-size:13px;font-weight:600;display:block}.item span{color:var(--ink2);font-variant-numeric:tabular-nums;font-size:12px}.item.on{border-color:var(--rose);background:#fff0f4}.desc{font-family:var(--serif);color:var(--ink2);min-height:1.5em;margin:0;font-size:14px}.bonds{grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:6px 14px;display:grid}.bond{border-bottom:1px dashed var(--line);justify-content:space-between;align-items:baseline;padding:4px 0;font-size:13.5px;display:flex}.bond i{color:var(--rose);letter-spacing:1px;font-style:normal}.dresses{grid-template-columns:repeat(auto-fill,minmax(100px,1fr));gap:10px;display:grid}.dress{border:1px solid var(--line);text-align:center;background:#fff;border-radius:12px;flex-direction:column;align-items:center;gap:6px;padding:10px 6px 8px;display:flex}.dress canvas{width:60px;height:102px}.dress b{font-size:13px;font-weight:600}.dress small{color:var(--ink2);font-size:11px;line-height:1.35}.dress.on{border-color:var(--rose);box-shadow:0 0 0 2px #fbd0de}.dress[disabled]{cursor:default;background:#f7f0f2}.shop{flex-direction:column;gap:8px;display:flex}.srow{border:1px solid var(--line);background:#fff;border-radius:12px;align-items:center;gap:12px;padding:10px 12px;display:flex}.srow canvas{flex:none;width:32px;height:32px}.srow .i{flex:1;min-width:0}.srow b{font-size:14px;display:block}.srow small{color:var(--ink2);font-size:12px}.srow button{background:var(--rose);color:#fff;white-space:nowrap;font-variant-numeric:tabular-nums;border:none;border-radius:8px;padding:7px 12px;font-weight:700}.srow button[disabled]{cursor:default;background:#d9c9cf}#joy{z-index:4;pointer-events:none;width:116px;height:116px;left:calc(env(safe-area-inset-left,0px) + 88px);top:calc(100% - env(safe-area-inset-bottom,0px) - 96px);opacity:.62;background:radial-gradient(circle,#3a23402e 0%,#3a234052 100%);border-radius:50%;place-items:center;margin:-58px 0 0 -58px;transition:opacity .15s;display:grid;position:fixed;box-shadow:inset 0 0 0 2px #fff8f199,0 4px 14px #0000002e}#joy.on{opacity:1}#joy:before{content:"";border:1px dashed #fff8f159;border-radius:50%;position:absolute;inset:14px}#joy i{width:50px;height:50px;box-shadow:0 0 0 2px var(--rose),0 4px 10px #0000004d;background:#fff8f1f0;border-radius:50%}@media (width<=560px){.hud{padding:calc(env(safe-area-inset-top,0px) + 10px) 12px 0;flex-direction:column;align-items:stretch;gap:8px}.side{flex-direction:row;order:-1;justify-content:space-between;align-items:center;gap:6px}.coins{padding:3px 10px 3px 5px}.hbtns{flex-direction:row;gap:6px}.hbtn{white-space:nowrap;padding:7px 12px}.tracker{align-self:stretch;min-width:0;max-width:none}.tracker.collapsed{align-self:flex-start;max-width:100%}.tr-main{padding:8px 2px 9px 11px}.tracker .ttl{font-size:16px}.tracker .chips{margin-top:4px;font-size:12px}.tracker .sub{margin-top:4px;font-size:11.5px}#toasts{top:calc(env(safe-area-inset-top,0px) + 190px)}}@media (height<=520px){#dialog{bottom:calc(env(safe-area-inset-bottom,0px) + 8px);gap:10px;padding:10px 14px}#dialog .pf,#dialog .pf canvas{width:48px;height:48px}#dialog .name b{font-size:17px}#dialog .txt{min-height:0;font-size:15px;line-height:1.55}#dialog .ch{grid-template-columns:1fr 1fr;gap:6px;margin-top:6px;display:grid}#dialog .ch button{padding:6px 10px;font-size:14px}#dance{padding:8px 14px 10px}#dance .arrow{height:46px;font-size:40px}#dance .pads button{padding:4px 0;font-size:20px}#title p{margin-bottom:14px;font-size:14px}#title .keys{display:none}#title .wrap{padding-bottom:calc(env(safe-area-inset-bottom,0px) + 16px)}.tracker .sub{display:none}#toasts{top:calc(env(safe-area-inset-top,0px) + 70px)}}#act.dim{opacity:.5}#act:active{transform:scale(.94)}#act{right:calc(env(safe-area-inset-right,0px) + 32px);bottom:calc(env(safe-area-inset-bottom,0px) + 60px);z-index:6;touch-action:none;background:var(--rose);color:#fff;width:72px;height:72px;font-family:var(--display);border:none;border-radius:50%;font-size:20px;transition:opacity .15s,transform .1s;position:fixed;box-shadow:0 0 0 3px #fff,0 8px 20px #00000059}#title{z-index:40;background:linear-gradient(#241a2e00 30%,#241a2ed1 78%);align-items:flex-end;display:flex;position:fixed;inset:0}#title .wrap{padding:0 max(16px,6vw) calc(env(safe-area-inset-bottom,0px) + 8vh);max-width:640px}#title .ey{color:var(--gold-l);letter-spacing:.3em;font-size:13px;font-weight:600}#title h1{font-family:var(--display);color:#fff;letter-spacing:.06em;text-shadow:0 3px 0 var(--rose-d),0 10px 30px #00000073;margin:8px 0 6px;font-size:clamp(38px,min(11vw,13vh),86px);font-weight:400;line-height:1.05}#title p{color:#f5e3ea;font-family:var(--serif);margin:0 0 22px;font-size:16px;line-height:1.7}#title .bt{flex-wrap:wrap;gap:10px;display:flex}.big{letter-spacing:.08em;border:none;border-radius:999px;padding:12px 26px;font-size:16px;font-weight:700}.big.pri{background:var(--rose);color:#fff;box-shadow:0 0 0 2px var(--gold-l),0 8px 22px #00000059}.big.sec{color:var(--ink);background:#fff8f1eb}#title .keys{color:#cdb8c8;margin-top:18px;font-size:12.5px;line-height:1.7}#dance{left:50%;top:calc(env(safe-area-inset-top,0px) + 16px);z-index:15;text-align:center;width:min(460px,100% - 32px);box-shadow:0 0 0 2px var(--gold),0 14px 34px #0006;background:#fff8f1f2;border-radius:16px;padding:14px 18px 16px;position:fixed;transform:translate(-50%)}#dance .dt{font-family:var(--display);color:var(--rose-d);font-size:20px}#dance .arrow{color:var(--rose);height:72px;font-size:64px;font-weight:700;line-height:1.1}#dance .bar{background:var(--line);border-radius:3px;height:6px;margin:4px 0 8px;overflow:hidden}#dance .bar i{background:var(--gold);width:100%;height:100%;display:block}#dance .fb{height:22px;font-family:var(--serif);font-weight:700}#dance .fb.good{color:var(--ok)}#dance .fb.bad{color:var(--rose-d)}#dance .meta{color:var(--ink2);font-variant-numeric:tabular-nums;font-size:12.5px}#dance .pads{grid-template-columns:repeat(4,1fr);gap:8px;margin-top:10px;display:grid}#dance .pads button{border:1px solid var(--line);color:var(--rose-d);background:#fff;border-radius:10px;padding:8px 0;font-size:24px}#ending{z-index:25;background:#140e2259;place-items:center;padding:16px;display:grid;position:fixed;inset:0}#ending .card{background:var(--paper);text-align:center;width:min(460px,100%);box-shadow:0 0 0 3px var(--paper),0 0 0 5px var(--gold),0 20px 50px #00000080;border-radius:18px;padding:26px 26px 22px}#ending .ey{letter-spacing:.24em;color:var(--gold);font-size:12px;font-weight:700}#ending h2{font-family:var(--display);color:var(--rose-d);margin:6px 0 4px;font-size:34px;font-weight:400}#ending .rank{font-family:var(--serif);margin-bottom:16px;font-size:17px}#ending dl{text-align:left;grid-template-columns:1fr auto;gap:6px 16px;margin:0 0 20px;font-size:14px;display:grid}#ending dt{color:var(--ink2)}#ending dd{font-variant-numeric:tabular-nums;margin:0;font-weight:700}@media (prefers-reduced-motion:reduce){.toast{animation:none}}
