/* Practical skill practice is separate from written and choice-based cases. */
.practical-skill,.skill-author{min-width:0;max-width:100%;color:#2b4257;overflow-wrap:anywhere}
.practical-skill{margin:0;padding:0}
.skill-intro{display:block;margin:0 0 20px;padding:0;background:transparent;color:inherit}
.skill-intro h3{margin:0 0 10px;font-size:1.25rem;line-height:1.45;color:#2b4257}
.skill-intro p{max-width:70ch;margin:8px 0;font-size:.94rem;line-height:1.8;color:#536b7f;white-space:pre-wrap}
.skill-progress{min-width:0;margin:18px 0;color:#405a70;font-size:.9rem;line-height:1.6}
.skill-progress progress{display:block;width:100%;height:9px;margin-top:10px;border:0;border-radius:9px;overflow:hidden;accent-color:#97162b;background:#e8eef3}
.skill-progress progress::-webkit-progress-bar{background:#e8eef3;border-radius:9px}
.skill-progress progress::-webkit-progress-value{background:#97162b;border-radius:9px}
.skill-progress progress::-moz-progress-bar{background:#97162b;border-radius:9px}
.skill-current{min-width:0;scroll-margin-top:90px;scroll-margin-bottom:160px}
.skill-current h4{margin:0 0 14px;font-size:1.12rem;line-height:1.55;color:#2b4257}
.skill-cue{padding:13px 15px;margin:14px 0;border:1px solid #d9e4ed;border-radius:9px;background:#f3f7fa;color:#405d73;font-size:.95rem;line-height:1.8;white-space:pre-wrap}
.skill-options{display:grid;gap:10px;min-width:0;margin:16px 0;padding:0;border:0}
.skill-options>legend{max-width:100%;padding:0 0 12px;color:#6d283c;font-weight:650;font-size:1rem;line-height:1.7;white-space:pre-wrap;overflow-wrap:anywhere}
.skill-option{display:flex;align-items:flex-start;gap:11px;min-width:0;min-height:54px;margin:0;padding:14px;border:1px solid #cbd8e3;border-radius:9px;background:#fff;color:#344e64;text-align:left;font-size:1rem;font-weight:500;line-height:1.7;white-space:normal;overflow-wrap:anywhere;cursor:pointer}
.skill-option input[type=radio]{flex-shrink:0;width:19px;height:19px;min-height:19px;margin:4px 0 0;accent-color:#97162b}
.skill-option>span:last-child{min-width:0;flex:1;white-space:pre-wrap;overflow-wrap:anywhere}
.skill-option.is-selected,.skill-option:has(input:checked){border-color:#a94d65;background:#fff2f6;box-shadow:inset 0 0 0 1px #a94d65}
.practical-skill .skill-option.is-correct{border-color:#9dc8ae;background:#f0f8f3;box-shadow:inset 0 0 0 1px #9dc8ae}
.practical-skill .skill-option.is-wrong{border-color:#d9b56d;background:#fff7e7;box-shadow:inset 0 0 0 1px #d9b56d}
.skill-options:disabled .skill-option,.skill-option:has(input:disabled){opacity:1;cursor:default}
.skill-feedback{margin:16px 0;padding:15px 16px;border:1px solid #d4dfe9;border-radius:9px;background:#f4f7fa;color:#36536b;line-height:1.8;white-space:pre-wrap;overflow-wrap:anywhere;scroll-margin-top:90px;scroll-margin-bottom:160px}
.skill-feedback>strong{display:block;margin-bottom:6px;font-size:1rem}
.skill-feedback p{margin:6px 0;font-size:1rem;line-height:1.8}
.skill-feedback.is-correct{border-color:#b9dbc7;background:#eef8f1;color:#2f6247}
.skill-feedback.is-wrong{border-color:#e1c68c;background:#fff6e4;color:#76551f}
.skill-technique{margin:16px 0;padding:16px;border:1px solid #ccded7;border-radius:9px;background:#f3f8f6;min-width:0;line-height:1.8;overflow-wrap:anywhere;scroll-margin-top:90px;scroll-margin-bottom:160px}
.skill-technique h4,.skill-technique h5{margin:0 0 10px;font-size:1rem;line-height:1.6;color:#315b48}
.skill-technique p{margin:8px 0;font-size:1rem;white-space:pre-wrap}
.skill-technique dl{display:grid;grid-template-columns:minmax(100px,.3fr) minmax(0,1fr);gap:8px 14px;margin:12px 0 0}
.skill-technique dt{font-weight:650;color:#3b5e50}
.skill-technique dd{min-width:0;margin:0;white-space:pre-wrap;overflow-wrap:anywhere}
.skill-note{padding:10px 12px;border-left:3px solid #c79d4b;background:#fffbf1;color:#6e572d;line-height:1.8;white-space:pre-wrap;overflow-wrap:anywhere}
.skill-critical{padding:12px 14px;margin:14px 0;border:1px solid #ddc28d;border-radius:8px;background:#fff7e8;color:#725322;font-size:.95rem;line-height:1.8;white-space:pre-wrap;overflow-wrap:anywhere}
.skill-critical label,.skill-confirmation{display:flex;align-items:flex-start;gap:10px;min-height:44px;padding:8px 0;font-size:.95rem;line-height:1.7}
.skill-critical input[type=checkbox],.skill-confirmation input[type=checkbox]{flex-shrink:0;width:20px;height:20px;min-height:20px;margin:3px 0 0;accent-color:#97162b}
.skill-actions{position:sticky;bottom:0;z-index:4;display:flex;flex-wrap:wrap;gap:10px;margin:20px 0 12px;padding:12px 0 calc(12px + env(safe-area-inset-bottom,0px));border-top:1px solid #dce4ed;background:#fff;box-shadow:0 -7px 12px -12px #243b53}
.skill-actions button{flex:1 1 0;min-width:0;min-height:46px;padding:11px 14px;font-size:.94rem;line-height:1.5;white-space:normal;overflow-wrap:anywhere}
.skill-actions button:disabled{opacity:.5;cursor:default}
.practical-skill .skill-actions button[data-skill-action]{background:#97162b;color:#fff}
.practical-skill .skill-actions button[data-skill-action=retry]{background:#eef2f6;color:#40586c}
.skill-timeline{min-width:0;margin:18px 0;border:1px solid #d7e2eb;border-radius:9px;background:#fff;overflow-wrap:anywhere}
.skill-timeline>summary{min-height:46px;padding:12px 14px;color:#3d586e;font-size:.95rem;font-weight:600;line-height:1.7;cursor:pointer}
.skill-timeline ol,.skill-timeline ul{padding:0 16px 0 37px;margin:0 0 15px}
.skill-timeline li{padding:13px 0;border-top:1px solid #e2e9ef;line-height:1.8}
.skill-timeline p{white-space:pre-wrap}
.skill-timeline-step{padding:14px;border-top:1px solid #e2e9ef;min-width:0;line-height:1.8}
.skill-timeline details>summary,.skill-teacher-steps summary{min-height:44px;padding:11px 0;font-size:.93rem;line-height:1.65;cursor:pointer}
.skill-teacher-steps{padding-left:24px;line-height:1.8}
.skill-teacher-steps li{padding:8px 0;border-bottom:1px solid #e2e9ef}
.skill-summary{min-width:0;margin:18px 0;padding:16px;border:1px solid #d6e2e9;border-radius:9px;background:#f7fafb;line-height:1.8;overflow-wrap:anywhere}
.skill-summary h4{margin:0 0 12px;color:#314d63;font-size:1.1rem;line-height:1.5}
.skill-summary p{margin:8px 0;white-space:pre-wrap}
.skill-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;margin:14px 0}
.skill-stats>div{min-width:0;padding:12px;border:1px solid #dae4ec;border-radius:8px;background:#fff}
.skill-stats strong,.skill-stats b{display:block;font-size:1.3rem;line-height:1.4;color:#7c2c43;font-variant-numeric:tabular-nums}
.skill-stats small{display:block;margin-top:5px;font-size:.76rem;line-height:1.6;color:#5c7387}
.skill-draft-conflict{padding:13px 14px;margin:15px 0;border:1px solid #ddc18a;border-radius:9px;background:#fff7e7;color:#75551f;font-size:.88rem;line-height:1.8}
.skill-draft-conflict button{min-height:44px;max-width:100%;margin:5px 5px 0 0;font-size:.85rem;line-height:1.5;white-space:normal;overflow-wrap:anywhere}

/* Only one author card is visible; all named controls remain in the same form. */
.skill-author{margin-top:18px}
.skill-author-common{display:grid;gap:12px;min-width:0}
.skill-author-common label,.skill-author-card label{min-width:0;font-size:.9rem;line-height:1.65}
.skill-author-common :is(input,textarea,select),.skill-author-card :is(input,textarea,select){min-width:0;max-width:100%;font-size:16px}
.skill-author-common input,.skill-author-common select,.skill-author-card input,.skill-author-card select{min-height:44px}
.skill-author-common textarea,.skill-author-card textarea{min-height:90px;line-height:1.75}
.skill-author-picker{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:8px;margin:16px 0;min-width:0}
.skill-author-picker button{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:4px;min-width:0;min-height:58px;padding:9px;border:1px solid #cbd8e3;border-radius:8px;background:#f3f7fa;color:#405b70;text-align:left;font-size:.82rem;line-height:1.45;white-space:normal;overflow-wrap:anywhere}
.skill-author-picker button.is-ready{border-color:#b4d2c0;background:#f1f8f4;color:#315e47}
.skill-author-picker button.is-incomplete [data-skill-editor-ready]{color:#7d5b29}
.skill-author-picker button.is-active,.skill-author-picker button[aria-current=step]{border-color:#9b3850;background:#fff2f6;color:#7e2038;box-shadow:inset 0 0 0 1px #9b3850}
.skill-author-picker [data-skill-editor-ready]{font-size:.7rem;line-height:1.45;font-weight:500}
.skill-author-picker-title{display:-webkit-box;max-width:100%;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:2;line-height:1.45}
.skill-author-card{min-width:0;margin:16px 0;padding:16px;border:1px solid #d5e1ea;border-radius:9px;background:#fff;scroll-margin-top:90px;scroll-margin-bottom:180px}
.skill-author-card-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;margin-bottom:14px;padding:0;border:0;background:transparent;min-width:0;color:#334e64;font-size:1.1rem;line-height:1.55}
.skill-author-card-heading :is(h3,h4){min-width:0;margin:0;font-size:1.1rem;line-height:1.55;overflow-wrap:anywhere}
[data-skill-editor-label]{display:block;color:#6a4050;font-size:.85rem;line-height:1.6}
.skill-author-checklist{padding:12px 14px;margin:12px 0;border:1px solid #d9e4ed;border-radius:8px;background:#f3f7fa;color:#405c72;font-size:.87rem;line-height:1.8;overflow-wrap:anywhere}
.skill-author-checklist ul{margin:7px 0 0;padding-left:20px}
.skill-author-budget{font-size:.8rem;line-height:1.7;color:#5c7387;font-variant-numeric:tabular-nums}
.skill-author-budget.is-over,.skill-author-budget.clinical-context-over{color:#9b2e46;font-weight:650}
.skill-author-critical{display:flex;align-items:flex-start;gap:10px;min-height:44px;padding:8px 0;line-height:1.7}
.skill-author-critical input[type=checkbox]{flex-shrink:0;width:20px;height:20px;min-height:20px;margin:3px 0 0;accent-color:#97162b}
.skill-author-error{padding:12px 14px;margin:14px 0;border:1px solid #dfb5bf;border-radius:8px;background:#fff1f4;color:#8a2940;font-size:.9rem;line-height:1.8;overflow-wrap:anywhere}
.skill-author-step-tools{display:flex;flex-wrap:wrap;gap:8px;margin:14px 0;padding:12px;border:1px solid #dce5ed;border-radius:8px;background:#f5f8fa}
.skill-author-step-tools button{min-width:0;min-height:44px;padding:9px 12px;font-size:.86rem;line-height:1.5;white-space:normal;overflow-wrap:anywhere}
.skill-author-actions{position:sticky;bottom:0;z-index:5;display:flex;flex-wrap:wrap;gap:8px;margin:18px 0 0;padding:12px 0 calc(12px + env(safe-area-inset-bottom,0px));border-top:1px solid #dce4ed;background:#fff;box-shadow:0 -7px 12px -12px #243b53}
.skill-author-actions button{min-width:0;min-height:44px;padding:10px 12px;font-size:.86rem;line-height:1.5;white-space:normal;overflow-wrap:anywhere}
.skill-author-actions button:disabled{opacity:.5}
.skill-author[hidden],.practical-skill[hidden],.skill-author [hidden],.practical-skill [hidden]{display:none!important}
:is(.skill-author,.practical-skill) :is(button,input,textarea,select,summary,a):focus-visible{outline:3px solid #17647e;outline-offset:3px;box-shadow:0 0 0 2px #fff}
:is(.skill-feedback,.skill-technique,.skill-author-error):focus-visible{outline:3px solid #17647e;outline-offset:3px}
.skill-option:has(input:focus-visible){outline:3px solid #17647e;outline-offset:3px}
:is(.skill-author,.practical-skill) :is(input,textarea,select,button){scroll-margin-top:90px;scroll-margin-bottom:180px}

@media(max-width:760px){
 .skill-intro h3{font-size:1.16rem}
 .skill-intro p{font-size:.92rem}
 .skill-author-picker{grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}
 .skill-author-picker button{min-height:58px;padding:8px;font-size:.79rem}
 .skill-author-card{padding:13px}
 .skill-author-card-heading{flex-wrap:wrap}
 .skill-author-actions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}
 .skill-author-actions button{padding:8px 6px;font-size:.78rem}
 .skill-author-step-tools button{flex:1 1 calc(50% - 4px)}
 /* The app's fixed mobile navigation is 78px high. */
 .skill-author-actions,.skill-actions{bottom:78px}
 .skill-option{padding:12px;font-size:16px;line-height:1.75}
 .skill-feedback,.skill-technique{padding:13px}
 .skill-technique dl{grid-template-columns:minmax(0,1fr);gap:3px}
 .skill-technique dd{margin-bottom:10px}
 .skill-actions button{font-size:.9rem;min-height:46px}
 .skill-stats{gap:7px}
 .skill-stats>div{padding:10px 8px}
 .skill-stats strong,.skill-stats b{font-size:1.15rem}
 .skill-stats small{font-size:.72rem}
 .skill-author :is(input,textarea,select),.practical-skill :is(input,textarea,select){font-size:16px}
 .skill-author-card,.skill-current,.skill-feedback,.skill-technique,:is(.skill-author,.practical-skill) :is(input,textarea,select,button){scroll-margin-bottom:calc(250px + env(safe-area-inset-bottom,0px))}
}
.clinical-preview-dialog .skill-actions{bottom:0}
.clinical-preview-dialog .practical-skill{margin:0}
.clinical-preview-dialog :is(.skill-current,.skill-feedback,.skill-technique,input,textarea,select,button){scroll-margin-top:155px;scroll-margin-bottom:calc(160px + env(safe-area-inset-bottom,0px))}
@media(prefers-reduced-motion:reduce){
 :is(.skill-author,.practical-skill),:is(.skill-author,.practical-skill) *{animation:none!important;transition:none!important;scroll-behavior:auto!important}
}
@media(forced-colors:active){.skill-option:has(input:checked),.skill-author-picker button.is-active{outline:2px solid Highlight;outline-offset:2px}}
@media print{
 .skill-actions,.skill-author-actions,.skill-author-step-tools,.skill-author-picker,.skill-author-checklist,.skill-author-budget,.skill-author-error,.skill-draft-conflict{display:none!important}
 /* Pooled/removed cards have disabled controls and must stay hidden. */
 .skill-author-card:has([data-practical-skill-input]:enabled){display:block!important;break-inside:avoid;margin:12px 0}
 .skill-author,.practical-skill,.skill-author-card,.skill-cue,.skill-option,.skill-feedback,.skill-technique,.skill-critical,.skill-summary,.skill-stats>div{background:#fff;color:#111;box-shadow:none;border-color:#888}
 .skill-feedback,.skill-technique,.skill-timeline li,.skill-summary{break-inside:avoid}
 .skill-timeline::details-content{content-visibility:visible}
 .skill-timeline>:not(summary){display:block!important}
 .skill-timeline details::details-content,.skill-teacher-steps details::details-content{content-visibility:visible}
 .skill-timeline details>:not(summary),.skill-teacher-steps details>:not(summary){display:block!important}
}
