.lightbox-top { display: flex; justify-content: flex-end; } .lightbox-close { display: inline-flex; align-items: center; justify-content: center; width: 44px; height: 44px; border: 0; border-radius: 50%; color: #fff; background: rgba(255, 255, 255, 0.14); } .lightbox-stage { min-height: 0; display: grid; place-items: center; padding: 8px 0; } .lightbox-stage img { display: block; max-width: 100%; max-height: 100%; width: auto; height: auto; object-fit: contain; border-radius: 8px; background: rgba(255, 255, 255, 0.06); } .lightbox-actions { display: flex; justify-content: center; padding-top: 8px; } .lightbox-actions button { display: inline-flex; align-items: center; gap: 8px; min-height: 44px; padding: 0 14px; border: 0; border-radius: 999px; color: var(--danger); background: rgba(255, 255, 255, 0.92); } .message-bubble time { display: block; margin-top: 6px; color: rgba(111, 116, 122, 0.78); font-size: 10px; } .message-row.is-user .message-bubble time { color: rgba(255, 255, 255, 0.64); } [data-theme="dark"] .empty-orbit { color: var(--accent); background: #262626; } [data-theme="dark"] .message-bubble { color: var(--text); background: #1f1f1f; border-color: #303030; box-shadow: none; } [data-theme="dark"] .message-row.is-user .message-bubble { color: var(--text); background: #303030; border-color: #3a3a3a; } [data-theme="dark"] .message-row.is-activity .message-bubble, [data-theme="dark"] .message-row.is-activity .activity-bubble { color: #d4d4d8; background: #242424; border-color: #303030; } [data-theme="dark"] .activity-bubble.is-failed { color: #ffb4ae; background: rgba(255, 107, 98, 0.12); border-color: rgba(255, 107, 98, 0.26); } [data-theme="dark"] .activity-detail { color: #ffc2bd; } [data-theme="dark"] .activity-steps { border-top-color: #383838; } [data-theme="dark"] .activity-step { color: #a1a1aa; } [data-theme="dark"] .message-actions { color: #a1a1aa; } [data-theme="dark"] .message-action:hover, [data-theme="dark"] .message-action:focus-visible, [data-theme="dark"] .message-action:active { color: var(--text); } [data-theme="dark"] .message-action.is-speaking { color: var(--accent); } [data-theme="dark"] .message-image-link { background: #242424; } [data-theme="dark"] .message-image-link.is-failed { color: #ffb4ae; background: rgba(255, 107, 98, 0.1); border-color: rgba(255, 107, 98, 0.28); } [data-theme="dark"] .image-error span { color: var(--accent); } [data-theme="dark"] .lightbox-actions button { color: #ffb4ae; background: #242424; } [data-theme="dark"] .message-bubble time { color: #8b8b94; } [data-theme="dark"] .message-row.is-user .message-bubble time { color: #b5b5bd; } .composer-wrap { position: relative; z-index: 30; min-width: 0; width: 100%; max-width: 100vw; padding: 8px 12px calc(env(safe-area-inset-bottom, 0px) + 10px); background: rgba(247, 247, 244, 0.92); backdrop-filter: blur(18px); border-top: 1px solid rgba(222, 223, 220, 0.84); overflow: visible; } .composer-notice { margin: 0 4px 7px; color: var(--danger); font-size: 12px; line-height: 16px; overflow-wrap: anywhere; } [data-keyboard="open"] .composer-wrap { padding-bottom: 2px; } [data-keyboard="open"] .chat-pane { padding-bottom: 4px; } .file-input { display: none; } .composer-menu { position: absolute; bottom: calc(100% + 6px); z-index: 60; display: flex; flex-direction: column; gap: 2px; min-width: 150px; max-width: min(84vw, 300px); max-height: 42svh; padding: 7px; overflow: auto; border: 1px solid rgba(222, 223, 220, 0.9); border-radius: 12px; background: rgba(255, 255, 255, 0.98); box-shadow: 0 16px 44px rgba(20, 24, 31, 0.14); } .attach-menu { left: 14px; } .permission-menu { left: 56px; } .model-menu { right: 12px; min-width: 176px; } .menu-section-label { padding: 4px 9px 2px; color: #8a9097; font-size: 12px; line-height: 16px; } .menu-divider { height: 1px; margin: 5px 2px; background: #eceeeb; } .composer-menu button { display: flex; align-items: center; gap: 9px; width: 100%; min-height: 44px; padding: 8px 9px; border: 0; border-radius: 8px; color: #363c45; background: transparent; text-align: left; } .composer-menu button.is-selected { color: #174eb8; background: var(--accent-soft); } .composer-menu button.is-danger { color: var(--danger); } .composer-menu button span:last-child { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; } .menu-spacer { width: 16px; height: 16px; flex: 0 0 auto; } .composer { width: 100%; max-width: 100%; min-width: 0; border: 1px solid #d9dad6; border-radius: 20px; background: rgba(255, 255, 255, 0.96); box-shadow: 0 8px 28px rgba(20, 24, 31, 0.08); overflow: hidden; } .composer:focus-within { border-color: rgba(23, 78, 184, 0.46); box-shadow: 0 0 0 3px rgba(23, 78, 184, 0.12); } .attachment-tray { display: flex; gap: 6px; padding: 8px 10px 0; overflow-x: auto; } .attachment-chip { flex: 0 0 auto; display: inline-flex; align-items: center; gap: 5px; max-width: 260px; min-height: 44px; padding: 0 0 0 10px; border-radius: 999px; color: #4f5661; background: #f0f1ee; } .attachment-chip > span { min-width: 0; max-width: 138px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: 12px; }