/* 教材生成立体课件对话框。主按钮用 --btn-primary-bg（每屏一个主按钮），其余中性色。 */
.lesson-dialog { width:min(880px,calc(100vw - 32px)); max-height:calc(100dvh - 40px); padding:0; border:1px solid var(--n-200); border-radius:14px; color:var(--ink); background:var(--surface); font:14px/1.5 Inter,PingFang SC,sans-serif; box-shadow:0 20px 60px var(--shadow-ink); }
.lesson-dialog::backdrop { background:var(--overlay-scrim); }
.lesson-dialog > * { margin:0 var(--space-5); }
.lesson-head { display:flex; align-items:center; justify-content:space-between; margin-top:var(--space-4); }
.lesson-head h2 { font-size:18px; font-weight:700; margin:0; }
.lesson-dialog button,.lesson-dialog input,.lesson-dialog textarea { font:inherit; color:inherit; background:var(--surface); border:1px solid var(--n-200); border-radius:8px; padding:var(--space-2) var(--space-2); }
.lesson-dialog button { cursor:pointer; min-height:36px; }
.lesson-dialog button:disabled { opacity:.5; cursor:progress; }
.lesson-dialog :focus-visible { outline:2px solid var(--focus-ring); outline-offset:2px; }
.lesson-close { border:0!important; font-size:22px!important; line-height:1; padding:var(--space-1) var(--space-2)!important; }
.lesson-tabs { display:flex; gap:var(--space-2); margin-top:var(--space-3); }
.lesson-tabs button.on { background:var(--n-900); color:var(--ink); border-color:var(--n-900); }
.lesson-tabs button:disabled { opacity:.45; cursor:not-allowed; }
.lesson-hint { margin:0 0 var(--space-2); font-size:12.5px; line-height:1.5; color:var(--n-600); }
[data-pane] { margin-top:var(--space-2); }
[data-pane][hidden] { display:none; }
.lesson-drop { display:flex; align-items:center; gap:var(--space-2); padding:var(--space-4); border:1px dashed var(--n-300); border-radius:10px; }
.lesson-thumbs { display:flex; flex-wrap:wrap; gap:var(--space-2); margin-top:var(--space-2); }
.lesson-thumb { position:relative; margin:0; width:96px; height:72px; border-radius:8px; overflow:hidden; border:1px solid var(--n-200); }
.lesson-thumb img { width:100%; height:100%; object-fit:cover; }
.lesson-x { position:absolute; top:2px; right:2px; min-height:0!important; padding:0 var(--space-2)!important; background:var(--glass-surface)!important; }
#lessonText { width:100%; box-sizing:border-box; resize:vertical; }
.lesson-opts { display:flex; flex-wrap:wrap; gap:var(--space-2); margin-top:var(--space-2); }
.lesson-opts input, .lesson-opts select { flex:1 1 120px; min-width:0; }
.lesson-language-select { min-height:36px; padding:var(--space-2) var(--space-2); border:1px solid var(--n-200); border-radius:8px; background:var(--surface); color:var(--ink); font:inherit; }
.lesson-primary { background:var(--btn-primary-bg)!important; color:var(--btn-primary-fg)!important; border-color:transparent!important; font-weight:600; }
#lessonStatus { min-height:20px; margin-top:var(--space-2); color:var(--n-600); font-size:13px; }
#lessonStatus[data-kind=error] { color:var(--warning-ink); }
.lesson-scenes { display:grid; gap:var(--space-2); margin-top:var(--space-2); max-height:46dvh; overflow:auto; padding-bottom:var(--space-1); }
.lesson-summary { margin:0; font-size:13px; color:var(--n-600); }
.lesson-scene { border:1px solid var(--n-200); border-radius:10px; padding:var(--space-2) var(--space-3); display:grid; gap:var(--space-2); }
.lesson-scene header { display:flex; align-items:center; gap:var(--space-2); }
.lesson-scene header b { white-space:nowrap; font-size:13px; }
.lesson-title { flex:1; min-width:0; font-weight:600; }
.lesson-kinds { display:flex; flex-wrap:wrap; gap:var(--space-1); }
.lesson-kinds span { font-size:12px; padding:var(--space-1) var(--space-2); border-radius:999px; background:var(--n-100); color:var(--n-700); }
.lesson-field { display:grid; gap:var(--space-1); font-size:12px; color:var(--n-600); }
.lesson-field textarea { width:100%; box-sizing:border-box; resize:vertical; font-size:14px; color:var(--ink); }
.lesson-facts { margin:0; padding-left:0; list-style:none; display:grid; gap:var(--space-1); font-size:12.5px; }
.lesson-facts small { color:var(--n-500); }
.lesson-badge { display:inline-block; font-size:11px; padding:0 var(--space-2); border-radius:4px; background:var(--n-100); border:1px solid var(--n-300); }
.lesson-facts li[data-status=unverified] .lesson-badge { border-color:var(--warning-ink); color:var(--warning-ink); }
.lesson-todos { margin:0; padding-left:0; list-style:none; display:grid; gap:var(--space-1); font-size:12.5px; }
.lesson-todos .lesson-badge { border-color:var(--warning-ink); color:var(--warning-ink); }
.lesson-notes { margin:0; font-size:12px; color:var(--n-500); }
.lesson-regen { display:flex; gap:var(--space-2); }
.lesson-instruction { flex:1; min-width:0; }
.lesson-foot { display:flex; justify-content:flex-end; gap:var(--space-2); margin:var(--space-3) var(--space-5) var(--space-4); }
@media (max-width:640px) {
 .lesson-dialog { width:calc(100vw - 16px); max-height:calc(100dvh - 16px); }
 .lesson-dialog > * { margin:0 var(--space-3); }
 .lesson-foot { margin:var(--space-2) var(--space-3) var(--space-3); }
 .lesson-scenes { max-height:40dvh; }
 .lesson-regen { flex-wrap:wrap; }
}
