.assistant-head{width:min(100%,860px);margin:0 auto .75rem;align-items:end}
.assistant-head h1{font-size:clamp(1.7rem,3vw,2.15rem)}
.assistant-workspace{width:min(100%,860px);margin:0 auto;border-top:1px solid var(--line-strong)}
.assistant-context{display:flex;flex-wrap:wrap;gap:.3rem .65rem;margin:0;padding:.7rem 0;font-size:.82rem;color:var(--muted);border-bottom:1px solid var(--line)}
.assistant-context strong{color:var(--text);font-weight:600}
.assistant-context span::before{content:'·';margin-right:.65rem;color:var(--line-strong)}
.assistant-disclosure{padding:.55rem 0;border-bottom:1px solid var(--line);font-size:.78rem;color:var(--muted)}
.assistant-disclosure summary,.assistant-sources summary,.assistant-more-actions summary{width:max-content;max-width:100%;min-height:44px;display:flex;align-items:center;cursor:pointer;color:var(--text);text-decoration:underline;text-underline-offset:3px}
.assistant-disclosure p{max-width:72ch;margin:.55rem 0 0;overflow-wrap:anywhere}
.assistant-thread{display:flex;min-height:150px;flex-direction:column}
.assistant-reply{min-width:0;padding:1rem 0;border-bottom:1px solid var(--line);overflow-wrap:anywhere;word-break:break-word}
.assistant-reply.from-assistant{width:100%}
.assistant-reply.from-user{align-self:flex-end;width:min(78%,680px);margin:.65rem 0;padding:.7rem .85rem;background:var(--surface-2);border:0;border-left:2px solid var(--line-strong)}
.assistant-reply-label,.assistant-section-label{margin:0 0 .4rem!important;font:500 .68rem/1.35 var(--mono);letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}
.assistant-user-text{margin:0;white-space:pre-wrap}
.assistant-answer{max-width:68ch;min-width:0;font-size:.98rem;line-height:1.55;overflow:visible}
.assistant-answer>*{max-width:100%;overflow-wrap:anywhere;word-break:break-word}
.assistant-answer p,.assistant-answer ul,.assistant-answer ol,.assistant-answer blockquote{margin:.55rem 0 0}
.assistant-answer p:first-child,.assistant-answer ul:first-child,.assistant-answer ol:first-child,.assistant-answer blockquote:first-child{margin-top:0}
.assistant-answer ul,.assistant-answer ol{padding-left:1.35rem}
.assistant-answer li+li{margin-top:.25rem}
.assistant-answer-heading{margin:.9rem 0 .2rem;font-size:1rem;font-weight:650;line-height:1.35;letter-spacing:0}
.assistant-answer code{padding:.05rem .22rem;background:var(--surface-2);font:.82em/1.4 var(--mono);white-space:normal}
.assistant-answer blockquote{padding:.35rem .75rem;border-left:2px solid var(--line-strong);color:var(--muted)}
.assistant-inline-source{display:inline;font:600 .72rem var(--mono);color:var(--blue);text-decoration:underline;text-underline-offset:2px;white-space:nowrap}
.assistant-unavailable-source{font:.72rem var(--mono);color:var(--muted);white-space:nowrap}
.assistant-stale-notice{max-width:68ch;margin:0 0 .65rem;padding:.55rem .7rem;border-left:3px solid var(--warning);background:var(--surface-2);color:var(--text);font-size:.8rem}
.assistant-welcome{color:var(--muted)}
.assistant-welcome p{margin:0}
.assistant-sources,.assistant-more-actions{max-width:68ch;margin-top:.75rem;padding-top:.6rem;border-top:1px solid var(--line)}
.assistant-sources summary span,.assistant-more-actions summary span{display:inline-block;min-width:1.25rem;margin-left:.25rem;padding:.05rem .3rem;background:var(--surface-2);font:.68rem var(--mono);text-align:center;text-decoration:none}
.assistant-source-list{display:grid;margin-top:.55rem;border-top:1px solid var(--line)}
.assistant-source{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:.1rem .75rem;min-width:0;min-height:44px;padding:.55rem 0;border:0;border-bottom:1px solid var(--line);background:transparent;text-decoration:none}
.assistant-source:hover strong{text-decoration:underline;text-underline-offset:3px}
.assistant-source strong,.assistant-source span,.assistant-source small{min-width:0;overflow-wrap:anywhere;word-break:break-word}
.assistant-source strong{font-size:.84rem;font-weight:600}
.assistant-source span{font:.62rem/1.4 var(--mono);text-transform:uppercase;color:var(--muted)}
.assistant-source small{grid-column:1/-1;color:var(--muted);font-size:.74rem;line-height:1.4}
.assistant-card{max-width:68ch;margin:.75rem 0 0;padding:.6rem 0 .1rem;border:0;border-top:1px solid var(--line);background:transparent}
.assistant-card>strong{display:block;font-size:.9rem}
.assistant-card>p:not(.assistant-section-label){margin:.25rem 0 0;color:var(--muted);font-size:.82rem}
.assistant-link-groups,.assistant-more-actions{max-width:68ch}
.assistant-link-group{margin-top:.65rem}
.assistant-links{display:flex;flex-wrap:wrap;gap:.35rem .8rem;margin:0}
.assistant-action{min-height:44px;display:inline-flex;align-items:center;color:var(--text);font-size:.84rem;text-decoration:underline;text-underline-offset:3px}
.assistant-prompts{display:flex;flex-wrap:wrap;gap:.4rem;margin:.75rem 0}
.assistant-prompts .button{min-height:44px;padding:.45rem .65rem;background:transparent;border-color:var(--line);font-size:.8rem}
.assistant-prompts .button:hover{border-color:var(--line-strong);background:var(--surface-2)}
.assistant-composer{position:sticky;bottom:0;margin-top:.5rem;padding:.7rem 0 1rem;background:var(--ground);border-top:1px solid var(--line-strong)}
.assistant-compose-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:.5rem;align-items:end}
.assistant-compose-row textarea{min-height:64px;max-height:32vh;margin:0;padding:.7rem;resize:vertical}
.assistant-compose-row .button{height:44px;min-width:68px}
.assistant-workspace [data-assistant-status]{min-height:1.3em;margin:.25rem 0;color:var(--muted);font-size:.78rem}
.assistant-invitation{max-width:68ch;margin-top:1rem;padding-top:1rem;border-top:2px solid var(--accent)}
.assistant-invitation h2{font-size:1.15rem}
.assistant-invitation fieldset{display:grid;gap:.5rem;margin:.8rem 0}
.assistant-invitation dd{margin:0 0 .65rem;overflow-wrap:anywhere}
.assistant-invitation dt{font-size:.7rem;color:var(--muted);text-transform:uppercase}

@media(max-width:700px){
  .assistant-head{align-items:flex-start}
  .assistant-head .button{width:auto}
  .assistant-reply.from-user{width:92%}
  .assistant-compose-row{grid-template-columns:1fr}
  .assistant-composer{position:static}
  .assistant-compose-row .button{width:100%}
  .assistant-source{grid-template-columns:1fr}
  .assistant-source small{grid-column:auto}
}
