.message-content { min-width: 0; line-height: 1.7; white-space: normal; }
.message-content > :first-child { margin-top: 0; }
.message-content > :last-child { margin-bottom: 0; }
.message-content p { margin: 0 0 0.9em; white-space: pre-wrap; }
.message-content > :is(p, ul, ol, blockquote) { max-width: 75ch; }
.message-content h1, .message-content h2, .message-content h3, .message-content h4, .message-content h5, .message-content h6 { margin: 1.5em 0 0.55em; font-weight: 600; line-height: 1.35; letter-spacing: -0.02em; text-wrap: pretty; }
.message-content h1 { font-size: 1.55em; }
.message-content h2 { font-size: 1.3em; }
.message-content h3 { font-size: 1.13em; }
.message-content h4, .message-content h5, .message-content h6 { font-size: 1em; }
.message-content strong { font-weight: 600; }
.message-content a { color: inherit; text-decoration: underline; text-decoration-color: var(--muted); text-underline-offset: calc(3rem / 13); overflow-wrap: anywhere; }
.message-content a:hover { text-decoration-color: currentColor; }
.message-content :is(a, button, .message-table-scroll):focus-visible { outline: 2px solid var(--focus); outline-offset: calc(3rem / 13); }
.message-content :not(pre) > code { padding: 0.16em 0.36em; border-radius: calc(4rem / 13); background: var(--panel); font: 0.88em/1.5 ui-monospace, SFMono-Regular, Menlo, monospace; white-space: break-spaces; }
.message-content ul, .message-content ol { margin: 0.65em 0 1em; padding-left: 1.65em; }
.message-content li { margin: 0.32em 0; padding-left: 0.15em; }
.message-content li > :is(ul, ol) { margin: 0.4em 0; }
.message-content li > p:last-child { margin-bottom: 0; }
.message-content li::marker { color: var(--muted); font-variant-numeric: tabular-nums; }
.message-content .message-task { list-style: none; position: relative; }
.message-content .message-task > input { position: absolute; width: 1rem; height: 1rem; left: -1.5em; top: 0.4em; margin: 0; accent-color: var(--text); opacity: 1; }
.message-content blockquote { margin: 1em 0; padding: 0.1em 0 0.1em 1.15em; border-left: 1px solid var(--line); color: var(--muted); }
.message-content blockquote > :last-child { margin-bottom: 0; }
.message-content hr { height: 0; margin: 1.6em 0; border: 0; border-top: 1px solid var(--line); }
.message-content .message-code { margin: 1em 0; border: 1px solid var(--line); border-radius: calc(10rem / 13); overflow: hidden; background: var(--panel); }
.message-content .message-code-header { display: flex; align-items: center; justify-content: space-between; min-height: calc(36rem / 13); padding: calc(4rem / 13) calc(8rem / 13) calc(4rem / 13) calc(14rem / 13); border-bottom: 1px solid var(--line); gap: calc(12rem / 13); }
.message-content .message-code-language { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font: 500 var(--font-secondary)/1.5 "Inter Variable", sans-serif; color: var(--muted); }
.message-content .message-code-copy { flex: 0 0 auto; min-height: calc(28rem / 13); border: 0; background: transparent; color: var(--muted); font: 500 var(--font-ui)/1.5 "Inter Variable", sans-serif; border-radius: calc(5rem / 13); padding: calc(4rem / 13) calc(8rem / 13); cursor: pointer; }
.message-content .message-code-copy:hover { color: var(--text); background: var(--panel-deep); }
.message-content .message-code-copy:disabled { cursor: wait; opacity: 0.55; }
.message-content .message-code pre { margin: 0; padding: calc(14rem / 13); border: 0; border-radius: 0; max-width: 100%; overflow-x: auto; overscroll-behavior-x: contain; white-space: pre; font: var(--font-secondary)/1.7 ui-monospace, SFMono-Regular, Menlo, monospace; background: transparent; }
.message-content .message-code code { font: inherit; }
.message-content .message-table-scroll { max-width: 100%; margin: 1em 0; overflow-x: auto; overscroll-behavior-x: contain; border: 1px solid var(--line); border-radius: calc(8rem / 13); }
.message-content table { width: 100%; border-collapse: collapse; font-size: 0.92em; text-align: left; }
.message-content th, .message-content td { padding: calc(8rem / 13) calc(12rem / 13); min-width: 80px; border-bottom: 1px solid var(--line); vertical-align: top; overflow-wrap: normal; }
.message-content th { background: var(--panel); font-weight: 600; white-space: nowrap; }
.message-content tbody tr:last-child td { border-bottom: 0; }
.message-content .message-image-label, .message-content .message-preview-limit { color: var(--muted); font-size: 0.9em; }
@media (max-width: 720px), (pointer: coarse) { .message-content .message-code-copy { min-height: calc(44rem / 13); padding-inline: calc(12rem / 13); } }
