/* Website-only assistant, uses the public Maison design tokens where present. */
.art-chat-launch, .art-chat {
  --ac-navy: #061f60;
  --ac-ink: #192641;
  --ac-muted: #4b5870;
  --ac-line: #d6dbe5;
  --ac-paper: #f8f7f4;
  --ac-focus: #956c32;
  --ac-edge: max(16px, env(safe-area-inset-right));
  --ac-bottom: calc(max(16px, env(safe-area-inset-bottom)) + 57px);
  font-family: var(--r76-body, Hellix, system-ui, sans-serif);
}
.art-chat-launch, .art-chat button {
  font: inherit;
  font-weight: 600;
  cursor: pointer;
}
.art-chat-launch {
  position: fixed; inset: auto var(--ac-edge) var(--ac-bottom) auto;
  z-index: 105; display: inline-flex; align-items: center; gap: 8px;
  background: var(--ac-navy); color: #fff; border: 1px solid #ffffff52; border-radius: 999px;
  min-height: 48px; padding: 8px 16px; font-size: .875rem;
  box-shadow: 0 8px 28px #0c16402b; transition: box-shadow .18s ease;
}
.art-chat-launch svg { color: #e8cd9f; flex: none; }
.art-chat-launch:hover { box-shadow: 0 9px 28px #0c16404d; }
.art-chat {
  box-sizing: border-box; position: fixed; inset: auto var(--ac-edge) var(--ac-bottom) auto;
  z-index: 106; margin: 0; padding: 0; width: min(408px, calc(100vw - 32px));
  max-width: calc(100vw - 32px); height: min(565px, calc(100vh - var(--ac-bottom) - 16px));
  height: min(565px, calc(100dvh - var(--ac-bottom) - 16px)); max-height: none;
  border: 1px solid var(--ac-line); border-radius: 18px; overflow: hidden;
  background: var(--ac-paper); color: var(--ac-ink);
  box-shadow: 0 16px 64px #0c164035; font-size: .9375rem; line-height: 1.42;
}
.art-chat[open] { display: flex; flex-direction: column; }
.art-chat :is(button, a, input, [tabindex]):focus-visible, .art-chat-launch:focus-visible {
  outline: 2px solid var(--ac-focus); outline-offset: 2px;
}
.art-chat-header {
  display: flex; align-items: center; justify-content: space-between; gap: 4px;
  padding: 12px 12px 12px 16px; color: #fff; background: var(--ac-navy);
}
.art-chat-eyebrow { color: #e8cd9f; font-size: .65rem; letter-spacing: .13em; font-weight: 700; }
.art-chat-header h2 { margin: 2px 0 0; color: #fff; font-family: var(--r76-display, Atacama, Georgia, serif); font-size: clamp(1.12rem, 5vw, 1.5rem); line-height: 1.1; }
.art-chat-controls { display: flex; align-items: center; gap: 2px; }
.art-chat-controls button {
  color: #fff; border: 1px solid transparent; border-radius: 9px; background: transparent;
  min-width: 44px; min-height: 44px; padding: 0 7px; font-size: .8125rem;
}
.art-chat-controls button:hover { border-color: #ffffff66; }
.art-chat-controls button:focus-visible { outline-color: #e8cd9f; outline-offset: 0; }
.art-chat-controls .art-chat-close { font: 400 1.65rem/1 system-ui; }
.art-chat-log {
  display: flex; flex-direction: column; gap: 10px; flex: 1 1 auto; min-height: 0;
  overflow-y: auto; overscroll-behavior: contain; padding: 14px 16px;
}
.art-chat-log:focus-visible { outline-offset: -3px; }
.art-chat-message {
  flex: 0 0 auto; align-self: flex-start; background: #fff; border: 1px solid var(--ac-line);
  max-width: 94%; padding: 9px 12px; border-radius: 4px 12px 12px; overflow-wrap: anywhere;
}
.art-chat-message.is-user {
  align-self: flex-end; background: #e9edf6; border-color: #e9edf6; border-radius: 12px 4px 12px 12px;
}
.art-chat-speaker { font-size: .72rem; font-weight: 700; color: var(--ac-muted); }
.art-chat-message p { margin: 3px 0 0; color: var(--ac-ink); font: inherit; }
.art-chat-links { display: flex; flex-wrap: wrap; column-gap: 12px; }
.art-chat-links a { display: inline-flex; align-items: center; min-height: 44px; color: var(--ac-navy); font-weight: 700; text-decoration: underline; text-underline-offset: 3px; }
.art-chat-starters { display: flex; gap: 6px; overflow-x: auto; padding: 2px 16px 7px; }
.art-chat-starters button {
  flex: none; border: 1px solid var(--ac-line); border-radius: 999px; min-height: 44px;
  padding: 0 10px; background: #fff; color: var(--ac-navy); font-size: .77rem;
}
.art-chat-starters button:hover { border-color: var(--ac-navy); }
.art-chat-form { margin: 0; border-top: 1px solid var(--ac-line); padding: 10px 16px 12px; background: #fff; }
.art-chat-label { display: block; margin-bottom: 4px; color: var(--ac-ink); font-size: .78rem; font-weight: 700; }
.art-chat-row { display: flex; gap: 7px; }
.art-chat-row input {
  width: 100%; min-width: 0; height: 44px; border: 1px solid #a3adbf; border-radius: 8px;
  padding: 0 9px; background: #fff; color: var(--ac-ink); font: inherit; font-size: 16px;
}
.art-chat-row input::placeholder { color: var(--ac-muted); }
.art-chat-send { padding: 0 11px; min-height: 44px; border: 0; border-radius: 8px; background: var(--ac-navy); color: #fff; }
.art-chat-send:hover { background: #132f77; }
.art-chat-hint { margin: 6px 0 0; font-size: .71rem; color: var(--ac-muted); }
@media (max-height: 450px) {
  .art-chat { --ac-bottom: max(8px, env(safe-area-inset-bottom)); }
  .art-chat-starters { display: none; }
  .art-chat-header, .art-chat-form { padding-block: 5px; }
}
@media (prefers-reduced-motion: reduce) { .art-chat-launch { transition: none; } }
