.speaking-routine{margin:24px 0 32px;scroll-margin-top:24px}
.sr-plan{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin:22px 0}
.sr-plan-card{border:1px solid var(--line,#d5ddd8);border-radius:14px;padding:20px;display:flex;flex-direction:column;align-items:flex-start;background:var(--paper,#fff);min-width:0}
.sr-plan-card h3{font-size:18px;margin:10px 0}
.sr-plan-card p{font-size:14px;line-height:1.65;flex:1}
.sr-plan-card small{display:block;font-size:11px;line-height:1.5;margin-top:12px}
.sr-settings{display:flex;flex-wrap:wrap;gap:18px}.sr-settings label{display:grid;gap:7px;min-width:170px}
#srConversation{border-top:1px solid var(--line,#d5ddd8);margin-top:20px;padding-top:20px}
#srMessages{max-height:470px;margin-top:18px}.sr-review,#srMessages .tutor-message>div{white-space:pre-wrap;overflow-wrap:anywhere}
#srForm label{display:block;margin:14px 0 8px}#srInput{width:100%;font-size:16px;box-sizing:border-box}
.sr-recorder{margin-top:16px;gap:8px}.sr-note{font-size:12px;line-height:1.65}
#srAudio{width:100%;margin:12px 0}#srStatus{font-size:14px;line-height:1.6}
.sr-history-item{border-top:1px solid var(--line,#d5ddd8);padding:12px 0}.sr-review{font-size:14px;line-height:1.75}
html[data-theme="dark"] .sr-plan-card,body[data-theme="dark"] .sr-plan-card{background:#182c28;color:#eef5f1;border-color:#48605a}
@media(prefers-color-scheme:dark){html:not([data-theme="light"]):not([data-theme="dark"]) .sr-plan-card{background:var(--paper,#182c28)}}
@media(max-width:850px){.sr-plan{grid-template-columns:1fr}.sr-plan-card{padding:18px}.sr-settings label{flex:1}.sr-recorder button,#srForm button{min-height:44px}}
