.tabbar[data-v-3f993108]{z-index:20;width:min(480px,100%);height:calc(64px + env(safe-area-inset-bottom));padding:8px 10px calc(8px + env(safe-area-inset-bottom));box-sizing:border-box;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#ffffffe6;border-top:1px solid #c9d9cee6;grid-template-columns:repeat(3,1fr);display:grid;position:fixed;bottom:0;left:50%;transform:translate(-50%)}.tab[data-v-3f993108]{color:var(--muted);flex-direction:column;justify-content:center;align-items:center;gap:3px;font-size:11px;font-weight:700;text-decoration:none;transition:color .18s;display:flex;position:relative}.icon-wrap[data-v-3f993108]{border-radius:12px;place-items:center;width:34px;height:28px;transition:background-color .18s,transform .18s;display:grid}.icon[data-v-3f993108]{width:22px;height:22px}.label[data-v-3f993108]{letter-spacing:.04em}.tab.router-link-exact-active[data-v-3f993108]{color:var(--brand-deep)}.tab.router-link-exact-active .icon-wrap[data-v-3f993108]{background:var(--brand-soft);transform:translateY(-1px)}.shell[data-v-7bea663e]{min-height:100dvh}.home[data-v-dff8690e]{flex-direction:column;display:flex;position:relative;overflow:hidden}.hero-bg[data-v-dff8690e]{pointer-events:none;position:absolute;inset:0}.blob[data-v-dff8690e]{filter:blur(2px);border-radius:50%;position:absolute}.blob.a[data-v-dff8690e]{background:radial-gradient(circle,#2f7a5238,#0000 70%);width:220px;height:220px;top:-40px;right:-30px}.blob.b[data-v-dff8690e]{background:radial-gradient(circle,#d9923a29,#0000 70%);width:180px;height:180px;bottom:120px;left:-50px}.leaf[data-v-dff8690e]{opacity:.55;background:linear-gradient(140deg,#8fc49f,#3d9462);border-radius:0 70%;width:18px;height:28px;animation:4.5s ease-in-out infinite leaf-float;position:absolute}.leaf.l1[data-v-dff8690e]{top:22%;right:18%;transform:rotate(28deg)}.leaf.l2[data-v-dff8690e]{width:14px;height:22px;animation-delay:-1.5s;top:36%;left:12%;transform:rotate(-18deg)}.hero[data-v-dff8690e]{z-index:1;flex-direction:column;flex:1;justify-content:center;min-height:58vh;padding-top:12px;display:flex;position:relative}.hello[data-v-dff8690e]{color:var(--muted);letter-spacing:.04em;margin:0 0 18px;font-size:15px;font-weight:700}.brand-mark[data-v-dff8690e]{margin-bottom:14px}.brand-mark[data-v-dff8690e] .brand-elephant{width:56px;height:56px}.brand-mark .word[data-v-dff8690e]{font-size:clamp(36px,9vw,44px)}.sub[data-v-dff8690e]{max-width:16em;color:var(--muted);margin:0;font-size:16px;line-height:1.55}.actions[data-v-dff8690e]{z-index:1;flex-direction:column;gap:12px;margin-top:auto;padding-top:24px;display:flex;position:relative}.cta[data-v-dff8690e]{width:100%}.login[data-v-dbf6d092]{flex-direction:column;display:flex}.hero[data-v-dbf6d092]{margin-bottom:28px;padding-top:12px}.sub[data-v-dbf6d092]{color:var(--muted);margin:12px 0 0;font-size:15px}.form[data-v-dbf6d092]{flex-direction:column;gap:14px;max-width:360px;margin-top:22px;display:flex}.submit[data-v-dbf6d092]{width:100%;margin-top:6px}.switch[data-v-dbf6d092]{color:var(--brand);font:inherit;background:0 0;border:0;padding:8px 0 0;font-weight:700}.app-download[data-v-dbf6d092]{border-top:1px dashed var(--line);max-width:360px;margin-top:28px;padding-top:20px}.hint[data-v-dbf6d092]{color:var(--muted);margin:0 0 12px;font-size:13px;font-weight:700}.download[data-v-dbf6d092]{width:100%;text-decoration:none}.review[data-v-f6e9d5d5]{margin-top:4px}.empty[data-v-f6e9d5d5]{text-align:center;padding:28px 0}.list[data-v-f6e9d5d5]{flex-direction:column;gap:10px;margin:0;padding:0;list-style:none;display:flex}.row[data-v-f6e9d5d5]{border-radius:var(--radius);background:#ffffffc7;border:1px solid #c9d9ceb3;align-items:center;gap:12px;padding:12px;display:flex}.row img[data-v-f6e9d5d5]{object-fit:contain;background:var(--paper);border-radius:12px;width:72px;height:72px}.meta[data-v-f6e9d5d5]{flex:1;min-width:0}.title[data-v-f6e9d5d5]{margin:0;font-weight:800}.actions[data-v-f6e9d5d5],.judge[data-v-f6e9d5d5]{gap:8px;margin-top:10px;display:flex}.practice[data-v-f6e9d5d5],.master[data-v-f6e9d5d5],.answer[data-v-f6e9d5d5],.ok[data-v-f6e9d5d5],.bad[data-v-f6e9d5d5],.back[data-v-f6e9d5d5]{font:inherit;border:0;font-weight:700}.practice[data-v-f6e9d5d5],.answer[data-v-f6e9d5d5],.master[data-v-f6e9d5d5]{border-radius:10px;padding:7px 14px}.practice[data-v-f6e9d5d5],.answer[data-v-f6e9d5d5]{background:linear-gradient(160deg, #3d9462, var(--brand-deep));color:#fff}.master[data-v-f6e9d5d5]{background:var(--brand-soft);color:var(--brand-deep)}.back[data-v-f6e9d5d5]{color:var(--brand);background:0 0;margin:0 0 12px;padding:0}.prompt[data-v-f6e9d5d5]{width:100%;font-family:var(--font-display);letter-spacing:.04em;background:0 0;border:0;justify-content:center;align-items:center;padding:0;font-size:26px;display:flex}.frame[data-v-f6e9d5d5]{background:#ffffffd9;border:1px solid #c9d9cecc;border-radius:22px;justify-content:center;align-items:center;height:220px;margin-top:16px;display:flex}.frame img[data-v-f6e9d5d5]{object-fit:contain;width:100%;height:100%}.answer[data-v-f6e9d5d5]{margin:16px auto 0;padding:10px 28px;display:block}.answer-text[data-v-f6e9d5d5]{color:var(--brand-deep);font-family:var(--font-display);text-align:center;margin:12px 0 0;font-size:26px;animation:.24s both soft-pop}.judge[data-v-f6e9d5d5]{grid-template-columns:1fr 1fr;display:grid}.ok[data-v-f6e9d5d5],.bad[data-v-f6e9d5d5]{border-radius:var(--radius);font-family:var(--font-display);padding:16px 0;font-size:26px}.ok[data-v-f6e9d5d5]{background:var(--ok-bg);color:var(--ok)}.bad[data-v-f6e9d5d5]{background:var(--bad-bg);color:var(--bad)}button[data-v-f6e9d5d5]:disabled{opacity:.55}.head[data-v-d70023cb]{margin-bottom:4px}.head .muted[data-v-d70023cb]{margin-top:8px}.tabs[data-v-d70023cb]{background:var(--paper-deep);border-radius:14px;grid-template-columns:1fr 1fr;gap:4px;margin:18px 0 16px;padding:4px;display:grid}.tabs button[data-v-d70023cb]{color:var(--muted);font:inherit;background:0 0;border:0;border-radius:11px;padding:10px 8px;font-weight:700;transition:background-color .18s,color .18s,transform .18s}.tabs button.on[data-v-d70023cb]{background:var(--surface);color:var(--brand-deep);box-shadow:0 4px 12px #1f5a3c14}.list[data-v-d70023cb]{flex-direction:column;gap:10px;display:flex}.group[data-v-d70023cb]{border-radius:var(--radius);background:#ffffffc7;border:1px solid #c9d9ceb3;overflow:hidden}.cat[data-v-d70023cb],.skill[data-v-d70023cb]{width:100%;font:inherit;text-align:left;border:0;justify-content:space-between;align-items:center;display:flex}.cat[data-v-d70023cb]{background:0 0;padding:14px 16px;font-weight:700}.name[data-v-d70023cb]{align-items:center;gap:10px;display:inline-flex}.badge[data-v-d70023cb]{width:32px;height:32px;color:var(--brand-deep);font-family:var(--font-display);border-radius:10px;place-items:center;font-size:16px;display:grid}.skills[data-v-d70023cb]{background:#f3f7f2a6;animation:.22s both soft-pop}.skill[data-v-d70023cb]{color:var(--ink);background:0 0;border-top:1px solid #c9d9ce8c;padding:13px 16px 13px 58px}.skill.play[data-v-d70023cb]{color:var(--brand-deep);font-weight:700}.tag[data-v-d70023cb]{background:var(--brand-soft);color:var(--brand-deep);border-radius:8px;padding:3px 8px;font-size:12px;font-weight:700}.chev[data-v-d70023cb]{border-bottom:2px solid #9bb0a2;border-right:2px solid #9bb0a2;width:8px;height:8px;transition:transform .18s;transform:rotate(-45deg)}.chev.open[data-v-d70023cb]{transform:rotate(45deg)}.chev.mini[data-v-d70023cb]{width:7px;height:7px}.profile[data-v-1df08616]{align-items:center;gap:14px;margin-bottom:8px;display:flex}.avatar[data-v-1df08616]{background:var(--brand-soft);border-radius:22px;place-items:center;width:64px;height:64px;display:grid}.avatar[data-v-1df08616] .brand-elephant{width:42px;height:42px}.nick[data-v-1df08616]{color:var(--muted);margin:6px 0 0;font-size:14px;font-weight:700}.stats[data-v-1df08616]{flex-direction:column;gap:10px;margin-top:28px;display:flex}.stats p[data-v-1df08616]{border-radius:var(--radius);background:#ffffffc7;border:1px solid #c9d9ceb3;align-items:baseline;gap:8px;margin:0;padding:16px 18px;font-size:15px;display:flex}.stats span[data-v-1df08616]{color:var(--muted);font-weight:700}.stats strong[data-v-1df08616]{font-family:var(--font-display);letter-spacing:.04em;margin-left:auto;font-size:30px;font-weight:400}.stats em[data-v-1df08616]{color:var(--muted);font-size:14px;font-style:normal;font-weight:700}.stats .rate strong[data-v-1df08616]{color:var(--brand-deep)}.logout[data-v-1df08616]{border-radius:var(--radius-sm);width:100%;color:var(--bad);font:inherit;background:0 0;border:1.5px solid #c45c4a59;margin-top:28px;padding:14px 16px;font-size:16px;font-weight:700}.back[data-v-fa265e3b]{color:var(--brand);font:inherit;background:0 0;border:0;padding:0;font-weight:700}.head[data-v-fa265e3b]{margin-top:14px}.head .muted[data-v-fa265e3b]{margin-top:8px}.cols[data-v-fa265e3b]{grid-template-columns:1fr 1fr;gap:12px;margin-top:22px;display:grid}.col[data-v-fa265e3b]{border-radius:var(--radius);background:#ffffffb8;border:1px solid #c9d9cebf;padding:10px}h2[data-v-fa265e3b]{color:var(--muted);letter-spacing:.08em;margin:4px 8px 10px;font-size:12px;font-weight:700}.item[data-v-fa265e3b]{border-radius:var(--radius-sm);background:var(--paper);color:#93a398;width:100%;font:inherit;text-align:left;border:0;justify-content:space-between;align-items:center;margin-bottom:8px;padding:13px 12px;font-weight:700;transition:background-color .16s,color .16s,transform .16s;display:flex}.item[data-v-fa265e3b]:disabled{cursor:not-allowed}.item.on[data-v-fa265e3b]{background:linear-gradient(160deg, #3d9462, var(--brand-deep));color:#fff}.item.go[data-v-fa265e3b]:not(:disabled){color:var(--brand-deep);background:var(--brand-soft)}.item.go[data-v-fa265e3b]:not(:disabled):after{content:"";background:var(--brand);border-radius:50%;width:7px;height:7px}.item.go[data-v-fa265e3b]:not(:disabled):active{transform:scale(.98)}.empty[data-v-7b222b62]{flex-direction:column;min-height:100dvh;display:flex}.back[data-v-7b222b62]{color:var(--brand);font:inherit;background:0 0;border:0;align-self:flex-start;padding:0;font-weight:700}.panel[data-v-7b222b62]{text-align:center;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:10px;display:flex}.panel[data-v-7b222b62] .brand-elephant{width:64px;height:64px;margin-bottom:6px}.wait[data-v-7b222b62]{font-family:var(--font-display);letter-spacing:.08em;color:var(--brand-deep);margin:0;font-size:28px}.empty .muted[data-v-7b222b62]{margin:0}.wrap[data-v-cde48166]{flex:1;align-items:center;gap:10px;min-width:0;display:flex}.track[data-v-cde48166]{background:var(--paper-deep);border-radius:999px;flex:1;height:10px;position:relative;overflow:visible}.fill[data-v-cde48166]{border-radius:inherit;background:linear-gradient(90deg, #6fb589, var(--brand));transform-origin:0;height:100%;transition:width .32s cubic-bezier(.22,1,.36,1)}.dot[data-v-cde48166]{background:var(--surface);border:3px solid var(--brand);width:16px;height:16px;box-shadow:0 2px 8px var(--brand-glow);border-radius:50%;transition:left .32s cubic-bezier(.22,1,.36,1);position:absolute;top:50%;transform:translate(-50%,-50%)}.count[data-v-cde48166]{min-width:3.2em;color:var(--muted);font-variant-numeric:tabular-nums;text-align:right;font-size:13px;font-weight:700}.practice[data-v-d34a8bdd]{flex-direction:column;min-height:100dvh;display:flex}.top[data-v-d34a8bdd]{align-items:center;gap:12px;display:flex}.back[data-v-d34a8bdd]{color:var(--brand);font:inherit;background:0 0;border:0;padding:0;font-weight:700}.stage[data-v-d34a8bdd]{flex-direction:column;flex:1;align-items:stretch;margin-top:20px;display:flex}.prompt[data-v-d34a8bdd]{color:var(--ink);font-family:var(--font-display);letter-spacing:.04em;background:0 0;border:0;justify-content:center;align-items:center;gap:8px;padding:0;font-size:26px;display:flex}.horn[data-v-d34a8bdd]{background:var(--brand-soft);width:34px;height:34px;color:var(--brand-deep);border-radius:50%;place-items:center;display:grid}.horn svg[data-v-d34a8bdd]{width:18px;height:18px}.frame[data-v-d34a8bdd]{background:linear-gradient(#ffffffe6,#e8f1eaf2);border:1px solid #c9d9cecc;border-radius:22px;justify-content:center;align-items:center;height:min(42vh,300px);margin-top:18px;display:flex;overflow:hidden}img[data-v-d34a8bdd]{object-fit:contain;width:100%;height:100%;animation:.32s both soft-pop}.answer[data-v-d34a8bdd]{border-radius:var(--radius-sm);background:linear-gradient(160deg, #3d9462, var(--brand-deep));color:#fff;font:inherit;letter-spacing:.06em;box-shadow:0 8px 18px var(--brand-glow);border:0;margin:18px auto 0;padding:11px 30px;font-weight:800;transition:transform .16s}.answer[data-v-d34a8bdd]:active:not(:disabled){transform:scale(.97)}.answer-text[data-v-d34a8bdd]{color:var(--brand-deep);font-family:var(--font-display);letter-spacing:.08em;text-align:center;margin:14px 0 0;font-size:28px;animation:.24s both soft-pop}.hint[data-v-d34a8bdd]{color:var(--muted);text-align:center;margin:22px 0 0;font-size:13px;line-height:1.55}.judge[data-v-d34a8bdd]{grid-template-columns:1fr 1fr;gap:14px;margin-top:16px;margin-bottom:8px;display:grid}.ok[data-v-d34a8bdd],.bad[data-v-d34a8bdd]{border-radius:var(--radius);min-height:64px;font:inherit;border:0;padding:14px 0;transition:transform .16s,opacity .16s}.ok[data-v-d34a8bdd]{background:var(--ok-bg);color:var(--ok)}.bad[data-v-d34a8bdd]{background:var(--bad-bg);color:var(--bad)}.mark[data-v-d34a8bdd]{font-family:var(--font-display);letter-spacing:.12em;font-size:28px}.ok[data-v-d34a8bdd]:active:not(:disabled),.bad[data-v-d34a8bdd]:active:not(:disabled){transform:scale(.97)}.ok[data-v-d34a8bdd]:disabled,.bad[data-v-d34a8bdd]:disabled,.answer[data-v-d34a8bdd]:disabled{opacity:.55}.result[data-v-b4f007eb]{text-align:center;flex-direction:column;align-items:stretch;min-height:100dvh;display:flex}.badge[data-v-b4f007eb]{background:var(--brand-soft);border-radius:28px;place-items:center;width:88px;height:88px;margin:28px auto 18px;animation:.42s both soft-pop;display:grid}.badge[data-v-b4f007eb] .brand-elephant{width:56px;height:56px}.score[data-v-b4f007eb]{font-family:var(--font-display);letter-spacing:.04em;margin:28px 0 0;font-size:36px}.rate[data-v-b4f007eb]{color:var(--brand-deep);margin:10px 0 0;font-size:22px;font-weight:800}.tip[data-v-b4f007eb]{margin-top:12px}.cta[data-v-b4f007eb],.ghost[data-v-b4f007eb]{border-radius:var(--radius-sm);width:100%;font:inherit;margin-top:14px;padding:14px 16px;font-size:16px;font-weight:700}.cta[data-v-b4f007eb]{margin-top:36px}.ghost[data-v-b4f007eb]{border:1.5px solid var(--line);color:var(--brand-deep);background:0 0}:root{--brand:#2f7a52;--brand-deep:#1f5a3c;--brand-soft:#d7ede0;--brand-glow:#2f7a522e;--ink:#1c2b22;--muted:#5f7266;--paper:#f3f7f2;--paper-deep:#e4efe7;--surface:#fff;--line:#c9d9ce;--ok:#2f8a55;--ok-bg:#e3f5ea;--bad:#c45c4a;--bad-bg:#f8e8e4;--amber:#d9923a;--radius:18px;--radius-sm:12px;--shadow-soft:0 10px 28px #1f5a3c14;--font-display:"ZCOOL XiaoWei", "Noto Sans SC", sans-serif;--font-ui:"Nunito", "Noto Sans SC", sans-serif;color:var(--ink);background:var(--paper);font-family:var(--font-ui);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased}*{box-sizing:border-box}html,body{min-height:100%;margin:0}body{background:radial-gradient(120% 80% at 10% -10%, #2f7a5229, transparent 55%), radial-gradient(90% 60% at 100% 0%, #d9923a1f, transparent 50%), linear-gradient(180deg, #eef5ef 0%, var(--paper) 42%, #e8f0ea 100%);color:var(--ink)}body:before{content:"";pointer-events:none;opacity:.35;z-index:0;background-image:radial-gradient(circle at 20% 30%,#2f7a5214 0 1.5px,#0000 2px),radial-gradient(circle at 70% 60%,#1f5a3c0f 0 1px,#0000 2px);background-size:28px 28px,18px 18px;position:fixed;inset:0}#app{z-index:1;background:linear-gradient(180deg, #ffffffb8, #ffffffeb), var(--surface);max-width:480px;min-height:100dvh;box-shadow:0 0 0 1px #1f5a3c0a, var(--shadow-soft);margin:0 auto;position:relative}button,input{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed}a{color:inherit}.page{box-sizing:border-box;min-height:100dvh;padding:28px 20px 24px;animation:.42s cubic-bezier(.22,1,.36,1) both page-rise}.has-tab .page{padding-bottom:calc(88px + env(safe-area-inset-bottom))}.page h1{font-family:var(--font-display);letter-spacing:.02em;margin:0;font-size:28px;font-weight:400;line-height:1.25}.brand-mark{color:var(--brand-deep);align-items:center;gap:10px;display:inline-flex}.brand-mark .word{font-family:var(--font-display);letter-spacing:.04em;font-size:34px;line-height:1}.brand-elephant{transform-origin:60% 40%;flex:none;width:44px;height:44px;animation:3.6s ease-in-out infinite ear-sway}.btn-primary,.btn-ghost,.btn-soft{border-radius:var(--radius-sm);letter-spacing:.02em;border:0;justify-content:center;align-items:center;gap:8px;min-height:48px;padding:12px 18px;font-weight:700;transition:transform .16s,background-color .16s,box-shadow .16s,color .16s;display:inline-flex}.btn-primary{background:linear-gradient(160deg, #3d9462 0%, var(--brand) 55%, var(--brand-deep) 100%);color:#fff;box-shadow:0 8px 18px var(--brand-glow)}.btn-primary:hover:not(:disabled){transform:translateY(-1px)}.btn-primary:active:not(:disabled){transform:translateY(1px)scale(.985)}.btn-ghost{color:var(--brand-deep);border:1.5px solid var(--line);background:0 0}.btn-soft{background:var(--brand-soft);color:var(--brand-deep)}.btn-primary:disabled,.btn-ghost:disabled,.btn-soft:disabled{opacity:.55}.field{color:var(--muted);flex-direction:column;gap:8px;font-size:14px;display:flex}.field input{border:1.5px solid var(--line);border-radius:var(--radius-sm);width:100%;color:var(--ink);background:#ffffffe6;outline:none;padding:13px 14px;transition:border-color .16s,box-shadow .16s}.field input:focus{border-color:var(--brand);box-shadow:0 0 0 3px var(--brand-glow)}.muted{color:var(--muted);margin:0;font-size:14px;line-height:1.5}.error-text{color:var(--bad);margin:0;font-size:14px}.linkish{color:var(--brand);font:inherit;background:0 0;border:0;padding:0;font-weight:700}@keyframes page-rise{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes ear-sway{0%,to{transform:rotate(-2deg)}50%{transform:rotate(3deg)}}@keyframes soft-pop{0%{opacity:0;transform:translateY(6px)scale(.96)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes fill-glide{0%{transform:scaleX(.2)}}@keyframes leaf-float{0%,to{transform:translateY(0)}50%{transform:translateY(-6px)}}@media (prefers-reduced-motion:reduce){.page,.brand-elephant,.btn-primary,.answer-text,.fill{transition:none!important;animation:none!important}}
