.practice-shell{max-width:850px;margin-inline:auto;padding:var(--space-6,24px) var(--page-gutter,20px);overflow-wrap:anywhere}.practice-shell h1{font-size:clamp(2rem,5vw,3rem);line-height:1.12;margin-block:var(--space-4,16px)}.practice-shell h2{scroll-margin-top:90px;margin-block:var(--space-5,20px);font-size:1.5rem}.practice-setup,.practice-actions{display:flex;flex-wrap:wrap;gap:var(--space-3,12px);align-items:end;margin-block:var(--space-5,20px)}.practice-setup .form-field{flex:1 1 220px;min-width:0}.practice-shell select,.practice-shell input[type=file]{width:100%;max-width:100%;min-height:44px}.practice-shell .btn{min-height:44px;white-space:normal;text-align:center}.practice-shell fieldset{border:0;padding:0;margin-block:var(--space-5,20px);min-width:0}.practice-shell legend{font-size:1.2rem;line-height:1.5;font-weight:650;margin-bottom:var(--space-4,16px)}.practice-option{display:flex;align-items:center;gap:var(--space-3,12px);border:1px solid var(--border-color,#cbd5e1);border-radius:var(--radius-md,8px);padding:var(--space-4,16px);margin-block:var(--space-2,8px);min-height:48px;cursor:pointer}.practice-option:has(:checked){border-color:var(--color-primary,#2563eb);box-shadow:inset 0 0 0 1px var(--color-primary,#2563eb)}.practice-option input{flex:none;width:18px;height:18px;accent-color:var(--color-primary,#2563eb)}.practice-passage{border-left:3px solid var(--border-color,#cbd5e1);padding-left:var(--space-5,20px);margin-block:var(--space-5,20px)}.practice-passage p{line-height:1.8;max-width:70ch}.practice-explanation{border-block:1px solid var(--border-color,#cbd5e1);margin-block:var(--space-4,16px);padding-block:var(--space-3,12px)}.practice-explanation summary{display:list-item!important;cursor:pointer;min-height:44px;padding-block:var(--space-2,8px);font-weight:650}.practice-explanation li{margin-block:var(--space-2,8px);line-height:1.6}.practice-feedback,.practice-score{font-weight:650}#practice-status{min-height:1.6em;font-weight:600;margin-block:var(--space-4,16px)}.practice-shell :focus-visible{outline:3px solid var(--color-primary,#2563eb);outline-offset:3px}.practice-scope{border-top:1px solid var(--border-color,#cbd5e1);margin-top:var(--space-7,32px);padding-top:var(--space-5,20px)}@media(max-width:420px){.practice-actions .btn{width:100%}.practice-shell{padding-inline:16px}.practice-option{padding:12px}}