/* Site chat (chat.js). Every class starts with ss-chat-. Sketch-theme tokens only. */
.ss-chat-bubble{position:fixed;right:16px;bottom:calc(16px + var(--ss-chat-lift,0px));z-index:48;display:inline-flex;align-items:center;gap:8px;
  min-height:52px;padding:0 18px 0 14px;border:1.5px solid var(--sk-ink);border-radius:var(--sk-rough);background:var(--sk-sheet);color:var(--sk-ink);
  font:600 15px/1 var(--body);cursor:pointer;box-shadow:0 6px 20px rgba(30,36,51,.14);transition:bottom .2s ease,transform .15s ease}
.ss-chat-bubble:hover{transform:translateY(-1px);background:var(--sk-well)}
.ss-chat-bubble:focus-visible{outline:3px solid var(--sk-pencil);outline-offset:2px}
.ss-chat-bubble svg{width:22px;height:22px;flex:none}
.ss-chat-bubble[hidden],.ss-chat-hide .ss-chat-bubble{display:none}
/* never both: the capture pop-up hides while the chat is open, the bubble hides while the pop-up is up */
html.ss-chat-open .ss-cap-pop{display:none!important}

.ss-chat-panel{position:fixed;right:16px;bottom:16px;z-index:49;width:380px;max-width:calc(100vw - 32px);height:min(560px,calc(100vh - 32px));
  display:none;flex-direction:column;background:var(--sk-sheet);border:1.5px solid var(--line-2);border-radius:var(--sk-rough);
  box-shadow:0 12px 40px rgba(30,36,51,.18);overflow:hidden;color:var(--sk-graphite);font:400 15px/1.45 var(--body)}
html.ss-chat-open .ss-chat-panel{display:flex}
html.ss-chat-open .ss-chat-bubble{display:none}
.ss-chat-head{display:flex;align-items:center;gap:10px;padding:12px 12px 12px 16px;border-bottom:1px solid var(--line)}
.ss-chat-head-t{flex:1;min-width:0}
.ss-chat-title{margin:0;font:600 16px/1.2 var(--body);color:var(--sk-graphite)}
.ss-chat-sub{margin:2px 0 0;font:500 11px/1.3 var(--mono);letter-spacing:.06em;text-transform:uppercase;color:var(--sk-mute)}
.ss-chat-x{display:grid;place-items:center;width:40px;height:40px;border:0;border-radius:10px;background:transparent;color:var(--sk-graphite-2);cursor:pointer}
.ss-chat-x:hover{background:var(--sk-well)}
.ss-chat-x:focus-visible{outline:3px solid var(--sk-pencil);outline-offset:1px}
.ss-chat-x svg{width:18px;height:18px}

.ss-chat-log{flex:1;overflow-y:auto;overscroll-behavior:contain;padding:14px 14px 6px;display:flex;flex-direction:column;gap:10px}
.ss-chat-msg{max-width:88%;padding:9px 12px;border-radius:14px;white-space:pre-wrap;overflow-wrap:anywhere}
.ss-chat-msg-bot{align-self:flex-start;background:var(--sk-well);color:var(--sk-graphite);border-bottom-left-radius:4px}
.ss-chat-msg-me{align-self:flex-end;background:var(--sk-ink);color:#fff;border-bottom-right-radius:4px}
.ss-chat-msg a{color:inherit;text-decoration:underline;text-underline-offset:2px}
.ss-chat-msg-note{align-self:center;max-width:100%;padding:0;background:none;color:var(--sk-mute);font-size:13px;text-align:center}
.ss-chat-typing{align-self:flex-start;display:inline-flex;gap:4px;padding:12px 14px;background:var(--sk-well);border-radius:14px}
.ss-chat-typing i{width:6px;height:6px;border-radius:50%;background:var(--sk-mute);animation:ss-chat-dot 1s infinite ease-in-out}
.ss-chat-typing i:nth-child(2){animation-delay:.15s}.ss-chat-typing i:nth-child(3){animation-delay:.3s}
@keyframes ss-chat-dot{0%,80%,100%{opacity:.3}40%{opacity:1}}
@media (prefers-reduced-motion:reduce){.ss-chat-typing i{animation:none}.ss-chat-bubble{transition:none}}

.ss-chat-sugs{display:flex;flex-wrap:wrap;gap:6px;padding:4px 14px 10px}
.ss-chat-sug{min-height:36px;padding:6px 11px;border:1px solid var(--line-2);border-radius:var(--sk-rough-2);background:var(--sk-sheet);color:var(--sk-ink);
  font:500 13.5px/1.25 var(--body);text-align:left;cursor:pointer}
.ss-chat-sug:hover{background:var(--sk-well)}
.ss-chat-sug:focus-visible{outline:3px solid var(--sk-pencil);outline-offset:1px}

.ss-chat-form{display:flex;gap:8px;padding:10px 12px;border-top:1px solid var(--line)}
.ss-chat-in{flex:1;min-width:0;min-height:44px;padding:10px 12px;border:1.5px solid var(--line-2);border-radius:10px;background:var(--sk-sheet);color:var(--sk-graphite);font:400 16px/1.3 var(--body)}
.ss-chat-in:focus{outline:none;border-color:var(--sk-ink);box-shadow:0 0 0 3px rgba(43,55,179,.15)}
.ss-chat-send{min-height:44px;padding:0 14px;border:0;border-radius:10px;background:var(--sk-ink);color:#fff;font:600 14.5px/1 var(--body);cursor:pointer}
.ss-chat-send:hover{background:var(--sk-ink-deep)}
.ss-chat-send:disabled{opacity:.55;cursor:default}
.ss-chat-send:focus-visible{outline:3px solid var(--sk-pencil);outline-offset:2px}
.ss-chat-foot{display:flex;justify-content:space-between;align-items:center;gap:8px;padding:0 14px 10px;font:500 12px/1.3 var(--body);color:var(--sk-mute)}
.ss-chat-human-link{border:0;background:none;padding:6px 0;color:var(--sk-ink);font:600 13px/1.2 var(--body);text-decoration:underline;text-underline-offset:2px;cursor:pointer}

.ss-chat-human{display:grid;gap:10px;padding:12px 14px 14px;border-top:1px solid var(--line);background:var(--sk-paper)}
.ss-chat-human[hidden]{display:none}
.ss-chat-human-t{margin:0;font:600 15px/1.3 var(--body)}
.ss-chat-human label{display:grid;gap:4px;font:500 13px/1.2 var(--body);color:var(--sk-graphite-2)}
.ss-chat-human input[type=email],.ss-chat-human textarea{width:100%;box-sizing:border-box;padding:9px 11px;border:1.5px solid var(--line-2);border-radius:10px;background:var(--sk-sheet);color:var(--sk-graphite);font:400 16px/1.35 var(--body)}
.ss-chat-human textarea{min-height:76px;resize:vertical}
.ss-chat-human input:focus,.ss-chat-human textarea:focus{outline:none;border-color:var(--sk-ink);box-shadow:0 0 0 3px rgba(43,55,179,.15)}
.ss-chat-human .ss-chat-send{justify-self:start;padding:0 18px}
.ss-chat-hp{position:absolute!important;left:-9999px!important;width:1px;height:1px;overflow:hidden}
.ss-chat-err{margin:0;color:var(--sk-red-text);font-size:13px}
.ss-chat-done{margin:0;padding:12px;border:1px dashed var(--line-2);border-radius:10px;background:var(--sk-sheet);font-weight:600}

@media (max-width:640px){
  .ss-chat-panel{right:0;left:0;bottom:0;width:auto;max-width:none;height:min(78vh,620px);border-radius:16px 16px 0 0;border-bottom:0;
    padding-bottom:env(safe-area-inset-bottom,0px)}
  .ss-chat-bubble{right:12px;min-height:48px;padding:0 14px 0 12px}
  .ss-chat-bubble-t{display:none}
  .ss-chat-bubble{width:52px;justify-content:center;padding:0}
}
@media print{.ss-chat-bubble,.ss-chat-panel{display:none!important}}
