.home[data-v-35ac7fbb]{max-width:var(--ht-max-w);margin:0 auto;padding:24px 20px 0;font-family:var(--ht-font);color:var(--ht-ink)}.home[data-v-35ac7fbb]:before{content:"";position:fixed;top:0;right:0;bottom:0;left:0;z-index:-1;pointer-events:none;background:linear-gradient(180deg,#fffbf500,#fffbf500 180px,#fffbf5e6,#fffbf5f7 420px,#fffbf5f7)}.block[data-v-35ac7fbb]{margin-bottom:var(--ht-gap-block)}.block-head[data-v-35ac7fbb]{display:flex;align-items:baseline;justify-content:space-between;gap:12px}.block-title[data-v-35ac7fbb]{font-size:20px;font-weight:600;color:var(--ht-ink);margin-bottom:16px;letter-spacing:-.01em;text-shadow:0 1px 6px rgba(255,251,245,.95),0 0 18px rgba(255,251,245,.8)}.block-head .block-title[data-v-35ac7fbb]{margin-bottom:16px}.link-all[data-v-35ac7fbb]{background:transparent;border:none;padding:0;font-size:13px;font-weight:500;color:var(--ht-primary-deep);font-family:var(--ht-font)}.link-all[data-v-35ac7fbb]:hover{text-decoration:underline}.hero[data-v-35ac7fbb]{position:relative;display:flex;align-items:center;gap:24px;margin-bottom:var(--ht-gap-block);padding:32px 36px;border-radius:var(--ht-radius-module);background:linear-gradient(120deg,var(--ht-hero-grad-from) 0%,var(--ht-hero-grad-to) 100%);overflow:hidden;box-shadow:0 10px 28px #ff7a2f38}.hero-copy[data-v-35ac7fbb]{position:relative;z-index:2;flex:1;min-width:0}.hero-hi[data-v-35ac7fbb]{font-size:14px;font-weight:500;color:#ffffffe6;margin-bottom:6px}.hero-title[data-v-35ac7fbb]{font-size:30px;font-weight:700;color:var(--ht-white);line-height:1.25;margin-bottom:20px;letter-spacing:-.02em}.resume-card[data-v-35ac7fbb]{display:flex;align-items:center;justify-content:space-between;gap:16px;max-width:420px;padding:14px 18px;margin-bottom:18px;border-radius:var(--ht-radius-card);background:#fffffff0;box-shadow:0 4px 12px #211a1414}.resume-info[data-v-35ac7fbb]{display:flex;flex-direction:column;gap:3px;min-width:0}.resume-label[data-v-35ac7fbb]{font-size:11px;font-weight:500;color:var(--ht-grey)}.resume-name[data-v-35ac7fbb]{font-size:15px;font-weight:600;color:var(--ht-ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.resume-num[data-v-35ac7fbb]{display:flex;align-items:baseline;flex-shrink:0}.resume-cur[data-v-35ac7fbb]{font-size:26px;font-weight:700;color:var(--ht-primary);line-height:1}.resume-total[data-v-35ac7fbb]{font-size:14px;font-weight:500;color:var(--ht-grey)}.hero-btn[data-v-35ac7fbb]{display:inline-flex;align-items:center;gap:6px;height:44px;padding:0 24px;border:none;border-radius:var(--ht-radius-pill);background:var(--ht-white);color:var(--ht-primary-deep);font-family:var(--ht-font);font-size:15px;font-weight:600;box-shadow:0 4px 12px #211a141a;transition:transform .15s ease,box-shadow .2s ease}.hero-btn[data-v-35ac7fbb]:hover{box-shadow:0 6px 18px #211a1429}.hero-btn svg[data-v-35ac7fbb]{width:17px;height:17px}.hero-art[data-v-35ac7fbb]{position:absolute;right:0;top:0;height:100%;width:auto;object-fit:cover;object-position:left center;z-index:1;-webkit-mask-image:linear-gradient(90deg,transparent 0%,#000 38%);mask-image:linear-gradient(90deg,transparent 0%,#000 38%)}.module-grid[data-v-35ac7fbb]{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:var(--ht-gap-grid)}.module-card[data-v-35ac7fbb]{position:relative;overflow:hidden;padding:var(--ht-pad-module);border-radius:var(--ht-radius-module);background:var(--m-bg, var(--ht-mint));cursor:pointer;transition:transform .2s ease,box-shadow .2s ease;box-shadow:var(--ht-shadow-card)}.module-card[data-v-35ac7fbb]:hover{transform:translateY(-3px);box-shadow:0 10px 24px #211a141a}.module-card[data-v-35ac7fbb]:focus-visible{outline:3px solid var(--ht-primary);outline-offset:2px}.module-art[data-v-35ac7fbb]{position:absolute;top:0;right:0;width:165px;height:165px;object-fit:cover;opacity:.8;pointer-events:none;z-index:0}.module-art-fade[data-v-35ac7fbb]{position:absolute;top:0;right:0;width:165px;height:165px;pointer-events:none;z-index:1;background:radial-gradient(circle at 50% 50%,transparent 30%,var(--m-bg, var(--ht-mint)) 82%)}.module-body[data-v-35ac7fbb]{position:relative;z-index:2;display:flex;flex-direction:column;gap:var(--ht-gap-module);align-items:flex-start}.module-title[data-v-35ac7fbb]{font-size:22px;font-weight:600;color:var(--ht-ink);letter-spacing:-.01em}.module-desc[data-v-35ac7fbb]{font-size:13px;line-height:1.5;max-width:62%;font-weight:400;color:var(--m-desc, var(--ht-desc-typing))}.module-progress[data-v-35ac7fbb]{display:flex;align-items:center;gap:10px}.bar[data-v-35ac7fbb]{width:120px;height:6px;border-radius:var(--ht-radius-pill);background:#ffffffeb;overflow:hidden;flex-shrink:0}.bar-fill[data-v-35ac7fbb]{height:100%;border-radius:var(--ht-radius-pill);background:var(--m-fill, var(--ht-fill-mint));transition:width .5s ease}.module-count[data-v-35ac7fbb]{font-size:12px;font-weight:500;white-space:nowrap;color:var(--m-desc, var(--ht-desc-typing))}.module-btn[data-v-35ac7fbb]{height:40px;padding:0 36px;border:none;border-radius:var(--ht-radius-pill);background:var(--ht-white);color:var(--ht-ink);font-family:var(--ht-font);font-size:14px;font-weight:500;box-shadow:0 2px 8px #211a1412;transition:transform .15s ease,box-shadow .2s ease;align-self:flex-start}.module-btn[data-v-35ac7fbb]:hover{box-shadow:0 4px 12px #211a1424}.stat-grid[data-v-35ac7fbb]{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:var(--ht-gap-grid)}.stat-card[data-v-35ac7fbb]{display:flex;flex-direction:column;gap:12px;padding:var(--ht-pad-stat);border:1px solid var(--ht-border);border-radius:var(--ht-radius-card);background:var(--ht-white);box-shadow:var(--ht-shadow-card)}.stat-top[data-v-35ac7fbb]{display:flex;align-items:center;justify-content:space-between;gap:10px}.stat-label[data-v-35ac7fbb]{font-size:11px;font-weight:400;color:var(--ht-grey)}.stat-ico[data-v-35ac7fbb]{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;flex-shrink:0;overflow:visible}.stat-ico[data-v-35ac7fbb] svg,.stat-ico svg[data-v-35ac7fbb]{width:28px;height:28px;display:block;overflow:visible}.stat-value[data-v-35ac7fbb]{font-size:32px;font-weight:700;color:var(--ht-ink);line-height:1.1;letter-spacing:-.02em}.stat-track[data-v-35ac7fbb]{width:100%;height:6px;border-radius:3px;background:var(--ht-border);overflow:hidden}.stat-fill[data-v-35ac7fbb]{height:100%;border-radius:3px;transition:width .5s ease}.stat-goal[data-v-35ac7fbb]{font-size:11px;font-weight:400;color:var(--ht-grey)}.course-cols[data-v-35ac7fbb]{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:var(--ht-gap-col)}.course-col[data-v-35ac7fbb]{display:flex;flex-direction:column;gap:12px}.col-label[data-v-35ac7fbb]{font-size:13px;font-weight:600;color:var(--ht-brown);margin-bottom:2px}.course-card[data-v-35ac7fbb]{display:flex;align-items:center;gap:12px;padding:var(--ht-pad-card);border:1px solid var(--ht-border);border-radius:var(--ht-radius-card);background:var(--ht-white);box-shadow:var(--ht-shadow-card);cursor:pointer;transition:box-shadow .2s ease,transform .2s ease}.course-card[data-v-35ac7fbb]:hover{box-shadow:0 6px 16px #211a1417}.course-card.s-locked[data-v-35ac7fbb]{cursor:not-allowed;box-shadow:none;background:var(--ht-locked-bg)}.cc-icon[data-v-35ac7fbb]{display:flex;align-items:center;justify-content:center;width:48px;height:48px;flex-shrink:0;border-radius:var(--ht-radius-icon);background:var(--ht-lavender);font-size:24px;line-height:1}.s-new .cc-icon[data-v-35ac7fbb]{background:var(--ht-mint)}.s-doing .cc-icon[data-v-35ac7fbb]{background:var(--ht-cream)}.s-done .cc-icon[data-v-35ac7fbb]{background:var(--ht-mint)}.s-locked .cc-icon[data-v-35ac7fbb]{background:var(--ht-locked-icon);filter:grayscale(.6)}.cc-info[data-v-35ac7fbb]{flex:1;min-width:0;display:flex;flex-direction:column;gap:4px}.cc-title[data-v-35ac7fbb]{font-size:15px;font-weight:600;color:var(--ht-ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cc-badge[data-v-35ac7fbb]{align-self:flex-start;padding:2px 8px;border-radius:var(--ht-radius-pill);font-size:11px;font-weight:500;color:var(--ht-white);background:var(--ht-state-active)}.s-doing .cc-badge[data-v-35ac7fbb]{background:var(--ht-state-doing)}.s-done .cc-badge[data-v-35ac7fbb]{background:var(--ht-state-done)}.s-locked .cc-badge[data-v-35ac7fbb]{background:var(--ht-state-locked)}.cc-meta[data-v-35ac7fbb]{font-size:12px;color:var(--ht-grey);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cc-track[data-v-35ac7fbb]{width:100%;height:6px;border-radius:var(--ht-radius-pill);background:var(--ht-border);overflow:hidden}.cc-fill[data-v-35ac7fbb]{height:100%;border-radius:var(--ht-radius-pill);background:var(--ht-state-active);transition:width .5s ease}.s-doing .cc-fill[data-v-35ac7fbb]{background:var(--ht-state-doing)}.s-done .cc-fill[data-v-35ac7fbb]{background:var(--ht-state-done)}.cc-btn[data-v-35ac7fbb]{flex-shrink:0;height:34px;padding:0 16px;border:none;border-radius:var(--ht-radius-pill);background:var(--ht-state-active);color:var(--ht-white);font-family:var(--ht-font);font-size:12px;font-weight:500;transition:filter .2s ease}.cc-btn[data-v-35ac7fbb]:hover:not(:disabled){filter:brightness(1.06)}.s-doing .cc-btn[data-v-35ac7fbb]{background:var(--ht-state-doing)}.s-done .cc-btn[data-v-35ac7fbb]{background:var(--ht-state-done)}.s-locked .cc-btn[data-v-35ac7fbb],.cc-btn[data-v-35ac7fbb]:disabled{background:var(--ht-locked-btn);color:var(--ht-state-locked);cursor:not-allowed}.foot[data-v-35ac7fbb]{display:flex;align-items:center;justify-content:center;height:64px;font-size:12px;color:var(--ht-grey)}@media (max-width: 720px){.home[data-v-35ac7fbb]{padding:16px 16px 0}.hero[data-v-35ac7fbb]{padding:24px 22px}.hero-title[data-v-35ac7fbb]{font-size:23px}.hero-art[data-v-35ac7fbb]{display:none}.module-grid[data-v-35ac7fbb],.stat-grid[data-v-35ac7fbb]{grid-template-columns:minmax(0,1fr)}.module-desc[data-v-35ac7fbb]{max-width:70%}}.bb[data-v-94826c01]{display:inline-flex;align-items:center;justify-content:center;gap:6px;border:none;border-radius:var(--radius-md);font-family:var(--font-body);font-weight:700;cursor:pointer;white-space:nowrap;transition:background .2s ease,box-shadow .2s ease,transform .15s ease,color .2s ease;text-decoration:none}.bb[data-v-94826c01]:active:not(:disabled){transform:scale(.96)}.bb[data-v-94826c01]:disabled{opacity:.55;cursor:not-allowed}.bb-lg[data-v-94826c01]{min-height:48px;padding:14px 36px;font-size:1.2rem;box-shadow:0 4px 12px #00000014}.bb-md[data-v-94826c01]{min-height:40px;padding:10px 22px;font-size:1rem}.bb-sm[data-v-94826c01]{min-height:32px;padding:6px 14px;font-size:.85rem}.bb-primary[data-v-94826c01]{background:var(--color-primary);color:var(--color-white);box-shadow:0 4px 12px #ff8c4259}.bb-primary[data-v-94826c01]:hover:not(:disabled){box-shadow:0 6px 20px #ff8c4280}.bb-secondary[data-v-94826c01]{background:var(--color-secondary);color:var(--color-white);box-shadow:0 4px 12px #5fb8ff59}.bb-ghost[data-v-94826c01]{background:var(--color-muted);color:var(--color-text-light)}.bb-ghost[data-v-94826c01]:hover:not(:disabled){background:var(--color-border);color:var(--color-text)}.bb-text-only[data-v-94826c01]{background:transparent;color:var(--color-text-light);padding-left:8px;padding-right:8px}.bb-text-only[data-v-94826c01]:hover:not(:disabled){background:var(--color-muted);color:var(--color-text)}.bb-danger[data-v-94826c01]{background:var(--color-error);color:var(--color-white)}.bb-active[data-v-94826c01]{background:var(--color-card);color:var(--color-primary);box-shadow:0 1px 4px #4a3b2f14}.bb-block[data-v-94826c01]{width:100%}.home-view[data-v-b5d91240]{max-width:780px;margin:0 auto;padding:32px 20px;min-height:calc(100vh - var(--banner-h));display:flex;flex-direction:column;justify-content:center}.home-header[data-v-b5d91240]{text-align:center;margin-bottom:40px}.home-title[data-v-b5d91240]{font-size:2.6rem;color:var(--color-primary);margin-bottom:8px}.home-subtitle[data-v-b5d91240]{font-size:1.1rem;color:var(--color-text-light)}.menu-grid[data-v-b5d91240]{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:28px}.menu-card[data-v-b5d91240]{display:flex;flex-direction:column;align-items:center;text-align:center;background:var(--color-card);border:3px solid var(--color-border);border-radius:var(--radius-lg);padding:36px 28px;box-shadow:var(--shadow-soft);cursor:pointer;transition:transform .2s ease,box-shadow .2s ease}.menu-card[data-v-b5d91240]:hover{transform:translateY(-5px);box-shadow:var(--shadow-card)}.menu-card.lessons[data-v-b5d91240]{border-color:var(--color-primary)}.menu-card.games[data-v-b5d91240]{border-color:var(--color-secondary)}.card-icon[data-v-b5d91240]{font-size:4rem;margin-bottom:16px}.card-title[data-v-b5d91240]{font-size:1.6rem;color:var(--color-text);margin-bottom:8px}.card-desc[data-v-b5d91240]{font-size:1rem;color:var(--color-text-light);line-height:1.5;margin-bottom:20px;flex:1}.card-progress[data-v-b5d91240]{display:flex;flex-direction:column;align-items:center;gap:8px;margin-bottom:20px;width:100%;font-size:.85rem;color:var(--color-text-light)}.mini-bar[data-v-b5d91240]{width:100%;max-width:180px;height:10px;background:var(--color-border);border-radius:var(--radius-sm);overflow:hidden}.mini-fill[data-v-b5d91240]{height:100%;background:linear-gradient(90deg,var(--color-yellow),var(--color-primary));border-radius:var(--radius-sm);transition:width .5s ease}.best-score[data-v-b5d91240]{font-weight:700;color:var(--color-success)}.lesson-list-view[data-v-d1b853ee]{max-width:680px;margin:0 auto;padding:32px 20px 0;min-height:calc(100vh - var(--banner-h));display:flex;flex-direction:column}.list-header[data-v-d1b853ee]{margin-bottom:24px}.header-text[data-v-d1b853ee]{text-align:center}.list-title[data-v-d1b853ee]{font-size:2rem;color:var(--color-primary);margin-bottom:4px}.list-subtitle[data-v-d1b853ee]{font-size:1rem;color:var(--color-text-light)}.progress-bar-container[data-v-d1b853ee]{position:relative;width:100%;max-width:480px;margin:0 auto 32px;height:32px;background:var(--color-card);border-radius:var(--radius-md);border:3px solid var(--color-border);overflow:hidden;display:flex;align-items:center;justify-content:center}.progress-bar-fill[data-v-d1b853ee]{position:absolute;left:0;top:0;bottom:0;background:linear-gradient(90deg,var(--color-yellow),var(--color-primary));border-radius:var(--radius-md);transition:width .5s ease}.progress-text[data-v-d1b853ee]{position:relative;z-index:1;font-weight:700;font-size:.95rem;color:var(--color-text)}.lesson-path[data-v-d1b853ee]{display:flex;flex-direction:column;align-items:center;gap:24px;padding:20px 0 0;flex:1}.lesson-node[data-v-d1b853ee]{display:flex;align-items:flex-start;gap:16px;padding:18px 22px;width:100%;max-width:360px;background:var(--color-card);border:3px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-soft);cursor:pointer;transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease}.lesson-node[data-v-d1b853ee]:not(.locked):hover{transform:translateY(-3px);box-shadow:var(--shadow-card)}.lesson-node.locked[data-v-d1b853ee]{cursor:not-allowed;background:var(--color-disabled-bg);opacity:.85}.lesson-node.locked .node-title[data-v-d1b853ee]{color:var(--color-text-light)}.lesson-node.unlocked[data-v-d1b853ee]{border-color:var(--color-secondary)}.lesson-node.current[data-v-d1b853ee]{border-color:var(--color-primary);box-shadow:0 4px 20px #ff8c422e}.lesson-node.completed[data-v-d1b853ee]{border-color:var(--color-success)}.node-circle[data-v-d1b853ee]{width:64px;height:64px;border-radius:50%;background:var(--color-card);border:4px solid var(--color-border);display:flex;align-items:center;justify-content:center;font-size:1.8rem;flex-shrink:0;transition:all .2s ease}.lesson-node.unlocked .node-circle[data-v-d1b853ee]{background:var(--color-secondary);color:#fff;border-color:var(--color-secondary)}.lesson-node.current .node-circle[data-v-d1b853ee]{background:var(--color-primary);color:#fff;border-color:var(--color-primary);animation:pulse 1.5s ease infinite}.lesson-node.completed .node-circle[data-v-d1b853ee]{background:var(--color-success-soft)}.node-sticker[data-v-d1b853ee]{animation:bounce 2s ease infinite}.node-question[data-v-d1b853ee]{font-weight:800;font-family:var(--font-display);color:inherit;font-size:1.6rem}.node-lock[data-v-d1b853ee]{font-size:1.5rem}.node-info[data-v-d1b853ee]{flex:1;min-width:0;display:flex;flex-direction:column;gap:8px;padding:2px 0}.node-header[data-v-d1b853ee]{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.node-lesson-tag[data-v-d1b853ee]{font-size:.75rem;font-weight:800;color:var(--color-text-light)}.node-status-tag[data-v-d1b853ee]{font-size:.7rem;font-weight:700;padding:2px 8px;border-radius:999px}.node-status-tag.current[data-v-d1b853ee]{color:var(--color-white);background:var(--color-primary)}.node-status-tag.completed[data-v-d1b853ee]{color:var(--color-success);background:#4ecb711f}.node-status-tag.unlocked[data-v-d1b853ee]{color:var(--color-secondary);background:#5fb8ff1f}.node-status-tag.locked[data-v-d1b853ee]{color:var(--color-text-light);background:var(--color-border)}.node-title[data-v-d1b853ee]{font-family:var(--font-display);font-weight:800;font-size:1.25rem;color:var(--color-text);line-height:1.2}.node-keys[data-v-d1b853ee]{display:flex;flex-wrap:wrap;gap:8px}.key-tag[data-v-d1b853ee]{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,PingFang SC,monospace;font-size:.85rem;font-weight:700;color:var(--color-text);background:var(--color-muted);padding:5px 12px;border-radius:var(--radius-sm);border:1px solid var(--color-border);line-height:1}.node-hint[data-v-d1b853ee]{font-size:.8rem;color:var(--color-text-light);margin:0;line-height:1.4}.list-footer[data-v-d1b853ee]{text-align:center;padding:32px 0}.key-prompt[data-v-75d5425f]{display:flex;align-items:center;justify-content:center;min-height:140px;min-width:140px;padding:16px 32px;background:var(--color-card);border-radius:var(--radius-lg);border:4px solid var(--color-border);box-shadow:var(--shadow-card);transition:all .2s ease}.prompt-char[data-v-75d5425f]{font-size:5rem;font-weight:800;font-family:var(--font-display);color:var(--color-text)}.prompt-combo[data-v-75d5425f]{display:flex;align-items:center;justify-content:center;gap:10px;font-family:var(--font-display);font-weight:800;color:var(--color-text)}.prompt-combo .combo-mod[data-v-75d5425f]{background:var(--kb-accent);color:var(--color-white);padding:4px 14px;border-radius:10px;font-size:1.6rem}.prompt-combo .combo-plus[data-v-75d5425f],.prompt-combo .combo-arrow[data-v-75d5425f]{font-size:1.8rem;color:var(--color-text-light)}.prompt-combo .combo-base[data-v-75d5425f]{font-size:2.6rem;background:var(--color-white);border:3px solid var(--kb-accent);border-radius:10px;padding:2px 18px}.prompt-combo .combo-result[data-v-75d5425f]{font-size:2.6rem;color:var(--kb-shift-color)}.prompt-word[data-v-75d5425f]{display:flex;gap:6px;flex-wrap:wrap;justify-content:center}.word-char[data-v-75d5425f]{font-size:2.8rem;font-weight:800;font-family:var(--font-display);padding:4px 10px;border-radius:var(--radius-sm);transition:all .2s ease}.char-done[data-v-75d5425f]{color:var(--color-success);opacity:.6}.char-current[data-v-75d5425f]{color:var(--color-text);background:var(--color-yellow);animation:pulse 1s ease infinite}.char-pending[data-v-75d5425f]{color:var(--color-text-light);opacity:.5}.prompt-space[data-v-75d5425f]{display:flex;flex-direction:column;align-items:center;gap:4px}.space-icon[data-v-75d5425f]{font-size:3.5rem;color:var(--color-purple)}.space-text[data-v-75d5425f]{font-size:1rem;color:var(--color-text-light);font-weight:600}.result-correct[data-v-75d5425f]{border-color:var(--color-success);animation:pop-in .3s ease}.result-error[data-v-75d5425f]{border-color:var(--color-error);animation:shake .3s ease}.keyboard-wrapper[data-v-93afbd15]{display:flex;flex-direction:column;align-items:center}.keyboard-container[data-v-93afbd15]{width:1041px;padding:8px;background:#ffffffb3;border-radius:24px;border:2px solid var(--color-border);margin:0 auto;box-sizing:border-box}.kb-row[data-v-93afbd15]{display:flex;gap:3px;margin-bottom:3px}.kb-body[data-v-93afbd15]{display:flex;gap:6px}.main-area[data-v-93afbd15]{width:686px;flex-shrink:0}.edit-area[data-v-93afbd15]{width:138px;flex-shrink:0}.numpad-area[data-v-93afbd15]{width:185px;flex-shrink:0;display:grid;grid-template-columns:repeat(4,44px);grid-template-rows:repeat(5,40px);gap:3px}.kb-key[data-v-93afbd15]{width:44px;height:40px;background:#fff;border:2px solid var(--color-border);border-radius:8px;display:flex;align-items:center;justify-content:center;font-size:1rem;font-weight:600;font-family:"Baloo 2",PingFang SC,sans-serif;color:var(--color-text);transition:all .15s ease;box-shadow:0 2px 4px #0000000f;flex-shrink:0;box-sizing:border-box}.kb-key[data-v-93afbd15]:hover{background:var(--kb-hover-bg)}.kb-key.has-shift[data-v-93afbd15]{flex-direction:column;gap:1px;padding:2px 0}.kb-key .shift-glyph[data-v-93afbd15]{font-size:.9rem;line-height:1;color:var(--kb-shift-color);font-weight:700}.kb-key .key-base[data-v-93afbd15]{font-size:1rem;line-height:1}.combo-hint-wrapper[data-v-93afbd15]{display:flex;align-items:center;justify-content:center;margin:0 auto 4px}.combo-hint[data-v-93afbd15]{display:flex;align-items:center;justify-content:center;gap:8px;margin:0 auto;padding:5px 14px;height:40px;box-sizing:border-box;background:var(--kb-accent-soft);border:2px solid var(--kb-accent);border-radius:12px;font-weight:800;font-family:"Baloo 2",PingFang SC,sans-serif;color:var(--kb-combo-text);width:fit-content}.combo-hint.is-empty[data-v-93afbd15]{visibility:hidden}.combo-hint .combo-mod[data-v-93afbd15]{background:var(--kb-accent);color:var(--color-white);padding:2px 10px;border-radius:8px;font-size:.95rem}.shift-combo-hint .combo-plus[data-v-93afbd15],.shift-combo-hint .combo-arrow[data-v-93afbd15]{font-size:1.1rem}.shift-combo-hint .combo-base[data-v-93afbd15]{font-size:1.2rem;background:var(--color-white);border:2px solid var(--kb-accent);border-radius:8px;padding:1px 12px}.shift-combo-hint .combo-result[data-v-93afbd15]{font-size:1.3rem;color:var(--kb-shift-color)}.kb-key.is-home[data-v-93afbd15]{background:var(--kb-hover-bg)}.kb-key.is-target[data-v-93afbd15]{animation:pulse-93afbd15 .8s ease infinite;border-width:3px;background:var(--kb-target-bg);transform:scale(1.08);z-index:2}.kb-key.is-shift-combo[data-v-93afbd15],.kb-key.is-combo-mod[data-v-93afbd15]{border-color:var(--kb-accent);border-width:3px;background:var(--kb-accent-soft);z-index:2}.kb-key.is-next-key[data-v-93afbd15]{background:var(--color-primary);color:#fff;border-color:var(--color-primary);border-width:3px;animation:next-key-breathe-93afbd15 .6s ease-in-out infinite;transform:translateY(0);z-index:2}@keyframes next-key-breathe-93afbd15{0%,to{opacity:1;box-shadow:0 2px 4px #0000000f}50%{opacity:.75;box-shadow:0 2px 8px #ff8c428c}}.kb-key.is-correct[data-v-93afbd15],.kb-key.is-error[data-v-93afbd15]{transform:translateY(2px);box-shadow:0 0 #0000}.kb-key.is-correct[data-v-93afbd15]{background:var(--color-success);color:#fff;border-color:var(--color-success)}.kb-key.is-error[data-v-93afbd15]{background:var(--color-error);color:#fff;border-color:var(--color-error);animation:shake-93afbd15 .3s ease}.func-key[data-v-93afbd15]{width:50px;height:28px;font-size:1rem;background:var(--color-disabled-bg)}.kb-key.func-side-key[data-v-93afbd15]{height:28px;font-size:.9rem}.area-gap[data-v-93afbd15]{width:3px;flex-shrink:0}.kb-key.is-backspace[data-v-93afbd15]{width:75px}.kb-key.is-backspace .key-base[data-v-93afbd15]{font-size:.9rem}.kb-key.is-tab[data-v-93afbd15]{width:75px}.kb-key.is-caps[data-v-93afbd15],.kb-key.is-enter[data-v-93afbd15]{width:83px}.kb-key.is-shift[data-v-93afbd15]{width:106px}.kb-key.is-ctrl[data-v-93afbd15]{width:55px}.kb-key.is-space[data-v-93afbd15]{width:335px}.side-key[data-v-93afbd15]{width:44px;height:40px;font-size:1rem;background:var(--color-disabled-bg)}.edit-area .side-key[data-v-93afbd15]{font-size:.9rem}.empty-key[data-v-93afbd15]{background:transparent;border:none;box-shadow:none}.is-numpad-span-col[data-v-93afbd15]{width:auto}.is-numpad-span-row[data-v-93afbd15]{height:auto}.numpad-area .kb-key.is-enter[data-v-93afbd15]{width:auto}@keyframes pulse-93afbd15{0%,to{box-shadow:0 0 #ffd70066}50%{box-shadow:0 0 0 6px #ffd70000}}@keyframes shake-93afbd15{0%,to{transform:translate(0)}25%{transform:translate(-4px)}75%{transform:translate(4px)}}.hands-overlay[data-v-0f113f14]{position:relative;width:100%;height:100%;pointer-events:none;-webkit-user-select:none;user-select:none}.hand-slot[data-v-0f113f14]{position:absolute;bottom:-305px;height:100%;display:flex;align-items:flex-start;justify-content:center;opacity:.75;transition:transform .18s ease,opacity .18s ease}.hand-left[data-v-0f113f14],.hand-right[data-v-0f113f14]{transition:left .18s ease,bottom .18s ease,width .18s ease,transform .18s ease,opacity .18s ease}.hand-svg[data-v-0f113f14]{width:100%;height:100%;object-fit:contain;object-position:top center;filter:drop-shadow(0 2px 4px rgba(0,0,0,.12));transition:transform .18s ease,filter .18s ease,opacity .18s ease;animation:handPop-0f113f14 .22s ease}.hands-pressed .hand-slot[data-v-0f113f14]{opacity:.95}.hands-pressed .hand-svg[data-v-0f113f14]{transform:translateY(6px) scale(.98)}.hands-correct .hand-svg[data-v-0f113f14]{filter:drop-shadow(0 0 12px rgba(6,120,71,.7)) drop-shadow(0 2px 4px rgba(0,0,0,.12))}.hands-wrong .hand-svg[data-v-0f113f14]{filter:drop-shadow(0 0 12px rgba(220,53,69,.8)) drop-shadow(0 2px 4px rgba(0,0,0,.12))}@keyframes handPop-0f113f14{0%{opacity:.2;transform:scale(.94)}to{opacity:.75;transform:scale(1)}}.celebration-overlay[data-v-dae503b0]{position:fixed;top:0;right:0;bottom:0;left:0;background:#4a3b2f80;display:flex;align-items:center;justify-content:center;z-index:100;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.celebration-card[data-v-dae503b0]{background:var(--color-card);border-radius:var(--radius-lg);padding:36px 48px;text-align:center;box-shadow:var(--shadow-card);max-width:420px;width:90%;position:relative;animation:pop-in .4s ease}.fireworks[data-v-dae503b0]{position:absolute;top:50%;left:50%;pointer-events:none}.spark[data-v-dae503b0]{position:absolute;font-size:1.5rem;animation:float-up 1.2s ease-out forwards;opacity:0}.spark[data-v-dae503b0]{--tx: 0px;--ty: 0px;animation:spark-fly-dae503b0 1.2s ease-out forwards}@keyframes spark-fly-dae503b0{0%{transform:translate(0) scale(0);opacity:1}to{transform:translate(var(--tx),var(--ty)) scale(1.2);opacity:0}}.result-content[data-v-dae503b0]{position:relative;z-index:1}.stars-section[data-v-dae503b0]{display:flex;justify-content:center;gap:8px;margin-bottom:12px}.star[data-v-dae503b0]{font-size:2.5rem;opacity:.3;transition:all .3s ease}.star.filled[data-v-dae503b0]{opacity:1;filter:drop-shadow(0 0 8px rgba(255,215,0,.6))}.star.pulse[data-v-dae503b0]{animation:star-pulse-dae503b0 1s ease infinite}@keyframes star-pulse-dae503b0{0%,to{transform:scale(1)}50%{transform:scale(1.15)}}.rating-text[data-v-dae503b0]{font-size:1.3rem;font-weight:700;margin-bottom:16px}.rating-text.perfect[data-v-dae503b0]{color:var(--color-perfect)}.rating-text.good[data-v-dae503b0]{color:var(--color-success)}.rating-text.pass[data-v-dae503b0]{color:var(--color-primary)}.rating-text.fail[data-v-dae503b0]{color:var(--color-error)}.sticker-section[data-v-dae503b0]{margin-bottom:20px}.sticker-emoji[data-v-dae503b0]{font-size:4rem;animation:bounce .8s ease infinite}.sticker-label[data-v-dae503b0]{font-size:.9rem;color:var(--color-text-light);margin-top:4px}.sticker-name[data-v-dae503b0]{font-size:1.4rem;font-weight:800;font-family:var(--font-display);color:var(--color-primary)}.stats-section[data-v-dae503b0]{display:flex;justify-content:center;gap:28px;margin:20px 0}.stat-item[data-v-dae503b0]{display:flex;flex-direction:column;gap:2px}.stat-value[data-v-dae503b0]{font-size:1.8rem;font-weight:800;font-family:var(--font-display);color:var(--color-text)}.stat-value.correct[data-v-dae503b0]{color:var(--color-success)}.stat-value.error[data-v-dae503b0]{color:var(--color-error)}.stat-label[data-v-dae503b0]{font-size:.85rem;color:var(--color-text-light)}.action-buttons[data-v-dae503b0]{display:flex;flex-direction:column;gap:10px;align-items:center}.kbd-hint[data-v-dae503b0]{display:inline-block;margin-left:6px;padding:2px 6px;border-radius:6px;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:.72rem;font-weight:700;line-height:1;color:#fffffff2;background:#fff3;border:1px solid rgba(255,255,255,.35);vertical-align:middle}.lesson-view[data-v-3a860ff0]{margin:0 auto;padding:16px 20px 24px;outline:none;min-height:calc(100vh - var(--banner-h));display:flex;flex-direction:column;width:1090px;max-width:1090px;overflow:hidden}.lesson-header[data-v-3a860ff0]{display:flex;align-items:flex-start;gap:16px;margin-bottom:12px}.lesson-info[data-v-3a860ff0]{flex:1}.lesson-title[data-v-3a860ff0]{font-size:1.3rem;color:var(--color-text)}.lesson-hint[data-v-3a860ff0]{font-size:.9rem;color:var(--color-text-light);margin-top:2px}.progress-mini[data-v-3a860ff0]{font-weight:700;font-size:1rem;color:var(--color-primary);background:var(--color-card);padding:6px 14px;border-radius:var(--radius-sm);border:2px solid var(--color-border);flex-shrink:0}.lesson-progress-bar[data-v-3a860ff0]{width:100%;height:10px;background:var(--color-border);border-radius:5px;overflow:hidden;margin-bottom:24px}.lesson-progress-fill[data-v-3a860ff0]{height:100%;background:linear-gradient(90deg,var(--color-secondary),var(--color-success));border-radius:5px;transition:width .3s ease}.prompt-section[data-v-3a860ff0]{display:flex;justify-content:center;margin-bottom:16px}.keyboard-stage[data-v-3a860ff0]{position:relative;display:flex;flex-direction:column;align-items:center;width:100%;margin-top:auto}.hands-section[data-v-3a860ff0]{position:absolute;top:-110px;left:50%;transform:translate(-50%);width:1041px;height:350px;z-index:20;pointer-events:none}.keyboard-section[data-v-3a860ff0]{display:flex;justify-content:center;position:relative;z-index:10}.practice-view[data-v-33f43113]{max-width:760px;margin:0 auto;padding:24px 20px 0;min-height:calc(100vh - var(--banner-h));display:flex;flex-direction:column}.practice-header[data-v-33f43113]{text-align:center;margin-bottom:16px}.practice-title[data-v-33f43113]{font-size:1.75rem;color:var(--color-primary);margin-bottom:2px}.practice-subtitle[data-v-33f43113]{font-size:.9rem;color:var(--color-text-light)}.type-tabs[data-v-33f43113]{display:flex;justify-content:center;gap:4px;background:var(--color-muted);border-radius:999px;padding:4px;width:fit-content;margin:0 auto 16px}.type-tab[data-v-33f43113]{padding:7px 22px;border-radius:999px;font-size:.9rem;font-weight:800;color:var(--color-text-light);background:transparent;white-space:nowrap}.type-tab[data-v-33f43113]:hover{color:var(--color-text)}.type-tab.active[data-v-33f43113]{color:var(--color-primary);background:var(--color-card);box-shadow:0 1px 4px #4a3b2f1a}.progress-bar-container[data-v-33f43113]{position:relative;width:100%;max-width:420px;margin:0 auto 16px;height:28px;background:var(--color-card);border-radius:var(--radius-md);border:3px solid var(--color-border);overflow:hidden;display:flex;align-items:center;justify-content:center}.progress-bar-fill[data-v-33f43113]{position:absolute;left:0;top:0;bottom:0;background:linear-gradient(90deg,var(--color-yellow),var(--color-primary));transition:width .5s ease}.progress-text[data-v-33f43113]{position:relative;z-index:1;font-weight:700;font-size:.85rem;color:var(--color-text)}.lesson-list[data-v-33f43113]{display:flex;flex-direction:column;gap:8px;flex:1}.level-group[data-v-33f43113]{margin-bottom:18px}.level-header[data-v-33f43113]{display:flex;align-items:baseline;justify-content:space-between;padding:0 4px 6px;margin-top:4px;border-bottom:2px dashed var(--color-border);margin-bottom:10px}.level-title[data-v-33f43113]{font-family:var(--font-display);font-weight:800;font-size:.95rem;color:var(--color-text);display:flex;align-items:center;gap:6px}.level-icon[data-v-33f43113]{font-size:1.05rem;line-height:1}.level-meta[data-v-33f43113]{font-size:.7rem;color:var(--color-text-light);font-weight:700}.lesson-row[data-v-33f43113]{display:flex;align-items:center;gap:12px;padding:10px 14px;background:var(--color-card);border:2px solid var(--color-border);border-radius:var(--radius-md);cursor:pointer;transition:border-color .18s ease,transform .18s ease,box-shadow .18s ease}.lesson-row[data-v-33f43113]:hover:not(.locked){transform:translateY(-1px);border-color:var(--color-primary);box-shadow:0 3px 10px #ff8c4224}.lesson-row.completed[data-v-33f43113]{border-color:var(--color-success)}.lesson-row.locked[data-v-33f43113]{cursor:not-allowed;background:var(--color-disabled-bg);opacity:.8}.row-no[data-v-33f43113]{flex-shrink:0;width:30px;height:30px;border-radius:999px;background:var(--color-muted);color:var(--color-text-light);font-weight:800;font-size:.85rem;display:flex;align-items:center;justify-content:center}.lesson-row.unlocked .row-no[data-v-33f43113]{background:var(--color-secondary);color:var(--color-white)}.lesson-row.completed .row-no[data-v-33f43113]{background:var(--color-success);color:var(--color-white)}.row-emoji[data-v-33f43113]{flex-shrink:0;font-size:1.15rem;line-height:1}.row-main[data-v-33f43113]{flex:1;min-width:0}.row-title[data-v-33f43113]{font-family:var(--font-display);font-weight:800;font-size:1rem;color:var(--color-text);line-height:1.25;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.lesson-row.locked .row-title[data-v-33f43113]{color:var(--color-text-light)}.row-sub[data-v-33f43113]{font-size:.75rem;color:var(--color-text-light);line-height:1.3;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.row-right[data-v-33f43113]{flex-shrink:0;display:flex;align-items:center}.row-stars[data-v-33f43113]{font-size:.9rem;color:var(--color-yellow);letter-spacing:1px}.row-tag[data-v-33f43113]{font-size:.75rem;font-weight:800;padding:3px 10px;border-radius:999px}.row-tag.go[data-v-33f43113]{color:var(--color-primary);background:#ff8c421f}.row-lock[data-v-33f43113]{font-size:1rem}.list-footer[data-v-33f43113]{text-align:center;padding:20px 0 24px}@media (max-width: 500px){.practice-view[data-v-33f43113]{padding:18px 14px 0}.row-sub[data-v-33f43113]{display:none}}.english-view[data-v-8986dd5d]{--word-pending-bg: #efe7de;--word-pending-stripe: #e6dccf;--word-pending-border: #d9cbbb;--word-pending-text: #a89a8d;--word-done-bg: #9ee7b8;--word-done-text: #0f6b3c;--word-current-bg: #ffd94d;--word-current-soft: #fff2c2;--word-current-text: #6b4c22;--word-error-bg: #ffd3ad;--word-error-text: #c2520a;--word-punct-bg: #f5efe8;--word-punct-text: #7a6b5d;--word-flow-pending: #b8afa6;--word-flow-punct: #9a8e80;--word-flow-space: #dcd3c9;margin:0 auto;padding:16px 20px 24px;outline:none;min-height:calc(100vh - var(--banner-h));display:flex;flex-direction:column;width:1090px;max-width:1090px;overflow:hidden}.en-header[data-v-8986dd5d]{display:flex;align-items:flex-start;gap:16px;margin-bottom:12px}.en-info[data-v-8986dd5d]{flex:1}.en-title[data-v-8986dd5d]{font-size:1.25rem;color:var(--color-text);display:flex;align-items:center;gap:8px}.en-emoji[data-v-8986dd5d]{font-size:1.3rem}.en-goal[data-v-8986dd5d]{font-size:.85rem;color:var(--color-text-light);margin-top:2px}.en-counter[data-v-8986dd5d]{flex-shrink:0;display:flex;flex-direction:column;align-items:center;background:var(--color-card);border:2px solid var(--color-border);border-radius:var(--radius-sm);padding:4px 14px}.counter-main[data-v-8986dd5d]{font-weight:800;font-size:1rem;color:var(--color-primary);line-height:1.2}.counter-sub[data-v-8986dd5d]{font-size:.7rem;color:var(--color-text-light)}.en-speech[data-v-8986dd5d]{flex:0 0 auto;display:flex;align-items:center;gap:6px;align-self:flex-start}.sp-replay[data-v-8986dd5d],.sp-voice[data-v-8986dd5d]{font:inherit;line-height:1;cursor:pointer;border:2px solid var(--color-border);background:var(--color-card);color:var(--color-text);border-radius:var(--radius-sm);transition:transform .08s,border-color .15s}.sp-replay[data-v-8986dd5d]{font-size:1rem;padding:5px 9px}.sp-voice[data-v-8986dd5d]{font-size:1.05rem;padding:5px 8px}.sp-replay[data-v-8986dd5d]:hover:not(:disabled),.sp-voice[data-v-8986dd5d]:hover{border-color:var(--color-primary);transform:translateY(-1px)}.sp-replay[data-v-8986dd5d]:disabled{opacity:.4;cursor:not-allowed}.sp-voice.off[data-v-8986dd5d]{opacity:.35;cursor:not-allowed}.sp-voice.on[data-v-8986dd5d]{border-color:var(--color-primary);background:color-mix(in srgb,var(--color-primary) 12%,transparent)}.sp-voices[data-v-8986dd5d]{display:flex;gap:4px}.sp-voice-icon[data-v-8986dd5d]{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;padding:0;border-radius:50%;overflow:hidden}.sp-voice-icon img[data-v-8986dd5d]{width:100%;height:100%;object-fit:cover;display:block}.sp-hint[data-v-8986dd5d]{flex:0 0 100%;margin:0 0 8px;padding:6px 10px;font-size:.78rem;color:#8a5a20;background:#fdf3e7;border:1px solid #f3dcc0;border-radius:var(--radius-sm)}.sp-replay.off[data-v-8986dd5d]{opacity:.45}.sp-note[data-v-8986dd5d]{font-size:.68rem;color:var(--color-text-light);align-self:center}.en-progress-bar[data-v-8986dd5d]{width:100%;height:10px;background:var(--color-border);border-radius:5px;overflow:hidden;margin-bottom:20px}.en-progress-fill[data-v-8986dd5d]{height:100%;background:linear-gradient(90deg,var(--color-secondary),var(--color-success));border-radius:5px;transition:width .3s ease}.typing-section[data-v-8986dd5d]{display:flex;flex-direction:column;align-items:center;gap:10px;margin-bottom:8px}.word-chips[data-v-8986dd5d]{width:100%;max-width:860px;display:flex;flex-wrap:wrap;justify-content:center;gap:8px;padding:12px 18px;background:var(--color-card);border:3px solid var(--color-border);border-radius:var(--radius-lg);position:relative;z-index:21}.word-chips.shake[data-v-8986dd5d]{animation:shake-8986dd5d .3s ease}.word-chip[data-v-8986dd5d]{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:1.05rem;font-weight:700;line-height:1.5;padding:2px 14px;border-radius:999px;border:2px solid transparent;color:var(--color-text);transition:color .12s ease,background .12s ease,border-color .12s ease;max-width:280px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.word-chip.is-long[data-v-8986dd5d]{max-width:520px}.word-chip.done[data-v-8986dd5d]{color:var(--color-success);background:#2ea86e1a}.word-chip.current[data-v-8986dd5d]{background:var(--word-current-bg);border-color:var(--color-primary);box-shadow:0 2px #ff8c4259;font-weight:800}.typing-text-flow[data-v-8986dd5d]{width:100%;max-width:980px;padding:18px 22px;background:var(--color-card);border:3px solid var(--color-border);border-radius:var(--radius-lg);font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,PingFang SC,monospace;font-size:1.5rem;line-height:2;letter-spacing:.02em;white-space:pre-wrap;word-break:normal;overflow-wrap:normal;text-align:left;position:relative;z-index:21}.typing-text-flow.shake[data-v-8986dd5d]{animation:shake-8986dd5d .3s ease}.flow-ch[data-v-8986dd5d]{display:inline;border-radius:6px;padding:1px 0;transition:color .12s ease,background .12s ease}.flow-ch.done[data-v-8986dd5d]{color:var(--color-success);font-weight:700}.flow-ch.current[data-v-8986dd5d]{color:var(--word-current-text);background:var(--word-current-bg);font-weight:800;box-shadow:0 0 0 2px #ff8c4233}.flow-ch.pending[data-v-8986dd5d]{color:var(--word-flow-pending)}.flow-ch.is-space[data-v-8986dd5d]{color:transparent;border-bottom:2px solid var(--word-flow-space);min-width:.6em}.flow-ch.is-space.done[data-v-8986dd5d]{border-bottom-color:var(--color-success);opacity:.5}.flow-ch.is-space.current[data-v-8986dd5d]{background:var(--word-current-soft);border-bottom-color:var(--color-primary)}.flow-ch.is-punct[data-v-8986dd5d]{color:var(--word-flow-punct)}.flow-ch.is-punct.done[data-v-8986dd5d]{color:var(--color-success)}.flow-ch.is-punct.current[data-v-8986dd5d]{color:var(--word-current-text)}.focus-word[data-v-8986dd5d]{display:flex;flex-direction:column;align-items:center;gap:4px;position:relative;z-index:21;width:100%;max-width:980px}.fw-letters[data-v-8986dd5d]{display:flex;flex-wrap:wrap;justify-content:center;gap:8px}.fw-ch[data-v-8986dd5d]{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:2.2rem;font-weight:800;line-height:1.25;min-width:1.35em;text-align:center;padding:2px 8px;border-radius:10px;background:var(--word-pending-bg);border:2px solid var(--word-pending-border);color:var(--word-pending-text)}.fw-ch.pending[data-v-8986dd5d]{background:var(--word-pending-bg);border-color:var(--word-pending-border);color:var(--word-pending-text)}.fw-ch.done[data-v-8986dd5d]{background:var(--word-done-bg);border-color:var(--color-success);color:var(--word-done-text)}.fw-ch.current[data-v-8986dd5d]{background:var(--word-error-bg);border-color:var(--color-primary);color:var(--word-error-text);box-shadow:0 0 0 3px #ff8c422e;animation:fw-pulse-8986dd5d 1s ease-in-out infinite}.fw-ch.is-space[data-v-8986dd5d]{display:inline-flex;align-items:center;justify-content:center;color:transparent;background:repeating-linear-gradient(45deg,var(--word-pending-bg),var(--word-pending-bg) 4px,var(--word-pending-stripe) 4px,var(--word-pending-stripe) 8px)}.fw-ch.is-space.done[data-v-8986dd5d]{background:#2ea86e2e}.fw-ch.is-space.current[data-v-8986dd5d]{background:#ff8c422e;border-color:var(--color-primary);border-style:dashed}.fw-ch.is-punct[data-v-8986dd5d]{background:var(--word-punct-bg);color:var(--word-punct-text)}.fw-info[data-v-8986dd5d]{display:flex;align-items:baseline;justify-content:center;flex-wrap:wrap;gap:10px;max-width:860px;font-size:.85rem;line-height:1.6;background:var(--color-card);border:2px solid var(--color-border);border-radius:999px;padding:2px 16px}.fw-phonetic[data-v-8986dd5d]{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;color:var(--color-text-light)}.fw-trans[data-v-8986dd5d]{color:var(--color-text)}.key-hint[data-v-8986dd5d]{font-size:.95rem;color:var(--color-text-light);display:flex;align-items:center;gap:6px;min-height:26px;position:relative;z-index:21;background:var(--color-card);border:2px solid var(--color-border);border-radius:999px;padding:1px 14px}.kbd[data-v-8986dd5d]{font-family:var(--font-body);font-size:.85rem;font-weight:800;color:var(--color-text);background:var(--color-card);border:2px solid var(--color-border);border-radius:8px;padding:2px 12px}.hint-letter[data-v-8986dd5d]{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:1.15rem;font-weight:800;color:var(--color-primary);background:#ff8c421f;border-radius:8px;padding:1px 10px}.typing-stats[data-v-8986dd5d]{display:flex;gap:16px;font-size:.8rem;font-weight:700;position:relative;z-index:21;background:var(--color-card);border:2px solid var(--color-border);border-radius:999px;padding:1px 12px}.stat.ok[data-v-8986dd5d]{color:var(--color-success)}.stat.err[data-v-8986dd5d]{color:var(--color-error)}.keyboard-stage[data-v-8986dd5d]{position:relative;display:flex;flex-direction:column;align-items:center;width:100%;margin-top:auto}.hands-section[data-v-8986dd5d]{position:absolute;top:-110px;left:50%;transform:translate(-50%);width:1041px;height:350px;z-index:20;pointer-events:none}.keyboard-section[data-v-8986dd5d]{display:flex;justify-content:center;position:relative;z-index:10}@keyframes fw-pulse-8986dd5d{0%,to{transform:translateY(0)}50%{transform:translateY(-2px)}}@keyframes shake-8986dd5d{0%,to{transform:translate(0)}25%{transform:translate(-6px)}75%{transform:translate(6px)}}.pinyin-list-view[data-v-aa8b5279]{max-width:760px;margin:0 auto;padding:24px 20px 0;min-height:calc(100vh - var(--banner-h));display:flex;flex-direction:column}.list-header[data-v-aa8b5279]{text-align:center;margin-bottom:16px}.list-title[data-v-aa8b5279]{font-size:1.75rem;color:var(--color-primary);margin-bottom:2px}.list-subtitle[data-v-aa8b5279]{font-size:.9rem;color:var(--color-text-light)}.progress-bar-container[data-v-aa8b5279]{position:relative;width:100%;max-width:420px;margin:0 auto 16px;height:28px;background:var(--color-card);border-radius:var(--radius-md);border:3px solid var(--color-border);overflow:hidden;display:flex;align-items:center;justify-content:center}.progress-bar-fill[data-v-aa8b5279]{position:absolute;left:0;top:0;bottom:0;background:linear-gradient(90deg,var(--color-yellow),var(--color-primary));transition:width .5s ease}.progress-text[data-v-aa8b5279]{position:relative;z-index:1;font-weight:700;font-size:.85rem;color:var(--color-text)}.lesson-list[data-v-aa8b5279]{display:flex;flex-direction:column;gap:8px;flex:1}.level-group[data-v-aa8b5279]{margin-bottom:18px}.level-header[data-v-aa8b5279]{display:flex;align-items:baseline;justify-content:space-between;padding:0 4px 6px;margin-top:4px;border-bottom:2px dashed var(--color-border);margin-bottom:10px}.level-title[data-v-aa8b5279]{font-family:var(--font-display);font-weight:800;font-size:.95rem;color:var(--color-text);display:flex;align-items:center;gap:6px}.level-icon[data-v-aa8b5279]{font-size:1.05rem;line-height:1}.level-meta[data-v-aa8b5279]{font-size:.7rem;color:var(--color-text-light);font-weight:700}.level-empty[data-v-aa8b5279]{font-size:.8rem;color:var(--color-text-light);text-align:center;padding:8px 0 4px}.lesson-row[data-v-aa8b5279]{display:flex;align-items:center;gap:12px;padding:10px 14px;background:var(--color-card);border:2px solid var(--color-border);border-radius:var(--radius-md);cursor:pointer;transition:border-color .18s ease,transform .18s ease,box-shadow .18s ease}.lesson-row[data-v-aa8b5279]:hover:not(.locked){transform:translateY(-1px);border-color:var(--color-primary);box-shadow:0 3px 10px #ff8c4224}.lesson-row.completed[data-v-aa8b5279]{border-color:var(--color-success)}.lesson-row.locked[data-v-aa8b5279]{cursor:not-allowed;background:var(--color-disabled-bg);opacity:.8}.row-no[data-v-aa8b5279]{flex-shrink:0;width:30px;height:30px;border-radius:999px;background:var(--color-muted);color:var(--color-text-light);font-weight:800;font-size:.85rem;display:flex;align-items:center;justify-content:center}.lesson-row.unlocked .row-no[data-v-aa8b5279]{background:var(--color-secondary);color:var(--color-white)}.lesson-row.completed .row-no[data-v-aa8b5279]{background:var(--color-success);color:var(--color-white)}.row-emoji[data-v-aa8b5279]{flex-shrink:0;font-size:1.15rem;line-height:1}.row-main[data-v-aa8b5279]{flex:1;min-width:0}.row-title[data-v-aa8b5279]{font-family:var(--font-display);font-weight:800;font-size:1rem;color:var(--color-text);line-height:1.25;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.lesson-row.locked .row-title[data-v-aa8b5279]{color:var(--color-text-light)}.row-sub[data-v-aa8b5279]{font-size:.75rem;color:var(--color-text-light);line-height:1.3;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.row-right[data-v-aa8b5279]{flex-shrink:0;display:flex;align-items:center}.row-stars[data-v-aa8b5279]{font-size:.9rem;color:var(--color-yellow);letter-spacing:1px}.row-tag[data-v-aa8b5279]{font-size:.75rem;font-weight:800;padding:3px 10px;border-radius:999px}.row-tag.go[data-v-aa8b5279]{color:var(--color-primary);background:#ff8c421f}.row-lock[data-v-aa8b5279]{font-size:1rem}.list-footer[data-v-aa8b5279]{text-align:center;padding:20px 0 24px}@media (max-width: 500px){.pinyin-list-view[data-v-aa8b5279]{padding:18px 14px 0}.row-sub[data-v-aa8b5279]{display:none}}.pinyin-view[data-v-efd6defe]{--py-pending-bg: #efe7de;--py-pending-border: #d9cbbb;--py-pending-text: #a89a8d;--py-done-bg: #9ee7b8;--py-done-text: #0f6b3c;--py-current-bg: #ffd94d;--py-current-text: #6b4c22;--py-error-bg: #ffd3ad;--py-error-text: #c2520a;margin:0 auto;padding:16px 20px 24px;outline:none;min-height:calc(100vh - var(--banner-h));display:flex;flex-direction:column;width:1090px;max-width:1090px;overflow:hidden}.py-header[data-v-efd6defe]{display:flex;align-items:flex-start;gap:16px;margin-bottom:12px}.py-info[data-v-efd6defe]{flex:1}.py-title[data-v-efd6defe]{font-size:1.25rem;color:var(--color-text);display:flex;align-items:center;gap:8px}.py-emoji[data-v-efd6defe]{font-size:1.3rem}.py-goal[data-v-efd6defe]{font-size:.85rem;color:var(--color-text-light);margin-top:2px}.py-speech[data-v-efd6defe]{flex:0 0 auto;position:relative;z-index:22;display:flex;align-items:center;gap:6px;align-self:flex-start}.py-counter[data-v-efd6defe]{flex-shrink:0;display:flex;flex-direction:column;align-items:center;background:var(--color-card);border:2px solid var(--color-border);border-radius:var(--radius-sm);padding:4px 14px}.counter-main[data-v-efd6defe]{font-weight:800;font-size:1rem;color:var(--color-primary);line-height:1.2}.counter-sub[data-v-efd6defe]{font-size:.7rem;color:var(--color-text-light)}.sp-replay[data-v-efd6defe],.sp-voice[data-v-efd6defe]{font:inherit;line-height:1;cursor:pointer;border:2px solid var(--color-border);background:var(--color-card);color:var(--color-text);border-radius:var(--radius-sm);transition:transform .08s,border-color .15s}.sp-replay[data-v-efd6defe]{font-size:1rem;padding:5px 9px}.sp-voice[data-v-efd6defe]{font-size:1.05rem;padding:5px 8px}.sp-voice-single[data-v-efd6defe]{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;padding:0;border-radius:50%;overflow:hidden}.sp-voice-single img[data-v-efd6defe]{width:100%;height:100%;object-fit:cover;display:block}.sp-replay[data-v-efd6defe]:hover:not(:disabled),.sp-voice[data-v-efd6defe]:hover{border-color:var(--color-primary);transform:translateY(-1px)}.sp-replay[data-v-efd6defe]:disabled{opacity:.4;cursor:not-allowed}.sp-voice.off[data-v-efd6defe]{opacity:.35;cursor:not-allowed}.sp-voice.on[data-v-efd6defe]{border-color:var(--color-primary);background:color-mix(in srgb,var(--color-primary) 12%,transparent)}.sp-voices[data-v-efd6defe]{display:flex;gap:4px}.sp-replay.off[data-v-efd6defe]{opacity:.45}.sp-note[data-v-efd6defe]{font-size:.68rem;color:var(--color-text-light)}.sp-hint[data-v-efd6defe]{flex:0 0 auto;align-self:stretch;margin:0 0 8px;padding:6px 10px;font-size:.78rem;color:#8a5a20;background:#fdf3e7;border:1px solid #f3dcc0;border-radius:var(--radius-sm)}.py-progress-bar[data-v-efd6defe]{width:100%;height:10px;background:var(--color-border);border-radius:5px;overflow:hidden;margin-bottom:20px}.py-progress-fill[data-v-efd6defe]{height:100%;background:linear-gradient(90deg,var(--color-secondary),var(--color-success));border-radius:5px;transition:width .3s ease}.typing-section[data-v-efd6defe]{display:flex;flex-direction:column;align-items:center;gap:10px;margin-bottom:8px}.syllable-chips[data-v-efd6defe]{width:100%;max-width:100%;display:flex;flex-wrap:wrap;justify-content:center;gap:8px;padding:12px 18px;background:var(--color-card);border:3px solid var(--color-border);border-radius:var(--radius-lg);position:relative;z-index:21}.syllable-chips.shake[data-v-efd6defe]{animation:shake-efd6defe .3s ease}.syllable-chip[data-v-efd6defe]{display:flex;flex-direction:column;align-items:center;gap:1px;padding:4px 14px;border-radius:12px;border:2px solid transparent;background:var(--py-pending-bg)}.syllable-chip.done[data-v-efd6defe]{background:#2ea86e1f;border-color:var(--color-success)}.syllable-chip.current[data-v-efd6defe]{background:var(--py-current-bg);border-color:var(--color-primary);box-shadow:0 2px #ff8c4259}.chip-py[data-v-efd6defe]{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:1.25rem;font-weight:700;color:var(--color-text);line-height:1.25}.chip-hanzi[data-v-efd6defe]{font-family:var(--font-display);font-size:.82rem;font-weight:600;color:var(--color-text-light);line-height:1.2}.focus-card[data-v-efd6defe]{display:flex;flex-direction:column;align-items:center;gap:6px;padding:18px 28px;background:var(--color-card);border:3px solid var(--color-border);border-radius:var(--radius-lg);position:relative;z-index:21}.focus-py[data-v-efd6defe]{display:flex;flex-wrap:wrap;justify-content:center;gap:8px}.py-ch[data-v-efd6defe]{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:2.6rem;font-weight:800;line-height:1.25;min-width:1.4em;text-align:center;padding:2px 8px;border-radius:10px;background:var(--py-pending-bg);border:2px solid var(--py-pending-border);color:var(--py-pending-text)}.py-ch.pending[data-v-efd6defe]{background:var(--py-pending-bg);border-color:var(--py-pending-border);color:var(--py-pending-text)}.py-ch.done[data-v-efd6defe]{background:var(--py-done-bg);border-color:var(--color-success);color:var(--py-done-text)}.py-ch.current[data-v-efd6defe]{background:var(--py-error-bg);border-color:var(--color-primary);color:var(--py-error-text);box-shadow:0 0 0 3px #ff8c422e;animation:fw-pulse-efd6defe 1s ease-in-out infinite}.focus-hanzi[data-v-efd6defe]{font-family:var(--font-display);font-size:1.6rem;font-weight:800;color:var(--color-text)}.key-hint[data-v-efd6defe]{font-size:.95rem;color:var(--color-text-light);display:flex;align-items:center;gap:6px;min-height:26px;position:relative;z-index:21;background:var(--color-card);border:2px solid var(--color-border);border-radius:999px;padding:1px 14px}.hint-letter[data-v-efd6defe]{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:1.15rem;font-weight:800;color:var(--color-primary);background:#ff8c421f;border-radius:8px;padding:1px 10px}.typing-stats[data-v-efd6defe]{display:flex;gap:16px;font-size:.8rem;font-weight:700;position:relative;z-index:21;background:var(--color-card);border:2px solid var(--color-border);border-radius:999px;padding:1px 12px}.stat.ok[data-v-efd6defe]{color:var(--color-success)}.stat.err[data-v-efd6defe]{color:var(--color-error)}.keyboard-stage[data-v-efd6defe]{position:relative;display:flex;flex-direction:column;align-items:center;width:100%;margin-top:auto}.hands-section[data-v-efd6defe]{position:absolute;top:-110px;left:50%;transform:translate(-50%);width:1041px;height:350px;z-index:20;pointer-events:none}.keyboard-section[data-v-efd6defe]{display:flex;justify-content:center;position:relative;z-index:10}@keyframes fw-pulse-efd6defe{0%,to{transform:translateY(0)}50%{transform:translateY(-2px)}}@keyframes shake-efd6defe{0%,to{transform:translate(0)}25%{transform:translate(-6px)}75%{transform:translate(6px)}}.game-list-view[data-v-c162a619]{max-width:900px;margin:0 auto;padding:24px 20px}.list-header[data-v-c162a619]{margin-bottom:20px}.header-text[data-v-c162a619]{text-align:center}.list-title[data-v-c162a619]{font-size:2rem;color:var(--color-primary);margin-bottom:4px}.list-subtitle[data-v-c162a619]{font-size:1rem;color:var(--color-text-light)}.game-grid[data-v-c162a619]{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:24px}.game-card[data-v-c162a619]{display:flex;flex-direction:column;align-items:center;text-align:center;background:var(--color-card);border:3px solid var(--color-border);border-radius:var(--radius-lg);padding:28px 24px;box-shadow:var(--shadow-soft);cursor:pointer;transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease}.game-card.theme-whack[data-v-c162a619]{--accent: #4FB477}.game-card.theme-wordbattle[data-v-c162a619]{--accent: var(--color-primary)}.game-card.theme-ztype[data-v-c162a619]{--accent: var(--color-secondary)}.game-card[data-v-c162a619]:not(.coming-soon):hover{transform:translateY(-6px) scale(1.02);border-color:var(--accent);box-shadow:0 14px 30px color-mix(in srgb,var(--accent) 30%,transparent)}.game-card.coming-soon[data-v-c162a619]{cursor:default;opacity:.85}.card-icon[data-v-c162a619]{font-size:3.5rem;margin-bottom:12px;transition:transform .25s ease}.game-card:not(.coming-soon):hover .card-icon[data-v-c162a619]{transform:scale(1.18) rotate(-6deg)}.card-title[data-v-c162a619]{font-size:1.35rem;color:var(--color-text);margin-bottom:8px;transition:color .25s ease}.game-card:not(.coming-soon):hover .card-title[data-v-c162a619]{color:var(--accent)}.card-desc[data-v-c162a619]{font-size:.95rem;color:var(--color-text-light);line-height:1.5;margin-bottom:16px;flex:1}.card-meta[data-v-c162a619]{display:flex;flex-wrap:wrap;justify-content:center;gap:8px;margin-bottom:18px}.meta-tag[data-v-c162a619]{font-size:.75rem;font-weight:700;color:var(--color-secondary);background:#5fb8ff1f;padding:4px 10px;border-radius:var(--radius-sm)}.coming-soon .meta-tag[data-v-c162a619]{color:var(--color-text-light);background:var(--color-border)}.game-view[data-v-9c0d2d5b]{--game-hole-bg: #FFF8E1;--game-hole-border: #FFB74D;--game-hole-shadow: #FF9800;--game-mole: #FF6F00;--game-overlay: #E1F5FE;--game-frame: #424242;--game-wood: #6D4C41;margin:0 auto;padding:10px 0 14px;outline:none;height:calc(100vh - var(--banner-h));display:flex;flex-direction:column;width:1090px;max-width:100%;overflow:hidden}.game-header[data-v-9c0d2d5b]{display:flex;align-items:center;gap:16px;padding:0 20px;margin-bottom:10px;flex-shrink:0}.game-title[data-v-9c0d2d5b]{font-size:1.5rem;color:var(--color-primary);flex-shrink:0}.game-stats[data-v-9c0d2d5b]{display:flex;gap:10px;margin-left:auto}.stat[data-v-9c0d2d5b]{display:flex;flex-direction:column;align-items:center;background:var(--color-card);border:2px solid var(--color-border);border-radius:var(--radius-sm);padding:5px 12px;min-width:58px}.stat-val[data-v-9c0d2d5b]{font-size:1.2rem;font-weight:800;font-family:var(--font-display);color:var(--color-text)}.stat-val.combo[data-v-9c0d2d5b]{color:var(--color-primary)}.stat-label[data-v-9c0d2d5b]{font-size:.7rem;color:var(--color-text-light)}.game-stage[data-v-9c0d2d5b]{position:relative;flex:1 1 auto;min-height:0;margin:0 20px 12px;border:3px solid var(--color-border);border-radius:var(--radius-lg);overflow:hidden;background:var(--game-overlay)}.scene-bg[data-v-9c0d2d5b]{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:fill;-webkit-user-select:none;user-select:none;-webkit-user-drag:none}.holes-layer[data-v-9c0d2d5b]{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none}.hole-pit[data-v-9c0d2d5b]{position:absolute;transform:translate(-50%,-50%) scale(var(--hole-scale, 1));pointer-events:none}.moles-layer[data-v-9c0d2d5b]{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none}.mole-wrap[data-v-9c0d2d5b]{position:absolute;z-index:2;transform:translate(-50%,-50%) scale(var(--hole-scale, 1))}.mole-clip[data-v-9c0d2d5b]{position:absolute;left:50%;bottom:28%;transform:translate(-50%);width:140px;height:180px;overflow:hidden}.mole-head[data-v-9c0d2d5b]{position:absolute;left:0;bottom:0;width:100%;display:flex;flex-direction:column;align-items:center;pointer-events:none;transition:transform .34s cubic-bezier(.34,1.56,.64,1);will-change:transform;transform:translateY(0)}.mole-wrap.escaping .mole-head[data-v-9c0d2d5b],.mole-wrap.hit .mole-head[data-v-9c0d2d5b]{transform:translateY(115%)}.mole-sign[data-v-9c0d2d5b]{width:46px;height:38px;background:var(--game-hole-bg);border:3px solid var(--game-hole-border);border-radius:var(--radius-sm);display:flex;align-items:center;justify-content:center;font-family:var(--font-display);font-weight:900;font-size:1.35rem;color:var(--color-text);margin-bottom:-8px;box-shadow:0 3px 0 var(--game-hole-shadow);z-index:4;position:relative}.mole-svg[data-v-9c0d2d5b]{width:120px;height:140px;overflow:visible;filter:drop-shadow(0 5px 5px rgba(0,0,0,.15))}.score-pop[data-v-9c0d2d5b]{position:absolute;left:50%;top:-140px;transform:translate(-50%);font-family:var(--font-display);font-weight:900;font-size:1.6rem;color:var(--game-mole);text-shadow:-2px 0 0 #FFFFFF,2px 0 0 #FFFFFF,0 -2px 0 #FFFFFF,0 2px 0 #FFFFFF,-2px -2px 0 #FFFFFF,2px -2px 0 #FFFFFF,-2px 2px 0 #FFFFFF,2px 2px 0 #FFFFFF,0 4px 8px rgba(0,0,0,.25);animation:score-pop-9c0d2d5b .9s ease-out forwards;pointer-events:none;z-index:8;white-space:nowrap}@keyframes score-pop-9c0d2d5b{0%{transform:translate(-50%,12px) scale(.6);opacity:0}20%{transform:translate(-50%,-6px) scale(1.25);opacity:1}60%{transform:translate(-50%,-32px) scale(1);opacity:1}to{transform:translate(-50%,-68px) scale(.95);opacity:0}}.hammer[data-v-9c0d2d5b]{position:absolute;top:-125px;left:52%;width:70px;height:80px;z-index:10;transform-origin:80% 95%;animation:hammer-hit-9c0d2d5b .35s ease forwards}.hammer-head[data-v-9c0d2d5b]{position:absolute;top:0;left:0;width:38px;height:28px;background:linear-gradient(180deg,#bdbdbd,#757575);border:2px solid var(--game-frame);border-radius:5px;box-shadow:inset -4px 0 #ffffff4d}.hammer-head[data-v-9c0d2d5b]:before{content:"";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:16px;height:10px;background:var(--game-frame);border-radius:2px}.hammer-handle[data-v-9c0d2d5b]{position:absolute;top:22px;left:16px;width:10px;height:60px;background:linear-gradient(90deg,#d7ccc8,#a1887f);border:1px solid var(--game-wood);border-radius:4px;transform:rotate(22deg);transform-origin:top center}@keyframes hammer-hit-9c0d2d5b{0%{transform:rotate(-70deg) translate(30px,-25px);opacity:0}25%{opacity:1}55%{transform:rotate(8deg) translate(0)}to{transform:rotate(22deg) translate(-2px,4px);opacity:1}}.hit-stars[data-v-9c0d2d5b]{position:absolute;top:-135px;left:50%;transform:translate(-50%);width:100px;height:80px;pointer-events:none;z-index:12}.star[data-v-9c0d2d5b]{position:absolute;font-size:1.4rem;animation:star-pop-9c0d2d5b .45s ease forwards}.star.s1[data-v-9c0d2d5b]{top:0;left:10px;animation-delay:0s}.star.s2[data-v-9c0d2d5b]{top:18px;right:12px;animation-delay:.08s}.star.s3[data-v-9c0d2d5b]{top:38px;left:40px;animation-delay:.16s}@keyframes star-pop-9c0d2d5b{0%{transform:scale(0) rotate(0);opacity:1}60%{transform:scale(1.3) rotate(180deg);opacity:1}to{transform:scale(.2) rotate(360deg);opacity:0}}.overlay[data-v-9c0d2d5b]{position:absolute;top:0;right:0;bottom:0;left:0;background:#4a3b2f6b;display:flex;align-items:center;justify-content:center;z-index:20;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.overlay-card[data-v-9c0d2d5b]{background:var(--color-card);border-radius:var(--radius-lg);padding:32px 40px;text-align:center;box-shadow:var(--shadow-card);max-width:440px;width:86%;animation:pop-in-9c0d2d5b .35s ease}.overlay-emoji[data-v-9c0d2d5b]{font-size:3rem;margin-bottom:8px}.overlay-card h2[data-v-9c0d2d5b]{font-size:1.8rem;color:var(--color-primary);margin-bottom:12px}.overlay-desc[data-v-9c0d2d5b]{font-size:1rem;color:var(--color-text-light);line-height:1.6;margin-bottom:20px}.final-score[data-v-9c0d2d5b]{font-size:1.2rem;margin-bottom:6px}.final-score b[data-v-9c0d2d5b]{font-size:1.8rem;color:var(--color-primary);font-family:var(--font-display)}.new-best[data-v-9c0d2d5b]{font-size:1.1rem;color:var(--color-success);font-weight:700;margin-bottom:6px}.best-line[data-v-9c0d2d5b]{color:var(--color-text-light);margin-bottom:20px}.overlay-card button[data-v-9c0d2d5b]{margin-bottom:10px}.keyboard-section[data-v-9c0d2d5b]{display:flex;justify-content:center;padding:0 20px;flex-shrink:0}@keyframes pop-in-9c0d2d5b{0%{transform:scale(.9);opacity:0}to{transform:scale(1);opacity:1}}.wb-view[data-v-76c50579]{--wb-cream: #FFFDF6;--wb-card-border: #F2DEB9;--wb-ink: #4A3B2F;--wb-brand: #C23D29;--wb-gold: #FFC94D;margin:0 auto;padding:10px 0 14px;outline:none;height:calc(100vh - var(--banner-h));display:flex;flex-direction:column;width:1090px;max-width:100%;overflow:hidden}.wb-hud[data-v-76c50579]{display:flex;align-items:center;gap:14px;padding:8px 20px;margin-bottom:10px;flex-shrink:0;background:var(--wb-cream);border:2px solid var(--wb-card-border);border-radius:var(--radius-lg)}.hud-zone[data-v-76c50579]{display:flex;align-items:center;gap:10px}.hud-goal[data-v-76c50579]{flex:1 1 auto;min-width:220px;flex-direction:column;align-items:stretch;gap:5px}.goal-head[data-v-76c50579]{display:flex;align-items:baseline;justify-content:space-between}.goal-label[data-v-76c50579]{font-size:.85rem;font-weight:800;color:var(--wb-ink)}.goal-num[data-v-76c50579]{font-family:var(--font-display);font-weight:900;font-size:1rem;color:var(--color-primary)}.goal-track[data-v-76c50579]{height:12px;border-radius:999px;background:#4a3b2f1a;border:2px solid var(--wb-card-border);overflow:hidden}.goal-fill[data-v-76c50579]{height:100%;border-radius:999px;background:linear-gradient(90deg,var(--wb-gold),var(--color-primary));transition:width .3s ease}.goal-fill.done[data-v-76c50579]{background:linear-gradient(90deg,var(--color-success),#7bd88f)}.stat[data-v-76c50579]{display:flex;flex-direction:column;align-items:center;background:#fff;border:2px solid var(--wb-card-border);border-radius:var(--radius-sm);padding:4px 12px;min-width:62px}.stat-val[data-v-76c50579]{font-size:1.15rem;font-weight:900;font-family:var(--font-display);color:var(--wb-ink);transition:color .2s ease}.stat-val.warn[data-v-76c50579]{color:var(--color-error)}.stat-val.combo.hot[data-v-76c50579]{color:var(--color-primary)}.stat-val.combo.blaze[data-v-76c50579]{color:var(--wb-brand);text-shadow:0 0 8px rgba(194,61,41,.45)}.stat-label[data-v-76c50579]{font-size:.68rem;color:#4a3b2f99}.stat-val.stars[data-v-76c50579]{color:#e8a200}.hearts[data-v-76c50579]{display:flex;gap:3px;font-size:1.35rem;line-height:1}.heart[data-v-76c50579]{color:#e23b3b;text-shadow:0 1px 0 rgba(0,0,0,.12)}.heart.empty[data-v-76c50579]{color:#4a3b2f2e;text-shadow:none}.hearts.low .heart[data-v-76c50579]:not(.empty){animation:heart-beat-76c50579 .9s ease-in-out infinite}@keyframes heart-beat-76c50579{0%,to{transform:scale(1)}30%{transform:scale(1.18)}60%{transform:scale(.95)}}.hud-status[data-v-76c50579]{margin-left:auto}.mute-btn[data-v-76c50579]{border:2px solid var(--wb-card-border);background:#fff;border-radius:var(--radius-sm);font-size:1rem;padding:4px 8px;cursor:pointer;line-height:1}.mute-btn[data-v-76c50579]:hover{background:#ff8c421f}.wb-stage[data-v-76c50579]{position:relative;flex:1 1 auto;min-height:0;margin:0 20px 12px;border:3px solid var(--wb-card-border);border-radius:var(--radius-lg);overflow:hidden;background:#eaf6ff}.sky[data-v-76c50579]{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(180deg,#cfebff,#eaf6ff 55%,#fff6e0)}.cloud[data-v-76c50579]{position:absolute;width:220px;height:60px;background:#fff;border-radius:999px;opacity:.75;pointer-events:none}.cloud[data-v-76c50579]:before,.cloud[data-v-76c50579]:after{content:"";position:absolute;background:#fff;border-radius:50%}.cloud[data-v-76c50579]:before{width:90px;height:90px;top:-34px;left:34px}.cloud[data-v-76c50579]:after{width:70px;height:70px;top:-24px;left:116px}.cloud-back[data-v-76c50579]{top:12%;left:-240px;animation:drift-76c50579 46s linear infinite;opacity:.55}.cloud-front[data-v-76c50579]{top:32%;left:-240px;transform:scale(.75);animation:drift-76c50579 26s linear infinite}@keyframes drift-76c50579{0%{translate:0 0}to{translate:calc(100vw + 480px) 0}}.grass[data-v-76c50579]{position:absolute;left:0;right:0;bottom:0;height:54px;background:linear-gradient(180deg,#9bd77a,#7cc45f);border-top:4px solid #6BB04F}.wb-stage.sprint .sky[data-v-76c50579]{background:linear-gradient(180deg,#ffe9b0,#fff3d6 60%,#fff9e8)}.wb-stage.sprint .grass[data-v-76c50579]{background:linear-gradient(180deg,#ffd466,#f0b93c);border-top-color:#dfa72c}.balloon-wrap[data-v-76c50579]{position:absolute;transform:translate(-50%,-50%);z-index:3;pointer-events:none}.balloon[data-v-76c50579]{position:relative;width:var(--bw, 128px);animation:balloon-in .35s cubic-bezier(.34,1.56,.64,1)}.balloon-shape[data-v-76c50579]{display:block;width:100%;height:auto;overflow:visible;filter:drop-shadow(0 5px 6px rgba(74,59,47,.18))}.balloon-string[data-v-76c50579]{position:absolute;left:50%;top:calc(77.3% - 3px);width:15px;height:30px;margin-left:-7.5px;overflow:visible;pointer-events:none}.word[data-v-76c50579]{position:absolute;left:8%;right:8%;top:36.7%;transform:translateY(-50%);text-align:center;font-family:var(--font-display);font-size:var(--fs, 20px);font-weight:900;letter-spacing:.5px;color:#fff;white-space:nowrap;text-shadow:0 1px 2px rgba(0,0,0,.38),0 0 2px rgba(0,0,0,.3);pointer-events:none}.ch[data-v-76c50579]{color:#ffffff9e;transition:color .12s ease}.ch.typed[data-v-76c50579]{color:#ffe27a;text-shadow:0 1px 2px rgba(0,0,0,.4),0 0 8px rgba(255,200,60,.9)}.is-target .balloon[data-v-76c50579]{animation:balloon-in .35s cubic-bezier(.34,1.56,.64,1),target-bob-76c50579 1.1s ease-in-out .35s infinite}.is-target .balloon-shape[data-v-76c50579]{filter:drop-shadow(0 5px 6px rgba(74,59,47,.18)) drop-shadow(0 0 14px rgba(255,255,255,.85))}@keyframes target-bob-76c50579{0%,to{translate:0 0}50%{translate:0 -6px}}.is-pickable .balloon-shape[data-v-76c50579]{animation:pickable-glow-76c50579 2.2s ease-in-out infinite}@keyframes pickable-glow-76c50579{0%,to{filter:drop-shadow(0 5px 6px rgba(74,59,47,.18)) drop-shadow(0 0 3px rgba(255,255,255,.45))}50%{filter:drop-shadow(0 5px 6px rgba(74,59,47,.18)) drop-shadow(0 0 9px rgba(255,255,255,.8))}}.is-urgent .balloon[data-v-76c50579]{animation:balloon-in .35s cubic-bezier(.34,1.56,.64,1),urgent-shake-76c50579 .4s ease-in-out infinite}.is-urgent .balloon-shape[data-v-76c50579]{filter:drop-shadow(0 5px 6px rgba(74,59,47,.18)) drop-shadow(0 0 14px rgba(194,61,41,.85))}@keyframes urgent-shake-76c50579{0%,to{translate:-3px 0}50%{translate:3px 0}}.urgent-mark[data-v-76c50579]{position:absolute;left:50%;top:-34px;transform:translate(-50%);width:26px;height:26px;border-radius:50%;background:#c23d29;color:#fff;font-weight:900;font-size:1rem;display:flex;align-items:center;justify-content:center;box-shadow:0 2px 6px #c23d2980;z-index:2}.wb-stage.sprint .balloon-shape[data-v-76c50579]{filter:drop-shadow(0 5px 6px rgba(74,59,47,.18)) drop-shadow(0 0 12px rgba(255,210,80,.7))}.wb-stage.sprint .ch.typed[data-v-76c50579]{color:#fff3b0}.is-broken .balloon[data-v-76c50579]{animation:balloon-pop-76c50579 .5s ease-out forwards}@keyframes balloon-pop-76c50579{0%{transform:scale(1);opacity:1}30%{transform:scale(1.25);opacity:1}to{transform:scale(.2);opacity:0}}.balloon-wrap.shake .balloon[data-v-76c50579]{animation:card-shake-76c50579 .3s ease}@keyframes card-shake-76c50579{0%,to{translate:0 0}25%{translate:-6px 0}75%{translate:6px 0}}.particle[data-v-76c50579]{position:absolute;left:50%;top:50%;width:9px;height:9px;border-radius:2px;animation:particle-fly-76c50579 .5s ease-out forwards;pointer-events:none;z-index:6}@keyframes particle-fly-76c50579{0%{transform:translate(-50%,-50%) rotate(0);opacity:1}to{transform:translate(calc(-50% + var(--dx)),calc(-50% + var(--dy))) rotate(var(--rot));opacity:0}}.gain-pop[data-v-76c50579]{position:absolute;left:50%;top:-6px;transform:translate(-50%);font-family:var(--font-display);font-weight:900;font-size:1.6rem;color:var(--color-primary);text-shadow:0 2px 0 #FFFFFF,0 4px 8px rgba(0,0,0,.2);animation:gain-float-76c50579 .9s ease-out forwards;pointer-events:none;z-index:7}@keyframes gain-float-76c50579{0%{transform:translate(-50%,10px) scale(.6);opacity:0}20%{transform:translate(-50%,-6px) scale(1.25);opacity:1}to{transform:translate(-50%,-62px) scale(.95);opacity:0}}.sfx-pop[data-v-76c50579]{position:absolute;left:50%;top:26px;transform:translate(-50%);font-weight:900;font-size:1.1rem;color:var(--wb-ink);text-shadow:0 1px 0 #FFFFFF;animation:gain-float-76c50579 .9s ease-out .06s forwards;pointer-events:none;z-index:7;white-space:nowrap}.urgent-vignette[data-v-76c50579]{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:4;box-shadow:inset 0 0 70px #c23d2952}.combo-banner[data-v-76c50579],.sprint-banner[data-v-76c50579]{position:absolute;left:50%;top:14px;transform:translate(-50%);z-index:12;padding:8px 22px;border-radius:999px;font-family:var(--font-display);font-weight:900;font-size:1.2rem;white-space:nowrap;pointer-events:none}.combo-banner[data-v-76c50579]{background:var(--color-primary);color:#fff;box-shadow:0 4px 14px #ff8c4280}.sprint-banner[data-v-76c50579]{background:#c23d29;color:#fff;box-shadow:0 4px 14px #c23d2973}.banner-enter-active[data-v-76c50579]{animation:banner-pop-76c50579 .3s cubic-bezier(.34,1.56,.64,1)}.banner-leave-active[data-v-76c50579]{transition:opacity 1.2s ease}.banner-leave-to[data-v-76c50579]{opacity:0}@keyframes banner-pop-76c50579{0%{transform:translate(-50%) scale(.5);opacity:0}to{transform:translate(-50%) scale(1);opacity:1}}.stage-hint[data-v-76c50579]{position:absolute;left:50%;top:46%;transform:translate(-50%,-50%);color:#4a3b2f80;font-weight:700;z-index:2}.overlay[data-v-76c50579]{position:absolute;top:0;right:0;bottom:0;left:0;background:#4a3b2f6b;display:flex;align-items:center;justify-content:center;z-index:20;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.overlay-card[data-v-76c50579]{position:relative;background:var(--wb-cream);border:3px solid var(--wb-card-border);border-radius:var(--radius-lg);padding:26px 36px;text-align:center;box-shadow:var(--shadow-card);max-width:480px;width:88%;animation:pop-in-76c50579 .35s ease}.overlay-emoji[data-v-76c50579]{font-size:2.8rem;margin-bottom:6px}.overlay-card h2[data-v-76c50579]{font-size:1.7rem;color:var(--color-primary);margin-bottom:10px}.overlay-desc[data-v-76c50579]{font-size:.95rem;color:#4a3b2fbf;line-height:1.6;margin-bottom:14px}.overlay-desc .hl[data-v-76c50579]{color:var(--color-primary);font-weight:800}.rule-row[data-v-76c50579]{display:flex;justify-content:center;flex-wrap:wrap;gap:8px;margin-bottom:10px}.rule-tag[data-v-76c50579]{font-size:.78rem;font-weight:700;color:var(--wb-ink);background:#ff8c4224;border:2px solid var(--wb-card-border);border-radius:var(--radius-sm);padding:3px 10px}.best-line[data-v-76c50579]{font-size:.8rem;color:#4a3b2f99;margin-bottom:16px}.result-card[data-v-76c50579]{padding-top:34px}.record-ribbon[data-v-76c50579]{position:absolute;top:-14px;left:50%;transform:translate(-50%) rotate(-2deg);background:linear-gradient(90deg,var(--wb-gold),#FFE08A);color:#7a4a00;font-family:var(--font-display);font-weight:900;font-size:.9rem;letter-spacing:1px;padding:6px 18px;border-radius:999px;border:2px solid #E8A200;box-shadow:0 3px 10px #e8a20066;white-space:nowrap;animation:ribbon-pop-76c50579 .5s cubic-bezier(.34,1.56,.64,1)}@keyframes ribbon-pop-76c50579{0%{transform:translate(-50%) rotate(-2deg) scale(.4);opacity:0}to{transform:translate(-50%) rotate(-2deg) scale(1);opacity:1}}.stars-row[data-v-76c50579]{display:flex;justify-content:center;gap:10px;margin:6px 0 10px}.big-star[data-v-76c50579]{font-size:2.2rem;filter:grayscale(1);opacity:.28;transform:scale(.8)}.big-star.on[data-v-76c50579]{animation:star-flip-76c50579 .3s ease-in-out forwards;filter:none;opacity:1}@keyframes star-flip-76c50579{0%{transform:rotateY(90deg) scale(.6);opacity:.2}60%{transform:rotateY(-20deg) scale(1.25);opacity:1}to{transform:rotateY(0) scale(1);opacity:1}}.result-tip[data-v-76c50579]{font-size:.98rem;font-weight:700;color:var(--wb-ink);margin-bottom:14px}.result-data[data-v-76c50579]{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-bottom:18px}.data-cell[data-v-76c50579]{background:#fff;border:2px solid var(--wb-card-border);border-radius:var(--radius-sm);padding:8px 4px;display:flex;flex-direction:column;gap:2px}.data-val[data-v-76c50579]{font-family:var(--font-display);font-weight:900;font-size:1.2rem;color:var(--color-primary)}.data-label[data-v-76c50579]{font-size:.7rem;color:#4a3b2f99}.result-actions[data-v-76c50579]{display:flex;gap:10px;justify-content:center}.keyboard-section[data-v-76c50579]{display:flex;justify-content:center;padding:0 20px;flex-shrink:0}@keyframes pop-in-76c50579{0%{transform:scale(.9);opacity:0}to{transform:scale(1);opacity:1}}@media (prefers-reduced-motion: reduce){.cloud[data-v-76c50579],.is-target .balloon[data-v-76c50579],.is-urgent .balloon[data-v-76c50579],.is-pickable .balloon-shape[data-v-76c50579],.hearts.low .heart[data-v-76c50579]:not(.empty){animation:none}.is-pickable .balloon-shape[data-v-76c50579]{filter:drop-shadow(0 5px 6px rgba(74,59,47,.18)) drop-shadow(0 0 6px rgba(255,255,255,.6))}}.zt-view[data-v-f34b8231]{margin:0 auto;padding:10px 0 14px;outline:none;height:calc(100vh - var(--banner-h));display:flex;flex-direction:column;width:1090px;max-width:100%;overflow:hidden}.zt-stage[data-v-f34b8231]{flex:1 1 auto;min-height:0;margin:0 20px 8px;border:3px solid var(--color-border);border-radius:var(--radius-lg);overflow:hidden;background:#000;display:flex;align-items:center;justify-content:center;cursor:pointer}.zt-frame[data-v-f34b8231]{width:480px;max-width:100%;aspect-ratio:480 / 720;max-height:100%;height:auto;border:0;background:#000}.zt-hint[data-v-f34b8231]{flex-shrink:0;margin:0 20px 4px;text-align:center;font-size:.8rem;color:var(--color-text-light)}.auth-page[data-v-07530e83]{min-height:calc(100vh - var(--banner-h));display:flex;align-items:center;justify-content:center;padding:20px 16px 24px}.auth-card[data-v-07530e83]{width:100%;max-width:380px;margin:auto;background:var(--color-card);border:2px solid var(--color-border);border-radius:var(--radius-lg);padding:18px;box-shadow:var(--shadow-card)}.auth-head[data-v-07530e83]{text-align:center;margin-bottom:12px}.auth-logo[data-v-07530e83]{width:52px;height:52px;margin:0 auto 10px;border-radius:16px;overflow:hidden}.auth-logo img[data-v-07530e83]{width:100%;height:100%;display:block}.auth-title[data-v-07530e83]{font-size:1.4rem;color:var(--color-text);margin-bottom:4px}.auth-sub[data-v-07530e83]{font-size:.85rem;color:var(--color-text-light);line-height:1.5}.mode-switch[data-v-07530e83]{display:flex;gap:4px;background:var(--color-muted);border-radius:999px;padding:4px;margin-bottom:12px}.mode-btn[data-v-07530e83]{flex:1;padding:8px 0;font-size:.9rem;font-weight:800;color:var(--color-text-light);background:transparent;border-radius:999px;border:none;transition:color .2s ease,background .2s ease,box-shadow .2s ease}.mode-btn.active[data-v-07530e83]{color:var(--color-primary);background:var(--color-card);box-shadow:0 1px 4px #4a3b2f14}.auth-form[data-v-07530e83]{display:flex;flex-direction:column;gap:11px}.field[data-v-07530e83]{display:flex;flex-direction:column}.field-label[data-v-07530e83]{font-size:.82rem;font-weight:700;color:var(--color-text);margin-bottom:4px}.optional[data-v-07530e83]{font-weight:600;color:var(--color-text-light);font-size:.78rem}.input-wrap[data-v-07530e83]{position:relative}.field-input[data-v-07530e83]{width:100%;padding:10px 14px;font-size:.95rem;font-family:var(--font-body);color:var(--color-text);background:var(--color-white);border:2px solid var(--color-border);border-radius:var(--radius-md);outline:none;transition:border-color .2s ease,box-shadow .2s ease}.field-input[data-v-07530e83]:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px #ff8c4226}.input-wrap .field-input[data-v-07530e83]{padding-right:44px}.eye-btn[data-v-07530e83]{position:absolute;right:6px;top:50%;transform:translateY(-50%);width:32px;height:32px;display:flex;align-items:center;justify-content:center;background:transparent;color:var(--color-text-light);border:none;border-radius:50%}.eye-btn[data-v-07530e83]:hover{background:var(--color-muted);color:var(--color-text)}.eye-btn svg[data-v-07530e83]{width:17px;height:17px}.input-wrap .code-field-input[data-v-07530e83]{padding-right:108px}.code-btn[data-v-07530e83]{position:absolute;right:6px;top:50%;transform:translateY(-50%);height:32px;padding:0 12px;font-size:.8rem;font-weight:700;color:var(--color-primary);background:var(--color-muted);border:none;border-radius:999px;white-space:nowrap}.code-btn[data-v-07530e83]:hover:not(:disabled){background:#ff8c422e}.code-btn[data-v-07530e83]:disabled{color:var(--color-text-light);cursor:not-allowed}.field-hint[data-v-07530e83]{font-size:.78rem;color:var(--color-error);margin-top:5px}.field-hint.ok[data-v-07530e83]{color:var(--color-success)}.alert[data-v-07530e83]{padding:9px 12px;font-size:.82rem;font-weight:700;color:var(--color-error-strong);background:var(--color-error-soft);border:1px solid rgba(255,107,157,.3);border-radius:var(--radius-sm)}.offline-tip[data-v-07530e83]{margin-top:14px;padding:9px 12px;font-size:.8rem;color:var(--color-warning-text);background:var(--color-warning-soft);border:1px solid rgba(255,199,95,.4);border-radius:var(--radius-sm);text-align:center}@media (min-width: 640px){.auth-card[data-v-07530e83]{padding:28px}}.auth-alt[data-v-07530e83]{margin-top:14px;text-align:center}.alt-link[data-v-07530e83]{font-size:.82rem;font-weight:700;color:var(--color-primary);text-decoration:none}.alt-link[data-v-07530e83]:hover{text-decoration:underline}.altcha-widget[data-v-07530e83]{display:block;min-height:66px;border-radius:var(--radius-md);background:var(--color-muted)}.agree-field[data-v-07530e83]{margin-top:2px}.agree-label[data-v-07530e83]{display:flex;align-items:flex-start;gap:8px;cursor:pointer}.agree-checkbox[data-v-07530e83]{margin-top:3px;width:16px;height:16px;flex-shrink:0;cursor:pointer;accent-color:var(--color-primary)}.agree-text[data-v-07530e83]{font-size:.8rem;line-height:1.6;color:var(--color-text-light)}.agree-text a[data-v-07530e83]{color:var(--color-primary);font-weight:700}.agree-text a[data-v-07530e83]:hover{text-decoration:underline}.agree-note[data-v-07530e83]{display:block;opacity:.85}.auth-page[data-v-a36e007d]{min-height:calc(100vh - var(--banner-h));display:flex;align-items:center;justify-content:center;padding:24px 16px 32px}.auth-card[data-v-a36e007d]{width:100%;max-width:380px;background:var(--color-card);border:2px solid var(--color-border);border-radius:var(--radius-lg);padding:24px;box-shadow:var(--shadow-card)}.auth-head[data-v-a36e007d]{text-align:center;margin-bottom:18px}.auth-logo[data-v-a36e007d]{width:52px;height:52px;margin:0 auto 10px;border-radius:16px;overflow:hidden}.auth-logo img[data-v-a36e007d]{width:100%;height:100%;display:block}.auth-title[data-v-a36e007d]{font-size:1.4rem;color:var(--color-text);margin-bottom:4px}.auth-sub[data-v-a36e007d]{font-size:.85rem;color:var(--color-text-light);line-height:1.5}.auth-form[data-v-a36e007d]{display:flex;flex-direction:column;gap:14px}.field[data-v-a36e007d]{display:flex;flex-direction:column}.field-label[data-v-a36e007d]{font-size:.82rem;font-weight:700;color:var(--color-text);margin-bottom:6px}.field-input[data-v-a36e007d]{width:100%;padding:11px 14px;font-size:.95rem;font-family:var(--font-body);color:var(--color-text);background:var(--color-white);border:2px solid var(--color-border);border-radius:var(--radius-md);outline:none;transition:border-color .2s ease,box-shadow .2s ease}.field-input[data-v-a36e007d]:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px #ff8c4226}.alert[data-v-a36e007d]{padding:9px 12px;font-size:.82rem;font-weight:700;color:var(--color-error-strong);background:var(--color-error-soft);border:1px solid rgba(255,107,157,.3);border-radius:var(--radius-sm)}.result-box[data-v-a36e007d]{text-align:center;display:flex;flex-direction:column;align-items:center;gap:12px}.result-icon[data-v-a36e007d]{width:48px;height:48px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:1.5rem;font-weight:800;color:#fff}.result-icon.ok[data-v-a36e007d]{background:var(--color-success)}.result-text[data-v-a36e007d]{font-size:.9rem;line-height:1.6;color:var(--color-text)}.base-link[data-v-a36e007d]{font-size:.85rem;font-weight:700;color:#fff;background:var(--color-primary);padding:9px 20px;border-radius:var(--radius-md);text-decoration:none}.auth-alt[data-v-a36e007d]{margin-top:14px;text-align:center}.alt-link[data-v-a36e007d]{font-size:.82rem;font-weight:700;color:var(--color-primary);text-decoration:none}.alt-link[data-v-a36e007d]:hover{text-decoration:underline}@media (min-width: 640px){.auth-card[data-v-a36e007d]{padding:28px}}.auth-page[data-v-15e9964f]{min-height:calc(100vh - var(--banner-h));display:flex;align-items:center;justify-content:center;padding:24px 16px 32px}.auth-card[data-v-15e9964f]{width:100%;max-width:380px;background:var(--color-card);border:2px solid var(--color-border);border-radius:var(--radius-lg);padding:24px;box-shadow:var(--shadow-card)}.auth-head[data-v-15e9964f]{text-align:center;margin-bottom:18px}.auth-logo[data-v-15e9964f]{width:52px;height:52px;margin:0 auto 10px;border-radius:16px;overflow:hidden}.auth-logo img[data-v-15e9964f]{width:100%;height:100%;display:block}.auth-title[data-v-15e9964f]{font-size:1.4rem;color:var(--color-text);margin-bottom:4px}.auth-sub[data-v-15e9964f]{font-size:.85rem;color:var(--color-text-light);line-height:1.5}.auth-form[data-v-15e9964f]{display:flex;flex-direction:column;gap:14px}.field[data-v-15e9964f]{display:flex;flex-direction:column}.field-label[data-v-15e9964f]{font-size:.82rem;font-weight:700;color:var(--color-text);margin-bottom:6px}.input-wrap[data-v-15e9964f]{position:relative}.field-input[data-v-15e9964f]{width:100%;padding:11px 14px;font-size:.95rem;font-family:var(--font-body);color:var(--color-text);background:var(--color-white);border:2px solid var(--color-border);border-radius:var(--radius-md);outline:none;transition:border-color .2s ease,box-shadow .2s ease}.field-input[data-v-15e9964f]:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px #ff8c4226}.input-wrap .field-input[data-v-15e9964f]{padding-right:44px}.eye-btn[data-v-15e9964f]{position:absolute;right:6px;top:50%;transform:translateY(-50%);width:32px;height:32px;display:flex;align-items:center;justify-content:center;background:transparent;color:var(--color-text-light);border:none;border-radius:50%}.eye-btn[data-v-15e9964f]:hover{background:var(--color-muted);color:var(--color-text)}.eye-btn svg[data-v-15e9964f]{width:17px;height:17px}.alert[data-v-15e9964f]{padding:9px 12px;font-size:.82rem;font-weight:700;color:var(--color-error-strong);background:var(--color-error-soft);border:1px solid rgba(255,107,157,.3);border-radius:var(--radius-sm)}.result-box[data-v-15e9964f]{text-align:center;display:flex;flex-direction:column;align-items:center;gap:12px}.result-icon[data-v-15e9964f]{width:48px;height:48px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:1.5rem;font-weight:800;color:#fff}.result-icon.ok[data-v-15e9964f]{background:var(--color-success)}.result-icon.bad[data-v-15e9964f]{background:var(--color-error)}.result-text[data-v-15e9964f]{font-size:.9rem;line-height:1.6;color:var(--color-text)}.base-link[data-v-15e9964f]{font-size:.85rem;font-weight:700;color:#fff;background:var(--color-primary);padding:9px 20px;border-radius:var(--radius-md);text-decoration:none}@media (min-width: 640px){.auth-card[data-v-15e9964f]{padding:28px}}.account-page[data-v-c9eb2a81]{min-height:calc(100vh - var(--banner-h));display:flex;align-items:flex-start;justify-content:center;padding:24px 16px 40px}.account-card[data-v-c9eb2a81]{width:100%;max-width:520px;background:var(--color-card);border:2px solid var(--color-border);border-radius:var(--radius-lg);padding:24px;box-shadow:var(--shadow-card)}.account-head[data-v-c9eb2a81]{display:flex;align-items:center;gap:14px;margin-bottom:20px}.account-avatar[data-v-c9eb2a81]{width:52px;height:52px;border-radius:50%;background:transparent;border:none;overflow:hidden;flex-shrink:0}.avatar-img[data-v-c9eb2a81]{width:100%;height:100%;object-fit:cover;display:block}.account-title[data-v-c9eb2a81]{font-size:1.4rem;color:var(--color-text);margin-bottom:2px}.account-sub[data-v-c9eb2a81]{font-size:.82rem;color:var(--color-text-light)}.block[data-v-c9eb2a81]{padding:16px 0;border-top:1px solid var(--color-border)}.block-title[data-v-c9eb2a81]{font-size:.95rem;font-weight:800;color:var(--color-text);margin-bottom:10px}.block-tip[data-v-c9eb2a81]{font-size:.78rem;color:var(--color-text-light);line-height:1.5;margin-bottom:10px}.row[data-v-c9eb2a81]{display:flex;align-items:center;gap:12px;padding:7px 0;min-height:34px}.row-label[data-v-c9eb2a81]{flex:0 0 64px;font-size:.85rem;font-weight:700;color:var(--color-text-light)}.row-value[data-v-c9eb2a81]{flex:1 1 auto;display:flex;align-items:center;gap:10px;font-size:.92rem;color:var(--color-text);min-width:0}.row-value.muted[data-v-c9eb2a81]{color:var(--color-text-light)}.value-text[data-v-c9eb2a81]{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.row-edit[data-v-c9eb2a81]{flex:1 1 auto;display:flex;align-items:center;gap:8px}.field-input[data-v-c9eb2a81]{width:100%;padding:9px 12px;font-size:.9rem;font-family:var(--font-body);color:var(--color-text);background:var(--color-white);border:2px solid var(--color-border);border-radius:var(--radius-md);outline:none;transition:border-color .2s ease,box-shadow .2s ease}.field-input.inline[data-v-c9eb2a81]{flex:1 1 auto}.field-input[data-v-c9eb2a81]:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px #ff8c4226}.link-btn[data-v-c9eb2a81]{flex-shrink:0;background:none;border:none;padding:2px 4px;font-size:.82rem;font-weight:700;color:var(--color-primary);cursor:pointer}.link-btn[data-v-c9eb2a81]:hover{text-decoration:underline}.sub-form[data-v-c9eb2a81]{margin-top:12px;display:flex;flex-direction:column;gap:12px}.field[data-v-c9eb2a81]{display:flex;flex-direction:column}.field-label[data-v-c9eb2a81]{font-size:.8rem;font-weight:700;color:var(--color-text);margin-bottom:5px}.field-inline[data-v-c9eb2a81]{display:flex;gap:8px;align-items:stretch}.field-inline .field-input[data-v-c9eb2a81]{flex:1 1 auto}.block-actions[data-v-c9eb2a81]{margin-top:10px}.alert[data-v-c9eb2a81]{padding:8px 12px;font-size:.8rem;font-weight:700;color:var(--color-error-strong);background:var(--color-error-soft);border:1px solid rgba(255,107,157,.3);border-radius:var(--radius-sm)}.row-edit-error[data-v-c9eb2a81]{margin-top:6px}.ok-text[data-v-c9eb2a81]{padding:8px 12px;font-size:.8rem;font-weight:700;color:var(--color-success);background:var(--color-success-soft);border-radius:var(--radius-sm)}.form-actions[data-v-c9eb2a81]{display:flex;align-items:center;gap:8px}.wechat-tip[data-v-c9eb2a81]{margin-top:4px;padding:12px 14px;font-size:.82rem;line-height:1.6;color:var(--color-text-light);background:var(--color-muted);border-radius:var(--radius-md)}@media (min-width: 640px){.account-card[data-v-c9eb2a81]{padding:28px}}.policy-page[data-v-188062b6]{min-height:calc(100vh - var(--banner-h));padding:20px 16px 32px}.policy-card[data-v-188062b6]{max-width:720px;margin:0 auto;background:var(--color-card);border:2px solid var(--color-border);border-radius:var(--radius-lg);padding:22px 18px;box-shadow:var(--shadow-card)}.policy-head[data-v-188062b6]{text-align:center;margin-bottom:20px}.policy-title[data-v-188062b6]{font-size:1.35rem;color:var(--color-text);margin-bottom:6px}.policy-date[data-v-188062b6]{font-size:.78rem;color:var(--color-text-light)}.policy-section[data-v-188062b6]{margin-bottom:18px}.policy-section h2[data-v-188062b6]{font-size:.98rem;color:var(--color-text);margin-bottom:8px}.policy-section p[data-v-188062b6]{font-size:.86rem;line-height:1.8;color:var(--color-text)}.policy-section ul[data-v-188062b6]{padding-left:0;list-style:none}.policy-section li[data-v-188062b6]{position:relative;font-size:.86rem;line-height:1.8;color:var(--color-text);padding-left:16px;margin-bottom:4px}.policy-section li[data-v-188062b6]:before{content:"";position:absolute;left:2px;top:.72em;width:6px;height:6px;border-radius:50%;background:var(--color-primary)}.policy-section a[data-v-188062b6]{color:var(--color-primary);font-weight:700}.policy-note[data-v-188062b6]{margin-top:8px;padding:9px 12px;font-size:.82rem;line-height:1.7;color:var(--color-text);background:var(--color-muted);border-radius:var(--radius-sm)}.policy-related[data-v-188062b6]{display:flex;justify-content:center;gap:18px;margin-top:22px;padding-top:16px;border-top:1px solid var(--color-border)}.policy-related a[data-v-188062b6]{font-size:.8rem;font-weight:700;color:var(--color-primary);text-decoration:none}.policy-related a[data-v-188062b6]:hover{text-decoration:underline}@media (min-width: 640px){.policy-page[data-v-188062b6]{padding:28px 24px 40px}.policy-card[data-v-188062b6]{padding:32px 36px}.policy-title[data-v-188062b6]{font-size:1.5rem}.policy-section p[data-v-188062b6],.policy-section li[data-v-188062b6]{font-size:.9rem}}.policy-page[data-v-e08bd826]{min-height:calc(100vh - var(--banner-h));padding:20px 16px 32px}.policy-card[data-v-e08bd826]{max-width:720px;margin:0 auto;background:var(--color-card);border:2px solid var(--color-border);border-radius:var(--radius-lg);padding:22px 18px;box-shadow:var(--shadow-card)}.policy-head[data-v-e08bd826]{text-align:center;margin-bottom:20px}.policy-title[data-v-e08bd826]{font-size:1.35rem;color:var(--color-text);margin-bottom:6px}.policy-date[data-v-e08bd826]{font-size:.78rem;color:var(--color-text-light)}.policy-section[data-v-e08bd826]{margin-bottom:18px}.policy-section h2[data-v-e08bd826]{font-size:.98rem;color:var(--color-text);margin-bottom:8px}.policy-section p[data-v-e08bd826]{font-size:.86rem;line-height:1.8;color:var(--color-text)}.policy-section ul[data-v-e08bd826]{padding-left:0;list-style:none}.policy-section li[data-v-e08bd826]{position:relative;font-size:.86rem;line-height:1.8;color:var(--color-text);padding-left:16px;margin-bottom:4px}.policy-section li[data-v-e08bd826]:before{content:"";position:absolute;left:2px;top:.72em;width:6px;height:6px;border-radius:50%;background:var(--color-primary)}.policy-section a[data-v-e08bd826]{color:var(--color-primary);font-weight:700}.policy-related[data-v-e08bd826]{display:flex;justify-content:center;gap:18px;margin-top:22px;padding-top:16px;border-top:1px solid var(--color-border)}.policy-related a[data-v-e08bd826]{font-size:.8rem;font-weight:700;color:var(--color-primary);text-decoration:none}.policy-related a[data-v-e08bd826]:hover{text-decoration:underline}@media (min-width: 640px){.policy-page[data-v-e08bd826]{padding:28px 24px 40px}.policy-card[data-v-e08bd826]{padding:32px 36px}.policy-title[data-v-e08bd826]{font-size:1.5rem}.policy-section p[data-v-e08bd826],.policy-section li[data-v-e08bd826]{font-size:.9rem}}.policy-page[data-v-d2156df8]{min-height:calc(100vh - var(--banner-h));padding:20px 16px 32px}.policy-card[data-v-d2156df8]{max-width:720px;margin:0 auto;background:var(--color-card);border:2px solid var(--color-border);border-radius:var(--radius-lg);padding:22px 18px;box-shadow:var(--shadow-card)}.policy-head[data-v-d2156df8]{text-align:center;margin-bottom:20px}.policy-title[data-v-d2156df8]{font-size:1.35rem;color:var(--color-text);margin-bottom:6px}.policy-date[data-v-d2156df8]{font-size:.78rem;color:var(--color-text-light)}.policy-section[data-v-d2156df8]{margin-bottom:18px}.policy-section h2[data-v-d2156df8]{font-size:.98rem;color:var(--color-text);margin-bottom:8px}.policy-section p[data-v-d2156df8]{font-size:.86rem;line-height:1.8;color:var(--color-text)}.policy-section ul[data-v-d2156df8]{padding-left:0;list-style:none}.policy-section li[data-v-d2156df8]{position:relative;font-size:.86rem;line-height:1.8;color:var(--color-text);padding-left:16px;margin-bottom:4px}.policy-section li[data-v-d2156df8]:before{content:"";position:absolute;left:2px;top:.72em;width:6px;height:6px;border-radius:50%;background:var(--color-primary)}.policy-section a[data-v-d2156df8]{color:var(--color-primary);font-weight:700}.policy-note[data-v-d2156df8]{margin-top:8px;padding:9px 12px;font-size:.82rem;line-height:1.7;color:var(--color-text);background:var(--color-muted);border-radius:var(--radius-sm)}.policy-related[data-v-d2156df8]{display:flex;justify-content:center;gap:18px;margin-top:22px;padding-top:16px;border-top:1px solid var(--color-border)}.policy-related a[data-v-d2156df8]{font-size:.8rem;font-weight:700;color:var(--color-primary);text-decoration:none}.policy-related a[data-v-d2156df8]:hover{text-decoration:underline}@media (min-width: 640px){.policy-page[data-v-d2156df8]{padding:28px 24px 40px}.policy-card[data-v-d2156df8]{padding:32px 36px}.policy-title[data-v-d2156df8]{font-size:1.5rem}.policy-section p[data-v-d2156df8],.policy-section li[data-v-d2156df8]{font-size:.9rem}}.parallax-bg[data-v-c078ca8c]{position:fixed;top:0;right:0;bottom:0;left:0;z-index:-1;overflow:hidden;pointer-events:none;background-color:var(--color-bg)}.parallax-bg-inner[data-v-c078ca8c]{position:absolute;top:0;left:0;width:100%;height:100%;background-size:cover;background-position:center;background-repeat:no-repeat;background-attachment:fixed}.top-banner[data-v-009e96f5]{--brand-ink: #C23D29;position:sticky;top:0;z-index:50;width:100%;height:var(--banner-h);background:#ffffffeb;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-bottom:1px solid var(--color-border);box-shadow:0 1px 6px #4a3b2f0a}.banner-inner[data-v-009e96f5]{max-width:960px;margin:0 auto;padding:0 16px;height:100%;display:flex;align-items:center;justify-content:space-between;gap:12px}.banner-left[data-v-009e96f5]{display:flex;align-items:center;gap:8px;flex:1 1 0;min-width:0}.banner-right[data-v-009e96f5]{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex:1 1 0;min-width:0}.back-btn[data-v-009e96f5]{display:inline-flex;align-items:center;gap:2px;padding:7px 12px 7px 8px;border-radius:999px;background:var(--color-muted);color:var(--color-text);border:none;font-size:.85rem;font-weight:700;flex-shrink:0;transition:background .2s ease}.back-btn[data-v-009e96f5]:hover{background:var(--color-border)}.back-btn .icon[data-v-009e96f5]{width:18px;height:18px}.brand[data-v-009e96f5]{display:flex;align-items:center;gap:10px;text-decoration:none;flex-shrink:0}.brand-logo[data-v-009e96f5]{width:40px;height:40px;display:block;flex-shrink:0}.brand-text[data-v-009e96f5]{font-family:var(--font-display);font-size:1.15rem;font-weight:800;color:var(--brand-ink);letter-spacing:-.02em}.desktop-nav[data-v-009e96f5]{display:none;align-items:center;gap:4px;background:var(--color-muted);border-radius:999px;padding:4px;flex:0 0 auto}.nav-item[data-v-009e96f5]{padding:6px 16px;border-radius:999px;font-size:.9rem;font-weight:700;color:var(--color-text-light);text-decoration:none;transition:color .2s ease,background .2s ease,box-shadow .2s ease;white-space:nowrap}.nav-item[data-v-009e96f5]:hover{color:var(--color-text);background:var(--color-card)}.nav-item.active[data-v-009e96f5]{color:var(--color-primary);background:var(--color-card);box-shadow:0 1px 4px #4a3b2f14}.nav-dd[data-v-009e96f5]{position:relative;display:flex}.nav-dd-trigger[data-v-009e96f5]{display:inline-flex;align-items:center;gap:3px;background:transparent;border:none;font-family:var(--font-body);cursor:pointer}.nav-dd-trigger[data-v-009e96f5]:hover{background:var(--color-card)}.nav-dd-trigger.active[data-v-009e96f5]{color:var(--color-primary);background:var(--color-card);box-shadow:0 1px 4px #4a3b2f14}.dd-chevron[data-v-009e96f5]{width:11px;height:11px;flex-shrink:0;transition:transform .2s ease}.nav-dd-panel[data-v-009e96f5]{z-index:200;padding:6px;background:var(--color-card);border:1px solid var(--color-border);border-radius:12px;box-shadow:0 6px 16px #211a141a;display:flex;flex-direction:column;gap:2px}.dd-item[data-v-009e96f5]{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:9px 12px;border-radius:9px;font-size:13px;font-weight:700;color:var(--color-text);text-decoration:none;transition:background .15s ease}.dd-item[data-v-009e96f5]:hover{background:var(--color-muted)}.dd-item.is-disabled[data-v-009e96f5]{color:var(--color-text-light);opacity:.6;cursor:not-allowed}.dd-item.is-disabled[data-v-009e96f5]:hover{background:transparent}.dd-badge[data-v-009e96f5]{font-style:normal;font-size:10px;font-weight:800;color:var(--color-text-light);background:var(--color-border);border-radius:999px;padding:2px 7px;white-space:nowrap}.streak-badge[data-v-009e96f5]{display:inline-flex;align-items:center;gap:4px;padding:5px 11px;border-radius:999px;background:var(--color-success-soft);border:1px solid var(--ht-streak-ring);font-size:.75rem;font-weight:800;color:var(--ht-streak-ink);white-space:nowrap;flex-shrink:0}.streak-flame[data-v-009e96f5]{font-size:.8rem;line-height:1}.nav-item.is-pending[data-v-009e96f5]{display:inline-flex;align-items:center;gap:3px;color:var(--color-text-light);opacity:.5;cursor:not-allowed}.nav-item.is-pending[data-v-009e96f5]:hover{color:var(--color-text-light);background:transparent}.pending-icon[data-v-009e96f5]{width:12px;height:12px;flex-shrink:0}.mobile-menu-btn[data-v-009e96f5]{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:14px;background:var(--color-muted);color:var(--color-text);border:none;flex-shrink:0}.mobile-menu-btn .icon[data-v-009e96f5]{width:20px;height:20px}.user-area[data-v-009e96f5]{display:flex;align-items:center;gap:8px;flex-shrink:0}.sync-indicator[data-v-009e96f5]{display:inline-flex;align-items:center;gap:4px;padding:4px 9px;border-radius:999px;background:var(--color-muted);color:var(--color-text-light);font-size:.7rem;font-weight:700;white-space:nowrap;cursor:default;-webkit-user-select:none;user-select:none;flex-shrink:0;transition:background .2s ease,color .2s ease}.sync-indicator.done[data-v-009e96f5]{color:var(--color-success)}.sync-indicator.error[data-v-009e96f5]{cursor:pointer;color:var(--color-error-strong);background:var(--color-error-soft)}.sync-icon[data-v-009e96f5]{width:13px;height:13px;flex-shrink:0}.sync-icon.spin[data-v-009e96f5]{animation:sync-spin-009e96f5 .9s linear infinite;transform-origin:center}.sync-text[data-v-009e96f5]{line-height:1}@keyframes sync-spin-009e96f5{to{transform:rotate(360deg)}}.user-profile[data-v-009e96f5]{position:relative;display:flex;align-items:center;gap:8px;padding:4px 12px 4px 4px;background:var(--color-card);border:1px solid var(--color-border);border-radius:999px;cursor:pointer;transition:box-shadow .2s ease}.user-profile[data-v-009e96f5]:hover{box-shadow:0 2px 8px #4a3b2f14}.user-avatar[data-v-009e96f5]{width:32px;height:32px;border-radius:50%;background:transparent;border:none;display:flex;align-items:center;justify-content:center;overflow:hidden;flex-shrink:0}.user-avatar.small[data-v-009e96f5]{width:28px;height:28px}.avatar-img[data-v-009e96f5]{width:100%;height:100%;object-fit:cover;display:block}.user-name[data-v-009e96f5]{font-size:.85rem;font-weight:800;color:var(--color-text);white-space:nowrap}.user-arrow[data-v-009e96f5]{width:16px;height:16px;color:var(--color-text-light);transition:transform .2s ease}.user-arrow.open[data-v-009e96f5]{transform:rotate(180deg)}.user-dropdown[data-v-009e96f5]{position:absolute;top:calc(100% + 8px);right:0;min-width:120px;background:var(--color-card);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-card);overflow:hidden;z-index:60}.dropdown-item[data-v-009e96f5]{display:block;width:100%;padding:10px 14px;font-size:.85rem;font-weight:700;font-family:inherit;line-height:1.4;color:var(--color-text);background:transparent;border:none;border-radius:0;text-align:left;text-decoration:none;cursor:pointer}.dropdown-item[data-v-009e96f5]:hover{background:var(--color-muted)}.mobile-menu[data-v-009e96f5]{position:absolute;top:var(--banner-h);left:0;right:0;background:#fffffffa;border-bottom:1px solid var(--color-border);padding:12px 16px 20px;display:flex;flex-direction:column;gap:4px}.mobile-nav-item[data-v-009e96f5]{padding:12px 16px;border-radius:var(--radius-md);font-size:1rem;font-weight:700;color:var(--color-text-light);text-decoration:none}.mobile-nav-item.active[data-v-009e96f5]{color:var(--color-primary);background:#ff8c4214}.mobile-nav-item.is-pending[data-v-009e96f5]{display:flex;align-items:center;justify-content:space-between;opacity:.65;cursor:not-allowed}.mobile-nav-item.is-child[data-v-009e96f5]{padding-left:30px;font-size:.94rem}.mobile-nav-group[data-v-009e96f5]{padding:12px 16px 4px;font-size:.72rem;font-weight:800;letter-spacing:.06em;color:var(--color-text-light);text-transform:uppercase}.mobile-badge[data-v-009e96f5]{font-style:normal;font-size:.7rem;font-weight:800;color:var(--color-text-light);background:var(--color-muted);border-radius:999px;padding:2px 8px;letter-spacing:0}.mobile-divider[data-v-009e96f5]{height:1px;background:var(--color-border);margin:8px 0}.mobile-user-area[data-v-009e96f5]{display:flex;flex-direction:column;gap:10px}.mobile-user-info[data-v-009e96f5]{display:flex;align-items:center;gap:10px;padding:8px 4px}.mobile-user-name[data-v-009e96f5]{font-size:1rem;font-weight:800;color:var(--color-text)}.full[data-v-009e96f5]{width:100%}.dropdown-enter-active[data-v-009e96f5],.dropdown-leave-active[data-v-009e96f5]{transition:opacity .2s ease,transform .2s ease}.dropdown-enter-from[data-v-009e96f5],.dropdown-leave-to[data-v-009e96f5]{opacity:0;transform:translateY(-6px)}.slide-enter-active[data-v-009e96f5],.slide-leave-active[data-v-009e96f5]{transition:opacity .25s ease,transform .25s ease}.slide-enter-from[data-v-009e96f5],.slide-leave-to[data-v-009e96f5]{opacity:0;transform:translateY(-10px)}@media (min-width: 640px){.banner-inner[data-v-009e96f5]{padding:0 24px}.brand-logo[data-v-009e96f5]{width:44px;height:44px}.brand-text[data-v-009e96f5]{font-size:1.25rem}.desktop-nav[data-v-009e96f5]{display:flex}.mobile-menu-btn[data-v-009e96f5],.mobile-menu[data-v-009e96f5]{display:none!important}.user-name[data-v-009e96f5]{display:inline}}@media (max-width: 639px){.user-name[data-v-009e96f5],.back-text[data-v-009e96f5]{display:none}.back-btn[data-v-009e96f5]{padding:7px}[data-v-009e96f5] .bb-text-only{display:none}@media (max-width: 400px){.sync-text[data-v-009e96f5]{display:none}.sync-indicator[data-v-009e96f5]{padding:5px}}}.beian-footer[data-v-bb9a3958]{width:100%;box-sizing:border-box;position:relative;z-index:2;padding:15px 16px;background:#fffdf7;border-top:1px solid #ece0cb;color:#6f6152;font-size:12px;line-height:1.6;text-align:center;font-family:var(--font-body, -apple-system, BlinkMacSystemFont, "PingFang SC", "Microsoft YaHei", sans-serif)}.beian-footer.is-fixed[data-v-bb9a3958]{position:fixed;left:0;right:0;bottom:0;z-index:9999;box-shadow:0 -1px 6px #4a3b2f14}.beian-inner[data-v-bb9a3958]{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:2px 10px}.beian-link[data-v-bb9a3958]{color:#6f6152;text-decoration:none;white-space:nowrap}.beian-link[data-v-bb9a3958]:hover{color:#4a3b2f;text-decoration:underline}.beian-label[data-v-bb9a3958]{opacity:.85}.beian-sep[data-v-bb9a3958]{opacity:.5}.beian-icon[data-v-bb9a3958]{height:14px;width:auto;vertical-align:middle;margin-right:4px}.beian-copy[data-v-bb9a3958]{opacity:.85}.beian-policies[data-v-bb9a3958]{margin-top:4px;font-size:11px}.beian-policies a[data-v-bb9a3958]{color:#6f6152;text-decoration:none}.beian-policies a[data-v-bb9a3958]:hover{color:#4a3b2f;text-decoration:underline}.beian-date[data-v-bb9a3958]{margin-top:2px;font-size:11px;opacity:.7}@media (max-width: 480px){.beian-footer[data-v-bb9a3958]{font-size:11px;padding:12px}.beian-inner[data-v-bb9a3958]{gap:2px 8px}}.app-container[data-v-d7587287]{position:relative;min-height:100vh}.app-main[data-v-d7587287]{position:relative;z-index:1}:root{--color-bg: #fff9f0;--color-primary: #FF8C42;--color-secondary: #5FB8FF;--color-success: #4ECB71;--color-error: #FF6B9D;--color-purple: #C89BFF;--color-yellow: #FFC75F;--color-text: #4A3B2F;--color-text-light: #8B7B6E;--color-white: #ffffff;--color-card: #ffffff;--color-border: #F0E0D0;--color-muted: #F7F0E8;--color-disabled-bg: #F5F5F5;--color-disabled-text: #B5A79A;--color-success-soft: #F0FFF4;--color-error-strong: #c2185b;--color-error-soft: rgba(255, 107, 157, .12);--color-warning-text: #8a6d3b;--color-warning-soft: rgba(255, 199, 95, .16);--color-perfect: #FFD700;--kb-accent: #FFB347;--kb-accent-soft: #FFF3E0;--kb-hover-bg: #FFF9E6;--kb-target-bg: #FFFBE6;--kb-shift-color: #E07A5F;--kb-combo-text: #8A5A00;--radius-lg: 24px;--radius-md: 16px;--radius-sm: 10px;--shadow-soft: 0 4px 16px rgba(255, 140, 66, .15);--shadow-card: 0 8px 24px rgba(74, 59, 47, .12);--font-body: "Nunito", "PingFang SC", "Microsoft YaHei", sans-serif;--font-display: "Baloo 2", "PingFang SC", "Microsoft YaHei", sans-serif;--banner-h: 64px}@media (min-width: 640px){:root{--banner-h: 72px}}*{margin:0;padding:0;box-sizing:border-box}html,body{height:100%}html{background:var(--color-bg)}body{font-family:var(--font-body);color:var(--color-text);background:transparent;min-height:100vh}#app{min-height:100vh}button{font-family:var(--font-body);cursor:pointer;border:none;border-radius:var(--radius-md);transition:transform .15s ease,box-shadow .15s ease}button:active{transform:scale(.96)}h1,h2,h3{font-family:var(--font-display);font-weight:800}@keyframes bounce{0%,to{transform:translateY(0)}50%{transform:translateY(-12px)}}@keyframes pulse{0%,to{transform:scale(1);opacity:1}50%{transform:scale(1.08);opacity:.85}}@keyframes shake{0%,to{transform:translate(0)}25%{transform:translate(-6px)}75%{transform:translate(6px)}}@keyframes pop-in{0%{transform:scale(0);opacity:0}70%{transform:scale(1.15)}to{transform:scale(1);opacity:1}}@keyframes float-up{0%{transform:translateY(0) rotate(0);opacity:1}to{transform:translateY(-100px) rotate(360deg);opacity:0}}:root{--ht-primary: #FF7A2F;--ht-primary-deep: #E85D04;--ht-ink: #33261C;--ht-brown: #6B5D52;--ht-grey: #A39487;--ht-border: #F0E4D7;--ht-bg: #FFFBF5;--ht-mint: #C9F2E9;--ht-cream: #FFF3C9;--ht-coral: #FFE0D6;--ht-lavender: #EAE4FF;--ht-success: #3BA55D;--ht-nav-track: #FFF3E8;--ht-desc-typing: #3D5B52;--ht-desc-english: #6B5A2E;--ht-desc-pinyin: #4A3F8C;--ht-desc-game: #6E4237;--ht-fill-mint: #0F4F3F;--ht-fill-amber: #E8A000;--ht-fill-coral: #FF6B4A;--ht-fill-lavender: #6D5BD0;--ht-fill-green: #3BA55D;--ht-state-active: #FF7A2F;--ht-state-doing: #0E7490;--ht-state-done: #3BA55D;--ht-state-locked: #A39487;--ht-radius-icon: 12px;--ht-radius-card: 16px;--ht-radius-module: 20px;--ht-radius-pill: 9999px;--ht-pad-card: 14px;--ht-pad-stat: 16px;--ht-pad-module: 20px;--ht-gap-block: 40px;--ht-gap-module: 12px;--ht-gap-grid: 16px;--ht-gap-col: 20px;--ht-shadow-card: 0 4px 12px rgba(33, 26, 20, .05);--ht-shadow-pop: 0 6px 16px rgba(33, 26, 20, .1);--ht-font: "Noto Sans SC", system-ui, "PingFang SC", "Microsoft YaHei", sans-serif;--ht-max-w: 1392px;--ht-hero-grad-from: #FF7A2F;--ht-hero-grad-to: #FFB566;--ht-white: #FFFFFF;--ht-locked-bg: #FFFDFA;--ht-locked-icon: #F3EDE6;--ht-locked-btn: #EDE4DA;--ht-streak-ink: #2F7A45;--ht-streak-ring: rgba(78, 203, 113, .3)}
