/* eng-dictation 英语单词听写 */

.ed-controls {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-top: 16px;
}
.ed-big-btn { min-width: 160px; }

.ed-progress-wrap {
    margin-top: 14px;
    padding: 12px 14px;
    background: var(--c-surface-soft);
    border-radius: 10px;
}
.ed-progress-bar {
    height: 8px;
    border-radius: 99px;
    background: var(--c-border);
    overflow: hidden;
    margin-bottom: 6px;
}
.ed-progress-fill {
    height: 100%;
    background: linear-gradient(90deg, var(--c-primary), rgba(0, 150, 220, 0.6));
    border-radius: 99px;
    width: 0%;
    transition: width 0.3s ease;
}
.ed-progress-text {
    font-size: 12px;
    color: var(--c-text-sub);
}

/* 听写区 */
.ed-test-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 14px;
    font-size: 13.5px;
    color: var(--c-text-sub);
}
.ed-test-header b { color: var(--c-text); font-size: 15px; }
.ed-test-acts { display: flex; gap: 8px; }
.btn-sm { padding: 6px 12px; font-size: 12.5px; }

.ed-test-row {
    display: flex;
    gap: 10px;
    margin-bottom: 10px;
}
.ed-answer-input { flex: 1; font-size: 18px; font-weight: 700; text-align: center; letter-spacing: 0.05em; }

.ed-feedback {
    min-height: 44px;
    padding: 10px 14px;
    border-radius: 10px;
    font-size: 13.5px;
    font-weight: 700;
    display: flex;
    align-items: center;
    gap: 8px;
}
.ed-feedback.ok { background: rgba(52, 199, 89, 0.12); color: #1f9d43; border: 1px solid rgba(52, 199, 89, 0.35); }
.ed-feedback.wrong { background: rgba(224, 68, 124, 0.1); color: #e0447c; border: 1px solid rgba(224, 68, 124, 0.35); }
.ed-feedback .ans { color: var(--c-text); font-weight: 800; font-size: 15px; }

.ed-submit-all { margin-top: 14px; }

/* 结果区 */
.ed-result-header {
    display: flex;
    align-items: center;
    justify-content: space-around;
    flex-wrap: wrap;
    gap: 18px;
    margin-bottom: 18px;
    padding: 18px;
    background: linear-gradient(135deg, rgba(0, 150, 220, 0.1), rgba(0, 168, 168, 0.06));
    border-radius: 14px;
    border: 1px solid rgba(0, 150, 220, 0.2);
}
.ed-score-big {
    display: flex;
    align-items: baseline;
    gap: 4px;
}
.ed-score-num {
    font-size: 52px;
    font-weight: 800;
    color: #0a7fc0;
    line-height: 1;
}
.ed-score-unit { font-size: 16px; font-weight: 700; color: var(--c-text-sub); }
.ed-result-meta { display: flex; gap: 20px; }
.ed-result-meta .item { text-align: center; font-size: 13px; color: var(--c-text-sub); }
.ed-result-meta b { display: block; font-size: 22px; font-weight: 800; color: var(--c-text); }

.ed-result-table {
    width: 100%;
    border-collapse: collapse;
    font-size: 13.5px;
    margin-bottom: 16px;
}
.ed-result-table th, .ed-result-table td {
    padding: 10px 12px;
    border-bottom: 1px solid var(--c-border);
    text-align: left;
}
.ed-result-table th { color: var(--c-text-sub); font-weight: 700; background: var(--c-surface-soft); }
.ed-result-table td.is-ok { color: #1f9d43; font-weight: 800; }
.ed-result-table td.is-wrong { color: #e0447c; font-weight: 800; }
.ed-result-table td.answer { font-family: ui-monospace, monospace; }

@media (max-width: 620px) {
    .ed-score-num { font-size: 42px; }
    .ed-result-header { flex-direction: column; }
}

[data-theme="dark"] .ed-result-header { background: linear-gradient(135deg, rgba(0, 150, 220, 0.18), rgba(0, 168, 168, 0.12)); }
[data-theme="dark"] .ed-score-num { color: #58bdf0; }
[data-theme="dark"] .ed-feedback.ok { color: #4ede78; }
[data-theme="dark"] .ed-feedback.wrong { color: #ff6b9e; }
[data-theme="dark"] .ed-result-table td.is-ok { color: #4ede78; }
[data-theme="dark"] .ed-result-table td.is-wrong { color: #ff6b9e; }
