/*
* L4NC3 Sounds (2026)
* Year-by-year track list, modelled on the track archive's year view.
* Tracks on SoundCloud are active chips; unreleased tracks are subdued.
* Filters live in the dark header band (right column).
*/

:root {
	--snd-accent: #ff5500;
	--snd-accent-on-light: #b34700;
	--snd-label: "Cabin", "Segoe UI", system-ui, sans-serif;
}

/* #Filters (dark band)
================================================== */

.sound-filters { margin: 4px 0 0; }
.sound-filters[hidden] { display: none; }

.sf-field { margin: 0 0 12px; }
.sf-field label,
.sf-toggle {
	display: block;
	margin: 0 0 6px;
	font: 500 11px/1 var(--snd-label);
	letter-spacing: .14em;
	text-transform: uppercase;
	color: #b4b4b4;
	text-shadow: none;
}
.sound-filters input[type="search"],
.sound-filters select {
	display: block;
	width: 100%;
	box-sizing: border-box;
	margin: 0;
	padding: 8px 10px;
	font: 400 14px/1.3 var(--snd-label);
	color: #f2f2f2;
	background: rgba(0, 0, 0, 0.35);
	border: 1px solid #5a5a5a;
	border-radius: 2px;
	box-shadow: none;
	-webkit-appearance: none;
	appearance: none;
}
.sound-filters select {
	padding-right: 30px;
	background-image: linear-gradient(45deg, transparent 50%, #b4b4b4 50%), linear-gradient(135deg, #b4b4b4 50%, transparent 50%);
	background-position: calc(100% - 16px) 50%, calc(100% - 11px) 50%;
	background-size: 5px 5px, 5px 5px;
	background-repeat: no-repeat;
}
.sound-filters select option { color: #111; }
.sound-filters input[type="search"]::placeholder { color: #8a8a8a; }
.sound-filters input:focus,
.sound-filters select:focus { outline: none; border-color: var(--snd-accent); }

.sf-toggle {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	margin: 4px 0 12px;
	cursor: pointer;
	color: #dedede;
}
.sf-toggle input {
	width: 16px;
	height: 16px;
	margin: 0;
	accent-color: var(--snd-accent);
	cursor: pointer;
}
.sf-toggle input:focus-visible { outline: 2px solid var(--snd-accent); outline-offset: 2px; }

#wrapper_top .sf-count {
	margin: 0 0 26px;            /* breathing room above the dark/light edge */
	font: 500 12px/1.4 var(--snd-label);
	letter-spacing: .06em;
	color: #b4b4b4;
}

/* #Year groups
================================================== */

.year-group { margin: 0 0 34px; }
.year-group[hidden] { display: none; }
.year-group h3 {
	display: flex;
	align-items: baseline;
	flex-wrap: wrap;
	gap: 4px 12px;
	margin: 0 0 14px;
	padding-bottom: 6px;
	border-bottom: 1px dashed #bdbdbd;
	font-family: "Play", "Cabin", sans-serif;
	font-size: 26px;
	line-height: 1.1;
	color: #1c1c1c;
}
.year-count {
	font: 500 11px/1 var(--snd-label);
	letter-spacing: .14em;
	text-transform: uppercase;
	color: #5a5a5a;
}

.chips {
	list-style: none;
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin: 0;
	padding: 0;
}
.chips li { margin: 0; }
.chips li[hidden] { display: none; }

/* shared chip shape */
.chip {
	display: inline-flex;
	align-items: center;
	gap: 7px;
	padding: 5px 11px;
	font: 500 14px/1.4 var(--snd-label);
	border-radius: 2px;
}

/* on SoundCloud: bright, clickable */
#wrapper_bottom a.chip.on,
#wrapper_bottom a.chip.on:visited {
	margin: 0;
	color: #1c1c1c;
	background: #f6f6f6;
	border: 1px solid #b4b4b4;
	text-decoration: none;
	box-shadow: 0 1px 2px rgba(0, 0, 0, 0.08);
	transition: border-color .15s ease, color .15s ease, box-shadow .15s ease;
}
.chip.on::before {               /* small orange play mark */
	content: "";
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 4.5px 0 4.5px 7px;
	border-color: transparent transparent transparent var(--snd-accent);
}
#wrapper_bottom a.chip.on:hover {
	color: #000;
	background: #fff;
	border-color: var(--snd-accent);
	text-decoration: none;
	box-shadow: 0 2px 6px rgba(0, 0, 0, 0.12);
}
#wrapper_bottom a.chip.on:focus-visible {
	outline: 2px solid var(--snd-accent-on-light);
	outline-offset: 2px;
}

/* not released: subdued, not clickable */
.chip.off {
	color: #666;
	background: transparent;
	border: 1px dashed #bdbdbd;
	cursor: default;
}

.sounds-empty {
	margin: 10px 0 30px;
	font: 500 13px/1.5 var(--snd-label);
	letter-spacing: .04em;
	color: #5a5a5a;
}
.sounds-empty[hidden] { display: none; }

.sounds-legend {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 8px 16px;
	margin: 0 0 26px;
	font: 500 11px/1 var(--snd-label);
	letter-spacing: .12em;
	text-transform: uppercase;
	color: #5a5a5a;
}
.sounds-legend .chip { font-size: 12px; letter-spacing: 0; text-transform: none; padding: 3px 9px; }
.sounds-legend span.chip.on {
	color: #1c1c1c;
	background: #f6f6f6;
	border: 1px solid #b4b4b4;
}

@media only screen and (max-width: 767px) {
	.chip { font-size: 13px; padding: 5px 9px; }
	.year-group h3 { font-size: 22px; }
}
