.messenger-host{box-sizing:border-box;padding-inline:clamp(.625rem,2vw,1rem)}
.messenger-host .visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
.messenger-shell{height:calc(clamp(30rem,68vh,45rem) + var(--composer-growth,0px));overflow:hidden;touch-action:pan-y;border:1px solid var(--line);border-radius:1.4rem;background:var(--card)}
.messenger-track{width:200%;height:100%;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));transform:translate3d(0,0,0);transition:transform .32s cubic-bezier(.16,1,.3,1);will-change:transform}
.messenger-shell[data-view="conversation"] .messenger-track{transform:translate3d(-50%,0,0)}
.messenger-track.is-swiping{transition:none}
.conversation-sidebar{min-width:0;min-height:0;overflow-y:auto;background:#fffef9}
.conversation-list{padding:10px;display:grid;align-content:start;gap:7px}
.conversation-empty{padding:3rem 1.6rem;color:#60736c;line-height:1.6;text-align:center}
.conversation-item{width:100%;min-width:0;min-height:4.5rem;padding:.7rem .75rem;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:.75rem;overflow:hidden;border:1px solid #dde1d7;border-radius:.75rem;background:#fffef9;color:var(--ink);text-align:left}
.conversation-open{min-width:0;padding:0;display:grid;grid-template-columns:3.5rem minmax(0,1fr);align-items:center;gap:.75rem;border:0;background:transparent;color:inherit;text-align:left;cursor:pointer}
.conversation-item:has(.conversation-open:hover),.conversation-item:has(.conversation-open:focus-visible){border-color:#83a866;background:#f7faef;outline:none}
.conversation-item.active,.conversation-item[aria-current="true"]{border-color:#5f8f42;background:#edf5df;box-shadow:none}
.conversation-thumb{width:56px;height:56px;border:1px solid #d8ded1;border-radius:50%;object-fit:cover;background:#e8ebe2}
.conversation-copy{min-width:0;display:grid;align-content:center;gap:4px}
.conversation-meta{display:flex;align-items:baseline;justify-content:space-between;gap:8px}
.conversation-meta strong,.conversation-title,.conversation-preview{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.conversation-meta strong{font-size:15px}.conversation-meta time{flex:0 0 auto;color:#708077;font-size:11px}
.conversation-title{font-size:13px;font-weight:850}.conversation-preview{color:#60736c;font-size:13px}
.chat-active[hidden],.chat-empty[hidden],.chat-back[hidden],.conversation-delete[hidden]{display:none}
.chat-panel{min-width:0;min-height:0;background:#efeee8}
.chat-empty{height:100%;padding:2rem;display:grid;place-content:center;justify-items:center;color:#667970;text-align:center}
.chat-empty>span{width:58px;height:58px;margin-bottom:1rem;display:grid;place-items:center;border-radius:50%;background:var(--pale,#edf2e7);color:var(--deep,var(--green));font-size:1.8rem}
.chat-empty h3{color:var(--ink)}.chat-empty p{max-width:28rem;line-height:1.6}
.chat-empty-back{min-height:2.8em;padding:0 1.2em;border:1px solid #789769;border-radius:999em;background:#fffef9;color:var(--ink);font:inherit;font-weight:850;cursor:pointer}
.chat-active{height:100%;min-height:0;display:grid;grid-template-rows:auto minmax(0,1fr) auto}
.chat-header{min-width:0;min-height:86px;padding:12px 16px;display:flex;align-items:center;gap:13px;border-bottom:1px solid var(--line);background:var(--card)}
.chat-back{box-sizing:border-box;flex:0 0 auto;width:38px;height:38px;aspect-ratio:1;padding:0;display:grid;place-items:center;border:1px solid #d5dbce;border-radius:50%;background:#fffef9;color:var(--ink);font:inherit;font-size:1.1rem;font-weight:850;line-height:1;cursor:pointer}
.chat-back:focus-visible{outline:3px solid #dce9c1;outline-offset:2px}
.chat-listing-image{flex:0 0 auto;width:58px;height:58px;border-radius:13px;overflow:hidden;background:#e5e9df}
.chat-listing-image img{width:100%;height:100%;display:block;object-fit:cover}.chat-header>div{min-width:0;flex:1}
.chat-header p{margin:0 0 4px;color:#687970;font-size:12px;font-weight:750}
.chat-listing-link{display:block;overflow:hidden;color:var(--deep,var(--green));font-size:16px;font-weight:900;text-overflow:ellipsis;white-space:nowrap}
.chat-header a[aria-disabled="true"]{pointer-events:none;color:#748079}
.conversation-delete{box-sizing:border-box;flex:0 0 auto;width:2.5rem;height:2.5rem;padding:0;display:grid;place-items:center;border:1px solid #d5dbce;border-radius:50%;background:transparent;color:#7b4b40;font:inherit;font-size:1.35rem;font-weight:850;line-height:1;cursor:pointer}
.conversation-delete:hover,.conversation-delete:focus-visible{border-color:#bf7d6d;background:#fff4ef;outline:none}
.message-thread{min-height:0;padding:1.375rem;display:flex;flex-direction:column;gap:.3125rem;overflow-y:auto;overscroll-behavior:auto;-webkit-overflow-scrolling:touch}
.message-load-older{align-self:center;min-height:2.5rem;margin:0 auto .75rem;padding:.45rem 1rem;border:1px solid #789769;border-radius:999em;background:#fffef9;color:var(--ink);font:inherit;font-size:.8rem;font-weight:850;cursor:pointer}
.message-load-older:hover,.message-load-older:focus-visible{background:#edf5df;outline:none}.message-load-older:disabled{cursor:wait;opacity:.55}.message-load-older[hidden]{display:none}
.message-load-older[hidden]+.message-row{margin-top:auto}
.message-row{max-width:min(78%,560px);display:grid;gap:4px;align-self:flex-start}.message-row.incoming{align-self:flex-start;justify-items:start}.message-row.outgoing{align-self:flex-end;justify-items:end}
.message-bubble{margin:0;padding:11px 14px;border:1px solid #dde2d8;border-radius:18px 18px 18px 5px;background:#fffef9;color:#173d31;line-height:1.5;white-space:pre-wrap;overflow-wrap:anywhere}
.message-row.outgoing .message-bubble{border-color:#c8d5c2;border-radius:18px 18px 5px 18px;background:#fffef9;color:#173d31}
.message-row time{color:#667970;font-size:11px}
.message-row.system-message{margin-block:8px;max-width:min(84%,620px)}
.message-row.system-message .message-bubble{border:1.5px dashed #789368;background:#f7f9f0;color:#385247;box-shadow:none}
.message-source{color:#53724f;font-size:11px;font-weight:900;letter-spacing:.04em}
.message-composer{margin:0 .875rem .875rem;padding:.5rem .5rem 1.375rem;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:.5rem;border:1px solid var(--line);border-radius:1rem;background:#fff}
.message-composer textarea{box-sizing:border-box;width:100%;min-height:3rem;max-height:min(16rem,40dvh);padding:.75rem;resize:none;border:0;outline:0;background:transparent;color:var(--ink);font:inherit;line-height:1.45}
.message-composer-action{position:relative;align-self:end;display:grid;justify-items:center}
.message-composer button{width:3rem;height:3rem;padding:0;display:grid;place-items:center;border:0;border-radius:50%;background:#28735d;color:#fff;font-size:1.4rem;font-weight:900;cursor:pointer}
.message-limit{position:absolute;top:calc(100% + .25rem);left:50%;transform:translateX(-50%);color:#667970;font-size:.7rem;font-variant-numeric:tabular-nums;line-height:1;white-space:nowrap}
.message-composer button:disabled{cursor:wait;opacity:.55}
.conversation-sidebar,.message-thread,.message-composer textarea{scrollbar-width:thin;scrollbar-color:#9ba99f transparent}
.conversation-sidebar::-webkit-scrollbar,.message-thread::-webkit-scrollbar,.message-composer textarea::-webkit-scrollbar{width:.35rem;height:.35rem}
.conversation-sidebar::-webkit-scrollbar-track,.message-thread::-webkit-scrollbar-track,.message-composer textarea::-webkit-scrollbar-track{background:transparent}
.conversation-sidebar::-webkit-scrollbar-thumb,.message-thread::-webkit-scrollbar-thumb,.message-composer textarea::-webkit-scrollbar-thumb{border-radius:999rem;background:#9ba99f}
.messenger-shell[data-empty-conversation="true"][data-view="conversation"]{height:auto}
.messenger-shell[data-empty-conversation="true"][data-view="conversation"] .messenger-track,.messenger-shell[data-empty-conversation="true"][data-view="conversation"] .chat-panel,.messenger-shell[data-empty-conversation="true"][data-view="conversation"] .chat-active{height:auto}
.messenger-shell[data-empty-conversation="true"][data-view="conversation"] .message-thread{min-height:clamp(7rem,16vh,10rem);overflow:visible}
.empty-thread-prompt{margin-block:auto}
@media(max-width:47.5rem){.messenger-host{padding-inline:.75rem}.messenger-shell{height:calc(clamp(30rem,68svh,40.625rem) + var(--composer-growth,0px));border-radius:1.1rem}.message-thread{padding:1rem}.message-row{max-width:88%}}
@media(max-width:35rem){.message-composer{grid-template-columns:minmax(0,1fr);padding-bottom:.5rem}.message-composer-action{width:100%;grid-template-columns:minmax(0,1fr);gap:.3rem}.message-composer button{width:100%;height:3rem;padding-inline:1rem;justify-content:end;border-radius:.75rem}.message-limit{position:static;transform:none;justify-self:end}}
.messenger-shell[data-compact-list="true"][data-view="list"]{height:auto}.messenger-shell[data-compact-list="true"][data-view="list"] .messenger-track{width:100%;height:auto;display:block;transform:none}.messenger-shell[data-compact-list="true"][data-view="list"] .chat-panel{display:none}
@media(prefers-reduced-motion:reduce){.messenger-track{transition:none}}
