#chat { flex: 1; overflow-y: auto; padding: var(--s4); display: flex; flex-direction: column; gap: var(--s4); } .meta-bar { padding: var(--s2); background: var(--f1-bg); border-bottom: var(--border-width) solid var(--f1-border); flex-shrink: 0; min-height: 2.5em; } .msg { padding: var(--s3) var(--s4); white-space: pre-wrap; word-break: break-word; } .msg.user { align-self: flex-end; background: var(--f3-bg); border: var(--border-width) solid var(--f3-border); } .msg.assistant { align-self: flex-start; background: var(--f1-bg); border: var(--border-width) solid var(--f1-border); } .msg.system-info { align-self: center; border: var(--border-width) solid var(--f2-border); text-align: center; padding: var(--s2); } .msg .cursor { display: inline-block; width: .125em; height: 1em; background: var(--text); animation: blink 0.8s infinite; vertical-align: text-bottom; margin-left: .125em; } @keyframes blink { 0%, 50% { opacity: 1; } 51%, 100% { opacity: 0; } } .tool-box { align-self: center; padding: var(--s2); background: var(--f3-bg); border: var(--border-width) solid var(--f3-border); } .input-area { border-top: var(--border-width) solid var(--f1-border); display: flex; flex-shrink: 0; gap: var(--s4); padding: var(--s4); } .input-area textarea { flex: 1; } .input-area button { align-self: flex-end; } .input-area button:disabled { opacity: 0.5; cursor: not-allowed; } .archive-container { display: flex; flex-direction: column; gap: var(--s4); } .archived { opacity: 0.6; } .archive-load-btn { display: block; margin-inline: auto; }