.impersonation-banner[data-v-d03a2a1c]{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px;padding:10px 16px;background:#744210;color:#fffbeb;font-size:14px;max-width:100%}.impersonation-banner__text[data-v-d03a2a1c]{flex:1 1 200px;min-width:0;line-height:1.4}.impersonation-banner__btn[data-v-d03a2a1c]{min-height:44px;padding:0 16px;border-radius:8px;border:none;font-weight:600;cursor:pointer;background:#fff;color:#744210}.impersonation-banner__btn[data-v-d03a2a1c]:hover{background:#fef3c7}.main-content--org[data-v-d03a2a1c]{max-width:100%;background:#f0f4f8}.join-hint[data-v-09918f8f]{flex:1 1 100%;margin:.5rem 0 0;font-size:.875rem;color:#b45309;line-height:1.5;max-width:100%}.modal-actions[data-v-09918f8f]{display:flex;flex-wrap:wrap;align-items:center;gap:.75rem}.joined-expired[data-v-09918f8f]{background:#fef3c7;color:#92400e}.modal-status-row[data-v-09918f8f]{margin-top:.75rem;max-width:100%}.word-display[data-v-7b5b23e1]{margin-bottom:40px;position:relative;text-align:center;width:100%;max-width:800px}.word-text[data-v-7b5b23e1]{font-size:64px;font-weight:800;color:#0f172a;line-height:1.1;margin-bottom:8px;transition:color .3s ease}.phonetic[data-v-7b5b23e1]{color:#64748b;font-size:18px;height:24px;margin-bottom:8px}.pronunciation-btn[data-v-7b5b23e1]{background:#3b82f6;border:none;border-radius:50%;width:50px;height:50px;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:20px;color:#fff;transition:all .2s ease;margin:10px auto 0;box-shadow:0 2px 4px #3b82f64d}.pronunciation-btn[data-v-7b5b23e1]:hover:not(:disabled){background:#2563eb;transform:scale(1.05);box-shadow:0 4px 8px #3b82f666}.pronunciation-btn[data-v-7b5b23e1]:disabled{opacity:.6;cursor:not-allowed;transform:none}.pronunciation-btn[data-v-7b5b23e1]:active:not(:disabled){transform:scale(.95)}.translation-section[data-v-7b5b23e1]{margin:20px 0;padding:20px;height:60px;background:#f0f9ff;border-radius:8px;text-align:center;display:flex;align-items:center;justify-content:center}.translation[data-v-7b5b23e1]{font-size:20px;font-weight:600;color:#0c4a6e;line-height:1.4}.example-section[data-v-7b5b23e1]{margin:20px 0;padding:20px;height:100px;background:#f8fafc;border-radius:8px;text-align:center;display:flex;align-items:center;justify-content:center}.example[data-v-7b5b23e1]{font-size:16px;color:#475569;font-style:italic;white-space:pre-line;line-height:1.6}@media (max-width: 768px){.word-text[data-v-7b5b23e1]{font-size:48px}.translation-section[data-v-7b5b23e1],.example-section[data-v-7b5b23e1]{margin:15px 0;padding:15px}.translation[data-v-7b5b23e1]{font-size:18px}.example[data-v-7b5b23e1]{font-size:14px}}.learning-actions[data-v-09448e9f]{margin-top:20px}.action-buttons[data-v-09448e9f]{display:flex;gap:24px;height:180px;justify-content:center;flex-wrap:wrap;align-items:center}.btn[data-v-09448e9f]{padding:40px;border:none;border-radius:8px;font-size:15px;font-weight:600;cursor:pointer;transition:all .2s;position:relative;width:130px;height:130px;box-shadow:0 2px 4px #0000001a;user-select:none;-webkit-user-select:none;caret-color:transparent}.btn[data-v-09448e9f]:disabled{opacity:.6;cursor:not-allowed;transform:none}.btn[data-v-09448e9f]:not(:disabled):hover{transform:translateY(-2px);box-shadow:0 4px 8px #00000026}.btn[data-v-09448e9f]:not(:disabled):active{transform:translateY(0);box-shadow:0 2px 4px #0000001a}.btn-know[data-v-09448e9f]{background:#16a34a;color:#fff}.btn-know[data-v-09448e9f]:hover:not(:disabled){background:#15803d}.btn-dont-know[data-v-09448e9f]{background:#dc2626;color:#fff}.btn-dont-know[data-v-09448e9f]:hover:not(:disabled){background:#b91c1c}.btn-know-correct[data-v-09448e9f]{background:#16a34a;color:#fff}.btn-know-correct[data-v-09448e9f]:hover:not(:disabled){background:#15803d}.btn-know-wrong[data-v-09448e9f]{background:#dc2626;color:#fff}.btn-know-wrong[data-v-09448e9f]:hover:not(:disabled){background:#b91c1c}.btn-next[data-v-09448e9f]{background:#3b82f6;color:#fff;margin-left:150px}.btn-next[data-v-09448e9f]:hover:not(:disabled){background:#2563eb}@media (max-width: 768px){.action-buttons[data-v-09448e9f]{flex-direction:row;justify-content:center;align-items:center;gap:12px;height:auto;flex-wrap:nowrap}.btn[data-v-09448e9f]{width:140px;max-width:none;height:80px;padding:0}}@media (max-width: 480px){.btn[data-v-09448e9f]{padding:14px 24px;font-size:15px;min-width:120px}}.single-word-recite[data-v-11e34253]{width:100%;height:100%;max-width:none}.learning-container[data-v-11e34253]{display:flex;flex-direction:column;align-items:center;justify-content:flex-start;min-height:100vh;padding:20px;max-width:100%;width:100%}.page-header[data-v-baaeec82]{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;padding-bottom:15px;border-bottom:1px solid #e5e7eb}.header-left[data-v-baaeec82]{display:flex;align-items:center;gap:20px}.page-title[data-v-baaeec82]{font-size:24px;font-weight:600;color:#1f2937;margin:0;display:flex;align-items:center;gap:12px}.unit-name[data-v-baaeec82]{font-size:16px;font-weight:500;color:#3b82f6;background:#eff6ff;padding:4px 12px;border-radius:16px;border:1px solid #dbeafe}.progress-info[data-v-baaeec82]{display:flex;align-items:center;gap:15px}.chapter-selection-btn[data-v-baaeec82]{background:none;border:1px solid #d1d5db;color:#6b7280;padding:6px 12px;border-radius:6px;cursor:pointer;font-size:14px;transition:all .2s}.chapter-selection-btn[data-v-baaeec82]:hover{background:#f9fafb;border-color:#9ca3af}.end-learning-btn[data-v-baaeec82]{background:none;border:1px solid #d1d5db;color:#6b7280;padding:6px 12px;border-radius:6px;cursor:pointer;font-size:14px;transition:all .2s}.end-learning-btn[data-v-baaeec82]:hover{background:#f9fafb;border-color:#9ca3af}@media (max-width: 768px){.page-header[data-v-baaeec82]{flex-direction:column;gap:15px;align-items:flex-start}.header-left[data-v-baaeec82]{flex-direction:column;align-items:flex-start;gap:10px}.progress-info[data-v-baaeec82]{flex-wrap:wrap;gap:10px}.page-title[data-v-baaeec82]{font-size:20px}}.review-words[data-v-09d16f0a]{min-height:100vh;background:#f9fafb;padding:20px}.test-header[data-v-09d16f0a]{display:flex;align-items:center;justify-content:space-between;margin-bottom:30px;background:rgba(255,255,255,.1);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:15px;padding:20px}.back-btn[data-v-09d16f0a]{display:flex;align-items:center;gap:8px;background:rgba(255,255,255,.2);border:none;border-radius:10px;padding:10px 15px;color:#fff;font-size:16px;cursor:pointer;transition:all .3s ease}.back-btn[data-v-09d16f0a]:hover{background:rgba(255,255,255,.3);transform:translateY(-2px)}.back-icon[data-v-09d16f0a]{font-size:18px;font-weight:700}.page-title[data-v-09d16f0a]{color:#fff;font-size:28px;font-weight:700;margin:0}.progress-info[data-v-09d16f0a]{display:flex;flex-direction:column;align-items:flex-end;gap:8px}.progress-text[data-v-09d16f0a]{color:#fff;font-size:16px;font-weight:500}.progress-bar[data-v-09d16f0a]{width:200px;height:8px;background:rgba(255,255,255,.3);border-radius:4px;overflow:hidden}.progress-fill[data-v-09d16f0a]{height:100%;background:linear-gradient(90deg,#4CAF50,#8BC34A);transition:width .3s ease}.loading[data-v-09d16f0a],.error-message[data-v-09d16f0a],.completion-message[data-v-09d16f0a]{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:400px;background:rgba(255,255,255,.95);border-radius:20px;padding:40px;text-align:center}.loading-spinner[data-v-09d16f0a]{width:50px;height:50px;border:4px solid #f3f3f3;border-top:4px solid #667eea;border-radius:50%;animation:spin-09d16f0a 1s linear infinite;margin-bottom:20px}@keyframes spin-09d16f0a{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.error-icon[data-v-09d16f0a],.completion-icon[data-v-09d16f0a]{font-size:48px;margin-bottom:20px}.completion-message h2[data-v-09d16f0a]{color:#4caf50;margin-bottom:30px}.completion-message p[data-v-09d16f0a]{margin-bottom:25px;color:#666}.test-content[data-v-09d16f0a]{background:rgba(255,255,255,.95);border-radius:20px;padding:30px;box-shadow:0 10px 30px #0000001a}.word-card[data-v-09d16f0a]{margin-bottom:30px}.word-header[data-v-09d16f0a]{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:25px}.word-info[data-v-09d16f0a]{flex:1}.word-text[data-v-09d16f0a]{font-size:36px;font-weight:700;color:#333;margin:0 0 10px}.phonetic[data-v-09d16f0a]{font-size:18px;color:#666;margin:0;font-style:italic}.word-actions[data-v-09d16f0a]{display:flex;gap:10px}.audio-btn[data-v-09d16f0a]{display:flex;align-items:center;gap:8px;background:#667eea;color:#fff;border:none;border-radius:10px;padding:12px 20px;font-size:16px;cursor:pointer;transition:all .3s ease}.audio-btn[data-v-09d16f0a]:hover:not(:disabled){background:#5a6fd8;transform:translateY(-2px)}.audio-btn[data-v-09d16f0a]:disabled{background:#ccc;cursor:not-allowed}.word-meaning[data-v-09d16f0a]{background:#f8f9fa;border-radius:15px;padding:25px;margin-bottom:30px}.translation[data-v-09d16f0a]{font-size:20px;color:#333;margin:0 0 15px;line-height:1.5}.example[data-v-09d16f0a]{font-size:16px;color:#666;margin:0;line-height:1.6;font-style:italic}.test-options[data-v-09d16f0a]{margin-bottom:30px}.options-title[data-v-09d16f0a]{font-size:18px;font-weight:600;color:#333;margin-bottom:20px;text-align:center}.options-list[data-v-09d16f0a]{display:grid;grid-template-columns:1fr 1fr;gap:15px}.option-btn[data-v-09d16f0a]{padding:15px 20px;border:2px solid #e0e0e0;border-radius:12px;background:white;color:#333;font-size:16px;cursor:pointer;transition:all .3s ease;text-align:center}.option-btn[data-v-09d16f0a]:hover{border-color:#667eea;background:#f8f9ff}.option-btn.correct[data-v-09d16f0a]{border-color:#4caf50;background:#e8f5e8;color:#2e7d32}.option-btn.wrong[data-v-09d16f0a]{border-color:#f44336;background:#ffebee;color:#c62828}.test-result[data-v-09d16f0a]{display:flex;align-items:center;gap:20px;background:#f8f9fa;border-radius:15px;padding:25px;margin-bottom:30px}.result-icon[data-v-09d16f0a]{font-size:48px}.result-icon.correct[data-v-09d16f0a]{color:#4caf50}.result-icon.wrong[data-v-09d16f0a]{color:#f44336}.result-message h3[data-v-09d16f0a]{margin:0 0 10px;font-size:24px}.result-message p[data-v-09d16f0a]{margin:0;color:#666;font-size:16px}.test-actions[data-v-09d16f0a]{display:flex;justify-content:center;margin-bottom:30px}.result-actions[data-v-09d16f0a]{display:flex;gap:20px;justify-content:center}.btn[data-v-09d16f0a]{display:flex;align-items:center;gap:10px;padding:15px 30px;border:none;border-radius:12px;font-size:18px;font-weight:600;cursor:pointer;transition:all .3s ease;min-width:120px;justify-content:center}.btn-primary[data-v-09d16f0a]{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.btn-primary[data-v-09d16f0a]:hover:not(:disabled){transform:translateY(-3px);box-shadow:0 8px 20px #667eea4d}.btn-primary[data-v-09d16f0a]:disabled{background:#ccc;cursor:not-allowed}.btn-success[data-v-09d16f0a]{background:linear-gradient(135deg,#4CAF50,#45a049);color:#fff}.btn-success[data-v-09d16f0a]:hover{transform:translateY(-3px);box-shadow:0 8px 20px #4caf504d}.btn-warning[data-v-09d16f0a]{background:linear-gradient(135deg,#ff9800,#f57c00);color:#fff}.btn-warning[data-v-09d16f0a]:hover{transform:translateY(-3px);box-shadow:0 8px 20px #ff98004d}.action-icon[data-v-09d16f0a]{font-size:20px}.test-stats[data-v-09d16f0a]{display:flex;justify-content:space-around;background:#f8f9fa;border-radius:15px;padding:20px}.stat-item[data-v-09d16f0a]{display:flex;flex-direction:column;align-items:center;gap:5px}.stat-label[data-v-09d16f0a]{font-size:14px;color:#666;font-weight:500}.stat-value[data-v-09d16f0a]{font-size:24px;font-weight:700;color:#333}.stat-value.correct[data-v-09d16f0a]{color:#4caf50}.stat-value.wrong[data-v-09d16f0a]{color:#f44336}@media (max-width: 768px){.unfamiliar-words-test[data-v-09d16f0a]{padding:15px}.test-header[data-v-09d16f0a]{flex-direction:column;gap:15px;text-align:center}.word-text[data-v-09d16f0a]{font-size:28px}.options-list[data-v-09d16f0a]{grid-template-columns:1fr}.result-actions[data-v-09d16f0a]{flex-direction:column;align-items:center}.btn[data-v-09d16f0a]{width:100%;max-width:200px}.test-stats[data-v-09d16f0a]{flex-direction:column;gap:15px}}.allowance-expired-tip[data-v-ac770f7d]{margin:.5rem 0 0;font-size:.875rem;color:#b45309;max-width:100%;line-height:1.5}@media (max-width: 480px){.learning-card-header[data-v-1c6f0bf6]{align-items:flex-start}.learning-card-title[data-v-1c6f0bf6]{line-height:1.25}.learning-card-title>span[data-v-1c6f0bf6]{display:block;margin-top:2px}}.mini-program[data-v-582a8b22]{max-width:1200px;margin:0 auto;padding:20px;background-color:#f5f5f5;min-height:100vh}.page-header[data-v-582a8b22]{margin-bottom:3rem}.page-title[data-v-582a8b22]{font-size:2rem;font-weight:700;color:#1f2937;margin-bottom:.5rem}.page-description[data-v-582a8b22]{color:#6b7280;font-size:1rem;line-height:1.5}.mini-program-grid[data-v-582a8b22]{display:grid;grid-template-columns:repeat(2,1fr);gap:2rem;margin-top:2rem}.mini-program-card[data-v-582a8b22]{background:white;border-radius:1rem;padding:2rem;box-shadow:0 4px 6px #0000000d;transition:all .3s ease;cursor:pointer;position:relative;overflow:hidden}.mini-program-card[data-v-582a8b22]:hover{transform:translateY(-8px);box-shadow:0 12px 24px #00000026}.mini-program-card[data-v-582a8b22]:before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:linear-gradient(135deg,#3b82f6,#8b5cf6)}.card-header[data-v-582a8b22]{display:flex;align-items:center;gap:1rem;margin-bottom:1.5rem}.card-icon[data-v-582a8b22]{width:4rem;height:4rem;border-radius:1rem;display:flex;align-items:center;justify-content:center;font-size:2rem;color:#fff;position:relative;overflow:hidden}.card-icon[data-v-582a8b22]:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:linear-gradient(135deg,rgba(255,255,255,.2),rgba(255,255,255,.1));border-radius:1rem}.card-icon.course-test[data-v-582a8b22]{background:linear-gradient(135deg,#3b82f6,#2563eb)}.card-icon.test-results[data-v-582a8b22]{background:linear-gradient(135deg,#10b981,#059669)}.card-icon.grammar[data-v-582a8b22]{background:linear-gradient(135deg,#6366f1,#4f46e5)}.card-icon.phonetics[data-v-582a8b22]{background:linear-gradient(135deg,#3b82f6,#8b5cf6)}.card-icon.basic-knowledge[data-v-582a8b22]{background:linear-gradient(135deg,#0ea5e9,#6366f1)}.card-icon.learning-stats[data-v-582a8b22]{background:linear-gradient(135deg,#b91c1c,#7f1d1d)}.card-icon.personal-center[data-v-582a8b22]{background:linear-gradient(135deg,#0ea5e9,#2563eb)}.card-content[data-v-582a8b22]{flex:1}.card-title[data-v-582a8b22]{font-size:1.5rem;font-weight:700;color:#1f2937;margin-bottom:.5rem}.card-description[data-v-582a8b22]{color:#6b7280;line-height:1.6;margin-bottom:1rem}.card-features[data-v-582a8b22]{list-style:none;margin-bottom:1.5rem}.card-features li[data-v-582a8b22]{color:#6b7280;font-size:.9rem;margin-bottom:.5rem;display:flex;align-items:center;gap:.5rem}.card-features li[data-v-582a8b22]:before{content:"✓";color:#10b981;font-weight:700}.card-action[data-v-582a8b22]{display:flex;align-items:center;justify-content:space-between;padding-top:1rem;border-top:1px solid #f3f4f6}.card-status[data-v-582a8b22]{font-size:.875rem;color:#6b7280}.card-button[data-v-582a8b22]{background:linear-gradient(135deg,#3b82f6,#8b5cf6);color:#fff;border:none;min-height:44px;padding:.75rem 1.5rem;border-radius:.75rem;cursor:pointer;font-size:.875rem;font-weight:600;transition:all .3s ease;box-shadow:0 4px 12px #3b82f64d}.card-button[data-v-582a8b22]:hover{transform:translateY(-2px);box-shadow:0 6px 16px #3b82f666}@media (max-width: 768px){.mini-program-grid[data-v-582a8b22]{grid-template-columns:1fr;gap:1.5rem}.page-title[data-v-582a8b22]{font-size:1.75rem}.mini-program-card[data-v-582a8b22]{padding:1.5rem}}@media (max-width: 480px){.mini-program[data-v-582a8b22]{padding:15px}.mini-program-card[data-v-582a8b22]{padding:1rem}.card-header[data-v-582a8b22]{flex-direction:column;text-align:center;gap:1rem}}.loading[data-v-32abb1e9]{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:300px;padding:40px}.loading-spinner[data-v-32abb1e9]{width:40px;height:40px;border:4px solid #e5e7eb;border-top:4px solid #3b82f6;border-radius:50%;animation:spin-32abb1e9 1s linear infinite;margin-bottom:16px}@keyframes spin-32abb1e9{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.loading p[data-v-32abb1e9]{color:#6b7280;font-size:16px;margin:0}.error-message[data-v-82ec3791]{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:300px;padding:40px;text-align:center}.error-icon[data-v-82ec3791]{font-size:48px;margin-bottom:16px}.error-message p[data-v-82ec3791]{color:#dc2626;font-size:16px;margin:0 0 20px;line-height:1.5}.btn[data-v-82ec3791]{padding:12px 24px;border:none;border-radius:8px;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s}.btn-primary[data-v-82ec3791]{background:#3b82f6;color:#fff}.btn-primary[data-v-82ec3791]:hover{background:#2563eb;transform:translateY(-1px)}.chapter-item.completed[data-v-c9b68eca]{background:#f0f9ff;border-color:#60a5fa}.chapter-item.completed[data-v-c9b68eca]:hover{background:#e0f2fe;border-color:#3b82f6}.completed-badge[data-v-c9b68eca]{display:inline-block;background:#10b981;color:#fff;font-size:12px;padding:2px 8px;border-radius:12px;margin-left:8px;font-weight:500}.confirm-dialog[data-v-c9b68eca]{position:fixed;top:0;left:0;width:100%;height:100%;background:rgba(0,0,0,.6);z-index:2000;display:flex;align-items:center;justify-content:center;animation:fadeIn-c9b68eca .2s ease-out}.confirm-dialog-content[data-v-c9b68eca]{background:white;border-radius:12px;width:90%;max-width:400px;overflow:hidden;box-shadow:0 20px 50px #0000004d;animation:slideUp-c9b68eca .3s ease-out}@keyframes slideUp-c9b68eca{0%{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}.confirm-header[data-v-c9b68eca]{background:#3b82f6;color:#fff;padding:20px}.confirm-title[data-v-c9b68eca]{margin:0;font-size:18px;font-weight:600}.confirm-body[data-v-c9b68eca]{padding:30px}.confirm-message[data-v-c9b68eca]{font-size:16px;line-height:1.8;color:#374151;text-align:center;margin:0}.confirm-actions[data-v-c9b68eca]{display:flex;gap:12px;padding:0 30px 30px}.confirm-btn[data-v-c9b68eca],.cancel-btn[data-v-c9b68eca]{flex:1;padding:12px 24px;border:none;border-radius:8px;font-size:16px;font-weight:600;cursor:pointer;transition:all .2s}.confirm-btn[data-v-c9b68eca]{background:#1e40af;color:#fff}.confirm-btn[data-v-c9b68eca]:hover{background:#1e3a8a;transform:translateY(-1px)}.cancel-btn[data-v-c9b68eca]{background:#60a5fa;color:#fff}.cancel-btn[data-v-c9b68eca]:hover{background:#3b82f6;transform:translateY(-1px)}.chapter-modal[data-v-c9b68eca]{position:fixed;top:0;left:0;width:100%;height:100%;background:rgba(0,0,0,.5);z-index:1000;display:flex;align-items:center;justify-content:center;animation:fadeIn-c9b68eca .2s ease-out}@keyframes fadeIn-c9b68eca{0%{opacity:0}to{opacity:1}}.chapter-modal-content[data-v-c9b68eca]{background:white;border-radius:12px;padding:30px;max-width:500px;width:90%;max-height:80vh;overflow-y:auto;box-shadow:0 10px 25px #0003;animation:slideIn-c9b68eca .3s ease-out}@keyframes slideIn-c9b68eca{0%{transform:translateY(-20px);opacity:0}to{transform:translateY(0);opacity:1}}.chapter-modal-header[data-v-c9b68eca]{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;padding-bottom:15px;border-bottom:1px solid #e5e7eb}.chapter-modal-title[data-v-c9b68eca]{font-size:20px;font-weight:600;color:#1f2937;margin:0}.close-btn[data-v-c9b68eca]{background:none;border:none;font-size:24px;cursor:pointer;color:#6b7280;padding:5px;border-radius:4px;transition:all .2s;width:32px;height:32px;display:flex;align-items:center;justify-content:center}.close-btn[data-v-c9b68eca]:hover{background:#f3f4f6;color:#374151}.chapter-list[data-v-c9b68eca]{display:grid;gap:12px}.chapter-item[data-v-c9b68eca]{padding:16px;border:1px solid #e5e7eb;border-radius:8px;cursor:pointer;transition:all .2s;display:flex;justify-content:space-between;align-items:center}.chapter-item[data-v-c9b68eca]:hover{border-color:#3b82f6;background:#f0f9ff;transform:translateY(-1px);box-shadow:0 2px 8px #0000001a}.chapter-item.active[data-v-c9b68eca]{border-color:#3b82f6;background:#eff6ff;box-shadow:0 0 0 2px #3b82f633}.chapter-info[data-v-c9b68eca]{display:flex;flex-direction:column;gap:4px}.chapter-name[data-v-c9b68eca]{font-weight:500;color:#1f2937;font-size:16px}.chapter-word-count[data-v-c9b68eca]{font-size:12px;color:#6b7280}.chapter-progress[data-v-c9b68eca]{display:flex;flex-direction:column;align-items:flex-end;gap:4px}.progress-text[data-v-c9b68eca]{font-size:12px;color:#6b7280;font-weight:500}.progress-indicator[data-v-c9b68eca]{width:60px;height:4px;background:#e5e7eb;border-radius:2px;overflow:hidden}.progress-bar[data-v-c9b68eca]{height:100%;background:#3b82f6;border-radius:2px;transition:width .3s ease}.empty-state[data-v-c9b68eca]{text-align:center;padding:40px 20px;color:#6b7280}.empty-icon[data-v-c9b68eca]{font-size:48px;margin-bottom:16px}.empty-state p[data-v-c9b68eca]{margin:0;font-size:16px}@media (max-width: 768px){.chapter-modal-content[data-v-c9b68eca]{margin:20px;padding:20px;max-width:none;width:calc(100% - 40px)}.chapter-item[data-v-c9b68eca]{flex-direction:column;align-items:flex-start;gap:12px}.chapter-progress[data-v-c9b68eca]{align-items:flex-start;width:100%}.progress-indicator[data-v-c9b68eca]{width:100%}}@media (max-width: 480px){.chapter-modal-content[data-v-c9b68eca]{margin:10px;padding:15px;width:calc(100% - 20px)}.chapter-modal-title[data-v-c9b68eca]{font-size:18px}.chapter-name[data-v-c9b68eca]{font-size:15px}}.learning-progress[data-v-9554ab00]{margin-top:20px;width:100%;max-width:800px}.learned-words-section[data-v-9554ab00]{margin-bottom:20px;padding:15px;background:#f9fafb;border-radius:8px;width:100%}.learned-label[data-v-9554ab00]{font-size:14px;color:#6b7280;margin-right:10px;font-weight:500}.learned-words[data-v-9554ab00]{display:inline-flex;flex-wrap:wrap;gap:8px;margin-top:8px}.learned-word-tag[data-v-9554ab00]{background:#d1fae5;color:#065f46;padding:4px 8px;border-radius:12px;font-size:12px;font-weight:500;transition:all .2s ease}.learned-word-tag[data-v-9554ab00]:hover{background:#a7f3d0;transform:translateY(-1px)}.learning-progress-info[data-v-9554ab00]{margin-bottom:15px;padding:15px;background:#f8fafc;border-radius:8px;border-top:1px solid #e5e7eb;display:flex;justify-content:center;gap:20px;flex-wrap:wrap;width:100%}.progress-item[data-v-9554ab00]{font-size:14px;color:#6b7280;font-weight:500}.progress-bar-container[data-v-9554ab00]{margin-bottom:15px;display:flex;align-items:center;gap:10px}.progress-bar[data-v-9554ab00]{flex:1;height:8px;background:#e5e7eb;border-radius:4px;overflow:hidden}.progress-fill[data-v-9554ab00]{height:100%;background:linear-gradient(90deg,#3b82f6,#1d4ed8);border-radius:4px;transition:width .3s ease}.progress-text[data-v-9554ab00]{font-size:14px;font-weight:600;color:#374151;min-width:40px;text-align:right}.detailed-stats[data-v-9554ab00]{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:15px;padding:15px;background:#f0f9ff;border-radius:8px;border:1px solid #e0f2fe}.stat-item[data-v-9554ab00]{display:flex;flex-direction:column;align-items:center;text-align:center}.stat-label[data-v-9554ab00]{font-size:12px;color:#6b7280;margin-bottom:4px;font-weight:500}.stat-value[data-v-9554ab00]{font-size:18px;font-weight:700;padding:4px 8px;border-radius:6px}.stat-value.matured[data-v-9554ab00]{color:#059669;background:#d1fae5}.stat-value.unfamiliar[data-v-9554ab00]{color:#dc2626;background:#fee2e2}.stat-value.efficiency[data-v-9554ab00]{color:#7c3aed;background:#ede9fe}@media (max-width: 768px){.progress-bar-container[data-v-9554ab00]{flex-direction:column;gap:8px}.progress-text[data-v-9554ab00]{text-align:center}.detailed-stats[data-v-9554ab00]{grid-template-columns:repeat(2,1fr);gap:10px;padding:10px}.stat-value[data-v-9554ab00]{font-size:16px}.learning-progress-info[data-v-9554ab00]{justify-content:center;gap:12px}}@media (max-width: 480px){.detailed-stats[data-v-9554ab00]{grid-template-columns:1fr}.learned-words[data-v-9554ab00]{justify-content:center}.learning-progress-info[data-v-9554ab00]{flex-direction:column;gap:10px;text-align:center}}.first-learning-phase[data-v-39b6ff4e]{width:100%;height:100%;max-width:none}.learning-container[data-v-39b6ff4e]{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:100vh;padding:20px;max-width:100%;width:100%}.learning-page[data-v-742f8c68]{width:100%;height:100vh;display:flex;flex-direction:column;max-width:none}.learning-flow-container[data-v-742f8c68]{flex:1;display:flex;flex-direction:column;width:100%;max-width:none}.unit-selection[data-v-9d9c1ccf]{max-width:1200px;margin:0 auto;padding:20px}.unit-selection-header[data-v-9d9c1ccf]{display:flex;align-items:center;margin-bottom:30px;gap:20px}.back-btn[data-v-9d9c1ccf]{background:none;border:1px solid #d1d5db;color:#6b7280;padding:8px 16px;border-radius:8px;cursor:pointer;font-size:14px;transition:all .2s;display:flex;align-items:center;gap:8px}.back-btn[data-v-9d9c1ccf]:hover{background:#f9fafb;border-color:#9ca3af}.page-title[data-v-9d9c1ccf]{font-size:28px;font-weight:700;color:#1f2937;margin:0}.course-info[data-v-9d9c1ccf]{background:#f8fafc;border-radius:12px;padding:24px;margin-bottom:30px}.course-description[data-v-9d9c1ccf]{font-size:16px;color:#4b5563;margin:0 0 16px;line-height:1.6}.course-stats[data-v-9d9c1ccf]{display:flex;gap:24px}.stat-item[data-v-9d9c1ccf]{display:flex;align-items:center;gap:8px;font-size:14px;color:#6b7280}.stat-icon[data-v-9d9c1ccf]{font-size:16px}.units-grid[data-v-9d9c1ccf]{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:20px}.unit-card[data-v-9d9c1ccf]{background:white;border:2px solid #e5e7eb;border-radius:12px;padding:24px;cursor:pointer;transition:all .2s;position:relative;overflow:hidden}.unit-card[data-v-9d9c1ccf]:hover{border-color:#3b82f6;box-shadow:0 4px 12px #3b82f626;transform:translateY(-2px)}.unit-card.unit-completed[data-v-9d9c1ccf]{border-color:#10b981;background:linear-gradient(135deg,#f0fdf4 0%,#ecfdf5 100%)}.unit-card.unit-completed[data-v-9d9c1ccf]:hover{border-color:#059669;box-shadow:0 4px 12px #10b98126}.unit-header[data-v-9d9c1ccf]{display:flex;align-items:flex-start;gap:16px;margin-bottom:20px}.unit-icon[data-v-9d9c1ccf]{font-size:32px;line-height:1}.unit-info[data-v-9d9c1ccf]{flex:1}.unit-name[data-v-9d9c1ccf]{font-size:18px;font-weight:600;color:#1f2937;margin:0 0 4px}.unit-words[data-v-9d9c1ccf]{font-size:14px;color:#6b7280;margin:0}.unit-progress[data-v-9d9c1ccf]{margin-bottom:20px}.progress-bar[data-v-9d9c1ccf]{width:100%;height:8px;background:#e5e7eb;border-radius:4px;overflow:hidden;margin-bottom:8px}.progress-fill[data-v-9d9c1ccf]{height:100%;background:linear-gradient(90deg,#3b82f6,#1d4ed8);border-radius:4px;transition:width .3s ease}.unit-card.unit-completed .progress-fill[data-v-9d9c1ccf]{background:linear-gradient(90deg,#10b981,#059669)}.progress-text[data-v-9d9c1ccf]{font-size:12px;color:#6b7280;font-weight:500}.unit-actions[data-v-9d9c1ccf]{display:flex;justify-content:center;gap:12px;flex-wrap:wrap}.unit-btn[data-v-9d9c1ccf]{padding:10px 20px;font-size:14px;font-weight:600;border-radius:8px;border:none;cursor:pointer;transition:all .2s;min-width:120px}.unit-btn[data-v-9d9c1ccf]:disabled{opacity:.6;cursor:not-allowed}.btn-primary[data-v-9d9c1ccf]{background:#3b82f6;color:#fff}.btn-primary[data-v-9d9c1ccf]:hover:not(:disabled){background:#2563eb}.btn-test[data-v-9d9c1ccf]{background:#dc2626;color:#fff}.btn-test[data-v-9d9c1ccf]:hover:not(:disabled){background:#b91c1c}.btn-secondary[data-v-9d9c1ccf]{background:#6b7280;color:#fff}.btn-secondary[data-v-9d9c1ccf]:hover:not(:disabled){background:#4b5563}.chapter-test-btn[data-v-9d9c1ccf]{padding:10px 20px;font-size:14px;font-weight:600;border-radius:8px;border:none;cursor:pointer;transition:all .2s;min-width:120px}.clear-record-btn[data-v-9d9c1ccf]{padding:10px 16px;font-size:14px;font-weight:600;border-radius:8px;border:none;cursor:pointer;transition:all .2s;min-width:120px}.unit-card.unit-completed .unit-btn[data-v-9d9c1ccf]{background:#10b981}.unit-card.unit-completed .unit-btn[data-v-9d9c1ccf]:hover:not(:disabled){background:#059669}.loading[data-v-9d9c1ccf]{text-align:center;padding:60px 20px}.loading-spinner[data-v-9d9c1ccf]{width:40px;height:40px;border:4px solid #e5e7eb;border-top:4px solid #3b82f6;border-radius:50%;animation:spin-9d9c1ccf 1s linear infinite;margin:0 auto 16px}@keyframes spin-9d9c1ccf{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.error-message[data-v-9d9c1ccf]{text-align:center;padding:60px 20px;color:#dc2626;background:#fef2f2;border:1px solid #fecaca;border-radius:8px;margin:20px 0}.btn[data-v-9d9c1ccf]{background:#3b82f6;color:#fff;border:none;padding:8px 16px;border-radius:6px;cursor:pointer;font-size:14px;font-weight:500;transition:all .2s}.btn[data-v-9d9c1ccf]:hover{background:#2563eb}@media (max-width: 768px){.unit-selection[data-v-9d9c1ccf]{padding:16px}.unit-selection-header[data-v-9d9c1ccf]{flex-direction:column;align-items:flex-start;gap:16px}.page-title[data-v-9d9c1ccf]{font-size:24px}.units-grid[data-v-9d9c1ccf]{grid-template-columns:1fr}.course-stats[data-v-9d9c1ccf]{flex-direction:column;gap:12px}.unit-actions[data-v-9d9c1ccf]{flex-direction:column;gap:8px}.unit-btn[data-v-9d9c1ccf],.chapter-test-btn[data-v-9d9c1ccf],.clear-record-btn[data-v-9d9c1ccf],.review-btn[data-v-9d9c1ccf]{min-width:auto;width:100%}}.button-instructions[data-v-9d9c1ccf]{margin:20px 0;padding:20px;background:#f8f9fa;border-radius:8px;border:1px solid #e9ecef}.button-instructions h3[data-v-9d9c1ccf]{margin:0 0 15px;color:#495057;font-size:18px}.instruction-grid[data-v-9d9c1ccf]{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:15px}.instruction-item[data-v-9d9c1ccf]{display:flex;align-items:flex-start;gap:10px;padding:10px;background:white;border-radius:6px;border:1px solid #dee2e6}.instruction-icon[data-v-9d9c1ccf]{font-size:20px;flex-shrink:0}.instruction-content h4[data-v-9d9c1ccf]{margin:0 0 5px;color:#495057;font-size:14px}.instruction-content p[data-v-9d9c1ccf]{margin:0;color:#6c757d;font-size:12px;line-height:1.4}.btn-review-all[data-v-9d9c1ccf]{background-color:#17a2b8;color:#fff;border:none}.btn-review-all[data-v-9d9c1ccf]:hover{background-color:#138496}.review-all-btn[data-v-9d9c1ccf]{padding:10px 20px;font-size:14px;font-weight:600;border-radius:8px;border:none;cursor:pointer;transition:all .2s;min-width:120px}@media (max-width: 768px){.instruction-grid[data-v-9d9c1ccf]{grid-template-columns:1fr}.instruction-item[data-v-9d9c1ccf]{padding:8px}.instruction-content h4[data-v-9d9c1ccf]{font-size:13px}.instruction-content p[data-v-9d9c1ccf]{font-size:11px}}.review-unit-page[data-v-4d55df9e]{max-width:800px;margin:0 auto;padding:20px}.page-header[data-v-4d55df9e]{display:flex;align-items:center;margin-bottom:30px;gap:20px}.back-btn[data-v-4d55df9e]{background:none;border:1px solid #d1d5db;color:#6b7280;padding:8px 16px;border-radius:8px;cursor:pointer;font-size:14px;transition:all .2s;display:flex;align-items:center;gap:8px}.back-btn[data-v-4d55df9e]:hover{background:#f9fafb;border-color:#9ca3af}.page-title[data-v-4d55df9e]{font-size:28px;font-weight:700;color:#1f2937;margin:0;display:flex;align-items:center;gap:12px}.course-info[data-v-4d55df9e]{font-size:16px;font-weight:500;color:#3b82f6;background:#eff6ff;padding:4px 12px;border-radius:16px;border:1px solid #dbeafe}.loading[data-v-4d55df9e]{text-align:center;padding:60px 20px}.loading-spinner[data-v-4d55df9e]{width:40px;height:40px;border:4px solid #e5e7eb;border-top:4px solid #3b82f6;border-radius:50%;animation:spin-4d55df9e 1s linear infinite;margin:0 auto 16px}@keyframes spin-4d55df9e{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.error-message[data-v-4d55df9e]{text-align:center;padding:60px 20px;color:#dc2626;background:#fef2f2;border:1px solid #fecaca;border-radius:8px;margin:20px 0}.review-stats[data-v-4d55df9e]{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:20px;margin-bottom:30px}.stat-card[data-v-4d55df9e]{background:white;border:1px solid #e5e7eb;border-radius:12px;padding:20px;display:flex;align-items:center;gap:16px;box-shadow:0 1px 3px #0000001a}.stat-icon[data-v-4d55df9e]{font-size:32px;line-height:1}.stat-info[data-v-4d55df9e]{flex:1}.stat-number[data-v-4d55df9e]{font-size:24px;font-weight:700;color:#1f2937;line-height:1}.stat-label[data-v-4d55df9e]{font-size:14px;color:#6b7280;margin-top:4px}.word-card[data-v-4d55df9e]{background:white;border-radius:16px;padding:40px;box-shadow:0 4px 6px #0000001a;text-align:center;margin-bottom:30px}.word-display[data-v-4d55df9e]{margin-bottom:30px}.word-text[data-v-4d55df9e]{font-size:64px;font-weight:800;color:#1f2937;line-height:1.1;margin-bottom:8px}.phonetic[data-v-4d55df9e]{color:#64748b;font-size:18px;margin-bottom:16px}.pronunciation-btn[data-v-4d55df9e]{background:#3b82f6;border:none;border-radius:50%;width:50px;height:50px;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:20px;color:#fff;transition:all .2s ease;margin:0 auto;box-shadow:0 2px 4px #3b82f64d}.pronunciation-btn[data-v-4d55df9e]:hover:not(:disabled){background:#2563eb;transform:scale(1.05)}.pronunciation-btn[data-v-4d55df9e]:disabled{opacity:.6;cursor:not-allowed}.word-info[data-v-4d55df9e]{margin-bottom:30px}.translation[data-v-4d55df9e]{font-size:24px;font-weight:600;color:#0c4a6e;margin-bottom:16px}.example[data-v-4d55df9e]{font-size:16px;color:#475569;font-style:italic;white-space:pre-line;line-height:1.6}.review-actions[data-v-4d55df9e]{display:flex;gap:24px;justify-content:center}.btn[data-v-4d55df9e]{padding:16px 32px;border:none;border-radius:8px;font-size:16px;font-weight:600;cursor:pointer;transition:all .2s;min-width:140px}.btn[data-v-4d55df9e]:disabled{opacity:.6;cursor:not-allowed}.btn-correct[data-v-4d55df9e]{background:#16a34a;color:#fff}.btn-correct[data-v-4d55df9e]:hover:not(:disabled){background:#15803d}.btn-incorrect[data-v-4d55df9e]{background:#dc2626;color:#fff}.btn-incorrect[data-v-4d55df9e]:hover:not(:disabled){background:#b91c1c}.progress-section[data-v-4d55df9e]{text-align:center}.progress-bar[data-v-4d55df9e]{width:100%;height:8px;background:#e5e7eb;border-radius:4px;overflow:hidden;margin-bottom:8px}.progress-fill[data-v-4d55df9e]{height:100%;background:linear-gradient(90deg,#3b82f6,#1d4ed8);border-radius:4px;transition:width .3s ease}.progress-text[data-v-4d55df9e]{font-size:14px;color:#6b7280;font-weight:500}.empty-state[data-v-4d55df9e]{text-align:center;padding:60px 20px}.empty-state-icon[data-v-4d55df9e]{font-size:64px;margin-bottom:20px}.empty-state h3[data-v-4d55df9e]{font-size:24px;color:#1f2937;margin-bottom:8px}.empty-state p[data-v-4d55df9e]{color:#6b7280;margin-bottom:20px}.completion-stats[data-v-4d55df9e]{font-size:14px;color:#666;margin:20px 0;padding:12px 20px;background-color:#f0f8ff;border-radius:8px;border:1px solid #87ceeb;display:inline-block}.completion-actions[data-v-4d55df9e]{display:flex;gap:12px;justify-content:center;margin-top:20px}.btn-primary[data-v-4d55df9e]{background:#3b82f6;color:#fff}.btn-primary[data-v-4d55df9e]:hover{background:#2563eb}.btn-secondary[data-v-4d55df9e]{background:#6b7280;color:#fff}.btn-secondary[data-v-4d55df9e]:hover{background:#4b5563}@media (max-width: 768px){.page-header[data-v-4d55df9e]{flex-direction:column;align-items:flex-start;gap:16px}.page-title[data-v-4d55df9e]{font-size:24px}.word-text[data-v-4d55df9e]{font-size:48px}.review-actions[data-v-4d55df9e]{flex-direction:column;align-items:center}.btn[data-v-4d55df9e]{width:100%;max-width:200px}.review-stats[data-v-4d55df9e]{grid-template-columns:1fr}}.review-course-page[data-v-81a684ff]{max-width:800px;margin:0 auto;padding:20px}.page-header[data-v-81a684ff]{display:flex;align-items:center;margin-bottom:30px;gap:20px}.back-btn[data-v-81a684ff]{background:none;border:1px solid #d1d5db;color:#6b7280;padding:8px 16px;border-radius:8px;cursor:pointer;font-size:14px;transition:all .2s;display:flex;align-items:center;gap:8px}.back-btn[data-v-81a684ff]:hover{background:#f9fafb;border-color:#9ca3af}.page-title[data-v-81a684ff]{font-size:28px;font-weight:700;color:#1f2937;margin:0}.loading[data-v-81a684ff]{text-align:center;padding:60px 20px}.loading-spinner[data-v-81a684ff]{width:40px;height:40px;border:4px solid #e5e7eb;border-top:4px solid #3b82f6;border-radius:50%;animation:spin-81a684ff 1s linear infinite;margin:0 auto 16px}@keyframes spin-81a684ff{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.error-message[data-v-81a684ff]{text-align:center;padding:60px 20px;color:#dc2626;background:#fef2f2;border:1px solid #fecaca;border-radius:8px;margin:20px 0}.review-stats[data-v-81a684ff]{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:20px;margin-bottom:30px}.stat-card[data-v-81a684ff]{background:white;border:1px solid #e5e7eb;border-radius:12px;padding:20px;display:flex;align-items:center;gap:16px;box-shadow:0 1px 3px #0000001a}.stat-icon[data-v-81a684ff]{font-size:32px;line-height:1}.stat-info[data-v-81a684ff]{flex:1}.stat-number[data-v-81a684ff]{font-size:24px;font-weight:700;color:#1f2937;line-height:1}.stat-label[data-v-81a684ff]{font-size:14px;color:#6b7280;margin-top:4px}.word-card[data-v-81a684ff]{background:white;border-radius:16px;padding:40px;box-shadow:0 4px 6px #0000001a;text-align:center;margin-bottom:30px}.word-display[data-v-81a684ff]{margin-bottom:30px}.word-text[data-v-81a684ff]{font-size:64px;font-weight:800;color:#1f2937;line-height:1.1;margin-bottom:8px}.phonetic[data-v-81a684ff]{color:#64748b;font-size:18px;margin-bottom:16px}.pronunciation-btn[data-v-81a684ff]{background:#3b82f6;border:none;border-radius:50%;width:50px;height:50px;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:20px;color:#fff;transition:all .2s ease;margin:0 auto;box-shadow:0 2px 4px #3b82f64d}.pronunciation-btn[data-v-81a684ff]:hover:not(:disabled){background:#2563eb;transform:scale(1.05)}.pronunciation-btn[data-v-81a684ff]:disabled{opacity:.6;cursor:not-allowed}.word-info[data-v-81a684ff]{margin-bottom:30px}.translation[data-v-81a684ff]{font-size:24px;font-weight:600;color:#0c4a6e;margin-bottom:16px}.example[data-v-81a684ff]{font-size:16px;color:#475569;font-style:italic;white-space:pre-line;line-height:1.6}.review-actions[data-v-81a684ff]{display:flex;gap:24px;justify-content:center;margin-bottom:30px}.btn[data-v-81a684ff]{padding:16px 32px;border:none;border-radius:8px;font-size:16px;font-weight:600;cursor:pointer;transition:all .2s;min-width:140px}.btn[data-v-81a684ff]:disabled{opacity:.6;cursor:not-allowed}.btn-correct[data-v-81a684ff]{background:#16a34a;color:#fff}.btn-correct[data-v-81a684ff]:hover:not(:disabled){background:#15803d}.btn-incorrect[data-v-81a684ff]{background:#dc2626;color:#fff}.btn-incorrect[data-v-81a684ff]:hover:not(:disabled){background:#b91c1c}.progress-section[data-v-81a684ff]{text-align:center;margin-bottom:30px}.progress-bar[data-v-81a684ff]{width:100%;height:8px;background:#e5e7eb;border-radius:4px;overflow:hidden;margin-bottom:8px}.progress-fill[data-v-81a684ff]{height:100%;background:linear-gradient(90deg,#3b82f6,#1d4ed8);border-radius:4px;transition:width .3s ease}.progress-text[data-v-81a684ff]{font-size:14px;color:#6b7280;font-weight:500}.review-mode-section[data-v-81a684ff]{background:#f8fafc;border-radius:12px;padding:24px;text-align:center}.review-mode-section h3[data-v-81a684ff]{font-size:18px;color:#1f2937;margin-bottom:16px}.mode-buttons[data-v-81a684ff]{display:flex;gap:12px;justify-content:center;flex-wrap:wrap}.btn-mode[data-v-81a684ff]{padding:10px 20px;border:2px solid #e5e7eb;background:white;color:#6b7280;border-radius:8px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s}.btn-mode[data-v-81a684ff]:hover{border-color:#3b82f6;color:#3b82f6}.btn-mode.active[data-v-81a684ff]{background:#3b82f6;color:#fff;border-color:#3b82f6}.empty-state[data-v-81a684ff]{text-align:center;padding:60px 20px}.empty-state-icon[data-v-81a684ff]{font-size:64px;margin-bottom:20px}.empty-state h3[data-v-81a684ff]{font-size:24px;color:#1f2937;margin-bottom:8px}.empty-state p[data-v-81a684ff]{color:#6b7280;margin-bottom:20px}.completion-stats[data-v-81a684ff]{font-size:14px;color:#666;margin:20px 0;padding:12px 20px;background-color:#f0f8ff;border-radius:8px;border:1px solid #87ceeb;display:inline-block}.completion-actions[data-v-81a684ff]{display:flex;gap:12px;justify-content:center;margin-top:20px}.btn-primary[data-v-81a684ff]{background:#3b82f6;color:#fff}.btn-primary[data-v-81a684ff]:hover{background:#2563eb}.btn-secondary[data-v-81a684ff]{background:#6b7280;color:#fff}.btn-secondary[data-v-81a684ff]:hover{background:#4b5563}@media (max-width: 768px){.page-header[data-v-81a684ff]{flex-direction:column;align-items:flex-start;gap:16px}.page-title[data-v-81a684ff]{font-size:24px}.word-text[data-v-81a684ff]{font-size:48px}.review-actions[data-v-81a684ff]{flex-direction:column;align-items:center}.btn[data-v-81a684ff]{width:100%;max-width:200px}.review-stats[data-v-81a684ff]{grid-template-columns:repeat(2,1fr)}.mode-buttons[data-v-81a684ff]{flex-direction:column;align-items:center}.btn-mode[data-v-81a684ff]{width:100%;max-width:200px}}.review-mode[data-v-24ebc28c]{min-height:100vh;background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);padding:20px}.review-header[data-v-24ebc28c]{display:flex;align-items:center;justify-content:space-between;margin-bottom:30px;background:rgba(255,255,255,.1);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:15px;padding:20px}.back-btn[data-v-24ebc28c]{display:flex;align-items:center;gap:8px;background:rgba(255,255,255,.2);border:none;border-radius:10px;padding:10px 15px;color:#fff;font-size:16px;cursor:pointer;transition:all .3s ease}.back-btn[data-v-24ebc28c]:hover{background:rgba(255,255,255,.3);transform:translateY(-2px)}.back-icon[data-v-24ebc28c]{font-size:18px;font-weight:700}.page-title[data-v-24ebc28c]{color:#fff;font-size:28px;font-weight:700;margin:0}.progress-info[data-v-24ebc28c]{display:flex;flex-direction:column;align-items:flex-end;gap:8px}.progress-text[data-v-24ebc28c]{color:#fff;font-size:16px;font-weight:500}.progress-bar[data-v-24ebc28c]{width:200px;height:8px;background:rgba(255,255,255,.3);border-radius:4px;overflow:hidden}.progress-fill[data-v-24ebc28c]{height:100%;background:linear-gradient(90deg,#4CAF50,#8BC34A);transition:width .3s ease}.loading[data-v-24ebc28c],.error-message[data-v-24ebc28c],.completion-message[data-v-24ebc28c]{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:400px;background:rgba(255,255,255,.95);border-radius:20px;padding:40px;text-align:center}.loading-spinner[data-v-24ebc28c]{width:50px;height:50px;border:4px solid #f3f3f3;border-top:4px solid #667eea;border-radius:50%;animation:spin-24ebc28c 1s linear infinite;margin-bottom:20px}@keyframes spin-24ebc28c{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.error-icon[data-v-24ebc28c],.completion-icon[data-v-24ebc28c]{font-size:48px;margin-bottom:20px}.completion-message h2[data-v-24ebc28c]{color:#4caf50;margin-bottom:15px}.review-content[data-v-24ebc28c]{background:rgba(255,255,255,.95);border-radius:20px;padding:30px;box-shadow:0 10px 30px #0000001a}.word-card[data-v-24ebc28c]{margin-bottom:30px}.word-header[data-v-24ebc28c]{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:25px}.word-info[data-v-24ebc28c]{flex:1}.word-text[data-v-24ebc28c]{font-size:36px;font-weight:700;color:#333;margin:0 0 10px}.phonetic[data-v-24ebc28c]{font-size:18px;color:#666;margin:0;font-style:italic}.word-actions[data-v-24ebc28c]{display:flex;gap:10px}.audio-btn[data-v-24ebc28c]{display:flex;align-items:center;gap:8px;background:#667eea;color:#fff;border:none;border-radius:10px;padding:12px 20px;font-size:16px;cursor:pointer;transition:all .3s ease}.audio-btn[data-v-24ebc28c]:hover:not(:disabled){background:#5a6fd8;transform:translateY(-2px)}.audio-btn[data-v-24ebc28c]:disabled{background:#ccc;cursor:not-allowed}.word-meaning[data-v-24ebc28c]{background:#f8f9fa;border-radius:15px;padding:25px;margin-bottom:30px}.translation[data-v-24ebc28c]{font-size:20px;color:#333;margin:0 0 15px;line-height:1.5}.example[data-v-24ebc28c]{font-size:16px;color:#666;margin:0;line-height:1.6;font-style:italic}.review-actions[data-v-24ebc28c]{display:flex;gap:20px;justify-content:center;margin-bottom:30px}.btn[data-v-24ebc28c]{display:flex;align-items:center;gap:10px;padding:15px 30px;border:none;border-radius:12px;font-size:18px;font-weight:600;cursor:pointer;transition:all .3s ease;min-width:120px;justify-content:center}.btn-success[data-v-24ebc28c]{background:linear-gradient(135deg,#4CAF50,#45a049);color:#fff}.btn-success[data-v-24ebc28c]:hover{transform:translateY(-3px);box-shadow:0 8px 20px #4caf504d}.btn-danger[data-v-24ebc28c]{background:linear-gradient(135deg,#f44336,#d32f2f);color:#fff}.btn-danger[data-v-24ebc28c]:hover{transform:translateY(-3px);box-shadow:0 8px 20px #f443364d}.btn-primary[data-v-24ebc28c]{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.btn-primary[data-v-24ebc28c]:hover{transform:translateY(-3px);box-shadow:0 8px 20px #667eea4d}.action-icon[data-v-24ebc28c]{font-size:20px}.review-stats[data-v-24ebc28c]{display:flex;justify-content:space-around;background:#f8f9fa;border-radius:15px;padding:20px}.stat-item[data-v-24ebc28c]{display:flex;flex-direction:column;align-items:center;gap:5px}.stat-label[data-v-24ebc28c]{font-size:14px;color:#666;font-weight:500}.stat-value[data-v-24ebc28c]{font-size:24px;font-weight:700;color:#333}.stat-value.correct[data-v-24ebc28c]{color:#4caf50}.stat-value.wrong[data-v-24ebc28c]{color:#f44336}@media (max-width: 768px){.review-mode[data-v-24ebc28c]{padding:15px}.review-header[data-v-24ebc28c]{flex-direction:column;gap:15px;text-align:center}.word-text[data-v-24ebc28c]{font-size:28px}.review-actions[data-v-24ebc28c]{flex-direction:column;align-items:center}.btn[data-v-24ebc28c]{width:100%;max-width:200px}.review-stats[data-v-24ebc28c]{flex-direction:column;gap:15px}}.single-word-test[data-v-df61681d]{min-height:100vh;background:#f9fafb;padding:20px}.loading[data-v-df61681d],.error-message[data-v-df61681d]{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:400px;background:white;border-radius:12px;padding:40px;text-align:center;box-shadow:0 2px 8px #0000001a}.loading-spinner[data-v-df61681d]{width:50px;height:50px;border:4px solid #f3f3f3;border-top:4px solid #dc2626;border-radius:50%;animation:spin-df61681d 1s linear infinite;margin-bottom:20px}@keyframes spin-df61681d{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.error-icon[data-v-df61681d]{font-size:48px;margin-bottom:20px;color:#ef4444}.test-content[data-v-df61681d]{max-width:800px;margin:0 auto;background:white;border-radius:12px;padding:30px;box-shadow:0 2px 8px #0000001a}.question-container[data-v-df61681d],.question-header[data-v-df61681d]{margin-bottom:30px}.question-number[data-v-df61681d]{font-size:14px;color:#6b7280;margin-bottom:10px}.question-text[data-v-df61681d]{font-size:20px;font-weight:600;color:#1f2937;margin-bottom:10px}.question-options[data-v-df61681d]{display:flex;flex-direction:column;gap:12px}.option-item[data-v-df61681d]{display:flex;align-items:center;gap:12px;padding:15px;border:2px solid #e5e7eb;border-radius:8px;cursor:pointer;transition:all .2s;background:white}.option-item[data-v-df61681d]:hover{border-color:#3b82f6;background:#f0f9ff}.option-item.selected[data-v-df61681d]{border-color:#3b82f6;background:#eff6ff}.option-item.correct[data-v-df61681d]{border-color:#10b981;background:#f0fdf4}.option-item.wrong[data-v-df61681d]{border-color:#ef4444;background:#fef2f2}.option-letter[data-v-df61681d]{font-weight:600;color:#6b7280;min-width:20px}.option-text[data-v-df61681d]{flex:1;font-size:16px;color:#1f2937}.test-result[data-v-df61681d]{display:flex;align-items:center;gap:20px;background:#f8f9fa;border-radius:15px;padding:25px;margin-bottom:30px}.result-icon[data-v-df61681d]{font-size:48px}.result-icon.correct[data-v-df61681d]{color:#10b981}.result-icon.wrong[data-v-df61681d]{color:#ef4444}.result-message h3[data-v-df61681d]{margin:0 0 10px;font-size:24px}.result-message p[data-v-df61681d]{margin:0;color:#666;font-size:16px}.test-actions[data-v-df61681d]{text-align:center;margin-top:30px}.result-actions[data-v-df61681d]{display:flex;gap:20px;justify-content:center}.btn[data-v-df61681d]{padding:12px 24px;border:none;border-radius:8px;font-size:16px;font-weight:600;cursor:pointer;transition:all .2s}.btn[data-v-df61681d]:disabled{opacity:.6;cursor:not-allowed}.btn-primary[data-v-df61681d]{background:#dc2626;color:#fff}.btn-primary[data-v-df61681d]:hover:not(:disabled){background:#b91c1c}.btn-success[data-v-df61681d]{background:#10b981;color:#fff}.btn-success[data-v-df61681d]:hover{background:#059669}.action-icon[data-v-df61681d]{font-size:20px}@media (max-width: 768px){.single-word-test[data-v-df61681d]{padding:15px}.test-content[data-v-df61681d]{padding:20px}.question-text[data-v-df61681d]{font-size:18px}.result-actions[data-v-df61681d]{flex-direction:column;align-items:center}.btn[data-v-df61681d]{width:100%;max-width:200px}}.unfamiliar-words-test[data-v-121a0127]{min-height:100vh;background:#f9fafb;padding:20px}.test-header[data-v-121a0127]{display:flex;align-items:center;justify-content:space-between;margin-bottom:30px;background:rgba(255,255,255,.1);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:15px;padding:20px}.back-btn[data-v-121a0127]{display:flex;align-items:center;gap:8px;background:rgba(255,255,255,.2);border:none;border-radius:10px;padding:10px 15px;color:#fff;font-size:16px;cursor:pointer;transition:all .3s ease}.back-btn[data-v-121a0127]:hover{background:rgba(255,255,255,.3);transform:translateY(-2px)}.back-icon[data-v-121a0127]{font-size:18px;font-weight:700}.page-title[data-v-121a0127]{color:#fff;font-size:28px;font-weight:700;margin:0}.progress-info[data-v-121a0127]{display:flex;flex-direction:column;align-items:flex-end;gap:8px}.progress-text[data-v-121a0127]{color:#fff;font-size:16px;font-weight:500}.progress-bar[data-v-121a0127]{width:200px;height:8px;background:rgba(255,255,255,.3);border-radius:4px;overflow:hidden}.progress-fill[data-v-121a0127]{height:100%;background:linear-gradient(90deg,#4CAF50,#8BC34A);transition:width .3s ease}.loading[data-v-121a0127],.error-message[data-v-121a0127],.completion-message[data-v-121a0127]{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:400px;background:rgba(255,255,255,.95);border-radius:20px;padding:40px;text-align:center}.loading-spinner[data-v-121a0127]{width:50px;height:50px;border:4px solid #f3f3f3;border-top:4px solid #667eea;border-radius:50%;animation:spin-121a0127 1s linear infinite;margin-bottom:20px}@keyframes spin-121a0127{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.error-icon[data-v-121a0127],.completion-icon[data-v-121a0127]{font-size:48px;margin-bottom:20px}.completion-message h2[data-v-121a0127]{color:#4caf50;margin-bottom:30px}.completion-message p[data-v-121a0127]{margin-bottom:25px;color:#666}.test-content[data-v-121a0127]{background:rgba(255,255,255,.95);border-radius:20px;padding:30px;box-shadow:0 10px 30px #0000001a}.word-card[data-v-121a0127]{margin-bottom:30px}.word-header[data-v-121a0127]{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:25px}.word-info[data-v-121a0127]{flex:1}.word-text[data-v-121a0127]{font-size:36px;font-weight:700;color:#333;margin:0 0 10px}.phonetic[data-v-121a0127]{font-size:18px;color:#666;margin:0;font-style:italic}.word-actions[data-v-121a0127]{display:flex;gap:10px}.audio-btn[data-v-121a0127]{display:flex;align-items:center;gap:8px;background:#667eea;color:#fff;border:none;border-radius:10px;padding:12px 20px;font-size:16px;cursor:pointer;transition:all .3s ease}.audio-btn[data-v-121a0127]:hover:not(:disabled){background:#5a6fd8;transform:translateY(-2px)}.audio-btn[data-v-121a0127]:disabled{background:#ccc;cursor:not-allowed}.word-meaning[data-v-121a0127]{background:#f8f9fa;border-radius:15px;padding:25px;margin-bottom:30px}.translation[data-v-121a0127]{font-size:20px;color:#333;margin:0 0 15px;line-height:1.5}.example[data-v-121a0127]{font-size:16px;color:#666;margin:0;line-height:1.6;font-style:italic}.test-options[data-v-121a0127]{margin-bottom:30px}.options-title[data-v-121a0127]{font-size:18px;font-weight:600;color:#333;margin-bottom:20px;text-align:center}.options-list[data-v-121a0127]{display:grid;grid-template-columns:1fr 1fr;gap:15px}.option-btn[data-v-121a0127]{padding:15px 20px;border:2px solid #e0e0e0;border-radius:12px;background:white;color:#333;font-size:16px;cursor:pointer;transition:all .3s ease;text-align:center}.option-btn[data-v-121a0127]:hover{border-color:#667eea;background:#f8f9ff}.option-btn.correct[data-v-121a0127]{border-color:#4caf50;background:#e8f5e8;color:#2e7d32}.option-btn.wrong[data-v-121a0127]{border-color:#f44336;background:#ffebee;color:#c62828}.test-result[data-v-121a0127]{display:flex;align-items:center;gap:20px;background:#f8f9fa;border-radius:15px;padding:25px;margin-bottom:30px}.result-icon[data-v-121a0127]{font-size:48px}.result-icon.correct[data-v-121a0127]{color:#4caf50}.result-icon.wrong[data-v-121a0127]{color:#f44336}.result-message h3[data-v-121a0127]{margin:0 0 10px;font-size:24px}.result-message p[data-v-121a0127]{margin:0;color:#666;font-size:16px}.test-actions[data-v-121a0127]{display:flex;justify-content:center;margin-bottom:30px}.result-actions[data-v-121a0127]{display:flex;gap:20px;justify-content:center}.completion-buttons[data-v-121a0127]{display:flex;gap:20px;justify-content:center;flex-wrap:wrap;margin-top:30px}.btn[data-v-121a0127]{display:flex;align-items:center;gap:10px;padding:15px 30px;border:none;border-radius:12px;font-size:18px;font-weight:600;cursor:pointer;transition:all .3s ease;min-width:120px;justify-content:center}.btn-primary[data-v-121a0127]{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.btn-primary[data-v-121a0127]:hover:not(:disabled){transform:translateY(-3px);box-shadow:0 8px 20px #667eea4d}.btn-primary[data-v-121a0127]:disabled{background:#ccc;cursor:not-allowed}.btn-success[data-v-121a0127]{background:linear-gradient(135deg,#4CAF50,#45a049);color:#fff}.btn-success[data-v-121a0127]:hover{transform:translateY(-3px);box-shadow:0 8px 20px #4caf504d}.btn-warning[data-v-121a0127]{background:linear-gradient(135deg,#ff9800,#f57c00);color:#fff}.btn-warning[data-v-121a0127]:hover{transform:translateY(-3px);box-shadow:0 8px 20px #ff98004d}.action-icon[data-v-121a0127]{font-size:20px}.test-stats[data-v-121a0127]{display:flex;justify-content:space-around;background:#f8f9fa;border-radius:15px;padding:20px}.stat-item[data-v-121a0127]{display:flex;flex-direction:column;align-items:center;gap:5px}.stat-label[data-v-121a0127]{font-size:14px;color:#666;font-weight:500}.stat-value[data-v-121a0127]{font-size:24px;font-weight:700;color:#333}.stat-value.correct[data-v-121a0127]{color:#4caf50}.stat-value.wrong[data-v-121a0127]{color:#f44336}@media (max-width: 768px){.unfamiliar-words-test[data-v-121a0127]{padding:15px}.test-header[data-v-121a0127]{flex-direction:column;gap:15px;text-align:center}.word-text[data-v-121a0127]{font-size:28px}.options-list[data-v-121a0127]{grid-template-columns:1fr}.result-actions[data-v-121a0127]{flex-direction:column;align-items:center}.btn[data-v-121a0127]{width:100%;max-width:200px}.test-stats[data-v-121a0127]{flex-direction:column;gap:15px}}.login-page[data-v-3864a1ae]{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);padding:20px}.login-container[data-v-3864a1ae]{background:white;border-radius:12px;box-shadow:0 20px 40px #0000001a;padding:40px;width:100%;max-width:400px;position:relative}.login-header[data-v-3864a1ae]{text-align:center;margin-bottom:30px}.login-title[data-v-3864a1ae]{font-size:28px;font-weight:700;color:#333;margin-bottom:8px}.login-subtitle[data-v-3864a1ae]{color:#666;font-size:16px}.form-group[data-v-3864a1ae]{margin-bottom:20px}.form-group label[data-v-3864a1ae]{display:block;margin-bottom:8px;font-weight:500;color:#333}.form-group input[data-v-3864a1ae]{width:100%;padding:12px 16px;border:2px solid #e1e5e9;border-radius:8px;font-size:16px;transition:border-color .3s}.form-group input[data-v-3864a1ae]:focus{outline:none;border-color:#667eea}.form-group input[data-v-3864a1ae]:disabled{background-color:#f5f5f5;cursor:not-allowed}.remember-password[data-v-3864a1ae]{margin-bottom:20px}.checkbox-label[data-v-3864a1ae]{display:flex;align-items:center;cursor:pointer;-webkit-user-select:none;user-select:none}.checkbox-label input[type=checkbox][data-v-3864a1ae]{width:auto;margin-right:8px;cursor:pointer}.checkbox-text[data-v-3864a1ae]{color:#666;font-size:14px;font-weight:500}.checkbox-label:hover .checkbox-text[data-v-3864a1ae]{color:#333}.checkbox-label input[type=checkbox][data-v-3864a1ae]:disabled{cursor:not-allowed;opacity:.6}.error-message[data-v-3864a1ae]{background-color:#fee;color:#c53030;padding:12px;border-radius:6px;margin-bottom:20px}.error-access-expired[data-v-3864a1ae]{background-color:#fffaf0;color:#975a16;border:1px solid #fbd38d;font-size:14px}.login-btn[data-v-3864a1ae]{width:100%;padding:14px;font-size:16px;font-weight:600;margin-bottom:20px}.login-btn[data-v-3864a1ae]:disabled{background-color:#ccc;cursor:not-allowed}.login-alt[data-v-3864a1ae]{text-align:center;margin:0 0 8px;font-size:14px}.login-alt a[data-v-3864a1ae]{color:#667eea}.form-footer[data-v-3864a1ae]{text-align:center;color:#666}.form-footer a[data-v-3864a1ae]{color:#667eea;text-decoration:none;font-weight:500}.form-footer a[data-v-3864a1ae]:hover{text-decoration:underline}.register-form[data-v-3864a1ae]{position:absolute;top:0;left:0;right:0;bottom:0;background:white;border-radius:12px;padding:40px;z-index:10}.form-header[data-v-3864a1ae]{display:flex;justify-content:space-between;align-items:center;margin-bottom:30px}.form-header h2[data-v-3864a1ae]{font-size:24px;font-weight:600;color:#333;margin:0}.close-btn[data-v-3864a1ae]{background:none;border:none;font-size:24px;color:#666;cursor:pointer;padding:0;width:30px;height:30px;display:flex;align-items:center;justify-content:center}.close-btn[data-v-3864a1ae]:hover{color:#333}.register-btn[data-v-3864a1ae]{width:100%;padding:14px;font-size:16px;font-weight:600;margin-bottom:20px}.register-btn[data-v-3864a1ae]:disabled{background-color:#ccc;cursor:not-allowed}.impersonate-page[data-v-1cc728cb]{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#2d3748 0%,#4a5568 100%);padding:20px}.impersonate-container[data-v-1cc728cb]{background:#fff;border-radius:12px;box-shadow:0 20px 40px #00000026;padding:32px;width:100%;max-width:440px}.page-header[data-v-1cc728cb]{margin-bottom:24px}.page-title[data-v-1cc728cb]{font-size:24px;font-weight:700;color:#1a202c;margin:0 0 8px}.page-desc[data-v-1cc728cb]{margin:0;font-size:14px;color:#4a5568;line-height:1.5}.form-group[data-v-1cc728cb]{margin-bottom:18px}.form-group label[data-v-1cc728cb]{display:block;margin-bottom:8px;font-weight:500;color:#2d3748}.form-group input[data-v-1cc728cb]{width:100%;max-width:100%;min-height:44px;padding:10px 14px;border:2px solid #e2e8f0;border-radius:8px;font-size:16px;box-sizing:border-box}.form-group input[data-v-1cc728cb]:focus{outline:none;border-color:#667eea}.form-group input[data-v-1cc728cb]:disabled{background:#f7fafc;cursor:not-allowed}.hint[data-v-1cc728cb]{font-size:13px;color:#718096;margin:0 0 16px;line-height:1.45}.error-message[data-v-1cc728cb]{background:#fff5f5;color:#c53030;padding:12px;border-radius:8px;margin-bottom:16px;font-size:14px}.submit-btn[data-v-1cc728cb]{width:100%;min-height:44px;padding:12px 16px;font-size:16px;font-weight:600;color:#fff;background:#667eea;border:none;border-radius:8px;cursor:pointer}.submit-btn[data-v-1cc728cb]:disabled{opacity:.55;cursor:not-allowed}.footer-links[data-v-1cc728cb]{margin-top:20px;text-align:center}.footer-links a[data-v-1cc728cb]{color:#667eea;font-size:14px}.course-test[data-v-abc3e092]{min-height:100vh;background:#f9fafb}.test-header[data-v-abc3e092]{background:#dc2626;color:#fff;padding:15px 20px;display:flex;align-items:center;gap:15px}.back-btn[data-v-abc3e092]{background:none;border:none;color:#fff;font-size:16px;cursor:pointer;padding:5px}.back-btn[data-v-abc3e092]:hover{opacity:.8}.test-title[data-v-abc3e092]{font-size:20px;font-weight:600;margin:0}.state-panel[data-v-abc3e092]{padding:48px 20px;max-width:800px;margin:0 auto;text-align:center}.state-panel.loading[data-v-abc3e092]{color:#6b7280}.loading-spinner[data-v-abc3e092]{width:36px;height:36px;margin:0 auto 12px;border:3px solid #e5e7eb;border-top-color:#dc2626;border-radius:50%;animation:spin-abc3e092 .8s linear infinite}@keyframes spin-abc3e092{to{transform:rotate(360deg)}}.empty-state-icon[data-v-abc3e092]{font-size:48px;margin-bottom:12px}.empty-state h3[data-v-abc3e092]{margin:0 0 8px;color:#1f2937;font-size:18px}.empty-state p[data-v-abc3e092]{margin:0 0 20px;color:#6b7280;font-size:14px}.empty-link[data-v-abc3e092]{display:inline-block;text-decoration:none}.course-list[data-v-abc3e092]{padding:20px;max-width:800px;margin:0 auto}.course-card[data-v-abc3e092]{background:white;border-radius:12px;padding:20px;margin-bottom:15px;display:flex;align-items:center;gap:15px;cursor:pointer;transition:all .2s;box-shadow:0 2px 4px #0000001a}.course-card[data-v-abc3e092]:hover{transform:translateY(-2px);box-shadow:0 4px 12px #00000026}.course-icon[data-v-abc3e092]{width:60px;height:60px;border-radius:12px;display:flex;align-items:center;justify-content:center;font-size:24px;flex-shrink:0}.course-info[data-v-abc3e092]{flex:1}.course-title[data-v-abc3e092]{font-size:18px;font-weight:600;color:#1f2937;margin:0 0 8px}.course-description[data-v-abc3e092]{font-size:14px;color:#6b7280;margin:0 0 10px}.course-meta[data-v-abc3e092]{display:flex;gap:15px;align-items:center}.course-tag[data-v-abc3e092]{background:#f3f4f6;color:#374151;padding:4px 8px;border-radius:4px;font-size:12px}.course-words[data-v-abc3e092]{font-size:12px;color:#6b7280}.course-arrow[data-v-abc3e092]{font-size:20px;color:#9ca3af}.modal-overlay[data-v-abc3e092]{position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,.5);display:flex;align-items:center;justify-content:center;z-index:1000}.modal[data-v-abc3e092]{background:white;border-radius:8px;max-width:600px;width:90%;max-height:80vh;overflow-y:auto}.modal-header[data-v-abc3e092]{background:#dc2626;color:#fff;padding:15px 20px;display:flex;justify-content:space-between;align-items:center;border-radius:8px 8px 0 0}.modal-header h3[data-v-abc3e092]{margin:0;font-size:18px;font-weight:600}.close-btn[data-v-abc3e092]{background:none;border:none;color:#fff;font-size:24px;cursor:pointer;padding:0;width:30px;height:30px;display:flex;align-items:center;justify-content:center}.close-btn[data-v-abc3e092]:hover{opacity:.8}.modal-content[data-v-abc3e092]{padding:20px}.config-section[data-v-abc3e092]{margin-bottom:25px}.config-label[data-v-abc3e092]{display:block;font-size:16px;font-weight:600;color:#1f2937;margin-bottom:15px}.config-value[data-v-abc3e092]{margin-bottom:10px}.selected-course[data-v-abc3e092]{display:flex;align-items:center;gap:12px;padding:15px;background:#f9fafb;border-radius:8px;border:1px solid #e5e7eb}.course-icon-small[data-v-abc3e092]{width:40px;height:40px;border-radius:8px;display:flex;align-items:center;justify-content:center;font-size:16px}.course-details[data-v-abc3e092]{flex:1}.course-title-small[data-v-abc3e092]{font-size:14px;font-weight:600;color:#1f2937;margin-bottom:4px}.course-description-small[data-v-abc3e092]{font-size:12px;color:#6b7280}.config-options[data-v-abc3e092]{display:flex;flex-wrap:wrap;gap:10px}.option-item[data-v-abc3e092]{display:flex;align-items:center;gap:8px;padding:10px 15px;border:1px solid #d1d5db;border-radius:6px;cursor:pointer;transition:all .2s;background:white}.option-item[data-v-abc3e092]:hover{border-color:#3b82f6;background:#f0f9ff}.option-item.active[data-v-abc3e092]{border-color:#dc2626;background:#fef2f2;color:#dc2626}.option-item.disabled[data-v-abc3e092]{border-color:#e5e7eb;background:#f9fafb;cursor:not-allowed;opacity:.6}.option-item.disabled[data-v-abc3e092]:hover{border-color:#e5e7eb;background:#f9fafb}.option-item.disabled input[type=radio][data-v-abc3e092]{cursor:not-allowed}.option-item input[type=radio][data-v-abc3e092]{margin:0}.unit-section[data-v-abc3e092]{margin-top:15px}.unit-label[data-v-abc3e092]{font-size:14px;font-weight:500;color:#374151;margin-bottom:10px}.unit-options[data-v-abc3e092]{display:flex;flex-wrap:wrap;gap:8px}.modal-actions[data-v-abc3e092]{padding:20px;border-top:1px solid #e5e7eb;display:flex;justify-content:flex-end;gap:10px}.btn[data-v-abc3e092]{padding:10px 20px;border:none;border-radius:6px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s}.btn[data-v-abc3e092]:disabled{opacity:.6;cursor:not-allowed}.btn-primary[data-v-abc3e092]{background:#dc2626;color:#fff}.btn-primary[data-v-abc3e092]:hover:not(:disabled){background:#b91c1c}.btn-secondary[data-v-abc3e092]{background:#6b7280;color:#fff}.btn-secondary[data-v-abc3e092]:hover{background:#4b5563}@media (max-width: 768px){.course-card[data-v-abc3e092]{flex-direction:column;text-align:center}.course-meta[data-v-abc3e092]{justify-content:center}.config-options[data-v-abc3e092]{flex-direction:column}.option-item[data-v-abc3e092]{justify-content:center}}.phonetic-card[data-v-2be5cdec]{background:#fff;border-radius:12px;padding:1.25rem;box-shadow:0 4px 6px #0000000f;transition:transform .2s ease,box-shadow .2s ease;border:1px solid #f3f4f6}.phonetic-card[data-v-2be5cdec]:hover{transform:translateY(-4px);box-shadow:0 12px 24px #0000001a}.card-top[data-v-2be5cdec]{display:flex;align-items:center;justify-content:space-between;margin-bottom:.75rem}.type-badge[data-v-2be5cdec]{display:inline-block;font-size:.75rem;font-weight:600;padding:.25rem .5rem;border-radius:6px}.badge-vowel[data-v-2be5cdec]{background:#dbeafe;color:#1e40af}.badge-diphthong[data-v-2be5cdec]{background:#ede9fe;color:#5b21b6}.badge-consonant[data-v-2be5cdec]{background:#d1fae5;color:#065f46}.badge-default[data-v-2be5cdec]{background:#f3f4f6;color:#374151}.played-check[data-v-2be5cdec]{color:#10b981;font-weight:700;font-size:1rem}.symbol-block[data-v-2be5cdec]{text-align:center;margin-bottom:1rem}.symbol[data-v-2be5cdec]{font-size:2.5rem;font-weight:700;color:#111827;letter-spacing:.02em;margin-bottom:.25rem}.name[data-v-2be5cdec]{font-size:1.05rem;font-weight:500;color:#6b7280}.example-block[data-v-2be5cdec]{text-align:center;margin-bottom:1rem}.example-label[data-v-2be5cdec]{font-size:.75rem;color:#9ca3af;margin-bottom:.25rem}.example-word[data-v-2be5cdec]{font-size:1.25rem;font-weight:600;color:#2563eb}.example-ipa[data-v-2be5cdec]{font-size:.875rem;color:#6b7280}.guide-block[data-v-2be5cdec]{margin-bottom:1rem;padding:.75rem;background:#f9fafb;border-radius:8px}.guide-label[data-v-2be5cdec]{font-size:.7rem;color:#9ca3af;margin-bottom:.25rem}.guide-text[data-v-2be5cdec]{font-size:.875rem;color:#374151;line-height:1.5}.play-btn[data-v-2be5cdec]{width:100%;display:flex;align-items:center;justify-content:center;gap:.5rem;padding:.75rem 1rem;font-size:.95rem;font-weight:600;color:#fff;background:linear-gradient(135deg,#3b82f6,#8b5cf6);border:none;border-radius:10px;cursor:pointer;transition:opacity .2s,transform .2s}.play-btn[data-v-2be5cdec]:hover:not(:disabled){opacity:.95;transform:scale(1.02)}.play-btn[data-v-2be5cdec]:disabled{opacity:.75;cursor:not-allowed}.play-icon.pulsing[data-v-2be5cdec]{animation:pulse-2be5cdec 1s ease-in-out infinite}@keyframes pulse-2be5cdec{0%,to{opacity:1}50%{opacity:.5}}.phonetic-learning[data-v-72943a05]{min-height:100vh;background:linear-gradient(180deg,#eff6ff 0%,#f9fafb 35%,#f3e8ff 100%)}.page-header-bar[data-v-72943a05]{display:flex;align-items:center;flex-wrap:wrap;gap:12px 20px;padding:14px 20px;background:linear-gradient(135deg,#3b82f6,#8b5cf6);color:#fff}.back-btn[data-v-72943a05]{background:none;border:none;color:#fff;font-size:16px;cursor:pointer;padding:6px 8px}.back-btn[data-v-72943a05]:hover{opacity:.85}.page-title[data-v-72943a05]{margin:0;font-size:1.25rem;font-weight:600;flex:1;min-width:120px;color:#fff}.progress-wrap[data-v-72943a05]{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.progress-label[data-v-72943a05]{font-size:.8rem;opacity:.95}.progress-track[data-v-72943a05]{width:120px;height:8px;background:rgba(255,255,255,.35);border-radius:4px;overflow:hidden}.progress-fill[data-v-72943a05]{height:100%;background:#fff;border-radius:4px;transition:width .3s ease}.progress-count[data-v-72943a05]{font-size:.85rem;font-weight:600}.page-body[data-v-72943a05]{max-width:1200px;margin:0 auto;padding:24px 16px 40px}.hero[data-v-72943a05]{text-align:center;margin-bottom:2rem}.hero-icon[data-v-72943a05]{display:inline-flex;align-items:center;justify-content:center;width:64px;height:64px;border-radius:50%;background:rgba(59,130,246,.15);font-size:2rem;margin-bottom:1rem}.hero-title[data-v-72943a05]{font-size:1.65rem;font-weight:700;color:#111827;margin:0 0 .75rem;line-height:1.3}.hero-desc[data-v-72943a05]{color:#6b7280;font-size:1rem;line-height:1.6;max-width:36rem;margin:0 auto 1.5rem}.stats-row[data-v-72943a05]{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;max-width:28rem;margin:0 auto}.stat-card[data-v-72943a05]{background:#fff;border:1px solid #e5e7eb;border-radius:12px;padding:1rem;text-align:center}.stat-num[data-v-72943a05]{font-size:1.5rem;font-weight:700}.stat-blue[data-v-72943a05]{color:#2563eb}.stat-purple[data-v-72943a05]{color:#7c3aed}.stat-green[data-v-72943a05]{color:#059669}.stat-label[data-v-72943a05]{font-size:.8rem;color:#6b7280;margin-top:.25rem}.main-section[data-v-72943a05]{margin-bottom:2rem}.tabs[data-v-72943a05]{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;max-width:32rem;margin:0 auto 1.5rem}.tab-btn[data-v-72943a05]{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;padding:10px 8px;font-size:.8rem;font-weight:600;color:#4b5563;background:#fff;border:2px solid #e5e7eb;border-radius:10px;cursor:pointer;transition:border-color .2s,background .2s,color .2s}.tab-btn[data-v-72943a05]:hover{border-color:#93c5fd}.tab-btn.active[data-v-72943a05]{border-color:#3b82f6;background:#eff6ff;color:#1d4ed8}.tab-emoji[data-v-72943a05]{font-size:1rem;line-height:1}.card-grid[data-v-72943a05]{display:grid;grid-template-columns:1fr;gap:1.25rem}@media (min-width: 640px){.card-grid[data-v-72943a05]{grid-template-columns:repeat(2,1fr)}}@media (min-width: 1024px){.card-grid[data-v-72943a05]{grid-template-columns:repeat(3,1fr)}}@media (min-width: 1280px){.card-grid[data-v-72943a05]{grid-template-columns:repeat(4,1fr)}}.empty-state[data-v-72943a05]{text-align:center;padding:3rem 1rem;color:#6b7280}.empty-icon[data-v-72943a05]{font-size:3rem;margin-bottom:.75rem;opacity:.6}.empty-title[data-v-72943a05]{margin:0 0 .5rem;font-size:1.1rem;color:#374151}.empty-text[data-v-72943a05]{margin:0;font-size:.95rem}.page-footer[data-v-72943a05]{text-align:center;padding-top:1.5rem;border-top:1px solid #e5e7eb;font-size:.875rem;color:#6b7280}.footer-sub[data-v-72943a05]{margin:.5rem 0 0}@media (max-width: 640px){.tabs[data-v-72943a05]{grid-template-columns:repeat(2,1fr)}.page-header-bar[data-v-72943a05]{flex-direction:column;align-items:flex-start}.progress-wrap[data-v-72943a05]{width:100%}.progress-track[data-v-72943a05]{flex:1;min-width:100px}}.grammar-page[data-v-9454a028]{min-height:100vh;background:linear-gradient(145deg,#f7fbff,#eef5ff 52%,#eaf1ff);color:#1f2a44;padding:0 12px 18px}.top-bar[data-v-9454a028]{height:74px;display:flex;align-items:center;gap:12px;padding:0 4px}.back-btn[data-v-9454a028]{width:34px;height:34px;border:1px solid rgba(123,153,245,.22);border-radius:10px;background:rgba(255,255,255,.94);color:#42517c;font-size:20px;cursor:pointer}.title[data-v-9454a028]{margin:0;font-size:34px;font-weight:800;letter-spacing:1px;line-height:1;color:#2f4272}.avatar-badge[data-v-9454a028]{margin-left:auto;font-size:30px;opacity:.9}.content-wrap[data-v-9454a028]{display:grid;grid-template-columns:204px 1fr;gap:12px}.left-menu[data-v-9454a028]{background:rgba(210,225,255,.45);border:1px solid rgba(123,153,245,.22);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);border-radius:14px;padding:10px;display:flex;flex-direction:column;gap:8px;max-height:none;overflow:visible}.menu-item[data-v-9454a028]{border:none;border-radius:12px;background:transparent;color:#4b5b84;text-align:left;padding:10px 12px;font-size:16px;cursor:pointer}.menu-item.active[data-v-9454a028]{background:linear-gradient(90deg,#6f8dff,#87a0ff);color:#fff;font-weight:600;box-shadow:0 10px 18px #6f8dff4d}.main-content[data-v-9454a028]{min-height:calc(100vh - 104px);display:flex}.module-card[data-v-9454a028]{background:rgba(255,255,255,.88);border:1px solid rgba(123,153,245,.22);border-radius:16px;padding:14px;box-shadow:0 12px 24px #7891d226;flex:1}.module-header h2[data-v-9454a028]{margin:0;font-size:32px;color:#2d406f}.module-subtitle[data-v-9454a028]{margin:4px 0 12px;font-size:14px;color:#5f6b85}.lesson-grid[data-v-9454a028]{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.lesson-item[data-v-9454a028]{border-radius:14px;padding:14px;min-height:148px;color:#16223f;border:1px solid rgba(255,255,255,.5)}.theme-yellow[data-v-9454a028]{background:linear-gradient(130deg,#e2e8ff,#f1f4ff)}.theme-blue[data-v-9454a028]{background:linear-gradient(130deg,#d8e9ff,#eef5ff)}.theme-cyan[data-v-9454a028]{background:linear-gradient(130deg,#dff4ff,#f2fbff)}.tag[data-v-9454a028]{display:inline-block;margin:0 0 8px;padding:3px 8px;border-radius:10px;font-size:12px;font-weight:700;color:#2f4170;background:rgba(255,255,255,.72)}.lesson-title[data-v-9454a028]{margin:0 0 6px;font-size:22px;line-height:1.2}.lesson-subtitle[data-v-9454a028]{margin:0;font-size:16px;color:#4a5d89}.start-btn[data-v-9454a028]{margin-top:12px;border:none;border-radius:999px;background:#ffffff;padding:8px 16px;font-size:14px;font-weight:700;color:#2f4272;cursor:pointer;box-shadow:0 8px 14px #7488be29}@media (max-width: 980px){.title[data-v-9454a028]{font-size:28px}.content-wrap[data-v-9454a028]{grid-template-columns:1fr}.left-menu[data-v-9454a028]{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));max-height:none}.lesson-grid[data-v-9454a028]{grid-template-columns:1fr}.module-card[data-v-9454a028]{min-height:auto}}@media (max-width: 640px){.top-bar[data-v-9454a028]{padding-top:8px;height:auto;flex-wrap:wrap}.title[data-v-9454a028]{font-size:24px}.left-menu[data-v-9454a028]{grid-template-columns:repeat(2,minmax(0,1fr))}.menu-item[data-v-9454a028]{font-size:14px}.module-header h2[data-v-9454a028]{font-size:24px}.lesson-title[data-v-9454a028]{font-size:18px}}.grammar-detail-page[data-v-1c4af54e]{min-height:100vh;background:linear-gradient(145deg,#f7fbff,#eef5ff 52%,#eaf1ff);color:#1f2a44;padding:0 12px 24px;min-width:0;overflow-x:clip}.top-bar[data-v-1c4af54e]{height:74px;display:flex;align-items:center;gap:12px;padding:0 4px}.back-btn[data-v-1c4af54e]{width:34px;height:34px;border:1px solid rgba(123,153,245,.22);border-radius:10px;background:rgba(255,255,255,.94);color:#42517c;font-size:20px;cursor:pointer}.title-wrap[data-v-1c4af54e]{display:flex;flex-direction:column;flex:1;min-width:0}.title[data-v-1c4af54e]{margin:0;font-size:30px;font-weight:800;line-height:1.1;color:#2f4272;overflow-wrap:break-word}.subtitle[data-v-1c4af54e]{margin:4px 0 0;color:#5f6b85;font-size:14px;overflow-wrap:break-word}.detail-layout[data-v-1c4af54e]{max-width:1200px;margin:0 auto;display:grid;grid-template-columns:220px 1fr;gap:12px;min-width:0}.knowledge-sidebar[data-v-1c4af54e]{background:rgba(255,255,255,.88);border:1px solid rgba(123,153,245,.22);border-radius:16px;padding:14px 10px;box-shadow:0 12px 24px #7891d226;align-self:flex-start;position:sticky;top:12px;min-width:0}.knowledge-title[data-v-1c4af54e]{margin:0 0 10px;font-size:18px;color:#2d406f}.knowledge-list[data-v-1c4af54e]{margin:0;padding:0;list-style:none}.knowledge-item[data-v-1c4af54e]{width:100%;text-align:left;border:none;background:transparent;color:#4a5d89;border-radius:10px;padding:8px 10px;font-size:14px;cursor:pointer;overflow-wrap:break-word;word-break:break-word}.knowledge-item[data-v-1c4af54e]:hover{background:#eef4ff}.knowledge-item.active[data-v-1c4af54e]{background:#e2e8ff;color:#2f4272;font-weight:600}.detail-card[data-v-1c4af54e]{background:rgba(255,255,255,.88);border:1px solid rgba(123,153,245,.22);border-radius:16px;padding:18px;box-shadow:0 12px 24px #7891d226;min-width:0}.hero[data-v-1c4af54e]{padding-bottom:14px;border-bottom:1px solid rgba(123,153,245,.18)}.topic-tag[data-v-1c4af54e]{display:inline-block;padding:4px 10px;border-radius:999px;font-size:12px;color:#2f4272;background:#e2e8ff;margin:0 0 10px}.hero h2[data-v-1c4af54e]{margin:0;color:#2d406f;font-size:28px;overflow-wrap:break-word;word-break:break-word}.hero-sub[data-v-1c4af54e]{margin:8px 0 0;color:#4a5d89;overflow-wrap:break-word;word-break:break-word}.content-section[data-v-1c4af54e]{margin-top:16px}.content-block[data-v-1c4af54e]{padding-top:8px;margin-top:8px;min-width:0}.content-block+.content-block[data-v-1c4af54e]{margin-top:18px;border-top:1px dashed rgba(123,153,245,.26);padding-top:16px}.content-section h3[data-v-1c4af54e]{margin:0 0 8px;color:#2d406f;font-size:18px;overflow-wrap:break-word;word-break:break-word}.section-subtitle[data-v-1c4af54e]{margin:0 0 8px;color:#5f6b85;font-size:14px;overflow-wrap:break-word;word-break:break-word}.content-section p[data-v-1c4af54e]{margin:0;color:#3d4d74;line-height:1.7;overflow-wrap:break-word;word-break:break-word}.rule-block[data-v-1c4af54e]{margin-bottom:10px;padding:10px;border-radius:10px;background:rgba(226,232,255,.28);border:1px solid rgba(123,153,245,.2)}.rule-text[data-v-1c4af54e]{margin:0;font-weight:600;color:#2f4272;overflow-wrap:break-word;word-break:break-word}.rule-example-list[data-v-1c4af54e]{margin:8px 0 0;padding-left:18px}.content-section ul[data-v-1c4af54e]{margin:0;padding-left:18px}.content-section li[data-v-1c4af54e]{margin-bottom:6px;color:#3d4d74;line-height:1.6;overflow-wrap:break-word;word-break:break-word}.table-wrap[data-v-1c4af54e]{margin-bottom:12px;max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}.table-title[data-v-1c4af54e]{margin:0 0 8px;color:#3d4d74;font-weight:600}.content-table[data-v-1c4af54e]{width:100%;border-collapse:collapse;background:#fff;border:1px solid rgba(123,153,245,.24);border-radius:8px;overflow:hidden;table-layout:fixed}.content-table th[data-v-1c4af54e],.content-table td[data-v-1c4af54e]{border:1px solid rgba(123,153,245,.2);padding:8px 10px;text-align:left;color:#3d4d74;font-size:14px;word-break:break-word;vertical-align:top}.content-table th[data-v-1c4af54e]{background:#eef4ff;color:#2f4272}.action-row[data-v-1c4af54e]{margin-top:20px;display:flex;gap:10px;flex-wrap:wrap}.nav-btn[data-v-1c4af54e]{border:1px solid rgba(123,153,245,.32);border-radius:10px;background:#ffffff;color:#2f4272;padding:9px 14px;font-size:14px;font-weight:600;cursor:pointer}.nav-btn.primary[data-v-1c4af54e]{background:linear-gradient(90deg,#6f8dff,#87a0ff);border-color:transparent;color:#fff}.nav-btn[data-v-1c4af54e]:disabled{opacity:.45;cursor:not-allowed}@media (max-width: 980px){.detail-layout[data-v-1c4af54e]{grid-template-columns:1fr}.knowledge-sidebar[data-v-1c4af54e]{position:static}}.basic-page[data-v-96b563ad]{min-height:100vh;background:linear-gradient(145deg,#f7fbff,#eef5ff 52%,#eaf1ff);color:#1f2a44;padding:0 12px 18px}.top-bar[data-v-96b563ad]{height:74px;display:flex;align-items:center;gap:12px;padding:0 4px}.back-btn[data-v-96b563ad]{width:34px;height:34px;border:1px solid rgba(123,153,245,.22);border-radius:10px;background:rgba(255,255,255,.94);color:#42517c;font-size:20px;cursor:pointer}.title[data-v-96b563ad]{margin:0;font-size:34px;font-weight:800;letter-spacing:1px;line-height:1;color:#2f4272}.course-switch[data-v-96b563ad]{margin-left:auto;display:flex;align-items:center;gap:8px;color:#4b5b84;font-size:14px;font-weight:600}.course-select[data-v-96b563ad]{min-height:44px;border:1px solid rgba(123,153,245,.22);border-radius:10px;background:rgba(255,255,255,.94);color:#2f4272;padding:0 12px;font-size:14px}.content-wrap[data-v-96b563ad]{display:grid;grid-template-columns:204px 1fr;gap:12px}.left-menu[data-v-96b563ad]{background:rgba(210,225,255,.45);border:1px solid rgba(123,153,245,.22);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);border-radius:14px;padding:10px;display:flex;flex-direction:column;gap:8px}.menu-item[data-v-96b563ad]{border:none;border-radius:12px;background:transparent;color:#4b5b84;text-align:left;padding:10px 12px;min-height:44px;font-size:16px;cursor:pointer}.menu-item.active[data-v-96b563ad]{background:linear-gradient(90deg,#6f8dff,#87a0ff);color:#fff;font-weight:600;box-shadow:0 10px 18px #6f8dff4d}.main-content[data-v-96b563ad]{min-height:calc(100vh - 104px);display:flex}.panel[data-v-96b563ad]{background:rgba(255,255,255,.88);border:1px solid rgba(123,153,245,.22);border-radius:16px;padding:14px;box-shadow:0 12px 24px #7891d226;flex:1}.panel h2[data-v-96b563ad]{margin:0;font-size:32px;color:#2d406f}.panel-subtitle[data-v-96b563ad]{margin:4px 0 12px;font-size:14px;color:#5f6b85}.unit-grid[data-v-96b563ad]{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.unit-card[data-v-96b563ad]{border-radius:14px;padding:14px;border:1px solid rgba(255,255,255,.5);background:linear-gradient(130deg,#dff4ff,#f2fbff);display:flex;flex-direction:column;justify-content:space-between}.unit-card[data-v-96b563ad]:nth-child(3n+1){background:linear-gradient(130deg,#e2e8ff,#f1f4ff)}.unit-card[data-v-96b563ad]:nth-child(3n+2){background:linear-gradient(130deg,#d8e9ff,#eef5ff)}.unit-tag[data-v-96b563ad]{display:inline-block;margin:0 0 8px;padding:3px 8px;border-radius:10px;font-size:12px;font-weight:700;color:#2f4170;background:rgba(255,255,255,.72)}.unit-title[data-v-96b563ad]{margin:0;font-size:22px;line-height:1.2;color:#1c2f5a}.unit-subtitle[data-v-96b563ad]{margin:6px 0 8px;font-size:14px;color:#49608e}.section-tags[data-v-96b563ad]{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:8px}.section-badge[data-v-96b563ad]{background:rgba(255,255,255,.78);border:1px solid rgba(96,125,200,.2);color:#355180;border-radius:999px;padding:3px 8px;font-size:12px}.columns[data-v-96b563ad]{margin:0;padding:0;list-style:none;display:flex;flex-wrap:wrap;gap:8px}.columns li[data-v-96b563ad]{padding:5px 10px;border-radius:999px;font-size:13px;color:#375388;background:rgba(255,255,255,.78);border:1px solid rgba(96,125,200,.2)}.start-btn[data-v-96b563ad]{margin-top:12px;border:none;border-radius:999px;background:#ffffff;padding:8px 16px;min-height:44px;font-size:14px;font-weight:700;color:#2f4272;cursor:pointer;width:fit-content;box-shadow:0 8px 14px #7488be29}.empty-state[data-v-96b563ad]{text-align:center;padding:48px 12px;color:#6b7280}@media (max-width: 980px){.title[data-v-96b563ad]{font-size:28px}.content-wrap[data-v-96b563ad]{grid-template-columns:1fr}.left-menu[data-v-96b563ad]{display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}.unit-grid[data-v-96b563ad]{grid-template-columns:1fr}}@media (max-width: 640px){.top-bar[data-v-96b563ad]{padding-top:8px;height:auto;flex-wrap:wrap}.title[data-v-96b563ad]{font-size:24px}.course-switch[data-v-96b563ad]{width:100%;margin-left:0}.course-select[data-v-96b563ad]{flex:1}.left-menu[data-v-96b563ad]{grid-template-columns:repeat(2,minmax(0,1fr))}.panel h2[data-v-96b563ad]{font-size:24px}.unit-title[data-v-96b563ad]{font-size:18px}}.detail-page[data-v-fab7cfdc]{min-height:100vh;background:linear-gradient(145deg,#f7fbff,#eef5ff 52%,#eaf1ff);color:#1f2a44;padding:0 12px 18px}.top-bar[data-v-fab7cfdc]{min-height:74px;display:flex;align-items:center;gap:12px;padding:8px 4px}.back-btn[data-v-fab7cfdc]{width:34px;height:34px;border:1px solid rgba(123,153,245,.22);border-radius:10px;background:rgba(255,255,255,.94);color:#42517c;font-size:20px;cursor:pointer}.title[data-v-fab7cfdc]{margin:0;font-size:28px;color:#2f4272}.subtitle[data-v-fab7cfdc]{margin:4px 0 0;font-size:14px;color:#5f6b85}.detail-card[data-v-fab7cfdc]{background:rgba(255,255,255,.92);border:1px solid rgba(123,153,245,.22);border-radius:16px;padding:16px;box-shadow:0 12px 24px #7891d226}.hero[data-v-fab7cfdc]{margin-bottom:12px;padding-bottom:12px;border-bottom:1px solid #e9effc}.topic-tag[data-v-fab7cfdc]{margin:0 0 6px;display:inline-block;font-size:12px;color:#1d4ed8;background:#eaf2ff;border:1px solid #bfdbfe;padding:3px 8px;border-radius:999px}.hero h2[data-v-fab7cfdc]{margin:0;font-size:26px;color:#1b2e58}.section-switch[data-v-fab7cfdc]{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:12px}.section-btn[data-v-fab7cfdc]{min-height:44px;border:1px solid #d2defa;background:#fff;color:#38558a;border-radius:10px;padding:8px 12px;cursor:pointer}.section-btn.active[data-v-fab7cfdc]{background:linear-gradient(90deg,#6f8dff,#87a0ff);color:#fff;border-color:transparent}.content-grid[data-v-fab7cfdc]{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.content-block[data-v-fab7cfdc]{border-radius:12px;padding:12px;border:1px solid rgba(188,205,244,.8);background:#f8fbff}.content-block h3[data-v-fab7cfdc]{margin:0 0 10px;font-size:18px;color:#233a6a}.content-block ul[data-v-fab7cfdc]{margin:0;padding-left:18px}.sentence-list[data-v-fab7cfdc]{margin:0;padding-left:22px;list-style:decimal}.sentence-zh[data-v-fab7cfdc],.sentence-en[data-v-fab7cfdc]{margin:0}.sentence-en[data-v-fab7cfdc]{color:#25406f}.pattern-title[data-v-fab7cfdc]{margin:0 0 6px;font-weight:700;color:#1f3560}.pattern-lines[data-v-fab7cfdc]{margin:0 0 8px;padding-left:18px;list-style:none}.pattern-lines li[data-v-fab7cfdc]{margin:0 0 6px}.line-prefix[data-v-fab7cfdc]{color:#36558a;font-weight:600}.content-block li[data-v-fab7cfdc]{margin:0 0 6px;line-height:1.5;color:#334e7f}@media (max-width: 900px){.content-grid[data-v-fab7cfdc]{grid-template-columns:1fr}}@media (max-width: 640px){.title[data-v-fab7cfdc]{font-size:24px}.hero h2[data-v-fab7cfdc]{font-size:22px}}.test-taking[data-v-ca4df537]{min-height:100vh;background:#f9fafb}.test-header[data-v-ca4df537]{background:#dc2626;color:#fff;padding:15px 20px;display:flex;align-items:center;justify-content:space-between}.back-btn[data-v-ca4df537]{background:none;border:none;color:#fff;font-size:16px;cursor:pointer;padding:5px}.back-btn[data-v-ca4df537]:hover{opacity:.8}.test-title[data-v-ca4df537]{font-size:20px;font-weight:600;margin:0}.test-time[data-v-ca4df537]{font-size:14px;font-weight:500}.test-progress[data-v-ca4df537]{background:white;padding:15px 20px;border-bottom:1px solid #e5e7eb}.progress-info[data-v-ca4df537]{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}.progress-text[data-v-ca4df537]{font-size:16px;font-weight:600;color:#1f2937}.course-info[data-v-ca4df537]{font-size:14px;color:#6b7280}.question-timer-bar[data-v-ca4df537]{width:100%;height:6px;background:#e5e7eb;border-radius:3px;overflow:hidden}.timer-fill[data-v-ca4df537]{height:100%;background:#dc2626;transition:width 1s linear}.test-content[data-v-ca4df537]{max-width:800px;margin:0 auto;padding:20px}.question-container[data-v-ca4df537]{background:white;border-radius:12px;padding:30px;margin-bottom:20px;box-shadow:0 2px 8px #0000001a}.question-header[data-v-ca4df537]{margin-bottom:30px}.question-number[data-v-ca4df537]{font-size:14px;color:#6b7280;margin-bottom:10px}.question-text[data-v-ca4df537]{font-size:20px;font-weight:600;color:#1f2937;margin-bottom:10px}.question-status[data-v-ca4df537]{font-size:14px;font-weight:500;padding:4px 8px;border-radius:4px;display:inline-block}.answer-countdown[data-v-ca4df537]{font-size:14px;color:#6b7280;margin-top:10px;font-style:italic}.question-options[data-v-ca4df537]{display:flex;flex-direction:column;gap:12px}.option-item[data-v-ca4df537]{display:flex;align-items:center;gap:12px;padding:15px;border:2px solid #e5e7eb;border-radius:8px;cursor:pointer;transition:all .2s;background:white}.option-item[data-v-ca4df537]:active{border-color:#3b82f6;background:#f0f9ff}.option-item[data-v-ca4df537],.option-item[data-v-ca4df537] *{-webkit-user-select:none;user-select:none;caret-color:transparent;-webkit-tap-highlight-color:transparent}@media (hover: hover) and (pointer: fine){.option-item[data-v-ca4df537]:hover{border-color:#3b82f6;background:#f0f9ff}}.option-item.selected[data-v-ca4df537]{border-color:#3b82f6;background:#eff6ff}.option-item.correct[data-v-ca4df537]{border-color:#10b981;background:#f0fdf4}.option-item.wrong[data-v-ca4df537]{border-color:#ef4444;background:#fef2f2}.option-letter[data-v-ca4df537]{font-weight:600;color:#6b7280;min-width:20px}.option-text[data-v-ca4df537]{flex:1;font-size:16px;color:#1f2937}.question-input[data-v-ca4df537]{margin-top:20px}.answer-input[data-v-ca4df537]{width:100%;padding:15px;border:2px solid #e5e7eb;border-radius:8px;font-size:16px;transition:border-color .2s}.answer-input[data-v-ca4df537]:focus{outline:none;border-color:#3b82f6}.answer-input[data-v-ca4df537]:disabled{background:#f9fafb;color:#6b7280}.test-actions[data-v-ca4df537]{text-align:center;margin-top:30px}.btn[data-v-ca4df537]{padding:12px 24px;border:none;border-radius:8px;font-size:16px;font-weight:600;cursor:pointer;transition:all .2s}.btn[data-v-ca4df537]:disabled{opacity:.6;cursor:not-allowed}.btn-primary[data-v-ca4df537]{background:#dc2626;color:#fff}.btn-primary[data-v-ca4df537]:hover:not(:disabled){background:#b91c1c}.btn-secondary[data-v-ca4df537]{background:#6b7280;color:#fff}.btn-secondary[data-v-ca4df537]:hover{background:#4b5563}.test-completed[data-v-ca4df537]{max-width:600px;margin:50px auto;text-align:center;background:white;border-radius:12px;padding:40px;box-shadow:0 4px 12px #0000001a}.completion-icon[data-v-ca4df537]{font-size:64px;margin-bottom:20px}.test-completed h2[data-v-ca4df537]{font-size:24px;font-weight:600;color:#1f2937;margin-bottom:30px}.completion-stats[data-v-ca4df537]{display:grid;grid-template-columns:repeat(2,1fr);gap:20px;margin-bottom:30px}.stat-item[data-v-ca4df537]{display:flex;justify-content:space-between;align-items:center;padding:15px;background:#f9fafb;border-radius:8px}.stat-label[data-v-ca4df537]{font-size:14px;color:#6b7280}.stat-value[data-v-ca4df537]{font-size:18px;font-weight:600;color:#1f2937}.completion-actions[data-v-ca4df537]{display:flex;gap:15px;justify-content:center}.loading[data-v-ca4df537],.error-message[data-v-ca4df537]{text-align:center;padding:50px 20px}.completion-modal-overlay[data-v-ca4df537]{position:fixed;top:0;left:0;width:100%;height:100%;background-color:#00000080;display:flex;justify-content:center;align-items:center;z-index:1000}.completion-modal[data-v-ca4df537]{background:white;border-radius:12px;box-shadow:0 8px 32px #0003;max-width:400px;width:90%;overflow:hidden}.modal-header[data-v-ca4df537]{background:#dc3545;color:#fff;padding:20px;display:flex;justify-content:space-between;align-items:center}.modal-header h3[data-v-ca4df537]{margin:0;font-size:18px;font-weight:600}.close-btn[data-v-ca4df537]{background:none;border:none;color:#fff;font-size:24px;cursor:pointer;padding:0;width:30px;height:30px;display:flex;align-items:center;justify-content:center}.close-btn[data-v-ca4df537]:hover{background-color:#ffffff1a;border-radius:50%}.modal-content[data-v-ca4df537]{padding:30px 20px}.score-display[data-v-ca4df537]{display:flex;flex-direction:column;gap:15px}.score-item[data-v-ca4df537]{display:flex;justify-content:space-between;align-items:center;padding:10px 0;border-bottom:1px solid #f0f0f0}.score-item[data-v-ca4df537]:last-child{border-bottom:none}.score-item .label[data-v-ca4df537]{font-size:16px;color:#666;font-weight:500}.score-item .value[data-v-ca4df537]{font-size:16px;font-weight:600}.score-item .value.correct[data-v-ca4df537]{color:#28a745}.score-item .value.wrong[data-v-ca4df537]{color:#dc3545}.score-item .value.score[data-v-ca4df537]{color:#007bff;font-size:18px}.modal-footer[data-v-ca4df537]{padding:20px;text-align:center;background-color:#f8f9fa}.modal-footer .btn[data-v-ca4df537]{padding:12px 30px;font-size:16px;font-weight:600}.loading-spinner[data-v-ca4df537]{width:40px;height:40px;border:4px solid #e5e7eb;border-top:4px solid #dc2626;border-radius:50%;animation:spin-ca4df537 1s linear infinite;margin:0 auto 20px}@keyframes spin-ca4df537{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@media (max-width: 768px){.test-header[data-v-ca4df537]{flex-direction:column;gap:10px;text-align:center}.progress-info[data-v-ca4df537]{flex-direction:column;gap:5px;text-align:center}.completion-stats[data-v-ca4df537]{grid-template-columns:1fr}.completion-actions[data-v-ca4df537]{flex-direction:column}}.test-results[data-v-123809c7]{min-height:100vh;background:#f9fafb}.test-header[data-v-123809c7]{position:relative;background:#7f1d1d;color:#fff;padding:12px 16px 16px;text-align:center}.back-btn[data-v-123809c7]{position:absolute;left:12px;top:50%;transform:translateY(-50%);min-height:44px;padding:0 12px;border:none;background:transparent;color:#fff;font-size:.95rem;cursor:pointer;border-radius:8px}.back-btn[data-v-123809c7]:hover{background:rgba(255,255,255,.12)}.test-title[data-v-123809c7]{font-size:1.15rem;font-weight:600;margin:0;color:#fff}.test-results-content[data-v-123809c7]{padding:20px;max-width:1200px;margin:0 auto}.overview[data-v-123809c7]{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:14px}.overview-card[data-v-123809c7]{background:#fff;border:1px solid #e2e8f0;border-radius:12px;padding:12px}.overview-card .k[data-v-123809c7]{font-size:12px;color:#64748b;margin-bottom:4px}.overview-card .v[data-v-123809c7]{font-size:24px;font-weight:700;line-height:1.1}.result-cards[data-v-123809c7]{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.result-card[data-v-123809c7]{background:white;border:1px solid #e2e8f0;border-radius:12px;padding:14px;box-shadow:0 2px 8px #0000000f;display:grid;gap:10px}.result-card-top[data-v-123809c7]{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}.title-wrap[data-v-123809c7]{min-width:0;flex:1}.title-text[data-v-123809c7]{margin:0 0 4px;font-size:18px;font-weight:700;color:#1f2937;line-height:1.3}.subtitle-text[data-v-123809c7]{margin:0;font-size:13px;color:#64748b;line-height:1.4}.score-wrap[data-v-123809c7]{text-align:right;min-width:88px}.score-value[data-v-123809c7]{margin:0;font-size:28px;font-weight:800;line-height:1}.score-label[data-v-123809c7]{margin:4px 0 0;font-size:12px;color:#64748b}.meta-grid[data-v-123809c7]{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.meta-item[data-v-123809c7]{background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;padding:8px;display:grid;gap:3px}.meta-key[data-v-123809c7]{font-size:12px;color:#64748b}.meta-value[data-v-123809c7]{font-size:14px;font-weight:600;color:#1f2937}.result-card-actions[data-v-123809c7]{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap}.completed-time[data-v-123809c7]{font-size:14px;font-weight:600;color:#64748b}.detail-btn[data-v-123809c7]{min-height:40px;padding:8px 12px;border-radius:10px;color:#fff;background:linear-gradient(135deg,#2563eb,#7c3aed)}.detail-btn[data-v-123809c7]:hover{background:linear-gradient(135deg,#1d4ed8,#6d28d9)}.score-value.excellent[data-v-123809c7]{color:#10b981}.score-value.good[data-v-123809c7]{color:#3b82f6}.score-value.pass[data-v-123809c7]{color:#f59e0b}.score-value.fail[data-v-123809c7]{color:#ef4444}.btn[data-v-123809c7]{padding:6px 12px;border:none;border-radius:4px;font-size:12px;font-weight:500;cursor:pointer;transition:all .2s}.btn[data-v-123809c7]:disabled{opacity:.6;cursor:not-allowed}.btn-primary[data-v-123809c7]{background:#dc2626;color:#fff}.btn-primary[data-v-123809c7]:hover:not(:disabled){background:#b91c1c}.btn-secondary[data-v-123809c7]{background:#6b7280;color:#fff}.btn-secondary[data-v-123809c7]:hover:not(:disabled){background:#4b5563}.btn-link[data-v-123809c7]{background:none;color:#dc2626;padding:4px 8px;font-size:12px}.btn-link[data-v-123809c7]:hover{background:#fef2f2}.pagination[data-v-123809c7]{display:flex;justify-content:center;align-items:center;gap:10px;margin-top:30px}.page-numbers[data-v-123809c7]{display:flex;gap:5px}.page-btn[data-v-123809c7]{background:white;color:#374151;border:1px solid #d1d5db;padding:8px 12px;min-width:40px}.page-btn[data-v-123809c7]:hover{background:#f9fafb;border-color:#9ca3af}.page-btn.active[data-v-123809c7]{background:#dc2626;color:#fff;border-color:#dc2626}.loading[data-v-123809c7],.error-message[data-v-123809c7]{text-align:center;padding:50px 20px}.loading-spinner[data-v-123809c7]{width:40px;height:40px;border:4px solid #e5e7eb;border-top:4px solid #dc2626;border-radius:50%;animation:spin-123809c7 1s linear infinite;margin:0 auto 20px}@keyframes spin-123809c7{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.empty-state[data-v-123809c7]{text-align:center;padding:80px 20px;background:white;border-radius:8px;box-shadow:0 2px 4px #0000001a}.empty-icon[data-v-123809c7]{font-size:64px;margin-bottom:20px}.empty-state h3[data-v-123809c7]{font-size:20px;font-weight:600;color:#1f2937;margin-bottom:10px}.empty-state p[data-v-123809c7]{color:#6b7280;margin-bottom:30px}@media (max-width: 768px){.overview[data-v-123809c7]{grid-template-columns:repeat(2,minmax(0,1fr))}.result-cards[data-v-123809c7],.meta-grid[data-v-123809c7]{grid-template-columns:1fr}.pagination[data-v-123809c7]{flex-wrap:wrap}.page-numbers[data-v-123809c7]{order:-1;width:100%;justify-content:center;margin-bottom:10px}}@media (max-width: 480px){.test-results-content[data-v-123809c7]{padding:12px}.overview[data-v-123809c7]{gap:8px}.overview-card[data-v-123809c7]{padding:10px}.overview-card .v[data-v-123809c7]{font-size:20px}.result-card[data-v-123809c7]{padding:10px}.title-text[data-v-123809c7]{font-size:16px}.score-value[data-v-123809c7]{font-size:24px}.completed-time[data-v-123809c7]{font-size:13px}.result-card-actions[data-v-123809c7]{align-items:stretch;flex-direction:column}.detail-btn[data-v-123809c7]{width:100%}}.test-detail[data-v-f25cb2f0]{min-height:100vh;background:#f9fafb}.test-header[data-v-f25cb2f0]{background:#dc2626;color:#fff;padding:15px 20px;display:flex;align-items:center;justify-content:space-between}.back-btn[data-v-f25cb2f0]{background:none;border:none;color:#fff;font-size:16px;cursor:pointer;padding:5px}.back-btn[data-v-f25cb2f0]:hover{opacity:.8}.test-title[data-v-f25cb2f0]{font-size:20px;font-weight:600;margin:0}.test-time[data-v-f25cb2f0]{font-size:14px;font-weight:500}.test-detail-content[data-v-f25cb2f0]{max-width:1000px;margin:0 auto;padding:20px}.test-summary[data-v-f25cb2f0]{background:white;border-radius:12px;padding:30px;margin-bottom:30px;box-shadow:0 2px 8px #0000001a}.summary-header[data-v-f25cb2f0]{text-align:center;margin-bottom:30px}.test-name[data-v-f25cb2f0]{font-size:24px;font-weight:600;color:#1f2937;margin:0 0 10px}.test-subtitle[data-v-f25cb2f0]{font-size:16px;color:#6b7280}.summary-stats[data-v-f25cb2f0]{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:20px}.stat-card[data-v-f25cb2f0]{text-align:center;padding:20px;background:#f9fafb;border-radius:8px}.stat-value[data-v-f25cb2f0]{font-size:28px;font-weight:700;margin-bottom:8px}.stat-value.excellent[data-v-f25cb2f0]{color:#10b981}.stat-value.good[data-v-f25cb2f0]{color:#3b82f6}.stat-value.pass[data-v-f25cb2f0]{color:#f59e0b}.stat-value.fail[data-v-f25cb2f0]{color:#ef4444}.stat-value.correct[data-v-f25cb2f0]{color:#10b981}.stat-value.wrong[data-v-f25cb2f0]{color:#ef4444}.stat-label[data-v-f25cb2f0]{font-size:14px;color:#6b7280;font-weight:500}.questions-section[data-v-f25cb2f0]{background:white;border-radius:12px;padding:30px;box-shadow:0 2px 8px #0000001a}.section-title[data-v-f25cb2f0]{font-size:20px;font-weight:600;color:#1f2937;margin:0 0 20px}.questions-list[data-v-f25cb2f0]{display:flex;flex-direction:column;gap:20px}.question-item[data-v-f25cb2f0]{border:2px solid #e5e7eb;border-radius:8px;padding:20px;transition:all .2s}.question-item.correct[data-v-f25cb2f0]{border-color:#10b981;background:#f0fdf4}.question-item.wrong[data-v-f25cb2f0]{border-color:#ef4444;background:#fef2f2}.question-header[data-v-f25cb2f0]{display:flex;justify-content:space-between;align-items:center;margin-bottom:15px}.question-number[data-v-f25cb2f0]{font-size:16px;font-weight:600;color:#374151}.question-status[data-v-f25cb2f0]{font-size:14px;font-weight:500}.status-correct[data-v-f25cb2f0]{color:#10b981}.status-wrong[data-v-f25cb2f0]{color:#ef4444}.question-content[data-v-f25cb2f0]{margin-bottom:15px}.question-text[data-v-f25cb2f0]{font-size:16px;font-weight:500;color:#1f2937;margin-bottom:15px}.question-options[data-v-f25cb2f0]{display:flex;flex-direction:column;gap:8px}.option-item[data-v-f25cb2f0]{display:flex;align-items:center;gap:10px;padding:10px;border-radius:6px;background:white;border:1px solid #e5e7eb}.option-item.correct[data-v-f25cb2f0]{border-color:#10b981;background:#f0fdf4}.option-item.wrong[data-v-f25cb2f0]{border-color:#ef4444;background:#fef2f2}.option-item.selected[data-v-f25cb2f0]{border-color:#3b82f6;background:#eff6ff}.option-letter[data-v-f25cb2f0]{font-weight:600;color:#6b7280;min-width:20px}.option-text[data-v-f25cb2f0]{flex:1;color:#374151}.question-answer[data-v-f25cb2f0]{display:flex;flex-direction:column;gap:10px}.answer-section[data-v-f25cb2f0]{display:flex;align-items:center;gap:10px}.answer-label[data-v-f25cb2f0]{font-size:14px;font-weight:500;color:#6b7280;min-width:80px}.answer-value[data-v-f25cb2f0]{font-size:16px;font-weight:500;color:#374151}.answer-value.correct[data-v-f25cb2f0]{color:#10b981}.answer-value.wrong[data-v-f25cb2f0]{color:#ef4444}.word-info[data-v-f25cb2f0]{border-top:1px solid #e5e7eb;padding-top:15px;margin-top:15px}.word-details[data-v-f25cb2f0]{background:#f9fafb;padding:15px;border-radius:6px}.word-text[data-v-f25cb2f0]{font-size:18px;font-weight:600;color:#1f2937;margin-bottom:5px}.word-phonetic[data-v-f25cb2f0]{font-size:14px;color:#6b7280;margin-bottom:5px}.word-translation[data-v-f25cb2f0]{font-size:16px;color:#374151;margin-bottom:8px}.word-example[data-v-f25cb2f0]{font-size:14px;color:#6b7280;font-style:italic;line-height:1.5}.loading[data-v-f25cb2f0],.error-message[data-v-f25cb2f0]{text-align:center;padding:50px 20px}.loading-spinner[data-v-f25cb2f0]{width:40px;height:40px;border:4px solid #e5e7eb;border-top:4px solid #dc2626;border-radius:50%;animation:spin-f25cb2f0 1s linear infinite;margin:0 auto 20px}@keyframes spin-f25cb2f0{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.btn[data-v-f25cb2f0]{padding:8px 16px;border:none;border-radius:6px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s}.btn-primary[data-v-f25cb2f0]{background:#dc2626;color:#fff}.btn-primary[data-v-f25cb2f0]:hover{background:#b91c1c}@media (max-width: 768px){.test-header[data-v-f25cb2f0]{flex-direction:column;gap:10px;text-align:center}.summary-stats[data-v-f25cb2f0]{grid-template-columns:repeat(2,1fr)}.question-header[data-v-f25cb2f0]{flex-direction:column;gap:10px;align-items:flex-start}.answer-section[data-v-f25cb2f0]{flex-direction:column;align-items:flex-start;gap:5px}.answer-label[data-v-f25cb2f0]{min-width:auto}}.learning-statistics[data-v-76d227be]{max-width:100%;margin:0 auto;padding:16px;min-height:100vh;background:#f3f4f6;box-sizing:border-box}.page-top[data-v-76d227be]{background:#7f1d1d;color:#fff;margin:-16px -16px 16px;padding:12px 16px 16px;text-align:center;position:relative}.back-btn[data-v-76d227be]{position:absolute;left:12px;top:50%;transform:translateY(-50%);min-height:44px;padding:0 12px;border:none;background:transparent;color:#fff;font-size:.95rem;cursor:pointer;border-radius:8px}.back-btn[data-v-76d227be]:hover{background:rgba(255,255,255,.12)}.page-title[data-v-76d227be]{margin:0;font-size:1.15rem;font-weight:600;color:#fff}.toolbar[data-v-76d227be]{margin-bottom:12px}.course-field[data-v-76d227be]{display:flex;flex-direction:column;gap:6px;max-width:100%}.field-label[data-v-76d227be]{font-size:.875rem;color:#4b5563}.course-select[data-v-76d227be]{width:100%;max-width:100%;min-height:44px;padding:0 12px;border:1px solid #d1d5db;border-radius:8px;font-size:1rem;background:#fff;box-sizing:border-box}.tabs[data-v-76d227be]{display:flex;gap:0;border-bottom:1px solid #e5e7eb;margin-bottom:8px;background:#fff;border-radius:8px 8px 0 0;padding:0 8px}.tab[data-v-76d227be]{flex:1;min-height:44px;border:none;background:transparent;font-size:.95rem;color:#6b7280;cursor:pointer;position:relative;padding:10px 4px}.tab.active[data-v-76d227be]{color:#b91c1c;font-weight:600}.tab.active[data-v-76d227be]:after{content:"";position:absolute;left:12%;right:12%;bottom:0;height:2px;background:#b91c1c;border-radius:2px 2px 0 0}.range-hint[data-v-76d227be]{font-size:.75rem;color:#6b7280;margin:0 0 10px;line-height:1.4}.loading-banner[data-v-76d227be],.error-banner[data-v-76d227be]{padding:10px 12px;border-radius:8px;margin-bottom:10px;font-size:.9rem}.loading-banner[data-v-76d227be]{background:#eff6ff;color:#1d4ed8}.error-banner[data-v-76d227be]{background:#fef2f2;color:#b91c1c}.chart-panel[data-v-76d227be]{width:100%;max-width:100%;background:#fff;border-radius:0 0 8px 8px;box-shadow:0 1px 3px #0000000f;overflow:hidden}.chart-wrap[data-v-76d227be]{width:100%;max-width:100%;height:clamp(220px,36vh,320px);min-height:220px}.chart-footnote[data-v-76d227be]{margin:0;padding:12px 14px 14px;font-size:.75rem;line-height:1.55;color:#4b5563;border-top:1px solid #f3f4f6;background:#fafafa}.chart-footnote code[data-v-76d227be]{font-size:.7rem;padding:0 4px;background:#f3f4f6;border-radius:4px;word-break:break-all}.personal-center[data-v-dd9ca60c]{max-width:960px;margin:0 auto;padding:20px;min-height:100vh;background:#f0f4f8}.page-top[data-v-dd9ca60c]{display:flex;align-items:center;gap:12px;margin-bottom:20px}.back-btn[data-v-dd9ca60c]{min-height:44px;min-width:44px;padding:0 14px;border:1px solid #e2e8f0;background:#fff;border-radius:10px;font-size:14px;cursor:pointer;color:#0f172a}.page-title[data-v-dd9ca60c]{margin:0;font-size:1.5rem;font-weight:700;color:#1a365d}.banner[data-v-dd9ca60c]{padding:12px 14px;border-radius:10px;margin-bottom:16px;font-size:14px}.banner--info[data-v-dd9ca60c]{background:#eff6ff;color:#1d4ed8}.banner--error[data-v-dd9ca60c]{background:#fef2f2;color:#b91c1c}.panel[data-v-dd9ca60c]{background:#fff;border:1px solid #e2e8f0;border-radius:14px;box-shadow:0 2px 8px #0f172a0a}.overview-card[data-v-dd9ca60c]{padding:20px 22px 22px;margin-bottom:20px}.profile-hero[data-v-dd9ca60c]{display:flex;gap:18px;align-items:flex-start}@media (min-width: 640px){.profile-hero[data-v-dd9ca60c]{align-items:center}}.avatar[data-v-dd9ca60c]{width:72px;height:72px;border-radius:50%;background:linear-gradient(135deg,#2563eb,#7c3aed);display:flex;align-items:center;justify-content:center;font-size:28px;color:#fff;font-weight:700;flex-shrink:0}.profile-meta[data-v-dd9ca60c]{flex:1;min-width:0}.name-row[data-v-dd9ca60c]{display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin-bottom:6px}.name[data-v-dd9ca60c]{margin:0;font-size:1.25rem;font-weight:700;color:#1a365d}.badge[data-v-dd9ca60c]{font-size:12px;padding:4px 10px;border-radius:999px;background:#dbeafe;color:#1d4ed8;font-weight:600}.account-facts[data-v-dd9ca60c]{margin:10px 0 0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 20px}@media (max-width: 480px){.account-facts[data-v-dd9ca60c]{grid-template-columns:1fr}}.account-facts .fact[data-v-dd9ca60c]{margin:0;min-width:0}.account-facts dt[data-v-dd9ca60c]{margin:0 0 2px;font-size:12px;color:#94a3b8;font-weight:500}.account-facts dd[data-v-dd9ca60c]{margin:0;font-size:14px;color:#334155;font-weight:500;word-break:break-word}.account-facts dd.empty[data-v-dd9ca60c]{color:#94a3b8;font-weight:400}.expiry-bar[data-v-dd9ca60c]{margin-top:16px;padding:10px 14px;border-radius:10px;border:1px solid #bfdbfe;background:#eff6ff;font-size:14px;color:#1e3a5f}.expiry-bar--warn[data-v-dd9ca60c]{border-color:#fcd34d;background:#fffbeb;color:#78350f}.expiry-bar--warn strong[data-v-dd9ca60c]{color:#d97706}.overview-divider[data-v-dd9ca60c]{height:1px;background:#f1f5f9;margin:20px 0 18px}.archive-block[data-v-dd9ca60c]{margin:0}.block-title[data-v-dd9ca60c]{margin:0 0 14px;font-size:1rem;font-weight:700;color:#1a365d;display:flex;justify-content:space-between;align-items:center}.archive-grid[data-v-dd9ca60c]{margin:0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 24px}@media (max-width: 560px){.archive-grid[data-v-dd9ca60c]{grid-template-columns:1fr}}.archive-item[data-v-dd9ca60c]{margin:0;padding:12px 14px;background:#f8fafc;border-radius:10px;border:1px solid #f1f5f9}.archive-item dt[data-v-dd9ca60c]{margin:0 0 4px;font-size:12px;color:#64748b;font-weight:500}.archive-item dd[data-v-dd9ca60c]{margin:0;font-size:14px;color:#1e293b;font-weight:500}.archive-item dd.empty[data-v-dd9ca60c]{color:#94a3b8;font-weight:400}.btn[data-v-dd9ca60c]{min-height:44px;padding:0 20px;border-radius:10px;font-size:14px;font-weight:600;cursor:pointer;border:1px solid transparent}.btn-primary[data-v-dd9ca60c]{background:linear-gradient(135deg,#2563eb,#7c3aed);color:#fff;border:none}.btn-ghost[data-v-dd9ca60c]{background:#f1f5f9;color:#0f172a;border:1px solid #e2e8f0}.btn-text[data-v-dd9ca60c]{background:none;border:none;color:#2563eb;font-size:13px;font-weight:500;cursor:pointer;min-height:44px;padding:0 4px}.section-title--block[data-v-dd9ca60c]{margin:0 0 14px;padding:0;font-size:1rem;font-weight:700;color:#1a365d}.courses-block[data-v-dd9ca60c]{margin-bottom:20px}.course-table-wrap[data-v-dd9ca60c]{overflow-x:auto;max-width:100%;border-radius:14px;border:1px solid #e2e8f0;box-shadow:0 4px 20px #0f172a0f;background:#fff}.data-table[data-v-dd9ca60c]{width:100%;min-width:640px;border-collapse:collapse;font-size:14px}.data-table th[data-v-dd9ca60c],.data-table td[data-v-dd9ca60c]{border:1px solid rgba(113,128,150,.12);padding:12px 14px;text-align:left}.data-table th[data-v-dd9ca60c]{background:#edf2f7;color:#718096;font-weight:600}.data-table .course-name[data-v-dd9ca60c]{font-weight:500;color:#1a365d}.data-table .time[data-v-dd9ca60c]{font-variant-numeric:tabular-nums;white-space:nowrap;font-size:13px}.days-ok[data-v-dd9ca60c]{color:#059669;font-weight:600}.days-warn[data-v-dd9ca60c]{color:#d97706;font-weight:600}.days-expired[data-v-dd9ca60c]{color:#dc2626;font-weight:600}.days-permanent[data-v-dd9ca60c]{color:#64748b}.empty-courses[data-v-dd9ca60c],.muted-inline[data-v-dd9ca60c]{font-size:14px;color:#64748b;padding:20px;text-align:center;border:1px dashed #e2e8f0;border-radius:14px;background:#fff}.pwd-section[data-v-dd9ca60c]{margin-bottom:8px}.pwd-panel[data-v-dd9ca60c]{width:100%;display:flex;align-items:center;justify-content:space-between;padding:14px 18px;min-height:44px;border:1px solid #e2e8f0;border-radius:14px;background:#fff;cursor:pointer;text-align:left}.pwd-panel[data-v-dd9ca60c]:hover{background:#f8fafc}.pwd-left[data-v-dd9ca60c]{display:flex;align-items:center;gap:12px}.pwd-icon[data-v-dd9ca60c]{width:44px;height:44px;border-radius:10px;background:#edf2f7;display:flex;align-items:center;justify-content:center;font-size:20px}.pwd-title[data-v-dd9ca60c]{font-size:15px;font-weight:600;color:#1a365d}.pwd-arrow[data-v-dd9ca60c]{color:#cbd5e1;font-size:20px}.modal-backdrop[data-v-dd9ca60c]{position:fixed;top:0;right:0;bottom:0;left:0;background:rgba(15,23,42,.45);display:flex;align-items:center;justify-content:center;z-index:200;padding:16px}.modal-card[data-v-dd9ca60c]{width:100%;max-width:440px;max-height:90vh;overflow-y:auto;background:#fff;border-radius:16px;padding:22px 20px 24px;box-shadow:0 12px 40px #00000026}.modal-title[data-v-dd9ca60c]{margin:0 0 18px;font-size:18px;text-align:center;color:#1a365d}.modal-field[data-v-dd9ca60c]{display:block;margin-bottom:14px}.modal-field span[data-v-dd9ca60c]{display:block;font-size:13px;color:#64748b;margin-bottom:6px}.modal-input[data-v-dd9ca60c]{width:100%;max-width:100%;min-height:44px;padding:0 12px;border:1px solid #e2e8f0;border-radius:10px;font-size:15px;font-family:inherit;box-sizing:border-box}.modal-error[data-v-dd9ca60c]{color:#b91c1c;font-size:13px;margin:0 0 10px}.modal-success[data-v-dd9ca60c]{color:#059669;font-size:13px;margin:0 0 10px}.modal-actions[data-v-dd9ca60c]{display:flex;gap:10px;margin-top:8px}.modal-actions .btn[data-v-dd9ca60c]{flex:1}.debug-page[data-v-daeea235]{padding:20px;max-width:800px;margin:0 auto}.debug-section[data-v-daeea235]{margin-bottom:30px;padding:20px;border:1px solid #ddd;border-radius:8px;background-color:#f9f9f9}.debug-section h2[data-v-daeea235]{color:#333;margin-top:0}pre[data-v-daeea235]{background-color:#f5f5f5;padding:10px;border-radius:4px;overflow-x:auto}.nav-test[data-v-daeea235]{display:flex;gap:10px;align-items:center}.test-link[data-v-daeea235]{display:inline-block;padding:8px 16px;background-color:#007bff;color:#fff;text-decoration:none;border-radius:4px}.test-link[data-v-daeea235]:hover{background-color:#0056b3}.test-button[data-v-daeea235]{padding:8px 16px;background-color:#28a745;color:#fff;border:none;border-radius:4px;cursor:pointer}.test-button[data-v-daeea235]:hover{background-color:#1e7e34}.org-mini-layout[data-v-4f5f65f7]{max-width:100%;width:min(1040px,100%);margin:0 auto;padding:clamp(16px,3vw,28px);min-height:100vh;box-sizing:border-box}.org-mini-top[data-v-4f5f65f7]{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:12px;margin-bottom:22px}.back-btn[data-v-4f5f65f7]{justify-self:start;min-height:44px;padding:0 20px;border-radius:999px;border:none;background:var(--org-card, #fff);font-size:14px;font-weight:500;cursor:pointer;color:var(--org-text-muted, #718096);box-shadow:var(--org-shadow-card, 0 4px 20px rgba(15, 23, 42, .06));transition:color .2s,box-shadow .2s,transform .15s}.back-btn[data-v-4f5f65f7]:hover{color:var(--org-text-body, #2d3748);box-shadow:var(--org-shadow-hover, 0 8px 28px rgba(15, 23, 42, .1));transform:translateY(-1px)}.org-mini-title[data-v-4f5f65f7]{margin:0;justify-self:center;text-align:center;font-size:clamp(1.2rem,2.2vw,1.55rem);font-weight:700;color:var(--org-text-title, #1a365d);letter-spacing:-.02em;grid-column:2}.org-mini-top-spacer[data-v-4f5f65f7]{grid-column:3;margin:0;padding:0;min-height:1px}.org-mini-tabs[data-v-4f5f65f7]{display:inline-flex;flex-wrap:wrap;gap:4px;margin-bottom:24px;padding:6px;border-radius:var(--org-radius-lg, 20px);background:var(--org-surface-soft, #e8edf5);box-shadow:inset 0 1px #ffffffb3;max-width:100%;box-sizing:border-box}.org-tab[data-v-4f5f65f7]{min-height:44px;padding:0 22px;display:inline-flex;align-items:center;justify-content:center;border-radius:999px;text-decoration:none;font-size:14px;font-weight:600;color:var(--org-text-muted, #718096);border:none;box-sizing:border-box;background:transparent;transition:background .2s,color .2s,box-shadow .2s}.org-tab[data-v-4f5f65f7]:hover{color:var(--org-text-body, #2d3748);background:rgba(255,255,255,.55)}.org-tab-active[data-v-4f5f65f7]{color:#fff!important;background:var(--org-accent, #7b96ff)!important;box-shadow:0 4px 14px #7b96ff73}.org-mini-main[data-v-4f5f65f7]{background:var(--org-card, #fff);border:none;border-radius:var(--org-radius-lg, 20px);padding:clamp(18px,3vw,28px);max-width:100%;box-shadow:var(--org-shadow-card, 0 4px 20px rgba(15, 23, 42, .06))}.org-mini-layout{--org-page-bg: #f0f4f8;--org-surface-soft: #e8edf5;--org-surface-tag: #edf2f7;--org-card: #ffffff;--org-text-title: #1a365d;--org-text-body: #2d3748;--org-text-muted: #718096;--org-accent: #7b96ff;--org-accent-hover: #6a86f5;--org-accent-soft: rgba(123, 150, 255, .14);--org-shadow-card: 0 4px 20px rgba(15, 23, 42, .06);--org-shadow-hover: 0 8px 28px rgba(15, 23, 42, .1);--org-radius-lg: 20px;--org-radius-md: 14px;--org-border-soft: rgba(113, 128, 150, .15);--org-error: #e53e3e;background:var(--org-page-bg)}.org-login-page[data-v-64043e5a]{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#1d3b5c 0%,#2c5282 100%);padding:20px;box-sizing:border-box}.org-login-container[data-v-64043e5a]{background:#fff;border-radius:12px;box-shadow:0 20px 40px #0000001f;padding:40px;width:100%;max-width:min(420px,100%);box-sizing:border-box}.org-login-header[data-v-64043e5a]{text-align:center;margin-bottom:28px}.org-login-title[data-v-64043e5a]{font-size:1.5rem;font-weight:700;color:#1d2129;margin:0 0 8px}.org-login-subtitle[data-v-64043e5a]{margin:0;color:#4e5969;font-size:.9375rem}.form-group[data-v-64043e5a]{margin-bottom:18px}.form-group label[data-v-64043e5a]{display:block;margin-bottom:8px;font-weight:500;color:#1d2129;font-size:14px}.form-group input[data-v-64043e5a]{width:100%;max-width:100%;min-height:44px;padding:10px 14px;border:2px solid #e5e6eb;border-radius:8px;font-size:16px;box-sizing:border-box}.form-group input[data-v-64043e5a]:focus{outline:none;border-color:#165dff}.form-group input[data-v-64043e5a]:disabled{background:#f2f3f5;cursor:not-allowed}.error-message[data-v-64043e5a]{color:#d03050;font-size:14px;margin-bottom:14px}.btn-submit[data-v-64043e5a]{width:100%;min-height:44px;padding:0 16px;border:none;border-radius:8px;background:#165dff;color:#fff;font-size:16px;font-weight:600;cursor:pointer}.btn-submit[data-v-64043e5a]:hover:not(:disabled){background:#0e42d2}.btn-submit[data-v-64043e5a]:disabled{opacity:.55;cursor:not-allowed}.dash-head[data-v-247bf3bd]{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:12px 20px;margin-bottom:22px;padding-bottom:18px;border-bottom:1px solid var(--org-border-soft, rgba(113, 128, 150, .15))}.perf-section[data-v-247bf3bd]{margin-bottom:22px;max-width:100%}.perf-head-row[data-v-247bf3bd]{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:10px 16px;margin-bottom:10px}.perf-title[data-v-247bf3bd]{margin:0;font-size:1rem;font-weight:700;color:var(--org-text-title, #1a365d)}.perf-note[data-v-247bf3bd]{margin:0;font-size:12px;color:var(--org-text-muted, #718096);line-height:1.45;max-width:42em}.perf-error[data-v-247bf3bd]{margin:0 0 10px;font-size:13px;color:var(--org-error, #e53e3e);line-height:1.5}.perf-dash[data-v-247bf3bd]{position:relative;border-radius:var(--org-radius-md, 14px);padding:18px 16px 20px;background:radial-gradient(120% 80% at 100% 0%,rgba(123,150,255,.16) 0%,transparent 52%),radial-gradient(90% 60% at 0% 100%,rgba(165,184,255,.12) 0%,transparent 45%),linear-gradient(180deg,#f8fafc 0%,#ffffff 100%);border:1px solid rgba(226,232,240,.9);max-width:100%;overflow:hidden}.perf-tile-grid[data-v-247bf3bd]{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;max-width:100%}@media (max-width: 900px){.perf-tile-grid[data-v-247bf3bd]{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width: 440px){.perf-tile-grid[data-v-247bf3bd]{grid-template-columns:1fr}}.perf-tile[data-v-247bf3bd]{position:relative;padding:14px 14px 16px;border-radius:14px;background:rgba(255,255,255,.92);box-shadow:0 2px 12px #0f172a0d;border:1px solid rgba(255,255,255,.9);min-height:44px;display:flex;flex-direction:column;gap:10px}.perf-tile[data-v-247bf3bd]:before{content:"";position:absolute;left:0;top:10px;bottom:10px;width:4px;border-radius:0 4px 4px 0;background:linear-gradient(180deg,var(--org-accent, #7b96ff),#b8c7ff);opacity:.85}.perf-tile--all[data-v-247bf3bd]:before{background:linear-gradient(180deg,#5a67d8,var(--org-accent, #7b96ff))}.perf-tile-label[data-v-247bf3bd]{font-size:12px;font-weight:700;color:var(--org-text-muted, #718096);letter-spacing:.06em;padding-left:8px}.perf-tile-main[data-v-247bf3bd]{display:flex;align-items:baseline;justify-content:space-between;gap:8px;flex-wrap:wrap;padding-left:8px}.perf-orders[data-v-247bf3bd]{font-size:clamp(1.5rem,4vw,1.85rem);font-weight:800;color:var(--org-text-title, #1a365d);letter-spacing:-.03em;line-height:1;font-variant-numeric:tabular-nums}.perf-unit[data-v-247bf3bd]{font-size:.55em;font-weight:700;color:var(--org-text-muted, #718096);margin-left:2px}.perf-points-block[data-v-247bf3bd]{padding-left:8px;padding-top:2px;border-top:1px dashed rgba(113,128,150,.2)}.perf-points-row[data-v-247bf3bd]{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:0}.perf-points-label[data-v-247bf3bd]{font-size:11px;font-weight:600;color:var(--org-text-muted, #718096)}.perf-points-val[data-v-247bf3bd]{font-size:15px;font-weight:700;color:var(--org-accent, #7b96ff);font-variant-numeric:tabular-nums}.org-page-title[data-v-247bf3bd]{margin:0;font-size:1.25rem;font-weight:700;color:var(--org-text-title, #1a365d)}.org-page-title--solo[data-v-247bf3bd]{margin:0 0 14px}.org-badge[data-v-247bf3bd]{display:inline-flex;align-items:center;gap:8px;padding:6px 14px;border-radius:999px;background:var(--org-surface-tag, #edf2f7);color:var(--org-text-muted, #718096);font-size:13px;font-weight:500}.org-badge strong[data-v-247bf3bd]{color:var(--org-text-body, #2d3748);font-weight:600}.org-page-desc[data-v-247bf3bd]{margin:0;font-size:14px;color:var(--org-text-muted, #718096);line-height:1.6}.org-error[data-v-247bf3bd]{margin:0;font-size:14px;color:var(--org-error, #e53e3e);line-height:1.6}.stat-grid[data-v-247bf3bd]{display:grid;gap:16px;max-width:100%}.stat-grid-compact[data-v-247bf3bd]{grid-template-columns:repeat(auto-fit,minmax(min(100%,200px),1fr));margin-bottom:16px}.stat-grid-wide[data-v-247bf3bd]{grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr))}.stat-card-accent[data-v-247bf3bd]{position:relative;background:linear-gradient(145deg,#fff 0%,#f8fafc 100%);border-radius:var(--org-radius-md, 14px);padding:18px 18px 16px;box-shadow:var(--org-shadow-card, 0 4px 20px rgba(15, 23, 42, .06));border:1px solid rgba(255,255,255,.95);box-sizing:border-box;overflow:hidden;transition:box-shadow .25s,transform .2s}.stat-card-accent[data-v-247bf3bd]:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,var(--org-accent, #7b96ff),#a5b8ff);opacity:.88}.stat-card-accent[data-v-247bf3bd]:hover{box-shadow:var(--org-shadow-hover, 0 8px 28px rgba(15, 23, 42, .1));transform:translateY(-2px)}.stat-tag[data-v-247bf3bd]{display:inline-block;font-size:11px;font-weight:600;letter-spacing:.04em;color:var(--org-accent, #7b96ff);background:var(--org-accent-soft, rgba(123, 150, 255, .14));padding:4px 10px;border-radius:999px;margin-bottom:10px}.stat-label[data-v-247bf3bd]{font-size:13px;color:var(--org-text-muted, #718096);margin-bottom:6px}.stat-value-row[data-v-247bf3bd]{display:flex;align-items:center;gap:10px}.stat-icon[data-v-247bf3bd]{width:40px;height:40px;border-radius:12px;background:var(--org-accent-soft, rgba(123, 150, 255, .14));display:flex;align-items:center;justify-content:center;flex-shrink:0;color:var(--org-accent, #7b96ff)}.stat-icon svg[data-v-247bf3bd]{width:22px;height:22px}.stat-value[data-v-247bf3bd]{font-size:clamp(1.65rem,3.5vw,2.1rem);font-weight:800;color:var(--org-text-title, #1a365d);letter-spacing:-.03em;line-height:1.1}.insight-card[data-v-247bf3bd]{background:var(--org-card, #fff);border-radius:var(--org-radius-md, 14px);padding:20px 20px 18px;box-shadow:var(--org-shadow-card, 0 4px 20px rgba(15, 23, 42, .06));border:1px solid rgba(232,237,245,.95);box-sizing:border-box;transition:box-shadow .25s,transform .2s}.insight-card[data-v-247bf3bd]:hover{box-shadow:var(--org-shadow-hover, 0 8px 28px rgba(15, 23, 42, .1));transform:translateY(-1px)}.insight-eyebrow[data-v-247bf3bd]{font-size:12px;font-weight:600;color:var(--org-text-muted, #718096);margin-bottom:6px}.insight-title[data-v-247bf3bd]{margin:0 0 14px;font-size:15px;font-weight:700;color:var(--org-text-title, #1a365d);line-height:1.35}.insight-row[data-v-247bf3bd]{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;flex-wrap:wrap}.insight-num[data-v-247bf3bd]{font-size:clamp(2rem,4.5vw,2.65rem);font-weight:800;color:var(--org-accent, #7b96ff);letter-spacing:-.04em;line-height:1}.stat-hint[data-v-247bf3bd]{margin:12px 0 0;font-size:13px;color:var(--org-text-muted, #718096);line-height:1.5}.spark[data-v-247bf3bd]{display:flex;align-items:flex-end;gap:4px;height:44px;padding:0 4px}.spark span[data-v-247bf3bd]{width:6px;border-radius:3px;background:linear-gradient(180deg,var(--org-accent, #7b96ff) 0%,#c4d0ff 100%);opacity:.35;animation:org-dash-bar-247bf3bd 2.4s ease-in-out infinite}.spark span[data-v-247bf3bd]:nth-child(1){height:35%;animation-delay:0s}.spark span[data-v-247bf3bd]:nth-child(2){height:55%;animation-delay:.1s}.spark span[data-v-247bf3bd]:nth-child(3){height:40%;animation-delay:.2s}.spark span[data-v-247bf3bd]:nth-child(4){height:70%;animation-delay:.15s}.spark span[data-v-247bf3bd]:nth-child(5){height:50%;animation-delay:.25s}.spark span[data-v-247bf3bd]:nth-child(6){height:85%;animation-delay:.05s;opacity:.55}.spark span[data-v-247bf3bd]:nth-child(7){height:60%;animation-delay:.2s}@keyframes org-dash-bar-247bf3bd{0%,to{opacity:.35;transform:scaleY(1)}50%{opacity:.72;transform:scaleY(1.08)}}.org-page-title[data-v-a715f5b6]{margin:0 0 14px;font-size:1.25rem;font-weight:700;color:var(--org-text-title, #1a365d)}.org-page-desc[data-v-a715f5b6]{margin:0 0 12px;font-size:14px;color:var(--org-text-muted, #718096);line-height:1.6}.org-error[data-v-a715f5b6]{color:var(--org-error, #e53e3e);font-size:14px}.toolbar[data-v-a715f5b6]{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:18px;max-width:100%}.toolbar-add[data-v-a715f5b6]{margin-left:auto;text-decoration:none;display:inline-flex;align-items:center;justify-content:center}.search-input[data-v-a715f5b6]{min-height:44px;padding:0 14px;border:1px solid var(--org-border-soft, rgba(113, 128, 150, .2));border-radius:var(--org-radius-md, 14px);min-width:200px;max-width:100%;font-size:14px;background:var(--org-card, #fff);color:var(--org-text-body, #2d3748)}.search-input[data-v-a715f5b6]:focus{outline:2px solid var(--org-accent-soft, rgba(123, 150, 255, .35));border-color:var(--org-accent, #7b96ff)}.btn[data-v-a715f5b6]{min-height:44px;padding:0 18px;border-radius:var(--org-radius-md, 14px);border:1px solid var(--org-border-soft, rgba(113, 128, 150, .2));background:var(--org-card, #fff);cursor:pointer;font-size:14px;font-weight:500;color:var(--org-text-body, #2d3748);box-shadow:var(--org-shadow-card, 0 2px 12px rgba(15, 23, 42, .04));transition:box-shadow .2s,border-color .2s}.btn[data-v-a715f5b6]:hover:not(:disabled){border-color:var(--org-accent, #7b96ff);color:var(--org-accent-hover, #6a86f5)}.btn-primary[data-v-a715f5b6]{background:var(--org-accent, #7b96ff);border-color:var(--org-accent, #7b96ff);color:#fff;box-shadow:0 4px 14px #7b96ff59}.btn-primary[data-v-a715f5b6]:hover:not(:disabled){background:var(--org-accent-hover, #6a86f5);border-color:var(--org-accent-hover, #6a86f5);color:#fff}.btn[data-v-a715f5b6]:disabled{opacity:.6;cursor:not-allowed}.table-wrap[data-v-a715f5b6]{overflow-x:auto;max-width:100%;border-radius:var(--org-radius-md, 14px);box-shadow:var(--org-shadow-card, 0 4px 20px rgba(15, 23, 42, .06));border:1px solid rgba(232,237,245,.95)}.data-table[data-v-a715f5b6]{width:100%;border-collapse:collapse;font-size:14px;background:var(--org-card, #fff)}.data-table th[data-v-a715f5b6],.data-table td[data-v-a715f5b6]{border:1px solid var(--org-border-soft, rgba(113, 128, 150, .12));padding:12px 14px;text-align:left}.data-table th[data-v-a715f5b6]{background:var(--org-surface-tag, #edf2f7);color:var(--org-text-muted, #718096);font-weight:600;vertical-align:middle}.th-sort[data-v-a715f5b6]{min-height:44px;display:inline-flex;align-items:center;gap:6px;padding:4px 2px;margin:0;border:none;background:transparent;font:inherit;font-weight:600;color:inherit;cursor:pointer;text-align:left;border-radius:8px}.th-sort[data-v-a715f5b6]:hover{color:var(--org-accent, #7b96ff)}.th-sort--active[data-v-a715f5b6]{color:var(--org-text-body, #2d3748)}.th-sort-icon[data-v-a715f5b6]{font-size:12px;opacity:.75}.th-sort--active .th-sort-icon[data-v-a715f5b6]{opacity:1}.data-table td[data-v-a715f5b6]{color:var(--org-text-body, #2d3748)}.link[data-v-a715f5b6]{color:var(--org-accent, #7b96ff);text-decoration:none;font-weight:500}.link[data-v-a715f5b6]:hover{color:var(--org-accent-hover, #6a86f5);text-decoration:underline}.td-actions[data-v-a715f5b6]{white-space:normal;line-height:1.55;max-width:min(360px,100%)}.action-sep[data-v-a715f5b6]{color:var(--org-text-muted, #94a3b8);-webkit-user-select:none;user-select:none}.access-badge[data-v-a715f5b6]{display:inline-block;padding:4px 10px;border-radius:999px;font-size:12px;font-weight:600}.access-badge.badge-ok[data-v-a715f5b6]{background:rgba(56,161,105,.12);color:#276749}.access-badge.badge-warn[data-v-a715f5b6]{background:rgba(214,158,46,.14);color:#975a16}.access-badge.badge-expired[data-v-a715f5b6]{background:rgba(229,62,62,.1);color:#c53030}.empty[data-v-a715f5b6]{padding:28px;text-align:center;color:var(--org-text-muted, #718096);font-size:14px;background:var(--org-card, #fff)}.pager[data-v-a715f5b6]{display:flex;flex-wrap:wrap;align-items:center;gap:12px;margin-top:14px;font-size:14px;color:var(--org-text-muted, #718096)}.crumb[data-v-b8018c30]{margin-bottom:14px}.back[data-v-b8018c30]{min-height:44px;display:inline-flex;align-items:center;color:var(--org-accent, #7b96ff);text-decoration:none;font-size:14px;font-weight:600}.back[data-v-b8018c30]:hover{color:var(--org-accent-hover, #6a86f5);text-decoration:underline}.org-page-title[data-v-b8018c30]{margin:0 0 14px;font-size:1.25rem;font-weight:700;color:var(--org-text-title, #1a365d)}.org-page-desc[data-v-b8018c30]{margin:0;font-size:14px;color:var(--org-text-muted, #718096)}.org-error[data-v-b8018c30]{color:var(--org-error, #e53e3e);font-size:14px}.student-profile-card[data-v-b8018c30]{border:1px solid rgba(226,232,240,.95);border-radius:16px;padding:0;margin-bottom:22px;max-width:100%;overflow:hidden;background:linear-gradient(145deg,#fff 0%,#f8fafc 55%,#f1f5f9 100%);box-shadow:0 8px 32px #0f172a12,0 1px #fffc inset;box-sizing:border-box}.student-card-head[data-v-b8018c30]{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:16px;padding:20px 22px 18px;border-bottom:1px solid rgba(226,232,240,.9);background:linear-gradient(180deg,rgba(255,255,255,.65) 0%,transparent 100%)}.student-card-identity[data-v-b8018c30]{display:flex;align-items:center;gap:14px;min-width:0}.student-avatar[data-v-b8018c30]{width:52px;height:52px;border-radius:50%;flex-shrink:0;display:flex;align-items:center;justify-content:center;font-size:1.2rem;font-weight:700;color:#fff;background:linear-gradient(135deg,var(--org-accent, #7b96ff) 0%,#5b7cfa 100%);box-shadow:0 4px 14px #5b7cfa59}.student-card-titles[data-v-b8018c30]{min-width:0}.student-card-name[data-v-b8018c30]{margin:0;font-size:1.2rem;font-weight:700;color:var(--org-text-title, #1a365d);letter-spacing:.02em}.student-card-phone[data-v-b8018c30]{margin:6px 0 0;font-size:13px;color:var(--org-text-muted, #718096)}.btn-card-edit[data-v-b8018c30]{min-height:44px;padding:0 20px;border-radius:12px;border:none;cursor:pointer;font-size:14px;font-weight:600;color:#fff;text-decoration:none;display:inline-flex;align-items:center;justify-content:center;box-sizing:border-box;background:linear-gradient(135deg,var(--org-accent, #7b96ff) 0%,#637cfd 100%);box-shadow:0 4px 16px #637cfd59;flex-shrink:0}.btn-card-edit[data-v-b8018c30]:hover{filter:brightness(1.05)}.student-card-body[data-v-b8018c30]{padding:16px 22px 20px;display:flex;flex-direction:column;gap:0}.meta-row[data-v-b8018c30]{display:grid;grid-template-columns:88px minmax(0,1fr);gap:10px 16px;padding:10px 0;border-bottom:1px solid rgba(241,245,249,.95);align-items:start;font-size:14px}.meta-row[data-v-b8018c30]:last-child{border-bottom:none}.meta-row-footer[data-v-b8018c30]{padding-top:12px;margin-top:4px}.meta-row-block .meta-value[data-v-b8018c30]{white-space:pre-wrap;word-break:break-word}.meta-label[data-v-b8018c30]{font-weight:600;color:var(--org-text-muted, #64748b)}.meta-value[data-v-b8018c30]{color:var(--org-text-body, #2d3748);line-height:1.55}.meta-muted[data-v-b8018c30]{color:var(--org-text-muted, #94a3b8);font-size:13px}.status-pill[data-v-b8018c30]{display:inline-flex;align-items:center;min-height:28px;padding:0 12px;border-radius:999px;font-size:13px;font-weight:600;width:fit-content}.status-pill--trial[data-v-b8018c30]{background:#fffbeb;color:#b45309;border:1px solid #fde68a}.status-pill--active[data-v-b8018c30]{background:#ecfdf5;color:#047857;border:1px solid #a7f3d0}.status-pill--grad[data-v-b8018c30]{background:#f1f5f9;color:#475569;border:1px solid #e2e8f0}.section-title[data-v-b8018c30]{margin:18px 0 10px;font-size:1.05rem;font-weight:700;color:var(--org-text-title, #1a365d)}.muted[data-v-b8018c30]{font-size:13px;color:var(--org-text-muted, #718096);line-height:1.55}.muted code[data-v-b8018c30]{font-size:12px;background:var(--org-surface-tag, #edf2f7);padding:2px 8px;border-radius:6px;color:var(--org-text-body, #2d3748)}.course-table-wrap[data-v-b8018c30]{overflow-x:auto;max-width:100%;border-radius:var(--org-radius-md, 14px);border:1px solid rgba(232,237,245,.95);box-shadow:var(--org-shadow-card, 0 4px 20px rgba(15, 23, 42, .06))}.data-table[data-v-b8018c30]{width:100%;border-collapse:collapse;font-size:14px;background:var(--org-card, #fff)}.data-table th[data-v-b8018c30],.data-table td[data-v-b8018c30]{border:1px solid var(--org-border-soft, rgba(113, 128, 150, .12));padding:12px 14px;text-align:left}.data-table th[data-v-b8018c30]{background:var(--org-surface-tag, #edf2f7);color:var(--org-text-muted, #718096);font-weight:600}.data-table td[data-v-b8018c30]{color:var(--org-text-body, #2d3748)}.btn[data-v-b8018c30]{min-height:44px;padding:0 16px;border-radius:var(--org-radius-md, 14px);border:1px solid var(--org-border-soft, rgba(113, 128, 150, .2));background:var(--org-card, #fff);cursor:pointer;font-size:14px;color:var(--org-text-body, #2d3748)}.btn-primary[data-v-b8018c30]{background:var(--org-accent, #7b96ff);border-color:var(--org-accent, #7b96ff);color:#fff;box-shadow:0 4px 12px #7b96ff4d}.btn-primary[data-v-b8018c30]:hover:not(:disabled){background:var(--org-accent-hover, #6a86f5);border-color:var(--org-accent-hover, #6a86f5)}.btn[data-v-b8018c30]:disabled{opacity:.55;cursor:not-allowed}.tag[data-v-b8018c30]{font-size:12px;color:var(--org-text-muted, #718096)}.tag-on[data-v-b8018c30]{color:#0d9f4a;font-weight:600}.tag-warn[data-v-b8018c30]{color:#c05621;font-weight:600}.btn-renew[data-v-b8018c30]{min-height:44px;padding:0 16px;border-radius:var(--org-radius-md, 14px);border:1px solid #dd6b20;background:#fffaf0;cursor:pointer;font-size:14px;font-weight:600;color:#c05621}.btn-renew[data-v-b8018c30]:hover:not(:disabled){background:#feebc8}.btn-renew[data-v-b8018c30]:disabled{opacity:.55;cursor:not-allowed}.access-block[data-v-b8018c30]{margin:0 20px 18px;padding:16px 18px;border-radius:var(--org-radius-md, 14px);background:linear-gradient(135deg,rgba(123,150,255,.08),rgba(56,161,105,.05));border:1px solid rgba(123,150,255,.22)}.access-block-title[data-v-b8018c30]{margin:0 0 6px;font-size:15px;font-weight:700;color:var(--org-text-title, #1a365d)}.access-block-hint[data-v-b8018c30]{margin:0 0 12px;font-size:13px;color:var(--org-text-muted, #718096)}.access-grid[data-v-b8018c30]{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:12px 20px;margin-bottom:14px}.access-grid-label[data-v-b8018c30]{display:block;font-size:12px;color:var(--org-text-muted, #718096);margin-bottom:4px}.access-grid-value[data-v-b8018c30]{font-size:14px;font-weight:600;color:var(--org-text-body, #2d3748)}.access-badge[data-v-b8018c30]{display:inline-block;padding:4px 10px;border-radius:999px;font-size:12px;font-weight:600}.access-badge.badge-ok[data-v-b8018c30]{background:rgba(56,161,105,.12);color:#276749}.access-badge.badge-warn[data-v-b8018c30]{background:rgba(214,158,46,.14);color:#975a16}.access-badge.badge-expired[data-v-b8018c30]{background:rgba(229,62,62,.1);color:#c53030}.btn-renew-account[data-v-b8018c30]{margin-top:4px}.access-block--password[data-v-b8018c30]{margin-top:12px;background:linear-gradient(135deg,rgba(237,137,54,.06),rgba(123,150,255,.05));border-color:#d69e2e40}.btn-reset-password[data-v-b8018c30]{min-height:44px;padding:0 16px;border-radius:var(--org-radius-md, 14px);border:1px solid rgba(214,158,46,.45);background:#fffaf0;cursor:pointer;font-size:14px;font-weight:600;color:#c05621}.btn-reset-password[data-v-b8018c30]:hover:not(:disabled){background:#feebc8}.btn-reset-password[data-v-b8018c30]:disabled{opacity:.55;cursor:not-allowed}.pwd-modal-hint[data-v-b8018c30]{margin:0 0 14px}.pwd-modal-field[data-v-b8018c30]{display:flex;flex-direction:column;gap:6px;margin:0 0 14px}.pwd-modal-label[data-v-b8018c30]{font-size:13px;font-weight:600;color:var(--org-text-title, #1a365d)}.pwd-modal-input[data-v-b8018c30]{width:100%;max-width:100%;min-height:44px;padding:10px 14px;border-radius:10px;border:1px solid rgba(113,128,150,.25);font-size:15px;box-sizing:border-box}.pwd-modal-input[data-v-b8018c30]:focus{outline:none;border-color:var(--org-accent, #7b96ff);box-shadow:0 0 0 3px #7b96ff33}.account-renew-options[data-v-b8018c30]{display:flex;flex-wrap:wrap;gap:10px;margin:14px 0}.grant-option-chip[data-v-b8018c30]{position:relative}.grant-option-chip input[data-v-b8018c30]{position:absolute;opacity:0;width:0;height:0}.grant-option-chip span[data-v-b8018c30]{display:inline-flex;align-items:center;justify-content:center;min-height:44px;min-width:72px;padding:0 14px;border:2px solid var(--org-border-soft, rgba(113, 128, 150, .2));border-radius:10px;font-size:14px;font-weight:600;cursor:pointer;background:var(--org-card, #fff)}.grant-option-chip input:checked+span[data-v-b8018c30]{border-color:var(--org-accent, #7b96ff);background:var(--org-accent-soft, rgba(123, 150, 255, .14));color:var(--org-accent-hover, #6a86f5)}.grant-modal-backdrop[data-v-b8018c30]{position:fixed;top:0;right:0;bottom:0;left:0;z-index:80;display:flex;align-items:center;justify-content:center;padding:16px;box-sizing:border-box;background:rgba(15,23,42,.45)}.grant-modal-card[data-v-b8018c30]{width:100%;max-width:420px;border-radius:var(--org-radius-md, 14px);padding:20px 22px;background:var(--org-card, #fff);box-shadow:0 16px 48px #0f172a2e;box-sizing:border-box}.grant-modal-title[data-v-b8018c30]{margin:0 0 14px;font-size:1.1rem;font-weight:700;color:var(--org-text-title, #1a365d)}.grant-modal-course[data-v-b8018c30]{margin:0 0 12px;font-size:14px;color:var(--org-text-body, #2d3748)}.grant-modal-warn[data-v-b8018c30]{margin:12px 0 0;font-size:14px;line-height:1.5;color:var(--org-error, #c53030)}.grant-modal-actions[data-v-b8018c30]{display:flex;flex-wrap:wrap;gap:10px;justify-content:flex-end;margin-top:18px}.crumb[data-v-35f2cf2f]{margin-bottom:14px}.back[data-v-35f2cf2f]{min-height:44px;display:inline-flex;align-items:center;color:var(--org-accent, #7b96ff);text-decoration:none;font-weight:600;font-size:14px}.back[data-v-35f2cf2f]:hover{text-decoration:underline}.org-page-title[data-v-35f2cf2f]{margin:0 0 14px;font-size:1.25rem;font-weight:700;color:var(--org-text-title, #1a365d)}.org-page-desc[data-v-35f2cf2f]{margin:0;font-size:14px;color:var(--org-text-muted, #718096)}.org-error[data-v-35f2cf2f]{color:var(--org-error, #e53e3e);font-size:14px}.edit-profile-card[data-v-35f2cf2f]{max-width:min(520px,100%);margin-top:8px;padding:22px 24px 24px;border-radius:16px;border:1px solid rgba(226,232,240,.95);background:var(--org-card, #fff);box-shadow:0 8px 32px #0f172a12;box-sizing:border-box}.edit-profile-lead[data-v-35f2cf2f]{margin:0 0 18px;font-size:13px;line-height:1.55;color:var(--org-text-muted, #718096)}.profile-section-title[data-v-35f2cf2f]{margin:16px 0 8px;font-size:12px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--org-text-muted, #94a3b8)}.profile-section-title[data-v-35f2cf2f]:first-of-type{margin-top:0}.profile-select[data-v-35f2cf2f]{cursor:pointer}.profile-field[data-v-35f2cf2f]{display:flex;flex-direction:column;gap:6px;margin:0 0 14px;font-size:14px;color:var(--org-text-body, #2d3748)}.profile-field span[data-v-35f2cf2f]{font-weight:600}.profile-input[data-v-35f2cf2f],.profile-textarea[data-v-35f2cf2f]{min-height:44px;padding:10px 12px;border:1px solid var(--org-border-soft, rgba(113, 128, 150, .2));border-radius:var(--org-radius-md, 10px);font-size:14px;max-width:100%;box-sizing:border-box}select.profile-input[data-v-35f2cf2f]{background:var(--org-card, #fff)}.profile-textarea[data-v-35f2cf2f]{min-height:88px;resize:vertical}.form-actions[data-v-35f2cf2f]{display:flex;flex-wrap:wrap;gap:12px;justify-content:flex-end;margin-top:22px;padding-top:8px;border-top:1px solid rgba(241,245,249,.95)}.btn[data-v-35f2cf2f]{min-height:44px;padding:0 18px;border-radius:var(--org-radius-md, 14px);border:1px solid var(--org-border-soft, rgba(113, 128, 150, .2));background:var(--org-card, #fff);cursor:pointer;font-size:14px;font-weight:500;color:var(--org-text-body, #2d3748);text-decoration:none;display:inline-flex;align-items:center;justify-content:center;box-sizing:border-box}.btn-primary[data-v-35f2cf2f]{background:var(--org-accent, #7b96ff);border-color:var(--org-accent, #7b96ff);color:#fff;box-shadow:0 4px 12px #7b96ff4d}.btn-primary[data-v-35f2cf2f]:hover:not(:disabled){background:var(--org-accent-hover, #6a86f5);border-color:var(--org-accent-hover, #6a86f5)}.btn[data-v-35f2cf2f]:disabled{opacity:.55;cursor:not-allowed}.btn-cancel-link[data-v-35f2cf2f]:hover{background:#f7fafc}.crumb[data-v-f9ab9d3d]{margin-bottom:14px}.back[data-v-f9ab9d3d]{min-height:44px;display:inline-flex;align-items:center;color:var(--org-accent, #7b96ff);text-decoration:none;font-size:14px;font-weight:600}.back[data-v-f9ab9d3d]:hover{color:var(--org-accent-hover, #6a86f5);text-decoration:underline}.org-page-title[data-v-f9ab9d3d]{margin:0 0 16px;font-size:1.25rem;font-weight:700;color:var(--org-text-title, #1a365d)}.org-page-desc[data-v-f9ab9d3d]{margin:0;font-size:14px;color:var(--org-text-muted, #718096);line-height:1.6}.panel[data-v-f9ab9d3d]{border:1px solid rgba(232,237,245,.95);border-radius:var(--org-radius-md, 14px);padding:18px;max-width:100%;background:linear-gradient(165deg,#fff 0%,#fafbfd 100%);box-shadow:var(--org-shadow-card, 0 4px 20px rgba(15, 23, 42, .06));box-sizing:border-box}.hint[data-v-f9ab9d3d]{margin:0 0 12px;font-size:13px;color:var(--org-text-muted, #718096);line-height:1.5}.hint strong[data-v-f9ab9d3d]{color:var(--org-text-body, #2d3748);font-weight:600}.form-row[data-v-f9ab9d3d]{display:flex;flex-wrap:wrap;gap:12px;margin-bottom:12px}.form-row.form-row-full[data-v-f9ab9d3d]{width:100%}.form-row.form-row-full label[data-v-f9ab9d3d]{min-width:100%;max-width:100%}.form-row label[data-v-f9ab9d3d]{display:flex;flex-direction:column;gap:6px;font-size:13px;color:var(--org-text-muted, #718096);min-width:160px;max-width:100%}.field-textarea[data-v-f9ab9d3d]{min-height:88px;padding:10px 12px;border:1px solid var(--org-border-soft, rgba(113, 128, 150, .2));border-radius:var(--org-radius-md, 14px);font-size:14px;font-family:inherit;line-height:1.45;background:var(--org-card, #fff);color:var(--org-text-body, #2d3748);resize:vertical;max-width:100%;box-sizing:border-box}.form-row input[data-v-f9ab9d3d],.form-row select.field-select[data-v-f9ab9d3d]{min-height:44px;padding:0 12px;border:1px solid var(--org-border-soft, rgba(113, 128, 150, .2));border-radius:var(--org-radius-md, 14px);font-size:14px;background:var(--org-card, #fff);color:var(--org-text-body, #2d3748)}.form-row select.field-select[data-v-f9ab9d3d]{cursor:pointer}.btn[data-v-f9ab9d3d]{min-height:44px;padding:0 18px;border-radius:var(--org-radius-md, 14px);border:1px solid var(--org-border-soft, rgba(113, 128, 150, .2));background:var(--org-card, #fff);cursor:pointer;font-size:14px;font-weight:500;color:var(--org-text-body, #2d3748);box-shadow:var(--org-shadow-card, 0 2px 12px rgba(15, 23, 42, .04))}.btn-primary[data-v-f9ab9d3d]{background:var(--org-accent, #7b96ff);border-color:var(--org-accent, #7b96ff);color:#fff;box-shadow:0 4px 14px #7b96ff59}.btn-primary[data-v-f9ab9d3d]:hover:not(:disabled){background:var(--org-accent-hover, #6a86f5);border-color:var(--org-accent-hover, #6a86f5);color:#fff}.btn[data-v-f9ab9d3d]:disabled{opacity:.6;cursor:not-allowed}.pool-banner[data-v-f9ab9d3d]{display:flex;flex-wrap:wrap;align-items:center;gap:8px 16px;padding:14px 16px;margin-bottom:16px;background:var(--org-accent-soft, rgba(123, 150, 255, .14));border:1px solid rgba(123,150,255,.25);border-radius:var(--org-radius-md, 14px);font-size:14px}.pool-banner strong[data-v-f9ab9d3d]{color:var(--org-text-title, #1a365d);font-size:1.1rem}.pool-label[data-v-f9ab9d3d]{color:var(--org-text-muted, #718096)}.grant-days[data-v-f9ab9d3d]{margin:0 0 16px;padding:14px 16px;border:1px dashed rgba(123,150,255,.35);border-radius:var(--org-radius-md, 14px);background:var(--org-page-bg, #f0f4f8)}.grant-days legend[data-v-f9ab9d3d]{font-size:14px;font-weight:700;color:var(--org-text-title, #1a365d);padding:0 6px}.grant-options[data-v-f9ab9d3d]{display:flex;flex-wrap:wrap;gap:10px;margin-top:10px}.grant-option[data-v-f9ab9d3d]{position:relative}.grant-option input[data-v-f9ab9d3d]{position:absolute;opacity:0;width:0;height:0}.grant-option span[data-v-f9ab9d3d]{display:inline-flex;align-items:center;justify-content:center;min-height:44px;min-width:72px;padding:0 14px;border:2px solid var(--org-border-soft, rgba(113, 128, 150, .2));border-radius:10px;font-size:14px;font-weight:600;cursor:pointer;background:var(--org-card, #fff)}.grant-option input:checked+span[data-v-f9ab9d3d]{border-color:var(--org-accent, #7b96ff);background:var(--org-accent-soft, rgba(123, 150, 255, .14));color:var(--org-accent-hover, #6a86f5)}.grant-preview[data-v-f9ab9d3d]{margin:12px 0 0;font-size:13px;color:var(--org-text-muted, #718096)}.grant-preview strong[data-v-f9ab9d3d]{color:var(--org-text-body, #2d3748)}.org-page-title[data-v-49d7cbf0]{margin:0 0 18px;font-size:1.25rem;font-weight:700;color:var(--org-text-title, #1a365d)}.org-page-desc[data-v-49d7cbf0]{margin:0;font-size:14px;color:var(--org-text-muted, #718096);line-height:1.6}.org-error[data-v-49d7cbf0]{margin:0;font-size:14px;color:var(--org-error, #e53e3e);line-height:1.6}.ledger-error[data-v-49d7cbf0]{margin-bottom:12px}.section[data-v-49d7cbf0]{margin-bottom:28px}.section[data-v-49d7cbf0]:last-child{margin-bottom:0}.section-title[data-v-49d7cbf0]{margin:0 0 12px;font-size:15px;font-weight:700;color:var(--org-text-title, #1a365d);display:flex;align-items:center;gap:8px;flex-wrap:wrap}.section-tag[data-v-49d7cbf0]{font-size:11px;font-weight:600;color:var(--org-accent, #7b96ff);background:var(--org-accent-soft, rgba(123, 150, 255, .14));padding:3px 10px;border-radius:999px}.section-pool[data-v-49d7cbf0]{font-size:12px;font-weight:600;color:#276749;background:rgba(56,161,105,.12);padding:3px 10px;border-radius:999px}.section-hint[data-v-49d7cbf0]{margin:-4px 0 12px;font-size:13px;color:var(--org-text-muted, #718096);line-height:1.5}.ledger-section--access[data-v-49d7cbf0]{padding-top:4px;border-top:1px dashed var(--org-border-soft, rgba(113, 128, 150, .25))}.sub-card[data-v-49d7cbf0]{border:1px solid var(--org-border-soft, rgba(113, 128, 150, .15));border-radius:var(--org-radius-md, 14px);background:var(--org-surface-tag, #edf2f7);padding:4px 0 16px;max-width:100%}.info-table[data-v-49d7cbf0]{width:100%;border-collapse:collapse;font-size:14px}.info-table th[data-v-49d7cbf0]{text-align:left;font-weight:600;color:var(--org-text-muted, #718096);padding:12px 16px 12px 20px;vertical-align:top;width:118px;white-space:nowrap}.info-table td[data-v-49d7cbf0]{padding:12px 20px 12px 0;color:var(--org-text-body, #2d3748);border-top:1px solid rgba(226,232,240,.9)}.info-table tr:first-child th[data-v-49d7cbf0],.info-table tr:first-child td[data-v-49d7cbf0]{border-top:none}.btn-wrap[data-v-49d7cbf0]{padding:0 20px;margin-top:4px}.link-btn[data-v-49d7cbf0]{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:0 20px;border-radius:10px;font-size:15px;font-weight:600;color:#fff;text-decoration:none;background:var(--org-accent, #7b96ff)}.link-btn[data-v-49d7cbf0]:hover{background:var(--org-accent-hover, #6a86f5)}.stat-grid[data-v-49d7cbf0]{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,200px),1fr));gap:16px;max-width:100%}.stat-block[data-v-49d7cbf0]{padding:18px 20px;border-radius:var(--org-radius-md, 14px);border:1px solid var(--org-border-soft, rgba(113, 128, 150, .15));background:linear-gradient(135deg,rgba(123,150,255,.12) 0%,#f7fafc 100%)}.stat-block--muted[data-v-49d7cbf0]{background:#f7fafc}.stat-label[data-v-49d7cbf0]{font-size:13px;color:var(--org-text-muted, #718096);margin-bottom:8px;font-weight:500}.stat-value[data-v-49d7cbf0]{font-size:1.65rem;font-weight:800;color:var(--org-text-title, #1a365d);letter-spacing:-.02em}.table-wrap[data-v-49d7cbf0]{overflow-x:auto;border-radius:var(--org-radius-md, 14px);border:1px solid var(--org-border-soft, rgba(113, 128, 150, .15));max-width:100%}.ledger-table[data-v-49d7cbf0]{width:100%;border-collapse:collapse;font-size:13px;min-width:520px}.ledger-table th[data-v-49d7cbf0],.ledger-table td[data-v-49d7cbf0]{padding:12px 14px;text-align:left;border-bottom:1px solid rgba(226,232,240,.95)}.ledger-table th[data-v-49d7cbf0]{background:#f7fafc;color:var(--org-text-muted, #718096);font-weight:600;white-space:nowrap}.ledger-table tr:last-child td[data-v-49d7cbf0]{border-bottom:none}.ledger-table td.num[data-v-49d7cbf0]{font-variant-numeric:tabular-nums;text-align:right}.delta-pos[data-v-49d7cbf0]{color:#276749;font-weight:600}.delta-neg[data-v-49d7cbf0]{color:#c53030;font-weight:600}.empty-cell[data-v-49d7cbf0]{text-align:center;color:var(--org-text-muted, #718096);padding:24px 16px}.org-page-title[data-v-be46f181]{margin:0;font-size:1.25rem;font-weight:700;color:var(--org-text-title, #1a365d)}.page-head[data-v-be46f181]{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:12px 16px;margin-bottom:14px}.back-link[data-v-be46f181]{min-height:44px;display:inline-flex;align-items:center;padding:0 16px;border-radius:999px;font-size:14px;font-weight:600;color:var(--org-accent, #7b96ff);text-decoration:none;background:var(--org-accent-soft, rgba(123, 150, 255, .14))}.back-link[data-v-be46f181]:hover{color:var(--org-accent-hover, #6a86f5)}.org-page-desc[data-v-be46f181]{margin:0 0 22px;font-size:14px;color:var(--org-text-muted, #718096);line-height:1.65}.org-page-desc--plain[data-v-be46f181]{padding:0;background:none;border:none}.pwd-card[data-v-be46f181]{max-width:100%;width:min(440px,100%);display:flex;flex-direction:column;gap:16px;padding:20px;border-radius:var(--org-radius-md, 14px);border:1px solid var(--org-border-soft, rgba(113, 128, 150, .15));background:var(--org-surface-tag, #edf2f7);box-sizing:border-box}.field[data-v-be46f181]{display:flex;flex-direction:column;gap:6px;margin:0}.field-label[data-v-be46f181]{font-size:13px;font-weight:600;color:var(--org-text-title, #1a365d)}.field-input[data-v-be46f181]{width:100%;max-width:100%;min-height:44px;padding:10px 14px;border-radius:10px;border:1px solid rgba(113,128,150,.25);font-size:15px;box-sizing:border-box}.field-input[data-v-be46f181]:focus{outline:none;border-color:var(--org-accent, #7b96ff);box-shadow:0 0 0 3px #7b96ff33}.org-error[data-v-be46f181]{margin:0;font-size:14px;color:var(--org-error, #e53e3e)}.success-msg[data-v-be46f181]{margin:0;font-size:14px;color:#276749;font-weight:600}.submit-btn[data-v-be46f181]{margin-top:4px;min-height:44px;padding:0 22px;border:none;border-radius:10px;font-size:15px;font-weight:600;color:#fff;background:var(--org-accent, #7b96ff);cursor:pointer}.submit-btn[data-v-be46f181]:hover:not(:disabled){background:var(--org-accent-hover, #6a86f5)}.submit-btn[data-v-be46f181]:disabled{opacity:.55;cursor:not-allowed}*{margin:0;padding:0;box-sizing:border-box}body{font-family:Microsoft YaHei,PingFang SC,Helvetica Neue,Arial,sans-serif;background-color:#f5f5f5;color:#333}.container{max-width:1200px;margin:0 auto;padding:0 20px}.header{background:white;box-shadow:0 2px 4px #0000001a;padding:1rem 0}.header-content{display:flex;justify-content:space-between;align-items:center}.logo{font-size:1.5rem;font-weight:700;background:linear-gradient(135deg,#3b82f6,#8b5cf6);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.user-info{display:flex;align-items:center;gap:1rem}.logout-btn{background:#ef4444;color:#fff;border:none;padding:.5rem 1rem;border-radius:.375rem;cursor:pointer;font-size:.875rem}.logout-btn:hover{background:#dc2626}.nav{flex:1;margin:0 2rem}.nav-list{display:flex;list-style:none;gap:2rem;justify-content:center}.nav-item{padding:.75rem 1rem;border-radius:.5rem;cursor:pointer;transition:all .2s;text-decoration:none;color:#6b7280;font-weight:500}.nav-item:hover{background:#f3f4f6;color:#374151}.nav-item.active{color:#2563eb;background:#eff6ff}.main-content{padding:2rem 0;min-height:calc(100vh - 80px)}.page-title{font-size:2rem;font-weight:700;color:#1f2937;margin-bottom:.5rem}.page-description{color:#6b7280;margin-bottom:2rem}.course-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(350px,1fr));gap:1.5rem}.course-card{background:white;border-radius:.75rem;padding:1.5rem;box-shadow:0 1px 3px #0000001a;transition:all .2s;cursor:pointer}.course-card:hover{box-shadow:0 4px 6px #0000001a;transform:translateY(-2px)}.course-header{display:flex;align-items:center;gap:1rem;margin-bottom:1rem}.course-icon{width:3rem;height:3rem;border-radius:.5rem;display:flex;align-items:center;justify-content:center;font-size:1.5rem}.course-title{font-size:1.25rem;font-weight:700;color:#1f2937;margin-bottom:.5rem}.course-description{color:#6b7280;line-height:1.5;margin-bottom:1rem}.course-details{display:flex;gap:1rem;margin-bottom:1rem}.detail-item{display:flex;align-items:center;gap:.25rem;color:#6b7280;font-size:.875rem}.course-tag{background:#2563eb;color:#fff;padding:.25rem .75rem;border-radius:1rem;font-size:.75rem;display:inline-block;margin-bottom:1rem}.view-details{color:#2563eb;text-decoration:none;font-size:.875rem;font-weight:500}.view-details:hover{text-decoration:underline}.joined-badge{color:#047857;font-weight:600;background:#d1fae5;padding:4px 8px;border-radius:4px;font-size:.8rem}.joinable-badge{color:#0d9488;font-weight:600;background:#ccfbf1;padding:4px 8px;border-radius:4px;font-size:.8rem;border:1px solid #5eead4}.allowance-expired-badge{color:#92400e;background:#fef3c7}.modal-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background:rgba(0,0,0,.5);display:flex;align-items:center;justify-content:center;z-index:1000}.modal{background:white;border-radius:.75rem;padding:2rem;max-width:500px;width:90%;max-height:80vh;overflow-y:auto}.modal-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem}.modal-title{font-size:1.5rem;font-weight:700;color:#1f2937}.close-btn{background:none;border:none;font-size:1.5rem;cursor:pointer;color:#6b7280}.modal-content{margin-bottom:2rem}.modal-description{color:#6b7280;line-height:1.6}.modal-actions{display:flex;gap:1rem;justify-content:flex-end}.btn{padding:.75rem 1.5rem;border-radius:.75rem;border:none;cursor:pointer;font-size:.875rem;font-weight:600;transition:all .3s ease}.btn-secondary{background:#f3f4f6;color:#374151}.btn-secondary:hover{background:#e5e7eb}.btn-primary{background:linear-gradient(135deg,#3b82f6,#8b5cf6);color:#fff;border:none;box-shadow:0 4px 12px #3b82f64d;transition:all .3s ease}.btn-primary:hover{transform:translateY(-2px);box-shadow:0 6px 16px #3b82f666}.btn-danger{background:linear-gradient(135deg,#dc2626,#b91c1c);color:#fff;border:none;box-shadow:0 4px 12px #dc26264d;transition:all .3s ease}.btn-danger:hover{transform:translateY(-2px);box-shadow:0 6px 16px #dc262666}.learning-card{background:white;border-radius:.75rem;padding:1.5rem;box-shadow:0 1px 3px #0000001a;margin-bottom:1rem}.learning-card-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.learning-card-title{font-size:1.25rem;font-weight:700;color:#1f2937}.learning-card-actions{display:flex;gap:.5rem}.empty-state{text-align:center;padding:3rem;color:#6b7280}.empty-state-icon{font-size:3rem;margin-bottom:1rem}.loading{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 20px;text-align:center}.loading-spinner{width:40px;height:40px;border:4px solid #f3f3f3;border-top:4px solid #2563eb;border-radius:50%;animation:spin 1s linear infinite;margin-bottom:20px}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.loading p{color:#6b7280;font-size:16px;margin:0}.error-message{background-color:#fef2f2;color:#dc2626;padding:20px;border-radius:8px;margin:20px 0;text-align:center;border:1px solid #fecaca}.error-message button{margin-top:10px}.welcome-prefix{display:inline}.nav-toggle{display:none}@media (max-width: 799px){.header{padding:.75rem 0}.container{padding:0 12px}.header-content{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.logo{flex-shrink:0;font-size:1.25rem;line-height:1.1}.nav-toggle{display:inline-flex;margin-left:auto;width:44px;height:44px;min-width:44px;min-height:44px;align-items:center;justify-content:center;border:1px solid #d1d5db;border-radius:10px;background:#fff;color:#374151;cursor:pointer;font-size:20px;line-height:1}.nav-toggle:active{transform:scale(.98)}.user-info{margin-left:auto;display:flex;align-items:center;gap:8px}.welcome-text{max-width:84px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12px;color:#6b7280}.logout-btn{min-height:36px;padding:.35rem .6rem;font-size:12px}.nav{display:none;order:3;width:100%;margin:6px 0 0;flex:none}.nav.is-open{display:block}.nav-list{display:flex;flex-direction:column;gap:6px;list-style:none;margin:0;padding:8px;border:1px solid #e5e7eb;border-radius:10px;background:#fff}.nav-item{display:block;width:100%;padding:10px 12px;font-size:14px;line-height:1.2;border-radius:8px;white-space:nowrap;text-decoration:none}}@media (max-width: 480px){.logo{font-size:1.125rem}.welcome-text{max-width:60px}.nav-item{font-size:13px;padding:10px}.learning-center .learning-card-header{display:flex;flex-direction:column;align-items:stretch;gap:10px}.learning-center .learning-card-actions{width:100%;display:flex;justify-content:center;gap:8px;flex-wrap:nowrap}.learning-center .learning-card-actions .btn{width:84px;height:40px;min-height:40px;padding:0;display:inline-flex;align-items:center;justify-content:center;flex:0 0 84px}.learning-center .learning-card-actions .btn:last-child{flex-basis:auto;width:84px;margin-top:0;align-self:auto}}button,input[type=button],input[type=submit],input[type=reset],.option-item,.question-text{user-select:none;-webkit-user-select:none;caret-color:transparent}@media (max-width: 1023px){.hide-1023px-down{display:none!important}}@media (max-width: 768px){.hide-768px-down{display:none!important}}@media (max-width: 480px){.hide-480px-down{display:none!important}}
