.search-container[data-v-b3d3d537]{position:relative;z-index:50}.search-backdrop[data-v-b3d3d537]{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000040;z-index:49}.search-box[data-v-b3d3d537]{position:relative;z-index:51;background:var(--card-bg);border:1px solid var(--border);border-radius:var(--radius);transition:border-color .15s ease,box-shadow .15s ease}.search-box[data-v-b3d3d537]:hover{border-color:var(--border-hover)}.search-box-active[data-v-b3d3d537]{border-color:var(--secondary);box-shadow:0 4px 24px #0000001f}.search-input-wrapper[data-v-b3d3d537]{position:relative;display:flex;align-items:center}.search-icon[data-v-b3d3d537]{position:absolute;left:12px;color:var(--text-muted);pointer-events:none;flex-shrink:0}.search-input-wrapper input[data-v-b3d3d537]{flex:1;padding:8px 40px;border:none;border-radius:var(--radius);background:transparent;font-size:1rem;height:36px;box-sizing:border-box}.search-input-wrapper input[data-v-b3d3d537]:focus{outline:none}.search-input-wrapper input[data-v-b3d3d537]::placeholder{color:var(--text-muted)}.search-icon-btn[data-v-b3d3d537]{position:absolute;right:8px;display:flex;align-items:center;justify-content:center;width:32px;height:32px;padding:0;border:none;background:transparent;color:var(--text-muted);cursor:pointer;border-radius:var(--radius);transition:color .15s ease}.search-icon-btn[data-v-b3d3d537]:hover{color:var(--text)}.search-results[data-v-b3d3d537]{position:absolute;top:100%;left:0;right:0;background:var(--card-bg);border:1px solid var(--secondary);border-top:1px solid var(--border);border-radius:0 0 var(--radius) var(--radius);max-height:60vh;overflow-y:auto;box-shadow:0 4px 24px #0000001f}.dict-results[data-v-b3d3d537]{margin:0}.dict-entry[data-v-b3d3d537]{cursor:pointer;transition:background-color .1s ease}.dict-entry[data-v-b3d3d537]:hover{background:var(--bg)}.dict-entry-focused[data-v-b3d3d537]{background:var(--secondary);color:var(--on-primary)}.dict-entry-focused .dict-entry-trad[data-v-b3d3d537],.dict-entry-focused .dict-entry-pinyin[data-v-b3d3d537],.dict-entry-focused .dict-entry-def[data-v-b3d3d537]{color:#ffffffe6}.dict-entry-head[data-v-b3d3d537]{display:flex;gap:var(--spacing-sm);align-items:baseline;flex-wrap:wrap}.dict-entry-char[data-v-b3d3d537]{font-size:1.4rem;font-weight:500}.dict-entry-trad[data-v-b3d3d537]{color:var(--text-muted);font-size:.9rem}.dict-entry-pinyin[data-v-b3d3d537]{color:var(--secondary);font-size:.95rem}.dict-entry-def[data-v-b3d3d537]{color:var(--text-muted);font-size:.875rem;margin-top:4px;line-height:1.4}.search-empty-state[data-v-b3d3d537]{padding:24px 16px;text-align:center;color:var(--text-muted)}.search-empty-state p[data-v-b3d3d537]{margin:0}.search-empty-actions[data-v-b3d3d537]{display:flex;gap:4px;justify-content:center;margin-top:8px}.search-hint-btn[data-v-b3d3d537]{font-size:.85rem;color:var(--secondary);background:none;border:none;cursor:pointer;padding:8px 16px;border-radius:var(--radius);transition:background-color .15s ease}.search-hint-btn[data-v-b3d3d537]:hover{background:var(--bg)}@media (max-width: 600px){.search-results[data-v-b3d3d537]{max-height:50vh}.dict-entry-char[data-v-b3d3d537]{font-size:1.3rem}}.image-gallery[data-v-796bcb2b]{border-top:1px solid var(--border);background:var(--bg)}.gallery-header[data-v-796bcb2b]{display:flex;align-items:center;justify-content:space-between;width:100%;padding:12px 20px;border:none;background:transparent;cursor:pointer;color:var(--text-muted);font-size:.875rem;transition:color .15s ease}.gallery-header[data-v-796bcb2b]:hover{color:var(--text)}.gallery-title[data-v-796bcb2b]{display:flex;align-items:center;gap:4px}.image-count[data-v-796bcb2b]{color:var(--secondary)}.chevron-icon[data-v-796bcb2b]{width:16px;height:16px;transition:transform .2s ease}.chevron-icon.rotated[data-v-796bcb2b]{transform:rotate(180deg)}.gallery-content[data-v-796bcb2b]{padding:0 20px 16px}.image-grid[data-v-796bcb2b]{display:grid;grid-template-columns:repeat(auto-fill,minmax(80px,1fr));gap:8px;margin-bottom:16px}.image-item[data-v-796bcb2b]{position:relative;aspect-ratio:1;border-radius:var(--radius);overflow:hidden;background:var(--card-bg);border:1px solid var(--border)}.image-item.in-use[data-v-796bcb2b]{border-color:var(--secondary)}.image-thumb[data-v-796bcb2b]{width:100%;height:100%;object-fit:cover;cursor:pointer}.image-overlay[data-v-796bcb2b]{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;justify-content:space-between;padding:4px;background:linear-gradient(to bottom,rgba(0,0,0,.4) 0%,transparent 40%,transparent 60%,rgba(0,0,0,.4) 100%);opacity:0;transition:opacity .15s ease}.image-item:hover .image-overlay[data-v-796bcb2b]{opacity:1}.image-index[data-v-796bcb2b]{font-size:.7rem;color:var(--on-primary);text-shadow:0 1px 2px rgba(0,0,0,.5)}.image-actions[data-v-796bcb2b]{display:flex;justify-content:flex-end;gap:4px}.icon-btn[data-v-796bcb2b]{display:flex;align-items:center;justify-content:center;width:24px;height:24px;border:none;border-radius:4px;background:#ffffffe6;cursor:pointer;transition:background .15s ease}.icon-btn svg[data-v-796bcb2b]{width:14px;height:14px;color:var(--text)}.icon-btn[data-v-796bcb2b]:hover{background:var(--card-bg)}.icon-btn.danger[data-v-796bcb2b]:hover{background:var(--danger)}.icon-btn.danger:hover svg[data-v-796bcb2b]{color:var(--on-primary)}.add-btn[data-v-796bcb2b]{display:flex;align-items:center;justify-content:center;background:var(--card-bg);border:2px dashed var(--border);cursor:pointer;transition:border-color .15s ease,background .15s ease}.add-btn[data-v-796bcb2b]:hover{border-color:var(--secondary);background:var(--bg)}.add-btn svg[data-v-796bcb2b]{width:24px;height:24px;color:var(--text-muted)}.add-btn:hover svg[data-v-796bcb2b]{color:var(--secondary)}.empty-state[data-v-796bcb2b]{text-align:center;padding:16px 0;color:var(--text-muted)}.generate-section[data-v-796bcb2b]{padding-top:12px;border-top:1px solid var(--border)}.generate-header[data-v-796bcb2b]{font-size:.8rem;color:var(--text-muted);margin-bottom:8px}.prompt-row[data-v-796bcb2b]{display:flex;gap:8px;margin-bottom:8px}.prompt-input[data-v-796bcb2b]{flex:1;padding:8px 12px;border:1px solid var(--border);border-radius:var(--radius);background:var(--card-bg);color:var(--text);font-size:.875rem}.prompt-input[data-v-796bcb2b]:focus{outline:none;border-color:var(--secondary)}.prompt-input[data-v-796bcb2b]::placeholder{color:var(--text-muted)}.reference-section[data-v-796bcb2b]{margin-bottom:8px}.reference-header[data-v-796bcb2b]{font-size:.75rem;color:var(--text-muted);margin-bottom:6px}.reference-list[data-v-796bcb2b]{display:flex;flex-wrap:wrap;gap:8px}.reference-item[data-v-796bcb2b]{display:flex;align-items:center;gap:6px;padding:4px 8px;background:var(--card-bg);border:1px solid var(--border);border-radius:var(--radius);cursor:pointer;font-size:.75rem;color:var(--text-muted)}.reference-item[data-v-796bcb2b]:hover{border-color:var(--secondary)}.reference-item input[data-v-796bcb2b]{margin:0}.reference-thumb[data-v-796bcb2b]{width:24px;height:24px;border-radius:4px;object-fit:cover}.reference-label[data-v-796bcb2b]{white-space:nowrap}.model-info[data-v-796bcb2b]{font-size:.75rem;color:var(--text-muted)}.no-key-hint[data-v-796bcb2b]{font-style:italic}.generate-error[data-v-796bcb2b]{margin-top:8px;padding:8px;background:#dc35451a;border:1px solid var(--danger);border-radius:var(--radius);color:var(--danger);font-size:.8rem}.modal-overlay[data-v-796bcb2b]{position:fixed;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;background:#0009;z-index:1000}.modal-content[data-v-796bcb2b]{background:var(--card-bg);border-radius:var(--radius);padding:20px;max-width:300px;text-align:center}.modal-content p[data-v-796bcb2b]{margin:0 0 16px;color:var(--text)}.modal-actions[data-v-796bcb2b]{display:flex;justify-content:center;gap:8px}.preview-modal[data-v-796bcb2b]{position:relative;max-width:90vw;max-height:90vh}.preview-modal img[data-v-796bcb2b]{max-width:100%;max-height:90vh;border-radius:var(--radius)}.close-btn[data-v-796bcb2b]{position:absolute;top:-40px;right:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border:none;background:#ffffffe6;border-radius:50%;cursor:pointer}.close-btn svg[data-v-796bcb2b]{width:18px;height:18px;color:var(--text)}.close-btn[data-v-796bcb2b]:hover{background:var(--card-bg)}.btn-danger[data-v-796bcb2b]{background:var(--danger);color:var(--on-primary);border-color:var(--danger)}.btn-danger[data-v-796bcb2b]:hover{background:#c82333}.learning-resources[data-v-8fcf3637]{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:12px;padding:8px 0;font-size:.85rem}.resources-label[data-v-8fcf3637]{color:var(--text-muted)}.resource-link[data-v-8fcf3637]{display:inline-flex;align-items:center;gap:4px;padding:4px 10px;border-radius:var(--radius);background:var(--bg);color:var(--text);text-decoration:none;transition:background-color .15s ease,color .15s ease}.resource-link[data-v-8fcf3637]:hover{background:var(--secondary);color:var(--on-primary)}.resource-icon[data-v-8fcf3637]{width:14px;height:14px}.facet-chip-bar[data-v-33e66ee8]{display:flex;gap:4px;align-items:center}.chip-separator[data-v-33e66ee8]{width:1px;height:16px;background:var(--border);margin-right:4px}.chip-label[data-v-33e66ee8]{font-size:.7rem;color:var(--text-muted);opacity:.6;margin-right:2px;white-space:nowrap}.facet-chip[data-v-33e66ee8]{padding:2px 8px;font-size:.7rem;border-radius:10px;border:1px solid var(--border);background:transparent;color:var(--text-muted);cursor:pointer;transition:all .15s ease;text-transform:lowercase;font-weight:500;letter-spacing:.3px;white-space:nowrap}.facet-chip[data-v-33e66ee8]:hover,.facet-chip.active[data-v-33e66ee8]{border-color:var(--secondary);color:var(--secondary)}.facet-chip.selected[data-v-33e66ee8]{box-shadow:0 0 0 2px var(--card-bg),0 0 0 4px var(--secondary)}.facet-chip.dimmed[data-v-33e66ee8]{opacity:.55;border-style:dashed}.facet-chip.dimmed[data-v-33e66ee8]:hover{opacity:.8}.facet-chip.lost[data-v-33e66ee8]{background:#dc35451a;border-color:var(--danger, #dc3545);color:var(--danger, #dc3545);text-decoration:line-through}.facet-chip.is-new[data-v-33e66ee8]{background:#28a7451a;border-color:var(--success, #28a745);color:var(--success, #28a745)}.dropdown-only[data-v-33e66ee8]{display:none}.chip-dropdown-wrap[data-v-33e66ee8]{position:relative}.chip-dropdown-toggle[data-v-33e66ee8]{display:flex;align-items:center;gap:4px;padding:4px 10px;border:1px solid var(--border);border-radius:var(--radius);background:var(--card-bg);color:var(--text-muted);font-size:.75rem;cursor:pointer;white-space:nowrap;transition:border-color .15s ease,color .15s ease}.chip-dropdown-toggle[data-v-33e66ee8]:hover{border-color:var(--secondary);color:var(--secondary)}.chip-dropdown-chevron[data-v-33e66ee8]{transition:transform .15s ease}.chip-dropdown-chevron.open[data-v-33e66ee8]{transform:rotate(180deg)}.chip-dropdown-menu[data-v-33e66ee8]{position:absolute;top:100%;right:0;z-index:10;margin-top:4px;min-width:150px;padding:4px 0;background:var(--card-bg);border:1px solid var(--border);border-radius:var(--radius);box-shadow:0 4px 12px #00000026}.chip-dropdown-item[data-v-33e66ee8]{display:flex;align-items:center;justify-content:space-between;width:100%;padding:8px 14px;border:none;background:none;color:var(--text-muted);font-size:.8rem;text-align:left;text-transform:lowercase;cursor:pointer;transition:background-color .1s ease}.chip-dropdown-item[data-v-33e66ee8]:hover{background:var(--bg)}.chip-dropdown-item.active[data-v-33e66ee8],.chip-dropdown-item.selected[data-v-33e66ee8]{color:var(--secondary);font-weight:600}.chip-dropdown-item.dimmed[data-v-33e66ee8]{opacity:.55}.chip-dropdown-item.lost[data-v-33e66ee8]{color:var(--danger, #dc3545);text-decoration:line-through}.chip-dropdown-item.is-new[data-v-33e66ee8]{color:var(--success, #28a745)}.chip-dropdown-check[data-v-33e66ee8]{flex-shrink:0;color:var(--secondary)}@media (max-width: 600px){.inline-only[data-v-33e66ee8]{display:none!important}.dropdown-only[data-v-33e66ee8]{display:flex}}.facet-card[data-v-9802cb06]{display:flex;flex-direction:column}.card-front[data-v-9802cb06]{text-align:center;display:flex;flex-direction:column}.card-front[data-v-9802cb06]:not(.has-bg-image){padding:20px 0}.card-hero[data-v-9802cb06]{position:relative;min-height:200px;display:flex;align-items:center;justify-content:center;overflow:hidden;border-radius:var(--radius-lg, 12px) var(--radius-lg, 12px) 0 0}.card-hero-image[data-v-9802cb06]{position:absolute;top:0;right:0;bottom:0;left:0;z-index:0}.card-hero-image[data-v-9802cb06] p{margin:0;height:100%}.card-hero-image[data-v-9802cb06] img{width:100%;height:100%;object-fit:cover}.card-hero-overlay[data-v-9802cb06]{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(to bottom,#00000026,#0006);z-index:1}.card-hero-content[data-v-9802cb06]{position:relative;z-index:2;padding:24px 16px}.card-hero .card-character[data-v-9802cb06]{color:var(--on-primary);text-shadow:0 2px 8px rgba(0,0,0,.6),0 1px 3px rgba(0,0,0,.4)}.card-hero .card-pinyin[data-v-9802cb06]{color:#ffffffe6;text-shadow:0 1px 4px rgba(0,0,0,.5)}.card-character[data-v-9802cb06]{font-size:4rem;font-weight:300;line-height:1.2;margin-bottom:8px}.card-character.char-medium[data-v-9802cb06]{font-size:3rem}.card-character.char-small[data-v-9802cb06]{font-size:2.5rem}.card-character.char-xsmall[data-v-9802cb06]{font-size:2rem}.card-pinyin[data-v-9802cb06]{font-size:1.25rem;color:var(--text-muted);margin-bottom:12px}.card-hint[data-v-9802cb06]{font-size:.9rem;color:var(--text-muted);opacity:.7;margin-bottom:8px;font-style:italic}.card-prompt-section[data-v-9802cb06]{padding:16px 0;background:var(--card-bg)}.card-question[data-v-9802cb06]{font-size:1rem;color:var(--secondary);margin:12px 0;font-weight:500}.card-back[data-v-9802cb06]{flex:1}.facet-answer[data-v-9802cb06]{text-align:center}.answer-value[data-v-9802cb06]{font-size:1.5rem;font-weight:500;line-height:1.4}.answer-value.tone-answer[data-v-9802cb06]{font-size:2rem}.answer-value.meaning-answer[data-v-9802cb06]{font-size:1.1rem;font-weight:400;margin:0 16px}.production-meaning[data-v-9802cb06]{font-size:1.25rem;line-height:1.4;padding:0 16px}.production-image[data-v-9802cb06]{margin-bottom:12px}.production-image[data-v-9802cb06] img{max-width:100%;width:auto;object-fit:contain;border-radius:var(--radius)}.production-character[data-v-9802cb06]{font-size:3rem;font-weight:300}.answer-pinyin[data-v-9802cb06]{font-size:1.25rem;color:var(--text-muted);margin-top:4px}.answer-image[data-v-9802cb06]{margin-bottom:16px}.answer-image[data-v-9802cb06] img{max-width:100%;width:auto;object-fit:contain;border-radius:var(--radius)}.compact[data-v-9802cb06]{flex-direction:row;gap:12px;align-items:center;padding:8px 0}.compact .card-front[data-v-9802cb06]{padding:0;flex:1;min-width:0}.compact .card-character[data-v-9802cb06]{font-size:1.5rem;margin-bottom:2px}.compact .card-pinyin[data-v-9802cb06]{font-size:.85rem;margin-bottom:4px}.compact .card-question-compact[data-v-9802cb06]{font-size:.75rem;color:var(--text-muted);font-style:italic}.compact .card-back[data-v-9802cb06]{flex:1;min-width:0;border-left:1px solid var(--border);padding-left:12px}.compact .answer-value[data-v-9802cb06]{font-size:1rem;text-align:left}.compact .answer-value.tone-answer[data-v-9802cb06]{font-size:1.1rem}.compact .answer-value.meaning-answer[data-v-9802cb06]{font-size:.9rem;margin:0}.compact .answer-value.production-character[data-v-9802cb06]{font-size:1.5rem}.compact .answer-pinyin[data-v-9802cb06]{font-size:.85rem;text-align:left}.facet-detail-panel[data-v-70b8e7a5]{height:100%;display:flex;flex-direction:column}.panel-header[data-v-70b8e7a5]{display:flex;align-items:center;gap:8px;padding:12px 20px;border-bottom:1px solid var(--border);background:var(--bg)}.panel-title[data-v-70b8e7a5]{font-weight:600;font-size:.95rem;text-transform:capitalize}.panel-desc[data-v-70b8e7a5]{font-size:.8rem;color:var(--text-muted);flex:1}.panel-close[data-v-70b8e7a5]{border:none;background:none;color:var(--text-muted);font-size:1.2rem;cursor:pointer;padding:0 4px;line-height:1}.panel-close[data-v-70b8e7a5]:hover{color:var(--text)}.panel-preview[data-v-70b8e7a5]{padding:16px 20px;border-bottom:1px solid var(--border)}.panel-body[data-v-70b8e7a5]{padding:16px 20px;flex:1}.panel-stats[data-v-70b8e7a5]{font-size:.85rem;color:var(--text-muted);margin-bottom:12px}.stat-row[data-v-70b8e7a5]{display:flex;gap:16px;flex-wrap:wrap;margin-bottom:6px}.stat-with-info[data-v-70b8e7a5]{display:inline-flex;align-items:center;gap:4px}.info-btn[data-v-70b8e7a5]{width:16px;height:16px;border-radius:50%;border:1px solid var(--text-muted);background:none;color:var(--text-muted);font-size:.65rem;font-weight:600;cursor:pointer;padding:0;line-height:1;flex-shrink:0}.info-btn[data-v-70b8e7a5]:hover{border-color:var(--secondary);color:var(--secondary)}.stat-tooltip[data-v-70b8e7a5]{background:var(--card-bg);border:1px solid var(--border);border-radius:var(--radius);padding:8px 10px;margin:2px 0 6px;font-size:.8rem;line-height:1.4;color:var(--text)}.stat-tooltip strong[data-v-70b8e7a5]{color:var(--secondary)}.history-row[data-v-70b8e7a5]{align-items:center}.history-symbol[data-v-70b8e7a5]{font-size:.9rem;margin-left:2px}.history-symbol.grade-again[data-v-70b8e7a5]{color:var(--danger, #dc3545)}.history-symbol.grade-hard[data-v-70b8e7a5]{color:var(--warning, #ffc107)}.history-symbol.grade-ok[data-v-70b8e7a5]{color:var(--success, #28a745)}.panel-warning[data-v-70b8e7a5]{font-size:.85rem;color:var(--text);line-height:1.5}.panel-warning .warning-title[data-v-70b8e7a5]{color:var(--danger, #dc3545);font-weight:600;margin-bottom:6px}.panel-warning p[data-v-70b8e7a5]{margin:0 0 6px}.panel-warning strong[data-v-70b8e7a5]{color:var(--secondary)}.panel-status[data-v-70b8e7a5]{font-size:.85rem;color:var(--text-muted);line-height:1.6}.link-btn[data-v-70b8e7a5]{border:none;background:none;color:var(--secondary);font-size:.85rem;cursor:pointer;padding:0;text-decoration:underline;text-underline-offset:2px}.link-btn[data-v-70b8e7a5]:hover{color:var(--text)}.link-btn.danger[data-v-70b8e7a5]{color:var(--text-muted)}.link-btn.danger[data-v-70b8e7a5]:hover{color:var(--danger, #dc3545)}.markdown-card-editor[data-v-d340ef08]{display:flex;flex-direction:column;background:var(--card-bg);border:1px solid var(--border);border-radius:var(--radius);overflow:hidden}.editor-header[data-v-d340ef08]{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;border-bottom:1px solid var(--border);background:var(--bg)}.editor-title[data-v-d340ef08]{display:flex;align-items:center;gap:12px}.editor-character[data-v-d340ef08]{font-size:1.75rem;font-weight:500}.editor-pinyin[data-v-d340ef08]{font-size:1.1rem;color:var(--secondary)}.editor-actions[data-v-d340ef08]{display:flex;gap:8px}.editor-tabs[data-v-d340ef08]{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--border);background:var(--bg)}.tabs-left[data-v-d340ef08]{display:flex}.editor-tab[data-v-d340ef08]{padding:10px 16px;border:none;background:transparent;color:var(--text-muted);font-size:.875rem;cursor:pointer;border-bottom:2px solid transparent;margin-bottom:-1px;transition:color .15s ease,border-color .15s ease}.editor-tab[data-v-d340ef08]:hover{color:var(--text)}.editor-tab.active[data-v-d340ef08]{color:var(--text);border-bottom-color:var(--secondary)}.tabs-right[data-v-d340ef08]{display:flex;align-items:center;padding-right:8px}.facet-loss-banner[data-v-d340ef08]{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:8px 20px;background:#ffc10726;border-bottom:1px solid var(--warning, #ffc107);color:var(--text);font-size:.8rem}.chat-toggle-btn[data-v-d340ef08]{display:flex;align-items:center;gap:6px;padding:8px 12px;margin-right:8px;border:1px solid var(--border);background:transparent;color:var(--text-muted);font-size:.85rem;border-radius:var(--radius);cursor:pointer;transition:all .15s ease}.chat-toggle-btn[data-v-d340ef08]:hover{background:var(--bg);color:var(--text);border-color:var(--secondary)}.chat-label[data-v-d340ef08]{font-weight:500}.editor-content[data-v-d340ef08]{min-height:400px;position:relative;flex:1}.editor-textarea[data-v-d340ef08]{width:100%;min-height:400px;height:100%;padding:16px 20px;border:none;resize:vertical;font-family:ui-monospace,SFMono-Regular,SF Mono,Menlo,Consolas,monospace;font-size:.875rem;line-height:1.6;background:var(--card-bg);color:var(--text)}.editor-textarea[data-v-d340ef08]:focus{outline:none}.editor-preview[data-v-d340ef08]{padding:16px 20px;min-height:400px;overflow-y:auto}.editor-preview.empty-profile[data-v-d340ef08]{display:flex;align-items:center;justify-content:center}.profile-placeholder[data-v-d340ef08]{max-width:400px;text-align:center;color:var(--text-muted)}.profile-placeholder p[data-v-d340ef08]{margin:0 0 12px}.profile-placeholder ul[data-v-d340ef08]{text-align:left;margin:0 0 16px;padding-left:24px}.profile-placeholder li[data-v-d340ef08]{margin:4px 0}.profile-placeholder .hint[data-v-d340ef08]{font-size:.875rem;font-style:italic;margin-bottom:20px}.editor-streaming[data-v-d340ef08]{position:absolute;bottom:16px;right:16px;display:flex;gap:4px}.streaming-dot[data-v-d340ef08]{width:6px;height:6px;background:var(--secondary);border-radius:50%;animation:pulse-d340ef08 1.4s ease-in-out infinite}.streaming-dot[data-v-d340ef08]:nth-child(2){animation-delay:.2s}.streaming-dot[data-v-d340ef08]:nth-child(3){animation-delay:.4s}@keyframes pulse-d340ef08{0%,80%,to{opacity:.3;transform:scale(.8)}40%{opacity:1;transform:scale(1)}}.editor-generate[data-v-d340ef08]{padding:40px 20px;text-align:center}.editor-error[data-v-d340ef08]{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 20px;background:#dc35451a;border-top:1px solid var(--danger);color:var(--danger);font-size:.875rem}.speak-btn[data-v-d340ef08]{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;padding:0;border:1px solid var(--border);border-radius:var(--radius);background:var(--card-bg);cursor:pointer;transition:background-color .15s ease,border-color .15s ease}.speak-btn[data-v-d340ef08]:hover{background:var(--bg);border-color:var(--secondary)}.speak-btn[data-v-d340ef08]:disabled{opacity:.5;cursor:not-allowed}.speak-icon[data-v-d340ef08]{width:16px;height:16px;color:var(--text-muted)}.speak-btn:hover .speak-icon[data-v-d340ef08]{color:var(--secondary)}.island-action-wrapper[data-v-d340ef08]{margin:8px 0}.island-action-btn[data-v-d340ef08]{padding:6px 14px;border:1px solid var(--border);border-radius:var(--radius);background:var(--card-bg);color:var(--text);font-size:.85rem;cursor:pointer;transition:background-color .15s ease}.island-action-btn[data-v-d340ef08]:hover{background:var(--bg)}.island-action-btn[data-v-d340ef08]:disabled{opacity:.7;cursor:wait}.image-prompt-wrapper[data-v-d340ef08]{display:flex;flex-direction:column;align-items:center;padding:16px;margin:12px 0;background:var(--bg);border:1px dashed var(--border);border-radius:var(--radius)}.image-prompt-text[data-v-d340ef08]{font-style:italic;color:var(--text-muted);margin-bottom:12px;text-align:center;font-size:.9rem;max-width:400px}.image-prompt-wrapper img[data-v-d340ef08]{display:none}.image-prompt-actions[data-v-d340ef08]{display:flex;flex-direction:column;align-items:center;gap:8px}.image-generate-btn[data-v-d340ef08]{min-width:140px}.image-generate-btn[data-v-d340ef08]:disabled{opacity:.7;cursor:wait}.image-prompt-hint[data-v-d340ef08]{font-size:.8rem;color:var(--text-muted);text-align:center;max-width:300px;line-height:1.5}.image-prompt-hint a[data-v-d340ef08]{color:var(--secondary);text-decoration:none}.image-prompt-hint a[data-v-d340ef08]:hover{text-decoration:underline}.speech-row[data-v-16415175]{padding:12px;background:var(--bg);border-radius:var(--radius);text-align:center}.speech-row-main[data-v-16415175]{display:flex;align-items:center;justify-content:center;gap:8px}.align-left[data-v-16415175]{text-align:left}.align-left .speech-row-main[data-v-16415175]{justify-content:flex-start}.row-chinese[data-v-16415175]{font-size:1.1rem}.row-pinyin[data-v-16415175]{font-size:.9rem;color:var(--text-muted);margin-top:4px}.row-speak-btn[data-v-16415175]{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;width:28px;height:28px;padding:0;border:1px solid var(--border);border-radius:50%;background:var(--card-bg);color:var(--text-muted);cursor:pointer;transition:border-color .15s ease,color .15s ease}.row-speak-btn[data-v-16415175]:hover{border-color:var(--secondary);color:var(--secondary)}.ex-char-correct[data-v-16415175]{color:var(--success, #28a745)}.ex-char-wrong[data-v-16415175]{color:var(--tone-1, #e57373)}.row-heard[data-v-16415175]{font-size:.85rem;color:var(--text-muted);margin-top:4px}.inline-mic-btn[data-v-16415175]{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;padding:0;border:1px solid var(--border);border-radius:50%;background:var(--card-bg);color:var(--text-muted);cursor:pointer;transition:all .15s ease}.inline-mic-btn[data-v-16415175]:hover{border-color:var(--secondary);color:var(--secondary)}.inline-mic-icon[data-v-16415175]{width:14px;height:14px}.inline-recording[data-v-16415175]{display:inline-flex;align-items:center;gap:6px}.inline-recording-dot[data-v-16415175]{width:8px;height:8px;border-radius:50%;background:var(--tone-1, #e57373);animation:pulse-16415175 1s ease-in-out infinite}.inline-stop-btn[data-v-16415175]{padding:2px 8px;border:1px solid var(--border);border-radius:var(--radius);background:var(--card-bg);color:var(--text);font-size:.75rem;cursor:pointer}.inline-processing[data-v-16415175]{color:var(--text-muted);font-size:.85rem}.inline-no-match[data-v-16415175],.inline-result[data-v-16415175]{display:inline-flex;align-items:center;gap:4px}.inline-no-match-text[data-v-16415175]{color:var(--text-muted);font-size:.9rem}.inline-match[data-v-16415175]{display:inline-flex;align-items:center;justify-content:center}.inline-match svg[data-v-16415175]{width:18px;height:18px;color:var(--success, #28a745)}.inline-retry-btn[data-v-16415175]{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;padding:0;border:none;background:none;color:var(--text-muted);cursor:pointer}.inline-retry-btn[data-v-16415175]:hover{color:var(--secondary)}.inline-retry-btn svg[data-v-16415175]{width:14px;height:14px}@keyframes pulse-16415175{0%,to{opacity:1}50%{opacity:.4}}.debug-panel[data-v-da736869]{margin-top:20px;padding:12px;background:var(--bg);border:1px solid var(--border);border-radius:var(--radius);font-size:.85rem}.debug-header[data-v-da736869]{display:flex;align-items:center;justify-content:space-between;font-weight:600;margin-bottom:12px;padding-bottom:8px;border-bottom:1px solid var(--border);color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px;font-size:.75rem}.debug-close-btn[data-v-da736869]{background:none;border:none;color:var(--text-muted);font-size:1.2rem;line-height:1;cursor:pointer;padding:0 4px;opacity:.6;transition:opacity .15s,color .15s}.debug-close-btn[data-v-da736869]:hover{opacity:1;color:var(--text)}.debug-section[data-v-da736869]{margin-bottom:12px;padding-bottom:12px;border-bottom:1px solid var(--border)}.debug-section[data-v-da736869]:last-child{margin-bottom:0;padding-bottom:0;border-bottom:none}.debug-session[data-v-da736869]{color:var(--text-muted);font-style:italic}.debug-card-header[data-v-da736869]{display:flex;align-items:center;justify-content:space-between;gap:8px}.debug-card-title[data-v-da736869]{display:flex;align-items:center;gap:6px}.debug-card-char[data-v-da736869]{font-size:1.1rem;font-weight:600}.debug-card-facet[data-v-da736869]{color:var(--text-muted);font-size:.8rem}.debug-card-reviewed[data-v-da736869]{color:var(--success, #4ade80);font-size:.75rem}.debug-card-current[data-v-da736869]{color:var(--secondary);font-size:.75rem}.debug-back-btn[data-v-da736869]{background:none;border:1px solid var(--border);border-radius:var(--radius);padding:4px 8px;font-size:.75rem;color:var(--text-muted);cursor:pointer}.debug-back-btn[data-v-da736869]:hover{border-color:var(--secondary);color:var(--secondary)}.debug-row[data-v-da736869]{display:flex;align-items:center;gap:6px;margin-bottom:4px;flex-wrap:wrap}.debug-row[data-v-da736869]:last-child{margin-bottom:0}.debug-row-with-info[data-v-da736869]{flex-wrap:nowrap}.debug-label[data-v-da736869]{color:var(--text-muted)}.debug-value[data-v-da736869]{color:var(--text)}.debug-hint[data-v-da736869]{font-size:.75rem;color:var(--text-muted);font-style:italic}.debug-history[data-v-da736869]{font-family:monospace;letter-spacing:2px}.info-btn[data-v-da736869]{width:16px;height:16px;border-radius:50%;border:1px solid var(--text-muted);background:none;color:var(--text-muted);font-size:.65rem;font-weight:600;cursor:pointer;padding:0;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0}.info-btn[data-v-da736869]:hover{border-color:var(--secondary);color:var(--secondary)}.debug-tooltip[data-v-da736869]{background:var(--card-bg);border:1px solid var(--border);border-radius:var(--radius);padding:8px 10px;margin:6px 0;font-size:.8rem;line-height:1.4;color:var(--text)}.debug-tooltip strong[data-v-da736869]{color:var(--secondary)}.debug-toggle[data-v-da736869]{background:none;border:none;padding:0;color:var(--text-muted);font-size:.8rem;cursor:pointer;text-decoration:underline}.debug-toggle[data-v-da736869]:hover{color:var(--secondary)}.debug-queue[data-v-da736869]{margin-top:8px;padding:8px;background:var(--card-bg);border-radius:var(--radius);max-height:300px;overflow-y:auto}.debug-queue-item[data-v-da736869]{display:flex;align-items:center;gap:6px;padding:6px 8px;font-size:.8rem;cursor:pointer;border-radius:var(--radius);transition:background .15s}.debug-queue-item[data-v-da736869]:hover{background:var(--bg)}.debug-queue-item.is-learning[data-v-da736869]{color:var(--tone-2, #f4a261)}.debug-queue-item.is-reviewed[data-v-da736869]{opacity:.6;background:var(--bg)}.debug-queue-item.is-current[data-v-da736869]{background:#4a9eff1a;border:1px solid var(--secondary)}.debug-queue-item.is-selected[data-v-da736869]{background:#4a9eff26;border:1px solid var(--secondary)}.queue-char[data-v-da736869]{font-weight:500;min-width:40px}.queue-facet[data-v-da736869]{color:var(--text-muted);font-size:.75rem}.queue-due[data-v-da736869]{margin-left:auto;color:var(--text-muted)}.queue-state[data-v-da736869]{font-size:.75rem;color:var(--tone-2, #f4a261)}.queue-current-marker[data-v-da736869]{font-size:.65rem;background:var(--secondary);color:var(--on-primary);padding:1px 4px;border-radius:3px;text-transform:uppercase}.debug-empty[data-v-da736869]{color:var(--text-muted);font-style:italic}.debug-forecast[data-v-da736869]{margin-top:8px}.forecast-row-wrapper[data-v-da736869]{margin-bottom:2px}.forecast-row[data-v-da736869]{display:flex;align-items:center;gap:8px;padding:4px 6px;font-size:.8rem;border-radius:var(--radius);transition:background .15s}.forecast-row.is-expandable[data-v-da736869]{cursor:pointer}.forecast-row.is-expandable[data-v-da736869]:hover,.forecast-row.is-expanded[data-v-da736869]{background:var(--card-bg)}.forecast-expand-icon[data-v-da736869]{width:14px;color:var(--text-muted);font-family:monospace;text-align:center}.forecast-label[data-v-da736869]{min-width:60px;color:var(--text-muted)}.forecast-bar-container[data-v-da736869]{flex:1;height:12px;background:var(--card-bg);border-radius:2px;position:relative;overflow:hidden}.forecast-row.is-expanded .forecast-bar-container[data-v-da736869],.forecast-row.is-expandable:hover .forecast-bar-container[data-v-da736869]{background:var(--bg)}.forecast-bar[data-v-da736869]{height:100%;position:absolute;top:0;left:0;border-radius:2px}.forecast-bar-new[data-v-da736869]{background:var(--secondary)}.forecast-bar-learning[data-v-da736869]{background:var(--tone-2, #f4a261)}.forecast-bar-review[data-v-da736869]{background:var(--success, #4ade80)}.forecast-bar-later[data-v-da736869]{background:var(--text-muted);opacity:.5}.forecast-count[data-v-da736869]{min-width:30px;text-align:right;color:var(--text)}.forecast-breakdown[data-v-da736869]{font-size:.7rem;color:var(--text-muted)}.forecast-items[data-v-da736869]{display:flex;flex-wrap:wrap;gap:6px;padding:8px 8px 8px 28px;background:var(--card-bg);border-radius:0 0 var(--radius) var(--radius);margin-top:-2px;max-height:200px;overflow-y:auto}.forecast-item[data-v-da736869]{display:flex;align-items:center;gap:4px;padding:4px 8px;background:var(--bg);border-radius:var(--radius);font-size:.8rem;cursor:pointer;transition:all .15s}.forecast-item[data-v-da736869]:hover{background:var(--secondary);color:var(--on-primary)}.forecast-item.is-learning[data-v-da736869]{color:var(--tone-2, #f4a261)}.forecast-item.is-learning[data-v-da736869]:hover{background:var(--tone-2, #f4a261);color:var(--on-primary)}.forecast-item.is-selected[data-v-da736869]{background:var(--secondary);color:var(--on-primary)}.forecast-item-char[data-v-da736869]{font-weight:500}.forecast-item-facet[data-v-da736869]{font-size:.7rem;opacity:.8}.forecast-item-state[data-v-da736869]{font-size:.65rem;background:#fff3;padding:1px 3px;border-radius:2px}.forecast-item-due[data-v-da736869]{font-size:.7rem;opacity:.7}.srs-review[data-v-5eb91daf]{max-width:500px;margin:0 auto;padding:16px}.review-progress[data-v-5eb91daf]{display:flex;justify-content:center;align-items:center;gap:12px;color:var(--text-muted);font-size:.85rem;margin-bottom:16px}.undo-btn[data-v-5eb91daf]{display:flex;align-items:center;gap:4px;padding:4px 8px;border:1px solid var(--border);border-radius:var(--radius, 6px);background:none;color:var(--text-muted);font-size:.8rem;cursor:pointer;transition:all .15s ease}.undo-btn[data-v-5eb91daf]:hover:not(:disabled){color:var(--secondary);border-color:var(--secondary)}.undo-btn[data-v-5eb91daf]:disabled{opacity:.3;cursor:not-allowed}.undo-btn svg[data-v-5eb91daf]{width:14px;height:14px}.review-card-container[data-v-5eb91daf]{display:flex;flex-direction:column;gap:20px}.review-card[data-v-5eb91daf]{position:relative;background:var(--card-bg);border:1px solid var(--border);border-radius:var(--radius-lg, 12px);min-height:300px;display:flex;flex-direction:column}.card-front[data-v-5eb91daf]{text-align:center;display:flex;flex-direction:column}.card-front[data-v-5eb91daf]:not(.has-bg-image){padding:20px 0}.card-hero[data-v-5eb91daf]{position:relative;min-height:200px;display:flex;align-items:center;justify-content:center;overflow:hidden;border-radius:var(--radius-lg, 12px) var(--radius-lg, 12px) 0 0}.card-hero-image[data-v-5eb91daf]{position:absolute;top:0;right:0;bottom:0;left:0;z-index:0}.card-hero-image[data-v-5eb91daf] p{margin:0;height:100%}.card-hero-image[data-v-5eb91daf] img{width:100%;height:100%;object-fit:cover}.card-hero-overlay[data-v-5eb91daf]{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(to bottom,#00000026,#0006);z-index:1}.card-hero-content[data-v-5eb91daf]{position:relative;z-index:2;padding:24px 16px}.card-hero .card-character[data-v-5eb91daf]{color:var(--on-primary);text-shadow:0 2px 8px rgba(0,0,0,.6),0 1px 3px rgba(0,0,0,.4)}.card-hero .card-pinyin[data-v-5eb91daf]{color:#ffffffe6;text-shadow:0 1px 4px rgba(0,0,0,.5)}.card-character[data-v-5eb91daf]{font-size:4rem;font-weight:300;line-height:1.2;margin-bottom:8px}.card-pinyin[data-v-5eb91daf]{font-size:1.25rem;color:var(--text-muted);margin-bottom:12px}.card-hint[data-v-5eb91daf]{font-size:.9rem;color:var(--text-muted);opacity:.7;margin-bottom:8px;font-style:italic}.card-prompt-section[data-v-5eb91daf]{padding:16px 0;background:var(--card-bg)}.card-question[data-v-5eb91daf]{font-size:1rem;color:var(--secondary);margin:12px 0;font-weight:500}.facet-badge[data-v-5eb91daf]{display:inline-block;margin-left:8px;padding:2px 8px;font-size:.75rem;border-radius:12px;background:var(--secondary);color:var(--on-primary);font-weight:500;text-transform:uppercase;letter-spacing:.5px}.facet-answer[data-v-5eb91daf]{text-align:center}.answer-label[data-v-5eb91daf]{font-size:.85rem;color:var(--text-muted);margin-bottom:8px;text-transform:uppercase;letter-spacing:.5px}.answer-value[data-v-5eb91daf]{font-size:1.5rem;font-weight:500;line-height:1.4}.answer-value.tone-answer[data-v-5eb91daf]{font-size:2rem}.answer-value.meaning-answer[data-v-5eb91daf]{font-size:1.1rem;font-weight:400;margin:0 16px}.answer-image[data-v-5eb91daf]{margin-bottom:16px}.answer-image[data-v-5eb91daf] img{max-width:100%;width:auto;object-fit:contain;border-radius:var(--radius)}.tone-example-wrapper[data-v-5eb91daf]{margin:16px 16px 0}.practice-examples[data-v-5eb91daf]{display:flex;flex-direction:column;gap:8px}.card-sections[data-v-5eb91daf]{margin:12px 16px 0}.section-tabs[data-v-5eb91daf]{display:flex;justify-content:center;gap:0}.card-sections.has-content .section-tabs[data-v-5eb91daf]{border-bottom:1px solid var(--border)}.section-tab[data-v-5eb91daf]{padding:6px 12px;border:none;background:none;color:var(--text-muted);font-size:.8rem;cursor:pointer;border-bottom:2px solid transparent;margin-bottom:-1px;transition:color .15s ease}.section-tab[data-v-5eb91daf]:hover{color:var(--secondary)}.section-tab.active[data-v-5eb91daf]{color:var(--secondary);border-bottom-color:var(--secondary)}.section-content[data-v-5eb91daf],.full-card-content[data-v-5eb91daf]{padding:12px 0;font-size:.9rem;line-height:1.5;text-align:left}.edit-card-btn[data-v-5eb91daf]{display:block;position:absolute;top:8px;right:8px;z-index:10;width:32px;height:32px;padding:6px;border:none;border-radius:4px;background:none;color:var(--text-muted);opacity:.4;cursor:pointer;transition:all .15s ease;text-decoration:none}.edit-card-btn[data-v-5eb91daf]:hover{opacity:1;color:var(--secondary)}.edit-card-btn svg[data-v-5eb91daf]{width:100%;height:100%}.speak-btn[data-v-5eb91daf]{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;padding:0;border:none;border-radius:50%;background:var(--bg);color:var(--text-muted);cursor:pointer;transition:all .15s ease}.speak-btn[data-v-5eb91daf]:hover:not(:disabled){background:var(--secondary);color:var(--on-primary)}.speak-icon[data-v-5eb91daf]{width:18px;height:18px}.card-back[data-v-5eb91daf]{flex:1}.card-content[data-v-5eb91daf]{font-size:.95rem;line-height:1.6;padding:16px}.reveal-btn[data-v-5eb91daf]{margin-top:auto;padding:16px;border:0;border-radius:0 0 var(--radius-lg, 12px) var(--radius-lg, 12px);background:transparent;color:var(--text-muted);font-size:1rem;cursor:pointer;transition:all .15s ease}.reveal-btn[data-v-5eb91daf]:hover{background-color:var(--bg)}.save-error[data-v-5eb91daf]{display:flex;align-items:center;justify-content:center;gap:12px;padding:10px 16px;background:var(--tone-1, #e57373);color:var(--on-primary);border-radius:var(--radius);font-size:.9rem}.save-error-retry[data-v-5eb91daf]{padding:4px 12px;border:1px solid rgba(255,255,255,.6);border-radius:var(--radius, 6px);background:none;color:var(--on-primary);font-size:.85rem;cursor:pointer;white-space:nowrap}.save-error-retry[data-v-5eb91daf]:hover{background:#ffffff26;border-color:var(--on-primary)}.grade-buttons[data-v-5eb91daf]{display:flex;gap:8px}.grade-buttons-disabled[data-v-5eb91daf]{opacity:.6;pointer-events:none}.grade-divider[data-v-5eb91daf]{width:1px;background:var(--border);margin:4px}.grade-btn[data-v-5eb91daf]{flex:1;display:flex;flex-direction:column;align-items:center;gap:4px;padding:12px 8px;border:1px solid var(--border);border-radius:var(--radius);background:var(--card-bg);color:var(--text);cursor:pointer;transition:all .15s ease}.grade-btn[data-v-5eb91daf]:hover,.grade-btn.grade-pressed[data-v-5eb91daf]{background:var(--secondary);color:var(--on-primary);border-color:var(--secondary)}.grade-btn.grade-pressed[data-v-5eb91daf]{transform:scale(.95)}.grade-label[data-v-5eb91daf]{font-weight:500}.grade-interval[data-v-5eb91daf]{font-size:.75rem;opacity:.7}.review-empty[data-v-5eb91daf],.review-complete[data-v-5eb91daf],.review-waiting[data-v-5eb91daf]{text-align:center;padding:60px 20px}.review-waiting .waiting-icon[data-v-5eb91daf]{width:64px;height:64px;margin:0 auto 16px;color:var(--secondary)}.review-waiting .waiting-icon svg[data-v-5eb91daf]{width:100%;height:100%}.review-waiting h2[data-v-5eb91daf]{margin:0 0 8px;font-weight:500}.review-waiting p[data-v-5eb91daf]{color:var(--text-muted);margin:0 0 24px}.waiting-actions[data-v-5eb91daf]{display:flex;justify-content:center;gap:12px}.empty-icon[data-v-5eb91daf],.complete-icon[data-v-5eb91daf]{font-size:4rem;margin-bottom:16px}.review-empty h2[data-v-5eb91daf],.review-complete h2[data-v-5eb91daf]{margin:0 0 8px;font-weight:500}.review-empty p[data-v-5eb91daf]{color:var(--text-muted);margin:0 0 24px}.session-stats[data-v-5eb91daf]{display:flex;justify-content:center;gap:32px;margin:24px 0}.stat[data-v-5eb91daf]{display:flex;flex-direction:column;align-items:center}.stat-value[data-v-5eb91daf]{font-size:2rem;font-weight:600;color:var(--secondary)}.stat-label[data-v-5eb91daf]{font-size:.85rem;color:var(--text-muted)}.settings-dropdown-container[data-v-5eb91daf]{position:relative}.settings-toggle[data-v-5eb91daf]{background:none;border:1px solid var(--border);border-radius:var(--radius, 6px);padding:4px 6px;cursor:pointer;color:var(--text-muted);display:flex;align-items:center;opacity:.6;transition:opacity .2s,color .2s}.settings-toggle[data-v-5eb91daf]:hover{opacity:1}.settings-toggle.active[data-v-5eb91daf]{opacity:1;color:var(--primary, #4a9eff)}.settings-icon[data-v-5eb91daf]{width:16px;height:16px}.settings-dropdown[data-v-5eb91daf]{position:absolute;top:100%;right:0;margin-top:8px;background:var(--card-bg);border:1px solid var(--border);border-radius:var(--radius, 6px);padding:12px;box-shadow:0 4px 12px #00000026;z-index:100;white-space:nowrap}.settings-row[data-v-5eb91daf]{display:flex;align-items:center;gap:8px;font-size:.9rem;color:var(--text);cursor:pointer}.settings-row+.settings-row[data-v-5eb91daf]{margin-top:10px}.settings-row input[type=checkbox][data-v-5eb91daf]{cursor:pointer;width:16px;height:16px;margin:0;flex-shrink:0}.limit-input[data-v-5eb91daf]{width:50px;padding:2px 6px;border:1px solid var(--border);border-radius:var(--radius, 4px);background:var(--bg);color:var(--text);font-size:.85rem;text-align:center}.limit-input[data-v-5eb91daf]:disabled{opacity:.4;cursor:not-allowed}.limit-input[data-v-5eb91daf]:focus{outline:none;border-color:var(--primary, #4a9eff)}.level-filters[data-v-65180fac]{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:16px;padding-bottom:12px;border-bottom:1px solid var(--border)}.level-chip[data-v-65180fac]{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;border:1px solid var(--border);border-radius:16px;background:var(--card-bg);color:var(--text);font-size:.85rem;cursor:pointer;transition:all .15s ease}.level-chip[data-v-65180fac]:hover{border-color:var(--border-hover);background:var(--bg)}.level-chip.active[data-v-65180fac]{background:var(--secondary);border-color:var(--secondary);color:var(--on-primary)}.level-count[data-v-65180fac]{font-size:.75rem;opacity:.7}.word-list[data-v-65180fac]{display:flex;flex-direction:column;gap:4px}.word-item[data-v-65180fac]{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:12px;padding:12px 14px;background:var(--card-bg);border:1px solid var(--border);border-radius:var(--radius);cursor:pointer;transition:background-color .15s ease,border-color .15s ease}.word-item[data-v-65180fac]:hover{background:var(--bg);border-color:var(--border-hover)}.word-item.in-deck[data-v-65180fac]{border-left:3px solid var(--success, #28a745)}.word-main[data-v-65180fac]{display:flex;flex-direction:column;gap:2px;min-width:60px}.word-char[data-v-65180fac]{font-size:1.25rem;font-weight:500}.word-pinyin[data-v-65180fac]{font-size:.8rem;color:var(--text-muted)}.word-def[data-v-65180fac]{font-size:.875rem;color:var(--text-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.word-saved[data-v-65180fac]{color:var(--success, #28a745);flex-shrink:0}.load-more[data-v-65180fac]{padding:16px;text-align:center}.load-more button[data-v-65180fac]{padding:10px 24px;border:1px solid var(--border);border-radius:var(--radius);background:var(--card-bg);color:var(--text);font-size:.9rem;cursor:pointer;transition:background-color .15s ease}.load-more button[data-v-65180fac]:hover:not(:disabled){background:var(--bg)}.load-more button[data-v-65180fac]:disabled{opacity:.6;cursor:not-allowed}.empty-state[data-v-65180fac]{text-align:center;padding:40px 20px;color:var(--text-muted)}.category-item[data-v-93863e36]{display:flex;flex-direction:column;padding:10px 14px 10px 0;cursor:pointer;transition:background-color .15s ease}.category-item[data-v-93863e36]:hover{background:var(--bg)}.category-item.in-deck[data-v-93863e36]{box-shadow:inset 3px 0 0 var(--success, #28a745)}.item-row-1[data-v-93863e36]{display:flex;align-items:center;gap:8px}.item-row-2[data-v-93863e36]{display:flex;align-items:center;gap:8px;margin-top:2px}.expand-icon[data-v-93863e36]{font-size:.7rem;width:14px;flex-shrink:0;color:var(--text-muted)}.leaf-icon[data-v-93863e36],.row-2-spacer[data-v-93863e36]{width:14px;flex-shrink:0}.item-word[data-v-93863e36]{font-size:1.1rem;font-weight:500}.item-def[data-v-93863e36]{font-size:.85rem;color:var(--text-muted);flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.item-pinyin[data-v-93863e36]{font-size:.8rem;color:var(--text-muted)}.item-hsk[data-v-93863e36]{font-size:.7rem;color:var(--secondary);background:var(--secondary-light, rgba(99, 102, 241, .1));padding:1px 6px;border-radius:8px}.item-progress[data-v-93863e36]{font-size:.75rem;color:var(--text-muted);background:var(--bg);padding:2px 8px;border-radius:10px;flex-shrink:0}.item-more[data-v-93863e36]{display:flex;align-items:center;justify-content:center;width:28px;height:28px;padding:0;border:none;background:transparent;color:var(--text-muted);cursor:pointer;border-radius:4px;flex-shrink:0;transition:background-color .15s ease,color .15s ease}.item-more[data-v-93863e36]:hover{background:var(--border);color:var(--text)}@media (max-width: 480px){.category-item[data-v-93863e36]{padding-top:10px;padding-bottom:10px;padding-right:12px}.item-def[data-v-93863e36]{font-size:.8rem}}.loading-state[data-v-5ab2b824]{text-align:center;padding:40px 20px;color:var(--text-muted)}.category-tree[data-v-5ab2b824]{display:flex;flex-direction:column;gap:2px}.category-root[data-v-5ab2b824]{background:var(--card-bg);border:1px solid var(--border);border-radius:var(--radius);overflow:hidden}.category-header.in-deck[data-v-5ab2b824]{box-shadow:inset 3px 0 0 var(--success, #28a745)}.category-header[data-v-5ab2b824]{display:flex;flex-direction:column;padding:12px 14px;cursor:pointer;transition:background-color .15s ease}.category-header[data-v-5ab2b824]:hover{background:var(--bg)}.header-row-1[data-v-5ab2b824]{display:flex;align-items:center;gap:8px}.header-row-2[data-v-5ab2b824]{display:flex;align-items:center;gap:8px;margin-top:2px}.expand-icon[data-v-5ab2b824]{font-size:.7rem;width:14px;flex-shrink:0;color:var(--text-muted)}.row-2-spacer[data-v-5ab2b824]{width:14px;flex-shrink:0}.category-word[data-v-5ab2b824]{font-size:1.1rem;font-weight:500}.category-def[data-v-5ab2b824]{font-size:.85rem;color:var(--text-muted);flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.category-pinyin[data-v-5ab2b824]{font-size:.8rem;color:var(--text-muted)}.category-hsk[data-v-5ab2b824]{font-size:.7rem;color:var(--secondary);background:var(--secondary-light, rgba(99, 102, 241, .1));padding:1px 6px;border-radius:8px}.category-progress[data-v-5ab2b824]{font-size:.75rem;color:var(--text-muted);background:var(--bg);padding:2px 8px;border-radius:10px;flex-shrink:0}.category-more[data-v-5ab2b824]{display:flex;align-items:center;justify-content:center;width:28px;height:28px;padding:0;border:none;background:transparent;color:var(--text-muted);cursor:pointer;border-radius:4px;flex-shrink:0;transition:background-color .15s ease,color .15s ease}.category-more[data-v-5ab2b824]:hover{background:var(--border);color:var(--text)}.category-children[data-v-5ab2b824]{border-top:1px solid var(--border);padding:8px 0}@media (max-width: 480px){.category-def[data-v-5ab2b824]{font-size:.8rem}.category-header[data-v-5ab2b824]{padding:10px 12px}.category-more[data-v-5ab2b824]{width:32px;height:32px}}.explore-view[data-v-267d1aff]{max-width:600px;margin:0 auto}.page-header[data-v-267d1aff]{margin-bottom:16px}.page-title[data-v-267d1aff]{font-size:1.5rem;font-weight:600;margin:0 0 4px;color:var(--text)}.page-subtitle[data-v-267d1aff]{font-size:.9rem;margin:0;color:var(--text-secondary)}.mode-switcher[data-v-267d1aff]{display:flex;gap:0;margin-bottom:8px;border:1px solid var(--border);border-radius:var(--radius);overflow:hidden;width:fit-content}.mode-btn[data-v-267d1aff]{padding:8px 16px;border:none;background:var(--card-bg);color:var(--text);font-size:.875rem;cursor:pointer;transition:all .15s ease}.mode-btn[data-v-267d1aff]:not(:last-child){border-right:1px solid var(--border)}.mode-btn[data-v-267d1aff]:hover:not(.active){background:var(--bg)}.mode-btn.active[data-v-267d1aff]{background:var(--secondary);color:var(--on-primary)}.mode-description[data-v-267d1aff]{font-size:.8rem;color:var(--text-muted);margin:0 0 16px}@media (max-width: 700px){.explore-view[data-v-267d1aff]{padding:0 12px}}@media (max-width: 480px){.mode-switcher[data-v-267d1aff]{width:100%}.mode-btn[data-v-267d1aff]{flex:1;text-align:center}}.settings-view[data-v-027cb706]{max-width:600px;margin:0 auto;padding:0 16px}.success-banner[data-v-027cb706]{display:flex;align-items:center;gap:12px;padding:12px 16px;background:var(--banner-success-bg);border:1px solid var(--banner-success-border);border-radius:var(--radius);color:var(--banner-success-text);margin-bottom:24px}.success-banner svg[data-v-027cb706]{flex-shrink:0;color:var(--banner-success-icon)}.success-banner span[data-v-027cb706]{flex:1}.dismiss-btn[data-v-027cb706]{display:flex;align-items:center;justify-content:center;width:28px;height:28px;padding:0;border:none;border-radius:var(--radius);background:transparent;color:var(--banner-success-text);cursor:pointer;opacity:.7}.dismiss-btn[data-v-027cb706]:hover{opacity:1;background:var(--banner-success-bg)}.settings-section[data-v-027cb706]{margin-bottom:32px}.settings-section h2[data-v-027cb706]{font-size:1rem;font-weight:600;color:var(--text);margin:0 0 16px}.account-info[data-v-027cb706]{background:var(--card-bg);border:1px solid var(--border);border-radius:var(--radius);overflow:hidden}.info-row[data-v-027cb706]{display:flex;justify-content:space-between;align-items:center;padding:12px 16px}.info-row[data-v-027cb706]:not(:last-child){border-bottom:1px solid var(--border)}.info-label[data-v-027cb706]{color:var(--text-muted);font-size:.9rem}.info-value[data-v-027cb706]{color:var(--text);font-size:.9rem}.info-row.clickable[data-v-027cb706]{cursor:pointer;transition:background-color .15s ease;text-decoration:none;color:inherit}.info-row.clickable[data-v-027cb706]:hover{background:var(--bg)}.info-link[data-v-027cb706]{display:flex;align-items:center;gap:4px;color:var(--secondary);font-size:.9rem}.credits-display[data-v-027cb706]{display:flex;flex-direction:column;align-items:center;padding:24px;background:var(--card-bg);border:1px solid var(--border);border-radius:var(--radius);margin-bottom:16px}.credits-amount[data-v-027cb706]{font-size:2.5rem;font-weight:700;color:var(--text);line-height:1}.credits-label[data-v-027cb706]{font-size:.9rem;color:var(--text-muted);margin-top:4px}.credit-packs[data-v-027cb706]{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.pack-btn[data-v-027cb706]{display:flex;flex-direction:column;align-items:center;gap:4px;padding:16px 12px;border:1px solid var(--border);border-radius:var(--radius);background:var(--card-bg);cursor:pointer;transition:border-color .15s ease,background-color .15s ease}.pack-btn[data-v-027cb706]:hover:not(:disabled){border-color:var(--secondary);background:var(--bg)}.pack-btn[data-v-027cb706]:disabled{opacity:.6;cursor:not-allowed}.pack-btn.loading[data-v-027cb706]{opacity:.8}.pack-credits[data-v-027cb706]{font-size:.9rem;font-weight:500;color:var(--text)}.pack-price[data-v-027cb706]{font-size:1.1rem;font-weight:600;color:var(--secondary)}.loading-state[data-v-027cb706],.empty-state[data-v-027cb706]{padding:24px;text-align:center;color:var(--text-muted);background:var(--card-bg);border:1px solid var(--border);border-radius:var(--radius)}.history-list[data-v-027cb706]{background:var(--card-bg);border:1px solid var(--border);border-radius:var(--radius);overflow:hidden}.history-item[data-v-027cb706]{display:flex;justify-content:space-between;align-items:center;padding:12px 16px}.history-item[data-v-027cb706]:not(:last-child){border-bottom:1px solid var(--border)}.history-item.refunded[data-v-027cb706]{opacity:.6}.history-main[data-v-027cb706]{display:flex;flex-direction:column;gap:2px}.history-pack[data-v-027cb706]{font-weight:500;color:var(--text);font-size:.9rem}.history-credits[data-v-027cb706]{font-size:.85rem;color:var(--text-muted)}.history-meta[data-v-027cb706]{display:flex;flex-direction:column;align-items:flex-end;gap:4px}.history-date[data-v-027cb706]{font-size:.85rem;color:var(--text-muted)}.refunded-badge[data-v-027cb706]{font-size:.7rem;font-weight:500;text-transform:uppercase;padding:2px 6px;background:#dc35451a;color:var(--danger);border-radius:4px}.support-info[data-v-027cb706]{background:var(--card-bg);border:1px solid var(--border);border-radius:var(--radius);padding:16px}.support-info p[data-v-027cb706]{margin:0 0 12px;color:var(--text-muted);font-size:.9rem}.support-link[data-v-027cb706]{display:inline-block;color:var(--secondary);font-size:.9rem;text-decoration:none}.support-link[data-v-027cb706]:hover{text-decoration:underline}.legal-links[data-v-027cb706]{display:flex;gap:24px;padding:16px;background:var(--card-bg);border:1px solid var(--border);border-radius:var(--radius)}.legal-link[data-v-027cb706]{color:var(--secondary);font-size:.9rem;text-decoration:none}.legal-link[data-v-027cb706]:hover{text-decoration:underline}.theme-options[data-v-027cb706]{display:flex;gap:8px}.theme-option[data-v-027cb706]{flex:1;padding:10px 16px;border:1px solid var(--border);border-radius:var(--radius);background:var(--card-bg);color:var(--text);font-size:.9rem;cursor:pointer;transition:border-color .15s ease,background-color .15s ease}.theme-option[data-v-027cb706]:hover{border-color:var(--border-hover)}.theme-option.active[data-v-027cb706]{border-color:var(--secondary);color:var(--secondary);font-weight:600}@media (max-width: 480px){.credit-packs[data-v-027cb706]{grid-template-columns:1fr}.pack-btn[data-v-027cb706]{flex-direction:row;justify-content:space-between}}.legal-page[data-v-a229de71]{max-width:700px;margin:0 auto;padding:0 16px 48px}.back-btn[data-v-a229de71]{display:flex;align-items:center;gap:4px;padding:8px 12px;margin-bottom:24px;border:1px solid var(--border);border-radius:var(--radius);background:var(--card-bg);color:var(--text);font-size:.9rem;text-decoration:none;cursor:pointer;transition:background-color .15s ease}.back-btn[data-v-a229de71]:hover{background:var(--bg)}h1[data-v-a229de71]{font-size:1.75rem;font-weight:700;color:var(--text);margin:0 0 8px}.last-updated[data-v-a229de71]{color:var(--text-muted);font-size:.85rem;margin:0 0 32px}.tldr-section[data-v-a229de71]{background:color-mix(in srgb,var(--secondary) 8%,transparent);border:1px solid color-mix(in srgb,var(--secondary) 20%,transparent);border-radius:var(--radius);padding:20px;margin-bottom:32px}.tldr-section h2[data-v-a229de71]{font-size:1rem;font-weight:600;color:var(--secondary);margin:0 0 12px}.tldr-content ul[data-v-a229de71]{margin:0;padding-left:20px}.tldr-content li[data-v-a229de71]{color:var(--text);font-size:.9rem;line-height:1.6;margin-bottom:8px}.tldr-content li[data-v-a229de71]:last-child{margin-bottom:0}.legal-section[data-v-a229de71]{margin-bottom:28px}.legal-section h2[data-v-a229de71]{font-size:1.1rem;font-weight:600;color:var(--text);margin:0 0 12px}.legal-section h3[data-v-a229de71]{font-size:.95rem;font-weight:600;color:var(--text);margin:16px 0 8px}.legal-section p[data-v-a229de71]{color:var(--text);font-size:.9rem;line-height:1.6;margin:0 0 12px}.legal-section ul[data-v-a229de71]{margin:0 0 12px;padding-left:20px}.legal-section li[data-v-a229de71]{color:var(--text);font-size:.9rem;line-height:1.6;margin-bottom:4px}.legal-section a[data-v-a229de71]{color:var(--secondary);text-decoration:none}.legal-section a[data-v-a229de71]:hover{text-decoration:underline}.legal-page[data-v-eb93cf7a]{max-width:700px;margin:0 auto;padding:0 16px 48px}.back-btn[data-v-eb93cf7a]{display:flex;align-items:center;gap:4px;padding:8px 12px;margin-bottom:24px;border:1px solid var(--border);border-radius:var(--radius);background:var(--card-bg);color:var(--text);font-size:.9rem;text-decoration:none;cursor:pointer;transition:background-color .15s ease}.back-btn[data-v-eb93cf7a]:hover{background:var(--bg)}h1[data-v-eb93cf7a]{font-size:1.75rem;font-weight:700;color:var(--text);margin:0 0 8px}.last-updated[data-v-eb93cf7a]{color:var(--text-muted);font-size:.85rem;margin:0 0 32px}.tldr-section[data-v-eb93cf7a]{background:color-mix(in srgb,var(--secondary) 8%,transparent);border:1px solid color-mix(in srgb,var(--secondary) 20%,transparent);border-radius:var(--radius);padding:20px;margin-bottom:32px}.tldr-section h2[data-v-eb93cf7a]{font-size:1rem;font-weight:600;color:var(--secondary);margin:0 0 12px}.tldr-content ul[data-v-eb93cf7a]{margin:0;padding-left:20px}.tldr-content li[data-v-eb93cf7a]{color:var(--text);font-size:.9rem;line-height:1.6;margin-bottom:8px}.tldr-content li[data-v-eb93cf7a]:last-child{margin-bottom:0}.legal-section[data-v-eb93cf7a]{margin-bottom:28px}.legal-section h2[data-v-eb93cf7a]{font-size:1.1rem;font-weight:600;color:var(--text);margin:0 0 12px}.legal-section h3[data-v-eb93cf7a]{font-size:.95rem;font-weight:600;color:var(--text);margin:16px 0 8px}.legal-section p[data-v-eb93cf7a]{color:var(--text);font-size:.9rem;line-height:1.6;margin:0 0 12px}.legal-section ul[data-v-eb93cf7a]{margin:0 0 12px;padding-left:20px}.legal-section li[data-v-eb93cf7a]{color:var(--text);font-size:.9rem;line-height:1.6;margin-bottom:4px}.legal-section a[data-v-eb93cf7a]{color:var(--secondary);text-decoration:none}.legal-section a[data-v-eb93cf7a]:hover{text-decoration:underline}.user-avatar[data-v-ea227f7d]{position:relative;cursor:pointer}.avatar-circle[data-v-ea227f7d]{width:36px;height:36px;border-radius:50%;background:var(--secondary);color:var(--on-primary);display:flex;align-items:center;justify-content:center;font-size:.8rem;font-weight:600;transition:opacity .15s ease}.avatar-circle[data-v-ea227f7d]:hover{opacity:.9}.avatar-dropdown-backdrop[data-v-ea227f7d]{position:fixed;top:0;right:0;bottom:0;left:0;z-index:999}.avatar-dropdown[data-v-ea227f7d]{position:fixed;z-index:1000;min-width:200px;background:var(--card-bg);border:1px solid var(--border);border-radius:var(--radius);box-shadow:0 4px 12px #00000026;padding:12px}.dropdown-header[data-v-ea227f7d]{margin-bottom:8px}.dropdown-header strong[data-v-ea227f7d]{font-size:.95rem;color:var(--text)}.dropdown-credits[data-v-ea227f7d]{padding:8px;background:var(--bg);border-radius:var(--radius);margin-bottom:12px;font-size:.9rem;text-align:center}.dropdown-credits .no-credits[data-v-ea227f7d]{color:var(--text-muted)}.dropdown-btn[data-v-ea227f7d]{display:block;width:100%;padding:8px 12px;margin-bottom:8px;border:none;border-radius:var(--radius);background:var(--secondary);color:var(--on-primary);font-size:.85rem;cursor:pointer;transition:background-color .15s ease;text-decoration:none;text-align:center;box-sizing:border-box}.dropdown-btn[data-v-ea227f7d]:hover{opacity:.9}.dropdown-btn[data-v-ea227f7d]:last-child{margin-bottom:0}.dropdown-btn-secondary[data-v-ea227f7d]{background:var(--bg);color:var(--text);border:1px solid var(--border)}.dropdown-btn-secondary[data-v-ea227f7d]:hover{background:var(--border)}.login-container[data-v-0180b4d0]{display:flex;align-items:center;justify-content:center}.loading-indicator[data-v-0180b4d0]{width:36px;height:36px;display:flex;align-items:center;justify-content:center}.loading-dot[data-v-0180b4d0]{width:8px;height:8px;background:var(--text-muted);border-radius:50%;animation:pulse-0180b4d0 1.2s ease-in-out infinite}@keyframes pulse-0180b4d0{0%,to{opacity:.4}50%{opacity:1}}.sign-in-btn[data-v-0180b4d0]{padding:8px 16px;background:var(--secondary);color:var(--on-primary);border:none;border-radius:var(--radius);cursor:pointer;font-size:.85rem;font-weight:500;transition:opacity .15s ease}.sign-in-btn[data-v-0180b4d0]:hover{opacity:.9}.chat-menu[data-v-b20578f2]{position:relative}.chat-menu-btn[data-v-b20578f2]{display:flex;align-items:center;gap:6px;height:44px;padding:0 12px;border:1px solid var(--border);background:var(--card-bg);color:var(--text);border-radius:var(--radius);cursor:pointer;font-size:.85rem;transition:background .15s ease,border-color .15s ease}.chat-menu-btn[data-v-b20578f2]:hover{background:var(--bg);border-color:var(--text-muted)}.split-button[data-v-b20578f2]{display:flex;align-items:stretch}.split-main[data-v-b20578f2]{display:flex;align-items:center;gap:6px;height:44px;padding:0 12px;border:1px solid var(--border);border-right:none;background:var(--card-bg);color:var(--text);border-radius:var(--radius) 0 0 var(--radius);cursor:pointer;font-size:.85rem;transition:background .15s ease,border-color .15s ease}.split-main[data-v-b20578f2]:hover{background:var(--bg)}.split-dropdown[data-v-b20578f2]{display:flex;align-items:center;justify-content:center;width:32px;height:44px;padding:0;border:1px solid var(--border);border-left:1px solid var(--border);background:var(--card-bg);color:var(--text-muted);border-radius:0 var(--radius) var(--radius) 0;cursor:pointer;transition:background .15s ease,border-color .15s ease}.split-dropdown[data-v-b20578f2]:hover{background:var(--bg);color:var(--text)}.btn-label[data-v-b20578f2]{font-weight:500}.chevron[data-v-b20578f2]{transition:transform .15s ease}.chevron.open[data-v-b20578f2]{transform:rotate(180deg)}.chat-menu-backdrop[data-v-b20578f2]{position:fixed;top:0;right:0;bottom:0;left:0;z-index:999}.chat-menu-dropdown[data-v-b20578f2]{position:fixed;z-index:1000;min-width:200px;max-width:280px;background:var(--card-bg);border:1px solid var(--border);border-radius:var(--radius);box-shadow:0 4px 12px #00000026;padding:4px}.menu-item[data-v-b20578f2]{display:flex;align-items:center;gap:10px;width:100%;min-height:44px;padding:0 12px;border:none;background:transparent;color:var(--text);font-size:.9rem;border-radius:calc(var(--radius) - 2px);cursor:pointer;transition:background .15s ease;text-align:left}.menu-item[data-v-b20578f2]:hover{background:var(--bg)}.menu-item svg[data-v-b20578f2]{flex-shrink:0;color:var(--text-muted)}.thread-item[data-v-b20578f2]{flex-direction:column;align-items:flex-start;gap:0}.thread-info[data-v-b20578f2]{display:flex;flex-direction:column;gap:2px;width:100%;min-width:0}.thread-title[data-v-b20578f2]{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:.9rem}.thread-date[data-v-b20578f2]{font-size:.75rem;color:var(--text-muted)}.menu-divider[data-v-b20578f2]{height:1px;background:var(--border);margin:4px 0}.chat-message[data-v-04af5787]{font-size:.9rem;line-height:1.5}.chat-message.out-of-context[data-v-04af5787]{opacity:.5}.chat-message.out-of-context .message-role[data-v-04af5787]:after{content:" (not in AI memory)";font-weight:400;font-size:.65rem;opacity:.7}.message-header[data-v-04af5787]{display:flex;align-items:center;gap:8px;margin-bottom:4px}.message-role[data-v-04af5787]{font-size:.75rem;font-weight:500;text-transform:uppercase;letter-spacing:.5px;color:var(--text-muted)}.branch-nav[data-v-04af5787]{display:flex;align-items:center;gap:4px;font-size:.75rem;color:var(--text-muted)}.branch-btn[data-v-04af5787]{display:flex;align-items:center;justify-content:center;width:28px;height:28px;padding:0;border:none;background:var(--bg);color:var(--text-muted);border-radius:4px;cursor:pointer;font-size:.8rem;font-weight:600}.branch-btn[data-v-04af5787]:hover:not(:disabled),.branch-btn[data-v-04af5787]:active:not(:disabled){background:var(--border);color:var(--text)}.branch-btn[data-v-04af5787]:disabled{opacity:.3;cursor:not-allowed}.branch-counter[data-v-04af5787]{min-width:28px;text-align:center;font-size:.7rem}.edit-btn[data-v-04af5787]{display:flex;align-items:center;justify-content:center;width:32px;height:32px;padding:0;border:none;background:transparent;color:var(--text-muted);border-radius:4px;cursor:pointer;opacity:.4;transition:opacity .15s,background .15s,color .15s;margin:-4px}@media (hover: hover){.edit-btn[data-v-04af5787]{opacity:0}.chat-message:hover .edit-btn[data-v-04af5787]{opacity:1}}.edit-btn[data-v-04af5787]:hover,.edit-btn[data-v-04af5787]:active{background:var(--bg);color:var(--text);opacity:1}.message-content[data-v-04af5787]{color:var(--text)}.message-content[data-v-04af5787] a{color:var(--secondary)}.message-content[data-v-04af5787] a:hover{text-decoration:underline}.message-content[data-v-04af5787] p{margin:0 0 8px}.message-content[data-v-04af5787] p:last-child{margin-bottom:0}.message-content[data-v-04af5787] code{background:var(--bg);padding:1px 4px;border-radius:3px;font-size:.85em}.message-content[data-v-04af5787] pre{background:var(--bg);padding:8px;border-radius:var(--radius);overflow-x:auto;margin:8px 0}.message-content[data-v-04af5787] ul,.message-content[data-v-04af5787] ol{margin:8px 0;padding-left:20px}.chat-message.command-result[data-v-04af5787]{font-size:.8rem;opacity:.8}.chat-message.command-result .message-role[data-v-04af5787]{color:var(--secondary)}.command-output[data-v-04af5787]{background:var(--bg);border-radius:var(--radius);padding:8px;overflow-x:auto}.command-output pre[data-v-04af5787]{margin:0;font-size:.8rem;white-space:pre-wrap;word-break:break-word}.edit-textarea[data-v-04af5787]{width:100%;padding:8px 12px;border:1px solid var(--border);border-radius:var(--radius);background:var(--card-bg);color:var(--text);font-size:.9rem;line-height:1.4;resize:none;min-height:60px;max-height:200px;font-family:inherit}.edit-textarea[data-v-04af5787]:focus{outline:none;border-color:var(--secondary)}.edit-actions[data-v-04af5787]{display:flex;gap:8px;justify-content:flex-end;margin-top:8px}.message-content[data-v-04af5787] .graph-block{margin:8px 0;border:1px solid var(--border);border-radius:var(--radius);font-size:.85rem}.message-content[data-v-04af5787] .graph-block summary{padding:6px 10px;cursor:pointer;color:var(--text-muted);font-style:italic;-webkit-user-select:none;user-select:none}.message-content[data-v-04af5787] .graph-block summary:hover{color:var(--text)}.message-content[data-v-04af5787] .graph-block pre{margin:0;padding:8px 10px;border-top:1px solid var(--border);font-size:.8em;max-height:300px;overflow:auto}.message-content[data-v-04af5787] .graph-build-log{margin:8px 0;border:1px solid var(--border);border-radius:var(--radius);font-size:.85rem}.message-content[data-v-04af5787] .graph-build-log>summary{padding:6px 10px;cursor:pointer;color:var(--text-muted);font-style:italic}.message-content[data-v-04af5787] .graph-build-log>p,.message-content[data-v-04af5787] .graph-build-log>.graph-block{margin-left:10px;margin-right:10px}.message-content[data-v-04af5787] .inline-speak{display:inline;margin-left:2px;font-size:.7em;color:var(--text-muted);opacity:.4;cursor:pointer;transition:opacity .15s ease,color .15s ease;-webkit-user-select:none;user-select:none;vertical-align:middle}.message-content[data-v-04af5787] .inline-speak:hover{opacity:1;color:var(--secondary)}.build-log[data-v-856713c9]{font-size:.75rem;color:var(--text-muted);margin:-8px 0}.build-log>details[data-v-856713c9]{border-left:2px solid var(--border);padding-left:8px}.build-log>details>summary[data-v-856713c9]{cursor:pointer;-webkit-user-select:none;user-select:none;font-style:italic}.build-log>details>summary[data-v-856713c9]:hover{color:var(--text)}.log-actions[data-v-856713c9]{display:flex;align-items:center;gap:8px;margin:8px 0 0}.copy-status[data-v-856713c9]{font-size:.75rem}.build-status[data-v-856713c9]{color:var(--text-muted);font-style:italic}.build-step[data-v-856713c9]{margin:4px 0}.build-step[data-v-856713c9] p{margin:0}.build-step-live[data-v-856713c9]{margin:4px 0;color:var(--text-muted)}.build-done[data-v-856713c9]{margin-top:8px}.graph-block[data-v-856713c9]{margin:8px 0;border:1px solid var(--border);border-radius:var(--radius);font-size:.85rem}.graph-block summary[data-v-856713c9]{padding:6px 10px;cursor:pointer;color:var(--text-muted);font-style:italic;-webkit-user-select:none;user-select:none}.graph-block pre[data-v-856713c9]{margin:0;padding:8px 10px;border-top:1px solid var(--border);font-size:.8em;max-height:300px;overflow:auto}.graph-block>pre[data-v-856713c9]:first-child{border-top:none}.graph-block-live[data-v-856713c9]{margin:8px 0;border:1px solid var(--border);border-radius:var(--radius);font-size:.85rem}.graph-block-live pre[data-v-856713c9]{margin:0;padding:8px 10px;font-size:.8em;white-space:pre-wrap;word-wrap:break-word}.node-preview-headline[data-v-a5db9117]{margin-top:4px;display:flex;flex-wrap:wrap;align-items:baseline;gap:8px}.node-preview-actions-inline[data-v-a5db9117]{margin-left:auto;display:flex;gap:6px}.node-preview-hanzi[data-v-a5db9117]{font-size:1.2rem;font-weight:600;line-height:1.2;color:var(--text);font-family:Noto Sans SC,-apple-system,sans-serif}.node-preview-speak[data-v-a5db9117]{display:inline;font-size:.7em;color:var(--text-muted);opacity:.4;cursor:pointer;transition:opacity .15s ease,color .15s ease;-webkit-user-select:none;user-select:none;vertical-align:middle;margin-left:-4px}.node-preview-speak[data-v-a5db9117]:hover{opacity:1;color:var(--secondary)}.node-preview-pinyin[data-v-a5db9117]{font-size:.8rem;color:var(--text-muted)}.node-preview-meaning[data-v-a5db9117]{margin-top:6px;line-height:1.45}.node-preview-multi-row[data-v-a5db9117]{margin-top:4px}.node-preview-section[data-v-a5db9117]{margin-top:10px}.node-preview-section-header[data-v-a5db9117]{display:flex;align-items:center;justify-content:space-between;gap:8px}.node-preview-section-label[data-v-a5db9117]{font-size:.7rem;text-transform:uppercase;letter-spacing:.5px;color:var(--text-muted)}.node-preview-examples[data-v-a5db9117]{margin:6px 0 0;padding-left:18px}.node-preview-examples li[data-v-a5db9117]{margin-bottom:4px;line-height:1.4}.node-preview-examples li[data-v-a5db9117] p{margin:0;display:inline}.node-preview-examples li[data-v-a5db9117] .inline-speak{display:inline;margin-left:2px;font-size:.7em;color:var(--text-muted);opacity:.4;cursor:pointer;transition:opacity .15s ease,color .15s ease;-webkit-user-select:none;user-select:none;vertical-align:middle}.node-preview-examples li[data-v-a5db9117] .inline-speak:hover{opacity:1;color:var(--secondary)}.node-preview-neighbors[data-v-a5db9117]{margin-top:6px;display:flex;flex-wrap:wrap;gap:6px}.node-preview-chip[data-v-a5db9117]{border:1px solid var(--border);background:var(--bg);color:var(--text);border-radius:999px;padding:4px 10px;font-family:Noto Sans SC,-apple-system,sans-serif;font-size:.75rem;cursor:pointer}.node-preview-chip[data-v-a5db9117]:hover{border-color:var(--border-hover)}.node-preview-chip[data-v-a5db9117]:active{background:var(--card-bg);border-color:var(--border-hover)}.node-preview-empty[data-v-a5db9117]{margin-top:6px;color:var(--text-muted);font-size:.8rem}.node-preview-bottom-actions[data-v-a5db9117]{margin-top:10px;display:flex;gap:8px}@media (max-width: 480px){.node-preview-hanzi[data-v-a5db9117]{font-size:1.1rem}}.chat-message[data-v-3fec86c9]{font-size:.9rem;line-height:1.5}.chat-message .message-header[data-v-3fec86c9]{display:flex;align-items:center;gap:8px;margin-bottom:4px}.chat-message .message-role[data-v-3fec86c9]{font-size:.75rem;font-weight:500;text-transform:uppercase;letter-spacing:.5px;color:var(--text-muted)}.chat-message .message-content[data-v-3fec86c9]{color:var(--text)}.selected-node-context[data-v-3fec86c9]{border:1px solid var(--border);border-radius:var(--radius);background:var(--card-bg);padding:10px}.card-chat[data-v-755c609e]{display:flex;flex-direction:column;height:100%;background:var(--card-bg)}.chat-header[data-v-755c609e]{display:flex;justify-content:space-between;align-items:center;padding:5px 12px;border-bottom:1px solid var(--border)}.chat-title[data-v-755c609e]{font-weight:600;font-size:1.1rem;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}.chat-actions[data-v-755c609e]{display:flex;gap:8px}.btn-icon[data-v-755c609e]{display:flex;align-items:center;justify-content:center;width:36px;height:36px;padding:0;border:none;background:transparent;color:var(--text-muted);border-radius:var(--radius);cursor:pointer}.btn-icon[data-v-755c609e]:hover{background:var(--bg);color:var(--text)}.chat-messages[data-v-755c609e]{flex:1;overflow-y:auto;padding:16px;display:flex;flex-direction:column;gap:16px}.chat-empty[data-v-755c609e]{color:var(--text-muted);font-size:.9rem;padding:20px 0}.tool-result[data-v-755c609e]{font-size:.75rem;color:var(--text-muted);margin:-8px 0}.tool-result details[data-v-755c609e]{border-left:2px solid var(--border);padding-left:8px}.tool-result summary[data-v-755c609e]{cursor:pointer;-webkit-user-select:none;user-select:none;font-style:italic}.tool-result summary[data-v-755c609e]:hover{color:var(--text)}.tool-result pre[data-v-755c609e]{margin:4px 0 0;padding:6px 8px;background:var(--bg);border-radius:var(--radius);font-size:.8em;white-space:pre-wrap;word-break:break-word;max-height:200px;overflow:auto}.chat-empty p[data-v-755c609e]{margin:0}.context-card[data-v-755c609e]{background:var(--bg);border:1px solid var(--border);border-radius:var(--radius);padding:12px;margin-bottom:16px;font-size:.85rem}.context-header[data-v-755c609e]{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.context-label[data-v-755c609e]{font-size:.7rem;text-transform:uppercase;letter-spacing:.5px;color:var(--text-muted)}.context-content[data-v-755c609e]{color:var(--text);max-height:200px;overflow-y:auto}.context-content[data-v-755c609e] h1,.context-content[data-v-755c609e] h2{font-size:1rem;margin:8px 0 4px}.context-content[data-v-755c609e] h1:first-child,.context-content[data-v-755c609e] h2:first-child{margin-top:0}.context-content[data-v-755c609e] p{margin:4px 0}.context-content[data-v-755c609e] ul{margin:4px 0;padding-left:16px}.island-context-content[data-v-755c609e]{max-height:360px}.island-title[data-v-755c609e]{font-weight:500}.island-title-context[data-v-755c609e]{color:var(--text-muted);font-weight:400;font-size:.85rem}.island-meta[data-v-755c609e]{color:var(--text-muted);font-size:.8rem;margin-top:2px}@media (max-width: 480px){.island-context-content[data-v-755c609e]{max-height:300px}}.chat-message[data-v-755c609e]{font-size:.9rem;line-height:1.5}.chat-message .message-header[data-v-755c609e]{display:flex;align-items:center;gap:8px;margin-bottom:4px}.chat-message .message-role[data-v-755c609e]{font-size:.75rem;font-weight:500;text-transform:uppercase;letter-spacing:.5px;color:var(--text-muted)}.chat-message .message-content[data-v-755c609e]{color:var(--text)}.chat-message .message-content[data-v-755c609e] p{margin:0 0 8px}.chat-message .message-content[data-v-755c609e] p:last-child{margin-bottom:0}.chat-message .message-content[data-v-755c609e] code{background:var(--bg);padding:1px 4px;border-radius:3px;font-size:.85em}.chat-message .message-content[data-v-755c609e] pre{background:var(--bg);padding:8px;border-radius:var(--radius);overflow-x:auto;margin:8px 0}.chat-message .message-content[data-v-755c609e] ul,.chat-message .message-content[data-v-755c609e] ol{margin:8px 0;padding-left:20px}.chat-message .message-content[data-v-755c609e] .graph-block{margin:8px 0;border:1px solid var(--border);border-radius:var(--radius);font-size:.85rem}.chat-message .message-content[data-v-755c609e] .graph-block summary{padding:6px 10px;cursor:pointer;color:var(--text-muted);font-style:italic;-webkit-user-select:none;user-select:none}.chat-message .message-content[data-v-755c609e] .graph-block pre{margin:0;padding:8px 10px;border-top:1px solid var(--border);font-size:.8em;max-height:300px;overflow:auto}.chat-message .message-content[data-v-755c609e] .graph-block>pre:first-child{border-top:none}.chat-message .message-content[data-v-755c609e] .graph-block-live{margin:8px 0;border:1px solid var(--border);border-radius:var(--radius);font-size:.85rem}.chat-message .message-content[data-v-755c609e] .graph-block-live pre{margin:0;padding:8px 10px;font-size:.8em;white-space:pre-wrap;word-wrap:break-word}.typing-indicator[data-v-755c609e]{display:inline-flex;gap:4px}.typing-indicator span[data-v-755c609e]{width:5px;height:5px;background:var(--text-muted);border-radius:50%;animation:typing-755c609e 1.4s ease-in-out infinite}.typing-indicator span[data-v-755c609e]:nth-child(2){animation-delay:.2s}.typing-indicator span[data-v-755c609e]:nth-child(3){animation-delay:.4s}@keyframes typing-755c609e{0%,60%,to{opacity:.3}30%{opacity:1}}.verifying-label[data-v-755c609e]{font-size:.8rem;font-style:italic;color:var(--text-muted)}.action-prompt[data-v-755c609e]{margin-top:12px;padding-top:12px;border-top:1px solid var(--border);display:flex;gap:8px;align-items:center}.action-status[data-v-755c609e]{font-size:.85rem;color:var(--text-muted)}.action-applied[data-v-755c609e]{margin-top:8px;font-size:.8rem;color:var(--text-muted)}.profile-cta[data-v-755c609e]{margin-top:10px;font-size:.8rem;color:var(--text-muted)}.profile-cta a[data-v-755c609e]{color:var(--secondary);cursor:pointer}.profile-cta a[data-v-755c609e]:hover{text-decoration:underline}.chat-input-area[data-v-755c609e]{border-top:1px solid var(--border);padding-bottom:env(safe-area-inset-bottom,0px)}.chat-input-container[data-v-755c609e]{display:flex;align-items:flex-end;gap:8px;padding:12px 16px 8px}.credits-indicator[data-v-755c609e]{display:flex;align-items:center;justify-content:flex-end;gap:8px;padding:0 16px 8px;font-size:.75rem;color:var(--text-muted);opacity:.6}.credits-indicator.low[data-v-755c609e]{opacity:1;color:var(--text)}.credits-indicator.empty[data-v-755c609e]{opacity:1;color:var(--danger)}.get-more-link[data-v-755c609e]{background:none;border:none;color:var(--secondary);font-size:.75rem;cursor:pointer;padding:0}.get-more-link[data-v-755c609e]:hover{text-decoration:underline}.chat-input[data-v-755c609e]{flex:1;padding:8px 12px;border:1px solid var(--border);border-radius:var(--radius);background:var(--card-bg);color:var(--text);font-size:.9rem;line-height:1.4;resize:none;max-height:120px;font-family:inherit}.chat-input[data-v-755c609e]:focus{outline:none;border-color:var(--secondary)}.chat-input[data-v-755c609e]::placeholder{color:var(--text-muted)}.send-btn[data-v-755c609e]{flex-shrink:0}.stop-btn[data-v-755c609e]{background:var(--bg-tertiary);color:var(--text-secondary);border-color:var(--border-color)}.chat-input-login[data-v-755c609e]{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;color:var(--text-muted);font-size:.9rem}.chat-history[data-v-755c609e]{flex:1;overflow-y:auto;padding:8px}.history-empty[data-v-755c609e]{padding:20px 16px;color:var(--text-muted);font-size:.9rem}.history-list[data-v-755c609e]{display:flex;flex-direction:column;gap:2px}.history-item[data-v-755c609e]{padding:12px 16px;border-radius:var(--radius);cursor:pointer;transition:background .15s}.history-item[data-v-755c609e]:hover{background:var(--bg)}.history-item.active[data-v-755c609e]{background:var(--bg);border-left:2px solid var(--secondary)}.history-title[data-v-755c609e]{font-size:.9rem;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.history-date[data-v-755c609e]{font-size:.75rem;color:var(--text-muted);margin-top:2px}.thread-list-container[data-v-5f716ab9]{display:flex;flex-direction:column;flex:1;min-height:0;overflow:hidden}.section-header[data-v-5f716ab9]{padding:12px 16px 8px;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:var(--text-muted);flex-shrink:0}.thread-list[data-v-5f716ab9]{flex:1;overflow-y:auto;padding:0 8px;min-height:0}.thread-empty[data-v-5f716ab9]{padding:12px 8px;font-size:.85rem;color:var(--text-muted);text-align:center}.thread-item[data-v-5f716ab9]{display:flex;align-items:center;justify-content:space-between;padding:10px 8px;border-radius:var(--radius);cursor:pointer;transition:background-color .15s ease}.thread-item[data-v-5f716ab9]:hover{background:var(--bg)}.thread-title[data-v-5f716ab9]{flex:1;font-size:.85rem;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.thread-delete-btn[data-v-5f716ab9]{display:flex;align-items:center;justify-content:center;width:24px;height:24px;padding:0;border:none;border-radius:var(--radius);background:transparent;color:var(--text-muted);cursor:pointer;opacity:0;transition:opacity .15s ease,background-color .15s ease,color .15s ease}.thread-item:hover .thread-delete-btn[data-v-5f716ab9]{opacity:1}.thread-delete-btn[data-v-5f716ab9]:hover{background:#dc35451a;color:var(--danger)}.heatmap-container[data-v-f01f4769]{overflow:hidden}.heatmap-months[data-v-f01f4769]{display:grid;grid-template-rows:1fr;gap:2px;font-size:.7rem;color:var(--text-muted);margin-bottom:4px;padding-left:26px}.month-label[data-v-f01f4769]{grid-row:1}.day-label[data-v-f01f4769]{font-size:.65rem;color:var(--text-muted);display:flex;align-items:center;position:sticky;left:0;z-index:1}.heatmap-grid[data-v-f01f4769]{display:grid;grid-template-rows:repeat(7,1fr);grid-auto-flow:column;gap:2px}.heatmap-cell[data-v-f01f4769]{aspect-ratio:1;width:100%;border-radius:2px;cursor:default}.heatmap-cell.level--1[data-v-f01f4769]{background:transparent}.heatmap-cell.level-0[data-v-f01f4769]{background:var(--heatmap-0)}.heatmap-cell.level-1[data-v-f01f4769]{background:var(--heatmap-1)}.heatmap-cell.level-2[data-v-f01f4769]{background:var(--heatmap-2)}.heatmap-cell.level-3[data-v-f01f4769]{background:var(--heatmap-3)}.heatmap-cell.level-4[data-v-f01f4769]{background:var(--heatmap-4)}.heatmap-legend[data-v-f01f4769]{display:flex;align-items:center;gap:3px;justify-content:flex-end;margin-top:6px}.heatmap-legend .legend-text[data-v-f01f4769]{font-size:.7rem;color:var(--text-muted);margin:0 2px}.heatmap-legend .heatmap-cell[data-v-f01f4769]{width:10px;height:10px}.stats-view[data-v-27752187]{max-width:600px;margin:0 auto;padding:0 16px}.loading-view[data-v-27752187]{text-align:center;padding:60px 20px;color:var(--text-muted)}.stats-section[data-v-27752187]{margin-bottom:28px}.section-title[data-v-27752187]{font-size:.85rem;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:var(--text-muted);margin:0 0 12px}.empty-hint[data-v-27752187]{color:var(--text-muted);font-size:.9rem;margin:0}.facet-bars[data-v-27752187]{display:flex;flex-direction:column;gap:10px}.facet-row[data-v-27752187]{display:flex;align-items:center;gap:10px}.facet-label[data-v-27752187]{width:64px;font-size:.85rem;color:var(--text);flex-shrink:0}.bar-track[data-v-27752187]{flex:1;height:20px;background:var(--bg);border-radius:4px;overflow:hidden}.bar-fill[data-v-27752187]{height:100%;border-radius:4px;transition:width .3s ease;min-width:2px}.bar-fill.meaning[data-v-27752187]{background:var(--secondary)}.bar-fill.pinyin[data-v-27752187]{background:var(--success)}.bar-fill.tone[data-v-27752187]{background:var(--warning)}.bar-fill.answer[data-v-27752187]{background:var(--primary, #4a9eff)}.bar-fill.due[data-v-27752187]{background:var(--secondary)}.facet-pct[data-v-27752187]{width:40px;text-align:right;font-size:.85rem;font-weight:500;color:var(--text);flex-shrink:0}.tone-warning[data-v-27752187]{margin:8px 0 0;padding:8px 12px;background:#f39c121a;border:1px solid rgba(243,156,18,.3);border-radius:var(--radius);font-size:.85rem;color:var(--text)}.today-row[data-v-27752187]{display:flex;gap:12px}.today-stat[data-v-27752187]{flex:1;display:flex;flex-direction:column;align-items:center;padding:12px 8px;background:var(--card-bg);border:1px solid var(--border);border-radius:var(--radius)}.today-value[data-v-27752187]{font-size:1.25rem;font-weight:600;color:var(--text)}.today-label[data-v-27752187]{font-size:.75rem;color:var(--text-muted);margin-top:2px}.forecast-list[data-v-27752187]{display:flex;flex-direction:column;gap:6px}.forecast-row[data-v-27752187]{display:flex;align-items:center;gap:10px}.forecast-row.today[data-v-27752187]{font-weight:600}.forecast-day[data-v-27752187]{width:72px;font-size:.85rem;color:var(--text);flex-shrink:0}.forecast-bar[data-v-27752187]{height:16px}.forecast-count[data-v-27752187]{width:32px;text-align:right;font-size:.85rem;color:var(--text-muted);flex-shrink:0}.forecast-note[data-v-27752187]{margin:8px 0 0;font-size:.8rem;color:var(--text-muted)}.state-bar[data-v-27752187]{display:flex;height:24px;border-radius:4px;overflow:hidden;background:var(--bg)}.state-segment[data-v-27752187]{transition:width .3s ease;min-width:2px}.state-segment.new[data-v-27752187]{background:var(--text-muted)}.state-segment.learning[data-v-27752187]{background:var(--warning)}.state-segment.review[data-v-27752187]{background:var(--success)}.state-segment.relearning[data-v-27752187]{background:var(--danger)}.state-legend[data-v-27752187]{display:flex;flex-wrap:wrap;gap:12px;margin-top:8px}.legend-item[data-v-27752187]{display:flex;align-items:center;gap:4px;font-size:.8rem;color:var(--text-muted)}.legend-dot[data-v-27752187]{width:10px;height:10px;border-radius:2px;flex-shrink:0}.legend-dot.new[data-v-27752187]{background:var(--text-muted)}.legend-dot.learning[data-v-27752187]{background:var(--warning)}.legend-dot.review[data-v-27752187]{background:var(--success)}.legend-dot.relearning[data-v-27752187]{background:var(--danger)}.leech-filters[data-v-27752187]{display:flex;gap:6px;margin-bottom:12px}.filter-btn[data-v-27752187]{padding:5px 12px;border:1px solid var(--border);border-radius:var(--radius);background:var(--card-bg);color:var(--text-muted);font-size:.8rem;cursor:pointer;transition:background-color .15s ease,color .15s ease,border-color .15s ease}.filter-btn[data-v-27752187]:hover{background:var(--bg);color:var(--text)}.filter-btn.active[data-v-27752187]{background:var(--secondary);color:var(--on-primary);border-color:var(--secondary)}.leech-list[data-v-27752187]{display:flex;flex-direction:column;gap:6px}.leech-item[data-v-27752187]{display:flex;align-items:center;gap:10px;padding:10px 12px;background:var(--card-bg);border:1px solid var(--border);border-radius:var(--radius);text-decoration:none;color:var(--text);cursor:pointer;transition:background-color .15s ease,border-color .15s ease}.leech-item[data-v-27752187]:hover{background:var(--bg);border-color:var(--border-hover)}.leech-char[data-v-27752187]{font-size:1.1rem;font-weight:500;min-width:40px}.leech-badge[data-v-27752187]{padding:2px 6px;border-radius:4px;font-size:.7rem;font-weight:500;text-transform:uppercase}.leech-badge.meaning[data-v-27752187]{background:color-mix(in srgb,var(--secondary) 15%,transparent);color:var(--secondary)}.leech-badge.pinyin[data-v-27752187]{background:#28a74526;color:var(--success)}.leech-badge.tone[data-v-27752187]{background:#f39c1226;color:var(--warning)}.leech-lapses[data-v-27752187]{font-size:.8rem;color:var(--text-muted)}.leech-struggle[data-v-27752187]{margin-left:auto;font-size:.8rem;color:var(--text-muted)}.section-header[data-v-27752187]{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.section-header .section-title[data-v-27752187]{margin:0}.heatmap-mode-toggle[data-v-27752187]{display:flex;gap:4px}.activity-summary[data-v-27752187]{display:flex;gap:16px;margin-bottom:12px}.activity-stat[data-v-27752187]{font-size:.85rem;color:var(--text-muted)}.activity-stat strong[data-v-27752187]{color:var(--text)}.storage-error-banner[data-v-fed4766e]{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 12px;background:var(--banner-error-bg);border-bottom:1px solid var(--banner-error-border);color:var(--banner-error-text)}.storage-error-banner.quota_exceeded[data-v-fed4766e]{background:var(--banner-warning-bg);border-color:var(--banner-warning-border);color:var(--banner-warning-text)}.error-content[data-v-fed4766e]{display:flex;align-items:center;gap:10px;flex:1;min-width:0}.error-icon[data-v-fed4766e]{flex-shrink:0}.error-text[data-v-fed4766e]{display:flex;flex-direction:column;gap:2px;font-size:.85rem}.error-text strong[data-v-fed4766e]{font-weight:600}.error-text span[data-v-fed4766e]{opacity:.9}.dismiss-btn[data-v-fed4766e]{display:flex;align-items:center;justify-content:center;width:28px;height:28px;padding:0;border:none;border-radius:4px;background:transparent;color:inherit;opacity:.7;cursor:pointer;transition:opacity .15s ease,background-color .15s ease}.dismiss-btn[data-v-fed4766e]:hover{opacity:1;background:#0000001a}@media (max-width: 480px){.error-text[data-v-fed4766e]{font-size:.8rem}}.import-modal-overlay[data-v-406382bc]{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px}.import-modal[data-v-406382bc]{background:var(--card-bg);border-radius:12px;width:100%;max-width:420px;box-shadow:0 4px 24px #0003}.modal-header[data-v-406382bc]{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid var(--border)}.modal-header h2[data-v-406382bc]{margin:0;font-size:1.1rem;font-weight:600}.close-btn[data-v-406382bc]{display:flex;align-items:center;justify-content:center;width:32px;height:32px;padding:0;border:none;border-radius:var(--radius);background:transparent;color:var(--text-muted);cursor:pointer;transition:background-color .15s ease,color .15s ease}.close-btn[data-v-406382bc]:hover{background:var(--bg);color:var(--text)}.modal-body[data-v-406382bc]{padding:20px}.dropzone[data-v-406382bc]{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;padding:40px 20px;border:2px dashed var(--border);border-radius:var(--radius);cursor:pointer;transition:border-color .15s ease,background-color .15s ease;text-align:center}.dropzone[data-v-406382bc]:hover,.dropzone.dragging[data-v-406382bc]{border-color:var(--secondary);background:color-mix(in srgb,var(--secondary) 5%,transparent)}.dropzone svg[data-v-406382bc]{color:var(--text-muted)}.dropzone p[data-v-406382bc]{margin:0;color:var(--text)}.file-hint[data-v-406382bc]{font-size:.8rem;color:var(--text-muted)}.parsing-state[data-v-406382bc]{display:flex;flex-direction:column;align-items:center;gap:16px;padding:40px 20px}.spinner[data-v-406382bc]{width:32px;height:32px;border:3px solid var(--border);border-top-color:var(--secondary);border-radius:50%;animation:spin-406382bc .8s linear infinite}@keyframes spin-406382bc{to{transform:rotate(360deg)}}.error-state[data-v-406382bc]{display:flex;flex-direction:column;align-items:center;gap:16px;padding:40px 20px;text-align:center}.error-state svg[data-v-406382bc]{color:var(--danger)}.error-state p[data-v-406382bc]{margin:0;color:var(--danger)}.import-summary[data-v-406382bc]{display:flex;flex-direction:column;gap:20px}.summary-stats[data-v-406382bc]{display:flex;justify-content:center;gap:32px}.stat[data-v-406382bc]{display:flex;flex-direction:column;align-items:center;gap:4px}.stat-value[data-v-406382bc]{font-size:1.5rem;font-weight:600;color:var(--text)}.stat-label[data-v-406382bc]{font-size:.8rem;color:var(--text-muted)}.backup-date[data-v-406382bc]{text-align:center;font-size:.85rem;color:var(--text-muted);margin:0}.import-options[data-v-406382bc]{display:flex;flex-direction:column;gap:10px}.option-hint[data-v-406382bc]{font-size:.8rem;color:var(--text-muted);margin:0;line-height:1.5}.btn[data-v-406382bc]{padding:12px 20px;border:none;border-radius:var(--radius);font-size:.95rem;font-weight:500;cursor:pointer;transition:background-color .15s ease,opacity .15s ease}.btn[data-v-406382bc]:disabled{opacity:.6;cursor:not-allowed}.btn-primary[data-v-406382bc]{background:var(--secondary);color:var(--on-primary)}.btn-primary[data-v-406382bc]:hover:not(:disabled){background:var(--secondary-hover, #2563eb)}.btn-secondary[data-v-406382bc]{background:var(--bg);color:var(--text);border:1px solid var(--border)}.btn-secondary[data-v-406382bc]:hover:not(:disabled){background:var(--border)}.btn-danger[data-v-406382bc]{background:transparent;color:var(--danger);border:1px solid var(--danger)}.btn-danger[data-v-406382bc]:hover:not(:disabled){background:#dc35451a}.modal-enter-active[data-v-406382bc],.modal-leave-active[data-v-406382bc]{transition:opacity .2s ease}.modal-enter-active .import-modal[data-v-406382bc],.modal-leave-active .import-modal[data-v-406382bc]{transition:transform .2s ease}.modal-enter-from[data-v-406382bc],.modal-leave-to[data-v-406382bc]{opacity:0}.modal-enter-from .import-modal[data-v-406382bc],.modal-leave-to .import-modal[data-v-406382bc]{transform:scale(.95)}.export-toast[data-v-e400ac96]{position:fixed;bottom:24px;left:50%;transform:translate(-50%);display:flex;align-items:center;gap:12px;padding:12px 20px;background:var(--card-bg);border-radius:var(--radius);box-shadow:0 4px 12px #00000026;z-index:1000}.export-text[data-v-e400ac96]{min-width:140px}.spinner[data-v-e400ac96]{width:20px;height:20px;border:2px solid var(--border);border-top-color:var(--secondary);border-radius:50%;animation:spin-e400ac96 .8s linear infinite;flex-shrink:0}@keyframes spin-e400ac96{to{transform:rotate(360deg)}}.toast-enter-active[data-v-e400ac96],.toast-leave-active[data-v-e400ac96]{transition:opacity .2s ease,transform .2s ease}.toast-enter-from[data-v-e400ac96],.toast-leave-to[data-v-e400ac96]{opacity:0;transform:translate(-50%) translateY(10px)}.cards-list[data-v-be50f85a]{display:flex;flex-direction:column;gap:6px}.cards-list.selecting[data-v-be50f85a]{-webkit-user-select:none;user-select:none}.card-list-item[data-v-be50f85a]{display:flex;align-items:center;gap:12px;padding:12px 16px;background:var(--card-bg);border:1px solid var(--border);border-radius:var(--radius);cursor:pointer;transition:background-color .15s ease,border-color .15s ease;text-decoration:none;color:inherit}.card-list-item[data-v-be50f85a]:hover{background:var(--bg);border-color:var(--border-hover)}.card-list-item.selected[data-v-be50f85a]{background:color-mix(in srgb,var(--secondary) 8%,transparent);border-color:color-mix(in srgb,var(--secondary) 30%,transparent)}.card-character[data-v-be50f85a]{font-size:1.4rem;font-weight:500}.profile-item[data-v-be50f85a]{border-style:dashed;margin-bottom:4px}.profile-item.empty[data-v-be50f85a]{opacity:.7}.profile-icon[data-v-be50f85a]{display:flex;align-items:center;gap:8px;font-size:1rem;color:var(--text)}.profile-icon svg[data-v-be50f85a]{flex-shrink:0}.profile-hint[data-v-be50f85a]{font-size:.8rem;color:var(--text-muted)}.controls-group[data-v-be50f85a]{background:var(--card-bg);border:1px solid var(--border);border-radius:var(--radius);padding:4px 0}.toolbar[data-v-be50f85a]{display:flex;align-items:center;gap:4px;padding:4px 12px}.toolbar-spacer[data-v-be50f85a]{flex:1}.toolbar-btn[data-v-be50f85a]{position:relative;display:flex;align-items:center;justify-content:center;width:32px;height:32px;padding:0;border:none;border-radius:var(--radius);background:transparent;color:var(--text-muted);cursor:pointer;transition:background-color .15s ease,color .15s ease}.toolbar-btn[data-v-be50f85a]:hover{background:var(--bg);color:var(--text)}.toolbar-btn.active[data-v-be50f85a]{color:var(--secondary)}.toolbar-badge[data-v-be50f85a]{position:absolute;top:2px;right:2px;min-width:14px;height:14px;padding:0 3px;border-radius:7px;background:var(--secondary);color:var(--on-primary);font-size:.6rem;font-weight:600;line-height:14px;text-align:center}.sort-control[data-v-be50f85a]{position:relative}.sort-trigger[data-v-be50f85a]{display:inline-flex;align-items:center;gap:4px;padding:4px 0;border:none;background:none;color:var(--text-muted);font-size:.8rem;cursor:pointer;transition:color .15s ease}.sort-trigger[data-v-be50f85a]:hover{color:var(--text)}.sort-prefix[data-v-be50f85a]{color:var(--text-muted)}.sort-caret[data-v-be50f85a]{font-size:.7rem}.sort-dropdown[data-v-be50f85a]{position:absolute;top:100%;left:0;z-index:10;display:flex;flex-direction:column;min-width:240px;padding:4px 0;background:var(--card-bg);border:1px solid var(--border);border-radius:var(--radius);box-shadow:0 4px 12px #00000026}.sort-option[data-v-be50f85a]{padding:8px 14px;border:none;background:none;color:var(--text);font-size:.8rem;text-align:left;cursor:pointer;transition:background-color .1s ease}.sort-option[data-v-be50f85a]:hover{background:var(--bg)}.sort-option.active[data-v-be50f85a]{color:var(--secondary);font-weight:600}.filter-control[data-v-be50f85a]{position:relative}.filter-menu[data-v-be50f85a]{position:absolute;top:100%;right:0;z-index:10;margin-top:4px;min-width:200px;padding:4px 0;background:var(--card-bg);border:1px solid var(--border);border-radius:var(--radius);box-shadow:0 4px 12px #00000026}.filter-option[data-v-be50f85a]{display:flex;align-items:center;justify-content:space-between;width:100%;padding:8px 14px;border:none;background:none;color:var(--text);font-size:.8rem;text-align:left;cursor:pointer;transition:background-color .1s ease}.filter-option[data-v-be50f85a]:hover{background:var(--bg)}.filter-option.active[data-v-be50f85a]{color:var(--secondary);font-weight:600}.filter-check[data-v-be50f85a]{flex-shrink:0;color:var(--secondary)}.filter-menu-divider[data-v-be50f85a]{height:1px;margin:4px 0;background:var(--border)}.filter-menu-header[data-v-be50f85a]{padding:6px 14px 2px;font-size:.7rem;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px}.facet-filter-row[data-v-be50f85a]{display:flex;align-items:center;gap:6px;padding:4px 14px}.facet-filter-label[data-v-be50f85a]{flex:1;font-size:.8rem;color:var(--text)}.facet-filter-btn[data-v-be50f85a]{padding:2px 8px;border:1px solid var(--border);border-radius:4px;background:none;font-size:.7rem;color:var(--text-muted);cursor:pointer;transition:background-color .1s ease,color .1s ease,border-color .1s ease}.facet-filter-btn[data-v-be50f85a]:hover{background:var(--bg);border-color:var(--border-hover);color:var(--text)}.facet-filter-btn.active[data-v-be50f85a]{background:color-mix(in srgb,var(--secondary) 12%,transparent);border-color:var(--secondary);color:var(--secondary);font-weight:600}.select-action-bar[data-v-be50f85a]{display:flex;align-items:center;gap:8px;padding:8px 16px;background:var(--bg);border:1px solid var(--border);border-radius:var(--radius)}.select-all-btn[data-v-be50f85a]{display:inline-flex;align-items:center;gap:8px;padding:0;border:none;background:none;color:var(--text);font-size:.85rem;cursor:pointer}.select-all-btn[data-v-be50f85a]:hover{color:var(--secondary)}.action-divider[data-v-be50f85a]{width:1px;height:20px;background:var(--border)}.action-btn[data-v-be50f85a]{display:inline-flex;align-items:center;gap:4px;padding:4px 10px;border:1px solid var(--border);border-radius:var(--radius);background:var(--card-bg);color:var(--text);font-size:.8rem;cursor:pointer;transition:background-color .15s ease,border-color .15s ease}.action-btn[data-v-be50f85a]:hover{background:var(--bg);border-color:var(--border-hover)}.action-btn-danger[data-v-be50f85a]{color:var(--danger);border-color:var(--danger)}.action-btn-danger[data-v-be50f85a]:hover{background:#dc35451a}.facet-action-group[data-v-be50f85a]{position:relative}.facet-menu[data-v-be50f85a]{position:absolute;top:100%;left:0;z-index:10;margin-top:4px;min-width:220px;padding:6px 0;background:var(--card-bg);border:1px solid var(--border);border-radius:var(--radius);box-shadow:0 4px 12px #00000026}.facet-menu-row[data-v-be50f85a]{display:flex;align-items:center;gap:8px;padding:6px 12px}.facet-menu-label[data-v-be50f85a]{flex:1;font-size:.8rem;color:var(--text)}.facet-menu-btn[data-v-be50f85a]{padding:2px 8px;border:1px solid var(--border);border-radius:4px;background:none;font-size:.75rem;cursor:pointer;transition:background-color .15s ease,color .15s ease}.facet-enable[data-v-be50f85a]{color:var(--secondary)}.facet-enable[data-v-be50f85a]:hover{background:color-mix(in srgb,var(--secondary) 10%,transparent);border-color:var(--secondary)}.facet-disable[data-v-be50f85a]{color:var(--text-muted)}.facet-disable[data-v-be50f85a]:hover{background:var(--bg);border-color:var(--border-hover)}.checkbox[data-v-be50f85a]{display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;border:2px solid var(--border-hover);border-radius:50%;flex-shrink:0;transition:background-color .15s ease,border-color .15s ease}.checkbox.checked[data-v-be50f85a]{background:var(--secondary);border-color:var(--secondary)}.checkbox.checked[data-v-be50f85a]:after{content:"";width:6px;height:10px;border:solid white;border-width:0 2px 2px 0;transform:rotate(45deg) translateY(-1px)}.card-meta[data-v-be50f85a]{display:flex;align-items:center;gap:8px;margin-left:auto}.card-metric[data-v-be50f85a]{font-size:.75rem;color:var(--text-muted)}.delete-btn[data-v-be50f85a]{display:flex;align-items:center;justify-content:center;width:32px;height:32px;padding:0;border:none;border-radius:var(--radius);background:transparent;color:var(--text-muted);cursor:pointer;transition:background-color .15s ease,color .15s ease}.delete-btn[data-v-be50f85a]:hover{background:#dc35451a;color:var(--danger)}.confirm-delete-btn[data-v-be50f85a]{padding:4px 12px;border:1px solid var(--danger);border-radius:var(--radius);background:#dc35451a;color:var(--danger);font-size:.85rem;font-weight:500;cursor:pointer}.games-view[data-v-4f6dab21]{max-width:600px;margin:0 auto;padding:0 16px}.games-title[data-v-4f6dab21]{font-size:1.25rem;font-weight:600;margin-bottom:16px;color:var(--text)}.games-list[data-v-4f6dab21]{display:flex;flex-direction:column;gap:12px}.game-card[data-v-4f6dab21]{display:block;padding:20px;background:var(--card-bg);border:1px solid var(--border);border-radius:var(--radius);text-decoration:none;transition:border-color .15s ease,box-shadow .15s ease}.game-card[data-v-4f6dab21]:hover{border-color:var(--border-hover);box-shadow:var(--shadow)}.game-card-title[data-v-4f6dab21]{font-size:1.1rem;font-weight:600;color:var(--text);margin-bottom:6px}.game-card-desc[data-v-4f6dab21]{font-size:.9rem;color:var(--text-muted);line-height:1.4}.tone-gym[data-v-9d9ed707]{max-width:480px;margin:0 auto;padding:0 16px}.gym-idle[data-v-9d9ed707]{text-align:center;padding:40px 0}.gym-title[data-v-9d9ed707]{font-size:1.5rem;font-weight:700;color:var(--text);margin-bottom:8px}.gym-subtitle[data-v-9d9ed707]{color:var(--text-muted);margin-bottom:24px;font-size:.95rem}.gym-card-count[data-v-9d9ed707]{font-size:.9rem;color:var(--text-muted);margin-bottom:24px}.gym-sources[data-v-9d9ed707]{display:flex;flex-wrap:wrap;justify-content:center;gap:8px;margin-bottom:24px}.source-chip[data-v-9d9ed707]{padding:6px 14px;font-size:.9rem;border:1px solid var(--border);border-radius:20px;background:var(--card-bg);color:var(--text-muted);cursor:pointer;transition:background-color .15s ease,border-color .15s ease,color .15s ease}.source-chip[data-v-9d9ed707]:hover{border-color:var(--secondary);color:var(--text)}.source-chip.selected[data-v-9d9ed707]{background:var(--secondary);border-color:var(--secondary);color:var(--on-primary)}.gym-start-btn[data-v-9d9ed707]:disabled{opacity:.5;cursor:not-allowed}.gym-start-btn[data-v-9d9ed707]{display:inline-block;padding:14px 48px;font-size:1.1rem;font-weight:600;border:none;border-radius:var(--radius);background:var(--secondary);color:var(--on-primary);cursor:pointer;transition:opacity .15s ease}.gym-start-btn[data-v-9d9ed707]:hover{opacity:.9}.gym-back-link[data-v-9d9ed707]{display:block;margin-top:20px;font-size:.9rem;color:var(--text-muted)}.gym-not-enough[data-v-9d9ed707]{padding:24px;background:var(--bg);border-radius:var(--radius);margin-bottom:16px}.gym-not-enough p[data-v-9d9ed707]{margin:0 0 8px;color:var(--text)}.gym-hint[data-v-9d9ed707]{font-size:.85rem;color:var(--text-muted)!important}.gym-playing[data-v-9d9ed707]{padding-top:8px}.gym-timer-bar[data-v-9d9ed707]{height:4px;background:var(--bg);border-radius:2px;overflow:hidden;margin-bottom:12px}.gym-timer-fill[data-v-9d9ed707]{height:100%;background:var(--secondary);transition:width .1s linear;border-radius:2px}.gym-hud[data-v-9d9ed707]{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px}.gym-time-left[data-v-9d9ed707]{font-size:1rem;font-weight:600;color:var(--text-muted);font-variant-numeric:tabular-nums}.gym-streak[data-v-9d9ed707]{display:flex;align-items:baseline;gap:6px}.streak-label[data-v-9d9ed707]{font-size:.85rem;color:var(--text-muted)}.streak-value[data-v-9d9ed707]{font-size:1.5rem;font-weight:700;color:var(--text);font-variant-numeric:tabular-nums;min-width:2ch;text-align:right}.gym-character-area[data-v-9d9ed707]{text-align:center;padding:32px 16px;margin-bottom:24px;border-radius:var(--radius);background:var(--card-bg);border:1px solid var(--border);transition:background-color .15s ease,border-color .15s ease;min-height:140px;display:flex;flex-direction:column;align-items:center;justify-content:center}.gym-character-area.flash-wrong[data-v-9d9ed707]{background:var(--game-flash-wrong-bg);border-color:var(--danger)}.gym-character-area.flash-correct[data-v-9d9ed707]{background:var(--game-flash-correct-bg);border-color:var(--success)}.gym-character[data-v-9d9ed707]{font-size:4rem;font-weight:300;line-height:1.2}.gym-character.char-medium[data-v-9d9ed707]{font-size:3rem}.gym-character.char-small[data-v-9d9ed707]{font-size:2.5rem}.gym-character.char-xsmall[data-v-9d9ed707]{font-size:2rem}.gym-speak-btn[data-v-9d9ed707]{display:inline-flex;align-items:center;justify-content:center;margin-top:8px;padding:6px 12px;border:1px solid var(--border);border-radius:var(--radius);background:var(--card-bg);color:var(--text-muted);cursor:pointer;transition:background-color .15s ease,color .15s ease}.gym-speak-btn[data-v-9d9ed707]:hover:not(:disabled){background:var(--secondary);color:var(--on-primary)}.speak-icon[data-v-9d9ed707]{width:18px;height:18px}.gym-correct-answer[data-v-9d9ed707]{margin-top:12px;font-size:1.25rem;font-weight:600}.gym-options[data-v-9d9ed707]{display:grid;grid-template-columns:1fr 1fr;gap:12px}.gym-option-btn[data-v-9d9ed707]{padding:18px 12px;font-size:1.3rem;font-weight:600;border:2px solid var(--border);border-radius:var(--radius);background:var(--card-bg);color:var(--text);cursor:pointer;transition:border-color .15s ease,background-color .15s ease;letter-spacing:1px}.gym-option-btn[data-v-9d9ed707]:hover:not(:disabled){border-color:var(--secondary);background:var(--bg)}.gym-option-btn[data-v-9d9ed707]:active:not(:disabled){background:var(--surface-active)}.gym-option-btn[data-v-9d9ed707]:disabled{opacity:.6;cursor:default}.tone-dash[data-v-9d9ed707]{color:var(--text-muted)}.gym-done[data-v-9d9ed707]{text-align:center;padding:40px 0}.gym-results-title[data-v-9d9ed707]{font-size:1.25rem;font-weight:600;color:var(--text);margin-bottom:24px}.gym-results[data-v-9d9ed707]{display:flex;justify-content:center;gap:48px;margin-bottom:32px}.gym-result-item[data-v-9d9ed707]{text-align:center}.result-value[data-v-9d9ed707]{font-size:2.5rem;font-weight:700;color:var(--text);line-height:1.2}.result-total[data-v-9d9ed707]{font-size:1.2rem;font-weight:400;color:var(--text-muted)}.result-label[data-v-9d9ed707]{font-size:.85rem;color:var(--text-muted);margin-top:4px}.gym-done-actions[data-v-9d9ed707]{display:flex;flex-direction:column;align-items:center}.tone-1[data-v-9d9ed707]{color:var(--tone-1)}.tone-2[data-v-9d9ed707]{color:var(--tone-2)}.tone-3[data-v-9d9ed707]{color:var(--tone-3)}.tone-4[data-v-9d9ed707]{color:var(--tone-4)}.tone-5[data-v-9d9ed707]{color:var(--tone-5)}.word-search[data-v-f0d1549b]{max-width:480px;margin:0 auto;padding:0 16px}.word-search.grid-10[data-v-f0d1549b]{max-width:540px}.word-search.grid-12[data-v-f0d1549b]{max-width:600px}.ws-idle[data-v-f0d1549b]{text-align:center;padding:40px 0}.ws-title[data-v-f0d1549b]{font-size:1.5rem;font-weight:700;color:var(--text);margin-bottom:8px}.ws-subtitle[data-v-f0d1549b]{color:var(--text-muted);margin-bottom:24px;font-size:.95rem}.ws-sources[data-v-f0d1549b]{display:flex;flex-wrap:wrap;justify-content:center;gap:8px;margin-bottom:16px}.source-chip[data-v-f0d1549b]{padding:6px 14px;font-size:.9rem;border:1px solid var(--border);border-radius:20px;background:var(--card-bg);color:var(--text-muted);cursor:pointer;transition:background-color .15s ease,border-color .15s ease,color .15s ease}.source-chip[data-v-f0d1549b]:hover{border-color:var(--secondary);color:var(--text)}.source-chip.selected[data-v-f0d1549b]{background:var(--secondary);border-color:var(--secondary);color:var(--on-primary)}.ws-clue-mode[data-v-f0d1549b]{display:flex;align-items:center;justify-content:center;gap:8px;margin-bottom:24px}.ws-clue-label[data-v-f0d1549b]{font-size:.9rem;color:var(--text-muted)}.ws-option-sep[data-v-f0d1549b]{width:1px;height:20px;background:var(--border);margin:0 4px}.ws-start-btn[data-v-f0d1549b]{display:inline-block;padding:14px 48px;font-size:1.1rem;font-weight:600;border:none;border-radius:var(--radius);background:var(--secondary);color:var(--on-primary);cursor:pointer;transition:opacity .15s ease}.ws-start-btn[data-v-f0d1549b]:hover{opacity:.9}.ws-start-btn[data-v-f0d1549b]:disabled{opacity:.5;cursor:not-allowed}.ws-back-link[data-v-f0d1549b]{display:block;margin-top:20px;font-size:.9rem;color:var(--text-muted)}.ws-playing[data-v-f0d1549b]{padding-top:8px}.ws-hud[data-v-f0d1549b]{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.ws-timer[data-v-f0d1549b]{font-size:1rem;font-weight:600;color:var(--text-muted);font-variant-numeric:tabular-nums}.ws-progress[data-v-f0d1549b]{font-size:.85rem;color:var(--text-muted)}.ws-clue-list[data-v-f0d1549b]{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;margin-bottom:12px}.ws-clue-item[data-v-f0d1549b]{position:relative;padding:4px 10px;font-size:.9rem;background:var(--card-bg);border:1px solid var(--border);border-radius:var(--radius);color:var(--text);cursor:default;transition:background-color .25s ease,border-color .25s ease}.ws-clue-item.found[data-v-f0d1549b]{opacity:.4;text-decoration:line-through}.ws-clue-text[data-v-f0d1549b]{transition:opacity .2s ease}.ws-clue-chars[data-v-f0d1549b]{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;font-weight:600;opacity:0;transition:opacity .2s ease;pointer-events:none}.ws-clue-item.hint-active[data-v-f0d1549b]{background:var(--secondary);border-color:var(--secondary);color:var(--on-primary)}.ws-clue-item.hint-active .ws-clue-text[data-v-f0d1549b]{opacity:0}.ws-clue-item.hint-active .ws-clue-chars[data-v-f0d1549b]{opacity:1}.ws-hint[data-v-f0d1549b]{text-align:center;font-size:.8rem;color:var(--text-muted);margin-bottom:8px}.ws-grid[data-v-f0d1549b]{display:grid;gap:3px;margin-bottom:16px;user-select:none;-webkit-user-select:none;touch-action:manipulation}.ws-cell[data-v-f0d1549b]{position:relative;aspect-ratio:1;display:flex;align-items:center;justify-content:center;font-size:1.1rem;border:1px solid var(--border);border-radius:4px;background:var(--card-bg);color:var(--text);cursor:pointer;padding:0;min-width:0;min-height:40px;transition:background-color .15s ease,border-color .15s ease}.grid-10 .ws-cell[data-v-f0d1549b]{font-size:1rem;min-height:36px}.grid-12 .ws-cell[data-v-f0d1549b]{font-size:.95rem;min-height:32px}.ws-cell[data-v-f0d1549b]:hover{border-color:var(--secondary)}.ws-cell.cell-selected[data-v-f0d1549b]{background:var(--secondary);border-color:var(--secondary);color:var(--on-primary)}.ws-cell.cell-found[data-v-f0d1549b]{background:var(--game-found-bg);border-color:var(--game-found-border);color:var(--game-found-text)}.ws-cell.cell-flash-correct[data-v-f0d1549b]{background:var(--game-correct-bg);border-color:var(--game-correct-border);color:var(--game-correct-text)}.ws-cell.cell-flash-wrong[data-v-f0d1549b]{background:var(--game-wrong-bg);border-color:var(--game-wrong-border);color:var(--game-wrong-text)}.ws-peek[data-v-f0d1549b]{position:absolute;bottom:calc(100% + 6px);left:50%;transform:translate(-50%);padding:4px 8px;background:var(--text);color:var(--card-bg);font-size:.7rem;border-radius:4px;white-space:nowrap;max-width:140px;overflow:hidden;text-overflow:ellipsis;pointer-events:none;z-index:10;line-height:1.3}.ws-peek[data-v-f0d1549b]:after{content:"";position:absolute;top:100%;left:50%;transform:translate(-50%);border:4px solid transparent;border-top-color:var(--text)}.ws-found-list[data-v-f0d1549b]{display:flex;flex-direction:column;gap:6px;margin-bottom:16px}.ws-found-item[data-v-f0d1549b]{display:flex;align-items:baseline;gap:8px;padding:6px 12px;background:var(--card-bg);border:1px solid var(--border);border-radius:var(--radius);animation:fadeSlideIn-f0d1549b .3s ease}.ws-found-item.just-found[data-v-f0d1549b]{border-color:var(--success, #6ee7b7);background:var(--game-just-found-bg)}@keyframes fadeSlideIn-f0d1549b{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.ws-found-char[data-v-f0d1549b]{font-size:1rem;font-weight:600;color:var(--text)}.ws-found-pinyin[data-v-f0d1549b]{font-size:.8rem;color:var(--text-muted)}.ws-found-def[data-v-f0d1549b]{font-size:.8rem;color:var(--text-muted);flex:1}.ws-actions[data-v-f0d1549b]{display:flex;justify-content:center;gap:12px;margin-top:24px}.ws-action-btn[data-v-f0d1549b]{padding:8px 20px;font-size:.9rem;border:1px solid var(--border);border-radius:var(--radius);background:var(--card-bg);color:var(--text);cursor:pointer;transition:background-color .15s ease,border-color .15s ease}.ws-action-btn[data-v-f0d1549b]:hover{border-color:var(--secondary);background:var(--bg)}.ws-done[data-v-f0d1549b]{text-align:center;padding:40px 0}.ws-done-title[data-v-f0d1549b]{font-size:1.25rem;font-weight:600;color:var(--text);margin-bottom:4px}.ws-done-time[data-v-f0d1549b]{font-size:2rem;font-weight:700;color:var(--text);margin-bottom:4px;font-variant-numeric:tabular-nums}.ws-done-errors[data-v-f0d1549b]{font-size:.9rem;color:var(--text-muted);margin-bottom:24px}.ws-errors[data-v-f0d1549b]{color:var(--text-muted)}.ws-word-list[data-v-f0d1549b]{display:flex;flex-direction:column;gap:12px;margin-bottom:32px;text-align:left}.ws-word-item[data-v-f0d1549b]{display:flex;align-items:center;gap:12px;padding:10px 16px;background:var(--card-bg);border:1px solid var(--border);border-radius:var(--radius);cursor:pointer;transition:background-color .15s ease}.ws-word-item[data-v-f0d1549b]:hover{background:var(--bg)}.ws-word-char[data-v-f0d1549b]{font-size:1.2rem;font-weight:600;color:var(--text)}.ws-word-pinyin[data-v-f0d1549b]{font-size:.9rem;color:var(--text-muted)}.ws-word-def[data-v-f0d1549b]{font-size:.9rem;color:var(--text-muted);flex:1}.ws-speak-btn[data-v-f0d1549b]{display:inline-flex;align-items:center;justify-content:center;padding:4px;border:none;border-radius:4px;background:transparent;color:var(--text-muted);cursor:pointer;flex-shrink:0;transition:color .15s ease}.ws-speak-btn[data-v-f0d1549b]:hover{color:var(--secondary)}.ws-done-actions[data-v-f0d1549b]{display:flex;flex-direction:column;align-items:center}.tone-pairs[data-v-d9b816d0]{max-width:480px;margin:0 auto;padding:0 16px}.tp-idle[data-v-d9b816d0]{text-align:center;padding:40px 0}.tp-title[data-v-d9b816d0]{font-size:1.5rem;font-weight:700;color:var(--text);margin-bottom:8px}.tp-subtitle[data-v-d9b816d0]{color:var(--text-muted);margin-bottom:24px;font-size:.95rem}.tp-sources[data-v-d9b816d0]{display:flex;flex-wrap:wrap;justify-content:center;gap:8px;margin-bottom:24px}.source-chip[data-v-d9b816d0]{padding:6px 14px;font-size:.9rem;border:1px solid var(--border);border-radius:20px;background:var(--card-bg);color:var(--text-muted);cursor:pointer;transition:background-color .15s ease,border-color .15s ease,color .15s ease}.source-chip[data-v-d9b816d0]:hover{border-color:var(--secondary);color:var(--text)}.source-chip.selected[data-v-d9b816d0]{background:var(--secondary);border-color:var(--secondary);color:var(--on-primary)}.tp-pair-selector[data-v-d9b816d0]{margin-bottom:24px}.tp-pair-grid[data-v-d9b816d0]{display:flex;flex-wrap:wrap;justify-content:center;gap:8px}.tp-pair-btn[data-v-d9b816d0]{display:flex;align-items:center;gap:6px;padding:8px 14px;font-size:1rem;font-weight:600;border:2px solid var(--border);border-radius:var(--radius);background:var(--card-bg);color:var(--text);cursor:pointer;transition:border-color .15s ease,background-color .15s ease}.tp-pair-btn[data-v-d9b816d0]:hover{border-color:var(--secondary)}.tp-pair-btn.selected[data-v-d9b816d0]{border-color:var(--secondary);background:var(--bg)}.pair-label[data-v-d9b816d0]{letter-spacing:1px}.pair-count[data-v-d9b816d0]{font-size:.75rem;font-weight:400;color:var(--text-muted)}.tone-dash[data-v-d9b816d0]{color:var(--text-muted)}.tp-no-pairs[data-v-d9b816d0]{padding:16px;color:var(--text-muted);font-size:.9rem;margin-bottom:24px}.tp-start-btn[data-v-d9b816d0]{display:inline-block;padding:14px 48px;font-size:1.1rem;font-weight:600;border:none;border-radius:var(--radius);background:var(--secondary);color:var(--on-primary);cursor:pointer;transition:opacity .15s ease}.tp-start-btn[data-v-d9b816d0]:hover{opacity:.9}.tp-start-btn[data-v-d9b816d0]:disabled{opacity:.5;cursor:not-allowed}.tp-secondary-btn[data-v-d9b816d0]{display:inline-block;padding:12px 32px;font-size:1rem;border:1px solid var(--border);border-radius:var(--radius);background:var(--card-bg);color:var(--text);cursor:pointer;transition:border-color .15s ease,background-color .15s ease}.tp-secondary-btn[data-v-d9b816d0]:hover{border-color:var(--secondary);background:var(--bg)}.tp-back-link[data-v-d9b816d0]{display:block;margin-top:20px;font-size:.9rem;color:var(--text-muted)}.tp-playing[data-v-d9b816d0]{padding-top:8px}.tp-progress-bar[data-v-d9b816d0]{height:4px;background:var(--bg);border-radius:2px;overflow:hidden;margin-bottom:12px}.tp-progress-fill[data-v-d9b816d0]{height:100%;background:var(--secondary);transition:width .3s ease;border-radius:2px}.tp-hud[data-v-d9b816d0]{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.tp-position[data-v-d9b816d0]{font-size:.9rem;color:var(--text-muted);font-variant-numeric:tabular-nums}.tp-points[data-v-d9b816d0]{font-size:1rem;font-weight:600;color:var(--text);font-variant-numeric:tabular-nums}.tp-word-section[data-v-d9b816d0]{margin-bottom:16px}.tp-word-section[data-v-d9b816d0] .speech-row{padding:24px 16px;background:var(--card-bg);border:1px solid var(--border);text-align:center}.tp-word-section[data-v-d9b816d0] .speech-row-main{justify-content:center}.tp-word-section[data-v-d9b816d0] .row-chinese{font-size:3.5rem;font-weight:300;line-height:1.2}.tp-pinyin-toggle[data-v-d9b816d0]{padding:4px 12px;border:1px solid var(--border);border-radius:var(--radius);background:var(--card-bg);color:var(--text-muted);font-size:.85rem;cursor:pointer;transition:border-color .15s ease,color .15s ease}.tp-pinyin-toggle[data-v-d9b816d0]:hover{border-color:var(--secondary);color:var(--text)}.tp-examples[data-v-d9b816d0]{margin-bottom:16px}.tp-examples-label[data-v-d9b816d0]{font-size:.85rem;font-weight:600;color:var(--text-muted);margin-bottom:8px}.tp-example-item[data-v-d9b816d0]{margin-bottom:8px}.tp-next-btn[data-v-d9b816d0]{display:block;width:100%;padding:14px;font-size:1.1rem;font-weight:600;border:none;border-radius:var(--radius);background:var(--secondary);color:var(--on-primary);cursor:pointer;transition:opacity .15s ease;margin-bottom:16px}.tp-next-btn[data-v-d9b816d0]:hover{opacity:.9}.tp-done[data-v-d9b816d0]{text-align:center;padding:40px 0}.tp-results-title[data-v-d9b816d0]{font-size:1.25rem;font-weight:600;color:var(--text);margin-bottom:24px}.tp-results[data-v-d9b816d0]{display:flex;justify-content:center;gap:32px;margin-bottom:32px}.tp-result-item[data-v-d9b816d0]{text-align:center}.result-value[data-v-d9b816d0]{font-size:2.5rem;font-weight:700;color:var(--text);line-height:1.2}.result-total[data-v-d9b816d0]{font-size:1.2rem;font-weight:400;color:var(--text-muted)}.result-label[data-v-d9b816d0]{font-size:.85rem;color:var(--text-muted);margin-top:4px}.tp-done-actions[data-v-d9b816d0]{display:flex;flex-direction:column;align-items:center;gap:12px}.tone-1[data-v-d9b816d0]{color:var(--tone-1)}.tone-2[data-v-d9b816d0]{color:var(--tone-2)}.tone-3[data-v-d9b816d0]{color:var(--tone-3)}.tone-4[data-v-d9b816d0]{color:var(--tone-4)}.tone-5[data-v-d9b816d0]{color:var(--tone-5)}.tier-dropdown[data-v-93e43d21]{position:relative}.tier-dropdown-btn[data-v-93e43d21]{display:inline-flex;align-items:center;gap:4px;padding:8px 16px;font-size:.9rem;font-weight:600;border:1px solid var(--border);border-radius:20px;background:var(--card-bg);color:var(--text-muted);cursor:pointer;transition:background-color .15s ease,border-color .15s ease,color .15s ease}.tier-dropdown-btn[data-v-93e43d21]:hover{border-color:var(--secondary);color:var(--text)}.tier-dropdown-btn.active[data-v-93e43d21]{background:var(--secondary);border-color:var(--secondary);color:#fff}.tier-dropdown-arrow[data-v-93e43d21]{display:inline-flex;align-items:center;padding:2px 4px;margin-left:2px;margin-right:-6px;font-size:.75em;opacity:.8;transition:transform .15s ease;cursor:pointer;border-radius:4px}.tier-dropdown-arrow[data-v-93e43d21]:hover{opacity:1}.tier-dropdown-arrow.open[data-v-93e43d21]{transform:rotate(180deg)}.tier-dropdown-menu[data-v-93e43d21]{position:absolute;top:calc(100% + 4px);left:50%;transform:translate(-50%);min-width:200px;background:var(--card-bg);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);z-index:10;padding:4px;display:flex;flex-direction:column;gap:2px}.tier-dropdown-item[data-v-93e43d21]{display:flex;justify-content:space-between;align-items:center;padding:8px 12px;font-size:.85rem;border:none;border-radius:calc(var(--radius) - 2px);background:transparent;color:var(--text-muted);cursor:pointer;text-align:left;transition:background-color .1s ease,color .1s ease}.tier-dropdown-item[data-v-93e43d21]:hover{background:var(--border);color:var(--text)}.tier-dropdown-item.selected[data-v-93e43d21]{color:var(--secondary);font-weight:600}.tier-dropdown-item-total[data-v-93e43d21]{font-size:.75rem;opacity:.6;margin-left:12px;white-space:nowrap}.tone-connections[data-v-a888a477]{max-width:600px;margin:0 auto;padding:0 16px}.tone-connections.tc-wide[data-v-a888a477]{max-width:none}.tc-idle[data-v-a888a477]{text-align:center;padding:40px 0}.tc-title[data-v-a888a477]{font-size:1.5rem;font-weight:700;color:var(--text);margin-bottom:8px}.tc-subtitle[data-v-a888a477]{color:var(--text-muted);margin-bottom:24px;font-size:.95rem;line-height:1.5}.tc-sources[data-v-a888a477]{display:flex;flex-wrap:wrap;justify-content:center;gap:8px;margin-bottom:24px}.source-chip[data-v-a888a477]{padding:6px 14px;font-size:.9rem;border:1px solid var(--border);border-radius:20px;background:var(--card-bg);color:var(--text-muted);cursor:pointer;transition:background-color .15s ease,border-color .15s ease,color .15s ease}.source-chip[data-v-a888a477]:hover{border-color:var(--secondary);color:var(--text)}.source-chip.selected[data-v-a888a477]{background:var(--secondary);border-color:var(--secondary);color:#fff}.tc-tier-selector[data-v-a888a477]{display:flex;justify-content:center;gap:8px;margin-bottom:16px}.tc-config-summary[data-v-a888a477]{color:var(--text-muted);font-size:.9rem;margin-bottom:16px}.tc-config-hint[data-v-a888a477]{color:var(--text-muted);font-size:.85rem;margin-bottom:16px;font-style:italic}.tc-puzzle-info[data-v-a888a477]{color:var(--text-muted);font-size:.9rem;margin-bottom:24px}.tc-no-words[data-v-a888a477]{color:var(--text-muted);margin-bottom:24px;font-size:.9rem}.tc-start-btn[data-v-a888a477]{padding:12px 32px;font-size:1rem;font-weight:600;border:none;border-radius:var(--radius);background:var(--secondary);color:#fff;cursor:pointer;transition:opacity .15s ease}.tc-start-btn[data-v-a888a477]:disabled{opacity:.4;cursor:not-allowed}.tc-start-btn[data-v-a888a477]:not(:disabled):hover{opacity:.9}.tc-start-btn.tc-secondary[data-v-a888a477]{background:var(--card-bg);color:var(--text);border:1px solid var(--border)}.tc-start-btn.tc-secondary[data-v-a888a477]:hover{border-color:var(--border-hover)}.tc-back-link[data-v-a888a477]{display:block;margin-top:16px;color:var(--text-muted);text-decoration:none;font-size:.9rem}.tc-back-link[data-v-a888a477]:hover{color:var(--text)}.tc-playing[data-v-a888a477]{padding:16px 0}.tc-hud[data-v-a888a477]{display:flex;align-items:center;gap:16px;margin-bottom:16px;padding:8px 12px;background:var(--card-bg);border:1px solid var(--border);border-radius:var(--radius);flex-wrap:wrap}.tc-hud-item[data-v-a888a477]{display:flex;flex-direction:column;align-items:center;min-width:60px}.tc-hud-label[data-v-a888a477]{font-size:.7rem;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted)}.tc-hud-value[data-v-a888a477]{font-size:1rem;font-weight:600;color:var(--text)}.tc-deselect-btn[data-v-a888a477]{margin-left:auto;padding:6px 14px;font-size:.85rem;border:1px solid var(--border);border-radius:var(--radius);background:var(--card-bg);color:var(--text-muted);cursor:pointer}.tc-deselect-btn[data-v-a888a477]:disabled{opacity:.3;cursor:not-allowed}.tc-deselect-btn[data-v-a888a477]:not(:disabled):hover{border-color:var(--border-hover);color:var(--text)}.tc-hud-toggle[data-v-a888a477]{padding:4px 8px;border:1px solid var(--border);border-radius:var(--radius);background:var(--card-bg);color:var(--text-muted);cursor:pointer;font-size:.8rem;font-weight:600;transition:color .15s ease,border-color .15s ease}.tc-hud-toggle[data-v-a888a477]:hover{border-color:var(--border-hover);color:var(--text)}.tc-hud-toggle.active[data-v-a888a477]{color:var(--secondary);border-color:var(--secondary)}.tc-speak-toggle[data-v-a888a477]{margin-left:8px;padding:4px 8px;border:1px solid var(--border);border-radius:var(--radius);background:var(--card-bg);color:var(--text-muted);cursor:pointer;display:flex;align-items:center;transition:color .15s ease,border-color .15s ease}.tc-speak-toggle[data-v-a888a477]:hover{border-color:var(--border-hover);color:var(--text)}.tc-speak-toggle.active[data-v-a888a477]{color:var(--secondary);border-color:var(--secondary)}.tc-completed-groups[data-v-a888a477]{display:flex;flex-direction:column;gap:8px;margin-bottom:16px}.tc-completed-group[data-v-a888a477]{border-radius:var(--radius);padding:10px 16px;text-align:center;background:var(--card-bg);border:1px solid var(--border)}.tc-group-header[data-v-a888a477]{font-size:1rem;font-weight:700;margin-bottom:6px;letter-spacing:.1em}.tc-header-dash[data-v-a888a477]{color:#888;margin:0 1px}.tc-group-words[data-v-a888a477]{display:flex;flex-wrap:wrap;gap:8px;justify-content:center}.tc-group-word[data-v-a888a477]{display:flex;align-items:center;gap:4px;cursor:pointer;transition:opacity .15s ease}.tc-group-word[data-v-a888a477]:hover{opacity:.7}.tc-word-char[data-v-a888a477]{font-size:1.1rem;font-weight:600;color:var(--text)}.tc-word-pinyin[data-v-a888a477]{font-size:.8rem}.tc-speak-btn[data-v-a888a477]{background:none;border:none;cursor:pointer;color:#555;padding:2px;display:flex;align-items:center}.tc-speak-btn[data-v-a888a477]:hover{color:#222}.tc-completed-label[data-v-a888a477]{color:var(--text-muted);font-size:.85rem;margin-bottom:4px;text-align:center}.tc-goal[data-v-a888a477]{color:var(--text-muted);font-size:.85rem;margin-bottom:12px;text-align:center}.tc-grid-container[data-v-a888a477]{overflow:hidden;touch-action:pan-x pan-y pinch-zoom;margin-bottom:16px}.tc-grid[data-v-a888a477]{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;padding:4px}.tc-cell[data-v-a888a477]{display:flex;flex-direction:column;align-items:center;justify-content:center;min-width:64px;min-height:64px;padding:10px 12px;border:2px solid var(--border);border-radius:var(--radius);background:var(--card-bg);cursor:pointer;transition:border-color .15s ease,transform .15s ease,box-shadow .15s ease;font-size:1.2rem;font-weight:600;color:var(--text);position:relative}.tc-cell[data-v-a888a477]:hover{border-color:var(--border-hover);box-shadow:var(--shadow)}.tc-cell[data-v-a888a477]:focus-visible{outline:2px solid var(--secondary);outline-offset:2px}.tc-cell-selected[data-v-a888a477]{filter:invert(100%)}.tc-cell-bucket[data-v-a888a477]{min-width:80px;background:var(--card-bg);border-style:dashed}.tc-cell-cluster[data-v-a888a477]{display:flex;flex-wrap:wrap;gap:2px;justify-content:center;font-size:1rem}.tc-cell-cluster-word[data-v-a888a477]{white-space:nowrap}.tc-cell-sep[data-v-a888a477]{color:var(--text-muted);font-weight:400}.tc-cell-count[data-v-a888a477]{position:absolute;top:2px;right:5px;font-size:.65rem;color:var(--text-muted);font-weight:400;line-height:1}.tc-cell-char[data-v-a888a477]{font-size:1.3rem}.tc-ruby[data-v-a888a477]{font-size:1.3rem;font-weight:600;ruby-position:under}.tc-ruby rt[data-v-a888a477]{font-size:.55rem;font-weight:400}.tc-cell-bucket .tc-ruby[data-v-a888a477]{font-size:1rem}.tc-cell-bucket .tc-ruby rt[data-v-a888a477]{font-size:.5rem}.tc-cell-char-flash[data-v-a888a477]{animation:tc-tone-fade-a888a477 .5s ease}@keyframes tc-tone-fade-a888a477{0%{opacity:.5}20%{opacity:1}to{opacity:1}}.tc-cell-shake[data-v-a888a477]{animation:tc-shake-a888a477 .5s;animation-iteration-count:1;border-color:#e74c3c!important}@keyframes tc-shake-a888a477{0%{transform:translate(1px) rotate(0)}10%{transform:translate(-1px) rotate(-1deg)}20%{transform:translate(-3px) rotate(1deg)}30%{transform:translate(3px) rotate(0)}40%{transform:translate(1px) rotate(1deg)}50%{transform:translate(-1px) rotate(-1deg)}60%{transform:translate(-3px) rotate(0)}70%{transform:translate(3px) rotate(-1deg)}80%{transform:translate(-1px) rotate(1deg)}90%{transform:translate(1px) rotate(0)}to{transform:translate(1px) rotate(-1deg)}}.tc-actions[data-v-a888a477]{display:flex;justify-content:center;gap:12px;margin-top:8px}.tc-action-btn[data-v-a888a477]{padding:8px 20px;font-size:.9rem;border:1px solid var(--border);border-radius:var(--radius);background:var(--card-bg);color:var(--text-muted);cursor:pointer}.tc-action-btn[data-v-a888a477]:hover{border-color:var(--border-hover);color:var(--text)}.tc-done[data-v-a888a477]{text-align:center;padding:32px 0}.tc-done-title[data-v-a888a477]{font-size:1.5rem;font-weight:700;color:var(--text);margin-bottom:16px}.tc-done-stats[data-v-a888a477]{display:flex;justify-content:center;gap:24px;margin-bottom:24px}.tc-stat[data-v-a888a477]{display:flex;flex-direction:column;align-items:center}.tc-stat-value[data-v-a888a477]{font-size:1.5rem;font-weight:700;color:var(--text)}.tc-stat-label[data-v-a888a477]{font-size:.8rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em}.tc-done-actions[data-v-a888a477]{display:flex;flex-direction:column;align-items:center;gap:12px;margin-top:24px}.tone-1[data-v-a888a477]{color:var(--tone-1)}.tone-2[data-v-a888a477]{color:var(--tone-2)}.tone-3[data-v-a888a477]{color:var(--tone-3)}.tone-4[data-v-a888a477]{color:var(--tone-4)}.tone-5[data-v-a888a477]{color:var(--tone-5)}.islands-view[data-v-ca3d8a98]{max-width:600px;margin:0 auto;padding:0 16px}.islands-header[data-v-ca3d8a98]{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}.islands-header h2[data-v-ca3d8a98]{margin:0;font-size:1.25rem}.btn-new-island[data-v-ca3d8a98]{padding:8px 16px;font-size:.875rem;border:1px solid var(--border);border-radius:var(--radius);background:var(--secondary);color:var(--on-primary);text-decoration:none;cursor:pointer}.btn-new-island[data-v-ca3d8a98]:hover{opacity:.9}.islands-description[data-v-ca3d8a98]{color:var(--text-muted);font-size:.9rem;margin:0 0 20px}.islands-list[data-v-ca3d8a98]{display:flex;flex-direction:column;gap:1px}.island-item[data-v-ca3d8a98]{display:flex;align-items:baseline;justify-content:space-between;padding:14px 16px;background:var(--card-bg);border:1px solid var(--border);border-radius:var(--radius);text-decoration:none;color:var(--text);cursor:pointer;transition:background-color .15s ease;margin-bottom:4px}.island-item[data-v-ca3d8a98]:hover{background:var(--bg)}.island-title[data-v-ca3d8a98]{min-width:0;overflow:hidden}.island-title-main[data-v-ca3d8a98]{font-weight:500;font-size:1rem}.island-title-context[data-v-ca3d8a98]{display:block;color:var(--text-muted);font-weight:400;font-size:.8rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.island-meta[data-v-ca3d8a98]{display:flex;align-items:center;gap:12px;white-space:nowrap;flex-shrink:0}.island-count[data-v-ca3d8a98]{font-size:.85rem;color:var(--text-muted)}.delete-btn[data-v-ca3d8a98]{display:flex;align-items:center;justify-content:center;padding:4px;border:none;background:transparent;color:var(--text-muted);cursor:pointer;border-radius:4px;opacity:0;transition:opacity .15s ease,color .15s ease}.island-item:hover .delete-btn[data-v-ca3d8a98]{opacity:1}@media (hover: none){.delete-btn[data-v-ca3d8a98]{opacity:1}}.delete-btn[data-v-ca3d8a98]:hover{color:var(--error, #e53e3e)}.confirm-delete-btn[data-v-ca3d8a98]{padding:4px 10px;border:1px solid var(--error, #e53e3e);background:var(--error, #e53e3e);color:var(--on-primary);border-radius:4px;font-size:.8rem;cursor:pointer}.loading-view[data-v-ca3d8a98]{text-align:center;padding:40px 20px;color:var(--text-muted)}.empty-state[data-v-ca3d8a98]{text-align:center;padding:60px 20px;color:var(--text-muted)}.empty-state p[data-v-ca3d8a98]{margin:0}.empty-hint[data-v-ca3d8a98]{margin-top:8px!important;font-size:.9rem}.create-form-wrapper[data-v-cb0ff1a0]{flex:1;display:flex;align-items:center;justify-content:center;padding:24px 16px}.login-prompt[data-v-cb0ff1a0]{text-align:center}.login-prompt h2[data-v-cb0ff1a0]{margin:0 0 8px;font-size:1.25rem;color:var(--text)}.login-prompt p[data-v-cb0ff1a0]{margin:0 0 24px;color:var(--text-muted)}.create-form[data-v-cb0ff1a0]{max-width:600px;width:100%}.create-heading[data-v-cb0ff1a0]{font-size:1.25rem;font-weight:600;margin:0 0 4px}.create-description[data-v-cb0ff1a0]{color:var(--text-muted);font-size:.9rem;margin:0 0 16px;line-height:1.5}.input-row[data-v-cb0ff1a0]{display:flex;gap:8px}.create-input[data-v-cb0ff1a0]{flex:1;padding:10px 14px;border:1px solid var(--border);border-radius:var(--radius);background:var(--bg);color:var(--text);font-size:.875rem;outline:none;min-width:0}.create-input[data-v-cb0ff1a0]:focus{border-color:var(--secondary);box-shadow:0 0 0 2px color-mix(in srgb,var(--secondary) 20%,transparent)}.create-submit[data-v-cb0ff1a0]{padding:8px 16px;border:none;border-radius:var(--radius);background:var(--secondary);color:var(--on-primary);font-size:.875rem;font-weight:500;cursor:pointer;white-space:nowrap}.create-submit[data-v-cb0ff1a0]:hover:not(:disabled){opacity:.9}.create-submit[data-v-cb0ff1a0]:disabled{opacity:.4;cursor:not-allowed}.examples[data-v-cb0ff1a0]{margin-top:20px}.examples-label[data-v-cb0ff1a0]{font-size:.8rem;color:var(--text-muted);margin:0 0 8px}.examples-list[data-v-cb0ff1a0]{list-style:none;margin:0;padding:0}.examples-list li[data-v-cb0ff1a0]{padding:4px 0;font-size:.875rem;color:var(--text)}.build-link[data-v-cb0ff1a0]{color:var(--secondary);text-decoration:none;font-size:.8rem;margin-left:6px}.build-link[data-v-cb0ff1a0]:hover{text-decoration:underline}@media (max-width: 480px){.input-row[data-v-cb0ff1a0]{flex-direction:column}}.island-graph-view[data-v-51799748]{flex:1;display:flex;flex-direction:column;position:relative;min-height:0;background:var(--bg)}.island-nav[data-v-51799748]{display:flex;align-items:center;gap:12px;padding:8px 16px;border-bottom:1px solid var(--border)}.nav-spacer[data-v-51799748]{flex:1}.back-link[data-v-51799748]{display:inline-flex;align-items:center;gap:4px;color:var(--text-muted);text-decoration:none;font-size:.875rem}.back-link[data-v-51799748]:hover{color:var(--text)}.island-title[data-v-51799748]{font-weight:500;font-size:1rem;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex-shrink:1}.island-title-context[data-v-51799748]{color:var(--text-muted);font-weight:400;font-size:.85rem}.island-title-context.building[data-v-51799748]{animation:build-pulse-51799748 1.5s ease-in-out infinite}.restart-btn[data-v-51799748]{padding:6px 12px;border:1px solid var(--border);border-radius:var(--radius);background:var(--card-bg);color:var(--text-muted);font-size:.8rem;white-space:nowrap;flex-shrink:0;cursor:pointer}.restart-btn[data-v-51799748]:hover:not(:disabled){color:var(--text);border-color:var(--border-hover)}@keyframes build-pulse-51799748{0%,to{opacity:1}50%{opacity:.4}}.graph-container[data-v-51799748]{flex:1;overflow:hidden;position:relative}.graph-stage[data-v-51799748]{position:relative;display:flex;flex-direction:column;flex:1;min-height:0}.mobile-node-sheet[data-v-51799748]{position:absolute;left:10px;right:10px;bottom:calc(10px + env(safe-area-inset-bottom));z-index:6;border:1px solid var(--border);border-radius:18px;background:var(--card-bg);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:0 14px 36px #0000002e,0 4px 10px #00000014;padding:0 12px;overflow:hidden;pointer-events:auto;will-change:height;display:flex;flex-direction:column}.mobile-node-sheet.snapping[data-v-51799748]{transition:height .3s cubic-bezier(.25,.46,.45,.94)}.mobile-node-sheet-body[data-v-51799748]{display:flex;flex-direction:column;flex:1;min-height:0}.mobile-node-sheet-content[data-v-51799748]{flex:1;min-height:0;overflow:hidden;position:relative}.mobile-node-sheet-fade[data-v-51799748]{position:absolute;left:0;right:0;bottom:0;height:36px;background:linear-gradient(to bottom,transparent,var(--card-bg) 70%);display:flex;align-items:flex-end;justify-content:center;padding-bottom:4px;cursor:pointer}.mobile-node-sheet-fade-label[data-v-51799748]{font-size:.7rem;color:var(--text-muted);letter-spacing:.3px}.mobile-node-sheet-fade:hover .mobile-node-sheet-fade-label[data-v-51799748]{color:var(--text)}.mobile-node-sheet-footer[data-v-51799748]{flex-shrink:0;padding:8px 0 12px}.mobile-node-sheet-handle[data-v-51799748]{display:flex;justify-content:center;padding:10px 0 4px;cursor:grab;touch-action:none;-webkit-user-select:none;user-select:none}.mobile-node-sheet-handle[data-v-51799748]:active{cursor:grabbing}.mobile-node-sheet-handle-bar[data-v-51799748]{width:36px;height:4px;border-radius:2px;background:var(--text-muted);opacity:.35;transition:opacity .15s ease}.mobile-node-sheet-handle:hover .mobile-node-sheet-handle-bar[data-v-51799748]{opacity:.6}.mobile-node-sheet-close[data-v-51799748]{border:1px solid var(--border);border-radius:999px;width:30px;height:30px;flex:0 0 30px;background:var(--bg);color:var(--text-muted);font-size:.8rem;line-height:1;cursor:pointer}.mobile-node-sheet-close[data-v-51799748]:hover{color:var(--text);border-color:var(--border-hover)}.mobile-node-sheet-enter-active[data-v-51799748],.mobile-node-sheet-leave-active[data-v-51799748]{transition:opacity .2s ease,transform .2s ease}.mobile-node-sheet-enter-from[data-v-51799748],.mobile-node-sheet-leave-to[data-v-51799748]{opacity:0;transform:translateY(12px)}@media (min-width: 1200px){.mobile-node-sheet[data-v-51799748]{display:none}}@media (prefers-reduced-motion: reduce){.mobile-node-sheet-enter-active[data-v-51799748],.mobile-node-sheet-leave-active[data-v-51799748]{transition:none}}.loading-view[data-v-51799748],.error-view[data-v-51799748]{flex:1;display:flex;align-items:center;justify-content:center;color:var(--text-muted)}.island-node-full .node-full-card{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);background:var(--island-node-bg);border:1px solid var(--island-node-border);border-radius:8px;padding:8px 10px;box-shadow:0 2px 8px #00000014;box-sizing:border-box;font-family:-apple-system,sans-serif;word-wrap:break-word;overflow-wrap:break-word}.island-node-full .node-full-card.selected{border-color:var(--island-node-selected);pointer-events:auto;-webkit-user-select:text;user-select:text;cursor:text}.island-node-full .node-full-header{display:flex;align-items:baseline;gap:4px;margin-bottom:2px}.island-node-full .node-full-hanzi{font-size:13px;font-weight:500;font-family:Noto Sans SC,-apple-system,sans-serif}.island-node-full .node-full-pinyin{font-size:9px;color:var(--island-node-pinyin)}.island-node-full .node-full-meaning{font-size:9px;color:var(--island-node-meaning);line-height:1.4;margin-bottom:2px}.island-node-full .node-full-examples{list-style:none;padding:0;margin:2px 0 0;font-size:7px;color:var(--island-node-examples);line-height:1.4}.island-node-full .node-full-examples li{padding:1px 0}.island-node-full .node-speak{pointer-events:auto;cursor:pointer;font-size:7px;color:var(--island-node-examples);opacity:.5;-webkit-user-select:none;user-select:none}.island-node-full .node-speak:hover{opacity:1;color:var(--secondary)}.island-node-full .node-full-actions{margin-top:4px}.island-node-full .node-action{pointer-events:auto;cursor:pointer;font-size:8px;color:var(--island-node-action);text-decoration:none}.island-node-full .node-action:hover{text-decoration:underline}.app[data-v-c7ca968a]{display:flex;flex-direction:column;min-height:100vh}.app-header[data-v-c7ca968a]{background:var(--card-bg);border-bottom:1px solid var(--border);position:sticky;top:0;z-index:100;padding:8px 12px}.app-header-inner[data-v-c7ca968a]{display:flex;align-items:center;gap:8px}.header-btn[data-v-c7ca968a]{display:flex;align-items:center;justify-content:center;width:36px;height:36px;padding:0;border:none;border-radius:var(--radius);background:transparent;color:var(--text-muted);cursor:pointer;transition:background-color .15s ease,color .15s ease;flex-shrink:0}.header-btn[data-v-c7ca968a]:hover{background:var(--bg);color:var(--text)}.header-search[data-v-c7ca968a]{flex:1;min-width:0}.side-panel[data-v-c7ca968a]{position:fixed;top:0;right:0;bottom:0;left:0;z-index:200;pointer-events:none}.side-panel.open[data-v-c7ca968a]{pointer-events:auto}.side-panel-backdrop[data-v-c7ca968a]{position:absolute;top:0;right:0;bottom:0;left:0;background:#0000004d;opacity:0;transition:opacity .2s ease}.side-panel.open .side-panel-backdrop[data-v-c7ca968a]{opacity:1}.side-panel-content[data-v-c7ca968a]{position:absolute;top:0;left:0;bottom:0;width:260px;max-width:80vw;background:var(--card-bg);border-right:1px solid var(--border);box-shadow:2px 0 12px #0000001a;transform:translate(-100%);transition:transform .2s ease;display:flex;flex-direction:column}.side-panel.open .side-panel-content[data-v-c7ca968a]{transform:translate(0)}.side-panel-header[data-v-c7ca968a]{display:flex;align-items:center;justify-content:space-between;padding:11px 16px;border-bottom:1px solid var(--border)}.side-panel-title[data-v-c7ca968a]{font-weight:500;color:var(--text)}.side-panel-close[data-v-c7ca968a]{display:flex;align-items:center;justify-content:center;width:32px;height:32px;padding:0;border:none;border-radius:var(--radius);background:transparent;color:var(--text-muted);cursor:pointer;transition:background-color .15s ease,color .15s ease}.side-panel-close[data-v-c7ca968a]:hover{background:var(--bg);color:var(--text)}.menu-item[data-v-c7ca968a]{display:flex;align-items:center;justify-content:space-between;width:100%;padding:14px 16px;border:none;background:transparent;color:var(--text);font-size:.95rem;text-align:left;text-decoration:none;cursor:pointer;transition:background-color .15s ease}.menu-item[data-v-c7ca968a]:hover:not(.disabled){background:var(--bg)}.menu-item.active[data-v-c7ca968a]{background:var(--bg);color:var(--secondary);border-left:3px solid var(--secondary)}.menu-item.disabled[data-v-c7ca968a]{color:var(--text-muted);cursor:not-allowed}.menu-item.auth-required[data-v-c7ca968a]{color:var(--text-muted)}.menu-badge[data-v-c7ca968a]{font-size:.7rem;padding:2px 6px;background:var(--bg);border-radius:4px;color:var(--text-muted)}.menu-badge.due[data-v-c7ca968a]{background:var(--secondary);color:var(--on-primary)}.menu-spacer[data-v-c7ca968a]{height:20px;flex-shrink:0}.menu-section-divider[data-v-c7ca968a]{height:1px;background:var(--border);margin:8px 16px}.menu-section-header[data-v-c7ca968a]{padding:12px 16px 8px;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:var(--text-muted)}.app-content[data-v-c7ca968a]{flex:1;max-width:900px;margin:0 auto;padding:16px 20px;width:100%;box-sizing:border-box}.card-list-view[data-v-c7ca968a]{max-width:600px;margin:0 auto}.empty-state[data-v-c7ca968a]{text-align:center;padding:60px 20px;color:var(--text-muted)}.empty-state p[data-v-c7ca968a]{margin:0}.empty-hint[data-v-c7ca968a]{margin-top:8px!important;font-size:.9rem}.login-prompt-view[data-v-c7ca968a]{text-align:center;padding:60px 20px}.login-prompt-view h2[data-v-c7ca968a]{margin:0 0 8px;font-size:1.25rem;color:var(--text)}.login-prompt-view p[data-v-c7ca968a]{margin:0 0 24px;color:var(--text-muted)}.landing-view[data-v-c7ca968a]{max-width:600px;margin:0 auto;padding:20px 16px 40px}.landing-hero[data-v-c7ca968a]{text-align:center;margin-bottom:32px}.landing-hero h1[data-v-c7ca968a]{font-size:1.5rem;font-weight:700;color:var(--text);margin:0 0 12px;line-height:1.3}.landing-subtitle[data-v-c7ca968a]{font-size:1rem;color:var(--text-muted);margin:0;line-height:1.5}.landing-video[data-v-c7ca968a]{position:relative;width:100%;padding-bottom:56.25%;margin-bottom:32px;border-radius:var(--radius);overflow:hidden;background:var(--bg)}.landing-video iframe[data-v-c7ca968a]{position:absolute;top:0;left:0;width:100%;height:100%;border:none}.landing-cta[data-v-c7ca968a]{text-align:center}.landing-hint[data-v-c7ca968a]{margin:12px 0 0;font-size:.85rem;color:var(--text-muted)}.loading-view[data-v-c7ca968a]{max-width:600px;margin:0 auto;text-align:center;padding:20px;color:var(--text-muted)}.review-view[data-v-c7ca968a]{max-width:600px;margin:0 auto}.card-editor-view[data-v-c7ca968a]{margin:0 auto}.editor-nav[data-v-c7ca968a]{margin-bottom:16px}.back-btn[data-v-c7ca968a]{display:inline-flex;align-items:center;gap:4px;padding:8px 12px;border:1px solid var(--border);border-radius:var(--radius);background:var(--card-bg);color:var(--text);font-size:.875rem;cursor:pointer;transition:background-color .15s ease,border-color .15s ease}.back-btn[data-v-c7ca968a]:hover{background:var(--bg);border-color:var(--border-hover)}.bottom-nav[data-v-c7ca968a]{display:flex;justify-content:space-around;padding:8px 0;background:var(--card-bg);border-top:1px solid var(--border);position:sticky;bottom:0}.nav-item[data-v-c7ca968a]{flex:1;padding:12px 8px;border:none;background:transparent;color:var(--text-muted);font-size:.75rem;cursor:pointer;transition:color .15s ease}.nav-item[data-v-c7ca968a]:hover,.nav-item.active[data-v-c7ca968a]{color:var(--secondary)}.chat-overlay[data-v-c7ca968a]{position:fixed;top:0;right:0;bottom:0;left:0;z-index:300}.chat-overlay.docked[data-v-c7ca968a]{position:fixed;top:0;right:0;bottom:0;left:auto;width:400px;pointer-events:none}.chat-overlay.docked .chat-panel[data-v-c7ca968a]{pointer-events:auto}.chat-backdrop[data-v-c7ca968a]{position:absolute;top:0;right:0;bottom:0;left:0;background:#0000004d}.chat-panel[data-v-c7ca968a]{position:absolute;top:0;right:0;bottom:0;width:400px;max-width:100vw;background:var(--card-bg);border-left:1px solid var(--border);box-shadow:-2px 0 12px #0000001a}.app.chat-docked[data-v-c7ca968a]{margin-right:400px}.chat-slide-enter-active[data-v-c7ca968a],.chat-slide-leave-active[data-v-c7ca968a]{transition:opacity .2s ease}.chat-slide-enter-active .chat-panel[data-v-c7ca968a],.chat-slide-leave-active .chat-panel[data-v-c7ca968a]{transition:transform .2s ease}.chat-slide-enter-from[data-v-c7ca968a],.chat-slide-leave-to[data-v-c7ca968a]{opacity:0}.chat-slide-enter-from .chat-panel[data-v-c7ca968a],.chat-slide-leave-to .chat-panel[data-v-c7ca968a]{transform:translate(100%)}@media (max-width: 480px){.chat-panel[data-v-c7ca968a]{width:100vw}}.app--fullscreen[data-v-c7ca968a]{height:100dvh;overflow:hidden}.app--fullscreen .app-content[data-v-c7ca968a]{max-width:none;padding:0;display:flex;flex-direction:column;min-height:0;overflow:hidden}@media (max-width: 700px){.app-content[data-v-c7ca968a]{padding:16px 0}}.app-footer[data-v-c7ca968a]{display:flex;justify-content:center;align-items:center;gap:8px;padding:24px 16px;font-size:.8rem;color:var(--text-muted)}.app-footer a[data-v-c7ca968a]{color:var(--text-muted);text-decoration:none}.app-footer a[data-v-c7ca968a]:hover{color:var(--secondary);text-decoration:underline}.footer-divider[data-v-c7ca968a]{opacity:.5}*{box-sizing:border-box;margin:0;padding:0}:root{--primary: #2c3e50;--secondary: #3498db;--bg: #f8f9fa;--card-bg: #ffffff;--border: #dee2e6;--border-hover: #c0c4c8;--text: #212529;--text-muted: #6c757d;--text-secondary: #666666;--text-tertiary: #888888;--success: #28a745;--danger: #dc3545;--warning: #f39c12;--radius: 6px;--shadow: 0 2px 8px rgba(0,0,0,.08);--surface-hover: rgba(0, 0, 0, .05);--surface-active: rgba(0, 0, 0, .1);--spacing-sm: 8px;--spacing-md: 16px;--spacing-lg: 24px;--tone-1: #e57373;--tone-2: #d4a017;--tone-3: #2980b9;--tone-4: #7b1fa2;--tone-5: #6c757d;--llm-bg: var(--card-bg);--llm-bg-soft: var(--bg);--llm-bg-mute: #eef1f5;--llm-text: var(--text);--llm-text-dim: var(--text-muted);--llm-border: var(--border);--llm-border-hover: var(--border-hover);--llm-accent: var(--secondary);--llm-accent-contrast: #ffffff;--llm-error: var(--danger);--llm-success: var(--success);--llm-radius-sm: var(--radius);--llm-radius-md: var(--radius);--overlay-bg: rgba(0, 0, 0, .5);--card-loading-bg: rgba(255, 255, 255, .9);--image-overlay: rgba(255, 255, 255, .75);--on-primary: white;--banner-error-bg: #fef2f2;--banner-error-border: #fecaca;--banner-error-text: #991b1b;--banner-warning-bg: #fffbeb;--banner-warning-border: #fde68a;--banner-warning-text: #92400e;--banner-success-bg: rgba(34, 197, 94, .1);--banner-success-border: rgba(34, 197, 94, .3);--banner-success-text: #166534;--banner-success-icon: #22c55e;--game-found-bg: #dbeafe;--game-found-border: #93c5fd;--game-found-text: #1e40af;--game-correct-bg: #d1fae5;--game-correct-border: #6ee7b7;--game-correct-text: #065f46;--game-wrong-bg: #fee2e2;--game-wrong-border: #fca5a5;--game-wrong-text: #991b1b;--game-flash-correct-bg: #f0fff4;--game-flash-wrong-bg: #fff5f5;--game-just-found-bg: #f0fdf4;--heatmap-0: #ebedf0;--heatmap-1: rgba(40, 167, 69, .45);--heatmap-2: rgba(40, 167, 69, .65);--heatmap-3: rgba(40, 167, 69, .82);--heatmap-4: rgb(40, 167, 69);--island-node-bg: #ffffff;--island-node-border: #d2d2d7;--island-node-text: #1d1d1f;--island-node-selected: #0a84ff;--island-node-pinyin: #6c757d;--island-node-meaning: #48484a;--island-node-examples: #86868b;--island-node-action: #0071e3;--island-edge-color: #c7c7cc}[data-theme=dark]{--primary: #9198a1;--secondary: #4493f8;--bg: #0d1117;--card-bg: #151b23;--border: #3d444d;--border-hover: #656c76;--text: #f0f6fc;--text-muted: #9198a1;--text-secondary: #9198a1;--text-tertiary: #656c76;--success: #3fb950;--danger: #f85149;--warning: #d29922;--shadow: 0 1px 3px rgba(1, 4, 9, .6);--surface-hover: #656c7633;--surface-active: #656c7640;--llm-bg-mute: #212830;--llm-accent-contrast: #ffffff;--tone-1: #ff8a8a;--tone-2: #f0c040;--tone-3: #79b8ff;--tone-4: #d2a8ff;--tone-5: #adb5bd;--overlay-bg: #21283066;--card-loading-bg: rgba(21, 27, 35, .9);--image-overlay: rgba(1, 4, 9, .5);--banner-error-bg: #f851491a;--banner-error-border: #f8514966;--banner-error-text: #f85149;--banner-warning-bg: #bb800926;--banner-warning-border: #bb800966;--banner-warning-text: #d29922;--banner-success-bg: #2ea04326;--banner-success-border: #2ea04366;--banner-success-text: #3fb950;--banner-success-icon: #3fb950;--game-found-bg: #388bfd1a;--game-found-border: #388bfd66;--game-found-text: #4493f8;--game-correct-bg: #2ea04326;--game-correct-border: #2ea04366;--game-correct-text: #3fb950;--game-wrong-bg: #f851491a;--game-wrong-border: #f8514966;--game-wrong-text: #f85149;--game-flash-correct-bg: #2ea04315;--game-flash-wrong-bg: #f8514915;--game-just-found-bg: #2ea04315;--heatmap-0: #151b23;--heatmap-1: #033a16;--heatmap-2: #196c2e;--heatmap-3: #2ea043;--heatmap-4: #56d364;--island-node-bg: #151b23;--island-node-border: #3d444d;--island-node-text: #f0f6fc;--island-node-selected: #4493f8;--island-node-pinyin: #9198a1;--island-node-meaning: #9198a1;--island-node-examples: #656c76;--island-node-action: #4493f8;--island-edge-color: #3d444d}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,sans-serif;background:var(--bg);color:var(--text);line-height:1.5}.btn{display:inline-flex;align-items:center;gap:6px;padding:8px 16px;border:1px solid var(--border);border-radius:var(--radius);background:var(--card-bg);color:var(--text);font-size:.875rem;cursor:pointer;transition:background-color .15s ease,border-color .15s ease,opacity .15s ease;text-decoration:none}.btn:hover{background:var(--bg)}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background:var(--secondary);border-color:var(--secondary);color:var(--on-primary)}.btn-primary:hover{background:#2980b9}.btn-small{padding:4px 10px;font-size:.8rem}input,textarea,select{width:100%;padding:10px 12px;border:1px solid var(--border);border-radius:var(--radius);font-size:1rem;font-family:inherit;background:var(--card-bg);color:var(--text);transition:border-color .15s ease}input:focus,textarea:focus,select:focus{outline:none;border-color:var(--secondary)}textarea{resize:vertical;min-height:80px}.card{background:var(--card-bg);border:1px solid var(--border);border-radius:var(--radius);padding:20px;box-shadow:var(--shadow)}.nav-tabs{display:flex;gap:var(--spacing-sm);margin-bottom:var(--spacing-lg)}.nav-tab{padding:10px 20px;border:1px solid var(--border);border-radius:var(--radius);background:var(--card-bg);cursor:pointer;font-size:.9rem;transition:background-color .15s ease,border-color .15s ease,color .15s ease}.nav-tab:hover{background:var(--bg)}.nav-tab.active{background:var(--primary);border-color:var(--primary);color:var(--on-primary)}.flashcard{perspective:1000px;cursor:pointer;margin-bottom:20px;position:relative;z-index:1}.flashcard-inner{position:relative;min-height:300px;transition:transform .5s ease;transform-style:preserve-3d}.flashcard.flipped .flashcard-inner{transform:rotateY(180deg)}.flashcard-front,.flashcard-back{position:absolute;width:100%;min-height:300px;backface-visibility:hidden;background:var(--card-bg);border:1px solid var(--border);border-radius:var(--radius);padding:24px;box-shadow:var(--shadow)}.flashcard-back{transform:rotateY(180deg)}.flashcard-front{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center}.flashcard-character{font-size:4rem;margin-bottom:16px;font-weight:400}.flashcard-pinyin{font-size:1.5rem;color:var(--secondary);margin-bottom:12px}.flashcard-clue{font-size:1rem;color:var(--text-muted);font-style:italic}.flashcard-back h4{margin-bottom:8px;color:var(--primary);font-size:.85rem;text-transform:uppercase;letter-spacing:.5px}.flashcard-back section{margin-bottom:16px}.flashcard-back p{margin-bottom:4px}.example{padding:8px 12px;background:var(--bg);border-radius:var(--radius);margin-bottom:8px}.example-zh{font-size:1.1rem}.example-pinyin{color:var(--secondary);font-size:.9rem}.example-en{color:var(--text-muted);font-size:.9rem}.editor-field{margin-bottom:16px}.editor-field label{display:block;margin-bottom:6px;font-weight:500;font-size:.875rem;color:var(--text-muted)}.editor-actions{display:flex;gap:var(--spacing-sm);justify-content:flex-end;margin-top:var(--spacing-md)}.card-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:var(--spacing-md)}.card-item{background:var(--card-bg);border:1px solid var(--border);border-radius:var(--radius);padding:var(--spacing-md);cursor:pointer;transition:box-shadow .15s ease,border-color .15s ease}.card-item:hover{box-shadow:var(--shadow);border-color:var(--secondary)}.card-item-character{font-size:2rem;text-align:center;margin-bottom:var(--spacing-sm)}.card-item-pinyin{text-align:center;color:var(--secondary);font-size:.9rem}.card-item-meaning{text-align:center;color:var(--text-muted);font-size:.8rem;margin-top:var(--spacing-sm);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.study-mode{margin-top:var(--spacing-sm)}.study-header{display:flex;align-items:center;gap:var(--spacing-md);margin-bottom:20px;padding-bottom:var(--spacing-md);border-bottom:1px solid var(--border)}.study-header-title{flex:1;font-size:1.2rem;font-weight:600;margin:0}.study-header-nav{display:flex;align-items:center;gap:var(--spacing-sm)}.study-progress{color:var(--text-muted);font-size:.9rem;min-width:50px;text-align:center}.nav-btn{width:44px;height:44px;display:flex;align-items:center;justify-content:center;font-size:1.5rem;font-weight:300;border:1px solid var(--border);border-radius:var(--radius);background:var(--card-bg);color:var(--text);cursor:pointer;transition:background-color .15s ease,border-color .15s ease;-webkit-tap-highlight-color:transparent}.nav-btn:hover:not(:disabled){background:var(--bg);border-color:var(--secondary)}.nav-btn:disabled{opacity:.3;cursor:not-allowed}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:var(--overlay-bg);display:flex;align-items:flex-start;justify-content:center;z-index:100;overflow-y:auto;padding:40px 0}.modal{background:var(--card-bg);border-radius:var(--radius);padding:24px;max-width:500px;width:90%;max-height:80vh;overflow-y:auto}.modal h2{margin-bottom:20px;font-size:1.25rem}.card-modal{width:90%;max-width:600px;margin:20px 0}.card-modal .flashcard{margin-bottom:0}.card-modal .flashcard-front,.card-modal .flashcard-back{border-radius:var(--radius) var(--radius) 0 0}.card-modal .modal-actions{display:flex;justify-content:flex-end;gap:var(--spacing-sm);padding:var(--spacing-md) var(--spacing-lg);background:var(--card-bg);border:1px solid var(--border);border-top:none;border-radius:0 0 var(--radius) var(--radius)}.modal-actions{display:flex;justify-content:flex-end;gap:var(--spacing-sm);margin-top:var(--spacing-md)}.dict-results{margin-top:var(--spacing-md)}.dict-entry{padding:12px;border-bottom:1px solid var(--border);cursor:pointer;transition:background-color .15s ease,border-color .15s ease}.dict-entry:hover{background:var(--bg)}.dict-entry-head{display:flex;gap:var(--spacing-sm);align-items:baseline}.dict-entry-char{font-size:1.5rem}.dict-entry-pinyin{color:var(--secondary)}.dict-entry-def{color:var(--text-muted);font-size:.9rem;margin-top:4px}.loading{display:flex;align-items:center;justify-content:center;padding:40px;color:var(--text-muted)}.spinner{width:24px;height:24px;border:2px solid var(--border);border-top-color:var(--secondary);border-radius:50%;animation:spin .8s linear infinite;margin-right:10px}@keyframes spin{to{transform:rotate(360deg)}}.empty-state{text-align:center;padding:40px 20px;color:var(--text-muted)}.mt-20{margin-top:20px}.mb-20{margin-bottom:20px}.text-center{text-align:center}.text-muted{color:var(--text-muted)}.header-actions{display:flex;gap:var(--spacing-sm)}.error-card{border-color:var(--danger)}.error-text{color:var(--danger)}.error-hint{color:var(--text-muted);font-size:.9em;margin-top:8px}.error-actions{display:flex;gap:var(--spacing-sm);margin-top:var(--spacing-md)}.btn-secondary{background:var(--bg);border:1px solid var(--border);color:var(--text)}.btn-secondary:hover{background:var(--llm-bg-mute)}.card-view-container{margin-bottom:20px}.card-view{perspective:1000px;cursor:pointer;position:relative}.card-view-inner{position:relative;min-height:300px;transition:transform .5s ease;transform-style:preserve-3d}.card-view.flipped .card-view-inner{transform:rotateY(180deg)}.card-view.editing{cursor:default}.card-view.editing .card-view-inner{display:none}.card-view-front,.card-view-back{width:100%;min-height:300px;backface-visibility:hidden;background:var(--card-bg);border:1px solid var(--border);border-radius:var(--radius);padding:24px;box-shadow:var(--shadow)}.card-view-front{position:absolute;top:0;left:0;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center}.card-view-back{position:relative;transform:rotateY(180deg)}.card-view:not(.flipped) .card-view-front{position:relative}.card-view:not(.flipped) .card-view-back{position:absolute;top:0;left:0}.card-view-character{font-size:4rem;margin-bottom:8px;font-weight:400}.card-view-pinyin{font-size:1.5rem;color:var(--secondary);margin-bottom:12px}.card-view-hint{font-size:1rem;color:var(--text-muted);font-style:italic}.card-view-loading{position:absolute;top:0;left:0;right:0;bottom:0;background:var(--card-loading-bg);display:flex;align-items:center;justify-content:center;border-radius:var(--radius);gap:var(--spacing-sm)}.card-view-generate{text-align:center;padding:20px;margin-top:16px;border-top:1px solid var(--border)}.card-view-section{margin-bottom:16px}.card-view-section h4{margin-bottom:8px;color:var(--primary);font-size:.85rem;text-transform:uppercase;letter-spacing:.5px}.card-view-section p{line-height:1.6}.card-view-edit-panel{background:var(--card-bg);border:1px solid var(--border);border-radius:var(--radius);padding:24px;box-shadow:var(--shadow)}.card-view-edit-panel h4{margin:16px 0 12px;color:var(--primary);font-size:.85rem;text-transform:uppercase;letter-spacing:.5px}.card-view-edit-panel h4:first-child{margin-top:0}.edit-panel-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.edit-panel-header h4{margin:0}.edit-front-preview{text-align:center;padding:16px;background:var(--bg);border-radius:var(--radius);margin-bottom:8px}.edit-front-preview .preview-character{font-size:3rem;margin-bottom:8px}.edit-front-preview input{max-width:200px;margin:4px auto;text-align:center}.edit-field{margin-bottom:12px}.edit-field label{display:block;margin-bottom:4px;font-size:.85rem;color:var(--text-muted)}.edit-field textarea,.edit-field input{width:100%}.example-edit{padding:12px;background:var(--bg);border-radius:var(--radius);margin-bottom:8px;display:grid;gap:6px}.example-edit input{width:100%}.actions-left,.actions-right{display:flex;gap:var(--spacing-sm)}.btn-danger-text{color:var(--danger)}.saved-cards-section{margin:20px 0}.saved-cards-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.saved-cards-list{display:flex;flex-wrap:wrap;gap:var(--spacing-sm);padding:var(--spacing-sm) 0}.saved-card-item{flex-shrink:0;display:flex;flex-direction:column;align-items:center;padding:12px var(--spacing-md);background:var(--card-bg);border:1px solid var(--border);border-radius:var(--radius);cursor:pointer;transition:border-color .15s ease,box-shadow .15s ease;min-width:80px}.saved-card-item:hover{border-color:var(--secondary);box-shadow:var(--shadow)}.saved-card-char{font-size:1.75rem;margin-bottom:4px}.saved-card-pinyin{font-size:.8rem;color:var(--secondary)}.saved-card-item.trivia-item{flex-direction:row;min-width:200px;max-width:300px;gap:var(--spacing-sm)}.saved-card-label{font-weight:600;color:var(--secondary);font-size:.9rem}.saved-card-question{font-size:.85rem;color:var(--text);line-height:1.3}.card-view-front.has-bg-image{background-size:cover;background-position:center}.card-view-front.has-bg-image:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:var(--image-overlay);border-radius:var(--radius);z-index:0}.card-view-front.has-bg-image .card-view-character,.card-view-front.has-bg-image .card-view-pinyin,.card-view-front.has-bg-image .card-view-hint{position:relative;z-index:1}.card-view-front.has-bg-image .card-view-character{text-shadow:0 2px 8px rgba(255,255,255,.8)}.image-prompt-text{font-style:italic;color:var(--text-muted);font-size:.9rem;margin-bottom:12px}.image-story-header{display:flex;align-items:center;gap:var(--spacing-sm);margin-bottom:var(--spacing-sm)}.image-story-header h4{margin-bottom:0}.image-story-content{display:flex;gap:var(--spacing-md)}.image-story-preview{flex-shrink:0;border-radius:var(--radius);overflow:hidden;max-width:200px}.image-story-preview img{width:100%;height:auto;display:block}.image-story-text{flex:1;min-width:0}.image-story-text .image-prompt-text{margin:0}@media (max-width: 700px){.image-story-content{flex-direction:column}.image-story-preview{max-width:100%}}.image-hint{font-size:.8rem}.image-error{color:var(--danger);font-size:.85rem;margin-top:8px;padding:8px;background:#dc35451a;border-radius:var(--radius)}.markdown-content h1{font-size:1.5rem;font-weight:600;margin:0 0 12px;padding-bottom:8px;border-bottom:1px solid var(--border);color:var(--primary)}.markdown-content h2{font-size:.85rem;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:var(--text-muted);margin:20px 0 8px}.markdown-content h2:first-child{margin-top:0}.markdown-content p{margin:0 0 12px;line-height:1.6}.markdown-content ul,.markdown-content ol{margin:0 0 12px;padding-left:20px}.markdown-content li{margin:4px 0;line-height:1.6}.markdown-content em{color:var(--text-muted);font-style:italic}.markdown-content strong{font-weight:600}.markdown-content code{background:#80808026;padding:2px 6px;border-radius:3px;font-size:.9em}.markdown-content blockquote{margin:12px 0;padding:8px 16px;border-left:3px solid var(--secondary);background:var(--bg);color:var(--text-secondary)}.markdown-content img{max-width:100%;height:auto;border-radius:var(--radius);margin:8px 0}.markdown-content img.card-image-pending,.markdown-content img.card-image-loading{opacity:.5;min-height:100px;background:#8080801a}.markdown-content img.card-image-error{opacity:.3;min-height:50px;background:#dc35451a;border:1px dashed rgba(220,53,69,.3)}.markdown-content .inline-speak{display:inline;margin-left:2px;font-size:.7em;color:var(--text-muted);opacity:.4;cursor:pointer;transition:opacity .15s ease,color .15s ease;-webkit-user-select:none;user-select:none;vertical-align:middle}.markdown-content .inline-speak:hover{opacity:1;color:var(--secondary)}.tone-1{color:var(--tone-1)}.tone-2{color:var(--tone-2)}.tone-3{color:var(--tone-3)}.tone-4{color:var(--tone-4)}.tone-5{color:var(--tone-5)}.pinyin-colored{display:inline}.pinyin-colored .syllable{font-weight:500}
