/* Panda Chat only: existing Graphite Cherry tokens, no page/header restyling. */
.panda-chat {
  --pc-ink: var(--panda-ink, #1d2430);
  --pc-body: var(--panda-body, #404958);
  --pc-muted: var(--panda-muted, #626b78);
  --pc-paper: var(--panda-paper, #fff);
  --pc-canvas: var(--panda-haze, #f4f5f7);
  --pc-line: var(--panda-hairline, #dce0e5);
  --pc-accent: var(--panda-green-600, #c73557);
  --pc-hover: var(--panda-green-700, #9f2744);
  --pc-font: Manrope, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  /* Use an already available Manrope, otherwise native fonts; never fetch a font. */
  font: 400 15px/1.6 var(--pc-font);
  color: var(--pc-body);
}
.panda-chat *, .panda-chat *::before, .panda-chat *::after { box-sizing: border-box; }
.panda-chat .panda-chat__launcher {
  position: fixed;
  right: max(24px, env(safe-area-inset-right));
  bottom: max(24px, env(safe-area-inset-bottom));
  z-index: 10050;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 56px;
  height: 56px;
  margin: 0;
  padding: 0;
  border: 1px solid rgba(255,255,255,.35);
  border-radius: 50%;
  color: #fff;
  background: var(--pc-accent);
  box-shadow: 0 6px 22px rgba(29,36,48,.18);
  cursor: pointer;
  transition: background-color .15s ease;
  -webkit-tap-highlight-color: transparent;
}
.panda-chat .panda-chat__launcher[hidden] { display: none; }
.panda-chat .panda-chat__launcher:hover { background: var(--pc-hover); }
.panda-chat .panda-chat__launcher svg { display: block; flex: none; }
.panda-chat a.panda-chat__launcher { text-decoration: none; }
.panda-chat .panda-chat__launcher .panda-chat__close-icon { display: none; }
.panda-chat[data-state="open"] .panda-chat__bubble-icon { display: none; }
.panda-chat[data-state="open"] .panda-chat__close-icon { display: block; }
.panda-chat .panda-chat__dialog {
  position: fixed;
  inset: auto 24px 96px auto;
  z-index: 10050;
  display: none;
  width: 380px;
  height: min(540px, calc(100vh - 124px));
  height: min(540px, calc(var(--panda-chat-vh, 100dvh) - 124px));
  max-width: calc(100vw - 32px);
  max-height: calc(100vh - 32px);
  margin: 0;
  padding: 0;
  border: 1px solid var(--pc-line);
  border-radius: 20px;
  background: var(--pc-paper);
  color: var(--pc-body);
  box-shadow: 0 18px 64px rgba(29,36,48,.18);
  font: inherit;
  overflow: hidden;
  overscroll-behavior: contain;
}
.panda-chat .panda-chat__dialog[open] { display: block; }
.panda-chat .panda-chat__dialog::backdrop { background: rgba(29,36,48,.4); }
.panda-chat .panda-chat__panel { display: flex; flex-direction: column; height: 100%; min-height: 0; overflow-y: auto; }
.panda-chat .panda-chat__header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex: none;
  gap: 8px;
  padding: 12px 12px 12px 20px;
  border-bottom: 1px solid var(--pc-line);
}
.panda-chat .panda-chat__heading { display: flex; flex-wrap: wrap; align-items: center; gap: 4px 10px; min-width: 0; overflow-wrap: anywhere; }
.panda-chat .panda-chat__heading h2 { margin: 0; color: var(--pc-ink); font: 600 18px/1.35 var(--pc-font); letter-spacing: normal; }
.panda-chat .panda-chat__status { padding: 3px 8px; border: 1px solid var(--pc-line); border-radius: 6px; color: var(--pc-body); background: var(--pc-canvas); font: 500 11px/1.5 var(--pc-font); }
.panda-chat .panda-chat__close { display: flex; flex: 0 0 44px; align-items: center; justify-content: center; width: 44px; height: 44px; margin: 0; padding: 0; border: 0; border-radius: 10px; background: transparent; color: var(--pc-ink); cursor: pointer; }
.panda-chat .panda-chat__close:hover { background: var(--pc-canvas); }
.panda-chat .panda-chat__close svg { display: block; }
.panda-chat .panda-chat__notice { flex: none; max-height: 28%; overflow-y: auto; overflow-wrap: anywhere; margin: 0; padding: 10px 20px; color: var(--pc-body); background: var(--pc-canvas); font: 400 12px/1.6 var(--pc-font); }
.panda-chat .panda-chat__verification { position: absolute; inset-inline: 16px; z-index: 2; background: var(--pc-paper); }
.panda-chat .panda-chat__verification[hidden] { display: none; }
.panda-chat .panda-chat__component { display: flex; flex: 1 0 120px; min-height: 120px; min-width: 0; position: relative; }
.panda-chat .panda-chat__loading { position: absolute; inset: 0 0 auto; z-index: 1; width: 100%; max-height: 65%; overflow: auto; padding: 24px; margin: 0; color: var(--pc-body); background: var(--pc-paper); font: inherit; overflow-wrap: anywhere; }
.panda-chat .panda-chat__loading[hidden] { display: none; }
.panda-chat[data-verification="interactive"] .panda-chat__component { min-height: 260px; flex-basis: 260px; }
.panda-chat deep-chat { display: block; width: 100%; height: 100%; border: 0; font-family: var(--pc-font); }
.panda-chat .panda-chat__footer { display: flex; flex-wrap: wrap; gap: 4px 14px; flex: none; padding: 12px 20px; border-top: 1px solid var(--pc-line); }
.panda-chat .panda-chat__footer a { color: var(--pc-hover); font: 500 13px/1.6 var(--pc-font); text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 3px; }
.panda-chat .panda-chat__footer a:hover { text-decoration-thickness: 2px; }
.panda-chat :is(button, a):focus-visible { outline: 2px solid var(--pc-hover); outline-offset: 3px; }
.panda-chat .panda-chat__launcher:focus-visible { outline: 3px solid var(--pc-paper); outline-offset: 2px; box-shadow: 0 0 0 7px var(--pc-ink); }
@media (max-width: 767px), (max-height: 480px) and (pointer: coarse) {
  .panda-chat .panda-chat__launcher { right: max(16px, env(safe-area-inset-right)); bottom: max(16px, env(safe-area-inset-bottom)); }
  .panda-chat .panda-chat__dialog { inset: 0; width: 90vw; max-width: 90vw; height: 90vh; height: calc(var(--panda-chat-vh, 100dvh) * .9); max-height: calc(var(--panda-chat-vh, 100dvh) * .9); margin: auto; }
  .panda-chat[data-state="open"] .panda-chat__launcher { visibility: hidden; }
}
/* Give an interactive check room on short windows; the notice was visible before Send. */
@media (max-height: 600px) {
  .panda-chat[data-verification="interactive"] .panda-chat__notice { display: none; }
}
@media (prefers-reduced-motion: reduce) { .panda-chat .panda-chat__launcher { transition: none; } }
