/* Helly answer typography. All accents follow the member's selected theme. */
:root {
  --answer-space: .8em;
  --answer-section-space: 1.35em;
  --answer-table-cell: .7em .85em;
  --answer-table-min-cell: 7rem;
  --answer-radius: 8px;
  --answer-focus: 2px;
  --answer-citation-size: 1.5em;
  --answer-citation-target: 24px;
}
.chat-markdown { color:var(--ink); text-wrap:pretty; }
.chat-markdown p { margin:0 0 var(--answer-space); }
.chat-markdown :is(h3,h4,h5,h6) {
  margin:var(--answer-section-space) 0 .55em;
  font-weight:700; line-height:1.45; letter-spacing:-.015em; color:var(--ink);
}
.chat-markdown h3 { font-size:1.12em; }
.chat-markdown h4 { font-size:1.04em; }
.chat-markdown :is(h5,h6) { font-size:1em; }
.chat-markdown > :first-child { margin-block-start:0; }
.chat-markdown > :last-child { margin-block-end:0; }
.chat-markdown strong { font-weight:700; color:var(--teal); }
.chat-markdown :is(h3,h4,h5,h6) strong { color:inherit; }
.chat-markdown :is(ul,ol) { margin:.55em 0 var(--answer-space); padding-inline-start:1.65em; }
.chat-markdown li { padding-inline-start:.15em; }
.chat-markdown li+li { margin-block-start:.3em; }
.chat-markdown li::marker { color:var(--teal); font-weight:600; }
.chat-markdown a { color:var(--teal); text-decoration-thickness:1px; text-underline-offset:.2em; overflow-wrap:anywhere; }
.chat-markdown a:hover { text-decoration-thickness:2px; }
.chat-markdown :is(a,.chat-table):focus-visible { outline:var(--answer-focus) solid var(--teal); outline-offset:3px; border-radius:3px; }
.chat-markdown .chat-screen-link { font-weight:600; }
.chat-markdown a.chat-citation {
  display:inline-flex; align-items:center; justify-content:center;
  min-inline-size:max(var(--answer-citation-size),var(--answer-citation-target)); min-block-size:max(var(--answer-citation-size),var(--answer-citation-target));
  padding:0 .3em; margin-inline:.1em; border-radius:4px;
  background:var(--mint); color:var(--teal-dark); font-size:.78em;
  font-weight:650; font-variant-numeric:tabular-nums; vertical-align:baseline; text-decoration:none;
}
.chat-markdown blockquote {
  margin:var(--answer-space) 0; padding:.65em .9em; border-inline-start:3px solid var(--teal);
  border-radius:0 var(--answer-radius) var(--answer-radius) 0;
  background:var(--canvas); color:var(--ink); font-size:.95em;
}
.chat-markdown hr { border:0; border-block-start:1px solid var(--line); margin:var(--answer-section-space) 0; }
.chat-markdown pre { margin:var(--answer-space) 0; border-radius:var(--answer-radius); overscroll-behavior-x:contain; }
/* Editorial tables: no vertical grid or enclosing box; a stronger header rule. */
.chat-markdown .chat-table {
  margin:var(--answer-space) 0; border:0; border-radius:0; overflow:auto;
  overscroll-behavior-x:contain; scrollbar-width:thin; scrollbar-color:var(--line) transparent;
}
.chat-markdown table { width:100%; min-width:100%; border-collapse:collapse; font-size:.93em; line-height:1.55; }
.chat-markdown :is(th,td) { padding:var(--answer-table-cell); border:0; border-block-end:1px solid var(--line); vertical-align:top; min-width:var(--answer-table-min-cell); text-align:start; }
.chat-markdown thead th { background:var(--canvas); color:var(--ink); font-weight:650; border-block-end:2px solid var(--line); }
.chat-markdown tbody tr:last-child td { border-block-end:1px solid var(--line); }
.chat-markdown tbody tr:hover { background:var(--canvas); }
.chat-markdown .chat-align-end { text-align:end; font-variant-numeric:tabular-nums; }
.chat-markdown .chat-align-center { text-align:center; }
.chat-source-icons { align-items:center; flex-wrap:wrap; gap:6px; margin-block-start:.65em; }
.chat-source-icon.button { position:relative; background:transparent; color:var(--muted); border-color:transparent; }
.chat-source-icon.button:is(:hover,:focus-visible,[aria-expanded="true"]) { background:var(--canvas); color:var(--teal); border-color:var(--line); }
.chat-source-count { position:absolute; inset-block-start:1px; inset-inline-end:1px; min-width:1.2em; border-radius:4px; padding:0 .15em; background:var(--surface); color:var(--muted); font-size:.62rem; line-height:1.3; font-variant-numeric:tabular-nums; }
@media(max-width:600px) {
  .chat-markdown { --answer-table-cell:.65em .7em; --answer-table-min-cell:6.5rem; }
  .chat-markdown table { font-size:.9em; }
}
@media(prefers-reduced-motion:reduce) { .chat-markdown { scroll-behavior:auto; } }
@media(forced-colors:active) { .chat-markdown a.chat-citation,.chat-source-icon.button { border:1px solid ButtonText; } }
