/* Dead Cat Radio — все стили внутри .dcr, чтобы не конфликтовать с темой сайта. */

/* ---------- темы ---------- */
.dcr,
.dcr.dcr-theme-light,
.dcr-mini,
.dcr-mini.dcr-theme-light {
	--dcr-page: #f4f2ee;
	--dcr-bg: #ffffff;
	--dcr-text: #1d1b19;
	--dcr-muted: #6f6a64;
	--dcr-line: #e3dfd8;
	--dcr-hover: #f6f3ef;
	--dcr-accent: #d2452f;
	--dcr-accent-text: #ffffff;
	--dcr-live: #2e9e5b;
	--dcr-art-filter: none;
}
.dcr.dcr-theme-dark,
.dcr-mini.dcr-theme-dark {
	--dcr-page: #141312;
	--dcr-bg: #1e1c1b;
	--dcr-text: #ece8e3;
	--dcr-muted: #9b958e;
	--dcr-line: #2f2c2a;
	--dcr-hover: #262422;
	--dcr-accent: #ec6a52;
	--dcr-accent-text: #141312;
	--dcr-live: #4cc47e;
	--dcr-art-filter: none;
}
/* Ночная: почти чёрный фон, тёплый приглушённый текст без синего, притемнённые обложки. */
.dcr.dcr-theme-night,
.dcr-mini.dcr-theme-night {
	--dcr-page: #000000;
	--dcr-bg: #0a0807;
	--dcr-text: #c99a6b;
	--dcr-muted: #7d6149;
	--dcr-line: #1e1712;
	--dcr-hover: #140f0b;
	--dcr-accent: #a8432c;
	--dcr-accent-text: #0a0807;
	--dcr-live: #b07a3c;
	--dcr-art-filter: brightness(.6) sepia(.35);
}

.dcr {
	margin: 0 0 24px;
	padding: 16px;
	border-radius: 20px;
	background: var(--dcr-page);
	color: var(--dcr-text);
	font-size: 16px;
	line-height: 1.45;
	transition: background-color .2s, color .2s;
}
.dcr *, .dcr *::before, .dcr *::after { box-sizing: border-box; }
.dcr svg { width: 18px; height: 18px; fill: currentColor; flex: none; }
.dcr svg.dcr-stroke { fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }

/* Сброс стилей кнопок темы WordPress. */
.dcr button {
	margin: 0;
	padding: 0;
	border: 0;
	border-radius: 0;
	background: transparent;
	box-shadow: none;
	color: inherit;
	font: inherit;
	line-height: inherit;
	text-align: left;
	text-transform: none;
	letter-spacing: normal;
	min-height: 0;
	width: auto;
	cursor: pointer;
}
.dcr button:hover, .dcr button:focus { background: transparent; color: inherit; }
.dcr button:focus-visible, .dcr a:focus-visible { outline: 2px solid var(--dcr-accent); outline-offset: 2px; }

/* ---------- панель сверху: вкладки и темы ---------- */
.dcr-toolbar {
	display: flex;
	align-items: center;
	justify-content: space-between;
	flex-wrap: wrap;
	gap: 10px 12px;
	margin-bottom: 16px;
}
.dcr-seg {
	display: inline-flex;
	flex: none;
	padding: 3px;
	border: 1px solid var(--dcr-line);
	border-radius: 999px;
	background: var(--dcr-bg);
}
.dcr .dcr-seg-btn {
	padding: 5px 12px;
	border-radius: 999px;
	font-size: 13px;
	color: var(--dcr-muted);
}
.dcr .dcr-tabs .dcr-seg-btn { padding: 6px 16px; font-size: 14px; }
.dcr .dcr-seg-btn:hover { color: var(--dcr-text); }
.dcr .dcr-seg-btn[aria-checked="true"],
.dcr .dcr-seg-btn[aria-selected="true"] { background: var(--dcr-accent); color: var(--dcr-accent-text); }

.dcr-notice { display: none; margin: -6px 0 12px; font-size: 14px; color: var(--dcr-accent); }
.dcr-notice.dcr-notice-on { display: block; }

/* Видна только вкладка, выбранная сверху. */
.dcr-view { display: none; }
.dcr-tab-live .dcr-view-live,
.dcr-tab-albums .dcr-view-albums,
.dcr-tab-schedule .dcr-view-schedule { display: block; }
.dcr-view-albums, .dcr-view-schedule { padding-bottom: 12px; }

/* ---------- колонки станций ---------- */
.dcr-grid {
	display: grid;
	grid-template-columns: repeat(var(--dcr-cols, 2), minmax(0, 1fr));
	gap: 16px;
	align-items: start;
}
@media (max-width: 760px) {
	.dcr-grid { grid-template-columns: minmax(0, 1fr); }
}

.dcr-station {
	background: var(--dcr-bg);
	border: 1px solid var(--dcr-line);
	border-radius: 16px;
	overflow: hidden;
}
.dcr-head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	padding: 16px 18px 0;
}
.dcr .dcr-name {
	margin: 0;
	padding: 0;
	font-size: 20px;
	line-height: 1.3;
	color: var(--dcr-text);
}
.dcr-listeners { color: var(--dcr-muted); font-size: 14px; white-space: nowrap; }
.dcr .dcr-name { flex: 1; min-width: 0; }
.dcr .dcr-all { flex: none; }

.dcr .dcr-label {
	margin: 0;
	padding: 14px 18px 8px;
	font-size: 13px;
	line-height: 1.3;
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: .06em;
	color: var(--dcr-muted);
}

/* ---------- «Играет сейчас» ---------- */
.dcr-now { display: flex; gap: 10px; padding: 0 18px; }
.dcr .dcr-play {
	flex: 1;
	min-width: 0;
	display: flex;
	align-items: center;
	gap: 14px;
	padding: 12px;
	border: 1px solid var(--dcr-line);
	border-radius: 12px;
	transition: border-color .15s;
}
.dcr .dcr-play:hover, .dcr-playing .dcr-play { border-color: var(--dcr-accent); }

.dcr-art {
	position: relative;
	flex: none;
	width: 84px;
	height: 84px;
	border-radius: 10px;
	background: var(--dcr-line) center / cover no-repeat;
	filter: var(--dcr-art-filter);
}
.dcr-icon {
	position: absolute;
	inset: 0;
	margin: auto;
	width: 40px;
	height: 40px;
	border-radius: 50%;
	background: var(--dcr-accent);
	color: var(--dcr-accent-text);
	display: grid;
	place-items: center;
	box-shadow: 0 2px 8px rgba(0, 0, 0, .25);
}
.dcr .dcr-i-pause { display: none; }
.dcr-playing .dcr-icon .dcr-i-play { display: none; }
.dcr-playing .dcr-icon .dcr-i-pause { display: block; }

.dcr-track { display: block; min-width: 0; flex: 1; }
.dcr-title {
	font-weight: 600;
	font-size: 17px;
	overflow: hidden;
	text-overflow: ellipsis;
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
}
.dcr-artist { display: block; color: var(--dcr-muted); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.dcr-status { margin-top: 6px; font-size: 13px; color: var(--dcr-muted); display: flex; align-items: center; gap: 6px; }
.dcr-playing .dcr-status { color: var(--dcr-live); }
.dcr-playing .dcr-status::before {
	content: "";
	width: 8px;
	height: 8px;
	border-radius: 50%;
	background: var(--dcr-live);
	animation: dcr-pulse 1.4s infinite;
}
@keyframes dcr-pulse { 50% { opacity: .3; } }

.dcr-progress { display: block; margin-top: 8px; height: 3px; border-radius: 2px; background: var(--dcr-line); overflow: hidden; }
.dcr-progress span { display: block; height: 100%; width: 0; background: var(--dcr-accent); }

.dcr .dcr-open {
	flex: none;
	width: 48px;
	display: grid;
	place-items: center;
	border: 1px solid var(--dcr-line);
	border-radius: 12px;
	color: var(--dcr-muted);
	text-decoration: none;
	box-shadow: none;
	transition: color .15s, border-color .15s;
}
.dcr .dcr-open:hover { color: var(--dcr-accent); border-color: var(--dcr-accent); }
.dcr-open svg { width: 20px; height: 20px; }

.dcr-now-actions { display: flex; gap: 8px; padding: 10px 18px 0; }
.dcr-station:not(.dcr-has-now) .dcr-now-actions { display: none; }

/* ---------- кнопки «Другие варианты» / «ИИ каверы» ---------- */
.dcr .dcr-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 6px;
	flex: none;
	width: 32px;
	height: 32px;
	border: 1px solid var(--dcr-line);
	border-radius: 8px;
	color: var(--dcr-muted);
	font-size: 13px;
	white-space: nowrap;
	transition: color .15s, border-color .15s;
}
.dcr .dcr-btn:hover { color: var(--dcr-accent); border-color: var(--dcr-accent); }
.dcr .dcr-btn svg { width: 16px; height: 16px; }
.dcr-btn-text { display: none; }
.dcr .dcr-btn-wide { width: auto; padding: 0 12px; }
.dcr-btn-wide .dcr-btn-text { display: inline; }

/* ---------- списки треков: история и результаты поиска ---------- */
.dcr .dcr-list {
	list-style: none;
	margin: 0;
	padding: 0;
	border-top: 1px solid var(--dcr-line);
}
.dcr .dcr-list > li { margin: 0; padding: 0; list-style: none; }
.dcr .dcr-history { margin-bottom: 8px; }

.dcr .dcr-list > .dcr-row {
	position: relative;
	display: flex;
	align-items: center;
	gap: 10px;
	padding: 6px 18px 6px 12px;
	border-bottom: 1px solid var(--dcr-line);
}
.dcr .dcr-list > .dcr-row:last-child { border-bottom: 0; }
.dcr .dcr-row:hover { background: var(--dcr-hover); }
.dcr-row.dcr-on { background: var(--dcr-hover); }
.dcr-row.dcr-on::after {
	content: "";
	position: absolute;
	left: 0;
	bottom: 0;
	height: 2px;
	width: var(--dcr-p, 0);
	background: var(--dcr-accent);
}

.dcr .dcr-row-play {
	flex: 1;
	min-width: 0;
	display: flex;
	align-items: center;
	gap: 12px;
	padding: 2px 6px;
	border-radius: 8px;
}
.dcr span.dcr-row-play { cursor: default; }

.dcr-h-art {
	position: relative;
	flex: none;
	width: 40px;
	height: 40px;
	border-radius: 6px;
	background: var(--dcr-line) center / cover no-repeat;
	filter: var(--dcr-art-filter);
}
.dcr-h-icon {
	position: absolute;
	inset: 0;
	display: grid;
	place-items: center;
	border-radius: 6px;
	background: rgba(0, 0, 0, .45);
	color: #fff;
	opacity: 0;
	transition: opacity .15s;
}
.dcr-h-icon svg { width: 18px; height: 18px; }
.dcr-row-play:hover .dcr-h-icon,
.dcr-row-play:focus-visible .dcr-h-icon,
.dcr-on .dcr-h-icon { opacity: 1; }
.dcr-on:not(.dcr-paused) .dcr-h-icon .dcr-i-play { display: none; }
.dcr-on:not(.dcr-paused) .dcr-h-icon .dcr-i-pause { display: block; }

.dcr-h-text { display: block; min-width: 0; flex: 1; }
.dcr-h-title, .dcr-h-artist { display: block; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.dcr-h-title { font-size: 15px; }
.dcr-on .dcr-h-title { color: var(--dcr-accent); font-weight: 600; }
.dcr-h-artist { font-size: 13px; color: var(--dcr-muted); }
.dcr-h-time { flex: none; font-size: 13px; color: var(--dcr-muted); font-variant-numeric: tabular-nums; }
.dcr-row-actions { display: flex; gap: 6px; flex: none; }

.dcr .dcr-list .dcr-empty { color: var(--dcr-muted); text-align: center; padding: 18px; }
.dcr-error, .dcr .dcr-list .dcr-error { color: var(--dcr-accent); }

/* ---------- панель «Другие варианты» / «ИИ каверы» ---------- */
.dcr-panel {
	margin: 14px 18px 0;
	border: 1px solid var(--dcr-accent);
	border-radius: 12px;
	overflow: hidden;
}
.dcr-panel[hidden] { display: none; }
.dcr-panel-head {
	display: flex;
	align-items: center;
	gap: 10px;
	padding: 10px 10px 10px 14px;
}
.dcr-panel-title { flex: 1; min-width: 0; }
.dcr-panel-kind {
	display: block;
	font-size: 12px;
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: .06em;
	color: var(--dcr-accent);
}
.dcr-panel-of { display: block; font-weight: 600; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.dcr-panel .dcr-list { max-height: 360px; overflow-y: auto; }
.dcr .dcr-panel .dcr-list > .dcr-row { padding-right: 12px; }

@media (max-width: 420px) {
	.dcr { padding: 10px; border-radius: 14px; }
	.dcr-toolbar { flex-wrap: wrap; }
	.dcr-head, .dcr .dcr-label { padding-left: 14px; padding-right: 14px; }
	.dcr-now, .dcr-now-actions { padding-left: 14px; padding-right: 14px; }
	.dcr-art { width: 64px; height: 64px; }
	.dcr .dcr-list > .dcr-row { padding-left: 6px; padding-right: 10px; gap: 6px; }
	.dcr-panel { margin-left: 14px; margin-right: 14px; }
}

/* ---------- номер трека в альбоме, буквы в «Все треки» ---------- */
.dcr-h-num {
	flex: none;
	width: 22px;
	text-align: right;
	font-size: 13px;
	color: var(--dcr-muted);
	font-variant-numeric: tabular-nums;
}
.dcr .dcr-list > .dcr-letter {
	position: sticky;
	top: 0;
	z-index: 1;
	padding: 4px 18px;
	background: var(--dcr-page);
	border-bottom: 1px solid var(--dcr-line);
	font-size: 12px;
	font-weight: 600;
	color: var(--dcr-accent);
}

/* ---------- выдвижная панель «Все треки» ---------- */
.dcr-drawer[hidden] { display: none; }
.dcr-drawer {
	position: fixed;
	inset: 0;
	z-index: 100000;
}
.dcr-drawer-backdrop {
	position: absolute;
	inset: 0;
	background: rgba(0, 0, 0, .45);
	animation: dcr-fade .2s;
}
.dcr-drawer-box {
	position: absolute;
	top: 0;
	bottom: 0;
	right: 0;
	width: min(440px, 100%);
	display: flex;
	flex-direction: column;
	background: var(--dcr-bg);
	color: var(--dcr-text);
	box-shadow: 0 0 32px rgba(0, 0, 0, .35);
	animation: dcr-slide-right .22s ease-out;
}
.dcr-drawer-left .dcr-drawer-box { right: auto; left: 0; animation-name: dcr-slide-left; }
@keyframes dcr-fade { from { opacity: 0; } }
@keyframes dcr-slide-right { from { transform: translateX(100%); } }
@keyframes dcr-slide-left { from { transform: translateX(-100%); } }
@media (prefers-reduced-motion: reduce) {
	.dcr-drawer-box, .dcr-drawer-backdrop { animation: none; }
}
.dcr-drawer-head {
	display: flex;
	align-items: center;
	gap: 10px;
	padding: 14px 14px 10px 18px;
	border-bottom: 1px solid var(--dcr-line);
}
.dcr-drawer-main { display: flex; flex-direction: column; flex: 1; min-height: 0; }
.dcr-drawer-main[hidden] { display: none; }
.dcr-drawer-search { padding: 12px 18px 6px; }
.dcr .dcr-drawer-search input {
	width: 100%;
	margin: 0;
	padding: 9px 12px;
	border: 1px solid var(--dcr-line);
	border-radius: 10px;
	background: var(--dcr-page);
	color: var(--dcr-text);
	font: inherit;
	font-size: 15px;
	box-shadow: none;
}
.dcr .dcr-drawer-search input:focus { outline: 2px solid var(--dcr-accent); outline-offset: 0; border-color: transparent; }
.dcr-drawer-count { padding: 0 18px 8px; font-size: 13px; color: var(--dcr-muted); }
.dcr-drawer-body { flex: 1; min-height: 0; overflow-y: auto; overscroll-behavior: contain; }
.dcr-drawer-find[hidden] { display: none; }
.dcr-drawer-find .dcr-panel-head { padding: 12px 14px; border-bottom: 1px solid var(--dcr-line); }
.dcr-drawer-find .dcr-list { border-top: 0; }
.dcr .dcr-back { flex: none; }

/* ---------- вкладка «Альбомы» ---------- */
.dcr-albums {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(130px, 1fr));
	gap: 14px;
	padding: 0 18px;
}
.dcr-albums > .dcr-empty { grid-column: 1 / -1; padding: 18px 0; text-align: center; color: var(--dcr-muted); }
.dcr .dcr-album {
	display: flex;
	flex-direction: column;
	gap: 4px;
	min-width: 0;
	padding: 6px;
	border-radius: 12px;
}
.dcr .dcr-album:hover { background: var(--dcr-hover); }
.dcr-album-art {
	display: block;
	flex: none;
	width: 100%;
	aspect-ratio: 1;
	border-radius: 10px;
	background: var(--dcr-line) center / cover no-repeat;
	filter: var(--dcr-art-filter);
}
.dcr-album-title { font-weight: 600; font-size: 14px; line-height: 1.3; overflow-wrap: anywhere; }
.dcr-album-count { font-size: 13px; color: var(--dcr-muted); }
.dcr-album-nav { padding: 14px 18px 0; }
.dcr-album-head { display: flex; gap: 16px; align-items: flex-start; padding: 14px 18px; }
.dcr-album-head .dcr-album-art { width: 110px; }
.dcr-album-info { min-width: 0; flex: 1; }
.dcr-album-name { font-size: 18px; font-weight: 600; line-height: 1.3; }
.dcr-album-desc { margin: 4px 0; font-size: 14px; color: var(--dcr-muted); }
.dcr-view-albums .dcr-panel { margin-top: 0; margin-bottom: 14px; }

/* ---------- вкладка «Расписание» ---------- */
.dcr-schedule > .dcr-empty { padding: 18px; text-align: center; color: var(--dcr-muted); }
.dcr-days { display: flex; align-items: center; gap: 6px; padding: 0 18px 8px; }
.dcr-day-chips {
	display: flex;
	gap: 6px;
	flex: 1;
	min-width: 0;
	overflow-x: auto;
	scrollbar-width: none;
}
.dcr-day-chips::-webkit-scrollbar { display: none; }
.dcr .dcr-day {
	display: flex;
	flex-direction: column;
	align-items: center;
	flex: 1 0 auto;
	min-width: 58px;
	padding: 5px 8px;
	border: 1px solid var(--dcr-line);
	border-radius: 10px;
	color: var(--dcr-muted);
	text-align: center;
}
.dcr .dcr-day:hover { color: var(--dcr-text); border-color: var(--dcr-accent); }
.dcr .dcr-day[aria-pressed="true"] { background: var(--dcr-accent); border-color: var(--dcr-accent); color: var(--dcr-accent-text); }
.dcr-day-wd { font-size: 12px; text-transform: capitalize; }
.dcr-day-d { font-size: 13px; font-weight: 600; white-space: nowrap; }
.dcr .dcr-day-arrow:disabled { opacity: .35; cursor: default; }
.dcr-tz { padding: 2px 18px 8px; font-size: 12px; color: var(--dcr-muted); }

.dcr .dcr-list > .dcr-slot {
	display: flex;
	align-items: baseline;
	gap: 12px;
	padding: 9px 18px;
	border-bottom: 1px solid var(--dcr-line);
}
.dcr .dcr-list > .dcr-slot:last-child { border-bottom: 0; }
.dcr-slot-time { flex: none; width: 98px; font-variant-numeric: tabular-nums; font-size: 14px; color: var(--dcr-muted); }
.dcr-slot-text { flex: 1; min-width: 0; }
.dcr-slot-name { display: block; font-size: 15px; }
.dcr .dcr-slot-link { color: var(--dcr-text); text-decoration: underline; text-decoration-color: var(--dcr-line); text-underline-offset: 3px; }
.dcr .dcr-slot-link:hover { color: var(--dcr-accent); text-decoration-color: var(--dcr-accent); }
.dcr-slot-sub { display: block; font-size: 12px; color: var(--dcr-muted); }
.dcr .dcr-list > .dcr-slot { position: relative; }
.dcr-slot-time { white-space: nowrap; }
.dcr .dcr-list > .dcr-slot-nested { padding-left: 38px; }
.dcr-slot-nested::before { content: "↳"; position: absolute; left: 20px; top: 9px; color: var(--dcr-muted); }
.dcr-slot-past { opacity: .55; }
.dcr-slot-now { background: var(--dcr-hover); box-shadow: inset 3px 0 0 var(--dcr-accent); }
.dcr-slot-now .dcr-slot-time, .dcr-slot-now .dcr-slot-name { color: var(--dcr-accent); font-weight: 600; }
.dcr-slot-badge {
	flex: none;
	align-self: center;
	padding: 2px 8px;
	border-radius: 999px;
	background: var(--dcr-accent);
	color: var(--dcr-accent-text);
	font-size: 12px;
}

@media (max-width: 420px) {
	.dcr-tabs { order: 1; width: 100%; }
	.dcr .dcr-tabs .dcr-seg-btn { flex: 1; text-align: center; padding: 6px 8px; }
	.dcr-themes { order: 2; }
	.dcr .dcr-all .dcr-btn-text { display: none; }
	.dcr .dcr-all { width: 32px; padding: 0; }
	.dcr-albums { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; padding: 0 10px; }
	.dcr-album-head .dcr-album-art { width: 80px; }
	.dcr-days { padding-left: 10px; padding-right: 10px; }
	.dcr-slot-time { width: 86px; }
	.dcr .dcr-list > .dcr-slot { padding-left: 12px; padding-right: 12px; }
	.dcr .dcr-list > .dcr-slot-nested { padding-left: 28px; }
	.dcr-slot-nested::before { left: 12px; }
}

/* «Все треки» — заметнее остальных кнопок: акцентная рамка, текст и лёгкая заливка. */
.dcr .dcr-all {
	height: 34px;
	border-color: var(--dcr-accent);
	background: rgba(210, 69, 47, .08);
	background: color-mix(in srgb, var(--dcr-accent) 10%, transparent);
	color: var(--dcr-accent);
	font-weight: 600;
}
.dcr .dcr-all:hover, .dcr .dcr-all:focus {
	background: var(--dcr-accent);
	border-color: var(--dcr-accent);
	color: var(--dcr-accent-text);
}

/* Контраст (только мини-проигрыватель): чистый чёрный фон, белый текст, яркий акцент. */
.dcr-mini.dcr-theme-contrast {
	--dcr-page: #000000;
	--dcr-bg: #000000;
	--dcr-text: #ffffff;
	--dcr-muted: #d6d6d6;
	--dcr-line: #ffffff;
	--dcr-hover: #1c1c1c;
	--dcr-accent: #ffd400;
	--dcr-accent-text: #000000;
	--dcr-live: #3cff7a;
	--dcr-art-filter: none;
}

/* ---------- мини-проигрыватель одного трека (блок «Dead Cat: трек», шорткод [deadcat_track]) ---------- */
.dcr-mini {
	margin: 0 0 24px;
	color: var(--dcr-text);
	font-size: 16px;
	line-height: 1.45;
}
.dcr-mini *, .dcr-mini *::before, .dcr-mini *::after { box-sizing: border-box; }
.dcr-mini svg { width: 18px; height: 18px; fill: currentColor; flex: none; }
.dcr-mini button {
	margin: 0;
	padding: 0;
	border: 0;
	border-radius: 0;
	background: transparent;
	box-shadow: none;
	color: inherit;
	font: inherit;
	text-transform: none;
	letter-spacing: normal;
	min-height: 0;
	width: auto;
	cursor: pointer;
}
.dcr-mini button:hover, .dcr-mini button:focus { background: transparent; color: inherit; }
.dcr-mini button:focus-visible, .dcr-wave:focus-visible { outline: 2px solid var(--dcr-accent); outline-offset: 2px; }
.dcr-mini .dcr-i-pause { display: none; }
.dcr-mini-card {
	display: flex;
	align-items: center;
	gap: 14px;
	max-width: 680px;
	padding: 12px;
	background: var(--dcr-bg);
	border: 1px solid var(--dcr-line);
	border-radius: 16px;
	transition: border-color .15s;
}
.dcr-mini.dcr-playing .dcr-mini-card { border-color: var(--dcr-accent); }
.dcr-mini .dcr-mini-play { display: block; flex: none; border-radius: 10px; }
.dcr-mini .dcr-art { display: block; }
.dcr-mini-body { flex: 1; min-width: 0; }
.dcr-mini-title { font-weight: 600; font-size: 17px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.dcr-mini-artist { color: var(--dcr-muted); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.dcr-wave {
	position: relative;
	height: 44px;
	margin-top: 6px;
	cursor: pointer;
	touch-action: none;
	border-radius: 4px;
}
.dcr-wave canvas { display: block; width: 100%; height: 100%; }
.dcr-mini-time {
	display: flex;
	justify-content: space-between;
	font-size: 12px;
	color: var(--dcr-muted);
	font-variant-numeric: tabular-nums;
}
.dcr-mini-error { color: var(--dcr-accent); }
@media (max-width: 420px) {
	.dcr-mini-card { gap: 10px; padding: 10px; }
	.dcr-mini .dcr-art { width: 64px; height: 64px; }
}

/* Переключатель вида волны в мини-проигрывателе: столбики / линия / осциллоскоп. */
.dcr-mini-time { align-items: center; margin-top: 2px; }
.dcr-looks { display: inline-flex; gap: 2px; }
.dcr-mini .dcr-look {
	display: grid;
	place-items: center;
	width: 26px;
	height: 22px;
	border-radius: 6px;
	color: var(--dcr-muted);
	opacity: .7;
}
.dcr-mini .dcr-look svg { width: 16px; height: 16px; }
.dcr-mini .dcr-look svg.dcr-stroke { fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; }
.dcr-mini .dcr-look:hover { opacity: 1; color: var(--dcr-text); }
.dcr-mini .dcr-look[aria-pressed="true"] { opacity: 1; color: var(--dcr-accent); background: var(--dcr-hover); }

/* Переключатель темы мини-проигрывателя — в правом верхнем углу карточки. */
.dcr-mini-card { position: relative; }
.dcr-mini-body { padding-right: 84px; }
.dcr-mini-themes {
	position: absolute;
	top: 8px;
	right: 8px;
	display: inline-flex;
	gap: 2px;
	padding: 2px;
	border: 1px solid var(--dcr-line);
	border-radius: 999px;
}
.dcr-mini .dcr-mini-theme {
	display: grid;
	place-items: center;
	width: 24px;
	height: 22px;
	border-radius: 999px;
	color: var(--dcr-muted);
}
.dcr-mini .dcr-mini-theme svg { width: 14px; height: 14px; }
.dcr-mini .dcr-mini-theme:hover { color: var(--dcr-text); }
.dcr-mini .dcr-mini-theme[aria-pressed="true"] { background: var(--dcr-accent); color: var(--dcr-accent-text); }
/* Волна и время — на всю ширину, отступ только у названия. */
.dcr-mini-body .dcr-wave, .dcr-mini-body .dcr-mini-time { margin-right: -84px; }

/* ---------- страница песни (блок «Dead Cat: песня») — оформление в основном от темы сайта ---------- */
.dcr-song { margin: 0 0 32px; }
.dcr-song-intro { margin: 0 0 20px; }
.dcr-song .dcr-song-h { margin: 28px 0 12px; }
.dcr-song-players .dcr-mini { margin: 0 0 12px; }
.dcr-song-lyrics { line-height: 1.7; white-space: normal; }
.dcr-song-missing { padding: 12px 16px; border-left: 3px solid #d2452f; }

/* Список песен (блок «Dead Cat: список песен») для раздела «Музыка» — в стиле радио, строки-ссылки. */
.dcr-songlist .dcr-songlist-items { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: 0; }
.dcr-songlist .dcr-list > .dcr-letter { grid-column: 1 / -1; position: static; }
.dcr-songlist a.dcr-row-play { color: inherit; text-decoration: none; box-shadow: none; }
.dcr-songlist a.dcr-row-play:hover .dcr-h-title { color: var(--dcr-accent); }
.dcr-songlist .dcr-list > .dcr-row:last-child { border-bottom: 1px solid var(--dcr-line); }
@media (max-width: 640px) { .dcr-songlist .dcr-songlist-items { grid-template-columns: minmax(0, 1fr); } }

/* Скрыто визуально, но доступно поисковикам и программам чтения с экрана. */
.dcr-sr-only { position: absolute !important; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0; }
.dcr a.dcr-btn { text-decoration: none; box-shadow: none; }
.dcr .dcr-btn[hidden] { display: none; }
