.zsa-practice {--zsa-max-width:1000px;}
.zsa-practice h2 {font-size:clamp(1.35rem,1.15rem + .8vw,1.8rem); line-height:1.4;}
.zsa-practice h3 {font-size:1.2rem;}
.zsa-practice .zsa-card {padding:clamp(16px,3vw,28px);}
.zsa-practice .zsa-card>h2 {margin-top:0;}
.zsa-practice .zsa-practice-small {font-size:15px; line-height:1.6;}
.zsa-practice .zsa-practice-settings {display:flex; flex-wrap:wrap; gap:16px; align-items:end;}
.zsa-practice .zsa-practice-settings>div {flex:1 1 300px; min-width:0;}
.zsa-practice label {display:block; margin-bottom:6px; font-weight:500;}
.zsa-practice select,.zsa-practice input[type="text"] {width:100%; min-width:0; min-height:48px; border:1px solid var(--zsa-border-strong); border-radius:8px; padding:10px; color:var(--zsa-navy); background:white;}
.zsa-practice select {font-size:16px; text-overflow:ellipsis;}
.zsa-practice .zsa-practice-status {display:flex; flex-wrap:wrap; justify-content:space-between; gap:0 16px; font-size:15px;}
.zsa-practice progress {width:100%; height:10px; accent-color:var(--zsa-blue);}
.zsa-practice fieldset {border:0; margin:0; padding:0; min-width:0;}
.zsa-practice legend {padding:0; margin:0 0 12px;}
.zsa-practice .zsa-practice-options {display:grid; gap:10px;}
.zsa-practice .zsa-practice-option {display:flex; gap:12px; align-items:center; padding:14px; margin:0; min-height:52px; border:1px solid var(--zsa-border-strong); border-radius:8px; cursor:pointer; font-weight:400;}
.zsa-practice .zsa-practice-option:has(input:checked) {border-color:var(--zsa-blue); background:var(--zsa-sky);}
.zsa-practice .zsa-practice-option:has(input:disabled) {cursor:default;}
.zsa-practice .zsa-practice-option input {flex:0 0 20px; width:20px; height:20px; accent-color:var(--zsa-blue); margin:0;}
.zsa-practice .zsa-practice-option.is-correct {border:2px solid var(--zsa-success); background:var(--zsa-success-bg);}
.zsa-practice .zsa-practice-option.is-wrong {border:2px solid var(--zsa-error); background:var(--zsa-error-bg);}
.zsa-practice .zsa-practice-entry {display:grid; grid-template-columns:minmax(0,2fr) minmax(0,1fr); gap:16px;}
.zsa-practice .zsa-practice-entry:has(>[hidden]) {grid-template-columns:minmax(0,1fr);}
.zsa-practice .zsa-practice-error {color:var(--zsa-error); font-size:16px;}
.zsa-practice .zsa-practice-feedback {margin:20px 0;}
.zsa-practice .zsa-practice-feedback p:first-child {margin-top:0; font-weight:600;}
.zsa-practice .zsa-practice-feedback p:last-child {margin-bottom:0;}
.zsa-practice .zsa-practice-feedback.is-correct {border-color:var(--zsa-success); background:var(--zsa-success-bg);}
.zsa-practice .zsa-practice-feedback.is-wrong {border-color:var(--zsa-error); background:var(--zsa-error-bg);}
.zsa-practice .zsa-practice-total {color:var(--zsa-navy); font-size:1.5rem; font-weight:600;}
.zsa-practice .zsa-practice-breakdown {padding-left:22px;}
.zsa-practice .zsa-practice-breakdown li {margin:10px 0;}
.zsa-practice .zsa-practice-actions {display:flex; flex-wrap:wrap; gap:12px; margin:24px 0;}
.zsa-practice .zsa-practice-review-item {margin:16px 0; padding:16px 0; border-top:1px solid var(--zsa-border);}
.zsa-practice .zsa-practice-review-item summary {cursor:pointer; color:var(--zsa-navy);}
.zsa-practice .zsa-practice-reference {margin-top:24px; font-size:16px;}
.zsa-practice summary {min-height:44px; padding:8px 0; cursor:pointer;}
.zsa-practice [class$="-masses"] {display:grid; grid-template-columns:repeat(auto-fit,minmax(100px,1fr)); gap:8px;}
.zsa-practice [class$="-masses"]>div {display:flex; gap:8px;}
.zsa-practice dd {margin:0; font-variant-numeric:tabular-nums;}
.zsa-practice sub,.zsa-practice sup {font-size:.75em; line-height:0;}
@media(max-width:480px) {
  .zsa-practice .zsa-practice-settings>.zsa-btn {width:100%;}
  .zsa-practice .zsa-practice-entry {grid-template-columns:minmax(0,1fr);}
  .zsa-practice .zsa-practice-status p {margin-bottom:8px;}
  .zsa-practice .zsa-footer {gap:8px;}
}
