/* The website assistant's chat panel (assets/js/assistant.js). Loaded only when the build
   has the assistant switched on. Same tokens as site.css: ink, ground, line, one accent. */
.ca-launch{position:fixed; right:22px; bottom:22px; z-index:40; font:600 .9rem/1 var(--f); color:#fff; background:var(--ink);
  border:0; border-radius:8px; padding:14px 18px; cursor:pointer; box-shadow:0 6px 24px rgba(11,14,18,.18)}
.ca-launch:hover{background:#1c2430}
.ca-launch:focus-visible,.ca-panel :focus-visible{outline:2px solid var(--accent); outline-offset:2px}
.ca-panel{position:fixed; right:22px; bottom:22px; z-index:41; width:min(400px,calc(100vw - 24px)); height:min(620px,calc(100vh - 44px));
  display:flex; flex-direction:column; background:var(--surface); border:1px solid var(--line); border-radius:12px;
  box-shadow:0 18px 60px rgba(11,14,18,.22); font:400 .93rem/1.5 var(--f); color:var(--ink); overflow:hidden}
.ca-panel[hidden],.ca-launch[hidden]{display:none}
.ca-head{position:static; display:flex; gap:12px; align-items:flex-start; justify-content:space-between; padding:16px 16px 13px;
  border-bottom:1px solid var(--line); background:var(--ground); backdrop-filter:none}
.ca-title{font-weight:600; letter-spacing:-.01em}
.ca-sub{font-size:.76rem; line-height:1.4; color:var(--ink-45); margin-top:3px}
.ca-x,.ca-link{font:inherit; font-size:.8rem; color:var(--ink-70); background:none; border:0; padding:2px 0; cursor:pointer; text-decoration:underline}
.ca-log{flex:1; overflow-y:auto; padding:16px; display:flex; flex-direction:column; gap:10px; overscroll-behavior:contain}
.ca-msg{max-width:88%; padding:10px 13px; border-radius:10px; overflow-wrap:anywhere}
.ca-msg p{white-space:pre-line}   /* a reply's own line breaks are its lists: "- item" on each line */
.ca-msg p + p{margin-top:.6em}
.ca-user{align-self:flex-end; background:var(--ink); color:#fff}
.ca-assistant{align-self:flex-start; background:var(--ground); border:1px solid var(--line)}
.ca-assistant a{color:var(--accent)}
.ca-pending::after{content:"…"; color:var(--ink-45)}
.ca-note{font-size:.8rem; color:var(--ink-70); padding:2px 2px}.ca-note a{color:var(--accent)}
.ca-panel,.ca-panel *{box-sizing:border-box}.ca-panel p{margin:0}.ca-panel form{margin:0}
.ca-status{min-height:1.2em; padding:0 16px; font-size:.76rem; color:var(--ink-45)}
.ca-input{display:flex; gap:8px; padding:8px 16px 6px; align-items:flex-end}
.ca-input textarea,.ca-form input,.ca-form select,.ca-form textarea{font:inherit; color:var(--ink); background:#fff; border:1px solid var(--line); border-radius:8px; padding:9px 11px; width:100%; resize:none}
.ca-btn{font:600 .85rem/1 var(--f); color:#fff; background:var(--accent); border:1px solid var(--accent); border-radius:8px; padding:11px 15px; cursor:pointer; white-space:nowrap}
.ca-btn:hover{background:#9A4416}.ca-btn:disabled{opacity:.55; cursor:default}
.ca-ghost{background:transparent; color:var(--ink); border-color:var(--line)}.ca-ghost:hover{background:var(--ground)}
.ca-foot{padding:0 16px 10px; text-align:right}
.ca-form{align-self:stretch; border:1px solid var(--ink); border-radius:10px; padding:14px; display:grid; gap:9px; background:#fff}
.ca-form-h{font-weight:600}.ca-form-s,.ca-form-p{font-size:.78rem; color:var(--ink-70); line-height:1.45}
.ca-form label{display:grid; gap:4px; font-size:.78rem; color:var(--ink-70)}
.ca-form .ca-check{display:block; font-size:.8rem}.ca-form .ca-check input{width:auto; margin-right:4px}
.ca-hp{position:absolute; left:-9999px}
.ca-row{display:flex; gap:8px; flex-wrap:wrap}
.ca-form-status{font-size:.8rem; color:var(--accent); min-height:1.1em}
@media (max-width:520px){.ca-panel{right:8px; bottom:8px; left:8px; width:auto; height:min(620px,calc(100vh - 16px))}.ca-launch{right:14px; bottom:14px}}
@media print{.ca-launch,.ca-panel{display:none}}
a.ca-btn{display:inline-block; text-decoration:none}
