/* Voice practice module — accessibility and iPhone PWA touch controls */
.voice-practice{margin:16px auto;padding:20px 18px;background:#fff;border:1px solid #e8e0f9;border-radius:21px;display:grid;gap:11px}
.voice-practice h3{font-size:19px;margin:3px 0}
.voice-practice h4{font-size:16px;margin:5px 0}
.voice-practice p{font-size:13px;line-height:1.8;margin:0;color:#625d7b}
.voice-practice label{font-size:13px;font-weight:800;color:#47377c}
.voice-practice textarea,.voice-settings input{font:inherit;font-size:16px;padding:12px 14px;width:100%;border-radius:12px;border:1.5px solid #e4ddf3;background:#fff;color:var(--ink)}
.voice-buttons{display:flex;gap:9px;align-items:stretch;flex-wrap:wrap}
.voice-hold{padding:17px 19px;flex:1;min-width:164px;border:0;border-radius:16px;background:#6b46e5;color:#fff;font-size:16px;font-weight:850;touch-action:none;user-select:none;-webkit-user-select:none}
.voice-hold.is-recording{background:#c73f68;box-shadow:0 0 0 4px #ffe2eb}
.voice-buttons .btn{flex-shrink:0}
.voice-message{font-size:13px;line-height:1.6;color:#665398;min-height:20px}
.voice-error{color:#a02a4e;font-weight:750}
.voice-feedback{margin-top:9px;border:1px solid #d8f4e5;background:#f1fff6;border-radius:17px;padding:16px;display:grid;gap:8px}
.voice-feedback p{color:#396c53}
.voice-score{font-weight:950;color:#1b8f6f;font-size:36px}
.voice-score small{font-size:11px;color:#648c7c;font-weight:600}
.voice-metrics{display:flex;gap:7px;flex-wrap:wrap}
.voice-metrics span{font-size:12px;padding:7px 9px;background:#fff;border-radius:9px;color:#365e51}
.voice-feedback .voice-advice{color:#155f4d;font-weight:800;font-size:14px}
.voice-thai{font:850 clamp(27px,5vw,39px)/1.6 Tahoma,"Noto Sans Thai",sans-serif;color:#2d235b;padding:17px;background:#f4f0ff;border-radius:14px}
.voice-original{font-size:14px!important;font-weight:750!important}
.voice-settings{border-top:1px solid #e9e3f5;padding-top:12px;margin-top:6px}
.voice-settings summary{font-size:12px;cursor:pointer;font-weight:800;color:#5a4e92}
.voice-settings-content{display:grid;gap:9px;margin-top:12px}
@media(max-width:720px){.voice-practice{padding:17px 14px}.voice-hold{width:100%;min-height:65px}.voice-buttons .btn{flex:1}.voice-practice h3{font-size:17px}}
