.imb-els-public {
	--imb-els-accent: #7c4dff;
	--imb-els-accent-soft: #e9e0ff;
	--imb-els-panel: #17151f;
	--imb-els-text: #f8f6ff;
}

.imb-els-public--amethyst,
.imb-els-public__label--amethyst {
	--imb-els-accent: #9b70ff;
	--imb-els-accent-soft: #eee6ff;
}

.imb-els-public--ocean,
.imb-els-public__label--ocean {
	--imb-els-accent: #32b9dc;
	--imb-els-accent-soft: #dff8ff;
}

.imb-els-public--orange,
.imb-els-public__label--orange {
	--imb-els-accent: #ff9f43;
	--imb-els-accent-soft: #fff0dd;
}

.imb-els-public--pink,
.imb-els-public__label--pink {
	--imb-els-accent: #ff6fb5;
	--imb-els-accent-soft: #ffe3f1;
}

.imb-els-public--brown,
.imb-els-public__label--brown {
	--imb-els-accent: #c99a6b;
	--imb-els-accent-soft: #f4e6d7;
}

.imb-els-public--green,
.imb-els-public__label--green {
	--imb-els-accent: #4fd18b;
	--imb-els-accent-soft: #dcf8e8;
}

.imb-els-public .imb-els-brand {
	margin-block-end: 1.25rem;
}

.imb-els-public .imb-els-brand img {
	display: block;
	width: clamp(7rem, 20vw, 10rem);
	height: auto;
	aspect-ratio: 1;
}

.imb-els-public__label {
	display: grid;
	gap: clamp(1.5rem, 4vw, 3rem);
	margin-block: 2rem;
}

.imb-els-public__identity {
	display: grid;
	grid-template-columns: minmax(8rem, 14rem) minmax(0, 1fr);
	gap: clamp(1.25rem, 4vw, 3rem);
	align-items: center;
}

.imb-els-public__logo,
.imb-els-public__logo-fallback {
	display: block;
	width: 100%;
	aspect-ratio: 1;
	border: 3px solid var(--imb-els-accent);
	border-radius: 50%;
	object-fit: cover;
}

.imb-els-public__logo-fallback {
	display: grid;
	place-items: center;
	background: var(--imb-els-panel);
	color: var(--imb-els-text);
	font-size: clamp(2rem, 8vw, 4rem);
	font-weight: 800;
}

.imb-els-public__eyebrow {
	margin-block: 0 0.35rem;
	color: var(--imb-els-accent);
	font-size: 0.82rem;
	font-weight: 800;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

.imb-els-public__identity h2,
.imb-els-public__chart h2 {
	margin-block: 0 0.65rem;
}

.imb-els-public__curator {
	font-weight: 700;
}

.imb-els-public__disclosure {
	border-inline-start: 5px solid var(--imb-els-accent);
	padding: 1rem 1.25rem;
	background: var(--imb-els-accent-soft);
	color: #17151f;
}

.imb-els-public__disclosure h2 {
	margin-bottom: 0;
}

.imb-els-public__chart-heading {
	display: flex;
	gap: 1rem;
	align-items: end;
	justify-content: space-between;
}

.imb-els-public__chart-list {
	display: grid;
	gap: 0.75rem;
	margin: 1.25rem 0 0;
	padding: 0;
	list-style: none;
}

.imb-els-public__chart-list li {
	display: grid;
	grid-template-columns: 3rem minmax(0, 1fr);
	gap: 1rem;
	align-items: center;
	padding: 1rem;
	border: 1px solid color-mix(in srgb, var(--imb-els-accent) 45%, transparent);
	border-radius: 0.75rem;
}

.imb-els-public__roster-list li {
	grid-template-columns: minmax(0, 1fr);
	padding: clamp(1.1rem, 3vw, 1.5rem);
	border-width: 1px 1px 1px 5px;
	border-inline-start-color: var(--imb-els-accent);
	background: color-mix(in srgb, var(--imb-els-accent) 7%, var(--imb-els-panel));
}

.imb-els-public__artist-card {
	display: grid;
	gap: 1rem;
}

.imb-els-public__artist-heading {
	display: grid;
	gap: 0.2rem;
	padding-block-end: 0.8rem;
	border-block-end: 1px solid color-mix(in srgb, var(--imb-els-accent) 40%, transparent);
}

.imb-els-public__roster-list h3 {
	color: var(--imb-els-text);
	font-size: clamp(1.2rem, 3vw, 1.45rem);
	line-height: 1.2;
}

.imb-els-public__artist-release {
	color: color-mix(in srgb, var(--imb-els-text) 78%, transparent);
	font-size: 1rem;
	font-weight: 650;
}

.imb-els-public__position {
	display: grid;
	place-items: center;
	width: 3rem;
	height: 3rem;
	border-radius: 50%;
	background: var(--imb-els-accent);
	color: #0b0811;
	font-size: 1.25rem;
	font-weight: 900;
}

.imb-els-public__chart-list h3,
.imb-els-public__chart-list p {
	margin: 0;
	overflow-wrap: anywhere;
}

.imb-els-public__artist-description {
	margin-block: 0.75rem;
}

.imb-els-public__roster-list .imb-els-public__artist-description {
	max-width: 70ch;
	margin: 0;
	padding: 0.75rem 1rem;
	border-inline-start: 3px solid var(--imb-els-accent);
	background: color-mix(in srgb, var(--imb-els-accent) 12%, transparent);
	line-height: 1.65;
}

.imb-els-public__artist-social {
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem 1rem;
	margin: 0.75rem 0;
	padding: 0;
	list-style: none;
}

.imb-els-public__chart-list .imb-els-public__artist-social li {
	display: block;
	padding: 0;
	border: 0;
}

.imb-els-public__roster-list .imb-els-public__artist-social {
	gap: 0.5rem;
	margin: 0;
}

.imb-els-public__roster-list :where(.imb-els-public__artist-social a),
.imb-els-public__provider-link {
	display: inline-flex;
	min-height: 2.75rem;
	align-items: center;
	padding: 0.55rem 0.9rem;
	border: 1px solid var(--imb-els-accent);
	border-radius: 999px;
	background: color-mix(in srgb, var(--imb-els-accent) 12%, transparent);
	text-decoration-thickness: 0.1em;
	text-underline-offset: 0.2em;
}

.imb-els-public__artist-actions {
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	gap: 0.85rem;
}

.imb-els-public__disclosure p:last-child {
	margin-bottom: 0;
}

.imb-els-public__chart-list a,
.imb-els-public__social a,
.imb-els-public__correction a,
.imb-els-public__card-action a {
	font-weight: 700;
}

.imb-els-public__player {
	grid-column: 1 / -1;
	margin-block-start: 0.75rem;
}

.imb-els-public__player button {
	min-height: 2.75rem;
	padding: 0.6rem 0.9rem;
	border: 2px solid var(--imb-els-accent);
	border-radius: 999px;
	background: var(--imb-els-accent);
	color: #0b0811;
	font: inherit;
	font-weight: 800;
	cursor: pointer;
}

.imb-els-public__player-note {
	margin-block-start: 0.4rem;
	font-size: 0.85rem;
}

.imb-els-public__player iframe {
	display: block;
	width: 100%;
	max-width: 46rem;
	border: 0;
}

.imb-els-public__artist-actions :where(.imb-els-public__provider-link) {
	justify-self: start;
}

.imb-els-public__artist-actions :where(.imb-els-public__player) {
	box-sizing: border-box;
	width: 100%;
	max-width: none;
	margin-block-start: 0;
	padding: clamp(0.75rem, 2vw, 1rem);
	border: 1px solid color-mix(in srgb, var(--imb-els-accent) 35%, transparent);
	border-radius: 0.75rem;
	background: color-mix(in srgb, var(--imb-els-accent) 7%, transparent);
}

.imb-els-public__artist-actions :where(.imb-els-public__player-note) {
	color: color-mix(in srgb, var(--imb-els-text) 72%, transparent);
	line-height: 1.45;
}

.imb-els-public__artist-actions :where(.imb-els-public__player iframe) {
	max-width: none;
	border-radius: 0.5rem;
}

.imb-els-public__card-logo {
	margin-block: 0.75rem 1rem;
}

.imb-els-public__card-logo-image,
.imb-els-public__card-logo-fallback {
	display: block;
	width: clamp(4rem, 12vw, 6rem);
	height: auto;
	aspect-ratio: 1;
	border: 2px solid var(--imb-els-accent);
	border-radius: 50%;
	object-fit: cover;
}

.imb-els-public__card-logo-fallback {
	display: grid;
	place-items: center;
	background: var(--imb-els-panel);
	color: var(--imb-els-text);
	font-weight: 800;
}

.imb-els-public__card-action a {
	display: inline-flex;
	min-height: 2.75rem;
	align-items: center;
	padding: 0.65rem 1rem;
	border: 2px solid var(--imb-els-accent);
	border-radius: 999px;
	text-decoration-thickness: 0.1em;
	text-underline-offset: 0.2em;
}

.imb-els-public__request {
	padding: clamp(1rem, 3vw, 1.75rem);
	border: 2px solid var(--imb-els-accent);
	border-radius: 0.75rem;
	background: var(--imb-els-panel);
	color: var(--imb-els-text);
}

.imb-els-public__request summary {
	cursor: pointer;
}

.imb-els-public__request-heading {
	font-size: 1.25rem;
	font-weight: 800;
}

.imb-els-public__request-body {
	padding-block-start: 1rem;
}

.imb-els-public__request form {
	display: grid;
	gap: 1rem;
}

.imb-els-public__request label {
	display: block;
	margin-block-end: 0.35rem;
	font-weight: 800;
}

.imb-els-public .imb-els-public__request form input:not([type="checkbox"], [type="radio"], [type="file"], [type="hidden"], [type="submit"]),
.imb-els-public .imb-els-public__request form select {
	display: block;
	box-sizing: border-box;
	width: 100%;
	min-height: 2.75rem;
	padding: 0.65rem;
	border: 2px solid var(--imb-els-accent) !important;
	border-radius: 0.35rem;
	background: #fff !important;
	color: #17151f !important;
	font: inherit;
}

.imb-els-public .imb-els-public__request form button {
	appearance: none;
	display: inline-flex;
	box-sizing: border-box;
	width: fit-content;
	min-height: 2.75rem;
	align-items: center;
	justify-content: center;
	padding: 0.65rem 1rem;
	border: 2px solid var(--imb-els-accent) !important;
	border-radius: 999px;
	background: var(--imb-els-accent) !important;
	color: #0b0811 !important;
	font: inherit;
	font-weight: 900;
	line-height: 1.2;
	text-align: center;
	cursor: pointer;
}

.imb-els-public .imb-els-public__request form :is(input, select, button):focus-visible {
	outline: 3px solid var(--imb-els-accent) !important;
	outline-offset: 3px;
}

.imb-els-public__request-notice {
	padding: 0.75rem 1rem;
	border-inline-start: 5px solid var(--imb-els-accent);
	background: var(--imb-els-accent-soft);
	color: #17151f;
}

.imb-els-public__request-privacy {
	font-size: 0.9rem;
}

.imb-els-public__website {
	position: absolute;
	inline-size: 1px;
	block-size: 1px;
	overflow: hidden;
	clip-path: inset(50%);
}

.imb-els-public__social ul {
	display: flex;
	flex-wrap: wrap;
	gap: 0.75rem 1.25rem;
	padding: 0;
	list-style: none;
}

.imb-els-public__history {
	display: grid;
	gap: 0.75rem;
}

.imb-els-public__history-edition {
	border: 1px solid color-mix(in srgb, var(--imb-els-accent) 45%, transparent);
	border-radius: 0.75rem;
	padding: 0.75rem 1rem;
}

.imb-els-public__history-edition summary {
	cursor: pointer;
	font-weight: 800;
}

.imb-els-public__history-edition summary:focus-visible {
	outline: 3px solid var(--imb-els-accent);
	outline-offset: 4px;
}

.imb-els-public__history-edition .imb-els-public__chart-list {
	margin-block-end: 0.25rem;
}

.imb-els-public__empty {
	padding: 1rem;
	border: 1px solid var(--imb-els-accent);
}

@media (width <= 600px) {
	.imb-els-public__identity {
		grid-template-columns: 1fr;
	}

	.imb-els-public__media {
		max-width: 11rem;
	}

	.imb-els-public__chart-heading {
		display: block;
	}

	.imb-els-public__artist-actions {
		display: grid;
	}

	.imb-els-public__provider-link,
	.imb-els-public__artist-actions :where(.imb-els-public__player button) {
		width: 100%;
		justify-content: center;
	}
}

@media (forced-colors: active) {
	.imb-els-public__logo,
	.imb-els-public__logo-fallback,
	.imb-els-public__disclosure,
	.imb-els-public__chart-list li,
	.imb-els-public__roster-list .imb-els-public__artist-description,
	.imb-els-public__roster-list :where(.imb-els-public__artist-social a),
	.imb-els-public__provider-link,
	.imb-els-public__artist-actions :where(.imb-els-public__player),
	.imb-els-public__history-edition {
		border: 2px solid CanvasText;
	}

	.imb-els-public__request,
	.imb-els-public__request :where(input, select, button),
	.imb-els-public__card-action a {
		border: 2px solid CanvasText;
	}
}
