.voice-practice { margin:16px 0; padding:14px; background:#f1f7f5; border:1px solid #c5dbd5; border-radius:16px; text-align:left; }
.voice-practice .sound-row { flex-wrap:wrap; justify-content:flex-start; }
.voice-practice button { min-height:44px; }
.voice-practice button:disabled { opacity:.5; cursor:default; }
.voice-practice p { margin:8px 0; font-size:1rem; }
.voice-practice small { display:block; color:#52686b; }
.voice-practice [data-timer] { display:block; color:#ad2435; font-weight:bold; }
.recording-reward {padding:12px;background:#fff1b5;border-radius:12px;font-size:1rem;}
.progress-details {margin-top:18px;}
.backup-import {display:inline-block;padding:12px;border:1px solid #b6c8c6;border-radius:12px;}
.backup-import input {display:block;max-width:100%;font-size:1rem;margin-top:8px;}
.answer-feedback {min-height:64px;padding:12px;font-size:1.4rem;font-weight:bold;border-radius:16px;}
.answer-feedback.correct {background:#e0f7e8;color:#166138;animation:happy-pop .45s ease-out;}
.answer-feedback.try-again {background:#fff2cf;color:#705719;}
@keyframes happy-pop {0%{transform:scale(.85)}65%{transform:scale(1.06)}100%{transform:scale(1)}}
@media(prefers-reduced-motion:reduce){.answer-feedback.correct{animation:none}}
