.pattern-selector[data-v-22b7f681]{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:14px;position:relative;z-index:10}.search-wrapper[data-v-22b7f681]{position:relative;display:flex;align-items:center}.search-input[data-v-22b7f681]{width:280px;padding:7px 30px 7px 12px;font-size:14px;font-family:inherit;border:1px solid var(--border);border-radius:6px;background:var(--paper-card);color:var(--ink);outline:none;cursor:pointer;transition:border-color .15s}.search-input[data-v-22b7f681]:focus{border-color:var(--accent)}.search-input[data-v-22b7f681]::placeholder{color:var(--ink-muted)}.search-icon[data-v-22b7f681]{position:absolute;right:10px;font-size:14px;color:var(--ink-muted);pointer-events:none}.current-badge[data-v-22b7f681]{display:flex;gap:6px;align-items:center}.badge-type[data-v-22b7f681]{font-size:11px;color:var(--accent);background:var(--accent-soft);padding:2px 8px;border-radius:8px;font-weight:600}.badge-count[data-v-22b7f681]{font-size:11px;color:var(--ink-muted)}.dropdown[data-v-22b7f681]{position:absolute;top:100%;left:0;width:400px;max-width:calc(100vw - 40px);max-height:340px;overflow-y:auto;background:var(--paper-card);border:1px solid var(--border);border-radius:6px;box-shadow:0 8px 30px #00000014;z-index:20;margin-top:4px}.dropdown-empty[data-v-22b7f681]{padding:24px;text-align:center;color:var(--ink-muted);font-size:13px}.dropdown-item[data-v-22b7f681]{display:flex;align-items:center;gap:8px;padding:9px 16px;cursor:pointer;font-size:14px;transition:background .06s}.dropdown-item[data-v-22b7f681]:hover,.dropdown-item.hl[data-v-22b7f681]{background:var(--paper-warm)}.dropdown-item.active[data-v-22b7f681]{background:var(--accent-soft);color:var(--accent);font-weight:600}.item-name[data-v-22b7f681]{flex:1}.item-tag[data-v-22b7f681]{font-size:10px;color:var(--accent);background:var(--accent-soft);padding:1px 7px;border-radius:8px}.item-count[data-v-22b7f681]{font-size:11px;color:var(--ink-muted)}.dropdown-mask[data-v-22b7f681]{position:fixed;top:0;right:0;bottom:0;left:0;z-index:15}.editor-gutter[data-v-3ba63cce]{width:44px;min-width:44px;background:var(--paper-warm);border-right:1px solid var(--border-light);padding:10px 0;-webkit-user-select:none;user-select:none;overflow:hidden}.gutter-line[data-v-3ba63cce]{display:flex;align-items:center;justify-content:center;height:44px;position:relative;transition:background .12s;cursor:pointer}.gutter-num[data-v-3ba63cce]{font-size:11px;color:var(--ink-muted);font-family:SF Mono,Consolas,Courier New,monospace;pointer-events:none;transition:color .15s}.gutter-active[data-v-3ba63cce]{background:var(--accent-soft)}.gutter-active .gutter-num[data-v-3ba63cce]{color:var(--accent);font-weight:700}.bp-dot[data-v-3ba63cce]{position:absolute;left:6px;top:50%;transform:translateY(-50%);width:10px;height:10px;border-radius:50%;background:var(--danger);box-shadow:0 0 0 2px #c04a3a40}.has-breakpoint .gutter-num[data-v-3ba63cce]{color:transparent}.gutter-error[data-v-3ba63cce]{background:#c04a3a0d}.err-dot[data-v-3ba63cce]{position:absolute;right:4px;top:50%;transform:translateY(-50%);width:5px;height:5px;border-radius:50%;background:var(--danger)}.highlight-layer[data-v-1f880248]{position:absolute;top:0;left:0;right:0;bottom:0;padding:10px 14px;pointer-events:none;white-space:pre-wrap;word-break:break-all;line-height:2.2;font-size:20px;font-family:inherit;overflow:hidden;color:var(--ink)}.hl-line[data-v-1f880248]{min-height:44px}.hl-char[data-v-1f880248]{pointer-events:auto;cursor:default;position:relative;color:var(--ink)}.hl-newline[data-v-1f880248]{pointer-events:none}.t-ping[data-v-1f880248]{color:var(--ping-text);background:var(--ping-bg);border-radius:2px}.t-ze[data-v-1f880248]{color:var(--ze-text)}.t-rhyme[data-v-1f880248]{box-shadow:0 0 0 2px var(--rhyme-border)}.t-rhyme-err[data-v-1f880248]{color:var(--ink);background:#fef8ee;box-shadow:0 0 0 2px var(--warning)}.t-err[data-v-1f880248]{color:var(--error-text);text-decoration:underline wavy var(--error-underline);text-underline-offset:5px}.t-multi[data-v-1f880248]{color:var(--multi-text);background:var(--multi-bg);border-radius:2px;border:1px dashed var(--multi-border);cursor:pointer}.t-multi[data-v-1f880248]:hover{background:#e8e0f0}.t-unk[data-v-1f880248]{color:var(--ink-muted);font-style:italic}.t-skip[data-v-1f880248]{color:var(--ink-muted)}.cursor[data-v-1f880248]{outline:1px dashed var(--accent);outline-offset:-1px}.editor-textarea[data-v-b95bbbf6]{position:absolute;top:0;left:0;right:0;bottom:0;width:100%;height:100%;padding:10px 14px;font-family:inherit;font-size:20px;line-height:2.2;color:transparent;caret-color:var(--accent);background:transparent;border:none;outline:none;resize:none;white-space:pre-wrap;word-break:break-all;overflow:auto;z-index:2}.editor-textarea[data-v-b95bbbf6]::placeholder{color:#c4b8a8}.editor-tooltip[data-v-886e9e71]{position:fixed;z-index:9999;pointer-events:none;background:var(--ink);color:#f0ebe0;border-radius:6px;padding:10px 14px;font-size:13px;max-width:260px;box-shadow:0 6px 20px #0000002e;line-height:1.7;font-family:"Noto Serif SC",SimSun,serif}.et-header[data-v-886e9e71]{display:flex;align-items:center;gap:8px;margin-bottom:6px}.et-char-big[data-v-886e9e71]{font-size:26px;font-weight:700;color:#fff}.et-badge[data-v-886e9e71]{font-size:10px;padding:2px 8px;border-radius:8px;font-weight:600}.et-badge-err[data-v-886e9e71]{background:var(--danger);color:#fff}.et-badge-warn[data-v-886e9e71]{background:var(--warning);color:#fff}.et-badge-multi[data-v-886e9e71]{background:var(--multi-text);color:#fff}.et-body[data-v-886e9e71]{font-size:12px;color:#c4b8a8}.et-body strong[data-v-886e9e71]{color:#fff}.et-divider[data-v-886e9e71]{height:1px;background:#ffffff1f;margin:8px 0}.et-sub-title[data-v-886e9e71]{font-size:11px;color:#8b7e6a;margin-bottom:4px}.et-candidate[data-v-886e9e71]{display:flex;align-items:center;gap:8px;padding:2px 0;font-size:12px}.etc-reading[data-v-886e9e71]{font-weight:600;color:#fff;min-width:48px}.etc-tone[data-v-886e9e71]{font-size:10px;padding:1px 6px;border-radius:6px;font-weight:600}.etc-ping[data-v-886e9e71]{background:var(--ping-text);color:#fff}.etc-ze[data-v-886e9e71]{background:#666;color:#fff}.etc-meaning[data-v-886e9e71]{color:#a09080;font-size:11px}.editor-statusbar[data-v-f21e1996]{display:flex;align-items:center;justify-content:space-between;padding:7px 16px;background:var(--paper-warm);border-bottom:1px solid var(--border-light);font-size:12px;flex-wrap:wrap;gap:4px 10px;-webkit-user-select:none;user-select:none}.es-left[data-v-f21e1996],.es-right[data-v-f21e1996]{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.es-item[data-v-f21e1996]{display:inline-flex;align-items:center;gap:6px}.es-name[data-v-f21e1996]{color:var(--ink);font-weight:600}.es-type[data-v-f21e1996]{font-size:10px;color:var(--accent);background:var(--accent-soft);padding:1px 7px;border-radius:8px}.es-stat[data-v-f21e1996]{color:var(--ink-muted);font-variant-numeric:tabular-nums}.es-ok[data-v-f21e1996]{color:var(--success)}.es-err[data-v-f21e1996]{color:var(--danger)}.es-multi[data-v-f21e1996]{color:var(--multi-text)}.es-analyzing[data-v-f21e1996]{color:var(--accent);animation:pulse-f21e1996 .8s ease-in-out infinite}@keyframes pulse-f21e1996{0%,to{opacity:1}50%{opacity:.3}}.poetry-ide[data-v-580d1a3a]{background:var(--paper-card);border:1px solid var(--border);border-radius:6px;overflow:hidden;display:flex;flex-direction:column}.ide-disabled[data-v-580d1a3a]{opacity:.6;pointer-events:none}.ide-editor-area[data-v-580d1a3a]{display:flex;position:relative;min-height:220px;font-family:"Noto Serif SC",SimSun,"FangSong",serif;font-size:20px;line-height:2.2}.ide-code-area[data-v-580d1a3a]{flex:1;position:relative;overflow:hidden}.rhyme-hint[data-v-9c80fd3f]{background:var(--paper-card);border:1px solid var(--border-light);border-radius:6px;padding:14px 16px}.rhyme-head[data-v-9c80fd3f]{display:flex;align-items:center;gap:8px}.rhyme-dot[data-v-9c80fd3f]{width:8px;height:8px;border-radius:50%;background:var(--ink-muted);flex-shrink:0}.rhyme-dot.valid[data-v-9c80fd3f]{background:var(--success)}.rhyme-dot.invalid[data-v-9c80fd3f]{background:var(--warning)}.rhyme-group[data-v-9c80fd3f]{font-weight:700;font-size:15px;color:var(--ink)}.rhyme-none[data-v-9c80fd3f]{color:var(--ink-muted);font-size:13px}.rhyme-book-tag[data-v-9c80fd3f]{font-size:10px;color:var(--ink-muted);background:var(--paper-warm);padding:1px 7px;border-radius:8px}.rhyme-errors[data-v-9c80fd3f]{margin-top:10px}.rhyme-err-item[data-v-9c80fd3f]{font-size:12px;color:var(--warning);padding:3px 0}.rhyme-ref[data-v-9c80fd3f]{margin-top:12px;padding-top:10px;border-top:1px solid var(--border-light)}.rhyme-ref-label[data-v-9c80fd3f]{font-size:11px;color:var(--ink-muted);margin-right:6px}.rhyme-ref-chars[data-v-9c80fd3f]{font-size:13px;color:var(--ink-light);line-height:2}.error-panel[data-v-827bc517]{background:var(--paper-card);border:1px solid var(--border-light);border-radius:6px;overflow:hidden}.ep-empty[data-v-827bc517]{padding:14px 16px;text-align:center;color:var(--success);font-size:14px}.ep-check[data-v-827bc517]{font-size:16px;font-weight:700}.ep-header[data-v-827bc517]{display:flex;align-items:center;justify-content:space-between;padding:10px 16px;cursor:pointer;-webkit-user-select:none;user-select:none;transition:background .1s}.ep-header[data-v-827bc517]:hover{background:var(--paper-warm)}.ep-title[data-v-827bc517]{font-weight:600;font-size:13px;color:var(--danger)}.ep-toggle[data-v-827bc517]{font-size:11px;color:var(--ink-muted)}.ep-list[data-v-827bc517]{max-height:260px;overflow-y:auto;border-top:1px solid var(--border-light)}.ep-item[data-v-827bc517]{display:flex;align-items:baseline;gap:8px;padding:7px 16px;font-size:12px;cursor:pointer;transition:background .08s;border-left:2px solid transparent}.ep-item[data-v-827bc517]:hover{background:var(--paper-warm)}.ep-tone[data-v-827bc517]{border-left-color:var(--danger)}.ep-rhyme[data-v-827bc517]{border-left-color:var(--warning)}.ep-multi[data-v-827bc517]{border-left-color:var(--multi-text)}.ep-unknown[data-v-827bc517]{border-left-color:var(--ink-muted)}.ep-loc[data-v-827bc517]{color:var(--ink-muted);font-size:11px;white-space:nowrap;min-width:64px}.ep-char[data-v-827bc517]{color:var(--ink);font-weight:600;white-space:nowrap}.ep-msg[data-v-827bc517]{color:var(--ink-light);flex:1}:root{--ink: #1a1c1d;--ink-light: #5c6063;--ink-muted: #94989b;--paper: #f5f4f0;--paper-card: #ffffff;--paper-warm: #eef0ec;--border: #e4e3de;--border-light: #eeede8;--accent: #3d5a80;--accent-soft: rgba(61, 90, 128, .08);--ping-bg: #edf1f5;--ping-text: #3d5a80;--ze-text: #5c5c5c;--rhyme-border: #b8954a;--error-bg: #fdf0ee;--error-text: #c04a3a;--error-underline: #c04a3a;--multi-bg: #f3eef8;--multi-text: #7c6b8e;--multi-border: #bfafd0;--success: #5b8c7e;--warning: #b8954a;--danger: #c04a3a}body{margin:0;background:var(--paper);color:var(--ink);font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,PingFang SC,Microsoft YaHei,sans-serif;-webkit-font-smoothing:antialiased}#app[data-v-af0b84a5]{max-width:940px;margin:0 auto;padding:32px 24px 80px}.app-header[data-v-af0b84a5]{display:flex;align-items:flex-end;justify-content:space-between;flex-wrap:wrap;gap:16px;margin-bottom:28px;padding-bottom:20px;border-bottom:1px solid var(--border)}.header-left[data-v-af0b84a5]{display:flex;align-items:baseline;gap:14px;flex-wrap:wrap}.app-title[data-v-af0b84a5]{font-size:24px;font-weight:500;color:var(--ink);margin:0;letter-spacing:.06em;font-family:"Noto Serif SC","Source Han Serif SC",SimSun,serif}.app-subtitle[data-v-af0b84a5]{font-size:13px;color:var(--ink-muted);letter-spacing:.03em}.header-right[data-v-af0b84a5]{display:flex;align-items:center;gap:4px}.rhyme-label[data-v-af0b84a5]{font-size:12px;color:var(--ink-muted);margin-right:4px}.rhyme-btn[data-v-af0b84a5]{font-size:12px;padding:4px 12px;border:1px solid var(--border);border-radius:14px;background:transparent;color:var(--ink-light);cursor:pointer;transition:all .15s}.rhyme-btn[data-v-af0b84a5]:hover{border-color:var(--accent);color:var(--accent)}.rhyme-btn.active[data-v-af0b84a5]{background:var(--accent);color:#fff;border-color:var(--accent)}.app-bottom[data-v-af0b84a5]{margin-top:16px;display:grid;grid-template-columns:1fr 1fr;gap:16px}@media(max-width:640px){#app[data-v-af0b84a5]{padding:20px 14px 60px}.app-title[data-v-af0b84a5]{font-size:20px}.app-bottom[data-v-af0b84a5]{grid-template-columns:1fr}}
