/* Conversational layout informed by 21st.dev/framecn Message Bubble.
   Original vanilla implementation using the National Lumber design tokens. */
.tw-conversation{--conversation-ink:#17304d;--conversation-line:#ddd9cf;--conversation-muted:#606872;color:var(--conversation-ink);max-width:960px;overflow:hidden}
.tw-conversation-intro{max-width:66ch;margin-bottom:1.25rem}.tw-conversation .tw-conversation-eyebrow{display:block;font-size:.68rem;font-weight:700;letter-spacing:.13em;color:#7b6b48;margin-bottom:.7rem}.tw-conversation-intro h3{font-size:clamp(1.4rem,3vw,1.9rem);line-height:1.18;margin:0 0 .8rem}.tw-conversation-intro p{font-size:.95rem;line-height:1.65;color:var(--conversation-muted);margin:0}
.tw-conversation .tw-question-count{font-size:.82rem;margin:.75rem 0 .5rem;color:var(--conversation-muted)}.tw-conversation-progress{display:block;appearance:none;height:4px;width:100%;border:0;border-radius:5px;overflow:hidden;margin:0 0 1.3rem;background:#eae7de}.tw-conversation-progress::-webkit-progress-bar{background:#eae7de}.tw-conversation-progress::-webkit-progress-value{background:#af883e;transition:width .24s}.tw-conversation-progress::-moz-progress-bar{background:#af883e}
.tw-conversation .tw-question{border:1px solid var(--conversation-line);border-radius:12px;padding:0;margin:.6rem 0;background:#fff}.tw-conversation .tw-question summary{padding:1.05rem;display:grid;grid-template-columns:1.8rem minmax(0,1fr) auto;align-items:center;gap:.8rem;list-style:none;min-height:64px}.tw-conversation .tw-question summary::-webkit-details-marker{display:none}.tw-question-number{display:grid;place-items:center;width:1.8rem;height:1.8rem;font-size:.74rem;border:1px solid #d8c9ab;border-radius:50%;color:#766345}.tw-conversation .tw-question summary strong{font-weight:600;font-size:.95rem;line-height:1.5}.tw-conversation .tw-question-badge{font-size:.66rem;line-height:1.3;background:#f2f1eb;padding:.36rem .55rem;border-radius:5px;color:#675c44;white-space:nowrap}.tw-conversation .tw-question[data-status=resolved] .tw-question-badge{background:#e8f3e9;color:#225a37}.tw-conversation .tw-question[open]{border-color:#b3a27e;background:#fffefb;box-shadow:0 4px 18px #172d470a}.tw-conversation .tw-question[open] summary{border-bottom:1px solid #eae3d5}.tw-question-body{padding:1.2rem}.tw-question-context{font-size:.9rem;line-height:1.6;margin:0 0 .75rem;color:#626774}.tw-question-sources{font-size:.75rem;line-height:1.55;color:#707480;overflow-wrap:anywhere}
.tw-conversation-messages{display:flex;flex-direction:column;gap:.85rem;margin-bottom:1rem}.tw-conversation-messages:empty{display:none}.tw-message{max-width:88%;padding:.9rem 1rem;border-radius:12px;animation:nl-conversation-arrive .22s ease-out both}.tw-message-customer{align-self:flex-end;background:#e9eef5;border:1px solid #d9e2ee;border-bottom-right-radius:3px}.tw-message-project{align-self:flex-start;background:#f5f2eb;border:1px solid #e7e0d3;border-bottom-left-radius:3px}.tw-message-label{display:block;font-size:.65rem;letter-spacing:.07em;text-transform:uppercase;font-weight:700;color:#6b5b3e;margin-bottom:.35rem}.tw-message p{font-size:.9rem;line-height:1.65;white-space:pre-wrap;margin:0;overflow-wrap:anywhere}
.tw-conversation-composer{border:1px solid #ddd6c8;border-radius:10px;padding:1rem;background:#fff}.tw-response-modes{display:flex;gap:.3rem;padding:.25rem;background:#f2f0e9;border-radius:7px;width:fit-content;margin-bottom:1rem}.tw-response-modes button,.tw-answer-options button{font:inherit;cursor:pointer}.tw-response-modes button{border:0;color:#666c74;background:transparent;padding:.5rem .8rem;font-size:.78rem;border-radius:5px;min-height:38px}.tw-response-modes button[aria-pressed=true]{color:#193452;background:#fff;box-shadow:0 1px 3px #172d471a;font-weight:600}.tw-conversation .tw-question label{margin:.5rem 0;font-size:.8rem;color:#31445b}.tw-conversation .tw-question textarea{border:1px solid #cad1db;border-radius:6px;resize:vertical;font-size:1rem;line-height:1.6;min-height:100px;color:#193452;background:#fff}.tw-conversation textarea::placeholder{color:#7a818a}.tw-conversation textarea:focus-visible,.tw-conversation button:focus-visible,.tw-conversation summary:focus-visible{outline:3px solid #bb9850;outline-offset:3px}.tw-composer-hint{font-size:.75rem;line-height:1.5;color:#6c7480;margin:.4rem 0 .8rem}.tw-answer-options{display:flex;flex-wrap:wrap;gap:.5rem}.tw-answer-options button{border:1px solid #d6c9af;border-radius:20px;background:#fff;padding:.5rem .8rem;font-size:.78rem;color:#66502c}.tw-response-attachment{margin-top:.9rem}.tw-conversation-actions{display:flex;align-items:center;gap:.6rem;flex-wrap:wrap}.tw-conversation .tw-conversation-actions .btn{margin:.25rem 0;min-height:44px}.tw-conversation .tw-answer-feedback{font-size:.83rem;margin:.6rem 0;line-height:1.55;color:#526271}.tw-answer-feedback:empty{display:none}.tw-answer-feedback[data-state=error]{color:#942e1b}.tw-answer-feedback[data-state=pending]{display:flex;gap:.55rem;align-items:center}.tw-answer-feedback[data-state=pending]::before{content:'';flex:none;width:12px;height:12px;border:2px solid #e0d9ca;border-top-color:#ac8337;border-radius:50%;animation:nl-conversation-wait .8s linear infinite}.tw-conversation-footer{margin-top:1.5rem;padding-top:1rem;border-top:1px solid #ddd7cc}.tw-conversation-footer>p{color:#65707d;font-size:.84rem;line-height:1.55;max-width:65ch}.tw-conversation [hidden]{display:none!important}.tw-conversation button:disabled{cursor:wait;opacity:.6}.tw-conversation textarea:disabled{opacity:.8}
@keyframes nl-conversation-arrive{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}@keyframes nl-conversation-wait{to{transform:rotate(360deg)}}
@media(max-width:600px){.tw-conversation .tw-question summary{grid-template-columns:1.5rem minmax(0,1fr);gap:.55rem;padding:.9rem}.tw-question-number{width:1.5rem;height:1.5rem}.tw-conversation .tw-question-badge{grid-column:2;justify-self:start;margin:0}.tw-question-body{padding:.8rem}.tw-conversation-composer{padding:.8rem}.tw-message{max-width:96%}.tw-response-modes{width:100%}.tw-response-modes button{flex:1;padding:.5rem;font-size:.75rem}.tw-conversation-actions{align-items:stretch}.tw-conversation-actions .btn{width:100%}.tw-conversation .tw-question summary strong{font-size:.9rem}}
@media(prefers-reduced-motion:reduce){.tw-conversation *, .tw-conversation *::before{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
.tw-pending-review{margin:1.2rem 0;padding:1rem 1.2rem;border:1px solid #ba8b3740;background:#f5f1e7;color:#36465b;max-width:960px}.tw-pending-review strong{font-size:.85rem}.tw-pending-review p{font-size:.86rem;line-height:1.6;margin:.35rem 0 0}
.tw-conversation,.tw-conversation .tw-question{scroll-margin-top:130px}
