.shell-emoji[data-v-5933950b]{vertical-align:-.08em;font-size:1em;line-height:1;display:inline-block}.app-hdr[data-v-2e4394a0]{z-index:30;width:100%;padding:calc(var(--gap-s) + env(safe-area-inset-top)) calc(var(--pad-x) + env(safe-area-inset-right)) var(--gap-xs) calc(var(--pad-x) + env(safe-area-inset-left));background:var(--bar-bg,transparent);-webkit-backdrop-filter:blur(var(--bar-blur,14px));backdrop-filter:blur(var(--bar-blur,14px));border-bottom:1px solid var(--line,#80808029);flex:none;position:sticky;top:0}.hdr-row[data-v-2e4394a0]{justify-content:space-between;align-items:center;gap:var(--gap-s);width:100%;display:flex}.hdr-back[data-v-2e4394a0]{width:36px;height:36px;color:var(--ink-soft);border-radius:50%;flex:none;justify-content:center;align-items:center;margin-right:2px;display:flex}.hdr-back[data-v-2e4394a0]:active{background:var(--line)}.hdr-left[data-v-2e4394a0]{align-items:center;gap:var(--gap-xs);flex:none;min-width:0;display:inline-flex}.hdr-ico[data-v-2e4394a0]{font-size:var(--fs-title);color:var(--ink)}.hdr-title[data-v-2e4394a0]{font-size:var(--fs-title);color:var(--ink);white-space:nowrap;cursor:pointer;font-weight:800}.hdr-title[data-v-2e4394a0]:active{opacity:.6}.hdr-right[data-v-2e4394a0]{justify-content:flex-end;align-items:center;gap:var(--gap-s);flex-wrap:nowrap;flex:1;min-width:0;display:flex}.badge[data-v-2e4394a0]{font-size:var(--fs-small);border-radius:var(--radius-s);white-space:nowrap;align-items:center;gap:4px;padding:4px 10px;font-weight:800;display:inline-flex}.star-badge[data-v-2e4394a0]{background:var(--card-bg);color:var(--ink-soft);box-shadow:var(--shadow-soft)}.star-badge .star-fill[data-v-2e4394a0]{color:var(--gold)}.treasure-badge[data-v-2e4394a0]{color:#6b4e00;box-shadow:0 var(--press) 0 #0000002e;background:linear-gradient(160deg,#ffd87a,#f0b429);transition:transform .1s}.treasure-badge[data-v-2e4394a0]:active{transform:translateY(calc(var(--press) - 1px))}.streak-badge[data-v-2e4394a0]{background:var(--card-bg);color:var(--ink-soft);box-shadow:var(--shadow-soft);transition:background .3s,color .3s,transform .1s}.streak-badge[data-v-2e4394a0]:active{transform:translateY(calc(var(--press) - 1px))}.streak-badge.done[data-v-2e4394a0]{color:#fff;box-shadow:0 var(--press) 0 #0000002e, 0 0 14px #ff7a3d66;background:linear-gradient(160deg,#ff9f43,#ff6b3d)}.flame-ico[data-v-2e4394a0]{color:#ff6b3d}.streak-badge.done .flame-ico[data-v-2e4394a0]{color:#fff}.game-map-entry[data-v-d6c1cd77]{align-items:center;gap:var(--gap-m);width:100%;margin:0 var(--pad-x);border-radius:var(--radius);box-shadow:var(--shadow-hard);padding:var(--gap-m);text-align:left;background:linear-gradient(135deg,#fef3c7,#fde68a);display:flex}.gme-ico[data-v-d6c1cd77]{font-size:36px}.gme-body[data-v-d6c1cd77]{flex:1}.gme-title[data-v-d6c1cd77]{font-weight:900;font-size:var(--fs-body);color:#92400e;display:block}.gme-desc[data-v-d6c1cd77]{color:#b45309;font-size:12px;font-weight:700;display:block}.gme-arrow[data-v-d6c1cd77]{color:#b45309;font-size:28px;font-weight:900}.practice[data-v-d6c1cd77]{flex-direction:column;flex:1;min-height:0;display:flex}.quick-links[data-v-d6c1cd77]{justify-content:center;gap:var(--gap-s);margin-top:var(--gap-s);flex-wrap:wrap;display:flex}.q-link[data-v-d6c1cd77]{border-radius:var(--radius-pill);font-weight:800;font-size:var(--fs-small);color:var(--ink);background:var(--card-bg);box-shadow:var(--shadow-hard);align-items:center;gap:6px;padding:clamp(7px,1.4vh,10px) clamp(12px,1.8vw,18px);transition:transform .1s,background .2s;display:inline-flex}.q-link.review[data-v-d6c1cd77]{color:#5c3a00;background:linear-gradient(160deg,#ffd6a5,#ffb26b)}.q-link[data-v-d6c1cd77]:active{transform:translateY(calc(var(--press) - 1px))}.type-tabs[data-v-d6c1cd77]{gap:var(--gap-s);padding:0 var(--pad-x);margin:var(--gap-s) 0;display:flex}.type-tabs button[data-v-d6c1cd77]{border-radius:var(--radius-pill);background:var(--card-bg);box-shadow:var(--shadow-hard);font-weight:800;font-size:var(--fs-small);color:var(--ink-faint);flex:1;padding:10px 0}.type-tabs button.on[data-v-d6c1cd77]{background:var(--yellow);color:var(--ink)}.stage[data-v-d6c1cd77]{width:100%;min-height:0;padding-bottom:var(--gap-s);flex-direction:column;flex:1;gap:10px;display:flex}.course-carousel[data-v-d6c1cd77]{scroll-snap-type:x mandatory;scroll-behavior:smooth;-webkit-overflow-scrolling:touch;overscroll-behavior:contain;touch-action:pan-x;scrollbar-width:none;flex:1;width:100%;min-height:0;display:flex;overflow:auto hidden}.course-carousel[data-v-d6c1cd77]::-webkit-scrollbar{display:none}.cc-page[data-v-d6c1cd77]{scroll-snap-align:start;flex-wrap:wrap;flex:0 0 100%;place-content:center;gap:14px;padding:2px 8px;display:flex}.cc-page .lesson-card[data-v-d6c1cd77]{width:calc(50% - 7px);height:calc(50% - 7px);min-height:120px}.cc-dots[data-v-d6c1cd77]{justify-content:center;gap:8px;padding:2px 0;display:flex}.cc-dot[data-v-d6c1cd77]{cursor:pointer;background:var(--ink-faint);opacity:.45;width:10px;height:10px;transition:width var(--dur-fast) var(--ease-out), background var(--dur-fast), opacity var(--dur-fast);border:none;border-radius:999px;padding:0}.cc-dot.on[data-v-d6c1cd77]{background:var(--brand,#1cb0f6);opacity:1;width:22px}.lesson-card[data-v-d6c1cd77]{border-radius:var(--radius);padding:var(--gap-s);flex-direction:column;justify-content:center;align-items:center;gap:2px;min-width:0;min-height:0;transition:transform .1s;display:flex;position:relative;overflow:hidden}.lesson-card[data-v-d6c1cd77]:active{transform:translateY(calc(var(--press) - 1px)) scale(.98)}.big-emoji[data-v-d6c1cd77]{font-size:var(--fs-emoji-xl);line-height:1}.lt[data-v-d6c1cd77]{text-shadow:0 2px #0000001f;-webkit-line-clamp:2;-webkit-box-orient:vertical;max-width:100%;font-size:clamp(16px,min(3vh,2.4vw),24px);font-weight:800;line-height:1.2;display:-webkit-box;overflow:hidden}.cnt[data-v-d6c1cd77]{opacity:.85;white-space:nowrap;font-size:clamp(10px,min(1.6vh,1.3vw),13px);font-weight:700}.card-done[data-v-d6c1cd77]{background:var(--overlay);color:var(--green-dark);border-radius:var(--radius-pill);white-space:nowrap;align-items:center;gap:2px;padding:2px 8px;font-size:clamp(10px,min(1.6vh,1.3vw),12px);font-weight:800;display:inline-flex;position:absolute;top:8px;right:8px}@media (height<=480px){.cnt[data-v-d6c1cd77]{display:none}}@media (height<=620px) and (width<=600px){.lt[data-v-d6c1cd77]{-webkit-line-clamp:1;font-size:15px}}.home[data-v-ce66547a]{position:relative}.pv-slot[data-v-ce66547a]{flex:1;min-height:0}@media (height<=480px){.foot[data-v-ce66547a]{display:none}}.k-btn[data-v-ff193504]{background:var(--green);color:var(--on-tone);font-size:var(--fs-btn);border-radius:var(--radius-s);box-shadow:0 var(--press) 0 var(--green-dark);transition:transform var(--dur-fast), box-shadow var(--dur-fast);min-height:var(--tap-min);justify-content:center;align-items:center;gap:.4em;padding:clamp(10px,1.8vh,14px) clamp(20px,3vw,32px);font-weight:700;display:inline-flex}.k-btn[data-v-ff193504]:active{transform:translateY(calc(var(--press) - 1px)) scale(.97);box-shadow:0 1px 0 var(--green-dark)}.k-btn-blue[data-v-ff193504]{background:var(--blue);box-shadow:0 var(--press) 0 var(--blue-dark)}.k-btn-blue[data-v-ff193504]:active{box-shadow:0 1px 0 var(--blue-dark)}.k-btn-orange[data-v-ff193504]{background:var(--orange);box-shadow:0 var(--press) 0 var(--orange-dark)}.k-btn-orange[data-v-ff193504]:active{box-shadow:0 1px 0 var(--orange-dark)}.k-btn-gray[data-v-ff193504]{background:var(--btn-plain-bg);color:var(--ink);box-shadow:0 var(--press) 0 var(--btn-plain-deep)}.k-btn-gray[data-v-ff193504]:active{box-shadow:0 1px 0 var(--btn-plain-deep)}.k-btn[data-v-ff193504]:disabled{background:var(--btn-off-bg);color:var(--btn-off-ink);box-shadow:0 var(--press) 0 var(--btn-off-deep);cursor:default}.k-btn[data-v-ff193504]:disabled:active{box-shadow:0 var(--press) 0 var(--btn-off-deep);transform:none}.k-btn-block[data-v-ff193504]{width:100%}.k-btn-lg[data-v-ff193504]{font-size:var(--fs-title);padding:clamp(14px,2.4vh,20px) clamp(28px,4vw,48px)}@media (hover:hover) and (pointer:fine){.k-btn[data-v-ff193504]:hover{box-shadow:0 calc(var(--press) + 2px) 0 var(--green-dark);transform:translateY(-1px)}.k-btn-blue[data-v-ff193504]:hover{box-shadow:0 calc(var(--press) + 2px) 0 var(--blue-dark)}.k-btn-orange[data-v-ff193504]:hover{box-shadow:0 calc(var(--press) + 2px) 0 var(--orange-dark)}.k-btn-gray[data-v-ff193504]:hover{box-shadow:0 calc(var(--press) + 2px) 0 var(--btn-plain-deep)}.k-btn[data-v-ff193504]:disabled:hover{box-shadow:0 var(--press) 0 var(--btn-off-deep);transform:none}}.chest-wrap[data-v-fe972471]{z-index:60;background:color-mix(in srgb, var(--bg) 80%, transparent);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);justify-content:center;align-items:center;gap:var(--gap-s);padding:var(--gap-s);flex-direction:column;display:flex;position:fixed;inset:0;overflow-y:auto}.chest-close[data-v-fe972471]{z-index:70;width:var(--tap-min);height:var(--tap-min);background:var(--card-bg);box-shadow:var(--shadow-hard);color:var(--ink-soft);cursor:pointer;border:none;border-radius:50%;justify-content:center;align-items:center;display:flex;position:fixed;top:14px;left:14px}.chest-close .close-ico[data-v-fe972471]{width:22px;height:22px}.chest-close[data-v-fe972471]:active{transform:scale(.94)}.shell-badge[data-v-fe972471]{top:calc(64px + env(safe-area-inset-top));z-index:80;background:var(--card-bg);border:2px solid var(--c-orange);color:var(--ink);font-weight:800;font-size:var(--fs-small);border-radius:var(--radius-pill);box-shadow:var(--shadow-hard);transform-origin:50%;align-items:center;gap:4px;padding:4px 10px;display:flex;position:fixed;right:14px}.shell-badge .b-ico[data-v-fe972471]{width:16px;height:16px;font-size:16px}.shell-badge.pulsing[data-v-fe972471]{animation:.42s cubic-bezier(.34,1.56,.64,1) badge-pulse-fe972471}@keyframes badge-pulse-fe972471{0%{transform:scale(1)}40%{transform:scale(1.35)}to{transform:scale(1)}}.skip-btn[data-v-fe972471]{z-index:20;background:var(--card-bg);color:var(--ink-soft);border-radius:var(--radius-pill);font-weight:800;font-size:var(--fs-small);box-shadow:var(--shadow-hard);padding:6px 12px;transition:transform .1s;position:absolute;top:6px;right:6px}.skip-btn[data-v-fe972471]:active{transform:translateY(2px)}.flash[data-v-fe972471]{z-index:15;pointer-events:none;background:radial-gradient(circle at 50% 45%,#fffffff2,#ffe68c8c 45%,#0000 72%);animation:.55s ease-out forwards flash-in-fe972471;position:fixed;inset:0}@keyframes flash-in-fe972471{0%{opacity:0}15%{opacity:1}to{opacity:0}}.glow[data-v-fe972471]{z-index:10;pointer-events:none;background:radial-gradient(circle at 50% 42%,#ffd66e80,#ffc80014 55%,#0000 75%);animation:.9s ease-out forwards glow-in-fe972471;position:fixed;inset:0}@keyframes glow-in-fe972471{0%{opacity:0}to{opacity:1}}.chest[data-v-fe972471]{cursor:pointer;touch-action:manipulation;z-index:3;width:clamp(150px,30vh,210px);height:clamp(120px,22vh,160px);animation:.42s cubic-bezier(.34,1.4,.64,1) chest-bump-fe972471,2.4s ease-in-out 1s infinite chest-idle-fe972471;position:relative}@keyframes chest-bump-fe972471{0%,to{transform:rotate(0)}25%{transform:rotate(-7deg)translateY(-4px)}55%{transform:rotate(6deg)translateY(-6px)}80%{transform:rotate(-3deg)translateY(-2px)}}@keyframes chest-idle-fe972471{0%,to{transform:rotate(0)scale(1)}30%{transform:rotate(-2.4deg)scale(1.015)}65%{transform:rotate(2.4deg)scale(1.02)}}.chest[data-v-fe972471]:not(.opened):after{content:"";opacity:0;pointer-events:none;border:3px solid #ffc85acc;border-radius:28px;animation:1.8s ease-out 1.4s infinite tap-ring-fe972471;position:absolute;inset:-10px}@keyframes tap-ring-fe972471{0%{opacity:.85;transform:scale(.94)}70%,to{opacity:0;transform:scale(1.14)}}.chest.opened[data-v-fe972471]{animation:.5s ease-out chest-bounce-fe972471}@keyframes chest-bounce-fe972471{0%{transform:scale(1)}35%{transform:scale(1.06)translateY(-6px)}70%{transform:scale(.98)}to{transform:scale(1)}}.lid[data-v-fe972471]{transform-origin:50% 100%;z-index:3;background:linear-gradient(#d99a4e,#b5792f);border-radius:12px 12px 4px 4px;width:92%;height:42%;transition:transform .55s cubic-bezier(.34,1.4,.64,1),opacity .55s;position:absolute;top:0;left:4%;box-shadow:inset 0 3px #ffffff59,0 3px #00000026}.lid-knob[data-v-fe972471]{background:linear-gradient(#ffd87a,#e0a83e);border-radius:999px;width:34%;height:16%;position:absolute;top:20%;left:50%;transform:translate(-50%);box-shadow:0 2px #0000002e}.chest.opened .lid[data-v-fe972471]{opacity:.92;transform:translateY(-46%)rotate(-24deg)}.body[data-v-fe972471]{background:linear-gradient(#c98a3d,#8b5a2b);border-radius:6px 6px 16px 16px;width:100%;height:62%;position:absolute;bottom:0;left:0;box-shadow:inset 0 4px #ffffff4d,0 6px #0000002e}.lock[data-v-fe972471]{z-index:4;background:linear-gradient(#ffe9a8,#d9a73e);border-radius:6px;width:22%;height:30%;position:absolute;top:-14%;left:50%;transform:translate(-50%);box-shadow:0 2px #0003}.keyhole[data-v-fe972471]{z-index:5;background:#ffdc7800;border-radius:50%;width:10px;height:10px;transition:background .3s;position:absolute;top:16%;left:50%;transform:translate(-50%)}.chest.opened .keyhole[data-v-fe972471]{background:#ffeba0f2;box-shadow:0 0 12px 4px #ffdc78cc}.light[data-v-fe972471]{z-index:1;pointer-events:none;position:absolute;inset:-8% -20% auto}.beam[data-v-fe972471]{filter:blur(2px);background:linear-gradient(#ffeca000,#ffd66ef2,#ffeca000);border-radius:999px;width:18%;height:120%;animation:1s ease-out forwards beam-up-fe972471;position:absolute;bottom:34%;left:50%;transform:translate(-50%)}.beam.b2[data-v-fe972471]{opacity:.7;animation-delay:.12s;transform:translate(-50%)rotate(16deg)}.beam.b3[data-v-fe972471]{opacity:.7;animation-delay:.2s;transform:translate(-50%)rotate(-16deg)}@keyframes beam-up-fe972471{0%{opacity:0;transform-origin:50% 100%;transform:translate(-50%)scaleY(.1)}30%{opacity:1}to{opacity:0;transform:translate(-50%)scaleY(1.25)}}.spark[data-v-fe972471]{background:var(--yellow);opacity:0;z-index:2;pointer-events:none;width:12px;height:12px;animation:spark-fly-fe972471 1.1s ease-out var(--d) forwards;border-radius:50%;position:absolute;bottom:38%;left:50%;box-shadow:0 0 8px 2px #ffd66ee6}@keyframes spark-fly-fe972471{0%{opacity:0;transform:translate(0)scale(.4)}15%{opacity:1}60%{transform:translate(var(--x), -120px) scale(1);opacity:1}to{transform:translate(calc(var(--x) * .6), -190px) scale(.5);opacity:0}}.tap-hints[data-v-fe972471]{gap:var(--gap-m);margin-top:2px;display:flex}.arrow[data-v-fe972471]{background:var(--card-bg);border:3px solid var(--line);width:52px;height:52px;color:var(--ink-faint);cursor:pointer;border-radius:50%;justify-content:center;align-items:center;transition:all .22s cubic-bezier(.34,1.56,.64,1);animation:.45s cubic-bezier(.34,1.56,.64,1) backwards arrow-pop-fe972471;display:flex}.arrow svg[data-v-fe972471]{width:26px;height:26px}.arrow.on[data-v-fe972471]{border-color:var(--c-orange);color:var(--c-orange);background:linear-gradient(#fff3d6,#ffe3a8);transform:translateY(-6px);box-shadow:0 4px #0000001f,0 0 16px 2px #ffc85a80}.arrow[data-v-fe972471]:disabled{cursor:default}@keyframes arrow-pop-fe972471{0%{opacity:0;transform:scale(.3)}to{opacity:1;transform:scale(1)}}.cap[data-v-fe972471]{font-weight:800;font-size:var(--fs-body);color:var(--ink-soft);text-align:center;margin:0}.reward[data-v-fe972471]{align-items:center;gap:var(--gap-s);background:var(--card-bg);border:3px solid var(--yellow);border-radius:var(--radius);padding:var(--gap-m);z-index:12;flex-direction:column;min-width:min(78vw,300px);animation:.55s cubic-bezier(.34,1.56,.64,1) reward-in-fe972471,1.8s ease-in-out .6s infinite reward-glow-fe972471;display:flex}@keyframes reward-in-fe972471{0%{opacity:0;transform:scale(.2)rotate(10deg)}60%{opacity:1;transform:scale(1.08)rotate(-2deg)}to{transform:scale(1)rotate(0)}}@keyframes reward-glow-fe972471{0%,to{box-shadow:0 6px #0000002e,0 0 #ffd66e00}50%{box-shadow:0 6px #0000002e,0 0 26px 5px #ffd66e73}}.got[data-v-fe972471]{color:var(--ink);font-weight:800;font-size:var(--fs-title);margin:0}.rewards[data-v-fe972471]{justify-content:center;gap:var(--gap-s);flex-wrap:wrap;display:flex}.shells[data-v-fe972471]{font-weight:800;font-size:var(--fs-body);color:var(--on-tone);padding:var(--gap-xs) var(--gap-m);border-radius:var(--radius-pill);box-shadow:0 var(--press) 0 #00000026;background:var(--c-orange)}.won[data-v-fe972471]{background:color-mix(in srgb, var(--tone) 16%, var(--card-bg));border:3px solid color-mix(in srgb, var(--tone) 55%, transparent);border-radius:var(--radius);padding:var(--gap-s) var(--gap-m);flex-direction:column;align-items:center;gap:2px;display:flex;position:relative}.won-tag[data-v-fe972471]{background:var(--c-orange);color:var(--on-tone);font-size:var(--fs-small);border-radius:var(--radius-pill);padding:2px 10px;font-weight:900;position:absolute;top:-12px}.won-img[data-v-fe972471]{object-fit:contain;width:clamp(64px,12vh,96px);height:clamp(64px,12vh,96px)}.won-name[data-v-fe972471]{font-weight:900;font-size:var(--fs-body);color:var(--ink);margin:0}.won-en[data-v-fe972471]{font-size:var(--fs-small);color:var(--ink-soft);margin:0;font-weight:700}.take[data-v-fe972471]{width:100%;max-width:260px;font-size:var(--fs-body)}.collected[data-v-fe972471]{color:var(--green-dark);font-weight:800;animation:.3s ease-out pop-in}.fly[data-v-fe972471]{z-index:45;pointer-events:none;filter:drop-shadow(0 3px 3px #00000040);justify-content:center;align-items:center;width:26px;height:26px;margin-top:-13px;margin-left:-13px;transition:opacity .12s;display:flex;position:fixed}.fly-ico[data-v-fe972471]{width:22px;height:22px;color:var(--c-orange)}.r-ico[data-v-fe972471],.gift-ico[data-v-fe972471]{vertical-align:-.2em;width:1.1em;height:1.1em}.shells .r-ico[data-v-fe972471],.take .r-ico[data-v-fe972471]{color:var(--on-tone)}.collected .gift-ico[data-v-fe972471]{color:var(--green-dark)}@media (prefers-reduced-motion:reduce){.chest[data-v-fe972471],.chest[data-v-fe972471]:after,.flash[data-v-fe972471],.glow[data-v-fe972471],.beam[data-v-fe972471],.spark[data-v-fe972471],.reward[data-v-fe972471],.hint[data-v-fe972471]{animation:none!important}}.game-path[data-v-57a8c7f5]{gap:var(--gap-s);flex-direction:column;width:100%;max-width:440px;margin-inline:auto;display:flex}@media (width>=768px){.game-path[data-v-57a8c7f5]{max-width:600px}}.gp-canvas[data-v-57a8c7f5]{width:100%;padding-top:16px}.gp-unit[data-v-57a8c7f5]{z-index:5;height:44px;color:var(--ink-1);cursor:pointer;box-shadow:none;transition:background var(--dur-base), box-shadow var(--dur-base), transform var(--dur-fast) var(--ease-out);background:0 0;border-radius:14px;align-items:center;gap:10px;margin:20px 0 0;padding:0 16px;display:flex;position:sticky;top:8px}.gp-unit.tone-blue[data-v-57a8c7f5]{--tone:var(--c-blue);--tone-deep:var(--c-blue-deep)}.gp-unit.tone-orange[data-v-57a8c7f5]{--tone:var(--c-orange);--tone-deep:var(--c-orange-deep)}.gp-unit.tone-purple[data-v-57a8c7f5]{--tone:var(--c-purple);--tone-deep:var(--c-purple-deep)}.gp-unit.tone-pink[data-v-57a8c7f5]{--tone:var(--c-pink);--tone-deep:var(--c-pink-deep)}.gp-unit.tone-green[data-v-57a8c7f5]{--tone:var(--c-green);--tone-deep:var(--c-green-deep)}.gp-unit.tone-teal[data-v-57a8c7f5]{--tone:var(--c-teal);--tone-deep:var(--c-teal-deep)}.gp-unit.is-stuck[data-v-57a8c7f5]{background:color-mix(in srgb, var(--tone) 16%, #ffffffeb);box-shadow:0 1px 0 color-mix(in srgb, var(--tone) 30%, transparent), 0 8px 24px color-mix(in srgb, var(--tone) 14%, #0000001a)}:root[data-theme=dark] .gp-unit.is-stuck[data-v-57a8c7f5]{background:color-mix(in srgb, var(--tone) 24%, #16181ce0);box-shadow:0 1px 0 color-mix(in srgb, var(--tone) 35%, transparent), 0 8px 24px #0000004d}.gp-unit[data-v-57a8c7f5]:active{transform:scale(.985)}.gp-canvas>.gp-unit[data-v-57a8c7f5]:first-child{margin-top:0}.u-name[data-v-57a8c7f5]{max-width:72%;color:var(--tone,var(--ink-1));text-overflow:ellipsis;white-space:nowrap;font-size:17px;font-weight:800;line-height:1;position:absolute;left:50%;overflow:hidden;transform:translate(-50%)}:root[data-theme=dark] .u-name[data-v-57a8c7f5]{color:color-mix(in srgb, var(--tone) 78%, #fff)}.u-count[data-v-57a8c7f5]{opacity:.75;flex:none;margin-left:auto;font-size:13px;font-weight:800}.gp-unit[data-v-57a8c7f5]:after{content:"";background:color-mix(in srgb, var(--tone,var(--c-blue)) 38%, transparent);opacity:1;height:2px;transition:opacity var(--dur-base);border-radius:1px;position:absolute;bottom:0;left:16px;right:16px}.gp-unit.is-stuck[data-v-57a8c7f5]:after{opacity:0}.lv-wrap.tone-blue[data-v-57a8c7f5]{--tone:var(--c-blue)}.lv-wrap.tone-orange[data-v-57a8c7f5]{--tone:var(--c-orange)}.lv-wrap.tone-purple[data-v-57a8c7f5]{--tone:var(--c-purple)}.lv-wrap.tone-pink[data-v-57a8c7f5]{--tone:var(--c-pink)}.lv-wrap.tone-green[data-v-57a8c7f5]{--tone:var(--c-green)}.lv-wrap.tone-teal[data-v-57a8c7f5]{--tone:var(--c-teal)}.lv-wrap.done[class*=tone-]:not(.chest) .gp-level[data-v-57a8c7f5]{--face:linear-gradient(180deg, var(--tone), color-mix(in srgb, var(--tone) 70%, #000));--base:color-mix(in srgb, var(--tone) 55%, #000)}.lv-wrap.done[class*=tone-]:not(.chest) .lv-ico[data-v-57a8c7f5]{color:#fff}:root[data-theme=dark] .lv-wrap.done[class*=tone-]:not(.chest) .gp-level[data-v-57a8c7f5]{--face:linear-gradient(180deg, color-mix(in srgb, var(--tone) 62%, #16181c), color-mix(in srgb, var(--tone) 42%, #000));--base:color-mix(in srgb, var(--tone) 32%, #000)}.lv-wrap[data-v-57a8c7f5]{width:max-content;transform:translateX(var(--dx,0px));transition:transform var(--dur-base) var(--ease-out);box-shadow:none;margin:0 auto;margin-top:var(--gap-above,22px);transition:transform var(--dur-base) var(--ease-out), margin-top var(--dur-slow) var(--ease-out);background:0 0;flex-direction:column;align-items:center;gap:18px;display:flex;position:relative}.gp-level[data-v-57a8c7f5]{--face:#fff;--base:#00000038;--depth:7px;background:var(--face);width:68px;height:57px;box-shadow:0 var(--depth) 0 var(--base), 0 calc(var(--depth) + 5px) 14px #0000001f;cursor:pointer;transition:transform var(--dur-fast) var(--ease-pop), box-shadow var(--dur-fast);-webkit-tap-highlight-color:transparent;border:none;border-radius:50%;outline:none;justify-content:center;align-items:center;padding:0;display:flex;position:relative}.gp-level[data-v-57a8c7f5]:focus-visible{box-shadow:0 var(--depth) 0 var(--base), 0 0 0 4px var(--focus-ring,#1cb0f666)}.gp-level[data-v-57a8c7f5]:active{--depth:1px;transform:translateY(5px)scale(.97)}.lv-ico[data-v-57a8c7f5]{width:27px;height:27px;color:var(--ink-faint);pointer-events:none}.lv-star[data-v-57a8c7f5]{min-width:19px;height:19px;color:var(--gold);text-align:center;pointer-events:none;background:#fff;border:1px solid #0000001f;border-radius:999px;padding:0 3px;font-size:10px;font-weight:900;line-height:15px;position:absolute;top:3px;right:2px}.lv-wrap.shake[data-v-57a8c7f5]{animation:.5s lv-shake-57a8c7f5}.lv-wrap.shake .lv-ico-lock[data-v-57a8c7f5]{animation:.5s lock-wiggle-57a8c7f5}@keyframes lv-shake-57a8c7f5{0%,to{transform:translateX(var(--dx,0px))}20%{transform:translateX(calc(var(--dx,0px) - 7px))}40%{transform:translateX(calc(var(--dx,0px) + 7px))}60%{transform:translateX(calc(var(--dx,0px) - 5px))}80%{transform:translateX(calc(var(--dx,0px) + 5px))}}@keyframes lock-wiggle-57a8c7f5{0%,to{transform:rotate(0)}25%{transform:rotate(-12deg)}50%{transform:rotate(10deg)}75%{transform:rotate(-8deg)}}.lv-name[data-v-57a8c7f5]{white-space:nowrap;color:var(--ink-soft);pointer-events:none;font-size:12px;font-weight:700;line-height:1.2}.lv-wrap.done .lv-ico[data-v-57a8c7f5]{color:#c8860b}.lv-wrap.done .lv-tag[data-v-57a8c7f5]{border-color:var(--gold)}.lv-wrap.active .gp-level[data-v-57a8c7f5]{border:4px solid var(--c-blue,#1cb0f6)}.lv-wrap.active .lv-ico[data-v-57a8c7f5]{color:var(--c-blue,#1cb0f6)}.lv-wrap.locked .gp-level[data-v-57a8c7f5]{--face:#d9dade;--base:#0000002e}.lv-wrap.locked .lv-ico[data-v-57a8c7f5]{color:#0000004d}:root[data-theme=dark] .lv-wrap.locked .gp-level[data-v-57a8c7f5]{--face:#3a3d43;--base:#0006}:root[data-theme=dark] .lv-wrap.locked .lv-ico[data-v-57a8c7f5]{color:#ffffff52}.lv-pulse[data-v-57a8c7f5]{pointer-events:none;opacity:0;border:3px solid #ffd66e80;border-radius:50%;position:absolute;inset:-8px}.lv-wrap.active .lv-pulse[data-v-57a8c7f5]{opacity:1;animation:1.6s ease-in-out infinite lv-pulse-57a8c7f5}@keyframes lv-pulse-57a8c7f5{0%,to{opacity:.35;transform:scale(1)}50%{opacity:.15;transform:scale(1.12)}}.lv-wrap.flash .gp-level[data-v-57a8c7f5]:after{content:"";animation:lv-flash-57a8c7f5 .9s var(--ease-out) forwards;pointer-events:none;border:6px solid #ffd66ee6;border-radius:50%;position:absolute;inset:0}@keyframes lv-flash-57a8c7f5{0%{opacity:.9;transform:scale(1)}to{opacity:0;transform:scale(2.1)}}.lv-ring[data-v-57a8c7f5]{pointer-events:none;will-change:transform;width:105px;height:91px;animation:ring-in-57a8c7f5 var(--dur-base) var(--ease-out) both,ring-breathe-57a8c7f5 3.4s var(--ease-in-out) var(--ring-delay,0s) infinite;margin-left:-52.5px;position:absolute;top:-14px;left:50%}@keyframes ring-in-57a8c7f5{0%{opacity:0}to{opacity:1}}@keyframes ring-breathe-57a8c7f5{0%,to{transform:scale(.95)}50%{transform:scale(1.01)}}.ring-seg[data-v-57a8c7f5]{fill:none;stroke:#8080801f;stroke-width:6px;stroke-linecap:round;transform-origin:50px 50px;transition:stroke var(--dur-base) var(--ease-out)}.lv-wrap.done .ring-seg.on[data-v-57a8c7f5]{stroke:#ffc93c}.lv-wrap.chest .ring-seg.on[data-v-57a8c7f5]{stroke:#d98e04}.lv-wrap.locked .lv-ico-lock[data-v-57a8c7f5]{color:#b8b0a4;width:30px;height:30px}.lv-wrap.chest .gp-level[data-v-57a8c7f5]{--face:linear-gradient(160deg, #ffe9a8, #ffd87a);--base:#b078006b}.lv-wrap.chest .lv-ico-chest[data-v-57a8c7f5]{color:#8a5a00;width:34px;height:34px}.lv-wrap.chest.done .gp-level[data-v-57a8c7f5]{filter:grayscale(.35)opacity(.82)}.lv-wrap.chest .lv-tag[data-v-57a8c7f5]{border-color:#b0780066}:root[data-theme=dark] .gp-level[data-v-57a8c7f5]{--base:#0000008c}:root[data-theme=dark] .ring-seg[data-v-57a8c7f5]{stroke:#d2d2d224}.game[data-v-901747c4]{background:0 0;flex-direction:column;flex:1;min-height:0;display:flex}@media (height<=480px){.foot[data-v-901747c4]{display:none}}.gp-slot[data-v-901747c4]{min-height:0;margin-top:var(--gap-s);width:calc(100% + var(--pad-x));-webkit-overflow-scrolling:touch;flex:1;max-width:none;margin-left:0;margin-right:0;padding-right:0;overflow:hidden auto}.word-card[data-v-a3fab78c]{background:var(--card-bg);border-radius:var(--radius);box-shadow:var(--shadow-hard);padding:var(--gap-xs);align-items:center;gap:var(--gap-xs);flex-direction:column;min-width:0;min-height:0;display:flex;overflow:hidden}.pic[data-v-a3fab78c]{border-radius:var(--radius-s);background:var(--media-bg);cursor:pointer;flex:1;justify-content:center;align-items:center;width:100%;min-height:0;display:flex;position:relative;overflow:hidden}.pic img[data-v-a3fab78c]{object-fit:contain;pointer-events:none;width:86%;height:86%}.placeholder[data-v-a3fab78c]{font-size:var(--fs-emoji-l);line-height:1}.word-card.lg .placeholder[data-v-a3fab78c]{font-size:var(--fs-emoji-xl)}.word-card.sm .placeholder[data-v-a3fab78c]{font-size:clamp(20px,min(4.4vh,3.6vw),34px)}.speaker[data-v-a3fab78c]{color:var(--blue);opacity:.9;font-size:clamp(14px,2.3vh,22px);animation:2.4s ease-in-out infinite float-y;position:absolute;bottom:6px;right:6px}.marked[data-v-a3fab78c]{background:var(--green,#2eaf5a);color:#fff;pointer-events:none;border-radius:50%;justify-content:center;align-items:center;width:clamp(20px,3.4vh,26px);height:clamp(20px,3.4vh,26px);font-size:clamp(12px,2vh,15px);display:flex;position:absolute;top:6px;right:6px;box-shadow:0 2px 6px #00000038}.word[data-v-a3fab78c]{letter-spacing:.5px;color:var(--ink);cursor:pointer;padding:0 var(--gap-s);border-radius:var(--radius-s);white-space:nowrap;text-overflow:ellipsis;flex:none;max-width:100%;min-height:clamp(24px,4.6vh,44px);font-size:clamp(15px,min(2.9vh,2.3vw),27px);font-weight:800;line-height:clamp(24px,4.6vh,44px);overflow:hidden}.word[data-v-a3fab78c]:active{background:var(--tint-yellow)}.word-card.sm .word[data-v-a3fab78c]{font-size:clamp(13px,min(2.2vh,1.8vw),20px)}.word-card.lg .word[data-v-a3fab78c]{font-size:clamp(19px,min(3.8vh,3vw),34px)}@media (height<=420px),(width<=340px){.speaker[data-v-a3fab78c]{display:none}}.pager[data-v-c19300d0]{justify-content:center;align-items:center;gap:var(--gap-m);flex:none;width:100%;display:flex}.arrow[data-v-c19300d0]{width:var(--tap-min);height:var(--tap-min);background:var(--green);color:var(--on-tone);font-size:var(--fs-btn);box-shadow:0 var(--press) 0 var(--green-dark);border-radius:50%;flex:none;justify-content:center;align-items:center;font-weight:800;line-height:1;transition:transform 80ms,box-shadow 80ms,opacity .2s;display:flex}.arrow[data-v-c19300d0]:active:not(:disabled){transform:translateY(calc(var(--press) - 1px));box-shadow:0 1px 0 var(--green-dark)}.arrow[data-v-c19300d0]:disabled{opacity:.4;box-shadow:0 var(--press) 0 var(--btn-off-deep);background:var(--btn-off-bg);color:var(--btn-off-ink);cursor:default}.mid[data-v-c19300d0]{flex-direction:column;align-items:center;gap:4px;min-width:0;display:flex}.dots[data-v-c19300d0]{flex-wrap:wrap;justify-content:center;align-items:center;gap:clamp(5px,1vw,9px);display:flex}.dot[data-v-c19300d0]{background:var(--dot-bg);border-radius:50%;width:clamp(9px,1.6vh,13px);height:clamp(9px,1.6vh,13px);padding:0;transition:background .2s,transform .2s}.dot.on[data-v-c19300d0]{background:var(--green);transform:scale(1.3)}.counter[data-v-c19300d0]{font-size:var(--fs-small);color:var(--ink-soft);white-space:nowrap;font-weight:800}@media (height<=480px){.pager[data-v-c19300d0]{gap:var(--gap-s)}.arrow[data-v-c19300d0]{width:40px;height:40px;font-size:18px}.dots[data-v-c19300d0]{gap:6px}.counter[data-v-c19300d0]{display:none}}.hint[data-v-83e3c7d5]{font-size:var(--fs-small);color:var(--ink-soft);text-align:center;flex-wrap:wrap;flex:none;justify-content:center;align-items:center;gap:.35em;margin:0;font-weight:700;display:flex}.hint .k-ico[data-v-83e3c7d5]{color:var(--orange)}.hint-page[data-v-83e3c7d5]{color:var(--green-dark)}.stage[data-v-83e3c7d5]{flex:1;width:100%;min-height:0;display:flex}.grid[data-v-83e3c7d5]{grid-template-columns:repeat(var(--cols,2), minmax(0, 1fr));gap:var(--grid-gap,12px);flex:1;align-content:center;width:100%;min-height:0;display:grid}.next[data-v-83e3c7d5]{flex:none;width:100%;max-width:460px;margin:0 auto}.lf[data-v-3e50b0b7]{align-items:center;gap:var(--gap-s);width:100%;max-width:560px;padding:var(--gap-l) var(--gap-m) max(28px, env(safe-area-inset-bottom));flex-direction:column;flex:none;margin-top:auto;display:flex}.lf-feedback[data-v-3e50b0b7]{justify-content:center;min-height:0;display:flex}.lf-pill[data-v-3e50b0b7]{text-align:center;justify-content:center;align-items:center;gap:8px;margin:0;font-weight:800;display:inline-flex}.lf-pill.success[data-v-3e50b0b7]{font-size:var(--fs-title);color:var(--green-dark);background:var(--state-ok-bg);border:2px solid var(--green);border-radius:var(--radius-pill);padding:8px 20px}.lf-pill.error[data-v-3e50b0b7]{font-size:var(--fs-body);color:var(--red)}.lf-pill.placeholder[data-v-3e50b0b7]{visibility:hidden}.lf-ico[data-v-3e50b0b7]{width:1.1em;height:1.1em}.lf-extras[data-v-3e50b0b7]{gap:var(--gap-s);flex-wrap:wrap;justify-content:center;display:flex}.lf-btn[data-v-3e50b0b7]{width:100%;min-height:calc(var(--tap-min) + 12px);font-size:var(--fs-btn);color:var(--on-tone);background:var(--green);border-radius:var(--radius-pill);box-shadow:0 var(--press) 0 var(--green-dark);cursor:pointer;transition:transform var(--dur-fast), box-shadow var(--dur-fast);border:none;justify-content:center;align-items:center;gap:8px;font-weight:800;display:inline-flex}.lf-btn[data-v-3e50b0b7]:active:not(:disabled){transform:translateY(calc(var(--press) - 1px)) scale(.98);box-shadow:0 1px 0 var(--green-dark)}.lf-btn[data-v-3e50b0b7]:disabled{background:var(--ink-faint);box-shadow:0 var(--press) 0 var(--ink-faint);cursor:default;opacity:.85}.lf-arrow[data-v-3e50b0b7]{width:1.1em;height:1.1em}@media (height<=480px){.lf[data-v-3e50b0b7]{padding:var(--gap-s) var(--gap-m) max(12px, env(safe-area-inset-bottom));gap:var(--gap-xs)}.lf-pill.success[data-v-3e50b0b7]{font-size:var(--fs-body);padding:4px 14px}.lf-btn[data-v-3e50b0b7]{min-height:var(--tap-min)}}.quiz[data-v-df35e023]{align-items:center}.big-speaker[data-v-df35e023]{background:var(--blue);width:clamp(64px,min(15vh,12vw),120px);height:clamp(64px,min(15vh,12vw),120px);color:var(--on-tone);box-shadow:0 var(--press) 0 var(--blue-dark);border-radius:50%;flex:none;justify-content:center;align-items:center;gap:6px;font-size:clamp(28px,min(7vh,5.5vw),56px);display:flex}.wave[data-v-df35e023]{align-items:flex-end;gap:2px;height:16px;display:inline-flex}.wave i[data-v-df35e023]{background:currentColor;border-radius:2px;width:4px;height:6px;animation:.7s ease-in-out infinite wave-bounce-df35e023}.wave i[data-v-df35e023]:nth-child(2){animation-delay:.14s}.wave i[data-v-df35e023]:nth-child(3){animation-delay:.28s}@keyframes wave-bounce-df35e023{0%,to{height:6px}50%{height:15px}}.big-speaker[data-v-df35e023]:active{transform:translateY(calc(var(--press) - 1px));box-shadow:0 1px 0 var(--blue-dark)}.tip[data-v-df35e023]{color:var(--ink-soft);font-weight:700;font-size:var(--fs-small);text-align:center;flex:none;margin:0}.options[data-v-df35e023]{gap:var(--gap-m);grid-template-columns:1fr 1fr;grid-auto-rows:minmax(0,1fr);display:grid}.opt[data-v-df35e023]{border-radius:var(--radius);background:var(--card-bg);box-shadow:var(--shadow-hard);cursor:pointer;border:5px solid #0000;flex-direction:column;align-items:center;min-width:0;min-height:0;transition:border-color .2s,transform .12s;display:flex;overflow:hidden}.pic[data-v-df35e023]{flex:1;justify-content:center;align-items:center;width:100%;min-height:0;display:flex}.pic img[data-v-df35e023]{object-fit:contain;pointer-events:none;width:78%;height:78%}.pic .ph[data-v-df35e023]{font-size:var(--fs-emoji-xl);line-height:1}.w[data-v-df35e023]{text-align:center;letter-spacing:.5px;width:100%;color:var(--ink);background:var(--tint-cream);white-space:nowrap;text-overflow:ellipsis;flex:none;padding:clamp(2px,.8vh,6px) 4px;font-size:clamp(13px,min(2.6vh,2vw),22px);font-weight:800;line-height:1.15;overflow:hidden}.opt.selected[data-v-df35e023]{border-color:var(--blue);background:#1cb0f614}.opt.right[data-v-df35e023]{border-color:var(--green);background:var(--state-ok-bg)}.opt.wrong[data-v-df35e023]{border-color:var(--red);background:var(--state-bad-bg);animation:.45s shake-x}.opt.right .w[data-v-df35e023],.opt.wrong .w[data-v-df35e023],.opt.selected .w[data-v-df35e023]{background:0 0}@media (height<=480px){.options[data-v-df35e023]{gap:var(--gap-s);grid-template-columns:repeat(4,1fr);grid-auto-rows:minmax(0,1fr)}.big-speaker[data-v-df35e023]{width:52px;height:52px;font-size:24px}.tip[data-v-df35e023]{display:none}.w[data-v-df35e023]{padding:1px 2px;font-size:12px}}.head[data-v-cd4b5092]{justify-content:space-between;align-items:center;gap:var(--gap-s);flex-wrap:wrap;flex:none;display:flex}.tip[data-v-cd4b5092]{color:var(--ink-soft);font-weight:700;font-size:var(--fs-small);align-items:center;gap:.4em;min-width:0;margin:0;display:flex}.tip-ico[data-v-cd4b5092]{color:var(--purple)}.counter[data-v-cd4b5092]{background:var(--card-bg);border-radius:var(--radius-s);font-weight:800;font-size:var(--fs-small);box-shadow:var(--shadow-hard);white-space:nowrap;flex:none;padding:clamp(4px,1vh,6px) clamp(8px,1.4vw,14px)}.board[data-v-cd4b5092]{justify-content:space-between;gap:clamp(14px,4vw,44px);display:flex;position:relative}.lines[data-v-cd4b5092]{pointer-events:none;width:100%;height:100%;z-index:var(--z-lines);position:absolute;inset:0}.done-line[data-v-cd4b5092]{stroke:var(--green);stroke-width:6px;stroke-linecap:round;stroke-dasharray:100;stroke-dashoffset:100px;animation:.45s forwards draw-line-cd4b5092}.done-line.flash[data-v-cd4b5092]{filter:drop-shadow(0 0 8px var(--progress-hi))}@keyframes draw-line-cd4b5092{to{stroke-dashoffset:0}}.drag-line[data-v-cd4b5092]{stroke:var(--yellow);stroke-width:6px;stroke-linecap:round;stroke-dasharray:1 14}.col[data-v-cd4b5092]{gap:var(--gap-s);z-index:2;grid-auto-rows:minmax(0,1fr);align-content:stretch;min-width:0;min-height:0;display:grid}.col.imgs[data-v-cd4b5092],.col.words[data-v-cd4b5092]{flex:1}.cell[data-v-cd4b5092]{background:var(--card-bg);border-radius:var(--radius-s);box-shadow:var(--shadow-hard);touch-action:none;border:4px solid #0000;justify-content:center;align-items:center;min-width:0;min-height:0;transition:opacity .25s,transform .2s,border-color .2s;display:flex;overflow:hidden}.cell.pic[data-v-cd4b5092]{cursor:grab}.cell.pic[data-v-cd4b5092]:active{cursor:grabbing}.cell.pic img[data-v-cd4b5092]{object-fit:contain;pointer-events:none;width:62%;height:62%}.cell.pic .ph[data-v-cd4b5092]{font-size:var(--fs-emoji-l);align-items:center}.cell.word[data-v-cd4b5092]{cursor:grab;text-align:center;word-break:break-word;padding:0 4px;font-size:clamp(13px,min(2.6vh,2.1vw),23px);font-weight:800;line-height:1.1}.sound-wrap[data-v-cd4b5092]{justify-content:center;align-items:center;gap:clamp(4px,1vw,8px);min-width:0;padding:0 4px;display:flex;position:relative}.sound-ico[data-v-cd4b5092]{width:clamp(24px,5vh,40px);height:clamp(24px,5vh,40px);color:var(--blue-dark);flex:none}.sound-word[data-v-cd4b5092]{color:var(--ink);overflow-wrap:anywhere;min-width:0;font-size:clamp(12px,min(2.4vh,2vw),19px);font-weight:800;line-height:1.15}.wave[data-v-cd4b5092]{pointer-events:none;flex:none;align-items:flex-end;gap:2px;height:12px;display:inline-flex}.wave i[data-v-cd4b5092]{background:var(--blue);border-radius:2px;width:3px;height:4px;animation:.7s ease-in-out infinite wave-bounce-cd4b5092}.wave i[data-v-cd4b5092]:nth-child(2){animation-delay:.14s}.wave i[data-v-cd4b5092]:nth-child(3){animation-delay:.28s}@keyframes wave-bounce-cd4b5092{0%,to{height:4px}50%{height:11px}}.mode-switch[data-v-cd4b5092]{background:var(--card-bg);border-radius:var(--radius-pill);box-shadow:var(--shadow-hard);flex:none;gap:4px;padding:3px;display:inline-flex}.mode-btn[data-v-cd4b5092]{border-radius:var(--radius-pill);color:var(--ink-soft);font-weight:800;font-size:var(--fs-small);cursor:pointer;background:0 0;border:none;align-items:center;gap:4px;min-height:clamp(34px,5.4vh,44px);padding:6px 12px;display:inline-flex}.mode-btn.on[data-v-cd4b5092]{background:var(--blue);color:var(--on-tone)}.mode-btn .k-ico[data-v-cd4b5092]{width:1em;height:1em}.cell.word[data-v-cd4b5092]:active{cursor:grabbing}.cell.active[data-v-cd4b5092]{border-color:var(--yellow);transform:scale(1.04)}.cell.wrong[data-v-cd4b5092]{border-color:var(--red);background:var(--state-bad-bg);animation:.45s shake-x}.cell.gone[data-v-cd4b5092]{opacity:.3;pointer-events:none;transform:scale(.93)}.banner[data-v-cd4b5092]{z-index:var(--z-floating);background:var(--overlay-strong);border-radius:var(--radius);justify-content:center;align-items:center;animation:.3s ease-out both banner-in-cd4b5092;display:flex;position:absolute;inset:0}@keyframes banner-in-cd4b5092{0%{opacity:0;transform:scale(.94)}to{opacity:1;transform:scale(1)}}.banner span[data-v-cd4b5092]{color:var(--green-dark);background:var(--card-bg);border-radius:var(--radius);box-shadow:var(--shadow-hard);text-align:center;padding:clamp(10px,1.8vh,14px) clamp(18px,3vw,28px);font-size:clamp(18px,min(4vh,3.2vw),34px);font-weight:800}@media (width<=600px){.col.imgs[data-v-cd4b5092],.col.words[data-v-cd4b5092]{flex:1}.cell.pic img[data-v-cd4b5092]{width:74%;height:74%}}@media (height<=480px){.tip[data-v-cd4b5092]{display:none}}.stage[data-v-5867f764]{border-radius:var(--radius);width:100%;height:100%;box-shadow:var(--shadow-hard);cursor:pointer;--bob:0;padding-bottom:var(--gap-s);justify-content:center;align-items:flex-end;display:flex;position:relative;overflow:hidden}.scene-sea[data-v-5867f764]{background:linear-gradient(#bfe9ff 0%,#e8f8ff 46%,#8ed8f7 60%,#4fb3e0 100%)}.scene-sea .sun[data-v-5867f764]{background:radial-gradient(circle at 35% 32%, #fff6c9, var(--yellow));border-radius:50%;width:clamp(30px,8vw,54px);height:clamp(30px,8vw,54px);position:absolute;top:7%;right:9%;box-shadow:0 0 clamp(14px,4vw,26px) #ffd65abf}.cloud[data-v-5867f764]{background:#ffffffeb;border-radius:999px;width:clamp(48px,13vw,86px);height:clamp(16px,4.4vw,28px);animation:linear infinite drift-5867f764;position:absolute;box-shadow:0 3px #78b4dc59}.cloud.c1[data-v-5867f764]{animation-duration:26s;top:12%;left:6%}.cloud.c2[data-v-5867f764]{animation-duration:34s;top:24%;left:55%;transform:scale(.72)}.cloud.c3[data-v-5867f764]{animation-duration:44s;top:7%;left:34%;transform:scale(.5)}@keyframes drift-5867f764{0%{translate:-14%}50%{translate:10%}to{translate:-14%}}.hero[data-v-5867f764]{filter:drop-shadow(0 6px #1e5a822e);font-size:clamp(42px,13vw,92px);line-height:1;position:absolute;top:34%;left:50%;translate:-50%}.hero.bobbing[data-v-5867f764]{animation:hero-bob-5867f764 calc(var(--beat,.5s)) ease-in-out infinite}@keyframes hero-bob-5867f764{0%,to{transform:translateY(0)rotate(-2deg)}50%{transform:translateY(-9%)rotate(2deg)}}.waves[data-v-5867f764]{height:34%;position:absolute;inset:auto 0 0}.wave[data-v-5867f764]{border-radius:46% 54% 0 0/26% 30% 0 0;height:100%;animation:ease-in-out infinite alternate sway-5867f764;position:absolute;inset:auto 0 0}.wave.w1[data-v-5867f764]{background:#ffffff80;height:108%;animation-duration:3.4s}.wave.w2[data-v-5867f764]{background:#78cdf0bf;height:76%;animation-duration:2.6s}.wave.w3[data-v-5867f764]{background:linear-gradient(#59bde8,#2f96c9);height:46%;animation-duration:2s}@keyframes sway-5867f764{0%{translate:-3.5%}to{translate:3.5%}}.scene-stage[data-v-5867f764]{background:radial-gradient(120% 90% at 50% 0,#fff3d6 0%,#ffe6bd 44%,#ffd08a 100%)}.scene-stage .spot[data-v-5867f764]{background:radial-gradient(closest-side,#ffffffd9,#fff0);border-radius:50%;width:46%;height:130%;animation:3.6s ease-in-out infinite alternate glow-5867f764;position:absolute;top:-12%;left:50%;translate:-50%}.scene-stage .spot.s2[data-v-5867f764]{opacity:.5;width:70%;animation-duration:5.2s}@keyframes glow-5867f764{0%{opacity:.55}to{opacity:1}}.curtain[data-v-5867f764]{background:repeating-linear-gradient(90deg, var(--pink) 0 8px, var(--pink-deep) 8px 16px);opacity:.85;border-radius:0 0 999px 999px;width:9%;position:absolute;top:0;bottom:18%}.curtain.l[data-v-5867f764]{left:2%}.curtain.r[data-v-5867f764]{right:2%}.scene-rainbow[data-v-5867f764]{background:linear-gradient(#dff1ff 0%,#fdeef7 52%,#fff4dc 100%)}.scene-rainbow .rainbow[data-v-5867f764]{opacity:.95;background:radial-gradient(100% 100% at 50% 100%,#0000 0 56%,#ff9fb2 56% 65%,#ffd97a 65% 74%,#9fe0a5 74% 83%,#8fd4f5 83% 92%,#c6b4f2 92% 100%);border-radius:999px 999px 0 0;width:76%;height:38%;position:absolute;bottom:24%;left:50%;translate:-50%}.scene-rainbow .cloud.c1[data-v-5867f764]{animation-duration:30s;top:40%;left:4%}.scene-rainbow .cloud.c2[data-v-5867f764]{animation-duration:38s;top:30%;left:auto;right:5%;transform:scale(.8)}.scene-rainbow .cloud.c3[data-v-5867f764]{animation-duration:46s;top:18%;left:42%;transform:scale(.6)}.scene-numbers[data-v-5867f764]{background:linear-gradient(#e2f9f0 0%,#e9f6ff 58%,#d9f2e6 100%)}.scene-numbers .hill[data-v-5867f764]{background:#7ec89880;border-radius:50%;width:64%;height:42%;position:absolute;bottom:-18%}.scene-numbers .hill.h1[data-v-5867f764]{left:-12%}.scene-numbers .hill.h2[data-v-5867f764]{background:#66bb8a9e;right:-12%}.balloon[data-v-5867f764]{color:#fff;text-shadow:0 2px #0000001f;border-radius:50% 50% 46% 46%;justify-content:center;align-items:center;width:clamp(26px,7vw,46px);height:clamp(32px,8.6vw,56px);font-size:clamp(14px,3.6vw,24px);font-weight:800;animation:3.2s ease-in-out infinite balloon-bob-5867f764;display:flex;position:absolute;top:14%}.balloon[data-v-5867f764]:after{content:"";background:#4a3f3559;width:2px;height:46%;position:absolute;top:100%;left:50%}.balloon.b1[data-v-5867f764]{background:var(--red);animation-delay:0s;left:12%}.balloon.b2[data-v-5867f764]{background:var(--blue);animation-delay:.5s;left:44%}.balloon.b3[data-v-5867f764]{background:var(--purple);animation-delay:1s;right:12%}@keyframes balloon-bob-5867f764{0%,to{transform:translateY(0)rotate(-3deg)}50%{transform:translateY(-7%)rotate(3deg)}}.scene-letters[data-v-5867f764]{background:linear-gradient(#efe7ff 0%,#fdf2ff 55%,#e8f2ff 100%)}.letter-tile[data-v-5867f764]{background:#fff;border-radius:26%;justify-content:center;align-items:center;width:clamp(34px,9vw,58px);height:clamp(34px,9vw,58px);font-size:clamp(18px,4.8vw,32px);font-weight:800;animation:3.6s ease-in-out infinite tile-wiggle-5867f764;display:flex;position:absolute;top:12%;box-shadow:0 4px #4a3f3524}.letter-tile.t1[data-v-5867f764]{color:var(--blue);left:10%;rotate:-8deg}.letter-tile.t2[data-v-5867f764]{color:var(--orange);animation-delay:.6s;left:45%}.letter-tile.t3[data-v-5867f764]{color:var(--pink);animation-delay:1.2s;right:10%;rotate:8deg}@keyframes tile-wiggle-5867f764{0%,to{transform:translateY(0)rotate(-2deg)}50%{transform:translateY(-8%)rotate(2deg)}}.float-emoji[data-v-5867f764]{opacity:.9;font-size:clamp(16px,4.4vw,30px);animation:4.4s ease-in-out infinite float-emoji-5867f764;position:absolute}.float-emoji.f1[data-v-5867f764]{top:20%;left:8%}.float-emoji.f2[data-v-5867f764]{animation-delay:.8s;top:34%;right:10%}.float-emoji.f3[data-v-5867f764]{animation-delay:1.6s;top:44%;left:24%}@keyframes float-emoji-5867f764{0%,to{transform:translateY(0)rotate(-4deg)}50%{transform:translateY(-12%)rotate(4deg)}}.cast[data-v-5867f764]{z-index:2;align-items:flex-end;gap:clamp(2px,1.4vw,10px);display:flex;position:relative}.member[data-v-5867f764]{transform:translateY(calc(var(--bob) * var(--amp) * -1px));filter:drop-shadow(0 3px #0000001f);font-size:clamp(20px,5.4vw,38px);line-height:1}.note[data-v-5867f764]{z-index:2;color:var(--blue);opacity:.85;font-size:clamp(13px,2.6vw,20px);animation:3.8s ease-out forwards float-up-5867f764;position:absolute;bottom:18%}@keyframes float-up-5867f764{0%{transform:translateY(0) scale(var(--s,1));opacity:0}12%{opacity:.9}to{transform:translateY(-160%) scale(var(--s,1)) rotate(12deg);opacity:0}}.subtitle[data-v-5867f764]{z-index:3;text-align:center;color:var(--ink);background:var(--overlay);border-radius:var(--radius-pill);box-shadow:var(--shadow-soft);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);text-overflow:ellipsis;white-space:nowrap;margin:0;padding:clamp(5px,1.2vh,10px) clamp(12px,2.4vw,22px);font-size:clamp(15px,min(3.1vh,2.5vw),24px);font-weight:800;position:absolute;bottom:clamp(52px,13vh,96px);left:6%;right:6%;overflow:hidden}.subtitle.idle[data-v-5867f764]{color:var(--ink-soft);width:fit-content;margin-inline:auto}.sub-enter-active[data-v-5867f764]{animation:.3s cubic-bezier(.34,1.56,.64,1) anim-pop}.sub-leave-active[data-v-5867f764]{transition:opacity .12s}.sub-leave-to[data-v-5867f764]{opacity:0}.song[data-v-22465f9d]{align-items:center}.tabs[data-v-22465f9d]{gap:var(--gap-xs);background:var(--card-bg);border-radius:var(--radius-pill);box-shadow:var(--shadow-soft);flex:none;padding:4px;display:flex}.tab[data-v-22465f9d]{border-radius:var(--radius-pill);font-weight:800;font-size:var(--fs-body);color:var(--ink-soft);background:0 0;align-items:center;gap:.4em;padding:clamp(5px,1.1vh,9px) clamp(14px,2.4vw,26px);transition:background .15s,color .15s;display:inline-flex}.tab.on[data-v-22465f9d]{background:var(--blue);color:var(--on-tone);box-shadow:0 2px 0 var(--blue-dark)}.video-zone[data-v-22465f9d]{width:100%;display:flex}.video[data-v-22465f9d]{border-radius:var(--radius);width:100%;height:100%;box-shadow:var(--shadow-hard);object-fit:contain;background:#000}.audio-bar[data-v-22465f9d]{align-items:center;gap:var(--gap-m);background:var(--card-bg);border-radius:var(--radius);width:100%;box-shadow:var(--shadow-hard);padding:var(--gap-s) var(--gap-m);cursor:pointer;flex:none;min-height:clamp(64px,12vh,96px);display:flex}.audio-text[data-v-22465f9d]{text-align:left;min-width:0}.audio-text p[data-v-22465f9d]{margin:0}.audio-title[data-v-22465f9d]{font-weight:800;font-size:var(--fs-title);color:var(--ink)}.audio-sub[data-v-22465f9d]{font-size:var(--fs-small);color:var(--ink-soft);margin-top:2px;font-weight:700}.transport[data-v-22465f9d]{align-items:center;gap:var(--gap-s);flex:none;width:100%;padding:0 2px;display:flex}.t-time[data-v-22465f9d]{text-align:center;min-width:40px;font-size:var(--fs-small);color:var(--ink-soft);font-variant-numeric:tabular-nums;flex:none;font-weight:800}.seek[data-v-22465f9d]{cursor:pointer;touch-action:none;flex:1;align-items:center;min-width:0;height:clamp(30px,5.4vh,40px);display:flex;position:relative}.seek-track[data-v-22465f9d]{background:var(--line);border-radius:var(--radius-pill);width:100%;height:clamp(8px,1.7vh,13px);position:relative;overflow:hidden}.seek-buf[data-v-22465f9d]{background:var(--tint-yellow);border-radius:var(--radius-pill);position:absolute;inset:0 auto 0 0}.seek-fill[data-v-22465f9d]{background:linear-gradient(90deg, var(--blue), var(--green));border-radius:var(--radius-pill);position:absolute;inset:0 auto 0 0}.seek-knob[data-v-22465f9d]{background:var(--card-bg);border:3px solid var(--blue);width:clamp(18px,3.2vh,24px);height:clamp(18px,3.2vh,24px);box-shadow:var(--shadow-soft);pointer-events:none;border-radius:50%;position:absolute;top:50%;transform:translate(-50%,-50%)}.loop-btn[data-v-22465f9d]{background:var(--card-bg);width:clamp(36px,6.2vh,46px);height:clamp(36px,6.2vh,46px);box-shadow:var(--shadow-hard);opacity:.5;border-radius:50%;flex:none;justify-content:center;align-items:center;font-size:clamp(15px,2.6vh,21px);transition:opacity .15s,background .15s,box-shadow .15s,transform .12s;display:flex}.loop-btn.on[data-v-22465f9d]{opacity:1;background:var(--green);box-shadow:0 var(--press) 0 var(--green-dark)}.loop-btn[data-v-22465f9d]:active{transform:translateY(calc(var(--press) - 1px))}.lyrics[data-v-22465f9d]{background:var(--card-bg);border-radius:var(--radius);min-height:96px;max-height:min(44vh,420px);box-shadow:var(--shadow-soft);padding:var(--gap-m) var(--gap-l);-webkit-overflow-scrolling:touch;overscroll-behavior:contain;text-align:center;flex:0 auto;margin-block:auto;position:relative;overflow-y:auto}.lyrics[data-v-22465f9d]::-webkit-scrollbar{display:none}.lyrics[data-v-22465f9d]{scrollbar-width:none}.line[data-v-22465f9d]{color:var(--ink-soft);margin:0;font-size:clamp(15px,min(2.8vh,2.2vw),22px);font-weight:700;line-height:1.5;transition:color .2s,transform .2s}.line.blank[data-v-22465f9d]{height:var(--gap-m)}.line.on[data-v-22465f9d]{color:var(--green-dark);font-weight:800;transform:scale(1.06)}.play-btn[data-v-22465f9d]{background:var(--green);width:clamp(48px,min(11vh,9vw),76px);height:clamp(48px,min(11vh,9vw),76px);color:var(--on-tone);box-shadow:0 var(--press) 0 var(--green-dark);border-radius:50%;flex:none;justify-content:center;align-items:center;font-size:clamp(20px,min(4.4vh,3.6vw),30px);display:flex}.play-btn .k-ico[data-v-22465f9d]{fill:currentColor}.play-btn[data-v-22465f9d]:active{transform:translateY(calc(var(--press) - 1px));box-shadow:0 1px 0 var(--green-dark)}.miss[data-v-22465f9d]{font-size:var(--fs-small);color:var(--panel-ink-soft);margin:0;font-weight:700;line-height:1.6}.words-strip[data-v-22465f9d]{gap:var(--gap-xs);flex-wrap:wrap;flex:none;justify-content:center;width:100%;max-height:min(18vh,96px);display:flex;overflow:hidden}.chip[data-v-22465f9d]{background:var(--card-bg);border-radius:var(--radius-s);box-shadow:var(--shadow-hard);font-weight:800;font-size:var(--fs-small);white-space:nowrap;color:var(--ink);padding:clamp(3px,.8vh,6px) clamp(8px,1.2vw,12px)}.finish[data-v-22465f9d]{flex:none;width:100%;max-width:460px}@media (height<=480px){.words-strip[data-v-22465f9d]{max-height:40px;overflow:hidden}.chip[data-v-22465f9d]{padding:2px 7px;font-size:11px}.audio-bar[data-v-22465f9d]{min-height:52px}.transport[data-v-22465f9d]{gap:var(--gap-xs)}.seek[data-v-22465f9d]{height:26px}.t-time[data-v-22465f9d]{display:none}.loop-btn[data-v-22465f9d]{width:30px;height:30px;font-size:13px}.lyrics[data-v-22465f9d]{min-height:72px;max-height:34vh}.line[data-v-22465f9d]{font-size:13px}}.speak[data-v-0f44abed]{align-items:center}.speak-head[data-v-0f44abed]{justify-content:space-between;align-items:center;gap:var(--gap-s);flex:none;width:100%;display:flex}.prog[data-v-0f44abed]{color:var(--ink-soft);font-weight:800}.mode-tag[data-v-0f44abed]{background:var(--card-bg);border-radius:var(--radius-pill);font-weight:800;font-size:var(--fs-small);box-shadow:var(--shadow-soft);white-space:nowrap;align-items:center;gap:.35em;padding:3px clamp(8px,1.2vw,12px);display:inline-flex}.word-zone[data-v-0f44abed]{align-items:center;gap:var(--gap-xs);flex-direction:column;flex:none;min-height:0;display:flex}.pic[data-v-0f44abed]{background:var(--card-bg);border-radius:var(--radius);width:clamp(88px,min(32vh,24vw),240px);height:clamp(88px,min(32vh,24vw),240px);box-shadow:var(--shadow-hard);font-size:var(--fs-emoji-xl);cursor:pointer;flex:none;justify-content:center;align-items:center;transition:transform .15s;display:flex;overflow:hidden}.pic[data-v-0f44abed]:active{transform:scale(.94)}.pic img[data-v-0f44abed]{object-fit:contain;width:80%;height:80%}.fallback-emoji[data-v-0f44abed]{line-height:1}.word-text[data-v-0f44abed]{flex-direction:column;align-items:center;gap:2px;min-width:0;max-width:100%;display:flex}.word[data-v-0f44abed]{color:var(--ink);padding:0 var(--gap-s);border-radius:var(--radius-s);background:0 0;font-size:clamp(24px,min(5vh,4.2vw),42px);font-weight:800}.word[data-v-0f44abed]:active{background:var(--tint-yellow)}.tip[data-v-0f44abed]{color:var(--ink-soft);font-weight:700;font-size:var(--fs-small);text-align:center;max-width:460px;margin:0}.mic-zone[data-v-0f44abed]{align-items:center;gap:var(--gap-xs);padding-bottom:max(28px, env(safe-area-inset-bottom));flex-direction:column;flex:none;margin-top:auto;display:flex}.mic[data-v-0f44abed]{cursor:pointer;background:radial-gradient(circle at 35% 30%, #ffffff6b, #fff0 62%), var(--orange);width:clamp(72px,min(17vh,12vw),124px);height:clamp(72px,min(17vh,12vw),124px);color:var(--on-tone);box-shadow:0 8px 0 var(--orange-dark), 0 12px 22px #0000002e;touch-action:none;border:none;border-radius:50%;flex:none;justify-content:center;align-items:center;font-size:clamp(26px,min(6vh,4.6vw),46px);transition:transform .1s,box-shadow .1s;display:flex}.mic[data-v-0f44abed]:active,.mic.live[data-v-0f44abed]{box-shadow:0 2px 0 var(--orange-dark);transform:translateY(6px)}.mic.live[data-v-0f44abed]{animation:.35s cubic-bezier(.34,1.56,.64,1) mic-start-0f44abed,1s .35s infinite pulse-0f44abed}@keyframes mic-start-0f44abed{0%{transform:scale(1)}50%{transform:scale(1.15)}to{transform:translateY(6px)scale(1)}}@keyframes pulse-0f44abed{0%,to{outline:6px solid #ff9f4359}50%{outline:14px solid #ff9f4326}}.waves[data-v-0f44abed]{align-items:flex-end;gap:5px;height:22px;animation:.25s ease-out waves-in-0f44abed;display:flex}@keyframes waves-in-0f44abed{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.waves i[data-v-0f44abed]{background:var(--orange);border-radius:3px;width:6px;animation:.7s ease-in-out infinite bounce-0f44abed}.waves i[data-v-0f44abed]:nth-child(2){animation-delay:.15s}.waves i[data-v-0f44abed]:nth-child(3){animation-delay:.3s}@keyframes bounce-0f44abed{0%,to{height:8px}50%{height:22px}}.mic-blocked[data-v-0f44abed]{align-items:center;gap:var(--gap-s);padding:var(--gap-m);flex-direction:column;display:flex}.blocked-tip[data-v-0f44abed]{text-align:center;color:var(--ink-soft);margin:0;font-weight:700;line-height:1.5}.mic-label[data-v-0f44abed]{color:var(--ink-soft);font-weight:800;font-size:var(--fs-small);margin:0}.replay[data-v-0f44abed]{height:36px}.replay-btn[data-v-0f44abed]{padding:var(--gap-s) var(--gap-m);border-radius:var(--radius);color:#6b4e00;box-shadow:0 var(--press) 0 #0000002e;cursor:pointer;background:linear-gradient(160deg,#ffd87a,#f0b429);border:none;flex-direction:column;align-items:center;gap:4px;display:flex}.replay-btn .k-ico[data-v-0f44abed]{width:36px;height:36px}.replay-btn[data-v-0f44abed]:active{transform:translateY(calc(var(--press) - 1px));box-shadow:0 1px #0000002e}.replay-label[data-v-0f44abed]{font-weight:800;font-size:var(--fs-small)}.replay.big[data-v-0f44abed]{height:44px}.feedback[data-v-0f44abed]{background:var(--card-bg);border-radius:var(--radius);width:100%;max-width:500px;box-shadow:var(--shadow-hard);padding:clamp(10px, 1.6vh, 16px) clamp(10px, 1.6vw, 16px) max(28px, env(safe-area-inset-bottom));align-items:center;gap:var(--gap-xs);flex-direction:column;flex:none;margin-top:auto;display:flex}.verdict[data-v-0f44abed]{text-align:center;margin:0;font-size:clamp(15px,min(2.6vh,2.1vw),20px);font-weight:800}.retry-hint[data-v-0f44abed]{justify-content:center;align-items:center;gap:.35em;display:inline-flex}.verdict.perfect[data-v-0f44abed]{color:var(--green-dark);background:var(--state-ok-bg);border:2px solid var(--green);border-radius:var(--radius-pill);font-size:var(--fs-title);padding:8px 20px}.verdict.good[data-v-0f44abed]{color:var(--blue-dark)}.verdict.retry[data-v-0f44abed]{color:var(--orange-dark)}.heard[data-v-0f44abed]{color:var(--ink-soft);font-weight:700;font-size:var(--fs-small);text-align:center;margin:0}.judge-q[data-v-0f44abed]{text-align:center;margin:0;font-size:clamp(15px,min(2.6vh,2.1vw),19px);font-weight:800}@media (height<=480px){.word-zone[data-v-0f44abed]{justify-content:center;align-items:center;gap:var(--gap-m);flex-direction:row;width:100%}.word-text[data-v-0f44abed]{text-align:left;align-items:flex-start}.tip[data-v-0f44abed]{text-align:left;max-width:320px}.pic[data-v-0f44abed]{width:76px;height:76px}.mic[data-v-0f44abed]{width:58px;height:58px;font-size:24px}.waves[data-v-0f44abed]{height:16px}.mic-blocked[data-v-0f44abed]{align-items:center;gap:var(--gap-s);padding:var(--gap-m);flex-direction:column;display:flex}.blocked-tip[data-v-0f44abed]{text-align:center;color:var(--ink-soft);margin:0;font-weight:700;line-height:1.5}.mic-label[data-v-0f44abed]{display:none}.feedback[data-v-0f44abed]{justify-content:center;gap:var(--gap-s);flex-flow:wrap;padding:8px 12px}.verdict[data-v-0f44abed],.judge-q[data-v-0f44abed],.heard[data-v-0f44abed]{flex:100%}}.app-dialog-mask[data-v-f7af8584]{z-index:var(--z-modal,100);background:var(--overlay,#00000073);justify-content:center;align-items:center;padding:24px;transition:opacity .18s;display:flex;position:fixed;inset:0}.app-dialog-mask.leaving[data-v-f7af8584]{opacity:0}.app-dialog-card[data-v-f7af8584]{-webkit-overflow-scrolling:touch;background:var(--surface,#fff);width:min(420px,100%);max-height:80vh;color:var(--text,inherit);border-radius:var(--radius-lg,20px);box-shadow:var(--shadow-strong,0 18px 44px #0000003d);padding:22px 20px;transition:opacity .18s,transform .18s;overflow-y:auto}.app-dialog-card.leaving[data-v-f7af8584]{opacity:0;transform:scale(.94)}.talk[data-v-98f21241]{align-items:center}.g-title[data-v-98f21241]{font-size:var(--fs-title);color:var(--ink);margin:0}.g-steps[data-v-98f21241]{gap:var(--gap-xs);text-align:left;flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.g-steps li[data-v-98f21241]{align-items:center;gap:var(--gap-s);font-weight:700;font-size:var(--fs-body);color:var(--ink);display:flex}.g-steps b[data-v-98f21241]{background:linear-gradient(160deg, var(--yellow), var(--gold));color:#6b4e00;border-radius:50%;flex:none;justify-content:center;align-items:center;width:clamp(26px,4.6vh,34px);height:clamp(26px,4.6vh,34px);font-weight:900;display:inline-flex}.g-note[data-v-98f21241]{font-size:var(--fs-small);color:var(--ink-soft);margin:0;font-weight:700}.talk-head[data-v-98f21241]{text-align:center;flex:none;width:100%}.talk-title[data-v-98f21241]{font-size:var(--fs-title);margin:0}.talk-tip[data-v-98f21241]{margin:var(--gap-xs) 0 0;color:var(--ink-soft);font-weight:700;font-size:var(--fs-small)}.phrase-list[data-v-98f21241]{gap:var(--gap-s);flex-direction:column;justify-content:safe center;width:100%;max-width:680px;padding-block:2px;display:flex;overflow-y:auto}.phrase[data-v-98f21241]{background:var(--card-bg);border-radius:var(--radius);padding:var(--gap-s) var(--gap-m);box-shadow:var(--shadow-hard);text-align:left;border:4px solid #0000;flex-direction:column;align-items:flex-start;gap:2px;min-width:0;transition:border-color .15s;display:flex;position:relative}.phrase.active[data-v-98f21241]{border-color:var(--green)}.phrase.heard[data-v-98f21241]{background:var(--tint-green)}.role[data-v-98f21241]{font-size:var(--fs-small);color:var(--ink-faint);font-weight:800}.pzh[data-v-98f21241]{color:var(--ink);font-size:clamp(16px,min(3.2vh,2.6vw),26px);font-weight:800}.pen[data-v-98f21241]{color:var(--blue-dark);align-items:center;gap:.35em;font-size:clamp(15px,min(2.9vh,2.3vw),24px);font-weight:800;display:inline-flex}.heard-mark[data-v-98f21241]{top:var(--gap-xs);right:var(--gap-s);color:var(--green);font-weight:800;font-size:var(--fs-small);align-items:center;gap:.25em;display:inline-flex;position:absolute}.heard-mark .k-ico[data-v-98f21241]{fill:currentColor}.word-bank[data-v-98f21241]{background:var(--card-bg);border-radius:var(--radius);width:100%;max-width:680px;box-shadow:var(--shadow-hard);padding:var(--gap-s) var(--gap-m);margin-top:var(--gap-xs);flex:none}.bank-tip[data-v-98f21241]{margin:0 0 var(--gap-xs);color:var(--ink-soft);font-weight:700;font-size:var(--fs-small);text-align:center}.pfill[data-v-98f21241]{color:var(--green-dark);background:var(--tint-green);border-radius:var(--radius-s);padding:2px clamp(8px,1.2vw,12px);font-size:clamp(15px,min(2.9vh,2.3vw),24px);font-weight:800}.word-row[data-v-98f21241]{margin-top:var(--gap-xs);flex-wrap:wrap;gap:clamp(4px,.8vh,8px);max-width:100%;display:flex}.wchip[data-v-98f21241]{background:var(--card-bg);border-radius:var(--radius-pill);color:var(--ink);box-shadow:var(--shadow-soft);white-space:nowrap;min-height:var(--tap-min);border:2px solid #0000;align-items:center;padding:clamp(2px,.6vh,4px) clamp(8px,1.2vw,12px);font-size:clamp(12px,min(2vh,1.7vw),16px);font-weight:800;transition:border-color .15s,transform .1s,background .15s;display:inline-flex}.wchip[data-v-98f21241]:active{transform:scale(.95)}.wchip.on[data-v-98f21241]{border-color:var(--green);background:var(--tint-green);color:var(--green-dark)}@media (height<=480px){.phrase-list[data-v-98f21241]{flex-flow:wrap}.phrase[data-v-98f21241]{min-width:0;padding:var(--gap-xs) var(--gap-s);flex:45%}.talk-tip[data-v-98f21241]{display:none}.word-row[data-v-98f21241]{gap:3px;margin-top:2px}.wchip[data-v-98f21241]{min-height:26px;padding:1px 6px;font-size:11px}}.hdr[data-v-7b965a60]{z-index:30;padding:calc(10px + env(safe-area-inset-top)) calc(var(--pad-x) + env(safe-area-inset-right)) 10px calc(var(--pad-x) + env(safe-area-inset-left));box-sizing:border-box;background:var(--bar-bg,var(--bg));min-height:56px;-webkit-backdrop-filter:blur(var(--bar-blur,14px));backdrop-filter:blur(var(--bar-blur,14px));align-items:center;gap:10px;display:flex;position:sticky;top:0}.hdr-back[data-v-7b965a60]{z-index:2;background:var(--card-bg);width:44px;height:44px;color:var(--ink);box-shadow:var(--shadow-hard);border-radius:50%;flex:none;justify-content:center;align-items:center;font-size:22px;transition:transform .1s;display:flex;position:relative}.hdr-back[data-v-7b965a60]:active{transform:translateY(2px)}.hdr-back.isClose[data-v-7b965a60]{box-shadow:none;color:var(--ink-faint);background:0 0;width:52px;height:52px;font-size:24px}.hdr-back.isClose[data-v-7b965a60]:hover{color:var(--ink-soft)}.hdr-title[data-v-7b965a60]{max-width:62%;font-weight:800;font-size:var(--fs-title);color:var(--ink);white-space:nowrap;justify-content:center;align-items:center;gap:8px;display:flex;position:absolute;left:50%;overflow:hidden;transform:translate(-50%)}.hdr-title[data-v-7b965a60] *{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.hdr-right[data-v-7b965a60]{flex:none;align-items:center;gap:8px;margin-left:auto;display:flex}.stars[data-v-64b4e831]{gap:var(--gap-m);justify-content:center;align-items:center;display:flex}.star[data-v-64b4e831]{width:clamp(52px,11vh,72px);height:clamp(52px,11vh,72px);color:var(--star-gold);justify-content:center;align-items:center;display:flex}.star[data-v-64b4e831]:nth-child(2){margin-top:-14px}.star[data-v-64b4e831]:not(.dim){filter:drop-shadow(0 4px 12px #ffc10773)}.star:not(.dim) .k-ico[data-v-64b4e831]{animation:2.4s ease-in-out .9s infinite float-y}.star .k-ico[data-v-64b4e831]{width:100%;height:100%}.star.dim[data-v-64b4e831]{color:var(--star-dim)}.star-num[data-v-64b4e831]{color:var(--star-gold);font-size:1.2em}.btn-row[data-v-64b4e831]{gap:var(--gap-s);flex-wrap:wrap;justify-content:center;display:flex}.quest-done-badge[data-v-64b4e831]{font-weight:800;font-size:var(--fs-big);color:var(--ink);background:linear-gradient(180deg, var(--card-bg), color-mix(in srgb, var(--yellow) 20%, var(--card-bg)));border:3px solid color-mix(in srgb, var(--yellow) 70%, transparent);border-radius:var(--radius-pill);box-shadow:var(--shadow-hard);padding:10px 22px}.quest-total-stars[data-v-64b4e831]{font-weight:700;font-size:var(--fs-small);color:var(--ink-faint);margin:0}.card-reward[data-v-64b4e831]{flex-direction:column;align-items:center;gap:8px;display:flex}.card[data-v-64b4e831]{border-radius:var(--radius);border:3px solid var(--gold,#f0b429);background:linear-gradient(#fff,#fef3c7);flex-direction:column;align-items:center;gap:6px;width:clamp(120px,22vh,160px);padding:16px 12px;display:flex;box-shadow:0 4px 20px #f0b42966}.card.rarity-SR[data-v-64b4e831]{background:linear-gradient(#fff,#f3e8ff);border-color:#a855f7;box-shadow:0 4px 20px #a855f766}.card.rarity-SSR[data-v-64b4e831]{background:linear-gradient(#fffbeb,#fef3c7);border-color:#f59e0b;box-shadow:0 0 30px #f59e0b99}.card-emoji[data-v-64b4e831]{font-size:48px}.card-name[data-v-64b4e831]{font-size:14px;font-weight:900}.card-rarity[data-v-64b4e831]{color:var(--gold,#f0b429);border-radius:var(--radius-pill);background:#f0b42926;padding:2px 10px;font-size:12px;font-weight:800}.card-tip[data-v-64b4e831]{margin:0;font-weight:800}.streak-banner[data-v-64b4e831]{color:#b45309;border-radius:var(--radius-pill);background:#fef3c7;align-items:center;gap:8px;padding:8px 16px;font-weight:800;display:flex}.flame-ico[data-v-64b4e831]{color:#ea580c}@media (height<=480px){.stars[data-v-64b4e831]{gap:var(--gap-s)}.star[data-v-64b4e831]{width:44px;height:44px}.star[data-v-64b4e831]:nth-child(2){margin-top:-8px}.star-num[data-v-64b4e831]{font-size:1.1em}h2[data-v-64b4e831]{font-size:var(--fs-body);margin:2px 0}.quest-done-badge[data-v-64b4e831]{font-size:var(--fs-title);border-width:2px;padding:6px 16px}.card-reward[data-v-64b4e831]{flex-direction:column;align-items:center;gap:8px;display:flex}.card[data-v-64b4e831]{border-radius:var(--radius);border:3px solid var(--gold,#f0b429);background:linear-gradient(#fff,#fef3c7);flex-direction:column;align-items:center;gap:6px;width:clamp(120px,22vh,160px);padding:16px 12px;display:flex;box-shadow:0 4px 20px #f0b42966}.card.rarity-SR[data-v-64b4e831]{background:linear-gradient(#fff,#f3e8ff);border-color:#a855f7;box-shadow:0 4px 20px #a855f766}.card.rarity-SSR[data-v-64b4e831]{background:linear-gradient(#fffbeb,#fef3c7);border-color:#f59e0b;box-shadow:0 0 30px #f59e0b99}.card-emoji[data-v-64b4e831]{font-size:48px}.card-name[data-v-64b4e831]{font-size:14px;font-weight:900}.card-rarity[data-v-64b4e831]{color:var(--gold,#f0b429);border-radius:var(--radius-pill);background:#f0b42926;padding:2px 10px;font-size:12px;font-weight:800}.card-tip[data-v-64b4e831]{margin:0;font-weight:800}.streak-banner[data-v-64b4e831]{font-size:var(--fs-small);padding:5px 12px}.btn-row .k-btn[data-v-64b4e831]{min-height:44px;font-size:var(--fs-small);padding:8px 14px}}.menu[data-v-e7704a79]{gap:var(--gap-s);flex-direction:column;display:flex}.bar[data-v-e7704a79]{background:var(--line);border-radius:var(--radius-pill);flex:none;width:100%;height:clamp(6px,1.2vh,14px);overflow:hidden}.bar-fill[data-v-e7704a79]{background:var(--green);height:100%;transition:width .5s}.top-cards[data-v-e7704a79]{gap:var(--gap-s);flex-direction:column;display:flex}.big-card[data-v-e7704a79]{align-items:center;gap:var(--gap-s);border-radius:var(--radius);padding:clamp(12px, 2.5vh, 20px) var(--gap-s);transition:transform 80ms;display:flex;position:relative}.big-card[data-v-e7704a79]:active{transform:scale(.98)}@media (hover:hover) and (pointer:fine){.big-card[data-v-e7704a79]:hover{transform:translateY(-2px)}}.bk-ico[data-v-e7704a79]{flex:none;font-size:clamp(28px,5vh,40px)}.bk-body[data-v-e7704a79]{text-align:left;flex-direction:column;gap:2px;display:flex}.bk-name[data-v-e7704a79]{font-size:clamp(16px,3vh,22px);font-weight:900}.bk-desc[data-v-e7704a79]{opacity:.9;font-size:clamp(11px,1.8vh,14px);font-weight:700}.quest[data-v-e7704a79]{border:3px solid var(--gold,#f0b429);box-shadow:0 4px 16px #f0b4294d}.quest-progress[data-v-e7704a79]{color:var(--gold,#f0b429);border-radius:var(--radius-pill);background:#f0b42926;flex:none;margin-left:auto;padding:4px 12px;font-size:clamp(14px,2.5vh,20px);font-weight:900}.mini-stars[data-v-e7704a79]{background:var(--overlay);color:var(--gold);border-radius:var(--radius-pill);flex:none;align-items:center;gap:3px;margin-left:auto;padding:3px 10px;font-size:clamp(11px,1.8vh,14px);font-weight:800;display:inline-flex}.solo-label[data-v-e7704a79]{color:var(--ink-faint);margin-top:var(--gap-xs);font-size:clamp(12px,2vh,15px);font-weight:800}.solo-grid[data-v-e7704a79]{gap:var(--gap-s);grid-template-columns:repeat(auto-fill,minmax(110px,1fr));display:grid}.solo-card[data-v-e7704a79]{border-radius:var(--radius);padding:var(--gap-s);flex-direction:column;align-items:center;gap:4px;transition:transform 80ms;display:flex;position:relative}.solo-card[data-v-e7704a79]:active{transform:scale(.96)}.solo-card .k-ico[data-v-e7704a79]{font-size:clamp(24px,4vh,32px)}.solo-name[data-v-e7704a79]{font-size:clamp(12px,2vh,15px);font-weight:800}.solo-stars[data-v-e7704a79]{font-size:10px;font-weight:800;position:absolute;top:4px;right:6px}.hdr-play[data-v-ec5e6648]{align-items:center;gap:5px;min-width:0;display:flex}.seg[data-v-ec5e6648]{background:var(--card-bg);border:2px solid var(--line);border-radius:999px;flex:none;width:15px;height:12px;transition:background .25s,border-color .25s,transform .25s}.seg.done[data-v-ec5e6648]{background:var(--green);border-color:var(--green)}.dot[data-v-ec5e6648]{background:var(--card-bg);border:2px solid var(--line);border-radius:50%;flex:none;width:10px;height:10px;transition:background .25s,transform .25s}.dot.done[data-v-ec5e6648]{background:var(--green);border-color:var(--green)}.dot.cur[data-v-ec5e6648]{background:var(--c-orange);border-color:var(--c-orange);transform:scale(1.2)}.seg.cur[data-v-ec5e6648]{background:var(--c-orange);border-color:var(--c-orange);animation:1.2s ease-in-out infinite seg-pulse-ec5e6648}@keyframes seg-pulse-ec5e6648{0%,to{transform:scale(1)}50%{transform:scale(1.22)}}@media (prefers-reduced-motion:reduce){.seg.cur[data-v-ec5e6648]{animation:none}}.hdr-title-tap[data-v-e78970ec]{cursor:pointer;border-radius:6px;margin:-2px -6px;padding:2px 6px}.hdr-title-tap[data-v-e78970ec]:active{background:#7f7f7f24}:root{--bg:#fdf6e3;--card-bg:#fff;--ink:#4a3f35;--ink-soft:#8a7f6f;--ink-faint:#a89b86;--line:#e8e0cf;--green:#58cc02;--green-dark:#46a302;--blue:#1cb0f6;--blue-dark:#1899d6;--yellow:#ffc800;--red:#ff5b5b;--purple:#ce82ff;--orange:#ff9f43;--orange-dark:#d97b1e;--gold:#b8860b;--c-blue:#1cb0f6;--c-blue-deep:#1590c9;--c-green:#58cc02;--c-green-deep:#46a302;--c-orange:#ff9f43;--c-orange-deep:#d97b1e;--c-purple:#ce82ff;--c-purple-deep:#a95fd6;--c-pink:#ff6b9d;--c-pink-deep:#d94f7e;--c-teal:#14b8a6;--c-teal-deep:#0e9285;--on-tone:#fff;--btn-plain-bg:#e5e5e5;--btn-plain-deep:#c9c9c9;--btn-off-bg:#dfd9cc;--btn-off-ink:#a29a8b;--btn-off-deep:#c6bfb1;--state-ok-bg:#eafbe0;--state-bad-bg:#ffecec;--dot-bg:#d9cfba;--progress-hi:#ffd97a;--media-bg:linear-gradient(160deg, #fff7de, #ffe9c4);--panel-bg:linear-gradient(160deg, #d9f0ff, #eaf8ff);--panel-ink:#4a7ba6;--panel-ink-soft:#8aa8c2;--tint-yellow:#fff3c4;--tint-green:#f2fff2;--tint-cream:#fff7de;--overlay:#ffffffeb;--overlay-strong:#fdf6e3e0;--gap-xs:clamp(4px, min(.7vh, .6vw), 8px);--gap-s:clamp(6px, min(1.1vh, 1vw), 12px);--gap-m:clamp(8px, min(1.6vh, 1.4vw), 18px);--gap-l:clamp(10px, min(2.2vh, 2vw), 26px);--pad-x:clamp(10px, 2.2vw, 30px);--pad-y:clamp(6px, 1.2vh, 18px);--nav-h:76px;--radius:clamp(16px, 2.6vh, 28px);--radius-s:clamp(12px, 1.8vh, 20px);--radius-pill:999px;--sticker:inset 0 0 0 3px #ffffff52;--shadow-hard:0 6px 0 #0000001f;--shadow-soft:0 2px 0 #00000014;--bar-bg:color-mix(in srgb, var(--bg) 80%, transparent);--bar-blur:14px;--press:clamp(3px, .7vh, 5px);--fs-hero:clamp(24px, min(5vh, 4vw), 40px);--fs-title:clamp(17px, min(3.1vh, 2.5vw), 27px);--fs-body:clamp(14px, min(2.2vh, 1.8vw), 19px);--fs-small:clamp(11px, min(1.7vh, 1.4vw), 15px);--fs-btn:clamp(16px, min(2.6vh, 2.1vw), 23px);--fs-emoji-xl:clamp(38px, min(9vh, 7vw), 74px);--fs-emoji-l:clamp(28px, min(6vh, 5vw), 48px);--tap-min:52px;--z-lines:30;--z-floating:40;--z-banner:9;font-family:"Baloo 2",ZCOOL KuaiLe,Chalkboard SE,Comic Sans MS,PingFang SC,Hiragino Sans GB,Microsoft YaHei,system-ui,sans-serif}:root[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#171c2b;--card-bg:#242b40;--ink:#f0e9dc;--ink-soft:#b0a99c;--ink-faint:#7f7a70;--line:#39415a;--green:#4f9c31;--green-dark:#3b7722;--blue:#2a8fc4;--blue-dark:#1f6c96;--yellow:#d4a838;--red:#cf5858;--purple:#a377d1;--orange:#cf8330;--orange-dark:#a3631d;--gold:#d0a94f;--c-blue:#2a8fc4;--c-blue-deep:#1d6b95;--c-green:#4f9c31;--c-green-deep:#3a7422;--c-orange:#cf8330;--c-orange-deep:#9c621d;--c-purple:#a377d1;--c-purple-deep:#7a55a0;--c-pink:#cf5a83;--c-pink-deep:#9c4263;--c-teal:#19988a;--c-teal-deep:#127267;--on-tone:#fdf7ee;--btn-plain-bg:#343c52;--btn-plain-deep:#232a3c;--btn-off-bg:#2c3346;--btn-off-ink:#7c8499;--btn-off-deep:#1f2534;--state-ok-bg:#1e3a24;--state-bad-bg:#3d2328;--dot-bg:#3a4258;--progress-hi:#b58f3a;--media-bg:linear-gradient(160deg, #2b3348, #262c3e);--panel-bg:linear-gradient(160deg, #1d2637, #223047);--panel-ink:#9fc4dd;--panel-ink-soft:#7d97ad;--tint-yellow:#3e3a1f;--tint-green:#1e3324;--tint-cream:#333b50;--overlay:#171c2beb;--overlay-strong:#171c2be0;--sticker:inset 0 0 0 3px #ffffff24;--shadow-hard:0 6px 0 #0000006b, inset 0 0 0 1px #ffffff12;--shadow-soft:0 2px 0 #0000004d, inset 0 0 0 1px #ffffff0f;--bar-bg:color-mix(in srgb, var(--bg) 74%, transparent)}:root{--player-bg-1:var(--bg);--player-bg-2:var(--bg);--player-surface:var(--card-bg);--player-text:var(--ink);--player-text-soft:var(--ink-soft);--player-text-faint:var(--ink-faint);--player-accent:var(--green);--player-btn:var(--green);--player-btn-ink:#fff;--dur-fast:.12s;--dur-base:.22s;--dur-slow:.45s;--dur-fly:.9s;--ease-pop:cubic-bezier(.34, 1.56, .64, 1);--ease-out:cubic-bezier(.22, 1, .36, 1);--ease-in-out:cubic-bezier(.65, 0, .35, 1);--ease-bounce:cubic-bezier(.68, -.6, .32, 1.6)}@media (width>=768px){:root{--gap-xs:clamp(6px, min(.8vh, .7vw), 12px);--gap-s:clamp(8px, min(1.3vh, 1.2vw), 18px);--gap-m:clamp(10px, min(1.9vh, 1.7vw), 26px);--gap-l:clamp(12px, min(2.6vh, 2.4vw), 36px);--pad-x:clamp(16px, 2.6vw, 48px);--pad-y:clamp(8px, 1.4vh, 24px);--nav-h:92px;--radius:clamp(20px, 3vh, 36px);--radius-s:clamp(14px, 2vh, 26px);--press:clamp(4px, .8vh, 7px);--fs-hero:clamp(28px, min(6vh, 4.6vw), 52px);--fs-title:clamp(20px, min(3.6vh, 3vw), 36px);--fs-body:clamp(16px, min(2.6vh, 2.2vw), 26px);--fs-small:clamp(13px, min(2vh, 1.7vw), 20px);--fs-btn:clamp(18px, min(3vh, 2.5vw), 30px);--fs-emoji-xl:clamp(44px, min(10vh, 8vw), 96px);--fs-emoji-l:clamp(32px, min(7vh, 6vw), 62px);--tap-min:64px}}@font-face{font-family:"Baloo 2";font-style:normal;font-weight:400 800;font-display:swap;src:url(/assets/baloo2-latin-B_TVFhwJ.woff2)format("woff2")}@font-face{font-family:ZCOOL KuaiLe;font-style:normal;font-weight:400;font-display:swap;src:url(/assets/zcool-kuaile-subset-CBJ7LLCl.woff2)format("woff2")}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body{height:100%;color:var(--ink);font-size:var(--fs-body);touch-action:manipulation;-webkit-user-select:none;user-select:none;overscroll-behavior:none;margin:0;padding:0;overflow:hidden}html{background:var(--bg)}button{cursor:pointer;color:inherit;border:none;font-family:inherit}.k-ico{stroke-width:2.6px;flex:none;width:1em;height:1em;display:block}.star-fill{fill:currentColor}.tone-blue,.tone-green,.tone-orange,.tone-purple,.tone-pink,.tone-teal{background-image:linear-gradient(#ffffff2e,#fff0 62%);background-color:var(--tone);box-shadow:var(--sticker), 0 var(--press) 0 var(--tone-deep);color:var(--on-tone)}.tone-blue{--tone:var(--c-blue);--tone-deep:var(--c-blue-deep)}.tone-green{--tone:var(--c-green);--tone-deep:var(--c-green-deep)}.tone-orange{--tone:var(--c-orange);--tone-deep:var(--c-orange-deep)}.tone-purple{--tone:var(--c-purple);--tone-deep:var(--c-purple-deep)}.tone-pink{--tone:var(--c-pink);--tone-deep:var(--c-pink-deep)}.tone-teal{--tone:var(--c-teal);--tone-deep:var(--c-teal-deep)}.tone-blue:active,.tone-green:active,.tone-orange:active,.tone-purple:active,.tone-pink:active,.tone-teal:active{transform:translateY(calc(var(--press) - 1px)) scale(.97);box-shadow:var(--sticker), 0 1px 0 var(--tone-deep)}img{-webkit-user-drag:none;-webkit-user-select:none;user-select:none}#app{width:100%;max-width:1180px;height:100dvh;padding:0 0 calc(var(--nav-h) + env(safe-area-inset-bottom)) 0;flex-direction:column;margin:0 auto;display:flex;overflow:hidden}@media (height<=480px){#app{padding:0}}html.no-bottom-nav #app{padding-bottom:0}html.hide-nav .bottom-nav{display:none}@media (width>=700px) and (orientation:portrait){#app{--pad-x:clamp(20px, 4vw, 56px)}}.view{gap:var(--gap-s);min-height:0;padding:0 calc(var(--pad-x) + env(safe-area-inset-right)) 0 calc(var(--pad-x) + env(safe-area-inset-left));flex-direction:column;flex:1;display:flex}.view-center{justify-content:center;align-items:center}.view-body{flex:1;width:100%;min-height:0}.topbar{justify-content:space-between;align-items:center;gap:var(--gap-s);flex:none;display:flex}.topbar .back{background:var(--card-bg);border-radius:var(--radius-s);box-shadow:var(--shadow-hard);font-size:var(--fs-title);width:var(--tap-min);height:var(--tap-min);color:var(--ink-soft);flex:none;justify-content:center;align-items:center;line-height:1;display:flex}.topbar .title{font-size:var(--fs-title);text-align:center;white-space:nowrap;text-overflow:ellipsis;flex:1;min-width:0;font-weight:800;overflow:hidden}@media (height<=480px){.topbar .back{width:40px;height:40px;font-size:19px}.topbar .title{font-size:17px}}.star-badge{background:var(--card-bg);border-radius:var(--radius-s);box-shadow:var(--shadow-hard);color:var(--gold);font-weight:800;font-size:var(--fs-body);white-space:nowrap;flex:none;align-items:center;gap:6px;padding:clamp(6px,1.2vh,10px) clamp(10px,1.6vw,16px);display:inline-flex}.k-btn{background:var(--green);color:var(--on-tone);font-size:var(--fs-btn);border-radius:var(--radius-s);box-shadow:0 var(--press) 0 var(--green-dark);transition:transform var(--dur-fast), box-shadow var(--dur-fast);min-height:var(--tap-min);justify-content:center;align-items:center;gap:.4em;padding:clamp(10px,1.8vh,14px) clamp(20px,3vw,32px);font-weight:700;display:inline-flex}.k-btn:active{transform:translateY(calc(var(--press) - 1px)) scale(.97);box-shadow:0 1px 0 var(--green-dark)}.k-btn.blue{background:var(--blue);box-shadow:0 var(--press) 0 var(--blue-dark)}.k-btn.blue:active{box-shadow:0 1px 0 var(--blue-dark)}.k-btn.orange{background:var(--orange);box-shadow:0 var(--press) 0 var(--orange-dark)}.k-btn.orange:active{box-shadow:0 1px 0 var(--orange-dark)}.k-btn.gray{background:var(--btn-plain-bg);color:var(--ink);box-shadow:0 var(--press) 0 var(--btn-plain-deep)}.k-btn.gray:active{box-shadow:0 1px 0 var(--btn-plain-deep)}.k-btn:disabled{background:var(--btn-off-bg);color:var(--btn-off-ink);box-shadow:0 var(--press) 0 var(--btn-off-deep);cursor:default}.k-btn:disabled:active{box-shadow:0 var(--press) 0 var(--btn-off-deep);transform:none}.btn-row{gap:var(--gap-s);flex-wrap:wrap;justify-content:center;display:flex}.progress{background:var(--line);border-radius:var(--radius-pill);flex:none;width:100%;height:clamp(8px,1.6vh,22px);overflow:hidden}.progress .fill{background:linear-gradient(90deg, var(--progress-hi), var(--yellow));border-radius:var(--radius-pill);height:100%;transition:width var(--dur-slow) var(--ease-pop);position:relative}.progress .fill:after{content:"";background:#ffffff8c;border-radius:3px;height:6px;position:absolute;inset:4px 8px auto}@media (height<=480px){.progress{height:7px}.progress .fill:after{display:none}}@keyframes pop-in{0%{transform:scale(0)}70%{transform:scale(1.15)}to{transform:scale(1)}}@keyframes bounce-tada{0%,to{transform:scale(1)}30%{transform:scale(1.18)rotate(-3deg)}60%{transform:scale(1.1)rotate(3deg)}}@keyframes shake-x{0%,to{transform:translate(0)}20%{transform:translate(-10px)}40%{transform:translate(9px)}60%{transform:translate(-6px)}80%{transform:translate(4px)}}@keyframes wiggle{0%,to{transform:rotate(0)}25%{transform:rotate(-6deg)}75%{transform:rotate(6deg)}}@keyframes float-y{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}@keyframes fade-up{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}@keyframes star-spin{0%{transform:scale(0)rotate(0)}60%{transform:scale(1.4)rotate(200deg)}to{transform:scale(1)rotate(180deg)}}.anim-pop{animation:.35s ease-out both pop-in}.anim-bounce{animation:.5s bounce-tada}.anim-shake{animation:.45s shake-x}.anim-wiggle{animation:.6s infinite wiggle}.anim-float{animation:2.4s ease-in-out infinite float-y}.anim-fade-up{animation:.4s ease-out both fade-up}@media (hover:hover) and (pointer:fine){.k-btn:hover{box-shadow:0 calc(var(--press) + 2px) 0 var(--green-dark);transform:translateY(-1px)}.k-btn.blue:hover{box-shadow:0 calc(var(--press) + 2px) 0 var(--blue-dark)}.k-btn.orange:hover{box-shadow:0 calc(var(--press) + 2px) 0 var(--orange-dark)}.k-btn.gray:hover{box-shadow:0 calc(var(--press) + 2px) 0 var(--btn-plain-deep)}.k-btn:disabled:hover{box-shadow:0 var(--press) 0 var(--btn-off-deep);transform:none}.tone-blue:hover,.tone-green:hover,.tone-orange:hover,.tone-purple:hover,.tone-pink:hover,.tone-teal:hover{filter:brightness(1.03);transform:translateY(-2px)scale(1.01)}.topbar .back:hover{transform:translateY(-1px)}}@media (prefers-reduced-motion:reduce){.anim-float,.anim-wiggle{animation:none}.anim-pop,.anim-fade-up{animation-duration:10ms}}:root{--animate-duration:1s;--animate-delay:1s;--animate-repeat:1}.animate__animated{animation-duration:1s;-webkit-animation-duration:var(--animate-duration);animation-duration:var(--animate-duration);animation-fill-mode:both}.animate__animated.animate__infinite{animation-iteration-count:infinite}.animate__animated.animate__repeat-1{animation-iteration-count:1;-webkit-animation-iteration-count:var(--animate-repeat);animation-iteration-count:var(--animate-repeat)}.animate__animated.animate__repeat-2{animation-iteration-count:2;-webkit-animation-iteration-count:calc(var(--animate-repeat) * 2);animation-iteration-count:calc(var(--animate-repeat) * 2)}.animate__animated.animate__repeat-3{animation-iteration-count:3;-webkit-animation-iteration-count:calc(var(--animate-repeat) * 3);animation-iteration-count:calc(var(--animate-repeat) * 3)}.animate__animated.animate__delay-1s{animation-delay:1s;-webkit-animation-delay:var(--animate-delay);animation-delay:var(--animate-delay)}.animate__animated.animate__delay-2s{animation-delay:2s;-webkit-animation-delay:calc(var(--animate-delay) * 2);animation-delay:calc(var(--animate-delay) * 2)}.animate__animated.animate__delay-3s{animation-delay:3s;-webkit-animation-delay:calc(var(--animate-delay) * 3);animation-delay:calc(var(--animate-delay) * 3)}.animate__animated.animate__delay-4s{animation-delay:4s;-webkit-animation-delay:calc(var(--animate-delay) * 4);animation-delay:calc(var(--animate-delay) * 4)}.animate__animated.animate__delay-5s{animation-delay:5s;-webkit-animation-delay:calc(var(--animate-delay) * 5);animation-delay:calc(var(--animate-delay) * 5)}.animate__animated.animate__faster{animation-duration:.5s;-webkit-animation-duration:calc(var(--animate-duration) / 2);animation-duration:calc(var(--animate-duration) / 2)}.animate__animated.animate__fast{animation-duration:.8s;-webkit-animation-duration:calc(var(--animate-duration) * .8);animation-duration:calc(var(--animate-duration) * .8)}.animate__animated.animate__slow{animation-duration:2s;-webkit-animation-duration:calc(var(--animate-duration) * 2);animation-duration:calc(var(--animate-duration) * 2)}.animate__animated.animate__slower{animation-duration:3s;-webkit-animation-duration:calc(var(--animate-duration) * 3);animation-duration:calc(var(--animate-duration) * 3)}@media print,(prefers-reduced-motion:reduce){.animate__animated{transition-duration:1ms!important;animation-duration:1ms!important;animation-iteration-count:1!important}.animate__animated[class*=Out]{opacity:0}}@keyframes bounce{0%,20%,53%,to{animation-timing-function:cubic-bezier(.215,.61,.355,1);transform:translate(0,0)}40%,43%{animation-timing-function:cubic-bezier(.755,.05,.855,.06);transform:translateY(-30px)scaleY(1.1)}70%{animation-timing-function:cubic-bezier(.755,.05,.855,.06);transform:translateY(-15px)scaleY(1.05)}80%{transition-timing-function:cubic-bezier(.215,.61,.355,1);transform:translate(0,0)scaleY(.95)}90%{transform:translateY(-4px)scaleY(1.02)}}.animate__bounce{transform-origin:bottom;animation-name:bounce}@keyframes flash{0%,50%,to{opacity:1}25%,75%{opacity:0}}.animate__flash{animation-name:flash}@keyframes pulse{0%{transform:scale(1)}50%{transform:scale3d(1.05,1.05,1.05)}to{transform:scale(1)}}.animate__pulse{animation-name:pulse;animation-timing-function:ease-in-out}@keyframes rubberBand{0%{transform:scale(1)}30%{transform:scale(1.25,.75)}40%{transform:scale(.75,1.25)}50%{transform:scale(1.15,.85)}65%{transform:scale(.95,1.05)}75%{transform:scale(1.05,.95)}to{transform:scale(1)}}.animate__rubberBand{animation-name:rubberBand}@keyframes shakeX{0%,to{transform:translate(0,0)}10%,30%,50%,70%,90%{transform:translate(-10px)}20%,40%,60%,80%{transform:translate(10px)}}.animate__shakeX{animation-name:shakeX}@keyframes shakeY{0%,to{transform:translate(0,0)}10%,30%,50%,70%,90%{transform:translateY(-10px)}20%,40%,60%,80%{transform:translateY(10px)}}.animate__shakeY{animation-name:shakeY}@keyframes headShake{0%{transform:translate(0)}6.5%{transform:translate(-6px)rotateY(-9deg)}18.5%{transform:translate(5px)rotateY(7deg)}31.5%{transform:translate(-3px)rotateY(-5deg)}43.5%{transform:translate(2px)rotateY(3deg)}50%{transform:translate(0)}}.animate__headShake{animation-name:headShake;animation-timing-function:ease-in-out}@keyframes swing{20%{transform:rotate(15deg)}40%{transform:rotate(-10deg)}60%{transform:rotate(5deg)}80%{transform:rotate(-5deg)}to{transform:rotate(0)}}.animate__swing{transform-origin:top;animation-name:swing}@keyframes tada{0%{transform:scale(1)}10%,20%{transform:scale3d(.9,.9,.9)rotate(-3deg)}30%,50%,70%,90%{transform:scale3d(1.1,1.1,1.1)rotate(3deg)}40%,60%,80%{transform:scale3d(1.1,1.1,1.1)rotate(-3deg)}to{transform:scale(1)}}.animate__tada{animation-name:tada}@keyframes wobble{0%{transform:translate(0,0)}15%{transform:translate(-25%)rotate(-5deg)}30%{transform:translate(20%)rotate(3deg)}45%{transform:translate(-15%)rotate(-3deg)}60%{transform:translate(10%)rotate(2deg)}75%{transform:translate(-5%)rotate(-1deg)}to{transform:translate(0,0)}}.animate__wobble{animation-name:wobble}@keyframes jello{0%,11.1%,to{transform:translate(0,0)}22.2%{transform:skew(-12.5deg)skewY(-12.5deg)}33.3%{transform:skew(6.25deg)skewY(6.25deg)}44.4%{transform:skew(-3.125deg)skewY(-3.125deg)}55.5%{transform:skew(1.5625deg)skewY(1.5625deg)}66.6%{transform:skew(-.78125deg)skewY(-.78125deg)}77.7%{transform:skew(.390625deg)skewY(.390625deg)}88.8%{transform:skew(-.195313deg)skewY(-.195313deg)}}.animate__jello{transform-origin:50%;animation-name:jello}@keyframes heartBeat{0%{transform:scale(1)}14%{transform:scale(1.3)}28%{transform:scale(1)}42%{transform:scale(1.3)}70%{transform:scale(1)}}.animate__heartBeat{animation-name:heartBeat;animation-duration:1.3s;-webkit-animation-duration:calc(var(--animate-duration) * 1.3);animation-duration:calc(var(--animate-duration) * 1.3);animation-timing-function:ease-in-out}@keyframes backInDown{0%{opacity:.7;transform:translateY(-1200px)scale(.7)}80%{opacity:.7;transform:translateY(0)scale(.7)}to{opacity:1;transform:scale(1)}}.animate__backInDown{animation-name:backInDown}@keyframes backInLeft{0%{opacity:.7;transform:translate(-2000px)scale(.7)}80%{opacity:.7;transform:translate(0)scale(.7)}to{opacity:1;transform:scale(1)}}.animate__backInLeft{animation-name:backInLeft}@keyframes backInRight{0%{opacity:.7;transform:translate(2000px)scale(.7)}80%{opacity:.7;transform:translate(0)scale(.7)}to{opacity:1;transform:scale(1)}}.animate__backInRight{animation-name:backInRight}@keyframes backInUp{0%{opacity:.7;transform:translateY(1200px)scale(.7)}80%{opacity:.7;transform:translateY(0)scale(.7)}to{opacity:1;transform:scale(1)}}.animate__backInUp{animation-name:backInUp}@keyframes backOutDown{0%{opacity:1;transform:scale(1)}20%{opacity:.7;transform:translateY(0)scale(.7)}to{opacity:.7;transform:translateY(700px)scale(.7)}}.animate__backOutDown{animation-name:backOutDown}@keyframes backOutLeft{0%{opacity:1;transform:scale(1)}20%{opacity:.7;transform:translate(0)scale(.7)}to{opacity:.7;transform:translate(-2000px)scale(.7)}}.animate__backOutLeft{animation-name:backOutLeft}@keyframes backOutRight{0%{opacity:1;transform:scale(1)}20%{opacity:.7;transform:translate(0)scale(.7)}to{opacity:.7;transform:translate(2000px)scale(.7)}}.animate__backOutRight{animation-name:backOutRight}@keyframes backOutUp{0%{opacity:1;transform:scale(1)}20%{opacity:.7;transform:translateY(0)scale(.7)}to{opacity:.7;transform:translateY(-700px)scale(.7)}}.animate__backOutUp{animation-name:backOutUp}@keyframes bounceIn{0%,20%,40%,60%,80%,to{animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;transform:scale3d(.3,.3,.3)}20%{transform:scale3d(1.1,1.1,1.1)}40%{transform:scale3d(.9,.9,.9)}60%{opacity:1;transform:scale3d(1.03,1.03,1.03)}80%{transform:scale3d(.97,.97,.97)}to{opacity:1;transform:scale(1)}}.animate__bounceIn{animation-duration:.75s;-webkit-animation-duration:calc(var(--animate-duration) * .75);animation-duration:calc(var(--animate-duration) * .75);animation-name:bounceIn}@keyframes bounceInDown{0%,60%,75%,90%,to{animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;transform:translateY(-3000px)scaleY(3)}60%{opacity:1;transform:translateY(25px)scaleY(.9)}75%{transform:translateY(-10px)scaleY(.95)}90%{transform:translateY(5px)scaleY(.985)}to{transform:translate(0,0)}}.animate__bounceInDown{animation-name:bounceInDown}@keyframes bounceInLeft{0%,60%,75%,90%,to{animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;transform:translate(-3000px)scaleX(3)}60%{opacity:1;transform:translate(25px)scaleX(1)}75%{transform:translate(-10px)scaleX(.98)}90%{transform:translate(5px)scaleX(.995)}to{transform:translate(0,0)}}.animate__bounceInLeft{animation-name:bounceInLeft}@keyframes bounceInRight{0%,60%,75%,90%,to{animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;transform:translate(3000px)scaleX(3)}60%{opacity:1;transform:translate(-25px)scaleX(1)}75%{transform:translate(10px)scaleX(.98)}90%{transform:translate(-5px)scaleX(.995)}to{transform:translate(0,0)}}.animate__bounceInRight{animation-name:bounceInRight}@keyframes bounceInUp{0%,60%,75%,90%,to{animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;transform:translateY(3000px)scaleY(5)}60%{opacity:1;transform:translateY(-20px)scaleY(.9)}75%{transform:translateY(10px)scaleY(.95)}90%{transform:translateY(-5px)scaleY(.985)}to{transform:translate(0,0)}}.animate__bounceInUp{animation-name:bounceInUp}@keyframes bounceOut{20%{transform:scale3d(.9,.9,.9)}50%,55%{opacity:1;transform:scale3d(1.1,1.1,1.1)}to{opacity:0;transform:scale3d(.3,.3,.3)}}.animate__bounceOut{animation-duration:.75s;-webkit-animation-duration:calc(var(--animate-duration) * .75);animation-duration:calc(var(--animate-duration) * .75);animation-name:bounceOut}@keyframes bounceOutDown{20%{transform:translateY(10px)scaleY(.985)}40%,45%{opacity:1;transform:translateY(-20px)scaleY(.9)}to{opacity:0;transform:translateY(2000px)scaleY(3)}}.animate__bounceOutDown{animation-name:bounceOutDown}@keyframes bounceOutLeft{20%{opacity:1;transform:translate(20px)scaleX(.9)}to{opacity:0;transform:translate(-2000px)scaleX(2)}}.animate__bounceOutLeft{animation-name:bounceOutLeft}@keyframes bounceOutRight{20%{opacity:1;transform:translate(-20px)scaleX(.9)}to{opacity:0;transform:translate(2000px)scaleX(2)}}.animate__bounceOutRight{animation-name:bounceOutRight}@keyframes bounceOutUp{20%{transform:translateY(-10px)scaleY(.985)}40%,45%{opacity:1;transform:translateY(20px)scaleY(.9)}to{opacity:0;transform:translateY(-2000px)scaleY(3)}}.animate__bounceOutUp{animation-name:bounceOutUp}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.animate__fadeIn{animation-name:fadeIn}@keyframes fadeInDown{0%{opacity:0;transform:translateY(-100%)}to{opacity:1;transform:translate(0,0)}}.animate__fadeInDown{animation-name:fadeInDown}@keyframes fadeInDownBig{0%{opacity:0;transform:translateY(-2000px)}to{opacity:1;transform:translate(0,0)}}.animate__fadeInDownBig{animation-name:fadeInDownBig}@keyframes fadeInLeft{0%{opacity:0;transform:translate(-100%)}to{opacity:1;transform:translate(0,0)}}.animate__fadeInLeft{animation-name:fadeInLeft}@keyframes fadeInLeftBig{0%{opacity:0;transform:translate(-2000px)}to{opacity:1;transform:translate(0,0)}}.animate__fadeInLeftBig{animation-name:fadeInLeftBig}@keyframes fadeInRight{0%{opacity:0;transform:translate(100%)}to{opacity:1;transform:translate(0,0)}}.animate__fadeInRight{animation-name:fadeInRight}@keyframes fadeInRightBig{0%{opacity:0;transform:translate(2000px)}to{opacity:1;transform:translate(0,0)}}.animate__fadeInRightBig{animation-name:fadeInRightBig}@keyframes fadeInUp{0%{opacity:0;transform:translateY(100%)}to{opacity:1;transform:translate(0,0)}}.animate__fadeInUp{animation-name:fadeInUp}@keyframes fadeInUpBig{0%{opacity:0;transform:translateY(2000px)}to{opacity:1;transform:translate(0,0)}}.animate__fadeInUpBig{animation-name:fadeInUpBig}@keyframes fadeInTopLeft{0%{opacity:0;transform:translate(-100%,-100%)}to{opacity:1;transform:translate(0,0)}}.animate__fadeInTopLeft{animation-name:fadeInTopLeft}@keyframes fadeInTopRight{0%{opacity:0;transform:translate(100%,-100%)}to{opacity:1;transform:translate(0,0)}}.animate__fadeInTopRight{animation-name:fadeInTopRight}@keyframes fadeInBottomLeft{0%{opacity:0;transform:translate(-100%,100%)}to{opacity:1;transform:translate(0,0)}}.animate__fadeInBottomLeft{animation-name:fadeInBottomLeft}@keyframes fadeInBottomRight{0%{opacity:0;transform:translate(100%,100%)}to{opacity:1;transform:translate(0,0)}}.animate__fadeInBottomRight{animation-name:fadeInBottomRight}@keyframes fadeOut{0%{opacity:1}to{opacity:0}}.animate__fadeOut{animation-name:fadeOut}@keyframes fadeOutDown{0%{opacity:1}to{opacity:0;transform:translateY(100%)}}.animate__fadeOutDown{animation-name:fadeOutDown}@keyframes fadeOutDownBig{0%{opacity:1}to{opacity:0;transform:translateY(2000px)}}.animate__fadeOutDownBig{animation-name:fadeOutDownBig}@keyframes fadeOutLeft{0%{opacity:1}to{opacity:0;transform:translate(-100%)}}.animate__fadeOutLeft{animation-name:fadeOutLeft}@keyframes fadeOutLeftBig{0%{opacity:1}to{opacity:0;transform:translate(-2000px)}}.animate__fadeOutLeftBig{animation-name:fadeOutLeftBig}@keyframes fadeOutRight{0%{opacity:1}to{opacity:0;transform:translate(100%)}}.animate__fadeOutRight{animation-name:fadeOutRight}@keyframes fadeOutRightBig{0%{opacity:1}to{opacity:0;transform:translate(2000px)}}.animate__fadeOutRightBig{animation-name:fadeOutRightBig}@keyframes fadeOutUp{0%{opacity:1}to{opacity:0;transform:translateY(-100%)}}.animate__fadeOutUp{animation-name:fadeOutUp}@keyframes fadeOutUpBig{0%{opacity:1}to{opacity:0;transform:translateY(-2000px)}}.animate__fadeOutUpBig{animation-name:fadeOutUpBig}@keyframes fadeOutTopLeft{0%{opacity:1;transform:translate(0,0)}to{opacity:0;transform:translate(-100%,-100%)}}.animate__fadeOutTopLeft{animation-name:fadeOutTopLeft}@keyframes fadeOutTopRight{0%{opacity:1;transform:translate(0,0)}to{opacity:0;transform:translate(100%,-100%)}}.animate__fadeOutTopRight{animation-name:fadeOutTopRight}@keyframes fadeOutBottomRight{0%{opacity:1;transform:translate(0,0)}to{opacity:0;transform:translate(100%,100%)}}.animate__fadeOutBottomRight{animation-name:fadeOutBottomRight}@keyframes fadeOutBottomLeft{0%{opacity:1;transform:translate(0,0)}to{opacity:0;transform:translate(-100%,100%)}}.animate__fadeOutBottomLeft{animation-name:fadeOutBottomLeft}@keyframes flip{0%{animation-timing-function:ease-out;transform:perspective(400px)scale(1)translate(0,0)rotateY(-360deg)}40%{animation-timing-function:ease-out;transform:perspective(400px)scale(1)translateZ(150px)rotateY(-190deg)}50%{animation-timing-function:ease-in;transform:perspective(400px)scale(1)translateZ(150px)rotateY(-170deg)}80%{animation-timing-function:ease-in;transform:perspective(400px)scale3d(.95,.95,.95)translate(0,0)rotateY(0)}to{animation-timing-function:ease-in;transform:perspective(400px)scale(1)translate(0,0)rotateY(0)}}.animate__animated.animate__flip{backface-visibility:visible;animation-name:flip}@keyframes flipInX{0%{opacity:0;animation-timing-function:ease-in;transform:perspective(400px)rotateX(90deg)}40%{animation-timing-function:ease-in;transform:perspective(400px)rotateX(-20deg)}60%{opacity:1;transform:perspective(400px)rotateX(10deg)}80%{transform:perspective(400px)rotateX(-5deg)}to{transform:perspective(400px)}}.animate__flipInX{animation-name:flipInX;backface-visibility:visible!important}@keyframes flipInY{0%{opacity:0;animation-timing-function:ease-in;transform:perspective(400px)rotateY(90deg)}40%{animation-timing-function:ease-in;transform:perspective(400px)rotateY(-20deg)}60%{opacity:1;transform:perspective(400px)rotateY(10deg)}80%{transform:perspective(400px)rotateY(-5deg)}to{transform:perspective(400px)}}.animate__flipInY{animation-name:flipInY;backface-visibility:visible!important}@keyframes flipOutX{0%{transform:perspective(400px)}30%{opacity:1;transform:perspective(400px)rotateX(-20deg)}to{opacity:0;transform:perspective(400px)rotateX(90deg)}}.animate__flipOutX{animation-duration:.75s;-webkit-animation-duration:calc(var(--animate-duration) * .75);animation-duration:calc(var(--animate-duration) * .75);animation-name:flipOutX;backface-visibility:visible!important}@keyframes flipOutY{0%{transform:perspective(400px)}30%{opacity:1;transform:perspective(400px)rotateY(-15deg)}to{opacity:0;transform:perspective(400px)rotateY(90deg)}}.animate__flipOutY{animation-duration:.75s;-webkit-animation-duration:calc(var(--animate-duration) * .75);animation-duration:calc(var(--animate-duration) * .75);animation-name:flipOutY;backface-visibility:visible!important}@keyframes lightSpeedInRight{0%{opacity:0;transform:translate(100%)skew(-30deg)}60%{opacity:1;transform:skew(20deg)}80%{transform:skew(-5deg)}to{transform:translate(0,0)}}.animate__lightSpeedInRight{animation-name:lightSpeedInRight;animation-timing-function:ease-out}@keyframes lightSpeedInLeft{0%{opacity:0;transform:translate(-100%)skew(30deg)}60%{opacity:1;transform:skew(-20deg)}80%{transform:skew(5deg)}to{transform:translate(0,0)}}.animate__lightSpeedInLeft{animation-name:lightSpeedInLeft;animation-timing-function:ease-out}@keyframes lightSpeedOutRight{0%{opacity:1}to{opacity:0;transform:translate(100%)skew(30deg)}}.animate__lightSpeedOutRight{animation-name:lightSpeedOutRight;animation-timing-function:ease-in}@keyframes lightSpeedOutLeft{0%{opacity:1}to{opacity:0;transform:translate(-100%)skew(-30deg)}}.animate__lightSpeedOutLeft{animation-name:lightSpeedOutLeft;animation-timing-function:ease-in}@keyframes rotateIn{0%{opacity:0;transform:rotate(-200deg)}to{opacity:1;transform:translate(0,0)}}.animate__rotateIn{transform-origin:50%;animation-name:rotateIn}@keyframes rotateInDownLeft{0%{opacity:0;transform:rotate(-45deg)}to{opacity:1;transform:translate(0,0)}}.animate__rotateInDownLeft{transform-origin:0 100%;animation-name:rotateInDownLeft}@keyframes rotateInDownRight{0%{opacity:0;transform:rotate(45deg)}to{opacity:1;transform:translate(0,0)}}.animate__rotateInDownRight{transform-origin:100% 100%;animation-name:rotateInDownRight}@keyframes rotateInUpLeft{0%{opacity:0;transform:rotate(45deg)}to{opacity:1;transform:translate(0,0)}}.animate__rotateInUpLeft{transform-origin:0 100%;animation-name:rotateInUpLeft}@keyframes rotateInUpRight{0%{opacity:0;transform:rotate(-90deg)}to{opacity:1;transform:translate(0,0)}}.animate__rotateInUpRight{transform-origin:100% 100%;animation-name:rotateInUpRight}@keyframes rotateOut{0%{opacity:1}to{opacity:0;transform:rotate(200deg)}}.animate__rotateOut{transform-origin:50%;animation-name:rotateOut}@keyframes rotateOutDownLeft{0%{opacity:1}to{opacity:0;transform:rotate(45deg)}}.animate__rotateOutDownLeft{transform-origin:0 100%;animation-name:rotateOutDownLeft}@keyframes rotateOutDownRight{0%{opacity:1}to{opacity:0;transform:rotate(-45deg)}}.animate__rotateOutDownRight{transform-origin:100% 100%;animation-name:rotateOutDownRight}@keyframes rotateOutUpLeft{0%{opacity:1}to{opacity:0;transform:rotate(-45deg)}}.animate__rotateOutUpLeft{transform-origin:0 100%;animation-name:rotateOutUpLeft}@keyframes rotateOutUpRight{0%{opacity:1}to{opacity:0;transform:rotate(90deg)}}.animate__rotateOutUpRight{transform-origin:100% 100%;animation-name:rotateOutUpRight}@keyframes hinge{0%{animation-timing-function:ease-in-out}20%,60%{animation-timing-function:ease-in-out;transform:rotate(80deg)}40%,80%{opacity:1;animation-timing-function:ease-in-out;transform:rotate(60deg)}to{opacity:0;transform:translateY(700px)}}.animate__hinge{animation-duration:2s;-webkit-animation-duration:calc(var(--animate-duration) * 2);animation-duration:calc(var(--animate-duration) * 2);transform-origin:0 0;animation-name:hinge}@keyframes jackInTheBox{0%{opacity:0;transform-origin:bottom;transform:scale(.1)rotate(30deg)}50%{transform:rotate(-10deg)}70%{transform:rotate(3deg)}to{opacity:1;transform:scale(1)}}.animate__jackInTheBox{animation-name:jackInTheBox}@keyframes rollIn{0%{opacity:0;transform:translate(-100%)rotate(-120deg)}to{opacity:1;transform:translate(0,0)}}.animate__rollIn{animation-name:rollIn}@keyframes rollOut{0%{opacity:1}to{opacity:0;transform:translate(100%)rotate(120deg)}}.animate__rollOut{animation-name:rollOut}@keyframes zoomIn{0%{opacity:0;transform:scale3d(.3,.3,.3)}50%{opacity:1}}.animate__zoomIn{animation-name:zoomIn}@keyframes zoomInDown{0%{opacity:0;animation-timing-function:cubic-bezier(.55,.055,.675,.19);transform:scale3d(.1,.1,.1)translateY(-1000px)}60%{opacity:1;animation-timing-function:cubic-bezier(.175,.885,.32,1);transform:scale3d(.475,.475,.475)translateY(60px)}}.animate__zoomInDown{animation-name:zoomInDown}@keyframes zoomInLeft{0%{opacity:0;animation-timing-function:cubic-bezier(.55,.055,.675,.19);transform:scale3d(.1,.1,.1)translate(-1000px)}60%{opacity:1;animation-timing-function:cubic-bezier(.175,.885,.32,1);transform:scale3d(.475,.475,.475)translate(10px)}}.animate__zoomInLeft{animation-name:zoomInLeft}@keyframes zoomInRight{0%{opacity:0;animation-timing-function:cubic-bezier(.55,.055,.675,.19);transform:scale3d(.1,.1,.1)translate(1000px)}60%{opacity:1;animation-timing-function:cubic-bezier(.175,.885,.32,1);transform:scale3d(.475,.475,.475)translate(-10px)}}.animate__zoomInRight{animation-name:zoomInRight}@keyframes zoomInUp{0%{opacity:0;animation-timing-function:cubic-bezier(.55,.055,.675,.19);transform:scale3d(.1,.1,.1)translateY(1000px)}60%{opacity:1;animation-timing-function:cubic-bezier(.175,.885,.32,1);transform:scale3d(.475,.475,.475)translateY(-60px)}}.animate__zoomInUp{animation-name:zoomInUp}@keyframes zoomOut{0%{opacity:1}50%{opacity:0;transform:scale3d(.3,.3,.3)}to{opacity:0}}.animate__zoomOut{animation-name:zoomOut}@keyframes zoomOutDown{40%{opacity:1;animation-timing-function:cubic-bezier(.55,.055,.675,.19);transform:scale3d(.475,.475,.475)translateY(-60px)}to{opacity:0;animation-timing-function:cubic-bezier(.175,.885,.32,1);transform:scale3d(.1,.1,.1)translateY(2000px)}}.animate__zoomOutDown{transform-origin:bottom;animation-name:zoomOutDown}@keyframes zoomOutLeft{40%{opacity:1;transform:scale3d(.475,.475,.475)translate(42px)}to{opacity:0;transform:scale(.1)translate(-2000px)}}.animate__zoomOutLeft{transform-origin:0;animation-name:zoomOutLeft}@keyframes zoomOutRight{40%{opacity:1;transform:scale3d(.475,.475,.475)translate(-42px)}to{opacity:0;transform:scale(.1)translate(2000px)}}.animate__zoomOutRight{transform-origin:100%;animation-name:zoomOutRight}@keyframes zoomOutUp{40%{opacity:1;animation-timing-function:cubic-bezier(.55,.055,.675,.19);transform:scale3d(.475,.475,.475)translateY(60px)}to{opacity:0;animation-timing-function:cubic-bezier(.175,.885,.32,1);transform:scale3d(.1,.1,.1)translateY(-2000px)}}.animate__zoomOutUp{transform-origin:bottom;animation-name:zoomOutUp}@keyframes slideInDown{0%{visibility:visible;transform:translateY(-100%)}to{transform:translate(0,0)}}.animate__slideInDown{animation-name:slideInDown}@keyframes slideInLeft{0%{visibility:visible;transform:translate(-100%)}to{transform:translate(0,0)}}.animate__slideInLeft{animation-name:slideInLeft}@keyframes slideInRight{0%{visibility:visible;transform:translate(100%)}to{transform:translate(0,0)}}.animate__slideInRight{animation-name:slideInRight}@keyframes slideInUp{0%{visibility:visible;transform:translateY(100%)}to{transform:translate(0,0)}}.animate__slideInUp{animation-name:slideInUp}@keyframes slideOutDown{0%{transform:translate(0,0)}to{visibility:hidden;transform:translateY(100%)}}.animate__slideOutDown{animation-name:slideOutDown}@keyframes slideOutLeft{0%{transform:translate(0,0)}to{visibility:hidden;transform:translate(-100%)}}.animate__slideOutLeft{animation-name:slideOutLeft}@keyframes slideOutRight{0%{transform:translate(0,0)}to{visibility:hidden;transform:translate(100%)}}.animate__slideOutRight{animation-name:slideOutRight}@keyframes slideOutUp{0%{transform:translate(0,0)}to{visibility:hidden;transform:translateY(-100%)}}.animate__slideOutUp{animation-name:slideOutUp}.backdrop[data-v-f21ac12b]{z-index:-1;pointer-events:none;background:var(--bg);position:fixed;inset:0;overflow:hidden}.backdrop[data-v-f21ac12b]:after{content:"";z-index:-1;background-image:var(--grain);opacity:.05;pointer-events:none;background-repeat:repeat;position:absolute;inset:0}.backdrop.sky[data-v-f21ac12b]{background:var(--bg)}.backdrop.sky[data-v-f21ac12b]:after{opacity:.03}.sky-sun[data-v-f21ac12b]{background:radial-gradient(circle at 38% 34%,#fff6c8,#ffd76e 62%,#ffc94d);border-radius:50%;width:clamp(48px,9vw,80px);height:clamp(48px,9vw,80px);animation:4.6s ease-in-out infinite sun-breathe-f21ac12b;position:absolute;top:14%;left:8%;box-shadow:0 0 36px 12px #ffe08273}@keyframes sun-breathe-f21ac12b{0%,to{transform:scale(1)}50%{transform:scale(1.06)}}.backdrop.sky .cloud[data-v-f21ac12b]{box-shadow:calc(var(--w,26px)) calc(var(--h,-12px)) 0 -4px #ffffffeb;background:#ffffffeb}.backdrop.sky .cloud.c1[data-v-f21ac12b]{--w:34px;--h:-14px;top:9%;left:6%;transform:scale(1.35)}.backdrop.sky .cloud.c2[data-v-f21ac12b]{--w:22px;--h:-10px;top:22%;left:52%;transform:scale(1.05)}.backdrop.sky .cloud.c3[data-v-f21ac12b]{--w:16px;--h:-7px;opacity:.9;top:58%;left:74%;transform:scale(.85)}.backdrop.sky .deco-star[data-v-f21ac12b]{color:#ffffffe6;opacity:.35}.hill[data-v-f21ac12b]{pointer-events:none;background:linear-gradient(#9fd87a 0%,#76b85c 100%);border-radius:50% 50% 0 0/100% 100% 0 0;position:absolute;bottom:-16%}.hill.h1[data-v-f21ac12b]{width:58%;height:36%;left:-12%}.hill.h2[data-v-f21ac12b]{width:66%;height:44%;right:-16%}.hill.h3[data-v-f21ac12b]{opacity:.9;width:46%;height:32%;bottom:-12%;left:28%}.cloud[data-v-f21ac12b]{width:clamp(70px,16vw,150px);height:clamp(24px,5.4vw,48px);box-shadow:calc(var(--w,26px)) calc(var(--h,-12px)) 0 -4px #fffc;background:#fffc;border-radius:999px;animation:ease-in-out infinite alternate cloud-drift-f21ac12b;position:absolute}.cloud.c1[data-v-f21ac12b]{--w:26px;--h:-12px;animation-duration:17s;top:7%;left:8%}.backdrop:not(.sky) .cloud[data-v-f21ac12b]{animation:none}.cloud.c2[data-v-f21ac12b]{--w:18px;--h:-9px;animation-duration:23s;top:17%;left:58%;transform:scale(.7)}.cloud.c3[data-v-f21ac12b]{--w:14px;--h:-7px;opacity:.7;animation-duration:29s;top:56%;left:78%;transform:scale(.5)}@keyframes cloud-drift-f21ac12b{0%{translate:-2.5%}to{translate:2.5%}}.deco-star[data-v-f21ac12b]{color:#ffd66ee6;opacity:.5;width:clamp(13px,2.2vw,22px);height:clamp(13px,2.2vw,22px);scale:var(--s,1);animation:3.6s ease-in-out infinite twinkle-f21ac12b;animation-delay:var(--d,0s);position:absolute}@keyframes twinkle-f21ac12b{0%,to{opacity:.22;rotate:0deg}50%{opacity:.62;rotate:14deg}}.dot[data-v-f21ac12b]{width:var(--s,9px);height:var(--s,9px);animation:5.2s ease-in-out infinite bob-f21ac12b;animation-delay:var(--d,0s);background:#a078ff47;border-radius:50%;position:absolute}@keyframes bob-f21ac12b{0%,to{translate:0}50%{translate:0 -7px}}@media (height<=480px){.backdrop[data-v-f21ac12b]{display:none}}:root[data-theme=dark] .backdrop[data-v-f21ac12b]{background:var(--bg)}:root[data-theme=dark] .backdrop[data-v-f21ac12b]:after{opacity:.07}:root[data-theme=dark] .backdrop.sky[data-v-f21ac12b]{background:var(--bg)}:root[data-theme=dark] .backdrop.sky[data-v-f21ac12b]:after{opacity:.06}:root[data-theme=dark] .sky-sun[data-v-f21ac12b]{background:radial-gradient(circle at 42% 38%,#fff 0%,#eef2ff 62%,#d5e0ff 100%);box-shadow:0 0 36px 14px #bed2ff8c}:root[data-theme=dark] .backdrop.sky .cloud[data-v-f21ac12b]{box-shadow:calc(var(--w,26px)) calc(var(--h,-12px)) 0 -4px #cedbf63d;background:#cedbf63d}:root[data-theme=dark] .backdrop .cloud[data-v-f21ac12b]{box-shadow:calc(var(--w,26px)) calc(var(--h,-12px)) 0 -4px #96a0be33;background:#96a0be33}:root[data-theme=dark] .backdrop.sky .deco-star[data-v-f21ac12b]{color:#fffffffa;opacity:.9}:root[data-theme=dark] .hill[data-v-f21ac12b]{background:linear-gradient(#2d4d3c 0%,#1c3428 100%)}@media (prefers-reduced-motion:reduce){.cloud[data-v-f21ac12b],.deco-star[data-v-f21ac12b],.dot[data-v-f21ac12b],.sky-sun[data-v-f21ac12b],.backdrop[data-v-f21ac12b]{animation:none}}.bottom-nav[data-v-5a6c97de]{z-index:40;gap:var(--gap-s);max-width:1180px;padding:6px calc(var(--pad-x) + env(safe-area-inset-right)) max(8px, env(safe-area-inset-bottom)) calc(var(--pad-x) + env(safe-area-inset-left));background:var(--bar-bg,var(--bg));-webkit-backdrop-filter:blur(var(--bar-blur,14px));backdrop-filter:blur(var(--bar-blur,14px));margin-inline:auto;display:flex;position:fixed;bottom:0;left:0;right:0;box-shadow:0 -2px #0000000f,0 -6px 16px #0000000d}.bottom-nav button[data-v-5a6c97de]{border-radius:var(--radius-s);color:var(--ink-faint);touch-action:manipulation;-webkit-tap-highlight-color:transparent;-webkit-user-select:none;user-select:none;flex-direction:column;flex:1;align-items:center;gap:2px;padding:clamp(4px,1vh,8px) 0;font-size:12px;font-weight:800;transition:background .2s,color .2s,transform .1s;display:flex}.bottom-nav button[data-v-5a6c97de]:active{transform:translateY(1px)}.bottom-nav button.on[data-v-5a6c97de]{color:var(--gold);background:#f0b4291f}.bn-ico[data-v-5a6c97de]{font-size:clamp(20px,min(3.4vh,2.8vw),28px);line-height:1}.bn-cap[data-v-5a6c97de]{font-size:11px;font-weight:800}@media (width>=768px){.bottom-nav button[data-v-5a6c97de]{font-size:14px}.bn-ico[data-v-5a6c97de]{font-size:clamp(24px,min(4vh,3.2vw),34px)}.bn-cap[data-v-5a6c97de]{font-size:13px}}
