/* Scoped SOP workspace: quiet typography, visible controls, no visual score. */
.kw-sop-page{background:#faf9f6;color:#25232a}
.kw-sop-page .kwx-page-hero{display:block;padding-block:22px 26px;border-bottom:1px solid #dedbe0}
.kw-sop-page .kwx-page-hero h1{font-size:clamp(30px,4vw,48px);line-height:1.25;letter-spacing:-.04em}
.kw-sop-page .kwx-page-lead{max-width:52em;font-size:16px;line-height:1.85;margin-block:14px}
.kw-sop-page .kwx-page-actions{display:flex;align-items:center;gap:22px;flex-wrap:wrap;margin-top:18px}
.kw-sop-page .kwx-page-actions .ks-button{background:#39234b;color:#fff;box-shadow:none;border-radius:5px;font-size:15px}
.kw-sop-page .kwx-page-actions>a:not(.ks-button){text-decoration:underline;text-underline-offset:4px;font-size:14px}
.kw-sop-page .kwx-page-facts{display:block;font-size:13px;color:#5b565f;margin:8px 0}
.kw-sop-page #tool-workspace{background:#fff;border:1px solid #dedbe0;box-shadow:none;border-radius:8px;padding:clamp(18px,4vw,38px);margin-top:24px}
.kw-sop-page #kwx-page-tool{font-size:24px;line-height:1.4;margin-bottom:8px}
.kw-sop-page .kwx-page-note{font-size:14px}
.kw-sop-page #tool-workspace .kwx-panel{border-color:#d1cbd5;box-shadow:none;border-radius:5px}
.kw-practice{border:1px solid #d1cbd5;border-left:4px solid #654579;border-radius:6px;margin:24px 0;background:#fff;scroll-margin-top:110px}
.kw-practice>summary{cursor:pointer;font-size:16px;font-weight:700;padding:20px 24px;line-height:1.6}
.kw-practice>summary span{display:block;margin-left:18px;font-weight:400;color:#665c6d;font-size:13px}
.kw-practice[open]>summary{border-bottom:1px solid #dedbe0}
.practice-body{max-width:840px;margin:auto;padding:clamp(20px,4vw,40px)}
.practice-body h2{font-size:clamp(24px,3vw,36px);line-height:1.5;letter-spacing:-.025em;margin:12px 0 18px}
.practice-body h3{font-size:20px;line-height:1.6;margin:0 0 8px}
.practice-body p,.practice-body li{font-size:15px;line-height:1.9;margin-block:10px}
.practice-body .practice-label{font-size:12px;color:#654579;font-weight:700;letter-spacing:.05em}
.practice-body .practice-note{font-size:13px;color:#625d66;line-height:1.8}
.practice-body fieldset{border:0;padding:0;margin:28px 0 0;min-width:0}
.practice-body legend{font-weight:700;font-size:15px;margin-bottom:12px}
.practice-option{display:flex;align-items:center;gap:12px;border:1px solid #cfc9d4;padding:16px;margin-bottom:10px;border-radius:5px;cursor:pointer;font-size:15px;line-height:1.65}
.practice-option:has(input:checked){border-color:#654579;background:#f5f0f8;box-shadow:inset 3px 0 #654579}
.practice-option input{accent-color:#654579;width:20px;height:20px;flex-shrink:0}
.practice-option b{display:inline-block;font-family:monospace;margin-right:8px}
.practice-body section{margin-top:28px;padding-top:26px;border-top:1px solid #dedbe0}
.practice-body ul{padding-left:22px}
#practice-memos label{display:block;font-size:14px;font-weight:700;margin:20px 0 6px}
.practice-body textarea{display:block;width:100%;max-width:100%;min-height:96px;box-sizing:border-box;border:1px solid #bdb5c5;border-radius:4px;padding:12px;font:400 16px/1.7 system-ui,sans-serif;color:#25232a;background:#fff;resize:vertical}
.practice-body small{display:block;color:#625d66;font-size:12px;line-height:1.8;margin-top:5px}
#practice-memos small{text-align:right}
.practice-buttons{display:flex;gap:12px;flex-wrap:wrap;margin:18px 0}
.practice-buttons button{font:600 15px/1.5 system-ui,sans-serif;padding:13px 20px;min-height:48px;cursor:pointer;border:1px solid #654579;border-radius:4px;background:#fff;color:#39234b}
#practice-save{background:#39234b;color:white}
.practice-body :focus-visible,.kw-practice>summary:focus-visible{outline:3px solid #835d9b;outline-offset:4px}
#practice-status{font-size:14px;min-height:1.8em;color:#52405d}
.practice-next{margin-top:28px;padding:24px;background:#f6f3f8;border-radius:5px}
.practice-next h4{font-size:18px;line-height:1.6;margin:0}
.practice-next a{display:inline-block;font-weight:700;color:#4e2d66;text-underline-offset:4px;line-height:1.8;margin-top:12px}
.practice-next .practice-sop-link{display:block;font-size:13px;font-weight:400}
.practice-body [hidden]{display:none!important}
@media(max-width:600px){.kw-practice>summary{padding:16px}.practice-buttons{display:grid}.practice-buttons button{width:100%}.practice-next{padding:18px}.kw-sop-page .kwx-page-hero{padding-top:12px}.kw-sop-page .kwx-page-hero .ks-kicker{font-size:11px}}
