html,body,#app{overflow-x:hidden;max-width:100vw}*{margin:0;padding:0;box-sizing:border-box;max-width:100%;font-family:Manrope,sans-serif;font-weight:700}html,body{overflow-x:hidden;max-width:100vw}:root{--bg-app: linear-gradient(135deg, #001633 0%, #060042 100%);--card-bg: #ffffff;--card-shadow: 0 1px 4px rgba(0, 0, 0, .08);--bg-primary: #ffffff;--bg-secondary: #f9fafb;--text-primary: #111111;--text-secondary: #6b7280;--text-tertiary: #9ca3af;--border: #e5e7eb;--accent: #1d4ed8;--accent-hover: #1e40af;--success: #059669;--danger: #dc2626;--warning: #ca8a04}[data-theme=dark]{--bg-app: linear-gradient(135deg, #141c2c 0%, #020617 100%);--bg-primary: #0f172a;--bg-secondary: #1e293b;--text-primary: #f1f5f9;--text-secondary: #94a3b8;--text-tertiary: #64748b;--border: #334155;--card-bg: #1e293b;--card-shadow: 0 1px 8px rgba(0, 0, 0, .5), 0 0 0 1px rgba(255, 255, 255, .05);--accent: #3b82f6;--accent-hover: #2563eb;--success: #10b981;--danger: #ef4444;--warning: #f59e0b}.app-background{min-height:100vh;background:linear-gradient(135deg,#0a2540,#0d1b3e,#060042);display:flex;align-items:center;justify-content:center}.card{background:var(--card-bg);border-radius:16px;padding:20px 24px;box-shadow:var(--card-shadow)}.text-primary{color:var(--text-primary)}.text-secondary{color:var(--text-secondary)}.text-tertiary{color:var(--text-tertiary)}.btn{width:100%;padding:13px;border:none;border-radius:12px;font-size:15px;font-weight:600;cursor:pointer;transition:opacity .2s}.btn:hover:not(:disabled){opacity:.9}.btn:disabled{background:var(--border)!important;color:var(--text-tertiary)!important;cursor:not-allowed}.btn-primary{background:var(--accent);color:#fff}.btn-success{background:var(--success);color:#fff}.btn-danger{background:var(--danger);color:#fff}.btn-ghost{background:transparent;color:var(--text-secondary);border:1px solid var(--border)}.btn-ghost:hover{background:var(--bg-secondary)}.btn-outline-accent{background:transparent;color:var(--accent);border:1px solid var(--accent)}.btn-outline-accent:hover{background:var(--bg-secondary)}.input-field{width:100%;padding:10px 14px;border:1px solid var(--border);border-radius:10px;font-size:14px;background:var(--card-bg);color:var(--text-primary);outline:none}.input-field:focus{border-color:var(--accent)}.select-field{width:100%;padding:10px 14px;border:1px solid var(--border);border-radius:10px;font-size:14px;background:var(--card-bg);color:var(--text-primary);outline:none;cursor:pointer}.select-field:focus{border-color:var(--accent)}.label-upper{font-size:11px;color:var(--text-tertiary);font-weight:500;text-transform:uppercase;letter-spacing:.4px}.plan-badge{display:inline-block;padding:3px 12px;border-radius:20px;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.plan-badge.free{background:#f3f4f6;color:#6b7280}.plan-badge.practice{background:#dbeafe;color:#1d4ed8}.plan-badge.fluent,.plan-badge.pro{background:#d1fae5;color:#065f46}.spinner{width:24px;height:24px;border:2.5px solid var(--border);border-top-color:var(--accent);border-radius:50%;animation:spin .8s linear infinite;flex-shrink:0}@keyframes spin{to{transform:rotate(360deg)}}.error-box{background:#fee2e2;color:var(--danger);padding:10px 14px;border-radius:8px;font-size:13px;width:100%;text-align:center}.progress-bar{width:100%;height:5px;background:var(--border);border-radius:10px;overflow:hidden}.progress-fill{height:100%;background:var(--accent);border-radius:10px;transition:width .4s}.ant-select-dropdown{z-index:9999!important}.ant-layout{background:transparent!important}.ant-layout-content{background:transparent!important;padding:0!important}.dashboard-container[data-v-516b1e79]{padding:24px 20px;max-width:1100px;margin:16px auto 0;width:100%;display:flex;flex-direction:column;gap:20px;box-sizing:border-box}.header-section[data-v-516b1e79]{display:flex;align-items:center;justify-content:space-between;background:var(--card-bg);border-radius:16px;padding:20px 24px;box-shadow:var(--card-shadow)}.header-text h1[data-v-516b1e79]{font-size:20px;font-weight:600;margin-bottom:4px;color:var(--text-primary)}.email[data-v-516b1e79]{font-size:13px;color:var(--text-secondary);margin-bottom:10px}.ace-mascot[data-v-516b1e79]{width:90px;height:auto;object-fit:contain}.stats-grid[data-v-516b1e79]{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}@media(min-width:768px){.stats-grid[data-v-516b1e79]{grid-template-columns:repeat(3,1fr)}}.stat-card[data-v-516b1e79]{background:var(--card-bg);border-radius:12px;padding:14px 16px;box-shadow:var(--card-shadow)}.stat-card.highlight[data-v-516b1e79]{background:#92400e;border:1px solid #b45309}.stat-card.highlight .stat-label[data-v-516b1e79]{color:#fde68a}.stat-card.highlight .stat-value[data-v-516b1e79]{color:#fff}.stat-label[data-v-516b1e79]{font-size:11px;color:var(--text-tertiary);font-weight:500;text-transform:uppercase;letter-spacing:.4px;margin-bottom:6px}.stat-value[data-v-516b1e79]{font-size:18px;font-weight:700;color:var(--text-primary)}.stat-value.small[data-v-516b1e79]{font-size:15px}.section-card[data-v-516b1e79]{background:var(--card-bg);border-radius:16px;padding:20px 24px;box-shadow:var(--card-shadow);overflow:hidden}.section-title[data-v-516b1e79]{font-size:15px;font-weight:600;margin-bottom:8px;color:var(--text-primary)}.action-card[data-v-516b1e79]{display:flex;flex-direction:column;gap:14px}.action-header[data-v-516b1e79]{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.action-sub[data-v-516b1e79]{font-size:13px;color:var(--text-tertiary);margin:0}.action-remaining[data-v-516b1e79]{font-size:12px;font-weight:600;padding:4px 12px;border-radius:20px;background:#dbeafe;color:#1d4ed8;white-space:nowrap;flex-shrink:0}.action-remaining.no-remaining[data-v-516b1e79]{background:#fee2e2;color:#991b1b}.btn-train[data-v-516b1e79]{width:100%;padding:14px;background:var(--accent);color:#fff;border:none;border-radius:12px;font-size:15px;font-weight:600;cursor:pointer;transition:background .2s}.btn-train[data-v-516b1e79]:hover{background:var(--accent-hover)}.btn-train[data-v-516b1e79]:disabled{background:var(--border);color:var(--text-tertiary);cursor:not-allowed}.btn-upgrade[data-v-516b1e79]{width:100%;padding:11px;background:transparent;color:var(--success);border:1px solid var(--success);border-radius:12px;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s}.btn-upgrade[data-v-516b1e79]:hover{background:var(--bg-secondary)}.chart-wrap[data-v-516b1e79]{position:relative;height:180px;width:100%;max-width:100%}.two-col[data-v-516b1e79]{display:grid;grid-template-columns:1fr;gap:20px;overflow:hidden}@media(min-width:768px){.two-col[data-v-516b1e79]{grid-template-columns:1fr 1fr}}.calendar-grid[data-v-516b1e79]{display:grid;grid-template-columns:repeat(10,1fr);gap:4px;margin-bottom:10px}.cal-day[data-v-516b1e79]{aspect-ratio:1;border-radius:4px;background:var(--border)}.cal-day.cal-active[data-v-516b1e79]{background:var(--accent)}.cal-day.cal-today[data-v-516b1e79]{outline:2px solid var(--accent);outline-offset:1px}.cal-legend[data-v-516b1e79]{display:flex;align-items:center;gap:6px;font-size:11px;color:var(--text-tertiary)}.legend-dot[data-v-516b1e79]{width:10px;height:10px;border-radius:2px;display:inline-block}.legend-dot.inactive[data-v-516b1e79]{background:var(--bg-secondary)}.legend-dot.active[data-v-516b1e79]{background:var(--accent)}.placement-modal-overlay[data-v-516b1e79]{position:fixed;inset:0;background:#000000a6;display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px}.placement-modal[data-v-516b1e79]{background:var(--card-bg);border-radius:20px;padding:28px 24px;max-width:360px;width:100%;display:flex;flex-direction:column;align-items:center;gap:12px;box-shadow:0 20px 60px #0006}.placement-ace[data-v-516b1e79]{width:72px;height:auto}.placement-modal h2[data-v-516b1e79]{font-size:18px;font-weight:700;color:var(--text-primary);text-align:center;margin:0}.placement-modal p[data-v-516b1e79]{font-size:13px;color:var(--text-secondary);text-align:center;line-height:1.5;margin:0}.pm-btn-primary[data-v-516b1e79]{width:100%;padding:12px;background:var(--accent);color:#fff;border:none;border-radius:12px;font-size:15px;font-weight:600;cursor:pointer;margin-top:4px}.pm-btn-ghost[data-v-516b1e79]{width:100%;padding:10px;background:transparent;color:var(--text-secondary);border:1px solid var(--border);border-radius:12px;font-size:14px;cursor:pointer}.pm-btn-link[data-v-516b1e79]{background:none;border:none;color:var(--text-tertiary);font-size:12px;cursor:pointer;text-decoration:underline;padding:0}.login-wrapper[data-v-f1fbb444]{width:100%;max-width:400px;text-align:center}.brand[data-v-f1fbb444]{color:#fff;margin-bottom:30px}.brand h1[data-v-f1fbb444]{font-size:36px;margin-bottom:5px;font-weight:700}.brand p[data-v-f1fbb444]{opacity:.9}.login-card[data-v-f1fbb444]{border-radius:12px}.pricing-container[data-v-dd20391d]{max-width:900px;margin:0 auto;padding:32px 20px 80px}.pricing-header[data-v-dd20391d]{text-align:center;margin-bottom:24px}.pricing-header h1[data-v-dd20391d]{font-size:24px;font-weight:700;color:#fff;margin-bottom:8px}.pricing-header p[data-v-dd20391d]{font-size:14px;color:#fffc}.billing-toggle[data-v-dd20391d]{display:flex;justify-content:center;gap:4px;background:var(--bg-secondary);border-radius:12px;padding:4px;width:fit-content;margin:0 auto 32px}.toggle-btn[data-v-dd20391d]{padding:8px 20px;border:none;border-radius:10px;font-size:14px;font-weight:500;cursor:pointer;background:transparent;color:var(--text-secondary);display:flex;align-items:center;gap:6px;transition:all .2s}.toggle-btn.active[data-v-dd20391d]{background:var(--card-bg);color:var(--text-primary);box-shadow:0 1px 4px #0000001a}.save-badge[data-v-dd20391d]{background:#d1fae5;color:#065f46;font-size:11px;font-weight:600;padding:2px 6px;border-radius:6px}.plans-grid[data-v-dd20391d]{display:flex;flex-direction:column;gap:16px}@media(min-width:768px){.plans-grid[data-v-dd20391d]{flex-direction:row;align-items:flex-start}}.plan-card[data-v-dd20391d]{background:var(--card-bg);border-radius:16px;padding:24px;box-shadow:var(--card-shadow);flex:1;position:relative;border:2px solid transparent}.plan-card.highlighted[data-v-dd20391d]{border-color:var(--success);box-shadow:0 4px 20px #05966926}.badge[data-v-dd20391d]{position:absolute;top:-12px;left:50%;transform:translate(-50%);background:var(--success);color:#fff;font-size:11px;font-weight:600;padding:4px 14px;border-radius:20px;white-space:nowrap}.plan-header[data-v-dd20391d]{margin-bottom:20px}.plan-name[data-v-dd20391d]{font-size:18px;font-weight:700;margin-bottom:8px}.plan-price[data-v-dd20391d]{display:flex;align-items:baseline;gap:6px;flex-wrap:wrap}.price[data-v-dd20391d]{font-size:32px;font-weight:800;color:var(--text-primary)}.price-detail[data-v-dd20391d]{font-size:12px;color:var(--text-tertiary)}.features[data-v-dd20391d]{list-style:none;padding:0;margin:0 0 24px;display:flex;flex-direction:column;gap:10px}.features li[data-v-dd20391d]{display:flex;align-items:flex-start;gap:8px;font-size:13px;color:var(--text-secondary);line-height:1.5}.check[data-v-dd20391d]{font-weight:700;font-size:14px;flex-shrink:0;margin-top:1px}.btn-plan[data-v-dd20391d]{width:100%;padding:13px;border:none;border-radius:12px;font-size:15px;font-weight:600;cursor:pointer;transition:opacity .2s}.btn-plan[data-v-dd20391d]:hover:not(:disabled){opacity:.9}.btn-plan[data-v-dd20391d]:disabled{cursor:not-allowed}.disclaimer[data-v-dd20391d]{text-align:center;font-size:12px;color:var(--text-tertiary);margin-top:24px}.container[data-v-bb2e89fe]{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:16px;background:#f5f5f5}.card[data-v-bb2e89fe]{width:100%;max-width:400px;border-radius:12px}.title[data-v-bb2e89fe]{text-align:center;margin-bottom:24px}.mt[data-v-bb2e89fe]{margin-top:16px}.iv-container[data-v-6d22adf2]{max-width:560px;margin:0 auto;padding:24px 16px 80px;min-height:100vh;display:flex;align-items:flex-start;justify-content:center}.iv-card[data-v-6d22adf2]{background:var(--card-bg);border-radius:20px;padding:28px 20px;width:100%;display:flex;flex-direction:column;align-items:center;gap:14px;box-shadow:var(--card-shadow)}h1[data-v-6d22adf2]{font-size:20px;font-weight:700;color:var(--text-primary);text-align:center;margin:0}.subtitle[data-v-6d22adf2]{font-size:13px;color:var(--text-secondary);margin:0}.desc[data-v-6d22adf2]{font-size:13px;color:var(--text-secondary);text-align:center;line-height:1.6;margin:0}.tags[data-v-6d22adf2]{display:flex;gap:8px;flex-wrap:wrap;justify-content:center}.tags span[data-v-6d22adf2]{background:var(--bg-secondary);padding:5px 12px;border-radius:20px;font-size:12px;color:var(--text-secondary)}.ace[data-v-6d22adf2]{width:90px;height:auto}.ace.speaking[data-v-6d22adf2]{animation:pulse-6d22adf2 .6s ease-in-out infinite alternate}@keyframes pulse-6d22adf2{0%{transform:scale(1.04)}to{transform:scale(1.1)}}.model-badge[data-v-6d22adf2]{padding:6px 14px;border-radius:20px;font-size:12px;font-weight:500}.model-default[data-v-6d22adf2]{background:#d1fae5;color:#065f46}.model-custom[data-v-6d22adf2]{background:#fef9c3;color:#854d0e}.progress-bar[data-v-6d22adf2]{width:100%;height:5px;background:var(--border);border-radius:10px;overflow:hidden}.progress-fill[data-v-6d22adf2]{height:100%;background:var(--accent);border-radius:10px;transition:width .4s}.progress-label[data-v-6d22adf2]{font-size:11px;color:var(--text-tertiary);align-self:flex-end;margin:0}.loading[data-v-6d22adf2]{display:flex;align-items:center;gap:10px;color:var(--text-secondary);font-size:14px}.spinner[data-v-6d22adf2]{width:24px;height:24px;border:2.5px solid var(--border);border-top-color:var(--accent);border-radius:50%;animation:spin-6d22adf2 .8s linear infinite;flex-shrink:0}@keyframes spin-6d22adf2{to{transform:rotate(360deg)}}.question-box[data-v-6d22adf2]{background:var(--bg-secondary);border-left:4px solid var(--accent);border-radius:8px;padding:14px 18px;width:100%;display:flex;flex-direction:column;gap:10px}.question-box p[data-v-6d22adf2]{font-size:15px;color:var(--text-primary);line-height:1.6;font-weight:500;margin:0}.btn-listen[data-v-6d22adf2]{background:none;border:1px solid var(--accent);color:var(--accent);padding:8px 16px;border-radius:8px;font-size:13px;cursor:pointer;align-self:flex-start;transition:all .2s}.btn-listen[data-v-6d22adf2]:hover{background:var(--bg-secondary)}.btn-listen-pulse[data-v-6d22adf2]{background:var(--accent);color:#fff;border-color:var(--accent);animation:attention-6d22adf2 1s ease-in-out infinite alternate}@keyframes attention-6d22adf2{0%{transform:scale(1)}to{transform:scale(1.03)}}.controls[data-v-6d22adf2],.recorded-wrap[data-v-6d22adf2]{display:flex;flex-direction:column;gap:10px;width:100%}.audio-player[data-v-6d22adf2]{width:100%;border-radius:8px}.btn-blue[data-v-6d22adf2]{width:100%;padding:13px;background:var(--accent);color:#fff;border:none;border-radius:12px;font-size:15px;font-weight:600;cursor:pointer}.btn-blue[data-v-6d22adf2]:hover{background:var(--accent-hover)}.btn-blue[data-v-6d22adf2]:disabled{background:var(--border);color:var(--text-tertiary);cursor:not-allowed}.btn-green[data-v-6d22adf2]{width:100%;padding:13px;background:var(--success);color:#fff;border:none;border-radius:12px;font-size:15px;font-weight:600;cursor:pointer}.btn-green[data-v-6d22adf2]:hover{opacity:.9}.btn-red[data-v-6d22adf2]{width:100%;padding:13px;background:var(--danger);color:#fff;border:none;border-radius:12px;font-size:15px;font-weight:600;cursor:pointer;animation:blink-6d22adf2 1s ease-in-out infinite alternate}@keyframes blink-6d22adf2{0%{opacity:1}to{opacity:.8}}.btn-ghost[data-v-6d22adf2]{width:100%;padding:11px;background:transparent;color:var(--text-secondary);border:1px solid var(--border);border-radius:12px;font-size:14px;cursor:pointer}.btn-ghost[data-v-6d22adf2]:hover{background:var(--bg-secondary)}.feedback-wrap[data-v-6d22adf2]{display:flex;flex-direction:column;gap:14px;width:100%}.score-card[data-v-6d22adf2]{text-align:center;padding:20px;background:var(--bg-secondary);border-radius:12px}.score-label[data-v-6d22adf2]{font-size:12px;color:var(--text-tertiary);margin-bottom:6px}.score-value[data-v-6d22adf2]{font-size:42px;font-weight:800}.score-value.green[data-v-6d22adf2]{color:var(--success)}.score-value.yellow[data-v-6d22adf2]{color:var(--warning)}.score-value.red[data-v-6d22adf2]{color:var(--danger)}.fb-section[data-v-6d22adf2]{background:var(--bg-secondary);border-radius:12px;padding:14px;width:100%}.fb-section h3[data-v-6d22adf2]{font-size:13px;font-weight:600;margin-bottom:8px;color:var(--text-primary)}.fb-section p[data-v-6d22adf2]{font-size:13px;color:var(--text-secondary);line-height:1.6;margin:0}.fb-section ul[data-v-6d22adf2]{padding-left:16px;display:flex;flex-direction:column;gap:4px}.fb-section li[data-v-6d22adf2]{font-size:13px;color:var(--text-secondary);line-height:1.5}.nav-menu[data-v-278dd9a8]{display:flex!important;flex-direction:row!important;justify-content:space-around!important;position:fixed!important;bottom:0!important;left:0!important;width:100%!important;z-index:1000!important}.nav-label[data-v-278dd9a8]{display:none}@media(min-width:768px){.nav-label[data-v-278dd9a8]{display:inline;margin-left:6px}}.header[data-v-c0284926]{display:flex!important;align-items:center!important;justify-content:space-between!important;position:fixed!important;top:0!important;left:0!important;width:100%!important;z-index:1000!important;background:#001633!important;padding:0 16px!important;height:56px!important;box-shadow:0 1px 4px #0000004d!important}.logo[data-v-c0284926]{display:flex;align-items:center;gap:8px}.title[data-v-c0284926]{font-size:20px;font-weight:700;color:#fff;margin:0}.avatar-wrap[data-v-c0284926]{position:relative}.avatar-btn[data-v-c0284926]{width:36px;height:36px;border-radius:50%;background:#3b82f6;color:#fff;border:none;font-size:16px;font-weight:700;cursor:pointer;display:flex;align-items:center;justify-content:center}.avatar-menu[data-v-c0284926]{position:absolute;top:44px;right:0;background:#fff;border-radius:12px;box-shadow:0 4px 20px #00000026;overflow:hidden;min-width:180px;z-index:2000}.avatar-menu button[data-v-c0284926]{display:block;width:100%;padding:12px 16px;background:none;border:none;text-align:left;font-size:14px;font-weight:500;cursor:pointer;color:#111}.avatar-menu button[data-v-c0284926]:hover{background:#f3f4f6}.overlay[data-v-c0284926]{position:fixed;top:0;left:0;width:100%;height:100%;z-index:1999}.app-layout[data-v-7a1bd891]{min-height:100vh;background:transparent!important;width:100%}.app-content[data-v-7a1bd891]{padding:64px 16px 80px!important;background:transparent!important;width:100%;max-width:100%;box-sizing:border-box}.support-container[data-v-d0901260]{max-width:900px;margin:0 auto;padding:24px 20px 80px;display:flex;flex-direction:column;gap:24px}.hero[data-v-d0901260]{text-align:center;padding:8px 0}.hero h1[data-v-d0901260]{font-size:24px;font-weight:700;color:#fff;margin-bottom:8px}.hero p[data-v-d0901260]{font-size:14px;color:#fffc}.cards-grid[data-v-d0901260]{display:grid;grid-template-columns:1fr;gap:14px}@media(min-width:768px){.cards-grid[data-v-d0901260]{grid-template-columns:1fr 1fr}}.card[data-v-d0901260]{background:var(--card-bg);border-radius:16px;padding:20px;box-shadow:var(--card-shadow);display:flex;flex-direction:column;gap:8px}.card-icon[data-v-d0901260]{font-size:28px}.card h2[data-v-d0901260]{font-size:15px;font-weight:700;color:var(--text-primary);margin:0}.card p[data-v-d0901260]{font-size:13px;color:var(--text-secondary);margin:0;line-height:1.5}.contact[data-v-d0901260]{font-weight:700;color:var(--text-primary)!important;font-size:15px!important}.note[data-v-d0901260]{font-size:12px!important;color:var(--text-tertiary)!important}.btn-whatsapp[data-v-d0901260]{margin-top:4px;padding:10px 20px;background:#25d366;color:#fff;border:none;border-radius:10px;font-size:14px;font-weight:600;cursor:pointer;align-self:flex-start}.btn-whatsapp[data-v-d0901260]:hover{opacity:.9}.faq-section[data-v-d0901260]{background:var(--card-bg);border-radius:16px;padding:20px 24px;box-shadow:var(--card-shadow)}.faq-section h2[data-v-d0901260]{font-size:16px;font-weight:700;color:var(--text-primary);margin-bottom:16px}.faq-list[data-v-d0901260]{display:flex;flex-direction:column;gap:8px}.faq-item[data-v-d0901260]{border:1px solid var(--border);border-radius:10px;overflow:hidden}.faq-item.active[data-v-d0901260]{border-color:var(--accent)}.faq-question[data-v-d0901260]{display:flex;justify-content:space-between;align-items:center;padding:14px 16px;cursor:pointer;font-size:14px;font-weight:500;color:var(--text-primary);gap:12px}.faq-question[data-v-d0901260]:hover{background:var(--bg-secondary)}.faq-icon[data-v-d0901260]{font-size:18px;flex-shrink:0;color:var(--accent)}.faq-answer[data-v-d0901260]{padding:0 16px 14px}.faq-answer p[data-v-d0901260]{font-size:13px;color:var(--text-secondary);line-height:1.6;margin:0}.about-container[data-v-91f6c227]{max-width:900px;margin:0 auto;padding:24px 20px 80px;display:flex;flex-direction:column;gap:24px}.hero[data-v-91f6c227]{background:var(--card-bg);border-radius:20px;padding:32px 24px;box-shadow:var(--card-shadow);text-align:center;display:flex;flex-direction:column;align-items:center;gap:12px}.ace[data-v-91f6c227]{width:80px;height:auto}.hero h1[data-v-91f6c227]{font-size:22px;font-weight:700;color:var(--text-primary)}.hero p[data-v-91f6c227]{font-size:14px;color:var(--text-secondary);line-height:1.6;max-width:500px}.cards-grid[data-v-91f6c227]{display:grid;grid-template-columns:1fr;gap:16px}@media(min-width:768px){.cards-grid[data-v-91f6c227]{grid-template-columns:1fr 1fr}}.card[data-v-91f6c227]{background:var(--card-bg);border-radius:16px;padding:20px 24px;box-shadow:var(--card-shadow);display:flex;flex-direction:column;gap:12px}.card h2[data-v-91f6c227]{font-size:16px;font-weight:700;color:var(--text-primary)}.card p[data-v-91f6c227]{font-size:13px;color:var(--text-secondary);line-height:1.6;margin:0}.card ul[data-v-91f6c227]{padding-left:16px;display:flex;flex-direction:column;gap:6px}.card li[data-v-91f6c227]{font-size:13px;color:var(--text-secondary);line-height:1.5}.btn-start[data-v-91f6c227]{width:100%;padding:13px;background:var(--accent);color:#fff;border:none;border-radius:12px;font-size:15px;font-weight:600;cursor:pointer;margin-top:4px}.btn-start[data-v-91f6c227]:hover{background:var(--accent-hover)}.tutor-container[data-v-59c2f1ff]{max-width:560px;margin:0 auto;padding:24px 16px 80px;min-height:100vh;display:flex;align-items:flex-start;justify-content:center}.tutor-card[data-v-59c2f1ff]{background:var(--card-bg);border-radius:20px;padding:28px 20px;width:100%;display:flex;flex-direction:column;align-items:center;gap:14px;box-shadow:var(--card-shadow)}h1[data-v-59c2f1ff]{font-size:20px;font-weight:700;color:var(--text-primary);text-align:center;margin:0}.ace[data-v-59c2f1ff]{width:90px;height:auto}.ace.speaking[data-v-59c2f1ff]{animation:pulse-59c2f1ff .6s ease-in-out infinite alternate}@keyframes pulse-59c2f1ff{0%{transform:scale(1.04)}to{transform:scale(1.1)}}.tutor-info[data-v-59c2f1ff]{display:flex;align-items:center;gap:12px;background:var(--bg-secondary);border-radius:12px;padding:12px 16px;width:100%}.tutor-flag[data-v-59c2f1ff]{font-size:28px}.tutor-name[data-v-59c2f1ff]{font-size:16px;font-weight:700;color:var(--text-primary);margin:0}.tutor-desc[data-v-59c2f1ff]{font-size:12px;color:var(--text-secondary);margin:0}.level-badge[data-v-59c2f1ff]{font-size:13px;color:var(--text-secondary);margin:0}.mode-select[data-v-59c2f1ff]{display:flex;gap:8px;width:100%}.mode-btn[data-v-59c2f1ff]{flex:1;padding:12px;border:2px solid var(--border);border-radius:12px;background:transparent;color:var(--text-secondary);font-size:13px;font-weight:600;cursor:pointer;transition:all .2s}.mode-btn.active[data-v-59c2f1ff]{border-color:var(--accent);background:var(--accent);color:#fff}.topic-select[data-v-59c2f1ff]{width:100%;display:flex;flex-direction:column;gap:8px}.topic-label[data-v-59c2f1ff]{font-size:13px;color:var(--text-secondary);margin:0;align-self:flex-start}.select[data-v-59c2f1ff]{width:100%;padding:10px 14px;border:1px solid var(--border);border-radius:10px;font-size:14px;background:var(--card-bg);color:var(--text-primary);outline:none;cursor:pointer}.session-header[data-v-59c2f1ff]{display:flex;align-items:center;justify-content:space-between;width:100%;gap:8px}.tutor-info-small[data-v-59c2f1ff]{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.tutor-name-small[data-v-59c2f1ff]{font-size:14px;font-weight:700;color:var(--text-primary)}.mode-tag[data-v-59c2f1ff]{font-size:11px;background:var(--bg-secondary);color:var(--text-secondary);padding:2px 8px;border-radius:10px}.topic-tag[data-v-59c2f1ff]{font-size:11px;background:#dbeafe;color:#1d4ed8;padding:2px 8px;border-radius:10px;max-width:150px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.btn-end[data-v-59c2f1ff]{padding:6px 12px;background:transparent;color:var(--text-tertiary);border:1px solid var(--border);border-radius:8px;font-size:12px;cursor:pointer;white-space:nowrap}.btn-end[data-v-59c2f1ff]:hover{background:var(--bg-secondary)}.loading[data-v-59c2f1ff]{display:flex;align-items:center;gap:10px;color:var(--text-secondary);font-size:14px}.spinner[data-v-59c2f1ff]{width:24px;height:24px;border:2.5px solid var(--border);border-top-color:var(--accent);border-radius:50%;animation:spin-59c2f1ff .8s linear infinite;flex-shrink:0}@keyframes spin-59c2f1ff{to{transform:rotate(360deg)}}.message-box[data-v-59c2f1ff]{background:var(--bg-secondary);border-left:4px solid var(--accent);border-radius:8px;padding:14px 18px;width:100%;display:flex;flex-direction:column;gap:10px}.message-box p[data-v-59c2f1ff]{font-size:15px;color:var(--text-primary);line-height:1.6;font-weight:500;margin:0}.btn-listen[data-v-59c2f1ff]{background:none;border:1px solid var(--accent);color:var(--accent);padding:8px 16px;border-radius:8px;font-size:13px;cursor:pointer;align-self:flex-start;transition:all .2s}.btn-listen[data-v-59c2f1ff]:hover{background:var(--bg-secondary)}.btn-listen-pulse[data-v-59c2f1ff]{background:var(--accent);color:#fff;border-color:var(--accent);animation:attention-59c2f1ff 1s ease-in-out infinite alternate}@keyframes attention-59c2f1ff{0%{transform:scale(1)}to{transform:scale(1.03)}}.history-hint[data-v-59c2f1ff]{font-size:12px;color:var(--text-tertiary)}.controls[data-v-59c2f1ff],.recorded-wrap[data-v-59c2f1ff]{display:flex;flex-direction:column;gap:10px;width:100%}.audio-player[data-v-59c2f1ff]{width:100%;border-radius:8px}.btn-blue[data-v-59c2f1ff]{width:100%;padding:13px;background:var(--accent);color:#fff;border:none;border-radius:12px;font-size:15px;font-weight:600;cursor:pointer}.btn-blue[data-v-59c2f1ff]:hover{background:var(--accent-hover)}.btn-green[data-v-59c2f1ff]{width:100%;padding:13px;background:var(--success);color:#fff;border:none;border-radius:12px;font-size:15px;font-weight:600;cursor:pointer}.btn-green[data-v-59c2f1ff]:hover{opacity:.9}.btn-red[data-v-59c2f1ff]{width:100%;padding:13px;background:var(--danger);color:#fff;border:none;border-radius:12px;font-size:15px;font-weight:600;cursor:pointer;animation:blink-59c2f1ff 1s ease-in-out infinite alternate}@keyframes blink-59c2f1ff{0%{opacity:1}to{opacity:.8}}.btn-ghost[data-v-59c2f1ff]{width:100%;padding:11px;background:transparent;color:var(--text-secondary);border:1px solid var(--border);border-radius:12px;font-size:14px;cursor:pointer}.btn-ghost[data-v-59c2f1ff]:hover{background:var(--bg-secondary)}.model-badge[data-v-59c2f1ff]{padding:6px 14px;border-radius:20px;font-size:12px;font-weight:500}.model-default[data-v-59c2f1ff]{background:#d1fae5;color:#065f46}.model-custom[data-v-59c2f1ff]{background:#fef9c3;color:#854d0e}.settings-container[data-v-58150365]{max-width:600px;margin:0 auto;padding:16px 20px 80px;display:flex;flex-direction:column;gap:16px}.page-title[data-v-58150365]{font-size:22px;font-weight:700;color:#fff!important;margin-bottom:4px}.settings-card[data-v-58150365]{background:var(--card-bg);border-radius:16px;padding:20px;box-shadow:var(--card-shadow);display:flex;flex-direction:column;gap:12px}.danger-card[data-v-58150365]{border:1px solid #fecaca}.model-saved-msg[data-v-58150365]{font-size:12px;color:var(--success);margin:0}.card-title[data-v-58150365]{font-size:15px;font-weight:600;color:var(--text-primary);margin:0}.card-title.danger[data-v-58150365]{color:var(--danger)}.card-desc[data-v-58150365]{font-size:13px;color:var(--text-secondary);margin:0;line-height:1.5}.setting-row[data-v-58150365]{display:flex;align-items:center;justify-content:space-between;gap:12px}.setting-label[data-v-58150365]{font-size:14px;font-weight:500;color:var(--text-primary);margin:0 0 2px}.setting-desc[data-v-58150365]{font-size:12px;color:var(--text-tertiary);margin:0}.model-hint[data-v-58150365]{background:#fef9c3;border-radius:8px;padding:10px 14px;font-size:12px;color:#854d0e}.model-hint p[data-v-58150365]{margin:0}.input-row[data-v-58150365]{display:flex;gap:8px;align-items:center;overflow:hidden;max-width:100%}.input[data-v-58150365]{flex:1;padding:10px 14px;border:1px solid var(--border);border-radius:10px;font-size:14px;outline:none;font-family:monospace;background:var(--card-bg);color:var(--text-primary);min-width:0;max-width:100%}.input[data-v-58150365]:focus{border-color:var(--accent)}.select[data-v-58150365]{width:100%;padding:10px 14px;border:1px solid var(--border);border-radius:10px;font-size:14px;outline:none;background:var(--card-bg);color:var(--text-primary);cursor:pointer}.select[data-v-58150365]:focus{border-color:var(--accent)}.btn-row[data-v-58150365]{display:flex;gap:10px}.btn-primary[data-v-58150365]{flex:1;padding:11px;background:var(--accent);color:#fff;border:none;border-radius:10px;font-size:14px;font-weight:600;cursor:pointer}.btn-primary[data-v-58150365]:disabled{background:var(--border);color:var(--text-tertiary);cursor:not-allowed}.btn-ghost[data-v-58150365]{flex:1;padding:11px;background:transparent;color:var(--text-secondary);border:1px solid var(--border);border-radius:10px;font-size:14px;cursor:pointer}.btn-ghost[data-v-58150365]:hover{background:var(--bg-secondary)}.btn-outline[data-v-58150365]{padding:8px 16px;background:transparent;color:var(--accent);border:1px solid var(--accent);border-radius:10px;font-size:13px;font-weight:600;cursor:pointer;white-space:nowrap}.btn-outline[data-v-58150365]:hover{background:var(--bg-secondary)}.btn-icon[data-v-58150365]{padding:10px;background:var(--bg-secondary);border:none;border-radius:8px;cursor:pointer;font-size:16px}.toggle-btn[data-v-58150365]{padding:8px 16px;background:var(--accent);color:#fff;border:none;border-radius:10px;font-size:13px;font-weight:600;cursor:pointer;white-space:nowrap}.btn-danger[data-v-58150365]{flex:1;padding:11px;background:var(--danger);color:#fff;border:none;border-radius:10px;font-size:14px;font-weight:600;cursor:pointer}.btn-danger[data-v-58150365]:disabled{opacity:.5;cursor:not-allowed}.delete-confirm[data-v-58150365]{display:flex;flex-direction:column;gap:10px}.error-msg[data-v-58150365]{font-size:12px;color:var(--danger);margin:0}.pt-container[data-v-738d84a1]{max-width:560px;margin:0 auto;padding:16px 16px 80px;display:flex;flex-direction:column;gap:16px}.progress-wrap[data-v-738d84a1]{display:flex;flex-direction:column;gap:6px}.progress-label[data-v-738d84a1]{display:flex;justify-content:space-between;font-size:12px;color:#ffffffb3;font-weight:600}.progress-track[data-v-738d84a1]{width:100%;height:6px;background:#fff3;border-radius:10px;overflow:hidden}.progress-fill[data-v-738d84a1]{height:100%;background:var(--accent);border-radius:10px;transition:width .4s ease}.pt-card[data-v-738d84a1]{background:var(--card-bg);border-radius:20px;padding:28px 20px;box-shadow:var(--card-shadow);display:flex;flex-direction:column;align-items:center;gap:14px}.ace[data-v-738d84a1]{width:80px;height:auto}.ace.pulse[data-v-738d84a1]{animation:pulse-738d84a1 .6s ease-in-out infinite alternate}@keyframes pulse-738d84a1{0%{transform:scale(1.04)}to{transform:scale(1.1)}}h1[data-v-738d84a1]{font-size:20px;font-weight:700;color:var(--text-primary);text-align:center;margin:0}h2.question[data-v-738d84a1]{font-size:17px;font-weight:600;color:var(--text-primary);text-align:center;margin:0}.subtitle[data-v-738d84a1]{font-size:14px;color:var(--text-secondary);text-align:center;margin:0}.stage-list[data-v-738d84a1]{background:var(--bg-secondary);border-radius:12px;padding:14px 16px;width:100%;display:flex;flex-direction:column;gap:10px}.stage-item[data-v-738d84a1]{font-size:14px;color:var(--text-primary);display:flex;gap:10px;align-items:center}.stage-tag[data-v-738d84a1]{font-size:12px;font-weight:600;color:var(--accent);text-transform:uppercase;letter-spacing:.5px;margin:0;align-self:flex-start}.instr[data-v-738d84a1]{font-size:14px;color:var(--text-secondary);margin:0;align-self:flex-start}.options-grid[data-v-738d84a1]{display:grid;grid-template-columns:1fr 1fr;gap:10px;width:100%}.option-btn[data-v-738d84a1]{display:flex;align-items:center;gap:10px;padding:12px 14px;border:2px solid var(--border);border-radius:12px;background:var(--card-bg);color:var(--text-primary);font-size:14px;cursor:pointer;text-align:left;transition:all .15s}.option-btn[data-v-738d84a1]:hover:not(:disabled){border-color:var(--accent);background:var(--bg-secondary)}.option-btn.selected[data-v-738d84a1]{border-color:var(--accent);background:#dbeafe;color:#1d4ed8}.option-btn.correct[data-v-738d84a1]{border-color:var(--success);background:#d1fae5;color:#065f46}.option-btn.wrong[data-v-738d84a1]{border-color:var(--danger);background:#fee2e2;color:#991b1b}.opt-key[data-v-738d84a1]{font-weight:700;flex-shrink:0}.feedback-box[data-v-738d84a1]{width:100%;border-radius:10px;padding:12px 16px;display:flex;flex-direction:column;gap:4px}.feedback-box.correct[data-v-738d84a1]{background:#d1fae5;border-left:4px solid var(--success)}.feedback-box.wrong[data-v-738d84a1]{background:#fee2e2;border-left:4px solid var(--danger)}.fb-status[data-v-738d84a1]{font-size:14px;font-weight:700;margin:0;color:var(--text-primary)}.fb-text[data-v-738d84a1]{font-size:13px;color:var(--text-secondary);margin:0;line-height:1.5}.phrase-box[data-v-738d84a1]{background:var(--bg-secondary);border-left:4px solid var(--accent);border-radius:8px;padding:14px 16px;width:100%}.phrase-box p[data-v-738d84a1]{font-size:15px;font-weight:600;color:var(--text-primary);margin:0;line-height:1.5;text-align:center}.interp-text[data-v-738d84a1]{background:var(--bg-secondary);border-radius:12px;padding:16px;width:100%}.interp-text p[data-v-738d84a1]{font-size:14px;color:var(--text-primary);line-height:1.7;margin:0;font-weight:500}.conv-message[data-v-738d84a1]{background:var(--bg-secondary);border-left:4px solid var(--accent);border-radius:8px;padding:14px 16px;width:100%}.conv-message p[data-v-738d84a1]{font-size:15px;color:var(--text-primary);margin:0;line-height:1.6;font-weight:500}.record-controls[data-v-738d84a1]{display:flex;flex-direction:column;gap:10px;width:100%}.audio-player[data-v-738d84a1]{width:100%;border-radius:8px}.loading-row[data-v-738d84a1]{display:flex;align-items:center;gap:10px;color:var(--text-secondary);font-size:14px}.spinner[data-v-738d84a1]{width:22px;height:22px;border:2.5px solid var(--border);border-top-color:var(--accent);border-radius:50%;animation:spin-738d84a1 .8s linear infinite;flex-shrink:0}@keyframes spin-738d84a1{to{transform:rotate(360deg)}}.level-badge[data-v-738d84a1]{font-size:28px;font-weight:800;color:var(--accent);padding:10px 28px;border:3px solid var(--accent);border-radius:50px}.score-total[data-v-738d84a1]{font-size:14px;color:var(--text-secondary);margin:0}.breakdown[data-v-738d84a1]{width:100%;background:var(--bg-secondary);border-radius:12px;padding:12px 16px;display:flex;flex-direction:column;gap:10px}.breakdown-item[data-v-738d84a1]{display:flex;justify-content:space-between;font-size:14px;color:var(--text-primary);font-weight:500}.result-msg[data-v-738d84a1]{font-size:14px;color:var(--text-secondary);text-align:center;line-height:1.5;margin:0}.btn-primary[data-v-738d84a1]{width:100%;padding:13px;background:var(--accent);color:#fff;border:none;border-radius:12px;font-size:15px;font-weight:600;cursor:pointer;transition:background .2s}.btn-primary[data-v-738d84a1]:hover:not(:disabled){background:var(--accent-hover)}.btn-primary[data-v-738d84a1]:disabled{background:var(--border);color:var(--text-tertiary);cursor:not-allowed}.btn-green[data-v-738d84a1]{width:100%;padding:13px;background:var(--success);color:#fff;border:none;border-radius:12px;font-size:15px;font-weight:600;cursor:pointer}.btn-red[data-v-738d84a1]{width:100%;padding:13px;background:var(--danger);color:#fff;border:none;border-radius:12px;font-size:15px;font-weight:600;cursor:pointer;animation:blink-738d84a1 1s ease-in-out infinite alternate}@keyframes blink-738d84a1{0%{opacity:1}to{opacity:.8}}.btn-ghost[data-v-738d84a1]{width:100%;padding:11px;background:transparent;color:var(--text-secondary);border:1px solid var(--border);border-radius:12px;font-size:14px;cursor:pointer}.btn-ghost[data-v-738d84a1]:hover{background:var(--bg-secondary)}.blocked-card[data-v-738d84a1]{display:flex;flex-direction:column;align-items:center;gap:12px;text-align:center;padding:8px 0}.blocked-card p[data-v-738d84a1]{font-size:14px;color:var(--text-secondary);margin:0}.app-background{margin:0;padding:0;min-height:100vh;background:var(--bg-app);display:flex;align-items:center;justify-content:center;transition:background .3s ease}
