/* Pulse-only components (2026-11-03): view tabs, workspace list, chat. Mosaic tokens only. */
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.vtabs{position:sticky;top:env(safe-area-inset-top,0px);z-index:5;background:var(--bg);border-bottom:1px solid var(--line)}
.vtabs .wrap{display:flex;gap:4px;overflow-x:auto}
.vtabs a{padding:12px 12px 10px;font:600 13px/20px var(--font);color:var(--text-2);text-decoration:none;border-bottom:2px solid transparent;white-space:nowrap}
.vtabs a[aria-current="page"]{color:var(--text);border-bottom-color:var(--accent-500)}
.wslist{list-style:none;padding:0;margin:var(--s-4) 0 0;display:grid;gap:var(--s-2)}
.wslist a{display:block;background:var(--surface);padding:var(--s-3);border-radius:var(--radius-card);font-weight:600}
.chat{max-width:860px}
.chat .thread{display:grid;gap:var(--s-3);margin:var(--s-4) 0}
.chat .msg{background:var(--surface);border-radius:var(--radius-card);padding:var(--s-3) var(--s-4)}
.chat .msg.you{background:var(--surface-2)}
.chat .msg .who{font:700 11px/14px var(--font);letter-spacing:.06em;text-transform:uppercase;color:var(--text-2);margin-bottom:6px}
.chat .msg .body p{margin:0 0 8px}
.chat .msg.pending .cap{animation:pulse-fade 1.2s ease-in-out infinite alternate}
@keyframes pulse-fade{from{opacity:.45}to{opacity:1}}
.chat .cites{border-top:1px solid var(--line);margin-top:var(--s-3);padding-top:var(--s-2);font-size:13px}
.chat .cites ul{margin:4px 0 8px;padding-left:18px;color:var(--text-2)}
.chat .cites pre{font:12px/1.45 var(--mono);background:var(--surface-2);padding:8px;border-radius:var(--radius);overflow-x:auto;white-space:pre-wrap}
.chat .sugg{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:var(--s-3)}
.chat .sugg .chip{font:600 13px/18px var(--font);text-align:left;padding:8px 12px;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);cursor:pointer;color:var(--text)}
.chat .sugg .chip:hover{background:var(--surface-2)}
.chat .ask{display:flex;gap:var(--s-2);align-items:flex-end;position:sticky;bottom:env(safe-area-inset-bottom,0px);background:var(--bg);padding-block:var(--s-2)}
.chat .ask textarea{flex:1;min-width:0;font:400 16px/1.4 var(--font);padding:12px 14px;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);color:var(--text);resize:vertical}
.chat .ask textarea:focus-visible{box-shadow:var(--focus);outline:none}
@media (prefers-reduced-motion:reduce){.chat .msg.pending .cap{animation:none}}
