* { box-sizing: border-box; }
html, body { margin: 0; height: 100%; font: 14px/1.5 system-ui, "Segoe UI", sans-serif; color: #1f2328; }
#shell { display: flex; height: 100%; }
#deck { flex: 1; border: 0; min-width: 0; }
#assistant { width: 340px; border-left: 1px solid #d8dde3; display: flex; flex-direction: column; background: #fafbfc; }
#assistant header { padding: 12px 14px; border-bottom: 1px solid #e4e8ed; display: flex; justify-content: space-between; align-items: center; }
#state { font-size: 12px; color: #6b7480; }
#log { flex: 1; overflow: auto; padding: 12px 14px; }
.msg { margin-bottom: 10px; padding: 8px 10px; border-radius: 8px; white-space: pre-wrap; word-break: break-word; }
.msg.user { background: #e8f0fe; }
.msg.bot { background: #fff; border: 1px solid #e4e8ed; }
.msg.err { background: #fff1f0; border: 1px solid #ffccc7; color: #a8071a; }
.msg.step { background: #f6f8fa; color: #57606a; font-size: 12px; }
#form { display: flex; flex-direction: column; gap: 8px; padding: 12px 14px; border-top: 1px solid #e4e8ed; }
#prompt { resize: vertical; padding: 8px 10px; border: 1px solid #d0d7de; border-radius: 6px; font: inherit; }
#go { padding: 9px 12px; border: 0; border-radius: 6px; background: #1f6feb; color: #fff; font: inherit; cursor: pointer; }
#go:disabled { background: #9db7e8; cursor: default; }
