/* V2.33.5 — consolidated stylesheet (replaces stacked v2335–v2340 overrides). */
:root{color-scheme:light;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif;color:#1c1e21;background:#f2f0ee;font-size:16px;-webkit-text-size-adjust:100%;text-size-adjust:100%;
  --burgundy:#800020;--app-h:100vh}
@supports(height:100dvh){:root{--app-h:100dvh}}
*{box-sizing:border-box}
html,body{width:100%;height:100%;margin:0;overflow:hidden;background:#f2f0ee;color:#1c1e21}
button,textarea{font:inherit}
/* Three independent zones: header (fixed height) / thread (only scroller) / composer. */
.messenger{position:relative;display:flex;flex-direction:column;width:100%;max-width:720px;height:100vh;height:var(--app-h);margin:0 auto;background:#fff;overflow:hidden;box-shadow:0 0 0 1px #e6e2de}
.chat-header{flex:0 0 auto;position:relative;z-index:5;height:calc(66px + env(safe-area-inset-top));min-height:calc(66px + env(safe-area-inset-top));
  padding:env(safe-area-inset-top) max(14px,env(safe-area-inset-right)) 0 max(14px,env(safe-area-inset-left));display:flex;align-items:center;gap:11px;
  background:#800020;color:#fff;border:0;box-shadow:0 2px 8px rgba(0,0,0,.18)}
.avatar{width:40px;height:40px;min-width:40px;border-radius:50%;background:#fff;color:#800020;display:grid;place-items:center;font-size:17px;font-weight:800;letter-spacing:.01em}
.chat-heading{display:flex;flex-direction:column;justify-content:center;gap:2px;min-width:0}
.chat-heading strong{color:#fff;font-size:21.5px;font-weight:700;line-height:1.2;white-space:normal}
.chat-heading span{color:#f3d9de;font-size:14px;line-height:1.2;white-space:nowrap}
.chat-thread{flex:1 1 auto;min-height:0;overflow-y:auto;overflow-x:hidden;-webkit-overflow-scrolling:touch;overscroll-behavior:contain;
  padding:14px max(16px,env(safe-area-inset-right)) 12px max(16px,env(safe-area-inset-left));display:flex;flex-direction:column;align-items:stretch;gap:8px;
  scrollbar-width:thin;scrollbar-color:#e3e6e9 transparent;background:#fff}
.msg{align-self:flex-start;max-width:84%;width:fit-content;padding:8px 12px;font-size:17px;font-weight:450;line-height:1.35;color:#0b0b0c;
  overflow-wrap:anywhere;word-break:break-word;white-space:pre-wrap;border-radius:18px;background:#f0f2f5;border-bottom-left-radius:5px}
.msg.user{align-self:flex-end;background:#f6e3e7;color:#6b0f22;border-radius:18px;border-bottom-right-radius:5px}
.msg a{color:#006bd6;text-decoration:underline;overflow-wrap:anywhere;word-break:break-all}
.msg.user a{color:#6b0f22}
.chat-bottom{flex:0 0 auto;position:relative;z-index:4;border-top:1px solid #f0f1f3;background:#fff;
  padding:8px max(12px,env(safe-area-inset-right)) calc(4px + env(safe-area-inset-bottom)) max(12px,env(safe-area-inset-left))}
.composer{display:flex;align-items:flex-end;gap:8px;width:100%;margin:0 auto}
/* >=16px prevents iOS focus auto-zoom (zoom is otherwise allowed). */
.composer textarea{display:block;flex:1;min-width:0;min-height:42px;max-height:130px;resize:none;border-radius:22px;border:1px solid #e2e5e9;background:#f3f4f6;
  padding:10px 15px;outline:0;font-size:17px;font-weight:400;line-height:22px;color:#15191f;overflow-y:auto}
.composer textarea::placeholder{color:#899099}
.composer textarea:focus{border-color:#bedcfa;background:#f7f9fc}
.send-btn,.mic-btn{display:grid;place-items:center;width:42px;height:42px;flex:none;border:0;border-radius:50%;color:#fff;cursor:pointer;transition:background .15s}
.send-btn{background:#0084ff}.send-btn:active{background:#0068d1}.send-btn:disabled{opacity:.45;cursor:not-allowed}
.mic-btn{background:#E8A317}.mic-btn:active{background:#c98a0e}.mic-btn[hidden]{display:none}
.mic-btn.recording{background:#e41e3f;animation:micpulse 1.2s ease-in-out infinite}
@keyframes micpulse{0%{box-shadow:0 0 0 0 rgba(228,30,63,.55)}70%{box-shadow:0 0 0 10px rgba(228,30,63,0)}100%{box-shadow:0 0 0 0 rgba(228,30,63,0)}}
.disclaimer{margin:5px auto 0;text-align:center;color:#939aa3;font-size:10px;line-height:14px;max-width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.jump-new{position:absolute;left:50%;transform:translateX(-50%);bottom:calc(100% + 8px);border:0;border-radius:16px;padding:6px 12px;font-size:13px;
  background:#800020;color:#fff;box-shadow:0 2px 8px rgba(0,0,0,.2);cursor:pointer}
.jump-new[hidden]{display:none}
.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}
@media(max-width:600px){.msg{font-size:17px;max-width:84%}.chat-thread{padding-left:12px;padding-right:12px}.disclaimer{font-size:9px}}
@media(orientation:landscape) and (max-height:500px){.chat-header{height:calc(60px + env(safe-area-inset-top));min-height:calc(60px + env(safe-area-inset-top))}.disclaimer{display:none}}
@media(prefers-reduced-motion:reduce){.send-btn,.mic-btn{transition:none}.mic-btn.recording{animation:none}}
