/* Whetstone chat widget — reuses the site's tokens (defined in index.html :root). */
.pxc-launch{
  position:fixed;right:22px;bottom:22px;z-index:70;
  display:inline-flex;align-items:center;gap:9px;
  font-family:var(--sans,"Instrument Sans",system-ui,sans-serif);font-weight:600;font-size:14.5px;line-height:1;
  padding:13px 18px 13px 15px;border-radius:999px;border:1px solid transparent;
  background:var(--blue,#2952D9);color:#fff;cursor:pointer;
  box-shadow:0 14px 34px -12px rgba(41,82,217,.55);transition:background .18s ease,transform .18s ease;
}
.pxc-launch:hover{background:var(--blue-deep,#1D3CAE);transform:translateY(-1px)}
.pxc-launch svg{width:18px;height:18px}
.pxc-launch[hidden]{display:none}
.pxc-launch.pxc-tuck{transform:translateY(160%);pointer-events:none}
@media (max-width:560px){
  .pxc-launch{padding:14px;gap:0}
  .pxc-launch span{display:none}
}

.pxc-panel{
  position:fixed;right:22px;bottom:22px;z-index:71;
  width:min(390px,calc(100vw - 44px));height:min(600px,calc(100vh - 44px));
  display:flex;flex-direction:column;overflow:hidden;
  background:var(--card,#fff);border:1px solid var(--line-2,#C7D2EA);border-radius:var(--rad,16px);
  box-shadow:0 28px 70px -22px rgba(11,18,32,.35);
  font-family:var(--sans,"Instrument Sans",system-ui,sans-serif);color:var(--text,#182238);font-size:15px;line-height:1.5;
}
.pxc-panel[hidden]{display:none}

.pxc-head{
  display:flex;align-items:center;gap:12px;padding:14px 14px 14px 18px;
  border-bottom:1px solid var(--line,#DFE6F4);background:var(--paper,#F6F8FC);
}
.pxc-head-mark{width:26px;height:26px;flex:none}
.pxc-head-text{flex:1;min-width:0}
.pxc-title{font-weight:700;font-size:15px;color:var(--ink,#0B1220);line-height:1.15}
.pxc-status{
  display:inline-flex;align-items:center;gap:6px;margin-top:3px;
  font-family:var(--mono,"IBM Plex Mono",ui-monospace,monospace);font-size:10.5px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted,#4E5B77);
}
.pxc-status::before{content:"";width:7px;height:7px;border-radius:50%;background:var(--muted,#4E5B77)}
.pxc-status[data-s="ai"]::before{background:var(--blue,#2952D9)}
.pxc-status[data-s="human"]::before{background:var(--green,#0E9F6E)}
.pxc-status[data-s="needs_human"]::before{background:var(--amber,#C97B06)}
.pxc-close{
  background:none;border:1px solid var(--line-2,#C7D2EA);border-radius:9px;width:34px;height:34px;
  display:inline-flex;align-items:center;justify-content:center;cursor:pointer;color:var(--ink,#0B1220);
}
.pxc-close:hover{border-color:var(--blue,#2952D9);color:var(--blue,#2952D9)}
.pxc-close svg{width:14px;height:14px}

.pxc-log{flex:1;overflow-y:auto;padding:16px 16px 8px;display:flex;flex-direction:column;gap:10px;scroll-behavior:smooth}
.pxc-msg{max-width:86%;padding:10px 13px;border-radius:14px;white-space:pre-wrap;overflow-wrap:anywhere;font-size:14.5px}
.pxc-msg.visitor{align-self:flex-end;background:var(--blue,#2952D9);color:#fff;border-bottom-right-radius:5px}
.pxc-msg.assistant{align-self:flex-start;background:var(--paper,#F6F8FC);border:1px solid var(--line,#DFE6F4);border-bottom-left-radius:5px}
.pxc-msg.assistant strong{font-weight:600;color:var(--ink,#0B1220)}
.pxc-msg.admin{align-self:flex-start;background:#fff;border:1px solid var(--line-2,#C7D2EA);border-left:3px solid var(--green,#0E9F6E);border-bottom-left-radius:5px}
.pxc-who{
  display:block;margin-bottom:3px;font-family:var(--mono,"IBM Plex Mono",ui-monospace,monospace);
  font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted,#4E5B77);
}
.pxc-msg.admin .pxc-who{color:var(--green,#0E9F6E)}
.pxc-msg.system{
  align-self:center;max-width:100%;padding:4px 10px;background:none;text-align:center;
  font-family:var(--mono,"IBM Plex Mono",ui-monospace,monospace);font-size:11px;letter-spacing:.05em;color:var(--muted,#4E5B77);
}
.pxc-typing{align-self:flex-start;color:var(--muted,#4E5B77);font-size:13px;padding:4px 13px}
.pxc-typing[hidden]{display:none}
.pxc-error{margin:0 16px;padding:8px 12px;border-radius:10px;background:var(--amber-soft,#FFF3DC);color:#7A4A00;font-size:13px}
.pxc-error[hidden]{display:none}

.pxc-form{display:flex;gap:8px;padding:10px 12px;border-top:1px solid var(--line,#DFE6F4);align-items:flex-end}
.pxc-input{
  flex:1;resize:none;min-height:42px;max-height:120px;padding:10px 12px;
  font:inherit;font-size:14.5px;color:var(--ink,#0B1220);
  border:1px solid var(--line-2,#C7D2EA);border-radius:12px;background:#fff;outline:none;
}
.pxc-input:focus{border-color:var(--blue,#2952D9);box-shadow:0 0 0 3px rgba(41,82,217,.14)}
.pxc-send{
  flex:none;width:42px;height:42px;border-radius:12px;border:0;background:var(--blue,#2952D9);color:#fff;cursor:pointer;
  display:inline-flex;align-items:center;justify-content:center;
}
.pxc-send:hover{background:var(--blue-deep,#1D3CAE)}
.pxc-send:disabled{opacity:.5;cursor:default}
.pxc-send svg{width:17px;height:17px}
.pxc-restart{
  margin:10px 12px;padding:12px;border-radius:12px;border:1px solid var(--line-2,#C7D2EA);background:#fff;
  font:inherit;font-weight:600;color:var(--blue,#2952D9);cursor:pointer;
}
.pxc-restart:hover{border-color:var(--blue,#2952D9)}
.pxc-restart[hidden]{display:none}
.pxc-form[hidden]{display:none}

.pxc-foot{
  padding:8px 16px 11px;border-top:1px solid var(--line,#DFE6F4);background:var(--paper,#F6F8FC);
  font-family:var(--mono,"IBM Plex Mono",ui-monospace,monospace);font-size:10.2px;line-height:1.5;letter-spacing:.02em;color:var(--muted,#4E5B77);
}

@media (max-width:640px){
  .pxc-panel{right:0;bottom:0;width:100vw;height:100dvh;max-height:100dvh;border-radius:0;border:0}
  .pxc-launch{right:16px;bottom:16px}
}
@media (prefers-reduced-motion:reduce){
  .pxc-launch,.pxc-log{transition:none;scroll-behavior:auto}
}

/* Email gate — shown once, before the conversation is created. */
.pxc-gate{
  flex:1;display:flex;flex-direction:column;justify-content:center;gap:11px;
  padding:24px 20px;overflow-y:auto;
}
.pxc-gate[hidden]{display:none}
.pxc-gate h3{
  font-family:var(--serif,"Newsreader",Georgia,serif);font-weight:500;font-size:21px;
  line-height:1.2;letter-spacing:-.01em;color:var(--ink,#0B1220);
}
.pxc-gate p{font-size:14px;color:var(--muted,#4E5B77);margin:0}
.pxc-gate-input{
  width:100%;font:inherit;font-size:15px;padding:11px 13px;margin-top:2px;
  border:1px solid var(--line-2,#C7D2EA);border-radius:10px;
  color:var(--ink,#0B1220);background:#fff;outline:none;
}
.pxc-gate-input:focus{border-color:var(--blue,#2952D9);box-shadow:0 0 0 3px rgba(41,82,217,.14)}
.pxc-gate-err{font-size:13px;color:var(--red,#B42318)}
.pxc-gate-err[hidden]{display:none}
.pxc-gate-go{
  width:100%;padding:12px 16px;border-radius:10px;border:1px solid var(--blue,#2952D9);
  background:var(--blue,#2952D9);color:#fff;font:inherit;font-weight:600;font-size:14.5px;cursor:pointer;
  transition:background .18s ease;
}
.pxc-gate-go:hover{background:var(--blue-deep,#1D3CAE)}
.pxc-gate-go:disabled{opacity:.5;cursor:default}
.pxc-skip{
  align-self:center;margin-top:1px;background:none;border:0;padding:4px 6px;
  font:inherit;font-size:12.5px;color:var(--muted,#4E5B77);
  text-decoration:underline;text-underline-offset:2px;text-decoration-thickness:1px;cursor:pointer;
}
.pxc-skip:hover{color:var(--blue,#2952D9)}
.pxc-skip:disabled{opacity:.5;cursor:default}
.pxc-gate-input:disabled{opacity:.6}
.pxc-log[hidden]{display:none}
