/* Shared shell, lesson cards and theme tokens come from the site. */
.speaking-pilot [hidden]{display:none!important}
.speaking-pilot #question-title{margin-bottom:8px}
.speaking-pilot .sp-translation{text-align:center;color:var(--muted);margin:0 0 22px}
.speaking-pilot .sp-actions{display:flex;justify-content:center;align-items:center;gap:12px;flex-wrap:wrap}
.speaking-pilot .sp-secondary{background:var(--surface);color:var(--text);border-color:var(--border)}
.speaking-pilot .sp-secondary:hover:not(:disabled){background:var(--soft)}
.speaking-pilot .sp-secondary:disabled{background:var(--disabled);color:var(--disabled-text)}
.speaking-pilot .sp-hint{font-size:.8125rem;color:var(--muted);line-height:1.6}
.speaking-pilot .sp-centered{text-align:center;margin:14px 0 22px}
.speaking-pilot #sp-record{min-width:190px}
.speaking-pilot #sp-timer{font-size:.8125rem;color:var(--muted);font-variant-numeric:tabular-nums}
.speaking-pilot .sp-recording{box-shadow:0 0 0 4px var(--selected)}
.speaking-pilot .sp-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.speaking-pilot .sp-metrics>div{padding:16px;background:var(--soft);border-radius:10px}
.speaking-pilot .sp-metrics strong{display:block;font-size:25px}
.speaking-pilot .sp-metrics span{font-size:.75rem;color:var(--muted)}
.speaking-pilot .sp-words{display:flex;gap:10px;flex-wrap:wrap}
.speaking-pilot .sp-word{padding:10px 14px;border:1px solid var(--border);border-radius:10px}
.speaking-pilot .sp-word strong{display:block}
.speaking-pilot .sp-word small{display:block;color:var(--muted);font-size:.75rem}
.speaking-pilot .sp-word[data-kind=retry]{border:2px dashed var(--selection)}
.speaking-pilot .sp-word[data-kind=good]{background:var(--soft)}
.speaking-pilot #sp-results{border-top:1px solid var(--border);margin-top:28px;padding-top:24px}
.speaking-pilot #sp-results h3{font-size:1.125rem;margin:0 0 8px}
.speaking-pilot #sp-summary{color:var(--muted);font-size:.875rem;margin:0 0 20px}
.speaking-pilot .sp-pilot-note{font-size:.75rem;color:var(--muted);margin:16px 0 0;text-align:center}
@media(max-width:640px){
.speaking-pilot .sp-metrics{gap:8px}
.speaking-pilot .sp-metrics>div{padding:12px 8px}
.speaking-pilot .sp-metrics strong{font-size:20px}
.speaking-pilot .sp-metrics span{font-size:.6875rem;overflow-wrap:anywhere}
.speaking-pilot .activity-bottom{flex-wrap:wrap}
.speaking-pilot .exercise-actions{margin-left:auto}
}

.speaking-pilot #sp-phrase{font:inherit;color:inherit}
.speaking-pilot #sp-phrase[aria-pressed=true]{color:var(--selection)}
.speaking-pilot #sp-phrase:focus-visible{outline:2px solid var(--selection);outline-offset:5px;border-radius:4px}
.speaking-pilot #sp-consent-settings{font-size:.75rem;color:var(--muted)}
.speaking-pilot #sp-consent-settings summary{cursor:pointer;display:inline-block;text-decoration:underline;text-underline-offset:3px}
.speaking-pilot #sp-consent-settings[open]{text-align:left}

.sp-no-audio:disabled{color:inherit;opacity:1;cursor:default}.sp-new-content{margin-top:1.5rem}.sp-map-row .map-circle{border-style:dashed}.speaking-pilot .activity-bottom{flex-wrap:wrap;gap:1rem}.speaking-pilot .exercise-actions{flex-wrap:wrap}.speaking-pilot .sp-pilot-note{padding-bottom:5rem}

.speaking-pilot .sp-pilot-note{padding-bottom:0}
.sp-voice-tools{text-align:center;margin:12px 0 0;padding-bottom:5rem;font-size:.75rem;color:var(--muted)}
.sp-voice-tools p:empty,.sp-voice-dialog p:empty{display:none}
.sp-voice-tools [hidden],.sp-voice-dialog [hidden]{display:none!important}
.sp-voice-dialog{box-sizing:border-box;width:min(540px,calc(100% - 32px));max-height:calc(100dvh - 32px);overflow:auto;padding:28px;border:1px solid var(--border);border-radius:20px;background:var(--surface);color:var(--text);font:inherit;box-shadow:0 20px 65px rgb(0 0 0 / .25)}
.sp-voice-dialog::backdrop{background:rgb(0 0 0 / .48)}
.sp-voice-dialog h2{font-size:1.65rem;margin:0 0 18px}
.sp-voice-dialog p{font-size:.875rem;line-height:1.6}
.sp-voice-dialog .eyebrow{font-size:.7rem;margin:0 0 8px}
.sp-voice-dialog #sp-consent-saved{font-weight:700}
.sp-voice-actions{display:flex;align-items:center;gap:18px;flex-wrap:wrap;margin-top:24px}
.sp-voice-secondary{background:var(--surface);color:var(--text);border:1px solid var(--border)}
.sp-voice-dialog button:focus-visible{outline:2px solid var(--selection);outline-offset:4px}
@media(max-width:640px){.sp-voice-dialog{padding:22px}.sp-voice-actions{gap:14px}.sp-voice-actions .button{width:100%}}

.sp-voice-tools .text-link,.sp-voice-dialog .text-link{font:inherit;background:transparent;border:0;color:var(--text);padding:4px 0;cursor:pointer;text-decoration:underline;text-underline-offset:3px}
.sp-voice-tools .text-link:disabled,.sp-voice-dialog .text-link:disabled{cursor:wait;opacity:.6}
