/* chat screen (phase 3) on Burrow's tokens */
[hidden] { display:none !important; }   /* .row's display:flex was beating the hidden attribute */
.sr { position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0 0 0 0); }
.brain { display:flex; flex-direction:column; gap:6px; }
.brainrow { display:flex; align-items:center; gap:10px; }
.dot { width:10px; height:10px; border-radius:50%; background:var(--dim); flex:none; }
.dot.ready { background:var(--ok); box-shadow:0 0 8px var(--ok); }
.dot.busy { background:var(--accent); animation:pulse 1.2s ease-in-out infinite; }
.dot.no { background:var(--bad); }
@keyframes pulse { 50% { opacity:.35; } }
.bar { height:6px; background:var(--line); border-radius:4px; overflow:hidden; }
.bar i { display:block; height:100%; width:0; background:var(--accent); transition:width .2s; }
.brain .primary { align-self:flex-start; flex:none; padding:10px 16px; }

.chat { display:flex; flex-direction:column; gap:12px; margin-top:var(--s3); }
.msg { max-width:92%; border-radius:14px; padding:12px 14px; line-height:1.5; overflow-wrap:anywhere; }
.msg.me { align-self:flex-end; background:var(--card2); }
.msg.bot { align-self:flex-start; background:var(--card); border:1px solid var(--line); }
.msg .steps { display:flex; flex-wrap:wrap; gap:6px; margin-top:8px; }
.msg .step { font-size:12.5px; color:var(--mut); background:var(--card2); border-radius:999px; padding:3px 9px; }
.msg .step.fail { color:var(--bad); }
.msg .srcs { margin:10px 0 0; padding:0; list-style:none; font-size:13.5px; }
.msg .srcs li { margin:3px 0; }
.msg .srcs b { color:var(--mut); font-weight:600; margin-right:4px; }
.msg sup a { text-decoration:none; font-size:11px; }
.msg .meta { font-size:12px; color:var(--dim); margin-top:8px; }
.msg.thinking .body { color:var(--mut); font-style:italic; }
.composer textarea { min-height:64px; }
.tools { flex-wrap:wrap; }
.tools .ghost { flex:1 1 auto; padding:10px 12px; font-size:15px; }
.notes summary { cursor:pointer; font-weight:600; }
.notes ul { list-style:none; padding:0; margin:8px 0; }
.notes li { display:flex; gap:10px; align-items:flex-start; justify-content:space-between; padding:8px 0; border-top:1px solid var(--line); overflow-wrap:anywhere; }
.notes li .when { color:var(--dim); font-size:12px; display:block; }
.notes li button { flex:none; padding:4px 10px; font-size:13px; }
.verdict-likely_scam { color:var(--bad); font-weight:700; }
.verdict-suspicious { color:var(--warn); font-weight:700; }
.verdict-looks_ok { color:var(--ok); font-weight:700; }
