.desktop-course { letter-spacing:0; }
.desktop-course .slide:not(:first-child) .stage { display:grid; grid-template-rows:auto minmax(0,1fr) auto; min-height:0; gap:22px; }
.desktop-course .lesson-concepts { min-height:0; grid-template-rows:minmax(0,1fr); align-items:stretch; }
.desktop-course .lesson-explanation { align-self:stretch; min-height:0; overflow:auto; }
.desktop-course .big-list { gap:24px; }
.desktop-course .point { font-size:24px; line-height:1.5; }
.desktop-course .point > span:last-child { overflow-wrap:anywhere; }
.desktop-course .ai-case-panel { max-height:100%; }
.desktop-course .ai-prompt { overflow:hidden; }
.desktop-course .ai-prompt header, .desktop-course .ai-prompt-tabs { flex-shrink:0; }
.desktop-course .ai-prompt [role="tabpanel"] { min-height:0; overflow:auto; }
.desktop-course .ai-case-panels { overflow:auto; }
.desktop-course .ai-prompt [role="tabpanel"] pre { font-size:20px; line-height:1.7; }
.desktop-course .desktop-footer { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:12px 20px; }
.desktop-course .ai-downloads { flex-wrap:wrap; gap:12px 24px; margin-top:0; }
.desktop-course .desktop-actions { display:flex; flex-wrap:wrap; gap:10px; margin-top:0; }
.desktop-button { appearance:none; display:inline-flex; align-items:center; justify-content:center; padding:10px 15px; border:1px solid #B7C9CA; border-radius:6px; color:#0C5B54; background:#EDF8F4; font:600 16px/1.4 var(--lesson-font,sans-serif); cursor:pointer; }
.desktop-button:hover { background:#DCEFE8; border-color:#6FABA1; }
.desktop-button:focus-visible, .desktop-close:focus-visible { outline:3px solid #2563EB; outline-offset:3px; }
.desktop-result-slide .lesson-concepts { grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr); }
.desktop-result-slide .point { font-size:22px; }
.desktop-figure { display:flex; flex-direction:column; height:100%; margin:0; min-width:0; min-height:0; }
.desktop-figure img { display:block; width:100%; height:100%; min-height:0; flex:1; object-fit:contain; border:1px solid #CBD5E1; border-radius:6px; background:#fff; }
.desktop-dialog { box-sizing:border-box; width:min(1180px,94vw); max-height:92vh; padding:0; border:1px solid #7F8C9A; border-radius:8px; color:#14212E; background:#F8FAFC; box-shadow:0 20px 70px #0007; }
.desktop-dialog::backdrop { background:#030812C7; }
.desktop-dialog > header { display:flex; align-items:center; justify-content:space-between; gap:20px; padding:16px 24px; border-bottom:1px solid #CBD5E1; background:#fff; }
.desktop-dialog > header h2 { margin:0; color:#14212E; font:700 22px/1.4 var(--lesson-font,sans-serif); }
.desktop-close { flex:0 0 40px; width:40px; height:40px; border:1px solid #CBD5E1; border-radius:6px; color:#14212E; background:#fff; font-size:28px; cursor:pointer; }
.desktop-dialog-content { max-height:calc(92vh - 82px); overflow:auto; padding:24px; }
.desktop-dialog-content img { display:block; max-width:100%; max-height:68vh; width:auto; height:auto; object-fit:contain; margin:auto; }
.desktop-dialog-content figure { margin:0; }
.desktop-dialog-content h3 { margin:0 0 12px; color:#14212E; font:700 19px/1.5 var(--lesson-font,sans-serif); }
.desktop-dialog-content section + section { margin-top:26px; }
.desktop-dialog-content pre { margin:0; padding:18px; border:1px solid #D8DEE6; background:#fff; color:#111; white-space:pre-wrap; overflow-wrap:anywhere; font:400 16px/1.8 ui-monospace,"SFMono-Regular","PingFang SC",monospace; }
.desktop-dialog-content li { margin:0 0 18px; padding-left:8px; font:400 22px/1.7 var(--lesson-font,sans-serif); }
@media(max-width:800px) {
  .desktop-course .slide:not(:first-child) .stage { display:block; }
  .desktop-course .lesson-concepts, .desktop-result-slide .lesson-concepts { grid-template-columns:1fr; }
  .desktop-course .lesson-explanation { overflow:visible; }
  .desktop-course .point { font-size:20px; }
  .desktop-course .big-list { gap:18px; }
  .desktop-course .ai-case-panels { overflow:visible; }
  .desktop-figure, .desktop-figure img { height:auto; }
  .desktop-course .ai-prompt [role="tabpanel"] pre { font-size:17px; }
  .desktop-course .desktop-actions { gap:8px; }
  .desktop-course .desktop-footer { margin-top:22px; }
  .desktop-button { font-size:14px; padding:9px 12px; }
  .desktop-dialog > header { padding:12px 16px; }
  .desktop-dialog > header h2 { font-size:19px; }
  .desktop-dialog-content { padding:16px; }
  .desktop-dialog-content li { font-size:18px; }
}
