/* Zenostacks site assistant — a guided chat (no AI, no data sent anywhere). */
.zc{--zc-v:#9b7bff;--zc-v2:#c9b6ff;--zc-bg:#0d0b12;--zc-card:#16121d;--zc-line:#ffffff14;--zc-text:#efe9f7;--zc-soft:#a79dba;font-family:var(--font,"Outfit",sans-serif);color:var(--zc-text)}
.zc *{box-sizing:border-box}

/* launcher — just the robot head, no background; the greeting sits beside it, centred on it */
.zc-dock{position:fixed;right:22px;bottom:22px;z-index:95;display:flex;align-items:center;gap:18px;pointer-events:none}
.zc-dock>*{pointer-events:auto}
.zc-launch{position:relative;flex:none;width:64px;height:64px;padding:0;border:0;border-radius:50%;background:none;display:grid;place-items:center;cursor:pointer;
  transition:transform .35s cubic-bezier(.2,.9,.3,1.2),opacity .3s}
.zc-launch:hover{transform:translateY(-3px) scale(1.05)}
.zc-launch:focus-visible{outline:2px solid var(--zc-v);outline-offset:3px}
.zc-launch svg{width:64px;height:64px;overflow:visible;filter:drop-shadow(0 10px 18px #000c) drop-shadow(0 0 14px #9b7bff33)}
.zc.is-open .zc-launch svg{filter:drop-shadow(0 10px 18px #000c) drop-shadow(0 0 18px #9b7bff66)}
.zc.has-unread 

/* robot expressions (switched at random by chat.js) */
.zc-bot .zc-eyes{transition:transform .35s cubic-bezier(.3,.7,.3,1)}
.zc-launch.is-up .zc-eyes{transform:translateY(-2.4px)}
.zc-launch.is-down .zc-eyes{transform:translateY(2.4px)}
.zc-launch.is-left .zc-eyes{transform:translateX(-2.6px)}
.zc-launch.is-right .zc-eyes{transform:translateX(2.6px)}
.zc-bot .zc-eye{transform-box:fill-box;transform-origin:center;transition:transform .07s ease-in,opacity .2s}
.zc-launch.is-blink .zc-eye{transform:scaleY(.12)}
.zc-bot .zc-happy,.zc-bot .zc-smile{opacity:0;transition:opacity .2s}
.zc-bot .zc-mouth{transition:opacity .2s}
.zc-launch.is-smile .zc-eye,.zc-launch.is-smile .zc-mouth{opacity:0}
.zc-launch.is-smile .zc-happy,.zc-launch.is-smile .zc-smile{opacity:1}
.zc-bot .zc-hand{opacity:0;transform-box:view-box;transform-origin:50.5px 49.5px;transform:rotate(42deg) scale(.55);transition:opacity .25s,transform .35s}
.zc-launch.is-wave .zc-hand{opacity:1;animation:zc-wave 1.7s ease-in-out both}
@keyframes zc-wave{0%{transform:rotate(42deg) scale(.55)}16%{transform:rotate(-8deg) scale(1)}30%{transform:rotate(12deg) scale(1)}44%{transform:rotate(-10deg) scale(1)}58%{transform:rotate(10deg) scale(1)}72%{transform:rotate(-6deg) scale(1)}86%{transform:rotate(4deg) scale(1)}100%{transform:rotate(0) scale(1)}}
.zc-bot .zc-tip{animation:zc-tip 2.6s ease-in-out infinite}
.zc.has-unread .zc-bot .zc-tip{animation-duration:.9s}
@keyframes zc-tip{0%,100%{opacity:1}50%{opacity:.35}}

/* greeting — a compact bubble beside the button, so it never covers what people are reading */
.zc-note{position:relative;max-width:min(340px,calc(100vw - 120px));display:flex;gap:10px;align-items:center;min-height:56px;padding:8px 36px 8px 9px;border-radius:16px 16px 3px 16px;cursor:pointer;text-align:left;
  background:linear-gradient(150deg,#1d1726f2,#110e16f2);border:1px solid #9b7bff55;box-shadow:0 14px 34px #0009,inset 0 1px 0 #ffffff12;
  opacity:0;visibility:hidden;transform:translateX(10px);pointer-events:none;transition:opacity .35s,transform .45s cubic-bezier(.2,.9,.3,1.1),visibility 0s .45s}
.zc.show-note .zc-note{opacity:1;visibility:visible;transform:none;pointer-events:auto;transition:opacity .35s,transform .45s cubic-bezier(.2,.9,.3,1.1),visibility 0s}
.zc-note .zc-av{width:34px;height:34px}
.zc-note .zc-av:after{width:9px;height:9px}
.zc-note p{margin:1px 0 0;font-size:13px;line-height:1.35;color:var(--zc-text);white-space:nowrap}
.zc-note b{display:block;font-size:11px;font-weight:600;color:var(--zc-v2);letter-spacing:.02em}
.zc-note-x{position:absolute;top:50%;right:6px;margin-top:-11px;width:22px;height:22px;border-radius:50%;display:grid;place-items:center;border:0;background:transparent;color:var(--zc-soft);font-size:15px;line-height:1;cursor:pointer}
.zc-note-x:hover{background:#ffffff12;color:#fff}

/* avatar */
.zc-av{flex:none;position:relative;width:40px;height:40px;border-radius:50%;background:#c9d4f2;box-shadow:0 0 0 2px #9b7bff66,0 6px 16px #0006}
.zc-av svg{display:block;width:100%;height:100%;border-radius:50%}
.zc-av:after{content:"";position:absolute;right:-1px;bottom:-1px;width:11px;height:11px;border-radius:50%;background:#46e3a3;border:2px solid #14111b}

/* panel */
.zc-panel{position:fixed;right:22px;bottom:100px;z-index:96;width:380px;height:min(580px,calc(100vh - 140px));display:flex;flex-direction:column;overflow:hidden;border-radius:24px 24px 3px 24px;
  background:linear-gradient(180deg,#15111c,#0c0a10);border:1px solid #9b7bff55;box-shadow:0 30px 80px #000c,inset 0 1px 0 #ffffff14;
  opacity:0;transform:translateY(16px) scale(.97);transform-origin:100% 100%;pointer-events:none;visibility:hidden;transition:opacity .3s,transform .4s cubic-bezier(.2,.9,.3,1.1),visibility 0s .4s}
.zc.is-open .zc-panel{opacity:1;transform:none;pointer-events:auto;visibility:visible;transition:opacity .3s,transform .4s cubic-bezier(.2,.9,.3,1.1),visibility 0s}
.zc.is-open .zc-note{opacity:0;pointer-events:none}
.zc-head{display:flex;align-items:center;gap:12px;padding:16px 16px 14px;border-bottom:1px solid var(--zc-line);background:radial-gradient(ellipse 80% 120% at 100% 0,#5a2fb044,transparent 60%)}
.zc-head b{display:block;font-size:15px;font-weight:600}
.zc-head small{display:block;font-size:12px;color:var(--zc-soft);margin-top:1px}
.zc-head small i{display:inline-block;width:7px;height:7px;margin-right:6px;border-radius:50%;background:#46e3a3;box-shadow:0 0 8px #46e3a3;vertical-align:1px}
.zc-close{margin-left:auto;width:34px;height:34px;border-radius:50%;display:grid;place-items:center;border:1px solid var(--zc-line);background:#ffffff08;color:#fff;font-size:18px;cursor:pointer}
.zc-close:hover{background:#ffffff14}
.zc-log{flex:1;overflow-y:auto;overscroll-behavior:contain;padding:18px 16px 8px;display:flex;flex-direction:column;gap:10px;scrollbar-width:thin;scrollbar-color:#ffffff22 transparent}
.zc-msg{max-width:86%;padding:11px 14px;border-radius:18px;font-size:14px;line-height:1.5;white-space:pre-line;animation:zc-in .35s cubic-bezier(.2,.9,.3,1.1) both}
.zc-msg.bot{align-self:flex-start;background:var(--zc-card);border:1px solid var(--zc-line);border-radius:18px 18px 18px 3px}
.zc-msg.me{align-self:flex-end;background:linear-gradient(135deg,#8f5bff,#b46ee6);color:#fff;border-radius:18px 18px 3px 18px}
.zc-links{align-self:flex-start;display:flex;flex-direction:column;gap:8px;width:86%;animation:zc-in .35s cubic-bezier(.2,.9,.3,1.1) both}
.zc-link{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:11px 14px;border-radius:14px 14px 14px 3px;background:#ffffff08;border:1px solid #9b7bff40;color:#fff;font-size:13.5px;font-weight:500;text-decoration:none;transition:background .25s,border-color .25s}
.zc-link:hover{background:#9b7bff1f;border-color:#9b7bff}
.zc-link span{color:var(--zc-v2)}
.zc-typing{align-self:flex-start;display:flex;gap:4px;padding:14px 16px;border-radius:18px 18px 18px 3px;background:var(--zc-card);border:1px solid var(--zc-line)}
.zc-typing i{width:6px;height:6px;border-radius:50%;background:var(--zc-soft);animation:zc-dot 1s infinite}
.zc-typing i:nth-child(2){animation-delay:.15s}.zc-typing i:nth-child(3){animation-delay:.3s}
@keyframes zc-dot{0%,60%,100%{opacity:.3;transform:none}30%{opacity:1;transform:translateY(-3px)}}
@keyframes zc-in{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
.zc-chips{display:flex;flex-wrap:wrap;gap:8px;padding:8px 16px 12px}
.zc-chip{padding:8px 13px;border-radius:99px;border:1px solid #9b7bff66;background:#9b7bff12;color:#eee6ff;font:500 13px/1.2 var(--font,"Outfit",sans-serif);cursor:pointer;transition:background .2s,border-color .2s,transform .2s}
.zc-chip:hover{background:#9b7bff2e;border-color:var(--zc-v);transform:translateY(-1px)}
.zc-form{display:flex;gap:8px;padding:12px 12px 10px;border-top:1px solid var(--zc-line);background:#0b0910}
.zc-form input{flex:1;min-width:0;height:44px;padding:0 16px;border-radius:99px;border:1px solid var(--zc-line);background:#ffffff08;color:#fff;font:400 14px var(--font,"Outfit",sans-serif);outline:none}
.zc-form input:focus{border-color:#9b7bff99}
.zc-form input::placeholder{color:#8d84a0}
.zc-send{flex:none;width:44px;height:44px;border-radius:50%;border:0;display:grid;place-items:center;background:linear-gradient(135deg,#8f5bff,#c86ce8);color:#fff;cursor:pointer}
.zc-send svg{width:18px;height:18px}
.zc-foot{padding:0 16px 10px;font-size:10.5px;color:#6f6679;text-align:center;background:#0b0910}

@media(max-width:600px){
  .zc-dock{right:14px;bottom:14px;gap:14px}
  .zc-launch,.zc-launch svg{width:56px;height:56px}
  .zc-note{max-width:calc(100vw - 98px)}
  .zc-note p{white-space:normal}
  .zc-panel{right:0;left:0;bottom:0;width:100%;height:min(88vh,640px);height:min(88dvh,640px);border-radius:24px 24px 0 0;border-bottom:0}
  .zc.is-open .zc-launch{opacity:0;pointer-events:none}
  .zc-form input{font-size:16px}
}
@media(prefers-reduced-motion:reduce){.zc *{animation:none!important;transition:none!important}}
@media print{.zc{display:none}}
