.sqzi-talk{position:fixed;bottom:24px;z-index:999999;font-family:Arial,Helvetica,sans-serif}.sqzi-talk--right{right:24px}.sqzi-talk--left{left:24px}.sqzi-talk__launcher{border:0;border-radius:999px;padding:14px 18px;background:#111;color:#fff;font-weight:700;box-shadow:0 10px 30px rgba(0,0,0,.2);cursor:pointer;display:flex;gap:10px;align-items:center}.sqzi-talk__pulse{width:10px;height:10px;border-radius:50%;background:#fff;box-shadow:0 0 0 0 rgba(255,255,255,.6);animation:sqziPulse 2s infinite}@keyframes sqziPulse{70%{box-shadow:0 0 0 10px rgba(255,255,255,0)}100%{box-shadow:0 0 0 0 rgba(255,255,255,0)}}.sqzi-talk__panel{position:absolute;bottom:64px;width:min(390px,calc(100vw - 32px));height:min(580px,calc(100vh - 120px));background:#fff;color:#111;border-radius:20px;box-shadow:0 20px 60px rgba(0,0,0,.25);overflow:hidden}.sqzi-talk--right .sqzi-talk__panel{right:0}.sqzi-talk--left .sqzi-talk__panel{left:0}.sqzi-talk__header{display:flex;justify-content:space-between;align-items:center;padding:18px 18px 14px;border-bottom:1px solid #eee}.sqzi-talk__header strong{display:block;font-size:16px}.sqzi-talk__header small{display:block;margin-top:2px;opacity:.55}.sqzi-talk__close{border:0;background:transparent;font-size:30px;line-height:1;cursor:pointer}.sqzi-talk__messages{height:calc(100% - 132px);padding:18px;overflow:auto;background:#fafafa}.sqzi-talk__message{max-width:84%;padding:11px 13px;margin:0 0 10px;border-radius:15px;line-height:1.45;font-size:15px;white-space:pre-wrap}.sqzi-talk__message--assistant{background:#fff;border:1px solid #e8e8e8;border-bottom-left-radius:5px}.sqzi-talk__message--user{background:#111;color:#fff;margin-left:auto;border-bottom-right-radius:5px}.sqzi-talk__form{height:58px;display:flex;gap:8px;align-items:center;padding:8px;border-top:1px solid #eee;background:#fff}.sqzi-talk__input{flex:1;min-width:0;border:1px solid #ddd;border-radius:999px;padding:11px 14px;font-size:16px;outline:none}.sqzi-talk__input:focus{border-color:#777}.sqzi-talk__mic,.sqzi-talk__send{width:40px;height:40px;border:0;border-radius:50%;cursor:pointer}.sqzi-talk__send{background:#111;color:#fff;font-size:21px}.sqzi-talk__mic{background:#f0f0f0}.sqzi-talk__mic.is-listening{animation:sqziMic .8s infinite alternate}@keyframes sqziMic{from{transform:scale(1)}to{transform:scale(1.12)}}.sqzi-talk__status{position:absolute;left:18px;bottom:63px;font-size:12px;opacity:.65;background:#fafafa;padding-right:6px}@media(max-width:600px){.sqzi-talk{bottom:16px}.sqzi-talk--right{right:16px}.sqzi-talk--left{left:16px}.sqzi-talk__panel{position:fixed;left:16px!important;right:16px!important;bottom:76px;width:auto;height:min(620px,calc(100vh - 100px))}}


/* v0.2 mobile fix: intrinsic footer sizing, viewport bounds and theme isolation. */
#sqzi-talk, #sqzi-talk * { box-sizing: border-box; }
#sqzi-talk {
  --sqzi-gap: 16px;
  --sqzi-height: 100vh;
  --sqzi-bottom: 0px;
  bottom: calc(var(--sqzi-gap) + env(safe-area-inset-bottom, 0px));
}
@supports (height: 100dvh) {
  #sqzi-talk { --sqzi-height: 100dvh; }
}
#sqzi-talk.sqzi-talk--right { right: max(16px, env(safe-area-inset-right, 0px)); }
#sqzi-talk.sqzi-talk--left { left: max(16px, env(safe-area-inset-left, 0px)); }
#sqzi-talk [hidden] { display: none !important; }
#sqzi-talk.is-open .sqzi-talk__launcher { visibility: hidden; pointer-events: none; }
#sqzi-talk .sqzi-talk__launcher { max-width: calc(100vw - 32px); white-space: normal; }
#sqzi-talk .sqzi-talk__panel {
  position: fixed;
  display: flex;
  flex-direction: column;
  bottom: calc(var(--sqzi-bottom) + var(--sqzi-gap));
  width: min(390px, calc(100vw - 32px - env(safe-area-inset-left, 0px) - env(safe-area-inset-right, 0px)));
  height: 580px;
  max-height: calc(var(--sqzi-height) - 2 * var(--sqzi-gap) - env(safe-area-inset-top, 0px));
  min-height: 0;
  z-index: 1;
}
#sqzi-talk.sqzi-talk--right .sqzi-talk__panel { right: max(16px, env(safe-area-inset-right, 0px)); left: auto; }
#sqzi-talk.sqzi-talk--left .sqzi-talk__panel { left: max(16px, env(safe-area-inset-left, 0px)); right: auto; }
#sqzi-talk .sqzi-talk__header { flex: 0 0 auto; margin: 0; gap: 8px; padding: 14px 16px; }
#sqzi-talk .sqzi-talk__header > div { min-width: 0; overflow-wrap: anywhere; }
#sqzi-talk .sqzi-talk__messages {
  flex: 1 1 0;
  min-height: 0;
  height: auto;
  padding: 16px;
  overflow-y: auto;
  overscroll-behavior: contain;
  -webkit-overflow-scrolling: touch;
}
#sqzi-talk .sqzi-talk__message { overflow-wrap: anywhere; }
#sqzi-talk .sqzi-talk__form {
  order: 2;
  flex: 0 0 auto;
  height: auto;
  min-height: 64px;
  margin: 0;
  padding: 10px 8px calc(10px + env(safe-area-inset-bottom, 0px));
  position: relative;
  z-index: 1;
}
#sqzi-talk .sqzi-talk__input {
  flex: 1 1 0;
  width: 0;
  min-width: 0;
  max-width: none;
  height: 44px;
  margin: 0;
  padding: 10px 12px;
  font: 16px/1.25 Arial, Helvetica, sans-serif;
}
#sqzi-talk .sqzi-talk__mic, #sqzi-talk .sqzi-talk__send, #sqzi-talk .sqzi-talk__close {
  flex: 0 0 44px;
  width: 44px;
  min-width: 44px;
  height: 44px;
  margin: 0;
  padding: 0;
  display: grid;
  place-items: center;
  line-height: 1;
}
#sqzi-talk .sqzi-talk__status {
  order: 1;
  flex: 0 0 auto;
  position: static;
  margin: 0;
  padding: 4px 16px;
}
#sqzi-talk .sqzi-talk__status:empty { display: none; }
@media (max-width: 600px) {
  #sqzi-talk .sqzi-talk__panel {
    left: max(16px, env(safe-area-inset-left, 0px)) !important;
    right: max(16px, env(safe-area-inset-right, 0px)) !important;
    width: auto;
    height: 620px;
  }
}
