#template-studio {position:fixed;inset:0;z-index:100;background:#f3f4f1;color:#202820;overflow:auto;font:15px/1.55 var(--ui-font,Arial,sans-serif)}
#template-studio[hidden],#template-studio [hidden]{display:none!important}
.studio-top {position:sticky;top:0;z-index:2;display:flex;justify-content:space-between;align-items:center;gap:20px;background:#18211c;color:#fff;padding:18px 28px}
.studio-top strong {font-size:23px;letter-spacing:-.5px;margin-right:22px}.studio-top span{color:#cdd6cf}
.studio-layout {display:grid;grid-template-columns:245px minmax(0,1fr);min-height:calc(100vh - 80px)}
.studio-library {background:#e8ece5;padding:25px 18px;border-right:1px solid #ccd3c8}
.studio-library h2{font-size:19px;margin:0}.studio-library p{color:#4e594e;font-size:13px}
#st-templates{display:grid;gap:8px;margin:20px 0}#st-templates button{text-align:left;background:transparent;border-color:transparent;padding:12px}
#st-templates button[aria-current=true]{background:#fff;border-color:#86977c;font-weight:700}
.studio-main{padding:30px 36px 70px;max-width:1600px;width:100%;box-sizing:border-box}
.studio-title{display:flex;justify-content:space-between;align-items:end;gap:20px}.studio-title>div:first-child{flex:1}.studio-title input{font-size:24px!important;font-weight:600;background:transparent!important;border-color:transparent!important;padding-left:0!important}
.studio-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.studio-tabs{display:flex;gap:18px;border-bottom:1px solid #bdc5b8;margin:24px 0 30px;padding-bottom:12px}
#template-studio .studio-tabs button{background:transparent;border:0;border-radius:0;padding:8px 2px}.studio-tabs [aria-pressed=true]{box-shadow:0 3px #44652c;font-weight:700}
.studio-columns{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);gap:36px}.studio-columns>section{min-width:0}
#template-studio h1{font-size:25px;margin:0 0 8px}#template-studio h2{font-size:19px;margin:12px 0}#template-studio p{max-width:72ch}
#template-studio button{font:inherit;font-size:13px;border:1px solid #acb6a6;border-radius:5px;background:#fff;color:#263024;padding:9px 13px;cursor:pointer}
#template-studio button:hover{background:#e9efdf}#template-studio button:disabled{opacity:.45;cursor:not-allowed}#template-studio .st-primary{background:#d7f49b;border-color:#8dbe4e;color:#223312;font-weight:600}
#template-studio input,#template-studio textarea,#template-studio select{box-sizing:border-box;width:100%;max-width:100%;font:inherit;background:#fff;color:#202820;border:1px solid #b5bfb0;border-radius:4px;padding:10px}
#template-studio label{display:block;font-size:13px;font-weight:600;margin:12px 0 6px}#template-studio label span{font-weight:400}
#template-studio textarea{min-height:190px;resize:vertical;line-height:1.65}#st-note{min-height:90px!important}
#template-studio :focus-visible{outline:3px solid #426db6;outline-offset:3px}
.studio-section-row{display:flex;align-items:center;gap:6px;padding:12px 0;border-bottom:1px solid #d1d8cc;flex-wrap:wrap}.studio-section-row input{flex:1 1 190px}
.studio-paper{background:#fff;padding:25px;border:1px solid #d1d8cc;align-self:start}.studio-paper h3{margin:28px 0 8px;font-size:16px}.studio-paper p{font-size:13px;color:#53604e}
.studio-example-bar{display:flex;gap:15px;align-items:end;flex-wrap:wrap;margin-bottom:25px}.studio-example-bar label{min-width:180px;flex:1}
.studio-palette{display:flex;gap:6px;flex-wrap:wrap;margin:14px 0}
#template-studio [data-mark=include],#st-source-view [data-kind=include]{background:#d3edbb;color:#1b3d0c}
#template-studio [data-mark=elsewhere],#st-source-view [data-kind=elsewhere]{background:#ffedaa;color:#523f00}
#template-studio [data-mark=exclude],#st-source-view [data-kind=exclude]{background:#f8cdca;color:#661410}
#st-source-view{background:#fff;border:1px solid #acb6a6;padding:24px;white-space:pre-wrap;overflow-wrap:anywhere;min-height:230px;line-height:1.9;font-size:16px;user-select:text}
#st-source-view mark{padding:2px 0;box-decoration-break:clone}
.studio-footnote{font-size:12px!important;color:#53604e;margin-top:22px}
#st-status{margin-top:24px;padding:12px 0;font-weight:600;color:#365026}
#st-file-dialog{width:min(470px,90vw);border:1px solid #77816e;background:#f7f9f3;color:#263024;padding:28px;border-radius:8px}#st-file-dialog::backdrop{background:#18211c99}
@media(max-width:1050px){.studio-columns{grid-template-columns:1fr}.studio-layout{grid-template-columns:205px minmax(0,1fr)}.studio-main{padding:24px}.studio-title{align-items:start;flex-direction:column}}
@media(max-width:650px){.studio-layout{display:block}.studio-library{border-right:0;border-bottom:1px solid #ccd3c8}.studio-library .studio-footnote{display:none}#st-templates{display:flex;overflow-x:auto}#st-templates button{min-width:150px}.studio-top{position:static;flex-direction:column;align-items:start;padding:16px}.studio-main{padding:20px 16px}.studio-top .studio-actions{gap:5px}#st-save-state{flex-basis:100%}.studio-section-row input{flex-basis:100%}}
@media print{#template-studio{display:none!important}}
/* Guided example editing: keep the lesson and its next action together. */
#template-studio[data-mode=examples] .studio-layout{grid-template-columns:1fr}
#template-studio[data-mode=examples] .studio-library{display:none}
#template-studio[data-mode=examples] .studio-main{max-width:1500px;margin:auto}
.studio-title>div:first-child{min-width:0;width:100%}
.studio-training-intro p{margin:6px 0}
.studio-connection{font-size:13px;color:#514521;background:#f4eedc;padding:10px 14px}
.studio-lesson-layout{display:grid;grid-template-columns:210px minmax(0,1fr);gap:28px}
.studio-lessons{border-right:1px solid #ccd3c8;padding-right:18px}
#st-lesson-list{display:grid;gap:8px}
#st-lesson-list button{text-align:left;overflow-wrap:anywhere;width:100%}
#st-lesson-list button[aria-current=true]{border-color:#526a3e;background:#eaf1df}
#st-lesson-list small{display:block;font-size:12px;color:#4e594e;margin-top:5px;font-weight:400}
.studio-steps{display:flex;gap:6px;flex-wrap:wrap;border-bottom:1px solid #c6cebf;padding-bottom:12px}
#template-studio .studio-steps button{border:0;background:transparent;padding:8px}
#template-studio .studio-steps [aria-current=step]{background:#e3eccf;font-weight:700}
#st-guidance{margin:18px 0 22px;min-height:3em}
.studio-next{display:flex;align-items:center;justify-content:space-between;gap:16px;border-top:1px solid #c6cebf;margin-top:24px;padding:18px 0}
#st-progress{font-size:13px;color:#4e594e}
#template-studio[data-mode=examples] .studio-columns{gap:24px}
#template-studio button{min-height:40px}
@media(max-width:1050px){.studio-lesson-layout{grid-template-columns:180px minmax(0,1fr);gap:20px}}
@media(max-width:650px){.studio-lesson-layout{display:block}.studio-lessons{border:0;padding:0;margin-bottom:20px}#st-lesson-list{display:flex;overflow-x:auto}#st-lesson-list button{flex:0 0 180px}.studio-example-bar label{min-width:0;flex-basis:100%}.studio-next{align-items:stretch;flex-direction:column}.studio-title>div:first-child{width:100%}#template-studio .studio-title input{font-size:20px!important}}
#template-studio[data-mode=examples] .studio-title{display:none}
#template-studio[data-mode=examples] .studio-main{padding-top:14px}
#template-studio[data-mode=examples] .studio-tabs{margin:8px 0 18px;padding-bottom:8px}
#template-studio[data-mode=examples] #st-specialty{margin:0;font-weight:600}
#template-studio[data-mode=examples] .studio-example-bar{margin-bottom:14px}
#template-studio[data-has-example=false] .studio-lesson-layout .studio-columns,
#template-studio[data-has-example=false] .studio-next{display:none}
#template-studio[data-step="1"] #st-teaching .studio-columns{grid-template-columns:1fr}
#template-studio[data-step="1"] #st-teaching .studio-columns>section:last-child{display:none}
#st-label-source{display:none}
.studio-history{margin-top:22px}.studio-history summary{cursor:pointer;font-size:14px;padding:8px 0}
.studio-test{margin-top:32px;padding-top:20px;border-top:1px solid #aab6a3}.studio-test h2{margin-top:0}#st-test-status{font-weight:600}#st-test-result{min-height:110px!important}#template-studio[data-step="1"] .studio-test{display:none}
#template-studio #st-training-template{max-width:640px;margin-bottom:14px}
#st-training-overview{margin-top:28px}
#st-training-overview>.studio-actions{justify-content:space-between}
#st-training-overview h2{margin-right:auto}
.studio-training-row{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:20px 0;border-bottom:1px solid var(--line)}
.studio-training-row>div{min-width:0}
.studio-training-row h3{font-size:16px;margin:0 0 6px;overflow-wrap:anywhere}
.studio-training-row p{font-size:13px;margin:0;color:var(--ink-soft)}
.studio-training-row button{flex-shrink:0}
#st-training-heading{overflow-wrap:anywhere;min-width:0}
#st-training-editor>.studio-actions{margin:24px 0 8px}
@media(max-width:650px){.studio-training-row{align-items:start;flex-direction:column;gap:12px}.studio-training-row button{width:100%}#st-training-overview>.studio-actions{align-items:stretch;flex-direction:column}#st-training-overview h2{margin-right:0}}

#st-training-heading,#st-training-template{scroll-margin-top:110px}

/* Each teaching step has a single work surface. */
#st-training-editor .studio-columns{grid-template-columns:minmax(0,1fr)}
#template-studio[data-step="1"] #st-training-editor .studio-columns>section:last-child,
#template-studio[data-step="2"] #st-training-editor .studio-columns>section:last-child,
#template-studio[data-step="3"] #st-training-editor .studio-columns>section:first-child,
#template-studio[data-step="4"] #st-training-editor .studio-columns{display:none}
#template-studio:not([data-step="4"]) .studio-test{display:none}
#template-studio[data-step="4"] .studio-test{display:block;margin-top:0;border-top:0}
#template-studio[data-step="2"] #st-example-name,
#template-studio[data-step="2"] label[for="st-example-name"],
#template-studio[data-step="1"] #st-edit-source,
#template-studio[data-step="1"] #st-training-editor .studio-columns>section:first-child>p,
#st-commit{display:none}
.studio-next{position:sticky;bottom:0;background:var(--surface);z-index:1;padding:16px 0}
#st-guidance{font-size:18px;font-weight:600;min-height:0}
#st-save-state{max-width:42ch;white-space:normal}
#template-studio[data-mode=examples] .studio-training-intro .studio-connection{display:none}
#template-studio[data-mode=examples] .studio-main{min-width:0}

.studio-top>div:first-child{min-width:0}#st-context{overflow-wrap:anywhere}#template-studio .studio-top{position:sticky;top:0}#st-output,#st-source-view,#st-test-source{scroll-margin-top:140px}
