/* Course-update panels. Each borrows the palette of its lab's arrival world. */
.studio .course-panel{--cp-deep:#12343b;--cp-accent:#c6f15b;--cp-bg:#f1f9e3;--cp-ink:#10272c;margin:22px 0 28px;background:var(--cp-bg);color:var(--cp-ink);border:4px solid var(--cp-deep);border-radius:5px;box-shadow:7px 7px 0 var(--cp-deep);overflow:hidden}
.studio .course-panel.pro-panel{--cp-deep:#1b2a8f;--cp-accent:#ffd23f;--cp-bg:#eef1ff;--cp-ink:#141c55}
.studio .course-panel :is(p,li,strong,em){color:var(--cp-ink);font-size:18px;line-height:1.7}
.studio .course-panel a:not(.primary){color:var(--cp-deep);font-weight:700;text-underline-offset:3px}
.studio .course-panel :focus-visible{outline:3px solid var(--cp-deep);outline-offset:4px}
.studio .course-panel-head{background:var(--cp-deep);padding:30px 30px 24px}
.studio .course-panel-head h3{color:#fff;font:400 clamp(28px,3.8vw,42px)/1.15 Georgia,'Times New Roman',serif;text-transform:none;letter-spacing:normal;margin:10px 0 14px}
.studio .course-panel .course-panel-head p:not(.course-tag){color:#f1f4f2;max-width:62ch;margin:0}
.studio .course-tag{font:700 13px/1.5 Consolas,monospace!important;letter-spacing:.1em;color:var(--cp-accent,#a23a1e)!important;margin:0}
.studio .course-steps{margin:0;padding:24px 30px 6px 56px}
.studio .course-steps li{margin:0 0 12px;padding-left:4px}
.studio .course-steps li::marker{font:700 16px Consolas,monospace;color:var(--cp-deep)}
.studio .course-panel>p{margin:0 30px 18px}
.studio .course-panel .course-choice{padding:14px 18px;background:#fff;border:2px dashed var(--cp-deep);border-radius:3px;font-size:16px}
.studio .course-panel .course-question{font:400 clamp(21px,2.6vw,27px)/1.35 Georgia,'Times New Roman',serif;padding:16px 20px;border-left:8px solid var(--cp-accent);background:var(--cp-deep);color:#fff}
.studio .course-panel>p:last-child{margin-bottom:28px}

.studio .course-note{margin:22px 0 0;padding:20px 22px;background:#fff;border:2px solid #3a1d27;border-left:8px solid #ff7a59;border-radius:3px}
.studio .course-note .course-tag{color:#a23a1e!important}
.studio .css-studio .course-note h5{font:400 24px/1.25 Georgia,'Times New Roman',serif;margin:6px 0 10px}
.studio .css-studio .course-note p{font-size:16px;margin:0 0 10px}.studio .css-studio .course-note p:last-child{margin:0}

.access-calm .studio .course-panel{box-shadow:none}
@media(max-width:600px){.studio .course-panel-head{padding:24px 18px 20px}.studio .course-steps{padding:20px 18px 4px 40px}.studio .course-panel>p{margin:0 18px 16px}}
@media print{.studio .course-panel{box-shadow:none}}
.studio .course-panel .ai-actions{display:flex;flex-wrap:wrap;gap:12px 22px;align-items:center}

/* Shared layout for panels without a separate header/body. */
.studio .course-panel:is(#javascript-first-contact,#mapping-first-contact,#publish-your-project){padding:clamp(20px,3vw,32px);box-sizing:border-box;max-width:100%;min-width:0}
.studio .course-panel:is(#javascript-first-contact,#mapping-first-contact,#publish-your-project)>p{margin:0 0 18px;max-width:68ch}
.studio .course-panel:is(#javascript-first-contact,#mapping-first-contact,#publish-your-project) h3{margin:8px 0 22px;color:var(--cp-ink);font-size:clamp(24px,3vw,34px);line-height:1.25;overflow-wrap:anywhere}
.studio .course-panel:is(#javascript-first-contact,#mapping-first-contact,#publish-your-project) :is(ol,ul){margin:18px 0 24px;padding-left:26px;max-width:68ch}
.studio .course-panel:is(#javascript-first-contact,#mapping-first-contact,#publish-your-project) li{margin-bottom:12px;padding-left:4px;overflow-wrap:anywhere}
.studio .course-panel:is(#javascript-first-contact,#mapping-first-contact,#publish-your-project)>a.primary{display:inline-block;max-width:100%;box-sizing:border-box;white-space:normal;margin:0 0 24px;overflow-wrap:anywhere}
.studio #mapping-first-contact .look{padding:18px;margin:22px 0;background:#fff;color:var(--cp-ink);border:1px solid var(--cp-deep)}
.studio #mapping-first-contact .look :is(p,li,h4,strong){color:var(--cp-ink)}
.studio #mapping-first-contact details{padding:16px;margin:18px 0;background:#fff;color:var(--cp-ink);border:1px solid var(--cp-deep)}
.studio #mapping-first-contact summary{color:var(--cp-ink);font-weight:700;line-height:1.5;cursor:pointer}
.studio #mapping-first-contact figure{margin:22px 0;max-width:800px}
.studio .course-panel img{max-width:100%;height:auto}
.studio .course-panel :is(code,a){overflow-wrap:anywhere}
/* Construct workshop spacing */
.studio #construct-rooms{padding:clamp(18px,4vw,32px);box-shadow:none;border-width:2px;border-radius:0}
.studio #construct-rooms>p{margin:0 0 18px}
.studio #construct-rooms h3{margin:0 0 18px;color:var(--cp-ink);font-size:clamp(26px,4vw,38px);line-height:1.2}
.studio #construct-rooms ol{padding-left:24px;margin:18px 0}
.studio #construct-rooms li{padding-left:6px;margin-bottom:14px}
.studio #construct-rooms .look{padding:20px;margin:24px 0;background:#fff;color:var(--cp-ink);border:1px solid var(--cp-deep)}
.studio #construct-rooms img{display:block;max-width:100%;height:auto}
.studio #construct-rooms figure{margin:20px 0}
[hidden]{display:none!important}
/* Room repair workshop */
.studio #construct-rooms{padding:0!important;background:#f4f2e9!important;color:#172e35!important;border:2px solid #172e35;box-shadow:none;overflow:hidden;max-width:100%;box-sizing:border-box}
.studio #construct-rooms .cw-header{background:#172e35;padding:clamp(20px,4vw,36px)}
.studio #construct-rooms .cw-header :is(h3,p){color:#fff!important;margin:0 0 16px;max-width:64ch}
.studio #construct-rooms .cw-header h3{font:700 clamp(28px,4vw,44px)/1.1 Georgia,serif}
.studio #construct-rooms .cw-header .primary{display:inline-block;background:#d7ee84!important;color:#172e35!important;white-space:normal}
.studio #construct-rooms .cw-body{padding:clamp(16px,3vw,30px);display:grid;gap:20px;min-width:0}
.studio #construct-rooms .cw-body :is(p,li,h4,small,strong,figcaption,summary){color:#172e35!important}
.studio #construct-rooms .cw-body p{margin:0 0 12px;max-width:68ch}
.studio #construct-rooms .cw-tag{font:700 13px/1.4 monospace;letter-spacing:.06em}
.studio #construct-rooms .cw-task{padding:clamp(16px,3vw,26px);border:1px solid #91a1a0;background:#fff;min-width:0}
.studio #construct-rooms h4{font:700 clamp(22px,3vw,29px)/1.25 Georgia,serif;margin:8px 0 18px}
.studio #construct-rooms ol{padding-left:22px;margin:0 0 20px;max-width:68ch}
.studio #construct-rooms li{margin:0 0 12px;line-height:1.65;overflow-wrap:anywhere}
.studio #construct-rooms .cw-test{padding:14px 16px;border-left:4px solid #527025;background:#eff5df;max-width:none}
.studio #construct-rooms details{background:#f4f2e9;padding:14px 16px;border:1px solid #91a1a0}
.studio #construct-rooms summary{font-weight:700;cursor:pointer;line-height:1.5}
.studio #construct-rooms details[open]>summary{margin-bottom:16px}
.studio #construct-rooms figure{margin:16px 0;max-width:800px}
.studio #construct-rooms img{width:100%;height:auto;display:block}
.studio #construct-rooms figcaption{font-size:14px;line-height:1.6;margin-top:10px}
.studio #construct-rooms .cw-route{display:flex;flex-wrap:wrap;align-items:center;gap:14px;padding:16px;border:1px solid #91a1a0}
.studio #construct-rooms .cw-route span{font:700 20px/1.3 monospace;padding:8px 14px;background:#172e35;color:#fff}
.studio #construct-rooms .cw-route small{font:700 12px/1.5 monospace}
