/* semantic-colors — domain styles; order is declared in index.html. */
/* 末端语义绑定：后续新增主题只覆盖 token，不需要再改组件选择器。 */
.workspace-home, .agents-lobby, .management-nav, .reading-room-modal, .reader-panel:not(.night) { background: var(--bg); color: var(--text); }
.workspace-home::before { background-image: linear-gradient(color-mix(in srgb, var(--primary) 9%, transparent) 1px, transparent 1px), linear-gradient(90deg, color-mix(in srgb, var(--primary) 7%, transparent) 1px, transparent 1px); }
.home-heading p:last-child, .lobby-heading p, .home-card-copy > span, .reading-status, .shelf-group h3, .book-card-info small, .reader-toolbar > span { color: var(--muted); }
.home-card, .sidebar-quick-link { border-color: color-mix(in srgb, var(--primary) 28%, var(--line)); }
.home-card::after { border-color: color-mix(in srgb, var(--primary) 16%, transparent); }
.home-card:hover { border-color: color-mix(in srgb, var(--primary) 64%, var(--line)); box-shadow: var(--shadow-lg); }
.home-card-icon, .agent-gallery-icon { border-color: var(--line); background: var(--surface-soft); }
.agents-lobby, .message-row.assistant .message-body { background: var(--surface); }
.agent-gallery-card.placeholder, .lobby-composer-disabled { background: var(--surface-soft); }
.agent-gallery-card.placeholder .agent-gallery-action { color: var(--muted); }
.recent-agent-card:hover, .agent-gallery-card:hover, .management-action-card:hover, .agent-card:hover { border-color: var(--primary); }
.chat-header { background: color-mix(in srgb, var(--surface) 96%, transparent); }
.feature-picker, .conversation-search { background: color-mix(in srgb, var(--surface) 82%, transparent); }
.feature-picker:focus-within, .conversation-search:focus-within, .composer-inner:focus-within { box-shadow: 0 0 0 3px var(--focus-ring), var(--shadow-sm); }
.conversation-item:hover, .conversation-item.active { background: var(--surface-soft); }
.management-mode-button { border-color: var(--line-strong); }
.management-mode-button:hover, .new-chat-button:hover { background: var(--surface-indigo); }
.chat-room-slot, .chat-room-map-filters button, .chat-room-search, .chat-room-composer textarea { border-color: var(--line); background: var(--surface); color: var(--text); }
.chat-room-header, .chat-room-map-view, .chat-room-main, .chat-room-main-toolbar, .chat-room-messages, .chat-room-announcement { background: var(--bg); color: var(--text); }
.chat-room-map-toolbar, .chat-room-composer, .chat-room-message-bubble { border-color: var(--line); background: var(--surface); color: var(--text); }
.chat-room-sidebar, .chat-room-info-panel { border-color: var(--line); }
.chat-room-reply-quote { background: var(--surface-soft); }
.message-avatar { background: var(--primary); color: var(--surface); }
.message-row.user .message-body { background: var(--primary-soft); color: var(--text); }
.message-row.failed .message-body, .message-row.failed .message-content { border-color: var(--danger); color: var(--danger); }
.message-content pre, .message-content code, .empty-orbit { background: var(--surface-soft); border-color: var(--line); }
.composer { background: linear-gradient(0deg, var(--surface) 76%, transparent); }
.composer-inner { box-shadow: var(--shadow-sm); }
.send-button:disabled:not(.busy) { background: var(--subtle); }
.model-badge { background: var(--surface-soft); color: var(--muted); }
.model-badge.active { background: var(--primary-soft); }
.checkbox-field, .field > span { color: var(--text); }
.file-drop-zone:hover, .file-drop-zone.dragover { background: var(--warning-soft); }
.bookshelf-toolbar select, .reading-search, .reader-search-panel input, .reader-chat-form textarea, .reader-selection-popover, .reader-selection-popover textarea { border-color: var(--line); background: var(--surface); color: var(--text); }
.reading-room-header, .reader-toolbar, .reader-settings, .reader-search-panel, .reader-chat-panel { border-color: var(--line); background: color-mix(in srgb, var(--surface) 92%, transparent); }
.reader-toc { border-color: var(--line); background: var(--surface-soft); }
.reader-toc button { color: var(--muted); }
.reader-toc button.active, .reader-search-result:hover { background: var(--surface); color: var(--primary); }
.reader-content { color: var(--text); }
.reader-search-results, .reader-search-result, .reader-chat-message p, .reading-note-card { color: var(--text); }
.reader-search-result, .reader-chat-message p, .reading-note-card { border-color: var(--line); background: var(--surface); }
.reader-chat-message.user p { background: var(--primary-soft); }
.reading-note-card blockquote { border-color: var(--primary); background: var(--warning-soft); color: var(--text); }
.modal-backdrop { background: var(--overlay); }

@media (max-width: 820px) {
    .mobile-workspace-nav { background: color-mix(in srgb, var(--surface) 97%, transparent); }
}
