#extra-lesson-open { display:inline-flex;align-items:center;gap:7px;min-height:40px;padding:0 11px;border-radius:10px;background:var(--selected);color:var(--accent);font-size:12px;font-weight:700;white-space:nowrap }
#extra-lesson-open svg { width:15px;height:15px }
button.campus-version { background:none;text-decoration:underline;text-underline-offset:3px }
#program-chat { padding:0;width:min(570px,calc(100% - 28px));overflow:hidden }
.chat-layout { display:grid;grid-template-rows:auto auto minmax(0,1fr) auto;height:min(650px,80dvh) }
.chat-header { margin:0;padding:19px 22px;border-bottom:1px solid var(--line) }
.chat-options { padding:8px 18px;border-bottom:1px solid var(--line);font-size:12px;color:var(--text-secondary) }
.chat-options button { border:1px solid var(--line);border-radius:8px;background:var(--selected);color:var(--accent);padding:6px 9px;font-weight:650 }
.chat-options p { margin:5px 0 0 }
.chat-model-source { display:block;margin-top:5px;color:var(--text-secondary);font-size:10px }
.chat-log { overflow:auto;overscroll-behavior:contain;padding:18px;display:flex;flex-direction:column;gap:12px }
.chat-message { max-width:92%;padding:10px 13px;border-radius:15px;background:var(--soft);font-size:14px;line-height:1.55;overflow-wrap:anywhere }
.chat-message p { margin:0 }
.chat-user { align-self:flex-end;background:var(--selected);color:var(--ink);border-bottom-right-radius:4px }
.chat-assistant { align-self:flex-start;border:1px solid var(--line);border-bottom-left-radius:4px }
.chat-suggestions { display:flex;flex-wrap:wrap;gap:6px }
.chat-suggestions button,.chat-event { border:1px solid var(--line);background:var(--surface);border-radius:9px;color:var(--accent);padding:8px 10px;text-align:left;font-size:12px }
.chat-event { display:block;margin-top:7px;width:100% }
.chat-form { display:flex;gap:8px;padding:12px;border-top:1px solid var(--line);background:var(--surface) }
.chat-form input { min-width:0;flex:1;border:1px solid var(--line);border-radius:10px;background:var(--soft);color:var(--ink);padding:10px;font-size:16px }
.chat-form button { padding:0 12px;border-radius:10px;background:var(--selected);color:var(--accent);font-weight:700 }
.release-history .dialog-top { margin-bottom:14px }
.release-list { max-height:60dvh;overflow:auto;overscroll-behavior:contain;padding:2px }
.release-list article { padding:14px 12px;border-top:1px solid var(--line) }
.release-list h3 { margin-top:5px }
.release-list ul { margin:6px 0 0;padding-left:18px;color:var(--text-secondary);line-height:1.55 }
.release-version,.event-extra { color:var(--accent);font-size:11px;font-weight:650;overflow-wrap:anywhere }
@media(max-width:600px) {
  #program-chat { position:fixed;inset:auto 0 0;margin:0;width:100%;border-radius:20px 20px 0 0;max-height:92dvh }
  .chat-layout { height:min(680px,90dvh) }
  .chat-form { padding-bottom:max(12px,env(safe-area-inset-bottom)) }
  .chat-header { padding:14px 16px }
  .chat-log { padding:12px }
  #extra-lesson-open { padding:0 7px;font-size:11px }
  #extra-lesson-open svg { display:none }
}
