/* WP3.3: preserve all d-none/disabled states and existing shared shell. */
.ls-challenge { max-width:1080px; padding-bottom:max(2rem,env(safe-area-inset-bottom)) !important; color:#18324b; }
html[dir='rtl'] .ls-challenge { direction:rtl; text-align:right; }
html[dir='ltr'] .ls-challenge { direction:ltr; text-align:left; }
.ls-challenge :is(h1,h4,h5,h6,p,#ccPromptStatus,#ccRecStatus,#ccStartError,#ccFinalizeError,.cc-coach-row) { text-align:start !important; }
.ls-challenge #ccTurnPips { display:flex; flex-direction:row; gap:.35rem; }
.ls-challenge .cc-turn-pip { margin:0; }
.ls-challenge .cc-dim-bar { display:flex; flex-direction:row; direction:inherit; }
.ls-challenge .cc-dim-fill { margin-inline:0; }
.ls-challenge :is(.fas,.fa,.far).me-1 { margin-right:0 !important; margin-left:0 !important; margin-inline-end:.25rem !important; }
.ls-challenge :is(.fas,.fa,.far).me-2 { margin-right:0 !important; margin-left:0 !important; margin-inline-end:.5rem !important; }
.ls-challenge .cc-rec-btn .fas { margin:0 !important; }
.ls-challenge .cc-stage { border-color:#d7e1eb; box-shadow:none; padding:clamp(1rem,3vw,1.5rem); }
.ls-challenge .btn { min-height:44px; touch-action:manipulation; white-space:normal; }
.ls-challenge :is(a,button,summary):focus-visible { outline:3px solid #1475c9; outline-offset:3px; }
.ls-challenge .cc-rec-btn { width:auto; min-width:156px; height:60px; border-radius:12px; gap:.65rem; font-size:1.1rem; padding:.7rem 1.25rem; }
.ls-challenge .cc-rec-btn:disabled { color:#fff; background:#64748b; }
.ls-challenge .cc-rec-btn.recording { background:#a4232c; }
.ls-challenge .cc-accent-badge, .ls-challenge .cc-step-pill, .ls-challenge .cc-attempt-pill { font-size:.85rem; line-height:1.5; white-space:normal; }
.ls-challenge #ccRecStatus { min-height:3rem; padding:.75rem; background:#edf3f9; color:#18324b !important; border-radius:8px; }
.ls-challenge #ccNextBtn { min-width:150px; }
.ls-challenge #ccScenarioTitle { overflow-wrap:anywhere; scroll-margin-top:6rem; }
.ls-challenge .cc-overlay { padding:1rem; min-height:100dvh; overflow:auto; }
.ls-challenge .cc-overlay-card { width:100%; max-height:calc(100dvh - 2rem); overflow:auto; }
.ls-challenge .cc-turn-card { padding:1rem; }
.ls-challenge .cc-better, .ls-challenge .cc-transcript { text-align:left; overflow-wrap:anywhere; }
.ls-challenge .cc-timer, .ls-challenge .display-3 { direction:ltr; unicode-bidi:isolate; font-variant-numeric:tabular-nums; }
.ls-challenge .list-group-item { flex-wrap:wrap; gap:.75rem; }
.ls-challenge .badge { white-space:normal; }
.ls-challenge #mic-stream-badge { position:static !important; transform:none !important; width:fit-content; margin:.75rem auto 0; }
@media(max-width:767.98px) { .ls-challenge #ccScenarioWrap .col-md-7, .ls-challenge #ccScenarioWrap .col-md-5 { width:100%; } .ls-challenge #ccNextBtn, .ls-challenge #ccRetryBtn { margin:.3rem 0 !important; width:100%; } .ls-challenge .alert.d-flex { flex-wrap:wrap; } }
@media(prefers-reduced-motion:reduce) { .ls-challenge *, .ls-challenge *::before, .ls-challenge *::after { animation:none !important; transition:none !important; scroll-behavior:auto !important; } }
