#speaking #record-voice{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px}#speaking .speech-input{display:grid;grid-template-columns:auto minmax(70px,160px) minmax(0,1fr);gap:10px;align-items:center;margin:10px 0;font-size:13px;color:var(--muted)}#speaking .speech-input meter{width:100%;height:12px;accent-color:var(--accent)}#speaking .speech-feedback{border:1px solid var(--line);border-left:3px solid var(--accent);border-radius:8px;padding:12px 14px;margin:12px 0;background:var(--panel)}#speaking .speech-feedback-label{font-size:14px;margin:0 0 6px;color:var(--muted)}#speaking .speech-word-line{display:flex;flex-wrap:wrap;gap:5px;font-size:16px;line-height:1.6}#speaking .speech-word-line span{padding:2px 6px;border-radius:4px}#speaking .speech-word-line .is-matched{color:var(--text,inherit)}#speaking .speech-word-line .is-missing{color:var(--accent);background:var(--soft);border:1px dashed var(--line)}#speaking .speech-feedback p:last-child{margin-bottom:0}#speaking #speech-transcript{font-size:15px;overflow-wrap:anywhere}#speaking #record-status{font-size:15px;line-height:1.6}@media(max-width:600px){#speaking .speech-input{grid-template-columns:auto minmax(70px,1fr)}#speaking .speech-input>span:last-child{grid-column:1/-1}#speaking .speech-feedback{padding:10px 12px}}
/* Highlight sentence cards without changing the surrounding page. */
#speaking .phrase-card{cursor:pointer;transition:border-color .16s,background-color .16s,box-shadow .16s;scroll-margin-top:24px}
#speaking .phrase-card:hover,#speaking .phrase-card:focus-visible{border-color:var(--accent);background:var(--soft);box-shadow:0 0 0 2px var(--accent)}
#speaking .phrase-card:focus-visible{outline:2px solid var(--accent);outline-offset:4px}
#speaking .practice-panel{scroll-margin-top:96px}
@media(prefers-reduced-motion:reduce){#speaking .phrase-card{transition:none}}
