.archive-view-container { padding-top: 16px; } .archive-search-row { display: flex; justify-content: flex-start; padding: 0 0 12px 0; } /* archive-search-field rides on MudTextField, whose root is a child Razor component element. Blazor isolation does not stamp the scope attribute there, so ::deep is required. */ ::deep .archive-search-field { max-width: 420px; width: 100%; } .archive-filter-row { display: flex; justify-content: flex-start; flex-wrap: wrap; padding: 0 0 12px 0; } .archive-card-center { display: flex; justify-content: center; width: 100%; } .archive-card-link { text-decoration: none; color: inherit; } .archive-release-card { display: flex; flex-direction: column; width: 200px; cursor: pointer; border-radius: 8px; overflow: hidden; transition: transform 120ms ease; } .archive-release-card:hover { transform: translateY(-4px); } .archive-release-cover { width: 200px; height: 200px; background-size: cover; background-position: center; background-repeat: no-repeat; } .archive-release-cover--fallback { background-color: var(--mud-palette-dark, #1a2238); } .archive-release-body { padding: 8px 4px 0 4px; display: flex; flex-direction: column; gap: 2px; } /* archive-release-title / archive-release-artist ride on MudText (child Razor component); ::deep pierces into its output since Blazor isolation does not scope-stamp child component roots. */ ::deep .archive-release-title { font-weight: 600; } ::deep .archive-release-artist { opacity: 0.7; } .archive-empty { display: flex; justify-content: center; padding: 48px 0; }