.mdi-icon[data-v-68155bc9]{flex:none;display:block}.sakana-sticker[data-v-3cc3f088]{width:100%;height:100%;position:relative;overflow:visible}[data-v-3cc3f088] .sakana-sticker__emoji{z-index:2;pointer-events:none;-webkit-user-select:none;user-select:none;will-change:transform, opacity;line-height:1;position:absolute}.sakana-sticker__box[data-v-3cc3f088]{height:calc(800px + var(--stick-extend,0px));transform-origin:50% 100%;margin-left:-250px;position:absolute;bottom:0;left:50%}.sakana-sticker__box[data-v-3cc3f088]:before{content:"";width:10px;height:var(--stick-extend,0px);background:var(--stick-color);pointer-events:none;margin-left:-5px;position:absolute;bottom:20px;left:50%}.sakana-sticker[data-v-3cc3f088] canvas{bottom:var(--stick-extend,0px)}.sakana-sticker[data-v-3cc3f088] .sakana-character{bottom:calc(260px + var(--stick-extend,0px))}.sakana-sticker[data-v-3cc3f088] .sakana-character,.sakana-sticker[data-v-3cc3f088] .sakana-bed{touch-action:none;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;-webkit-tap-highlight-color:transparent}.sakana-sticker[data-v-3cc3f088] .sakana-character{background-image:none!important}.sakana-sticker[data-v-3cc3f088] .sakana-sticker__img{-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;-webkit-user-drag:none;max-width:none;height:auto;position:absolute}.sakana-sticker[data-v-3cc3f088] .sakana-bed{pointer-events:auto;background-image:none}.party[data-v-964018c3]{--party-fg:#3a1f4d;z-index:15;pointer-events:none;background:radial-gradient(at 50% 110%,#ffd16640,#0000 60%),radial-gradient(at 50% -10%,#ff7aa230,#0000 55%);transition:background .6s;position:fixed;inset:0}.party--done[data-v-964018c3]{background:radial-gradient(at 50% 110%,#c77dff30,#0000 60%),radial-gradient(at 50% -10%,#4cc9f030,#0000 55%)}@media (prefers-color-scheme:dark){.party[data-v-964018c3]{--party-fg:#fff0f6}}.party__confetti[data-v-964018c3]{z-index:3;width:100%;height:100%;position:absolute;inset:0}.party__bunting[data-v-964018c3]{top:env(safe-area-inset-top);height:120px;animation:.7s cubic-bezier(.3,1.5,.5,1) both drop-in-964018c3;position:absolute;left:12px;right:12px}.bunting__string[data-v-964018c3]{width:100%;height:80px;position:absolute;inset:0 0 auto;overflow:visible}.bunting__string path[data-v-964018c3]{fill:none;stroke:color-mix(in srgb, var(--party-fg) 45%, transparent);stroke-width:1.5px}.flag[data-v-964018c3]{--w:clamp(20px, 5.6vw, 42px);width:var(--w);height:calc(var(--w) * 1.25);margin-left:calc(var(--w) / -2);padding-top:calc(var(--w) * .12);background:var(--color);clip-path:polygon(0 0,100% 0,50% 100%);color:#fff;font-weight:800;font-size:calc(var(--w) * .45);text-align:center;text-shadow:0 1px #0003;transform-origin:50% 0;line-height:1.2;animation:2.4s ease-in-out infinite alternate flag-swing-964018c3;position:absolute}.party__title[data-v-964018c3]{top:calc(env(safe-area-inset-top) + clamp(78px, 13vw, 110px));text-align:center;color:var(--party-fg);animation:.6s cubic-bezier(.3,1.6,.5,1) .25s both pop-in-964018c3;position:absolute;left:16px;right:16px}.party__title h2[data-v-964018c3]{letter-spacing:.04em;background:linear-gradient(90deg,#ff5d8f,#ffb703,#4cc9f0,#c77dff,#ff5d8f) 0 0/200% 100%;color:#0000;filter:drop-shadow(0 2px #fff8);-webkit-background-clip:text;background-clip:text;margin:0;font-size:clamp(28px,7vw,48px);font-weight:900;animation:4s linear infinite shimmer-964018c3}.party__title p[data-v-964018c3]{opacity:.8;margin:6px 0 0;font-size:13px}.party__error[data-v-964018c3]{color:#d0021b}.balloon[data-v-964018c3]{width:var(--size);height:calc(var(--size) * 1.2);background:radial-gradient(circle at 32% 28%, #fff9 0 8%, transparent 22%), var(--color);opacity:.92;border-radius:50% 50% 48% 52%/55% 55% 45% 45%;animation:linear infinite balloon-rise-964018c3;position:absolute;bottom:-160px}.balloon[data-v-964018c3]:before{content:"";border:5px solid #0000;border-bottom-color:var(--color);position:absolute;bottom:-5px;left:50%;transform:translate(-50%)rotate(180deg)translateY(-4px)}.balloon[data-v-964018c3]:after{content:"";background:color-mix(in srgb, var(--party-fg) 35%, transparent);width:1px;height:70px;position:absolute;top:100%;left:50%}.party__cake[data-v-964018c3]{left:50%;bottom:calc(env(safe-area-inset-bottom) + var(--party-bottom,56px) - 4px);--stand-scale:min((min(100vw, 720px) - 32px) / 500, ( 100dvh - var(--party-bottom,56px) - 16px - env(safe-area-inset-top) - env(safe-area-inset-bottom) ) / 800);--cake-w:clamp(140px, var(--stand-scale) * 270, 330px);width:var(--cake-w);margin-left:calc(var(--cake-w) / -2);z-index:2;animation:.9s cubic-bezier(.25,1.4,.5,1) .15s both cake-rise-964018c3;position:absolute}.party__cake svg[data-v-964018c3]{filter:drop-shadow(0 10px 18px #0000002a);width:100%;height:auto;display:block;overflow:visible}.cake__plate[data-v-964018c3]{fill:#fff;stroke:#0000001a}.candle[data-v-964018c3]{pointer-events:auto;cursor:pointer;-webkit-tap-highlight-color:transparent;outline:none}.candle--out[data-v-964018c3]{cursor:default}.candle:focus-visible rect[data-v-964018c3]:first-child{stroke:#ff5d8f;stroke-width:1.5px;stroke-dasharray:3 2}.candle__wick[data-v-964018c3]{stroke:#3a2a20;stroke-width:1.5px;stroke-linecap:round}.flame[data-v-964018c3]{transform:rotate(calc(var(--wind,0) * -38deg)) scale(calc(1 - var(--wind,0) * .3));transition:transform .25s ease-out,opacity .25s}.flame__flicker[data-v-964018c3]{transform-box:fill-box;transform-origin:50% 100%;animation:.5s ease-in-out infinite alternate flicker-964018c3}.candle--out .flame[data-v-964018c3]{opacity:0;transform:scale(.2)translateY(-6px)}.smoke circle[data-v-964018c3]{fill:#9a9aa8;transform-box:fill-box;transform-origin:50%;opacity:0;animation:1.4s ease-out forwards smoke-964018c3}.smoke circle[data-v-964018c3]:nth-child(2){animation-delay:.15s}.smoke circle[data-v-964018c3]:nth-child(3){animation-delay:.3s}.party-enter-active[data-v-964018c3],.party-leave-active[data-v-964018c3]{transition:opacity .35s}.party-enter-from[data-v-964018c3],.party-leave-to[data-v-964018c3]{opacity:0}@keyframes drop-in-964018c3{0%{transform:translateY(-120%)}}@keyframes pop-in-964018c3{0%{opacity:0;transform:scale(.6)}}@keyframes cake-rise-964018c3{0%{opacity:0;transform:translateY(70%)scale(.85)}}@keyframes flag-swing-964018c3{0%{transform:rotate(-6deg)}to{transform:rotate(6deg)}}@keyframes shimmer-964018c3{to{background-position:-200% 0}}@keyframes flicker-964018c3{0%{transform:scale(1)skew(0)}35%{transform:scale(.94,1.08)skew(3deg)}70%{transform:scale(1.04,.95)skew(-2deg)}to{transform:scale(.97,1.05)skew(-4deg)}}@keyframes smoke-964018c3{0%{opacity:.7;transform:translate(0)scale(.6)}to{opacity:0;transform:translate(6px,-34px)scale(2.2)}}@keyframes balloon-rise-964018c3{0%{transform:translate(0)rotate(-4deg)}50%{transform:translate(14px,-60vh)rotate(4deg)}to{transform:translate(-6px,-130vh)rotate(-3deg)}}@media (prefers-reduced-motion:reduce){.flag[data-v-964018c3],.balloon[data-v-964018c3],.flame__flicker[data-v-964018c3],.party__title h2[data-v-964018c3]{animation:none}.balloon[data-v-964018c3]{display:none}}.setup[data-v-3d860a03]{height:100%;padding:calc(env(safe-area-inset-top) + 20px) calc(env(safe-area-inset-right) + 16px) calc(env(safe-area-inset-bottom) + 32px) calc(env(safe-area-inset-left) + 16px);overflow-y:auto}.setup__inner[data-v-3d860a03]{grid-template-columns:minmax(0,1fr);gap:28px;max-width:980px;margin:0 auto;display:grid}@media (width>=820px){.setup__inner[data-v-3d860a03]{grid-template-columns:minmax(0,1fr) 340px;align-items:start;gap:48px}.preview[data-v-3d860a03]{position:sticky;top:20px}}.setup__back[data-v-3d860a03]{color:var(--muted);align-items:center;gap:4px;font-size:13px;text-decoration:none;display:inline-flex}.setup__back[data-v-3d860a03]:hover{color:var(--fg)}h1[data-v-3d860a03]{margin:14px 0 6px;font-size:26px}.setup__lead[data-v-3d860a03]{color:var(--muted);margin:0 0 24px;font-size:14px}.field[data-v-3d860a03]{border:0;min-width:0;margin:0 0 22px;padding:0;display:block}.field--disabled .field__label[data-v-3d860a03],.field--disabled output[data-v-3d860a03]{opacity:.45}.field__label[data-v-3d860a03]{margin-bottom:8px;padding:0;font-size:13px;font-weight:600;display:block}.field__hint[data-v-3d860a03]{color:var(--muted);margin:6px 0 0;font-size:12px}input[type=text][data-v-3d860a03],textarea[data-v-3d860a03]{border:1px solid var(--btn-border);background:var(--btn-bg);width:100%;color:var(--fg);font:inherit;border-radius:10px;padding:10px 12px;font-size:16px;display:block}textarea[data-v-3d860a03]{resize:none;word-break:break-all;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:13px;line-height:1.5}input[type=text][data-v-3d860a03]:focus,textarea[data-v-3d860a03]:focus{outline:2px solid color-mix(in srgb, var(--accent) 55%, transparent);outline-offset:1px}.field__note[data-v-3d860a03]{color:var(--muted);margin-left:8px;font-weight:400}.stickers[data-v-3d860a03]{grid-template-columns:repeat(auto-fill,minmax(72px,1fr));gap:8px;display:grid}.sticker[data-v-3d860a03]{aspect-ratio:1;border:2px solid var(--btn-border);background:var(--btn-bg);cursor:pointer;-webkit-tap-highlight-color:transparent;border-radius:14px;place-items:center;padding:6px;transition:border-color .15s,transform .15s;display:grid;position:relative}.sticker[data-v-3d860a03]:active{transform:scale(.96)}.sticker img[data-v-3d860a03]{object-fit:contain;pointer-events:none;-webkit-user-select:none;user-select:none;width:100%;height:100%}.sticker--random[data-v-3d860a03]{color:var(--muted);align-content:center;gap:2px;font-size:12px}.sticker__num[data-v-3d860a03]{background:color-mix(in srgb, var(--fg) 70%, transparent);min-width:18px;height:18px;color:var(--bg);text-align:center;border-radius:999px;padding:0 4px;font-size:11px;font-weight:600;line-height:18px;position:absolute;top:4px;left:4px}.sticker--on[data-v-3d860a03]{border-color:var(--accent);background:color-mix(in srgb, var(--accent) 12%, var(--btn-bg))}.sticker--on.sticker--random[data-v-3d860a03]{color:var(--fg)}.sticker--on .sticker__num[data-v-3d860a03]{background:var(--accent);color:#fff}.sticker input[data-v-3d860a03]{opacity:0;cursor:pointer;margin:0;position:absolute;inset:0}.sticker[data-v-3d860a03]:has(input:focus-visible){outline:2px solid color-mix(in srgb, var(--accent) 55%, transparent);outline-offset:2px}.chips[data-v-3d860a03]{flex-wrap:wrap;gap:8px;display:flex}.chip[data-v-3d860a03]{border:1px solid var(--btn-border);background:var(--btn-bg);height:36px;color:var(--muted);cursor:pointer;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;border-radius:999px;align-items:center;gap:6px;padding:0 14px 0 12px;font-size:14px;transition:background-color .15s,color .15s,border-color .15s;display:inline-flex;position:relative}.chip span[data-v-3d860a03]{filter:grayscale();opacity:.6;transition:filter .15s,opacity .15s}.chip--on[data-v-3d860a03]{border-color:color-mix(in srgb, var(--accent) 45%, transparent);background:color-mix(in srgb, var(--accent) 12%, var(--btn-bg));color:var(--fg)}.chip--on span[data-v-3d860a03]{filter:none;opacity:1}.chip input[data-v-3d860a03]{opacity:0;cursor:pointer;margin:0;position:absolute;inset:0}.chip[data-v-3d860a03]:has(input:focus-visible){outline:2px solid color-mix(in srgb, var(--accent) 55%, transparent);outline-offset:2px}.stepper[data-v-3d860a03]{align-items:center;gap:10px;display:flex}.stepper button[data-v-3d860a03]{border:1px solid var(--btn-border);background:var(--btn-bg);width:36px;height:36px;color:var(--fg);font:inherit;cursor:pointer;touch-action:manipulation;border-radius:50%;font-size:18px}.stepper button[data-v-3d860a03]:disabled{opacity:.35;cursor:default}.stepper output[data-v-3d860a03]{text-align:center;font-variant-numeric:tabular-nums;min-width:1.5em;font-size:18px;font-weight:600}.stepper__hint[data-v-3d860a03]{color:var(--muted);font-size:12px}.actions[data-v-3d860a03]{flex-wrap:wrap;gap:8px;margin-top:12px;display:flex}.btn[data-v-3d860a03]{border:1px solid var(--btn-border);background:var(--btn-bg);height:38px;color:var(--fg);font:inherit;cursor:pointer;touch-action:manipulation;border-radius:999px;align-items:center;gap:6px;padding:0 16px 0 14px;font-size:14px;text-decoration:none;display:inline-flex}.btn--primary[data-v-3d860a03]{background:var(--accent);color:#fff;border-color:#0000}.btn--small[data-v-3d860a03]{height:28px;padding:0 10px 0 8px;font-size:12px}.preview__head[data-v-3d860a03]{justify-content:space-between;align-items:center;margin-bottom:10px;font-size:13px;font-weight:600;display:flex}.preview__phone[data-v-3d860a03]{aspect-ratio:9/17;border:6px solid color-mix(in srgb, var(--fg) 85%, transparent);background:var(--bg);border-radius:28px;width:100%;max-width:340px;margin:0 auto;overflow:hidden;box-shadow:0 12px 32px #0000002a}.preview iframe[data-v-3d860a03]{border:0;width:100%;height:100%;display:block}:root{--bg:#f4efe9;--fg:#1d2240;--muted:#6b6f86;--accent:#182562;--btn-bg:#fffc;--btn-border:#1d224022;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}@media (prefers-color-scheme:dark){:root{--bg:#14172a;--fg:#eceef7;--muted:#9aa0bd;--accent:#c34;--btn-bg:#ffffff14;--btn-border:#fff2;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}}*{box-sizing:border-box}html,body{background:var(--bg);height:100%;color:var(--fg);-webkit-text-size-adjust:100%;overscroll-behavior:none;margin:0;font-family:system-ui,-apple-system,PingFang SC,Microsoft YaHei,sans-serif}#app{height:100%}.page[data-v-703cfe94]{height:100dvh;padding:env(safe-area-inset-top) env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left);flex-direction:column;display:flex;overflow:hidden}.stage[data-v-703cfe94]{flex:1;width:100%;max-width:720px;min-height:0;margin:0 auto;padding:16px 16px 0}.controls[data-v-703cfe94]{flex-wrap:wrap;justify-content:center;gap:6px;padding:8px 16px 14px;display:flex}.controls__party[data-v-703cfe94]{flex-basis:100%;grid-template-columns:1fr auto 1fr;align-items:center;gap:8px;margin-bottom:2px;display:grid}.controls__cell[data-v-703cfe94]{display:flex}.controls__cell--start[data-v-703cfe94]{justify-content:flex-end}.controls__cell--end[data-v-703cfe94]{justify-content:flex-start}.controls button[data-v-703cfe94]{border:1px solid var(--btn-border);background:var(--btn-bg);height:32px;color:var(--muted);font:inherit;cursor:pointer;-webkit-tap-highlight-color:transparent;touch-action:manipulation;border-radius:999px;align-items:center;gap:4px;padding:0 12px 0 10px;font-size:13px;line-height:1;transition:transform .15s,background-color .15s,color .15s;display:inline-flex;position:relative}.controls button[data-v-703cfe94]:after{content:"";position:absolute;inset:-6px -3px}.controls button[data-v-703cfe94]:active{transform:scale(.96)}.controls button[aria-pressed=true][data-v-703cfe94]{border-color:color-mix(in srgb, var(--accent) 45%, transparent);background:color-mix(in srgb, var(--accent) 12%, var(--btn-bg));color:var(--fg)}@media (hover:hover){.controls button[data-v-703cfe94]:hover{border-color:color-mix(in srgb, var(--accent) 45%, transparent);color:var(--fg)}}.controls .controls__party .party-btn[data-v-703cfe94]{--c1:#ff7aa2;--c2:#ff9f6b;--sprinkles:radial-gradient(circle at 10% 30%, #fffc 0 1.2px, transparent 1.8px), radial-gradient(circle at 24% 78%, #fff9 0 1.2px, transparent 1.8px), radial-gradient(circle at 46% 18%, #fff9 0 1px, transparent 1.6px), radial-gradient(circle at 70% 82%, #fffc 0 1.2px, transparent 1.8px), radial-gradient(circle at 90% 28%, #fff9 0 1.2px, transparent 1.8px);background:var(--sprinkles), linear-gradient(135deg, var(--c1), var(--c2));color:#fff;text-shadow:0 1px 1px #0000002e;box-shadow:0 4px 12px color-mix(in srgb, var(--c2) 40%, transparent);border:2px solid #fff;font-weight:600}.controls .controls__party .party-btn--song[data-v-703cfe94]{--c1:#b388ff;--c2:#4cc9f0}.controls .controls__party .party-btn--song[aria-pressed=false][data-v-703cfe94]{filter:saturate(.45);opacity:.8}.controls .controls__party .party-btn--main[data-v-703cfe94]{--c1:#ffd166;--c2:#ff7aa2;background:linear-gradient(110deg, transparent 40%, #ffffff8c 50%, transparent 60%) 150% 0 / 250% 100% no-repeat, var(--sprinkles), linear-gradient(135deg, #ffb938, #ff8a5c 50%, #ff6b9a);height:38px;padding:0 18px 0 14px;font-size:14px;animation:3.2s ease-in-out infinite party-shine-703cfe94}.controls .controls__party .party-btn--relight[data-v-703cfe94]{--c2:#ff9f6b}.controls .controls__party .party-btn--blow[aria-pressed=true][data-v-703cfe94]{animation:3.2s ease-in-out infinite party-shine-703cfe94,.9s ease-in-out infinite alternate party-glow-703cfe94}@media (hover:hover){.controls .controls__party .party-btn[data-v-703cfe94]:hover{color:#fff;border-color:#fff;transform:translateY(-1px)}}.controls .controls__party .party-btn[data-v-703cfe94]:active{transform:scale(.96)}@keyframes party-shine-703cfe94{0%,55%{background-position:150% 0,0 0,0 0,0 0,0 0,0 0,0 0}to{background-position:-100% 0,0 0,0 0,0 0,0 0,0 0,0 0}}@keyframes party-glow-703cfe94{0%{box-shadow:0 4px 12px #ff9f6b66}to{box-shadow:0 0 0 4px #ffd16659,0 4px 22px #ff9f6bcc}}@media (prefers-reduced-motion:reduce){.controls .controls__party .party-btn[data-v-703cfe94]{animation:none!important}}.toast[data-v-703cfe94]{left:50%;bottom:calc(64px + env(safe-area-inset-bottom));border:1px solid var(--btn-border);background:color-mix(in srgb, var(--bg) 88%, var(--fg));max-width:calc(100vw - 32px);color:var(--fg);white-space:nowrap;z-index:20;border-radius:999px;align-items:center;gap:8px;padding:6px 6px 6px 12px;font-size:13px;display:flex;position:fixed;transform:translate(-50%);box-shadow:0 6px 20px #0000001f}.toast--plain[data-v-703cfe94]{padding-right:12px}.toast button[data-v-703cfe94]{background:var(--accent);color:#fff;height:26px;font:inherit;cursor:pointer;touch-action:manipulation;border:0;border-radius:999px;padding:0 10px;font-size:12px}.toast-enter-active[data-v-703cfe94],.toast-leave-active[data-v-703cfe94]{transition:opacity .2s,transform .2s}.toast-enter-from[data-v-703cfe94],.toast-leave-to[data-v-703cfe94]{opacity:0;transform:translate(-50%,8px)}.widget[data-v-703cfe94]{right:calc(8px + env(safe-area-inset-right));bottom:calc(8px + env(safe-area-inset-bottom));aspect-ratio:5/8;pointer-events:none;z-index:10;width:clamp(90px,22vw,160px);position:fixed}@media (width<=480px){.widget[data-v-703cfe94]{bottom:calc(60px + env(safe-area-inset-bottom))}}
