/* One brand palette for primary actions, including legacy template classes. */
html[data-theme] :is(.pil-primary-button, .btn-submit, .citation-button--primary, .qa-sample-action-primary, .policy-new-chat, .prompt-chip.is-selected, #sendButton, #centeredSendButton) {
  background: var(--pil-maroon) !important;
  border-color: var(--pil-maroon) !important;
  color: #fff !important;
  filter: none;
  box-shadow: 0 4px 14px rgb(97 34 59 / 16%);
  transition: background-color 180ms ease, border-color 180ms ease, box-shadow 180ms ease, transform 180ms ease;
}

html[data-theme] :is(.pil-primary-button, .btn-submit, .citation-button--primary, .qa-sample-action-primary, .policy-new-chat, .prompt-chip.is-selected, #sendButton, #centeredSendButton):not(:disabled):not([aria-disabled="true"]):hover {
  background: var(--pil-maroon-hover) !important;
  border-color: var(--pil-maroon-hover) !important;
  color: #fff !important;
  filter: none;
  box-shadow: 0 6px 18px rgb(97 34 59 / 22%);
}

html[data-theme] :is(.pil-primary-button, .btn-submit, .citation-button--primary, .qa-sample-action-primary, .policy-new-chat, .prompt-chip.is-selected, #sendButton, #centeredSendButton):not(:disabled):not([aria-disabled="true"]):active {
  background: var(--pil-maroon-pressed) !important;
  border-color: var(--pil-maroon-pressed) !important;
  transform: none;
}

html[data-theme] :is(.pil-primary-button, .btn-submit, .citation-button--primary, .qa-sample-action-primary, .policy-new-chat, .prompt-chip.is-selected, #sendButton, #centeredSendButton):focus-visible {
  outline: 3px solid var(--pil-form-accent-text);
  outline-offset: 3px;
}

html[data-theme] :is(.pil-primary-button, .btn-submit, .citation-button--primary, .qa-sample-action-primary, .policy-new-chat, .prompt-chip.is-selected, #sendButton, #centeredSendButton):is(:disabled, [aria-disabled="true"]) {
  opacity: .55;
  cursor: not-allowed;
  box-shadow: none;
  transform: none;
}

html[data-theme] :is(.pil-outline-button, .btn-secondary, .btn-example) {
  border: 1px solid var(--pil-form-accent-text);
  background: var(--pil-form-surface);
  color: var(--pil-form-accent-text);
  transition: background-color 180ms ease, border-color 180ms ease;
}
html[data-theme] :is(.pil-outline-button, .btn-secondary, .btn-example):hover {
  background: var(--pil-form-accent-bg);
  border-color: var(--pil-form-accent-text);
  color: var(--pil-form-accent-text);
}
html[data-theme] :is(.pil-outline-button, .btn-secondary, .btn-example):focus-visible {
  outline: 3px solid var(--pil-form-accent-text);
  outline-offset: 3px;
}

/* Tailwind's reset removes list/heading styles; restore them only in results. */
.pil-markdown-output {
  min-width: 0;
  max-width: 100%;
  padding: 1.25rem;
  border: 1px solid var(--pil-form-border-strong);
  border-radius: .75rem;
  background: var(--pil-form-surface);
  color: var(--pil-form-text);
  font: inherit;
  font-size: .875rem;
  line-height: 1.75;
  overflow-wrap: anywhere;
}

.pil-markdown-output--inline {
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
}

.pil-markdown-output > :first-child { margin-top: 0; }
.pil-markdown-output > :last-child { margin-bottom: 0; }
.pil-markdown-output :is(p, ul, ol, blockquote, pre, table) { margin-block: 0 1rem; }
.pil-markdown-output :is(h1, h2, h3, h4, h5, h6) { margin-block: 1.5rem .65rem; font-weight: 700; line-height: 1.4; color: var(--pil-body-text); }
.pil-markdown-output h1 { font-size: 1.5rem; }
.pil-markdown-output h2 { font-size: 1.25rem; }
.pil-markdown-output h3 { font-size: 1.125rem; }
.pil-markdown-output :is(h4, h5, h6) { font-size: 1rem; }
.pil-markdown-output ul { list-style: disc; padding-left: 1.5rem; }
.pil-markdown-output ol { list-style: decimal; padding-left: 1.5rem; }
.pil-markdown-output li { margin-block: .35rem; }
.pil-markdown-output li > :is(ul, ol) { margin-block: .4rem 0; }
.pil-markdown-output strong { font-weight: 700; }
.pil-markdown-output em { font-style: italic; }
.pil-markdown-output a { color: var(--pil-form-accent-text); text-decoration: underline; text-underline-offset: .15em; }
.pil-markdown-output blockquote { border-left: 3px solid var(--pil-form-accent-text); padding-left: 1rem; color: var(--pil-form-text-muted); }
.pil-markdown-output code { padding: .12rem .3rem; border-radius: .25rem; background: var(--pil-form-surface-muted); font-family: ui-monospace, monospace; }
.pil-markdown-output pre { max-width: 100%; overflow-x: auto; padding: 1rem; border-radius: .5rem; background: var(--pil-form-surface-muted); white-space: pre; }
.pil-markdown-output pre code { padding: 0; background: transparent; }
.pil-markdown-output table { display: block; max-width: 100%; overflow-x: auto; border-collapse: collapse; }
.pil-markdown-output :is(th, td) { border: 1px solid var(--pil-form-border-strong); padding: .5rem .75rem; text-align: left; }
.pil-markdown-output th { font-weight: 700; background: var(--pil-form-surface-muted); }
.pil-markdown-output hr { border: 0; border-top: 1px solid var(--pil-form-border-strong); margin-block: 1rem; }

@media (prefers-reduced-motion: reduce) {
  html[data-theme] :is(.pil-primary-button, .btn-submit, .citation-button--primary, .qa-sample-action-primary, .policy-new-chat, .prompt-chip.is-selected, #sendButton, #centeredSendButton) {
    transition: none;
    transform: none;
  }
}
