.rc-bub{position:fixed;right:16px;bottom:calc(16px + env(safe-area-inset-bottom));z-index:900;width:56px;height:56px;border-radius:50%;background:#1F6F73;color:#fff;border:0;box-shadow:0 4px 14px rgba(0,0,0,.25);cursor:pointer;display:flex;align-items:center;justify-content:center}
.rc-bub:focus-visible,.rc-x:focus-visible,.rc-send:focus-visible{outline:3px solid #f2b705;outline-offset:2px}
.rc-bub svg{width:28px;height:28px}
.rc-greet{position:fixed;right:16px;bottom:calc(82px + env(safe-area-inset-bottom));z-index:900;max-width:min(260px,calc(100vw - 32px));background:#fff;color:#222;border:1px solid #d6e6e6;border-left:4px solid #1F6F73;border-radius:10px;box-shadow:0 6px 18px rgba(0,0,0,.18);padding:10px 34px 10px 12px;font-size:14px;line-height:1.35;cursor:pointer}
.rc-greet .rc-x{position:absolute;top:4px;right:4px}
.rc-x{background:none;border:0;font-size:20px;line-height:1;width:28px;height:28px;cursor:pointer;color:inherit;border-radius:4px}
.rc-win{position:fixed;right:16px;bottom:calc(82px + env(safe-area-inset-bottom));z-index:901;width:360px;max-width:calc(100vw - 24px);height:min(520px,calc(100vh - 120px));background:#fff;border-radius:12px;box-shadow:0 10px 30px rgba(0,0,0,.25);display:flex;flex-direction:column;overflow:hidden;font-size:14px}
.rc-win[hidden],.rc-greet[hidden]{display:none}
.rc-hd{background:#1F6F73;color:#fff;padding:10px 12px;display:flex;align-items:center;justify-content:space-between}
.rc-hd b{display:block;font-size:15px}.rc-hd small{opacity:.9}
.rc-log{flex:1;overflow-y:auto;padding:10px;background:#f6f8f8}
.rc-m{max-width:85%;margin:6px 0;padding:8px 10px;border-radius:10px;white-space:pre-wrap;word-wrap:break-word}
.rc-m.you{margin-left:auto;background:#1F6F73;color:#fff}.rc-m.bot,.rc-m.christopher{background:#fff;border:1px solid #dde}
.rc-m.christopher::before{content:"Christopher";display:block;font-size:11px;font-weight:700;color:#1F6F73}
.rc-f{display:flex;gap:6px;padding:8px;border-top:1px solid #e3e3e3}
.rc-f textarea{flex:1;resize:none;font:inherit;padding:8px;border:1px solid #bbb;border-radius:8px;min-height:40px;max-height:90px}
.rc-send{background:#1F6F73;color:#fff;border:0;border-radius:8px;padding:0 14px;font-weight:700;cursor:pointer}
.rc-lead{padding:8px;border-top:1px solid #e3e3e3;display:grid;gap:6px}
.rc-lead input,.rc-lead textarea{font:inherit;padding:7px;border:1px solid #bbb;border-radius:6px}
.rc-err{color:#a00;font-size:12px;padding:0 10px}
.rc-sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
@media (max-width:480px){.rc-greet{max-width:220px;padding:8px 30px 8px 10px}.rc-win{right:8px;left:8px;width:auto;max-width:none;bottom:calc(76px + env(safe-area-inset-bottom));height:min(70vh,calc(100vh - 110px))}.rc-bub{right:12px;bottom:calc(12px + env(safe-area-inset-bottom));width:52px;height:52px}.rc-greet{right:12px;bottom:calc(72px + env(safe-area-inset-bottom));font-size:13px}}
.rc-f[hidden],.rc-lead[hidden]{display:none}
.rc-name{display:flex;align-items:center;gap:8px;padding:6px 10px;border-bottom:1px solid #e3e3e3;background:#fff;font-size:13px}
.rc-name label{white-space:nowrap;font-weight:600}.rc-name small{font-weight:400;color:#666}
.rc-name input{flex:1;min-width:0;font:inherit;padding:5px 7px;border:1px solid #bbb;border-radius:6px}
.rc-m.you::before{content:attr(data-name);display:block;font-size:11px;font-weight:700;opacity:.85}
