/* talk-preview.css — real talk for signed-out visitors (r09). Rules are scoped under .tp-preview so a host
   section with its own colors (the dark Veterans Hall band on vets.html) cannot wash the words out.
   Paper/olive visual contract (DESIGN.md): paper #fffef9, olive #526547, thin muted green lines,
   dark green text, serif headings. Works inside the public pages' own layout. */
.tp-preview { --tp-paper:#fffef9; --tp-canvas:#f5f3ec; --tp-olive:#526547; --tp-olive-d:#344b2c; --tp-ink:#1f2d24; --tp-muted:#586653; --tp-line:#d6dccb;
  box-sizing:border-box; margin:18px 0; padding:18px; border:1px solid var(--tp-line); border-radius:10px; background:var(--tp-paper); color:var(--tp-ink); }
.tp-preview * { box-sizing:border-box; }
.tp-preview .tp-head { display:flex; flex-wrap:wrap; align-items:baseline; justify-content:space-between; gap:4px 16px; }
.tp-preview .tp-h { margin:0; font-family:"Source Serif 4","Newsreader",Georgia,serif; font-size:22px; font-weight:600; line-height:1.25; color:var(--tp-ink); }
.tp-preview .tp-counts { margin:0; font-size:13.5px; color:var(--tp-muted); font-variant-numeric:tabular-nums; }
.tp-preview .tp-vets { margin:10px 0 0; padding:8px 12px; border-left:3px solid var(--tp-olive); background:var(--tp-canvas); font-size:14px; color:var(--tp-ink); }
.tp-preview .tp-list { display:grid; grid-template-columns:repeat(auto-fit,minmax(240px,1fr)); gap:12px; margin-top:14px; }
.tp-preview .tp-card { display:flex; flex-direction:column; gap:6px; padding:14px; border:1px solid var(--tp-line); border-radius:8px; background:#fff; min-width:0; }
.tp-preview .tp-card.tp-ai { background:var(--tp-canvas); }
.tp-preview .tp-where { display:flex; flex-wrap:wrap; gap:6px; align-items:center; margin:0; font-size:12.5px; color:var(--tp-muted); }
.tp-preview .tp-room { font-weight:600; color:var(--tp-olive-d); }
.tp-preview .tp-label { padding:1px 8px; border-radius:999px; background:#efe2b5; color:#5c4708; font-weight:600; font-size:11.5px; }
.tp-preview .tp-title { margin:0; font-size:15px; font-weight:650; line-height:1.35; color:var(--tp-ink); overflow-wrap:anywhere; }
.tp-preview .tp-body { margin:0; font-size:14.5px; line-height:1.5; color:var(--tp-ink); overflow-wrap:anywhere; white-space:pre-line; }
.tp-preview .tp-meta { margin:0; font-size:12.5px; color:var(--tp-muted); }
.tp-preview .tp-join { align-self:flex-start; display:inline-flex; align-items:center; min-height:36px; margin-top:auto; padding:6px 12px; border:1px solid var(--tp-olive); border-radius:999px; color:var(--tp-olive-d); font-size:13.5px; font-weight:650; text-decoration:none; }
.tp-preview .tp-join:hover { background:#eef2e6; }
.tp-preview .tp-join:focus-visible, .tp-go:focus-visible, .tp-picker input:focus-visible, .tp-help:focus-visible, .nl-recent:focus-visible { outline:2px solid #526547; outline-offset:2px; }
.tp-preview .tp-empty { margin-top:12px; padding:12px; border:1px dashed var(--tp-line); border-radius:8px; background:var(--tp-canvas); }
.tp-preview .tp-empty p { margin:0 0 8px; font-size:14.5px; }
.tp-preview .tp-privacy { margin:12px 0 0; font-size:12.5px; line-height:1.45; color:var(--tp-muted); }
.tp-picker { display:flex; flex-wrap:wrap; align-items:center; gap:8px 10px; margin:0 0 4px; }
.tp-picker label { font-size:14px; font-weight:600; color:var(--tp-ink, #1f2d24); }
.tp-picker input { width:13ch; min-height:40px; padding:6px 10px; border:1px solid #c9d1bd; border-radius:6px; font:inherit; font-size:16px; font-variant-numeric:tabular-nums; }
.tp-go { min-height:40px; padding:6px 14px; border:1px solid #526547; border-radius:6px; background:#526547; color:#fffef9; font:inherit; font-size:14px; font-weight:650; cursor:pointer; }
.tp-go:hover { background:#344b2c; }
.tp-help { font-size:13.5px; color:#344b2c; }
.tp-err { flex:1 1 100%; margin:0; min-height:0; font-size:13px; color:#8a2b1d; }
.tp-err:empty { display:none; }
/* NAICS lookup rows: "Recent talk" opens the code's public preview under the row. */
.nl-recent { display:inline-flex; align-items:center; min-height:34px; padding:4px 10px; border:1px solid #c9d1bd; border-radius:999px; background:transparent; color:#344b2c; font:inherit; font-size:13px; font-weight:600; cursor:pointer; }
.nl-recent[aria-expanded="true"] { background:#eef2e6; }
.nl-item .tp-preview, .nl-item .nl-recent-slot { grid-column:1 / -1; margin:10px 0 0; }
.nl-item .tp-preview { padding:12px; }
.nl-item .tp-h { font-size:17px; }
@media (max-width:760px) {
  .tp-preview { padding:14px; }
  .tp-preview .tp-h { font-size:19px; }
  .tp-preview .tp-list { grid-template-columns:1fr; }
  .tp-preview .tp-join, .nl-recent, .tp-go, .tp-picker input, .tp-help { min-height:44px; }
  .tp-help { display:inline-flex; align-items:center; }
}
