#junto-root{position:fixed;bottom:18px;right:18px;z-index:2147482000;font:14px/1.5 system-ui,-apple-system,Segoe UI,sans-serif;color:#171c45}#junto-root *{box-sizing:border-box}#junto-root button{font:inherit;cursor:pointer}#junto-root button:focus-visible,#junto-root input:focus-visible{outline:3px solid #24c8c5;outline-offset:3px}.junto-launch{width:83px;height:83px;border-radius:50%;border:2px solid #a895ff;background:linear-gradient(145deg,#202054,#4b3198);box-shadow:0 14px 40px #151b4b55;display:grid;place-items:center;position:relative}.junto-launch svg{width:75px;height:75px}.junto-robot{transform-origin:center;animation:junto-float 3.6s ease-in-out infinite}.junto-eyes{transform-origin:50px 47px;animation:junto-blink 6s infinite}.junto-status{position:absolute;right:5px;top:4px;width:12px;height:12px;border-radius:50%;background:#60ebc9;box-shadow:0 0 12px #60ebc9}.junto-tip{position:absolute;right:0;bottom:97px;background:#fff;border:1px solid #dcd9f2;border-radius:16px;padding:13px 33px 13px 15px;box-shadow:0 8px 28px #151b4b33;white-space:nowrap;max-width:calc(100vw - 25px);font-size:13px}.junto-tip button{position:absolute;right:8px;top:4px;background:none;border:0;color:#616581;font-size:20px!important}.junto-panel{width:min(385px,calc(100vw - 24px));height:min(555px,calc(100dvh - 90px));background:#fff;border:1px solid #d9d6ef;border-radius:22px;box-shadow:0 20px 65px #12163e55;overflow:hidden;display:flex;flex-direction:column}.junto-head{background:linear-gradient(110deg,#171c4a,#443284);color:white;padding:12px;display:flex;align-items:center;gap:9px}.junto-avatar svg{width:53px;height:53px}.junto-name strong{font-size:17px}.junto-name small{display:block;color:#d2ebee;font-size:11px}.junto-spacer{flex:1}.junto-head button{background:#ffffff10;border:1px solid #ffffff55;border-radius:10px;color:#fff;padding:4px 9px;font-size:19px!important}.junto-body{flex:1;min-height:0;overflow:auto;padding:16px;background:#f7f7fe;display:flex;flex-direction:column;gap:10px}.junto-bubble{max-width:93%;white-space:pre-wrap;padding:11px 13px;border-radius:16px}.junto-bubble.bot{align-self:flex-start;background:#fff;box-shadow:0 3px 15px #25256a0e}.junto-bubble.user{align-self:flex-end;background:#e4dfff}.junto-typing{color:#625c91;font-size:12px;animation:junto-pulse .8s infinite alternate}.junto-actions{display:flex;flex-wrap:wrap;gap:7px;padding:11px 13px}.junto-actions button{border:1px solid #c7c2f2;background:#f7f5ff;color:#392b89;border-radius:20px;padding:7px 10px;font-size:12px}.junto-compose{display:flex;gap:8px;border-top:1px solid #e6e4f1;padding:11px}.junto-compose input{min-width:0;flex:1;border:1px solid #d4d0e7;border-radius:10px;padding:10px}.junto-compose button{background:#6551d6;color:#fff;border:0;border-radius:10px;padding:9px 13px}.junto-foot{font-size:10px;text-align:center;color:#85869b;padding:0 6px 8px}[data-expression=thinking] .junto-eyes{animation:junto-blink .35s infinite}[data-expression=happy] .junto-robot{animation:junto-celebrate .5s ease-in-out 2}@keyframes junto-float{50%{transform:translateY(-3px) rotate(2deg)}}@keyframes junto-blink{0%,44%,48%,100%{transform:scaleY(1)}46%{transform:scaleY(.12)}}@keyframes junto-pulse{to{opacity:.4}}@keyframes junto-celebrate{50%{transform:translateY(-8px) rotate(7deg)}}@media(max-width:600px){#junto-root{right:10px;bottom:10px}.junto-panel{height:min(530px,calc(100dvh - 80px))}.junto-launch{width:69px;height:69px}.junto-launch svg{width:63px;height:63px}.junto-tip{bottom:80px}}@media(prefers-reduced-motion:reduce){#junto-root *,#junto-root *::before,#junto-root *::after{animation:none!important;transition:none!important}}
/* Phase 3 refinements */
#junto-root .junto-panel{width:min(350px,calc(100vw - 22px));height:min(490px,calc(100dvh - 85px));transition:width .2s,height .2s}
#junto-root .junto-panel.junto-wide{width:min(510px,calc(100vw - 22px));height:min(660px,calc(100dvh - 85px))}
#junto-root .junto-head{padding:9px 11px}
#junto-root .junto-avatar svg{width:45px;height:45px}
#junto-root .junto-head button{padding:3px 7px;font-size:17px!important}
#junto-root .junto-context{font-size:11px;letter-spacing:.04em;font-weight:700;color:#5145a1;background:#efecff;padding:7px 13px;border-bottom:1px solid #ddd7ff}
#junto-root .junto-body{padding:12px;gap:8px}
#junto-root .junto-actions{padding:8px 10px;gap:5px}
#junto-root .junto-actions button{padding:6px 9px;font-size:11px}
#junto-root .junto-compose{padding:9px}
#junto-root .junto-compose input{padding:8px}
#junto-root .junto-foot{font-size:10px}
#junto-root[data-expression=thinking] .junto-robot{animation:junto-think .65s ease-in-out infinite alternate}
#junto-root[data-expression=happy] .junto-robot{animation:junto-celebrate .5s ease-in-out 2}
@keyframes junto-think{to{transform:rotate(-7deg) translateY(-3px)}}
@media(max-width:600px){#junto-root .junto-panel,#junto-root .junto-panel.junto-wide{width:min(360px,calc(100vw - 20px));height:min(510px,calc(100dvh - 80px))}}
@media(prefers-reduced-motion:reduce){#junto-root .junto-panel{transition:none}}

/* Center Junto mascot */
#junto-root .junto-launch svg { display: block; transform: translateY(5px); }

/* Phase 3.1 — Center the floating Junto mascot */
#junto-root .junto-launch svg {
    display: block;
    transform: translateY(5px);
}

/* Phase 3.1 — Refined mascot centering */
#junto-root .junto-launch {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 0 !important;
}

#junto-root .junto-launch svg {
    display: block !important;
    width: 75px !important;
    height: 75px !important;
    transform: none !important;
}

#junto-root .junto-launch .junto-robot {
    transform-box: fill-box;
    transform-origin: center center;
    translate: 0 -5px;
}
