/* Artelli public widget + CTA blocks. Shared by static HTML and React public pages. */
/* Panels stay opaque even during entrance so page text never overlaps chat text. */
@keyframes artelli-panel-rise{from{transform:translateY(10px)}to{transform:none}}
.artelli-root{--a-bg:#0b0912;--a-panel:#110d1b;--a-line:rgba(196,181,253,.14);--a-ink:#f4f1fb;--a-mute:rgba(236,231,250,.62);--a-dim:rgba(236,231,250,.4);--a-v:#a78bfa;--a-v2:#c4b5fd;--a-v3:#7c3aed;font:14px/1.55 'Plus Jakarta Sans',system-ui,sans-serif;color:var(--a-ink);-webkit-font-smoothing:antialiased}
.artelli-root *{box-sizing:border-box}
.artelli-launch{position:fixed;right:max(18px,env(safe-area-inset-right));bottom:max(18px,env(safe-area-inset-bottom));z-index:2147483000;display:flex;align-items:center;gap:10px;height:54px;padding:0 18px 0 7px;border-radius:999px;border:1px solid rgba(196,181,253,.28);background:linear-gradient(140deg,#16102a,#0b0912 70%);color:var(--a-ink);font:800 13px 'Plus Jakarta Sans',system-ui,sans-serif;cursor:pointer;box-shadow:0 18px 40px -16px rgba(76,29,149,.7),inset 0 1px 0 rgba(255,255,255,.06);transition:transform .25s cubic-bezier(.2,.7,.2,1),border-color .2s}
.artelli-launch:hover{transform:translateY(-2px);border-color:rgba(196,181,253,.5)}
.artelli-launch:focus-visible,.artelli-root button:focus-visible,.artelli-root textarea:focus-visible,.artelli-root a:focus-visible{outline:2px solid var(--a-v2);outline-offset:2px}
.artelli-mark{position:relative;width:40px;height:40px;border-radius:50%;background:radial-gradient(circle at 35% 30%,#ddd6fe,#7c3aed 55%,#2e1065);display:grid;place-items:center;flex:none}
.artelli-mark::after{content:"";position:absolute;inset:-4px;border-radius:50%;border:1px solid rgba(196,181,253,.35);animation:artelli-breathe 3.6s ease-in-out infinite}
.artelli-mark span{display:flex;gap:2px;align-items:center;height:14px}.artelli-mark i{display:block;width:2.5px;border-radius:2px;background:#0b0912}
.artelli-mark i:nth-child(1){height:6px}.artelli-mark i:nth-child(2){height:13px}.artelli-mark i:nth-child(3){height:9px}.artelli-mark i:nth-child(4){height:4px}
@keyframes artelli-breathe{0%,100%{transform:scale(1);opacity:.7}50%{transform:scale(1.12);opacity:0}}
.artelli-root.is-open .artelli-launch{transform:scale(.9);opacity:0;pointer-events:none}
.artelli-intro{position:fixed;right:max(18px,env(safe-area-inset-right));bottom:calc(max(18px,env(safe-area-inset-bottom)) + 66px);z-index:2147483000;width:min(300px,calc(100vw - 36px));padding:14px 38px 14px 16px;border-radius:18px 18px 6px 18px;background:var(--a-panel);border:1px solid var(--a-line);box-shadow:0 20px 50px -20px rgba(0,0,0,.8);animation:artelli-rise .5s cubic-bezier(.2,.7,.2,1) both}
.artelli-intro p{margin:0;color:var(--a-mute);font-size:13px}.artelli-intro b{color:var(--a-ink);display:block;font:800 14px 'Outfit',system-ui,sans-serif;margin-bottom:2px}
.artelli-intro .artelli-x{position:absolute;top:8px;right:8px}
.artelli-intro-open{margin-top:10px;background:none;border:0;padding:0;color:var(--a-v2);font:800 12px inherit;cursor:pointer;font-family:inherit}
@keyframes artelli-rise{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
.artelli-x{width:28px;height:28px;border-radius:50%;border:0;background:transparent;color:var(--a-dim);cursor:pointer;display:grid;place-items:center;font-size:18px;line-height:1}
.artelli-x:hover{background:rgba(255,255,255,.06);color:#fff}
.artelli-dialog{position:fixed;right:max(18px,env(safe-area-inset-right));bottom:max(18px,env(safe-area-inset-bottom));z-index:2147483001;width:min(400px,calc(100vw - 36px));height:min(620px,calc(100dvh - 36px));display:flex;flex-direction:column;border-radius:24px;background:var(--a-bg);border:1px solid var(--a-line);box-shadow:0 40px 90px -30px rgba(46,16,101,.85),0 0 0 1px rgba(0,0,0,.4);overflow:hidden;animation:artelli-rise .35s cubic-bezier(.2,.7,.2,1) both}
.artelli-dialog[hidden]{display:none}
.artelli-root .artelli-dialog{background-color:#0b0912;opacity:1;animation:artelli-panel-rise .2s ease-out both}
.artelli-dialog::before{content:"";position:absolute;top:-140px;right:-100px;width:300px;height:300px;border-radius:50%;background:radial-gradient(circle,rgba(124,58,237,.28),transparent 65%);pointer-events:none}
.artelli-head{position:relative;display:flex;align-items:center;gap:11px;padding:16px 14px 14px 16px;border-bottom:1px solid var(--a-line)}
.artelli-head .artelli-mark{width:34px;height:34px}.artelli-head .artelli-mark::after{display:none}
.artelli-title{flex:1;min-width:0}.artelli-title h2{margin:0;font:800 16px 'Outfit',system-ui,sans-serif;letter-spacing:-.02em;color:#fff}
.artelli-title p{margin:0;font-size:11px;color:var(--a-dim);letter-spacing:.04em}
.artelli-clear{background:none;border:1px solid var(--a-line);color:var(--a-mute);border-radius:999px;padding:5px 10px;font:700 11px inherit;font-family:inherit;cursor:pointer}.artelli-clear:hover{color:#fff;border-color:rgba(196,181,253,.4)}
.artelli-log{position:relative;flex:1;overflow-y:auto;padding:18px 16px 8px;display:flex;flex-direction:column;gap:10px;overscroll-behavior:contain}
.artelli-msg{max-width:88%;padding:10px 13px;border-radius:16px;white-space:pre-wrap;word-wrap:break-word;font-size:13.5px}
.artelli-msg.a{align-self:flex-start;background:rgba(167,139,250,.07);border:1px solid rgba(167,139,250,.14);color:#ece7fa;border-bottom-left-radius:5px}
.artelli-msg.u{align-self:flex-end;background:#ede9fe;color:#140d24;font-weight:600;border-bottom-right-radius:5px}
.artelli-msg.err{align-self:stretch;max-width:none;background:rgba(244,114,182,.07);border:1px solid rgba(244,114,182,.25);color:#fbcfe8;font-size:12.5px}
.artelli-msg.err button{margin-left:8px;background:none;border:0;color:#fff;text-decoration:underline;cursor:pointer;font:700 12px inherit;font-family:inherit}
.artelli-typing{display:flex;gap:4px;padding:14px}.artelli-typing i{width:6px;height:6px;border-radius:50%;background:var(--a-v2);animation:artelli-dot 1.1s infinite ease-in-out}.artelli-typing i:nth-child(2){animation-delay:.15s}.artelli-typing i:nth-child(3){animation-delay:.3s}
@keyframes artelli-dot{0%,80%,100%{opacity:.25;transform:translateY(0)}40%{opacity:1;transform:translateY(-3px)}}
.artelli-chips{display:flex;flex-wrap:wrap;gap:7px;padding:4px 16px 12px}
.artelli-chip{background:transparent;border:1px solid rgba(196,181,253,.24);color:var(--a-v2);border-radius:999px;padding:7px 12px;font:700 12px inherit;font-family:inherit;cursor:pointer;text-align:left;transition:background .2s,transform .2s}
.artelli-chip:hover{background:rgba(167,139,250,.12);transform:translateY(-1px)}
.artelli-form{border-top:1px solid var(--a-line);padding:12px 12px 10px;background:rgba(255,255,255,.012)}
.artelli-field{display:flex;align-items:flex-end;gap:8px;background:#0f0b18;border:1px solid var(--a-line);border-radius:16px;padding:6px 6px 6px 12px}
.artelli-field:focus-within{border-color:rgba(196,181,253,.45)}
.artelli-field textarea{flex:1;resize:none;border:0;background:transparent;color:var(--a-ink);font:14px/1.45 inherit;font-family:inherit;max-height:110px;min-height:22px;padding:6px 0;outline:none}
.artelli-field textarea::placeholder{color:var(--a-dim)}
.artelli-send{width:36px;height:36px;border-radius:12px;border:0;background:#ede9fe;color:#140d24;cursor:pointer;display:grid;place-items:center;flex:none;font-size:16px;font-weight:900}
.artelli-send:disabled{opacity:.35;cursor:not-allowed}
.artelli-meta{display:flex;justify-content:space-between;gap:10px;margin-top:7px;padding:0 4px;font-size:10.5px;color:var(--a-dim)}
.artelli-hp{position:absolute!important;left:-9999px!important;width:1px;height:1px;opacity:0}
.artelli-sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
@media(max-width:560px){
  .artelli-launch{padding:0 7px;width:54px;justify-content:center}.artelli-launch-label{display:none}
  .artelli-dialog{right:0;left:0;bottom:0;width:100%;height:min(88dvh,680px);border-radius:24px 24px 0 0;border-bottom:0;padding-bottom:env(safe-area-inset-bottom)}
}
@media(prefers-reduced-motion:reduce){.artelli-root *,.artelli-cta *{animation:none!important;transition:none!important}}

/* Contextual CTA blocks (static + resources) */
.artelli-cta{position:relative;overflow:hidden;margin:48px 0;padding:34px clamp(22px,4vw,44px);border-radius:26px;border:1px solid rgba(196,181,253,.18);background:linear-gradient(135deg,rgba(124,58,237,.16),rgba(11,9,18,.4) 55%),#0b0912;color:#f4f1fb;font-family:'Plus Jakarta Sans',system-ui,sans-serif}
.artelli-cta-glow{position:absolute;right:-90px;top:-120px;width:320px;height:320px;border-radius:50%;background:radial-gradient(circle,rgba(167,139,250,.32),transparent 65%);pointer-events:none}
.artelli-cta-k{position:relative;margin:0;font:800 11px 'Plus Jakarta Sans',system-ui,sans-serif;letter-spacing:.18em;text-transform:uppercase;color:#c4b5fd}
.artelli-cta-h{position:relative;margin:12px 0 10px!important;max-width:24ch;font:800 clamp(1.45rem,3vw,2.1rem)/1.08 'Outfit',system-ui,sans-serif!important;letter-spacing:-.035em;color:#fff!important}
.artelli-cta-p{position:relative;margin:0;max-width:58ch;color:rgba(236,231,250,.66);font-size:15px;line-height:1.65}
.artelli-cta-row{position:relative;display:flex;flex-wrap:wrap;align-items:center;gap:10px 14px;margin-top:22px}
.artelli-cta-a{display:inline-flex;gap:8px;align-items:center;border-radius:999px;padding:12px 20px;background:#f4f1fb;color:#0b0812!important;font-weight:800;font-size:14px;text-decoration:none!important;transition:transform .2s}
.artelli-cta-a:hover{transform:translateY(-2px);background:#ede9fe}
.artelli-cta-b{color:#ddd6fe!important;font-weight:700;font-size:14px;text-decoration:underline;text-underline-offset:4px;text-decoration-color:rgba(196,181,253,.4)}
.artelli-cta-ask{margin-left:auto;background:none;border:1px solid rgba(196,181,253,.25);color:#c4b5fd;border-radius:999px;padding:9px 14px;font:700 12.5px 'Plus Jakarta Sans',system-ui,sans-serif;cursor:pointer}
.artelli-cta-ask:hover{background:rgba(167,139,250,.12);color:#fff}
.artelli-cta[data-cta="legal"]{background:#0b0912;border-color:rgba(255,255,255,.09)}.artelli-cta[data-cta="legal"] .artelli-cta-glow{opacity:.35}
@media(max-width:560px){.artelli-cta-ask{margin-left:0}}
