@import url(https://fonts.googleapis.com/css2?family=Nunito:wght@400;600;700;800&family=Fredoka:wght@400;500;600;700&display=swap);@import url(https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.0/css/all.min.css);.layout[data-v-974e8bde]{min-height:100vh;display:flex;flex-direction:column;background:var(--background);max-width:100vw;overflow-x:hidden}.layout-header[data-v-974e8bde]{background:var(--surface);box-shadow:var(--shadow-sm);position:sticky;top:0;z-index:100}.header-content[data-v-974e8bde]{max-width:1400px;margin:0 auto;padding:16px 24px;display:flex;align-items:center;justify-content:space-between}.logo[data-v-974e8bde]{display:flex;align-items:center;gap:12px;font-family:Fredoka,sans-serif;font-size:1.5rem;font-weight:700;color:var(--primary-dark)}.logo-icon[data-v-974e8bde]{width:40px;height:40px;background:linear-gradient(135deg,var(--primary) 0,var(--primary-dark) 100%);border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center;color:#fff;font-size:1.25rem}.header-actions[data-v-974e8bde]{display:flex;align-items:center;gap:12px}.user-avatar[data-v-974e8bde]{width:40px;height:40px;background:linear-gradient(135deg,var(--primary-light) 0,var(--primary) 100%);border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff;font-size:1.25rem;cursor:pointer;transition:all .3s ease}.user-avatar[data-v-974e8bde]:hover{transform:scale(1.1);box-shadow:var(--shadow-md)}.back-btn[data-v-974e8bde]{padding:8px 16px;border:2px solid var(--primary);border-radius:var(--radius-md);background:#fff;color:var(--primary);font-size:.875rem;font-weight:600;cursor:pointer;transition:all .3s ease;display:flex;align-items:center;gap:6px;text-decoration:none}.back-btn[data-v-974e8bde]:hover{background:var(--primary);color:#fff}.layout-body[data-v-974e8bde]{flex:1;max-width:1400px;width:100%;margin:0 auto;padding:24px}.layout-content[data-v-974e8bde]{width:100%}.layout-footer[data-v-974e8bde]{background:var(--surface);border-top:1px solid var(--border);margin-top:auto}.footer-content[data-v-974e8bde]{max-width:1400px;margin:0 auto;padding:24px;text-align:center;color:var(--text-secondary);font-size:.875rem}@media (max-width:1024px){.layout-body[data-v-974e8bde]{padding:16px}}@media (max-width:768px){.layout[data-v-974e8bde]{max-width:100vw}.header-content[data-v-974e8bde]{padding:12px 12px}.logo[data-v-974e8bde]{font-size:1.125rem;gap:8px}.logo-icon[data-v-974e8bde]{width:32px;height:32px;font-size:.875rem}.back-btn[data-v-974e8bde]{padding:6px 10px;font-size:.75rem}.layout-body[data-v-974e8bde]{padding:12px 8px;gap:12px}.footer-content[data-v-974e8bde]{padding:16px 12px}}@media (max-width:480px){.header-content[data-v-974e8bde]{padding:10px 8px}.logo[data-v-974e8bde]{font-size:1rem}.logo-icon[data-v-974e8bde]{width:28px;height:28px;font-size:.75rem}.back-btn[data-v-974e8bde]{padding:4px 8px;font-size:.6875rem}.layout-body[data-v-974e8bde]{padding:8px 4px}.footer-content[data-v-974e8bde]{padding:12px 8px;font-size:.75rem}}[data-v-974e8bde] .el-dropdown-menu__item--hover,[data-v-974e8bde] .el-dropdown-menu__item:hover{background-color:var(--primary-light)!important;color:var(--primary-dark)!important}[data-v-974e8bde] .el-dropdown-menu{border:1px solid var(--border);box-shadow:var(--shadow-lg);border-radius:var(--radius-md);padding:8px 0}[data-v-974e8bde] .el-dropdown-menu__item{padding:10px 20px;font-size:.9375rem;color:var(--text-primary);transition:all .3s ease}[data-v-974e8bde] .el-dropdown-menu__item i{margin-right:8px;width:16px;text-align:center;color:var(--text-secondary);transition:all .3s ease}[data-v-974e8bde] .el-dropdown-menu__item:hover i{color:var(--primary)!important}[data-v-974e8bde] .el-dropdown-menu__item--divided{margin-top:6px;border-top:1px solid var(--border)}:root{--primary:#34d399;--primary-light:#a7f3d0;--primary-dark:#10b981;--secondary:#60a5fa;--secondary-light:#bfdbfe;--accent:#f59e0b;--accent-light:#fde68a;--danger:#ef4444;--danger-light:#fca5a5;--background:#f0fdf4;--surface:#fff;--text-primary:#1f2937;--text-secondary:#6b7280;--border:#e5e7eb;--shadow-sm:0 1px 2px 0 rgba(0,0,0,.05);--shadow-md:0 4px 6px -1px rgba(0,0,0,.1),0 2px 4px -1px rgba(0,0,0,.06);--shadow-lg:0 10px 15px -3px rgba(0,0,0,.1),0 4px 6px -2px rgba(0,0,0,.05);--shadow-xl:0 20px 25px -5px rgba(0,0,0,.1),0 10px 10px -5px rgba(0,0,0,.04);--radius-sm:12px;--radius-md:16px;--radius-lg:20px;--radius-xl:24px}*{margin:0;padding:0;box-sizing:border-box}body{font-family:Nunito,sans-serif;background:var(--background);color:var(--text-primary)}#app,body{min-height:100vh}[data-v-35e58607]:root{--primary:#34d399;--primary-light:#a7f3d0;--primary-dark:#10b981;--secondary:#60a5fa;--secondary-light:#bfdbfe;--accent:#f59e0b;--accent-light:#fde68a;--background:#f0fdf4;--surface:#fff;--text-primary:#1f2937;--text-secondary:#6b7280;--border:#e5e7eb;--shadow-sm:0 1px 2px 0 rgba(0,0,0,.05);--shadow-md:0 4px 6px -1px rgba(0,0,0,.1),0 2px 4px -1px rgba(0,0,0,.06);--shadow-lg:0 10px 15px -3px rgba(0,0,0,.1),0 4px 6px -2px rgba(0,0,0,.05);--shadow-xl:0 20px 25px -5px rgba(0,0,0,.1),0 10px 10px -5px rgba(0,0,0,.04);--radius-sm:12px;--radius-md:16px;--radius-lg:20px;--radius-xl:24px}.nav-page[data-v-35e58607]{width:100%}.main-content[data-v-35e58607]{max-width:1400px;width:100%;margin:0 auto;padding:32px 24px}.welcome-section[data-v-35e58607]{background:linear-gradient(135deg,var(--primary) 0,var(--primary-dark) 100%);border-radius:var(--radius-xl);padding:48px;margin-bottom:40px;color:#fff;position:relative;overflow:hidden;width:100%;box-sizing:border-box}.welcome-section[data-v-35e58607]:before{content:"";position:absolute;top:-50%;right:-20%;width:400px;height:400px;background:hsla(0,0%,100%,.1);border-radius:50%}.welcome-section[data-v-35e58607]:after{content:"";position:absolute;bottom:-30%;right:10%;width:200px;height:200px;background:hsla(0,0%,100%,.08);border-radius:50%}.welcome-content[data-v-35e58607]{position:relative;z-index:1}.welcome-greeting[data-v-35e58607]{font-size:1.125rem;opacity:.9;margin-bottom:8px}.welcome-title[data-v-35e58607]{font-family:Fredoka,sans-serif;font-size:2.5rem;font-weight:700;margin-bottom:16px}.welcome-subtitle[data-v-35e58607]{font-size:1.125rem;opacity:.9;max-width:500px}.stats-bar[data-v-35e58607]{display:flex;gap:24px;margin-top:32px;flex-wrap:wrap}.stat-item[data-v-35e58607]{background:hsla(0,0%,100%,.2);backdrop-filter:blur(10px);padding:16px 24px;border-radius:var(--radius-lg);display:flex;align-items:center;gap:12px}.stat-icon[data-v-35e58607]{width:44px;height:44px;background:hsla(0,0%,100%,.3);border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center;font-size:1.25rem}.stat-info[data-v-35e58607]{display:flex;flex-direction:column}.stat-value[data-v-35e58607]{font-family:Fredoka,sans-serif;font-size:1.5rem;font-weight:700}.stat-label[data-v-35e58607]{font-size:.875rem;opacity:.9}.content-grid[data-v-35e58607]{display:grid;grid-template-columns:1fr;gap:32px}.section-title[data-v-35e58607]{font-family:Fredoka,sans-serif;font-size:1.5rem;font-weight:700;color:var(--text-primary);margin-bottom:24px;display:flex;align-items:center;gap:12px}.section-title-icon[data-v-35e58607]{width:36px;height:36px;background:linear-gradient(135deg,var(--primary) 0,var(--primary-dark) 100%);border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center;color:#fff;font-size:1rem}.modules-grid[data-v-35e58607]{display:flex;flex-wrap:wrap;justify-content:flex-start;gap:16px;padding:8px 0}.module-card[data-v-35e58607]{background:transparent;border-radius:var(--radius-md);padding:16px 20px;cursor:pointer;text-decoration:none;color:var(--text-primary);display:flex;flex-direction:column;align-items:center;text-align:center;transition:all .2s ease}.module-card[data-v-35e58607]:hover{background:var(--primary-light)}.module-card.featured .module-icon[data-v-35e58607]{animation:pulse-35e58607 2s infinite}@keyframes pulse-35e58607{0%,to{box-shadow:0 0 0 0 rgba(52,211,153,.4)}50%{box-shadow:0 0 0 8px rgba(52,211,153,0)}}.module-icon[data-v-35e58607]{width:44px;height:44px;background:linear-gradient(135deg,var(--primary) 0,var(--primary-dark) 100%);border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff;font-size:1.125rem;margin-bottom:8px}.module-title[data-v-35e58607]{font-family:Fredoka,sans-serif;font-size:.875rem;font-weight:600;color:var(--text-primary);line-height:1.2;white-space:nowrap}.empty-modules[data-v-35e58607]{width:100%;text-align:center;padding:40px 20px;color:var(--text-secondary);font-size:.875rem}@media (max-width:768px){.main-content[data-v-35e58607]{padding:16px 12px}.welcome-section[data-v-35e58607]{padding:24px 16px;margin-left:-4px;margin-right:-4px;border-radius:16px}.welcome-title[data-v-35e58607]{font-size:1.5rem}.welcome-subtitle[data-v-35e58607]{font-size:.9375rem}.modules-grid[data-v-35e58607]{gap:12px}.module-card[data-v-35e58607]{padding:14px 18px}}@media (max-width:480px){.main-content[data-v-35e58607]{padding:12px 8px}.welcome-section[data-v-35e58607]{padding:20px 12px;margin-left:-4px;margin-right:-4px;border-radius:12px}.welcome-greeting[data-v-35e58607]{font-size:1rem}.welcome-title[data-v-35e58607]{font-size:1.25rem}.welcome-subtitle[data-v-35e58607]{font-size:.875rem;max-width:100%}.modules-grid[data-v-35e58607]{gap:10px}.module-card[data-v-35e58607]{padding:12px 16px;flex:0 0 auto;width:calc(33.33% - 8px)}.module-icon[data-v-35e58607]{width:40px;height:40px;font-size:1rem;margin-bottom:8px}.module-title[data-v-35e58607]{font-size:.875rem}.section-title[data-v-35e58607]{font-size:1rem;margin-bottom:16px}.section-title-icon[data-v-35e58607]{width:28px;height:28px}.content-grid[data-v-35e58607]{gap:20px}}[data-v-21391ce2]:root{--primary:#34d399;--primary-light:#a7f3d0;--primary-dark:#10b981;--secondary:#60a5fa;--secondary-light:#bfdbfe;--accent:#f59e0b;--accent-light:#fde68a;--danger:#ef4444;--danger-light:#fca5a5;--background:#f0fdf4;--surface:#fff;--text-primary:#1f2937;--text-secondary:#6b7280;--border:#e5e7eb;--shadow-sm:0 1px 2px 0 rgba(0,0,0,.05);--shadow-md:0 4px 6px -1px rgba(0,0,0,.1),0 2px 4px -1px rgba(0,0,0,.06);--shadow-lg:0 10px 15px -3px rgba(0,0,0,.1),0 4px 6px -2px rgba(0,0,0,.05);--shadow-xl:0 20px 25px -5px rgba(0,0,0,.1),0 10px 10px -5px rgba(0,0,0,.04);--radius-sm:12px;--radius-md:16px;--radius-lg:20px;--radius-xl:24px}.word-learning-page[data-v-21391ce2]{width:100%}.main-content[data-v-21391ce2]{max-width:1400px;width:100%;margin:0 auto;padding:32px 24px}.page-title[data-v-21391ce2]{text-align:center;margin-bottom:40px}.page-title h1[data-v-21391ce2]{font-family:Fredoka,sans-serif;font-size:2.5rem;font-weight:700;color:var(--text-primary);margin-bottom:8px}.page-title p[data-v-21391ce2]{font-size:1.125rem;color:var(--text-secondary)}.mode-switch-container[data-v-21391ce2]{display:flex;justify-content:center;padding:24px;background:var(--surface);border-radius:var(--radius-xl);box-shadow:var(--shadow-md);margin-bottom:32px}.mode-switch[data-v-21391ce2]{display:flex;align-items:center;gap:16px;background:var(--background);padding:8px;border-radius:var(--radius-xl);box-shadow:var(--shadow-sm)}.mode-switch-label[data-v-21391ce2]{font-family:Fredoka,sans-serif;font-size:1rem;font-weight:600;color:var(--text-secondary);transition:all .3s ease;padding:0 8px}.mode-switch-label.active[data-v-21391ce2]{color:var(--primary)}.mode-switch-toggle[data-v-21391ce2]{position:relative;width:60px;height:32px;background:#a7f3d0;border-radius:16px;cursor:pointer;transition:all .3s ease;box-shadow:inset 0 2px 4px rgba(0,0,0,.1)}.mode-switch-toggle.active[data-v-21391ce2]{background:var(--primary)}.mode-switch-slider[data-v-21391ce2]{position:absolute;top:4px;left:4px;width:24px;height:24px;background:#fff;border-radius:50%;transition:all .3s ease;box-shadow:var(--shadow-sm)}.mode-switch-toggle.active .mode-switch-slider[data-v-21391ce2]{transform:translateX(28px)}.learning-mode[data-v-21391ce2]{display:none}.learning-mode.active[data-v-21391ce2]{display:block}.practice-mode[data-v-21391ce2]{display:none}.practice-mode.active[data-v-21391ce2]{display:block}.word-card-container[data-v-21391ce2]{perspective:1000px;margin-bottom:16px}.word-card[data-v-21391ce2]{background:var(--surface);border-radius:var(--radius-xl);box-shadow:var(--shadow-lg);cursor:pointer;transition:transform .6s;transform-style:preserve-3d;position:relative;min-height:240px}.word-card[data-v-21391ce2]:hover{box-shadow:var(--shadow-xl)}.word-card.flipped[data-v-21391ce2]{transform:rotateY(180deg)}.word-card[data-v-21391ce2]:before{content:"";position:absolute;top:0;left:0;right:0;height:6px;background:linear-gradient(90deg,var(--primary),var(--secondary));border-radius:var(--radius-xl) var(--radius-xl) 0 0;z-index:2}.word-card-back[data-v-21391ce2],.word-card-front[data-v-21391ce2]{position:absolute;width:100%;height:100%;backface-visibility:hidden;border-radius:var(--radius-xl);padding:40px 24px;display:flex;flex-direction:column;justify-content:center;align-items:center}.word-card-front[data-v-21391ce2]{background:var(--surface)}.word-card-back[data-v-21391ce2]{background:var(--background);transform:rotateY(180deg)}.word[data-v-21391ce2]{font-family:Fredoka,sans-serif;font-size:3rem;font-weight:700;color:var(--primary);margin-bottom:12px;text-shadow:2px 2px 4px rgba(0,0,0,.1)}.phonetic[data-v-21391ce2]{font-size:1.25rem;color:var(--text-secondary);font-style:italic;margin-bottom:20px}.word-meaning-front[data-v-21391ce2]{font-size:1.5rem;font-weight:600;color:var(--text-primary);padding:12px 24px;background:var(--background);border-radius:var(--radius-lg);margin-top:-15px}.example-sentence-back[data-v-21391ce2]{font-size:1.25rem;color:var(--text-primary);font-weight:600;line-height:1.6;margin-bottom:16px;text-align:center}.example-translation[data-v-21391ce2]{font-size:1.125rem;color:var(--text-secondary);line-height:1.6;text-align:center;padding:16px;background:var(--surface);border-radius:var(--radius-lg);width:100%}.flip-hint[data-v-21391ce2]{position:absolute;bottom:10px;font-size:.75rem;color:var(--text-secondary);opacity:.6}.action-buttons[data-v-21391ce2]{display:flex;justify-content:center;align-items:center;gap:8px;margin-bottom:16px;flex-wrap:nowrap}.action-buttons .nav-btn[data-v-21391ce2]{padding:12px 14px;font-size:.85rem;white-space:nowrap}.action-btn[data-v-21391ce2]{display:flex;align-items:center;gap:6px;padding:12px 16px;border:none;border-radius:var(--radius-lg);font-family:Fredoka,sans-serif;font-size:.9rem;font-weight:600;cursor:pointer;transition:all .3s ease;box-shadow:var(--shadow-sm);flex-shrink:0;white-space:nowrap;justify-content:center}.action-btn.primary[data-v-21391ce2]{background:var(--primary);color:#fff}.action-btn.primary[data-v-21391ce2]:hover{background:var(--primary-dark);transform:translateY(-2px);box-shadow:var(--shadow-md)}.action-btn.secondary[data-v-21391ce2]{background:var(--accent-light);color:var(--text-primary)}.action-btn.secondary[data-v-21391ce2]:hover{background:var(--accent);transform:translateY(-2px);box-shadow:var(--shadow-md)}.nav-btn[data-v-21391ce2]{padding:12px 20px;border:none;border-radius:var(--radius-lg);font-family:Fredoka,sans-serif;font-size:1rem;font-weight:600;cursor:pointer;transition:all .3s ease;background:var(--surface);color:var(--text-primary);box-shadow:var(--shadow-sm);display:flex;align-items:center;gap:8px}.nav-btn[data-v-21391ce2]:hover{background:var(--primary-light);color:var(--primary-dark);transform:translateY(-2px);box-shadow:var(--shadow-md)}.nav-btn[data-v-21391ce2]:disabled{opacity:.5;cursor:not-allowed;transform:none;box-shadow:none}.progress-bar[data-v-21391ce2]{background:var(--surface);border-radius:var(--radius-xl);padding:16px 20px;display:flex;flex-direction:column;gap:10px;box-shadow:var(--shadow-lg)}.progress-header[data-v-21391ce2]{display:flex;align-items:center;gap:12px}.progress-bar i[data-v-21391ce2]{font-size:1.5rem;color:var(--primary)}.progress-text[data-v-21391ce2]{font-size:1.125rem;color:var(--text-secondary);font-weight:600;white-space:nowrap}.progress-track[data-v-21391ce2]{width:100%;height:12px;background:var(--background);border-radius:var(--radius-md);overflow:hidden;box-shadow:inset 0 2px 4px rgba(0,0,0,.1)}.progress-fill[data-v-21391ce2]{height:100%;background:linear-gradient(90deg,var(--primary),var(--secondary));border-radius:var(--radius-md);transition:width .3s ease;box-shadow:0 2px 4px rgba(0,0,0,.2)}.stats-section[data-v-21391ce2]{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-top:24px;box-sizing:border-box}.stat-card[data-v-21391ce2]{background:var(--surface);border-radius:var(--radius-lg);padding:20px;box-shadow:var(--shadow-md);text-align:center;box-sizing:border-box}.stat-icon[data-v-21391ce2]{width:40px;height:40px;background:linear-gradient(135deg,var(--primary) 0,var(--primary-dark) 100%);border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center;color:#fff;font-size:1rem;margin:0 auto 12px}.stat-value[data-v-21391ce2]{font-family:Fredoka,sans-serif;font-size:1.5rem;font-weight:700;color:var(--text-primary);margin-bottom:4px}.stat-label[data-v-21391ce2]{font-size:.75rem;color:var(--text-secondary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.practice-type-tabs[data-v-21391ce2]{display:flex;flex-wrap:wrap;gap:12px;margin-bottom:24px}.practice-type-tab[data-v-21391ce2]{padding:12px 20px;border:none;border-radius:var(--radius-lg);font-family:Fredoka,sans-serif;font-size:1rem;font-weight:600;cursor:pointer;transition:all .3s ease;background:var(--surface);color:var(--text-secondary);box-shadow:var(--shadow-md)}.practice-type-tab.active[data-v-21391ce2]{background:var(--primary);color:#fff;box-shadow:var(--shadow-lg);transform:translateY(-2px)}.practice-type-tab[data-v-21391ce2]:hover:not(.active){background:var(--primary-light);color:var(--primary-dark);transform:translateY(-2px);box-shadow:var(--shadow-lg)}.question-card[data-v-21391ce2]{background:var(--surface);border-radius:var(--radius-xl);padding:32px 24px;box-shadow:var(--shadow-lg);margin-bottom:24px;transition:all .3s ease}.question-card[data-v-21391ce2]:hover{transform:translateY(-4px);box-shadow:var(--shadow-xl)}.question-text[data-v-21391ce2]{font-family:Fredoka,sans-serif;font-size:1.5rem;font-weight:600;color:var(--text-primary);text-align:center;margin-bottom:32px}.options-grid[data-v-21391ce2]{display:grid;grid-template-columns:repeat(2,1fr);gap:16px;margin-bottom:24px}.option-btn[data-v-21391ce2]{padding:20px;border:2px solid var(--border);border-radius:var(--radius-xl);font-family:Fredoka,sans-serif;font-size:1.125rem;font-weight:600;cursor:pointer;transition:all .3s ease;background:var(--surface);color:var(--text-primary);box-shadow:var(--shadow-sm)}.option-btn[data-v-21391ce2]:hover{border-color:var(--primary);background:var(--background);transform:translateY(-2px);box-shadow:var(--shadow-md)}.option-btn.selected[data-v-21391ce2]{border-color:var(--primary);background:var(--primary-light);color:var(--primary-dark);box-shadow:var(--shadow-md)}.option-btn.correct[data-v-21391ce2]{border-color:var(--secondary);background:var(--secondary-light);color:#065f46;box-shadow:var(--shadow-md)}.option-btn.incorrect[data-v-21391ce2]{border-color:var(--danger);background:var(--danger-light);color:#991b1b;box-shadow:var(--shadow-md)}.submit-btn[data-v-21391ce2]{width:100%;max-width:200px;padding:16px 32px;border:none;border-radius:var(--radius-xl);font-family:Fredoka,sans-serif;font-size:1.125rem;font-weight:700;cursor:pointer;transition:all .3s ease;background:var(--primary);color:#fff;box-shadow:var(--shadow-md);display:block;margin:0 auto}.submit-btn[data-v-21391ce2]:hover{background:var(--primary-dark);transform:translateY(-3px);box-shadow:var(--shadow-lg)}.submit-btn[data-v-21391ce2]:disabled{opacity:.5;cursor:not-allowed;transform:none;box-shadow:var(--shadow-sm)}.retry-btn[data-v-21391ce2]{background:var(--accent)!important;color:#fff!important}.retry-btn[data-v-21391ce2]:hover{background:#d97706!important;transform:scale(1.05)}.letter-btn.disabled[data-v-21391ce2]{opacity:.5;cursor:not-allowed}.practice-action-row[data-v-21391ce2]{display:flex;justify-content:center;align-items:center;gap:16px;margin-top:20px}.practice-action-row .submit-btn[data-v-21391ce2]{margin:0}.practice-action-row .nav-btn[data-v-21391ce2]{padding:10px 16px;font-size:.9rem}.feedback-modal[data-v-21391ce2]{display:none;position:fixed;top:0;left:0;width:100%;height:100%;background:rgba(0,0,0,.5);z-index:1000;justify-content:center;align-items:center;backdrop-filter:blur(10px);padding:24px}.feedback-modal.visible[data-v-21391ce2]{display:flex}.feedback-modal-content[data-v-21391ce2]{background:var(--surface);border-radius:var(--radius-xl);width:90%;max-width:500px;box-shadow:var(--shadow-xl);animation:modalFadeIn-21391ce2 .3s ease}.feedback-modal-header[data-v-21391ce2]{display:flex;flex-direction:column;align-items:center;padding:32px 24px;text-align:center}.feedback-modal-icon[data-v-21391ce2]{font-size:4rem;margin-bottom:16px}.feedback-modal-title[data-v-21391ce2]{font-family:Fredoka,sans-serif;font-size:1.75rem;font-weight:700;color:var(--text-primary)}.feedback-modal-footer[data-v-21391ce2]{padding:24px;border-top:1px solid var(--border);text-align:center}.feedback-modal-btn[data-v-21391ce2]{padding:12px 32px;border:none;border-radius:var(--radius-lg);background:linear-gradient(135deg,var(--primary) 0,var(--primary-dark) 100%);color:#fff;font-size:1rem;font-weight:600;cursor:pointer;transition:all .3s ease;box-shadow:var(--shadow-md)}.feedback-modal-btn[data-v-21391ce2]:hover{transform:translateY(-2px);box-shadow:var(--shadow-lg)}.next-btn[data-v-21391ce2]{width:100%;padding:20px;border:none;border-radius:var(--radius-xl);font-family:Fredoka,sans-serif;font-size:1.125rem;font-weight:700;cursor:pointer;transition:all .3s ease;background:var(--secondary);color:#fff;box-shadow:var(--shadow-md)}.next-btn[data-v-21391ce2]:hover{background:#059669;transform:translateY(-3px);box-shadow:var(--shadow-lg)}.empty-wrong-words[data-v-21391ce2]{text-align:center;padding:60px 30px;color:var(--text-secondary);font-size:1.125rem;grid-column:1/-1}.wrong-word-card[data-v-21391ce2]{padding:20px;border:2px solid var(--border);border-radius:var(--radius-lg);margin-bottom:12px;background:var(--surface);box-shadow:var(--shadow-sm);transition:all .3s ease;cursor:pointer;grid-column:1/-1}.wrong-word-card[data-v-21391ce2]:hover{border-color:var(--primary);box-shadow:var(--shadow-md);transform:translateY(-2px)}.spelling-area[data-v-21391ce2]{text-align:center;margin-bottom:30px}.word-display[data-v-21391ce2]{font-size:2.5rem;font-family:Fredoka,sans-serif;font-weight:700;min-height:80px;padding:20px;border:3px solid var(--primary-light);border-radius:var(--radius-lg);margin-bottom:25px;background:#fff;box-shadow:var(--shadow-sm);transition:all .3s ease;width:100%;max-width:600px;margin-left:auto;margin-right:auto}.letters-container[data-v-21391ce2]{display:flex;justify-content:center;gap:15px;margin-bottom:25px;flex-wrap:wrap}.letter-btn[data-v-21391ce2]{padding:20px 25px;font-size:1.5rem;font-weight:600;border:3px solid var(--border);border-radius:var(--radius-xl);background:#fff;color:var(--text-primary);cursor:pointer;transition:all .3s ease;box-shadow:var(--shadow-sm)}.letter-btn[data-v-21391ce2]:hover:not(:disabled){border-color:var(--primary);transform:translateY(-3px);box-shadow:var(--shadow-md)}.letter-btn[data-v-21391ce2]:disabled{opacity:.5;cursor:not-allowed;transform:none;box-shadow:none}.spelling-buttons[data-v-21391ce2]{display:flex;justify-content:center;gap:15px}.spelling-all-buttons[data-v-21391ce2]{display:flex;justify-content:center;align-items:center;gap:12px;flex-wrap:nowrap;flex-direction:row}.spelling-all-buttons .action-btn[data-v-21391ce2]{padding:10px 16px;font-size:.9rem;white-space:nowrap;flex-shrink:0}.spelling-all-buttons .action-btn[data-v-21391ce2]:disabled{opacity:.4;cursor:not-allowed;transform:none!important}.spelling-all-buttons .action-btn.accent[data-v-21391ce2]{background:var(--accent);color:#fff}.spelling-all-buttons .action-btn.accent[data-v-21391ce2]:hover{background:#d97706}.ai-modal[data-v-21391ce2]{display:none;position:fixed;top:0;left:0;width:100%;height:100%;background:rgba(0,0,0,.5);z-index:1000;justify-content:center;align-items:center;backdrop-filter:blur(10px);padding:24px}.ai-modal.visible[data-v-21391ce2]{display:flex}.ai-modal-content[data-v-21391ce2]{background:var(--surface);border-radius:var(--radius-xl);width:90%;max-width:600px;max-height:80vh;overflow-y:auto;box-shadow:var(--shadow-xl);animation:modalFadeIn-21391ce2 .3s ease}.ai-modal-header[data-v-21391ce2]{display:flex;justify-content:space-between;align-items:center;padding:24px;border-bottom:1px solid var(--border)}.ai-modal-title[data-v-21391ce2]{font-family:Fredoka,sans-serif;font-size:1.5rem;font-weight:700;color:var(--primary)}.ai-modal-close[data-v-21391ce2]{background:var(--background);border:none;font-size:1.75rem;cursor:pointer;color:var(--text-secondary);transition:all .3s ease;width:40px;height:40px;border-radius:var(--radius-lg);display:flex;align-items:center;justify-content:center}.ai-modal-close[data-v-21391ce2]:hover{color:var(--danger);transform:scale(1.1);background:var(--danger-light)}.ai-modal-body[data-v-21391ce2]{padding:24px}.ai-modal-section[data-v-21391ce2]{margin-bottom:20px}.ai-modal-section-title[data-v-21391ce2]{font-weight:600;color:var(--text-primary);margin-bottom:12px;font-size:1.125rem}.ai-modal-section-content[data-v-21391ce2]{color:var(--text-secondary);font-size:1.125rem;line-height:1.8}@keyframes fadeIn-21391ce2{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes modalFadeIn-21391ce2{0%{opacity:0;transform:translateY(-20px) scale(.9)}to{opacity:1;transform:translateY(0) scale(1)}}@media (max-width:768px){.main-content[data-v-21391ce2]{padding:20px 16px}.mode-switch-container[data-v-21391ce2]{padding:16px}.word-card[data-v-21391ce2]{min-height:200px}.word[data-v-21391ce2]{font-size:2.5rem}.action-buttons[data-v-21391ce2]{flex-wrap:wrap}.options-grid[data-v-21391ce2]{grid-template-columns:1fr}.letters-container[data-v-21391ce2]{gap:10px}.letter-btn[data-v-21391ce2]{padding:15px 20px;font-size:1.25rem}}@media (max-width:480px){.word[data-v-21391ce2]{font-size:2rem}.word-card[data-v-21391ce2]{min-height:180px;padding:20px 16px}.practice-type-tabs[data-v-21391ce2]{flex-direction:column}.practice-type-tab[data-v-21391ce2]{width:100%}}[data-v-1eb18de5]:root{--primary:#34d399;--primary-light:#a7f3d0;--primary-dark:#10b981;--secondary:#60a5fa;--accent:#f59e0b;--background:#f0fdf4;--surface:#fff;--text-primary:#1f2937;--text-secondary:#6b7280;--border:#e5e7eb;--radius-sm:8px;--radius-md:12px;--radius-lg:16px}.resources-page[data-v-1eb18de5]{width:100%}.main-content[data-v-1eb18de5]{max-width:1400px;width:100%;margin:0 auto;padding:24px;box-sizing:border-box}.header-row[data-v-1eb18de5]{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-bottom:16px}.page-title[data-v-1eb18de5]{font-family:Fredoka,sans-serif;font-size:1.5rem;font-weight:700;color:var(--text-primary);margin:0;display:flex;align-items:center;gap:10px;white-space:nowrap}.page-title-icon[data-v-1eb18de5]{width:36px;height:36px;background:linear-gradient(135deg,#8b5cf6,#7c3aed);border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center;color:#fff;font-size:1rem}.header-controls[data-v-1eb18de5]{display:flex;align-items:center;gap:12px}.filter-box[data-v-1eb18de5]{position:relative}.filter-select[data-v-1eb18de5]{-webkit-appearance:none;-moz-appearance:none;appearance:none;padding:10px 36px 10px 14px;border:2px solid var(--border);border-radius:var(--radius-lg);font-size:.875rem;font-family:Nunito,sans-serif;background:var(--surface);color:var(--text-primary);cursor:pointer;transition:all .3s ease;min-width:130px}.filter-select[data-v-1eb18de5]:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px rgba(52,211,153,.1)}.select-arrow[data-v-1eb18de5]{position:absolute;right:12px;top:50%;transform:translateY(-50%);color:var(--text-secondary);font-size:.75rem;pointer-events:none}.search-box[data-v-1eb18de5]{position:relative;flex:1;max-width:320px}.search-input[data-v-1eb18de5]{width:100%;padding:10px 40px 10px 16px;border:2px solid var(--border);border-radius:var(--radius-lg);font-size:.875rem;font-family:Nunito,sans-serif;transition:all .3s ease;background:var(--surface)}.search-input[data-v-1eb18de5]:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px rgba(52,211,153,.1)}.search-icon[data-v-1eb18de5]{position:absolute;right:14px;top:50%;transform:translateY(-50%);color:var(--text-secondary);font-size:.875rem}.tip-bar[data-v-1eb18de5]{background:var(--primary-light);border-radius:var(--radius-md);padding:10px 16px;margin-bottom:16px;display:flex;align-items:center;gap:10px;font-size:.8125rem;color:var(--primary-dark)}.resources-table[data-v-1eb18de5]{background:var(--surface);border-radius:var(--radius-lg);box-shadow:0 1px 3px rgba(0,0,0,.08);overflow:hidden}.table-header[data-v-1eb18de5]{background:#f9fafb;font-size:.75rem;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px}.table-header[data-v-1eb18de5],.table-row[data-v-1eb18de5]{display:grid;grid-template-columns:60px 1fr 100px 90px 120px;gap:12px;padding:12px 16px;border-bottom:1px solid var(--border)}.table-row[data-v-1eb18de5]{align-items:center;transition:background .2s ease}.table-row[data-v-1eb18de5]:last-child{border-bottom:none}.table-row[data-v-1eb18de5]:hover{background:#f9fafb}.table-row.installed[data-v-1eb18de5]{background:linear-gradient(90deg,rgba(52,211,153,.03),transparent)}.resource-icon[data-v-1eb18de5]{width:44px;height:44px;border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center;color:#fff;font-size:1.125rem}.resource-icon.word[data-v-1eb18de5]{background:linear-gradient(135deg,var(--primary) 0,var(--primary-dark) 100%)}.resource-icon.listening[data-v-1eb18de5]{background:linear-gradient(135deg,var(--secondary) 0,#3b82f6 100%)}.resource-icon.sentence[data-v-1eb18de5]{background:linear-gradient(135deg,#8b5cf6,#7c3aed)}.resource-icon.writing[data-v-1eb18de5]{background:linear-gradient(135deg,var(--accent) 0,#d97706 100%)}.resource-icon.basic[data-v-1eb18de5]{background:linear-gradient(135deg,var(--primary) 0,var(--primary-dark) 100%)}.col-name[data-v-1eb18de5]{display:flex;flex-direction:column;gap:2px;min-width:0}.resource-title[data-v-1eb18de5]{font-weight:600;font-size:.875rem;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.resource-desc[data-v-1eb18de5]{font-size:.75rem;color:var(--text-secondary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.type-tag[data-v-1eb18de5]{background:var(--primary-light);color:var(--primary-dark);white-space:nowrap}.status-badge[data-v-1eb18de5],.type-tag[data-v-1eb18de5]{display:inline-flex;padding:4px 10px;border-radius:var(--radius-sm);font-size:.75rem;font-weight:600}.status-badge[data-v-1eb18de5]{align-items:center;gap:5px}.status-badge.installed[data-v-1eb18de5]{background:var(--primary-light);color:var(--primary-dark)}.status-badge.not-installed[data-v-1eb18de5]{background:#f3f4f6;color:var(--text-secondary)}.status-badge i[data-v-1eb18de5]{font-size:.625rem}.col-action[data-v-1eb18de5]{display:flex;gap:8px;justify-content:flex-end}.btn-install[data-v-1eb18de5],.btn-uninstall[data-v-1eb18de5]{display:inline-flex;align-items:center;gap:6px;padding:7px 14px;border:none;border-radius:var(--radius-sm);font-size:.75rem;font-weight:600;cursor:pointer;transition:all .2s ease;white-space:nowrap}.btn-install[data-v-1eb18de5]{background:linear-gradient(135deg,var(--primary) 0,var(--primary-dark) 100%);color:#fff}.btn-install[data-v-1eb18de5]:hover{transform:translateY(-1px);box-shadow:0 2px 8px rgba(52,211,153,.3)}.btn-install[data-v-1eb18de5]:disabled{opacity:.7;cursor:not-allowed;transform:none}.btn-uninstall[data-v-1eb18de5]{background:linear-gradient(135deg,#ef4444,#dc2626);color:#fff}.btn-uninstall[data-v-1eb18de5]:hover{transform:translateY(-1px);box-shadow:0 2px 8px rgba(239,68,68,.3)}.empty-state[data-v-1eb18de5]{text-align:center;padding:60px 20px;color:var(--text-secondary)}.empty-state i[data-v-1eb18de5]{font-size:3rem;margin-bottom:16px;opacity:.3}.empty-state p[data-v-1eb18de5]{font-size:.875rem}@media (max-width:1024px){.table-header[data-v-1eb18de5],.table-row[data-v-1eb18de5]{grid-template-columns:50px 1fr 80px 85px 100px;gap:10px;padding:10px 12px}.resource-icon[data-v-1eb18de5]{width:38px;height:38px;font-size:1rem}.status-badge[data-v-1eb18de5],.type-tag[data-v-1eb18de5]{padding:3px 8px;font-size:.6875rem}.btn-install[data-v-1eb18de5],.btn-uninstall[data-v-1eb18de5]{padding:6px 10px;font-size:.6875rem}.btn-install span[data-v-1eb18de5],.btn-uninstall span[data-v-1eb18de5]{display:none}}@media (max-width:768px){.header-row[data-v-1eb18de5]{flex-direction:column;align-items:stretch;gap:12px}.page-title[data-v-1eb18de5]{font-size:1.25rem}.search-box[data-v-1eb18de5]{max-width:none}.filter-select[data-v-1eb18de5]{min-width:110px;font-size:.8125rem;padding:8px 32px 8px 12px}.table-header[data-v-1eb18de5]{display:none}.table-row[data-v-1eb18de5]{display:flex;flex-wrap:wrap;padding:12px;gap:8px}.col-icon[data-v-1eb18de5]{flex-shrink:0}.resource-icon[data-v-1eb18de5]{width:40px;height:40px}.col-name[data-v-1eb18de5]{flex:1;min-width:calc(100% - 56px)}.col-type[data-v-1eb18de5]{display:none}.col-status[data-v-1eb18de5]{flex:1;display:flex;justify-content:flex-end}.col-action[data-v-1eb18de5]{width:100%;justify-content:flex-end;padding-top:8px;border-top:1px dashed var(--border);margin-top:4px}.btn-install[data-v-1eb18de5],.btn-uninstall[data-v-1eb18de5]{padding:8px 16px}.btn-install span[data-v-1eb18de5],.btn-uninstall span[data-v-1eb18de5]{display:inline}}@media (max-width:480px){.main-content[data-v-1eb18de5]{padding:16px 12px}.page-title[data-v-1eb18de5]{font-size:1.125rem}.page-title-icon[data-v-1eb18de5]{width:30px;height:30px;font-size:.875rem}.header-controls[data-v-1eb18de5]{flex-direction:column;width:100%;gap:8px}.filter-select[data-v-1eb18de5]{width:100%;min-width:auto}.tip-bar[data-v-1eb18de5]{font-size:.75rem;padding:8px 12px}.table-row[data-v-1eb18de5]{padding:10px}.resource-icon[data-v-1eb18de5]{width:36px;height:36px;font-size:.875rem}.resource-title[data-v-1eb18de5]{font-size:.8125rem}.resource-desc[data-v-1eb18de5]{font-size:.6875rem}.status-badge span[data-v-1eb18de5]:last-child{display:none}.col-action[data-v-1eb18de5]{gap:6px}.btn-install[data-v-1eb18de5],.btn-uninstall[data-v-1eb18de5]{padding:6px 10px}}.pagination-container[data-v-1eb18de5]{display:flex;align-items:center;justify-content:space-between;margin-top:20px;padding:16px 20px;background:var(--surface);border-radius:var(--radius-lg);box-shadow:0 1px 3px rgba(0,0,0,.08)}.pagination-info[data-v-1eb18de5]{font-size:.8125rem;color:var(--text-secondary)}.pagination[data-v-1eb18de5]{display:flex;align-items:center;gap:6px}.page-btn[data-v-1eb18de5]{display:inline-flex;align-items:center;justify-content:center;min-width:36px;height:36px;padding:0 10px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);color:var(--text-primary);font-size:.8125rem;font-weight:500;cursor:pointer;transition:all .2s ease}.page-btn[data-v-1eb18de5]:hover:not(:disabled){border-color:var(--primary);color:var(--primary)}.page-btn[data-v-1eb18de5]:disabled{opacity:.4;cursor:not-allowed}.page-btn.active[data-v-1eb18de5]{background:linear-gradient(135deg,var(--primary) 0,var(--primary-dark) 100%);border-color:var(--primary);color:#fff}.page-size-selector[data-v-1eb18de5]{display:flex;align-items:center;gap:8px;font-size:.8125rem;color:var(--text-secondary)}.page-size-selector select[data-v-1eb18de5]{padding:6px 10px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);font-size:.8125rem;cursor:pointer}.page-size-selector select[data-v-1eb18de5]:focus{outline:none;border-color:var(--primary)}@media (max-width:768px){.pagination-container[data-v-1eb18de5]{flex-direction:column;gap:16px;padding:14px}.pagination-info[data-v-1eb18de5]{order:2}.page-size-selector[data-v-1eb18de5]{order:3}}@media (max-width:480px){.pagination[data-v-1eb18de5]{gap:4px}.page-btn[data-v-1eb18de5]{min-width:32px;height:32px;padding:0 8px;font-size:.75rem}}[data-v-d01250c8]:root{--primary:#34d399;--primary-light:#a7f3d0;--primary-dark:#10b981;--secondary:#60a5fa;--accent:#f59e0b;--background:#f0fdf4;--surface:#fff;--text-primary:#1f2937;--text-secondary:#6b7280;--border:#e5e7eb;--radius-sm:8px;--radius-md:12px;--radius-lg:16px}.writing-modules-page[data-v-d01250c8]{width:100%}.main-content[data-v-d01250c8]{max-width:1400px;width:100%;margin:0 auto;padding:24px;box-sizing:border-box}.header-row[data-v-d01250c8]{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-bottom:20px}.page-title[data-v-d01250c8]{display:flex;align-items:center;gap:14px;margin-bottom:0}.page-title-icon[data-v-d01250c8]{width:48px;height:48px;background:linear-gradient(135deg,var(--accent) 0,#d97706 100%);border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center;color:#fff;font-size:1.25rem}.title-text h1[data-v-d01250c8]{font-family:Fredoka,sans-serif;font-size:1.5rem;font-weight:700;color:var(--text-primary);margin:0}.title-text p[data-v-d01250c8]{font-size:.875rem;color:var(--text-secondary);margin:0}.search-box[data-v-d01250c8]{position:relative;width:280px}.search-input[data-v-d01250c8]{width:100%;padding:10px 40px 10px 16px;border:2px solid var(--border);border-radius:var(--radius-lg);font-size:.875rem;background:var(--surface);transition:all .3s ease}.search-input[data-v-d01250c8]:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px rgba(52,211,153,.1)}.search-icon[data-v-d01250c8]{position:absolute;right:14px;top:50%;transform:translateY(-50%);color:var(--text-secondary);font-size:.875rem}.content-table[data-v-d01250c8]{background:var(--surface);border-radius:var(--radius-lg);box-shadow:0 1px 3px rgba(0,0,0,.08);overflow:hidden}.table-header[data-v-d01250c8]{padding:12px 20px;background:#f9fafb;font-size:.75rem;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px}.table-header[data-v-d01250c8],.table-row[data-v-d01250c8]{display:grid;grid-template-columns:56px 1fr 1.5fr 180px 100px;gap:16px;border-bottom:1px solid var(--border)}.table-row[data-v-d01250c8]{padding:14px 20px;align-items:center;cursor:pointer;transition:background .2s ease}.table-row[data-v-d01250c8]:last-child{border-bottom:none}.table-row[data-v-d01250c8]:hover{background:#f9fafb}.table-row.completed[data-v-d01250c8]{background:linear-gradient(90deg,rgba(245,158,11,.03),transparent)}.content-icon[data-v-d01250c8]{width:44px;height:44px;background:linear-gradient(135deg,var(--accent) 0,#d97706 100%);border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center;color:#fff;font-size:1.125rem}.table-row.completed .content-icon[data-v-d01250c8]{background:linear-gradient(135deg,#d97706,#b45309)}.content-title[data-v-d01250c8]{font-weight:600;font-size:.9375rem;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.content-desc[data-v-d01250c8]{font-size:.8125rem;color:var(--text-secondary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.col-progress[data-v-d01250c8]{display:flex;align-items:center;gap:10px}.progress-bar[data-v-d01250c8]{flex:1;height:6px;background:var(--border);border-radius:3px;overflow:hidden}.progress-fill[data-v-d01250c8]{height:100%;background:linear-gradient(90deg,var(--accent) 0,#d97706 100%);border-radius:3px;transition:width .3s ease}.progress-text[data-v-d01250c8]{font-size:.75rem;font-weight:600;color:#d97706;min-width:40px}.btn-start[data-v-d01250c8]{display:inline-flex;align-items:center;gap:6px;padding:8px 16px;background:linear-gradient(135deg,var(--accent) 0,#d97706 100%);color:#fff;border:none;border-radius:var(--radius-sm);font-size:.8125rem;font-weight:600;cursor:pointer;transition:all .2s ease;justify-content:center}.btn-start[data-v-d01250c8]:hover{transform:translateY(-1px);box-shadow:0 3px 10px rgba(245,158,11,.3)}.empty-state[data-v-d01250c8]{text-align:center;padding:60px 20px;color:var(--text-secondary)}.empty-state i[data-v-d01250c8]{font-size:3rem;margin-bottom:16px;opacity:.3}@media (max-width:1024px){.table-header[data-v-d01250c8],.table-row[data-v-d01250c8]{grid-template-columns:48px 1fr 1fr 140px 90px;gap:12px;padding:12px 16px}.content-icon[data-v-d01250c8]{width:40px;height:40px;font-size:1rem}}@media (max-width:768px){.header-row[data-v-d01250c8]{flex-direction:column;align-items:stretch;gap:12px}.search-box[data-v-d01250c8]{width:100%}.title-text h1[data-v-d01250c8]{font-size:1.25rem}.table-header[data-v-d01250c8]{display:none}.table-row[data-v-d01250c8]{display:flex;flex-wrap:wrap;padding:14px;gap:10px}.col-icon[data-v-d01250c8]{flex-shrink:0}.col-name[data-v-d01250c8]{flex:1;min-width:calc(100% - 58px)}.col-desc[data-v-d01250c8]{width:100%;order:3}.col-progress[data-v-d01250c8]{flex:1}.col-action[data-v-d01250c8]{order:2}.btn-start span[data-v-d01250c8]{display:none}.btn-start[data-v-d01250c8]{padding:8px 12px}}@media (max-width:480px){.main-content[data-v-d01250c8]{padding:16px 12px}.page-title-icon[data-v-d01250c8]{width:40px;height:40px;font-size:1rem}.title-text h1[data-v-d01250c8]{font-size:1.125rem}.title-text p[data-v-d01250c8]{font-size:.75rem}.content-icon[data-v-d01250c8]{width:36px;height:36px;font-size:.875rem}.content-title[data-v-d01250c8]{font-size:.875rem}.content-desc[data-v-d01250c8]{font-size:.75rem}}[data-v-2427c440]:root{--primary:#34d399;--primary-light:#a7f3d0;--primary-dark:#10b981;--secondary:#60a5fa;--accent:#f59e0b;--background:#f0fdf4;--surface:#fff;--text-primary:#1f2937;--text-secondary:#6b7280;--border:#e5e7eb;--radius-sm:8px;--radius-md:12px;--radius-lg:16px}.sentence-modules-page[data-v-2427c440]{width:100%}.main-content[data-v-2427c440]{max-width:1400px;width:100%;margin:0 auto;padding:24px;box-sizing:border-box}.header-row[data-v-2427c440]{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-bottom:20px}.page-title[data-v-2427c440]{display:flex;align-items:center;gap:14px;margin-bottom:0}.page-title-icon[data-v-2427c440]{width:48px;height:48px;background:linear-gradient(135deg,#8b5cf6,#7c3aed);border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center;color:#fff;font-size:1.25rem}.title-text h1[data-v-2427c440]{font-family:Fredoka,sans-serif;font-size:1.5rem;font-weight:700;color:var(--text-primary);margin:0}.title-text p[data-v-2427c440]{font-size:.875rem;color:var(--text-secondary);margin:0}.search-box[data-v-2427c440]{position:relative;width:280px}.search-input[data-v-2427c440]{width:100%;padding:10px 40px 10px 16px;border:2px solid var(--border);border-radius:var(--radius-lg);font-size:.875rem;background:var(--surface);transition:all .3s ease}.search-input[data-v-2427c440]:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px rgba(52,211,153,.1)}.search-icon[data-v-2427c440]{position:absolute;right:14px;top:50%;transform:translateY(-50%);color:var(--text-secondary);font-size:.875rem}.content-table[data-v-2427c440]{background:var(--surface);border-radius:var(--radius-lg);box-shadow:0 1px 3px rgba(0,0,0,.08);overflow:hidden}.table-header[data-v-2427c440]{padding:12px 20px;background:#f9fafb;font-size:.75rem;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px}.table-header[data-v-2427c440],.table-row[data-v-2427c440]{display:grid;grid-template-columns:56px 1fr 1.5fr 180px 100px;gap:16px;border-bottom:1px solid var(--border)}.table-row[data-v-2427c440]{padding:14px 20px;align-items:center;cursor:pointer;transition:background .2s ease}.table-row[data-v-2427c440]:last-child{border-bottom:none}.table-row[data-v-2427c440]:hover{background:#f9fafb}.table-row.completed[data-v-2427c440]{background:linear-gradient(90deg,rgba(139,92,246,.03),transparent)}.content-icon[data-v-2427c440]{width:44px;height:44px;background:linear-gradient(135deg,#8b5cf6,#7c3aed);border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center;color:#fff;font-size:1.125rem}.table-row.completed .content-icon[data-v-2427c440]{background:linear-gradient(135deg,#7c3aed,#6d28d9)}.content-title[data-v-2427c440]{font-weight:600;font-size:.9375rem;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.content-desc[data-v-2427c440]{font-size:.8125rem;color:var(--text-secondary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.col-progress[data-v-2427c440]{display:flex;align-items:center;gap:10px}.progress-bar[data-v-2427c440]{flex:1;height:6px;background:var(--border);border-radius:3px;overflow:hidden}.progress-fill[data-v-2427c440]{height:100%;background:linear-gradient(90deg,#8b5cf6,#7c3aed);border-radius:3px;transition:width .3s ease}.progress-text[data-v-2427c440]{font-size:.75rem;font-weight:600;color:#7c3aed;min-width:40px}.btn-start[data-v-2427c440]{display:inline-flex;align-items:center;gap:6px;padding:8px 16px;background:linear-gradient(135deg,#8b5cf6,#7c3aed);color:#fff;border:none;border-radius:var(--radius-sm);font-size:.8125rem;font-weight:600;cursor:pointer;transition:all .2s ease;justify-content:center}.btn-start[data-v-2427c440]:hover{transform:translateY(-1px);box-shadow:0 3px 10px rgba(139,92,246,.3)}.empty-state[data-v-2427c440]{text-align:center;padding:60px 20px;color:var(--text-secondary)}.empty-state i[data-v-2427c440]{font-size:3rem;margin-bottom:16px;opacity:.3}@media (max-width:1024px){.table-header[data-v-2427c440],.table-row[data-v-2427c440]{grid-template-columns:48px 1fr 1fr 140px 90px;gap:12px;padding:12px 16px}.content-icon[data-v-2427c440]{width:40px;height:40px;font-size:1rem}}@media (max-width:768px){.header-row[data-v-2427c440]{flex-direction:column;align-items:stretch;gap:12px}.search-box[data-v-2427c440]{width:100%}.title-text h1[data-v-2427c440]{font-size:1.25rem}.table-header[data-v-2427c440]{display:none}.table-row[data-v-2427c440]{display:flex;flex-wrap:wrap;padding:14px;gap:10px}.col-icon[data-v-2427c440]{flex-shrink:0}.col-name[data-v-2427c440]{flex:1;min-width:calc(100% - 58px)}.col-desc[data-v-2427c440]{width:100%;order:3}.col-progress[data-v-2427c440]{flex:1}.col-action[data-v-2427c440]{order:2}.btn-start span[data-v-2427c440]{display:none}.btn-start[data-v-2427c440]{padding:8px 12px}}@media (max-width:480px){.main-content[data-v-2427c440]{padding:16px 12px}.page-title-icon[data-v-2427c440]{width:40px;height:40px;font-size:1rem}.title-text h1[data-v-2427c440]{font-size:1.125rem}.title-text p[data-v-2427c440]{font-size:.75rem}.content-icon[data-v-2427c440]{width:36px;height:36px;font-size:.875rem}.content-title[data-v-2427c440]{font-size:.875rem}.content-desc[data-v-2427c440]{font-size:.75rem}}[data-v-3cd3eb88]:root{--primary:#34d399;--primary-light:#a7f3d0;--primary-dark:#10b981;--secondary:#60a5fa;--accent:#f59e0b;--background:#f0fdf4;--surface:#fff;--text-primary:#1f2937;--text-secondary:#6b7280;--border:#e5e7eb;--radius-sm:8px;--radius-md:12px;--radius-lg:16px}.modules-page[data-v-3cd3eb88]{width:100%}.main-content[data-v-3cd3eb88]{max-width:1400px;width:100%;margin:0 auto;padding:24px;box-sizing:border-box}.header-row[data-v-3cd3eb88]{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-bottom:20px}.page-title[data-v-3cd3eb88]{display:flex;align-items:center;gap:14px;margin-bottom:0}.page-title-icon[data-v-3cd3eb88]{width:48px;height:48px;background:linear-gradient(135deg,var(--primary) 0,var(--primary-dark) 100%);border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center;color:#fff;font-size:1.25rem}.title-text h1[data-v-3cd3eb88]{font-family:Fredoka,sans-serif;font-size:1.5rem;font-weight:700;color:var(--text-primary);margin:0}.title-text p[data-v-3cd3eb88]{font-size:.875rem;color:var(--text-secondary);margin:0}.search-box[data-v-3cd3eb88]{position:relative;width:280px}.search-input[data-v-3cd3eb88]{width:100%;padding:10px 40px 10px 16px;border:2px solid var(--border);border-radius:var(--radius-lg);font-size:.875rem;background:var(--surface);transition:all .3s ease}.search-input[data-v-3cd3eb88]:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px rgba(52,211,153,.1)}.search-icon[data-v-3cd3eb88]{position:absolute;right:14px;top:50%;transform:translateY(-50%);color:var(--text-secondary);font-size:.875rem}.content-table[data-v-3cd3eb88]{background:var(--surface);border-radius:var(--radius-lg);box-shadow:0 1px 3px rgba(0,0,0,.08);overflow:hidden}.table-header[data-v-3cd3eb88]{padding:12px 20px;background:#f9fafb;font-size:.75rem;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px}.table-header[data-v-3cd3eb88],.table-row[data-v-3cd3eb88]{display:grid;grid-template-columns:56px 1fr 1.5fr 180px 100px;gap:16px;border-bottom:1px solid var(--border)}.table-row[data-v-3cd3eb88]{padding:14px 20px;align-items:center;cursor:pointer;transition:background .2s ease}.table-row[data-v-3cd3eb88]:last-child{border-bottom:none}.table-row[data-v-3cd3eb88]:hover{background:#f9fafb}.table-row.completed[data-v-3cd3eb88]{background:linear-gradient(90deg,rgba(52,211,153,.03),transparent)}.content-icon[data-v-3cd3eb88]{width:44px;height:44px;background:linear-gradient(135deg,var(--primary) 0,var(--primary-dark) 100%);border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center;color:#fff;font-size:1.125rem}.table-row.completed .content-icon[data-v-3cd3eb88]{background:linear-gradient(135deg,#10b981,#059669)}.content-title[data-v-3cd3eb88]{font-weight:600;font-size:.9375rem;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.content-desc[data-v-3cd3eb88]{font-size:.8125rem;color:var(--text-secondary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.col-progress[data-v-3cd3eb88]{display:flex;align-items:center;gap:10px}.progress-bar[data-v-3cd3eb88]{flex:1;height:6px;background:var(--border);border-radius:3px;overflow:hidden}.progress-fill[data-v-3cd3eb88]{height:100%;background:linear-gradient(90deg,var(--primary) 0,var(--primary-dark) 100%);border-radius:3px;transition:width .3s ease}.progress-text[data-v-3cd3eb88]{font-size:.75rem;font-weight:600;color:var(--primary-dark);min-width:40px}.btn-start[data-v-3cd3eb88]{display:inline-flex;align-items:center;gap:6px;padding:8px 16px;background:linear-gradient(135deg,var(--primary) 0,var(--primary-dark) 100%);color:#fff;border:none;border-radius:var(--radius-sm);font-size:.8125rem;font-weight:600;cursor:pointer;transition:all .2s ease;justify-content:center}.btn-start[data-v-3cd3eb88]:hover{transform:translateY(-1px);box-shadow:0 3px 10px rgba(52,211,153,.3)}.empty-state[data-v-3cd3eb88]{text-align:center;padding:60px 20px;color:var(--text-secondary)}.empty-state i[data-v-3cd3eb88]{font-size:3rem;margin-bottom:16px;opacity:.3}@media (max-width:1024px){.table-header[data-v-3cd3eb88],.table-row[data-v-3cd3eb88]{grid-template-columns:48px 1fr 1fr 140px 90px;gap:12px;padding:12px 16px}.content-icon[data-v-3cd3eb88]{width:40px;height:40px;font-size:1rem}}@media (max-width:768px){.header-row[data-v-3cd3eb88]{flex-direction:column;align-items:stretch;gap:12px}.search-box[data-v-3cd3eb88]{width:100%}.title-text h1[data-v-3cd3eb88]{font-size:1.25rem}.table-header[data-v-3cd3eb88]{display:none}.table-row[data-v-3cd3eb88]{display:flex;flex-wrap:wrap;padding:14px;gap:10px}.col-icon[data-v-3cd3eb88]{flex-shrink:0}.col-name[data-v-3cd3eb88]{flex:1;min-width:calc(100% - 58px)}.col-desc[data-v-3cd3eb88]{width:100%;order:3}.col-progress[data-v-3cd3eb88]{flex:1}.col-action[data-v-3cd3eb88]{order:2}.btn-start span[data-v-3cd3eb88]{display:none}.btn-start[data-v-3cd3eb88]{padding:8px 12px}}@media (max-width:480px){.main-content[data-v-3cd3eb88]{padding:16px 12px}.page-title-icon[data-v-3cd3eb88]{width:40px;height:40px;font-size:1rem}.title-text h1[data-v-3cd3eb88]{font-size:1.125rem}.title-text p[data-v-3cd3eb88]{font-size:.75rem}.content-icon[data-v-3cd3eb88]{width:36px;height:36px;font-size:.875rem}.content-title[data-v-3cd3eb88]{font-size:.875rem}.content-desc[data-v-3cd3eb88]{font-size:.75rem}}[data-v-2b2c43ac]:root{--primary:#34d399;--primary-light:#a7f3d0;--primary-dark:#10b981;--secondary:#60a5fa;--accent:#f59e0b;--background:#f0fdf4;--surface:#fff;--text-primary:#1f2937;--text-secondary:#6b7280;--border:#e5e7eb;--radius-sm:8px;--radius-md:12px;--radius-lg:16px}.listening-modules-page[data-v-2b2c43ac]{width:100%}.main-content[data-v-2b2c43ac]{max-width:1400px;width:100%;margin:0 auto;padding:24px;box-sizing:border-box}.header-row[data-v-2b2c43ac]{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-bottom:20px}.page-title[data-v-2b2c43ac]{display:flex;align-items:center;gap:14px;margin-bottom:0}.page-title-icon[data-v-2b2c43ac]{width:48px;height:48px;background:linear-gradient(135deg,var(--secondary) 0,#3b82f6 100%);border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center;color:#fff;font-size:1.25rem}.title-text h1[data-v-2b2c43ac]{font-family:Fredoka,sans-serif;font-size:1.5rem;font-weight:700;color:var(--text-primary);margin:0}.title-text p[data-v-2b2c43ac]{font-size:.875rem;color:var(--text-secondary);margin:0}.search-box[data-v-2b2c43ac]{position:relative;width:280px}.search-input[data-v-2b2c43ac]{width:100%;padding:10px 40px 10px 16px;border:2px solid var(--border);border-radius:var(--radius-lg);font-size:.875rem;background:var(--surface);transition:all .3s ease}.search-input[data-v-2b2c43ac]:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px rgba(52,211,153,.1)}.search-icon[data-v-2b2c43ac]{position:absolute;right:14px;top:50%;transform:translateY(-50%);color:var(--text-secondary);font-size:.875rem}.content-table[data-v-2b2c43ac]{background:var(--surface);border-radius:var(--radius-lg);box-shadow:0 1px 3px rgba(0,0,0,.08);overflow:hidden}.table-header[data-v-2b2c43ac]{padding:12px 20px;background:#f9fafb;font-size:.75rem;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px}.table-header[data-v-2b2c43ac],.table-row[data-v-2b2c43ac]{display:grid;grid-template-columns:56px 1fr 1.5fr 180px 100px;gap:16px;border-bottom:1px solid var(--border)}.table-row[data-v-2b2c43ac]{padding:14px 20px;align-items:center;cursor:pointer;transition:background .2s ease}.table-row[data-v-2b2c43ac]:last-child{border-bottom:none}.table-row[data-v-2b2c43ac]:hover{background:#f9fafb}.table-row.completed[data-v-2b2c43ac]{background:linear-gradient(90deg,rgba(96,165,250,.03),transparent)}.content-icon[data-v-2b2c43ac]{width:44px;height:44px;background:linear-gradient(135deg,var(--secondary) 0,#3b82f6 100%);border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center;color:#fff;font-size:1.125rem}.table-row.completed .content-icon[data-v-2b2c43ac]{background:linear-gradient(135deg,#3b82f6,#2563eb)}.content-title[data-v-2b2c43ac]{font-weight:600;font-size:.9375rem;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.content-desc[data-v-2b2c43ac]{font-size:.8125rem;color:var(--text-secondary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.col-progress[data-v-2b2c43ac]{display:flex;align-items:center;gap:10px}.progress-bar[data-v-2b2c43ac]{flex:1;height:6px;background:var(--border);border-radius:3px;overflow:hidden}.progress-fill[data-v-2b2c43ac]{height:100%;background:linear-gradient(90deg,var(--secondary) 0,#3b82f6 100%);border-radius:3px;transition:width .3s ease}.progress-text[data-v-2b2c43ac]{font-size:.75rem;font-weight:600;color:#3b82f6;min-width:40px}.btn-start[data-v-2b2c43ac]{display:inline-flex;align-items:center;gap:6px;padding:8px 16px;background:linear-gradient(135deg,var(--secondary) 0,#3b82f6 100%);color:#fff;border:none;border-radius:var(--radius-sm);font-size:.8125rem;font-weight:600;cursor:pointer;transition:all .2s ease;justify-content:center}.btn-start[data-v-2b2c43ac]:hover{transform:translateY(-1px);box-shadow:0 3px 10px rgba(96,165,250,.3)}.empty-state[data-v-2b2c43ac]{text-align:center;padding:60px 20px;color:var(--text-secondary)}.empty-state i[data-v-2b2c43ac]{font-size:3rem;margin-bottom:16px;opacity:.3}@media (max-width:1024px){.table-header[data-v-2b2c43ac],.table-row[data-v-2b2c43ac]{grid-template-columns:48px 1fr 1fr 140px 90px;gap:12px;padding:12px 16px}.content-icon[data-v-2b2c43ac]{width:40px;height:40px;font-size:1rem}}@media (max-width:768px){.header-row[data-v-2b2c43ac]{flex-direction:column;align-items:stretch;gap:12px}.search-box[data-v-2b2c43ac]{width:100%}.title-text h1[data-v-2b2c43ac]{font-size:1.25rem}.table-header[data-v-2b2c43ac]{display:none}.table-row[data-v-2b2c43ac]{display:flex;flex-wrap:wrap;padding:14px;gap:10px}.col-icon[data-v-2b2c43ac]{flex-shrink:0}.col-name[data-v-2b2c43ac]{flex:1;min-width:calc(100% - 58px)}.col-desc[data-v-2b2c43ac]{width:100%;order:3}.col-progress[data-v-2b2c43ac]{flex:1}.col-action[data-v-2b2c43ac]{order:2}.btn-start span[data-v-2b2c43ac]{display:none}.btn-start[data-v-2b2c43ac]{padding:8px 12px}}@media (max-width:480px){.main-content[data-v-2b2c43ac]{padding:16px 12px}.page-title-icon[data-v-2b2c43ac]{width:40px;height:40px;font-size:1rem}.title-text h1[data-v-2b2c43ac]{font-size:1.125rem}.title-text p[data-v-2b2c43ac]{font-size:.75rem}.content-icon[data-v-2b2c43ac]{width:36px;height:36px;font-size:.875rem}.content-title[data-v-2b2c43ac]{font-size:.875rem}.content-desc[data-v-2b2c43ac]{font-size:.75rem}}[data-v-76990404]:root{--primary:#34d399;--primary-light:#a7f3d0;--primary-dark:#10b981;--secondary:#60a5fa;--secondary-light:#bfdbfe;--accent:#f59e0b;--accent-light:#fde68a;--background:#f0fdf4;--surface:#fff;--text-primary:#1f2937;--text-secondary:#6b7280;--border:#e5e7eb;--shadow-sm:0 1px 2px 0 rgba(0,0,0,.05);--shadow-md:0 4px 6px -1px rgba(0,0,0,.1),0 2px 4px -1px rgba(0,0,0,.06);--shadow-lg:0 10px 15px -3px rgba(0,0,0,.1),0 4px 6px -2px rgba(0,0,0,.05);--shadow-xl:0 20px 25px -5px rgba(0,0,0,.1),0 10px 10px -5px rgba(0,0,0,.04);--radius-sm:12px;--radius-md:16px;--radius-lg:20px;--radius-xl:24px}[data-v-76990404]{margin:0;padding:0;box-sizing:border-box}body[data-v-76990404]{font-family:Nunito,sans-serif;background:var(--background);color:var(--text-primary);min-height:100vh;display:flex;align-items:center;justify-content:center;padding:20px}.login-container[data-v-76990404]{width:100%;max-width:480px;background:var(--surface);border-radius:var(--radius-xl);box-shadow:var(--shadow-xl);overflow:hidden;margin:0 auto;margin-top:50px;margin-bottom:50px}.login-header[data-v-76990404]{background:linear-gradient(135deg,var(--primary) 0,var(--primary-dark) 100%);padding:40px 32px;text-align:center;color:#fff;position:relative;overflow:hidden}.login-header[data-v-76990404]:before{content:"";position:absolute;top:-50%;right:-20%;width:200px;height:200px;background:hsla(0,0%,100%,.1);border-radius:50%}.login-header[data-v-76990404]:after{content:"";position:absolute;bottom:-30%;right:10%;width:100px;height:100px;background:hsla(0,0%,100%,.08);border-radius:50%}.login-logo[data-v-76990404]{width:80px;height:80px;background:hsla(0,0%,100%,.2);backdrop-filter:blur(10px);border-radius:var(--radius-lg);display:flex;align-items:center;justify-content:center;margin:0 auto 20px;font-size:2.5rem;position:relative;z-index:1}.login-title[data-v-76990404]{font-family:Fredoka,sans-serif;font-size:1.75rem;font-weight:700;margin-bottom:8px;position:relative;z-index:1}.login-subtitle[data-v-76990404]{font-size:.9375rem;opacity:.9;position:relative;z-index:1}.login-form[data-v-76990404]{padding:40px 32px}.form-group[data-v-76990404]{margin-bottom:24px}.form-label[data-v-76990404]{display:block;font-size:.875rem;font-weight:600;color:var(--text-primary);margin-bottom:8px}.form-input[data-v-76990404]{width:100%;padding:14px 16px;border:2px solid var(--border);border-radius:var(--radius-md);font-size:1rem;font-family:Nunito,sans-serif;transition:all .3s ease;background:var(--background)}.form-input[data-v-76990404]:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px rgba(52,211,153,.1)}.form-input[data-v-76990404]::-moz-placeholder{color:var(--text-secondary)}.form-input[data-v-76990404]::placeholder{color:var(--text-secondary)}.input-icon[data-v-76990404]{position:relative}.input-icon i[data-v-76990404]{position:absolute;left:16px;top:50%;transform:translateY(-50%);color:var(--text-secondary);font-size:1.125rem}.input-icon .form-input[data-v-76990404]{padding-left:48px}.login-button[data-v-76990404]{width:100%;padding:16px;background:linear-gradient(135deg,var(--primary) 0,var(--primary-dark) 100%);color:#fff;border:none;border-radius:var(--radius-md);font-size:1rem;font-weight:700;font-family:Nunito,sans-serif;cursor:pointer;transition:all .3s ease;display:flex;align-items:center;justify-content:center;gap:8px}.login-button[data-v-76990404]:hover{transform:translateY(-2px);box-shadow:var(--shadow-lg)}.login-button[data-v-76990404]:active{transform:translateY(0)}@media (max-width:480px){.login-container[data-v-76990404]{border-radius:0;box-shadow:none;margin-top:0;margin-bottom:0;height:100vh}.login-form[data-v-76990404],.login-header[data-v-76990404]{padding:32px 24px}.login-logo[data-v-76990404]{width:64px;height:64px;font-size:2rem}.login-title[data-v-76990404]{font-size:1.5rem}}[data-v-3e09bdce]:root{--primary:#34d399;--primary-light:#a7f3d0;--primary-dark:#10b981;--secondary:#60a5fa;--secondary-light:#bfdbfe;--accent:#f59e0b;--accent-light:#fde68a;--background:#f0fdf4;--surface:#fff;--text-primary:#1f2937;--text-secondary:#6b7280;--border:#e5e7eb;--shadow-sm:0 1px 2px 0 rgba(0,0,0,.05);--shadow-md:0 4px 6px -1px rgba(0,0,0,.1),0 2px 4px -1px rgba(0,0,0,.06);--shadow-lg:0 10px 15px -3px rgba(0,0,0,.1),0 4px 6px -2px rgba(0,0,0,.05);--shadow-xl:0 20px 25px -5px rgba(0,0,0,.1),0 10px 10px -5px rgba(0,0,0,.04);--radius-sm:12px;--radius-md:16px;--radius-lg:20px;--radius-xl:24px}[data-v-3e09bdce]{margin:0;padding:0;box-sizing:border-box}body[data-v-3e09bdce]{font-family:Nunito,sans-serif;background:var(--background);color:var(--text-primary);min-height:100vh}.index-page[data-v-3e09bdce]{width:100%}.main-content[data-v-3e09bdce]{max-width:1000px;width:100%;margin:0 auto;padding:32px 24px}.page-title[data-v-3e09bdce]{text-align:center;margin-bottom:40px}.page-title h1[data-v-3e09bdce]{font-family:Fredoka,sans-serif;font-size:2.5rem;font-weight:700;color:var(--text-primary);margin-bottom:8px}.page-title p[data-v-3e09bdce]{font-size:1.125rem;color:var(--text-secondary)}.mode-switcher[data-v-3e09bdce]{display:flex;gap:16px;justify-content:center;margin-bottom:40px}.mode-button[data-v-3e09bdce]{padding:12px 32px;border:2px solid var(--border);border-radius:var(--radius-lg);background:var(--surface);color:var(--text-primary);font-size:1rem;font-weight:600;cursor:pointer;transition:all .3s ease;display:flex;align-items:center;gap:8px;box-shadow:var(--shadow-sm)}.mode-button[data-v-3e09bdce]:hover{border-color:var(--primary);color:var(--primary);transform:translateY(-2px);box-shadow:var(--shadow-md)}.mode-button.active[data-v-3e09bdce]{background:linear-gradient(135deg,var(--primary) 0,var(--primary-dark) 100%);color:#fff;border-color:var(--primary);box-shadow:var(--shadow-md)}.word-card[data-v-3e09bdce]{background:var(--surface);border-radius:var(--radius-xl);padding:48px;box-shadow:var(--shadow-lg);text-align:center;margin-bottom:40px;position:relative;overflow:hidden}.word-card[data-v-3e09bdce]:before{content:"";position:absolute;top:-20px;right:-20px;width:100px;height:100px;background:linear-gradient(135deg,var(--primary-light) 0,var(--primary) 100%);border-radius:50%;opacity:.1}.word-audio[data-v-3e09bdce]{position:absolute;top:20px;right:20px}.audio-button[data-v-3e09bdce]{width:56px;height:56px;border:none;border-radius:50%;background:linear-gradient(135deg,var(--primary) 0,var(--primary-dark) 100%);color:#fff;font-size:1.5rem;cursor:pointer;transition:all .3s ease;box-shadow:var(--shadow-md)}.audio-button[data-v-3e09bdce]:hover{transform:scale(1.1);box-shadow:var(--shadow-lg)}.word[data-v-3e09bdce]{font-family:Fredoka,sans-serif;font-size:3rem;font-weight:700;color:var(--text-primary);margin-bottom:16px;margin-top:20px}.word-meaning[data-v-3e09bdce]{font-size:1.5rem;color:var(--primary);font-weight:600;margin-bottom:16px}.word-sentence[data-v-3e09bdce]{font-size:1.125rem;color:var(--text-secondary);font-style:italic}.learning-controls[data-v-3e09bdce]{display:flex;justify-content:space-between;margin-bottom:40px}.control-button[data-v-3e09bdce]{width:64px;height:64px;border:none;border-radius:50%;background:var(--surface);color:var(--text-primary);font-size:1.5rem;cursor:pointer;transition:all .3s ease;box-shadow:var(--shadow-md);display:flex;align-items:center;justify-content:center}.control-button[data-v-3e09bdce]:hover{transform:scale(1.1);box-shadow:var(--shadow-lg);background:var(--primary);color:#fff}.control-button.next[data-v-3e09bdce]:hover,.control-button.prev[data-v-3e09bdce]:hover{background:var(--primary);color:#fff}.practice-card[data-v-3e09bdce]{background:var(--surface);border-radius:var(--radius-xl);padding:48px;box-shadow:var(--shadow-lg);margin-bottom:40px}.practice-question[data-v-3e09bdce]{font-family:Fredoka,sans-serif;font-size:1.5rem;font-weight:600;color:var(--text-primary);margin-bottom:24px;text-align:center}.practice-word[data-v-3e09bdce]{font-family:Fredoka,sans-serif;font-size:2.5rem;font-weight:700;color:var(--primary);text-align:center;margin-bottom:40px}.options[data-v-3e09bdce]{display:flex;flex-direction:column;gap:16px}.option-button[data-v-3e09bdce]{padding:20px;border:2px solid var(--border);border-radius:var(--radius-lg);background:var(--surface);color:var(--text-primary);font-size:1.125rem;font-weight:600;cursor:pointer;transition:all .3s ease;text-align:left}.option-button[data-v-3e09bdce]:hover{border-color:var(--primary);transform:translateY(-2px);box-shadow:var(--shadow-md)}.option-button.correct[data-v-3e09bdce]{background:var(--primary-light);border-color:var(--primary);color:#065f46}.option-button.incorrect[data-v-3e09bdce]{background:#fee2e2;border-color:#ef4444;color:#b91c1c}.option-button[data-v-3e09bdce]:disabled{cursor:not-allowed;opacity:.8}.practice-controls[data-v-3e09bdce]{display:flex;gap:16px;justify-content:center;margin-bottom:40px}.control-button.check[data-v-3e09bdce]{background:linear-gradient(135deg,var(--primary) 0,var(--primary-dark) 100%);color:#fff;box-shadow:var(--shadow-md)}.control-button.check[data-v-3e09bdce]:hover{transform:scale(1.1);box-shadow:var(--shadow-lg)}.control-button[data-v-3e09bdce]:disabled{opacity:.5;cursor:not-allowed}.progress-section[data-v-3e09bdce]{margin-top:40px;margin-bottom:40px}.progress-header[data-v-3e09bdce]{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.progress-title[data-v-3e09bdce]{font-family:Fredoka,sans-serif;font-size:1.125rem;font-weight:600;color:var(--text-primary)}.progress-info[data-v-3e09bdce]{font-size:.875rem;color:var(--text-secondary)}.progress-bar[data-v-3e09bdce]{width:100%;height:12px;background:var(--border);border-radius:6px;overflow:hidden}.progress-fill[data-v-3e09bdce]{height:100%;background:linear-gradient(90deg,var(--primary) 0,var(--primary-dark) 100%);border-radius:6px;transition:width .5s ease}.stats-section[data-v-3e09bdce]{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:20px;margin-top:40px}.stat-card[data-v-3e09bdce]{background:var(--surface);border-radius:var(--radius-lg);padding:24px;box-shadow:var(--shadow-md);text-align:center}.stat-icon[data-v-3e09bdce]{width:48px;height:48px;background:linear-gradient(135deg,var(--primary) 0,var(--primary-dark) 100%);border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center;color:#fff;font-size:1.25rem;margin:0 auto 16px}.stat-value[data-v-3e09bdce]{font-family:Fredoka,sans-serif;font-size:2rem;font-weight:700;color:var(--text-primary);margin-bottom:4px}.stat-label[data-v-3e09bdce]{font-size:.875rem;color:var(--text-secondary)}@media (max-width:768px){.main-content[data-v-3e09bdce]{padding:20px 16px}.page-title h1[data-v-3e09bdce]{font-size:2rem}.word-card[data-v-3e09bdce]{padding:32px}.word[data-v-3e09bdce]{font-size:2.5rem}.practice-card[data-v-3e09bdce]{padding:32px}.practice-word[data-v-3e09bdce]{font-size:2rem}.stats-section[data-v-3e09bdce]{grid-template-columns:repeat(2,1fr)}}@media (max-width:480px){.top-nav[data-v-3e09bdce]{padding:12px 16px}.logo[data-v-3e09bdce]{font-size:1.25rem}.logo-icon[data-v-3e09bdce]{width:36px;height:36px;font-size:1rem}.back-btn[data-v-3e09bdce]{padding:6px 12px;font-size:.75rem}.page-title h1[data-v-3e09bdce]{font-size:1.75rem}.mode-button[data-v-3e09bdce]{padding:10px 20px;font-size:.875rem}.word-card[data-v-3e09bdce]{padding:24px}.word[data-v-3e09bdce]{font-size:2rem}.audio-button[data-v-3e09bdce]{width:48px;height:48px;font-size:1.25rem}.practice-card[data-v-3e09bdce]{padding:24px}.practice-word[data-v-3e09bdce]{font-size:1.75rem}.stats-section[data-v-3e09bdce]{grid-template-columns:1fr}}[data-v-19d8d3f0]:root{--primary:#34d399;--primary-light:#a7f3d0;--primary-dark:#10b981;--secondary:#60a5fa;--secondary-light:#bfdbfe;--accent:#f59e0b;--accent-light:#fde68a;--danger:#ef4444;--danger-light:#fca5a5;--background:#f0fdf4;--surface:#fff;--text-primary:#1f2937;--text-secondary:#6b7280;--border:#e5e7eb;--shadow-sm:0 1px 2px 0 rgba(0,0,0,.05);--shadow-md:0 4px 6px -1px rgba(0,0,0,.1),0 2px 4px -1px rgba(0,0,0,.06);--shadow-lg:0 10px 15px -3px rgba(0,0,0,.1),0 4px 6px -2px rgba(0,0,0,.05);--shadow-xl:0 20px 25px -5px rgba(0,0,0,.1),0 10px 10px -5px rgba(0,0,0,.04);--radius-sm:12px;--radius-md:16px;--radius-lg:20px;--radius-xl:24px}.listening-page[data-v-19d8d3f0]{width:100%}.main-content[data-v-19d8d3f0]{max-width:1000px;width:100%;margin:0 auto;padding:32px 24px}.page-title[data-v-19d8d3f0]{text-align:center;margin-bottom:40px}.page-title h1[data-v-19d8d3f0]{font-family:Fredoka,sans-serif;font-size:2.5rem;font-weight:700;color:var(--text-primary);margin-bottom:8px}.page-title p[data-v-19d8d3f0]{font-size:1.125rem;color:var(--text-secondary)}.listening-card[data-v-19d8d3f0]{background:var(--surface);border-radius:var(--radius-xl);padding:40px;box-shadow:var(--shadow-md);margin-bottom:32px;text-align:center}.audio-control[data-v-19d8d3f0]{margin-bottom:32px}.play-button[data-v-19d8d3f0]{width:80px;height:80px;background:linear-gradient(135deg,var(--secondary) 0,#3b82f6 100%);border:none;border-radius:50%;color:#fff;font-size:2rem;cursor:pointer;transition:all .3s ease;box-shadow:var(--shadow-md);display:flex;align-items:center;justify-content:center;margin:0 auto 16px}.play-button[data-v-19d8d3f0]:hover{transform:scale(1.1);box-shadow:var(--shadow-lg)}.play-button[data-v-19d8d3f0]:active{transform:scale(.95)}.audio-text[data-v-19d8d3f0]{font-size:1.125rem;color:var(--text-secondary);margin-top:8px}.options-section[data-v-19d8d3f0]{margin-bottom:32px}.options-title[data-v-19d8d3f0]{font-family:Fredoka,sans-serif;font-size:1.25rem;font-weight:600;color:var(--text-primary);margin-bottom:20px}.options-grid[data-v-19d8d3f0]{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:16px}.option-btn[data-v-19d8d3f0]{padding:12px 16px;border:2px solid var(--border);border-radius:var(--radius-md);background:var(--surface);color:var(--text-primary);font-size:.875rem;font-weight:600;cursor:pointer;transition:all .3s ease;box-shadow:var(--shadow-sm);word-break:break-word;text-align:left}.option-btn[data-v-19d8d3f0]:hover{border-color:var(--secondary);box-shadow:var(--shadow-md);transform:translateY(-2px)}.option-btn.selected[data-v-19d8d3f0]{border-color:var(--secondary);background:var(--secondary-light);color:#1e40af}.option-btn.correct[data-v-19d8d3f0]{border-color:var(--primary);background:var(--primary-light);color:#065f46}.option-btn.incorrect[data-v-19d8d3f0]{border-color:#ef4444;background:#fee2e2;color:#b91c1c}.option-btn[data-v-19d8d3f0]:disabled{cursor:not-allowed;opacity:.8}.control-buttons[data-v-19d8d3f0]{display:flex;gap:16px;justify-content:center}.btn[data-v-19d8d3f0]{padding:12px 28px;border:none;border-radius:var(--radius-lg);font-size:1rem;font-weight:600;cursor:pointer;transition:all .3s ease;box-shadow:var(--shadow-sm)}.btn-primary[data-v-19d8d3f0]{background:linear-gradient(135deg,var(--primary) 0,var(--primary-dark) 100%);color:#fff}.btn-primary[data-v-19d8d3f0]:hover{transform:translateY(-2px);box-shadow:var(--shadow-md)}.btn-secondary[data-v-19d8d3f0]{background:#fff;color:var(--text-primary);border:2px solid var(--border)}.btn-secondary[data-v-19d8d3f0]:hover{border-color:var(--primary);color:var(--primary);transform:translateY(-2px);box-shadow:var(--shadow-md)}.btn[data-v-19d8d3f0]:disabled{opacity:.5;cursor:not-allowed}.feedback-modal[data-v-19d8d3f0]{display:none;position:fixed;top:0;left:0;width:100%;height:100%;background:rgba(0,0,0,.5);z-index:1000;justify-content:center;align-items:center;backdrop-filter:blur(10px)}.feedback-modal.visible[data-v-19d8d3f0]{display:flex}.feedback-modal-content[data-v-19d8d3f0]{background:var(--surface);border-radius:var(--radius-xl);width:90%;max-width:500px;max-height:80vh;overflow-y:auto;box-shadow:var(--shadow-xl);animation:modalFadeIn-19d8d3f0 .3s ease}.feedback-modal-header[data-v-19d8d3f0]{display:flex;flex-direction:column;align-items:center;padding:32px 24px;text-align:center}.feedback-modal-icon[data-v-19d8d3f0]{font-size:4rem;margin-bottom:16px}.feedback-modal-title[data-v-19d8d3f0]{font-family:Fredoka,sans-serif;font-size:1.75rem;font-weight:700;color:var(--text-primary)}.feedback-modal-footer[data-v-19d8d3f0]{padding:24px;border-top:1px solid var(--border);text-align:center}.feedback-modal-btn[data-v-19d8d3f0]{padding:12px 32px;border:none;border-radius:var(--radius-lg);background:linear-gradient(135deg,var(--primary) 0,var(--primary-dark) 100%);color:#fff;font-size:1rem;font-weight:600;cursor:pointer;transition:all .3s ease;box-shadow:var(--shadow-md)}.feedback-modal-btn[data-v-19d8d3f0]:hover{transform:translateY(-2px);box-shadow:var(--shadow-lg)}.material-modal[data-v-19d8d3f0]{display:none;position:fixed;top:0;left:0;width:100%;height:100%;background:rgba(0,0,0,.5);z-index:1000;justify-content:center;align-items:center;backdrop-filter:blur(10px);padding:24px}.material-modal.visible[data-v-19d8d3f0]{display:flex}.material-modal-content[data-v-19d8d3f0]{background:var(--surface);border-radius:var(--radius-xl);width:90%;max-width:600px;max-height:80vh;overflow:hidden;box-shadow:var(--shadow-xl);animation:modalFadeIn-19d8d3f0 .3s ease}.material-modal-header[data-v-19d8d3f0]{display:flex;justify-content:space-between;align-items:center;padding:20px 24px;border-bottom:1px solid var(--border)}.material-modal-title[data-v-19d8d3f0]{font-family:Fredoka,sans-serif;font-size:1.25rem;font-weight:700;color:var(--text-primary)}.material-modal-close[data-v-19d8d3f0]{background:none;border:none;font-size:1.25rem;color:var(--text-secondary);cursor:pointer;padding:4px;transition:color .3s ease}.material-modal-close[data-v-19d8d3f0]:hover{color:var(--text-primary)}.material-modal-body[data-v-19d8d3f0]{padding:24px;overflow-y:auto;max-height:60vh}.material-text[data-v-19d8d3f0]{font-size:1.125rem;line-height:1.8;color:var(--text-primary);text-align:left;white-space:pre-wrap;word-break:break-word}@keyframes modalFadeIn-19d8d3f0{0%{opacity:0;transform:translateY(-20px) scale(.9)}to{opacity:1;transform:translateY(0) scale(1)}}.progress-section[data-v-19d8d3f0]{margin-top:40px}.progress-header[data-v-19d8d3f0]{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.progress-title[data-v-19d8d3f0]{font-family:Fredoka,sans-serif;font-size:1.125rem;font-weight:600;color:var(--text-primary)}.progress-info[data-v-19d8d3f0]{font-size:.875rem;color:var(--text-secondary)}.progress-bar[data-v-19d8d3f0]{width:100%;height:12px;background:var(--border);border-radius:6px;overflow:hidden}.progress-fill[data-v-19d8d3f0]{height:100%;background:linear-gradient(90deg,var(--primary) 0,var(--primary-dark) 100%);border-radius:6px;transition:width .5s ease}.stats-section[data-v-19d8d3f0]{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-top:40px;box-sizing:border-box}.stat-card[data-v-19d8d3f0]{background:var(--surface);border-radius:var(--radius-lg);padding:20px;box-shadow:var(--shadow-md);text-align:center;box-sizing:border-box}.stat-icon[data-v-19d8d3f0]{width:40px;height:40px;background:linear-gradient(135deg,var(--primary) 0,var(--primary-dark) 100%);border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center;color:#fff;font-size:1rem;margin:0 auto 12px}.stat-value[data-v-19d8d3f0]{font-family:Fredoka,sans-serif;font-size:1.5rem;font-weight:700;color:var(--text-primary);margin-bottom:4px}.stat-label[data-v-19d8d3f0]{font-size:.75rem;color:var(--text-secondary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}@media (max-width:1024px){.options-grid[data-v-19d8d3f0]{grid-template-columns:repeat(2,1fr);gap:12px}.option-btn[data-v-19d8d3f0]{padding:10px 12px;font-size:.875rem}.stats-section[data-v-19d8d3f0]{gap:12px}.stat-card[data-v-19d8d3f0]{padding:16px}.stat-icon[data-v-19d8d3f0]{width:36px;height:36px;font-size:.875rem}.stat-value[data-v-19d8d3f0]{font-size:1.25rem}.stat-label[data-v-19d8d3f0]{font-size:.625rem}}@media (max-width:768px){.main-content[data-v-19d8d3f0]{padding:20px 16px;box-sizing:border-box}.page-title h1[data-v-19d8d3f0]{font-size:2rem}.listening-card[data-v-19d8d3f0]{padding:24px}.play-button[data-v-19d8d3f0]{width:64px;height:64px;font-size:1.5rem}.options-grid[data-v-19d8d3f0]{grid-template-columns:repeat(2,1fr)}.control-buttons[data-v-19d8d3f0]{flex-direction:column}.btn[data-v-19d8d3f0]{width:100%}.stats-section[data-v-19d8d3f0]{gap:10px}.stat-card[data-v-19d8d3f0]{padding:12px}.stat-icon[data-v-19d8d3f0]{width:32px;height:32px;font-size:.75rem}.stat-value[data-v-19d8d3f0]{font-size:1rem}.stat-label[data-v-19d8d3f0]{font-size:.5rem}}@media (max-width:480px){.page-title h1[data-v-19d8d3f0]{font-size:1.75rem}.listening-card[data-v-19d8d3f0]{padding:20px}.stats-section[data-v-19d8d3f0]{gap:8px}.stat-card[data-v-19d8d3f0]{padding:10px}.stat-icon[data-v-19d8d3f0]{width:28px;height:28px;font-size:.625rem}.stat-value[data-v-19d8d3f0]{font-size:.875rem}.stat-label[data-v-19d8d3f0]{font-size:.4375rem}}[data-v-98b6daba]:root{--primary:#34d399;--primary-light:#a7f3d0;--primary-dark:#10b981;--secondary:#60a5fa;--secondary-light:#bfdbfe;--accent:#f59e0b;--accent-light:#fde68a;--background:#f0fdf4;--surface:#fff;--text-primary:#1f2937;--text-secondary:#6b7280;--border:#e5e7eb;--shadow-sm:0 1px 2px 0 rgba(0,0,0,.05);--shadow-md:0 4px 6px -1px rgba(0,0,0,.1),0 2px 4px -1px rgba(0,0,0,.06);--shadow-lg:0 10px 15px -3px rgba(0,0,0,.1),0 4px 6px -2px rgba(0,0,0,.05);--shadow-xl:0 20px 25px -5px rgba(0,0,0,.1),0 10px 10px -5px rgba(0,0,0,.04);--radius-sm:12px;--radius-md:16px;--radius-lg:20px;--radius-xl:24px}[data-v-98b6daba]{margin:0;padding:0;box-sizing:border-box}body[data-v-98b6daba]{font-family:Nunito,sans-serif;background:var(--background);color:var(--text-primary);min-height:100vh}.sentence-page[data-v-98b6daba]{width:100%}.main-content[data-v-98b6daba]{max-width:1000px;width:100%;margin:0 auto;padding:32px 24px}.page-title[data-v-98b6daba]{text-align:center;margin-bottom:40px}.page-title h1[data-v-98b6daba]{font-family:Fredoka,sans-serif;font-size:2.5rem;font-weight:700;color:var(--text-primary);margin-bottom:8px}.page-title p[data-v-98b6daba]{font-size:1.125rem;color:var(--text-secondary)}.sentence-card[data-v-98b6daba]{background:var(--surface);border-radius:var(--radius-xl);padding:40px;box-shadow:var(--shadow-md);margin-bottom:32px}.exercise-title[data-v-98b6daba]{font-family:Fredoka,sans-serif;font-size:1.5rem;font-weight:600;color:var(--text-primary);margin-bottom:32px;text-align:center}.words-section[data-v-98b6daba]{margin-bottom:32px}.section-title[data-v-98b6daba]{font-family:Fredoka,sans-serif;font-size:1.125rem;font-weight:600;color:var(--text-primary);margin-bottom:16px}.words-container[data-v-98b6daba]{display:flex;flex-wrap:wrap;gap:12px;background:var(--background);padding:24px;border-radius:var(--radius-lg)}.word-item[data-v-98b6daba]{padding:12px 20px;background:var(--surface);border:2px solid var(--border);border-radius:var(--radius-md);font-size:1rem;font-weight:600;cursor:pointer;transition:all .3s ease;box-shadow:var(--shadow-sm)}.word-item[data-v-98b6daba]:hover{border-color:var(--primary);transform:translateY(-2px);box-shadow:var(--shadow-md)}.word-item.selected[data-v-98b6daba]{background:var(--primary);color:#fff;border-color:var(--primary)}.sentence-section[data-v-98b6daba]{margin-bottom:32px}.sentence-container[data-v-98b6daba]{display:flex;flex-wrap:wrap;gap:8px;background:var(--background);padding:24px;border-radius:var(--radius-lg);min-height:100px;align-items:center}.sentence-word[data-v-98b6daba]{padding:10px 16px;background:var(--surface);border:2px solid var(--primary);border-radius:var(--radius-md);font-size:1rem;font-weight:600;cursor:pointer;transition:all .3s ease;display:flex;align-items:center;gap:8px;box-shadow:var(--shadow-sm)}.sentence-word[data-v-98b6daba]:hover{transform:translateY(-2px);box-shadow:var(--shadow-md)}.remove-icon[data-v-98b6daba]{font-size:1.25rem;color:var(--text-secondary);font-weight:700}.remove-icon[data-v-98b6daba]:hover{color:#ef4444}.placeholder[data-v-98b6daba]{color:var(--text-secondary);font-style:italic}.control-buttons[data-v-98b6daba]{display:flex;gap:16px;justify-content:center;margin-bottom:32px}.btn[data-v-98b6daba]{padding:12px 28px;border:none;border-radius:var(--radius-lg);font-size:1rem;font-weight:600;cursor:pointer;transition:all .3s ease;box-shadow:var(--shadow-sm);display:flex;align-items:center;gap:8px}.btn-primary[data-v-98b6daba]{background:linear-gradient(135deg,var(--primary) 0,var(--primary-dark) 100%);color:#fff}.btn-primary[data-v-98b6daba]:hover{transform:translateY(-2px);box-shadow:var(--shadow-md)}.btn-secondary[data-v-98b6daba]{background:#fff;color:var(--text-primary);border:2px solid var(--border)}.btn-secondary[data-v-98b6daba]:hover{border-color:var(--primary);color:var(--primary);transform:translateY(-2px);box-shadow:var(--shadow-md)}.btn[data-v-98b6daba]:disabled{opacity:.5;cursor:not-allowed;transform:none!important;box-shadow:none!important}.feedback-modal[data-v-98b6daba]{display:none;position:fixed;top:0;left:0;width:100%;height:100%;background:rgba(0,0,0,.5);z-index:1000;justify-content:center;align-items:center;backdrop-filter:blur(10px);padding:24px}.feedback-modal.visible[data-v-98b6daba]{display:flex}.feedback-modal-content[data-v-98b6daba]{background:var(--surface);border-radius:var(--radius-xl);width:90%;max-width:500px;box-shadow:var(--shadow-xl);animation:modalFadeIn-98b6daba .3s ease}.feedback-modal-header[data-v-98b6daba]{display:flex;flex-direction:column;align-items:center;padding:32px 24px 16px;text-align:center}.feedback-modal-icon[data-v-98b6daba]{font-size:4rem;margin-bottom:16px}.feedback-modal-title[data-v-98b6daba]{font-family:Fredoka,sans-serif;font-size:1.75rem;font-weight:700;color:var(--text-primary);margin-bottom:12px}.feedback-message[data-v-98b6daba]{font-size:1rem;color:var(--text-secondary);line-height:1.6}.feedback-modal-footer[data-v-98b6daba]{padding:24px;border-top:1px solid var(--border);text-align:center}.feedback-modal-btn[data-v-98b6daba]{padding:12px 32px;border:none;border-radius:var(--radius-lg);background:linear-gradient(135deg,var(--primary) 0,var(--primary-dark) 100%);color:#fff;font-size:1rem;font-weight:600;cursor:pointer;transition:all .3s ease;box-shadow:var(--shadow-md)}.feedback-modal-btn[data-v-98b6daba]:hover{transform:translateY(-2px);box-shadow:var(--shadow-lg)}@keyframes modalFadeIn-98b6daba{0%{opacity:0;transform:translateY(-20px) scale(.9)}to{opacity:1;transform:translateY(0) scale(1)}}.progress-section[data-v-98b6daba]{margin-top:40px;margin-bottom:40px}.progress-header[data-v-98b6daba]{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.progress-title[data-v-98b6daba]{font-family:Fredoka,sans-serif;font-size:1.125rem;font-weight:600;color:var(--text-primary)}.progress-info[data-v-98b6daba]{font-size:.875rem;color:var(--text-secondary)}.progress-bar[data-v-98b6daba]{width:100%;height:12px;background:var(--border);border-radius:6px;overflow:hidden}.progress-fill[data-v-98b6daba]{height:100%;background:linear-gradient(90deg,var(--primary) 0,var(--primary-dark) 100%);border-radius:6px;transition:width .5s ease}.stats-section[data-v-98b6daba]{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-top:40px;box-sizing:border-box}.stat-card[data-v-98b6daba]{background:var(--surface);border-radius:var(--radius-lg);padding:20px;box-shadow:var(--shadow-md);text-align:center;box-sizing:border-box}.stat-icon[data-v-98b6daba]{width:40px;height:40px;background:linear-gradient(135deg,var(--primary) 0,var(--primary-dark) 100%);border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center;color:#fff;font-size:1rem;margin:0 auto 12px}.stat-value[data-v-98b6daba]{font-family:Fredoka,sans-serif;font-size:1.5rem;font-weight:700;color:var(--text-primary);margin-bottom:4px}.stat-label[data-v-98b6daba]{font-size:.75rem;color:var(--text-secondary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}@media (max-width:1024px){.stats-section[data-v-98b6daba]{gap:12px}.stat-card[data-v-98b6daba]{padding:16px}.stat-icon[data-v-98b6daba]{width:36px;height:36px;font-size:.875rem}.stat-value[data-v-98b6daba]{font-size:1.25rem}.stat-label[data-v-98b6daba]{font-size:.625rem}}@media (max-width:768px){.main-content[data-v-98b6daba]{padding:20px 16px;box-sizing:border-box}.page-title h1[data-v-98b6daba]{font-size:2rem}.sentence-card[data-v-98b6daba]{padding:24px}.control-buttons[data-v-98b6daba]{flex-direction:column}.btn[data-v-98b6daba]{width:100%}.stats-section[data-v-98b6daba]{gap:10px}.stat-card[data-v-98b6daba]{padding:12px}.stat-icon[data-v-98b6daba]{width:32px;height:32px;font-size:.75rem}.stat-value[data-v-98b6daba]{font-size:1rem}.stat-label[data-v-98b6daba]{font-size:.5rem}}@media (max-width:480px){.page-title h1[data-v-98b6daba]{font-size:1.75rem}.sentence-card[data-v-98b6daba]{padding:20px}.sentence-container[data-v-98b6daba],.words-container[data-v-98b6daba]{padding:16px}.stats-section[data-v-98b6daba]{gap:8px}.stat-card[data-v-98b6daba]{padding:10px}.stat-icon[data-v-98b6daba]{width:28px;height:28px;font-size:.625rem}.stat-value[data-v-98b6daba]{font-size:.875rem}.stat-label[data-v-98b6daba]{font-size:.4375rem}}[data-v-e1c3634a]:root{--primary:#34d399;--primary-light:#a7f3d0;--primary-dark:#10b981;--secondary:#60a5fa;--secondary-light:#bfdbfe;--accent:#f59e0b;--accent-light:#fde68a;--background:#f0fdf4;--surface:#fff;--text-primary:#1f2937;--text-secondary:#6b7280;--border:#e5e7eb;--shadow-sm:0 1px 2px 0 rgba(0,0,0,.05);--shadow-md:0 4px 6px -1px rgba(0,0,0,.1),0 2px 4px -1px rgba(0,0,0,.06);--shadow-lg:0 10px 15px -3px rgba(0,0,0,.1),0 4px 6px -2px rgba(0,0,0,.05);--shadow-xl:0 20px 25px -5px rgba(0,0,0,.1),0 10px 10px -5px rgba(0,0,0,.04);--radius-sm:12px;--radius-md:16px;--radius-lg:20px;--radius-xl:24px}[data-v-e1c3634a]{margin:0;padding:0;box-sizing:border-box}body[data-v-e1c3634a]{font-family:Nunito,sans-serif;background:var(--background);color:var(--text-primary);min-height:100vh}.writing-page[data-v-e1c3634a]{width:100%}.main-content[data-v-e1c3634a]{max-width:1000px;width:100%;margin:0 auto;padding:32px 24px}.page-title[data-v-e1c3634a]{text-align:center;margin-bottom:40px}.page-title h1[data-v-e1c3634a]{font-family:Fredoka,sans-serif;font-size:2.5rem;font-weight:700;color:var(--text-primary);margin-bottom:8px}.page-title p[data-v-e1c3634a]{font-size:1.125rem;color:var(--text-secondary)}.exercise-types[data-v-e1c3634a]{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:20px;margin-bottom:40px}.exercise-type-card[data-v-e1c3634a]{background:var(--surface);border-radius:var(--radius-xl);padding:28px;box-shadow:var(--shadow-md);transition:all .3s ease;border:2px solid transparent;cursor:pointer;text-align:center;position:relative}.exercise-type-card[data-v-e1c3634a]:hover{transform:translateY(-4px);box-shadow:var(--shadow-xl);border-color:var(--primary-light)}.exercise-type-card.active[data-v-e1c3634a]{border-color:var(--primary);background:linear-gradient(135deg,var(--surface) 0,var(--background) 100%)}.exercise-type-icon[data-v-e1c3634a]{width:64px;height:64px;background:linear-gradient(135deg,var(--primary) 0,var(--primary-dark) 100%);border-radius:var(--radius-lg);display:flex;align-items:center;justify-content:center;color:#fff;font-size:1.5rem;margin:0 auto 20px}.exercise-type-card:nth-child(2) .exercise-type-icon[data-v-e1c3634a]{background:linear-gradient(135deg,var(--secondary) 0,#3b82f6 100%)}.exercise-type-card:nth-child(3) .exercise-type-icon[data-v-e1c3634a]{background:linear-gradient(135deg,var(--accent) 0,#d97706 100%)}.exercise-type-title[data-v-e1c3634a]{font-family:Fredoka,sans-serif;font-size:1.25rem;font-weight:600;color:var(--text-primary);margin-bottom:8px}.exercise-type-desc[data-v-e1c3634a]{font-size:.9375rem;color:var(--text-secondary);line-height:1.5}.completed-mark[data-v-e1c3634a]{position:absolute;top:10px;right:10px;font-size:20px}.writing-card[data-v-e1c3634a]{background:var(--surface);border-radius:var(--radius-xl);padding:40px;box-shadow:var(--shadow-md);margin-bottom:32px}.exercise-title[data-v-e1c3634a]{font-family:Fredoka,sans-serif;font-size:1.5rem;font-weight:600;color:var(--text-primary);margin-bottom:24px;text-align:center}.input-section[data-v-e1c3634a]{margin-bottom:32px}.input-label[data-v-e1c3634a]{font-family:Fredoka,sans-serif;font-size:1.125rem;font-weight:600;color:var(--text-primary);margin-bottom:12px;display:block}.writing-input[data-v-e1c3634a]{width:100%;min-height:200px;padding:20px;border:2px solid var(--border);border-radius:var(--radius-lg);font-family:Nunito,sans-serif;font-size:1rem;line-height:1.5;resize:vertical;transition:all .3s ease;box-shadow:var(--shadow-sm)}.writing-input[data-v-e1c3634a]:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px rgba(52,211,153,.1)}.control-buttons[data-v-e1c3634a]{display:flex;gap:16px;justify-content:center;margin-bottom:32px}.btn[data-v-e1c3634a]{padding:12px 28px;border:none;border-radius:var(--radius-lg);font-size:1rem;font-weight:600;cursor:pointer;transition:all .3s ease;box-shadow:var(--shadow-sm)}.btn-primary[data-v-e1c3634a]{background:linear-gradient(135deg,var(--primary) 0,var(--primary-dark) 100%);color:#fff}.btn-primary[data-v-e1c3634a]:hover{transform:translateY(-2px);box-shadow:var(--shadow-md)}.btn-secondary[data-v-e1c3634a]{background:#fff;color:var(--text-primary);border:2px solid var(--border)}.btn-secondary[data-v-e1c3634a]:hover{border-color:var(--primary);color:var(--primary);transform:translateY(-2px);box-shadow:var(--shadow-md)}.progress-section[data-v-e1c3634a]{margin-top:40px}.progress-header[data-v-e1c3634a]{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.progress-title[data-v-e1c3634a]{font-family:Fredoka,sans-serif;font-size:1.125rem;font-weight:600;color:var(--text-primary)}.progress-info[data-v-e1c3634a]{font-size:.875rem;color:var(--text-secondary)}.progress-bar[data-v-e1c3634a]{width:100%;height:12px;background:var(--border);border-radius:6px;overflow:hidden}.progress-fill[data-v-e1c3634a]{height:100%;background:linear-gradient(90deg,var(--primary) 0,var(--primary-dark) 100%);border-radius:6px;transition:width .5s ease}@media (max-width:1024px){.main-content[data-v-e1c3634a]{padding:20px 16px;box-sizing:border-box}.page-title h1[data-v-e1c3634a]{font-size:2rem}.writing-card[data-v-e1c3634a]{padding:28px}.control-buttons[data-v-e1c3634a]{flex-wrap:wrap}.btn[data-v-e1c3634a]{flex:1;min-width:120px}}@media (max-width:768px){.writing-card[data-v-e1c3634a]{padding:24px}.control-buttons[data-v-e1c3634a]{flex-direction:column}.btn[data-v-e1c3634a]{width:100%}.exercise-types[data-v-e1c3634a]{grid-template-columns:1fr}}@media (max-width:480px){.page-title h1[data-v-e1c3634a]{font-size:1.75rem}.writing-card[data-v-e1c3634a]{padding:20px}.exercise-title[data-v-e1c3634a]{font-size:1.25rem}.input-label[data-v-e1c3634a]{font-size:1rem}.writing-input[data-v-e1c3634a]{padding:16px;font-size:.875rem}.btn[data-v-e1c3634a]{padding:10px 20px;font-size:.875rem}.progress-title[data-v-e1c3634a]{font-size:1rem}.progress-info[data-v-e1c3634a]{font-size:.75rem}}.speech-test[data-v-c4063e90]{padding:20px;max-width:800px;margin:0 auto;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}.header[data-v-c4063e90]{text-align:center;margin-bottom:30px}.header h1[data-v-c4063e90]{font-size:24px;color:#333;margin-bottom:8px}.subtitle[data-v-c4063e90]{color:#666;font-size:14px}.card[data-v-c4063e90]{background:#fff;border-radius:12px;padding:20px;margin-bottom:20px;box-shadow:0 2px 8px rgba(0,0,0,.08)}.card h2[data-v-c4063e90]{font-size:18px;color:#333;margin-bottom:16px;padding-bottom:12px;border-bottom:1px solid #eee}.info-grid[data-v-c4063e90]{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px}.info-item[data-v-c4063e90]{display:flex;flex-direction:column;gap:4px}.info-item .label[data-v-c4063e90]{font-size:12px;color:#999}.info-item .value[data-v-c4063e90]{font-size:14px;color:#333;font-weight:500}.info-item .value.small[data-v-c4063e90]{font-size:12px;word-break:break-all}.support-list[data-v-c4063e90]{display:flex;flex-direction:column;gap:12px}.support-item[data-v-c4063e90]{display:flex;justify-content:space-between;align-items:center;padding:12px;background:#f8f9fa;border-radius:8px}.support-item .label[data-v-c4063e90]{font-size:14px;color:#333}.status[data-v-c4063e90]{padding:4px 12px;border-radius:20px;font-size:12px;font-weight:500}.status.success[data-v-c4063e90]{background:#d4edda;color:#155724}.status.error[data-v-c4063e90]{background:#f8d7da;color:#721c24}.status.granted[data-v-c4063e90]{background:#d4edda;color:#155724}.status.denied[data-v-c4063e90]{background:#f8d7da;color:#721c24}.status.prompt[data-v-c4063e90]{background:#fff3cd;color:#856404}.status.unknown[data-v-c4063e90]{background:#e2e3e5;color:#383d41}.test-content[data-v-c4063e90]{display:flex;flex-direction:column;gap:16px}.input-group textarea[data-v-c4063e90]{width:100%;padding:12px;border:1px solid #ddd;border-radius:8px;font-size:14px;resize:vertical;box-sizing:border-box}.controls[data-v-c4063e90]{display:flex;flex-direction:column;gap:12px}.control-row[data-v-c4063e90]{display:flex;align-items:center;gap:12px}.control-row label[data-v-c4063e90]{width:60px;font-size:14px;color:#666}.control-row input[type=range][data-v-c4063e90]{flex:1}.control-row span[data-v-c4063e90]{width:40px;text-align:right;font-size:14px;color:#333}.buttons[data-v-c4063e90]{display:flex;gap:12px;margin-top:8px}button[data-v-c4063e90]{padding:12px 24px;border:none;border-radius:8px;font-size:14px;cursor:pointer;transition:all .2s;background:#4a90d9;color:#fff}button[data-v-c4063e90]:hover:not(:disabled){background:#357abd}button[data-v-c4063e90]:disabled{opacity:.5;cursor:not-allowed}button.btn-secondary[data-v-c4063e90]{background:#6c757d}button.btn-secondary[data-v-c4063e90]:hover:not(:disabled){background:#5a6268}button.btn-record[data-v-c4063e90]{background:#dc3545}button.btn-record[data-v-c4063e90]:hover:not(:disabled){background:#c82333}.voice-select[data-v-c4063e90]{display:flex;align-items:center;gap:12px}.voice-select label[data-v-c4063e90]{font-size:14px;color:#666;white-space:nowrap}.voice-select select[data-v-c4063e90]{flex:1;padding:8px 12px;border:1px solid #ddd;border-radius:6px;font-size:14px}.recording-status[data-v-c4063e90]{display:flex;flex-direction:column;align-items:center;gap:12px;padding:20px}.mic-icon[data-v-c4063e90]{color:#6c757d;transition:color .3s}.mic-icon.recording[data-v-c4063e90]{color:#dc3545;animation:pulse-c4063e90 1.5s infinite}@keyframes pulse-c4063e90{0%,to{opacity:1}50%{opacity:.5}}.recording-status p[data-v-c4063e90]{font-size:14px;color:#666}.recognized-text[data-v-c4063e90]{display:flex;flex-direction:column;gap:8px}.recognized-text label[data-v-c4063e90]{font-size:14px;color:#666}.text-box[data-v-c4063e90]{padding:16px;background:#f8f9fa;border-radius:8px;font-size:16px;min-height:60px;word-break:break-all}.error-message[data-v-c4063e90]{padding:12px;background:#f8d7da;color:#721c24;border-radius:8px;font-size:14px}.result-card .result-content[data-v-c4063e90]{padding:16px;border-radius:8px}.result.success[data-v-c4063e90]{background:#d4edda;color:#155724}.result.success p[data-v-c4063e90]{margin:0;font-size:16px}.result.warning[data-v-c4063e90]{background:#fff3cd;color:#856404}.result.warning p[data-v-c4063e90]{margin:0 0 8px 0;font-size:14px}.result.warning ul[data-v-c4063e90]{margin:8px 0;padding-left:20px}.result.warning li[data-v-c4063e90]{font-size:14px}.result.warning .suggestion[data-v-c4063e90]{font-style:italic;font-size:12px;margin-top:12px}@media (max-width:768px){.speech-test[data-v-c4063e90]{padding:16px}.header h1[data-v-c4063e90]{font-size:20px}.card[data-v-c4063e90]{padding:16px}.card h2[data-v-c4063e90]{font-size:16px}.buttons[data-v-c4063e90]{flex-direction:column}button[data-v-c4063e90]{width:100%}}