/* card-asset.css ─ 16:9 thumbnail + metadata + role pill. * For Library, Project asset grids, recorder cards' video portion. */ .wd-card-asset { display: flex; flex-direction: column; background: var(--bg-panel); border: 1px solid var(--border-faint); border-radius: 6px; overflow: hidden; transition: border-color 120ms cubic-bezier(0.25, 1, 0.5, 1); } .wd-card-asset:hover { border-color: var(--border); } .wd-card-asset-thumb { position: relative; width: 100%; aspect-ratio: 16 / 9; background: oklch(0% 0 0); overflow: hidden; } .wd-card-asset-thumb img, .wd-card-asset-thumb video { width: 100%; height: 100%; object-fit: cover; display: block; transition: filter 120ms cubic-bezier(0.25, 1, 0.5, 1); } .wd-card-asset:hover .wd-card-asset-thumb img, .wd-card-asset:hover .wd-card-asset-thumb video { filter: brightness(1.04); } .wd-card-asset-chip { position: absolute; font: 500 10px/1 var(--font-mono); color: var(--text-primary); background: oklch(8% 0.010 266 / 0.7); border: 1px solid var(--border-faint); border-radius: 3px; padding: 3px 6px; letter-spacing: 0.02em; } .wd-card-asset-chip--duration { bottom: 8px; right: 8px; } .wd-card-asset-chip--comments { bottom: 8px; left: 8px; display: inline-flex; align-items: center; gap: 4px; } .wd-card-asset-chip--version { top: 8px; right: 8px; font-weight: 600; } .wd-card-asset-checkbox { position: absolute; top: 8px; left: 8px; opacity: 0; transition: opacity 120ms cubic-bezier(0.25, 1, 0.5, 1); } .wd-card-asset:hover .wd-card-asset-checkbox, .wd-card-asset.is-selected .wd-card-asset-checkbox, .wd-card-asset-grid.has-selection .wd-card-asset-checkbox { opacity: 1; } .wd-card-asset-meta { padding: 8px; display: flex; flex-direction: column; gap: 2px; min-width: 0; } .wd-card-asset-name { font: 500 13px/1.3 var(--font); color: var(--text-primary); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; } .wd-card-asset-sub { font: 400 11px/1.3 var(--font); color: var(--text-tertiary); font-variant-numeric: tabular-nums; } .wd-card-asset-role { display: block; width: 100%; padding: 6px 8px; border: 1px solid var(--border-faint); border-top: 0; background: var(--bg-deep); font: 600 10px/1 var(--font); letter-spacing: 0.08em; text-transform: uppercase; color: var(--text-secondary); cursor: pointer; } .wd-card-asset-role--unset { border-style: dashed; color: var(--text-tertiary); } /* Grid container */ .wd-card-asset-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)); gap: 12px; }