/* planflow-chat.css — round 21 track E — the block chat window, live.
   Owned by that track alone; loaded after planflow-inspector.css.
   The window itself (.wf-cw, .wf-cw__head, .wf-cw__msgs, .wf-bub,
   .wf-compose) keeps its Build-113 rules in planflow-inspector.css; these
   are the additions only: a message row (the bubble and its actions), the
   thinking bubble, the reply's two actions, the inline note, the Clear
   button, the Send button while a call runs. Every colour is one of the
   window's own tokens (declared on .wf-cw.pfi-root in planflow-inspector.css). */

/* a message row: the bubble keeps its own side (.wf-bub--user / --ai
   align-self), the actions sit under an AI bubble on the same side */
.wf-cw.pfi-root .wf-cw__msg{display:flex;flex-direction:column;gap:5px;max-width:100%}
.wf-cw.pfi-root .wf-cw__msg--user{align-items:flex-end}
.wf-cw.pfi-root .wf-cw__msg--ai{align-items:flex-start}

/* the reply's actions: Use as prompt / Use as system instruction */
.wf-cw.pfi-root .wf-cw__acts,.wf-ss.pfi-root .wf-cw__acts{display:flex;flex-wrap:wrap;gap:6px;padding:0 2px}
.wf-cw.pfi-root .wf-cw__act,.wf-ss.pfi-root .wf-cw__act{display:inline-flex;align-items:center;gap:5px;height:24px;padding:0 9px;font:inherit;font-size:11.5px;font-weight:500;line-height:1;
  color:var(--label);background:var(--field-bg);border:1px solid var(--divider);border-radius:999px;cursor:pointer;transition:background .12s,border-color .12s,color .12s}
.wf-cw.pfi-root .wf-cw__act:hover,.wf-ss.pfi-root .wf-cw__act:hover{background:var(--row-hover);color:var(--label-hover);border-color:var(--accent-line)}
.wf-cw.pfi-root .wf-cw__act:focus-visible,.wf-ss.pfi-root .wf-cw__act:focus-visible{outline:0;box-shadow:0 0 0 3px var(--focus-ring)}
.wf-cw.pfi-root .wf-cw__act svg,.wf-ss.pfi-root .wf-cw__act svg{width:13px;height:13px;display:block;flex:none}

/* the thinking bubble while the model answers */
.wf-cw.pfi-root .wf-bub--thinking{display:inline-flex;align-items:center;gap:8px;color:var(--muted);font-style:italic}
.wf-cw.pfi-root .wf-cw__dots{display:inline-flex;gap:3px}
.wf-cw.pfi-root .wf-cw__dots i{width:5px;height:5px;border-radius:50%;background:var(--accent);opacity:.35;animation:wf-cw-dot 1.1s ease-in-out infinite}
.wf-cw.pfi-root .wf-cw__dots i:nth-child(2){animation-delay:.18s}
.wf-cw.pfi-root .wf-cw__dots i:nth-child(3){animation-delay:.36s}
@keyframes wf-cw-dot{0%,80%,100%{opacity:.35;transform:translateY(0)}40%{opacity:1;transform:translateY(-2px)}}
@media (prefers-reduced-motion:reduce){.wf-cw.pfi-root .wf-cw__dots i{animation:none;opacity:.7}}

/* the inline note after a failure (the app's toast says the same) */
.wf-cw.pfi-root .wf-cw__note{flex:none;margin:0 11px;padding:8px 10px;font-size:12px;line-height:1.45;color:#8A3B33;
  background:rgba(184,84,80,.08);border:1px solid rgba(184,84,80,.28);border-radius:var(--radius)}

/* Clear, in the head beside Close; only while there is a conversation */
.wf-cw.pfi-root .wf-cw__clear{display:inline-flex;align-items:center;gap:5px;height:26px;padding:0 9px;font:inherit;font-size:11.5px;font-weight:500;line-height:1;flex:none;
  color:var(--label);background:transparent;border:1px solid var(--divider);border-radius:999px;cursor:pointer;transition:background .12s,border-color .12s,color .12s}
.wf-cw.pfi-root .wf-cw__clear:hover{background:var(--row-hover);color:var(--label-hover);border-color:var(--accent-line)}
.wf-cw.pfi-root .wf-cw__clear:focus-visible{outline:0;box-shadow:0 0 0 3px var(--focus-ring)}
.wf-cw.pfi-root .wf-cw__clear svg{width:13px;height:13px;display:block;flex:none}

/* Send is off while a call runs */
.wf-cw.pfi-root .wf-compose__send[disabled]{opacity:.45;cursor:default}
.wf-cw.pfi-root .wf-compose__send[disabled]:hover{background:var(--accent)}
.wf-cw.pfi-root .wf-compose__send[disabled]:active{transform:none}
/* round 45 (Smart settings, stage C): the proposed-settings card under the reply */
.wf-cw.pfi-root .wf-cw__patch,.wf-ss.pfi-root .wf-cw__patch{margin:4px 2px 8px;padding:10px 12px;border:1px solid var(--accent-line);border-radius:12px;background:rgba(92,154,126,.08)}
.wf-cw.pfi-root .wf-cw__patch--empty,.wf-ss.pfi-root .wf-cw__patch--empty{padding:6px 12px;background:transparent;border-style:dashed}
.wf-cw.pfi-root .wf-cw__patch-h,.wf-ss.pfi-root .wf-cw__patch-h{font-size:11px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);margin:0 0 6px}
.wf-cw.pfi-root .wf-cw__patch-h .wf-cw__patch-s,.wf-ss.pfi-root .wf-cw__patch-h .wf-cw__patch-s{text-transform:none;letter-spacing:0;font-weight:500}
.wf-cw.pfi-root .wf-cw__patch-l,.wf-ss.pfi-root .wf-cw__patch-l{list-style:none;margin:0 0 8px;padding:0;font-size:12.5px;line-height:1.5;color:var(--text)}
.wf-cw.pfi-root .wf-cw__patch-l li,.wf-ss.pfi-root .wf-cw__patch-l li{margin:0 0 4px}
.wf-cw.pfi-root .wf-cw__patch-l b,.wf-ss.pfi-root .wf-cw__patch-l b{font-weight:600}
.wf-cw.pfi-root .wf-cw__patch-s,.wf-ss.pfi-root .wf-cw__patch-s{color:var(--muted)}
.wf-cw.pfi-root .wf-cw__patch-d,.wf-ss.pfi-root .wf-cw__patch-d{margin:0 0 8px;font-size:11.5px;line-height:1.4;color:var(--muted)}
.wf-cw.pfi-root .wf-cw__patch--empty .wf-cw__patch-d,.wf-ss.pfi-root .wf-cw__patch--empty .wf-cw__patch-d{margin:0}
.wf-cw.pfi-root .wf-cw__act--go,.wf-ss.pfi-root .wf-cw__act--go{color:#fff;background:var(--accent);border-color:var(--accent)}
.wf-cw.pfi-root .wf-cw__act--go:hover,.wf-ss.pfi-root .wf-cw__act--go:hover{color:#fff;background:var(--accent);filter:brightness(.94)}
