/* Book lessons use the same deliberate, visual pacing as the contest units. */
body[data-course-studio]{--studio-ink:#142f43;--studio-blue:#2365b5;--studio-teal:#117f7c;--studio-amber:#b86b18;--studio-line:#d9e5eb;background:#f3f6f8;color:var(--studio-ink);font-family:system-ui,-apple-system,"Segoe UI",sans-serif;font-size:17px;line-height:1.7}
body[data-course-studio] h1,body[data-course-studio] h2,body[data-course-studio] h3{letter-spacing:-.025em}
body[data-course-studio] header{padding-top:30px;padding-bottom:20px}
body[data-course-studio] .lead{font-size:18px;max-width:820px}
body[data-course-studio] .panel{border-color:var(--studio-line);box-shadow:0 3px 15px #17395006}
body[data-course-studio] aside{border-color:var(--studio-line);box-shadow:0 3px 15px #17395006}
body[data-course-studio] #chapters button{line-height:1.45;padding:10px;border-radius:9px}
body[data-course-studio] #content select{max-width:100%;min-width:0;box-sizing:border-box}
body[data-course-studio] .learning-stages{gap:8px!important;display:flex;flex-wrap:wrap;padding:0;list-style:none}
body[data-course-studio] .learning-stages li{border:1px solid var(--studio-line);border-radius:10px;padding:8px 13px;background:white;cursor:pointer;font-size:14px}
body[data-course-studio] .learning-stages li[aria-current]{background:#e6f4f3;border-color:#80beb8;color:#0f6664;font-weight:700}
.studio-kicker{font-size:12px!important;text-transform:uppercase;letter-spacing:.12em;font-weight:750;color:var(--studio-teal);margin:0 0 7px}
.studio-intro{padding:19px;border:1px solid #cce1e3;border-left:5px solid var(--studio-teal);border-radius:12px;background:#f2fafa;margin:20px 0}
.studio-intro h3{margin:0 0 10px;font-size:23px}
.studio-intro p{margin:8px 0}
.studio-intro summary,.studio-lab summary{cursor:pointer;font-weight:650;padding:9px 0;color:#205d91}
.studio-prediction{width:100%;box-sizing:border-box;min-height:82px;resize:vertical;border:1px solid #acc9cf;border-radius:8px;padding:11px;font:inherit;margin:6px 0;background:#fff;color:inherit}
.studio-saved{min-height:1.5em;font-size:13px;color:#426577}
.studio-lab{margin:18px 0;border:1px solid var(--studio-line);border-radius:12px;padding:7px 15px;background:#f8fbfd;min-width:0}
.studio-lab .visual{margin:10px 0;border:0;padding:0;background:transparent}
.studio-story{margin:22px 0;border:1px solid #b8d2e1;background:#fff;border-radius:15px;overflow:visible;min-width:0}
.studio-story-head{padding:18px 20px 10px;background:#f0f6fb;border-radius:15px 15px 0 0}
.studio-story-head h3{margin:0;font-size:24px}
.studio-story-head .source{margin:4px 0;font-size:13px}
.studio-scene{padding:10px 8px 0;min-width:0}
.studio-scene svg{display:block;width:100%;height:auto;max-width:100%;overflow:visible}
.studio-scene text{font-family:system-ui,-apple-system,"Segoe UI",sans-serif}
.studio-enter{animation:studio-appear .45s ease-out both}
.studio-enter path,.studio-enter line{stroke-dasharray:1800;stroke-dashoffset:0;animation:studio-draw .85s ease-out both}
.studio-caption{padding:0 20px 14px;border-top:1px solid #edf2f6;min-width:0}
.studio-caption h4{margin:13px 0 5px;color:#174e7a;font-size:19px}
.studio-caption p{margin:5px 0;overflow-wrap:anywhere}
.studio-story-controls{display:flex;flex-wrap:wrap;align-items:center;gap:8px;padding:12px 20px;border-top:1px solid var(--studio-line)}
.studio-story-controls button{font-size:14px;padding:8px 12px}
.studio-counter{font-size:13px;color:#526e7e;margin-left:auto}
.studio-dots{display:flex;flex-wrap:wrap;gap:5px;padding:0 20px 16px}
.studio-dots button{min-width:30px;padding:3px 7px;font-size:12px;border-radius:7px}
.studio-dots button[aria-current]{background:#e6f4f3;color:#0b6764;border-color:#4a9c96;font-weight:700}
.studio-dots button[data-seen="true"]{border-color:#a8c9c6}
.studio-example-player{border:1px solid #c7dce7;border-radius:11px;background:#f4f9fd;padding:14px;margin:14px 0}
.studio-example-player .actions{margin:8px 0}
.studio-example-player progress{height:6px;accent-color:var(--studio-teal)}
.studio-example-player p{margin:5px 0;font-size:14px}
.studio-example-player button{font-size:14px}
body[data-course-studio] .worked-steps{list-style:none;counter-reset:studio-step;padding-left:0}
body[data-course-studio] .worked-steps>li{counter-increment:studio-step;padding:16px 18px 16px 48px;border:1px solid #d4e3ec;border-left:4px solid #4c92bf;border-radius:9px;margin:14px 0;position:relative;background:#fbfdff}
body[data-course-studio] .worked-steps>li::before{content:counter(studio-step);position:absolute;left:12px;top:17px;width:25px;height:25px;border-radius:50%;background:#e1eff8;color:#205f8d;text-align:center;font-size:13px;font-weight:700;line-height:25px}
.studio-session{display:flex;gap:10px;flex-wrap:wrap;margin:15px 0}
.studio-session span{border-radius:8px;background:#eef6f8;padding:8px 12px;color:#235369;font-size:14px}
.studio-practice-support{border:1px solid #cddfe6;border-radius:12px;padding:15px;background:#f7fbfc;margin:18px 0;min-width:0}
.studio-practice-support h3{margin:0 0 8px;font-size:20px}
.studio-practice-phases{display:flex;gap:7px;flex-wrap:wrap;font-size:12px;margin-bottom:14px}
.studio-practice-phases span{border:1px solid #d3e3e8;padding:4px 8px;border-radius:7px;background:white}
.studio-practice-phases span[data-active="true"]{background:#e2f2ed;border-color:#77b29d;color:#1d6651;font-weight:700}
.studio-hint{border-left:3px solid #cf9545;padding:10px 14px;background:#fff8ea;margin-top:12px}
.studio-hint .prose p{margin:5px 0}
.studio-hint-note{font-size:13px;color:#6c552c;margin:6px 0}
.studio-reflection{border:1px solid #cbe0d3;border-radius:10px;padding:15px;background:#f1f8f3;margin:18px 0}
.studio-reflection h4{margin:0 0 7px}
.studio-return{display:flex;gap:10px;align-items:center;flex-wrap:wrap;background:#edf5fb;border:1px solid #c5daec;border-radius:10px;padding:12px 15px;margin:15px 0}
.studio-return p{margin:0;flex:1 1 180px;font-size:14px}
.studio-return button{font-size:14px}
@keyframes studio-appear{from{opacity:.2;transform:translateY(4px)}to{opacity:1;transform:none}}
@keyframes studio-draw{from{stroke-dashoffset:1800}to{stroke-dashoffset:0}}
@media(max-width:600px){body[data-course-studio]{font-size:17px}body[data-course-studio] h1{font-size:34px}.studio-intro{padding:14px}.studio-story-head{padding:15px 14px 8px}.studio-caption{padding:0 14px 12px}.studio-story-controls{padding:10px 14px}.studio-counter{margin-left:0;flex-basis:100%}.studio-dots{padding:0 14px 14px}.studio-practice-support{padding:12px}.studio-story-head h3{font-size:21px}.studio-scene{padding:7px 1px 0}body[data-course-studio] .worked-steps>li{padding:14px 12px 14px 41px}}
@media(prefers-reduced-motion:reduce){.studio-enter,.studio-enter path,.studio-enter line{animation:none!important;transform:none!important}}
.studio-knowledge{margin:22px 0;padding:20px;border:1px solid #bed8d4;border-radius:14px;background:#f6fbf9;min-width:0}
.studio-knowledge h3{font-size:24px;margin:0 0 8px}.studio-knowledge-guide{font-size:15px;margin:7px 0 18px;color:#385864}
.studio-knowledge strong{font-weight:750;color:#124b68}.studio-knowledge u{text-decoration-color:#9a611c;text-decoration-thickness:.1em;text-underline-offset:.19em}.studio-knowledge em{font-style:italic;color:#255c53}
.studio-knowledge .katex .base>.mrel{display:inline-block;white-space:nowrap!important}
.studio-knowledge-card{background:#fff;border:1px solid #d1e2df;border-radius:10px;margin:12px 0;min-width:0}
.studio-knowledge-card>summary{font-size:18px;font-weight:700;padding:13px 15px;cursor:pointer;overflow-wrap:anywhere;color:#174f68}
.studio-knowledge-card[open]>summary{border-bottom:1px solid #e2ece9;background:#f0f8f5;border-radius:10px 10px 0 0}
.studio-knowledge-body{padding:4px 17px 16px;min-width:0}.studio-knowledge-body p{margin:10px 0;overflow-wrap:anywhere}.studio-knowledge-body h5{font-size:14px;letter-spacing:.02em;color:#385f70;margin:20px 0 3px}
.studio-knowledge-rule{border-left:3px solid #298f84;padding:4px 0 4px 13px}.studio-knowledge-trap{background:#fff8ec;border-left:3px solid #bf8a3c;padding:1px 13px 5px;margin:15px 0}.studio-knowledge-trap h5{margin-top:10px}
.studio-knowledge-check{background:#f3f7fb;border-radius:8px;padding:1px 13px 12px}.studio-knowledge-check h5{margin-top:10px}.studio-knowledge-check summary{cursor:pointer;font-weight:650;color:#235f8f;padding:8px 0}
.studio-knowledge-library{margin-top:18px;padding-top:12px;border-top:1px solid #d4e3df}.studio-knowledge-library>summary{cursor:pointer;font-weight:700;color:#205f61;padding:8px 0}
.studio-knowledge-search{display:block;box-sizing:border-box;width:100%;min-width:0;border:1px solid #9abdbb;border-radius:8px;padding:10px 12px;font:inherit;background:white;color:inherit;margin:6px 0}
.studio-knowledge-focus{padding:3px 14px 10px;background:#fff;border-left:3px solid #298f84;border-radius:0 8px 8px 0;margin:14px 0;min-width:0}.studio-knowledge-focus h4{font-size:15px;color:#28665c;margin:12px 0 5px}.studio-knowledge-focus p{margin:8px 0;overflow-wrap:anywhere}
.studio-knowledge-result-count{font-size:14px;color:#47686c}.studio-knowledge-results{min-width:0}
@media(max-width:600px){.studio-knowledge{padding:14px}.studio-knowledge h3{font-size:22px}.studio-knowledge-body{padding:3px 12px 12px}.studio-knowledge-card>summary{padding:12px}.studio-knowledge-rule{padding-left:10px}}
