/* Header Menu */ .header-menu { position: relative; margin-left: auto; } .header-menu-trigger { padding: var(--s1) var(--s2); line-height: 1; } .header-menu-dropdown { position: absolute; top: 100%; right: 0; margin-top: var(--s1); background: var(--f3-bg); border: var(--border-width) solid var(--f3-border); min-width: 10em; z-index: 100; display: flex; flex-direction: column; } .header-menu-dropdown[hidden] { display: none; } .header-menu-item { border: none; text-align: left; padding: var(--s2) var(--s3); background: none; white-space: nowrap; } .header-menu-item:not(:disabled):hover { background: var(--f2-bg); border: none; } #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 { padding: var(--s2); background: var(--f3-bg); border: var(--border-width) solid var(--f3-border); opacity: 0.5; } .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; } /* Workspace Refs */ .ref-preview { padding: var(--s2) var(--s4); background: var(--f1-bg); border-top: var(--border-width) solid var(--f1-border); flex-wrap: wrap; gap: var(--s2); } .ref-preview:not([hidden]) { display: flex; } .ref-preview-item { display: flex; align-items: center; gap: var(--s2); padding: var(--s1) var(--s2); background: var(--f2-bg); border: var(--border-width) solid var(--f2-border); } .ref-icon { flex-shrink: 0; } .ref-label { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; } /* File Upload */ .file-btn { align-self: flex-end; } .file-preview { padding: var(--s2) var(--s4); background: var(--f1-bg); border-top: var(--border-width) solid var(--f1-border); } .file-preview-inner { display: flex; align-items: center; gap: var(--s3); } .file-thumb { max-height: 60px; max-width: 100px; object-fit: contain; border: var(--border-width) solid var(--f2-border); } .file-icon { font-size: 2em; } .file-name { flex: 1; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; } .file-remove { background: none; border: none; cursor: pointer; padding: var(--s1); color: var(--text); opacity: 0.6; } .file-remove:hover { opacity: 1; } /* Attachments in History */ .attachment-indicator { margin-top: var(--s2); opacity: 0.7; } .attachment-indicator:hover { opacity: 1; } .attachment-container { margin-top: var(--s2); display: flex; flex-wrap: wrap; gap: var(--s2); } .attachment-image { max-width: 300px; max-height: 200px; object-fit: contain; border: var(--border-width) solid var(--f2-border); cursor: pointer; } .attachment-file { display: inline-block; padding: var(--s2) var(--s3); background: var(--f2-bg); border: var(--border-width) solid var(--f2-border); text-decoration: none; color: var(--text); }