/* Independent practice controls; no animation or campaign presentation changes. */
#ws-rehearsal { margin: 1rem 0; padding: .8rem; border: 2px solid var(--color-ink, #231a33); border-radius: 12px; overflow-wrap: anywhere; }
#ws-rehearsal h2 { font-size: 1.05rem; margin-bottom: .4rem; }
#ws-rehearsal p { font-size: .82rem; line-height: 1.5; margin: .4rem 0; }
#ws-rehearsal button { min-width: 44px; min-height: 44px; padding: .5rem .65rem; border: 2px solid var(--color-ink, #231a33); border-radius: 8px; background: var(--color-paper-2, #fff8e1); color: var(--color-ink, #231a33); font-family: inherit; font-weight: 700; font-size: .82rem; line-height: 1.35; cursor: pointer; }
#ws-rehearsal button:disabled { opacity: .5; cursor: default; }
#ws-rehearsal input { display: block; width: 100%; min-width: 0; min-height: 44px; padding: .5rem; margin: .4rem 0 .6rem; border: 2px solid var(--color-ink, #231a33); border-radius: 8px; text-transform: uppercase; font: inherit; }
#ws-rehearsal label { font-size: .85rem; font-weight: 700; }
#ws-rehearsal button:focus-visible, #ws-rehearsal input:focus-visible { outline: 3px solid var(--color-focus, #2563eb); outline-offset: 2px; }
#ws-rehearsal [hidden] { display: none !important; }
#ws-rehearsal-panel { margin-top: .7rem; }
#ws-rehearsal-letters { font: 800 1.2rem/1.5 'JetBrains Mono', monospace; }
.ws-rehearsal-actions { display: flex; gap: .5rem; flex-wrap: wrap; margin-top: .5rem; }
#ws-rehearsal-result { min-height: 3em; }
