/* PT COMMENT BOX (Leon, 6 Oct 2026 — Plan/pt-build-comments.html). Square corners; only the avatar is round. Every <button> declares
   background + colour in :hover / :focus / :active (GeneratePress prints button:hover{#333} on every page — CLAUDE.md 5a). */
.pt-cbx { margin: 0; padding: 12px 16px 14px; background: #fff; border-top: 1px solid #E4E2DB; }
.pt-cbx__row { display: flex; gap: 10px; align-items: flex-end; }
.pt-cbx__av { width: 32px !important; height: 32px !important; border-radius: 50%; flex: 0 0 32px; margin-bottom: 6px; }
.pt-cbx__fld { flex: 1; min-width: 0; min-height: 44px; display: flex; align-items: flex-end; gap: 2px; padding: 4px 4px 4px 14px; border: 1px solid #C9C7BF; background: #FAF9F6; box-sizing: border-box; cursor: text; }
.pt-cbx.is-focus .pt-cbx__fld, .pt-cbx.has-text .pt-cbx__fld { border-color: #1A1A1A; background: #fff; }
.pt-cbx__in { flex: 1; min-width: 0; min-height: 34px; max-height: calc(14.5px * 1.45 * 8 + 14px); overflow-y: auto; padding: 7px 0; font-size: 14.5px; line-height: 1.45; color: #1A1A1A; outline: 0; white-space: pre-wrap; overflow-wrap: anywhere; }
.pt-cbx__in:empty::before { content: attr(data-placeholder); color: #888780; pointer-events: none; }
.pt-cbx__in p { margin: 0; }
.pt-cbx__in a { color: #185FA5; text-decoration: underline; }
.pt-cbx .pt-cbx__ib, .pt-cbx .pt-cbx__ib:hover, .pt-cbx .pt-cbx__ib:focus, .pt-cbx .pt-cbx__ib:active { width: 36px; height: 36px; flex: 0 0 36px; display: flex; align-items: center; justify-content: center; padding: 0; margin: 0; border: 0; border-radius: 0; background: transparent; color: #5C5A54; box-shadow: none; cursor: pointer; }
.pt-cbx .pt-cbx__ib:hover, .pt-cbx .pt-cbx__ib:focus-visible, .pt-cbx .pt-cbx__ib[aria-expanded="true"] { background: #F2F1EC; color: #1A1A1A; }
.pt-cbx .pt-cbx__send, .pt-cbx .pt-cbx__send:hover, .pt-cbx .pt-cbx__send:focus, .pt-cbx .pt-cbx__send:active { height: 44px; padding: 0 16px; display: inline-flex; align-items: center; gap: 6px; border: 0; border-radius: 0; background: #1A1A1A; color: #fff; font: inherit; font-size: 14px; font-weight: 600; cursor: pointer; box-shadow: none; text-transform: none; letter-spacing: 0; }
.pt-cbx .pt-cbx__send:hover, .pt-cbx .pt-cbx__send:focus-visible { background: #1f1f1f; color: #fff; }
.pt-cbx .pt-cbx__send svg { display: none; }
.pt-cbx .pt-cbx__send:disabled, .pt-cbx .pt-cbx__send:disabled:hover, .pt-cbx .pt-cbx__send:disabled:focus, .pt-cbx .pt-cbx__send:disabled:active { background: #E4E2DB; color: #888780; cursor: default; }
.pt-cbx__hint { display: flex; flex-wrap: wrap; gap: 4px 14px; margin: 6px 0 0 42px; font-size: 11.5px; color: #888780; }
.pt-cbx__hint .mono { font-family: var(--pt-mono, ui-monospace, monospace); color: #5C5A54; }
.pt-cbx__att { display: flex; gap: 8px; margin: 0 0 8px 42px; }
.pt-cbx__att[hidden] { display: none; }
.pt-cbx__th { position: relative; width: 64px; height: 64px; background: #F2F1EC; }
.pt-cbx__th img { width: 100%; height: 100%; object-fit: cover; display: block; }
.pt-cbx .pt-cbx__th button, .pt-cbx .pt-cbx__th button:hover, .pt-cbx .pt-cbx__th button:focus, .pt-cbx .pt-cbx__th button:active { position: absolute; top: 3px; right: 3px; width: 20px; height: 20px; padding: 0; border: 0; border-radius: 0; background: rgba(26, 26, 26, .85); color: #fff; display: flex; align-items: center; justify-content: center; cursor: pointer; box-shadow: none; }
/* The floating format bar */
.pt-cbx-fbar { position: absolute; z-index: 99990; display: flex; background: #1A1A1A; box-shadow: 0 8px 20px rgba(0, 0, 0, .25); }
.pt-cbx-fbar[hidden] { display: none; }
.pt-cbx-fbar button, .pt-cbx-fbar button:hover, .pt-cbx-fbar button:focus, .pt-cbx-fbar button:active { width: 36px; height: 34px; display: flex; align-items: center; justify-content: center; padding: 0; margin: 0; border: 0; border-left: 1px solid #3E3C38; border-radius: 0; background: #1A1A1A; color: #C9C7BF; font: 600 14px/1 -apple-system, BlinkMacSystemFont, sans-serif; cursor: pointer; box-shadow: none; }
.pt-cbx-fbar button:first-child { border-left: 0; }
.pt-cbx-fbar button:hover, .pt-cbx-fbar button:focus-visible { background: #2B2A27; color: #fff; }
.pt-cbx-fbar button.is-on, .pt-cbx-fbar button.is-on:hover { background: #3E3C38; color: #fff; }
.pt-cbx-fbar__url { display: flex; align-items: center; padding: 0 6px; border-left: 1px solid #3E3C38; }
.pt-cbx-fbar__url[hidden] { display: none; }
.pt-cbx-fbar__url input { width: 220px; height: 26px; border: 0; border-radius: 0; padding: 0 6px; font-size: 13px; background: #fff; color: #1A1A1A; }
/* Emoji picker */
.pt-cbx-emoji { position: absolute; z-index: 99990; background: #fff; border: 1px solid #C9C7BF; box-shadow: 0 10px 24px rgba(0, 0, 0, .14); }
.pt-cbx-emoji[hidden] { display: none; }
.pt-cbx-emoji__feed { max-height: 300px; overflow-y: auto; overscroll-behavior: contain; }   /* one vertical feed, no tabs (7 Oct) */
.pt-cbx-emoji__h { position: sticky; top: 0; z-index: 1; margin: 0; padding: 6px 10px 4px; background: #fff; font-size: 11px; font-weight: 600; text-transform: uppercase; letter-spacing: .04em; color: #888780; }
.pt-cbx-emoji__grid { display: grid; grid-template-columns: repeat(8, 1fr); padding: 0 6px 6px; }
.pt-cbx-emoji__grid button, .pt-cbx-emoji__grid button:hover, .pt-cbx-emoji__grid button:focus, .pt-cbx-emoji__grid button:active { height: 34px; padding: 0; margin: 0; border: 0; border-radius: 0; background: transparent; color: #1A1A1A; font-size: 20px; line-height: 1; cursor: pointer; box-shadow: none; font-family: "Apple Color Emoji", "Segoe UI Emoji", "Noto Color Emoji", sans-serif; }
.pt-cbx-emoji__grid button:hover, .pt-cbx-emoji__grid button:focus-visible { background: #F2F1EC; color: #1A1A1A; }
@media (max-width: 899px) {
    .pt-cbx { padding: 8px 10px 10px; }
    .pt-cbx__av, .pt-cbx__hint { display: none; }
    .pt-cbx__att { margin-left: 0; }
    .pt-cbx .pt-cbx__send, .pt-cbx .pt-cbx__send:hover, .pt-cbx .pt-cbx__send:focus, .pt-cbx .pt-cbx__send:active { width: 44px; padding: 0; justify-content: center; }
    .pt-cbx .pt-cbx__send span { display: none; }
    .pt-cbx .pt-cbx__send svg { display: block; }
}
.pt-cbx__l { display: block; margin: 0 0 8px; font-size: 13px; font-weight: 600; color: #1A1A1A; }
.pt-bl-upd .pt-cbx, .pt-bl-replies .pt-cbx { border-top: 1px solid #E4E2DB; }
.pt-cbx__err { margin: 6px 0 0 42px; font-size: 13px; color: #1A1A1A; }
.pt-cbx__err[hidden] { display: none; }
@media (max-width: 899px) { .pt-cbx__err { margin-left: 0; } }
/* A just-posted comment flashes once so you can see where it landed. */
@keyframes pt-cbx-flash { from { background: #FBF6EC; } to { background: transparent; } }
.pt-bl-cmt.is-flash { animation: pt-cbx-flash 2.4s ease-out 1; }

/* Part 2 (6 Oct): reply strip, link cards, @mention picker, Reply with quote */
.pt-cbx__rep { display: flex; gap: 8px; align-items: center; margin: 0 0 8px 42px; padding: 6px 10px; background: #F2F1EC; border-left: 3px solid #1A1A1A; font-size: 12.5px; color: #5C5A54; }
.pt-cbx__rep[hidden] { display: none; }
.pt-cbx__repq { flex: 1; min-width: 0; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.pt-cbx__repq b { color: #1A1A1A; }
.pt-cbx__repq i { color: #5C5A54; }
.pt-cbx .pt-cbx__rep button, .pt-cbx .pt-cbx__rep button:hover, .pt-cbx .pt-cbx__rep button:focus, .pt-cbx .pt-cbx__rep button:active { width: 28px; height: 28px; display: flex; align-items: center; justify-content: center; padding: 0; margin: 0; border: 0; border-radius: 0; background: transparent; color: #5C5A54; cursor: pointer; box-shadow: none; }
.pt-cbx .pt-cbx__rep button:hover { background: #E4E2DB; color: #1A1A1A; }
.pt-cbx__cards { margin: 0 0 8px 42px; }
.pt-cbx__cards[hidden] { display: none; }
.pt-cbx__cardw { position: relative; display: inline-block; max-width: 420px; width: 100%; }
.pt-cbx .pt-cbx__cardx, .pt-cbx .pt-cbx__cardx:hover, .pt-cbx .pt-cbx__cardx:focus, .pt-cbx .pt-cbx__cardx:active { position: absolute; top: 4px; right: 4px; width: 22px; height: 22px; padding: 0; border: 0; border-radius: 0; background: rgba(26, 26, 26, .85); color: #fff; display: flex; align-items: center; justify-content: center; cursor: pointer; box-shadow: none; }
.pt-cbx-card { display: flex; gap: 10px; align-items: center; max-width: 420px; margin-top: 8px; padding: 8px; border: 1px solid #C9C7BF; background: #fff; color: #1A1A1A; text-decoration: none; box-sizing: border-box; }
.pt-cbx-card:hover { border-color: #888780; color: #1A1A1A; text-decoration: none; }
.pt-cbx-card img, .pt-cbx-card__ph { width: 64px; height: 48px; object-fit: cover; flex: 0 0 64px; background: #F2F1EC; display: block; }
.pt-cbx-card__b { min-width: 0; display: flex; flex-direction: column; }
.pt-cbx-card__b b { font-family: var(--pt-mono, ui-monospace, monospace); font-size: 14px; font-weight: 600; }
.pt-cbx-card__t { font-size: 12.5px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.pt-cbx-card__b small { font-size: 11.5px; color: #5C5A54; }
.pt-cbx-mention { position: absolute; z-index: 99990; width: 280px; background: #fff; border: 1px solid #C9C7BF; box-shadow: 0 10px 24px rgba(0, 0, 0, .14); }
.pt-cbx-mention[hidden] { display: none; }
.pt-cbx-mention button, .pt-cbx-mention button:hover, .pt-cbx-mention button:focus, .pt-cbx-mention button:active { display: flex; gap: 10px; align-items: center; width: 100%; padding: 9px 12px; margin: 0; border: 0; border-top: 1px solid #E4E2DB; border-radius: 0; background: #fff; color: #1A1A1A; font: inherit; font-size: 13.5px; text-align: left; cursor: pointer; box-shadow: none; text-transform: none; letter-spacing: 0; }
.pt-cbx-mention button:first-child { border-top: 0; }
.pt-cbx-mention button.is-on, .pt-cbx-mention button:hover { background: #F2F1EC; color: #1A1A1A; }
.pt-cbx-mention img { width: 26px; height: 26px; border-radius: 50%; flex: 0 0 26px; }
.pt-cbx-mention small { display: block; font-size: 11.5px; color: #888780; }
.pt-cbx__in a[title="mention"], a.pt-mention { color: #1A1A1A; font-weight: 600; text-decoration: none; }
.pt-bl-rwq, .pt-bl-rwq:hover, .pt-bl-rwq:focus, .pt-bl-rwq:active { position: absolute; z-index: 99990; padding: 6px 10px; border: 0; border-radius: 0; background: #1A1A1A; color: #fff; font: 600 12.5px/1.2 -apple-system, BlinkMacSystemFont, sans-serif; cursor: pointer; box-shadow: 0 8px 20px rgba(0, 0, 0, .25); }
.pt-bl-rwq:hover, .pt-bl-rwq:focus-visible { background: #2B2A27; color: #fff; }
.pt-bl-rwq[hidden] { display: none; }
.pt-bl-cmt__quote { margin: 4px 0 6px; padding: 6px 10px; background: #F2F1EC; border-left: 3px solid #1A1A1A; font-size: 13px; color: #5C5A54; }
.pt-bl-cmt__quote b { color: #1A1A1A; margin-right: 4px; }
/* A quote links back to the comment it quotes (Forum lessons B5): same block, a hand and a darker edge on hover. */
a.pt-bl-cmt__quote { display: block; text-decoration: none; }
a.pt-bl-cmt__quote:hover, a.pt-bl-cmt__quote:focus { color: #1A1A1A; background: #E9E7E1; text-decoration: none; }
a.pt-bl-cmt__quote:focus-visible { outline: 2px solid #1A1A1A; outline-offset: 2px; }
@media (max-width: 899px) { .pt-cbx__rep, .pt-cbx__cards { margin-left: 0; } }

/* Part 3 (6 Oct): Owns-a chip, liked heart, and on phones the open update's box sticks above the bottom bar like a chat */
.pt-bl-cmt__car { font-size: 11px; font-weight: 500; padding: 1px 6px; border: 1px solid #BFD8C8; background: #EEF5F0; color: #2E7D4F; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; max-width: 180px; }   /* Owns-a chip: green (Buying Advice brief, 8 Oct) */
/* Leon 7 Oct: liked heart stays INK (not red), and bigger — 20px icon, 15px count, on comments AND updates */
.pt-forum-wrapper .pt-bl-like, .pt-forum-wrapper .pt-bl-cmt__f .pt-bl-like { font-size: 15px; gap: 7px; min-height: 36px; }
.pt-forum-wrapper .pt-bl-like svg { width: 20px; height: 20px; flex: 0 0 20px; }
.pt-bl-cmt__f .pt-bl-like svg { fill: none; }
.pt-bl-cmt__f .pt-bl-like[aria-pressed="true"], .pt-bl-cmt__f .pt-bl-like[aria-pressed="true"]:hover, .pt-bl-cmt__f .pt-bl-like[aria-pressed="true"]:focus, .pt-bl-cmt__f .pt-bl-like[aria-pressed="true"]:active { color: #1A1A1A; background: none; }
.pt-bl-cmt__f .pt-bl-like[aria-pressed="true"] svg { fill: #1A1A1A; stroke: #1A1A1A; }
/* forum-styles.css gives .pt-forum-wrapper overflow-x:hidden, which makes it a scroll box and kills sticky — clip stops sideways scroll without that */
.pt-forum-wrapper.pt-bl-page { overflow-x: clip; }
@media (max-width: 899px) {
	[data-pt-bl-cmts][data-open] ~ form.pt-cbx:not(.pt-bl-rform) { position: sticky; bottom: 0; z-index: 50; margin: 0; padding: 10px 12px calc(10px + env(safe-area-inset-bottom, 0px)); background: #fff; border-top: 1px solid #E4E2DB; box-shadow: 0 -6px 16px rgba(0, 0, 0, .06); }
	html.pt-standalone [data-pt-bl-cmts][data-open] ~ form.pt-cbx:not(.pt-bl-rform) { bottom: calc(64px + env(safe-area-inset-bottom, 0px)); padding-bottom: 10px; }
	[data-pt-bl-cmts][data-open] ~ form.pt-cbx .pt-cbx__hint { display: none; }
}

/* GIFs (7 Oct): the GIF button after the camera, the picker, the attached GIF and the posted one */
.pt-cbx .pt-cbx__gifb span { display: inline-block; padding: 1px 4px; border: 1.5px solid currentColor; font: 700 10px/1.2 -apple-system, BlinkMacSystemFont, sans-serif; letter-spacing: .02em; }
.pt-cbx-gifp { position: absolute; z-index: 99990; background: #fff; border: 1px solid #C9C7BF; box-shadow: 0 10px 24px rgba(0, 0, 0, .14); padding: 10px; box-sizing: border-box; }
.pt-cbx-gifp[hidden] { display: none; }
.pt-cbx-gifp .pt-cbx-gifp__q { width: 100%; box-sizing: border-box; height: 36px; padding: 0 10px; border: 1px solid #C9C7BF; border-radius: 0; background: #fff; color: #1A1A1A; font-size: 14px; }
.pt-cbx-gifp .pt-cbx-gifp__q:focus { border-color: #1A1A1A; outline: none; }
.pt-cbx-gifp__grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 6px; margin-top: 8px; height: 300px; overflow-y: auto; align-content: start; overscroll-behavior: contain; }
.pt-cbx-gifp__grid button, .pt-cbx-gifp__grid button:hover, .pt-cbx-gifp__grid button:focus, .pt-cbx-gifp__grid button:active { padding: 0; margin: 0; border: 0; border-radius: 0; background: #F2F1EC; color: #1A1A1A; cursor: pointer; box-shadow: none; display: block; }
.pt-cbx-gifp__grid button:hover, .pt-cbx-gifp__grid button:focus-visible { outline: 2px solid #1A1A1A; outline-offset: -2px; }
.pt-cbx-gifp__grid img { display: block; width: 100%; height: 100px; object-fit: cover; }
.pt-cbx-gifp__hint { grid-column: 1 / -1; margin: 18px 0; text-align: center; font-size: 13px; color: #888780; }
.pt-cbx-gifp__by { margin: 6px 0 0; font-size: 10.5px; color: #888780; text-align: right; }
.pt-cbx__gif { margin: 0 0 8px 42px; }
.pt-cbx__gif[hidden] { display: none; }
.pt-cbx__gifin { position: relative; display: inline-block; }
.pt-cbx__gifin img { display: block; max-height: 120px; max-width: 220px; }
.pt-cbx .pt-cbx__gifx, .pt-cbx .pt-cbx__gifx:hover, .pt-cbx .pt-cbx__gifx:focus, .pt-cbx .pt-cbx__gifx:active { position: absolute; top: 4px; right: 4px; width: 22px; height: 22px; padding: 0; border: 0; border-radius: 0; background: rgba(26, 26, 26, .85); color: #fff; display: flex; align-items: center; justify-content: center; cursor: pointer; box-shadow: none; }
.pt-cbx-gifimg { display: block; max-width: min(100%, 280px); height: auto; margin-top: 8px; }
@media (max-width: 899px) { .pt-cbx__gif { margin-left: 0; } }
/* Close comments (7 Oct): word + chevron so it reads as "fold this away" */
.pt-forum-wrapper .pt-bl-cbar__hide { display: inline-flex; align-items: center; gap: 4px; }
.pt-cbx-gifp .pt-cbx-gifp__q::-webkit-search-cancel-button { -webkit-appearance: none; appearance: none; }

/* Report comment (7 Oct): reasons inside the house Noir dialog */
.pt-rep__lead { margin: 0 0 12px; font-size: 13.5px; color: #5C5A54; }
.pt-rep { display: flex; flex-direction: column; border: 1px solid #E4E2DB; }
.pt-rep__o { display: flex; gap: 10px; align-items: center; min-height: 44px; padding: 0 12px; border-top: 1px solid #E4E2DB; font-size: 14px; color: #1A1A1A; cursor: pointer; }
.pt-rep__o:first-child { border-top: 0; }
.pt-rep__o:hover { background: #F7F6F2; }
.pt-rep__o input { width: 16px; height: 16px; margin: 0; accent-color: #1A1A1A; }
.pt-rep__o:has(input:checked) { background: #F2F1EC; font-weight: 600; }
.pt-noir-dialog .pt-rep__d { width: 100%; box-sizing: border-box; margin-top: 10px; padding: 8px 10px; border: 1px solid #C9C7BF; border-radius: 0; font: inherit; font-size: 14px; color: #1A1A1A; background: #fff; resize: vertical; }
.pt-noir-dialog .pt-rep__d:focus { border-color: #1A1A1A; outline: none; }

/* ── 8 Oct (Buying Advice brief): the same comment card on every forum board ── */
.pt-bl-cmt__rk { font-size: 11px; font-weight: 500; padding: 1px 6px; border: 1px solid #C9C7BF; color: #5C5A54; white-space: nowrap; }
.pt-bl-cmt__pro { font-size: 11px; font-weight: 600; padding: 1px 6px; border: 1px solid #1A1A1A; color: #1A1A1A; white-space: nowrap; }
.pt-bl-cmt__ans { font-size: 11px; font-weight: 600; padding: 1px 6px; border: 1px solid #2E7D4F; background: #2E7D4F; color: #fff; white-space: nowrap; }
.pt-bl-like .pt-mono:empty { display: none; }   /* like counts hidden at 0 */
.pt-bl-cmt__f .pt-ba-mark, .pt-bl-cmt__f .pt-ba-mark:hover, .pt-bl-cmt__f .pt-ba-mark:focus, .pt-bl-cmt__f .pt-ba-mark:active { color: #2E7D4F; background: none; font-weight: 600; }
.pt-bl-cmt__f .pt-ba-mark:hover, .pt-bl-cmt__f .pt-ba-mark:focus-visible { text-decoration: underline; }
/* The main comment box at the brief's size (40px avatar, 60px input, 17px placeholder) — build logs and threads alike */
form.pt-cbx:not(.pt-bl-rform) .pt-cbx__av { width: 40px !important; height: 40px !important; flex: 0 0 40px; margin-bottom: 10px; }
form.pt-cbx:not(.pt-bl-rform) .pt-cbx__fld { min-height: 60px; align-items: center; padding: 6px 8px 6px 18px; }
form.pt-cbx:not(.pt-bl-rform) .pt-cbx__in { font-size: 17px; min-height: 40px; padding: 9px 0; }
form.pt-cbx:not(.pt-bl-rform) .pt-cbx .pt-cbx__send, form.pt-cbx:not(.pt-bl-rform) .pt-cbx__send { height: 56px; padding: 0 22px; font-size: 17px; }
form.pt-cbx:not(.pt-bl-rform) .pt-cbx__hint { margin-left: 52px; }
/* A forum thread: every reply in one white card, hairlines between conversations only */
.pt-ft-page .pt-ft-cmts { background: #fff; border: 1px solid #E4E2DB; margin: 16px 0 0; }
.pt-ft-page .pt-ft-cmts .pt-bl-thread + .pt-bl-thread { border-top: 1px solid #E4E2DB; }
.pt-ft-page .pt-ft-cmts .pt-bl-cmt { border-top: 0; }
.pt-ft-page .pt-ft-cbar { position: static; }
.pt-ft-page form.pt-cbx--thread { background: #fff; border: 1px solid #E4E2DB; padding: 14px 16px; margin-top: 14px; }
.pt-ft-st { font-size: 13px; font-weight: 500; white-space: nowrap; }
.pt-ft-st::before { content: ""; display: inline-block; width: 7px; height: 7px; border-radius: 50%; margin-right: 5px; vertical-align: 1px; }
.pt-ft-st.is-need { color: #A86A00; } .pt-ft-st.is-need::before { background: #A86A00; }
.pt-ft-st.is-ok { color: #2E7D4F; } .pt-ft-st.is-ok::before { background: #2E7D4F; }
.pt-ft-hero .pt-ft-st { color: #fff; } .pt-ft-hero .pt-ft-st.is-ok::before { background: #7FC79A; } .pt-ft-hero .pt-ft-st.is-need::before { background: #E8C07A; }
/* Buying Advice: facts strip, listing cards, answer box, side card */
.pt-ba-facts { display: flex; flex-wrap: wrap; margin-top: 14px; border: 1px solid #E4E2DB; }
.pt-ba-facts div { padding: 8px 14px; border-left: 1px solid #E4E2DB; font-size: 13px; color: #5C5A54; }
.pt-ba-facts div:first-child { border-left: 0; }
.pt-ba-facts b { display: block; color: #1A1A1A; font-size: 15px; }
.pt-ba-facts b.mono { font-family: ui-monospace, "SF Mono", Menlo, monospace; font-weight: 600; }
.pt-ba-cards { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 14px; min-width: 0; }
.pt-ba-cards .pt-cbx-card { flex: 1 1 280px; max-width: 420px; margin-top: 0; }   /* one card up to 420px; two side by side; more wrap */
/* Listing cards always fit their post (Leon, 10 Oct 2026): a long title wrapped to two lines instead of stretching the card past the page. */
.pt-cbx-card { min-width: 0; max-width: min(420px, 100%); }
.pt-cbx-card__b { flex: 1 1 auto; }
.pt-cbx-card .pt-cbx-card__t { white-space: normal; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; overflow-wrap: anywhere; line-height: 1.35; }
@media (max-width: 640px) { .pt-ba-cards .pt-cbx-card { flex-basis: 100%; max-width: 100%; } }
.pt-cbx-card.is-gone { color: #5C5A54; }
.pt-cbx-card__gone { font-size: 13px; font-weight: 600; color: #888780; }
.pt-ba-ans { border: 1px solid #BFD8C8; background: #EEF5F0; padding: 14px 16px; margin: 14px 0 4px; }
.pt-ba-ans__lbl { display: flex; align-items: center; gap: 6px; margin-bottom: 6px; font-size: 12px; font-weight: 700; color: #2E7D4F; }
.pt-ba-ans .pt-ba-ans__c { padding: 0; border: 0; background: none; }
.pt-ba-ans .pt-ba-ans__jump, .pt-ba-ans .pt-ba-ans__jump:hover { color: #5C5A54; text-decoration: none; font-weight: 600; }
.pt-ba-ans .pt-ba-ans__jump:hover { text-decoration: underline; }
.pt-ba-sale, .pt-ba-sale:hover { display: flex; gap: 10px; padding: 9px 0; border-top: 1px solid #E4E2DB; color: #1A1A1A; text-decoration: none; }
.pt-ba-sale:first-of-type { border-top: 0; }
.pt-ba-sale__im { width: 64px; height: 48px; flex: none; background: #F2F1EC; overflow: hidden; }
.pt-ba-sale__im img { width: 64px; height: 48px; object-fit: cover; display: block; }
.pt-ba-sale__b { min-width: 0; display: flex; flex-direction: column; font-size: 13px; line-height: 1.3; }
.pt-ba-sale__b b { font: 600 14px ui-monospace, "SF Mono", Menlo, monospace; }
.pt-ba-sale__b small { font-size: 12px; color: #5C5A54; }
.pt-ba-sale:hover .pt-ba-sale__b span { text-decoration: underline; }
.pt-ba-spec dd.pt-mono { font-family: ui-monospace, "SF Mono", Menlo, monospace; }
.pt-av-i { display: inline-flex; align-items: center; justify-content: center; flex: none; border-radius: 50%; background: #5C5A54; color: #fff; font-weight: 600; line-height: 1; }
/* Round comment avatars, 32px / 28px nested (Buying Advice brief, 8 Oct) — build-logs.css squares .pt-bl-av site-wide with !important */
.pt-bl-cmt > .pt-bl-av, .pt-ba-ans .pt-bl-cmt > .pt-bl-av { width: 32px !important; height: 32px !important; flex: 0 0 32px !important; border-radius: 50% !important; object-fit: cover; }
.pt-bl-cmt.pt-bl-cmt--reply > .pt-bl-av { width: 28px !important; height: 28px !important; flex: 0 0 28px !important; }
/* "Community guidelines" under every reply box (Forum lessons A3, 10 Oct 2026) — shown at every width, unlike the hint line. */
.pt-cbx__rules { margin: 6px 0 0 42px; font-size: 11.5px; }
.pt-cbx__rules a { color: #5C5A54; text-decoration: underline; text-underline-offset: 2px; }
.pt-cbx__rules a:hover, .pt-cbx__rules a:focus { color: #1A1A1A; }
.pt-bl-rform .pt-cbx__rules { display: none; }   /* inline reply boxes: the main box already shows it */
@media (max-width: 899px) { .pt-cbx__rules { margin-left: 0; } }
