/*
 * Orchestrator product layer: chat shell, conversation list, thread, messages and composer.
 * Load order: assets/orc-ui/components.css, assets/orc/tokens.css, then this file (unlayered, so it wins
 * over the baseline layers). Baseline blocks are composed here through their own custom properties and
 * never restyled globally.
 */

/* ---------- Utilities ---------- */

.orc-sr-only {
  position: absolute;
  inline-size: var(--orc-hairline);
  block-size: var(--orc-hairline);
  margin: calc(-1 * var(--orc-hairline));
  padding: 0;
  overflow: hidden;
  border: 0;
  clip-path: inset(50%);
  white-space: nowrap;
}

.orc-reference {
  display: block;
  margin-block-start: var(--space-1);
  color: var(--orc-reference-fg);
  font-size: var(--orc-text-meta-size);
  font-variant-numeric: tabular-nums;
  line-height: var(--orc-text-meta-leading);
  overflow-wrap: anywhere;
}

.orc-reference__id {
  user-select: all;
}

/* ---------- Product scope: focus ring, field edges, unavailable buttons ---------- */

/* The baseline ring (1.29:1), field border (1.58:1) and placeholder (2.52:1) are too faint. Inside its own
   scope the product points the baseline's custom properties at product values; assets/orc-ui is unchanged. */
.orc-shell,
.login-page {
  --focus-ring: var(--orc-focus-ring);
  --input-focus-shadow: var(--orc-focus-ring);
  --input-invalid-shadow: var(--orc-focus-ring);
}

.orc-composer,
.login-form {
  --input-border: var(--orc-field-border);
  --input-placeholder: var(--orc-field-placeholder);
}

/* Unavailable, not busy: readable muted colours instead of the baseline fade. Busy buttons keep the fade. */
:is(.orc-shell, .login-page) .button:is(:disabled, [aria-disabled="true"]):not([aria-busy="true"]) {
  --button-primary-bg: var(--orc-disabled-bg);
  --button-primary-border: var(--orc-disabled-border);
  --button-primary-fg: var(--orc-disabled-fg);
  --button-secondary-bg: var(--orc-disabled-bg);
  --button-secondary-border: var(--orc-disabled-border);
  --button-secondary-fg: var(--orc-disabled-fg);
  --button-destructive-bg: var(--orc-disabled-bg);
  --button-destructive-border: var(--orc-disabled-border);
  --button-destructive-fg: var(--orc-disabled-fg);
  --button-ghost-fg: var(--orc-disabled-fg);

  cursor: not-allowed;
  opacity: 1;
}

:is(.orc-shell, .login-page) .button:is(:disabled, [aria-disabled="true"]):not([aria-busy="true"], :focus-visible) {
  box-shadow: none;
}

/* ---------- orc-shell: header, rail | main, drawer below 64rem ---------- */

.orc-shell {
  container: orc-shell / inline-size;
  position: relative;
  display: grid;
  grid-template-rows: auto minmax(0, 1fr);
  block-size: 100vh;
  block-size: var(--orc-shell-height, 100dvh);
  overflow: hidden;
  background: var(--orc-shell-bg);
}

.orc-shell__brand {
  display: inline-flex;
  align-items: center;
  gap: var(--space-2);
}

.orc-shell__demo,
.orc-shell__action {
  flex: none;
}

.orc-shell__user {
  display: inline-flex;
  min-inline-size: 0;
  align-items: center;
}

.orc-shell__user-name {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.orc-shell__menu,
.orc-shell__sign-out {
  --button-ghost-fg: var(--color-text-secondary);

  font-weight: var(--orc-text-emphasis-weight);
}

.orc-shell__body {
  position: relative;
  display: grid;
  grid-template-columns:
    clamp(var(--orc-rail-width-min), var(--orc-rail-width), min(var(--orc-rail-width-max), 100cqi - 40rem))
    minmax(0, 1fr);
  min-block-size: 0;
}

.orc-shell__rail {
  min-inline-size: 0;
  min-block-size: 0;
  border-inline-end: var(--orc-hairline) solid var(--orc-rail-border);
  background: var(--orc-rail-bg);
}

.orc-shell__backdrop {
  display: none;
}

.orc-shell__main {
  display: flex;
  min-inline-size: 0;
  min-block-size: 0;
  flex-direction: column;
  background: var(--orc-main-bg);
}

/* The title strip; clipped at 64rem and wider while the rail is expanded */
.orc-shell__title {
  flex: none;
  margin: 0;
  padding: var(--space-2) var(--orc-gutter);
  overflow: hidden;
  border-block-end: var(--orc-hairline) solid var(--color-border);
  font-size: var(--orc-text-body-size);
  font-weight: var(--orc-text-label-weight);
  text-overflow: ellipsis;
  white-space: nowrap;
}

/* ---------- orc-shell__resizer: the rail's inline-end edge at 64rem and wider ---------- */

/* Placed on the rail's grid area and drawn over its border: 0.5rem over the rail, the rest over the
   conversation. ::before is the line, ::after the grip. */
.orc-shell__resizer {
  --orc-resizer-edge: 0.5rem;

  position: absolute;
  z-index: var(--orc-z-raised);
  grid-area: 1 / 1 / 2 / 2;
  inset-block: 0;
  inset-inline-end: calc(-1 * var(--orc-resizer-edge));
  inline-size: 1rem;
  cursor: col-resize;
  touch-action: none;
}

.orc-shell__resizer::before,
.orc-shell__resizer::after {
  position: absolute;
  content: "";
  opacity: 0;
  transition: opacity var(--orc-duration-fast) var(--orc-ease-out);
}

.orc-shell__resizer::before {
  inset-block: 0;
  inset-inline-start: calc(var(--orc-resizer-edge) - 0.125rem);
  inline-size: 0.125rem;
  background: var(--orc-resizer-hover);
}

.orc-shell__resizer::after {
  inset-block: 0;
  inset-inline-start: calc(var(--orc-resizer-edge) - var(--orc-hairline) - 0.25rem);
  inline-size: 0.5rem;
  block-size: 1.5rem;
  margin-block: auto;
  border-radius: var(--radius-sm);
  background:
    radial-gradient(circle, var(--orc-resizer-grip) 0.125rem, transparent 0.140625rem) center / 0.5rem 0.5rem repeat-y,
    var(--orc-main-bg);
}

.orc-shell__resizer:hover::before,
.orc-shell__resizer:hover::after {
  opacity: 1;
  transition-delay: var(--orc-duration-intent);
}

.orc-shell__resizer:focus-visible {
  outline: var(--orc-hairline) solid transparent;
  outline-offset: calc(-1 * var(--orc-hairline));
}

.orc-shell__resizer:focus-visible::before,
.orc-shell__resizer:focus-visible::after,
.orc-shell--resizing .orc-shell__resizer::before,
.orc-shell--resizing .orc-shell__resizer::after {
  opacity: 1;
  transition-delay: 0s;
}

.orc-shell__resizer:focus-visible::before,
.orc-shell--resizing .orc-shell__resizer::before {
  background: var(--orc-resizer-active);
}

.orc-shell__resizer:focus-visible::after {
  box-shadow: var(--orc-focus-ring);
}

/* ---------- orc-rail: conversation list ---------- */

.orc-rail {
  display: flex;
  block-size: 100%;
  min-block-size: 0;
  flex-direction: column;
  gap: var(--space-3);
  padding: var(--space-4) var(--space-3) var(--space-3);
}

.orc-rail > :not(.orc-rail__content) {
  flex-shrink: 0;
}

.orc-rail__header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: var(--space-3);
  padding-inline: var(--space-3) 0;
}

.orc-rail__title {
  margin: 0;
  font-size: var(--orc-text-title-size);
  font-weight: var(--orc-text-title-weight);
  line-height: var(--orc-text-title-leading);
}

.orc-rail__meta {
  margin: var(--space-1) 0 0;
  color: var(--color-text-secondary);
  font-size: var(--orc-text-meta-size);
  line-height: var(--orc-text-meta-leading);
}

.orc-rail__close,
.orc-rail__collapse {
  --button-ghost-fg: var(--color-text-secondary);

  flex: none;
}

.orc-rail__close {
  display: none;
  margin-block: calc(-1 * var(--space-2));
}

.orc-rail__collapse {
  margin-block: calc(-1 * var(--space-1));
}

.orc-rail__notice {
  display: grid;
  gap: var(--space-2);
}

.orc-rail__notice:empty {
  margin-block-start: calc(-1 * var(--space-3));
}

.orc-rail__content {
  display: flex;
  min-block-size: 0;
  flex: 1 1 auto;
  flex-direction: column;
  overflow-y: auto;
}

.orc-rail__list {
  display: grid;
  min-block-size: 0;
  flex: 1 1 auto;
  align-content: start;
  gap: var(--space-1);
  margin: 0;
  padding: var(--space-1) 0;
  overflow-y: auto;
  overscroll-behavior: contain;
  list-style: none;
  scrollbar-width: thin;
}

.orc-rail__empty {
  margin: 0;
  padding: var(--space-1) var(--space-3);
  color: var(--color-text-secondary);
  font-size: var(--orc-text-meta-size);
  line-height: var(--orc-text-meta-leading);
}

.orc-rail__hint {
  margin: auto 0 0;
  padding: var(--space-3) var(--space-3) 0;
  border-block-start: var(--orc-hairline) solid var(--orc-rail-border);
  color: var(--color-text-secondary);
  font-size: var(--orc-text-meta-size);
  line-height: var(--orc-text-meta-leading);
}

.orc-rail__context {
  display: none;
  flex: none;
  justify-items: center;
  gap: var(--space-2);
}

/* ---------- orc-conversation: one row of the list ---------- */

.orc-conversation {
  position: relative;
  display: flex;
  min-inline-size: 0;
  align-items: center;
  border-radius: var(--radius-sm);
  color: var(--orc-conversation-fg);
  transition:
    background-color var(--orc-duration-fast) var(--orc-ease-out),
    box-shadow var(--orc-duration-fast) var(--orc-ease-out);
}

.orc-conversation:hover {
  background: var(--orc-conversation-hover-bg);
}

.orc-conversation--selected {
  background: var(--orc-conversation-selected-bg);
  box-shadow: inset var(--orc-bar-width) 0 0 var(--orc-conversation-selected-bar), var(--shadow-sm);
}

.orc-conversation__select {
  display: flex;
  min-inline-size: 0;
  min-block-size: var(--orc-row-height);
  flex: 1 1 auto;
  align-items: center;
  gap: var(--space-3);
  padding-block: var(--space-2);
  padding-inline: var(--space-3) var(--space-2);
  border: 0;
  border-radius: inherit;
  background: transparent;
  color: inherit;
  font: inherit;
  text-align: start;
  cursor: pointer;
}

/* The list clips, so row controls use the inset ring */
.orc-conversation__select:focus-visible {
  box-shadow: var(--orc-focus-ring-inset);
  outline: var(--orc-hairline) solid transparent;
  outline-offset: calc(-1 * var(--orc-hairline));
}

.orc-conversation__title {
  min-inline-size: 0;
  flex: 1 1 auto;
  overflow: hidden;
  font-size: var(--orc-text-body-size);
  font-weight: 500;
  line-height: var(--orc-text-body-leading);
  text-overflow: ellipsis;
  white-space: nowrap;
}

.orc-conversation--selected .orc-conversation__title {
  font-weight: var(--orc-text-label-weight);
}

.orc-conversation__title--untitled {
  color: var(--color-text-secondary);
}

.orc-conversation__time {
  flex: none;
  color: var(--orc-conversation-meta-fg);
  font-size: var(--orc-text-meta-size);
  font-variant-numeric: tabular-nums;
  line-height: var(--orc-text-meta-leading);
}

.orc-conversation__delete {
  --button-ghost-fg: var(--orc-conversation-delete-fg);
  --button-ghost-bg-hover: var(--orc-conversation-delete-hover-bg);

  flex: none;
  margin-inline-end: var(--space-1);
  opacity: 0.6;
  transition: opacity var(--orc-duration-fast) var(--orc-ease-out);
}

.orc-conversation:hover .orc-conversation__delete,
.orc-conversation:focus-within .orc-conversation__delete,
.orc-conversation--selected .orc-conversation__delete {
  opacity: 1;
}

.orc-conversation__delete:hover:not(:disabled) {
  color: var(--orc-conversation-delete-hover-fg);
}

.orc-conversation__delete:focus-visible {
  opacity: 1;
  box-shadow: var(--orc-focus-ring-inset);
  outline: var(--orc-hairline) solid transparent;
  outline-offset: calc(-1 * var(--orc-hairline));
}

.orc-conversation__select:disabled,
.orc-conversation__delete:disabled {
  cursor: not-allowed;
}

.orc-conversation--disabled {
  pointer-events: none;
}

.orc-conversation--disabled:not(.orc-conversation--selected) {
  opacity: 0.55;
}

.orc-conversation--confirm,
.orc-conversation--confirm:hover {
  border: var(--orc-hairline) solid var(--orc-conversation-confirm-border);
  background: var(--orc-conversation-confirm-bg);
  box-shadow: none;
}

.orc-conversation--deleting {
  cursor: progress;
}

.orc-conversation__confirm {
  display: grid;
  min-inline-size: 0;
  flex: 1 1 auto;
  gap: var(--space-2);
  padding: var(--space-3);
}

.orc-conversation__confirm-title {
  overflow: hidden;
  font-size: var(--orc-text-body-size);
  font-weight: var(--orc-text-label-weight);
  line-height: var(--orc-text-body-leading);
  text-overflow: ellipsis;
  white-space: nowrap;
}

.orc-conversation__confirm-text {
  margin: 0;
  color: var(--orc-conversation-confirm-fg);
  font-size: var(--orc-text-label-size);
  line-height: 1.4;
}

.orc-conversation__confirm-actions {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-2);
}

/* ---------- orc-skeleton: loading placeholders ---------- */

.orc-skeleton {
  display: grid;
  gap: var(--space-1);
  padding: var(--space-1);
}

.orc-skeleton__row {
  display: flex;
  min-block-size: var(--orc-row-height);
  align-items: center;
  gap: var(--space-3);
  padding-inline: var(--space-3) calc(var(--control-height-sm) + var(--space-3));
}

.orc-skeleton__line,
.orc-skeleton__bubble,
.orc-skeleton__avatar {
  display: block;
  border-radius: var(--radius-sm);
  background: var(--orc-skeleton-bg);
  animation: orc-skeleton-pulse var(--orc-duration-loop) var(--orc-ease-standard) infinite;
}

.orc-skeleton__line {
  block-size: 0.625rem;
}

.orc-skeleton__line--title {
  inline-size: 68%;
}

.orc-skeleton__row:nth-child(3n + 1) .orc-skeleton__line--title {
  inline-size: 52%;
}

.orc-skeleton__row:nth-child(3n + 2) .orc-skeleton__line--title {
  inline-size: 78%;
}

.orc-skeleton__line--meta {
  inline-size: 2.25rem;
  margin-inline-start: auto;
}

.orc-skeleton--thread {
  gap: var(--space-6);
  padding: 0;
}

.orc-skeleton__bubble {
  justify-self: end;
  inline-size: min(60%, 22rem);
  block-size: 2.75rem;
  border-radius: var(--orc-message-radius);
  border-end-end-radius: var(--orc-message-tail-radius);
}

.orc-skeleton__message {
  display: grid;
  grid-template-columns: 1.5rem minmax(0, 1fr);
  gap: var(--space-3);
}

.orc-skeleton__avatar {
  inline-size: 1.5rem;
  block-size: 1.5rem;
  border-radius: var(--radius-md);
}

.orc-skeleton__lines {
  display: grid;
  gap: var(--space-3);
  padding-block-start: var(--space-3);
}

.orc-skeleton__lines .orc-skeleton__line:nth-child(1) {
  inline-size: 94%;
}

.orc-skeleton__lines .orc-skeleton__line:nth-child(2) {
  inline-size: 82%;
}

.orc-skeleton__lines .orc-skeleton__line:nth-child(3) {
  inline-size: 46%;
}

@keyframes orc-skeleton-pulse {
  50% {
    opacity: 0.45;
  }
}

/* ---------- orc-thread: notices slot, scroll area, centred measure ---------- */

.orc-thread {
  position: relative;
  display: flex;
  min-block-size: 0;
  flex: 1 1 auto;
  flex-direction: column;
}

.orc-thread__notices,
.orc-thread__content {
  inline-size: 100%;
  max-inline-size: calc(var(--orc-thread-measure) + 2 * var(--orc-gutter));
  margin-inline: auto;
  padding-inline: var(--orc-gutter);
}

.orc-thread__notices {
  display: grid;
  flex: none;
  gap: 0;
}

.orc-thread__notices:has(.inline-notice) {
  padding-block: var(--space-4) var(--space-3);
}

.orc-thread__scroll {
  position: relative;
  display: flex;
  min-block-size: 0;
  flex: 1 1 auto;
  flex-direction: column;
  overflow-y: auto;
  overscroll-behavior: contain;
  scrollbar-gutter: stable both-edges;
  scrollbar-width: thin;
}

.orc-thread__scroll:focus-visible {
  box-shadow: var(--orc-focus-ring-inset);
  outline: var(--orc-hairline) solid transparent;
  outline-offset: calc(-1 * var(--orc-hairline));
}

/* Rhythm: pairs read as question → answer (--orc-thread-pair-gap); turns are --orc-thread-gap apart */
.orc-thread__content {
  --orc-thread-gap: var(--space-8);
  --orc-thread-pair-gap: var(--space-4);

  display: flex;
  flex: 1 0 auto;
  flex-direction: column;
  padding-block: var(--space-6);
}

.orc-thread__log {
  display: flex;
  flex-direction: column;
}

.orc-thread__log > * + * {
  margin-block-start: var(--orc-thread-gap);
}

.orc-thread__log > .orc-message--user + .orc-message--assistant,
.orc-thread__log:not(:empty) ~ .orc-typing:not(:empty) {
  margin-block-start: var(--orc-thread-pair-gap);
}

.orc-thread__extra:has(.orc-welcome) {
  display: flex;
  flex: 1 0 auto;
  flex-direction: column;
}

.orc-thread__jump {
  position: absolute;
  z-index: var(--orc-z-raised);
  inset-block-end: var(--space-3);
  inset-inline: 0;
  inline-size: fit-content;
  margin-inline: auto;
  box-shadow: var(--shadow-md);
}

.orc-thread__jump:focus-visible {
  box-shadow: var(--orc-focus-ring), var(--shadow-md);
}

.orc-thread__jump[hidden] {
  display: none;
}

/* ---------- orc-message ---------- */

.orc-message {
  display: grid;
  min-inline-size: 0;
  gap: var(--space-2);
}

.orc-message--user {
  justify-items: end;
}

.orc-message--assistant {
  --orc-answer-indent: calc(1.5rem + var(--space-3));

  gap: var(--space-1);
}

.orc-message__bubble {
  max-inline-size: min(88%, var(--orc-bubble-max));
  padding: var(--space-3) var(--space-4);
  border: var(--orc-hairline) solid var(--orc-message-user-border);
  border-radius: var(--orc-message-radius);
  border-end-end-radius: var(--orc-message-tail-radius);
  background: var(--orc-message-user-bg);
  color: var(--orc-message-user-fg);
}

.orc-message__header {
  display: flex;
  min-inline-size: 0;
  align-items: center;
  gap: var(--space-3);
}

/* The quiet assistant tile; solid blue stays with the logo and the primary button */
.orc-message__avatar,
.orc-typing__avatar {
  --avatar-size: 1.5rem;
  --avatar-bg: var(--orc-assistant-tile-bg);
  --avatar-fg: var(--orc-assistant-tile-fg);

  border-radius: var(--radius-md);
}

.orc-message__author {
  color: var(--orc-message-author-fg);
  font-size: var(--orc-text-label-size);
  font-weight: var(--orc-text-label-weight);
  line-height: var(--orc-text-label-leading);
}

.orc-message__time {
  color: var(--orc-message-meta-fg);
  font-size: var(--orc-text-meta-size);
  font-variant-numeric: tabular-nums;
}

.orc-message__body {
  min-inline-size: 0;
  color: var(--orc-message-assistant-fg);
}

.orc-message--assistant .orc-message__body,
.orc-message--assistant .orc-message__meta {
  padding-inline-start: var(--orc-answer-indent);
}

.orc-message__text {
  margin: 0;
  font-size: var(--orc-text-message-size);
  font-weight: var(--orc-text-message-weight);
  line-height: var(--orc-text-message-leading);
  overflow-wrap: anywhere;
  white-space: pre-wrap;
}

.orc-message__body > * + * {
  margin-block-start: 0.75em;
}

.orc-message__meta {
  display: flex;
  align-items: center;
  gap: var(--space-1);
  margin: 0;
  color: var(--orc-message-meta-fg);
  font-size: var(--orc-text-meta-size);
  font-variant-numeric: tabular-nums;
  line-height: var(--orc-text-meta-leading);
}

.orc-message--pending .orc-message__bubble {
  border-style: dashed;
  border-color: var(--orc-message-pending-border);
}

.orc-message--failed .orc-message__bubble {
  border-color: var(--orc-message-failed-border);
}

/* Answer actions: always on the newest answer; on earlier ones on hover or focus within (opacity keeps
   them in the Tab order). Touch shows them everywhere (see the touch rules). */
.orc-message__actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: var(--space-1);
  margin-block-start: var(--space-1);
  padding-inline-start: var(--orc-answer-indent);
  transition: opacity var(--orc-duration-fast) var(--orc-ease-out);
}

.orc-message--assistant:has(~ .orc-message--assistant) .orc-message__actions {
  opacity: 0;
}

.orc-message--assistant:is(:hover, :focus-within) .orc-message__actions {
  opacity: 1;
}

.orc-message__copy {
  --button-ghost-fg: var(--orc-message-meta-fg);

  flex: none;
}

.orc-message__copy-icon {
  display: inline-flex;
}

/* Failed-turn tail: ends at the bubble's inline-end edge and is no wider than the bubble */
.orc-message__error {
  display: flex;
  max-inline-size: min(88%, var(--orc-bubble-max));
  align-items: flex-start;
  gap: var(--space-2);
  color: var(--orc-message-failed-fg);
}

.orc-message__error > .icon {
  margin-block-start: 0.125rem;
}

.orc-message__error-body {
  display: grid;
  min-inline-size: 0;
  gap: var(--space-1);
}

.orc-message__error-text {
  margin: 0;
  font-size: var(--orc-text-label-size);
  font-weight: 500;
  line-height: 1.4;
}

.orc-message__error-meta {
  display: flex;
  min-inline-size: 0;
  flex-wrap: wrap;
  align-items: center;
  gap: var(--space-1);
}

.orc-message__error-meta .orc-reference {
  min-inline-size: 0;
  margin: 0;
}

.orc-message__retry {
  margin-inline-start: var(--space-1);
}

.orc-message__retry-note {
  color: var(--orc-message-meta-fg);
  font-size: var(--orc-text-meta-size);
  line-height: var(--orc-text-meta-leading);
}

/* ---------- orc-md: Markdown in assistant answers ---------- */

/* Built from the answer's Markdown as DOM nodes, never from HTML. Blocks follow a --space-2 rhythm, headings stay
   at or below the title size, and code blocks and tables scroll inside their own containers, not the page. */
.orc-md {
  min-inline-size: 0;
  font-size: var(--orc-text-message-size);
  font-weight: var(--orc-text-message-weight);
  line-height: var(--orc-text-message-leading);
  overflow-wrap: anywhere;
}

.orc-md__paragraph {
  margin: 0;
}

.orc-md__heading {
  margin: 0;
  color: var(--orc-message-author-fg);
  font-weight: var(--orc-text-title-weight);
  line-height: var(--orc-text-title-leading);
}

.orc-md__heading--h3 {
  font-size: var(--orc-text-title-size);
}

.orc-md__heading--h4 {
  font-size: var(--orc-text-message-size);
}

.orc-md__heading--h5 {
  font-size: var(--orc-text-message-size);
  font-weight: var(--orc-text-label-weight);
}

.orc-md__code {
  padding-inline: var(--space-1);
  border: var(--orc-hairline) solid var(--color-border);
  border-radius: var(--radius-sm);
  background: var(--color-surface-muted);
  font-family: var(--orc-font-family-code);
  font-size: max(var(--orc-text-meta-size), 0.875em);
}

.orc-md__codeblock {
  min-inline-size: 0;
  overflow: hidden;
  border: var(--orc-hairline) solid var(--color-border);
  border-radius: var(--radius-md);
  background: var(--color-surface-muted);
}

.orc-md__code-lang {
  margin: 0;
  padding: var(--space-1) var(--space-3);
  border-block-end: var(--orc-hairline) solid var(--color-border);
  color: var(--orc-message-meta-fg);
  font-size: var(--orc-text-meta-size);
  line-height: var(--orc-text-meta-leading);
}

.orc-md__pre {
  margin: 0;
  padding: var(--space-2) var(--space-3);
  overflow-x: auto;
  font-family: var(--orc-font-family-code);
  font-size: var(--orc-text-body-size);
  line-height: var(--orc-text-body-leading);
  overflow-wrap: normal;
  scrollbar-width: thin;
  tab-size: 4;
  white-space: pre;
}

.orc-md__pre-code {
  font: inherit;
}

.orc-md__list {
  margin: 0;
  padding-inline-start: var(--space-6);
}

.orc-md__list--nested {
  margin-block-start: var(--space-1);
}

.orc-md__item + .orc-md__item {
  margin-block-start: var(--space-1);
}

.orc-md__item::marker {
  color: var(--orc-message-meta-fg);
  font-variant-numeric: tabular-nums;
}

.orc-md__quote {
  margin: 0;
  padding: var(--space-2) var(--space-3);
  border-inline-start: var(--orc-bar-width) solid var(--color-border-strong);
  border-start-end-radius: var(--radius-sm);
  border-end-end-radius: var(--radius-sm);
  background: var(--color-surface-muted);
  color: var(--color-text-secondary);
}

/* Shrinks to the table, up to the answer's width; wider tables scroll here. Cells keep whole words. */
.orc-md__table-wrap {
  inline-size: fit-content;
  max-inline-size: 100%;
  overflow-x: auto;
  border: var(--orc-hairline) solid var(--color-border);
  border-radius: var(--radius-md);
  scrollbar-width: thin;
}

.orc-md__table {
  border-collapse: collapse;
  font-size: var(--orc-text-body-size);
  font-variant-numeric: tabular-nums;
  line-height: var(--orc-text-body-leading);
  overflow-wrap: normal;
}

.orc-md__th,
.orc-md__td {
  padding: var(--space-1) var(--space-3);
  text-align: start;
  vertical-align: top;
}

.orc-md__th {
  border-block-end: var(--orc-hairline) solid var(--color-border);
  background: var(--color-surface-muted);
  font-weight: var(--orc-text-label-weight);
}

.orc-md__td {
  border-block-start: var(--orc-hairline) solid var(--color-border);
}

.orc-md__th + .orc-md__th,
.orc-md__td + .orc-md__td {
  border-inline-start: var(--orc-hairline) solid var(--color-border);
}

.orc-md__rule {
  block-size: 0;
  margin: 0;
  border: 0;
  border-block-start: var(--orc-hairline) solid var(--color-border);
}

/* External link: underlined, with a north-east arrow after it; its aria-label adds "(opens in a new tab)" to the name */
.orc-md__link {
  border-radius: var(--radius-sm);
  color: var(--color-primary-700);
  text-decoration: underline;
  text-decoration-thickness: var(--orc-hairline);
  text-underline-offset: 0.15em;
}

.orc-md__link:hover {
  text-decoration-thickness: 0.125rem;
}

.orc-md__link::after {
  content: "\2197";
  content: "\2197" / "";
  display: inline-block;
  margin-inline-start: 0.125em;
  font-size: 0.875em;
  text-decoration: none;
}

.orc-md__link:focus-visible {
  box-shadow: var(--orc-focus-ring);
  outline: var(--orc-hairline) solid transparent;
}

.orc-md__pre:focus-visible,
.orc-md__table-wrap:focus-visible {
  box-shadow: var(--orc-focus-ring-inset);
  outline: var(--orc-hairline) solid transparent;
  outline-offset: calc(-1 * var(--orc-hairline));
}

/* Rhythm: --space-2 between blocks; a heading after content gets more room above than below */
.orc-md > * + *,
.orc-md__quote > * + * {
  margin-block-start: var(--space-2);
}

.orc-md > * + .orc-md__heading {
  margin-block-start: var(--space-4);
}

/* ---------- orc-typing: Orchestrator is preparing a response ---------- */

/* Sits where the answer will appear: the tile, then dots and text on the answer's body line */
.orc-typing {
  display: flex;
  align-items: center;
  gap: var(--space-2);
}

.orc-typing__avatar {
  margin-inline-end: var(--space-1);
}

.orc-typing__dots {
  display: inline-flex;
  flex: none;
  align-items: center;
  gap: var(--space-1);
  padding-inline: var(--space-1);
}

.orc-typing__dot {
  inline-size: 0.4375rem;
  block-size: 0.4375rem;
  border-radius: 50%;
  background: var(--orc-typing-dot);
  animation: orc-typing-bounce var(--orc-duration-loop) var(--orc-ease-standard) infinite;
}

.orc-typing__dot:nth-child(2) {
  animation-delay: 160ms;
}

.orc-typing__dot:nth-child(3) {
  animation-delay: 320ms;
}

.orc-typing__text,
.orc-typing__elapsed {
  color: var(--orc-message-meta-fg);
  font-size: var(--orc-text-meta-size);
  line-height: var(--orc-text-meta-leading);
}

.orc-typing__text {
  min-inline-size: 0;
}

.orc-typing__elapsed {
  flex: none;
  margin-inline-start: calc(-1 * var(--space-1));
  font-variant-numeric: tabular-nums;
}

@keyframes orc-typing-bounce {
  0%,
  60%,
  100% {
    opacity: 0.35;
    transform: none;
  }

  30% {
    opacity: 1;
    transform: translateY(-0.1875rem);
  }
}

/* ---------- orc-welcome: the empty conversation, a product block of its own ---------- */

/* The thread measure, at the messages' edge; at the bottom when it fits, from the top when it overflows */
.orc-welcome {
  inline-size: 100%;
  margin-block-start: auto;
}

.orc-welcome__title {
  margin: 0;
  font-size: var(--orc-text-headline-size);
  font-weight: var(--orc-text-headline-weight);
  line-height: var(--orc-text-headline-leading);
  text-wrap: balance;
}

.orc-welcome__text {
  margin: var(--space-2) 0 0;
  color: var(--color-text-secondary);
  font-size: var(--orc-text-body-size);
  line-height: var(--orc-text-body-leading);
}

.orc-welcome__suggestions {
  display: grid;
  inline-size: 100%;
  gap: var(--space-2);
  margin: var(--space-5) 0 0;
  padding: 0;
  list-style: none;
}

.orc-welcome__suggestion {
  --chip-fg: var(--color-text-primary);

  inline-size: 100%;
  min-block-size: var(--control-height-md);
  justify-content: space-between;
  gap: var(--space-3);
  padding: var(--space-2) var(--space-3);
  font-weight: 500;
  line-height: 1.35;
  text-align: start;
  white-space: normal;
  cursor: pointer;
  transition:
    background-color var(--orc-duration-fast) var(--orc-ease-out),
    border-color var(--orc-duration-fast) var(--orc-ease-out),
    color var(--orc-duration-fast) var(--orc-ease-out);
}

.orc-welcome__suggestion:hover:not(:disabled, [aria-disabled="true"]) {
  --chip-bg: var(--orc-suggestion-hover-bg);
  --chip-border: var(--orc-suggestion-hover-border);
  --chip-fg: var(--orc-suggestion-hover-fg);
}

.orc-welcome__suggestion:focus-visible {
  box-shadow: var(--orc-focus-ring);
  outline: var(--orc-hairline) solid transparent;
  outline-offset: calc(-1 * var(--orc-hairline));
}

.orc-welcome__suggestion:disabled,
.orc-welcome__suggestion[aria-disabled="true"] {
  --chip-bg: var(--orc-disabled-bg);
  --chip-border: var(--orc-disabled-border);
  --chip-fg: var(--orc-disabled-fg);

  cursor: not-allowed;
}

.orc-welcome__note {
  display: flex;
  align-items: center;
  gap: var(--space-2);
  margin: var(--space-5) 0 0;
  color: var(--color-text-secondary);
  font-size: var(--orc-text-meta-size);
  line-height: var(--orc-text-meta-leading);
}

.orc-welcome__note + .orc-welcome__note {
  margin-block-start: var(--space-2);
}

/* ---------- orc-composer ---------- */

.orc-composer {
  display: grid;
  flex: none;
  inline-size: 100%;
  max-inline-size: calc(var(--orc-composer-max) + 2 * var(--orc-gutter));
  gap: var(--space-2);
  margin-inline: auto;
  padding: var(--space-2) var(--orc-gutter) var(--space-3);
  background: var(--orc-composer-bg);
}

/* The thread is not at its end */
.orc-composer--divided {
  box-shadow: inset 0 var(--orc-hairline) 0 var(--orc-composer-divider);
}

.orc-composer__form {
  display: grid;
  gap: var(--space-1);
}

/* "Send" sits in the field's bottom end corner; the field keeps the baseline border and focus states */
.orc-composer__field {
  --input-font-size: var(--orc-text-message-size);
  --input-padding-x: var(--space-3);
  --input-radius: var(--radius-lg);
  --orc-send-block-size: 2.25rem;
  --orc-send-inline-size: 6.25rem;
  --orc-send-inset: var(--space-2);

  min-block-size: calc(var(--orc-send-block-size) + 2 * var(--orc-send-inset));
}

/* Focus on "Send" is shown on the button, not on the whole field */
.orc-composer__field:has(.orc-composer__send:focus) {
  --input-border-focus: var(--orc-field-border);
  --input-focus-shadow: none;
  --input-invalid-shadow: none;
}

.orc-composer__control {
  min-block-size: calc(2em * var(--orc-text-message-leading) + 2 * var(--space-2));
  max-block-size: min(calc(1em * var(--orc-composer-max-lines) * var(--orc-text-message-leading) + 2 * var(--space-2)), 40dvh);
  padding-block: var(--space-2);
  padding-inline-end: calc(var(--orc-send-inline-size) + var(--orc-send-inset) + var(--space-2));
  line-height: var(--orc-text-message-leading);
  field-sizing: content;
  resize: none;
}

.orc-composer__send {
  --button-height: var(--orc-send-block-size);

  position: absolute;
  inset-block-end: var(--orc-send-inset);
  inset-inline-end: var(--orc-send-inset);
  inline-size: var(--orc-send-inline-size);
}

/* One service line: hint, note or error at the start, the counter at the end */
.orc-composer__footer {
  display: flex;
  min-inline-size: 0;
  min-block-size: calc(var(--orc-text-meta-size) * var(--orc-text-meta-leading));
  align-items: center;
  gap: var(--space-3);
  padding-inline: var(--space-3);
}

.orc-composer__hint,
.orc-composer__note,
.orc-composer__error {
  min-inline-size: 0;
  flex: 1 1 auto;
  margin: 0;
}

.orc-composer__hint,
.orc-composer__note {
  color: var(--orc-composer-hint-fg);
  font-size: var(--orc-text-meta-size);
  line-height: var(--orc-text-meta-leading);
}

/* The key hint shows only while focus is in the field */
.orc-composer__hint {
  visibility: hidden;
}

.orc-composer__form:focus-within .orc-composer__hint {
  visibility: visible;
}

.orc-composer__form:has(.orc-composer__send:focus) .orc-composer__hint {
  visibility: hidden;
}

.orc-composer__note,
.orc-composer__error {
  display: flex;
  align-items: center;
  gap: var(--space-2);
}

.orc-composer__count {
  flex: none;
  margin-inline-start: auto;
  color: var(--orc-counter-fg);
  font-size: var(--orc-text-meta-size);
  font-variant-numeric: tabular-nums;
  font-weight: var(--orc-text-label-weight);
  line-height: var(--orc-text-meta-leading);
}

.orc-composer__count--warning {
  color: var(--orc-counter-warning-fg);
}

.orc-composer__count--error {
  color: var(--orc-counter-error-fg);
}

/* ---------- orc-disclaimer: always visible synthetic-data line ---------- */

.orc-disclaimer {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: var(--space-2);
  margin: 0;
  color: var(--orc-disclaimer-fg);
  font-size: var(--orc-text-meta-size);
  font-weight: var(--orc-text-label-weight);
  line-height: var(--orc-text-meta-leading);
  text-align: center;
}

.orc-disclaimer > .icon {
  color: var(--orc-disclaimer-icon-fg);
}

/* ---------- orc-shell--resizing: a pointer drag of the resizer is in progress ---------- */

/* After the component rules, so one cursor and no text selection hold over the whole shell */
.orc-shell--resizing,
.orc-shell--resizing * {
  cursor: col-resize;
  user-select: none;
}

.orc-shell--resizing .orc-shell__body,
.orc-shell--resizing .orc-shell__rail,
.orc-shell--resizing .orc-shell__resizer::before,
.orc-shell--resizing .orc-shell__resizer::after {
  transition: none;
}

/* ---------- Shell at 64rem and wider: the rail resizes and collapses ---------- */

@container orc-shell (width >= 64rem) {
  .orc-shell__body {
    transition: grid-template-columns var(--orc-duration-base) var(--orc-ease-emphasized);
  }

  /* The rail keeps its layout while its column opens or closes */
  .orc-shell__rail {
    overflow: hidden;
  }

  .orc-rail {
    min-inline-size: var(--orc-rail-width-min);
  }

  .orc-shell:not(.orc-shell--rail-collapsed) .orc-shell__menu {
    display: none;
  }

  .orc-shell:not(.orc-shell--rail-collapsed) .orc-shell__title {
    position: absolute;
    inline-size: var(--orc-hairline);
    block-size: var(--orc-hairline);
    padding: 0;
    border: 0;
    clip-path: inset(50%);
  }

  .orc-shell--rail-collapsed .orc-shell__body {
    grid-template-columns: 0 minmax(0, 1fr);
  }

  /* Hidden once the column has closed; the script makes it inert at once */
  .orc-shell--rail-collapsed .orc-shell__rail {
    visibility: hidden;
    transition: visibility 0s linear var(--orc-duration-base);
  }

  .orc-shell--rail-collapsed .orc-shell__resizer {
    display: none;
  }
}

/* ---------- Shell below 64rem: the rail becomes a drawer ---------- */

@container orc-shell (width < 64rem) {
  .orc-shell .app-header__inner {
    inline-size: 100%;
  }

  .orc-shell__module,
  .orc-shell__user {
    display: none;
  }

  .orc-shell__body {
    grid-template-columns: minmax(0, 1fr);
  }

  .orc-shell__resizer,
  .orc-rail__collapse {
    display: none;
  }

  .orc-shell__rail {
    position: fixed;
    z-index: var(--orc-z-drawer);
    inset-block: 0;
    inset-inline-start: 0;
    inline-size: min(var(--orc-drawer-width), calc(100% - var(--space-12)));
    border-inline-end: 0;
    background: var(--orc-drawer-bg);
    box-shadow: var(--orc-drawer-shadow);
    visibility: hidden;
    transform: translateX(-100%);
    transition:
      transform var(--orc-duration-slow) var(--orc-ease-emphasized),
      visibility 0s linear var(--orc-duration-slow);
  }

  .orc-shell--drawer-open .orc-shell__rail {
    visibility: visible;
    transform: none;
    transition:
      transform var(--orc-duration-slow) var(--orc-ease-emphasized),
      visibility 0s;
  }

  .orc-shell__backdrop {
    position: fixed;
    z-index: var(--orc-z-backdrop);
    display: block;
    inset: 0;
    background: var(--orc-backdrop-bg);
    opacity: 0;
    visibility: hidden;
    transition:
      opacity var(--orc-duration-slow) var(--orc-ease-out),
      visibility 0s linear var(--orc-duration-slow);
  }

  .orc-shell--drawer-open .orc-shell__backdrop {
    opacity: 1;
    visibility: visible;
    transition:
      opacity var(--orc-duration-slow) var(--orc-ease-out),
      visibility 0s;
  }

  .orc-rail {
    padding-block-start: var(--space-5);
  }

  .orc-rail__close {
    display: inline-flex;
  }

  .orc-rail__context {
    display: grid;
  }
}

@container orc-shell (width < 45rem) {
  .orc-shell__brand .app-header__product {
    display: none;
  }
}

/* ---------- Shell at or below 40rem: phone ---------- */

@container orc-shell (width <= 40rem) {
  .orc-shell .app-header__inner {
    min-block-size: var(--orc-header-height-compact);
    gap: var(--space-2);
    padding-inline: var(--space-3);
  }

  .orc-shell .app-header__spacer {
    min-inline-size: 0;
  }

  .orc-shell__rail {
    inline-size: 100%;
  }

  .orc-shell__label {
    position: absolute;
    inline-size: var(--orc-hairline);
    block-size: var(--orc-hairline);
    margin: calc(-1 * var(--orc-hairline));
    overflow: hidden;
    clip-path: inset(50%);
    white-space: nowrap;
  }

  .orc-shell__action {
    --button-padding-x: 0;

    inline-size: var(--button-height);
  }

  .orc-shell__user {
    display: none;
  }

  .orc-shell__main {
    --orc-gutter: var(--orc-gutter-compact);
  }

  .orc-thread__content {
    --orc-thread-gap: var(--space-6);
    --orc-thread-pair-gap: var(--space-3);

    padding-block: var(--space-4);
  }

  .orc-message--assistant {
    --orc-answer-indent: 0;
  }

  .orc-welcome__title {
    font-size: var(--orc-text-headline-size-compact);
  }

  /* Touch targets, as on a coarse pointer */
  .orc-conversation__select,
  .orc-welcome__suggestion {
    min-block-size: var(--orc-touch-target);
  }

  .orc-conversation__delete {
    --button-height: var(--orc-touch-target);

    margin-inline-end: 0;
    opacity: 1;
  }

  .orc-shell__sign-out,
  .orc-shell__menu,
  .orc-rail__close,
  .orc-thread__jump,
  .orc-message__copy,
  .orc-message__retry,
  .orc-thread__notices .inline-notice__action .button,
  .orc-conversation__confirm-actions .button {
    --button-height: var(--orc-touch-target);
  }

  .orc-message--assistant:has(~ .orc-message--assistant) .orc-message__actions {
    opacity: 1;
  }

  .orc-composer__field {
    --input-font-size: var(--orc-text-input-touch-size);
    --orc-send-block-size: var(--orc-touch-target);
    --orc-send-inline-size: var(--orc-touch-target);
  }

  .orc-composer__send {
    --button-padding-x: 0;
  }

  .orc-composer__send-label {
    position: absolute;
    inline-size: var(--orc-hairline);
    block-size: var(--orc-hairline);
    margin: calc(-1 * var(--orc-hairline));
    overflow: hidden;
    clip-path: inset(50%);
    white-space: nowrap;
  }

  .orc-composer__hint {
    display: none;
  }
}

/* ---------- Baseline gap: notice text beside its icon on narrow screens ---------- */

/* Below 32rem the baseline wraps .inline-notice and its body (flex-basis auto) drops under its icon,
   although the baseline indents the wrapped action as if the body stayed beside it. Scoped to the
   Orchestrator slots; proposed upstream to design-ris. */
@media (max-width: 32rem) {
  .orc-thread__notices .inline-notice__body {
    flex-basis: 0;
  }

  /* The failed-turn tail keeps the reference beside "Copy reference"; "Retry" and its note move below */
  .orc-message__error-meta .orc-reference {
    max-inline-size: calc(100% - var(--orc-touch-target) - var(--space-1));
  }

  .orc-message__error-meta:has(.orc-message__retry)::after {
    flex-basis: 100%;
    order: 1;
    content: "";
  }

  .orc-message__retry,
  .orc-message__retry-note {
    order: 2;
  }

  .orc-message__retry {
    margin-inline-start: 0;
  }
}

/* ---------- Short windows ---------- */

@media (max-height: 30rem) {
  .orc-rail {
    gap: var(--space-2);
    padding-block: var(--space-2);
  }

  .orc-rail__meta,
  .orc-composer__hint {
    display: none;
  }

  .orc-thread__notices:has(.inline-notice) {
    padding-block: var(--space-2);
  }

  .orc-rail__hint {
    padding-block-start: var(--space-2);
  }

  .orc-rail__notice:empty {
    margin-block-start: calc(-1 * var(--space-2));
  }

  .orc-thread__content {
    --orc-thread-gap: var(--space-6);
    --orc-thread-pair-gap: var(--space-3);

    padding-block: var(--space-3);
  }

  .orc-composer {
    gap: var(--space-1);
    padding-block: var(--space-1) var(--space-2);
  }

  .orc-composer__field {
    --orc-send-inset: var(--space-1);
  }

  .orc-composer__control {
    min-block-size: calc(1em * var(--orc-text-message-leading) + 2 * var(--space-2));
    max-block-size: 25dvh;
  }

  .orc-welcome {
    margin-block-start: 0;
    padding-block: var(--space-4);
  }

  .orc-welcome__suggestions,
  .orc-welcome__note {
    margin-block-start: var(--space-3);
  }
}

/* ---------- Touch: 2.75rem targets, 1rem text in fields ---------- */

/* "On touch" is a coarse pointer here, or a shell at or below 40rem (the phone rules above) */
@media (any-pointer: coarse) {
  .orc-conversation__select,
  .orc-welcome__suggestion {
    min-block-size: var(--orc-touch-target);
  }

  .orc-conversation__delete {
    --button-height: var(--orc-touch-target);

    margin-inline-end: 0;
    opacity: 1;
  }

  .orc-shell__sign-out,
  .orc-shell__menu,
  .orc-rail__close,
  .orc-rail__collapse,
  .orc-thread__jump,
  .orc-message__copy,
  .orc-message__retry,
  .orc-thread__notices .inline-notice__action .button,
  .orc-conversation__confirm-actions .button {
    --button-height: var(--orc-touch-target);
  }

  .orc-rail__collapse {
    margin-block: calc(-1 * var(--space-2));
  }

  .orc-message--assistant:has(~ .orc-message--assistant) .orc-message__actions {
    opacity: 1;
  }

  .orc-composer__field {
    --input-font-size: var(--orc-text-input-touch-size);
    --orc-send-block-size: var(--orc-touch-target);
    --orc-send-inline-size: var(--orc-touch-target);
  }

  .orc-composer__send {
    --button-padding-x: 0;
  }

  .orc-composer__send-label {
    position: absolute;
    inline-size: var(--orc-hairline);
    block-size: var(--orc-hairline);
    margin: calc(-1 * var(--orc-hairline));
    overflow: hidden;
    clip-path: inset(50%);
    white-space: nowrap;
  }

  .orc-composer__hint {
    display: none;
  }

  /* Resizer: a 1.5rem zone (0.5rem over the rail, 1rem over the conversation) and an always visible pill */
  .orc-shell__resizer {
    inset-inline-end: -1rem;
    inline-size: 1.5rem;
  }

  .orc-shell__resizer::after {
    inset-inline-start: calc(var(--orc-resizer-edge) - var(--orc-hairline) - 0.125rem);
    inline-size: 0.25rem;
    block-size: 2.5rem;
    border-radius: var(--radius-sm);
    background: var(--orc-resizer-grip-touch);
    opacity: 1;
  }
}

@media (hover: none) {
  .orc-conversation__delete {
    opacity: 1;
  }

  .orc-message--assistant:has(~ .orc-message--assistant) .orc-message__actions {
    opacity: 1;
  }
}

/* The delete icon of locked rows keeps its fade, also on the selected row */
.orc-shell .orc-conversation__delete.button:disabled {
  opacity: 0.5;
}

@media (forced-colors: active) {
  .orc-shell :is(button, a, input, textarea):focus-visible,
  .login-page :is(button, a, input):focus-visible {
    outline: 0.125rem solid transparent;
    outline-offset: 0.125rem;
  }

  /* At rest the rail border shows in CanvasText; hover, focus and drag draw the line in Highlight */
  .orc-shell__resizer:focus-visible {
    outline: 0.125rem solid Highlight;
    outline-offset: -0.125rem;
  }

  .orc-shell__resizer::before {
    border-inline-start: 0.125rem solid Highlight;
  }

  .orc-conversation--selected {
    border-inline-start: var(--orc-bar-width) solid transparent;
  }

  .orc-skeleton__line,
  .orc-skeleton__bubble,
  .orc-skeleton__avatar {
    border: var(--orc-hairline) solid transparent;
  }

  .orc-typing__dots {
    display: none;
  }
}

/* ---------- Motion ---------- */

@media (prefers-reduced-motion: no-preference) {
  .orc-thread__scroll {
    scroll-behavior: smooth;
  }
}

@media (prefers-reduced-motion: reduce) {
  .orc-shell__body,
  .orc-shell__rail,
  .orc-shell__backdrop,
  .orc-shell--drawer-open .orc-shell__rail,
  .orc-shell--drawer-open .orc-shell__backdrop,
  .orc-shell--rail-collapsed .orc-shell__rail,
  .orc-conversation,
  .orc-conversation__delete,
  .orc-message__actions,
  .orc-welcome__suggestion {
    transition: none;
  }

  /* The resizer keeps its hover delay, without a fade */
  .orc-shell__resizer::before,
  .orc-shell__resizer::after {
    transition-duration: 0s;
  }

  .orc-skeleton__line,
  .orc-skeleton__bubble,
  .orc-skeleton__avatar,
  .orc-typing__dot {
    animation: none;
  }

  .orc-typing__dots {
    display: none;
  }
}
