.jsj-pop{ position:fixed; right:0; bottom:calc(72px + env(safe-area-inset-bottom)); z-index:1001;
  width:320px; height:150px; pointer-events:none; overflow:hidden; }
.jsj-pop[hidden]{ display:none; }

.jsj-pop__body{ position:absolute; right:6px; bottom:0; height:98px; aspect-ratio:176/320;
  transform:translateY(105%); transition:transform .42s cubic-bezier(.22,1.25,.36,1); will-change:transform; }
.jsj-pop__body::before{ content:""; position:absolute; left:8%; right:8%; bottom:-3px; height:10px; border-radius:50%;
  background:radial-gradient(closest-side, rgba(11,28,77,.22), rgba(11,28,77,0)); }
.jsj-pop__fig{ position:relative; display:block; width:100%; height:100%; }
.jsj-pop.is-in .jsj-pop__body{ transform:translateY(0); }
.jsj-pop.is-out .jsj-pop__body{ transform:translateY(105%); transition:transform .3s cubic-bezier(.55,0,.8,.3); }

.jsj-pop__say{ position:absolute; z-index:2; right:62px; bottom:77px; translate:0 50%; display:flex; align-items:center; justify-content:center;
  width:max-content; min-height:60px; padding:18px; box-sizing:border-box; border-radius:50%;
  background:#fff; color:#0b1c4d; filter:drop-shadow(0 0 1px rgba(11,28,77,.25)) drop-shadow(0 4px 10px rgba(11,28,77,.14));
  font-size:var(--fs-sm); font-weight:700; line-height:1.35; letter-spacing:-.3px; text-align:center; word-break:keep-all;
  transform:scale(0); transform-origin:100% 50%; transition:transform .3s cubic-bezier(.22,1.3,.36,1); }
.jsj-pop__say:empty{ display:none; }
.jsj-pop__say > span{ display:block; white-space:nowrap; }
.jsj-pop__say::after{ content:""; position:absolute; right:-3px; top:58%; width:14px; height:14px; background:#fff;
  border-radius:0 0 4px 0; transform:translateY(-50%) rotate(-45deg); }
.jsj-pop__say b{ font-weight:800; color:#1E40AF; white-space:nowrap; }
.jsj-pop.is-talk .jsj-pop__say{ transform:scale(1); }
.jsj-pop.is-out .jsj-pop__say{ transform:scale(0); transition-duration:.15s; }

.jsj-pop--peek .jsj-pop__body{ transform:translateX(110%); }
.jsj-pop--peek.is-in .jsj-pop__body{ transform:translateX(0); }
.jsj-pop--peek.is-out .jsj-pop__body{ transform:translateX(110%); }

@media (min-width:769px){
  .jsj-pop{ --h:clamp(120px, calc((50vw - 526px) * 1.818), 175px); bottom:0; width:360px; height:calc(var(--h) + 96px); }
  .jsj-pop__body{ height:var(--h); right:6px; }
  .jsj-pop__say{ right:calc(var(--h) * .55 + 14px); bottom:calc(var(--h) * .79); min-height:66px; padding:20px; }
  html.jsj-on .chatbot-speech-bubble{ visibility:hidden !important; }
  html.jsj-on button.chatbot-toggle{ visibility:hidden !important; }   
}
@media (prefers-reduced-motion:reduce){ .jsj-pop{ display:none !important; } }
@media print{ .jsj-pop{ display:none !important; } }

@media (min-width:769px) and (max-width:1149px){ .jsj-pop{ display:none !important; } }
