/* Shared shell owns chat geometry. Individual pages only style their left panel. */
.workspace,.workspace.user-workspace,.workspace.activities-workspace{
  grid-template-columns:minmax(340px,38%) minmax(0,1fr);
  grid-template-rows:minmax(0,1fr);
  padding:20px 28px 22px 20px;
  gap:32px;
}
.workspace>.interaction-area{min-height:0;min-width:0;overflow:hidden}
/* Chat column hugs the left panel and fills the remaining width; very wide screens stop at 1100px. */
.workspace>.conversation{
  width:100%;max-width:1100px;justify-self:start;align-self:stretch;
  min-height:0;min-width:0;padding-top:16px;
}
.workspace>.conversation>.messages{padding:0 4px 28px 0}
/* Composer spans the whole column; bubbles size to their content with a reading-width cap. */
.workspace>.conversation>.composer-area{margin-left:0}
.workspace .greeting,.workspace .plain-response{max-width:min(680px,100%)}
.workspace .user-row>div:first-child{max-width:min(560px,85%)}
@media(min-width:1700px){
  .workspace,.workspace.user-workspace,.workspace.activities-workspace{
    grid-template-columns:minmax(360px,36%) minmax(0,1fr);
    padding:25px 38px 28px 25px;gap:42px;
  }
}
@media(max-width:1100px){
  .workspace,.workspace.user-workspace,.workspace.activities-workspace{
    grid-template-columns:minmax(320px,39%) minmax(0,1fr);
    padding:16px;gap:22px;
  }
}
@media(max-width:760px){
  .workspace,.workspace.user-workspace,.workspace.activities-workspace{
    grid-template-columns:minmax(280px,44%) minmax(0,1fr);
    padding:12px;gap:14px;
  }
}
@media(max-width:580px){
  .workspace,.workspace.user-workspace,.workspace.activities-workspace{
    grid-template-columns:minmax(0,1fr);
    grid-template-rows:minmax(0,65%) minmax(0,1fr);
    padding:12px;gap:14px;
  }
  .workspace>.conversation{padding-top:0}
  .workspace>.conversation>.messages{padding-bottom:10px}
  .workspace .composer-mascot{display:none}
}
