.practice-type-selector[data-v-62b6e2c2]{background:#fff;border:1px solid rgba(15,23,42,.06);border-radius:18px;padding:28px 32px}.selector-header[data-v-62b6e2c2]{text-align:center;margin-bottom:32px;position:relative}.back-button[data-v-62b6e2c2]{position:absolute;left:0;top:0;background:#f5f5f5;border:1px solid rgba(0,0,0,.1);border-radius:8px;width:40px;height:40px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s ease;color:#666}.back-button[data-v-62b6e2c2]:hover{background:#e5e5e5;border-color:rgba(0,0,0,.15);color:#333}.back-button i[data-v-62b6e2c2]{font-size:16px}.selector-title[data-v-62b6e2c2]{font-family:League Spartan,sans-serif;font-size:24px;font-weight:700;color:#2d2c2b;margin:0 0 8px 0}.selector-description[data-v-62b6e2c2]{font-family:Inter,sans-serif;font-size:14px;color:#666;margin:0}.tests-grid[data-v-62b6e2c2]{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:16px}@media(max-width:768px){.tests-grid[data-v-62b6e2c2]{grid-template-columns:1fr}}.test-card[data-v-62b6e2c2]{background:#fff;border:1px solid rgba(15,23,42,.08);border-radius:16px;padding:22px 26px;box-shadow:0 1px 3px rgba(15,23,42,.09);cursor:pointer;transition:border-color .2s ease,box-shadow .2s ease,transform .2s ease;text-align:center}.test-card[data-v-62b6e2c2]:hover{transform:translateY(-2px);border-color:rgba(15,23,42,.12);box-shadow:0 6px 12px rgba(15,23,42,.1)}.test-card.selected[data-v-62b6e2c2]{border:2px solid #ffe846;box-shadow:0 8px 16px rgba(255,232,70,.18)}.test-card[data-v-62b6e2c2]:active{transform:translateY(0)}.empty-state[data-v-62b6e2c2],.error-state[data-v-62b6e2c2],.loading-state[data-v-62b6e2c2]{text-align:center;padding:40px 20px;color:#666;font-family:Inter,sans-serif;font-size:14px}.yellow-spinner :deep(.ant-spin-dot) i[data-v-62b6e2c2],.yellow-spinner[data-v-62b6e2c2] :deep(.ant-spin-dot-item),.yellow-spinner[data-v-62b6e2c2] :deep(span){background-color:#ffe846!important}.yellow-spinner[data-v-62b6e2c2] :deep(.anticon){color:#ffe846!important}.error-state[data-v-62b6e2c2]{color:#dc2626}.retry-button[data-v-62b6e2c2]{margin-top:12px;padding:8px 16px;background:#ffe846;color:#464444;border:none;border-radius:8px;font-weight:600;cursor:pointer;transition:background .2s ease,box-shadow .2s ease}.retry-button[data-v-62b6e2c2]:hover{background:gold;box-shadow:0 4px 12px rgba(255,232,70,.3)}.test-icon[data-v-62b6e2c2]{width:56px;height:56px;margin:0 auto 18px;border-radius:14px;background:rgba(255,232,70,.2);display:flex;align-items:center;justify-content:center}.test-icon svg[data-v-62b6e2c2]{width:28px;height:28px;color:#ffe846}.test-title[data-v-62b6e2c2]{font-family:League Spartan,sans-serif;font-size:18px;font-weight:700;color:#1f2937;margin:0 0 8px 0}.test-description[data-v-62b6e2c2]{font-family:Inter,sans-serif;font-size:13px;color:#6b7280;margin:0 0 16px 0;line-height:1.5;min-height:40px}.test-meta[data-v-62b6e2c2]{display:flex;flex-direction:column;gap:8px;margin-top:16px;padding-top:16px;border-top:1px solid rgba(0,0,0,.06)}.test-book[data-v-62b6e2c2],.test-questions[data-v-62b6e2c2]{font-family:Inter,sans-serif;font-size:12px;font-weight:600;color:#464444;padding:6px 14px;background:rgba(255,232,70,.2);border-radius:12px;display:inline-block}.practice-types-grid[data-v-62b6e2c2]{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}@media(max-width:768px){.practice-types-grid[data-v-62b6e2c2]{grid-template-columns:1fr}}.practice-type-card[data-v-62b6e2c2]{background:#fff;border:1px solid rgba(15,23,42,.08);border-radius:16px;padding:22px 26px;box-shadow:0 1px 3px rgba(15,23,42,.09);cursor:pointer;transition:border-color .2s ease,box-shadow .2s ease,transform .2s ease;text-align:center}.practice-type-card[data-v-62b6e2c2]:hover{transform:translateY(-2px);border-color:rgba(15,23,42,.12);box-shadow:0 6px 12px rgba(15,23,42,.1)}.practice-type-card[data-v-62b6e2c2]:active{transform:translateY(0)}.type-icon[data-v-62b6e2c2]{width:56px;height:56px;margin:0 auto 18px;border-radius:14px;background:rgba(255,232,70,.2);display:flex;align-items:center;justify-content:center}.type-icon svg[data-v-62b6e2c2]{width:28px;height:28px;color:#ffe846}.type-title[data-v-62b6e2c2]{font-family:League Spartan,sans-serif;font-size:18px;font-weight:700;color:#1f2937;margin:0 0 8px 0}.type-description[data-v-62b6e2c2]{font-family:Inter,sans-serif;font-size:13px;color:#6b7280;margin:0 0 16px 0;line-height:1.5}.type-meta[data-v-62b6e2c2]{display:flex;justify-content:center;gap:16px;margin-top:16px;padding-top:16px;border-top:1px solid rgba(0,0,0,.06)}.type-questions[data-v-62b6e2c2],.type-time[data-v-62b6e2c2]{font-family:Inter,sans-serif;font-size:12px;font-weight:600;color:#464444;padding:6px 14px;background:rgba(255,232,70,.2);border-radius:12px}.topic-selection[data-v-04467c62]{background:#fff;border:1px solid rgba(15,23,42,.06);border-radius:18px;padding:28px 32px}.selector-header[data-v-04467c62]{text-align:center;margin-bottom:32px;position:relative}.back-button[data-v-04467c62]{position:absolute;left:0;top:0;background:#f5f5f5;border:1px solid rgba(0,0,0,.1);border-radius:8px;width:40px;height:40px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s ease;color:#666}.back-button[data-v-04467c62]:hover{background:#e5e5e5;border-color:rgba(0,0,0,.15);color:#333}.selector-title[data-v-04467c62]{font-family:League Spartan,sans-serif;font-size:24px;font-weight:700;color:#2d2c2b;margin:0 0 8px 0}.selector-description[data-v-04467c62]{font-family:Inter,sans-serif;font-size:14px;color:#666;margin:0 0 12px 0}.selection-count[data-v-04467c62]{font-family:Inter,sans-serif;font-size:14px;font-weight:600;color:#ffe846;margin-top:8px}.auto-select-container[data-v-04467c62]{margin-top:16px;display:flex;justify-content:center}.auto-select-button[data-v-04467c62]{display:flex;align-items:center;gap:8px;padding:10px 20px;background:rgba(255,232,70,.15);color:#464444;border:2px solid #ffe846;border-radius:10px;font-family:Inter,sans-serif;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s ease}.auto-select-button[data-v-04467c62]:hover:not(:disabled){background:rgba(255,232,70,.25);border-color:gold;transform:translateY(-1px);box-shadow:0 4px 8px rgba(255,232,70,.2)}.auto-select-button[data-v-04467c62]:disabled{opacity:.5;cursor:not-allowed}.auto-select-button[data-v-04467c62] :deep(.anticon){font-size:16px}.empty-state[data-v-04467c62],.error-state[data-v-04467c62],.loading-state[data-v-04467c62]{text-align:center;padding:40px 20px;color:#666;font-family:Inter,sans-serif;font-size:14px}.yellow-spinner[data-v-04467c62] :deep(.ant-spin-dot-item){background-color:#ffe846!important}.error-state[data-v-04467c62]{color:#dc2626}.retry-button[data-v-04467c62]{margin-top:12px;padding:8px 16px;background:#ffe846;color:#464444;border:none;border-radius:8px;font-weight:600;cursor:pointer;transition:background .2s ease}.retry-button[data-v-04467c62]:hover{background:gold}.topics-grid[data-v-04467c62]{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:16px;margin-bottom:32px}@media(max-width:768px){.topics-grid[data-v-04467c62]{grid-template-columns:1fr}}.topic-card[data-v-04467c62]{background:#fff;border:2px solid rgba(15,23,42,.08);border-radius:16px;padding:20px;cursor:pointer;transition:all .2s ease;position:relative;text-align:center}.topic-card[data-v-04467c62]:hover:not(.disabled){transform:translateY(-2px);border-color:rgba(15,23,42,.12);box-shadow:0 6px 12px rgba(15,23,42,.1)}.topic-card.selected[data-v-04467c62]{border:2px solid #ffe846;background:rgba(255,232,70,.1);box-shadow:0 8px 16px rgba(255,232,70,.18)}.topic-card.disabled[data-v-04467c62]{opacity:.5;cursor:not-allowed}.topic-icon[data-v-04467c62]{width:48px;height:48px;margin:0 auto 12px;border-radius:12px;background:rgba(255,232,70,.2);display:flex;align-items:center;justify-content:center;font-size:24px;color:#ffe846}.topic-title[data-v-04467c62]{font-family:League Spartan,sans-serif;font-size:16px;font-weight:700;color:#1f2937;margin:0 0 8px 0}.topic-description[data-v-04467c62]{font-family:Inter,sans-serif;font-size:12px;color:#6b7280;margin:0;line-height:1.4}.selected-indicator[data-v-04467c62]{position:absolute;top:8px;right:8px;color:#ffe846;font-size:20px}.action-buttons[data-v-04467c62]{display:flex;justify-content:center;gap:12px;padding-top:24px;border-top:1px solid rgba(0,0,0,.06)}.next-button[data-v-04467c62]{padding:12px 32px;background:#ffe846;color:#464444;border:none;border-radius:12px;font-weight:700;font-size:16px;cursor:pointer;transition:all .2s ease;box-shadow:0 4px 12px rgba(255,232,70,.3)}.next-button[data-v-04467c62]:hover:not(:disabled){background:gold;box-shadow:0 6px 16px rgba(255,232,70,.4);transform:translateY(-2px)}.next-button[data-v-04467c62]:disabled{opacity:.5;cursor:not-allowed;transform:none}.full-test-topic-selection[data-v-5bc00c63]{background:#fff;border:1px solid rgba(15,23,42,.06);border-radius:18px;padding:28px 32px}.selector-header[data-v-5bc00c63]{text-align:center;margin-bottom:32px;position:relative}.back-button[data-v-5bc00c63]{position:absolute;left:0;top:0;background:#f5f5f5;border:1px solid rgba(0,0,0,.1);border-radius:8px;width:40px;height:40px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s ease;color:#666}.back-button[data-v-5bc00c63]:hover{background:#e5e5e5;border-color:rgba(0,0,0,.15);color:#333}.selector-title[data-v-5bc00c63]{font-family:League Spartan,sans-serif;font-size:24px;font-weight:700;color:#2d2c2b;margin:0 0 8px 0}.selector-description[data-v-5bc00c63]{font-family:Inter,sans-serif;font-size:14px;color:#666;margin:0}.mode-selection[data-v-5bc00c63]{display:grid;grid-template-columns:repeat(2,1fr);gap:20px;margin-bottom:32px}@media(max-width:768px){.mode-selection[data-v-5bc00c63]{grid-template-columns:1fr}}.mode-button[data-v-5bc00c63]{background:#fff;border:2px solid rgba(15,23,42,.08);border-radius:16px;padding:24px;cursor:pointer;transition:all .2s ease;text-align:center}.mode-button[data-v-5bc00c63]:hover{border-color:#ffe846;box-shadow:0 4px 12px rgba(255,232,70,.2);transform:translateY(-2px)}.mode-button .mode-icon[data-v-5bc00c63]{font-size:48px;margin-bottom:12px}.mode-button h3[data-v-5bc00c63]{font-family:League Spartan,sans-serif;font-size:20px;font-weight:700;color:#1f2937;margin:0 0 8px 0}.mode-button p[data-v-5bc00c63]{font-family:Inter,sans-serif;font-size:13px;color:#6b7280;margin:0;line-height:1.5}.random-button[data-v-5bc00c63]:hover{border-color:#4ade80;box-shadow:0 4px 12px rgba(74,222,128,.2)}.manual-button[data-v-5bc00c63]:hover{border-color:#60a5fa;box-shadow:0 4px 12px rgba(96,165,250,.2)}.parts-container[data-v-5bc00c63]{display:flex;flex-direction:column;gap:32px}.part-section[data-v-5bc00c63]{border:1px solid rgba(15,23,42,.08);border-radius:12px;padding:20px;background:#fafafa}.part-title[data-v-5bc00c63]{font-family:League Spartan,sans-serif;font-size:18px;font-weight:700;color:#1f2937;margin:0 0 12px 0}.part-note[data-v-5bc00c63]{font-family:Inter,sans-serif;font-size:13px;color:#6b7280;margin:0 0 16px 0;font-style:italic}.selection-count[data-v-5bc00c63]{font-family:Inter,sans-serif;font-size:13px;color:#464444;margin-bottom:16px;font-weight:600}.nested-topic-selection[data-v-5bc00c63] :deep(.action-buttons){display:none}.nested-topic-selection[data-v-5bc00c63] :deep(.topic-selection){padding:0}.question-selection[data-v-4848f7d7]{background:#fff;border:1px solid rgba(15,23,42,.06);border-radius:18px;padding:28px 32px;max-height:80vh;overflow-y:auto}.selector-header[data-v-4848f7d7]{text-align:center;margin-bottom:32px;position:relative}.back-button[data-v-4848f7d7]{position:absolute;left:0;top:0;background:#f5f5f5;border:1px solid rgba(0,0,0,.1);border-radius:8px;width:40px;height:40px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s ease;color:#666}.back-button[data-v-4848f7d7]:hover{background:#e5e5e5;border-color:rgba(0,0,0,.15);color:#333}.selector-title[data-v-4848f7d7]{font-family:League Spartan,sans-serif;font-size:24px;font-weight:700;color:#2d2c2b;margin:0 0 8px 0}.selector-description[data-v-4848f7d7]{font-family:Inter,sans-serif;font-size:14px;color:#666;margin:0 0 12px 0}.selection-info[data-v-4848f7d7]{font-family:Inter,sans-serif;font-size:14px;font-weight:600;color:#ffe846;margin-top:8px}.selection-info .auto-select-hint[data-v-4848f7d7]{color:#6b7280;font-weight:400}.empty-state[data-v-4848f7d7],.error-state[data-v-4848f7d7],.loading-state[data-v-4848f7d7]{text-align:center;padding:40px 20px;color:#666;font-family:Inter,sans-serif;font-size:14px}.yellow-spinner[data-v-4848f7d7] :deep(.ant-spin-dot-item){background-color:#ffe846!important}.error-state[data-v-4848f7d7]{color:#dc2626}.retry-button[data-v-4848f7d7]{margin-top:12px;padding:8px 16px;background:#ffe846;color:#464444;border:none;border-radius:8px;font-weight:600;cursor:pointer;transition:background .2s ease}.retry-button[data-v-4848f7d7]:hover{background:gold}.questions-container[data-v-4848f7d7],.topic-group[data-v-4848f7d7]{margin-bottom:32px}.topic-group[data-v-4848f7d7]:last-child{margin-bottom:0}.topic-group-title[data-v-4848f7d7]{font-family:League Spartan,sans-serif;font-size:18px;font-weight:700;color:#1f2937;margin:0 0 16px 0;display:flex;align-items:center;gap:8px}.topic-group-title .anticon[data-v-4848f7d7]{color:#ffe846;font-size:20px}.questions-list[data-v-4848f7d7]{display:flex;flex-direction:column;gap:12px}.question-item[data-v-4848f7d7]{background:#fff;border:2px solid rgba(15,23,42,.08);border-radius:12px;padding:16px;cursor:pointer;transition:all .2s ease;display:flex;align-items:flex-start;gap:12px}.question-item[data-v-4848f7d7]:hover{border-color:rgba(15,23,42,.12);box-shadow:0 4px 8px rgba(15,23,42,.08)}.question-item.selected[data-v-4848f7d7]{border:2px solid #ffe846;background:rgba(255,232,70,.05)}.question-checkbox[data-v-4848f7d7]{flex-shrink:0;width:24px;height:24px;display:flex;align-items:center;justify-content:center;color:#ffe846;font-size:24px}.question-checkbox .checkbox-empty[data-v-4848f7d7]{width:20px;height:20px;border:2px solid #d1d5db;border-radius:4px}.question-content[data-v-4848f7d7]{flex:1}.question-text[data-v-4848f7d7]{font-family:Inter,sans-serif;font-size:14px;color:#1f2937;margin:0 0 8px 0;line-height:1.6}.question-timing[data-v-4848f7d7]{display:flex;gap:16px;font-family:Inter,sans-serif;font-size:12px;color:#6b7280;margin-top:8px}.action-buttons[data-v-4848f7d7]{display:flex;justify-content:center;gap:12px;padding-top:24px;border-top:1px solid rgba(0,0,0,.06)}.next-button[data-v-4848f7d7],.skip-button[data-v-4848f7d7]{padding:12px 32px;border:none;border-radius:12px;font-weight:700;font-size:16px;cursor:pointer;transition:all .2s ease}.skip-button[data-v-4848f7d7]{background:#f5f5f5;color:#666;border:2px solid rgba(0,0,0,.1)}.skip-button[data-v-4848f7d7]:hover{background:#e5e5e5;border-color:rgba(0,0,0,.15)}.next-button[data-v-4848f7d7]{background:#ffe846;color:#464444;box-shadow:0 4px 12px rgba(255,232,70,.3)}.next-button[data-v-4848f7d7]:hover:not(:disabled){background:gold;box-shadow:0 6px 16px rgba(255,232,70,.4);transform:translateY(-2px)}.next-button[data-v-4848f7d7]:disabled{opacity:.5;cursor:not-allowed;transform:none}.review-questions[data-v-4fec7821]{background:#fff;border:1px solid rgba(15,23,42,.06);border-radius:18px;padding:28px 32px;max-height:80vh;overflow-y:auto}.selector-header[data-v-4fec7821]{text-align:center;margin-bottom:32px;position:relative}.back-button[data-v-4fec7821]{position:absolute;left:0;top:0;background:#f5f5f5;border:1px solid rgba(0,0,0,.1);border-radius:8px;width:40px;height:40px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s ease;color:#666}.back-button[data-v-4fec7821]:hover{background:#e5e5e5;border-color:rgba(0,0,0,.15);color:#333}.selector-title[data-v-4fec7821]{font-family:League Spartan,sans-serif;font-size:24px;font-weight:700;color:#2d2c2b;margin:0 0 8px 0}.selector-description[data-v-4fec7821]{font-family:Inter,sans-serif;font-size:14px;color:#666;margin:0}.loading-state[data-v-4fec7821]{text-align:center;padding:40px 20px;color:#666;font-family:Inter,sans-serif;font-size:14px}.yellow-spinner[data-v-4fec7821] :deep(.ant-spin-dot-item){background-color:#ffe846!important}.review-summary[data-v-4fec7821]{background:rgba(255,232,70,.1);border:2px solid #ffe846;border-radius:12px;padding:20px;margin-bottom:24px;display:flex;gap:24px;flex-wrap:wrap}.summary-item[data-v-4fec7821]{display:flex;flex-direction:column;gap:4px}.summary-label[data-v-4fec7821]{font-family:Inter,sans-serif;font-size:12px;color:#6b7280;font-weight:500}.summary-value[data-v-4fec7821]{font-family:League Spartan,sans-serif;font-size:16px;font-weight:700;color:#1f2937}.questions-list[data-v-4fec7821]{display:flex;flex-direction:column;gap:16px}.question-review-item[data-v-4fec7821]{background:#fff;border:2px solid rgba(15,23,42,.08);border-radius:12px;padding:20px;display:flex;gap:16px}.question-header[data-v-4fec7821]{display:flex;flex-direction:column;gap:8px;align-items:center;flex-shrink:0}.question-number[data-v-4fec7821]{width:32px;height:32px;background:#ffe846;color:#464444;border-radius:50%;display:flex;align-items:center;justify-content:center;font-family:League Spartan,sans-serif;font-size:16px;font-weight:700}.question-part-badge[data-v-4fec7821]{font-family:Inter,sans-serif;font-size:11px;font-weight:600;color:#464444;background:rgba(255,232,70,.2);padding:4px 8px;border-radius:6px;white-space:nowrap}.question-details[data-v-4fec7821]{flex:1}.question-topic[data-v-4fec7821]{font-family:Inter,sans-serif;font-size:12px;color:#6b7280;margin-bottom:8px;display:flex;align-items:center;gap:6px;font-weight:600}.question-topic .anticon[data-v-4fec7821]{color:#ffe846}.question-text[data-v-4fec7821]{font-family:Inter,sans-serif;font-size:14px;color:#1f2937;margin:0 0 8px 0;line-height:1.6}.question-timing[data-v-4fec7821]{display:flex;gap:16px;font-family:Inter,sans-serif;font-size:12px;color:#6b7280;margin-top:8px}.action-buttons[data-v-4fec7821]{display:flex;justify-content:center;gap:12px;padding-top:24px;border-top:1px solid rgba(0,0,0,.06);margin-top:32px}.back-button-action[data-v-4fec7821],.start-button[data-v-4fec7821]{padding:12px 32px;border:none;border-radius:12px;font-weight:700;font-size:16px;cursor:pointer;transition:all .2s ease}.back-button-action[data-v-4fec7821]{background:#f5f5f5;color:#666;border:2px solid rgba(0,0,0,.1)}.back-button-action[data-v-4fec7821]:hover{background:#e5e5e5;border-color:rgba(0,0,0,.15)}.start-button[data-v-4fec7821]{background:#ffe846;color:#464444;box-shadow:0 4px 12px rgba(255,232,70,.3)}.start-button[data-v-4fec7821]:hover:not(:disabled){background:gold;box-shadow:0 6px 16px rgba(255,232,70,.4);transform:translateY(-2px)}.start-button[data-v-4fec7821]:disabled{opacity:.5;cursor:not-allowed;transform:none}.speaking-question[data-v-f62c043c]{background:#fff;border:1px solid rgba(15,23,42,.08);border-radius:18px;padding:28px;box-shadow:0 6px 18px rgba(15,23,42,.05)}.question-header[data-v-f62c043c]{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px;flex-wrap:wrap;gap:16px}.topic-badge[data-v-f62c043c]{background:rgba(255,232,70,.2);color:#464444;padding:8px 18px;border-radius:24px;font-weight:700;font-size:13px;text-transform:uppercase;letter-spacing:.5px}.prep-timer[data-v-f62c043c]{display:flex;align-items:center;gap:12px;background:hsla(0,0%,100%,.8);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);padding:12px 24px;border-radius:16px;box-shadow:0 4px 12px rgba(0,0,0,.1)}.timer-label[data-v-f62c043c]{font-family:Inter,sans-serif;font-size:14px;color:#706c6a;font-weight:500}.timer-value[data-v-f62c043c]{font-family:Inter,monospace;font-size:32px;font-weight:700;color:#ffb700;letter-spacing:2px;transition:color .3s ease}.timer-value.warning[data-v-f62c043c]{color:#ef4444;animation:pulse-data-v-f62c043c 1s infinite}@keyframes pulse-data-v-f62c043c{0%,to{opacity:1}50%{opacity:.7}}.question-content[data-v-f62c043c]{margin-top:24px}.question-title[data-v-f62c043c]{font-family:League Spartan,sans-serif;font-size:22px;font-weight:700;color:#2d2c2b;margin:0 0 16px 0}.question-text[data-v-f62c043c]{font-family:Inter,sans-serif;font-size:18px;line-height:1.7;color:#1f2937;font-weight:500;background:#fffef0;padding:20px 24px;border-radius:14px;border-left:4px solid #ffe846;margin-bottom:24px}.question-points[data-v-f62c043c]{display:flex;flex-direction:column;gap:12px}.question-point[data-v-f62c043c]{display:flex;gap:12px;font-family:Inter,sans-serif;font-size:16px;line-height:1.6;color:#2d2c2b}.point-number[data-v-f62c043c]{font-weight:700;color:#ffe846;min-width:24px}.point-text[data-v-f62c043c]{flex:1}.speaking-recorder[data-v-f6f57fb2]{background:hsla(0,0%,100%,.9);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid hsla(0,0%,100%,.3);border-radius:24px;padding:48px 32px;box-shadow:0 8px 32px rgba(0,0,0,.08),0 2px 8px rgba(0,0,0,.04);text-align:center;position:relative;overflow:hidden}.speaking-recorder[data-v-f6f57fb2]:before{content:"";position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(90deg,#ffd166,#a28bfa);opacity:.5}.recorder-timer[data-v-f6f57fb2]{margin-bottom:32px}.timer-value[data-v-f6f57fb2]{font-family:Inter,monospace;font-size:48px;font-weight:700;color:#2d2c2b;letter-spacing:4px;display:inline-block;background:hsla(0,0%,100%,.8);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);padding:16px 32px;border-radius:16px;box-shadow:0 4px 12px rgba(0,0,0,.1);transition:color .3s ease}.timer-value.warning[data-v-f6f57fb2]{color:#ef4444;animation:pulse-data-v-f6f57fb2 1s infinite}.timer-value.maxTimeWarning[data-v-f6f57fb2]{color:#f59e0b}.max-time-indicator[data-v-f6f57fb2]{margin-top:8px;font-family:Inter,sans-serif;font-size:12px;color:#706c6a;font-weight:500}@keyframes pulse-data-v-f6f57fb2{0%,to{opacity:1}50%{opacity:.7}}.waveform-container[data-v-f6f57fb2]{height:120px;margin:24px 0;background:linear-gradient(180deg,hsla(0,0%,100%,.9),rgba(249,250,251,.9));-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(255,209,102,.2);border-radius:20px;padding:16px;box-shadow:inset 0 2px 4px rgba(0,0,0,.05)}.waveform-canvas[data-v-f6f57fb2]{width:100%;height:100%;border-radius:12px}.recorder-controls[data-v-f6f57fb2]{display:flex;flex-direction:column;align-items:center;gap:24px;margin:32px 0}.action-buttons[data-v-f6f57fb2]{display:flex;gap:12px;align-items:center;justify-content:center;flex-wrap:wrap}.action-btn[data-v-f6f57fb2]{display:flex;align-items:center;justify-content:center;gap:8px;padding:12px 20px;border-radius:12px;font-family:Inter,sans-serif;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s ease;border:2px solid transparent}.action-btn svg[data-v-f6f57fb2]{width:20px;height:20px}.action-btn[data-v-f6f57fb2]:disabled{opacity:.5;cursor:not-allowed}.action-btn[data-v-f6f57fb2]:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 4px 12px rgba(0,0,0,.15)}.action-btn.record-again-btn[data-v-f6f57fb2]{background:rgba(239,68,68,.1);color:#ef4444;border-color:rgba(239,68,68,.3)}.action-btn.record-again-btn[data-v-f6f57fb2]:hover:not(:disabled){background:rgba(239,68,68,.2);border-color:#ef4444}.action-btn.continue-btn[data-v-f6f57fb2]{background:rgba(34,197,94,.1);color:#22c55e;border-color:rgba(34,197,94,.3)}.action-btn.continue-btn[data-v-f6f57fb2]:hover:not(:disabled){background:rgba(34,197,94,.2);border-color:#22c55e}.action-btn.listen-btn[data-v-f6f57fb2]{background:rgba(59,130,246,.1);color:#3b82f6;border-color:rgba(59,130,246,.3)}.action-btn.listen-btn.active[data-v-f6f57fb2],.action-btn.listen-btn[data-v-f6f57fb2]:hover:not(:disabled){background:rgba(59,130,246,.2);border-color:#3b82f6}.action-btn.upload-btn-final[data-v-f6f57fb2]{background:rgba(162,139,250,.1);color:#a28bfa;border-color:rgba(162,139,250,.3)}.action-btn.upload-btn-final[data-v-f6f57fb2]:hover:not(:disabled){background:rgba(162,139,250,.2);border-color:#a28bfa}.control-buttons[data-v-f6f57fb2]{display:flex;gap:16px;align-items:center}.control-btn[data-v-f6f57fb2]{width:48px;height:48px;border-radius:12px;border:2px solid rgba(255,232,70,.3);background:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s ease;color:#464444}.control-btn[data-v-f6f57fb2]:hover:not(:disabled){background:rgba(255,232,70,.1);border-color:#ffe846;transform:scale(1.05)}.control-btn[data-v-f6f57fb2]:disabled{opacity:.5;cursor:not-allowed}.control-btn.active[data-v-f6f57fb2]{background:rgba(255,232,70,.2);border-color:#ffe846;color:#ffe846}.control-btn svg[data-v-f6f57fb2]{width:20px;height:20px}.playback-progress[data-v-f6f57fb2]{width:100%;margin-top:16px;padding:16px;background:hsla(0,0%,100%,.8);border:1px solid rgba(255,232,70,.3);border-radius:12px}.playback-time[data-v-f6f57fb2]{text-align:center;margin-bottom:12px;font-family:Inter,sans-serif;font-size:14px;font-weight:600;color:#464444}.playback-bar[data-v-f6f57fb2]{width:100%;height:6px;background:rgba(255,232,70,.2);border-radius:3px;overflow:hidden;position:relative}.playback-progress-fill[data-v-f6f57fb2]{height:100%;background:linear-gradient(90deg,#ffe846,gold);border-radius:3px;box-shadow:0 0 8px rgba(255,232,70,.4);will-change:width;transform:translateZ(0)}.record-button[data-v-f6f57fb2]{width:100px;height:100px;border-radius:50%;border:3px solid hsla(0,0%,100%,.3);cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);position:relative;display:flex;align-items:center;justify-content:center;overflow:hidden;background:transparent}.record-button.ready[data-v-f6f57fb2]{background:transparent;border:3px solid #ffe846;box-shadow:0 0 0 0 rgba(255,232,70,.4),0 0 20px rgba(255,232,70,.3)}.record-button.ready[data-v-f6f57fb2]:hover{transform:scale(1.05);border-color:#ffe846;box-shadow:0 0 0 4px rgba(255,232,70,.2),0 0 30px rgba(255,232,70,.4);background:rgba(255,232,70,.1)}.record-button.ready svg[data-v-f6f57fb2]{color:#ffe846}.record-button.recording[data-v-f6f57fb2]{background:linear-gradient(135deg,#f87171,#ef4444);box-shadow:0 10px 25px rgba(239,68,68,.5),0 0 40px rgba(239,68,68,.3);animation:pulse-glow-data-v-f6f57fb2 2s infinite}.record-button.recording .rec-indicator[data-v-f6f57fb2]{width:40px;height:40px;background:#fff;border-radius:50%}.record-button.processing[data-v-f6f57fb2]{background:linear-gradient(135deg,#a28bfa,#8b7af5);box-shadow:0 10px 25px rgba(162,139,250,.4),0 0 30px rgba(162,139,250,.2);cursor:not-allowed}.record-button.disabled[data-v-f6f57fb2]{background:linear-gradient(135deg,#9ca3af,#6b7280);box-shadow:0 5px 15px rgba(107,114,128,.3);opacity:.7;cursor:not-allowed}.record-button[data-v-f6f57fb2]:disabled{opacity:.6;cursor:not-allowed}.record-button[data-v-f6f57fb2]:active:not(:disabled){transform:scale(.95)}@keyframes pulse-glow-data-v-f6f57fb2{0%,to{transform:scale(1);box-shadow:0 10px 25px rgba(239,68,68,.5),0 0 40px rgba(239,68,68,.3)}50%{transform:scale(1.1);box-shadow:0 15px 35px rgba(239,68,68,.6),0 0 60px rgba(239,68,68,.4)}}.record-button-inner[data-v-f6f57fb2]{display:flex;align-items:center;justify-content:center;width:100%;height:100%}.spinner[data-v-f6f57fb2]{width:32px;height:32px;border:3px solid hsla(0,0%,100%,.3);border-top-color:#fff;border-radius:50%;animation:spin-data-v-f6f57fb2 1s linear infinite}@keyframes spin-data-v-f6f57fb2{to{transform:rotate(1turn)}}.mode-toggle[data-v-f6f57fb2]{display:flex;gap:12px;justify-content:center;margin:24px 0;padding:8px;background:hsla(0,0%,100%,.5);border-radius:12px;border:1px solid rgba(255,232,70,.2)}.mode-btn[data-v-f6f57fb2]{flex:1;display:flex;align-items:center;justify-content:center;gap:8px;padding:10px 16px;background:transparent;border:2px solid transparent;border-radius:8px;font-family:Inter,sans-serif;font-size:14px;font-weight:600;color:#706c6a;cursor:pointer;transition:all .2s ease}.mode-btn[data-v-f6f57fb2]:hover{background:rgba(255,232,70,.1);color:#464444}.mode-btn.active[data-v-f6f57fb2]{background:rgba(255,232,70,.2);border-color:#ffe846;color:#464444}.mode-btn svg[data-v-f6f57fb2]{width:16px;height:16px}.upload-section[data-v-f6f57fb2]{display:flex;flex-direction:column;align-items:center;gap:12px;margin:24px 0}.upload-btn[data-v-f6f57fb2]{display:flex;align-items:center;justify-content:center;gap:8px;padding:14px 28px;background:#ffe846;color:#464444;border:none;border-radius:12px;font-family:Inter,sans-serif;font-size:15px;font-weight:600;cursor:pointer;transition:all .2s ease;box-shadow:0 2px 8px rgba(255,232,70,.2)}.upload-btn[data-v-f6f57fb2]:hover:not(:disabled){background:gold;transform:translateY(-2px);box-shadow:0 4px 12px rgba(255,232,70,.3)}.upload-btn[data-v-f6f57fb2]:disabled{opacity:.6;cursor:not-allowed}.upload-btn.processing[data-v-f6f57fb2]{background:gold;cursor:wait}.upload-btn svg[data-v-f6f57fb2]{width:20px;height:20px}.upload-hint[data-v-f6f57fb2]{font-family:Inter,sans-serif;font-size:12px;color:#706c6a;text-align:center;margin:0}.recorder-status[data-v-f6f57fb2]{margin-top:24px;font-family:Inter,sans-serif;font-size:14px;color:#706c6a}.recording-status[data-v-f6f57fb2]{display:flex;align-items:center;justify-content:center;gap:8px;color:#ef4444;font-weight:600}.stopped-status[data-v-f6f57fb2]{color:#706c6a;font-weight:500}.rec-dot[data-v-f6f57fb2]{width:8px;height:8px;background:#ef4444;border-radius:50%;animation:blink-data-v-f6f57fb2 1s infinite}@keyframes blink-data-v-f6f57fb2{0%,to{opacity:1}50%{opacity:.3}}@media(max-width:768px){.record-button[data-v-f6f57fb2]{width:80px;height:80px}.timer-value[data-v-f6f57fb2]{font-size:32px;padding:12px 24px}}.word-pronunciation-display[data-v-70e72630]{margin-top:24px}.display-header[data-v-70e72630]{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px;flex-wrap:wrap;gap:16px}.display-title[data-v-70e72630]{font-family:League Spartan,sans-serif;font-size:18px;font-weight:700;color:#2d2c2b;margin:0}.filter-buttons[data-v-70e72630]{display:flex;gap:8px;padding:8px;background:rgba(249,250,251,.5);border-radius:20px}.filter-btn[data-v-70e72630]{padding:8px 16px;border:1px solid rgba(255,209,102,.2);border-radius:16px;background:hsla(0,0%,100%,.8);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);font-family:Inter,sans-serif;font-size:13px;font-weight:600;color:#706c6a;cursor:pointer;transition:all .3s ease}.filter-btn[data-v-70e72630]:hover{background:rgba(255,209,102,.1)}.filter-btn.active[data-v-70e72630]{background:linear-gradient(135deg,#fff2b8,#ffd166);color:#2d2c2b;box-shadow:0 4px 12px rgba(255,209,102,.3)}.transcript-container[data-v-70e72630]{background:hsla(0,0%,100%,.95);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(255,209,102,.2);border-radius:24px;padding:32px;max-height:500px;overflow-y:auto;box-shadow:0 8px 32px rgba(0,0,0,.08);scroll-behavior:smooth}.transcript-container[data-v-70e72630]::-webkit-scrollbar{width:8px}.transcript-container[data-v-70e72630]::-webkit-scrollbar-track{background:rgba(0,0,0,.05);border-radius:4px}.transcript-container[data-v-70e72630]::-webkit-scrollbar-thumb{background:rgba(255,209,102,.3);border-radius:4px}.transcript-container[data-v-70e72630]::-webkit-scrollbar-thumb:hover{background:rgba(255,209,102,.45)}.transcript-content[data-v-70e72630]{font-family:Inter,sans-serif;font-size:18px;line-height:2;color:#2d2c2b}.word-badge[data-v-70e72630]{display:inline-block;padding:6px 12px;border-radius:12px;margin:4px 2px;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);box-shadow:0 2px 4px rgba(0,0,0,.1);font-weight:500;position:relative}.word-badge.word-default[data-v-70e72630]{color:#2d2c2b;background:transparent}.word-badge.word-correct[data-v-70e72630],.word-badge.word-green[data-v-70e72630]{background:linear-gradient(135deg,#34d399,#10b981);color:#fff}.word-badge.word-needs-improvement[data-v-70e72630],.word-badge.word-yellow[data-v-70e72630]{background:linear-gradient(135deg,#fff2b8,#ffd166);color:#2d2c2b}.word-badge.word-orange[data-v-70e72630]{background:linear-gradient(135deg,#fbbf24,#f59e0b);color:#fff}.word-badge.word-incorrect[data-v-70e72630],.word-badge.word-red[data-v-70e72630]{background:linear-gradient(135deg,#f87171,#ef4444);color:#fff}.word-badge[data-v-70e72630]:hover{transform:translateY(-2px) scale(1.08);box-shadow:0 8px 16px rgba(0,0,0,.2);z-index:10}.word-badge[data-v-70e72630]:active{transform:translateY(0) scale(.95)}.word-details[data-v-70e72630]{display:flex;flex-direction:column;gap:16px}.ipa-text[data-v-70e72630]{font-family:Courier New,monospace;font-size:16px;font-weight:600;color:#2563eb}.error-text[data-v-70e72630]{color:#dc2626}.suggestion-text[data-v-70e72630]{color:#059669;font-style:italic}.sound-error-badge[data-v-70e72630]{display:inline-block;padding:4px 8px;margin:4px 4px 4px 0;background:rgba(239,68,68,.1);border:1px solid rgba(239,68,68,.3);border-radius:6px;font-family:Courier New,monospace;font-size:13px;color:#dc2626}.detail-row[data-v-70e72630]{display:flex;justify-content:space-between;align-items:flex-start;padding:12px 0;border-bottom:1px solid rgba(255,209,102,.2)}.detail-row[data-v-70e72630]:last-child{border-bottom:none}.detail-label[data-v-70e72630]{font-family:Inter,sans-serif;font-size:14px;font-weight:600;color:#706c6a;min-width:120px}.detail-value[data-v-70e72630]{font-family:Inter,sans-serif;font-size:14px;color:#2d2c2b;text-align:right;flex:1}.detail-value.correct[data-v-70e72630]{color:#ffd166;font-weight:600}.detail-value.incorrect[data-v-70e72630]{color:#ef4444;font-weight:600}.detail-value.accuracy-high[data-v-70e72630]{color:#10b981}.detail-value.accuracy-medium[data-v-70e72630]{color:#ffb700}.detail-value.accuracy-low[data-v-70e72630]{color:#ef4444}.detail-actions[data-v-70e72630]{margin-top:16px;display:flex;justify-content:flex-end}.play-word-btn[data-v-70e72630]{display:inline-flex;align-items:center;gap:8px;padding:8px 16px;border-radius:12px;border:1px solid rgba(255,209,102,.4);background:rgba(255,232,70,.15);color:#a27000;font-weight:600;cursor:pointer;transition:all .2s ease}.play-word-btn[data-v-70e72630]:hover:not(:disabled){background:rgba(255,209,102,.3);border-color:rgba(255,209,102,.6)}.play-word-btn[data-v-70e72630]:disabled{opacity:.6;cursor:not-allowed}:deep(.word-modal) .ant-modal-content[data-v-70e72630]{border-radius:24px;overflow:hidden}:deep(.word-modal) .ant-modal-header[data-v-70e72630]{background:linear-gradient(135deg,#fff2b8,#ffd166);border-bottom:none;padding:20px 24px}:deep(.word-modal) .ant-modal-header .ant-modal-title[data-v-70e72630]{font-family:League Spartan,sans-serif;font-size:20px;font-weight:700;color:#2d2c2b}:deep(.word-modal) .ant-modal-body[data-v-70e72630]{padding:24px}.speaking-evaluation[data-v-51b394cb]{background:hsla(0,0%,100%,.9);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid hsla(0,0%,100%,.3);border-radius:24px;padding:32px;box-shadow:0 8px 32px rgba(0,0,0,.08),0 2px 8px rgba(0,0,0,.04);position:relative;overflow:hidden}.speaking-evaluation[data-v-51b394cb]:before{content:"";position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(90deg,#ffd166,#a28bfa);opacity:.5}.evaluation-header-standalone[data-v-51b394cb]{display:flex;justify-content:flex-end;align-items:center;margin-bottom:24px;padding:16px 0;border-bottom:1px solid rgba(15,23,42,.08)}.evaluation-header[data-v-51b394cb],.header-actions-standalone[data-v-51b394cb]{display:flex;align-items:center;gap:16px}.evaluation-header[data-v-51b394cb]{justify-content:space-between;margin-bottom:24px;flex-wrap:wrap}.header-actions[data-v-51b394cb]{display:flex;align-items:center;gap:16px;flex-wrap:wrap}.evaluation-title[data-v-51b394cb]{font-family:League Spartan,sans-serif;font-size:24px;font-weight:700;color:#2d2c2b;margin:0}.overall-score[data-v-51b394cb]{display:flex;flex-direction:column;align-items:flex-end;gap:4px}.score-label[data-v-51b394cb]{font-family:Inter,sans-serif;font-size:12px;color:#706c6a;text-transform:uppercase;letter-spacing:.5px}.score-value[data-v-51b394cb]{font-family:League Spartan,sans-serif;font-size:36px;font-weight:700;color:#2d2c2b}.score-value.score-high[data-v-51b394cb]{color:#10b981}.score-value.score-medium[data-v-51b394cb]{color:#ffd166}.score-value.score-low[data-v-51b394cb]{color:#ef4444}.evaluation-tabs[data-v-51b394cb]{display:flex;gap:8px;margin-bottom:24px;padding:8px;background:rgba(249,250,251,.5);border-radius:20px}.tab-button[data-v-51b394cb]{flex:1;padding:10px 20px;border:1px solid rgba(255,209,102,.22);border-radius:16px;background:hsla(0,0%,100%,.85);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);font-family:Inter,sans-serif;font-size:14px;font-weight:600;color:#736445;cursor:pointer;transition:all .3s ease}.tab-button[data-v-51b394cb]:hover{background:rgba(255,209,102,.12)}.tab-button.active[data-v-51b394cb]{background:linear-gradient(135deg,#fff2b8,#ffd166);color:#2d2c2b;box-shadow:0 4px 12px rgba(255,209,102,.32)}.tab-content[data-v-51b394cb]{min-height:200px}.tab-panel[data-v-51b394cb]{animation:fadeInUp-data-v-51b394cb .4s ease}@keyframes fadeInUp-data-v-51b394cb{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.score-cards[data-v-51b394cb]{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px;margin-bottom:32px}.score-card[data-v-51b394cb]{background:hsla(0,0%,100%,.8);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(255,209,102,.2);border-radius:16px;padding:20px;box-shadow:0 4px 6px -1px rgba(0,0,0,.1),0 2px 4px -1px rgba(0,0,0,.06)}.score-card-header[data-v-51b394cb]{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.criterion-name[data-v-51b394cb]{font-family:Inter,sans-serif;font-size:14px;font-weight:600;color:#2d2c2b}.criterion-score[data-v-51b394cb]{font-family:League Spartan,sans-serif;font-size:24px;font-weight:700}.criterion-score.score-high[data-v-51b394cb]{color:#10b981}.criterion-score.score-medium[data-v-51b394cb]{color:#ffd166}.criterion-score.score-low[data-v-51b394cb]{color:#ef4444}.score-progress[data-v-51b394cb]{height:8px;background:#e5e7eb;border-radius:4px;overflow:hidden}.progress-bar[data-v-51b394cb]{height:100%;border-radius:4px;transition:width .5s ease}.progress-bar.score-high[data-v-51b394cb]{background:linear-gradient(135deg,#34d399,#10b981)}.progress-bar.score-medium[data-v-51b394cb]{background:linear-gradient(135deg,#fff2b8,#ffd166)}.progress-bar.score-low[data-v-51b394cb]{background:linear-gradient(135deg,#f87171,#ef4444)}.feedback-section[data-v-51b394cb]{margin-bottom:24px}.section-title[data-v-51b394cb]{font-family:League Spartan,sans-serif;font-size:18px;font-weight:700;color:#2d2c2b;margin:0 0 12px 0}.feedback-text[data-v-51b394cb]{font-family:Inter,sans-serif;font-size:16px;line-height:1.7;color:#2d2c2b;margin:0}.question-feedback-item[data-v-51b394cb]{background:hsla(0,0%,100%,.75);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:12px;padding:16px;margin-bottom:16px;border-left:4px solid #3b82f6}.question-feedback-title[data-v-51b394cb]{font-family:League Spartan,sans-serif;font-size:16px;font-weight:600;color:#2d2c2b;margin:0 0 12px 0}.question-feedback-details[data-v-51b394cb]{display:flex;flex-direction:column;gap:8px}.question-feedback-details>div[data-v-51b394cb]{font-family:Inter,sans-serif;font-size:14px;line-height:1.6;color:#4b5563}.question-feedback-details strong[data-v-51b394cb]{color:#2d2c2b;font-weight:600;margin-right:4px}.feedback-summary[data-v-51b394cb]{margin-top:20px;padding-top:20px;border-top:2px solid #e5e7eb}.summary-title[data-v-51b394cb]{font-family:League Spartan,sans-serif;font-size:16px;font-weight:600;color:#2d2c2b;margin:0 0 8px 0}.summary-text[data-v-51b394cb]{font-family:Inter,sans-serif;font-size:15px;line-height:1.7;color:#2d2c2b;margin:0}.strengths-weaknesses[data-v-51b394cb]{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:24px}.strengths[data-v-51b394cb],.weaknesses[data-v-51b394cb]{background:hsla(0,0%,100%,.75);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:16px;padding:20px;border-left:4px solid}.strengths[data-v-51b394cb]{border-left-color:#10b981}.weaknesses[data-v-51b394cb]{border-left-color:#ff801f}.sw-title[data-v-51b394cb]{font-family:League Spartan,sans-serif;font-size:16px;font-weight:700;color:#2d2c2b;margin:0 0 12px 0;display:flex;align-items:center;gap:8px}.sw-icon[data-v-51b394cb]{width:24px;height:24px;display:flex;align-items:center;justify-content:center;border-radius:50%;font-size:14px;font-weight:700}.strengths .sw-icon[data-v-51b394cb]{background:#10b981;color:#fff}.weaknesses .sw-icon[data-v-51b394cb]{background:#ff801f;color:#fff}.sw-list[data-v-51b394cb]{list-style:none;padding:0;margin:0}.sw-list li[data-v-51b394cb]{font-family:Inter,sans-serif;font-size:14px;line-height:1.6;color:#2d2c2b;padding:8px 0;padding-left:24px;position:relative}.sw-list li[data-v-51b394cb]:before{content:"•";position:absolute;left:0;color:#ffd166;font-weight:700}.sw-empty[data-v-51b394cb]{color:#706c6a;font-style:italic}.audio-panel .audio-question-list[data-v-51b394cb]{display:flex;flex-direction:column;gap:24px}.audio-panel .audio-question-card[data-v-51b394cb]{background:hsla(0,0%,100%,.9);border:1px solid rgba(162,139,250,.25);border-radius:16px;padding:20px;box-shadow:0 4px 16px rgba(0,0,0,.05)}.audio-panel .audio-question-header[data-v-51b394cb]{display:flex;justify-content:space-between;flex-wrap:wrap;gap:16px}.audio-panel .audio-question-meta[data-v-51b394cb]{flex:1;min-width:200px}.audio-panel .audio-question-title[data-v-51b394cb]{font-family:League Spartan,sans-serif;font-weight:700;font-size:18px;color:#2d2c2b;display:flex;align-items:center;gap:12px}.audio-panel .audio-question-text[data-v-51b394cb]{font-family:Inter,sans-serif;font-size:14px;color:#706c6a;margin-top:8px}.audio-panel .audio-player-wrapper[data-v-51b394cb]{min-width:220px}.audio-panel .audio-player-wrapper audio[data-v-51b394cb]{width:100%}.audio-panel .audio-transcript h4[data-v-51b394cb]{font-family:League Spartan,sans-serif;font-size:16px;font-weight:700;color:#2d2c2b;margin-bottom:8px}.audio-panel .audio-transcript p[data-v-51b394cb]{font-family:Inter,sans-serif;font-size:15px;line-height:1.7;color:#2d2c2b;margin:0;white-space:pre-wrap}.audio-panel .sample-script-section[data-v-51b394cb]{margin-top:24px;padding-top:24px;border-top:2px solid rgba(162,139,250,.2)}.audio-panel .sample-script-title[data-v-51b394cb]{font-family:League Spartan,sans-serif;font-size:16px;font-weight:700;color:#2d2c2b;margin:0 0 16px 0;display:flex;align-items:center;gap:8px}.audio-panel .sample-script-title svg[data-v-51b394cb]{color:#a28bfa}.audio-panel .sample-script-content[data-v-51b394cb]{background:rgba(162,139,250,.05);border-radius:12px;padding:16px}.audio-panel .sample-script-text[data-v-51b394cb]{font-family:Inter,sans-serif;font-size:15px;line-height:1.7;color:#2d2c2b;margin:0 0 16px 0;white-space:pre-wrap}.audio-panel .sample-audio-controls[data-v-51b394cb]{display:flex;align-items:center;gap:12px}.audio-panel .sample-audio-player[data-v-51b394cb]{flex:1;min-width:200px}.audio-panel .sample-audio-player .sample-audio-element[data-v-51b394cb]{width:100%;height:40px}.audio-panel .generate-audio-button[data-v-51b394cb]{display:flex;align-items:center;gap:8px;padding:10px 20px;border:1px solid rgba(162,139,250,.3);border-radius:12px;background:hsla(0,0%,100%,.9);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);font-family:Inter,sans-serif;font-size:14px;font-weight:600;color:#a28bfa;cursor:pointer;transition:all .3s ease;white-space:nowrap}.audio-panel .generate-audio-button[data-v-51b394cb]:hover:not(:disabled){background:rgba(162,139,250,.1);border-color:rgba(162,139,250,.5);transform:translateY(-1px);box-shadow:0 4px 12px rgba(162,139,250,.2)}.audio-panel .generate-audio-button[data-v-51b394cb]:active:not(:disabled){transform:translateY(0)}.audio-panel .generate-audio-button[data-v-51b394cb]:disabled{opacity:.6;cursor:not-allowed}.audio-panel .generate-audio-button.loading[data-v-51b394cb]{color:#706c6a}.audio-panel .generate-audio-button svg[data-v-51b394cb]{width:16px;height:16px;flex-shrink:0}.audio-panel .spinner-small[data-v-51b394cb]{width:14px;height:14px;border:2px solid rgba(162,139,250,.2);border-top-color:#a28bfa;border-radius:50%;animation:spin-data-v-51b394cb .8s linear infinite;flex-shrink:0}.audio-panel .generate-audio-section[data-v-51b394cb]{margin-top:24px;padding-top:24px;border-top:2px solid rgba(162,139,250,.2);display:flex;justify-content:center}.audio-panel .generate-audio-button-wrapper[data-v-51b394cb]{display:flex;justify-content:center}.pronunciation-stats[data-v-51b394cb]{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:16px;margin-bottom:24px}.stat-card[data-v-51b394cb]{background:hsla(0,0%,100%,.9);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(255,209,102,.25);border-radius:16px;padding:20px;text-align:center;box-shadow:0 12px 20px rgba(255,209,102,.2)}.stat-label[data-v-51b394cb]{display:block;font-family:Inter,sans-serif;font-size:12px;color:#847049;margin-bottom:8px;text-transform:uppercase;letter-spacing:.5px}.stat-value[data-v-51b394cb]{display:block;font-family:League Spartan,sans-serif;font-size:28px;font-weight:700;color:#2d2c2b}.stat-value.success[data-v-51b394cb]{color:#10b981}.part-selector[data-v-51b394cb]{display:flex;gap:8px;margin-bottom:24px;padding:8px;background:rgba(249,250,251,.5);border-radius:20px}.part-button[data-v-51b394cb]{flex:1;padding:10px 20px;border:1px solid rgba(162,139,250,.22);border-radius:16px;background:hsla(0,0%,100%,.85);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);font-family:Inter,sans-serif;font-size:14px;font-weight:600;color:#736445;cursor:pointer;transition:all .3s ease}.part-button[data-v-51b394cb]:hover{background:rgba(162,139,250,.12)}.part-button.active[data-v-51b394cb]{background:linear-gradient(135deg,#e0d5ff,#a28bfa);color:#2d2c2b;box-shadow:0 4px 12px rgba(162,139,250,.32)}.part-summary[data-v-51b394cb]{margin-bottom:32px;padding:24px;background:rgba(162,139,250,.05);border-radius:16px;border:1px solid rgba(162,139,250,.2)}.part-title[data-v-51b394cb]{font-family:League Spartan,sans-serif;font-size:20px;font-weight:700;color:#2d2c2b;margin:0 0 20px 0}.question-list[data-v-51b394cb]{margin-top:32px}.question-card[data-v-51b394cb]{background:hsla(0,0%,100%,.8);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(255,209,102,.2);border-radius:16px;margin-bottom:16px;overflow:hidden;transition:all .3s ease}.question-card[data-v-51b394cb]:hover{box-shadow:0 4px 12px rgba(0,0,0,.1)}.question-header[data-v-51b394cb]{display:flex;justify-content:space-between;align-items:center;padding:20px;cursor:pointer;transition:background .2s ease}.question-header[data-v-51b394cb]:hover{background:rgba(255,209,102,.05)}.question-info[data-v-51b394cb]{display:flex;flex-direction:column;gap:4px;flex:1}.question-number[data-v-51b394cb]{font-family:Inter,sans-serif;font-size:12px;font-weight:600;color:#706c6a;text-transform:uppercase;letter-spacing:.5px}.question-content[data-v-51b394cb]{font-family:Inter,sans-serif;font-size:14px;font-weight:600;color:#2d2c2b;line-height:1.5}.question-score[data-v-51b394cb]{display:flex;align-items:center;gap:12px}.score-badge[data-v-51b394cb]{font-family:League Spartan,sans-serif;font-size:20px;font-weight:700;padding:6px 16px;border-radius:12px;background:hsla(0,0%,100%,.9);border:2px solid}.score-badge.score-high[data-v-51b394cb]{color:#10b981;border-color:#10b981}.score-badge.score-medium[data-v-51b394cb]{color:#ffd166;border-color:#ffd166}.score-badge.score-low[data-v-51b394cb]{color:#ef4444;border-color:#ef4444}.expand-icon[data-v-51b394cb]{font-family:League Spartan,sans-serif;font-size:24px;font-weight:700;color:#706c6a;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:50%;background:rgba(255,209,102,.1)}.question-details[data-v-51b394cb]{padding:0 20px 20px 20px;border-top:1px solid rgba(255,209,102,.1);margin-top:0}.question-audio[data-v-51b394cb]{margin-top:20px;padding:16px;background:rgba(249,250,251,.5);border-radius:12px}.audio-player[data-v-51b394cb]{width:100%;height:40px}.question-pronunciation-section[data-v-51b394cb]{margin-bottom:48px;padding:24px;background:hsla(0,0%,100%,.95);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(255,209,102,.2);border-radius:24px;box-shadow:0 4px 16px rgba(0,0,0,.05)}.question-pronunciation-section[data-v-51b394cb]:last-child{margin-bottom:0}.question-pronunciation-header[data-v-51b394cb]{margin-bottom:24px;padding-bottom:16px;border-bottom:2px solid rgba(255,209,102,.3)}.question-pronunciation-title[data-v-51b394cb]{font-family:League Spartan,sans-serif;font-size:20px;font-weight:700;color:#2d2c2b;margin:0 0 8px 0;display:flex;align-items:center;gap:12px}.question-analysis-section[data-v-51b394cb]{margin-bottom:32px;padding:20px;background:hsla(0,0%,100%,.95);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(59,130,246,.2);border-radius:16px;box-shadow:0 4px 16px rgba(0,0,0,.05)}.question-analysis-section[data-v-51b394cb]:last-child{margin-bottom:0}.question-analysis-header[data-v-51b394cb]{margin-bottom:16px;padding-bottom:12px;border-bottom:2px solid rgba(59,130,246,.2)}.question-analysis-title[data-v-51b394cb]{font-family:League Spartan,sans-serif;font-size:18px;font-weight:700;color:#2d2c2b;margin:0 0 8px 0;display:flex;align-items:center;gap:12px}.question-content-preview[data-v-51b394cb]{line-height:1.6}.question-part-badge[data-v-51b394cb]{padding:4px 12px;background:linear-gradient(135deg,#fff2b8,#ffd166);border-radius:12px;font-size:12px;font-weight:600;color:#2d2c2b}.question-content-preview[data-v-51b394cb]{font-family:Inter,sans-serif;font-size:14px;color:#706c6a;font-style:italic;margin-top:8px}.regrade-button[data-v-51b394cb]{display:flex;align-items:center;gap:8px;padding:10px 20px;border:1px solid rgba(162,139,250,.3);border-radius:12px;background:hsla(0,0%,100%,.9);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);font-family:Inter,sans-serif;font-size:14px;font-weight:600;color:#a28bfa;cursor:pointer;transition:all .3s ease;white-space:nowrap}.regrade-button[data-v-51b394cb]:hover:not(:disabled){background:rgba(162,139,250,.1);border-color:rgba(162,139,250,.5);transform:translateY(-1px);box-shadow:0 4px 12px rgba(162,139,250,.2)}.regrade-button[data-v-51b394cb]:active:not(:disabled){transform:translateY(0)}.regrade-button[data-v-51b394cb]:disabled{opacity:.6;cursor:not-allowed}.regrade-button.loading[data-v-51b394cb]{color:#706c6a}.regrade-icon[data-v-51b394cb],.spinner[data-v-51b394cb]{width:16px;height:16px;flex-shrink:0}.spinner[data-v-51b394cb]{border:2px solid rgba(162,139,250,.2);border-top-color:#a28bfa;border-radius:50%;animation:spin-data-v-51b394cb .8s linear infinite}@keyframes spin-data-v-51b394cb{to{transform:rotate(1turn)}}.regrade-modal .ant-modal-content[data-v-51b394cb]{border-radius:16px!important;box-shadow:0 8px 32px rgba(0,0,0,.12)!important;padding:0!important}.regrade-modal .ant-modal-body[data-v-51b394cb]{border-radius:16px!important;padding:0!important}.regrade-modal .ant-modal-close[data-v-51b394cb]{top:16px;right:16px;color:#706c6a}.regrade-modal .ant-modal-close[data-v-51b394cb]:hover{color:#2d2c2b}.regrade-dialog[data-v-51b394cb]{padding:0}.modal-header[data-v-51b394cb]{display:flex;flex-direction:column;align-items:center;gap:20px;margin-bottom:24px}.modal-icon[data-v-51b394cb]{width:80px;height:80px;display:flex;align-items:center;justify-content:center;background:rgba(255,232,70,.2);border-radius:50%;padding:0;flex-shrink:0;border:2px solid rgba(255,232,70,.3)}.modal-icon svg[data-v-51b394cb]{width:40px;height:40px}.modal-title[data-v-51b394cb]{font-family:League Spartan,sans-serif;font-size:22px;font-weight:700;color:#2d2c2b;margin:0;text-align:center;line-height:1.3}.modal-content[data-v-51b394cb]{margin-bottom:28px}.modal-text[data-v-51b394cb]{font-family:Inter,sans-serif;font-size:15px;line-height:1.6;color:#2d2c2b;text-align:center;margin:0;padding:0 8px}.dialog-actions[data-v-51b394cb]{display:flex;gap:12px;justify-content:center;width:100%}.cancel-btn[data-v-51b394cb],.confirm-btn[data-v-51b394cb]{flex:1;padding:12px 24px;border-radius:12px;font-family:Inter,sans-serif;font-size:15px;font-weight:600;cursor:pointer;transition:all .3s ease;border:1px solid;min-height:44px}.cancel-btn[data-v-51b394cb]{background:#fff;color:#2d2c2b;border-color:rgba(112,108,106,.25)}.cancel-btn[data-v-51b394cb]:hover{background:#f9fafb;border-color:rgba(112,108,106,.35)}.cancel-btn[data-v-51b394cb]:active{background:#f3f4f6}.confirm-btn[data-v-51b394cb]{background:#ffe846;color:#464444;border-color:#ffe846;box-shadow:0 2px 8px rgba(255,232,70,.3)}.confirm-btn[data-v-51b394cb]:hover{background:gold;border-color:gold;box-shadow:0 4px 12px rgba(255,232,70,.4);transform:translateY(-1px)}.confirm-btn[data-v-51b394cb]:active{background:gold;transform:translateY(0)}.speaking-history[data-v-33864725]{background:#fff;border:1px solid rgba(15,23,42,.06);border-radius:18px;padding:24px;box-shadow:0 4px 12px rgba(15,23,42,.05);position:relative;overflow:hidden;height:100%;min-height:400px;max-height:calc(100vh - 50px);display:flex;flex-direction:column}.speaking-history[data-v-33864725]:after,.speaking-history[data-v-33864725]:before{display:none}.history-header[data-v-33864725]{margin-bottom:20px;position:relative;z-index:1}.history-title[data-v-33864725]{font-family:League Spartan,sans-serif;font-size:18px;font-weight:700;color:#1f2937;margin:0}.empty-state[data-v-33864725],.loading-state[data-v-33864725]{display:flex;align-items:center;justify-content:center;padding:40px 20px;color:#706c6a;font-family:Inter,sans-serif;font-size:14px}.history-list[data-v-33864725]{display:flex;flex-direction:column;gap:16px;overflow-y:auto;flex:1;position:relative;z-index:1}.history-card[data-v-33864725]{background:#fff;border:1px solid rgba(15,23,42,.08);border-radius:16px;padding:20px;box-shadow:0 4px 10px rgba(15,23,42,.06);cursor:pointer;transition:all .4s cubic-bezier(.4,0,.2,1);position:relative}.history-card[data-v-33864725]:hover{transform:translateY(-2px);border-color:rgba(15,23,42,.16);box-shadow:0 8px 18px rgba(15,23,42,.12)}.card-content[data-v-33864725]{margin-bottom:16px}.card-header[data-v-33864725]{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px;flex-wrap:wrap;gap:8px}.practice-type-badge[data-v-33864725]{background:rgba(255,232,70,.2);color:#464444;padding:6px 12px;border-radius:16px;font-family:Inter,sans-serif;font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;border:1px solid rgba(255,232,70,.4)}.practice-date[data-v-33864725]{font-family:Inter,sans-serif;font-size:12px;color:#6b7280}.card-body[data-v-33864725]{display:flex;gap:16px;align-items:flex-start}.score-badge[data-v-33864725]{width:64px;height:64px;border-radius:50%;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 12px rgba(255,232,70,.22);border:3px solid hsla(0,0%,100%,.9);flex-shrink:0}.score-badge.score-high[data-v-33864725]{background:linear-gradient(135deg,#34d399,#10b981)}.score-badge.score-medium[data-v-33864725]{background:linear-gradient(135deg,#ffe846,gold)}.score-badge.score-low[data-v-33864725]{background:linear-gradient(135deg,#f87171,#ef4444)}.score-value[data-v-33864725]{font-family:League Spartan,sans-serif;font-size:24px;font-weight:700;color:#fff}.practice-info[data-v-33864725]{flex:1;min-width:0}.practice-question[data-v-33864725]{font-family:Inter,sans-serif;font-size:14px;line-height:1.6;color:#1f2937;margin:0 0 8px 0;font-weight:500}.practice-stats[data-v-33864725]{display:flex;gap:16px;flex-wrap:wrap;font-family:Inter,sans-serif;font-size:12px;color:#6b7280}.view-button[data-v-33864725]{width:100%;padding:12px 20px;border:none;border-radius:14px;background:#ffe846;color:#464444;font-family:Inter,sans-serif;font-size:13px;font-weight:600;cursor:pointer;transition:background .2s ease,transform .2s ease,box-shadow .2s ease}.view-button[data-v-33864725]:hover{background:gold;transform:translateY(-1px);box-shadow:0 4px 12px rgba(255,232,70,.3)}.view-button[data-v-33864725]:active{transform:translateY(0)}.speaking-progress[data-v-94848aee]{background:#fff;border:1px solid rgba(15,23,42,.06);border-radius:18px;padding:24px;box-shadow:0 4px 12px rgba(15,23,42,.05);position:relative;overflow:hidden;height:100%;min-height:400px;max-height:calc(100vh - 50px);display:flex;flex-direction:column}.progress-header[data-v-94848aee]{margin-bottom:20px}.progress-title[data-v-94848aee]{font-family:League Spartan,sans-serif;font-size:18px;font-weight:700;color:#1f2937;margin:0}.empty-state[data-v-94848aee]{display:flex;align-items:center;justify-content:center;padding:40px 20px;color:#706c6a;font-family:Inter,sans-serif;font-size:14px}.progress-content[data-v-94848aee]{display:flex;flex-direction:column;gap:20px}.average-score-card[data-v-94848aee]{background:#fffaf3;border:1px solid rgba(244,183,64,.3);border-radius:16px;padding:28px;text-align:center;box-shadow:0 6px 14px rgba(244,183,64,.12)}.average-label[data-v-94848aee]{display:block;font-family:Inter,sans-serif;font-size:14px;color:#706c6a;margin-bottom:12px;text-transform:uppercase;letter-spacing:.5px}.average-value[data-v-94848aee]{display:block;font-family:League Spartan,sans-serif;font-size:64px;font-weight:700;color:#2d2c2b;line-height:1}.average-value.score-high[data-v-94848aee]{color:#10b981}.average-value.score-medium[data-v-94848aee]{color:#ffd166}.average-value.score-low[data-v-94848aee]{color:#ef4444}.statistics-grid[data-v-94848aee]{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}.stat-card[data-v-94848aee]{background:#fff;border:1px solid rgba(15,23,42,.08);border-radius:14px;padding:18px;text-align:center;box-shadow:0 2px 8px rgba(15,23,42,.08);transition:all .3s cubic-bezier(.4,0,.2,1)}.stat-card[data-v-94848aee]:hover{transform:translateY(-4px);box-shadow:0 6px 14px rgba(15,23,42,.12)}.stat-label[data-v-94848aee]{display:block;font-family:Inter,sans-serif;font-size:12px;color:#6b7280;margin-bottom:6px;text-transform:uppercase;letter-spacing:.4px}.stat-value[data-v-94848aee]{display:block;font-family:League Spartan,sans-serif;font-size:24px;font-weight:700;color:#1f2937}.stat-value.success[data-v-94848aee]{color:#10b981}.criteria-averages[data-v-94848aee]{margin-top:8px}.criteria-title[data-v-94848aee]{font-family:League Spartan,sans-serif;font-size:15px;font-weight:700;color:#1f2937;margin:0 0 14px 0}.criteria-list[data-v-94848aee]{display:flex;flex-direction:column;gap:12px}.criterion-item[data-v-94848aee]{display:grid;grid-template-columns:120px 1fr 60px;gap:12px;align-items:center}.criterion-label[data-v-94848aee]{font-family:Inter,sans-serif;font-size:14px;font-weight:600;color:#374151}.criterion-progress[data-v-94848aee]{height:8px;background:#e5e7eb;border-radius:4px;overflow:hidden}.progress-bar[data-v-94848aee]{height:100%;border-radius:4px;transition:width .5s ease}.progress-bar.score-high[data-v-94848aee]{background:linear-gradient(135deg,#34d399,#10b981)}.progress-bar.score-medium[data-v-94848aee]{background:linear-gradient(135deg,#ffd71b,#ffb700)}.progress-bar.score-low[data-v-94848aee]{background:linear-gradient(135deg,#f87171,#ef4444)}.criterion-score[data-v-94848aee]{font-family:League Spartan,sans-serif;font-size:16px;font-weight:700;text-align:right}.criterion-score.score-high[data-v-94848aee]{color:#10b981}.criterion-score.score-medium[data-v-94848aee]{color:#ffd166}.criterion-score.score-low[data-v-94848aee]{color:#ef4444}@media(max-width:768px){.statistics-grid[data-v-94848aee]{grid-template-columns:1fr}.criterion-item[data-v-94848aee]{grid-template-columns:1fr;gap:8px}.criterion-label[data-v-94848aee]{margin-bottom:4px}}.progress-compact[data-v-49052443]{display:flex;align-items:center;gap:24px;padding:12px 20px;background:hsla(0,0%,100%,.6);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:12px;border:1px solid rgba(0,0,0,.05)}.progress-compact.empty[data-v-49052443]{justify-content:center;padding:12px 24px}.progress-compact .empty-text[data-v-49052443]{font-family:Inter,sans-serif;font-size:13px;color:#9ca3af}.compact-score[data-v-49052443]{display:flex;flex-direction:column;align-items:center;gap:4px;padding-right:20px;border-right:1px solid rgba(0,0,0,.08)}.score-label[data-v-49052443]{font-family:Inter,sans-serif;font-size:11px;color:#6b7280;text-transform:uppercase;letter-spacing:.5px}.score-value[data-v-49052443]{font-family:League Spartan,sans-serif;font-size:28px;font-weight:700;line-height:1;color:#1f2937}.score-value.score-high[data-v-49052443]{color:#10b981}.score-value.score-medium[data-v-49052443]{color:#ffd166}.score-value.score-low[data-v-49052443]{color:#ef4444}.compact-stats[data-v-49052443]{display:flex;gap:20px;padding-right:20px;border-right:1px solid rgba(0,0,0,.08)}.stat-item[data-v-49052443]{display:flex;flex-direction:column;gap:4px;align-items:center}.stat-label[data-v-49052443]{font-family:Inter,sans-serif;font-size:11px;color:#6b7280;text-transform:uppercase;letter-spacing:.3px}.stat-value[data-v-49052443]{font-family:League Spartan,sans-serif;font-size:16px;font-weight:700;color:#1f2937}.stat-value.success[data-v-49052443]{color:#10b981}.compact-criteria[data-v-49052443]{display:flex;gap:16px;flex:1}.criterion-mini[data-v-49052443]{display:flex;flex-direction:column;gap:6px;flex:1;min-width:80px}.criterion-label-mini[data-v-49052443]{font-family:Inter,sans-serif;font-size:11px;color:#6b7280;font-weight:600}.mini-progress-bar[data-v-49052443]{height:6px;background:#e5e7eb;border-radius:3px;overflow:hidden}.mini-bar-fill[data-v-49052443]{height:100%;border-radius:3px;transition:width .5s ease}.mini-bar-fill.score-high[data-v-49052443]{background:linear-gradient(90deg,#34d399,#10b981)}.mini-bar-fill.score-medium[data-v-49052443]{background:linear-gradient(90deg,#ffd71b,#ffb700)}.mini-bar-fill.score-low[data-v-49052443]{background:linear-gradient(90deg,#f87171,#ef4444)}.criterion-score-mini[data-v-49052443]{font-family:League Spartan,sans-serif;font-size:13px;font-weight:700;text-align:center}.criterion-score-mini.score-high[data-v-49052443]{color:#10b981}.criterion-score-mini.score-medium[data-v-49052443]{color:#ffd166}.criterion-score-mini.score-low[data-v-49052443]{color:#ef4444}@media(max-width:1400px){.progress-compact[data-v-49052443]{gap:16px}.compact-stats[data-v-49052443]{gap:16px;padding-right:16px}.compact-criteria[data-v-49052443]{gap:12px}.criterion-mini[data-v-49052443]{min-width:70px}}@media(max-width:1200px){.progress-compact[data-v-49052443]{flex-wrap:wrap;gap:12px}.compact-score[data-v-49052443],.compact-stats[data-v-49052443]{border-right:none;padding-right:0}.compact-criteria[data-v-49052443]{width:100%;justify-content:space-between}}.speaking-practice-container[data-v-050291ac]{min-height:100vh;background:#f7f7fb;width:100%;box-sizing:border-box}.header-progress-wrapper[data-v-050291ac]{margin-bottom:24px;background:#fff;border:1px solid rgba(0,0,0,.05);border-radius:20px;box-shadow:0 4px 12px rgba(0,0,0,.04);padding:20px 28px;transition:all .3s ease}.header-progress-header[data-v-050291ac]{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.header-progress-title[data-v-050291ac]{font-family:League Spartan,sans-serif;font-size:20px;font-weight:700;color:#2d2c2b;margin:0}.header-progress-toggle[data-v-050291ac]{display:flex;align-items:center;justify-content:center;width:36px;height:36px;background:#f5f5f5;border:1px solid rgba(0,0,0,.1);border-radius:8px;cursor:pointer;transition:all .2s ease;color:#666}.header-progress-toggle[data-v-050291ac]:hover{background:#e5e5e5;border-color:rgba(0,0,0,.15);color:#333}.header-progress-toggle svg[data-v-050291ac]{transition:transform .3s ease}.header-progress-toggle svg.rotated[data-v-050291ac]{transform:rotate(180deg)}.header-progress-content[data-v-050291ac]{transition:opacity .3s ease}.main-content[data-v-050291ac]{width:100%;max-width:100%;margin:0;display:grid;grid-template-columns:360px 1fr 400px;gap:28px;background:#fff;border:1px solid rgba(0,0,0,.04);border-radius:24px;padding:20px;box-shadow:0 6px 18px rgba(0,0,0,.06);box-sizing:border-box;min-height:calc(100vh - 40px);transition:grid-template-columns .3s ease;transition:grid-template-columns .3s ease,-ms-grid-columns .3s ease}@media(max-width:1800px){.main-content[data-v-050291ac]{grid-template-columns:340px 1fr 380px;padding:32px}}@media(max-width:1600px){.main-content[data-v-050291ac]{grid-template-columns:320px 1fr 360px;gap:24px}}@media(max-width:1400px){.main-content[data-v-050291ac]{grid-template-columns:300px 1fr 340px;padding:28px}}@media(max-width:1200px){.main-content[data-v-050291ac]{grid-template-columns:1fr;gap:20px;padding:24px;min-height:auto}}.main-content.right-collapsed[data-v-050291ac]{grid-template-columns:360px 1fr 60px}@media(max-width:1800px){.main-content.right-collapsed[data-v-050291ac]{grid-template-columns:340px 1fr 60px}}@media(max-width:1600px){.main-content.right-collapsed[data-v-050291ac]{grid-template-columns:320px 1fr 60px}}@media(max-width:1400px){.main-content.right-collapsed[data-v-050291ac]{grid-template-columns:300px 1fr 60px}}@media(max-width:1200px){.main-content.right-collapsed[data-v-050291ac]{grid-template-columns:1fr}}.main-content.no-left-column[data-v-050291ac]{grid-template-columns:1fr 400px}@media(max-width:1800px){.main-content.no-left-column[data-v-050291ac]{grid-template-columns:1fr 380px}}@media(max-width:1600px){.main-content.no-left-column[data-v-050291ac]{grid-template-columns:1fr 360px}}@media(max-width:1400px){.main-content.no-left-column[data-v-050291ac]{grid-template-columns:1fr 340px}}@media(max-width:1200px){.main-content.no-left-column[data-v-050291ac]{grid-template-columns:1fr}}.main-content.no-left-column.right-collapsed[data-v-050291ac]{grid-template-columns:1fr 60px}@media(max-width:1200px){.main-content.no-left-column.right-collapsed[data-v-050291ac]{grid-template-columns:1fr}}.left-column[data-v-050291ac]{display:flex;flex-direction:column;gap:24px;height:100%}@media(max-width:1200px){.left-column[data-v-050291ac]{order:3;height:auto}}.middle-column[data-v-050291ac]{display:flex;flex-direction:column;gap:24px;min-width:0;height:100%}@media(max-width:1200px){.middle-column[data-v-050291ac]{order:1;height:auto}}.right-column[data-v-050291ac]{display:flex;flex-direction:column;gap:24px;height:100%;position:relative;transition:all .3s ease}@media(max-width:1200px){.right-column[data-v-050291ac]{order:2;margin-top:0;height:auto}}.right-column.collapsed[data-v-050291ac]{min-width:60px;align-items:center}.right-column.collapsed .right-column-header[data-v-050291ac]{width:100%;justify-content:center;margin-bottom:0}.right-column-header[data-v-050291ac]{display:flex;justify-content:flex-end;align-items:flex-start;margin-bottom:8px;z-index:10;position:relative}.collapse-toggle[data-v-050291ac]{background:#fff;border:1px solid rgba(0,0,0,.1);border-radius:8px;width:36px;height:36px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s ease;color:#666;box-shadow:0 2px 4px rgba(255,232,70,.1)}.collapse-toggle[data-v-050291ac]:hover{background:rgba(255,232,70,.1);border-color:#666;color:#666;box-shadow:0 2px 8px rgba(255,232,70,.2)}.collapse-toggle[data-v-050291ac]:active{transform:scale(.95)}.collapse-toggle svg[data-v-050291ac]{width:18px;height:18px}.layout-preference-section[data-v-050291ac]{padding:16px;margin-bottom:16px;background:#f9fafb;border-radius:12px;border:1px solid rgba(0,0,0,.06)}.layout-preference-label[data-v-050291ac]{font-family:Inter,sans-serif;font-size:13px;font-weight:600;color:#000!important;margin-bottom:12px}.layout-toggle-buttons[data-v-050291ac]{display:flex;gap:8px}.layout-toggle-btn[data-v-050291ac]{flex:1;display:flex;align-items:center;justify-content:center;gap:6px;padding:10px 16px;background:#fff;border:1px solid rgba(0,0,0,.1);border-radius:8px;cursor:pointer;transition:all .2s ease;font-family:Inter,sans-serif;font-size:12px;font-weight:500;color:#6b7280}.layout-toggle-btn[data-v-050291ac]:hover{background:#f3f4f6;border-color:rgba(0,0,0,.15)}.layout-toggle-btn.active[data-v-050291ac]{background:#fffaf3;border-color:#ffd166;color:#2d2c2b;font-weight:600}.layout-toggle-btn svg[data-v-050291ac]{flex-shrink:0}.right-column-content[data-v-050291ac]{flex:1;overflow:hidden;transition:opacity .3s ease,transform .3s ease}.test-preview[data-v-050291ac]{background:#fff;border:1px solid rgba(15,23,42,.08);border-radius:18px;padding:28px 32px}.preview-header[data-v-050291ac]{margin-bottom:32px;position:relative;text-align:center}.back-to-selection-btn[data-v-050291ac]{position:absolute;left:0;top:0;background:#f5f5f5;border:1px solid rgba(0,0,0,.1);border-radius:8px;padding:8px 16px;display:flex;align-items:center;gap:8px;cursor:pointer;transition:all .2s ease;color:#666;font-family:Inter,sans-serif;font-size:14px;font-weight:500}.back-to-selection-btn[data-v-050291ac]:hover{background:#e5e5e5;border-color:rgba(0,0,0,.15);color:#333}.back-to-selection-btn i[data-v-050291ac]{font-size:14px}.evaluation-header-actions[data-v-050291ac]{margin-bottom:20px;display:flex;justify-content:flex-start}.back-to-main-btn[data-v-050291ac]{display:flex;align-items:center;gap:8px;padding:10px 20px;background:#fff;border:1px solid rgba(0,0,0,.1);border-radius:8px;cursor:pointer;transition:all .2s ease;color:#666;font-family:Inter,sans-serif;font-size:14px;font-weight:500;box-shadow:0 2px 4px rgba(0,0,0,.05)}.back-to-main-btn[data-v-050291ac]:hover{background:#f5f5f5;border-color:rgba(0,0,0,.15);color:#333;box-shadow:0 4px 8px rgba(0,0,0,.1);transform:translateY(-1px)}.back-to-main-btn svg[data-v-050291ac]{flex-shrink:0}.back-to-main-btn span[data-v-050291ac]{white-space:nowrap}.preview-title[data-v-050291ac]{font-family:League Spartan,sans-serif;font-size:24px;font-weight:700;color:#2d2c2b;margin:0 0 8px 0}.preview-subtitle[data-v-050291ac]{font-family:Inter,sans-serif;font-size:14px;color:#666;margin:0}.questions-preview[data-v-050291ac]{display:flex;flex-direction:column;gap:20px;margin-bottom:32px;max-height:500px;overflow-y:auto}.question-preview-item[data-v-050291ac]{background:#fffef0;border:1px solid rgba(15,23,42,.08);border-radius:14px;padding:20px 24px;border-left:4px solid #ffe846}.question-preview-header[data-v-050291ac]{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.question-number[data-v-050291ac]{font-family:League Spartan,sans-serif;font-size:16px;font-weight:700;color:#2d2c2b}.question-topic[data-v-050291ac]{background:rgba(255,232,70,.2);color:#464444;padding:6px 14px;border-radius:20px;font-weight:600;font-size:12px;text-transform:uppercase;letter-spacing:.5px}.question-preview-content[data-v-050291ac]{display:flex;flex-direction:column;gap:12px}.question-prompt[data-v-050291ac]{font-family:Inter,sans-serif;font-size:16px;line-height:1.7;color:#1f2937;font-weight:500;margin:0;white-space:pre-wrap}.question-timing[data-v-050291ac]{display:flex;gap:16px;font-family:Inter,sans-serif;font-size:13px;color:#706c6a;font-weight:500;padding-top:12px;border-top:1px solid rgba(0,0,0,.06)}.preview-actions[data-v-050291ac]{display:flex;justify-content:center;padding-top:24px;border-top:1px solid rgba(0,0,0,.06)}.start-practice-btn[data-v-050291ac]{background:#ffe846;color:#464444;border:none;border-radius:12px;padding:14px 32px;font-family:Inter,sans-serif;font-size:16px;font-weight:700;cursor:pointer;transition:all .2s ease;box-shadow:0 4px 12px rgba(255,232,70,.3)}.start-practice-btn[data-v-050291ac]:hover{background:gold;transform:translateY(-2px);box-shadow:0 6px 16px rgba(255,232,70,.4)}.start-practice-btn[data-v-050291ac]:active{transform:translateY(0)}.practice-session[data-v-050291ac]{display:flex;flex-direction:column;gap:24px}.question-progress[data-v-050291ac]{display:flex;justify-content:center;align-items:center;padding:12px 24px;background:#fffef0;border:1px solid #ffe846;border-radius:12px;margin-bottom:16px}.next-question-container[data-v-050291ac]{display:flex;justify-content:center;margin-top:24px;padding-top:24px;border-top:1px solid rgba(15,23,42,.08)}.next-question-btn[data-v-050291ac]{display:flex;align-items:center;gap:8px;padding:14px 28px;background:#ffe846;color:#464444;border:none;border-radius:12px;font-family:Inter,sans-serif;font-size:15px;font-weight:600;cursor:pointer;transition:all .2s ease;box-shadow:0 2px 8px rgba(255,232,70,.2)}.next-question-btn[data-v-050291ac]:hover{background:gold;transform:translateY(-2px);box-shadow:0 4px 12px rgba(255,232,70,.3)}.next-question-btn[data-v-050291ac]:active{transform:translateY(0)}.next-question-btn svg[data-v-050291ac]{transition:transform .2s ease}.next-question-btn:hover svg[data-v-050291ac]{transform:translateX(4px)}.next-question-btn.complete-btn[data-v-050291ac]{background:linear-gradient(135deg,#34d399,#10b981);color:#fff;box-shadow:0 2px 8px rgba(16,185,129,.2)}.next-question-btn.complete-btn[data-v-050291ac]:hover:not(:disabled){background:linear-gradient(135deg,#10b981,#059669);box-shadow:0 4px 12px rgba(16,185,129,.3)}.next-question-btn.complete-btn[data-v-050291ac]:disabled{opacity:.7;cursor:not-allowed;transform:none}.next-question-btn.complete-btn.loading[data-v-050291ac]{cursor:wait}.next-question-btn[data-v-050291ac]:disabled{opacity:.7;cursor:not-allowed;transform:none}.next-question-btn.loading[data-v-050291ac]{cursor:wait}.spinner[data-v-050291ac]{width:16px;height:16px;border:2px solid hsla(0,0%,100%,.3);border-top-color:#fff;border-radius:50%;animation:spin-data-v-050291ac .8s linear infinite;flex-shrink:0;display:inline-block}.progress-text[data-v-050291ac]{font-family:Inter,sans-serif;font-size:14px;font-weight:600;color:#464444}.debug-info[data-v-050291ac]{margin-top:20px;padding:16px;background:#f0f0f0;border:1px solid #ddd;border-radius:8px;font-size:12px;font-family:monospace;max-width:100%;overflow-x:auto}.debug-title[data-v-050291ac]{display:block;margin-bottom:8px;color:#333;font-size:14px}.debug-no-eval[data-v-050291ac]{color:#999}.debug-practice-id[data-v-050291ac]{margin-top:8px;padding-top:8px;border-top:1px solid #ddd}.evaluation-waiting-modal .ant-modal-content[data-v-050291ac]{border-radius:32px;overflow:hidden;box-shadow:0 24px 48px rgba(255,232,70,.2),0 8px 16px rgba(255,232,70,.1);border:2px solid rgba(255,232,70,.3)}.evaluation-waiting-modal .ant-modal-body[data-v-050291ac]{padding:0}.evaluation-waiting-content[data-v-050291ac]{padding:48px 40px 36px;background:linear-gradient(135deg,#fffef0,#fff 50%,#fffef0);position:relative}.waiting-header[data-v-050291ac]{text-align:center;margin-bottom:36px}.waiting-animation-wrapper[data-v-050291ac]{margin-bottom:28px;display:flex;justify-content:center;align-items:center}.waiting-animation[data-v-050291ac]{position:relative;width:120px;height:120px;display:flex;justify-content:center;align-items:center;margin:0 auto}.spinner-core[data-v-050291ac]{width:64px;height:64px;position:relative;z-index:3}.spinner-inner[data-v-050291ac]{width:100%;height:100%;border:3px solid rgba(255,232,70,.2);border-top-color:#ffe846;border-right-color:gold;border-radius:50%;animation:spin-data-v-050291ac .9s linear infinite}.spinner-orb[data-v-050291ac]{position:absolute;width:10px;height:10px;background:#ffe846;border-radius:50%;z-index:2;animation:orbit-data-v-050291ac 2.4s ease-in-out infinite;box-shadow:0 0 8px rgba(255,232,70,.6)}.spinner-orb.orb-1[data-v-050291ac]{top:0;left:50%;transform:translateX(-50%);animation-delay:0s}.spinner-orb.orb-2[data-v-050291ac]{right:0;top:50%;transform:translateY(-50%);animation-delay:.8s}.spinner-orb.orb-3[data-v-050291ac]{bottom:0;left:50%;transform:translateX(-50%);animation-delay:1.6s}.loading-circle[data-v-050291ac]{position:absolute;border:2px solid rgba(255,232,70,.2);border-top-color:#ffe846;border-radius:50%;animation:circle-spin-data-v-050291ac 2s linear infinite}.loading-circle.circle-1[data-v-050291ac]{width:90px;height:90px;top:15px;left:15px;animation-duration:1.5s;animation-delay:0s;z-index:1}.loading-circle.circle-2[data-v-050291ac]{width:100px;height:100px;top:10px;left:10px;animation-duration:2s;animation-delay:.3s;z-index:1;border-top-color:transparent;border-right-color:#ffe846}.loading-circle.circle-3[data-v-050291ac]{width:110px;height:110px;top:5px;left:5px;animation-duration:2.5s;animation-delay:.6s;z-index:1;border-top-color:transparent;border-bottom-color:gold}.loading-circle.circle-4[data-v-050291ac]{width:80px;height:80px;top:20px;left:20px;animation-duration:1.8s;animation-delay:.2s;z-index:1;border-top-color:transparent;border-left-color:#ffe846;animation-direction:reverse}.loading-circle.circle-5[data-v-050291ac]{width:70px;height:70px;top:25px;left:25px;animation-duration:1.2s;animation-delay:.4s;z-index:1;border-top-color:gold;border-right-color:transparent;animation-direction:reverse}.loading-circle.circle-6[data-v-050291ac]{width:95px;height:95px;top:12.5px;left:12.5px;animation-duration:2.2s;animation-delay:.1s;z-index:1;border-top-color:transparent;border-bottom-color:transparent;border-left-color:#ffe846}@keyframes spin-data-v-050291ac{to{transform:rotate(1turn)}}@keyframes orbit-data-v-050291ac{0%,to{opacity:.3;transform:translateX(-50%) scale(.8)}50%{opacity:1;transform:translateX(-50%) scale(1.2)}}@keyframes circle-spin-data-v-050291ac{to{transform:rotate(1turn)}}.waiting-title[data-v-050291ac]{font-family:Inter,sans-serif;font-size:22px;font-weight:600;color:#2d2c2b;margin:0 0 8px 0;letter-spacing:-.3px}.waiting-subtitle[data-v-050291ac]{font-family:Inter,sans-serif;font-size:14px;color:#6b7280;margin:0;line-height:1.5;font-weight:400}.waiting-progress-section[data-v-050291ac]{margin-bottom:28px;padding:20px 24px;background:hsla(0,0%,100%,.9);border-radius:20px;border:1px solid rgba(255,232,70,.3);box-shadow:0 4px 12px rgba(255,232,70,.1)}.progress-info-row[data-v-050291ac]{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.progress-label[data-v-050291ac]{font-family:Inter,sans-serif;font-size:13px;color:#6b7280;font-weight:500;text-transform:none;letter-spacing:0}.progress-percentage[data-v-050291ac]{font-family:Inter,sans-serif;font-size:16px;font-weight:600;color:#ffe846}.progress-bar-wrapper[data-v-050291ac]{margin-bottom:12px}.progress-bar-container[data-v-050291ac]{width:100%;height:8px;background:rgba(255,232,70,.2);border-radius:10px;overflow:hidden;position:relative;box-shadow:inset 0 2px 4px rgba(0,0,0,.05)}.progress-bar-fill[data-v-050291ac]{height:100%;background:linear-gradient(90deg,#ffe846,gold 50%,#ffe846);background-size:200% 100%;border-radius:10px;transition:width .4s cubic-bezier(.4,0,.2,1);position:relative;box-shadow:0 2px 8px rgba(255,232,70,.4)}.progress-bar-fill[data-v-050291ac]:after{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:linear-gradient(90deg,transparent,hsla(0,0%,100%,.4),transparent);animation:progress-shimmer-data-v-050291ac 2s infinite}@keyframes progress-shimmer-data-v-050291ac{0%{transform:translateX(-100%)}to{transform:translateX(100%)}}.progress-time-row[data-v-050291ac]{display:flex;align-items:center;justify-content:center;gap:6px;font-family:Inter,sans-serif;font-size:13px;font-weight:500}.time-elapsed[data-v-050291ac]{color:#1a1a1a}.time-separator[data-v-050291ac]{color:#9ca3af}.time-estimated[data-v-050291ac]{color:#6b7280}.waiting-info-grid[data-v-050291ac]{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin-bottom:24px}.info-card[data-v-050291ac]{background:hsla(0,0%,100%,.95);border:1px solid rgba(255,232,70,.3);border-radius:16px;padding:16px;display:flex;align-items:center;gap:12px;transition:all .2s ease}.info-card[data-v-050291ac]:hover{border-color:rgba(255,232,70,.5);box-shadow:0 4px 12px rgba(255,232,70,.2);transform:translateY(-2px)}.info-icon-wrapper[data-v-050291ac]{width:44px;height:44px;border-radius:12px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.info-icon-wrapper.questions[data-v-050291ac],.info-icon-wrapper.status[data-v-050291ac]{background:linear-gradient(135deg,rgba(255,232,70,.2),rgba(255,215,0,.2));color:#ffe846}.info-text[data-v-050291ac]{display:flex;flex-direction:column;gap:2px;flex:1;min-width:0}.info-label[data-v-050291ac]{font-family:Inter,sans-serif;font-size:11px;color:#9ca3af;font-weight:500;text-transform:uppercase;letter-spacing:.3px}.info-value[data-v-050291ac]{font-family:Inter,sans-serif;font-size:18px;font-weight:600;color:#1a1a1a;display:flex;align-items:center;gap:6px}.info-value.status-text[data-v-050291ac]{font-size:14px;font-weight:500;color:#4b5563}.status-indicator[data-v-050291ac]{width:8px;height:8px;border-radius:50%;background:#ffe846;display:inline-block;animation:status-pulse-data-v-050291ac 2s ease-in-out infinite;box-shadow:0 0 8px rgba(255,232,70,.6)}@keyframes status-pulse-data-v-050291ac{0%,to{opacity:1;transform:scale(1)}50%{opacity:.6;transform:scale(1.1)}}.waiting-footer[data-v-050291ac]{padding-top:20px;border-top:1px solid rgba(255,232,70,.2)}.footer-note[data-v-050291ac]{display:flex;align-items:center;justify-content:center;gap:8px;font-family:Inter,sans-serif;font-size:12px;color:#9ca3af;font-weight:400}.footer-note svg[data-v-050291ac]{flex-shrink:0;color:#9ca3af}