.chatbot-toggle-btn{position:relative;inset:auto;margin:16px auto;width:auto;height:64px;padding:4px 22px 4px 6px;gap:10px;border:1px solid #dfd2b9;background:#fffaf1;color:#102344;font-size:14px;font-weight:700;z-index:1;box-shadow:0 4px 14px #10234412!important}
.chatbot-toggle-btn img{object-fit:contain}.chatbot-toggle-btn:hover{transform:translateY(-2px)}
.zona-assistant-page{margin:0;background:#faf8f3;color:#102344;font-family:Arial,sans-serif;height:100dvh;display:flex;flex-direction:column}
.zona-assistant-brand{height:72px;flex-shrink:0;display:flex;align-items:center;justify-content:center;border-bottom:1px solid #e9e2d6;background:white}.zona-assistant-brand img{width:170px;height:54px;object-fit:contain}
.zona-assistant-page .chatbot-toggle-btn{display:none}.zona-assistant-page .chatbot-window{position:relative;inset:auto!important;width:100%!important;max-width:780px;margin:0 auto;height:auto!important;flex:1;min-height:0;border:0;border-radius:0;box-shadow:none!important}
.zona-assistant-page .chatbot-header{background:#fff;color:#102344;border-bottom:1px solid #ece7df;padding:12px 20px}.zona-assistant-page .chatbot-header .btn{color:#102344!important}.zona-assistant-page .bot-avatar{background:transparent}
.zona-assistant-page .chatbot-body{background:#faf8f3;padding:20px;gap:18px}.zona-assistant-page .bot-message{background:#f3f0e9;border:1px solid #e5dfd3;border-radius:18px;color:#24364f}.zona-assistant-page .user-message{background:var(--season-primary,#102344);border-radius:18px;color:white;max-width:85%}
.zona-welcome{display:flex;align-items:center;gap:18px;margin-bottom:18px}.zona-welcome img{width:125px;height:135px;object-fit:contain}.zona-welcome strong{font-size:23px;line-height:1.3}.zona-shortcuts{display:flex;gap:8px;flex-wrap:wrap}.zona-shortcuts a,.zona-shortcuts button{font:inherit;font-size:13px;padding:10px;border:1px solid #d8cdb8;border-radius:24px;background:#fffaf3;text-decoration:none;color:#102344}
.zona-assistant-page .chatbot-footer{padding:14px 18px calc(14px + env(safe-area-inset-bottom));background:#faf8f3}.zona-assistant-page .send-btn{background:#102344;border:0}.zona-assistant-page #chatbot-input{min-height:48px;background:#fffdf9;border-color:#ddd4c4}.zona-assistant-page .chat-message{line-height:1.65}.zona-assistant-page .bot-message:has(.zona-welcome){max-width:100%;width:100%;background:transparent;border:0;padding:0}
@media(max-width:480px){.zona-assistant-page .chatbot-body{padding:16px}.zona-welcome strong{font-size:21px}.zona-welcome img{width:105px}.zona-assistant-brand{height:64px}}
@media(prefers-reduced-motion:reduce){.chatbot-toggle-btn{transition:none}.typing-indicator span{animation:none}}
/* Floating companion: no extra row after the footer. Document readers use their toolbar. */
body:not(.zona-assistant-page) .chatbot-toggle-btn{position:fixed;right:18px;bottom:22px;left:auto;top:auto;margin:0;width:88px;height:114px;display:flex;flex-direction:column;gap:0;padding:0;background:transparent;border:0;border-radius:0;box-shadow:none!important;z-index:1040;touch-action:none;cursor:grab;transition:none}
body:not(.zona-assistant-page) .chatbot-toggle-btn img{width:84px;height:88px;object-fit:contain;filter:drop-shadow(0 3px 5px #10234425);animation:zona-idle 4s ease-in-out infinite}
body:not(.zona-assistant-page) .chatbot-toggle-btn span{font-size:11px;line-height:18px;padding:2px 7px;background:#fffdf6;border:1px solid #ddc99d;border-radius:10px;white-space:nowrap;color:#102344}
body:not(.zona-assistant-page) .chatbot-toggle-btn:hover{transform:none}.chatbot-toggle-btn.is-dragging{cursor:grabbing!important}.chatbot-toggle-btn.is-dragging img{animation:none!important}
@keyframes zona-idle{50%{transform:translateY(-3px)}}
@media(max-width:700px){body:not(.zona-assistant-page) .chatbot-toggle-btn{width:72px;height:96px;right:12px;bottom:76px}body:not(.zona-assistant-page) .chatbot-toggle-btn img{width:70px;height:72px}}
@media(prefers-reduced-motion:reduce){body:not(.zona-assistant-page) .chatbot-toggle-btn img{animation:none}}
@media print{.chatbot-toggle-btn{display:none!important}}
/* Speech bubble stays attached to the draggable companion. */
body:not(.zona-assistant-page) .chatbot-toggle-btn{width:108px;height:164px}
body:not(.zona-assistant-page) .chatbot-toggle-btn img{width:104px;height:140px}
body:not(.zona-assistant-page) .chatbot-window{width:330px!important;height:250px!important;max-width:calc(100vw - 16px);max-height:calc(100dvh - 24px);border:2px solid #243f63;border-radius:26px;box-shadow:0 5px 0 #243f6320!important;background:#fffdf8;z-index:1050;bottom:auto!important;right:auto!important}
body:not(.zona-assistant-page) .chatbot-window.has-conversation{height:440px!important}
body:not(.zona-assistant-page) .chatbot-header{background:#fffdf8;color:#102344;padding:12px 16px;border-bottom:1px solid #eee6d8}
body:not(.zona-assistant-page) .chatbot-header .btn{color:#102344!important}
body:not(.zona-assistant-page) .chatbot-header .bot-avatar,body:not(.zona-assistant-page) .chatbot-header small{display:none}
body:not(.zona-assistant-page) .chatbot-body{background:#fffdf8;padding:12px 16px;min-height:0}
body:not(.zona-assistant-page) .bot-message{background:#f5f1e9;border-color:#e7ddca;color:#102344;font-size:14px;max-width:96%}
body:not(.zona-assistant-page) .user-message{background:#102344;font-size:14px}
body:not(.zona-assistant-page) .chatbot-footer{background:#fffdf8;padding:10px;border-color:#eee6d8}
body:not(.zona-assistant-page) .send-btn{background:#102344;border:0}
.chatbot-toggle-btn[data-state=thinking] img{animation:zona-think 1.4s ease-in-out infinite!important}
.chatbot-toggle-btn[data-state=listening] img{transform:rotate(-4deg);animation:none!important}
@keyframes zona-think{50%{transform:rotate(4deg) translateY(-3px)}}
@media(max-width:700px){body:not(.zona-assistant-page) .chatbot-toggle-btn{width:80px;height:124px}body:not(.zona-assistant-page) .chatbot-toggle-btn img{width:78px;height:102px}}
@media(prefers-reduced-motion:reduce){.chatbot-toggle-btn[data-state] img{animation:none!important;transform:none!important}}

/* Keep pointer gestures on the companion, not the browser image drag. */
body:not(.zona-assistant-page) .chatbot-toggle-btn {user-select:none;-webkit-user-select:none;z-index:1060}
.chatbot-toggle-btn img {pointer-events:none;-webkit-user-drag:none}
.chatbot-toggle-btn[data-state=speaking] img {animation:zona-speak .65s ease-in-out infinite!important}
@keyframes zona-speak {0%,100%{transform:rotate(-3deg) translateY(0)}50%{transform:rotate(3deg) translateY(-6px)}}
@media(prefers-reduced-motion:reduce){.chatbot-toggle-btn[data-state=speaking] img{animation:none!important}}

.zona-puppet{width:108px;height:140px;overflow:visible;pointer-events:none;filter:drop-shadow(0 3px 3px #14294320)}
.zr-head{transform-origin:90px 122px;animation:zr-look 7s ease-in-out infinite}.zr-body{transform-origin:90px 190px;animation:zr-breathe 3s ease-in-out infinite}.zr-eyes{transform-origin:90px 80px;animation:zr-blink 5s infinite}.zr-arm-right{transform-origin:129px 136px;animation:zr-wave 6s ease-in-out infinite}.zr-leg{transform-box:fill-box;transform-origin:50% 0}.is-dragging .zr-leg{animation:zr-step .4s alternate infinite}.is-dragging .zr-right-leg{animation-delay:-.4s}
.chatbot-toggle-btn:hover .zr-arm-right,.chatbot-toggle-btn[data-state=speaking] .zr-arm-right{animation:zr-wave 1s ease-in-out infinite}.chatbot-toggle-btn[data-state=listening] .zr-head{animation:none;transform:rotate(-9deg)}.chatbot-toggle-btn[data-state=thinking] .zr-head{animation:zr-look 1.5s infinite}
@keyframes zr-wave{0%,60%,100%{transform:rotate(0)}70%,90%{transform:rotate(-20deg)}80%{transform:rotate(9deg)}}@keyframes zr-look{0%,70%,100%{transform:rotate(0)}80%{transform:rotate(-5deg)}90%{transform:rotate(4deg)}}@keyframes zr-breathe{50%{transform:scaleY(1.025)}}@keyframes zr-blink{0%,44%,48%,100%{transform:scaleY(1)}46%{transform:scaleY(.08)}}@keyframes zr-step{to{transform:rotate(12deg)}}
.zona-hover-hint{position:fixed;z-index:1061;max-width:250px;padding:12px 30px 12px 14px;background:#fffdf5;color:#142943;border:2px solid #243f63;border-radius:20px;box-shadow:0 4px 12px #14294318;font:14px/1.5 Arial,sans-serif;pointer-events:none}
@media(max-width:700px){.zona-puppet{width:80px;height:102px}.chatbot-toggle-btn .zona-action-label{font-size:10px!important}}
@media(prefers-reduced-motion:reduce){.zona-puppet *{animation:none!important}}

body:not(.zona-assistant-page) #chatbot-window{height:auto!important;min-height:150px;max-height:min(560px,calc(100dvh - 32px));display:flex;flex-direction:column}
body:not(.zona-assistant-page) #chatbot-body{flex:0 1 auto;overflow-y:auto;min-height:40px;max-height:calc(100dvh - 180px)}
body:not(.zona-assistant-page) .chatbot-header,body:not(.zona-assistant-page) .chatbot-footer{flex-shrink:0}

.zona-rig{width:108px;height:140px;overflow:visible;pointer-events:none}.rig-head{transform-origin:90px 105px;animation:rig-idle 7s ease-in-out infinite}.rig-arm-right{transform-origin:120px 116px;animation:rig-rest 5s ease-in-out infinite}.rig-arm-left{transform-origin:53px 114px}.rig-torso{transform-origin:90px 170px;animation:zr-breathe 3s infinite}.rig-leg-left{transform-origin:66px 146px}.rig-leg-right{transform-origin:103px 146px}
[data-state=speaking] .rig-arm-right{animation:rig-wave .9s ease-in-out infinite}[data-state=speaking] .rig-head{animation:rig-nod 1.1s ease-in-out infinite}[data-state=listening] .rig-head{animation:none;transform:rotate(-8deg)}[data-state=listening] .rig-arm-right{animation:none;transform:rotate(28deg)}[data-state=thinking] .rig-arm-right{animation:none;transform:rotate(-42deg) translate(-13px,-5px)}[data-state=thinking] .rig-head{animation:rig-idle 2s infinite}
.is-dragging .rig-leg-left{animation:rig-wave .5s infinite}.is-dragging .rig-leg-right{animation:rig-wave .5s -.25s infinite}
@keyframes rig-idle{0%,70%,100%{transform:rotate(0)}85%{transform:rotate(5deg)}}@keyframes rig-rest{50%{transform:rotate(5deg)}}@keyframes rig-wave{0%,100%{transform:rotate(-8deg)}50%{transform:rotate(18deg)}}@keyframes rig-nod{50%{transform:rotate(3deg) translateY(2px)}}
@media(max-width:700px){.zona-rig{width:80px;height:102px}}@media(prefers-reduced-motion:reduce){.zona-rig *{animation:none!important}}

/* Keep shoulders anchored while the limbs move. */
.rig-arm-right{transform-origin:112px 111px}.rig-arm-left{transform-origin:62px 116px}.rig-head{transform-origin:90px 108px}
[data-state=thinking] .rig-arm-right{transform:rotate(-18deg);animation:rig-rest 1.5s infinite}
.chatbot-window.zona-thinking-hidden{visibility:hidden!important;pointer-events:none!important}
.chatbot-toggle-btn[data-state=thinking]::after{content:'?';position:absolute;right:-6px;top:0;width:30px;height:34px;display:grid;place-items:center;background:#fff9e9;color:#ad8130;border:1px solid #d5b36d;border-radius:50%;font:bold 26px Georgia,serif;box-shadow:0 3px 9px #14294322;animation:zona-question 1s ease-in-out infinite}
@keyframes zona-question{50%{transform:translateY(-5px) rotate(8deg)}}
@media(prefers-reduced-motion:reduce){.chatbot-toggle-btn[data-state=thinking]::after{animation:none}}
