.mz{--mz-bg:#fff;--mz-ink:#15161a;--mz-mut:#5d6270;--mz-acc:#3b5bfd;--mz-line:rgba(0,0,0,.1);font:15px/1.45 system-ui,-apple-system,"Segoe UI",sans-serif;color:var(--mz-ink)}
.mz-sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
body.mz-has{padding-bottom:112px} /* reserve the dock's space so it never sits over the last content */
.mz-dock{position:fixed;right:20px;bottom:16px;z-index:60;width:88px;height:96px;padding:0;border:0;background:none;cursor:pointer;border-radius:24px}
.mz-dock:focus-visible,.mz button:focus-visible,.mz input:focus-visible{outline:3px solid var(--mz-acc);outline-offset:3px}
.mz-svg{width:100%;height:100%;overflow:visible;display:block}
.mz-bubble{position:fixed;right:116px;bottom:44px;z-index:61;width:min(320px,calc(100vw - 150px));background:var(--mz-bg);border:1px solid var(--mz-line);border-radius:18px 18px 4px 18px;padding:14px 16px 12px;box-shadow:0 12px 32px rgba(10,12,20,.16)}
.mz-text{margin:0 18px 10px 0;font-size:14.5px}
.mz-x,.mz-close{position:absolute;top:6px;right:8px;width:32px;height:32px;border:0;background:none;font-size:22px;line-height:1;color:var(--mz-mut);cursor:pointer;border-radius:8px}
.mz-actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.mz-ask{border:0;background:var(--mz-acc);color:var(--mz-on,#fff);font-weight:600;padding:8px 14px;border-radius:999px;cursor:pointer;font-size:14px}
.mz-mute{border:0;background:none;color:var(--mz-mut);text-decoration:underline;font-size:13px;cursor:pointer;padding:6px 2px}
.mz-panel{position:fixed;right:20px;bottom:120px;z-index:62;width:min(380px,calc(100vw - 32px));height:min(560px,calc(100vh - 150px));display:flex;flex-direction:column;background:var(--mz-bg);border:1px solid var(--mz-line);border-radius:20px;box-shadow:0 24px 60px rgba(10,12,20,.22);overflow:hidden}
.mz-panel header{position:relative;display:flex;gap:10px;align-items:center;padding:12px 48px 12px 14px;border-bottom:1px solid var(--mz-line)}
.mz-panel header small{display:block;color:var(--mz-mut);font-size:12.5px}
.mz-avatar{width:40px;height:44px;flex:none}
.mz-close{top:12px}
.mz-log{flex:1;overflow:auto;padding:14px;display:flex;flex-direction:column;gap:8px}
.mz-msg{margin:0;max-width:86%;padding:9px 12px;border-radius:14px;white-space:pre-wrap;font-size:14.5px}
.mz-bot{background:rgba(0,0,0,.05);align-self:flex-start;border-bottom-left-radius:4px}
.mz-me{background:var(--mz-acc);color:var(--mz-on,#fff);align-self:flex-end;border-bottom-right-radius:4px}
.mz-typing{color:var(--mz-mut);letter-spacing:2px}
.mz-chips{display:flex;flex-wrap:wrap;gap:6px;padding:0 14px 8px}
.mz-chips button{border:1px solid var(--mz-line);background:none;color:inherit;border-radius:999px;padding:6px 11px;font-size:13px;cursor:pointer}
.mz-form{display:flex;gap:8px;padding:10px 12px;border-top:1px solid var(--mz-line)}
.mz-form input{flex:1;min-width:0;border:1px solid var(--mz-line);border-radius:12px;padding:10px 12px;font:inherit;background:transparent;color:inherit}
.mz-form button{width:44px;border:0;border-radius:12px;background:var(--mz-acc);color:var(--mz-on,#fff);cursor:pointer}
.mz-foot{margin:0;padding:0 14px 10px;color:var(--mz-mut);font-size:11.5px}
@media (max-width:640px){
  body.mz-has{padding-bottom:84px}
  .mz-dock{right:12px;bottom:10px;width:64px;height:70px}
  .mz-bubble{right:12px;left:12px;bottom:86px;width:auto;border-radius:16px 16px 4px 16px}
  .mz-panel{right:0;left:0;bottom:0;width:100%;height:min(78vh,620px);border-radius:20px 20px 0 0}
  .mz.mz-open .mz-dock{display:none}
}
@media (prefers-reduced-motion:reduce){.mz *{transition:none!important;animation:none!important}}
.mz [hidden]{display:none!important}
.mz-dock .mz-svg{filter:drop-shadow(0 6px 14px rgba(0,0,0,.25))}
.mz[data-tenant=onyx] .mz-dock .mz-svg{filter:drop-shadow(0 0 1px rgba(243,238,228,.9)) drop-shadow(0 0 12px rgba(200,169,106,.45))}
.mz .mz-panel{padding:0}
/* small phones: tip lives in the dock's own bottom strip (beside the mascot) instead of floating over the page */
@media (max-width:640px){
  .mz-bubble{left:10px;right:84px;bottom:10px;max-height:72px;padding:8px 34px 8px 12px;border-radius:14px 14px 4px 14px;overflow:hidden;display:flex;flex-direction:column;justify-content:center}
  .mz-text{margin:0 0 4px;font-size:13px;line-height:1.3;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
  .mz-actions{gap:8px;flex-wrap:nowrap}
  .mz-ask{padding:3px 10px;font-size:12.5px}.mz-mute{font-size:11.5px;padding:2px}
  .mz-x{top:2px;right:2px}
}
.mz[data-tenant=sagehill] .mz-dock .mz-svg{filter:drop-shadow(0 6px 14px rgba(31,74,46,.3))}
