/* Co-pilot assistant widget. Loaded only when the assistant is switched on. */
.cp{position:fixed;right:20px;bottom:20px;z-index:400;font-family:var(--font-body);color:var(--ink)}
body.nav-open .cp{display:none}
.cp__dart{width:26px;height:26px;flex:none}
.cp__launch{display:inline-flex;align-items:center;gap:10px;padding:10px 18px 10px 12px;border-radius:var(--r-pill);background:var(--night);color:var(--ink-n);border:1px solid rgba(255,255,255,.12);box-shadow:0 14px 40px rgba(10,16,32,.35);font-weight:600;font-size:.9375rem;cursor:pointer;transition:transform .35s var(--ease-out),box-shadow .35s}
.cp__launch:hover{transform:translateY(-2px);box-shadow:0 18px 46px rgba(10,16,32,.42)}
.cp__launch:focus-visible{outline:2px solid var(--accent);outline-offset:3px}
.cp.is-open .cp__launch{display:none}
.cp__panel{position:absolute;right:0;bottom:0;padding:0;margin:0;width:min(400px,calc(100vw - 40px));height:min(640px,calc(100vh - 40px));display:flex;flex-direction:column;background:var(--surface);border-radius:20px;box-shadow:0 30px 80px rgba(10,16,32,.4),0 0 0 1px rgba(14,21,38,.06);overflow:hidden;transform-origin:bottom right;animation:cpIn .35s var(--ease-out)}
.cp__panel[hidden]{display:none}
@keyframes cpIn{from{opacity:0;transform:translateY(12px) scale(.96)}}
.cp__head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 14px 14px 18px;background:var(--night);color:var(--ink-n)}
.cp__id{display:flex;align-items:center;gap:10px}
.cp__id strong{display:block;font-family:var(--font-display);font-size:1.0625rem;line-height:1.1}
.cp__id span{display:block;font-size:.75rem;color:var(--muted-n)}
.cp__close{width:36px;height:36px;border-radius:50%;border:0;background:rgba(255,255,255,.08);color:var(--ink-n);display:grid;place-items:center;cursor:pointer}
.cp__close:hover{background:rgba(255,255,255,.16)}
.cp__log{flex:1;overflow-y:auto;padding:18px 16px 8px;display:flex;flex-direction:column;gap:10px;background:var(--bg);scroll-behavior:smooth}
.cp__msg{max-width:88%;padding:11px 14px;border-radius:16px;font-size:.9375rem;line-height:1.5;word-wrap:break-word;animation:cpMsg .3s var(--ease-out)}
@keyframes cpMsg{from{opacity:0;transform:translateY(6px)}}
.cp__msg--bot{align-self:flex-start;background:var(--surface);border:1px solid var(--line);border-bottom-left-radius:6px}
.cp__msg--user{align-self:flex-end;background:#FBF6EC;border:1px solid rgba(244,166,42,.4);border-bottom-right-radius:6px}
.cp__msg--err{align-self:flex-start;background:#FDF1F0;border:1px solid rgba(217,83,79,.35);color:#7A2E2B}
.cp__msg p{margin:0}
.cp__msg p+p,.cp__msg p+ul,.cp__msg ul+p{margin-top:8px}
.cp__msg ul{margin:0;padding-left:18px;list-style:disc}
.cp__msg li+li{margin-top:4px}
.cp__msg a{color:var(--accent-ink);font-weight:600;text-decoration:underline;text-underline-offset:2px}
.cp__msg strong{font-weight:600}
.cp__typing{display:inline-flex;gap:5px;align-items:center;height:18px}
.cp__typing i{width:7px;height:7px;border-radius:50%;background:var(--muted);opacity:.4;animation:cpDot 1.1s ease-in-out infinite}
.cp__typing i:nth-child(2){animation-delay:.18s}.cp__typing i:nth-child(3){animation-delay:.36s}
@keyframes cpDot{0%,80%,100%{opacity:.3;transform:translateY(0)}40%{opacity:1;transform:translateY(-4px)}}
.cp__chips{display:flex;flex-wrap:wrap;gap:6px;padding:6px 16px 10px;background:var(--bg)}
.cp__chips[hidden]{display:none}
.cp__chips button{padding:7px 12px;border-radius:var(--r-pill);border:1px solid var(--line);background:var(--surface);color:var(--ink);font-size:.8125rem;font-weight:500;cursor:pointer;transition:border-color .2s,background .2s}
.cp__chips button:hover{border-color:var(--accent);background:#FBF6EC}
.cp__form{display:flex;align-items:flex-end;gap:8px;padding:10px 12px 6px;border-top:1px solid var(--line);background:var(--surface)}
.cp__form textarea{flex:1;resize:none;border:1.5px solid var(--line);border-radius:14px;padding:10px 12px;font:inherit;font-size:.9375rem;line-height:1.4;max-height:120px;background:#fff;color:var(--ink)}
.cp__form textarea:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px rgba(244,166,42,.2)}
.cp__send{width:42px;height:42px;flex:none;border-radius:50%;border:0;background:var(--accent);color:var(--ink);display:grid;place-items:center;cursor:pointer;transition:transform .25s var(--ease-out),opacity .2s}
.cp__send:hover{transform:translateX(2px)}
.cp__send:disabled{opacity:.5;cursor:default;transform:none}
.cp__note{margin:0;padding:0 16px 10px;font-size:.6875rem;color:var(--muted);background:var(--surface)}
@media (max-width:600px){
  .cp{right:12px;bottom:12px}
  .cp__launch-label{font-size:.875rem}
  .cp.is-open{inset:0;right:0;bottom:0}
  .cp__panel{position:fixed;inset:0;width:auto;height:auto;border-radius:0}
  .cp__log{padding:14px 12px 8px}
  .cp__form textarea{font-size:16px}
}
@media (prefers-reduced-motion:reduce){
  .cp__panel,.cp__msg{animation:none}
  .cp__typing i{animation:none;opacity:.6}
}
