/* PROPORTION PIECE — lightweight, non-modal conversations with visitors. */
.visitor-talk-prompt{position:fixed;bottom:76px;left:50%;transform:translateX(-50%);z-index:32;
 padding:11px 17px;max-width:calc(100vw - 32px);border:1px solid #68756e;border-radius:2px;
 background:#eae6dded;color:#26312e;box-shadow:0 3px 18px #18211a25;font:13px Arial,sans-serif}
.visitor-talk-prompt:focus-visible,.visitor-chat button:focus-visible,.visitor-chat input:focus-visible{
 outline:3px solid #637a66;outline-offset:3px}
.visitor-chat{position:fixed;z-index:65;bottom:88px;right:22px;width:min(400px,calc(100vw - 44px));
 max-height:min(68vh,610px);display:flex;flex-direction:column;overflow:hidden;
 border:1px solid #b6b3a8;background:#f3f0e9f7;color:#242c28;
 box-shadow:0 16px 58px #131b193b;font:13px/1.5 Arial,Helvetica,sans-serif}
.visitor-chat-head{padding:14px 47px 13px 19px;position:relative;border-bottom:1px solid #a8aba2a8;
 background:#e9e7de}
.visitor-chat h2{font:normal 23px/1.2 "AlgoArt Marker",Georgia,serif;margin:0}
.visitor-chat-close{position:absolute;right:10px;top:7px;background:transparent;border:0;
 color:#26312e;font-size:26px;min-height:35px;min-width:35px}
.visitor-chat-log{padding:15px 18px;overflow-y:auto;overscroll-behavior:contain;min-height:140px;
 flex:1;display:flex;flex-direction:column;gap:12px}
.visitor-chat-log p{margin:0;max-width:94%;padding:10px 12px;overflow-wrap:anywhere}
.visitor-chat-them{align-self:flex-start;background:#e8e5da;border-left:3px solid #96784e}
.visitor-chat-you{align-self:flex-end;background:#dae3dd;border-right:3px solid #4d665a}
.visitor-chat-chips{display:flex;gap:6px;flex-wrap:wrap;padding:10px 15px;border-top:1px solid #b6b3a84d}
.visitor-chat-chips button{font:11px/1.3 Arial,sans-serif;color:#3c4940;
 background:#f8f6f0;border:1px solid #b8bdb3;padding:6px 8px;text-align:left}
.visitor-chat-form{display:flex;gap:8px;padding:11px 15px 15px;border-top:1px solid #b6b3a870}
.visitor-chat-form input{flex:1;min-width:0;padding:10px 11px;background:#fffdf8;
 color:#26312e;border:1px solid #a6aca6;border-radius:0;font-size:14px}
.visitor-chat-form button{border:0;background:#34473c;color:#fff;padding:9px 14px}
@media(max-width:620px){
 .visitor-chat{left:12px;right:12px;bottom:max(74px,env(safe-area-inset-bottom));width:auto;
 max-height:min(72dvh,600px)}
 .visitor-chat-log{min-height:120px}
 .visitor-talk-prompt{bottom:max(80px,env(safe-area-inset-bottom));font-size:12px}
 .visitor-chat-chips{gap:5px}
 .visitor-chat-chips button{font-size:11px}
}
@media(prefers-reduced-motion:reduce){.visitor-chat,.visitor-talk-prompt{transition:none!important}}

/* Context-driven chips and a compact topic index, on desktop and phones. */
.visitor-chat-chips{display:block;max-height:min(31dvh,240px);overflow-y:auto;overscroll-behavior:contain}
.visitor-chip-quick{display:flex;gap:6px;flex-wrap:wrap}
.visitor-topic-browser{margin-top:8px;border-top:1px solid #b6b3a870;padding-top:7px}
.visitor-topic-browser>summary{cursor:pointer;font-size:12px;color:#334a3d;min-height:26px;outline-offset:3px}
.visitor-topic-groups{padding:5px 0 3px;display:grid;gap:5px}
.visitor-topic-groups>details{border:1px solid #c3c8bd;background:#f8f6f0}
.visitor-topic-groups>details>summary{font:12px/1.4 Arial,sans-serif;padding:8px 10px;cursor:pointer}
.visitor-topic-options{display:grid;gap:5px;padding:0 7px 8px}
.visitor-chat .visitor-topic-options button{min-height:34px;text-align:left;font-size:11px}
.visitor-topic-seen{opacity:.64}
.visitor-chat-log{min-height:90px}
