/* Shared AI chat presentation. Lecture workspace layout stays scoped below. */
.study-tutor-intro[hidden] {display:none !important;}
.study-tutor-intro {padding:36px 8px 16px;margin:0;border:0;background:transparent;color:var(--text,#252525);flex-shrink:0;}
.study-tutor-intro span {display:none;}
.study-tutor-intro h3 {font-size:25px;line-height:1.3;letter-spacing:-.6px;margin:0 0 12px !important;color:inherit;}
.study-tutor-intro p {font-size:14px;line-height:1.6;margin:0;color:var(--muted,#777);}
body#elthosApp :is(#meetingChatPanel,#homeChatPanel,#workspaceAnswer),
body.project-detail-view .project-chat-card {background:var(--panel,#fff) !important;}
body.project-detail-view .project-chat-card.has-chat-history .study-tutor-intro,
body.project-detail-view .project-chat-card.has-chat-history #projectSuggestionRow,
body#elthosApp #meetingChatPanel:has(:is(.chat-message,.home-chat-message).user) .study-tutor-intro,
body#elthosApp #meetingChatPanel:has(:is(.chat-message,.home-chat-message).user) #suggestionChips {display:none !important;}
body#elthosApp #suggestionChips,
body.project-detail-view #projectSuggestionRow {display:flex !important;flex-wrap:wrap;gap:8px !important;padding:12px 0 !important;}
body#elthosApp #suggestionChips button,
body.project-detail-view #projectSuggestionRow button {padding:10px 12px !important;border:1px solid var(--line,#e6e6e6) !important;border-radius:12px !important;background:transparent !important;color:var(--text,#444) !important;font-size:13px !important;font-weight:400 !important;line-height:1.4;white-space:normal;text-align:left;}
body#elthosApp :is(.chat-message,.home-chat-message).user,
body.project-detail-view #projectAnswer :is(.chat-message,.home-chat-message).user {width:fit-content !important;max-width:88% !important;margin:20px 0 26px auto !important;padding:13px 17px !important;background:var(--soft,#f3f3f3) !important;color:var(--text,#252525) !important;box-shadow:none !important;border-radius:20px !important;font-size:15px !important;line-height:1.65 !important;font-weight:400 !important;overflow-wrap:anywhere;white-space:pre-wrap;}
body#elthosApp :is(.chat-message,.home-chat-message).assistant,
body.project-detail-view #projectAnswer :is(.chat-message,.home-chat-message).assistant {max-width:100% !important;margin:12px 0 30px !important;padding:0 !important;background:transparent !important;color:var(--text,#252525) !important;border:0 !important;box-shadow:none !important;font-size:15px !important;line-height:1.75 !important;overflow-wrap:anywhere;}
body.project-detail-view #projectAnswer p {margin:0 0 14px;}
body.project-detail-view #projectAnswer ul,
body.project-detail-view #projectAnswer ol {padding-left:22px;}
body.project-detail-view:has(.is-class-series) .workspace {width:100% !important;max-width:none !important;margin:0 !important;display:block !important;}
body.project-detail-view:has(.is-class-series) .class-toolbar {gap:12px;}
body.project-detail-view:has(.is-class-series) .class-toolbar-status {display:none;}
body.project-detail-view .project-chat-top {display:block !important;order:0 !important;padding:8px 0 !important;}
body.project-detail-view #projectChatScope {display:block !important;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;border:0 !important;background:transparent !important;padding:0 !important;font-size:12px !important;color:var(--muted,#777) !important;}
body.project-detail-view #projectChatScope::before {display:none !important;}
body.project-detail-view #projectChatForm,
body#elthosApp #chatForm {display:flex !important;align-items:flex-end !important;gap:8px !important;padding:10px !important;border:1px solid var(--line,#dedede) !important;border-radius:24px !important;box-shadow:0 2px 8px #00000005 !important;background:var(--panel,#fff) !important;flex-shrink:0;}
body.project-detail-view #projectChatInput,
body#elthosApp #chatInput {resize:none !important;flex:1;min-width:0 !important;min-height:40px !important;max-height:160px;padding:9px 4px !important;margin:0 !important;border:0 !important;border-radius:0 !important;box-shadow:none !important;background:transparent !important;font:inherit !important;font-size:15px !important;line-height:1.5 !important;color:var(--text,#252525) !important;}
body.project-detail-view #projectChatButton {width:38px !important;min-width:38px !important;height:38px !important;padding:0 !important;border:0 !important;border-radius:50% !important;background:var(--text,#222) !important;color:var(--panel,#fff) !important;font-size:22px !important;}
body.project-detail-view #projectChatForm .chat-file-button {width:36px;height:38px;border:0 !important;background:transparent !important;font-size:24px;}
.tutor-sources {margin-top:18px;font-size:12px;color:var(--muted,#777);}
.tutor-sources summary {cursor:pointer;}
.tutor-sources strong {display:block;margin-top:12px;}
.tutor-sources blockquote {max-height:180px;overflow:auto;margin:8px 0;padding-left:12px;border-left:2px solid var(--line,#ddd);white-space:pre-wrap;}
@media(min-width:921px){
 body.project-detail-view:is(.project-ai-open,.project-ai-closing):has(.is-class-series) .project-shell.is-class-series {width:calc(100% - 440px) !important;}
 body.project-detail-view:is(.project-ai-open,.project-ai-closing):has(.is-class-series) > [data-project-detail-pane="chat"] {width:440px !important;}
 body.project-detail-view:is(.project-ai-open,.project-ai-closing) .class-workbench {grid-template-columns:220px minmax(0,1fr);}
}
body.project-detail-view.project-ai-open > [data-project-detail-pane="chat"],
body.project-detail-view.project-ai-open .project-chat-card {opacity:1 !important;}
body#elthosApp :is(.chat-message,.home-chat-message).assistant,
body.project-detail-view #projectAnswer :is(.chat-message,.home-chat-message).assistant {display:block !important;}
body#elthosApp :is(.chat-message,.home-chat-message).assistant::before,
body.project-detail-view #projectAnswer :is(.chat-message,.home-chat-message).assistant::before {display:none !important;content:none !important;}
body.project-detail-view .project-chat-card.has-chat-history .project-chat-top {display:block !important;visibility:visible !important;opacity:1 !important;max-height:none !important;height:auto !important;}
@media(min-width:921px){body.project-detail-view:is(.project-ai-open,.project-ai-closing) #classSeriesWorkspace .class-workbench{grid-template-columns:220px minmax(0,1fr);}}
/* Quiet, inline generation status across all AI chats. */
body#elthosApp :is(#meetingChatPanel,#homeChatPanel) .tutor-progress,
body.project-detail-view #projectAnswer .tutor-progress {
 display:block;width:fit-content;max-width:100%;min-height:24px;
 margin:12px 0 24px;padding:0;border:0;border-radius:0;
 background:none;box-shadow:none;color:var(--muted,#757575);
 font:500 14px/24px -apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
 letter-spacing:0;animation:none;
}
.tutor-progress-label {display:inline-block;}
@supports (background-clip:text) {
 .tutor-progress-label {
  background:linear-gradient(100deg,#787878 25%,#b0b0b0 43%,#dedede 50%,#b0b0b0 57%,#787878 75%);
  background-size:240% 100%;background-clip:text;-webkit-background-clip:text;
  color:transparent;animation:tutor-text-shimmer 2.4s linear infinite;
 }
 :root[data-theme="dark"] .tutor-progress-label {background-image:linear-gradient(100deg,#999 25%,#ccc 43%,#fff 50%,#ccc 57%,#999 75%);}
}
@keyframes tutor-text-shimmer {from{background-position:100% 0}to{background-position:-100% 0}}
@media(prefers-reduced-motion:reduce){.tutor-progress-label{animation:none;background:none;color:var(--muted,#757575);}}
@media(forced-colors:active){.tutor-progress-label{animation:none;background:none;color:CanvasText;}}
body.project-detail-view #projectAnswer {gap:0 !important;}
body.project-detail-view #projectAnswer .tutor-progress {margin-top:0;}
/* Shared text rhythm for personal, project, home, and workspace answers. */
body#elthosApp :is(#meetingChatPanel,#homeChatPanel,#workspaceAnswer),
body#elthosApp.project-detail-view .project-chat-card {
 --tutor-ink:#262626;--tutor-secondary:#6b6b6b;--tutor-soft:#f4f4f4;--tutor-border:#e5e5e5;
 font-family:ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif !important;
 -webkit-font-smoothing:antialiased;
}
body#elthosApp :is(#chatMessages,#homeChatMessages,#workspaceAnswer) :is(.chat-message,.home-chat-message),
body#elthosApp.project-detail-view #projectAnswer :is(.chat-message,.home-chat-message) {
 font-family:inherit !important;font-size:16px !important;line-height:1.65 !important;letter-spacing:0 !important;
 color:var(--tutor-ink) !important;
}
body#elthosApp :is(#chatMessages,#homeChatMessages,#workspaceAnswer) :is(.chat-message,.home-chat-message).user,
body#elthosApp.project-detail-view #projectAnswer :is(.chat-message,.home-chat-message).user {
 padding:12px 18px !important;margin:16px 0 30px auto !important;border-radius:22px !important;
 background:var(--tutor-soft) !important;max-width:88% !important;font-weight:400 !important;
}
body#elthosApp :is(#chatMessages,#homeChatMessages,#workspaceAnswer) :is(.chat-message,.home-chat-message).assistant,
body#elthosApp.project-detail-view #projectAnswer :is(.chat-message,.home-chat-message).assistant {margin:0 0 32px !important;}
body#elthosApp :is(#chatMessages,#homeChatMessages,#workspaceAnswer) .tutor-prose,
body#elthosApp.project-detail-view #projectAnswer .tutor-prose {display:block !important;font:inherit !important;color:inherit !important;max-width:68ch;white-space:normal !important;}
body#elthosApp :is(#chatMessages,#homeChatMessages,#workspaceAnswer) .tutor-prose :is(p,li,blockquote,td,th),
body#elthosApp.project-detail-view #projectAnswer .tutor-prose :is(p,li,blockquote,td,th) {font:inherit !important;color:inherit !important;letter-spacing:0 !important;}
body#elthosApp :is(#chatMessages,#homeChatMessages,#workspaceAnswer) .tutor-prose p,
body#elthosApp.project-detail-view #projectAnswer .tutor-prose p {margin:0 0 16px !important;}
:is(body#elthosApp :is(#chatMessages,#homeChatMessages,#workspaceAnswer),body#elthosApp.project-detail-view #projectAnswer) :is(.chat-message,.home-chat-message).assistant .tutor-prose :is(h2,h3,h4) {font-family:inherit !important;font-weight:600 !important;line-height:1.35 !important;color:inherit !important;margin:28px 0 12px !important;letter-spacing:-.2px !important;}
:is(body#elthosApp :is(#chatMessages,#homeChatMessages,#workspaceAnswer),body#elthosApp.project-detail-view #projectAnswer) :is(.chat-message,.home-chat-message).assistant .tutor-prose h2 {font-size:21px !important;}
:is(body#elthosApp :is(#chatMessages,#homeChatMessages,#workspaceAnswer),body#elthosApp.project-detail-view #projectAnswer) :is(.chat-message,.home-chat-message).assistant .tutor-prose h3 {font-size:19px !important;}
:is(body#elthosApp :is(#chatMessages,#homeChatMessages,#workspaceAnswer),body#elthosApp.project-detail-view #projectAnswer) :is(.chat-message,.home-chat-message).assistant .tutor-prose h4 {font-size:17px !important;}
:is(body#elthosApp :is(#chatMessages,#homeChatMessages,#workspaceAnswer),body#elthosApp.project-detail-view #projectAnswer) :is(.chat-message,.home-chat-message).assistant .tutor-prose strong {font-weight:600 !important;color:inherit !important;}
:is(body#elthosApp :is(#chatMessages,#homeChatMessages,#workspaceAnswer),body#elthosApp.project-detail-view #projectAnswer) :is(.chat-message,.home-chat-message).assistant .tutor-prose :is(ul,ol) {display:block !important;margin:12px 0 20px !important;padding-left:25px !important;list-style-position:outside !important;}
:is(body#elthosApp :is(#chatMessages,#homeChatMessages,#workspaceAnswer),body#elthosApp.project-detail-view #projectAnswer) :is(.chat-message,.home-chat-message).assistant .tutor-prose ul {list-style-type:disc !important;}
:is(body#elthosApp :is(#chatMessages,#homeChatMessages,#workspaceAnswer),body#elthosApp.project-detail-view #projectAnswer) :is(.chat-message,.home-chat-message).assistant .tutor-prose ol {list-style-type:decimal !important;}
:is(body#elthosApp :is(#chatMessages,#homeChatMessages,#workspaceAnswer),body#elthosApp.project-detail-view #projectAnswer) :is(.chat-message,.home-chat-message).assistant .tutor-prose li {display:list-item !important;margin:8px 0 !important;padding-left:3px !important;}
:is(body#elthosApp :is(#chatMessages,#homeChatMessages,#workspaceAnswer),body#elthosApp.project-detail-view #projectAnswer) :is(.chat-message,.home-chat-message).assistant .tutor-prose blockquote {margin:18px 0 !important;padding:2px 0 2px 16px !important;border-left:3px solid var(--tutor-border) !important;}
:is(body#elthosApp :is(#chatMessages,#homeChatMessages,#workspaceAnswer),body#elthosApp.project-detail-view #projectAnswer) :is(.chat-message,.home-chat-message).assistant .tutor-prose code {font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace !important;font-size:.875em !important;background:var(--tutor-soft);padding:2px 5px;border-radius:4px;}
:is(body#elthosApp :is(#chatMessages,#homeChatMessages,#workspaceAnswer),body#elthosApp.project-detail-view #projectAnswer) :is(.chat-message,.home-chat-message).assistant .tutor-code {margin:20px 0;background:var(--tutor-soft);border:1px solid var(--tutor-border);border-radius:12px;overflow:hidden;}
:is(body#elthosApp :is(#chatMessages,#homeChatMessages,#workspaceAnswer),body#elthosApp.project-detail-view #projectAnswer) :is(.chat-message,.home-chat-message).assistant .tutor-code-label {padding:8px 14px;color:var(--tutor-secondary);font-size:12px;}
:is(body#elthosApp :is(#chatMessages,#homeChatMessages,#workspaceAnswer),body#elthosApp.project-detail-view #projectAnswer) :is(.chat-message,.home-chat-message).assistant .tutor-prose pre {padding:0 14px 14px;margin:0;overflow:auto;white-space:pre;line-height:1.6;}
:is(body#elthosApp :is(#chatMessages,#homeChatMessages,#workspaceAnswer),body#elthosApp.project-detail-view #projectAnswer) :is(.chat-message,.home-chat-message).assistant .tutor-prose pre code {padding:0;background:transparent;font-size:13px !important;}
:is(body#elthosApp :is(#chatMessages,#homeChatMessages,#workspaceAnswer),body#elthosApp.project-detail-view #projectAnswer) :is(.chat-message,.home-chat-message).assistant .tutor-table {overflow:auto;margin:20px 0;border:1px solid var(--tutor-border);border-radius:8px;}
:is(body#elthosApp :is(#chatMessages,#homeChatMessages,#workspaceAnswer),body#elthosApp.project-detail-view #projectAnswer) :is(.chat-message,.home-chat-message).assistant .tutor-table table {border-collapse:collapse;width:100%;font-size:14px;}
:is(body#elthosApp :is(#chatMessages,#homeChatMessages,#workspaceAnswer),body#elthosApp.project-detail-view #projectAnswer) :is(.chat-message,.home-chat-message).assistant .tutor-table :is(th,td) {padding:10px 12px;text-align:left;border-bottom:1px solid var(--tutor-border);}
:is(body#elthosApp :is(#chatMessages,#homeChatMessages,#workspaceAnswer),body#elthosApp.project-detail-view #projectAnswer) :is(.chat-message,.home-chat-message).assistant .tutor-table th {font-weight:600 !important;background:var(--tutor-soft);}
:is(body#elthosApp :is(#chatMessages,#homeChatMessages,#workspaceAnswer),body#elthosApp.project-detail-view #projectAnswer) :is(.chat-message,.home-chat-message).assistant .tutor-prose hr {border:0;border-top:1px solid var(--tutor-border);margin:24px 0;}
:is(body#elthosApp :is(#chatMessages,#homeChatMessages,#workspaceAnswer),body#elthosApp.project-detail-view #projectAnswer) :is(.chat-message,.home-chat-message).assistant .tutor-prose>:first-child {margin-top:0 !important;}
:is(body#elthosApp :is(#chatMessages,#homeChatMessages,#workspaceAnswer),body#elthosApp.project-detail-view #projectAnswer) :is(.chat-message,.home-chat-message).assistant .tutor-prose>:last-child {margin-bottom:0 !important;}
body#elthosApp #chatInput,
body#elthosApp.project-detail-view #projectChatInput {font-size:16px !important;line-height:1.5 !important;}
:root[data-theme="dark"] body#elthosApp :is(#meetingChatPanel,#homeChatPanel,#workspaceAnswer),
:root[data-theme="dark"] body#elthosApp.project-detail-view .project-chat-card {--tutor-ink:#ececec;--tutor-secondary:#aaa;--tutor-soft:#303030;--tutor-border:#444;}

/* Math keeps its typesetting metrics; wide equations scroll within the answer. */
:is(body#elthosApp :is(#chatMessages,#homeChatMessages,#workspaceAnswer),body#elthosApp.project-detail-view #projectAnswer) :is(.chat-message,.home-chat-message).assistant .tutor-prose {min-width:0;overflow-wrap:break-word;}
:is(body#elthosApp :is(#chatMessages,#homeChatMessages,#workspaceAnswer),body#elthosApp.project-detail-view #projectAnswer) :is(.chat-message,.home-chat-message).assistant .tutor-prose .tutor-math-display {display:block;max-width:100%;overflow-x:auto;overflow-y:hidden;margin:20px 0;padding:8px 0;overscroll-behavior-x:contain;}
:is(body#elthosApp :is(#chatMessages,#homeChatMessages,#workspaceAnswer),body#elthosApp.project-detail-view #projectAnswer) :is(.chat-message,.home-chat-message).assistant .tutor-prose .tutor-math-display .katex-display {margin:0;text-align:center;}
:is(body#elthosApp :is(#chatMessages,#homeChatMessages,#workspaceAnswer),body#elthosApp.project-detail-view #projectAnswer) :is(.chat-message,.home-chat-message).assistant .tutor-prose .katex {font-size:1.08em;white-space:nowrap;overflow-wrap:normal;text-indent:0;}
:is(body#elthosApp :is(#chatMessages,#homeChatMessages,#workspaceAnswer),body#elthosApp.project-detail-view #projectAnswer) :is(.chat-message,.home-chat-message).assistant .tutor-prose .tutor-math-pending {font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.9em;white-space:pre-wrap;}
:is(body#elthosApp :is(#chatMessages,#homeChatMessages,#workspaceAnswer),body#elthosApp.project-detail-view #projectAnswer) :is(.chat-message,.home-chat-message).assistant .tutor-prose a {color:inherit;text-decoration:underline;text-underline-offset:3px;}
:is(body#elthosApp :is(#chatMessages,#homeChatMessages,#workspaceAnswer),body#elthosApp.project-detail-view #projectAnswer) :is(.chat-message,.home-chat-message).assistant .tutor-prose li > :is(ul,ol) {margin:6px 0 12px !important;}
:is(body#elthosApp :is(#chatMessages,#homeChatMessages,#workspaceAnswer),body#elthosApp.project-detail-view #projectAnswer) :is(.chat-message,.home-chat-message).assistant .tutor-prose li > p {margin-bottom:8px !important;}
:is(body#elthosApp :is(#chatMessages,#homeChatMessages,#workspaceAnswer),body#elthosApp.project-detail-view #projectAnswer) :is(.chat-message,.home-chat-message).assistant .tutor-prose .tutor-table th {white-space:nowrap;}
body#elthosApp.project-detail-view #projectChatForm,
body#elthosApp #chatForm {min-height:0 !important;height:auto !important;}
:is(body#elthosApp :is(#chatMessages,#homeChatMessages,#workspaceAnswer),body#elthosApp.project-detail-view #projectAnswer) :is(.chat-message,.home-chat-message).assistant .tutor-prose pre code {display:block !important;font-weight:400 !important;background:transparent !important;border:0 !important;box-shadow:none !important;color:inherit !important;}
body#elthosApp.project-detail-view #projectChatButton {width:40px !important;min-width:40px !important;height:40px !important;min-height:40px !important;border-radius:50% !important;box-shadow:none !important;flex:0 0 40px !important;font-size:22px !important;font-weight:400 !important;}
body#elthosApp.project-detail-view #projectChatScope {display:block !important;padding:0 !important;border:0 !important;border-radius:0 !important;background:transparent !important;box-shadow:none !important;font-size:12px !important;font-weight:400 !important;line-height:24px !important;}
@media(max-width:920px){
 body#elthosApp.project-detail-view #projectAnswer {top:calc(var(--project-ai-header-height) + 44px) !important;}
}
/* The same message surfaces and composer treatment across every conversation. */
body#elthosApp :is(#chatMessages,#homeChatMessages,#projectAnswer,#workspaceAnswer) {min-width:0;gap:0 !important;}
body#elthosApp :is(#chatMessages,#homeChatMessages,#projectAnswer,#workspaceAnswer) :is(.chat-message,.home-chat-message).assistant {display:block !important;max-width:100% !important;padding:0 !important;border:0 !important;border-radius:0 !important;background:transparent !important;box-shadow:none !important;white-space:normal !important;}
body#elthosApp :is(#chatMessages,#homeChatMessages,#projectAnswer,#workspaceAnswer) :is(.chat-message,.home-chat-message).assistant::before {display:none !important;content:none !important;}
body#elthosApp :is(#chatMessages,#homeChatMessages,#projectAnswer) :is(.chat-message,.home-chat-message).user {width:fit-content !important;box-shadow:none !important;border:0 !important;white-space:pre-wrap !important;}
body#elthosApp #homeChatPanel:has(.home-chat-message.user) .home-chat-suggestions {display:none !important;}
body#elthosApp #homeChatPanel {background:var(--panel,#fff) !important;}
body#elthosApp :is(#meetingChatPanel,#homeChatPanel) :is(#chatForm,#homeChatForm) {display:flex !important;align-items:flex-end !important;gap:8px !important;padding:10px !important;border:1px solid var(--tutor-border,#dedede) !important;border-radius:24px !important;box-shadow:0 2px 8px #00000005 !important;background:var(--panel,#fff) !important;min-height:0 !important;height:auto !important;flex-shrink:0;}
body#elthosApp :is(#meetingChatPanel,#homeChatPanel) :is(#chatInput,#homeChatInput) {resize:none !important;flex:1 !important;min-width:0 !important;width:auto !important;min-height:40px !important;max-height:160px !important;padding:9px 4px !important;margin:0 !important;border:0 !important;border-radius:0 !important;box-shadow:none !important;background:transparent !important;font:400 16px/1.5 ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif !important;color:var(--tutor-ink,#262626) !important;}
body#elthosApp :is(#meetingChatPanel,#homeChatPanel) :is(#chatButton,#homeChatButton) {position:relative !important;display:grid !important;place-items:center !important;flex:0 0 40px !important;width:40px !important;min-width:40px !important;max-width:40px !important;height:40px !important;min-height:40px !important;max-height:40px !important;padding:0 !important;border:0 !important;border-radius:50% !important;background:var(--tutor-ink,#222) !important;color:var(--panel,#fff) !important;box-shadow:none !important;font-size:22px !important;line-height:1 !important;}
body#elthosApp :is(#meetingChatPanel,#homeChatPanel) :is(#chatButton,#homeChatButton)::before {display:none !important;content:none !important;}
body#elthosApp #workspaceAnswer .tutor-progress {padding:0;border:0;background:transparent;box-shadow:none;font-size:14px;}
/* Presentation must never override the popup's closed state. */
body#elthosApp #homeChatPanel {display:none !important;}
body#elthosApp.home-view.home-ai-open #homeChatPanel[aria-hidden="false"] {display:flex !important;flex-direction:column !important;}
body#elthosApp #homeChatPanel .home-chat-header {flex:0 0 auto !important;}
body#elthosApp #homeChatPanel #homeChatMessages {flex:1 1 0 !important;min-height:0 !important;height:auto !important;max-height:none !important;overflow-y:auto !important;}
body#elthosApp #projectAnswer {border:0 !important;border-radius:0 !important;background:transparent !important;box-shadow:none !important;}
body#elthosApp :is(#chatMessages,#homeChatMessages,#projectAnswer,#workspaceAnswer) .tutor-prose :is(h2,h3,h4)::before,
body#elthosApp :is(#chatMessages,#homeChatMessages,#projectAnswer,#workspaceAnswer) .tutor-prose :is(h2,h3,h4)::after {display:none !important;content:none !important;}
body#elthosApp.project-detail-view .project-chat-card.has-chat-history .project-chat-top {display:block !important;visibility:visible !important;opacity:1 !important;}

/* Session chat: a single welcome region gives way to the conversation. */
body#elthosApp.session-detail-view .session-chat-shell #meetingChatPanel {
 padding:0 !important;gap:0 !important;
}
body#elthosApp.session-detail-view #meetingChatPanel .chat-panel-intro {
 padding:12px 20px !important;
}
body#elthosApp.session-detail-view #meetingChatPanel .chat-panel-title-row h3 {
 font-size:15px !important;font-weight:600 !important;letter-spacing:0 !important;
}
body#elthosApp.session-detail-view #meetingChatPanel .session-chat-welcome {
 display:flex;flex-direction:column;justify-content:center;flex:1 1 0;
 min-height:0;overflow-y:auto;padding:24px;gap:22px;flex-shrink:1 !important;
}
body#elthosApp.session-detail-view #meetingChatPanel .study-tutor-intro {
 padding:0 !important;margin:0 !important;text-align:center;flex:0 0 auto;
}
body#elthosApp.session-detail-view #meetingChatPanel .study-tutor-intro h3 {
 margin:0 0 10px !important;padding:0 !important;font-size:22px !important;
 line-height:1.3 !important;font-weight:600 !important;letter-spacing:-.5px !important;
}
body#elthosApp.session-detail-view #meetingChatPanel .study-tutor-intro h3::before,
body#elthosApp.session-detail-view #meetingChatPanel .study-tutor-intro h3::after {
 display:none !important;content:none !important;
}
body#elthosApp.session-detail-view #meetingChatPanel .study-tutor-intro p {
 margin:0 !important;font-size:13px !important;line-height:1.6 !important;color:var(--tutor-secondary) !important;
}
body#elthosApp.session-detail-view #meetingChatPanel #suggestionChips {
 justify-content:center !important;padding:0 !important;margin:0 !important;gap:8px !important;
}
body#elthosApp.session-detail-view #meetingChatPanel #suggestionChips button {
 padding:9px 12px !important;border-radius:18px !important;font-size:12px !important;
 color:var(--tutor-secondary) !important;border-color:var(--tutor-border) !important;
 transition:background 120ms ease;
}
body#elthosApp.session-detail-view #meetingChatPanel #suggestionChips button:hover {
 background:var(--tutor-soft) !important;color:var(--tutor-ink) !important;
}
/* The panel itself has no padding here, so the conversation carries its own gutter. */
body#elthosApp.session-detail-view .session-chat-shell #meetingChatPanel #chatMessages {
 padding:16px 24px 8px !important;box-sizing:border-box !important;
}
body#elthosApp.session-detail-view #meetingChatPanel #chatMessages:empty {
 display:none !important;
}
body#elthosApp.session-detail-view #meetingChatPanel #chatMessages:empty::before {
 display:none !important;content:none !important;
}
body#elthosApp.session-detail-view #meetingChatPanel.has-chat-history .session-chat-welcome,
body#elthosApp.session-detail-view #meetingChatPanel:has(#chatMessages > *) .session-chat-welcome {
 display:none !important;
}
body#elthosApp.session-detail-view #meetingChatPanel #chatForm {
 width:calc(100% - 32px) !important;min-width:0 !important;max-width:calc(100% - 32px) !important;box-sizing:border-box !important;
 margin:12px 16px 16px !important;padding:8px !important;border-radius:22px !important;
 background:var(--tutor-soft) !important;border-color:var(--tutor-border) !important;box-shadow:none !important;
}
body#elthosApp.session-detail-view #meetingChatPanel #chatInput {
 min-height:36px !important;font-size:14px !important;line-height:20px !important;padding:8px 4px !important;
}
body#elthosApp.session-detail-view #meetingChatPanel #chatInput::placeholder {color:var(--tutor-secondary);}
@media(max-width:720px) {
 body#elthosApp.session-detail-view .session-chat-shell #meetingChatPanel #chatMessages {padding:12px 16px 8px !important;}
 body#elthosApp.session-detail-view #meetingChatPanel .session-chat-welcome {padding:24px 20px;}
 body#elthosApp.session-detail-view #meetingChatPanel #chatInput {font-size:16px !important;}
 body#elthosApp.session-detail-view #meetingChatPanel #chatForm {margin-bottom:max(12px, env(safe-area-inset-bottom)) !important;}
}

.live-notes-feed {
  border-top: 1px solid var(--border, #deded9);
  padding: 20px 24px;
  max-height: 38vh;
  overflow-y: auto;
  line-height: 1.6;
}
.live-notes-content h2 { font-size: 18px; margin: 0 0 6px; }
.live-notes-content h3 { font-size: 15px; margin: 18px 0 6px; }
.live-notes-content p { opacity: .65; font-size: 13px; }
.live-notes-content li { margin-bottom: 8px; }

/* Shared study-note typography, independent of the chat panel. */
:is(#lecturePanel,#classSeriesWorkspace) .study-prose {min-width:0;line-height:1.8;overflow-wrap:anywhere;}
:is(#lecturePanel,#classSeriesWorkspace) .study-prose p {white-space:normal;margin:0 0 1em;}
:is(#lecturePanel,#classSeriesWorkspace) .study-prose :is(ul,ol) {padding-left:1.6em;margin:1em 0;}
:is(#lecturePanel,#classSeriesWorkspace) .study-prose li {display:list-item;margin:.4em 0;}
:is(#lecturePanel,#classSeriesWorkspace) .study-prose :is(h2,h3,h4) {margin:1.4em 0 .5em;font-size:1.05em;font-weight:600;}
:is(#lecturePanel,#classSeriesWorkspace) .study-prose .tutor-math-display {display:block;max-width:100%;overflow-x:auto;overflow-y:hidden;padding:.5em 0;margin:1em 0;}
:is(#lecturePanel,#classSeriesWorkspace) .study-prose .katex {font-size:1.12em;}
:is(#lecturePanel,#classSeriesWorkspace) .study-prose .tutor-table {overflow-x:auto;max-width:100%;}
:is(#lecturePanel,#classSeriesWorkspace) .study-prose :is(th,td) {padding:.6em;border:1px solid #ddd;text-align:left;}
:is(#lecturePanel,#classSeriesWorkspace) .study-prose table {border-collapse:collapse;width:100%;}
:is(#lecturePanel,#classSeriesWorkspace) .study-prose pre {overflow:auto;white-space:pre;padding:1em;background:#f5f5f3;}
:is(#lecturePanel,#classSeriesWorkspace) .study-question {font-weight:600;font-size:1.1em;}

/* ---- Answer typography: one system for every AI chat (session, home, project, tutor). ---- */
body#elthosApp .tutor-prose,
body.project-detail-view #projectAnswer .tutor-prose {font-size:15.5px;line-height:1.7;color:var(--text,#1f1f1f);overflow-wrap:anywhere;}
body#elthosApp .tutor-prose > :first-child,
body.project-detail-view #projectAnswer .tutor-prose > :first-child {margin-top:0 !important;}
body#elthosApp .tutor-prose > :last-child,
body.project-detail-view #projectAnswer .tutor-prose > :last-child {margin-bottom:0 !important;}
body#elthosApp .tutor-prose p,
body.project-detail-view #projectAnswer .tutor-prose p {margin:0 0 14px;}
body#elthosApp .tutor-prose :is(h1,h2,h3,h4),
body.project-detail-view #projectAnswer .tutor-prose :is(h1,h2,h3,h4) {margin:22px 0 8px;font-weight:650;letter-spacing:-.2px;line-height:1.3;color:var(--text,#1f1f1f);}
body#elthosApp .tutor-prose h2,body.project-detail-view #projectAnswer .tutor-prose h2 {font-size:18px;}
body#elthosApp .tutor-prose h3,body.project-detail-view #projectAnswer .tutor-prose h3 {font-size:16.5px;}
body#elthosApp .tutor-prose h4,body.project-detail-view #projectAnswer .tutor-prose h4 {font-size:15.5px;}
body#elthosApp .tutor-prose strong,
body.project-detail-view #projectAnswer .tutor-prose strong {font-weight:620;}
body#elthosApp .tutor-prose :is(ul,ol),
body.project-detail-view #projectAnswer .tutor-prose :is(ul,ol) {margin:4px 0 16px;padding-left:24px;}
body#elthosApp .tutor-prose li,
body.project-detail-view #projectAnswer .tutor-prose li {margin:0 0 8px;padding-left:2px;}
body#elthosApp .tutor-prose li > p,
body.project-detail-view #projectAnswer .tutor-prose li > p {margin:0 0 6px;}
body#elthosApp .tutor-prose li::marker,
body.project-detail-view #projectAnswer .tutor-prose li::marker {color:var(--muted,#8a8a8a);}
body#elthosApp .tutor-prose :is(ul,ol) :is(ul,ol),
body.project-detail-view #projectAnswer .tutor-prose :is(ul,ol) :is(ul,ol) {margin:6px 0 4px;}
body#elthosApp .tutor-prose code,
body.project-detail-view #projectAnswer .tutor-prose code {font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.9em;padding:2px 6px;border-radius:6px;background:var(--soft,#f2f2f2);color:var(--text,#1f1f1f);}
body#elthosApp .tutor-prose pre,
body.project-detail-view #projectAnswer .tutor-prose pre {margin:12px 0 18px;padding:14px 16px;border:1px solid var(--line,#e6e6e6);border-radius:12px;background:#f7f7f7;overflow-x:auto;font-size:13px;line-height:1.6;}
body#elthosApp .tutor-prose pre code,
body.project-detail-view #projectAnswer .tutor-prose pre code {padding:0;background:transparent;font-size:inherit;}
body#elthosApp .tutor-prose blockquote,
body.project-detail-view #projectAnswer .tutor-prose blockquote {margin:12px 0 16px;padding:2px 0 2px 14px;border-left:3px solid var(--line,#dcdcdc);color:var(--muted,#6b6b6b);}
body#elthosApp .tutor-prose hr,
body.project-detail-view #projectAnswer .tutor-prose hr {margin:20px 0;border:0;border-top:1px solid var(--line,#e6e6e6);}
body#elthosApp .tutor-prose a,
body.project-detail-view #projectAnswer .tutor-prose a {color:inherit;text-decoration:underline;text-decoration-color:#b9b9b9;text-underline-offset:3px;}
body#elthosApp .tutor-prose a:hover,
body.project-detail-view #projectAnswer .tutor-prose a:hover {text-decoration-color:currentColor;}
/* Tables read like a spreadsheet: hairlines, a quiet header, no outer box. */
body#elthosApp .tutor-prose .tutor-table,
body.project-detail-view #projectAnswer .tutor-prose .tutor-table {margin:12px 0 18px;overflow-x:auto;border:1px solid var(--line,#e6e6e6);border-radius:12px;}
body#elthosApp .tutor-prose table,
body.project-detail-view #projectAnswer .tutor-prose table {width:100%;border-collapse:collapse;font-size:14px;}
body#elthosApp .tutor-prose th,
body.project-detail-view #projectAnswer .tutor-prose th {text-align:left;font-weight:620;background:var(--soft,#f5f5f5);padding:9px 12px;border-bottom:1px solid var(--line,#e6e6e6);}
body#elthosApp .tutor-prose td,
body.project-detail-view #projectAnswer .tutor-prose td {padding:9px 12px;border-bottom:1px solid var(--line,#ededed);vertical-align:top;}
body#elthosApp .tutor-prose tr:last-child td,
body.project-detail-view #projectAnswer .tutor-prose tr:last-child td {border-bottom:0;}
/* Math: display equations get room and never overflow the panel. */
body#elthosApp .tutor-prose .katex-display,
body.project-detail-view #projectAnswer .tutor-prose .katex-display {margin:14px 0 18px;padding:6px 0;overflow-x:auto;overflow-y:hidden;}
body#elthosApp .tutor-prose .katex,
body.project-detail-view #projectAnswer .tutor-prose .katex {font-size:1.06em;}
body#elthosApp .tutor-prose .katex-display > .katex,
body.project-detail-view #projectAnswer .tutor-prose .katex-display > .katex {font-size:1.12em;}
/* Messages: assistant text flush left with a quiet divider between turns; user turns as a bubble. */
body#elthosApp :is(.chat-message,.home-chat-message).assistant + :is(.chat-message,.home-chat-message).user,
body.project-detail-view #projectAnswer :is(.chat-message,.home-chat-message).assistant + :is(.chat-message,.home-chat-message).user {margin-top:8px !important;}
body#elthosApp :is(.chat-message,.home-chat-message).user,
body.project-detail-view #projectAnswer :is(.chat-message,.home-chat-message).user {font-size:15px !important;line-height:1.6 !important;border-radius:18px !important;border-bottom-right-radius:6px !important;}
body#elthosApp :is(.chat-message,.home-chat-message).assistant,
body.project-detail-view #projectAnswer :is(.chat-message,.home-chat-message).assistant {padding:2px 0 4px !important;margin:8px 0 28px !important;}
/* Conversation excerpts under an answer: a small disclosure, not a block. */
body#elthosApp .session-evidence,
body.project-detail-view #projectAnswer .session-evidence {margin:10px 0 0;font-size:12.5px;color:var(--muted,#777);}
body#elthosApp .session-evidence summary,
body.project-detail-view #projectAnswer .session-evidence summary {cursor:pointer;display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border:1px solid var(--line,#e6e6e6);border-radius:999px;list-style:none;}
body#elthosApp .session-evidence summary::-webkit-details-marker,
body.project-detail-view #projectAnswer .session-evidence summary::-webkit-details-marker {display:none;}
body#elthosApp .session-evidence blockquote,
body.project-detail-view #projectAnswer .session-evidence blockquote {margin:10px 0;padding-left:12px;border-left:2px solid var(--line,#ddd);font-style:normal;}
/* Composer: pill with the attach button and a round send button. */
body.project-detail-view #projectChatForm,
body#elthosApp #chatForm {padding:8px 8px 8px 12px !important;border-radius:26px !important;box-shadow:0 1px 2px #0000000a,0 8px 24px #00000008 !important;}
body#elthosApp #chatButton {width:38px !important;min-width:38px !important;height:38px !important;padding:0 !important;border:0 !important;border-radius:50% !important;background:var(--text,#222) !important;color:var(--panel,#fff) !important;font-size:20px !important;display:inline-grid !important;place-items:center !important;}
body#elthosApp #chatForm .chat-file-button,
body.project-detail-view #projectChatForm .chat-file-button {color:var(--muted,#777) !important;}
/* Attachments: pending chips above the composer; files and photos under a sent message. */
body#elthosApp .chat-attachments.has-files {display:flex !important;flex-wrap:wrap !important;align-items:center;gap:8px !important;flex-shrink:0;}
body#elthosApp #chatAttachmentList.has-files {margin:0 0 8px !important;padding:0 2px;}
body.project-detail-view .project-chat-card .chat-attachments.has-files {order:4;margin:0 0 8px;}
body#elthosApp .chat-attachment-chip {max-width:100%;min-height:34px;padding:3px 10px 3px 4px !important;gap:8px;border-radius:12px !important;border:1px solid var(--tutor-border,#e5e5e5) !important;background:var(--tutor-soft,#f4f4f4) !important;color:var(--tutor-ink,#262626) !important;font-size:13px !important;font-weight:400 !important;box-shadow:none !important;cursor:pointer;}
body#elthosApp .chat-attachment-chip img {width:28px;height:28px;border-radius:8px;object-fit:cover;flex:0 0 28px;}
body#elthosApp .chat-attachment-chip span:first-of-type {max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;padding-left:8px;}
body#elthosApp .chat-attachment-chip img + span {padding-left:0;}
body#elthosApp .chat-attachment-note {flex-basis:100%;margin:0;font-size:12.5px;line-height:1.4;color:var(--tutor-secondary,#6b6b6b);}
body#elthosApp .chat-message.user .chat-message-files {display:flex;flex-wrap:wrap;gap:8px;margin-top:10px;padding-top:0;border-top:0;font-size:12.5px;opacity:1;}
body#elthosApp .chat-message-file {display:inline-flex;align-items:center;max-width:100%;padding:4px 10px;border:1px solid var(--tutor-border,#e5e5e5);border-radius:10px;background:var(--panel,#fff);color:var(--tutor-secondary,#6b6b6b);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
body#elthosApp .chat-message-image {display:block;width:132px;height:132px;border-radius:12px;overflow:hidden;background:var(--tutor-border,#e5e5e5);}
body#elthosApp .chat-message-image img {display:block;width:100%;height:100%;object-fit:cover;}
body#elthosApp .chat-drop-active {outline:2px dashed var(--tutor-secondary,#8b8b8b) !important;outline-offset:-6px;}
/* Comparison tables keep readable columns and scroll sideways instead of squeezing the text. */
body#elthosApp .tutor-prose .tutor-table :is(th,td) {min-width:7em;}
body#elthosApp .tutor-prose .tutor-table table:has(tr > :nth-child(3)) :is(th,td):not(:first-child) {min-width:13em;}
