:root{--ff-color-night-950:#0b1026;--ff-color-forest-800:#133a2b;--ff-color-glow-gold:#ffd84d;--ff-color-glow-pink:#ff91c7;--ff-color-glow-sky:#72d7ff;--ff-color-paper-50:#fff9e8;--ff-color-success-600:#2f8f67;--ff-color-warning-600:#a85d00;--ff-color-danger-600:#b84444;--ff-bg-world:var(--ff-color-night-950);--ff-bg-forest:var(--ff-color-forest-800);--ff-bg-paper:var(--ff-color-paper-50);--ff-ink-on-world:#f2f0e6;--ff-ink-on-world-dim:#b9c0d8;--ff-ink-on-paper:#1e2233;--ff-ink-on-paper-dim:#4a5068;--ff-info:var(--ff-color-glow-sky);--ff-ok:var(--ff-color-success-600);--ff-warn:var(--ff-color-warning-600);--ff-err:var(--ff-color-danger-600);--ff-font-family:"PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", system-ui, sans-serif;--ff-font-size-parent-body-min:16px;--ff-touch-target-min:48px;--ff-child-primary-button-min-height:56px;--ff-parent-compact-button-min-height:44px;--ff-motion-tap-feedback:.15s;--ff-motion-state-transition:.25s;--ff-motion-scene-confirm-max:.5s;--ff-edge:4px;--ff-press-dy:3px;--ff-press-t:.1s;--ff-partner-gold:#ffd84d;--ff-partner-pink:#ff91c7;--ff-glow-core:0 0 8px #ffd84d8c;--ff-glow-primary:0 0 24px #ffd84d47;--ff-glow-pink:0 0 20px #ff91c73d;--ff-glow-ambient-max-opacity:.14;--ff-elevation-raised-card:0 12px 36px #03081847;--ff-plate-purple-bg:#f2efff;--ff-plate-purple-ink:#6366f1;--ff-plate-teal-bg:#e6faf4;--ff-plate-teal-ink:#0d9488;--ff-plate-green-bg:#e8f9f2;--ff-plate-green-ink:#10b981;--ff-plate-slate-bg:#f1f4f8;--ff-plate-slate-ink:#475569;--ff-rainbow-1:#f87171;--ff-rainbow-2:#fb923c;--ff-rainbow-3:#facc15;--ff-rainbow-4:#4ade80;--ff-rainbow-5:#22d3ee;--ff-rainbow-6:#60a5fa;--ff-rainbow-7:#a78bfa;--ff-rainbow-8:#f472b6;--ff-rainbow-9:#94a3b8;--ff-cover-sky-1:#dbeafe;--ff-cover-sky-2:#c7d2fe;--ff-cover-sky-ink:#4f46e5;--ff-cover-warm-1:#fef3c7;--ff-cover-warm-2:#fde68a;--ff-cover-warm-ink:#b45309;--ff-orb-hi:#fff;--ff-orb-mid:#ffeaa0;--ff-orb-lo:#f59e0b;--ff-orb-base:#d97706;--ff-orb-ink:#78350f;--ff-coin-hi:#ffe9a8;--ff-coin-mid:#faad14;--ff-coin-deep:#d48806;--ff-coin-ink:#4a2b00;--ff-vault-bg1:#fffdf7;--ff-vault-bg2:#fff6e5;--ff-vault-ink:#78350f;--ff-firefly-glow:#ffd666;--ff-firefly-night-glow:#fff1a8;--ff-firefly-halo:#faad14;--ff-duo-green:#58cc02;--ff-duo-green-hover:#52be02;--ff-duo-green-dark:#46a302;--ff-duo-green-darker:#398402;--ff-duo-yellow:#ffc800;--ff-duo-yellow-hover:#f5be00;--ff-duo-yellow-dark:#e59b00;--ff-duo-yellow-300:#fde047;--ff-duo-glow-yellow:#ffe600;--ff-duo-glow-gold:#fec700;--ff-duo-ring-gold:#ffdf92;--ff-duo-mist-green:#e8fbe0;--ff-duo-eel:#3c3c3c;--ff-duo-wolf:#777;--ff-duo-hare:#afafaf;--ff-duo-swan:#e5e5e5;--ff-duo-polar:#f7f7f7;--ff-duo-blue-deep:#1899d6;--ff-duo-orange:#ff9600;--ff-duo-orange-dark:#d97300;--ff-duo-orange-600:#ea580c;--ff-duo-orange-700:#c2410c;--ff-duo-blue:#1cb0f6;--ff-duo-blue-dark:#1488c4;--ff-duo-green-600:#16a34a;--ff-duo-green-700:#15803d;--ff-duo-green-deep:#2f6b02;--ff-duo-green-darker-hover:#347702;--ff-duo-amber-50:#fffbeb;--ff-duo-amber-100:#fef3c7;--ff-duo-amber-200:#fde68a;--ff-duo-amber-600:#d97706;--ff-duo-amber-700:#b45309;--ff-duo-amber-900:#78350f;--ff-duo-emerald-50:#ecfdf5;--ff-duo-emerald-100:#d1fae5;--ff-duo-emerald-200:#a7f3d0;--ff-duo-emerald-400:#34d399;--ff-duo-sky-100:#e0f2fe;--ff-duo-sky-200:#bae6fd;--ff-duo-sky-600:#0284c7;--ff-duo-blue-100:#dbeafe;--ff-duo-blue-200:#bfdbfe;--ff-duo-blue-600:#2563eb;--ff-duo-rose-100:#ffe4e6;--ff-duo-rose-200:#fecdd3;--ff-duo-rose-500:#f43f5e;--ff-duo-rose-700:#be123c;--ff-duo-teal-400:#2dd4bf;--ff-duo-teal-700:#0f766e;--ff-duo-gray-100:#f3f4f6;--ff-duo-gray-200:#e5e7eb;--ff-duo-gray-300:#d1d5db;--ff-duo-gray-400:#9ca3af;--ff-duo-gray-500:#6b7280;--ff-duo-gray-800:#1f2937;--ff-duo-gray-900:#111827;--ff-duo-ink-firefly:#1b1c1c;--ff-duo-white:#fff}:root,[data-theme=meadow]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--ff-surface-canvas:#fff;--ff-surface-vista:#f0f7e8;--ff-surface-panel:#f4f9ec;--ff-surface-raised:#fff;--ff-text-primary:#1d1d1f;--ff-text-secondary:#6e6e73;--ff-action-primary:#347702;--ff-action-on-primary:#fff;--ff-state-success:#1a6b2d;--ff-state-warning:#b25000;--ff-state-danger:#d70015;--ff-state-info:#0e6eb8;--ff-focus-ring:#347702;--ff-hero-1:#1e3d0c;--ff-hero-2:#162e08;--ff-hero-3:#0e1f05;--ff-arc:#b9f6a0;--ff-cta-1:#398402;--ff-cta-2:#2f6b02;--ff-cta-shadow:0 10px 24px #39840266, inset 0 1px 1px #ffffff40;--ff-tab-active:#347702;--ff-lawn-1:#8fe36a;--ff-lawn-2:#58cc02;--ff-lawn-3:#46a302;--ff-soil-1:#6b4a2a;--ff-soil-2:#4a3018;--ff-mist:#58cc0247;--ff-holo-1:#1e3d0c;--ff-holo-2:#347702;--ff-glass-2:#f4fbeb;--ff-glass-3:#ddf3c8;--ff-glass-4:#bee89e;--ff-jar-shadow:#2e5a0a40;--ff-spore-1:#bee89e;--ff-spore-2:#ddf3c8;--ff-spore-3:#a5db82;--ff-growth-bg1:#f2f9e6;--ff-growth-bg2:#d9edb8;--ff-growth-hill:#b8dd8e;--ff-growth-jar:#ffffffb8;--ff-growth-star:#fff0;--ff-growth-ink:#1d340b;--ff-feedback-good-tint:#d7ffb8;--ff-feedback-warn-tint:#ffdfe0;--ff-feedback-good-ink:#1a6b2d;--ff-feedback-warn-ink:#c00012}[data-theme=night-forest]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--ff-surface-canvas:#0b1026;--ff-surface-vista:#111936;--ff-surface-panel:#141c3a;--ff-surface-raised:#1b2549;--ff-text-primary:#f8f6ea;--ff-text-secondary:#b9c4da;--ff-action-primary:#ffd84d;--ff-action-on-primary:#17203a;--ff-state-success:#4bcb8b;--ff-state-warning:#f0a23b;--ff-state-danger:#e56c72;--ff-state-info:#72d7ff;--ff-focus-ring:#fff3ae;--ff-hero-1:#1a162b;--ff-hero-2:#0f0e1a;--ff-hero-3:#08070d;--ff-arc:#facc15;--ff-cta-1:#b45309;--ff-cta-2:#92400e;--ff-cta-shadow:0 10px 24px #b4530966, inset 0 1px 1px #ffffff40;--ff-tab-active:#d97706;--ff-lawn-1:#155e75;--ff-lawn-2:#0e7490;--ff-lawn-3:#083344;--ff-soil-1:#0b1120;--ff-soil-2:#020617;--ff-mist:#22d3ee61;--ff-holo-1:#a5f3fc;--ff-holo-2:#67e8f9;--ff-glass-2:#164e63;--ff-glass-3:#0e7490;--ff-glass-4:#22d3ee;--ff-jar-shadow:#22d3ee59;--ff-spore-1:#22d3ee;--ff-spore-2:#67e8f9;--ff-spore-3:#a5f3fc;--ff-growth-bg1:#0a1322;--ff-growth-bg2:#152238;--ff-growth-hill:#0d1a2e;--ff-growth-jar:#142238d1;--ff-growth-star:#ffd666e6;--ff-growth-ink:#ffd666;--ff-feedback-good-tint:#21421d;--ff-feedback-warn-tint:#47292d;--ff-feedback-good-ink:#93e75e;--ff-feedback-warn-ink:#ff9a9a}[data-theme=dawn-valley]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--ff-surface-canvas:#fff9e8;--ff-surface-vista:#fff1c9;--ff-surface-panel:#fffcf4;--ff-surface-raised:#fff;--ff-text-primary:#243047;--ff-text-secondary:#667085;--ff-action-primary:#e7a600;--ff-action-on-primary:#17203a;--ff-state-success:#267252;--ff-state-warning:#975400;--ff-state-danger:#ad4040;--ff-state-info:#166e97;--ff-focus-ring:#315efb;--ff-hero-1:#3d241e;--ff-hero-2:#24151b;--ff-hero-3:#120a0f;--ff-arc:#fb923c;--ff-cta-1:#c2410c;--ff-cta-2:#9a3412;--ff-cta-shadow:0 10px 24px #c2410c66, inset 0 1px 1px #ffffff40;--ff-tab-active:#ea580c;--ff-lawn-1:#c2713a;--ff-lawn-2:#9a5b2e;--ff-lawn-3:#7c4525;--ff-soil-1:#57311b;--ff-soil-2:#3b1f10;--ff-mist:#fb923c6b;--ff-holo-1:#7c2d12;--ff-holo-2:#c2410c;--ff-glass-2:#fff1e7;--ff-glass-3:#fed7aa;--ff-glass-4:#fb923c;--ff-jar-shadow:#fb923c59;--ff-spore-1:#fb923c;--ff-spore-2:#f472b6;--ff-spore-3:#fdba74;--ff-growth-bg1:#ffe9d2;--ff-growth-bg2:#ffc9a3;--ff-growth-hill:#f0a97e;--ff-growth-jar:#ffffffb8;--ff-growth-star:#fff0;--ff-growth-ink:#7a320c;--ff-feedback-good-tint:#d7ffb8;--ff-feedback-warn-tint:#ffdfe0;--ff-feedback-good-ink:#267252;--ff-feedback-warn-ink:#ad4040}[data-theme=sky-blue]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--ff-surface-canvas:#f0f7ff;--ff-surface-vista:#e6f4ff;--ff-surface-panel:#fbfdff;--ff-surface-raised:#fff;--ff-text-primary:#1d2b45;--ff-text-secondary:#33465e;--ff-action-primary:#0958d9;--ff-action-on-primary:#fff;--ff-state-success:#1e6b41;--ff-state-warning:#965400;--ff-state-danger:#ad4040;--ff-state-info:#0f5bc0;--ff-focus-ring:#0958d9;--ff-hero-1:#133854;--ff-hero-2:#0b2033;--ff-hero-3:#06121e;--ff-arc:#38bdf8;--ff-cta-1:#0369a1;--ff-cta-2:#075985;--ff-cta-shadow:0 10px 24px #0369a173, inset 0 1px 1px #ffffff4d;--ff-tab-active:#0284c7;--ff-lawn-1:#7dd3fc;--ff-lawn-2:#38bdf8;--ff-lawn-3:#0369a1;--ff-soil-1:#1e3a5f;--ff-soil-2:#0b2033;--ff-mist:#38bdf880;--ff-holo-1:#0c4a6e;--ff-holo-2:#0369a1;--ff-glass-2:#e0f2fe;--ff-glass-3:#bae6fd;--ff-glass-4:#38bdf8;--ff-jar-shadow:#38bdf866;--ff-spore-1:#e0f2fe;--ff-spore-2:#7dd3fc;--ff-spore-3:#bae6fd;--ff-growth-bg1:#dcecff;--ff-growth-bg2:#b3d3f2;--ff-growth-hill:#9cc3e8;--ff-growth-jar:#ffffffb8;--ff-growth-star:#fff0;--ff-growth-ink:#1d2b45;--ff-feedback-good-tint:#d7ffb8;--ff-feedback-warn-tint:#ffdfe0;--ff-feedback-good-ink:#1e6b41;--ff-feedback-warn-ink:#ad4040}[data-theme=mint-green]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--ff-surface-canvas:#f0f7e6;--ff-surface-vista:#e4f5d8;--ff-surface-panel:#fafdf4;--ff-surface-raised:#fff;--ff-text-primary:#1f2d26;--ff-text-secondary:#2f4038;--ff-action-primary:#237804;--ff-action-on-primary:#fff;--ff-state-success:#175e25;--ff-state-warning:#8c5a00;--ff-state-danger:#a63d2f;--ff-state-info:#166e97;--ff-focus-ring:#237804;--ff-hero-1:#1c4844;--ff-hero-2:#0d2833;--ff-hero-3:#081620;--ff-arc:#4efcd5;--ff-cta-1:#5455eb;--ff-cta-2:#4740e4;--ff-cta-shadow:0 10px 24px #4740e473, inset 0 1px 1px #ffffff4d;--ff-tab-active:#059669;--ff-lawn-1:#4ade80;--ff-lawn-2:#10b981;--ff-lawn-3:#047857;--ff-soil-1:#78350f;--ff-soil-2:#451a03;--ff-mist:#2dd4bf8c;--ff-holo-1:#064e3b;--ff-holo-2:#047857;--ff-glass-2:#e2faf4;--ff-glass-3:#99f6e4;--ff-glass-4:#38bdf8;--ff-jar-shadow:#2dd4bf61;--ff-spore-1:#f472b6;--ff-spore-2:#c084fc;--ff-spore-3:#fde047;--ff-growth-bg1:#e2f3d3;--ff-growth-bg2:#bcdfa4;--ff-growth-hill:#a3d488;--ff-growth-jar:#ffffffb8;--ff-growth-star:#fff0;--ff-growth-ink:#1c5002;--ff-feedback-good-tint:#d7ffb8;--ff-feedback-warn-tint:#ffdfe0;--ff-feedback-good-ink:#175e25;--ff-feedback-warn-ink:#a63d2f}[data-theme=apple-mist]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--ff-surface-canvas:#fff;--ff-surface-vista:#f5f5f7;--ff-surface-panel:#f2f2f7;--ff-surface-raised:#fff;--ff-text-primary:#1d1d1f;--ff-text-secondary:#6e6e73;--ff-action-primary:#0070e0;--ff-action-on-primary:#fff;--ff-state-success:#1a6b2d;--ff-state-warning:#b25000;--ff-state-danger:#d70015;--ff-state-info:#0058cf;--ff-focus-ring:#007aff;--ff-hero-1:#242528;--ff-hero-2:#18191b;--ff-hero-3:#0f1011;--ff-arc:#ffffffd9;--ff-cta-1:#1d1d1f;--ff-cta-2:#1d1d1f;--ff-cta-shadow:0 8px 20px #00000080, inset 0 1px 1px #ffffff1f;--ff-tab-active:#1d1d1f;--ff-lawn-1:#f5f5f7;--ff-lawn-2:#e8e8ed;--ff-lawn-3:#d2d2d7;--ff-soil-1:#e8e8ed;--ff-soil-2:#d2d2d7;--ff-mist:#78788038;--ff-holo-1:#1d1d1f;--ff-holo-2:#6e6e73;--ff-glass-2:#fff;--ff-glass-3:#f5f5f7;--ff-glass-4:#d2d2d7;--ff-jar-shadow:#00000029;--ff-spore-1:#d2d2d7;--ff-spore-2:#e8e8ed;--ff-spore-3:#c7c7cc;--ff-growth-bg1:#f7f8fa;--ff-growth-bg2:#e4e6eb;--ff-growth-hill:#d5d8df;--ff-growth-jar:#ffffffb8;--ff-growth-star:#fff0;--ff-growth-ink:#1d1d1f;--ff-feedback-good-tint:#d7ffb8;--ff-feedback-warn-tint:#ffdfe0;--ff-feedback-good-ink:#1a6b2d;--ff-feedback-warn-ink:#c00012}[data-mode=playful]{--ff-accent:#ffd84d;--ff-radius:24px;--ff-font-size-child-body:20px}[data-mode=growth]{--ff-accent:#72d7ff;--ff-radius:12px;--ff-font-size-child-body:18px}[data-mode=quiet]{--ff-accent:#c9b98a;--ff-radius:6px;--ff-font-size-child-body:18px}.ff-glow-core{box-shadow:var(--ff-glow-core)}.ff-glow-primary{box-shadow:var(--ff-glow-primary)}.ff-glow-pink{box-shadow:var(--ff-glow-pink)}.ff-elevation-raised-card{box-shadow:var(--ff-elevation-raised-card)}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.ff-reduced-motion,.ff-reduced-motion *,.ff-reduced-motion :before,.ff-reduced-motion :after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}.ff-low-performance,.ff-low-performance *{box-shadow:none!important;filter:none!important;-webkit-backdrop-filter:none!important;backdrop-filter:none!important;animation:none!important}@font-face{font-family:AlibabaPuHuiTi;src:url(/assets/AlibabaPuHuiTi-3-55-Regular-BzU-3NET.woff2)format("woff2");font-weight:400;font-display:swap}@font-face{font-family:AlibabaPuHuiTi;src:url(/assets/AlibabaPuHuiTi-3-65-Medium-DQU-DIIV.woff2)format("woff2");font-weight:500;font-display:swap}@font-face{font-family:AlibabaPuHuiTi;src:url(/assets/AlibabaPuHuiTi-3-85-Bold-BDmIoIwI.woff2)format("woff2");font-weight:700;font-display:swap}:root{--ff-font-display:"AlibabaPuHuiTi", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", system-ui, sans-serif}.ff-companion{justify-items:center;gap:8px;display:inline-grid;position:relative}.ff-companion-body{align-items:flex-end;gap:8px;display:inline-flex}.ff-companion-body i{background:var(--ff-partner-gold);border-radius:50%;width:14px;height:14px}.ff-companion[data-companion=glow-pink] .ff-companion-body i{background:var(--ff-partner-pink)}.ff-companion-body i:first-child{width:18px;height:18px;box-shadow:var(--ff-glow-core)}.ff-companion-body i:nth-child(3){opacity:.8;width:10px;height:10px}.ff-companion[data-size=small] .ff-companion-body i{width:10px;height:10px}.ff-companion[data-size=small] .ff-companion-body i:first-child{width:13px;height:13px}.ff-companion[data-size=small] .ff-companion-body i:nth-child(3){width:8px;height:8px}.ff-companion[data-mood=idle] .ff-companion-body{animation:5.2s ease-in-out infinite ff-companion-breathe}.ff-companion[data-mood=idle] .ff-companion-body i:first-child{animation:4.6s ease-in-out infinite ff-companion-blink}@keyframes ff-companion-breathe{0%,to{transform:translateY(0)}50%{transform:translateY(-4px)}}@keyframes ff-companion-blink{0%,90%,to{transform:scaleY(1)}94%{transform:scaleY(.15)}}.ff-companion[data-mood=welcome] .ff-companion-body{animation:.6s cubic-bezier(.34,1.56,.64,1) both ff-companion-welcome-in}@keyframes ff-companion-welcome-in{0%{opacity:0;transform:translateY(10px)scale(.8)}to{opacity:1;transform:translateY(0)scale(1)}}.ff-companion-stars{justify-content:center;gap:6px;display:flex;position:absolute;top:-10px;left:0;right:0}.ff-companion-stars i{background:var(--ff-partner-gold);clip-path:polygon(50% 0%,62% 38%,100% 50%,62% 62%,50% 100%,38% 62%,0% 50%,38% 38%);width:10px;height:10px;animation:.8s ease-in-out infinite ff-companion-twinkle}.ff-companion-stars i:nth-child(2){background:var(--ff-state-info);animation-delay:.2s}@keyframes ff-companion-twinkle{0%,to{opacity:.7;transform:scale(.7)}50%{opacity:1;transform:scale(1.1)}}.ff-companion-spark{background:var(--ff-partner-gold);border-radius:50%;width:6px;height:6px;animation:.9s ease-out infinite ff-companion-spark;position:absolute;top:30%;left:50%}.ff-companion-spark:first-of-type{animation-delay:0s}.ff-companion-spark:nth-of-type(2){background:var(--ff-partner-pink);animation-delay:.12s}.ff-companion-spark:nth-of-type(3){animation-delay:.24s}.ff-companion-spark:nth-of-type(4){background:var(--ff-state-info);animation-delay:.36s}.ff-companion-spark:nth-of-type(5){background:var(--ff-partner-pink);animation-delay:.48s}.ff-companion-spark:nth-of-type(6){animation-delay:.6s}.ff-companion-spark:nth-of-type(odd){margin-left:-14px}.ff-companion-spark:nth-of-type(2n){margin-left:10px}@keyframes ff-companion-spark{0%{opacity:0;transform:translateY(4px)scale(.6)}30%{opacity:1}to{opacity:0;transform:translateY(-16px)scale(1)}}.ff-companion[data-mood=encourage] .ff-companion-body{transition:transform .2s ease-out;transform:translateY(5px)scaleY(.9)rotate(-4deg)}.ff-companion-segments{gap:4px;display:inline-flex}.ff-companion-segments i{background:color-mix(in srgb, var(--ff-text-secondary) 25%, transparent);border-radius:999px;width:16px;height:5px}.ff-companion[data-size=small] .ff-companion-segments i{width:11px;height:4px}.ff-companion-segments i[data-lit=true]{background:var(--ff-partner-gold);box-shadow:var(--ff-glow-core)}.ff-companion[data-companion=glow-pink] .ff-companion-segments i[data-lit=true]{background:var(--ff-partner-pink)}.ff-companion-segments i[data-new=true]{animation:.5s ease-out both ff-companion-segment-on}@keyframes ff-companion-segment-on{0%{opacity:.2;transform:scaleX(.3)}60%{opacity:1;transform:scaleX(1.25)}to{opacity:1;transform:scaleX(1)}}:root{--ff-mo-ease-bounce:cubic-bezier(.34, 1.56, .64, 1);--ff-mo-press-depth:4px;--ff-mo-check-pop-duration:.18s;--ff-mo-slide-duration:.35s;--ff-mo-slide-distance:24px;--ff-mo-leap-duration:.5s;--ff-mo-leap-height:-48px;--ff-mo-leap-distance:64px;--ff-mo-leap-fade-duration:.2s;--ff-mo-confetti-duration:.9s}.ff-mo-pressable{appearance:none;border-radius:var(--ff-radius,12px);min-height:var(--ff-child-primary-button-min-height,56px);min-width:var(--ff-touch-target-min,48px);font-family:var(--ff-font-family);cursor:pointer;transition:transform var(--ff-motion-tap-feedback,.15s) ease-out, box-shadow var(--ff-motion-tap-feedback,.15s) ease-out, background-color var(--ff-motion-tap-feedback,.15s) ease-out, filter var(--ff-motion-tap-feedback,.15s) ease-out;border:none;padding:0 24px;font-weight:600}.ff-mo-pressable--primary{background:var(--ff-action-primary,#ffd84d);color:var(--ff-action-on-primary,#17203a);box-shadow:inset 0 calc(-1 * var(--ff-mo-press-depth)) 0 #17203a47}.ff-mo-pressable--secondary{background:var(--ff-surface-raised,#1b2549);color:var(--ff-text-primary,#f8f6ea);box-shadow:inset 0 calc(-1 * var(--ff-mo-press-depth)) 0 #00000059}.ff-mo-pressable:active,.ff-mo-pressable:focus-visible:active{transform:translateY(var(--ff-mo-press-depth));box-shadow:inset 0 0 #0000}.ff-mo-pressable--reduced,.ff-reduced-motion .ff-mo-pressable{transition:background-color var(--ff-motion-tap-feedback,.15s) ease-out}.ff-mo-pressable--reduced:active,.ff-mo-pressable--reduced:focus-visible:active,.ff-reduced-motion .ff-mo-pressable:active,.ff-reduced-motion .ff-mo-pressable:focus-visible:active{filter:brightness(.9);box-shadow:inset 0 calc(-1 * var(--ff-mo-press-depth)) 0 #0003;transform:none}.ff-mo-pressable:disabled{background:var(--ff-text-secondary,#b9c4da);color:var(--ff-surface-panel,#141c3a);box-shadow:inset 0 calc(-1 * var(--ff-mo-press-depth)) 0 #00000026;cursor:not-allowed;transform:none}.ff-mo-check-bounce{color:var(--ff-state-success,#4bcb8b);display:inline-flex}.ff-mo-check-bounce--animated{animation:ff-mo-check-pop var(--ff-mo-check-pop-duration) var(--ff-mo-ease-bounce) both}@keyframes ff-mo-check-pop{0%{transform:scale(0)}to{transform:scale(1)}}.ff-mo-typewriter{display:inline-block}.ff-mo-typewriter__char{visibility:hidden;white-space:pre-wrap}.ff-mo-typewriter__char--visible{visibility:visible}.ff-mo-confetti{display:inline-block;position:relative}.ff-mo-confetti__particle{width:var(--ff-mo-particle-size,8px);height:var(--ff-mo-particle-size,8px);background:var(--ff-mo-particle-color,var(--ff-partner-gold,#ffd84d));pointer-events:none;animation:ff-mo-confetti-fly var(--ff-mo-confetti-duration) ease-out var(--ff-mo-particle-delay,0s) both;border-radius:50%;position:absolute;top:50%;left:50%}@keyframes ff-mo-confetti-fly{0%{opacity:1;transform:translate(-50%,-50%)scale(1)}to{transform:translate(calc(-50% + var(--ff-mo-dx,0px)), calc(-50% + var(--ff-mo-dy,0px))) scale(.2);opacity:0}}.ff-mo-star-eyes:after{content:"✦ ✦";color:var(--ff-partner-gold,#ffd84d);letter-spacing:.4em;pointer-events:none;font-size:.9em;position:absolute;top:-.6em;left:50%;transform:translate(-50%)}.ff-mo-leap{display:inline-block}.ff-mo-leap__track{transition:transform var(--ff-mo-leap-duration) linear}.ff-mo-leap--jumping .ff-mo-leap__track{transform:translateX(var(--ff-mo-leap-distance))}.ff-mo-leap--jumping .ff-mo-leap__body{animation:ff-mo-leap-y var(--ff-mo-leap-duration)}@keyframes ff-mo-leap-y{0%{animation-timing-function:cubic-bezier(.33,0,.67,0);transform:translateY(0)}50%{transform:translateY(var(--ff-mo-leap-height));animation-timing-function:cubic-bezier(.33,1,.67,1)}to{transform:translateY(0)}}.ff-mo-leap--fade .ff-mo-leap__body{animation:ff-mo-leap-fade var(--ff-mo-leap-fade-duration) ease-out both}@keyframes ff-mo-leap-fade{0%{opacity:.2}to{opacity:1}}.ff-mo-slide--animated{animation:ff-mo-slide-in var(--ff-mo-slide-duration) ease-out both}@keyframes ff-mo-slide-in{0%{transform:translateX(var(--ff-mo-slide-distance));opacity:0}to{opacity:1;transform:translate(0)}}.ff-mo-progress{gap:6px;display:flex}.ff-mo-progress__segment{background:var(--ff-surface-raised,#1b2549);height:8px;transition:background-color var(--ff-motion-state-transition,.25s) ease-out;border-radius:4px;flex:1}.ff-mo-progress__segment--done{background:var(--ff-action-primary,#ffd84d)}.ff-mo-progress--reduced .ff-mo-progress__segment,.ff-reduced-motion .ff-mo-progress__segment{transition:none}.ff-mo-ignite{flex-wrap:wrap;gap:8px;margin:0;padding:0;list-style:none;display:flex}.ff-mo-ignite__word{border-radius:var(--ff-radius,12px);background:var(--ff-surface-raised,#1b2549);color:var(--ff-text-secondary,#b9c4da);transition:background-color var(--ff-motion-state-transition,.25s) ease-out, color var(--ff-motion-state-transition,.25s) ease-out;padding:8px 16px}.ff-mo-ignite__word.ff-mo-ignited{background:var(--ff-action-primary,#ffd84d);color:var(--ff-action-on-primary,#17203a);animation:ff-mo-ignite-pulse var(--ff-motion-scene-confirm-max,.5s) ease-out}.ff-mo-ignite--reduced .ff-mo-ignite__word,.ff-reduced-motion .ff-mo-ignite__word{transition:none;animation:none}@keyframes ff-mo-ignite-pulse{0%{transform:scale(1)}40%{transform:scale(1.12)}to{transform:scale(1)}}.ff-mo-future{display:inline-block}.ff-mo-future__frame--animated{animation:ff-mo-frame-in var(--ff-motion-state-transition,.25s) ease-out both}@keyframes ff-mo-frame-in{0%{opacity:0}to{opacity:1}}.ff-mo-breath{display:inline-block}.ff-mo-breath--animated{animation:4s ease-in-out infinite ff-mo-breath-scale}@keyframes ff-mo-breath-scale{0%,to{transform:scale(1)}50%{transform:scale(1.05)}}.ff-reduced-motion .ff-mo-breath--animated{animation:none}.ff-mo-speak{display:inline-flex;position:relative}.ff-mo-speak__ring{border:2px solid var(--ff-color-glow-sky,#7fd8ff);opacity:0;pointer-events:none;border-radius:50%;animation:2s ease-out infinite ff-mo-speak-ring;position:absolute;inset:0}.ff-mo-speak__ring--late{animation-delay:1s}@keyframes ff-mo-speak-ring{0%{opacity:.7;transform:scale(1)}to{opacity:0;transform:scale(1.9)}}.ff-mo-glow-reward{pointer-events:none;position:absolute;top:40%;left:50%}.ff-mo-glow-reward__dot{background:radial-gradient(circle, #fff8c9, var(--ff-partner-gold,#ffd84d) 60%, transparent);width:10px;height:10px;animation:ff-mo-glow-reward-fly 1.6s ease-out var(--ff-mo-dot-delay,0s) both;border-radius:50%;position:absolute}.ff-mo-glow-reward--reduced .ff-mo-glow-reward__dot{opacity:.8;transform:translate(calc(var(--ff-mo-dx,0px) * .6), calc(var(--ff-mo-dy,0px) * .6)) scale(.6);animation:none}@keyframes ff-mo-glow-reward-fly{0%{opacity:1;transform:translate(0)scale(1)}to{transform:translate(var(--ff-mo-dx,0px), var(--ff-mo-dy,-60px)) scale(.3);opacity:0}}.ff-mo-ember{pointer-events:none;position:absolute;inset:0;overflow:hidden}.ff-mo-ember__spark{width:var(--ff-mo-ember-size,6px);height:var(--ff-mo-ember-size,6px);background:radial-gradient(circle, #ffd9a0, var(--ff-color-ember,#ff7a45) 65%, transparent);opacity:0;animation:ff-mo-ember-float 3.5s linear var(--ff-mo-ember-delay,0s) infinite;border-radius:50%;position:absolute;bottom:-12px}.ff-mo-ember--reduced .ff-mo-ember__spark{opacity:.5;animation:none;bottom:8%}@keyframes ff-mo-ember-float{0%{opacity:0;transform:translateY(0)scale(1)}12%{opacity:.9}to{opacity:0;transform:translateY(-72vh)scale(.4)}}.ff-mo-pose{display:inline-block}.ff-mo-pose--idle{animation:3.4s ease-in-out infinite ff-mo-pose-float}@keyframes ff-mo-pose-float{50%{transform:translateY(-10px)}}.ff-mo-pose--speak{animation:.8s ease-in-out infinite ff-mo-pose-speak}@keyframes ff-mo-pose-speak{0%,to{transform:rotate(0)scale(1)}50%{transform:rotate(-6deg)scale(1.04)}}.ff-mo-pose--celebrate{animation:.7s cubic-bezier(.2,1.5,.4,1) 2 ff-mo-pose-jump}@keyframes ff-mo-pose-jump{30%{transform:translateY(-26px)rotate(-8deg)scale(1.08)}60%{transform:translateY(0)rotate(4deg)}}.ff-mo-pose--worry{animation:.8s ff-mo-pose-tilt}@keyframes ff-mo-pose-tilt{25%{transform:rotate(-14deg)translateY(6px)}60%{transform:rotate(6deg)}}.ff-mo-pose--wave{transform-origin:70% 80%;animation:.9s ease-in-out 2 ff-mo-pose-wave}@keyframes ff-mo-pose-wave{25%{transform:rotate(10deg)translateY(-4px)}75%{transform:rotate(-6deg)}}.ff-reduced-motion .ff-mo-pose--idle,.ff-reduced-motion .ff-mo-pose--speak,.ff-reduced-motion .ff-mo-pose--celebrate,.ff-reduced-motion .ff-mo-pose--worry,.ff-reduced-motion .ff-mo-pose--wave{animation:none}.ff-mo-light-orb{z-index:2;min-width:var(--ff-touch-target-min,48px);min-height:var(--ff-touch-target-min,48px);cursor:pointer;background:0 0;border:none;flex-direction:column;align-items:center;gap:3px;padding:4px;animation:3.4s ease-in-out infinite ff-mo-orb-bob;display:flex;position:absolute}.ff-mo-light-orb__ball{width:56px;height:56px;transition:transform var(--ff-motion-tap-feedback,.15s) ease;background:radial-gradient(circle at 32% 28%,#fff3c4,#ffd666 34%,#faad14 62%,#d48806);border:2px solid #ffffffa6;border-radius:50%;animation:2.6s ease-in-out infinite ff-mo-orb-breathe;box-shadow:0 0 18px #faad14bf,0 0 42px #faad144d}.ff-mo-light-orb:hover .ff-mo-light-orb__ball{transform:scale(1.12)}.ff-mo-light-orb:focus-visible{outline:3px solid var(--ff-focus-ring,#fff3ae);outline-offset:2px;border-radius:50%}.ff-mo-light-orb__source{background:color-mix(in srgb, var(--ff-surface-raised,#fff) 85%, transparent);color:var(--ff-text-primary,#3f4a5a);white-space:nowrap;border-radius:999px;padding:2px 8px;font-size:10px}.ff-mo-light-orb--collected{pointer-events:none;animation:none}.ff-mo-light-orb--collected .ff-mo-light-orb__ball{animation:.65s cubic-bezier(.5,-.25,.7,1) forwards ff-mo-orb-fly}.ff-mo-light-orb--collected .ff-mo-light-orb__source{opacity:0;transition:opacity var(--ff-motion-tap-feedback,.15s) ease}.ff-mo-light-orb__spark{pointer-events:none;background:#ffe58f;border-radius:50%;width:5px;height:5px;animation:.55s ease-out forwards ff-mo-orb-spark;position:absolute;top:26px;left:30px;box-shadow:0 0 8px #faad14}@keyframes ff-mo-orb-bob{0%,to{transform:translateY(0)}50%{transform:translateY(-9px)}}@keyframes ff-mo-orb-breathe{0%,to{transform:scale(1);box-shadow:0 0 16px #faad14b3,0 0 36px #faad1440}50%{transform:scale(1.06);box-shadow:0 0 24px #faad14f2,0 0 56px #faad146b}}@keyframes ff-mo-orb-fly{35%{transform:translate(calc(var(--ff-mo-orb-dx,0px) * .45), calc(var(--ff-mo-orb-dy,-160px) * .45 - 52px)) scale(.72);opacity:1}to{transform:translate(var(--ff-mo-orb-dx,0px), var(--ff-mo-orb-dy,-160px)) scale(.22);opacity:.95}}@keyframes ff-mo-orb-spark{to{transform:translate(var(--ff-mo-orb-sx,0px), var(--ff-mo-orb-sy,0px)) scale(.15);opacity:0}}.ff-mo-light-orb--reduced,.ff-mo-light-orb--reduced .ff-mo-light-orb__ball{animation:none}.ff-mo-streak{grid-template-columns:repeat(7,1fr);gap:4px;margin:0;padding:0;list-style:none;display:grid}.ff-mo-streak__day{border-radius:calc(var(--ff-radius,12px) / 2);min-height:60px;color:var(--ff-text-secondary);flex-direction:column;align-items:center;gap:6px;padding:4px 0;font-size:10px;display:flex}.ff-mo-streak__dot{background:var(--ff-surface-vista);width:30px;height:30px;color:var(--ff-text-secondary);border-radius:50%;place-items:center;display:grid}.ff-mo-streak__day--done{color:var(--ff-action-primary);font-weight:700}.ff-mo-streak__day--done .ff-mo-streak__dot{background:linear-gradient(150deg, var(--ff-action-primary), var(--ff-state-info));color:var(--ff-action-on-primary)}.ff-mo-streak__day--today{color:var(--ff-action-primary);font-weight:700}.ff-mo-streak__day--today .ff-mo-streak__dot{outline:2px solid var(--ff-action-primary);outline-offset:2px}.ff-mo-tier-badge{align-items:center;gap:8px;display:inline-flex}.ff-mo-tier-badge__medal{flex:none;display:block}.ff-mo-tier-badge__label{font-family:var(--ff-font-display,var(--ff-font-family));color:var(--ff-text-primary);font-size:15px;font-weight:700}.ff-sp-words{display:inline}.ff-sp-word{border-bottom:2px dashed var(--ff-text-secondary,#b9c4da);transition:border-bottom-color var(--ff-motion-state-transition,.25s) ease-out, color var(--ff-motion-state-transition,.25s) ease-out}.ff-sp-word--active,.ff-sp-word[data-active]{border-bottom:2px solid var(--ff-color-glow-sky,#72d7ff);color:var(--ff-color-glow-sky,#72d7ff)}.ff-sp-phon{flex-wrap:wrap;align-items:center;gap:12px;display:inline-flex}.ff-sp-phon__chips{flex-wrap:wrap;gap:8px;display:inline-flex}.ff-sp-phon__chip{appearance:none;border-radius:var(--ff-radius,12px);font-family:var(--ff-font-family);cursor:pointer;background:var(--ff-surface-raised,#1b2549);color:var(--ff-partner-gold,#ffd84d);transition:filter var(--ff-motion-tap-feedback,.15s) ease-out;border:none;padding:8px 14px;font-size:1.1em;font-weight:600;box-shadow:inset 0 -4px #00000059}.ff-sp-phon__chip:active{transform:translateY(2px);box-shadow:inset 0 -2px #00000059}.ff-sp-phon__chip.playing{filter:brightness(1.2)}.ff-sp-phon__example{appearance:none;border-radius:var(--ff-radius,12px);min-height:var(--ff-touch-target-min,48px);font-family:var(--ff-font-family);cursor:pointer;background:var(--ff-surface-raised,#1b2549);color:var(--ff-text-primary,#f8f6ea);border:none;align-items:center;gap:8px;padding:0 16px;font-weight:600;display:inline-flex}.ff-sp-phon__example svg{width:20px;height:20px;fill:var(--ff-color-glow-sky,#72d7ff);color:var(--ff-color-glow-sky,#72d7ff)}.ff-sp-mic{appearance:none;cursor:pointer;background:var(--ff-surface-raised,#1b2549);width:84px;height:84px;color:var(--ff-text-primary,#f8f6ea);transition:background-color var(--ff-motion-tap-feedback,.15s) ease-out;border:none;border-radius:50%;justify-content:center;align-items:center;display:inline-flex}.ff-sp-mic svg{fill:currentColor;color:currentColor;width:36px;height:36px}.ff-sp-mic:disabled{cursor:default}.ff-sp-mic--recording{background:var(--ff-color-danger-600,#b84444)}.ff-sp-mic__wave{align-items:center;gap:5px;height:32px;display:inline-flex}.ff-sp-mic__wave i{background:var(--ff-text-primary,#f8f6ea);border-radius:3px;width:5px;animation:.9s ease-in-out infinite ff-sp-mic-wave}.ff-sp-mic__wave i:first-child{animation-delay:0s}.ff-sp-mic__wave i:nth-child(2){animation-delay:.15s}.ff-sp-mic__wave i:nth-child(3){animation-delay:.3s}@keyframes ff-sp-mic-wave{0%,to{height:10px}50%{height:30px}}.ff-sp-mic--recognizing{background:var(--ff-surface-raised,#1b2549)}.ff-sp-mic__dot{background:var(--ff-color-glow-sky,#72d7ff);border-radius:50%;width:18px;height:18px;animation:1s ease-in-out infinite ff-sp-mic-dot}@keyframes ff-sp-mic-dot{0%,to{opacity:1;transform:scale(1)}50%{opacity:.6;transform:scale(1.5)}}.ff-sp-mic--done{background:var(--ff-state-success,#4bcb8b);color:var(--ff-action-on-primary,#17203a)}.ff-sp-mic__check{font-size:36px;font-weight:700;line-height:1}.ff-sp-mic--reduced .ff-sp-mic__wave i,.ff-reduced-motion .ff-sp-mic__wave i{height:20px;animation:none}.ff-sp-mic--reduced .ff-sp-mic__dot,.ff-reduced-motion .ff-sp-mic__dot{animation:none}.ff-child-shell,.ff-main-shell{background:var(--ff-surface-canvas);min-height:100vh;color:var(--ff-text-primary);flex-direction:column;display:flex}.ff-main-shell{--ff-main-nav-bottom:12px;--ff-main-nav-height:68px;--ff-main-nav-clearance:calc(var(--ff-main-nav-bottom) + var(--ff-main-nav-height) + env(safe-area-inset-bottom,0px))}.ff-topbar{background:var(--ff-surface-vista);color:var(--ff-text-primary);align-items:center;gap:12px;padding:8px 16px;display:flex}.ff-learner{font-size:var(--ff-font-size-child-body);margin-right:auto;font-weight:600}.ff-sync{color:var(--ff-text-secondary);font-size:14px}.ff-sync[data-sync-state=pending]{color:var(--ff-state-warning)}.ff-sync[data-sync-state=failed]{color:var(--ff-state-danger)}.ff-icon-button,.ff-parent-entry,.ff-nav-item{min-height:var(--ff-touch-target-min);min-width:var(--ff-touch-target-min);border-radius:var(--ff-radius);color:inherit;cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;font-size:16px;text-decoration:none;display:inline-flex}.ff-icon-button[aria-pressed=false]{opacity:.7}.ff-page{padding:var(--ff-page-padding,16px);outline:none;flex:1}.ff-child-primary{min-height:var(--ff-child-primary-button-min-height);min-width:var(--ff-touch-target-min);border-radius:var(--ff-radius);background:var(--ff-action-primary);color:var(--ff-text-primary);font-size:var(--ff-font-size-child-body);cursor:pointer;border:none}.ff-main-nav{--ff-main-nav-active-ink:var(--ff-duo-green-darker);bottom:calc(var(--ff-main-nav-bottom) + env(safe-area-inset-bottom,0px));z-index:40;box-sizing:border-box;background:var(--ff-surface-raised);border-bottom:var(--ff-edge) solid var(--ff-duo-gray-200);width:calc(100% - 2rem);max-width:408px;box-shadow:0 12px 24px color-mix(in srgb, var(--ff-duo-gray-900) 18%, transparent);color:var(--ff-duo-gray-500);border-radius:16px;justify-content:space-around;align-items:center;gap:4px;padding:8px 12px;display:flex;position:fixed;left:50%;transform:translate(-50%)}.ff-main-shell .ff-page{padding-bottom:calc(var(--ff-page-padding,16px) + var(--ff-main-nav-clearance) + 16px)}.ff-main-shell--immersive .ff-page{padding-bottom:var(--ff-page-padding,16px)}.ff-main-tab{min-height:var(--ff-touch-target-min);min-width:var(--ff-touch-target-min);border-radius:var(--ff-radius);color:var(--ff-duo-gray-500);transition:transform var(--ff-press-t) ease;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:2px;font-size:11px;text-decoration:none;display:flex}.ff-main-tab:active{transform:translateY(var(--ff-press-dy))}.ff-main-tab-ic{border-radius:12px;place-items:center;width:36px;height:28px;display:grid}.ff-main-tab-label{letter-spacing:-.01em;font-size:11px;font-weight:800}.ff-main-tab.active{color:var(--ff-main-nav-active-ink);font-weight:800}.ff-main-tab.active .ff-main-tab-ic{background:color-mix(in srgb, var(--ff-duo-green) 15%, transparent)}[data-theme=night-forest] .ff-main-nav{--ff-main-nav-active-ink:var(--ff-duo-green)}.ff-child-nav{background:var(--ff-surface-vista);color:var(--ff-text-primary);justify-content:space-around;gap:8px;padding:8px;display:flex;position:sticky;bottom:0}.ff-nav-item.active{outline:2px solid var(--ff-action-primary)}@media (width>=1024px){.ff-child-shell{grid-template-rows:auto 1fr;grid-template-columns:96px 1fr;display:grid}.ff-child-shell .ff-topbar{grid-column:1/-1}.ff-child-shell .ff-child-nav{flex-direction:column;grid-area:2/1;justify-content:flex-start;position:static}.ff-child-shell>main{grid-area:2/2;min-width:0}}.ff-gate-overlay{background:color-mix(in srgb, var(--ff-color-night-950) 60%, transparent);z-index:100;place-items:center;display:grid;position:fixed;inset:0}.ff-gate-dialog{background:var(--ff-surface-canvas);color:var(--ff-text-primary);border-radius:var(--ff-radius);min-width:320px;max-width:90vw;padding:24px}.ff-gate-dialog form{gap:12px;display:grid}.ff-gate-dialog input{min-height:var(--ff-touch-target-min);border-radius:var(--ff-radius);border:2px solid var(--ff-text-secondary);padding:0 12px;font-size:18px}.ff-gate-actions{gap:12px;display:flex}.ff-gate-actions button{min-height:var(--ff-touch-target-min);min-width:var(--ff-touch-target-min);border-radius:var(--ff-radius);cursor:pointer}.ff-gate-error{color:var(--ff-state-danger)}.ff-state-title{font-size:var(--ff-font-size-child-body);font-weight:600}.ff-state-correlation{color:var(--ff-text-secondary);font-size:14px}body{min-width:320px;font-family:var(--ff-font-family);background:var(--ff-surface-canvas);color:var(--ff-text-primary);margin:0;font-size:16px;line-height:1.55}:focus-visible{outline:2px solid var(--ff-focus-ring);outline-offset:2px}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}
