.shell[data-v-89be2760]{display:grid;grid-template-columns:236px minmax(0,1fr);min-height:100dvh}.shell.bare[data-v-89be2760]{grid-template-columns:minmax(0,1fr)}.sidebar[data-v-89be2760]{position:sticky;top:0;display:flex;flex-direction:column;height:100dvh;padding:26px 18px 20px;border-right:1px solid var(--line);background:color-mix(in srgb,var(--bg) 70%,transparent);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.brand[data-v-89be2760]{display:flex;align-items:center;gap:11px;padding:0 8px 26px}.brand-mark[data-v-89be2760]{display:grid;place-items:center;width:38px;height:38px;border-radius:11px;background:var(--accent);color:var(--accent-ink);font-size:20px;font-weight:600;box-shadow:0 8px 18px -10px var(--accent)}.brand-text[data-v-89be2760]{display:flex;flex-direction:column;line-height:1.25}.brand-text strong[data-v-89be2760]{font-size:16px;font-weight:650;letter-spacing:.12em}.brand-text small[data-v-89be2760]{color:var(--muted);font-size:11px;letter-spacing:.06em}.nav[data-v-89be2760]{display:flex;flex-direction:column;gap:3px}.nav-item[data-v-89be2760]{position:relative;display:flex;align-items:center;gap:11px;padding:9px 12px;border-radius:9px;color:var(--ink-2);font-size:14.5px;transition:background-color .15s ease,color .15s ease}.nav-item[data-v-89be2760]:hover{background:var(--surface-2);color:var(--ink)}.nav-item.active[data-v-89be2760]{background:var(--accent-soft);color:var(--accent);font-weight:550}.nav-item.active[data-v-89be2760]:before{content:"";position:absolute;left:0;top:9px;bottom:9px;width:2.5px;border-radius:2px;background:var(--accent)}.side-foot[data-v-89be2760]{display:flex;flex-direction:column;gap:10px;margin-top:auto}.theme-btn[data-v-89be2760]{display:flex;align-items:center;gap:9px;padding:9px 12px;border-radius:9px;color:var(--ink-2);font-size:13.5px;text-align:left;transition:background-color .15s ease}.theme-btn[data-v-89be2760]:hover{background:var(--surface-2);color:var(--ink)}.version[data-v-89be2760]{padding:0 12px;color:var(--muted);font-size:11px;letter-spacing:.02em}.main[data-v-89be2760]{min-width:0}@media (max-width: 900px){.shell[data-v-89be2760]{grid-template-columns:minmax(0,1fr)}.sidebar[data-v-89be2760]{position:static;flex-direction:row;align-items:center;gap:16px;height:auto;padding:12px 16px;border-right:0;border-bottom:1px solid var(--line)}.brand[data-v-89be2760]{padding:0}.brand-text small[data-v-89be2760],.side-foot[data-v-89be2760]{display:none}.nav[data-v-89be2760]{flex-direction:row;gap:2px}.nav-item[data-v-89be2760]{padding:7px 10px;font-size:13.5px}.nav-item.active[data-v-89be2760]:before{display:none}}.mask[data-v-c1fc03ec]{position:fixed;top:0;right:0;bottom:0;left:0;z-index:60;display:grid;place-items:center;padding:24px;background:#14120c6b;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}[data-theme=dark] .mask[data-v-c1fc03ec]{background:#0009}.modal[data-v-c1fc03ec]{width:100%;max-height:calc(100dvh - 48px);display:flex;flex-direction:column;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);overflow:hidden}.modal-head[data-v-c1fc03ec]{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:20px 24px 0}.modal-head h3[data-v-c1fc03ec]{font-size:18px;font-weight:650;letter-spacing:-.01em}.close[data-v-c1fc03ec]{display:grid;place-items:center;width:32px;height:32px;border-radius:8px;color:var(--muted)}.close[data-v-c1fc03ec]:hover{background:var(--surface-2);color:var(--ink)}.modal-body[data-v-c1fc03ec]{padding:18px 24px;overflow:auto}.modal-foot[data-v-c1fc03ec]{display:flex;justify-content:flex-end;gap:10px;padding:14px 24px 20px;border-top:1px solid var(--line);background:var(--surface)}.cat-grid[data-v-9d309093]{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.cat-card[data-v-9d309093]{display:flex;flex-direction:column;align-items:flex-start;gap:4px;padding:18px;border:1px solid var(--line);border-radius:12px;text-align:left;transition:border-color .16s ease,background-color .16s ease,transform .16s ease}.cat-card[data-v-9d309093]:hover{border-color:var(--accent);background:var(--accent-softer);transform:translateY(-2px)}.cat-glyph[data-v-9d309093]{display:grid;place-items:center;width:34px;height:34px;margin-bottom:6px;border-radius:9px;background:var(--accent-soft);color:var(--accent);font-size:17px;font-weight:600}.cat-card strong[data-v-9d309093]{font-size:16px;font-weight:600}.cat-desc[data-v-9d309093]{color:var(--muted);font-size:12px;line-height:1.55}.cat-meta[data-v-9d309093]{margin-top:8px;color:var(--accent);font-family:var(--font-mono);font-size:10.5px}.step-two[data-v-9d309093]{display:flex;flex-direction:column;gap:12px}.back-link[data-v-9d309093]{display:inline-flex;align-items:center;gap:5px;align-self:flex-start;color:var(--muted);font-size:12.5px}.back-link[data-v-9d309093]:hover{color:var(--ink)}.item-list[data-v-9d309093]{display:flex;flex-direction:column;gap:8px;max-height:52vh;overflow-y:auto;padding-right:4px}.item[data-v-9d309093]{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:12px 14px;border:1px solid var(--line);border-radius:10px;text-align:left;transition:border-color .14s ease,background-color .14s ease}.item[data-v-9d309093]:hover{border-color:var(--accent);background:var(--accent-softer)}.item-main[data-v-9d309093]{display:flex;flex-direction:column;gap:2px;min-width:0}.item-main strong[data-v-9d309093]{font-size:14px;font-weight:550}.item-main strong em[data-v-9d309093]{margin-left:6px;color:var(--muted);font-size:11.5px;font-style:normal;font-weight:400}.item-sample[data-v-9d309093]{overflow:hidden;color:var(--muted);font-size:12px;text-overflow:ellipsis;white-space:nowrap}.item-side[data-v-9d309093]{display:flex;align-items:center;gap:14px;white-space:nowrap}.item-count[data-v-9d309093],.best[data-v-9d309093]{color:var(--accent);font-family:var(--font-mono);font-size:11px}.go[data-v-9d309093]{display:inline-flex;align-items:center;gap:3px;color:var(--ink-2);font-size:12px}@media (max-width: 720px){.cat-grid[data-v-9d309093]{grid-template-columns:repeat(2,1fr)}}.home[data-v-40fdbbdc]{padding-top:40px}.hero[data-v-40fdbbdc]{position:relative;display:flex;align-items:center;justify-content:space-between;gap:40px;padding:46px 48px;overflow:hidden;background:linear-gradient(135deg,var(--surface) 30%,color-mix(in srgb,var(--accent) 5%,var(--surface)) 100%)}.hero[data-v-40fdbbdc]:after{content:"";position:absolute;right:-100px;bottom:-160px;width:360px;height:360px;border:1px solid color-mix(in srgb,var(--accent) 16%,transparent);border-radius:50%;pointer-events:none}.eyebrow[data-v-40fdbbdc]{margin-bottom:16px;color:var(--accent);font-family:var(--font-mono);font-size:11.5px;letter-spacing:.16em;text-transform:uppercase}.hero h1[data-v-40fdbbdc]{font-size:44px;font-weight:650;line-height:1.24;letter-spacing:-.035em}.lede[data-v-40fdbbdc]{max-width:430px;margin-top:16px;color:var(--ink-2);font-size:14.5px;line-height:1.75}.hero-actions[data-v-40fdbbdc]{display:flex;flex-wrap:wrap;gap:12px;margin-top:28px}.hero-art[data-v-40fdbbdc]{display:flex;align-items:flex-end;gap:18px;padding-right:12px}.key-col[data-v-40fdbbdc]{display:flex;flex-direction:column;align-items:center;gap:9px}.key-col.offset[data-v-40fdbbdc]{transform:translateY(22px)}.key-py[data-v-40fdbbdc]{color:var(--muted);font-family:var(--font-mono);font-size:12px;letter-spacing:.12em}.keycap[data-v-40fdbbdc]{display:grid;place-items:center;width:94px;height:94px;border:1px solid var(--line-strong);border-radius:18px;background:var(--surface);box-shadow:0 5px 0 var(--line-strong),0 18px 30px -18px #28211459;color:var(--ink);font-size:42px;font-weight:600}.keycap.alt[data-v-40fdbbdc]{border-color:color-mix(in srgb,var(--accent) 30%,var(--line));background:var(--accent-soft);color:var(--accent)}.stats-row[data-v-40fdbbdc]{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-top:18px}.stat-card[data-v-40fdbbdc]{display:flex;flex-direction:column;gap:6px;padding:18px 20px}.stat-label[data-v-40fdbbdc]{color:var(--muted);font-size:12px;letter-spacing:.03em}.stat-card b[data-v-40fdbbdc]{font-family:var(--font-mono);font-size:26px;font-weight:600;line-height:1.1;letter-spacing:-.02em}.stat-card b i[data-v-40fdbbdc]{margin-left:4px;color:var(--muted);font-size:11px;font-style:normal;font-weight:400;letter-spacing:.02em}.section[data-v-40fdbbdc]{margin-top:38px}.section-head[data-v-40fdbbdc]{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:14px}.section-head h2[data-v-40fdbbdc]{font-size:17px;font-weight:600;letter-spacing:-.01em}.more[data-v-40fdbbdc]{display:inline-flex;align-items:center;gap:5px;color:var(--muted);font-size:12.5px;transition:color .15s ease}.more[data-v-40fdbbdc]:hover{color:var(--accent)}.mode-grid[data-v-40fdbbdc]{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.mode[data-v-40fdbbdc]{display:flex;flex-direction:column;width:100%;padding:20px;text-align:left;transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease}.mode[data-v-40fdbbdc]:hover{transform:translateY(-3px);border-color:color-mix(in srgb,var(--accent) 35%,var(--line));box-shadow:var(--shadow-md)}.mode-top[data-v-40fdbbdc]{display:flex;align-items:center;justify-content:space-between;margin-bottom:18px}.mode-index[data-v-40fdbbdc]{color:var(--line-strong);font-size:12px;letter-spacing:.08em}.mode-arrow[data-v-40fdbbdc]{color:var(--muted);transition:transform .18s ease,color .18s ease}.mode:hover .mode-arrow[data-v-40fdbbdc]{color:var(--accent);transform:translate(2px)}.mode h3[data-v-40fdbbdc]{font-size:19px;font-weight:600;letter-spacing:.02em}.mode p[data-v-40fdbbdc]{flex:1;margin-top:7px;color:var(--muted);font-size:12.5px;line-height:1.65}.mode-meta[data-v-40fdbbdc]{margin-top:18px;color:var(--accent);font-family:var(--font-mono);font-size:11px;letter-spacing:.04em}.recent ul[data-v-40fdbbdc]{display:flex;flex-direction:column}.recent li[data-v-40fdbbdc]{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:15px 22px}.recent li+li[data-v-40fdbbdc]{border-top:1px solid var(--line)}.recent-title[data-v-40fdbbdc]{display:flex;align-items:center;gap:10px;min-width:0}.recent-name[data-v-40fdbbdc]{overflow:hidden;font-size:14px;text-overflow:ellipsis;white-space:nowrap}.recent-stats[data-v-40fdbbdc]{display:flex;align-items:baseline;gap:16px;white-space:nowrap}.cpm[data-v-40fdbbdc]{color:var(--ink);font-family:var(--font-mono);font-size:16px;font-weight:600}.cpm i[data-v-40fdbbdc]{margin-left:2px;color:var(--muted);font-size:10.5px;font-style:normal;font-weight:400}.acc[data-v-40fdbbdc]{color:var(--ink-2);font-family:var(--font-mono);font-size:13px}.recent-stats time[data-v-40fdbbdc]{min-width:74px;color:var(--muted);font-size:12px;text-align:right}@media (max-width: 1080px){.hero h1[data-v-40fdbbdc]{font-size:38px}.mode-grid[data-v-40fdbbdc]{grid-template-columns:repeat(2,1fr)}}@media (max-width: 860px){.hero[data-v-40fdbbdc]{padding:34px 26px}.hero-art[data-v-40fdbbdc]{display:none}.hero h1[data-v-40fdbbdc]{font-size:32px}.stats-row[data-v-40fdbbdc]{grid-template-columns:repeat(2,1fr)}.recent li[data-v-40fdbbdc]{flex-direction:column;align-items:flex-start;gap:8px}}.library[data-v-c3d1f072]{padding-top:40px}.tabs[data-v-c3d1f072]{display:flex;gap:3px;width:fit-content;max-width:100%;margin-bottom:22px;padding:4px;border-radius:11px;background:var(--surface-2);overflow-x:auto}.tab[data-v-c3d1f072]{display:inline-flex;align-items:center;gap:6px;padding:7px 14px;border-radius:8px;color:var(--ink-2);font-size:13.5px;white-space:nowrap}.tab.active[data-v-c3d1f072]{background:var(--surface);color:var(--ink);font-weight:500;box-shadow:var(--shadow-sm)}.count[data-v-c3d1f072]{color:var(--muted);font-family:var(--font-mono);font-size:10.5px}.notice[data-v-c3d1f072]{display:flex;align-items:center;gap:14px;margin-bottom:16px;padding:13px 18px;border-style:dashed;background:var(--accent-softer)}.notice-icon[data-v-c3d1f072]{display:grid;place-items:center;width:30px;height:30px;border-radius:8px;background:var(--accent-soft);color:var(--accent);font-size:15px;font-weight:600}.notice p[data-v-c3d1f072]{color:var(--ink-2);font-size:12.5px;line-height:1.7}.row-list[data-v-c3d1f072]{display:flex;flex-direction:column;gap:10px}.row-card[data-v-c3d1f072]{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:13px 18px}.row-card[data-v-c3d1f072]:hover{border-color:color-mix(in srgb,var(--accent) 30%,var(--line))}.row-main[data-v-c3d1f072]{display:flex;flex:1;flex-direction:column;gap:3px;min-width:0;text-align:left}.row-title[data-v-c3d1f072]{display:flex;align-items:center;gap:8px;color:var(--ink);font-size:14.5px;font-weight:550}.row-sub[data-v-c3d1f072]{overflow:hidden;color:var(--muted);font-size:12px;text-overflow:ellipsis;white-space:nowrap}.row-meta[data-v-c3d1f072]{display:flex;align-items:center;gap:8px;white-space:nowrap}.best[data-v-c3d1f072]{color:var(--accent);font-family:var(--font-mono);font-size:11.5px}.danger[data-v-c3d1f072]:hover{color:var(--danger);border-color:var(--danger)}.pager[data-v-c3d1f072]{display:flex;align-items:center;justify-content:center;gap:6px;margin-top:20px}.page-btn[data-v-c3d1f072]{min-width:32px;padding:6px 10px;border:1px solid var(--line);border-radius:7px;color:var(--ink-2);font-size:12.5px}.page-btn[data-v-c3d1f072]:hover:not(:disabled){border-color:var(--accent);color:var(--accent)}.page-btn.active[data-v-c3d1f072]{background:var(--accent);border-color:var(--accent);color:var(--accent-ink)}.page-btn[data-v-c3d1f072]:disabled{opacity:.4;cursor:not-allowed}.page-info[data-v-c3d1f072]{margin-left:8px;color:var(--muted);font-size:12px}.toast[data-v-c3d1f072]{position:fixed;top:24px;left:50%;z-index:90;padding:10px 16px;border:1px solid var(--line-strong);border-radius:10px;background:var(--surface);box-shadow:var(--shadow-md);color:var(--ink-2);font-size:13px;transform:translate(-50%)}.import-form[data-v-c3d1f072]{display:flex;flex-direction:column;gap:14px}.textarea[data-v-c3d1f072]{min-height:150px;resize:vertical;line-height:1.7}.import-body[data-v-c3d1f072]{min-height:96px}.form-meta[data-v-c3d1f072]{display:flex;justify-content:space-between;margin-top:5px;color:var(--muted);font-size:12px}.prompt-row[data-v-c3d1f072]{display:flex;align-items:center;gap:10px;margin-top:8px}.prompt-row span[data-v-c3d1f072]{color:var(--muted);font-size:12px}.unknown-box[data-v-c3d1f072]{margin-top:8px;padding:9px 11px;border:1px solid color-mix(in srgb,var(--danger) 22%,var(--line));border-radius:7px;background:var(--danger-soft);color:var(--danger);font-size:12px;line-height:1.7}.unknown-list[data-v-c3d1f072]{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:5px 12px;margin-top:7px}.unknown-row[data-v-c3d1f072]{display:flex;align-items:center;gap:6px;min-width:0}.unknown-row span[data-v-c3d1f072]{flex:0 0 auto;max-width:45%;overflow:hidden;color:var(--ink-2);font-family:var(--font-mono);font-size:11.5px;text-overflow:ellipsis;white-space:nowrap}.unknown-input[data-v-c3d1f072]{height:26px;min-width:0;padding:3px 7px;border-color:color-mix(in srgb,var(--danger) 20%,var(--line));font-size:11.5px}.form-error[data-v-c3d1f072]{color:var(--danger);font-size:12.5px}.form-tip[data-v-c3d1f072]{color:var(--muted);font-size:12px;line-height:1.7}@media (max-width: 860px){.row-card[data-v-c3d1f072]{flex-direction:column;align-items:flex-start;gap:8px}.row-meta[data-v-c3d1f072]{flex-wrap:wrap}}.chart-wrap[data-v-15f8037c]{position:relative;padding:18px 20px 10px}.legend[data-v-15f8037c]{display:flex;gap:18px;padding-left:4px;margin-bottom:4px}.item[data-v-15f8037c]{display:inline-flex;align-items:center;gap:7px;color:var(--muted);font-size:12px}.dot[data-v-15f8037c]{width:14px;height:3px;border-radius:999px}.dot.cpm[data-v-15f8037c]{background:var(--accent)}.dot.acc[data-v-15f8037c]{background:var(--gold);opacity:.85}.chart[data-v-15f8037c]{display:block;width:100%;height:auto}.grid[data-v-15f8037c]{stroke:var(--line);stroke-width:1;stroke-dasharray:3 5}.axis[data-v-15f8037c]{fill:var(--muted);font-size:11px;font-family:var(--font-mono)}.line[data-v-15f8037c]{fill:none;stroke-linecap:round;stroke-linejoin:round}.line.cpm[data-v-15f8037c]{stroke:var(--accent);stroke-width:2.4}.line.acc[data-v-15f8037c]{stroke:var(--gold);stroke-width:1.6;stroke-dasharray:4 5;opacity:.85}.dot-cpm[data-v-15f8037c]{fill:var(--surface);stroke:var(--accent);stroke-width:2}.dot-acc[data-v-15f8037c]{fill:var(--gold)}.chart-empty[data-v-15f8037c]{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;min-height:220px;color:var(--ink-2);font-size:14px}.chart-empty .muted[data-v-15f8037c]{font-size:13px}.records[data-v-7a128f21]{padding-top:40px}.total-badge[data-v-7a128f21]{padding:4px 12px;border:1px solid var(--line);border-radius:999px;color:var(--muted);font-size:12px}.summary[data-v-7a128f21]{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.summary-card[data-v-7a128f21]{display:flex;flex-direction:column;gap:6px;padding:18px 20px}.summary-card span[data-v-7a128f21]{color:var(--muted);font-size:12px}.summary-card b[data-v-7a128f21]{font-family:var(--font-mono);font-size:26px;font-weight:600;line-height:1.15;letter-spacing:-.02em}.summary-card b i[data-v-7a128f21]{margin-left:3px;color:var(--muted);font-size:11px;font-style:normal;font-weight:400}.chart-card[data-v-7a128f21]{margin-top:18px;padding-top:4px}.chart-head[data-v-7a128f21]{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;padding:18px 22px 0}.chart-head h2[data-v-7a128f21]{font-size:15px;font-weight:600}.chart-head p[data-v-7a128f21]{margin-top:2px;color:var(--muted);font-size:12px}.filters[data-v-7a128f21]{display:flex;flex-wrap:wrap;gap:4px;justify-content:flex-end}.chip[data-v-7a128f21]{padding:4px 10px;border-radius:999px;color:var(--muted);font-size:12px;transition:background-color .15s ease,color .15s ease}.chip[data-v-7a128f21]:hover{color:var(--ink)}.chip.active[data-v-7a128f21]{background:var(--accent-soft);color:var(--accent);font-weight:500}.history[data-v-7a128f21]{margin-top:32px}.section-head[data-v-7a128f21]{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:12px}.section-head h2[data-v-7a128f21]{font-size:17px;font-weight:600}.section-head .muted[data-v-7a128f21]{font-size:12px}.table[data-v-7a128f21]{overflow:hidden}.thead[data-v-7a128f21],.trow[data-v-7a128f21]{display:grid;grid-template-columns:136px minmax(0,1fr) 64px 88px 88px 56px;align-items:center;gap:12px;padding:12px 22px}.thead[data-v-7a128f21]{border-bottom:1px solid var(--line);color:var(--muted);font-size:11px;letter-spacing:.05em}.trow[data-v-7a128f21]{font-size:13px;transition:background-color .12s ease}.trow+.trow[data-v-7a128f21]{border-top:1px solid var(--line)}.trow[data-v-7a128f21]:hover{background:var(--surface-2)}.date[data-v-7a128f21]{display:flex;align-items:baseline;gap:6px;color:var(--ink-2);font-family:var(--font-mono);font-size:12px}.date i[data-v-7a128f21]{color:var(--muted);font-style:normal;font-size:11px}.name[data-v-7a128f21]{display:flex;align-items:center;gap:8px;min-width:0}.name-text[data-v-7a128f21]{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.num[data-v-7a128f21]{color:var(--ink-2);font-family:var(--font-mono);text-align:right;font-variant-numeric:tabular-nums}.num.strong[data-v-7a128f21]{color:var(--accent);font-weight:600}.num.warn[data-v-7a128f21]{color:var(--danger)}@media (max-width: 960px){.summary[data-v-7a128f21]{grid-template-columns:repeat(2,1fr)}.thead[data-v-7a128f21],.trow[data-v-7a128f21]{grid-template-columns:110px minmax(0,1fr) 56px 80px}.thead span[data-v-7a128f21]:nth-child(3),.trow .num[data-v-7a128f21]:nth-child(3),.thead span[data-v-7a128f21]:nth-child(6),.trow .num[data-v-7a128f21]:nth-child(6){display:none}}@media (max-width: 640px){.chart-head[data-v-7a128f21]{flex-direction:column}.thead[data-v-7a128f21],.trow[data-v-7a128f21]{grid-template-columns:minmax(0,1fr) 64px 70px}.thead span[data-v-7a128f21]:first-child,.trow .date[data-v-7a128f21],.thead span[data-v-7a128f21]:nth-child(5),.trow .num[data-v-7a128f21]:nth-child(5){display:none}}.settings[data-v-d3856ccf]{max-width:940px;padding-top:40px}.group[data-v-d3856ccf]{margin-bottom:30px}.group h2[data-v-d3856ccf]{margin-bottom:10px;color:var(--muted);font-size:12px;font-weight:600;letter-spacing:.12em;text-transform:uppercase}.panel[data-v-d3856ccf]{display:flex;flex-direction:column}.row-item[data-v-d3856ccf]{display:flex;align-items:center;justify-content:space-between;gap:32px;padding:20px 24px}.row-item+.row-item[data-v-d3856ccf]{border-top:1px solid var(--line)}.row-item.column[data-v-d3856ccf]{flex-direction:column;align-items:stretch;gap:14px}.row-label[data-v-d3856ccf]{display:flex;flex-direction:column;gap:3px}.row-label strong[data-v-d3856ccf]{font-size:14px;font-weight:600}.row-label span[data-v-d3856ccf]{color:var(--muted);font-size:12.5px;line-height:1.65}.theme-grid[data-v-d3856ccf]{display:flex;gap:10px}.theme-option[data-v-d3856ccf]{display:flex;flex-direction:column;align-items:flex-start;gap:2px;width:104px;padding:10px;border:1px solid var(--line);border-radius:11px;text-align:left;transition:border-color .15s ease,background-color .15s ease}.theme-option[data-v-d3856ccf]:hover{border-color:var(--line-strong)}.theme-option.active[data-v-d3856ccf]{border-color:var(--accent);background:var(--accent-softer)}.swatch[data-v-d3856ccf]{display:flex;flex-direction:column;justify-content:center;gap:3px;width:100%;height:44px;margin-bottom:8px;padding:8px;border:1px solid var(--line);border-radius:7px}.swatch i[data-v-d3856ccf]{display:block;height:3px;border-radius:2px;background:var(--line-strong)}.swatch i[data-v-d3856ccf]:first-child{width:60%}.swatch i[data-v-d3856ccf]:nth-child(2){width:84%}.swatch i[data-v-d3856ccf]:nth-child(3){width:44%}.swatch.light[data-v-d3856ccf]{background:#fffdf9}.swatch.dark[data-v-d3856ccf]{background:#1b1e22;border-color:#2a2f35}.swatch.dark i[data-v-d3856ccf]{background:#3a4149}.swatch.system[data-v-d3856ccf]{background:linear-gradient(120deg,#fffdf9 50%,#1b1e22 50%)}.theme-name[data-v-d3856ccf]{font-size:12.5px;font-weight:500}.theme-desc[data-v-d3856ccf]{color:var(--muted);font-size:10.5px}.range[data-v-d3856ccf]{width:100%;accent-color:var(--accent)}.font-preview[data-v-d3856ccf]{display:grid;place-items:center;min-height:92px;padding:16px;border:1px dashed var(--line-strong);border-radius:11px;background:var(--surface-2);color:var(--ink-2);letter-spacing:.04em;text-align:center}.option-grid[data-v-d3856ccf]{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.option[data-v-d3856ccf]{display:flex;align-items:flex-start;gap:10px;padding:12px 14px;border:1px solid var(--line);border-radius:11px;text-align:left;transition:border-color .15s ease,background-color .15s ease}.option[data-v-d3856ccf]:hover{border-color:var(--line-strong)}.option.active[data-v-d3856ccf]{border-color:var(--accent);background:var(--accent-softer)}.option-dot[data-v-d3856ccf]{width:14px;height:14px;margin-top:2px;border:1.5px solid var(--line-strong);border-radius:50%;flex-shrink:0}.option.active .option-dot[data-v-d3856ccf]{border-color:var(--accent);border-width:4px}.option-text[data-v-d3856ccf]{display:flex;flex-direction:column;gap:1px}.option-text strong[data-v-d3856ccf]{font-size:13px;font-weight:550}.option-text span[data-v-d3856ccf]{color:var(--muted);font-size:11px;line-height:1.55}.shortcuts[data-v-d3856ccf]{display:flex;flex-direction:column}.shortcuts li[data-v-d3856ccf]{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:12px 24px}.shortcuts li+li[data-v-d3856ccf]{border-top:1px solid var(--line)}.keys[data-v-d3856ccf]{display:flex;gap:5px}kbd[data-v-d3856ccf]{display:inline-block;min-width:26px;padding:2px 7px;border:1px solid var(--line-strong);border-bottom-width:2px;border-radius:6px;background:var(--surface-2);color:var(--ink-2);font-family:var(--font-mono);font-size:11.5px;text-align:center}.shortcut-desc[data-v-d3856ccf]{color:var(--muted);font-size:12.5px}.about[data-v-d3856ccf]{gap:10px;padding:20px 24px}.about p[data-v-d3856ccf]{color:var(--ink-2);font-size:13px;line-height:1.8}.about .muted[data-v-d3856ccf]{color:var(--muted);font-size:12.5px}.version-line[data-v-d3856ccf]{color:var(--muted);font-size:11.5px}.danger[data-v-d3856ccf]{color:var(--danger)}.danger[data-v-d3856ccf]:hover{border-color:var(--danger);background:var(--danger-soft)}.danger-btn[data-v-d3856ccf]{background:var(--danger);color:#fff}.danger-btn[data-v-d3856ccf]:hover{background:color-mix(in srgb,var(--danger) 85%,#000)}.confirm-text[data-v-d3856ccf]{color:var(--ink-2);font-size:13.5px;line-height:1.8}@media (max-width: 860px){.row-item[data-v-d3856ccf]{flex-direction:column;align-items:flex-start;gap:16px}.theme-grid[data-v-d3856ccf]{width:100%}.theme-option[data-v-d3856ccf]{flex:1}.option-grid[data-v-d3856ccf]{grid-template-columns:1fr}}.overlay[data-v-2c30b6b6]{position:fixed;top:0;right:0;bottom:0;left:0;z-index:50;display:grid;place-items:center;padding:24px;overflow:auto;background:color-mix(in srgb,var(--bg) 78%,transparent);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.panel[data-v-2c30b6b6]{width:min(600px,100%);padding:28px 32px 26px;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);animation:pop-2c30b6b6 .28s cubic-bezier(.2,.9,.3,1.2)}@keyframes pop-2c30b6b6{0%{opacity:0;transform:translateY(14px) scale(.98)}}.panel-head[data-v-2c30b6b6]{display:flex;align-items:center;gap:10px}.doc-title[data-v-2c30b6b6]{flex:1;font-size:14px;color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.rating[data-v-2c30b6b6]{padding:2px 10px;border-radius:999px;font-size:12px;font-weight:600;letter-spacing:.04em}.tone-muted[data-v-2c30b6b6]{background:var(--surface-2);color:var(--ink-2)}.tone-accent[data-v-2c30b6b6]{background:var(--accent-soft);color:var(--accent)}.tone-gold[data-v-2c30b6b6]{background:#b7791f1f;color:var(--gold)}.score[data-v-2c30b6b6]{display:flex;flex-direction:column;gap:4px;margin:22px 0 24px}.score-main[data-v-2c30b6b6]{display:flex;align-items:baseline;gap:10px}.score-main b[data-v-2c30b6b6]{font-family:var(--font-mono);font-size:68px;font-weight:600;line-height:1;letter-spacing:-.04em;color:var(--accent)}.score-main span[data-v-2c30b6b6]{font-size:14px;color:var(--muted)}.score-hint[data-v-2c30b6b6]{color:var(--ink-2);font-size:14px}.metrics[data-v-2c30b6b6]{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;overflow:hidden;border:1px solid var(--line);border-radius:12px;background:var(--line)}.metric[data-v-2c30b6b6]{display:flex;flex-direction:column;gap:2px;padding:12px 14px;background:var(--surface)}.metric span[data-v-2c30b6b6]{color:var(--muted);font-size:12px}.metric b[data-v-2c30b6b6]{font-family:var(--font-mono);font-size:19px;font-weight:600}.metric b i[data-v-2c30b6b6]{margin-left:1px;font-style:normal;font-size:12px;color:var(--muted)}.metric b.warn[data-v-2c30b6b6]{color:var(--danger)}.errors[data-v-2c30b6b6]{margin-top:20px;padding:14px 16px;border:1px solid var(--line);border-radius:12px;background:var(--surface-2)}.errors h4[data-v-2c30b6b6]{margin-bottom:8px;font-size:13px;font-weight:600;color:var(--ink-2)}.errors ul[data-v-2c30b6b6]{display:flex;flex-wrap:wrap;gap:8px 18px}.errors li[data-v-2c30b6b6]{display:flex;align-items:center;gap:6px;font-size:14px}.expected[data-v-2c30b6b6]{color:var(--ink);font-weight:600}.arrow[data-v-2c30b6b6]{color:var(--muted)}.got[data-v-2c30b6b6]{color:var(--danger)}.py[data-v-2c30b6b6]{color:var(--muted);font-size:12px}.actions[data-v-2c30b6b6]{display:flex;gap:10px;margin-top:26px}.actions .btn-primary[data-v-2c30b6b6]{flex:1}@media (max-width: 560px){.panel[data-v-2c30b6b6]{padding:22px 20px}.metrics[data-v-2c30b6b6]{grid-template-columns:repeat(2,1fr)}.score-main b[data-v-2c30b6b6]{font-size:56px}}.studio[data-v-ab4eb1c7]{display:flex;flex-direction:column;height:100dvh;overflow:hidden}.topbar[data-v-ab4eb1c7]{display:flex;align-items:center;gap:20px;padding:16px 30px 12px}.back[data-v-ab4eb1c7]{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;margin-left:-6px;border-radius:7px;color:var(--muted);transition:color .15s ease,background-color .15s ease}.back[data-v-ab4eb1c7]:hover{background:var(--surface-2);color:var(--ink)}.doc-info[data-v-ab4eb1c7]{display:flex;align-items:baseline;gap:10px;flex:1;min-width:0}.doc-info h1[data-v-ab4eb1c7]{overflow:hidden;font-size:18px;font-weight:600;letter-spacing:-.01em;text-overflow:ellipsis;white-space:nowrap}.author[data-v-ab4eb1c7]{color:var(--muted);font-size:13px;white-space:nowrap}.stats[data-v-ab4eb1c7]{display:flex;gap:26px}.stat[data-v-ab4eb1c7]{display:flex;flex-direction:column;align-items:flex-end;gap:1px}.stat-label[data-v-ab4eb1c7]{color:var(--muted);font-size:11px;letter-spacing:.08em}.stat-value[data-v-ab4eb1c7]{font-family:var(--font-mono);font-size:17px;font-weight:600;line-height:1.35;font-variant-numeric:tabular-nums}.stat-value em[data-v-ab4eb1c7]{margin-left:2px;color:var(--muted);font-size:11px;font-style:normal;font-weight:400}.progress[data-v-ab4eb1c7]{height:3px;background:var(--line)}.progress span[data-v-ab4eb1c7]{display:block;height:100%;background:var(--accent);border-radius:0 2px 2px 0;transition:width .3s ease}.stage[data-v-ab4eb1c7]{flex:1;overflow-y:auto;padding:24px 32px 10px}.stage.center[data-v-ab4eb1c7]{display:grid;place-items:center;padding-bottom:80px}.loader[data-v-ab4eb1c7]{display:flex;flex-direction:column;align-items:center;gap:14px;color:var(--muted);font-size:13.5px}.spin[data-v-ab4eb1c7]{width:22px;height:22px;border:2px solid var(--line-strong);border-top-color:var(--accent);border-radius:50%;animation:spin-ab4eb1c7 .7s linear infinite}@keyframes spin-ab4eb1c7{to{transform:rotate(360deg)}}.sheet[data-v-ab4eb1c7]{--cell-w: calc(var(--text-size, 24px) * 1.06);max-width:900px;margin:0 auto;padding:26px 40px 32px;background:var(--surface);border:1px solid var(--line);border-radius:22px;box-shadow:var(--shadow-md)}.line-block[data-v-ab4eb1c7]{margin-bottom:14px}.line-block[data-v-ab4eb1c7]:last-child{margin-bottom:0}.line-text[data-v-ab4eb1c7]{display:flex;align-items:flex-end;padding-top:12px;color:var(--muted);font-size:var(--text-size, 24px);line-height:1.7;white-space:nowrap}.cell[data-v-ab4eb1c7]{flex:0 0 var(--cell-w);width:var(--cell-w);display:flex;align-items:flex-end;justify-content:center}.glyph[data-v-ab4eb1c7]{position:relative;display:inline-block;border-radius:5px;color:color-mix(in srgb,var(--ink) 34%,transparent);transition:color .16s ease,background-color .16s ease,box-shadow .16s ease}.glyph.done[data-v-ab4eb1c7]{color:var(--ink)}.glyph.current[data-v-ab4eb1c7]{color:var(--ink);background:var(--accent-soft);box-shadow:inset 0 -2px 0 var(--accent)}.glyph.error[data-v-ab4eb1c7]{color:var(--danger);background:var(--danger-soft);animation:shake-ab4eb1c7 .2s ease}@keyframes shake-ab4eb1c7{0%,to{transform:translate(0)}30%{transform:translate(-3px)}70%{transform:translate(3px)}}.punct[data-v-ab4eb1c7]{color:color-mix(in srgb,var(--ink) 24%,transparent)}.py[data-v-ab4eb1c7]{position:absolute;left:50%;bottom:calc(100% + 2px);transform:translate(-50%);color:var(--accent);font-size:12px;font-family:var(--font-mono);letter-spacing:.02em;white-space:nowrap;pointer-events:none;animation:fade-in-ab4eb1c7 .16s ease}@keyframes fade-in-ab4eb1c7{0%{opacity:0;transform:translate(-50%,3px)}}.line-input[data-v-ab4eb1c7]{position:relative;min-height:calc(var(--text-size, 24px) * 1.62);margin-top:2px;padding-left:6px;border:1px dashed var(--line);border-radius:8px;background:color-mix(in srgb,var(--surface-2) 45%,transparent);transition:border-color .16s ease,background-color .16s ease,box-shadow .16s ease}.line-input.active[data-v-ab4eb1c7]{border-style:solid;border-color:var(--accent);background:var(--surface);box-shadow:0 0 0 3px var(--accent-softer)}.line-input.done[data-v-ab4eb1c7]{border-style:solid;border-color:var(--line);background:var(--surface-2)}.mirror.done-line[data-v-ab4eb1c7]{opacity:.9}.system-input[data-v-ab4eb1c7]{width:100%;min-height:inherit;padding:4px 12px;border:0;background:transparent;color:var(--ink);font-family:var(--font-sans);font-size:calc(var(--text-size, 24px) * .9);line-height:1.5;outline:none}.system-input[data-v-ab4eb1c7]::placeholder{color:var(--muted);font-size:12.5px;font-family:var(--font-sans)}.system-input.invalid[data-v-ab4eb1c7]{color:var(--danger)}.mirror[data-v-ab4eb1c7]{display:flex;width:100%;min-height:inherit;align-items:center;margin-left:-6px}.mirror-cell[data-v-ab4eb1c7]{position:relative;flex:0 0 var(--cell-w);width:var(--cell-w);min-height:inherit;display:flex;align-items:center;justify-content:center}.mirror-char[data-v-ab4eb1c7]{color:var(--ink);font-size:var(--text-size, 24px);line-height:1}.mirror-punct[data-v-ab4eb1c7]{color:transparent;font-size:var(--text-size, 24px)}.mirror-current[data-v-ab4eb1c7]{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:flex-start}.composing[data-v-ab4eb1c7],.wrong-text[data-v-ab4eb1c7]{font-family:var(--font-mono);font-size:calc(var(--text-size, 24px) * .58);letter-spacing:.03em;white-space:nowrap}.composing[data-v-ab4eb1c7]{color:var(--accent)}.wrong-text[data-v-ab4eb1c7]{color:var(--danger)}.caret[data-v-ab4eb1c7]{display:inline-block;width:1px;height:1em;margin-left:1px;background:var(--accent);animation:blink-ab4eb1c7 1s steps(1) infinite}@keyframes blink-ab4eb1c7{50%{opacity:0}}.line-done[data-v-ab4eb1c7]{display:inline-block;padding:8px 12px;color:var(--success);font-size:11.5px;letter-spacing:.04em}.ime-popover[data-v-ab4eb1c7]{position:fixed;z-index:45;display:flex;align-items:center;gap:1px;max-width:calc(100vw - 16px);padding:3px 5px;border:1px solid var(--line-strong);border-radius:6px;background:var(--surface);box-shadow:var(--shadow-md)}.ime-cand[data-v-ab4eb1c7]{display:inline-flex;align-items:center;gap:3px;padding:3px 7px;border-radius:4px;color:var(--ink);font-size:16px;line-height:1.35;white-space:nowrap;transition:background-color .1s ease}.ime-cand[data-v-ab4eb1c7]:hover,.ime-cand.first[data-v-ab4eb1c7]{background:var(--accent-soft)}.ime-num[data-v-ab4eb1c7]{color:var(--muted);font-family:var(--font-mono);font-size:10px}.ime-waiting[data-v-ab4eb1c7]{padding:0 6px;color:var(--muted);font-size:12px;white-space:nowrap}.ime-arrows[data-v-ab4eb1c7]{display:inline-flex;gap:3px;padding:0 5px;color:var(--gold);font-size:10px}.ime-arrows i[data-v-ab4eb1c7]{font-style:normal}.sheet.single[data-v-ab4eb1c7]{--cell-w: calc(var(--text-size, 24px) * 1.22 * 1.55 + 12px)}.sheet.single .line-text[data-v-ab4eb1c7]{padding-top:10px;font-size:calc(var(--text-size, 24px) * 1.22);line-height:1.5}.sheet.single .line-input[data-v-ab4eb1c7]{min-height:calc(var(--text-size, 24px) * 1.22 * 1.55)}.sheet.single .mirror-char[data-v-ab4eb1c7]{font-size:calc(var(--text-size, 24px) * 1.22)}.sheet.single .glyph[data-v-ab4eb1c7]{display:grid;place-items:center;width:1.55em;height:1.55em;padding:0;border-radius:10px;background:var(--surface-2)}.sheet.single .glyph.done[data-v-ab4eb1c7]{background:var(--accent-soft);color:var(--accent)}.sheet.single .glyph.current[data-v-ab4eb1c7]{background:var(--accent);color:var(--accent-ink);box-shadow:none}.sheet.single .glyph.current.error[data-v-ab4eb1c7]{background:var(--danger);color:#fff;box-shadow:none}.sheet.poem[data-v-ab4eb1c7]{--cell-w: calc(var(--text-size, 24px) * 1.16)}.sheet.poem .line-text[data-v-ab4eb1c7]{justify-content:center;font-size:calc(var(--text-size, 24px) * 1.12);line-height:2}.sheet.poem .line-input[data-v-ab4eb1c7]{min-height:calc(var(--text-size, 24px) * 1.12 * 1.7)}.sheet.poem .mirror-char[data-v-ab4eb1c7]{font-size:calc(var(--text-size, 24px) * 1.12)}.keys-hint[data-v-ab4eb1c7]{margin:16px auto 24px;color:var(--muted);font-size:12px;text-align:center;letter-spacing:.04em}.toast[data-v-ab4eb1c7]{position:fixed;top:18px;left:50%;z-index:40;display:flex;align-items:center;gap:8px;padding:9px 14px;border:1px solid var(--line-strong);border-radius:10px;background:var(--surface);box-shadow:var(--shadow-md);color:var(--danger);font-size:13px;transform:translate(-50%)}@media (max-width: 860px){.topbar[data-v-ab4eb1c7]{flex-wrap:wrap;gap:10px;padding:12px 18px 8px}.doc-info[data-v-ab4eb1c7]{order:3;flex-basis:100%}.stats[data-v-ab4eb1c7]{margin-left:auto;gap:16px}.stat-label[data-v-ab4eb1c7]{display:none}.stage[data-v-ab4eb1c7]{padding:14px 12px 6px}.sheet[data-v-ab4eb1c7]{padding:18px 18px 22px;border-radius:16px}.line-input[data-v-ab4eb1c7]{gap:6px;padding:2px 7px}.buffer[data-v-ab4eb1c7]{max-width:90px}}.studio[data-v-cd254cac]{display:flex;flex-direction:column;height:100dvh;overflow:hidden}.topbar[data-v-cd254cac]{display:flex;align-items:center;gap:20px;padding:16px 30px 12px}.back[data-v-cd254cac]{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;margin-left:-6px;border-radius:7px;color:var(--muted);transition:color .15s ease,background-color .15s ease}.back[data-v-cd254cac]:hover{background:var(--surface-2);color:var(--ink)}.doc-info[data-v-cd254cac]{display:flex;align-items:baseline;gap:10px;flex:1;min-width:0}.doc-info h1[data-v-cd254cac]{overflow:hidden;font-size:18px;font-weight:600;text-overflow:ellipsis;white-space:nowrap}.stats[data-v-cd254cac]{display:flex;gap:26px}.stat[data-v-cd254cac]{display:flex;flex-direction:column;align-items:flex-end;gap:1px}.stat-label[data-v-cd254cac]{color:var(--muted);font-size:11px;letter-spacing:.08em}.stat-value[data-v-cd254cac]{font-family:var(--font-mono);font-size:17px;font-weight:600;font-variant-numeric:tabular-nums}.stat-value em[data-v-cd254cac]{margin-left:2px;color:var(--muted);font-size:11px;font-style:normal;font-weight:400}.progress[data-v-cd254cac]{height:3px;background:var(--line)}.progress span[data-v-cd254cac]{display:block;height:100%;background:var(--accent);border-radius:0 2px 2px 0;transition:width .3s ease}.stage[data-v-cd254cac]{flex:1;overflow-y:auto;padding:24px 32px 10px}.stage.center[data-v-cd254cac]{display:grid;place-items:center;padding-bottom:80px}.loader[data-v-cd254cac]{display:flex;flex-direction:column;align-items:center;gap:14px;color:var(--muted);font-size:13.5px}.spin[data-v-cd254cac]{width:22px;height:22px;border:2px solid var(--line-strong);border-top-color:var(--accent);border-radius:50%;animation:spin-cd254cac .7s linear infinite}@keyframes spin-cd254cac{to{transform:rotate(360deg)}}.sheet[data-v-cd254cac]{max-width:940px;margin:0 auto;padding:26px 38px 32px;background:var(--surface);border:1px solid var(--line);border-radius:22px;box-shadow:var(--shadow-md)}.line-block[data-v-cd254cac]{margin-bottom:12px}.en-line-text[data-v-cd254cac]{display:flex;align-items:flex-end;padding-top:20px;color:var(--ink);font-family:var(--font-mono);font-size:var(--text-size, 24px);line-height:1.6;white-space:nowrap}.en-cell[data-v-cd254cac]{position:relative;display:inline-flex;align-items:flex-end;flex:0 0 auto;white-space:nowrap}.en-word[data-v-cd254cac]{font-family:var(--font-mono);color:var(--ink)}.en-gloss[data-v-cd254cac]{position:absolute;left:50%;bottom:calc(100% + 1px);transform:translate(-50%);color:var(--accent);font-family:var(--font-sans);font-size:.62em;font-weight:500;line-height:1.1;white-space:nowrap}.en-punct[data-v-cd254cac]{color:color-mix(in srgb,var(--ink) 35%,transparent)}.line-input[data-v-cd254cac]{min-height:calc(var(--text-size, 24px) * 1.5);margin-top:2px;padding-left:6px;border:1px dashed var(--line);border-radius:8px;background:color-mix(in srgb,var(--surface-2) 45%,transparent);transition:border-color .16s ease,background-color .16s ease,box-shadow .16s ease}.line-input.active[data-v-cd254cac]{border-style:solid;border-color:var(--accent);background:var(--surface);box-shadow:0 0 0 3px var(--accent-softer)}.line-input.done[data-v-cd254cac]{border-style:solid;border-color:var(--line);background:var(--surface-2)}.en-mirror.done-line[data-v-cd254cac]{opacity:.9}.sentence-zh[data-v-cd254cac]{margin:6px 2px 2px 8px;color:var(--accent);font-family:var(--font-sans);font-size:calc(var(--text-size, 24px) * .72);line-height:1.7}.en-mirror[data-v-cd254cac]{display:flex;align-items:center;min-height:inherit;margin-left:-9px;padding:0;font-size:var(--text-size, 24px)}.en-typed[data-v-cd254cac]{font-family:var(--font-mono);font-size:calc(var(--text-size, 24px) * .72);color:var(--ink)}.en-typed.wrong[data-v-cd254cac]{color:var(--danger);background:var(--danger-soft);border-radius:3px}.en-caret[data-v-cd254cac]{display:inline-block;width:1px;height:1.1em;margin-left:1px;background:var(--accent);animation:blink-cd254cac 1s steps(1) infinite}@keyframes blink-cd254cac{50%{opacity:0}}.en-punct.mirror[data-v-cd254cac]{color:color-mix(in srgb,var(--ink) 22%,transparent);font-size:.8em}.line-done[data-v-cd254cac]{display:inline-block;padding:7px 10px;color:var(--success);font-size:11.5px}.keys-hint[data-v-cd254cac]{margin:16px auto 24px;color:var(--muted);font-size:12px;text-align:center}.toast[data-v-cd254cac]{position:fixed;top:18px;left:50%;z-index:40;display:flex;align-items:center;gap:8px;padding:9px 14px;border:1px solid var(--line-strong);border-radius:10px;background:var(--surface);box-shadow:var(--shadow-md);color:var(--danger);font-size:13px;transform:translate(-50%)}@media (max-width: 860px){.topbar[data-v-cd254cac]{flex-wrap:wrap;gap:10px;padding:12px 16px 8px}.doc-info[data-v-cd254cac]{order:3;flex-basis:100%}.stats[data-v-cd254cac]{margin-left:auto;gap:14px}.stat-label[data-v-cd254cac]{display:none}.stage[data-v-cd254cac]{padding:14px 10px 6px}.sheet[data-v-cd254cac]{padding:18px 16px 22px;border-radius:16px}}:root{--font-sans: "PingFang SC", "HarmonyOS Sans SC", "Microsoft YaHei UI", "Microsoft YaHei", system-ui, -apple-system, "Segoe UI", sans-serif;--font-mono: "Cascadia Code", "JetBrains Mono", "SF Mono", Consolas, "Liberation Mono", monospace;--bg: #f6f3ec;--bg-glow: radial-gradient(1100px 540px at 8% -12%, rgba(15, 118, 110, .07), transparent 62%), radial-gradient(900px 500px at 100% 0%, rgba(183, 121, 31, .05), transparent 55%);--surface: #fffdf9;--surface-2: #f1ede4;--surface-3: #e9e4d8;--ink: #22252a;--ink-2: #4c5158;--muted: #8a8f97;--line: #e7e1d4;--line-strong: #d7cfbe;--accent: #0f766e;--accent-strong: #0b5f58;--accent-soft: rgba(15, 118, 110, .09);--accent-softer: rgba(15, 118, 110, .05);--accent-ink: #ffffff;--danger: #c2413a;--danger-soft: rgba(194, 65, 58, .1);--success: #2f7d4f;--gold: #b7791f;--shadow-sm: 0 1px 2px rgba(40, 33, 20, .05);--shadow-md: 0 2px 6px rgba(40, 33, 20, .05), 0 18px 40px -18px rgba(40, 33, 20, .18);--shadow-lg: 0 30px 70px -28px rgba(40, 33, 20, .28);--radius-sm: 8px;--radius: 14px;--radius-lg: 20px;color-scheme:light}[data-theme=dark]{--bg: #131518;--bg-glow: radial-gradient(1100px 540px at 8% -12%, rgba(79, 209, 197, .06), transparent 62%), radial-gradient(900px 500px at 100% 0%, rgba(217, 164, 65, .04), transparent 55%);--surface: #1b1e22;--surface-2: #23272c;--surface-3: #2b3036;--ink: #e9e7e1;--ink-2: #c2c5c9;--muted: #8b9199;--line: #2a2f35;--line-strong: #3a4149;--accent: #4fd1c5;--accent-strong: #7ee0d6;--accent-soft: rgba(79, 209, 197, .12);--accent-softer: rgba(79, 209, 197, .06);--accent-ink: #062724;--danger: #f08a80;--danger-soft: rgba(240, 138, 128, .12);--success: #74c795;--gold: #d9a441;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .3);--shadow-md: 0 2px 6px rgba(0, 0, 0, .25), 0 18px 40px -18px rgba(0, 0, 0, .55);--shadow-lg: 0 30px 70px -28px rgba(0, 0, 0, .65);color-scheme:dark}*,*:before,*:after{box-sizing:border-box}html,body,#app{height:100%}html{scrollbar-color:var(--line-strong) transparent}body{margin:0;font-family:var(--font-sans);font-size:15px;line-height:1.6;color:var(--ink);background-color:var(--bg);background-image:var(--bg-glow);background-attachment:fixed;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}button,input,textarea,select{font:inherit;color:inherit}button{cursor:pointer;background:none;border:0;padding:0}a{color:inherit;text-decoration:none}h1,h2,h3,h4,p,figure{margin:0}ul,ol{margin:0;padding:0;list-style:none}::selection{background:var(--accent-soft)}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--line-strong);border:3px solid transparent;background-clip:content-box;border-radius:999px}.page{width:100%;max-width:1140px;margin:0 auto;padding:44px 48px 80px}.page-header{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin-bottom:28px}.page-title{font-size:28px;font-weight:650;letter-spacing:-.02em;line-height:1.25}.page-sub{margin-top:8px;color:var(--muted);font-size:14px}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-sm)}.row{display:flex;align-items:center;gap:10px}.stack{display:flex;flex-direction:column;gap:12px}.muted{color:var(--muted)}.mono{font-family:var(--font-mono);font-variant-numeric:tabular-nums}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:9px 16px;border:1px solid transparent;border-radius:10px;font-size:14px;font-weight:500;line-height:1.4;white-space:nowrap;cursor:pointer;transition:background-color .16s ease,border-color .16s ease,color .16s ease,transform .16s ease,box-shadow .16s ease}.btn:active{transform:translateY(1px)}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background:var(--accent);color:var(--accent-ink);box-shadow:0 6px 16px -8px var(--accent)}.btn-primary:hover{background:var(--accent-strong)}.btn-soft{background:var(--accent-soft);color:var(--accent)}.btn-soft:hover{background:color-mix(in srgb,var(--accent) 16%,transparent)}.btn-ghost{border-color:var(--line);color:var(--ink-2)}.btn-ghost:hover{background:var(--surface-2);border-color:var(--line-strong)}.btn-sm{padding:6px 11px;border-radius:8px;font-size:13px}.btn-icon{width:36px;height:36px;padding:0;border-radius:9px}.tag{display:inline-flex;align-items:center;gap:4px;padding:2px 8px;border-radius:999px;background:var(--surface-2);color:var(--ink-2);font-size:12px;line-height:1.7}.tag-accent{background:var(--accent-soft);color:var(--accent)}.input{width:100%;padding:10px 12px;border:1px solid var(--line);border-radius:10px;background:var(--surface);font-size:14px;outline:none;transition:border-color .15s ease,box-shadow .15s ease}.input:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-softer)}.label{display:block;margin-bottom:6px;color:var(--ink-2);font-size:13px;font-weight:500}.empty{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;padding:64px 24px;color:var(--muted);text-align:center}.empty strong{color:var(--ink-2);font-weight:600}.fade-enter-active,.fade-leave-active{transition:opacity .18s ease}.fade-enter-from,.fade-leave-to{opacity:0}.slide-enter-active,.slide-leave-active{transition:opacity .22s ease,transform .22s ease}.slide-enter-from,.slide-leave-to{opacity:0;transform:translateY(10px) scale(.985)}@media (max-width: 860px){.page{padding:28px 20px 56px}.page-header{flex-direction:column;align-items:flex-start}.page-title{font-size:24px}}
