/* Shared conversation core; ai-consultant.css scopes its floating presentation. */
.ai-chat{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.3fr);gap:clamp(24px,5vw,80px);border-top:1px solid rgba(255,255,255,.18);padding-block:clamp(40px,7vw,96px);scroll-margin-top:24px}
.ai-chat [hidden]{display:none!important}
.ai-chat__header{max-width:34rem;min-width:0}
.ai-chat__header h2{font-size:clamp(2rem,3.5vw,3.6rem);line-height:1.07;letter-spacing:-.045em;margin-block:16px 24px;text-wrap:balance}
.ai-chat__header .lede{font-size:clamp(1rem,1.5vw,1.2rem);line-height:1.6}
.ai-chat__header .fine{margin-top:24px;line-height:1.7}
.ai-chat__desk{min-width:0;align-self:start}
.ai-chat__messages{max-block-size:min(65vh,40rem);overflow:auto;overscroll-behavior:contain;scrollbar-gutter:stable;margin-block-end:24px;padding-inline-end:12px;outline-offset:4px}
.ai-chat__messages:empty{display:none}
.ai-chat__message{padding-block:16px 20px;border-block-end:1px solid rgba(255,255,255,.12);overflow-wrap:anywhere}
.ai-chat__message[data-ai-role="user"]{margin-inline-start:8%;color:#c9c9d4}
.ai-chat__message strong{display:block;font-size:.76rem;letter-spacing:.045em;margin-block-end:10px;color:#aaaab9}
.ai-chat__message[data-ai-role="assistant"] strong{color:#ff0080}
.ai-chat__message p{white-space:pre-wrap;line-height:1.75;margin:0}
.ai-chat__sources{display:grid;gap:12px;margin-block-start:16px}
.ai-chat__sources a{display:block;font-size:.85rem;line-height:1.5;color:inherit;text-decoration-thickness:1px;text-underline-offset:4px}
.ai-chat__sources bdi{display:block;color:#bbbaca;font-size:.8rem;margin-block-start:4px}
.ai-chat__starters{display:flex;flex-wrap:wrap;gap:10px;margin-block-end:24px}
.ai-chat__starters button{background:transparent;border:1px solid rgba(255,255,255,.23);border-radius:0;color:inherit;font:inherit;font-size:.82rem;line-height:1.4;padding:10px 12px;min-height:44px;cursor:pointer;text-align:start;max-width:100%;overflow-wrap:anywhere}
.ai-chat form>label{display:block;font-size:.95rem;font-weight:600;margin-block-end:12px}
.ai-chat textarea{display:block;box-sizing:border-box;width:100%;min-width:0;min-height:136px;resize:vertical;border:1px solid rgba(255,255,255,.28);border-radius:0;background:#09090e;color:#fff;font:inherit;line-height:1.65;padding:16px}
.ai-chat textarea::placeholder{color:#8f8e9e;opacity:1}
.ai-chat textarea:focus-visible,.ai-chat button:focus-visible,.ai-chat input:focus-visible,.ai-chat a:focus-visible{outline:2px solid #ff0080;outline-offset:4px}
.ai-chat form>label.ai-chat__consent{display:flex;align-items:flex-start;gap:12px;font-size:.82rem;line-height:1.6;font-weight:400;margin-block:18px 24px;cursor:pointer;min-height:44px}
.ai-chat__consent input{width:20px;height:20px;flex:0 0 20px;margin:2px 0 0;accent-color:#ff0080}
.ai-chat__actions,.ai-chat__after{display:flex;flex-wrap:wrap;align-items:center;gap:16px}
.ai-chat__actions .btn,.ai-chat__after .btn{font:inherit;font-size:.88rem;min-height:44px;max-width:100%;white-space:normal;text-align:center;cursor:pointer}
.ai-chat .btn-accent{background:#ff0080;color:#050508;border-color:#ff0080;font-weight:600}
.ai-chat__text-action{font:inherit;font-size:.8rem;color:#aaaab9;background:transparent;border:0;border-bottom:1px solid currentColor;padding:12px 0;min-height:44px;cursor:pointer}
.ai-chat button:disabled{cursor:default;opacity:.45}
.ai-chat__status{font-size:.88rem;line-height:1.6;margin-block:16px;min-height:1.6em;overflow-wrap:anywhere}
.ai-chat__status[data-error="true"]{color:#ff91c0}
.ai-chat__after{margin-block:16px 24px}
.ai-chat__after .source-detail{font-size:.85rem;min-height:44px;display:inline-flex;align-items:center}
.ai-chat__privacy{font-size:.76rem;line-height:1.75!important;max-width:65ch;color:#a5a3b3}
@media(min-width:1000px){.ai-chat__header{position:sticky;top:108px}}
@media(max-width:850px){.ai-chat{grid-template-columns:minmax(0,1fr);gap:24px}.ai-chat__header{max-width:none}.ai-chat__header h2{max-width:17ch}.ai-chat__messages{max-block-size:55vh}}
@media(max-width:380px){.ai-chat__actions .btn-accent{width:100%}.ai-chat__after .btn{width:100%}.ai-chat__message[data-ai-role="user"]{margin-inline-start:0}}
html[dir="rtl"] .ai-chat__header h2{letter-spacing:normal;line-height:1.4}
@media(prefers-reduced-motion:reduce){.ai-chat *{scroll-behavior:auto!important}}
