/* Metadata Panel - Right Panel */ .metadata { display: flex; flex-direction: column; height: 100%; background: var(--card-bg); border-left: 1px solid var(--lora-border); overflow: hidden; } /* Header section */ .metadata__header { padding: var(--space-3); border-bottom: 1px solid var(--lora-border); background: var(--lora-surface); } .metadata__title-row { display: flex; align-items: flex-start; justify-content: space-between; gap: var(--space-2); margin-bottom: var(--space-2); } .metadata__name { font-size: 1.4em; font-weight: 600; line-height: 1.3; color: var(--text-color); margin: 0; word-break: break-word; } .metadata__edit-btn { flex-shrink: 0; width: 32px; height: 32px; display: flex; align-items: center; justify-content: center; background: transparent; border: none; border-radius: 50%; color: var(--text-color); opacity: 0; cursor: pointer; transition: opacity 0.2s, background-color 0.2s; } .metadata__header:hover .metadata__edit-btn { opacity: 0.5; } .metadata__edit-btn:hover { opacity: 1 !important; background: var(--lora-border); } /* Creator and actions */ .metadata__actions { display: flex; flex-wrap: wrap; align-items: center; gap: var(--space-2); margin-bottom: var(--space-2); } .metadata__creator { display: flex; align-items: center; gap: var(--space-1); padding: var(--space-1) var(--space-2); background: rgba(0, 0, 0, 0.03); border: 1px solid var(--lora-border); border-radius: var(--border-radius-sm); cursor: pointer; transition: all 0.2s; } [data-theme="dark"] .metadata__creator { background: rgba(255, 255, 255, 0.03); } .metadata__creator:hover { border-color: var(--lora-accent); background: oklch(var(--lora-accent-l) var(--lora-accent-c) var(--lora-accent-h) / 0.1); } .metadata__creator-avatar { width: 24px; height: 24px; border-radius: 50%; overflow: hidden; background: var(--lora-accent); display: flex; align-items: center; justify-content: center; } .metadata__creator-avatar img { width: 100%; height: 100%; object-fit: cover; } .metadata__creator-avatar i { color: white; font-size: 0.8rem; } .metadata__creator-name { font-size: 0.9em; font-weight: 500; } .metadata__civitai-link { display: flex; align-items: center; gap: 6px; padding: 6px 12px; background: rgba(0, 0, 0, 0.03); border: 1px solid var(--lora-border); border-radius: var(--border-radius-sm); color: var(--text-color); font-size: 0.85em; text-decoration: none; transition: all 0.2s; } .metadata__civitai-link:hover { border-color: var(--lora-accent); background: oklch(var(--lora-accent-l) var(--lora-accent-c) var(--lora-accent-h) / 0.1); } /* License icons */ .metadata__licenses { display: flex; gap: var(--space-1); margin-left: auto; } .metadata__license-icon { width: 22px; height: 22px; display: inline-block; background-color: var(--text-muted); -webkit-mask: var(--license-icon-image) center/contain no-repeat; mask: var(--license-icon-image) center/contain no-repeat; transition: background-color 0.2s ease, transform 0.2s ease; } .metadata__license-icon:hover { background-color: var(--text-color); transform: translateY(-1px); } /* Tags */ .metadata__tags { display: flex; flex-wrap: wrap; gap: var(--space-1); } .metadata__tag { display: inline-flex; align-items: center; padding: 4px 10px; background: oklch(var(--lora-accent-l) var(--lora-accent-c) var(--lora-accent-h) / 0.1); border: 1px solid oklch(var(--lora-accent-l) var(--lora-accent-c) var(--lora-accent-h) / 0.2); border-radius: 999px; font-size: 0.8em; color: var(--lora-accent); transition: all 0.2s; } .metadata__tag:hover { background: oklch(var(--lora-accent-l) var(--lora-accent-c) var(--lora-accent-h) / 0.2); border-color: var(--lora-accent); } /* Info grid */ .metadata__info { padding: var(--space-2) var(--space-3); border-bottom: 1px solid var(--lora-border); } .metadata__info-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: var(--space-2); } .metadata__info-item { display: flex; flex-direction: column; gap: 2px; } .metadata__info-item--full { grid-column: 1 / -1; } .metadata__info-label { font-size: 0.75em; color: var(--text-color); opacity: 0.7; text-transform: uppercase; letter-spacing: 0.05em; } .metadata__info-value { font-size: 0.9em; color: var(--text-color); word-break: break-word; } .metadata__info-value--mono { font-family: monospace; font-size: 0.85em; } .metadata__info-value--path { cursor: pointer; text-decoration: underline; text-decoration-style: dotted; } .metadata__info-value--path:hover { opacity: 0.8; } /* Editable sections */ .metadata__section { padding: var(--space-2) var(--space-3); border-bottom: 1px solid var(--lora-border); } .metadata__section-header { display: flex; align-items: center; justify-content: space-between; margin-bottom: var(--space-1); } .metadata__section-title { font-size: 0.75em; color: var(--text-color); opacity: 0.7; text-transform: uppercase; letter-spacing: 0.05em; font-weight: 600; } .metadata__section-edit { background: transparent; border: none; color: var(--text-color); opacity: 0; cursor: pointer; padding: 4px; border-radius: var(--border-radius-xs); transition: opacity 0.2s, background-color 0.2s; } .metadata__section:hover .metadata__section-edit { opacity: 0.5; } .metadata__section-edit:hover { opacity: 1 !important; background: var(--lora-border); } /* Usage tips / Trigger words */ .metadata__tags--editable { display: flex; flex-wrap: wrap; gap: var(--space-1); } .metadata__tag--editable { cursor: pointer; } .metadata__tag--editable:hover { background: var(--lora-error); border-color: var(--lora-error); color: white; } .metadata__tag--add { background: transparent; border-style: dashed; cursor: pointer; } .metadata__tag--add:hover { background: oklch(var(--lora-accent-l) var(--lora-accent-c) var(--lora-accent-h) / 0.1); border-style: solid; } /* Notes textarea */ .metadata__notes { min-height: 60px; max-height: 120px; padding: var(--space-2); background: var(--bg-color); border: 1px solid var(--lora-border); border-radius: var(--border-radius-xs); font-size: 0.9em; line-height: 1.5; color: var(--text-color); resize: vertical; width: 100%; } .metadata__notes:focus { outline: none; border-color: var(--lora-accent); } .metadata__notes::placeholder { color: var(--text-color); opacity: 0.5; } /* Content area (tabs + scrollable content) */ .metadata__content { flex: 1; overflow-y: auto; display: flex; flex-direction: column; } /* Mobile adjustments */ @media (max-width: 768px) { .metadata__header { padding: var(--space-2); } .metadata__name { font-size: 1.2em; } .metadata__info { padding: var(--space-2); } .metadata__section { padding: var(--space-2); } }