/* Clock Radio Library: publication archive, existing categories as source. */
.cr-library { min-height: 64vh; background: var(--cr-bg); color: var(--cr-ink); }
.cr-library__inner { max-width: 1420px; padding: clamp(32px,5vw,76px) 24px 85px; margin: auto; }
.cr-library__intro { max-width: 920px; margin-bottom: clamp(40px,5vw,72px); }
.cr-library__intro h1 { max-width: 900px; margin: 12px 0 18px; color: var(--cr-ink); font: 500 clamp(48px,6.1vw,92px)/1 var(--cr-serif); letter-spacing: -.05em; }
.cr-library__intro > p:last-child { max-width: 670px; color: var(--cr-muted); font: 400 clamp(19px,2vw,25px)/1.4 var(--cr-serif); }
.cr-library__section { margin-top: 50px; }
.cr-library__section-head { margin-bottom: 18px; padding: 0 0 14px; border-bottom: 1px solid var(--cr-line); }
.cr-library__section-head h2 { color: var(--cr-ink); font: 500 clamp(33px,4vw,50px)/1.09 var(--cr-serif); margin: 6px 0 4px; }
.cr-library__section-head p:last-child { color: var(--cr-muted); font: 400 17px/1.45 var(--cr-serif); }
.cr-library__grid { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: clamp(14px,2.3vw,32px); }
.cr-library__entry { min-width: 0; }
.cr-library__cover {
	aspect-ratio: 3/4;
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	padding: clamp(15px,2vw,31px);
	position: relative;
	overflow: hidden;
	background: var(--cr-subtle-surface);
	color: var(--cr-ink) !important;
	border: 1px solid var(--cr-line);
	text-decoration: none !important;
	transition: background .16s ease, transform .16s ease;
}
.cr-library__entry:nth-child(4n+2) .cr-library__cover { background: var(--cr-surface); }
.cr-library__entry:nth-child(4n+3) .cr-library__cover { background: var(--cr-header); }
.cr-library__cover::after { content: ""; position: absolute; left: 0; right: 0; bottom: 17%; border-top: 1px solid var(--cr-line); }
.cr-library__cover:hover { transform: translateY(-3px); border-color: var(--cr-accent); }
.cr-library__cover-mark { color: var(--cr-accent); font: 800 clamp(26px,3vw,44px)/1 var(--cr-led); letter-spacing: -.05em; }
.cr-library__cover-title { color: var(--cr-ink); font: 500 clamp(62px,7vw,111px)/1 var(--cr-serif); letter-spacing: -.07em; }
.cr-library__cover-title--long { font-size: clamp(29px,3.4vw,51px); line-height: 1.06; letter-spacing: -.045em; overflow-wrap: anywhere; }
.cr-library__cover:focus-visible, .cr-library__caption a:focus-visible { outline: 3px solid var(--cr-accent); outline-offset: 3px; }
.cr-library__cover-bottom { display: flex; justify-content: space-between; gap: 8px; font: 600 clamp(8px,.84vw,11px)/1.35 var(--cr-mono); letter-spacing: .03em; text-transform: uppercase; }
.cr-library__cover-bottom span { color: var(--cr-accent); }
.cr-library__caption { padding: 13px 1px; }
.cr-library__caption h3 { margin: 0 0 3px; color: var(--cr-ink); font: 500 clamp(23px,2.1vw,34px)/1.1 var(--cr-serif); }
.cr-library__caption h3 a { color: inherit; text-decoration: none; }
.cr-library__caption h3 a:hover { color: var(--cr-accent); }
.cr-library__caption p { color: var(--cr-muted); font: 500 11px/1.45 var(--cr-mono); margin: 2px 0; }
@media (max-width: 940px) { .cr-library__grid { grid-template-columns: repeat(3,minmax(0,1fr)); } .cr-library__cover-title { font-size: clamp(54px,8vw,87px); } }
@media (max-width: 630px) { .cr-library__grid { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 13px; } .cr-library__inner { padding-inline: 14px; } .cr-library__cover-title { font-size: 57px; } .cr-library__cover-title--long { font-size: clamp(25px,5vw,37px); } }
@media (max-width: 360px) { .cr-library__cover { padding: 12px; } .cr-library__cover-title { font-size: 45px; } }
@media (prefers-reduced-motion:reduce) { .cr-library__cover { transition: none; } }
