*{box-sizing:border-box}html,body,#app{margin:0;padding:0;min-height:100%}body{font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;background:#f3f4f6;color:#111827}.login-page[data-v-cf7f2611]{height:100vh;display:flex;justify-content:center;align-items:center}.login-card[data-v-cf7f2611]{width:320px;background:#fff;padding:24px;border-radius:16px}.input[data-v-cf7f2611]{width:100%;margin-bottom:10px;padding:10px;border-radius:10px;border:1px solid #ccc}.login-btn[data-v-cf7f2611]{width:100%;padding:10px;border:none;border-radius:10px;background:#4f46e5;color:#fff}.error[data-v-cf7f2611]{color:red;font-size:13px}.page[data-v-a60c78dd]{display:grid;grid-template-columns:320px 1fr;min-height:100vh;background:#f3f4f6}.sidebar[data-v-a60c78dd]{background:#fff;border-right:1px solid #e5e7eb;padding:14px;height:100vh;overflow:hidden;display:flex;flex-direction:column}.add-btn[data-v-a60c78dd]{width:100%;border:none;border-radius:12px;padding:12px 14px;background:#4f46e5;color:#fff;cursor:pointer;font-size:14px;margin-bottom:12px;flex-shrink:0}.mode-switch[data-v-a60c78dd]{display:flex;gap:8px;margin-bottom:12px;flex-shrink:0}.mode-btn[data-v-a60c78dd]{flex:1;border:none;border-radius:12px;padding:10px 12px;cursor:pointer;background:#e5e7eb;color:#111827;font-size:13px;font-weight:600}.mode-btn.active[data-v-a60c78dd]{background:#4f46e5;color:#fff}.group-stack[data-v-a60c78dd]{flex:1;min-height:0;display:flex;flex-direction:column;gap:12px}.group-block[data-v-a60c78dd]{background:#f8fafc;border-radius:14px;border:1px solid transparent;transition:.15s;display:flex;flex-direction:column;min-height:56px;min-width:0;overflow:hidden;flex:1}.group-block.collapsed[data-v-a60c78dd]{flex:0 0 56px}.group-block.expanded[data-v-a60c78dd]{flex:1}.group-block.drag-over[data-v-a60c78dd]{border-color:#4f46e5;background:#eef2ff;box-shadow:inset 0 0 0 1px #4f46e526}.group-block.drag-over .group-header[data-v-a60c78dd]{background:#4f46e514}.group-header[data-v-a60c78dd]{flex-shrink:0;height:56px;display:flex;align-items:center;justify-content:space-between;padding:0 12px;cursor:pointer;border-bottom:1px solid transparent}.group-block.expanded .group-header[data-v-a60c78dd]{border-bottom-color:#e5e7eb}.group-title[data-v-a60c78dd]{display:flex;align-items:center;gap:8px;font-size:14px;font-weight:600;color:#111827}.arrow[data-v-a60c78dd]{width:14px;display:inline-block;text-align:center;color:#6b7280}.group-count[data-v-a60c78dd]{min-width:24px;padding:2px 8px;border-radius:999px;background:#e5e7eb;color:#374151;font-size:12px;text-align:center}.group-items[data-v-a60c78dd]{flex:1;min-height:0;overflow-y:auto;padding:10px}.item[data-v-a60c78dd]{background:#fff;border-radius:12px;padding:12px;margin-bottom:8px;cursor:pointer;transition:.15s;border:1px solid transparent;-webkit-user-select:none;user-select:none}.item[data-v-a60c78dd]:hover{background:#eef2ff}.item.active[data-v-a60c78dd]{background:#4f46e5;color:#fff}.item.dragging[data-v-a60c78dd]{opacity:.45}.item-text[data-v-a60c78dd]{font-size:13px;line-height:1.5}.empty-group[data-v-a60c78dd]{color:#9ca3af;font-size:12px;padding:10px 4px 2px}.content[data-v-a60c78dd]{padding:20px;min-width:0}.panel[data-v-a60c78dd]{background:#fff;border-radius:16px;padding:18px;margin-bottom:16px;box-shadow:0 10px 24px #0f172a0f}.panel-header[data-v-a60c78dd]{display:flex;align-items:center;justify-content:space-between;gap:10px}.panel-header h2[data-v-a60c78dd]{margin:0 0 10px;font-size:18px}.text-block[data-v-a60c78dd]{line-height:1.9;font-size:18px;margin:0}.sentence[data-v-a60c78dd]{display:inline;border-radius:6px;padding:2px 3px;cursor:pointer}.sentence[data-v-a60c78dd]:hover{background:#eef2ff}.sentence-gap[data-v-a60c78dd]{white-space:pre}.word[data-v-a60c78dd]{display:inline-block;margin-right:4px;cursor:pointer;border-radius:6px;padding:2px 4px}.word[data-v-a60c78dd]:hover{background:#dbeafe}.punct[data-v-a60c78dd]{white-space:pre}.toolbar[data-v-a60c78dd]{display:flex;gap:10px;flex-wrap:wrap}.toolbar button[data-v-a60c78dd]{border:none;border-radius:999px;padding:10px 14px;cursor:pointer;background:#e5e7eb}.toolbar .danger[data-v-a60c78dd]{background:#ef4444;color:#fff}.empty-box[data-v-a60c78dd]{background:#fff;border-radius:16px;padding:40px;color:#6b7280;min-height:240px}.popup[data-v-a60c78dd]{position:fixed;right:16px;bottom:16px;width:300px;max-width:calc(100vw - 32px);background:#111827;color:#fff;padding:16px;border-radius:16px;box-shadow:0 14px 32px #00000059}.popup-header[data-v-a60c78dd]{display:flex;justify-content:space-between;align-items:center}.popup-header h3[data-v-a60c78dd]{margin:0}.phonetic[data-v-a60c78dd]{color:#d1d5db;margin:10px 0 6px}.meaning[data-v-a60c78dd]{margin:0;line-height:1.6}.close-btn[data-v-a60c78dd]{border:none;background:transparent;color:inherit;font-size:16px;cursor:pointer}.modal-mask[data-v-a60c78dd]{position:fixed;inset:0;background:#0f172a6b;display:flex;align-items:center;justify-content:center;z-index:100}.modal-card[data-v-a60c78dd]{width:520px;max-width:calc(100vw - 24px);background:#fff;border-radius:18px;padding:18px;box-shadow:0 18px 48px #0003}.modal-header[data-v-a60c78dd]{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px}.modal-header h3[data-v-a60c78dd]{margin:0}.form-group[data-v-a60c78dd]{margin-bottom:14px}.form-group label[data-v-a60c78dd]{display:block;margin-bottom:6px;font-size:14px;font-weight:600}.textarea[data-v-a60c78dd]{width:100%;min-height:110px;border-radius:12px;border:1px solid #d1d5db;padding:12px;resize:vertical;font-size:14px;outline:none}.textarea[data-v-a60c78dd]:focus{border-color:#4f46e5;box-shadow:0 0 0 2px #4f46e51f}.modal-actions[data-v-a60c78dd]{display:flex;justify-content:flex-end;gap:10px}.modal-actions button[data-v-a60c78dd]{border:none;border-radius:12px;padding:10px 16px;cursor:pointer}.modal-actions .secondary[data-v-a60c78dd]{background:#e5e7eb}.modal-actions .primary[data-v-a60c78dd]{background:#4f46e5;color:#fff}@media(max-width:900px){.page[data-v-a60c78dd]{grid-template-columns:1fr}.sidebar[data-v-a60c78dd]{height:auto;border-right:none;border-bottom:1px solid #e5e7eb}.group-stack[data-v-a60c78dd]{height:auto}.group-block[data-v-a60c78dd]{flex:none;min-height:56px}.group-block.expanded[data-v-a60c78dd]{max-height:280px}}.page[data-v-c2ad6f13]{display:grid;grid-template-columns:320px 1fr;min-height:100vh;background:#f3f4f6}.sidebar[data-v-c2ad6f13]{background:#fff;border-right:1px solid #e5e7eb;padding:14px;height:100vh;overflow:hidden;display:flex;flex-direction:column}.add-btn[data-v-c2ad6f13]{width:100%;border:none;border-radius:12px;padding:12px 14px;background:#4f46e5;color:#fff;cursor:pointer;font-size:14px;margin-bottom:12px;flex-shrink:0}.mode-switch[data-v-c2ad6f13]{display:flex;gap:8px;margin-bottom:12px;flex-shrink:0}.mode-btn[data-v-c2ad6f13]{flex:1;border:none;border-radius:12px;padding:10px 12px;cursor:pointer;background:#e5e7eb;color:#111827;font-size:13px;font-weight:600}.mode-btn.active[data-v-c2ad6f13]{background:#4f46e5;color:#fff}.subject-filter[data-v-c2ad6f13]{margin-bottom:12px;flex-shrink:0}.subject-label[data-v-c2ad6f13]{display:block;margin-bottom:6px;font-size:13px;font-weight:600;color:#374151}.subject-select[data-v-c2ad6f13],.input[data-v-c2ad6f13]{width:100%;border-radius:12px;border:1px solid #d1d5db;padding:10px 12px;font-size:14px;outline:none;background:#fff}.subject-select[data-v-c2ad6f13]:focus,.input[data-v-c2ad6f13]:focus{border-color:#4f46e5;box-shadow:0 0 0 2px #4f46e51f}.group-stack[data-v-c2ad6f13]{flex:1;min-height:0;display:flex;flex-direction:column;gap:12px}.group-block[data-v-c2ad6f13]{background:#f8fafc;border-radius:14px;border:1px solid transparent;transition:.15s;display:flex;flex-direction:column;min-height:56px;min-width:0;overflow:hidden;flex:1}.group-block.collapsed[data-v-c2ad6f13]{flex:0 0 56px}.group-block.expanded[data-v-c2ad6f13]{flex:1}.group-block.drag-over[data-v-c2ad6f13]{border-color:#4f46e5;background:#eef2ff;box-shadow:inset 0 0 0 1px #4f46e526}.group-block.drag-over .group-header[data-v-c2ad6f13]{background:#4f46e514}.group-header[data-v-c2ad6f13]{flex-shrink:0;height:56px;display:flex;align-items:center;justify-content:space-between;padding:0 12px;cursor:pointer;border-bottom:1px solid transparent}.group-block.expanded .group-header[data-v-c2ad6f13]{border-bottom-color:#e5e7eb}.group-title[data-v-c2ad6f13]{display:flex;align-items:center;gap:8px;font-size:14px;font-weight:600;color:#111827}.arrow[data-v-c2ad6f13]{width:14px;display:inline-block;text-align:center;color:#6b7280}.group-count[data-v-c2ad6f13]{min-width:24px;padding:2px 8px;border-radius:999px;background:#e5e7eb;color:#374151;font-size:12px;text-align:center}.group-items[data-v-c2ad6f13]{flex:1;min-height:0;overflow-y:auto;padding:10px}.item[data-v-c2ad6f13]{background:#fff;border-radius:12px;padding:12px;margin-bottom:8px;cursor:pointer;transition:.15s;border:1px solid transparent;-webkit-user-select:none;user-select:none}.item[data-v-c2ad6f13]:hover{background:#eef2ff}.item.active[data-v-c2ad6f13]{background:#4f46e5;color:#fff}.item.dragging[data-v-c2ad6f13]{opacity:.45}.item-top[data-v-c2ad6f13]{display:flex;justify-content:flex-end;margin-bottom:6px}.subject-tag[data-v-c2ad6f13]{display:inline-block;padding:2px 8px;font-size:11px;border-radius:999px;background:#4f46e51f;color:#4338ca}.item.active .subject-tag[data-v-c2ad6f13]{background:#fff3;color:#fff}.item-text[data-v-c2ad6f13]{font-size:13px;line-height:1.5}.empty-group[data-v-c2ad6f13]{color:#9ca3af;font-size:12px;padding:10px 4px 2px}.content[data-v-c2ad6f13]{padding:20px;min-width:0}.panel[data-v-c2ad6f13]{background:#fff;border-radius:16px;padding:18px;margin-bottom:16px;box-shadow:0 10px 24px #0f172a0f}.panel-header[data-v-c2ad6f13]{display:flex;align-items:center;justify-content:space-between;gap:10px}.panel-header h2[data-v-c2ad6f13]{margin:0 0 10px;font-size:18px}.panel-subject[data-v-c2ad6f13]{margin-bottom:10px;font-size:12px;color:#4f46e5;background:#4f46e514;padding:4px 10px;border-radius:999px}.text-block[data-v-c2ad6f13]{line-height:1.9;font-size:18px;margin:0}.plain-text[data-v-c2ad6f13]{white-space:pre-wrap;line-height:1.9}.toolbar[data-v-c2ad6f13]{display:flex;gap:10px;flex-wrap:wrap}.toolbar button[data-v-c2ad6f13]{border:none;border-radius:999px;padding:10px 14px;cursor:pointer;background:#e5e7eb}.toolbar .danger[data-v-c2ad6f13]{background:#ef4444;color:#fff}.empty-box[data-v-c2ad6f13]{background:#fff;border-radius:16px;padding:40px;color:#6b7280;min-height:240px}.close-btn[data-v-c2ad6f13]{border:none;background:transparent;color:inherit;font-size:16px;cursor:pointer}.close-btn.dark[data-v-c2ad6f13]{color:#111827}.modal-mask[data-v-c2ad6f13]{position:fixed;inset:0;background:#0f172a6b;display:flex;align-items:center;justify-content:center;z-index:100}.modal-card[data-v-c2ad6f13]{width:520px;max-width:calc(100vw - 24px);background:#fff;border-radius:18px;padding:18px;box-shadow:0 18px 48px #0003}.modal-header[data-v-c2ad6f13]{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px}.modal-header h3[data-v-c2ad6f13]{margin:0}.form-group[data-v-c2ad6f13]{margin-bottom:14px}.form-group label[data-v-c2ad6f13]{display:block;margin-bottom:6px;font-size:14px;font-weight:600}.textarea[data-v-c2ad6f13]{width:100%;min-height:110px;border-radius:12px;border:1px solid #d1d5db;padding:12px;resize:vertical;font-size:14px;outline:none}.textarea[data-v-c2ad6f13]:focus{border-color:#4f46e5;box-shadow:0 0 0 2px #4f46e51f}.modal-actions[data-v-c2ad6f13]{display:flex;justify-content:flex-end;gap:10px}.modal-actions button[data-v-c2ad6f13]{border:none;border-radius:12px;padding:10px 16px;cursor:pointer}.modal-actions .secondary[data-v-c2ad6f13]{background:#e5e7eb}.modal-actions .primary[data-v-c2ad6f13]{background:#4f46e5;color:#fff}@media(max-width:900px){.page[data-v-c2ad6f13]{grid-template-columns:1fr}.sidebar[data-v-c2ad6f13]{height:auto;border-right:none;border-bottom:1px solid #e5e7eb}.group-stack[data-v-c2ad6f13]{height:auto}.group-block[data-v-c2ad6f13]{flex:none;min-height:56px}.group-block.expanded[data-v-c2ad6f13]{max-height:280px}}
