.lda-assistant{--lda-primary:#7c3aed;--lda-accent:#a78bfa;--lda-dark:#111827;font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;position:relative;z-index:999998}.lda-mode-floating{position:fixed;bottom:20px;z-index:999998}.lda-position-right{right:20px}.lda-position-left{left:20px}.lda-launcher{display:flex;align-items:center;gap:10px;border:0;background:transparent;cursor:pointer;padding:0;filter:drop-shadow(0 18px 35px rgba(17,24,39,.22))}.lda-launcher-label{background:linear-gradient(135deg,var(--lda-primary),#5b21b6);color:#fff;padding:12px 16px;border-radius:18px;font-size:14px;font-weight:700;box-shadow:0 12px 30px rgba(124,58,237,.28)}.lda-mascot-wrap{width:76px;height:76px;border-radius:50%;overflow:hidden;border:3px solid rgba(255,255,255,.88);background:#fff;box-shadow:0 0 0 5px rgba(124,58,237,.18);transition:transform .25s ease}.lda-mascot-wrap img{width:100%;height:100%;object-fit:cover}.lda-launcher:hover .lda-mascot-wrap{transform:translateY(-4px) rotate(-2deg)}.lda-notification{position:absolute;right:1px;top:-2px;width:22px;height:22px;border-radius:50%;background:#ef4444;color:#fff;display:grid;place-items:center;font-size:12px;font-weight:800;border:2px solid #fff}.lda-panel{position:absolute;bottom:92px;width:min(390px,calc(100vw - 30px));height:min(650px,calc(100vh - 130px));border-radius:28px;overflow:hidden;display:flex;flex-direction:column;background:#fff;box-shadow:0 30px 80px rgba(17,24,39,.28);border:1px solid rgba(124,58,237,.16);opacity:0;visibility:hidden;transform:translateY(18px) scale(.97);transition:.25s ease}.lda-position-right .lda-panel{right:0}.lda-position-left .lda-panel{left:0}.lda-mode-inline .lda-panel{position:relative;bottom:auto;left:auto;right:auto;opacity:1;visibility:visible;transform:none;width:100%;height:620px;max-width:720px;margin:auto}.lda-assistant.is-open .lda-panel{opacity:1;visibility:visible;transform:none}.lda-header{display:flex;align-items:center;justify-content:space-between;padding:16px 18px;background:linear-gradient(135deg,var(--lda-dark),#211438);color:#fff}.lda-agent{display:flex;align-items:center;gap:11px}.lda-agent img{width:46px;height:46px;border-radius:50%;object-fit:cover;background:#fff;border:2px solid rgba(255,255,255,.4)}.lda-agent strong{display:block;font-size:15px}.lda-agent span{display:flex;align-items:center;gap:6px;font-size:12px;color:rgba(255,255,255,.78);margin-top:3px}.lda-agent i{width:7px;height:7px;background:#34d399;border-radius:50%;box-shadow:0 0 0 4px rgba(52,211,153,.15)}.lda-close{border:0;background:rgba(255,255,255,.1);color:#fff;width:34px;height:34px;border-radius:50%;font-size:24px;line-height:1;cursor:pointer}.lda-messages{flex:1;overflow-y:auto;padding:18px;background:linear-gradient(180deg,#f8f7ff,#fff)}.lda-message{max-width:88%;padding:12px 14px;border-radius:17px;margin:0 0 11px;white-space:pre-line;font-size:14px;line-height:1.52;animation:ldaIn .25s ease}.lda-message-bot{background:#fff;color:#1f2937;border:1px solid #ebe7ff;border-bottom-left-radius:6px;box-shadow:0 8px 24px rgba(17,24,39,.06)}.lda-message-user{margin-left:auto;color:#fff;background:linear-gradient(135deg,var(--lda-primary),#5b21b6);border-bottom-right-radius:6px}.lda-actions{padding:10px 14px 14px;display:grid;gap:8px;max-height:220px;overflow:auto;background:#fff}.lda-choice{display:flex;align-items:center;gap:9px;width:100%;text-align:left;border:1px solid #e8e3ff;background:#fff;color:#28213f;padding:11px 13px;border-radius:14px;font-size:13px;font-weight:700;cursor:pointer;transition:.2s ease}.lda-choice:hover{border-color:var(--lda-accent);background:#f8f5ff;transform:translateY(-1px)}.lda-choice span{font-size:18px}.lda-typing{padding:0 20px 10px;background:#fff}.lda-typing span{display:inline-block;width:7px;height:7px;margin:0 2px;background:var(--lda-accent);border-radius:50%;animation:ldaDot 1s infinite}.lda-typing span:nth-child(2){animation-delay:.15s}.lda-typing span:nth-child(3){animation-delay:.3s}.lda-input-form{display:flex;gap:8px;padding:12px 14px;border-top:1px solid #eee;background:#fff}.lda-input-form input{flex:1;min-width:0;border:1px solid #ddd6fe;border-radius:14px;padding:12px 13px;font-size:14px;outline:none}.lda-input-form input:focus{border-color:var(--lda-primary);box-shadow:0 0 0 3px rgba(124,58,237,.1)}.lda-input-form button{width:44px;border:0;border-radius:14px;color:#fff;background:linear-gradient(135deg,var(--lda-primary),#5b21b6);cursor:pointer;font-size:18px}.lda-footer-note{text-align:center;font-size:10px;color:#9ca3af;padding:7px;background:#fff}.lda-style-glass .lda-panel{background:rgba(255,255,255,.86);backdrop-filter:blur(18px)}.lda-style-dark .lda-messages,.lda-style-dark .lda-actions,.lda-style-dark .lda-input-form,.lda-style-dark .lda-footer-note{background:#111827}.lda-style-dark .lda-message-bot,.lda-style-dark .lda-choice{background:#1f2937;color:#f9fafb;border-color:#374151}.lda-style-dark .lda-messages{background:linear-gradient(180deg,#101827,#171227)}.lda-style-dark .lda-input-form input{background:#1f2937;color:#fff;border-color:#374151}.lda-style-light .lda-header{background:#fff;color:#111827;border-bottom:1px solid #eee}.lda-style-light .lda-agent span{color:#6b7280}.lda-style-light .lda-close{background:#f3f4f6;color:#111827}@keyframes ldaDot{0%,60%,100%{transform:translateY(0);opacity:.5}30%{transform:translateY(-4px);opacity:1}}@keyframes ldaIn{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}@media(max-width:600px){.lda-mode-floating{bottom:12px}.lda-position-right{right:12px}.lda-position-left{left:12px}.lda-launcher-label{display:none}.lda-mascot-wrap{width:64px;height:64px}.lda-panel{position:fixed;left:10px!important;right:10px!important;bottom:86px;width:auto;height:min(72vh,620px);border-radius:22px}.lda-message{font-size:14px}.lda-actions{max-height:190px}}@media(prefers-reduced-motion:reduce){.lda-panel,.lda-mascot-wrap,.lda-choice,.lda-message{transition:none!important;animation:none!important}}

/* v1.0.1 visibility hardening */
body > .lda-assistant.lda-mode-floating{
  display:block!important;
  visibility:visible!important;
  opacity:1!important;
  pointer-events:auto!important;
  z-index:2147483000!important;
  isolation:isolate;
}
body > .lda-assistant.lda-mode-floating .lda-launcher{
  display:flex!important;
  visibility:visible!important;
  opacity:1!important;
  pointer-events:auto!important;
}
@media(max-width:600px){
  body > .lda-assistant.lda-mode-floating{
    bottom:calc(12px + env(safe-area-inset-bottom,0px))!important;
  }
  body > .lda-assistant.lda-mode-floating .lda-panel{
    bottom:calc(82px + env(safe-area-inset-bottom,0px))!important;
    max-height:calc(100dvh - 115px - env(safe-area-inset-bottom,0px));
  }
}

/* v1.0.2: survive loader/page-transition DOM replacement */
#lda-floating-assistant.lda-mode-floating{
  display:block!important;
  visibility:visible!important;
  opacity:1!important;
  pointer-events:auto!important;
  position:fixed!important;
  z-index:2147483600!important;
  contain:layout style;
}
#lda-floating-assistant.lda-mode-floating .lda-launcher{
  display:flex!important;
  visibility:visible!important;
  opacity:1!important;
}


/* v1.0.3 — viewport portal: independent from footer/theme transforms */
html > #lda-floating-assistant.lda-mode-floating {
  position: fixed !important;
  inset: 0 !important;
  width: 0 !important;
  height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: visible !important;
  transform: none !important;
  contain: none !important;
  z-index: 2147483640 !important;
  pointer-events: none !important;
}
html > #lda-floating-assistant.lda-mode-floating .lda-launcher {
  position: fixed !important;
  bottom: calc(18px + env(safe-area-inset-bottom, 0px)) !important;
  z-index: 2147483642 !important;
  pointer-events: auto !important;
  max-width: calc(100vw - 24px) !important;
}
html > #lda-floating-assistant.lda-position-right .lda-launcher { right: 16px !important; left: auto !important; }
html > #lda-floating-assistant.lda-position-left .lda-launcher { left: 16px !important; right: auto !important; }
html > #lda-floating-assistant.lda-mode-floating .lda-panel {
  position: fixed !important;
  top: auto !important;
  bottom: calc(108px + env(safe-area-inset-bottom, 0px)) !important;
  width: min(390px, calc(100vw - 24px)) !important;
  max-width: calc(100vw - 24px) !important;
  height: min(650px, calc(100dvh - 140px - env(safe-area-inset-bottom, 0px))) !important;
  max-height: calc(100dvh - 140px - env(safe-area-inset-bottom, 0px)) !important;
  margin: 0 !important;
  z-index: 2147483641 !important;
  pointer-events: auto !important;
  box-sizing: border-box !important;
}
html > #lda-floating-assistant.lda-position-right .lda-panel { right: 12px !important; left: auto !important; }
html > #lda-floating-assistant.lda-position-left .lda-panel { left: 12px !important; right: auto !important; }
html > #lda-floating-assistant *,
html > #lda-floating-assistant *::before,
html > #lda-floating-assistant *::after { box-sizing: border-box !important; }
@media (max-width: 600px) {
  html > #lda-floating-assistant.lda-mode-floating .lda-launcher {
    right: 12px !important;
    bottom: calc(14px + env(safe-area-inset-bottom, 0px)) !important;
  }
  html > #lda-floating-assistant.lda-position-left .lda-launcher {
    left: 12px !important;
    right: auto !important;
  }
  html > #lda-floating-assistant.lda-mode-floating .lda-panel {
    left: 10px !important;
    right: 10px !important;
    bottom: calc(92px + env(safe-area-inset-bottom, 0px)) !important;
    width: auto !important;
    max-width: none !important;
    height: min(72dvh, 620px) !important;
    max-height: calc(100dvh - 112px - env(safe-area-inset-bottom, 0px)) !important;
    border-radius: 22px !important;
  }
  html > #lda-floating-assistant .lda-mascot-wrap {
    width: 66px !important;
    height: 66px !important;
  }
}

/* v1.1.0 — Samweb animated mascot. Chat layout and behaviors remain unchanged. */
.lda-mascot-wrap{
  position:relative;
  width:var(--lda-mascot-size,118px);
  height:calc(var(--lda-mascot-size,118px) * 1.15);
  border:0;
  border-radius:0;
  overflow:visible;
  background:transparent;
  box-shadow:none;
  transform-origin:50% 88%;
  animation:ldaSamwebFloat 3.4s ease-in-out infinite;
  isolation:isolate;
}
.lda-mascot-wrap::after{
  content:"";
  position:absolute;
  left:14%;right:14%;bottom:1px;
  height:13px;
  border-radius:50%;
  background:rgba(93,48,196,.28);
  filter:blur(7px);
  transform:scaleX(.85);
  animation:ldaSamwebShadow 3.4s ease-in-out infinite;
  z-index:-2;
}
.lda-samweb-character{
  position:absolute;
  inset:0;
  width:100%!important;
  height:100%!important;
  object-fit:contain!important;
  object-position:center bottom;
  border-radius:0!important;
  transform-origin:52% 78%;
  animation:ldaSamwebWave 4.8s ease-in-out infinite;
  filter:drop-shadow(0 12px 16px rgba(59,21,111,.22));
  will-change:transform;
  user-select:none;
  -webkit-user-drag:none;
}
.lda-samweb-aura{
  position:absolute;
  width:82%;height:72%;
  left:9%;top:18%;
  border-radius:50%;
  background:radial-gradient(circle,rgba(168,85,247,.28),rgba(124,58,237,.1) 48%,transparent 72%);
  filter:blur(3px);
  animation:ldaSamwebAura 2.6s ease-in-out infinite;
  z-index:-1;
}
.lda-samweb-spark{
  position:absolute;
  color:#c4b5fd;
  font-size:17px;
  line-height:1;
  text-shadow:0 0 10px rgba(124,58,237,.7);
  opacity:0;
  pointer-events:none;
}
.lda-samweb-spark-1{right:-4px;top:12px;animation:ldaSamwebSpark 3.8s ease-in-out infinite .4s}
.lda-samweb-spark-2{left:3px;top:31px;font-size:12px;animation:ldaSamwebSpark 3.8s ease-in-out infinite 2.1s}
.lda-launcher:hover .lda-mascot-wrap{transform:none}
.lda-launcher:hover .lda-samweb-character{animation-duration:2.2s;filter:drop-shadow(0 15px 22px rgba(124,58,237,.36))}
.lda-assistant.is-open .lda-mascot-wrap{animation:ldaSamwebHappy 1.25s ease-in-out infinite}
.lda-assistant.is-thinking .lda-samweb-character{animation:ldaSamwebThink 1.1s ease-in-out infinite}
.lda-assistant.is-listening .lda-samweb-character{animation:ldaSamwebListen 1.5s ease-in-out infinite}
.lda-assistant.is-celebrating .lda-samweb-character{animation:ldaSamwebCelebrate .7s ease-in-out 4}
.lda-agent img.lda-agent-samweb{
  object-fit:contain;
  padding:2px;
  background:linear-gradient(145deg,#fff,#eee9ff);
  animation:ldaSamwebHeader 3s ease-in-out infinite;
}
@keyframes ldaSamwebFloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-7px)}}
@keyframes ldaSamwebShadow{0%,100%{opacity:.42;transform:scaleX(.82)}50%{opacity:.24;transform:scaleX(.66)}}
@keyframes ldaSamwebWave{0%,14%,100%{transform:rotate(0deg) scale(1)}4%{transform:rotate(-2.5deg) scale(1.015)}8%{transform:rotate(2deg) scale(1.015)}11%{transform:rotate(-1deg)}}
@keyframes ldaSamwebAura{0%,100%{opacity:.55;transform:scale(.92)}50%{opacity:1;transform:scale(1.08)}}
@keyframes ldaSamwebSpark{0%,62%,100%{opacity:0;transform:translateY(4px) scale(.5) rotate(0)}70%{opacity:1;transform:translateY(0) scale(1) rotate(35deg)}82%{opacity:.25;transform:translateY(-8px) scale(.8) rotate(70deg)}}
@keyframes ldaSamwebHappy{0%,100%{transform:translateY(0) rotate(0)}45%{transform:translateY(-9px) rotate(-2deg)}70%{transform:translateY(-4px) rotate(2deg)}}
@keyframes ldaSamwebThink{0%,100%{transform:rotate(0) translateX(0)}50%{transform:rotate(-3deg) translateX(-2px)}}
@keyframes ldaSamwebListen{0%,100%{transform:scale(1) rotate(0)}50%{transform:scale(1.035) rotate(1deg)}}
@keyframes ldaSamwebCelebrate{0%,100%{transform:translateY(0) rotate(0) scale(1)}30%{transform:translateY(-11px) rotate(-4deg) scale(1.04)}65%{transform:translateY(-5px) rotate(4deg) scale(1.02)}}
@keyframes ldaSamwebHeader{0%,100%{transform:translateY(0)}50%{transform:translateY(-2px)}}
@media(max-width:600px){
  html > #lda-floating-assistant .lda-mascot-wrap{width:var(--lda-mascot-size-mobile,96px)!important;height:calc(var(--lda-mascot-size-mobile,96px) * 1.15)!important}
  .lda-samweb-aura{width:82%;height:72%;left:9%;top:18%}
}
@media(prefers-reduced-motion:reduce){
  .lda-mascot-wrap,.lda-mascot-wrap::after,.lda-samweb-character,.lda-samweb-aura,.lda-samweb-spark,.lda-agent img.lda-agent-samweb{animation:none!important}
}

/* v1.1.1 — configurable Samweb size and conversion attention animation */
.lda-assistant.is-attention .lda-mascot-wrap{
  animation:ldaSamwebAttention 1.05s cubic-bezier(.2,.8,.2,1) 3;
}
.lda-assistant.is-attention .lda-samweb-character{
  animation:ldaSamwebInvite 1.05s ease-in-out 3;
  filter:drop-shadow(0 18px 28px rgba(124,58,237,.48));
}
.lda-assistant.is-attention .lda-samweb-aura{animation:ldaSamwebAttentionAura 1.05s ease-in-out 3}
.lda-assistant.is-attention .lda-launcher-label{
  animation:ldaSamwebLabelPulse 1.05s ease-in-out 3;
}
@keyframes ldaSamwebAttention{
  0%,100%{transform:translateY(0) scale(1) rotate(0)}
  28%{transform:translateY(-13px) scale(1.08) rotate(-4deg)}
  52%{transform:translateY(-5px) scale(1.04) rotate(4deg)}
  76%{transform:translateY(-10px) scale(1.07) rotate(-2deg)}
}
@keyframes ldaSamwebInvite{
  0%,100%{transform:rotate(0) scale(1)}
  30%{transform:rotate(-4deg) scale(1.03)}
  60%{transform:rotate(4deg) scale(1.04)}
}
@keyframes ldaSamwebAttentionAura{
  0%,100%{opacity:.55;transform:scale(.9)}
  50%{opacity:1;transform:scale(1.28)}
}
@keyframes ldaSamwebLabelPulse{
  0%,100%{transform:translateX(0) scale(1);box-shadow:0 12px 30px rgba(124,58,237,.28)}
  50%{transform:translateX(-3px) scale(1.05);box-shadow:0 16px 38px rgba(124,58,237,.5)}
}
@media(max-width:600px){
  .lda-assistant.is-attention .lda-launcher-label{
    display:block!important;
    position:absolute;
    right:calc(var(--lda-mascot-size-mobile,96px) + 8px);
    white-space:nowrap;
    max-width:min(230px,calc(100vw - var(--lda-mascot-size-mobile,96px) - 38px));
    overflow:hidden;
    text-overflow:ellipsis;
  }
  .lda-position-left.is-attention .lda-launcher-label{left:calc(var(--lda-mascot-size-mobile,96px) + 8px);right:auto}
}
@media(prefers-reduced-motion:reduce){
  .lda-assistant.is-attention .lda-mascot-wrap,.lda-assistant.is-attention .lda-samweb-character,.lda-assistant.is-attention .lda-samweb-aura,.lda-assistant.is-attention .lda-launcher-label{animation:none!important}
}
