:root{--composer-max:160px}
.main--chat{padding:0;overflow:hidden}
.main--chat>.content{height:100%;max-width:none;gap:0;min-height:0}
.content.chat-screen{display:grid;grid-template-columns:minmax(0,1fr);grid-template-rows:minmax(0,1fr) auto;width:100%;height:100%;max-width:none;gap:0;min-height:0}
.chat-header{display:flex;align-items:center;justify-content:space-between;gap:var(--s4);padding:var(--s5) var(--s8);border-bottom:1px solid var(--border)}
.chat-header h1{font-size:var(--text-lg)}
.chat-header>div:first-child{min-width:0}
.chat-header>.cluster{flex-shrink:0}
.chat-title{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:var(--chat-width)}
.chat-transcript{min-height:0;overflow:auto;overscroll-behavior:contain;padding:var(--s8);scroll-padding:var(--s8)}
.chat-messages{max-width:var(--chat-width);margin:0 auto;display:flex;flex-direction:column;gap:var(--s12);min-height:100%}
.chat-welcome{margin:0;padding:var(--s6) 0;display:flex;flex-direction:column;gap:var(--s3);text-align:center}
.chat-welcome>.label{color:var(--accent)}
.chat-welcome h2{font-size:var(--text-display);font-weight:500;line-height:1.4;text-wrap:balance;letter-spacing:-.035em}
.chat-turn{display:flex;flex-direction:column;gap:var(--s6);min-width:0}
.user-message{align-self:flex-end;background:var(--subtle);padding:var(--s3) var(--s5);border-radius:var(--radius-composer);max-width:85%}
.user-message .label{display:none}
.assistant-message{display:flex;flex-direction:column;gap:var(--s4);min-width:0}
.assistant-message>.label{color:var(--muted);font-size:var(--text-xs);font-weight:500}
.chat-evidence{border:1px solid var(--border);border-radius:var(--radius-lg);padding:var(--s2) var(--s4);background:var(--surface)}
.chat-evidence>h3{margin-top:var(--s6)}
.chat-evidence summary,.chat-warnings summary{cursor:pointer;font-size:var(--text-sm);font-weight:600;padding:var(--s2) 0}
.chat-evidence .evidence{padding:var(--s4) 0}
.chat-evidence .evidence:last-child{padding-bottom:0}
.chat-warnings{color:var(--warning);font-size:var(--text-sm)}
.chat-warnings .notice{margin-top:var(--s2)}
.chat-bottom{padding:var(--s3) var(--s8) var(--s3);background:var(--canvas)}
.chat-bottom>*{max-width:var(--chat-width);margin-inline:auto}
.chat-limited{color:var(--warning);padding-bottom:var(--s2)}
.chat-composer{display:flex;flex-direction:column;gap:var(--s3);padding:var(--s4);border:1px solid var(--border);border-radius:var(--radius-composer);background:var(--surface);box-shadow:var(--composer-shadow)}
.chat-composer:focus-within{border-color:#b7b7b7}
.chat-composer textarea{width:100%;min-height:var(--s8);max-height:var(--composer-max);resize:none;border:0;padding:0 var(--s1);border-radius:0;font-size:var(--text-composer);line-height:1.75;outline:none;background:transparent;overflow:auto}
.chat-composer textarea:focus-visible{outline:none;box-shadow:none}
.chat-composer .section-heading{margin:0;gap:var(--s2)}
.chat-composer .button{white-space:nowrap}
.chat-context{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:var(--text-sm)}
.composer-actions{display:flex;align-items:center;justify-content:space-between;gap:var(--s3)}
.composer-send-actions{display:flex;align-items:center;gap:var(--s1);flex-shrink:0}
.voice-status{min-width:0;font-size:var(--text-xs);line-height:1.5}
.voice-status[data-state=failure]{color:var(--danger)}
.voice-interim{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.voice-button[data-state=listening],.voice-button[data-state=stopping]{color:var(--danger);background:var(--danger-soft)}
.scope-button{min-width:0;padding:var(--s2);max-width:calc(100% - var(--s12));color:var(--muted)}
.scope-button .icon{width:var(--icon-small);height:var(--icon-small)}
.chat-footnote{display:flex;align-items:center;justify-content:center;gap:var(--s4);padding-top:var(--s1);text-align:center;font-size:var(--text-xs);color:var(--muted)}
.connection-status{min-height:var(--s8);padding:var(--s1) var(--s2);font-size:var(--text-xs);color:var(--muted)}
.chat-progress:not(:empty){padding-bottom:var(--s3)}
.content.chat-screen--empty{grid-template-rows:minmax(0,1fr) auto minmax(var(--s8),1fr)}
.chat-screen--empty .chat-transcript{align-self:end;overflow:visible;padding-bottom:0}
.chat-screen--empty .chat-messages{min-height:0}
.chat-screen--empty .chat-bottom{grid-row:2;padding-top:0}
.chat-suggestions{display:none;justify-content:center;gap:var(--s2);padding-top:var(--s4);flex-wrap:wrap}
.chat-screen--empty .chat-suggestions{display:flex}
.chat-suggestions .button{border:1px solid var(--border);font-size:var(--text-sm);color:var(--muted)}
.turn-actions{gap:var(--s1);margin-left:calc(var(--s2)*-1)}
.turn-actions .button{font-size:var(--text-xs);color:var(--muted);padding:var(--s2)}
.button.citation{display:inline-flex;border:0;background:var(--subtle);border-radius:var(--radius-pill);min-height:0;padding:0 var(--s2);font-size:var(--text-xs);line-height:1.8;margin-inline:var(--s1);vertical-align:baseline}
.thinking{color:var(--muted);font-size:var(--text-sm);animation:thinking-pulse 1.8s ease-in-out infinite}
@keyframes thinking-pulse{50%{opacity:.5}}
@media(prefers-reduced-motion:reduce){.thinking{animation:none}}
.answer-dialog{max-width:var(--chat-width)}
.answer-dialog textarea{min-height:var(--composer-max)}
@media(max-width:767px){
  .chat-header{padding:var(--s3) var(--s4);align-items:flex-start;flex-wrap:wrap;gap:var(--s2)}
  .chat-header>div:first-child{flex:1;min-width:0}
  .chat-header h1{font-size:var(--text-md)}
  .chat-header .button{font-size:var(--text-sm);padding:var(--s2)}
  .chat-title{max-width:30vw;font-size:var(--text-xs)}
  .chat-transcript{padding:var(--s5) var(--s4);scroll-padding:var(--s5)}
  .chat-messages{gap:var(--s8)}
  .chat-welcome{padding:var(--s6) 0}
  .chat-welcome h2{font-size:var(--text-lg)}
  .chat-bottom{padding:var(--s2) var(--s3) var(--s3)}
  .chat-composer{padding:var(--s3)}
  .keyboard-hint{display:none}
  .chat-limited{font-size:var(--text-xs)}
  .chat-welcome{padding:var(--s5) 0;gap:var(--s3)}
  .chat-welcome p{font-size:var(--text-sm);line-height:1.7}
  .chat-transcript{padding:var(--s4)}
  .chat-turn{gap:var(--s5)}
  .user-message{max-width:92%;padding:var(--s3) var(--s4)}
  .chat-evidence{padding:var(--s2) var(--s3)}
}
