.co-assistant{--co-launcher-width:56px;--co-art-width:36px;--co-art-height:40px;--co-ink:#173f35;--co-green:#236b55;--co-mint:#edf5e9;--co-border:#dce5d9;font-family:inherit;color:var(--co-ink)}
.co-friend{position:fixed;left:0;top:0;z-index:1029;width:var(--co-launcher-width);pointer-events:none;visibility:hidden;opacity:0;transform:translate(var(--friend-x,16px),var(--friend-y,120px));transition:opacity .4s}
.co-friend:not([data-phase=hidden]){visibility:visible;opacity:1}.co-friend[data-phase=leave]{opacity:0}
.co-friend-art{display:none;width:var(--co-art-width);height:var(--co-art-height);margin-inline:auto;overflow:visible}
.co-friend[data-friend=miu] [data-friend=miu],.co-friend[data-friend=se] [data-friend=se],.co-friend[data-friend=rua] [data-friend=rua]{display:block}
.co-friend-name{display:block;text-align:center;font-size:10px;font-weight:700;color:var(--co-ink)}
.co-friend-speech{position:absolute;bottom:calc(100% + 8px);left:0;width:128px;max-width:calc(100vw - 32px);padding:7px 9px;border:1px solid var(--co-border);border-radius:12px 12px 2px 12px;background:#fff;font-size:11px;line-height:1.4;text-align:center;opacity:0}
.co-friend[data-phase=greet] .co-friend-speech{opacity:1}
.co-friend-body{transform-box:fill-box;transform-origin:center bottom}
.co-friend[data-phase=arrive] .co-friend-body{animation:co-run .5s ease-in-out infinite}
.co-friend[data-phase=play] .co-friend-body{animation:co-hop 1.2s ease-in-out infinite}
.co-friend[data-friend=se] .co-friend-body{animation:co-float .6s ease-in-out infinite}
.co-friend-wing{transform-box:fill-box;transform-origin:left center;animation:co-flap .25s ease-in-out infinite alternate}
.co-friend[data-friend=rua] .co-friend-body{animation:co-breathe 1.5s ease-in-out infinite}
.co-assistant[data-paused=true] .co-friend{display:none}
.co-wanderer{position:fixed;left:0;top:0;z-index:1030;transform:translate(var(--co-x,16px),var(--co-y,calc(100dvh - 240px)));transition:transform var(--co-duration,3200ms) ease-in-out;width:var(--co-launcher-width)}
.co-assistant button{font-family:inherit;cursor:pointer}
.co-launcher{width:var(--co-launcher-width);min-height:44px;padding:0;background:transparent;border:0;color:var(--co-ink);display:flex;align-items:center;flex-direction:column;position:relative}
.co-character{display:block;width:var(--co-art-width);height:var(--co-art-height);overflow:visible}
.co-name{font-size:11px;line-height:16px;white-space:nowrap;font-weight:700;padding:0 4px;background:#f8fbec;border:1px solid var(--co-border);border-radius:20px;box-shadow:0 3px 10px #173f3514}
.co-name span{color:#b07925}.co-greeting{position:absolute;bottom:147px;left:0;width:180px;max-width:calc(100vw - 32px);white-space:normal;line-height:1.4;background:#fff;border:1px solid var(--co-border);border-radius:14px 14px 14px 2px;padding:8px 12px;font-size:12px;font-weight:600;box-shadow:0 3px 14px #173f3510;opacity:0;visibility:hidden;pointer-events:none;transition:opacity .2s}
.co-assistant[data-speaking=true] .co-greeting{opacity:1;visibility:visible}.co-launcher>.co-character{transform:scaleX(var(--co-facing,1))}
.co-motion{position:absolute;right:-9px;bottom:5px;border:1px solid var(--co-border);border-radius:50%;width:28px;height:28px;background:#fff;color:var(--co-ink);font-size:11px}
.co-assistant button:focus-visible,.co-assistant textarea:focus-visible,.co-assistant input:focus-visible,.co-messages:focus-visible{outline:3px solid #d49634;outline-offset:3px}
.co-body,.co-head,.co-wing,.co-eyes,.co-leg{transform-box:fill-box;transform-origin:center}
.co-body{animation:co-breathe 3.2s ease-in-out infinite}.co-eyes{animation:co-blink 5s infinite}.co-wing{transform-origin:0% 10%;animation:co-wave 7s ease-in-out infinite}
.co-assistant[data-state=hop] .co-body{animation:co-hop .7s ease-in-out 2}
.co-assistant[data-state=walk] .co-body{animation:co-run .4s ease-in-out infinite}
.co-assistant[data-state=fly] .co-body{animation:co-float .8s ease-in-out infinite}.co-assistant[data-state=fly] .co-wing{animation:co-flap .3s ease-in-out infinite alternate}.co-assistant[data-state=fly] .co-leg{transform:translateY(-5px) rotate(12deg)}.co-assistant[data-state=fly] .co-shadow{opacity:.04}
.co-assistant[data-state=fly] .co-wing-left{transform-box:fill-box;transform-origin:100% 10%;animation:co-flap-left .3s ease-in-out infinite alternate}
.co-assistant[data-state=walk] .co-leg-left{animation:co-step .45s ease-in-out infinite alternate}
.co-assistant[data-state=walk] .co-leg-right{animation:co-step .45s ease-in-out infinite alternate-reverse}
.co-assistant[data-state=thinking] .co-head{animation:co-think 1s ease-in-out infinite}
.co-assistant[data-state=wave] .co-wing{animation:co-wave 1s ease-in-out 2}
.co-assistant[data-paused=true] .co-character *{animation:none!important}.co-assistant[data-paused=true] .co-wanderer{transition:none}
.co-assistant[data-open=true] .co-greeting{opacity:0}
.co-chat{position:fixed;inset:auto 20px 82px auto;margin:0;padding:0;border:1px solid var(--co-border);border-radius:24px;width:410px;max-width:calc(100vw - 24px);max-height:calc(100dvh - 108px);color:var(--co-ink);background:#fff;box-shadow:0 16px 60px #12352b26;overflow:hidden;font-family:inherit}
.co-chat[open]{display:flex;flex-direction:column}.co-chat::backdrop{background:#173f3526}
.co-chat-header{display:flex;align-items:center;gap:12px;padding:20px 16px;background:var(--co-mint);flex-shrink:0}.co-avatar{width:var(--co-art-width);flex-shrink:0}.co-avatar .co-character{width:var(--co-art-width);height:var(--co-art-height)}.co-chat-header h2{font-size:17px;line-height:1.3;font-weight:750;margin:4px 0}.co-chat-header p{margin:0;font-size:11px}.co-chat-header .co-eyebrow{letter-spacing:1.2px;font-size:9px;font-weight:700;color:var(--co-green)}
.co-close{border:0;background:transparent;color:var(--co-ink);font-size:26px;line-height:1;align-self:flex-start;margin-left:auto;width:32px;height:32px;flex-shrink:0;border-radius:8px}.co-close:hover{background:#dce9d5}
.co-public-note{padding:9px 16px;border-bottom:1px solid var(--co-border);font-size:11px;color:#426457;display:flex;gap:8px;align-items:center;flex-shrink:0}
.co-messages{min-height:100px;height:230px;overflow:auto;overscroll-behavior:contain;padding:16px;display:flex;flex-direction:column;gap:12px;background:#fafbf8}
.co-message{border-radius:16px;padding:12px 14px;font-size:13px;line-height:1.6;max-width:96%;flex-shrink:0;overflow-wrap:anywhere;white-space:pre-wrap}
.co-message p{margin:0}.co-bot{background:#fff;border:1px solid var(--co-border);border-bottom-left-radius:4px;align-self:flex-start}.co-user{background:var(--co-green);color:#fff;align-self:flex-end;border-bottom-right-radius:4px}.co-error{border-color:#b75b38;color:#8a3821}
.co-listings{display:flex;flex-direction:column;gap:8px;margin-top:12px;white-space:normal}.co-card{display:block;padding:12px;border:1px solid var(--co-border);border-radius:12px;color:var(--co-ink);text-decoration:none;background:#f6f8f0}.co-card:hover{background:#eaf2df;color:var(--co-ink)}.co-card strong{display:block;font-size:13px}.co-card span{display:block;font-size:11px;color:#496557;margin-top:4px}.co-card .co-price{font-size:13px;color:var(--co-green);font-weight:700}.co-card .co-view{font-size:11px;text-decoration:underline}
.co-suggestions{display:flex;gap:6px;padding:12px 16px 8px;flex-wrap:wrap;flex-shrink:0}.co-suggestions button{border:1px solid var(--co-border);border-radius:20px;background:#fff;padding:6px 9px;font-size:10px;color:var(--co-ink)}.co-suggestions button:hover{background:var(--co-mint)}
.co-form{padding:0 16px;margin:0;flex-shrink:0}.co-consent{display:flex;align-items:flex-start;gap:8px;font-size:11px;font-weight:400;text-transform:none;line-height:1.5;margin:4px 0 12px;color:#4e6155}.co-consent input{margin-top:3px;accent-color:var(--co-green);width:15px;height:15px;flex-shrink:0}
.co-compose{display:flex;gap:8px;align-items:center;border:1px solid #b3c6ad;border-radius:14px;padding:8px;background:#fff}.co-compose textarea{resize:none;border:0;background:transparent;min-width:0;width:100%;padding:4px;font-family:inherit;font-size:13px;color:var(--co-ink);line-height:1.5}.co-compose textarea:focus{outline:none}.co-compose:focus-within{outline:2px solid var(--co-green);outline-offset:2px}.co-send{width:36px;height:36px;flex-shrink:0;border:0;border-radius:10px;background:var(--co-green);color:#fff;font-size:24px;line-height:1}.co-send:disabled{opacity:.5;cursor:wait}
.co-status{font-size:11px;min-height:16px;margin:6px 0;color:#775025}.co-chat-footer{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:8px 16px 12px;color:#546457;font-size:9px;flex-shrink:0}.co-clear{border:0;background:transparent;color:var(--co-green);font-size:10px;text-decoration:underline;padding:4px;white-space:nowrap}.co-sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@keyframes co-breathe{50%{transform:translateY(-3px) rotate(2deg)}}@keyframes co-blink{0%,42%,46%,100%{transform:scaleY(1)}44%{transform:scaleY(.12)}}@keyframes co-wave{0%,70%,100%{transform:rotate(0)}78%,90%{transform:rotate(-55deg)}84%,96%{transform:rotate(-20deg)}}@keyframes co-hop{0%,100%{transform:translateY(0) scale(1)}25%{transform:translateY(3px) scale(1.04,.93)}55%{transform:translateY(-19px) rotate(-4deg)}80%{transform:translateY(0) scale(1.05,.94)}}@keyframes co-step{from{transform:rotate(-16deg)}to{transform:rotate(16deg)}}@keyframes co-think{50%{transform:rotate(-7deg) translateY(-2px)}}
@keyframes co-run{50%{transform:translateY(-7px) rotate(4deg)}}@keyframes co-float{50%{transform:translateY(-9px) rotate(-3deg)}}@keyframes co-flap{from{transform:rotate(-65deg)}to{transform:rotate(25deg)}}
@keyframes co-flap-left{from{transform:rotate(65deg)}to{transform:rotate(-25deg)}}
@media(max-width:600px){.co-motion{right:-14px}.co-chat{right:12px;bottom:76px;border-radius:20px;max-height:calc(100dvh - 96px)}.co-chat-header{padding:14px 12px}.co-chat-header h2{font-size:15px}.co-chat-header p{font-size:10px}.co-messages{height:210px;min-height:72px}.co-compose textarea{font-size:16px}}
@media(prefers-reduced-motion:reduce){.co-character *{animation:none!important}.co-wanderer{transition:none!important}.co-friend{display:none}}
/* Chat title keeps its compact role on mobile. */
@media(max-width:600px){#co-chat-title{font-size:15px!important}.co-chat-footer{font-size:10px}}

/* Compact corridor motion must stay inside its measured three-pixel lift. */
.co-assistant[data-compact=true][data-state=hop] .co-body{animation:co-compact-hop .7s ease-in-out 2}
.co-assistant[data-compact=true][data-state=walk] .co-body{animation:co-compact-hop .4s ease-in-out infinite}
.co-assistant[data-compact=true][data-state=fly] .co-body{animation:co-compact-hop .8s ease-in-out infinite}
@keyframes co-compact-hop{50%{transform:translateY(-3px)}}
.co-assistant[data-compact=true] .co-greeting{bottom:calc(100% + 8px);font-size:11px;line-height:1.45;padding:6px 8px;width:144px;border-radius:10px;box-shadow:0 3px 10px #173f3514}
