/* Scoped candidate presentation using the existing Premium Practice tokens. */
.msa-practice { display: grid; gap: 16px; max-width: 850px; margin-inline: auto; min-width: 0; color: var(--pa-ink); }
.msa-practice :is(p,h3,h4) { margin: 0; overflow-wrap: anywhere; }
.msa-practice p { line-height: 1.65; }
.msa-practice .msa-kicker { color: var(--pa-accent); font-weight: 700; }
.msa-practice :is(.msa-boundary,.msa-status,.msa-speaker,.msa-roles) { color: var(--pa-ink-2); }
/* The statement of limits stays visible but quiet; scene-setting is grouped and muted so the cue and editor lead. */
.msa-practice .msa-boundary { font-size: .88rem; line-height: 1.55; }
.msa-practice .msa-context { display: grid; gap: 8px; }
.msa-practice .msa-context :is(.msa-situation,.msa-objective) { font-size: .95rem; }
.msa-practice .msa-roles { font-size: .88rem; }
/* The one thing to answer: prominent, and directly above its editor. */
.msa-practice .msa-cue { font-size: 1.2rem; font-weight: 600; line-height: 1.5; color: var(--pa-ink); }
.msa-practice .msa-partner { display: grid; gap: 4px; }
.msa-practice .msa-speaker-label { font-size: .88rem; font-weight: 600; color: var(--pa-ink-2); }
.msa-practice .msa-partner-line { font-weight: 600; }
.msa-practice .msa-arabic { font-size: 1.45rem; line-height: 1.95; text-align: start; unicode-bidi: isolate; }
.msa-practice[data-response-locale="fr"] .msa-arabic { font-size: 1.12rem; line-height: 1.75; }
/* Arabic embedded in English sentences (marked by HobbyTrackScriptText) and typed Arabic are set at script-appropriate size.
   Doubled class: outranks the app-wide `body.native-app-active bdi:lang(ar)` 1.08em so learning text is not left near body size. */
.msa-practice.msa-practice bdi:lang(ar) { font-size: 1.2em; line-height: 1.8; }
.msa-practice textarea:lang(ar), .msa-practice .msa-response:lang(ar) { font-size: 1.25rem; line-height: 1.8; }
.msa-practice :is(.msa-reading,.msa-comparison,.msa-partner) { background: var(--pa-soft); border: 1px solid var(--pa-rule); border-radius: var(--pa-r-lg); padding: 18px; }
.msa-practice .msa-comparison .msa-partner { background: none; border: 0; padding: 0; }
.msa-practice :is(.msa-comparison,.msa-reading) { display: grid; gap: 12px; }
.msa-practice .msa-response { white-space: pre-wrap; }
.msa-practice .msa-words { display: flex; flex-wrap: wrap; gap: 8px; padding-block: 12px; direction: rtl; }
.msa-practice .msa-help-note { color: var(--pa-ink-2); font-size: .88rem; padding-top: 12px; }
.msa-practice .msa-sr-only { position: absolute; width: 1px; height: 1px; margin: -1px; padding: 0; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0; }
.msa-practice .beta-writing-privacy { font-size: .88rem; color: var(--pa-ink-2); line-height: 1.55; }
.msa-practice :is(button,summary) { min-height: 44px; }
.msa-practice .msa-blocks summary { display: flex; align-items: center; cursor: pointer; }
.msa-practice :is(button,summary,textarea):focus-visible { outline: 3px solid var(--pa-accent); outline-offset: 3px; }
.msa-practice .msa-identity { font-size: .85rem; color: var(--pa-ink-2); }
@media (max-width: 600px) { .msa-practice { gap: 14px; } .msa-practice :is(.msa-reading,.msa-comparison,.msa-partner) { padding: 14px; } .msa-practice .msa-comparison .msa-partner { padding: 0; } }
