/* Speaking drills (speaking-drills.js) */
.sd{border:1px solid #d5dde1;border-radius:10px;background:#fff;overflow:hidden}
.sd-progress{display:flex;gap:4px;padding:10px 18px 0}.sd-progress span{flex:1;height:5px;border-radius:3px;background:#e3e9ec}.sd-progress .is-done{background:#278337}.sd-progress .is-current{background:#075080}
.sd-stage{padding:20px 22px 24px;min-height:340px}
.sd-start{max-width:640px}.sd-start h2,.sd-end h2{margin:0 0 8px;font-size:22px}
.sd-kicker{font-size:13px;font-weight:800;letter-spacing:.04em;text-transform:uppercase;color:#075080;margin:0 0 10px}
.sd-listen{display:flex;align-items:center;gap:12px;font-size:18px;padding:28px 0;color:#17232e}
.sd-wave{width:28px;height:28px;border-radius:50%;background:#075080;box-shadow:0 0 0 0 rgba(7,80,128,.45);animation:sd-pulse 1.4s infinite}
@keyframes sd-pulse{0%{box-shadow:0 0 0 0 rgba(7,80,128,.45)}70%{box-shadow:0 0 0 14px rgba(7,80,128,0)}100%{box-shadow:0 0 0 0 rgba(7,80,128,0)}}
@media(prefers-reduced-motion:reduce){.sd-wave{animation:none}}
.sd-question{margin:0 0 10px}.sd-question summary{cursor:pointer;font-weight:700;color:#075080}.sd-question p{font-size:18px;margin:8px 0 0}
.sd-note{margin:4px 0 10px}
.sd-hints{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin:14px 0}.sd-hints>div{background:#f4f8fb;border:1px solid #dbe6ee;border-radius:8px;padding:12px 14px}.sd-hints h3{font-size:15px;margin:0 0 6px}.sd-hints ul{margin:0;padding-left:18px;display:grid;gap:4px;font-size:15px}
.sd-actions{display:flex;flex-wrap:wrap;gap:10px;margin:14px 0 0}
.sd-rec{display:flex;flex-wrap:wrap;align-items:center;gap:12px;background:#fdf1f1;border:1px solid #f0c9c9;border-radius:10px;padding:12px 14px;margin:12px 0}
.sd-dot{width:12px;height:12px;border-radius:50%;background:#c0392b;animation:sd-blink 1s infinite}@keyframes sd-blink{50%{opacity:.25}}
.sd-meter{width:120px;height:8px;border-radius:4px;background:#ecd3d3;overflow:hidden}.sd-meter i{display:block;height:100%;width:calc(var(--level,0)*100%);background:#c0392b;transition:width .08s}
.sd-timer{font-variant-numeric:tabular-nums;font-weight:700;color:#41525a}.sd-big{font-size:28px;color:#075080}
.sd-rec .btn{margin-left:auto}
.sd-review audio,.sd-answer audio,.sd-follow audio{width:100%;max-width:520px;margin:6px 0}
.sd-warn{color:#8a4b00;font-weight:700}
.sd-model{margin:10px 0}.sd-model summary{cursor:pointer;font-weight:700;color:#1f6a40}.sd-model p:first-of-type{background:#eef6ef;border-left:4px solid #278337;padding:10px 12px;margin:8px 0 0;border-radius:0 6px 6px 0;white-space:pre-line}
.sd-follow{display:flex;flex-wrap:wrap;align-items:center;gap:6px 12px;border:1px dashed #c9d4d9;border-radius:8px;padding:10px 12px;margin:10px 0}.sd-follow>*{flex:0 1 auto}.sd-follow .sd-rec,.sd-follow audio{flex-basis:100%}
.sd-p2{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:16px;margin:8px 0}
.sd-card{border:2px solid #17232e;border-radius:6px;padding:14px 18px;background:#fffef7}.sd-card p{margin:0 0 6px}.sd-card ul{margin:0 0 8px;padding-left:20px}
.sd-notes label,.sd-notes p{font-weight:700}.sd-notes textarea{width:100%;border:1px solid #d5dde1;border-radius:8px;padding:10px;font:inherit;font-size:15px;margin-top:6px}.sd-notes-text{white-space:pre-line;font-weight:400!important;font-size:15px;background:#f7f9fa;border-radius:6px;padding:8px 10px}
.sd-prep{display:flex;align-items:center;gap:16px;margin:12px 0}
.sd-answer{border-top:1px solid #e1e7ea;padding:12px 0}.sd-answer h3{margin:0 0 2px;font-size:16px}.sd-answer p{margin:0 0 4px}
@media(max-width:700px){.sd-stage{padding:16px}.sd-hints,.sd-p2{grid-template-columns:1fr}.sd-rec .btn{margin-left:0;width:100%}}
.speak-promo{margin:0 0 18px}
