/* Fixed MASTER-J visitor assistant. Kept separate from the mouse-following mascot. */
.mj-assistant-root{position:fixed;right:22px;bottom:12px;z-index:10055;font-family:inherit;color:#eafff4;pointer-events:none}
.mj-assistant-launcher{position:relative;display:flex;align-items:flex-end;justify-content:center;width:126px;height:148px;padding:0;border:0;background:transparent;cursor:pointer;pointer-events:auto;filter:drop-shadow(0 7px 13px rgba(0,0,0,.6));transition:transform .24s ease,filter .24s ease}
.mj-assistant-launcher:hover,.mj-assistant-launcher:focus-visible{transform:translateY(-7px) scale(1.045);filter:drop-shadow(0 0 17px rgba(0,255,157,.58));outline:none}
.mj-assistant-launcher:focus-visible::after{content:"";position:absolute;inset:6px;border:2px solid #8dffd0;border-radius:24px;pointer-events:none}
.mj-assistant-bot{display:block;width:112px;height:137px;object-fit:contain;animation:mj-assistant-hover 3.2s ease-in-out infinite;transform-origin:50% 88%}
.mj-assistant-launcher:hover .mj-assistant-bot{animation:mj-assistant-greet .6s ease-in-out 2}
.mj-assistant-callout{position:absolute;right:96px;bottom:83px;min-width:125px;padding:9px 12px;border:1px solid rgba(0,255,157,.62);border-radius:14px;background:linear-gradient(145deg,rgba(2,22,13,.97),rgba(3,9,7,.96));color:#cffff0;text-align:center;font-size:10px;font-weight:850;line-height:1.35;letter-spacing:.07em;text-transform:uppercase;box-shadow:0 0 18px rgba(0,255,157,.2),inset 0 0 18px rgba(0,255,157,.07);pointer-events:none;animation:mj-callout-pulse 2.8s ease-in-out infinite}
.mj-assistant-callout::after{content:"";position:absolute;right:-7px;bottom:14px;width:12px;height:12px;background:#03130c;border-right:1px solid rgba(0,255,157,.62);border-bottom:1px solid rgba(0,255,157,.62);transform:rotate(-45deg)}
.mj-assistant-panel{position:absolute;right:2px;bottom:157px;width:min(405px,calc(100vw - 32px));height:min(620px,calc(100dvh - 190px));min-height:300px;display:flex;flex-direction:column;overflow:hidden;border:1px solid rgba(0,255,157,.72);border-radius:22px;background:linear-gradient(160deg,rgba(2,17,11,.985),rgba(3,8,6,.99) 60%,rgba(2,19,12,.985));box-shadow:0 0 0 1px rgba(0,255,157,.12),0 0 36px rgba(0,255,157,.2),0 20px 60px rgba(0,0,0,.65);pointer-events:auto;opacity:1;transform:translateY(0) scale(1);transform-origin:bottom right;transition:opacity .2s ease,transform .2s ease}
.mj-assistant-panel[hidden]{display:none}
.mj-assistant-panel.is-closing{opacity:0;transform:translateY(12px) scale(.97)}
.mj-assistant-header{display:flex;align-items:center;gap:12px;min-height:76px;padding:12px 14px;border-bottom:1px solid rgba(0,255,157,.34);background:linear-gradient(100deg,rgba(0,255,157,.09),rgba(0,0,0,.1))}
.mj-assistant-avatar{display:grid;place-items:center;flex:0 0 48px;width:48px;height:48px;border:1px solid rgba(0,255,157,.75);border-radius:50%;background:radial-gradient(circle,rgba(0,255,157,.18),rgba(0,0,0,.8));box-shadow:0 0 15px rgba(0,255,157,.18)}
.mj-assistant-avatar img{width:42px;height:44px;object-fit:contain}
.mj-assistant-heading{min-width:0;flex:1}
.mj-assistant-heading strong{display:block;color:#f1fff7;font-size:15px;letter-spacing:.01em}
.mj-assistant-heading small{display:block;margin-top:3px;color:#9cc8b1;font-size:10px;line-height:1.35}
.mj-assistant-status{display:flex;align-items:center;gap:6px;margin-top:5px;color:#70ffc0;font-size:10px;font-weight:700}
.mj-assistant-status i{width:7px;height:7px;border-radius:50%;background:#00f59a;box-shadow:0 0 9px #00ff9d}
.mj-assistant-close{display:grid;place-items:center;flex:0 0 34px;width:34px;height:34px;border:1px solid rgba(154,255,211,.22);border-radius:10px;background:rgba(255,255,255,.035);color:#eafff4;font-size:24px;line-height:1;cursor:pointer}
.mj-assistant-close:hover{border-color:#00ff9d;color:#00ff9d;background:rgba(0,255,157,.1)}
.mj-assistant-notice{padding:7px 13px;border-bottom:1px solid rgba(0,255,157,.13);background:rgba(0,255,157,.035);color:#91baa5;font-size:9px;line-height:1.4}
.mj-assistant-messages{display:flex;flex:1;flex-direction:column;gap:12px;overflow:auto;padding:14px 12px 10px;overscroll-behavior:contain;scroll-behavior:smooth}
.mj-assistant-message{display:flex;flex-direction:column;max-width:91%;gap:4px;align-self:flex-start}
.mj-assistant-message.is-user{align-self:flex-end;max-width:88%}
.mj-assistant-message small{padding:0 4px;color:#82aa96;font-size:9px;font-weight:800;letter-spacing:.04em}
.mj-assistant-message.is-user small{text-align:right;color:#72eeb7}
.mj-assistant-bubble{padding:10px 12px;border:1px solid rgba(123,202,163,.22);border-radius:14px 14px 14px 4px;background:linear-gradient(145deg,rgba(18,42,31,.96),rgba(9,24,17,.96));color:#e7f8ef;font-size:12px;line-height:1.55;white-space:pre-wrap;overflow-wrap:anywhere}
.mj-assistant-message.is-user .mj-assistant-bubble{border-color:rgba(0,255,157,.48);border-radius:14px 14px 4px 14px;background:linear-gradient(135deg,rgba(0,116,70,.62),rgba(0,65,42,.7));color:#effff8}
.mj-assistant-quick{display:flex;flex-wrap:wrap;gap:6px;padding:0 12px 9px}
.mj-assistant-quick button{padding:6px 9px;border:1px solid rgba(0,255,157,.37);border-radius:999px;background:rgba(0,255,157,.055);color:#baffdc;font-family:inherit;font-size:10px;font-weight:700;line-height:1.2;cursor:pointer;transition:background .15s,border-color .15s}
.mj-assistant-quick button:hover{border-color:#00ff9d;background:rgba(0,255,157,.15)}
.mj-assistant-form{display:flex;align-items:flex-end;gap:8px;padding:10px 11px 11px;border-top:1px solid rgba(0,255,157,.24);background:rgba(0,0,0,.24)}
.mj-assistant-input{display:block;flex:1;min-width:0;max-height:92px;min-height:42px;resize:vertical;padding:11px 12px;border:1px solid rgba(130,220,175,.3);border-radius:14px;background:rgba(4,17,11,.96);color:#f0fff7;font-family:inherit;font-size:12px;line-height:1.4;outline:none}
.mj-assistant-input::placeholder{color:#779987}
.mj-assistant-input:focus{border-color:#00ff9d;box-shadow:0 0 0 3px rgba(0,255,157,.09)}
.mj-assistant-send{display:grid;place-items:center;flex:0 0 42px;width:42px;height:42px;border:0;border-radius:13px;background:linear-gradient(135deg,#00ff9d,#00ba73);color:#002b1a;font-size:21px;font-weight:900;cursor:pointer;box-shadow:0 0 14px rgba(0,255,157,.21)}
.mj-assistant-send:disabled{opacity:.5;cursor:not-allowed}
.mj-assistant-contact{display:grid;gap:7px;margin-top:8px;padding:10px;border:1px solid rgba(0,255,157,.42);border-radius:12px;background:rgba(0,255,157,.045)}
.mj-assistant-contact-title{color:#acffd7;font-size:10px;font-weight:900;letter-spacing:.08em;text-transform:uppercase}
.mj-assistant-contact-row{display:grid;grid-template-columns:78px minmax(0,1fr) auto;align-items:center;gap:6px;color:#b7d6c4;font-size:11px}
.mj-assistant-contact-row a{min-width:0;overflow-wrap:anywhere;color:#6dffbb;text-decoration:underline;text-underline-offset:2px;font-weight:750}
.mj-assistant-copy{padding:4px 6px;border:1px solid rgba(0,255,157,.32);border-radius:7px;background:rgba(0,255,157,.06);color:#caffea;font-size:9px;cursor:pointer}
.mj-assistant-contact-note{color:#93b5a1;font-size:9px;line-height:1.4}
.mj-assistant-powered{padding:0 12px 7px;color:#71917f;font-size:9px;text-align:center}
@keyframes mj-assistant-hover{0%,100%{transform:translateY(0) rotate(-1deg)}50%{transform:translateY(-6px) rotate(1deg)}}
@keyframes mj-assistant-greet{0%,100%{transform:rotate(0)}25%{transform:rotate(7deg)}75%{transform:rotate(-6deg)}}
@keyframes mj-callout-pulse{0%,100%{box-shadow:0 0 18px rgba(0,255,157,.2),inset 0 0 18px rgba(0,255,157,.07)}50%{box-shadow:0 0 28px rgba(0,255,157,.42),inset 0 0 22px rgba(0,255,157,.12)}}
@media(max-width:680px){
 .mj-assistant-root{right:5px;bottom:8px}
 .mj-assistant-launcher{width:91px;height:111px}
 .mj-assistant-bot{width:83px;height:103px}
 .mj-assistant-callout{right:71px;bottom:64px;min-width:105px;padding:7px 9px;font-size:8px}
 .mj-assistant-panel{right:3px;bottom:115px;width:calc(100vw - 18px);height:min(72dvh,590px);min-height:320px;border-radius:18px}
 .mj-assistant-header{min-height:68px;padding:9px 11px}
 .mj-assistant-messages{padding:11px 9px 8px}
 .mj-assistant-bubble{font-size:11.5px}
 .mj-assistant-quick{padding:0 9px 8px}
 .mj-assistant-quick button{font-size:9px}
}
@media(prefers-reduced-motion:reduce){.mj-assistant-bot,.mj-assistant-callout{animation:none!important}.mj-assistant-panel{transition:none}}
