.fx-bump{animation:.45s cubic-bezier(.2,1.6,.4,1) fx-bump}@keyframes fx-bump{0%{transform:scale(1)}40%{transform:scale(1.25)}to{transform:scale(1)}}.fx-shake{animation:.35s fx-shake}@keyframes fx-shake{20%{transform:translateX(calc(var(--fx-shake-amp,5px) * -1))}40%{transform:translateX(var(--fx-shake-amp,5px))}60%{transform:translateX(calc(var(--fx-shake-amp,5px) * -.6))}80%{transform:translateX(calc(var(--fx-shake-amp,5px) * .6))}}.fx-wiggle{animation:.36s ease-in-out fx-wiggle}@keyframes fx-wiggle{20%{transform:translateX(calc(var(--fx-wiggle-amp,4px) * -1))}45%{transform:translateX(var(--fx-wiggle-amp,4px))}70%{transform:translateX(calc(var(--fx-wiggle-amp,4px) * -.5))}}body.fx-fever{background:linear-gradient(180deg, var(--accent-soft), var(--bg) 340px)}.fx-sr{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.fx-canvas[data-v-18f1ae54]{pointer-events:none;z-index:50;width:100%;height:100%;position:fixed;inset:0}.fx-banner[data-v-ce2c1af8]{z-index:60;pointer-events:none;font-family:var(--font-display);color:var(--accent-fill);font-size:calc(28px + var(--s,0) * 6px);text-shadow:0 3px 0 var(--surface), 0 0 24px var(--surface);white-space:nowrap;opacity:0;position:fixed;top:22%;left:50%;transform:translate(-50%,-50%)}.fx-banner.go[data-v-ce2c1af8]{animation:1.1s cubic-bezier(.2,1.4,.4,1) forwards fx-pop-ce2c1af8}.fx-banner.still[data-v-ce2c1af8]{opacity:1}@keyframes fx-pop-ce2c1af8{0%{opacity:0;transform:translate(-50%,-50%)scale(.4)rotate(-6deg)}25%{opacity:1;transform:translate(-50%,-50%)scale(1.1)rotate(2deg)}70%{opacity:1;transform:translate(-50%,-50%)scale(1)}to{opacity:0;transform:translate(-50%,-70%)scale(1)}}.fx-float[data-v-b4016f31]{z-index:61;pointer-events:none;font-family:var(--font-display);color:var(--accent-fill);white-space:nowrap;font-size:22px;animation:1s ease-out forwards fx-rise-b4016f31;position:fixed;transform:translate(-50%)}.fx-float.broken[data-v-b4016f31]{color:var(--muted);font-size:15px;animation-name:fx-drop-b4016f31}.fx-float.still[data-v-b4016f31]{animation:none}@keyframes fx-rise-b4016f31{0%{opacity:1;transform:translate(-50%)}to{opacity:0;transform:translate(-50%,-60px)}}@keyframes fx-drop-b4016f31{0%{opacity:.9;transform:translate(-50%)rotate(0)}to{opacity:0;transform:translate(-50%,40px)rotate(8deg)}}.fx-toasts[data-v-44beb2ab]{left:50%;bottom:calc(16px + env(safe-area-inset-bottom,0px));z-index:70;pointer-events:none;flex-direction:column;gap:8px;width:min(92vw,380px);display:flex;position:fixed;transform:translate(-50%)}.fx-toast[data-v-44beb2ab]{background:var(--ink);color:var(--bg);box-shadow:var(--shadow);border-radius:12px;padding:10px 14px;font-size:14px;animation:.3s ease-out fx-tin-44beb2ab}.fx-toast.still[data-v-44beb2ab]{animation:none}.fx-toast b[data-v-44beb2ab]{letter-spacing:.08em;color:var(--gold-inverse);font-size:11px;display:block}@keyframes fx-tin-44beb2ab{0%{opacity:0;transform:translateY(10px)}}.fx-finale[data-v-a55f08c7]{z-index:62;pointer-events:none;text-align:center;position:fixed;top:34%;left:50%;transform:translate(-50%,-50%)}.stamp[data-v-a55f08c7]{font-family:var(--font-display);color:var(--accent-fill);border:5px solid var(--accent-fill);background:color-mix(in srgb, var(--surface) 88%, transparent);box-shadow:var(--shadow);border-radius:18px;padding:10px 26px 6px;animation:2s cubic-bezier(.2,1.3,.4,1) forwards fx-stamp-a55f08c7}.stamp .title[data-v-a55f08c7]{white-space:nowrap;font-size:46px;line-height:1.2}.stamp .sub[data-v-a55f08c7]{font-family:var(--font-body);color:var(--muted);font-size:14px;font-weight:700}.small[data-v-a55f08c7]{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);box-shadow:var(--shadow);padding:14px 22px;animation:2s ease-out forwards fx-soft-a55f08c7}.small .title[data-v-a55f08c7]{font-family:var(--font-display);color:var(--cobalt);white-space:nowrap;font-size:24px}.small .sub[data-v-a55f08c7]{color:var(--muted);font-size:13px;font-weight:700}.still[data-v-a55f08c7]{animation:none;transform:translate(-50%,-50%)rotate(-6deg)}.small.still[data-v-a55f08c7]{transform:translate(-50%,-50%)}@keyframes fx-stamp-a55f08c7{0%{opacity:0;transform:translate(-50%,-50%)scale(2.6)rotate(-18deg)}18%{opacity:1;transform:translate(-50%,-50%)scale(.94)rotate(-6deg)}26%{transform:translate(-50%,-50%)scale(1)rotate(-6deg)}85%{opacity:1;transform:translate(-50%,-50%)scale(1)rotate(-6deg)}to{opacity:0;transform:translate(-50%,-50%)scale(1)rotate(-6deg)}}@keyframes fx-soft-a55f08c7{0%{opacity:0;transform:translate(-50%,-40%)}15%{opacity:1;transform:translate(-50%,-50%)}85%{opacity:1;transform:translate(-50%,-50%)}to{opacity:0;transform:translate(-50%,-50%)}}.fx-unlock[data-v-0ea8e0b5]{z-index:63;pointer-events:none;position:fixed;top:56%;left:0;right:0;overflow:hidden}.band[data-v-0ea8e0b5]{text-align:center;background:var(--good-soft);border-block:3px solid var(--good);box-shadow:var(--shadow);padding:12px 16px 14px;animation:2.4s cubic-bezier(.2,1.1,.4,1) forwards fx-unlock-0ea8e0b5}.kind[data-v-0ea8e0b5]{letter-spacing:.08em;color:var(--good-text);font-size:13px;font-weight:700}.titles[data-v-0ea8e0b5]{font-family:var(--font-display);color:var(--ink);overflow-wrap:anywhere;font-size:24px;line-height:1.3}.still .band[data-v-0ea8e0b5]{animation:2.4s linear forwards fx-unlock-still-0ea8e0b5}@keyframes fx-unlock-0ea8e0b5{0%{opacity:0;transform:translate(-60%)}14%{opacity:1;transform:translate(0)}84%{opacity:1;transform:translate(0)}to{opacity:0;transform:translate(40%)}}@keyframes fx-unlock-still-0ea8e0b5{0%,92%{opacity:1}to{opacity:0}}.fx-settings[data-v-e42229bf]{flex-direction:column;gap:8px;display:flex}.fx-row[data-v-e42229bf]{grid-template-columns:6em 1fr 3.5em;align-items:center;gap:10px;display:grid}.fx-row input[type=range][data-v-e42229bf]{width:100%;accent-color:var(--accent)}.fx-label[data-v-e42229bf]{font-size:13px;font-weight:700}.fx-val[data-v-e42229bf]{font-variant-numeric:tabular-nums;color:var(--muted);text-align:right;font-size:13px}.fx-note[data-v-e42229bf]{color:var(--muted);margin:-4px 0 0 calc(6em + 10px);font-size:12px}.fx-link[data-v-e42229bf]{color:var(--cobalt);cursor:pointer;background:0 0;border:0;padding:0;font-size:12px;font-weight:700}.fx-iconbtn[data-v-e42229bf]{border:1px solid var(--line);background:var(--surface);cursor:pointer;border-radius:999px;justify-self:start;padding:4px 12px;font-size:13px;font-weight:700}
