/* 19.22.0 inline previews in the chat: a picture, page 1 of a PDF or the top of a report, the width of the bubble.
   console.js cxpvBox / conFilesBox and ugroup.js uxpvHud. The picture is an <img> with a percentage max-width, so it never makes
   the chat wider than the screen (390 px phones included). */
.cxpv-wrap { gap:6px; }
.cxpv-btn { all:unset; box-sizing:border-box; display:block; position:relative; align-self:flex-start; width:fit-content; max-width:100%; min-width:0; overflow:hidden; line-height:0; cursor:pointer; border:1px solid var(--lk-line, var(--line)); border-radius:12px; background:var(--lk-panel2, var(--panel)); }
.cxpv-btn:not([data-ready]) { min-width:min(220px, 100%); min-height:44px; }
.cxpv-btn:hover { border-color:var(--lk-acc, var(--acc)); }
.cxpv-btn:focus-visible { outline:2px solid var(--lk-acc, var(--acc)); outline-offset:2px; }
.cxpv-img { display:block; width:720px; max-width:100%; height:auto; }
.cxpv-btn[data-kind="image"] .cxpv-img { width:auto; max-height:min(80vh, 720px); }
.cxpv-btn[data-kind="pdf"] .cxpv-img, .cxpv-btn[data-kind="html"] .cxpv-img { background:#fff; }
/* a tall page: at most 1.3x as tall as it is wide, from the top, fading out at the bottom */
.cxpv-btn[data-cut="1"] .cxpv-img { aspect-ratio:10 / 13; object-fit:cover; object-position:top; }
.cxpv-btn[data-cut="1"]::after { content:''; position:absolute; left:0; right:0; bottom:0; height:56px; pointer-events:none; background:linear-gradient(to bottom, transparent, var(--lk-panel2, var(--panel))); }
.cxpv-badge { position:absolute; top:8px; left:8px; line-height:1; padding:4px 8px; border-radius:999px; font-size:10px; font-weight:600; letter-spacing:.12em; color:#fff; background:rgba(0, 0, 0, .62); pointer-events:none; }
/* a PDF or report sent in the chat: the preview above its download chip */
.cxpv-file { flex:1 1 100%; min-width:0; display:flex; flex-direction:column; align-items:flex-start; gap:4px; }
.cxpv-file .cx-att { max-width:100%; }
/* a picture sent in the chat: the bubble's width instead of a thumbnail */
.cx-att-pic.cxpv-picbtn { min-width:0; }
.cx-att-img.cxpv-pic { max-width:100%; max-height:min(70vh, 560px); }
.cxpv-big img { background:#fff; }
/* the person's own console */
.uc-line.hud .cxpv-btn { margin:4px 0 6px; }

/* 19.24.0 result cards (console.js rcxCards, ugroup.js): a row you scroll sideways; picture on white, title, rating, price, text,
   site with its icon. Each card is one link. Never wider than the chat (min-width:0 everywhere, the row scrolls instead). */
.rcx-wrap:empty { display:none; }
.rcx-row { display:flex; gap:10px; overflow-x:auto; overscroll-behavior-x:contain; scroll-snap-type:x proximity; padding:2px 2px 8px; max-width:100%; min-width:0; -webkit-overflow-scrolling:touch; }
.hudc-wrap.rcx-hold, .uc-line.hud .rcx-wrap, .uc-line.hud .rcx-row { min-width:0; max-width:100%; }
.rcx-card { flex:0 0 auto; width:min(220px, 72vw); min-width:0; display:flex; flex-direction:column; overflow:hidden; text-decoration:none; color:inherit; border:1px solid var(--lk-line, var(--line)); border-radius:12px; background:var(--lk-panel2, var(--panel)); scroll-snap-align:start; }
.rcx-card:hover { border-color:var(--lk-acc, var(--acc)); }
.rcx-card:focus-visible { outline:2px solid var(--lk-acc, var(--acc)); outline-offset:2px; }
.rcx-pic { position:relative; display:flex; align-items:center; justify-content:center; height:140px; background:#fff; overflow:hidden; }
.rcx-img { display:block; max-width:100%; max-height:100%; object-fit:contain; }
.rcx-ph { font-size:40px; font-weight:600; color:#8a969a; }
.rcx-badge { position:absolute; top:8px; left:8px; max-width:calc(100% - 16px); overflow:hidden; text-overflow:ellipsis; white-space:nowrap; line-height:1; padding:4px 8px; border-radius:999px; font-size:10px; font-weight:600; letter-spacing:.04em; color:#fff; background:rgba(0, 0, 0, .7); }
.rcx-body { flex:1; display:flex; flex-direction:column; gap:3px; padding:9px 11px 11px; min-width:0; }
.rcx-t { font-weight:600; line-height:1.3; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; overflow-wrap:anywhere; }
.rcx-rate { font-size:12px; color:var(--warn, #e0a030); }
.rcx-rev { opacity:.7; }
.rcx-price { font-size:15px; }
.rcx-d { font-size:12px; line-height:1.35; opacity:.72; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; overflow-wrap:anywhere; }
.rcx-src { margin-top:auto; padding-top:4px; display:flex; align-items:center; gap:6px; min-width:0; font-size:11px; opacity:.75; }
.rcx-ico { width:16px; height:16px; flex:0 0 16px; border-radius:3px; }
.rcx-srcn { min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.rcx-go { margin-left:auto; flex:0 0 auto; font-size:10.5px; font-weight:700; letter-spacing:.06em; white-space:nowrap; color:var(--lk-acc, var(--acc)); }
.uc-line.hud .rcx-wrap, .uc-line.hud .rcx-row { margin:4px 0 6px; }
