.workspace-header{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);padding:18px 28px;border-bottom:1px solid var(--line);background:var(--panel);flex-wrap:wrap}.workspace-header h1{font-size:var(--text-lg);margin:0}.workspace-body{max-width:1480px;margin:auto;padding:var(--space-5)}.editor-layout{display:grid;grid-template-columns:210px minmax(320px,1fr) minmax(300px,.9fr);gap:var(--space-5);align-items:start}.page-list{display:flex;flex-direction:column;gap:var(--space-2);max-height:70dvh;overflow:auto;padding:2px}.page-item{display:flex;align-items:center;gap:var(--space-3);text-align:left;white-space:normal;min-height:58px}.page-item[aria-current=true]{border-color:var(--accent);background:var(--soft);color:var(--accent)}.page-number{min-width:25px;color:var(--accent);font-size:var(--text-xs)}.page-label{overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:var(--text-sm)}.editor-panel,.guide-panel{min-width:0}.editor-panel h2{font-size:var(--text-lg);margin-top:0}.editor-preview{position:sticky;top:var(--space-4)}.editor-preview .lesson-slide{min-height:330px;padding:var(--space-5)}.editor-preview .lesson-slide h1{font-size:var(--text-xl)}.editor-preview .slide-prose{font-size:var(--text-sm)}.pair-editor{display:grid;grid-template-columns:1fr 1fr auto;gap:var(--space-2);align-items:end}.pair-editor .ds-field{margin:8px 0}.pair-editor button{margin-bottom:8px}.lesson-slide{background:var(--panel);padding:clamp(24px,4vw,56px);border:1px solid var(--line);border-radius:var(--radius-lg);min-height:400px;animation:arrive var(--motion-page) ease-out}.lesson-slide h1{font-size:clamp(26px,3vw,40px);font-weight:650;line-height:1.45;letter-spacing:-.8px;overflow-wrap:anywhere}.slide-prose{font-size:clamp(16px,1.6vw,22px);white-space:pre-wrap;line-height:1.9;overflow-wrap:anywhere;margin-bottom:var(--space-5)}.prompt-preview{white-space:pre-wrap;overflow-wrap:anywhere;padding:var(--space-4);background:var(--soft);border-radius:var(--radius-md);font:inherit;line-height:1.8;color:var(--ink)}.room-grid{display:grid;grid-template-columns:190px minmax(0,1fr) 260px;gap:var(--space-5);align-items:start}.classroom-shell{max-width:1040px;margin:auto;padding:var(--space-5)}.classroom-toolbar{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);margin-bottom:var(--space-4);flex-wrap:wrap}.classroom-footer{display:flex;justify-content:space-between;gap:var(--space-3);margin-top:var(--space-4);flex-wrap:wrap}.guide-panel{padding:var(--space-4);background:var(--panel);border:1px solid var(--line);border-radius:var(--radius-md)}.guide-panel h3{font-size:var(--text-sm);margin:0 0 12px}.guide-copy{font-size:var(--text-sm);line-height:1.8;white-space:pre-wrap;overflow-wrap:anywhere}.submit-bar{margin-top:var(--space-4);display:flex;align-items:center;gap:var(--space-4);flex-wrap:wrap}.room-heading{padding:18px 26px;background:var(--panel);border-bottom:1px solid var(--line);display:flex;gap:var(--space-4);align-items:center;justify-content:space-between;flex-wrap:wrap}.room-heading h1{font-size:var(--text-lg);margin:0}.connection-badge{font-size:var(--text-xs);color:var(--muted)}.active-session{margin-bottom:var(--space-5);display:flex;justify-content:space-between;align-items:center;gap:var(--space-4);border-left:3px solid var(--accent);padding:var(--space-4);background:var(--panel);border-radius:var(--radius-md);border-top:1px solid var(--line);border-right:1px solid var(--line);border-bottom:1px solid var(--line)}.active-session h3{font-size:var(--text-base);margin:8px 0}.active-session p{margin:0}.timer-ring{width:62px;height:62px;border:3px solid var(--accent);border-radius:50%;display:grid;place-items:center;font-size:var(--text-sm);font-variant-numeric:tabular-nums;background:var(--soft)}.timers-row{display:flex;align-items:center;gap:var(--space-3)}.timer-label{display:flex;gap:8px;align-items:center;color:var(--muted);font-size:var(--text-xs)}.distribution-row{border-bottom:1px solid var(--line);padding:var(--space-4) 0}.distribution-row h3{margin:0 0 8px;font-size:var(--text-base)}.learner-chip{display:inline-block;font-size:var(--text-sm);padding:6px 9px;background:var(--soft);border-radius:var(--radius-sm);margin:4px}.result-card{padding:var(--space-4);border:1px solid var(--line);border-radius:var(--radius-md);margin:var(--space-3) 0}.result-card pre{margin:10px 0 0}.room-tools{display:flex;gap:var(--space-2);flex-wrap:wrap}.state-note{padding:var(--space-3) var(--space-4);border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--soft);font-size:var(--text-sm);line-height:1.7}.course-actions{gap:8px;flex-wrap:wrap}.course-actions .ds-btn{min-height:34px;padding:7px 10px}.room-code{letter-spacing:2px;font-weight:700;font-size:var(--text-lg)}.preview-page{min-height:200px}.component-gallery{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-5)}.code-input{font-family:ui-monospace,monospace!important}.sample-actions{display:flex;justify-content:space-between;align-items:center;gap:var(--space-3);margin:var(--space-5) 0}.room-select{padding:10px;border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--panel);color:var(--ink);font:inherit}.recovery-box{margin-top:var(--space-4)}#room-code-group{margin-bottom:20px}.read-only-note{color:var(--muted);font-size:var(--text-xs)}
@media(max-width:1150px){.editor-layout{grid-template-columns:175px minmax(0,1fr)}.editor-preview{position:static;grid-column:2}.room-grid{grid-template-columns:150px minmax(0,1fr)}.guide-panel{grid-column:2}.workspace-header{padding:16px 20px}}
@media(max-width:700px){.editor-layout,.room-grid{grid-template-columns:1fr}.editor-preview,.guide-panel{grid-column:auto}.page-list{max-height:170px;flex-direction:row;overflow:auto}.page-item{min-width:140px}.workspace-body,.classroom-shell{padding:var(--space-4)}.workspace-header,.room-heading{padding:var(--space-4)}.room-heading h1{font-size:var(--text-base)}.room-tools .ds-btn{font-size:var(--text-xs);padding:8px 10px}.active-session{flex-direction:column;align-items:flex-start}.lesson-slide{padding:var(--space-5);min-height:300px}.lesson-slide .ds-field textarea{font-size:16px}.component-gallery{grid-template-columns:1fr}.pair-editor{grid-template-columns:1fr 1fr}.pair-editor button{grid-column:2}.timer-ring{width:50px;height:50px}.editor-preview{display:none}.sample-actions{align-items:flex-start;flex-direction:column}.course-actions .ds-btn{font-size:var(--text-sm)}}

/* 任務與課後交付沿用設計系統；不在課堂作用中輸入區插入重繪。 */
.job-card { display:grid; gap:var(--space-3,12px); padding:var(--space-5,24px); }
.job-card h3,.job-card p { margin:0; overflow-wrap:anywhere; }
.job-card--highlight { border-color:var(--color-primary); }
.job-card[data-status="completed"] .ds-badge:last-child { color:var(--color-success); }
.learning-takeaway { margin-top:var(--space-5,24px); padding:var(--space-5,24px); background:var(--color-primary-soft); }
.learning-takeaway h2 { font-size:1.25rem; }
.ds-field:has(input[type="checkbox"]) { display:flex; flex-direction:row-reverse; align-items:center; justify-content:flex-end; gap:12px; }
.ds-field input[type="checkbox"] { width:18px; height:18px; flex:none; }
