.bomo-island[data-v-12a63559]{position:fixed;left:50%;bottom:calc(env(safe-area-inset-bottom,0px) + 16px);transform:translate(-50%);z-index:200;display:flex;align-items:center;gap:4px;border:1.5px solid rgba(61,43,31,.1);border-radius:40px;padding:6px;box-shadow:0 8px #3d2b1f14,0 18px 36px -12px #3d2b1f80;transition:transform .4s var(--ease-jelly),opacity .3s ease;touch-action:none;user-select:none;-webkit-user-select:none}.bomo-island[data-v-12a63559]:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:40px;background:#ffffffdb;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);z-index:-1;pointer-events:none}@media (min-width: 900px){.bomo-island[data-v-12a63559]{display:none}}.island-tab[data-v-12a63559]{width:56px;height:56px;border-radius:var(--radius-full);border:none;background:none;display:grid;place-items:center;cursor:pointer;position:relative;color:var(--bark-muted);transition:color .25s,transform .35s var(--ease-jelly);min-height:unset;min-width:unset;padding:0;-webkit-tap-highlight-color:transparent;touch-action:manipulation}.island-tab[data-v-12a63559]:active{transform:scale(.93)}.island-tab--active[data-v-12a63559]{color:#fff;transform:translateY(-2px)}.island-tab--active[data-v-12a63559]:before{content:"";position:absolute;top:6px;right:6px;bottom:6px;left:6px;border-radius:var(--radius-full);z-index:0;background:var(--hub, var(--accueil));box-shadow:var(--shadow-md);animation:nt-pop-12a63559 .4s var(--ease-jelly)}@keyframes nt-pop-12a63559{0%{transform:scale(.4)}70%{transform:scale(1.12)}to{transform:scale(1)}}.tab-icon-wrap[data-v-12a63559]{position:relative;z-index:1;width:28px;height:28px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.tab-icon[data-v-12a63559]{width:100%;height:100%}.bomo-sidebar[data-v-12a63559]{display:none}@media (min-width: 900px){.bomo-sidebar[data-v-12a63559]{display:flex;flex-direction:column;position:fixed;top:0;bottom:0;left:0;width:var(--sidebar-w, 248px);padding:22px 16px;background:#fff8eef5;backdrop-filter:saturate(180%) blur(20px);-webkit-backdrop-filter:saturate(180%) blur(20px);border-right:1px solid rgba(61,43,31,.08);z-index:100}.sb-brand[data-v-12a63559]{display:flex;align-items:center;gap:11px;padding:4px 8px 22px;text-decoration:none}.sb-brand-badge[data-v-12a63559]{width:40px;height:40px;flex-shrink:0;border-radius:50%;background:var(--coral-l);display:grid;place-items:center;overflow:hidden}.sb-brand-word[data-v-12a63559]{font-size:23px;font-weight:800;letter-spacing:-.02em;color:var(--bark)}.sb-nav[data-v-12a63559]{display:flex;flex-direction:column;gap:5px}.sb-item[data-v-12a63559]{display:flex;align-items:center;gap:13px;padding:11px 13px;border-radius:14px;text-decoration:none;color:var(--bark-muted);font-size:15px;font-weight:700;transition:background .15s var(--ease-soft),color .15s var(--ease-soft)}.sb-item[data-v-12a63559]:not(.active):hover{background:var(--hub-l, var(--mist));color:var(--hub, var(--bark))}.sb-item.active[data-v-12a63559]{background:var(--hub, var(--accueil));color:#fff;box-shadow:var(--shadow-jelly)}.sb-icon[data-v-12a63559]{width:23px;height:23px;flex-shrink:0;display:grid;place-items:center}.sb-icon svg[data-v-12a63559]{width:100%;height:100%}.sb-label[data-v-12a63559]{line-height:1}.sb-spacer[data-v-12a63559]{flex:1}.sb-profile[data-v-12a63559]{display:flex;align-items:center;gap:11px;padding:9px 11px;border-radius:18px;background:#fff;box-shadow:var(--shadow-jelly);text-decoration:none;color:var(--bark);transition:transform .15s var(--ease-jelly)}.sb-profile[data-v-12a63559]:hover{transform:translateY(-2px)}.sb-profile.active[data-v-12a63559]{outline:2px solid var(--jade);outline-offset:1px}.sb-avatar[data-v-12a63559]{width:38px;height:38px;flex-shrink:0;border-radius:50%;background:var(--jade-l);display:grid;place-items:center;overflow:hidden}.sb-meta[data-v-12a63559]{display:flex;flex-direction:column;gap:1px;min-width:0}.sb-meta strong[data-v-12a63559]{font-size:14.5px;font-weight:800;color:var(--bark);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sb-meta span[data-v-12a63559]{font-size:12px;color:var(--bark-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}}.bp-btn[data-v-7238b4a9]{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);font-family:var(--font-sans);font-weight:800;border:none;border-radius:var(--r-pill);min-height:var(--touch-min);cursor:pointer;transition:transform var(--dur-tap) var(--ease-jelly),box-shadow var(--dur-tap) var(--ease-soft),opacity var(--dur-tap) var(--ease-soft);white-space:nowrap;touch-action:manipulation}.bp-btn--primary[data-v-7238b4a9]{background:var(--accent);color:#fff;box-shadow:var(--shadow-jelly)}.bp-btn--secondary[data-v-7238b4a9]{background:var(--mist);color:var(--bark);box-shadow:var(--shadow-sm)}.bp-btn--secondary[data-v-7238b4a9]:hover:not(:disabled){background:var(--cloud)}.bp-btn--ghost[data-v-7238b4a9]{background:transparent;color:var(--bark-muted)}.bp-btn--ghost[data-v-7238b4a9]:hover:not(:disabled){background:var(--mist)}.bp-btn--danger[data-v-7238b4a9]{background:var(--error);color:#fff;box-shadow:var(--shadow-jelly)}.bp-btn--jade[data-v-7238b4a9]{background:var(--jade);color:#fff;box-shadow:var(--shadow-jade, var(--shadow-jelly))}.bp-btn--pill[data-v-7238b4a9]{background:var(--cream);color:var(--accent);box-shadow:var(--shadow-jelly);border-radius:var(--r-pill);white-space:nowrap}.bp-btn[data-v-7238b4a9]:focus-visible{outline:var(--focus-ring);outline-offset:var(--focus-offset)}.bp-btn--sm[data-v-7238b4a9]{font-size:var(--text-sm);padding:var(--space-2) var(--space-4);min-height:44px}.bp-btn--md[data-v-7238b4a9]{font-size:var(--text-base);padding:var(--space-3) var(--space-6)}.bp-btn--lg[data-v-7238b4a9]{font-size:var(--text-lg);padding:var(--space-4) var(--space-8);border-radius:var(--r-pill)}.bp-btn[data-v-7238b4a9]:active:not(:disabled){transform:scale(.97);box-shadow:var(--shadow-press)}.bp-btn[data-v-7238b4a9]:disabled{opacity:.45;cursor:not-allowed}.bp-mascot[data-v-e77f0f74]{display:flex;flex-direction:column;align-items:center;gap:var(--space-3);position:relative}.mascot-body[data-v-e77f0f74]{position:relative;width:100px;height:80px;display:flex;align-items:flex-end;justify-content:center}.bear[data-v-e77f0f74]{position:relative;width:204px;height:150px;cursor:pointer;-webkit-user-select:none;user-select:none;transform:scale(.5);transform-origin:center bottom;flex-shrink:0}.bear-svg[data-v-e77f0f74]{position:absolute;top:12px;left:2px;width:200px;height:200px;overflow:visible;transition:transform .25s cubic-bezier(.34,1.56,.64,1)}.bear-skin[data-v-e77f0f74]{fill:var(--bear);stroke:var(--bear-stroke);stroke-width:4.5;stroke-linejoin:round;stroke-linecap:round;transition:fill .3s,stroke .3s}.bear-inner-ear[data-v-e77f0f74]{fill:#ffdcd6;stroke:var(--bear-stroke);stroke-width:4.5;stroke-linejoin:round;stroke-linecap:round}.bear-muzzle[data-v-e77f0f74]{fill:var(--rice);stroke:var(--bear-stroke);stroke-width:4.5;stroke-linejoin:round}.bear-nose[data-v-e77f0f74]{fill:var(--bear-stroke)}.bear-eye-bg[data-v-e77f0f74]{fill:#fff;stroke:var(--bear-stroke);stroke-width:4.5}.bear-pupil[data-v-e77f0f74]{fill:var(--bear-stroke)}.bear-eye-stroke[data-v-e77f0f74]{stroke:#fff;stroke-width:3.8;stroke-linecap:round;fill:none}.bear-star-eye[data-v-e77f0f74]{fill:#fff;stroke:var(--bear-stroke);stroke-width:3.5;stroke-linejoin:round}.bear-mouth[data-v-e77f0f74]{stroke:var(--bear-stroke);stroke-width:5;stroke-linecap:round;fill:none}.bear-mouth-filled[data-v-e77f0f74]{fill:#8a342b;stroke:var(--bear-stroke);stroke-width:4.5;stroke-linejoin:round;stroke-linecap:round}.bear-bubble-dots[data-v-e77f0f74]{fill:var(--bear-stroke);opacity:.3}.zzz-text[data-v-e77f0f74]{fill:var(--bear-stroke);font-family:var(--font-sans),system-ui,sans-serif;font-weight:800;font-size:22px;animation:b-zzz-e77f0f74 3s var(--ease-soft) infinite;opacity:.7}.zzz-text--small[data-v-e77f0f74]{font-size:15px;animation-delay:.5s}.bear-svg .eyes[data-v-e77f0f74],.bear-svg .mouth[data-v-e77f0f74],.bear-svg .acc[data-v-e77f0f74]{display:none}.bear[data-expr=repos] .e-open[data-v-e77f0f74],.bear[data-expr=repos] .m-smile[data-v-e77f0f74],.bear[data-expr=hello] .e-open[data-v-e77f0f74],.bear[data-expr=hello] .m-smile[data-v-e77f0f74],.bear[data-expr=joie] .e-happy[data-v-e77f0f74],.bear[data-expr=joie] .m-grin[data-v-e77f0f74],.bear[data-expr=bravo] .e-star[data-v-e77f0f74],.bear[data-expr=bravo] .m-open[data-v-e77f0f74],.bear[data-expr=encour] .e-open[data-v-e77f0f74],.bear[data-expr=encour] .m-smile[data-v-e77f0f74],.bear[data-expr=pense] .e-think[data-v-e77f0f74],.bear[data-expr=pense] .m-o[data-v-e77f0f74],.bear[data-expr=pense] .a-think[data-v-e77f0f74],.bear[data-expr=oups] .e-worry[data-v-e77f0f74],.bear[data-expr=oups] .m-wavy[data-v-e77f0f74],.bear[data-expr=dodo] .e-sleep[data-v-e77f0f74],.bear[data-expr=dodo] .m-sleep-o[data-v-e77f0f74],.bear[data-expr=dodo] .a-zzz[data-v-e77f0f74]{display:block}.bear[data-expr=repos] .e-open[data-v-e77f0f74],.bear[data-expr=hello] .e-open[data-v-e77f0f74],.bear[data-expr=encour] .e-open[data-v-e77f0f74]{animation:b-blink-e77f0f74 4.6s var(--ease-soft) infinite;transform-box:fill-box;transform-origin:center}.head-group[data-v-e77f0f74]{animation:b-breathe-e77f0f74 7s var(--ease-soft) infinite;transform-origin:center bottom;transform-box:fill-box}.l-ear-group[data-v-e77f0f74]{animation:b-ear-l-e77f0f74 4.4s var(--ease-soft) infinite;transform-origin:46px 84px;transform-box:fill-box}.r-ear-group[data-v-e77f0f74]{animation:b-ear-r-e77f0f74 4.4s var(--ease-soft) infinite;transform-origin:154px 84px;transform-box:fill-box}.bear[data-expr=hello] .bear-svg[data-v-e77f0f74]{animation:b-wave-e77f0f74 2.4s var(--ease-soft) infinite}.bear[data-expr=joie] .bear-svg[data-v-e77f0f74]{animation:b-hop-e77f0f74 1.1s var(--ease-jelly) infinite}.bear[data-expr=bravo] .bear-svg[data-v-e77f0f74]{animation:b-hop-e77f0f74 .7s var(--ease-jelly) infinite}.bear[data-expr=encour] .bear-svg[data-v-e77f0f74]{animation:b-lean-e77f0f74 2.2s var(--ease-soft) infinite}.bear[data-expr=oups] .bear-svg[data-v-e77f0f74]{animation:b-shrink-e77f0f74 1.4s var(--ease-soft)}.bear[data-expr=dodo] .bear-svg[data-v-e77f0f74]{animation:b-snore-e77f0f74 4.5s var(--ease-soft) infinite}.a-think circle[data-v-e77f0f74]{animation:b-think-e77f0f74 1.6s var(--ease-soft) infinite;transform-box:fill-box;transform-origin:center}.a-think circle[data-v-e77f0f74]:nth-child(2){animation-delay:.25s}.a-think circle[data-v-e77f0f74]:nth-child(3){animation-delay:.5s}@keyframes b-breathe-e77f0f74{0%,to{transform:scale(1)}50%{transform:scale(1.015,.985)}}@keyframes b-ear-l-e77f0f74{0%,to{transform:rotate(0) scale(1)}50%{transform:rotate(-6deg) scale(1.03,.97)}}@keyframes b-ear-r-e77f0f74{0%,to{transform:rotate(0) scale(1)}50%{transform:rotate(6deg) scale(1.03,.97)}}@keyframes b-blink-e77f0f74{0%,45%,53%,to{transform:scaleY(1)}49%{transform:scaleY(.12)}}@keyframes b-hop-e77f0f74{0%,to{transform:translateY(0) scale(1)}30%{transform:translateY(-16px) scale(.94,1.08)}55%{transform:translateY(0) scale(1.08,.92)}75%{transform:translateY(-4px) scale(1)}}@keyframes b-wave-e77f0f74{0%,to{transform:rotate(0)}25%{transform:rotate(-3deg)}75%{transform:rotate(3deg)}}@keyframes b-lean-e77f0f74{0%,to{transform:rotate(0) translate(0)}50%{transform:rotate(2deg) translate(3px)}}@keyframes b-shrink-e77f0f74{0%{transform:scale(1)}30%{transform:scale(.9,.94) translateY(6px)}to{transform:scale(1)}}@keyframes b-snore-e77f0f74{0%,to{transform:rotate(-3deg) translateY(0)}50%{transform:rotate(-3deg) translateY(4px)}}@keyframes b-think-e77f0f74{0%,to{transform:translateY(0);opacity:.5}50%{transform:translateY(-2px);opacity:1}}@keyframes b-zzz-e77f0f74{0%{opacity:0;transform:translateY(4px)}40%{opacity:.7}to{opacity:0;transform:translate(6px,-12px)}}.bear.squash .bear-svg[data-v-e77f0f74]{transform:scale(1.15,.82) translateY(12px)!important}.bear.stretch .bear-svg[data-v-e77f0f74]{transform:scale(.9,1.12) translateY(-10px)!important}.bp-mascot--sm .bear[data-v-e77f0f74]{transform:scale(.32)}.bp-mascot--lg .bear[data-v-e77f0f74]{transform:scale(.64)}.bp-mascot--sm .mascot-body[data-v-e77f0f74]{width:64px;height:50px}.bp-mascot--lg .mascot-body[data-v-e77f0f74]{width:128px;height:100px}.mascot-bubble[data-v-e77f0f74]{background:#fff;border:2.5px solid var(--bark);border-radius:var(--radius-lg);padding:var(--space-3) var(--space-4);font-size:var(--text-sm);color:var(--bark);max-width:260px;text-align:center;position:relative;box-shadow:0 4px 12px #3d2b1f1a;line-height:var(--leading-normal);font-weight:700}.mascot-bubble[data-v-e77f0f74]:before{content:"";position:absolute;top:-11px;left:50%;transform:translate(-50%);border:5px solid transparent;border-bottom-color:var(--bark)}.mascot-bubble[data-v-e77f0f74]:after{content:"";position:absolute;top:-7px;left:50%;transform:translate(-50%);border:5px solid transparent;border-bottom-color:#fff}.mascot-hanzi-bubble[data-v-e77f0f74]{position:absolute;top:-8px;background:#fff;color:var(--coral);padding:10px 16px;border-radius:18px;font-family:var(--font-serif);font-size:20px;font-weight:700;box-shadow:var(--shadow-jelly);border:2.5px solid var(--bark);white-space:nowrap;pointer-events:none}.mascot-hanzi-bubble--right[data-v-e77f0f74]{right:-8px;transform:translate(70%);max-width:min(140px,calc(50vw - 10px));white-space:normal;text-align:center}.mascot-hanzi-bubble--left[data-v-e77f0f74]{left:-8px;transform:translate(-70%);max-width:min(140px,calc(50vw - 10px));white-space:normal;text-align:center}.mascot-hanzi-bubble__tail[data-v-e77f0f74]{position:absolute;bottom:-8px;width:12px;height:12px;background:#fff;transform:rotate(45deg);border-radius:2px;border-right:2.5px solid var(--bark);border-bottom:2.5px solid var(--bark)}.mascot-hanzi-bubble--right .mascot-hanzi-bubble__tail[data-v-e77f0f74]{left:20px}.mascot-hanzi-bubble--left .mascot-hanzi-bubble__tail[data-v-e77f0f74]{right:20px}.dev-skip-btn[data-v-8f9ca2a1]{position:fixed;top:8px;right:8px;z-index:9999;background:#1a1c30;border:1px solid #f0c060;border-radius:8px;color:#f0c060;font-size:11px;font-family:monospace;padding:6px 10px;cursor:pointer;white-space:nowrap}.onboarding[data-v-8f9ca2a1]{min-height:100dvh;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:70px var(--space-4) var(--space-4);background:var(--rice)}.onboarding-topbar[data-v-8f9ca2a1]{position:fixed;top:max(14px,env(safe-area-inset-top));left:max(14px,env(safe-area-inset-left));right:max(14px,env(safe-area-inset-right));z-index:2;display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);pointer-events:none}.topbar-link[data-v-8f9ca2a1],.language-switch[data-v-8f9ca2a1]{pointer-events:auto;min-height:40px;display:inline-flex;align-items:center;justify-content:center;border:1px solid rgba(61,43,31,.1);border-radius:var(--radius-full);background:#ffffffd1;color:var(--bark);box-shadow:var(--shadow-sm);text-decoration:none;font-size:var(--text-sm);font-weight:var(--weight-bold)}.topbar-link[data-v-8f9ca2a1]{padding:0 var(--space-4)}.language-switch[data-v-8f9ca2a1]{gap:var(--space-2);padding:0 var(--space-3);color:var(--bark-muted)}.language-switch span[data-v-8f9ca2a1]{color:var(--bark)}.language-switch a[data-v-8f9ca2a1]{color:var(--bark-muted);text-decoration:none}.step[data-v-8f9ca2a1]{display:flex;flex-direction:column;gap:16px;width:100%;max-width:400px}.zone-child[data-v-8f9ca2a1]{display:flex;flex-direction:column;gap:12px}.child-header[data-v-8f9ca2a1]{display:flex;align-items:center;gap:14px}.child-header h1[data-v-8f9ca2a1]{font-size:20px;font-weight:900;color:var(--bark);margin:0 0 2px;line-height:1.1}.subtitle[data-v-8f9ca2a1]{font-size:14px;color:var(--bark-muted);margin:0}.zone-parent[data-v-8f9ca2a1]{display:flex;flex-direction:column;gap:10px;background:#3d2b1f0a;border:1.5px solid rgba(61,43,31,.08);border-radius:var(--radius-xl);padding:14px}.zone-parent-label[data-v-8f9ca2a1]{font-size:var(--text-micro);font-weight:900;letter-spacing:.1em;text-transform:uppercase;color:var(--bark-muted)}.email-stakes[data-v-8f9ca2a1]{display:flex;flex-direction:column;gap:6px}.stake[data-v-8f9ca2a1]{display:flex;align-items:flex-start;gap:8px;font-size:13px;line-height:1.4;color:var(--bark-muted)}.stake-icon[data-v-8f9ca2a1]{flex-shrink:0;font-size:13px}.stake--ok[data-v-8f9ca2a1]{color:var(--jade-dark)}.stake--warn[data-v-8f9ca2a1]{color:var(--bark-muted)}.step-footer[data-v-8f9ca2a1]{display:flex;align-items:center;justify-content:space-between;padding-top:4px}.name-input[data-v-8f9ca2a1]{width:100%;font-family:var(--font-sans);font-size:var(--text-lg);font-weight:var(--weight-medium);text-align:center;color:var(--bark);background:#fff;border:2px solid rgba(61,43,31,.12);border-radius:var(--radius-lg);padding:12px var(--space-4);outline:none;transition:border-color var(--duration-normal) var(--ease-smooth)}.name-input[data-v-8f9ca2a1]:focus{border-color:var(--jade)}.email-input[data-v-8f9ca2a1]{width:100%;font-family:var(--font-sans);font-size:var(--text-sm);font-weight:var(--weight-medium);color:var(--bark);background:#fff;border:2px solid rgba(61,43,31,.12);border-radius:var(--radius-lg);padding:10px var(--space-4);outline:none;transition:border-color var(--duration-normal) var(--ease-smooth)}.email-input[data-v-8f9ca2a1]:focus{border-color:var(--jade)}.color-picker[data-v-8f9ca2a1]{display:flex;gap:10px;justify-content:flex-start}.color-swatch[data-v-8f9ca2a1]{width:36px;height:36px;border-radius:var(--radius-full);border:2px solid transparent;box-shadow:0 2px 4px #0000001f;transition:transform var(--duration-fast) var(--ease-spring);outline:none;cursor:pointer;flex-shrink:0}.color-swatch[data-v-8f9ca2a1]:active{transform:scale(.9)}.color-swatch.selected[data-v-8f9ca2a1]{border-color:var(--bark);transform:scale(1.18)}.link-btn[data-v-8f9ca2a1]{background:none;border:none;font-size:13px;color:var(--sky-dark);text-decoration:underline;padding:8px 0;cursor:pointer;min-height:unset}.feedback-msg[data-v-8f9ca2a1]{font-size:var(--text-sm);color:var(--error);text-align:center}.feedback-msg--ok[data-v-8f9ca2a1]{color:var(--jade-dark)}.name-input--code[data-v-8f9ca2a1]{letter-spacing:.3em;font-size:var(--text-xl);text-align:center}.email-error[data-v-8f9ca2a1]{font-size:var(--text-xs);color:var(--error);text-align:left;margin-top:-2px}.privacy-link[data-v-8f9ca2a1]{font-size:13px;color:var(--bark-muted);text-decoration:underline;opacity:.6;padding:8px 0}.freemium-transparency-note[data-v-8f9ca2a1]{font-size:var(--text-2xs);color:var(--bark-muted);text-align:center;margin-top:4px;margin-bottom:4px;opacity:.8;line-height:1.3}.step-enter-active[data-v-8f9ca2a1]{transition:all var(--duration-slow) var(--ease-spring)}.step-leave-active[data-v-8f9ca2a1]{transition:all var(--duration-normal) var(--ease-smooth)}.step-enter-from[data-v-8f9ca2a1]{opacity:0;transform:translate(40px)}.step-leave-to[data-v-8f9ca2a1]{opacity:0;transform:translate(-40px)}.survey-root[data-v-a417894e]{position:fixed;top:0;right:0;bottom:0;left:0;z-index:500;overflow-y:auto}.survey-screen[data-v-a417894e]{min-height:100dvh;display:flex;flex-direction:column;padding:24px 20px calc(24px + env(safe-area-inset-bottom));gap:var(--space-4)}.survey-screen--step1[data-v-a417894e]{background:linear-gradient(180deg,var(--coral-light) 0%,white3DD 35%,var(--rice) 100%)}.survey-header[data-v-a417894e]{display:flex;flex-direction:column;gap:var(--space-3)}.survey-mascot-row[data-v-a417894e]{display:flex;align-items:flex-start;gap:12px}.survey-speech-bubble[data-v-a417894e]{flex:1;min-width:0;margin-top:2px;background:var(--cream);border:1px solid var(--cloud);border-radius:4px 18px 18px;padding:10px 14px;font-size:13.5px;line-height:1.45;font-weight:600;color:var(--bark);box-shadow:var(--shadow-soft)}.survey-title[data-v-a417894e]{font-size:var(--text-xl);font-weight:var(--weight-bold);color:var(--bark);margin:0;text-align:left}.survey-content[data-v-a417894e]{flex:1;display:flex;flex-direction:column;gap:var(--space-5);justify-content:center}.survey-question-box[data-v-a417894e]{display:flex;flex-direction:column;gap:var(--space-2)}.question-label[data-v-a417894e]{font-size:var(--text-base);font-weight:var(--weight-bold);color:var(--bark);text-align:left;margin:0}.choice-row[data-v-a417894e]{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-2)}.choice-row--2[data-v-a417894e]{grid-template-columns:repeat(2,1fr)}.choice-chip[data-v-a417894e]{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-1);padding:var(--space-3) var(--space-2);border-radius:var(--radius-lg);background:var(--cream);border:2px solid var(--cloud);box-shadow:var(--shadow-soft);cursor:pointer;outline:none;transition:all var(--dur-tap) var(--ease-soft);min-height:80px}.choice-chip[data-v-a417894e]:focus-visible{outline:var(--focus-ring);outline-offset:var(--focus-offset)}.choice-chip[data-v-a417894e]:active{transform:scale(.95)}.choice-chip.selected[data-v-a417894e]{background:var(--bg);border-color:var(--accent);transform:scale(1.05)}.chip-glyph[data-v-a417894e]{font-size:var(--text-lg);font-weight:var(--weight-bold);line-height:1}.chip-glyph.hanzi[data-v-a417894e]{font-family:var(--font-serif)}.chip-glyph.bopomofo[data-v-a417894e]{font-family:var(--font-sans);color:var(--sky)}.choice-chip.selected .chip-glyph.bopomofo[data-v-a417894e]{color:var(--accent-dark)}.chip-label[data-v-a417894e]{font-size:var(--text-xs);font-weight:var(--weight-semibold);color:var(--bark)}.choice-chip.selected .chip-label[data-v-a417894e]{color:var(--accent-dark)}.survey-footer[data-v-a417894e]{display:flex;flex-direction:column;gap:var(--space-3);margin-top:var(--space-2)}.parent-note[data-v-a417894e]{padding:8px 12px;background:var(--gold-light);border:1px solid var(--cloud);border-radius:var(--radius-md);display:flex;align-items:center;gap:8px;font-size:var(--text-2xs);color:var(--bark-muted);font-weight:600;line-height:1.35;text-align:left}.result-screen[data-v-a417894e]{padding:24px;overflow:hidden;position:relative}.result-back-btn[data-v-a417894e]{display:inline-flex;align-items:center;gap:4px;background:var(--cream-overlay);border:1px solid var(--cloud);border-radius:var(--radius-full);padding:6px 12px;font-size:var(--text-xs);font-weight:700;color:var(--bark-muted);min-height:unset;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);position:relative;z-index:1;cursor:pointer}.result-back-btn[data-v-a417894e]:focus-visible{outline:var(--focus-ring);outline-offset:var(--focus-offset)}.result-halo[data-v-a417894e]{position:absolute;top:-60px;left:50%;transform:translate(-50%);width:360px;height:360px;pointer-events:none}.result-body[data-v-a417894e]{flex:1;display:flex;flex-direction:column;justify-content:center;text-align:center;position:relative}.result-title[data-v-a417894e]{margin:8px 0 6px;font-size:var(--text-xl);font-weight:800;line-height:1.15;color:var(--bark)}.result-pill[data-v-a417894e]{margin:10px auto 14px;display:inline-flex;align-self:center;align-items:center;gap:10px;background:var(--cream);border:2px solid;padding:8px 16px 8px 10px;border-radius:var(--radius-full);box-shadow:var(--shadow-soft)}.result-hanzi[data-v-a417894e]{font-size:26px;font-weight:700;line-height:1;font-family:var(--font-zh)}.result-label[data-v-a417894e]{font-size:13px;font-weight:800;color:var(--bark);letter-spacing:.02em}.result-line[data-v-a417894e]{margin:4px auto 0;max-width:320px;font-size:var(--text-sm);line-height:1.5;color:var(--bark-muted)}.result-note[data-v-a417894e]{margin:18px auto 0;max-width:320px;padding:10px 12px;background:var(--cream-overlay);border:1px solid var(--cloud);border-radius:var(--radius-md);font-size:var(--text-2xs);font-weight:600;color:var(--bark-muted);line-height:1.45}.result-cta[data-v-a417894e]{width:100%!important;margin-top:18px;background:var(--accent)!important;box-shadow:0 8px 22px var(--accent-shadow)!important}.result-cta[data-v-a417894e]:focus-visible{outline:var(--focus-ring)!important;outline-offset:var(--focus-offset)}.fade-enter-active[data-v-a417894e],.fade-leave-active[data-v-a417894e]{transition:opacity var(--duration-normal) ease}.fade-enter-from[data-v-a417894e],.fade-leave-to[data-v-a417894e]{opacity:0}.welcome-root[data-v-7b2bfba9]{position:fixed;top:0;right:0;bottom:0;left:0;z-index:500;overflow:hidden}.welcome-screen[data-v-7b2bfba9]{height:100dvh;display:flex;flex-direction:column;padding:calc(env(safe-area-inset-top) + 12px) 20px calc(12px + env(safe-area-inset-bottom));gap:var(--space-2);overflow-y:auto}.welcome-header[data-v-7b2bfba9]{text-align:center;display:flex;flex-direction:column;gap:var(--space-2);flex-shrink:0}.welcome-title[data-v-7b2bfba9]{font-size:var(--text-lg);font-weight:900;line-height:1.15;color:var(--bark);margin:0;margin-top:var(--space-1)}.welcome-text[data-v-7b2bfba9]{margin:0 auto;max-width:320px;font-size:var(--text-sm);line-height:1.45;color:var(--bark-muted)}.interactive-area[data-v-7b2bfba9]{flex:1;min-height:0;overflow-y:auto;display:flex;flex-direction:column}.bopo-card[data-v-7b2bfba9]{margin:auto 0;background:#fff;border-radius:var(--radius-xl);border:1px solid var(--cloud);padding:var(--space-4) var(--space-3) var(--space-3);box-shadow:var(--shadow-sm);text-align:center;position:relative;display:flex;flex-direction:column;gap:var(--space-2)}.eyebrow[data-v-7b2bfba9]{font-size:var(--text-2xs);font-weight:800;letter-spacing:.1em}.bopo-circle[data-v-7b2bfba9]{position:relative;margin:var(--space-1) auto;display:grid;place-items:center;width:80px;height:80px;border-radius:var(--radius-full);background:var(--sky-light);border:2px solid var(--sky);cursor:pointer;transition:transform .12s var(--ease-spring);outline:none}.bopo-circle[data-v-7b2bfba9]:active{transform:scale(.95)}.bopo-audio-btn[data-v-7b2bfba9]{position:absolute;bottom:8px;right:8px;width:30px;height:30px;background:var(--sky);color:#fff;border-radius:var(--radius-full);display:grid;place-items:center;box-shadow:var(--shadow-sm)}.bopo-pulse[data-v-7b2bfba9]{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:var(--radius-full);border:2px solid var(--sky);animation:audioPulse-7b2bfba9 .9s ease-out forwards;pointer-events:none}@keyframes audioPulse-7b2bfba9{0%{transform:scale(1);opacity:.7}to{transform:scale(1.25);opacity:0}}.bopo-hint[data-v-7b2bfba9]{font-size:var(--text-xs);color:var(--bark-muted);font-weight:600;min-height:20px}.reveal-content[data-v-7b2bfba9]{display:flex;flex-direction:column;gap:var(--space-3);margin-top:var(--space-1)}.reveal-box[data-v-7b2bfba9]{padding:var(--space-3);background:var(--coral-light);border-radius:var(--radius-lg);animation:bounceIn-7b2bfba9 .5s var(--ease-spring);border:1px dashed rgba(255,107,74,.3)}@keyframes bounceIn-7b2bfba9{0%{transform:scale(.7);opacity:0}60%{transform:scale(1.08);opacity:1}to{transform:scale(1)}}.sprout-card[data-v-7b2bfba9]{display:flex;align-items:center;justify-content:center;gap:8px;background:var(--jade-light);border:1px solid var(--jade-light);border-radius:var(--radius-md);padding:var(--space-2) var(--space-3);animation:bounceIn-7b2bfba9 .6s var(--ease-spring) .2s both}.sprout-emoji[data-v-7b2bfba9]{font-size:var(--text-lg);animation:sproutGrow-7b2bfba9 1.2s ease-out infinite alternate}@keyframes sproutGrow-7b2bfba9{0%{transform:scale(.9) rotate(-5deg)}to{transform:scale(1.1) rotate(5deg)}}.sprout-text[data-v-7b2bfba9]{font-size:var(--text-xs);font-weight:700;color:var(--jade-dark)}.welcome-footer[data-v-7b2bfba9]{margin-top:var(--space-2);flex-shrink:0}.slide-up-enter-active[data-v-7b2bfba9]{transition:all var(--duration-normal) var(--ease-spring)}.slide-up-enter-from[data-v-7b2bfba9]{opacity:0;transform:translateY(20px)}.levelup-overlay[data-v-beb7b719]{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:500}.levelup-card[data-v-beb7b719]{background:#fff;border-radius:var(--r-card);padding:var(--space-10) var(--space-8);display:flex;flex-direction:column;align-items:center;gap:var(--space-4);max-width:320px;text-align:center;box-shadow:var(--shadow-jelly-lg)}.levelup-confetti[data-v-beb7b719]{font-size:2rem;letter-spacing:.2em;animation:float 2s ease-in-out infinite}.levelup-title[data-v-beb7b719]{font-size:var(--text-3xl);font-weight:var(--weight-bold);color:var(--jade)}.levelup-sub[data-v-beb7b719]{font-size:var(--text-base);color:var(--bark-muted)}.levelup-hint[data-v-beb7b719]{font-size:var(--text-xs);color:var(--bark-muted);opacity:.6}.levelup-enter-active[data-v-beb7b719]{transition:all .5s var(--ease-jelly)}.levelup-enter-from[data-v-beb7b719]{opacity:0;transform:scale(.7)}.levelup-leave-active[data-v-beb7b719]{transition:all .3s var(--ease-soft)}.levelup-leave-to[data-v-beb7b719]{opacity:0;transform:scale(1.05)}.install-prompt[data-v-bc672023]{position:fixed;bottom:calc(var(--nav-height, 64px) + var(--space-3));left:var(--space-4);right:var(--space-4);background:var(--bark);color:#fff;border-radius:var(--radius-xl);padding:var(--space-4) var(--space-5);box-shadow:var(--shadow-lg);z-index:150;display:flex;align-items:flex-start;gap:var(--space-3)}@media (min-width: 768px){.install-prompt[data-v-bc672023]{bottom:var(--space-4);left:calc(100px + var(--space-4))}}.close-btn[data-v-bc672023]{position:absolute;top:var(--space-3);right:var(--space-3);background:transparent;color:#fff9;font-size:var(--text-sm);min-height:unset;padding:var(--space-1)}.install-body[data-v-bc672023]{display:flex;align-items:center;gap:var(--space-3);flex:1}.install-icon[data-v-bc672023]{font-size:1.8rem;flex-shrink:0}.install-title[data-v-bc672023]{font-weight:var(--weight-bold);font-size:var(--text-sm);margin-bottom:2px}.install-hint[data-v-bc672023]{font-size:var(--text-xs);opacity:.8;line-height:1.5}.slide-up-enter-active[data-v-bc672023]{transition:all .4s var(--ease-spring)}.slide-up-leave-active[data-v-bc672023]{transition:all .25s var(--ease-smooth)}.slide-up-enter-from[data-v-bc672023],.slide-up-leave-to[data-v-bc672023]{opacity:0;transform:translateY(20px)}.smm-overlay[data-v-4435d2f5]{position:fixed;top:0;right:0;bottom:0;left:0;z-index:500;background:#3d2b1f8c;display:flex;align-items:center;justify-content:center;padding:24px}.smm-card[data-v-4435d2f5]{position:relative;background:var(--rice);border:2px solid var(--bark);border-radius:var(--radius-xl, 24px);box-shadow:var(--shadow-lg);padding:28px 24px 24px;max-width:320px;width:100%;display:flex;flex-direction:column;align-items:center;gap:12px;text-align:center}.smm-icon[data-v-4435d2f5]{display:flex;align-items:center;justify-content:center}.smm-title[data-v-4435d2f5]{font-size:20px;font-weight:900;color:var(--bark);margin:0}.smm-body[data-v-4435d2f5]{font-size:14px;font-weight:600;color:var(--bark-muted);margin:0;line-height:1.5}.smm-parent-btn[data-v-4435d2f5]{display:flex;align-items:center;gap:8px;background:var(--bark);color:#fff;border:none;border-radius:var(--radius-full, 999px);padding:12px 20px;font-size:14px;font-weight:800;cursor:pointer;min-height:unset;width:100%;justify-content:center;transition:transform .1s var(--ease-spring)}.smm-parent-btn[data-v-4435d2f5]:active{transform:scale(.96)}.smm-x[data-v-4435d2f5]{position:absolute;top:14px;right:14px;width:32px;height:32px;padding:0;border-radius:var(--radius-full);background:var(--mist);border:2px solid var(--bark);color:var(--bark);cursor:pointer;display:grid;place-items:center;min-height:unset;min-width:unset;transition:background .12s}.smm-x[data-v-4435d2f5]:active{background:var(--bark);color:#fff}.smm-close[data-v-4435d2f5]{background:none;border:2px solid var(--bark-muted);border-radius:var(--radius-full, 999px);color:var(--bark-muted);font-size:13px;font-weight:700;padding:10px 24px;cursor:pointer;min-height:unset;width:100%;transition:border-color .12s,color .12s}.smm-close[data-v-4435d2f5]:active{border-color:var(--bark);color:var(--bark)}.smm-fade-enter-active[data-v-4435d2f5]{animation:smmIn-4435d2f5 .28s var(--ease-spring) both}.smm-fade-leave-active[data-v-4435d2f5]{animation:smmIn-4435d2f5 .18s var(--ease-spring) reverse both}@keyframes smmIn-4435d2f5{0%{opacity:0;transform:scale(.88) translateY(16px)}to{opacity:1;transform:scale(1) translateY(0)}}@media (min-width: 768px){.app-main{margin-left:max(100px,calc((100vw - var(--max-content)) / 2 + 50px));margin-right:0;padding-bottom:var(--space-6)}.update-banner{bottom:var(--space-4);left:calc(100px + var(--space-4));transform:none}}@media (min-width: 1024px){.app-main{max-width:800px;margin-left:max(100px,calc((100vw - 800px)/2 + 50px))}}.update-banner{position:fixed;bottom:calc(var(--nav-total-height) + var(--space-3));left:50%;transform:translate(-50%);background:var(--bark);color:#fff;border-radius:var(--radius-full);padding:var(--space-3) var(--space-5);display:flex;align-items:center;gap:var(--space-4);font-size:var(--text-sm);box-shadow:var(--shadow-lg);z-index:300;white-space:nowrap}.update-banner button{background:var(--jade);color:#fff;border-radius:var(--radius-full);padding:var(--space-1) var(--space-4);font-size:var(--text-sm);min-height:unset}.kid-exit-btn{position:fixed;top:env(safe-area-inset-top,12px);right:var(--space-3);z-index:400;display:flex;align-items:center;gap:5px;padding:8px 12px;border-radius:var(--radius-full);background:#0000001f;color:#00000073;font-size:.72rem;font-weight:700;min-height:unset;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);transition:background .2s,color .2s,transform .15s;-webkit-user-select:none;user-select:none}.silent-mode-badge{position:fixed;top:calc(var(--safe-top) + 12px);right:14px;z-index:260;width:34px;height:34px;min-height:unset;min-width:unset;padding:0;display:grid;place-items:center;border:1.5px solid rgba(61,43,31,.1);border-radius:var(--radius-full);background:var(--rice);color:var(--bark);box-shadow:0 4px 12px #3d2b1f14;cursor:pointer;transition:transform .2s var(--ease-jelly),box-shadow .2s var(--ease-jelly)}.silent-mode-badge:active{transform:scale(.94);box-shadow:0 2px 6px #3d2b1f0d}.audio-blocked-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:560;display:flex;align-items:flex-end;justify-content:center;padding:18px 16px calc(20px + env(safe-area-inset-bottom));background:#3d2b1f73;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.audio-blocked-card{position:relative;width:min(100%,360px);display:flex;flex-direction:column;align-items:center;gap:12px;padding:22px;border:1.5px solid var(--bark-border);border-radius:var(--r-btn);background:var(--rice);box-shadow:0 8px 24px #3d2b1f1f;text-align:center}.audio-blocked-close{position:absolute;top:10px;right:10px;width:34px;height:34px;min-height:unset;display:grid;place-items:center;border:1px solid var(--bark-border);border-radius:var(--radius-full);background:#fff;color:var(--bark);padding:0}.audio-blocked-icon{width:58px;height:58px;display:grid;place-items:center;border:1.5px solid var(--bark-border);border-radius:var(--radius-full);background:#fff;color:var(--bark);box-shadow:none}.audio-blocked-card h2{margin:0;color:var(--bark);font-size:20px;font-weight:900}.audio-blocked-card p{margin:0;color:var(--bark-muted);font-size:13px;line-height:1.5}.audio-blocked-primary{width:100%;min-height:46px;border:none;border-radius:var(--radius-pill);background:var(--jade);color:#fff;box-shadow:0 4px 12px #5b9e6b33;font-weight:900}.audio-blocked-fade-enter-active,.audio-blocked-fade-leave-active{transition:opacity .18s ease}.audio-blocked-fade-enter-from,.audio-blocked-fade-leave-to{opacity:0}.kid-exit-btn--pressing{background:#e85d4a2e;color:var(--error);transform:scale(1.08)}.kid-exit-enter-active{transition:all .3s var(--ease-spring)}.kid-exit-leave-active{transition:all .2s var(--ease-smooth)}.kid-exit-enter-from{opacity:0;transform:translateY(-6px)}.kid-exit-leave-to{opacity:0}.slide-up-enter-active{transition:all .4s var(--ease-spring)}.slide-up-leave-active{transition:all .25s var(--ease-smooth)}.slide-up-enter-from{opacity:0;transform:translate(-50%) translateY(20px)}.slide-up-leave-to{opacity:0;transform:translate(-50%) translateY(10px)}@media (max-width: 480px){.update-banner{width:calc(100% - var(--space-6));justify-content:space-between;white-space:normal}}.app-main-full{flex:1;width:100%;margin:0;padding:0}.circle-reveal-enter-active{animation:circle-reveal-in .55s var(--ease-soft) both}.circle-reveal-leave-active{animation:circle-reveal-out .28s ease both}@keyframes circle-reveal-in{0%{clip-path:circle(0% at var(--tap-x, 50%) var(--tap-y, 80%));opacity:.6}to{clip-path:circle(150% at var(--tap-x, 50%) var(--tap-y, 80%));opacity:1}}@keyframes circle-reveal-out{0%{opacity:1}to{opacity:0}}.hub-fade-enter-active{transition:opacity .34s var(--ease-soft)}.hub-fade-leave-active{transition:opacity .2s var(--ease-soft)}.hub-fade-enter-from,.hub-fade-leave-to{opacity:0}.app-bootstrap-loader{position:fixed;top:0;right:0;bottom:0;left:0;background:var(--rice);z-index:9999;display:flex;align-items:center;justify-content:center}.loader-content{display:flex;flex-direction:column;align-items:center;gap:var(--space-5);padding:var(--space-6);max-width:280px;width:100%}.loader-mascot-container{display:flex;justify-content:center;align-items:center;animation:loader-bounce 1.6s infinite var(--ease-jelly)}.bear-spinner{filter:drop-shadow(0 4px 10px rgba(61,43,31,.12))}.loader-track{width:140px;height:8px;background:var(--mist);border-radius:var(--radius-full);overflow:hidden;position:relative}.loader-bar{position:absolute;left:0;top:0;bottom:0;width:60%;background:var(--accent, var(--coral));border-radius:var(--radius-full);animation:loader-bar-anim 1.8s infinite ease-in-out}.loader-text{font-family:var(--font-sans);font-size:var(--text-sm);font-weight:var(--weight-bold);color:var(--bark-muted);text-align:center;animation:pulse-soft 1.8s infinite var(--ease-soft)}.loader-fade-enter-active,.loader-fade-leave-active{transition:opacity .4s var(--ease-soft)}.loader-fade-leave-active{pointer-events:none}.loader-fade-enter-from,.loader-fade-leave-to{opacity:0}@keyframes loader-bounce{0%,to{transform:translateY(0) scale(1)}50%{transform:translateY(-12px) scale(.96)}}@keyframes loader-bar-anim{0%{left:-40%;width:30%}50%{width:60%}to{left:110%;width:30%}}:root{--coral: #FF6B4A;--coral-d: #D94F32;--coral-l: #FFE6DC;--jade: #5B9E6B;--jade-d: #3D7250;--jade-l: #E6F4EA;--sky: #4A90D9;--sky-d: #2F6FAF;--sky-l: #E2EFFB;--gold: #F0A92E;--gold-d: #CE851A;--gold-l: #FFF1D8;--purple: #7C3AED;--purple-d: #5B21B6;--purple-l: #EFE7FC;--brick: #C85A2A;--brick-d: #A0421C;--brick-l: #FAEAE2;--bamboo: #8FB84A;--bamboo-l: #F2F7E6;--pearl-tea: #6B4226;--pearl-tea-l: #F5EDE6;--lantern: #B32020;--lantern-l: #FAEAEA;--rice: #FFF8EF;--cream: #FFF1E2;--cream-overlay: rgba(255, 241, 226, .75);--mist: #F2ECE3;--cloud: #E4DBCE;--bark: #3D2B1F;--bark-muted: #7A6355;--ink: #15100B;--bark-border: rgba(61, 43, 31, .1);--mist-border: var(--cloud);--hairline: 1px solid var(--cloud);--success: #16A34A;--error: #DC2626;--warning: #EA580C;--info: #0891B2;--bear: #2A2017;--bear-hi: #3A2C1E;--bear-lo: #1B130C;--muzzle: #4E3B2C;--nose: #0C0907;--crescent: #FBE8C8;--cheek: #FF5A46;--spirit-1: #BFA6FF;--spirit-2: #8C5BF0;--night: #1A1F2B;--forest-deep: #073B2C;--stage-day: linear-gradient(180deg, var(--sky-l) 0%, var(--rice) 70%);--stage-water: linear-gradient(180deg, var(--sky-l) 0%, var(--sky) 100%);--stage-sounds:linear-gradient(180deg, var(--sky-d) 0%, var(--forest-deep) 100%);--stage-words: linear-gradient(180deg, var(--coral-l) 0%, var(--rice) 78%);--stage-forest:linear-gradient(180deg, var(--jade-l) 0%, var(--bamboo-l) 100%);--stage-night: linear-gradient(180deg, var(--night) 0%, var(--forest-deep) 100%);--stage-market:linear-gradient(180deg, var(--purple-d) 0%, var(--pearl-tea) 100%);--stage-temps: linear-gradient(180deg, var(--ink) 0%, var(--purple-d) 58%, var(--bark) 100%);--stage-stall: linear-gradient(180deg, var(--pearl-tea) 0%, var(--bear-lo) 100%);--stage-win: linear-gradient(160deg, var(--rice) 0%, var(--gold-l) 100%);--stage-action:linear-gradient(135deg, var(--gold) 0%, var(--gold-d) 100%);--stage-forest-action: linear-gradient(135deg, var(--jade-d) 0%, var(--jade) 100%);--stage-moon: radial-gradient(circle at 35% 35%, var(--gold-l) 0%, var(--gold) 100%);--stage-orb: radial-gradient(circle at 36% 34%, var(--rice) 0%, var(--gold-l) 38%, var(--gold) 80%, var(--gold-d) 100%);--tone-1-bg: linear-gradient(155deg, var(--sky-d), var(--night));--tone-2-bg: linear-gradient(155deg, var(--jade-d), var(--forest-deep));--tone-3-bg: linear-gradient(155deg, var(--gold-d), var(--pearl-tea));--tone-4-bg: linear-gradient(155deg, var(--coral-d), var(--bear-lo));--tone-1-stroke: var(--sky-l);--tone-2-stroke: var(--jade-l);--tone-3-stroke: var(--gold-l);--tone-4-stroke: var(--coral-l);--font-sans: "Baloo 2", "Noto Sans TC", system-ui, -apple-system, sans-serif;--font-title: "Outfit", var(--font-sans);--font-zh: "Noto Serif TC", "BiauKai", "DFKai-SB", serif;--font-serif: var(--font-zh);--font-display: var(--font-zh);--text-micro: 10px;--text-2xs: 11px;--text-label: 12px;--text-xs: 14px;--text-sm: 16px;--text-base: 18px;--text-lg: 22px;--text-xl: 28px;--text-2xl: 36px;--text-display: 40px;--text-3xl: 48px;--text-4xl: 64px;--text-5xl: 96px;--text-bopo: 32px;--text-bopo-lg: 48px;--leading-tight: 1.15;--leading-normal: 1.5;--leading-loose: 1.8;--weight-normal: 400;--weight-medium: 500;--weight-semibold: 600;--weight-bold: 700;--weight-extrabold: 800;--weight-black: 900;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 20px;--space-6: 24px;--space-8: 32px;--space-10: 40px;--space-12: 48px;--space-16: 64px;--space-20: 80px;--r-xs: 10px;--r-sm: 14px;--r-row: 18px;--r-tile: 22px;--r-card: 24px;--r-sheet: 28px;--r-btn: 16px;--r-pill: 999px;--shadow-sm: 0 2px 8px rgba(61,43,31,.08);--shadow-md: 0 6px 16px rgba(61,43,31,.1);--shadow-lg: 0 12px 32px rgba(61,43,31,.16);--shadow-soft: 0 6px 16px rgba(61,43,31,.1);--shadow-jelly: 0 8px 20px rgba(61,43,31,.12);--shadow-jelly-lg: 0 12px 32px rgba(61,43,31,.16);--shadow-press: 0 4px 12px rgba(61,43,31,.08);--shadow-warm: 0 4px 16px rgba(61,43,31,.14);--shadow-jade: 0 6px 18px rgba(91,158,107,.28);--shadow-coral: 0 6px 18px rgba(255,107,74,.28);--shadow-brick: 0 6px 18px rgba(200,90,42,.26);--glow-jade: 0 0 20px rgba(91,158,107,.3);--glow-gold: 0 0 14px rgba(240,169,46,.42);--ease-jelly: cubic-bezier(.34, 1.56, .5, 1);--ease-soft: cubic-bezier(.4, 0, .2, 1);--ease-out: cubic-bezier(0, 0, .2, 1);--dur-tap: .18s;--dur-move: .42s;--dur-reveal: .6s;--max-content: 640px;--max-wide: 1180px;--sidebar-w: 248px;--header-height: 0px;--nav-height: 80px;--safe-top: env(safe-area-inset-top);--safe-bottom: env(safe-area-inset-bottom);--nav-total-height: calc(var(--nav-height) + var(--safe-bottom));--header-total-height: calc(var(--header-height) + var(--safe-top));--touch-min: 48px;--focus-ring: 3px solid var(--accent);--focus-offset: 3px;--accueil: var(--coral);--accueil-d: var(--coral-d);--accueil-l: var(--coral-l);--histoires: var(--gold);--histoires-d: var(--gold-d);--histoires-l: var(--gold-l);--jouer: var(--sky);--jouer-d: var(--sky-d);--jouer-l: var(--sky-l);--jardin: var(--jade);--jardin-d: var(--jade-d);--jardin-l: var(--jade-l);--marche: var(--purple);--marche-d: var(--purple-d);--marche-l: var(--purple-l);--domaine-sons: var(--sky);--domaine-mots: var(--coral);--domaine-lecture:var(--gold);--domaine-maths: var(--purple);--game-accent: var(--accent);--game-accent-d: var(--accent-d);--game-accent-l: var(--accent-l);--answer-right: var(--success);--answer-right-bg: #E7F6EC;--answer-wrong: var(--error);--answer-wrong-bg: #FCE9E4;--answer-border: 1.5px;--answer-dim: .35;--hanzi-answer: 44px;--hanzi-prompt: 64px;--hanzi-inline: var(--text-2xl);--hanzi-color: var(--bark);--audio-sm: 40px;--audio-md: 56px;--audio-lg: 72px;--audio-xl: 112px;--coral-dark: var(--coral-d);--coral-light: var(--coral-l);--coral-dk: var(--coral-d);--coral-lt: var(--coral-l);--jade-dark: var(--jade-d);--jade-light: var(--jade-l);--jade-dk: var(--jade-d);--jade-lt: var(--jade-l);--sky-dark: var(--sky-d);--sky-light: var(--sky-l);--sky-dk: var(--sky-d);--sky-lt: var(--sky-l);--gold-dark: var(--gold-d);--gold-light: var(--gold-l);--gold-dk: var(--gold-d);--gold-lt: var(--gold-l);--purple-dark:var(--purple-d);--purple-light:var(--purple-l);--purple-dk:var(--purple-d);--purple-lt:var(--purple-l);--brick-dark: var(--brick-d);--brick-light: var(--brick-l);--bamboo-light: var(--bamboo-l);--pearl-light: var(--pearl-tea-l);--lantern-light: var(--lantern-l);--bear-stroke: var(--bear-lo);--bg: var(--rice);--sand-light: var(--cream);--rice-dark: var(--cream);--pearl-glow: var(--accent);--info-lighter: var(--sky-l);--info-color: var(--sky);--bark-lighter: var(--mist);--bark-faint: var(--bark-muted);--hub-accueil: var(--accueil);--hub-accueil-d: var(--accueil-d);--hub-accueil-l: var(--accueil-l);--hub-lire: var(--histoires);--hub-lire-d: var(--histoires-d);--hub-lire-l: var(--histoires-l);--hub-jouer: var(--jouer);--hub-jouer-d: var(--jouer-d);--hub-jouer-l: var(--jouer-l);--hub-jardin: var(--jardin);--hub-jardin-d: var(--jardin-d);--hub-jardin-l: var(--jardin-l);--hub-histoires: var(--marche);--hub-histoires-d: var(--marche-d);--hub-histoires-l: var(--marche-l);--t-display: var(--text-display);--t-h1: var(--text-xl);--t-h2: var(--text-lg);--t-body: var(--text-base);--t-sm: var(--text-xs);--t-xs: var(--text-2xs);--hanzi-xl: var(--text-3xl);--font-sans-alias: var(--font-sans);--radius-sm: var(--r-sm);--radius-md: 16px;--radius-lg: var(--r-card);--radius-xl: 32px;--radius-full: var(--r-pill);--radius-card: var(--r-card);--radius-btn: var(--r-btn);--radius-pill: var(--r-pill);--radius-sheet: var(--r-sheet);--radius-input: var(--r-sm);--shadow-lg-alias: var(--shadow-lg);--ease-spring: var(--ease-jelly);--ease-smooth: var(--ease-soft);--duration-fast: var(--dur-tap);--duration-normal: var(--dur-move);--duration-slow: var(--dur-reveal);--spirit-violet-1: var(--spirit-1);--spirit-violet-2: var(--spirit-2)}[data-pearl=coral]{--accent: var(--coral);--accent-d: var(--coral-d);--accent-l: var(--coral-l)}[data-pearl=jade]{--accent: var(--jade);--accent-d: var(--jade-d);--accent-l: var(--jade-l)}[data-pearl=sky]{--accent: var(--sky);--accent-d: var(--sky-d);--accent-l: var(--sky-l)}[data-pearl=gold]{--accent: var(--gold);--accent-d: var(--gold-d);--accent-l: var(--gold-l)}[data-pearl=purple]{--accent: var(--purple);--accent-d: var(--purple-d);--accent-l: var(--purple-l)}:root{--accent: var(--coral);--accent-d: var(--coral-d);--accent-l: var(--coral-l)}.g-card{border-radius:var(--r-card);box-shadow:var(--shadow-jelly-lg);transition:transform var(--dur-tap) var(--ease-jelly),box-shadow var(--dur-tap) var(--ease-soft)}.g-card:active{transform:scale(.97);box-shadow:var(--shadow-press)}.g-btn{border:none;cursor:pointer;border-radius:var(--r-pill);font:800 var(--t-body)/1 var(--font-sans);padding:13px 22px;background:var(--accent);color:#fff;box-shadow:var(--shadow-md);transition:transform var(--dur-tap) var(--ease-jelly),box-shadow var(--dur-tap) var(--ease-soft)}.g-btn:active{transform:scale(.97);box-shadow:var(--shadow-press)}.g-btn.ghost{background:#fff;color:var(--accent-d);box-shadow:var(--shadow-jelly)}.bear{position:relative;width:204px;height:224px;cursor:pointer;-webkit-user-select:none;user-select:none}.bear .b-form{position:absolute;transition:transform .55s var(--ease-jelly)}.b-form{width:196px;height:188px;left:4px;top:30px;z-index:2;border-radius:var(--radius-full);background:radial-gradient(125% 125% at 50% 28%,var(--bear-hi),var(--bear) 56%,var(--bear-lo));box-shadow:inset 0 -22px 42px #00000052,inset 0 16px 26px #966e462e;animation:b-breathe 7s var(--ease-soft) infinite}.b-form .b-ear{position:absolute;top:-26px;z-index:-1;width:64px;height:60px;border-radius:54% 54% 46% 46%;background:linear-gradient(160deg,var(--bear-hi),var(--bear))}.b-form .b-ear.l{left:18px;animation:b-ear-l 4.4s var(--ease-soft) infinite;transform-origin:bottom center}.b-form .b-ear.r{right:18px;animation:b-ear-r 4.4s var(--ease-soft) infinite;transform-origin:bottom center}.b-skin{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;overflow:visible;z-index:3;pointer-events:none}.b-skin .muzzle{fill:var(--muzzle)}.b-skin .nose{fill:var(--nose)}.b-skin .crescent{fill:var(--crescent);filter:drop-shadow(0 2px 1px rgba(0,0,0,.18))}.b-skin .cheek{fill:var(--cheek);opacity:.82}.b-skin .eyes path,.b-skin .eyes line{stroke:var(--nose);stroke-width:7;stroke-linecap:round;fill:none}.b-skin .eyes .pupil{fill:var(--nose);stroke:none}.b-skin .eyes .hi{fill:#fff;stroke:none;opacity:.92}.b-skin .mouth path{stroke:var(--nose);stroke-width:5.5;stroke-linecap:round;stroke-linejoin:round;fill:none}.b-skin .mouth .fillm{fill:#7a2b22;stroke:none}.b-skin .mouth .tongue{fill:var(--cheek);stroke:none}.b-skin .eyes,.b-skin .mouth,.b-skin .acc{display:none}.bear.sm{transform:scale(.46);transform-origin:center bottom}.bear.md{transform:scale(.56);transform-origin:center bottom}.bear[data-expr=repos] .e-open,.bear[data-expr=repos] .m-smile,.bear[data-expr=hello] .e-open,.bear[data-expr=hello] .m-grin,.bear[data-expr=joie] .e-happy,.bear[data-expr=joie] .m-grin,.bear[data-expr=bravo] .e-star,.bear[data-expr=bravo] .m-open,.bear[data-expr=encour] .e-open,.bear[data-expr=encour] .m-smile,.bear[data-expr=pense] .e-think,.bear[data-expr=pense] .m-o,.bear[data-expr=pense] .a-think,.bear[data-expr=oups] .e-worry,.bear[data-expr=oups] .m-wavy,.bear[data-expr=dodo] .e-sleep,.bear[data-expr=dodo] .m-o,.bear[data-expr=dodo] .a-zzz{display:block}.bear[data-expr=repos] .e-open,.bear[data-expr=hello] .e-open,.bear[data-expr=encour] .e-open{animation:b-blink 4.6s var(--ease-soft) infinite;transform-box:fill-box;transform-origin:center}.bear[data-expr=hello]{animation:b-wave 2.4s var(--ease-soft) infinite}.bear[data-expr=joie] .b-form{animation:b-breathe 7s var(--ease-soft) infinite,b-hop 1.1s var(--ease-jelly) infinite}.bear[data-expr=bravo] .b-form{animation:b-hop .7s var(--ease-jelly) infinite}.bear[data-expr=encour]{animation:b-lean 2.2s var(--ease-soft) infinite}.bear[data-expr=oups] .b-form{animation:b-shrink 1.4s var(--ease-soft)}.bear[data-expr=dodo]{animation:b-snore 4.5s var(--ease-soft) infinite}.a-think .td{fill:var(--bark-muted);animation:b-think 1.6s var(--ease-soft) infinite;transform-box:fill-box;transform-origin:center}.a-think .td:nth-child(2){animation-delay:.25s}.a-think .td:nth-child(3){animation-delay:.5s}.a-zzz text{fill:var(--bark-muted);font:800 22px var(--font-sans);animation:b-zzz 3s var(--ease-soft) infinite}.bear.squash .b-form{transform:scale(1.1,.84) translateY(12px)}.bear.stretch .b-form{transform:scale(.92,1.1) translateY(-8px)}@keyframes b-breathe{0%,to{transform:scale(1)}50%{transform:scale(1.015,.985)}}@keyframes b-ear-l{0%,to{transform:rotate(0) scale(1)}50%{transform:rotate(-5deg) scale(1.04,.96)}}@keyframes b-ear-r{0%,to{transform:rotate(0) scale(1)}50%{transform:rotate(5deg) scale(1.04,.96)}}@keyframes b-blink{0%,45%,53%,to{transform:scaleY(1)}49%{transform:scaleY(.12)}}@keyframes b-hop{0%,to{transform:translateY(0) scale(1)}30%{transform:translateY(-16px) scale(.94,1.08)}55%{transform:translateY(0) scale(1.08,.92)}75%{transform:translateY(-4px) scale(1)}}@keyframes b-wave{0%,to{transform:rotate(0)}25%{transform:rotate(-4deg)}75%{transform:rotate(4deg)}}@keyframes b-lean{0%,to{transform:rotate(0) translate(0)}50%{transform:rotate(3deg) translate(4px)}}@keyframes b-shrink{0%{transform:scale(1)}30%{transform:scale(.9,.94) translateY(6px)}to{transform:scale(1)}}@keyframes b-snore{0%,to{transform:rotate(-3deg) translateY(0)}50%{transform:rotate(-3deg) translateY(4px)}}@keyframes b-think{0%,to{transform:translateY(0);opacity:.5}50%{transform:translateY(-2px);opacity:1}}@keyframes b-zzz{0%{opacity:0;transform:translateY(4px)}40%{opacity:1}to{opacity:0;transform:translate(6px,-10px)}}.spirit{position:relative;width:64px;height:64px;cursor:pointer;-webkit-user-select:none;user-select:none}.spirit .s-body{position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(circle at 38% 32%,var(--spirit-1),var(--spirit-2) 70%);border-radius:52% 48% 46% 54%/56% 52% 48% 44%;box-shadow:0 8px 18px #7c3aed66,inset 0 -6px 12px #461e8c66,inset 0 5px 10px #ffffff80;animation:sp-morph 5s var(--ease-soft) infinite,sp-float 3.4s var(--ease-soft) infinite}.spirit .s-eye{position:absolute;top:28px;width:8px;height:11px;border-radius:var(--radius-full);background:#2a1860;z-index:2;animation:sp-blink 4s var(--ease-soft) infinite}.spirit .s-eye.l{left:21px}.spirit .s-eye.r{right:21px}.spirit .s-eye:after{content:"";position:absolute;top:2px;left:2px;width:3px;height:3px;border-radius:50%;background:#fff}.spirit .s-blush{position:absolute;top:36px;width:10px;height:6px;border-radius:var(--radius-full);background:#ff789699;z-index:2}.spirit .s-blush.l{left:12px}.spirit .s-blush.r{right:12px}.spirit .s-spark{position:absolute;top:-6px;right:-4px;font-size:14px;animation:sp-twinkle 2.6s var(--ease-soft) infinite}.spirit.glee .s-body{animation:sp-morph 5s var(--ease-soft) infinite,sp-bounce .6s var(--ease-jelly) 2}.spirit.sm{transform:scale(.7);transform-origin:center}@keyframes sp-morph{0%,to{border-radius:52% 48% 46% 54%/56% 52% 48% 44%}50%{border-radius:46% 54% 52% 48%/48% 56% 44% 52%}}@keyframes sp-float{0%,to{transform:translateY(0)}50%{transform:translateY(-7px)}}@keyframes sp-bounce{0%,to{transform:translateY(0) scale(1)}40%{transform:translateY(-14px) scale(.92,1.1)}70%{transform:translateY(0) scale(1.08,.92)}}@keyframes sp-blink{0%,46%,54%,to{transform:scaleY(1)}50%{transform:scaleY(.1)}}@keyframes sp-twinkle{0%,to{opacity:.5;transform:scale(.8) rotate(0)}50%{opacity:1;transform:scale(1.2) rotate(20deg)}}.narrator{position:relative;width:120px;height:120px}.narrator .ring{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:var(--radius-full);border:2px solid currentColor;opacity:0}.narrator.on .ring{animation:nar-ring 2.4s var(--ease-soft) infinite}.narrator.on .ring.r2{animation-delay:.8s}.narrator.on .ring.r3{animation-delay:1.6s}.narrator .spirit{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%) scale(1.5)}.narrator.on .spirit .s-body{animation:sp-morph 2.2s var(--ease-soft) infinite,nar-breathe 1.1s var(--ease-soft) infinite}@keyframes nar-ring{0%{transform:scale(.6);opacity:.55}to{transform:scale(1.7);opacity:0}}@keyframes nar-breathe{0%,to{transform:scale(1)}50%{transform:scale(1.08,.94)}}.spot{position:relative;border-radius:var(--r-tile);display:grid;place-items:center;cursor:pointer;aspect-ratio:1;background:#fff;box-shadow:var(--shadow-jelly);transition:transform .25s var(--ease-jelly)}.spot:hover,.spot:active{transform:translateY(-4px)}.spot svg{width:58%;height:58%;overflow:visible}.spot .blob-fill{fill:var(--accent)}.spot .blob-stroke{stroke:var(--accent)}.spot svg [class^=ic-]{transform-box:fill-box;transform-origin:50% 60%;animation:spotFloat 4s var(--ease-soft) infinite}@keyframes spotFloat{0%,to{transform:translateY(0)}50%{transform:translateY(-2.5px)}}.nav{display:flex;align-items:center;gap:4px;background:#ffffffdb;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border:1.5px solid rgba(61,43,31,.1);border-radius:var(--r-pill);padding:6px;box-shadow:var(--shadow-jelly);transition:transform var(--dur-move) var(--ease-jelly),opacity .3s ease}.nav.hidden{transform:translateY(90px);opacity:0;pointer-events:none}.nav .nt{width:56px;height:56px;border-radius:var(--radius-full);border:none;background:none;display:grid;place-items:center;cursor:pointer;position:relative;color:var(--bark-muted);transition:color .25s,transform .35s var(--ease-jelly)}.nav .nt svg{width:28px;height:28px;fill:currentColor;position:relative;z-index:1}.nav .nt.on{color:#fff;transform:translateY(-2px)}.nav .nt.on:before{content:"";position:absolute;top:6px;right:6px;bottom:6px;left:6px;border-radius:var(--radius-full);z-index:0;background:var(--hub, var(--accent));box-shadow:var(--shadow-md);animation:nt-pop .4s var(--ease-jelly)}@keyframes nt-pop{0%{transform:scale(.4)}70%{transform:scale(1.12)}to{transform:scale(1)}}.view{opacity:0;visibility:hidden;transform:scale(.97);transition:opacity .34s var(--ease-soft),transform var(--dur-move) var(--ease-jelly),visibility .34s}.view.active{opacity:1;visibility:visible;transform:scale(1)}.view.immersive{clip-path:circle(0% at var(--ox,50%) var(--oy,90%));transition:clip-path var(--dur-reveal) var(--ease-soft),opacity .3s ease,transform var(--dur-move) var(--ease-jelly),visibility .3s}.view.immersive.active{clip-path:circle(150% at var(--ox,50%) var(--oy,90%))}@media (prefers-reduced-motion: reduce){*,.b-form,.b-ear,.spirit .s-body,.spot svg [class^=ic-]{animation:none!important}.view,.view.immersive{transition:opacity .2s linear!important}}[style*="background: white"],[style*="background:white"]{background:var(--rice)!important}[style*="background: #FBF2E1"],[style*="background:#FBF2E1"]{background:var(--cream)!important}[style*="background: #f5f5f5"],[style*="background:#f5f5f5"]{background:var(--mist)!important}[style*="color: white"],[style*="color:white"]{color:#fff!important}[style*="color: #333"],[style*="color:#333"],[style*="color: #3d2b1f"],[style*="color:#3d2b1f"]{color:var(--bark)!important}[style*="border: 1px solid #ddd"],[style*="border:1px solid #ddd"]{border:1px solid var(--mist-border)!important}[style*="box-shadow: 0 2px 4px"],[style*="box-shadow:0 2px 4px"]{box-shadow:var(--shadow-sm)!important}[style*="color: #3D2B1F"],[style*="color:#3D2B1F"]{color:var(--bark)!important}[style*="rgba(61, 43, 31"],[style*="rgba(255, 255, 255"]{opacity:inherit}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0;-webkit-tap-highlight-color:transparent}html{background:var(--rice);font-size:var(--text-base);touch-action:manipulation;min-height:100%}body{font-family:var(--font-sans);font-weight:var(--weight-normal);line-height:var(--leading-normal);background:var(--rice);color:var(--bark);min-height:100dvh;scroll-behavior:smooth;overscroll-behavior:none}body,#app{min-height:100%}.hanzi{font-family:var(--font-serif);font-size:var(--text-3xl);line-height:var(--leading-tight);color:var(--bark)}.bopomofo{font-family:var(--font-sans);font-size:var(--text-bopo);color:var(--sky);line-height:var(--leading-tight)}.translation{font-size:var(--text-base);color:var(--bark-muted)}.zh-deco{font-family:var(--font-serif);font-size:.58em;color:var(--sky);opacity:.6;margin-left:.28em;vertical-align:.08em;font-weight:400}.lock-overlay{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:inherit;background:#00000038;display:grid;place-items:center;color:#fff;z-index:1;pointer-events:none}#bopolearn{display:flex;flex-direction:column;min-height:100dvh;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}input,textarea{-webkit-user-select:text;user-select:text;-webkit-touch-callout:default}.app-main{flex:1;width:100%;max-width:var(--max-content);margin:0 auto;padding:0;padding-bottom:calc(var(--nav-total-height) + var(--space-3));overscroll-behavior:none}.app-main--no-nav{padding-bottom:var(--space-3)}button{cursor:pointer;font-family:var(--font-sans);font-size:var(--text-base);font-weight:var(--weight-medium);border:none;border-radius:var(--radius-md);min-height:var(--touch-min);min-width:var(--touch-min);padding:var(--space-3) var(--space-6);transition:transform var(--duration-fast) var(--ease-spring),opacity var(--duration-fast) var(--ease-smooth),outline var(--duration-fast) var(--ease-smooth)}button:active:not(:disabled){transform:scale(.94)}button:focus-visible{outline:var(--focus-ring);outline-offset:var(--focus-offset)}button:disabled{opacity:.5;cursor:not-allowed}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)}}@keyframes bounce-in{0%{transform:scale(.3);opacity:0}60%{transform:scale(1.1)}80%{transform:scale(.95)}to{transform:scale(1);opacity:1}}@keyframes wobble{0%,to{transform:rotate(0)}20%{transform:rotate(-6deg)}40%{transform:rotate(6deg)}60%{transform:rotate(-4deg)}80%{transform:rotate(4deg)}}@keyframes star-pop{0%{transform:scale(0) rotate(-30deg);opacity:0}70%{transform:scale(1.3) rotate(10deg)}to{transform:scale(1) rotate(0);opacity:1}}@keyframes pulse-soft{0%,to{opacity:1}50%{opacity:.6}}@keyframes audioPulse{0%{opacity:.7;transform:scale(1)}to{opacity:0;transform:scale(1.65)}}@keyframes feedbackPop{0%{opacity:0;transform:translateY(40px) scale(.94)}60%{opacity:1;transform:translateY(-4px) scale(1.02)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes confettiFall{0%{transform:translateY(-20px) rotate(0);opacity:1}to{transform:translateY(110vh) rotate(720deg);opacity:.5}}@keyframes stroke-pulse{0%,to{opacity:.25}50%{opacity:.55}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important}}@media (min-width: 768px) and (max-width: 899.98px){.app-main{padding:var(--space-8) var(--space-6);padding-bottom:var(--space-8)}}@media (min-width: 900px){.app-main:not(.app-main--no-nav){max-width:none;margin:0;padding:var(--space-8) clamp(28px,4vw,56px) var(--space-8) calc(var(--sidebar-w, 248px) + clamp(28px,4vw,56px))}.app-main:not(.app-main--no-nav)>*{max-width:var(--view-max, 820px);margin-inline:auto}}.is-locked{position:relative;opacity:.65;filter:grayscale(.4)}.is-locked:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:inherit;pointer-events:none}.lock-badge-overlay{position:absolute;top:8px;right:8px;z-index:10}.hub-glow{position:absolute;top:-120px;left:50%;transform:translate(-50%);width:460px;height:320px;border-radius:var(--radius-full);filter:blur(40px);opacity:.36;pointer-events:none;z-index:0}@media (max-width: 767px){.app-main:has(.session-view),.app-main:has(.session-wrapper),.app-main:has(.exercise-view){padding-bottom:0!important;height:100dvh;overflow:hidden}}@media (min-width: 900px){.app-main:has(.session-view),.app-main:has(.session-wrapper),.app-main:has(.exercise-view),.app-main:has(.exercise-shell){height:100dvh}}
