.msg{display:flex;flex-direction:column;gap:var(--space-4)}.msg--user{align-self:flex-end;align-items:flex-end;max-inline-size:75%}.msg--assistant{align-self:stretch;align-items:flex-start;max-inline-size:100%}.msg--system{align-self:flex-start;align-items:flex-start;max-inline-size:75%}.msg--editing{align-self:stretch;align-items:stretch;max-inline-size:100%}.msg__body{font-size:var(--text-body);line-height:1.65;min-inline-size:0}.msg--streaming .msg__body:after,.msg--streaming [data-stream-caret]:after{content:"";display:inline-block;inline-size:.5em;block-size:1.05em;margin-inline-start:var(--space-2);vertical-align:text-bottom;background-color:var(--accent-primary);border-radius:var(--radius-sm);animation:msg-caret 1s step-end infinite}@keyframes msg-caret{50%{opacity:0}}@media (prefers-reduced-motion:reduce){.msg--streaming .msg__body:after,.msg--streaming [data-stream-caret]:after{animation:none}}.msg--user .msg__body{background-color:var(--surface-hover);color:var(--text-secondary);padding-block:var(--space-8);padding-inline:var(--space-16);border-radius:var(--radius-card)}.msg--assistant .msg__body{color:var(--text-primary);padding-block:var(--space-2)}.msg--system .msg__body{background-color:var(--surface-sunken);color:var(--text-secondary);font-size:var(--text-micro);padding-block:var(--space-4);padding-inline:var(--space-6);border-radius:var(--radius-card)}.msg-actions{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-2);--mact-i:7}.msg-actions__more{display:inline-flex}.msg-actions__btn{color:var(--text-muted)}.msg-actions__btn:is(:hover,:focus-visible){color:var(--text-primary)}.msg-actions__btn[data-icon=regenerate]{--rg-rest:0deg}.msg-actions__btn[data-icon=regenerate]:is(:hover,:focus-visible){--rg-rest:-40deg}.msg-actions__btn[data-icon=regenerate] .thryve-icon{rotate:var(--rg-rest)}.msg-actions__btn[data-icon=regenerate].is-spin .thryve-icon{animation:rg-spin .7s var(--ease-spring)}@keyframes rg-spin{0%{rotate:var(--rg-rest)}to{rotate:calc(var(--rg-rest) - 1turn)}}.msg-actions__btn:is([data-icon=thumbs-up],[data-icon=thumbs-down]) .thryve-icon{transform-origin:30% 80%}.msg-actions__btn[data-icon=thumbs-up]:is(:hover,:focus-visible) .thryve-icon{rotate:-10deg}.msg-actions__btn[data-icon=thumbs-down]:is(:hover,:focus-visible) .thryve-icon{rotate:10deg}.msg-actions__btn[data-icon=arrow-branch] .thryve-icon{transform-origin:20% 100%}.msg-actions__btn[data-icon=arrow-branch]:is(:hover,:focus-visible) .thryve-icon{rotate:-12deg}.msg-actions__btn[aria-pressed=true]{--k-stand:1;color:var(--kit-ink)}.msg-actions__btn[aria-pressed=true]:not(.is-down){--ky:-1px}.msg-actions__btn[aria-pressed=true]:before{opacity:1}.msg-actions__btn[aria-pressed=true] .thryve-icon path{fill:color-mix(in srgb,var(--accent-primary) 22%,transparent)}.msg-actions__ok{position:absolute;inset:0;z-index:1;margin:auto;inline-size:var(--space-16);block-size:var(--space-16);fill:none;stroke:currentColor;stroke-width:2.6;stroke-linecap:round;stroke-linejoin:round;opacity:0;pointer-events:none}.msg-actions__ok path{stroke-dasharray:1;stroke-dashoffset:1}.msg-actions__btn[data-icon=copy]:is(:hover,:focus-visible) .msg-actions__ok{translate:1px 1px}.msg-actions__btn.is-done .msg-actions__ok{opacity:1}.msg-actions__btn.is-done .msg-actions__ok path{animation:k-draw .3s ease-out forwards}.msg-actions__btn.is-done .thryve-icon path:first-child{transform-box:fill-box;animation:cp-peel .45s var(--ease-spring)}@keyframes cp-peel{0%{transform:translate(1.2px,1.2px)}40%{transform:translate(3px,3px) rotate(4deg)}to{transform:none}}.msg-actions__copied{margin-inline-start:var(--space-4);font-size:var(--text-caption);font-weight:var(--font-weight-medium);color:var(--kit-ink);opacity:0;translate:calc(-1 * var(--space-4)) 0;transition:opacity .2s ease,translate .3s var(--ease-spring)}[dir=rtl] .msg-actions__copied{translate:var(--space-4) 0}.msg-actions__copied[data-on]{opacity:1;translate:none}.msg__sr-status{position:absolute;inline-size:1px;block-size:1px;margin:-1px;padding:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}.msg-actions__reasons-slot{flex:0 0 100%;min-inline-size:0;padding-block-start:var(--space-4)}.msg-actions__reasons{display:grid;gap:var(--space-8);inline-size:min(20rem,100%);padding:var(--space-12);border-radius:var(--space-16);background:var(--surface-elevated);border:1px solid var(--border-default);box-shadow:var(--shadow-2);transform-origin:var(--space-40) 0;animation:thryve-unfold .3s var(--ease-spring)}.msg-actions__reason-prompt{margin:0;font-size:var(--text-caption);font-weight:600;color:var(--text-secondary)}.msg-actions__reason-list{display:flex;flex-wrap:wrap;gap:var(--space-6)}.thryve-btn.msg-actions__reason{block-size:30px;padding-inline:var(--space-12);font-size:var(--text-caption);font-weight:var(--font-weight-regular);color:var(--text-secondary);animation:thryve-arrive calc(.5s * var(--kit-dur)) var(--ease-spring) both;animation-delay:calc(var(--mact-i, 0) * 40ms)}.thryve-btn.msg-actions__reason[aria-pressed=true]{--k-base:color-mix(in srgb,var(--accent-primary) 45%,var(--surface-elevated));--k-stand:1;background-color:var(--qs-border-subtle);color:var(--accent-primary);font-weight:var(--font-weight-medium)}.thryve-btn.msg-actions__reason[aria-pressed=true]:not(.is-down){--ky:-1px}.msg-actions__reason-done{display:flex;align-items:center;gap:var(--space-8);font-size:var(--text-caption);color:var(--text-secondary)}.msg-actions__reason-done svg{flex:none;inline-size:var(--space-16);block-size:var(--space-16);fill:none;stroke:var(--kit-ink);stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round}.msg-actions__reason-done path{stroke-dasharray:1;stroke-dashoffset:1;animation:k-draw .32s var(--ease-draw) forwards}@media (prefers-reduced-motion:reduce){.msg-actions .msg-actions__btn,.msg-actions .msg-actions__btn.is-down,.msg-actions>*,.msg-actions__btn .thryve-icon,.msg-actions__copied{transition:none}.msg-actions .msg-actions__btn{translate:none}.msg-actions__btn .thryve-icon,.msg-actions__btn.is-done .msg-actions__ok path,.msg-actions__btn.is-done .thryve-icon path:first-child,.msg-actions__reason-done path,.msg-actions__reasons,.thryve-btn.msg-actions__reason{animation:none}.msg-actions__btn .thryve-icon{rotate:none}.msg-actions__btn.is-done .msg-actions__ok path,.msg-actions__reason-done path{stroke-dashoffset:0}.msg-actions__copied{translate:none}}.thryve-menu.msg-regen-menu{padding:0;border-radius:var(--radius-card)}.msg-regen{display:flex;flex-direction:column;gap:var(--space-12);padding:var(--space-20);min-inline-size:20rem;max-inline-size:26rem}.msg-regen__title{margin:0;font-size:var(--text-body);font-weight:600;color:var(--text-primary)}.msg-regen__presets{display:flex;flex-wrap:wrap;gap:var(--space-8)}.thryve-btn.msg-regen__preset{background-color:var(--surface-info);color:var(--accent-primary);border-radius:var(--radius-control);padding-block:var(--space-8);padding-inline:var(--space-16);font-weight:600;white-space:nowrap}.thryve-btn.msg-regen__preset:hover:not(:disabled){background-color:var(--surface-hover);color:var(--accent-primary-hover)}.msg-regen__custom{display:flex;align-items:center;gap:var(--space-4);border:1px solid var(--border-default);border-radius:var(--radius-pill);padding-inline:var(--space-6);padding-block:var(--space-4);background-color:var(--surface-elevated)}.thryve-input.msg-regen__field{flex:1 1 auto;inline-size:auto;min-inline-size:0;border-color:transparent;background-color:transparent;padding-inline:var(--space-8)}.thryve-input.msg-regen__field:focus,.thryve-input.msg-regen__field:focus-visible,.thryve-input.msg-regen__field:hover{border-color:transparent;outline:none}.msg-regen__custom:focus-within{border-color:var(--accent-primary)}.thryve-icon-btn.msg-regen__submit{flex:0 0 auto;border-radius:var(--radius-pill);background-color:var(--surface-info);color:var(--accent-primary)}.thryve-icon-btn.msg-regen__submit:hover:not(:disabled){background-color:var(--surface-hover);color:var(--accent-primary-hover)}.msg-editor{display:flex;flex-direction:column;gap:var(--space-8);inline-size:100%;min-inline-size:18rem}.msg-editor__field{resize:none;overflow:hidden}.msg-editor__actions{display:flex;justify-content:flex-end;gap:var(--space-8)}.rich-text{display:flow-root;font-size:var(--text-body);line-height:1.65;overflow-wrap:anywhere}.rich-text>*{margin-block:var(--space-8)}.rich-text>:first-child{margin-block-start:0}.rich-text>:last-child{margin-block-end:0}.rich-text__paragraph{margin-block:var(--space-8)}.rich-text__heading{font-weight:var(--font-weight-semibold);line-height:1.3;margin-block:var(--space-16) var(--space-6)}h3.rich-text__heading{font-size:var(--text-title)}h4.rich-text__heading{font-size:var(--text-body-medium)}h5.rich-text__heading{font-size:var(--text-body)}.rich-text__quote{border-inline-start:3px solid var(--border-accent);padding-inline-start:var(--space-12);color:var(--text-secondary);font-style:italic}.rich-text__divider{border:0;border-block-start:1px solid var(--border-subtle);margin-block:var(--space-16)}.rich-text__list{padding-inline-start:var(--space-24);margin-block:var(--space-8)}.rich-text__checklist-item,.rich-text__list-item{margin-block:var(--space-2)}.rich-text__list--checklist{list-style:none;padding-inline-start:0}.rich-text__checklist-item{display:flex;align-items:flex-start;gap:var(--space-8)}.rich-text__checkbox{margin-block-start:.2em;flex-shrink:0}.rich-text__code{padding-inline:var(--space-4);padding-block:.1em;border-radius:var(--radius-sm)}.rich-text__code,.rich-text__pre{font-family:var(--font-mono);font-size:.9em;background-color:var(--surface-sunken)}.rich-text__pre{line-height:1.5;border:1px solid var(--border-subtle);border-radius:var(--radius-card);padding:var(--space-12);overflow-x:auto;white-space:pre}.rich-text__pre code{font-family:inherit;background:none;padding:0}.rich-text__link{color:var(--accent-primary);text-decoration:underline;text-underline-offset:.15em}.rich-text__link:hover{color:var(--accent-primary-hover)}.thryve-cite.rich-text__cite.bsrc-cite-on:after{opacity:1}.thryve-cite.rich-text__cite.bsrc-cite-on>span{transform:translateY(-1px);background:color-mix(in srgb,var(--accent-primary) 18%,var(--surface-elevated))}.rich-text__cite--static{margin-inline-start:var(--space-2);color:var(--text-secondary);font-size:var(--text-micro);font-weight:var(--font-weight-medium);line-height:1}@keyframes cite-highlight{0%,to{transform:translateX(0)}15%,55%{transform:translateX(calc(-1 * var(--space-4)))}35%,75%{transform:translateX(var(--space-4))}}.cite-highlight{animation:cite-highlight .55s var(--ease-default)}@media (prefers-reduced-motion:reduce){.cite-highlight{animation:none;outline:var(--focus-ring-width) solid var(--accent-primary);outline-offset:var(--focus-ring-offset)}}.rich-text__table-scroll{overflow-x:auto;margin-block:var(--space-8)}.rich-text__table{inline-size:100%;border-collapse:collapse;font-size:var(--text-caption)}.rich-text__table td,.rich-text__table th{padding-block:var(--space-6);padding-inline:var(--space-8);border:1px solid var(--border-subtle);text-align:start;vertical-align:top}.rich-text__table th{background-color:var(--surface-sunken);font-weight:var(--font-weight-semibold);color:var(--text-primary);white-space:nowrap}.rich-text__table [data-align=center]{text-align:center}.rich-text__table [data-align=right]{text-align:end}.rich-text__table [data-align=left]{text-align:start}.rich-text__math .katex{color:inherit}.rich-text__math--display{display:block;margin-block:var(--space-12);overflow-x:auto;overflow-y:hidden;padding-block:var(--space-4);text-align:center}.rich-text__math--display .katex-display{margin:0}.rich-inline{overflow-wrap:anywhere}.rich-inline .rich-text__math--display{margin-block:var(--space-6)}.rich-text.rich-text--inherit{font-size:inherit;line-height:inherit}.msg-versions{display:inline-flex;align-items:center;gap:var(--space-2);color:var(--text-muted)}.msg-versions__count{font-size:var(--text-micro);font-variant-numeric:tabular-nums;min-width:var(--space-8);text-align:center}.msg-versions__btn{color:var(--text-muted)}.msg-versions__btn:hover:not(:disabled){color:var(--text-primary)}.msg-row:has(.msg-versions) .msg-actions{opacity:1}.msg-tombstone{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-4);border:1px dashed var(--border-subtle);border-radius:var(--radius-sm);color:var(--text-muted);font-size:var(--text-caption);font-style:italic}.rich-text__mention{padding-inline:var(--space-4);border-radius:var(--radius-sm);background:color-mix(in srgb,var(--accent-primary) 12%,transparent);color:var(--accent-primary);font-weight:var(--font-weight-medium);text-decoration:none;white-space:nowrap}.rich-text__mention:hover{background:color-mix(in srgb,var(--accent-primary) 20%,transparent)}.rich-text__mention:focus-visible{outline:var(--focus-ring-width) solid var(--focus-ring-color);outline-offset:1px}