/* ---- widget-scoped design tokens (mapped to the Landbot web design system) ---- */
  #lb-launcher, #lb-chat, #lb-scrim{
    --purple:#5A60F6; --purple-2:#9699FC; --pink:#FF3F7B; --orange:#F58B0B; --green:#52CC57;
    --text:#3A3D5C; --text-mut:#5D6079;
    --glass-bg-2:rgba(255,255,255,0.82);
    --glass-stroke:rgba(90,96,246,0.14);
    --glass-blur:20px;
    --grad-brand:linear-gradient(125deg, var(--purple) 0%, var(--purple-2) 100%);
    --radius-pill:999px; --radius-chat:36px;
    --shadow-soft:0 22px 50px -24px rgba(51,64,94,0.32);
    --shadow-glow:0 0 0 1px rgba(90,96,246,0.08), 0 28px 70px -24px rgba(90,96,246,0.45);
    --ease:cubic-bezier(.21,.78,.36,1);
  }
  #lb-launcher *, #lb-chat *{ box-sizing:border-box; }

  /* ============================================================
     CUSTOM LAUNCHER — interactive animated text input
     ============================================================ */
  #lb-launcher{ position:fixed; left:50%; bottom:24px; z-index:2147482001; width:min(380px, calc(100vw - 32px));
                pointer-events:none;   /* the invisible bounding box must not steal touches from the page (e.g. swiping the plan cards); re-enabled below only on the actual visible controls */
                --dock-x:calc(50vw - 24px - 100%);   /* default: snug in the bottom-right corner */
                --hop-y:0px; --hop-sc:1;
                transform:translateX(var(--dock-x)) translateY(var(--hop-y)) scale(var(--hop-sc));
                transform-origin:bottom right; transition:transform .55s var(--ease), opacity .4s;
                font-family:'DM Sans', system-ui, -apple-system, "Segoe UI", sans-serif;
                font-variation-settings:'opsz' 14;
                display:flex; flex-direction:column; align-items:flex-start; }
  #lb-launcher.center{ --dock-x:-50%; align-items:center; transform-origin:bottom center; }
  #lb-launcher.center .lb-tag{ margin-left:0; }
  #lb-launcher.center .lb-chips{ justify-content:center; margin-left:0; }
  #lb-launcher.center .lb-pill{ border-radius:18px; }   /* centered: all corners rounded */
  #lb-launcher.hidden{ opacity:0; --hop-y:20px; --hop-sc:.85; pointer-events:none; }

  /* tag as a tab on the pill's top-left edge — the pill's top border shows
     through as a divider line between tab and input */
  #lb-launcher .lb-tag{ display:inline-flex; align-items:center; gap:.45rem; margin:0; font-size:.8rem;
           font-weight:600; color:var(--text); background:var(--glass-bg-2); border:1px solid var(--glass-stroke);
           border-bottom:none; padding:.4rem .85rem .5rem; border-radius:10px 10px 0 0; backdrop-filter:blur(12px);
           position:relative; z-index:1; transition:background .45s; }
  #lb-launcher .dot{ width:8px; height:8px; border-radius:50%; background:var(--green);
           box-shadow:0 0 0 4px rgba(34,197,94,.18); animation:lb-livepulse 2s infinite; }
  @keyframes lb-livepulse{ 50%{ box-shadow:0 0 0 8px rgba(34,197,94,0); } }

  /* suggestion chips — placed ABOVE the input so they never overlap it */
  #lb-launcher .lb-chips{ display:flex; gap:.5rem; flex-wrap:wrap; margin:0 0 0 4px; width:100%;
             padding-top:4px;   /* headroom so hovered chips (translateY -2px) don't clip */
             max-height:0; overflow:hidden; opacity:0; transform:translateY(6px); pointer-events:auto;
             transition:max-height .45s var(--ease), opacity .35s, transform .35s, margin-bottom .45s var(--ease); }
  #lb-launcher.focused .lb-chips{ max-height:200px; opacity:1; transform:none; margin-bottom:.8rem; }
  #lb-launcher .chip{ font-size:.9rem; font-weight:500; color:var(--purple); background:var(--glass-bg-2);
         border:1px solid var(--glass-stroke); border-radius:var(--radius-pill); padding:.45rem .9rem;
         cursor:pointer; backdrop-filter:blur(10px); transition:transform .25s, background .25s, color .25s; box-shadow:var(--shadow-soft); }
  #lb-launcher .chip:hover{ transform:translateY(-2px); background:var(--purple); color:#fff; border-color:transparent; }

  #lb-launcher .lb-pill{ position:relative; width:100%; display:flex; align-items:center; gap:.5rem;
            padding:.5rem .5rem .5rem 1.1rem; border-radius:0 18px 18px 18px;
            background:var(--glass-bg-2); border:1px solid var(--glass-stroke);
            backdrop-filter:blur(var(--glass-blur)) saturate(140%); -webkit-backdrop-filter:blur(var(--glass-blur)) saturate(140%);
            box-shadow:var(--shadow-soft); transition:transform .35s var(--ease), box-shadow .35s; pointer-events:auto; }
  /* while hovered, lift the pill above the tab so the chevron tooltip isn't clipped */
  #lb-launcher .lb-pill:hover{ z-index:2; }
  #lb-ring{ position:absolute; z-index:-1; pointer-events:none; opacity:0;
        background:conic-gradient(from var(--ang,0deg) at var(--cgx,50%) var(--cgy,50%), var(--purple), var(--pink), var(--purple), var(--pink), var(--purple));
        -webkit-mask-repeat:no-repeat; mask-repeat:no-repeat;
        -webkit-mask-size:100% 100%; mask-size:100% 100%;
        transition:opacity .45s;
        animation:lb-spin 4.5s linear infinite; }
  #lb-launcher.focused #lb-ring{ opacity:.95; }
  @property --ang{ syntax:'<angle>'; initial-value:0deg; inherits:false; }
  @keyframes lb-spin{ to{ --ang:360deg; } }
  #lb-launcher.focused:not(.hidden){ --hop-sc:1.015; }
  #lb-launcher.focused .lb-pill{ box-shadow:var(--shadow-glow); }

  #lb-launcher .lb-pre{ position:relative; z-index:2; width:0; height:26px; margin-left:-.5rem; flex:0 0 auto;
           border:none; padding:0; border-radius:8px;
           background:transparent; display:grid; place-items:center; cursor:pointer; color:var(--text-mut);
           opacity:0; transform:scale(.6); pointer-events:none; overflow:visible;
           transition:width .3s var(--ease), margin-left .3s var(--ease), opacity .25s,
                      transform .3s var(--ease), background .25s, color .25s; }
  #lb-launcher .lb-pill:hover .lb-pre, #lb-launcher.focused .lb-pre{
           width:26px; margin-left:0; opacity:1; transform:scale(1); pointer-events:auto; }
  #lb-launcher .lb-pre:hover{ background:rgba(90,96,246,.10); color:var(--purple); }
  #lb-launcher .lb-pre:active{ transform:scale(.92); }
  #lb-launcher .lb-pre svg{ width:16px; height:16px; }
  #lb-launcher .lb-pre .ic-out{ display:none; }
  #lb-launcher.center .lb-pre .ic-in{ display:none; }
  #lb-launcher.center .lb-pre .ic-out{ display:block; }
  #lb-launcher.center .lb-pre{ background:rgba(90,96,246,.10); color:var(--purple); }
  #lb-launcher .lb-pre::after{ content:attr(data-tip); position:absolute; bottom:calc(100% + 12px); left:0;
           background:#1B2139; color:#fff; font-size:12px; font-weight:500; padding:6px 10px;
           border-radius:6px; white-space:nowrap; opacity:0; pointer-events:none;
           transform:translateY(3px); transition:opacity .15s, transform .15s; }
  #lb-launcher .lb-pre:hover::after{ opacity:1; transform:translateY(0); }

  #lb-input{ flex:1 1 auto; min-width:0; background:transparent; border:none; outline:none; color:var(--text);
             font-family:inherit; font-size:1rem; padding:.5rem 0; }
  #lb-input::placeholder{ color:transparent; }

  #lb-launcher .lb-ph{ position:absolute; left:1.35rem; top:50%; transform:translateY(-50%); color:var(--text-mut);
          font-size:1rem; pointer-events:none; white-space:nowrap; max-width:calc(100% - 7rem); overflow:hidden;
          transition:left .3s var(--ease); }
  #lb-launcher .lb-pill:hover .lb-ph, #lb-launcher.focused .lb-ph{ left:3.3rem; }
  #lb-launcher .lb-ph .cursor{ display:inline-block; width:2px; height:1.05em; background:var(--purple); margin-left:1px;
                  vertical-align:-2px; animation:lb-caret 1s steps(1) infinite; }
  @keyframes lb-caret{ 50%{ opacity:0; } }
  #lb-launcher.typing-active .lb-ph{ opacity:0; }

  #lb-send{ flex:0 0 auto; width:38px; height:38px; border-radius:10px; border:none; cursor:pointer;
            background:#EFEFF2; display:grid; place-items:center; color:#9596A7;
            transition:transform .3s var(--ease), box-shadow .3s, background .25s, color .25s; }
  #lb-launcher.typing-active #lb-send{ background:var(--grad-brand); color:#fff;
            box-shadow:0 10px 22px -8px var(--purple); }
  #lb-send:hover{ transform:scale(1.05); }
  #lb-send:active{ transform:scale(.94); }
  #lb-send svg{ width:17px; height:17px; transition:transform .3s; }
  #lb-send.flying svg{ transform:translate(0,-28px); }

  @media (max-width:520px){
    #lb-launcher{ left:16px; right:16px; bottom:16px; width:auto; --dock-x:0px; }
    #lb-launcher.center{ --dock-x:0px; }
    #lb-format{ display:none !important; }
  }

  #lb-scrim{ position:fixed; inset:0; z-index:2147481999; pointer-events:none; opacity:0;
             background:rgba(255,255,255,.22);
             -webkit-mask-image:radial-gradient(640px 520px at calc(100% - 110px) calc(100% - 60px), #000 25%, transparent 72%);
             mask-image:radial-gradient(640px 520px at calc(100% - 110px) calc(100% - 60px), #000 25%, transparent 72%);
             transition:opacity .45s var(--ease); }
  #lb-scrim.on{ opacity:1;
             backdrop-filter:blur(7px) saturate(115%); -webkit-backdrop-filter:blur(7px) saturate(115%); }
  #lb-scrim.center{
             -webkit-mask-image:radial-gradient(1200px 640px at 50% 100%, #000 30%, transparent 78%);
             mask-image:radial-gradient(1200px 640px at 50% 100%, #000 30%, transparent 78%); }

  #lb-chat{ position:fixed; right:24px; bottom:24px; z-index:2147482000; isolation:isolate;
            width:min(444px, calc(100vw - 32px)); height:min(640px, calc(100vh - 110px));
            border-radius:var(--radius-chat); overflow:hidden;
            background:linear-gradient(160deg, rgba(255,255,255,.60), rgba(255,255,255,.34));
            border:1px solid rgba(255,255,255,.55);
            backdrop-filter:blur(40px) saturate(185%); -webkit-backdrop-filter:blur(40px) saturate(185%);
            box-shadow:0 40px 90px -30px rgba(51,64,94,.45),
                       inset 0 1px 0 rgba(255,255,255,.78),
                       inset 0 0 0 1px rgba(255,255,255,.12);
            transform-origin:bottom right; transition:transform .45s var(--ease), opacity .4s var(--ease); }
  #lb-chat.hidden{ opacity:0; transform:translateY(24px) scale(.88); pointer-events:none; }
  #lb-chat.center{ right:0; left:0; margin-inline:auto; transform-origin:bottom center;
                   width:min(560px, calc(100vw - 40px)); height:min(600px, calc(100vh - 120px)); }
  #lb-chat::before{ content:""; position:absolute; inset:0; z-index:0; pointer-events:none;
        background:
          radial-gradient(120% 62% at 0% 0%, rgba(150,153,252,.20), transparent 60%),
          radial-gradient(120% 60% at 100% 0%, rgba(245,139,11,.13), transparent 55%),
          linear-gradient(180deg, rgba(255,255,255,.38), transparent 16%); }
  #lb-mount{ position:relative; z-index:1; width:100%; height:100%; }
  #lb-mount iframe{ background:transparent !important; }
  #lb-close{ position:absolute; top:14px; right:14px; z-index:5; width:34px; height:34px;
             border-radius:50%; cursor:pointer; display:grid; place-items:center;
             background:var(--grad-brand); color:#fff; border:1px solid rgba(255,255,255,.55);
             box-shadow:0 8px 18px -6px rgba(90,96,246,.7);
             transition:transform .25s var(--ease), filter .25s; }
  #lb-close:hover{ transform:rotate(90deg); filter:brightness(1.1); }
  #lb-close svg{ width:16px; height:16px; }
  @media (max-width:520px){
    #lb-chat, #lb-chat.center{ inset:10px; right:10px; left:10px; top:10px; bottom:10px;
                               margin:0; width:auto; height:auto; max-width:none; }
    #lb-chat, #lb-chat.center{ backdrop-filter:blur(20px) saturate(160%);
                               -webkit-backdrop-filter:blur(20px) saturate(160%); }
  }

  #lb-launcher .lb-tag{ align-self:flex-start; opacity:0; pointer-events:none;
        white-space:nowrap;
        clip-path:inset(0 0 0 100%);
        transition:clip-path .5s var(--ease), opacity .35s; }
  #lb-launcher.open .lb-tag{ opacity:1; clip-path:inset(0 0 0 0); }
  #lb-launcher.center .lb-tag{ align-self:center; }
  #lb-ring{ display:none !important; }
  #lb-launcher{ align-items:flex-end; }
  #lb-launcher .lb-chips{ justify-content:flex-end; }
  #lb-launcher .lb-row{ position:relative; width:100%; min-height:64px;
        display:flex; justify-content:flex-end; align-items:center; }
  #lb-launcher.open .lb-row{ min-height:0; }

  #lb-launcher .lb-pill{ border-radius:18px; }

  #lb-format{ display:none !important; }
  .lb-mini-orb{ width:34px; height:34px; flex:0 0 auto; position:relative; margin-right:2px; }
  #lb-launcher .lb-pill:hover .lb-ph, #lb-launcher.focused .lb-ph,
  #lb-launcher .lb-ph{ left:3.5rem; }

  #lb-launcher .lb-pill{ width:0; min-width:0; opacity:0; padding:0; border-width:0;
        margin-right:0; transform:translateX(10px); pointer-events:none; overflow:hidden;
        transition:width .5s var(--ease), opacity .35s, transform .5s var(--ease),
                   padding .5s var(--ease), margin-right .5s var(--ease), box-shadow .35s; }
  #lb-launcher.open .lb-pill{ width:min(380px, 100vw - 32px); opacity:1;
        border-radius:0 18px 18px 18px;
        padding:.5rem .5rem .5rem .75rem; border-width:1px; transform:none; pointer-events:auto; }
  #lb-launcher.center.open .lb-pill{ border-radius:18px; }
  @media (max-width:520px){
    #lb-launcher .lb-tag{ align-self:center; }
    #lb-launcher.open .lb-pill{ border-radius:18px; }
  }
  #lb-launcher.open .lb-orb{ opacity:0; transform:translateY(-50%) scale(.55); pointer-events:none; }

  .lb-orb{ position:absolute; right:0; top:50%; transform:translateY(-50%);
        width:64px; height:64px; cursor:pointer; z-index:3; pointer-events:auto;
        transition:opacity .35s, transform .5s var(--ease); }
  #lb-launcher .lb-pill:hover{ z-index:auto; }
  #lb-launcher .lb-pre::after{ display:none; }
  .lb-orb:focus-visible{ outline:2px solid var(--purple); outline-offset:3px; border-radius:50%; }
  .lb-orb .oring{ position:absolute; inset:0; border-radius:50%; pointer-events:none;
        transition:opacity .3s; }
  .lb-orb .oring.r1{ border:1px solid rgba(99,107,252,.32);  animation:lb-oring-rest 9s ease-out 2s infinite; }
  .lb-orb .oring.r2{ border:1px solid rgba(79,204,194,.32);  opacity:0; }
  .lb-orb .oring.r3{ border:1px solid rgba(255,63,123,.28);  opacity:0; }
  .lb-orb:hover .oring.r1{ animation:lb-oring 3.6s ease-out infinite; }
  .lb-orb:hover .oring.r2{ animation:lb-oring 3.6s ease-out 1.2s infinite; }
  .lb-orb:hover .oring.r3{ animation:lb-oring 3.6s ease-out 2.4s infinite; }
  #lb-launcher.open .lb-orb .oring.r1, #lb-launcher.open .lb-orb .oring.r2,
  #lb-launcher.open .lb-orb .oring.r3{ animation:none; opacity:0; }
  @keyframes lb-oring-rest{ 0%{ transform:scale(.55); opacity:.7; }
        42%{ transform:scale(1.9); opacity:0; } 100%{ transform:scale(1.9); opacity:0; } }

  .lb-orb-hint{ position:absolute; right:76px; bottom:19px; white-space:nowrap;
        font-size:13px; font-weight:500; color:var(--text);
        background:var(--glass-bg-2); border:1px solid var(--glass-stroke);
        border-radius:var(--radius-pill); padding:.4rem .8rem;
        backdrop-filter:blur(10px); box-shadow:var(--shadow-soft);
        opacity:0; transform:translateY(6px); pointer-events:none;
        transition:opacity .4s var(--ease), transform .4s var(--ease); }
  .lb-orb-hint.show{ opacity:1; transform:none; }
  #lb-launcher.open .lb-orb-hint{ opacity:0; transform:translateY(6px); }
  .lb-orb svg{ position:absolute; inset:0; width:100%; height:100%;
        animation:lb-breathe 9s ease-in-out infinite; transition:opacity .25s; }
  .lb-orb .goo-b1{ animation:lb-mb1 5.2s ease-in-out infinite; }
  .lb-orb .goo-b2{ animation:lb-mb2 6s   ease-in-out infinite; }
  .lb-orb .goo-b3{ animation:lb-mb3 4.6s ease-in-out infinite; }
  .lb-orb .goo-b4{ animation:lb-mb4 5.6s ease-in-out infinite; }
  .lb-orb .goo-b5{ animation:lb-mb5 4s   ease-in-out infinite; }
  @keyframes lb-oring{ 0%{ transform:scale(.55); opacity:.8; } 100%{ transform:scale(1.9); opacity:0; } }
  @keyframes lb-breathe{ 0%,100%{ transform:scale(1); } 50%{ transform:scale(1.045); } }
  @keyframes lb-mb1{ 0%,100%{ transform:translate(0,0); } 33%{ transform:translate(64px,38px); }  66%{ transform:translate(-30px,52px); } }
  @keyframes lb-mb2{ 0%,100%{ transform:translate(0,0); } 33%{ transform:translate(-58px,56px); } 66%{ transform:translate(48px,-26px); } }
  @keyframes lb-mb3{ 0%,100%{ transform:translate(0,0); } 33%{ transform:translate(48px,-56px); } 66%{ transform:translate(-52px,-18px); } }
  @keyframes lb-mb4{ 0%,100%{ transform:translate(0,0); } 33%{ transform:translate(-66px,-36px); } 66%{ transform:translate(40px,44px); } }
  @keyframes lb-mb5{ 0%,100%{ transform:translate(0,0); } 33%{ transform:translate(40px,68px); }  66%{ transform:translate(-44px,28px); } }

  #lb-recenter{ position:absolute; top:14px; right:56px; z-index:5; width:34px; height:34px;
             border-radius:50%; cursor:pointer; display:grid; place-items:center;
             background:var(--grad-brand); color:#fff; border:1px solid rgba(255,255,255,.55);
             box-shadow:0 8px 18px -6px rgba(90,96,246,.7);
             transition:transform .25s var(--ease), filter .25s; }
  #lb-recenter:hover{ transform:scale(1.08); filter:brightness(1.1); }
  #lb-recenter svg{ width:15px; height:15px; }
  #lb-recenter .ic-out{ display:none; }
  #lb-chat.center #lb-recenter .ic-in{ display:none; }
  #lb-chat.center #lb-recenter .ic-out{ display:block; }
  @media (max-width:520px){ #lb-recenter{ display:none; } }

  #lb-chat-orb{ position:fixed; z-index:2147482002; width:56px; height:56px; pointer-events:none;
        right:calc(24px + (min(444px, 100vw - 32px) - 56px) / 2);
        bottom:calc(24px + min(640px, 100vh - 110px) - 28px);
        transition:opacity .3s var(--ease), transform .3s var(--ease); }
  #lb-chat.hidden + #lb-chat-orb{ opacity:0; transform:translateY(10px); }
  #lb-chat.center + #lb-chat-orb{ right:calc((100vw - 56px) / 2);
        bottom:calc(24px + min(600px, 100vh - 120px) - 28px); }
  @media (max-width:520px){ #lb-chat-orb{ display:none; } }

  @media (prefers-reduced-motion: reduce){
    .lb-orb svg, .lb-orb .oring, .lb-orb [class^="goo-b"],
    #lb-chat-orb svg, #lb-chat-orb .oring{ animation:none !important; }
  }

  .LivechatLauncher, [class*="LivechatLauncher"]{ display:none !important; }