/* JIX on standalone guide pages: core placement styles omitted from the guide stylesheet. */
/* JIX / the friendly JARVIX mascot. No heavy filters, canvas, or dependencies. */
.jix-dock{position:fixed;z-index:95;left:4px;bottom:8px;width:132px;height:152px;pointer-events:none;isolation:isolate}
.jix-dock button{font:inherit}
.jix-character{position:absolute;left:0;bottom:0;width:128px;height:148px;padding:0;border:0;background:none;cursor:pointer;pointer-events:auto;outline-offset:3px;transform:rotate(0);transition:transform .32s ease;touch-action:manipulation}
.jix-character svg{display:block;width:100%;height:100%;overflow:visible}
.jix-character:hover{transform:rotate(-5deg) translateY(-3px)}
.jix-character:focus-visible,.jix-minimize:focus-visible,.jix-restore:focus-visible,.jix-bubble-close:focus-visible{outline:3px solid #008bb6;outline-offset:3px;border-radius:10px}
.jix-robot{transform-origin:90px 165px;animation:jix-bob 4.4s ease-in-out infinite}
.jix-eyes{transform-origin:90px 80px;animation:jix-blink 5.7s ease-in-out infinite}
.jix-arm-right{transform-origin:132px 130px;transition:transform .3s ease}
.jix-character:hover .jix-arm-right,.jix-dock.is-waving .jix-arm-right{animation:jix-wave .7s ease-in-out 2}
.jix-dock.is-looking-up .jix-character{transform:rotate(-7deg)}
.jix-dock.is-looking-down .jix-character{transform:rotate(5deg)}
.jix-dock.is-waving .jix-character{transform:translateY(-7px) rotate(-3deg)}
.jix-bubble{position:absolute;left:108px;bottom:103px;display:flex;align-items:flex-start;gap:7px;width:218px;max-width:calc(100vw - 160px);padding:12px 12px 12px 15px;border:2px solid #193548;border-radius:18px 18px 18px 5px;background:#fff;box-shadow:4px 5px 0 #b4eaf5;color:#193548;font-family:Nunito,system-ui,sans-serif;font-size:14px;font-weight:800;line-height:1.35;pointer-events:auto;animation:jix-pop .2s ease-out}
.jix-bubble::after{content:"";position:absolute;bottom:-11px;left:13px;width:15px;height:15px;background:#fff;border-right:2px solid #193548;border-bottom:2px solid #193548;transform:rotate(45deg)}
.jix-bubble-text{flex:1;min-width:0}
.jix-bubble-close{flex:0 0 20px;width:20px;height:20px;display:grid;place-items:center;border:0;background:transparent;color:#5e7786;font-size:21px;line-height:1;cursor:pointer;pointer-events:auto}
.jix-minimize{position:absolute;left:106px;bottom:10px;width:25px;height:25px;border:1.5px solid #b5d7e2;border-radius:50%;background:#fff;color:#27445a;font-size:17px;line-height:1;cursor:pointer;pointer-events:auto;box-shadow:0 2px 8px #173a4b1a}
.jix-restore{position:absolute;left:0;bottom:0;border:2px solid #193548;border-radius:20px;background:#e2faff;color:#193548;font-size:13px;font-weight:900;padding:8px 13px;cursor:pointer;pointer-events:auto;box-shadow:3px 4px 0 #b4eaf5}
.jix-bubble[hidden],.jix-restore[hidden]{display:none!important}
.jix-dock.is-minimized{width:90px;height:38px}
.jix-dock.is-minimized .jix-character,.jix-dock.is-minimized .jix-minimize,.jix-dock.is-minimized .jix-bubble{display:none!important}
body.menu-open .jix-dock{opacity:0;pointer-events:none}
@keyframes jix-bob{0%,100%{transform:translateY(0)}50%{transform:translateY(-4px)}}
@keyframes jix-blink{0%,44%,47%,100%{transform:scaleY(1)}45%{transform:scaleY(.12)}}
@keyframes jix-wave{0%,100%{transform:rotate(0)}40%{transform:rotate(-18deg)}75%{transform:rotate(9deg)}}
@keyframes jix-pop{from{opacity:0;transform:translateY(5px) scale(.96)}to{opacity:1;transform:translateY(0) scale(1)}}
@media(max-width:650px){
 .jix-dock{left:-4px;bottom:5px;width:98px;height:119px}
 .jix-character{width:98px;height:114px}
 .jix-minimize{left:78px;bottom:4px;width:22px;height:22px;font-size:15px}
 .jix-bubble{left:84px;bottom:77px;width:196px;max-width:calc(100vw - 110px);padding:10px 10px 10px 12px;font-size:12.5px}
 .jix-bubble::after{left:9px}
}
@media(max-width:360px){.jix-dock{left:-5px}.jix-bubble{left:84px;max-width:calc(100vw - 96px)}}
@media(prefers-reduced-motion:reduce){
 .jix-robot,.jix-eyes,.jix-dock.is-waving .jix-arm-right,.jix-character:hover .jix-arm-right,.jix-bubble{animation:none!important}
 .jix-character,.jix-arm-right{transition:none!important}
}


/* Widget dialogue and message card styling, standalone fallback. */
/* JIX chat: deliberately small, tactile and inexpensive to render. */
.jix-dock{z-index:190!important}
.jix-dock .jix-character img{width:100%;height:100%;object-fit:contain;display:block}
.jix-dock .jix-bubble{cursor:pointer;bottom:100px;max-width:min(260px,calc(100vw - 145px));font-size:13px;min-height:46px}
.jix-dock .jix-bubble::after{pointer-events:none}
.jix-dock .jix-minimize{display:grid;place-items:center;font:700 20px/1 Nunito,system-ui,sans-serif!important;left:104px!important;bottom:10px!important;width:27px!important;height:27px!important;box-shadow:0 2px 9px #07283a28}
.jix-chat{position:fixed;z-index:191;left:22px;bottom:165px;width:min(368px,calc(100vw - 44px));max-height:min(550px,calc(100dvh - 185px));display:flex;flex-direction:column;overflow:hidden;border:2px solid #173347;border-radius:19px;background:#fff;box-shadow:0 15px 48px #1032463b,4px 5px 0 #9cdceb;font-family:Nunito,system-ui,sans-serif;color:#183347;contain:layout style}
.jix-chat[hidden]{display:none!important}
.jix-chat-head{display:flex;align-items:center;gap:10px;background:#142e3d;color:#fff;padding:14px 16px;flex-shrink:0}
.jix-chat-avatar{display:grid;place-items:center;flex:0 0 34px;width:34px;height:34px;background:#18bed8;color:#fff;border:1px solid #81e8f6;border-radius:12px;font-size:22px}
.jix-chat-headline{display:flex;flex-direction:column;flex:1;min-width:0;line-height:1.3}
.jix-chat-headline strong{font-size:16px;font-weight:900}
.jix-chat-headline small{font-size:11px;color:#b3dae6;font-weight:800}
.jix-chat-close{display:grid;place-items:center;color:white;border:1px solid #476473;background:#234455;width:30px;height:30px;border-radius:9px;font:700 22px/1 Nunito;cursor:pointer}
.jix-chat-body{overflow:auto;padding:18px 17px 17px;overscroll-behavior:contain}
.jix-chat-message{margin-right:16px;padding:13px 14px 13px 16px;border:1px solid #c3e6ef;border-radius:15px 15px 15px 4px;background:#e7faff;font-size:14px;line-height:1.55;font-weight:800}
.jix-chat-explain{font-size:12px;color:#426170;margin:12px 0 18px;line-height:1.6}
#jix-chat-form{display:flex;flex-direction:column;gap:9px}
#jix-chat-form label{font-size:13px;font-weight:900}
#jix-chat-input{display:block;box-sizing:border-box;width:100%;height:102px;min-height:86px;max-height:170px;resize:vertical;background:#fff;border:1.5px solid #9ebbc7;border-radius:12px;padding:11px 13px;font:600 14px/1.5 Nunito,system-ui,sans-serif;color:#173347}
#jix-chat-input:focus{border-color:#08aacc;outline:3px solid #07c7e52f}
.jix-chat-actions{display:flex;gap:10px;align-items:center;justify-content:space-between}
.jix-chat-actions>span{font-size:10px;line-height:1.35;color:#69808c;max-width:125px}
.jix-chat-send{border:1.5px solid #092b3a;border-radius:11px;background:#13bcda;color:#092b3a;cursor:pointer;font:900 13px Nunito,system-ui,sans-serif;padding:11px 14px;white-space:nowrap}
.jix-chat-send:hover{background:#65e3f2}
.jix-chat-status{font-size:11px;line-height:1.45;color:#526979;margin:2px 0 0;min-height:17px}
.jix-dock.is-chat-open .jix-bubble{display:none!important}
@media(max-width:650px){
 .jix-chat{left:11px;bottom:120px;width:min(352px,calc(100vw - 22px));max-height:min(460px,calc(100dvh - 142px));border-radius:16px}
 .jix-chat-head{padding:11px 13px}
 .jix-chat-body{padding:14px 13px}
 .jix-dock .jix-bubble{left:83px;bottom:81px;max-width:calc(100vw - 109px);font-size:12px}
 .jix-dock .jix-minimize{left:77px!important;bottom:4px!important;width:24px!important;height:24px!important}
}
@media(max-height:600px){.jix-chat{bottom:74px;max-height:calc(100dvh - 86px)}}
@media(prefers-reduced-motion:reduce){.jix-dock .jix-character,.jix-dock .jix-robot,.jix-chat{animation:none!important;transition:none!important}}

body.menu-open .jix-chat{display:none!important}

/* Keep the maskot small and interactive on every guide route. */
.jix-dock {z-index:190!important}
.jix-dock .jix-character img{display:block;width:100%!important;height:100%!important;object-fit:contain;max-width:none}
.jix-dock .jix-bubble{line-height:1.35}
.jix-dock .jix-restore[hidden]{display:none!important}
@media(max-width:650px){.jix-dock .jix-character{width:98px;height:114px}}
