.typing-page[data-v-b41a21fe]{max-width:1100px;margin:0 auto;padding:32px 24px 60px;color:#1f2937}.typing-header[data-v-b41a21fe]{display:flex;justify-content:space-between;gap:24px;align-items:flex-end;margin-bottom:24px}.eyebrow[data-v-b41a21fe]{color:#0f766e;font-size:12px;letter-spacing:2px;font-weight:700}h1[data-v-b41a21fe]{margin:6px 0 8px;font-size:34px;color:#123c3a}.typing-header p[data-v-b41a21fe]{margin:0;color:#64748b}.session-stats[data-v-b41a21fe]{display:flex;gap:18px;color:#0f766e;font-weight:700;white-space:nowrap}.typing-panel[data-v-b41a21fe]{background:#fff;border:1px solid #dbe7e5;border-radius:8px;box-shadow:0 10px 35px rgba(15,118,110,.08);padding:28px}.mode-tabs[data-v-b41a21fe]{display:flex;gap:8px;border-bottom:1px solid #e5e7eb;margin:-28px -28px 28px;padding:0 28px}.mode-tabs button[data-v-b41a21fe]{border:0;background:transparent;padding:16px 12px;color:#64748b;cursor:pointer;border-bottom:2px solid transparent}.mode-tabs button.active[data-v-b41a21fe]{color:#0f766e;border-bottom-color:#0f766e;font-weight:700}.selection-content[data-v-b41a21fe]{max-width:760px;margin:0 auto;text-align:center}.selection-content h2[data-v-b41a21fe]{margin:0 0 20px;color:#123c3a}.poem-select[data-v-b41a21fe],.title-input[data-v-b41a21fe]{display:block;width:100%;margin:14px 0}.poem-preview[data-v-b41a21fe]{margin:20px 0;padding:18px;background:#f0fdfa;text-align:left;white-space:pre-wrap;line-height:2;border-left:3px solid #0f766e}.poem-meta[data-v-b41a21fe]{color:#0f766e;font-weight:700;margin-bottom:8px}.empty-state[data-v-b41a21fe]{padding:48px 0;color:#64748b}.empty-state.error[data-v-b41a21fe]{color:#dc2626}.practice-toolbar[data-v-b41a21fe]{justify-content:space-between;color:#0f766e;font-weight:700;margin-bottom:18px}.practice-toolbar[data-v-b41a21fe],.toolbar-right[data-v-b41a21fe]{display:flex;align-items:center;flex-wrap:wrap;gap:12px}.font-size-control[data-v-b41a21fe]{display:flex;align-items:center;gap:6px}.font-size-label[data-v-b41a21fe]{font-size:12px;color:#64748b;min-width:24px;text-align:center}.align-group .el-button[data-v-b41a21fe]{padding:7px 10px}.prompt-box[data-v-b41a21fe]{min-height:220px;padding:28px;background:#f8fafc;border:1px solid #e2e8f0;border-radius:6px;font-size:28px;line-height:1.9;white-space:pre-wrap;word-break:break-all;cursor:text;outline:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}.prompt-box[data-v-b41a21fe]:focus{border-color:#99f6e4;box-shadow:0 0 0 3px rgba(153,246,228,.3)}.prompt-line[data-v-b41a21fe]{display:flex;flex-wrap:wrap;margin-bottom:8px;align-items:flex-end}.char-cell[data-v-b41a21fe]{display:inline-flex;flex-direction:column;align-items:center;justify-content:flex-end;min-width:1.2em;margin:0 2px;position:relative;border-radius:4px;padding:2px 1px}.pinyin-layer[data-v-b41a21fe]{display:flex;align-items:center;justify-content:center;min-height:1.2em;margin-bottom:2px}.pinyin-char[data-v-b41a21fe]{font-size:.45em;line-height:1.2;white-space:nowrap;position:relative;padding:0 1px}.pinyin-char.correct[data-v-b41a21fe]{color:#15803d;font-weight:700}.pinyin-char.incorrect[data-v-b41a21fe]{color:#b91c1c;font-weight:700}.pinyin-char.untyped[data-v-b41a21fe]{color:#94a3b8}.pinyin-cursor[data-v-b41a21fe]{position:absolute;bottom:-2px;left:10%;width:80%;height:2px;background:#0f766e;border-radius:1px;animation:blink-b41a21fe 1s step-end infinite}.hanzi[data-v-b41a21fe]{line-height:1.4;border-radius:4px;padding:0 2px}.hanzi.correct[data-v-b41a21fe]{color:#15803d;background:#dcfce7}.hanzi.incorrect[data-v-b41a21fe]{color:#b91c1c;background:#fee2e2}.hanzi.typing[data-v-b41a21fe]{color:#1f2937}.hanzi.untyped[data-v-b41a21fe]{color:#94a3b8}.char-cell.correct[data-v-b41a21fe]{background:rgba(220,252,231,.3)}.char-cell.incorrect[data-v-b41a21fe]{background:rgba(254,226,226,.3)}.char-cell.typing[data-v-b41a21fe]{background:rgba(224,242,254,.3)}.char-cell.cursor-active[data-v-b41a21fe]{box-shadow:0 0 0 2px rgba(15,118,110,.3)}@keyframes blink-b41a21fe{0%,to{opacity:1}50%{opacity:0}}.newline-mark[data-v-b41a21fe]{color:#cbd5e1;font-size:.6em;margin:0 4px;align-self:flex-end}.font-size-small .char-cell[data-v-b41a21fe]{font-size:20px}.font-size-small .pinyin-char[data-v-b41a21fe]{font-size:.5em}.font-size-medium .char-cell[data-v-b41a21fe]{font-size:28px}.font-size-large .char-cell[data-v-b41a21fe]{font-size:36px}.font-size-extra-large .char-cell[data-v-b41a21fe]{font-size:44px}.text-align-left .prompt-line[data-v-b41a21fe]{justify-content:flex-start}.text-align-center .prompt-line[data-v-b41a21fe]{justify-content:center}.text-align-justify .prompt-line[data-v-b41a21fe]{justify-content:space-between}.typing-input-hidden[data-v-b41a21fe]{position:absolute;opacity:0;pointer-events:none;width:1px;height:1px}.progress-row[data-v-b41a21fe]{display:flex;align-items:center;gap:14px;margin-top:16px}.progress-row .el-progress[data-v-b41a21fe]{flex:1}.complete-panel[data-v-b41a21fe]{text-align:center}.success-icon[data-v-b41a21fe]{color:#16a34a;font-size:64px}.complete-panel h2[data-v-b41a21fe]{color:#166534}.result-grid[data-v-b41a21fe]{display:flex;justify-content:center;gap:50px;margin:28px 0}.result-grid div[data-v-b41a21fe]{display:flex;flex-direction:column;gap:6px}.result-grid strong[data-v-b41a21fe]{font-size:28px;color:#0f766e}.result-grid span[data-v-b41a21fe]{color:#64748b}@media (max-width:640px){.typing-page[data-v-b41a21fe]{padding:20px 12px 40px}.typing-header[data-v-b41a21fe]{display:block}.session-stats[data-v-b41a21fe]{margin-top:15px}.typing-panel[data-v-b41a21fe]{padding:18px}.mode-tabs[data-v-b41a21fe]{margin:-18px -18px 18px;padding:0 18px}.prompt-box[data-v-b41a21fe]{padding:18px}.font-size-medium .char-cell[data-v-b41a21fe]{font-size:22px}.font-size-large .char-cell[data-v-b41a21fe]{font-size:28px}.font-size-extra-large .char-cell[data-v-b41a21fe]{font-size:34px}.result-grid[data-v-b41a21fe]{gap:18px}.result-grid strong[data-v-b41a21fe]{font-size:22px}.toolbar-right[data-v-b41a21fe]{width:100%;justify-content:flex-end}}