.ppcc-library {
	--ppcc-library-gap: 1rem;
	--ppcc-library-gap-small: 0.5rem;
	--ppcc-library-gap-large: 1.5rem;
	--ppcc-library-measure: 72ch;
	--ppcc-library-border-width: 1px;
	--ppcc-library-radius: 0.25rem;
	--ppcc-library-hairline: 1px solid color-mix(in srgb, currentColor 14%, transparent);
}

.ppcc-library,
.ppcc-library * {
	box-sizing: border-box;
}

.ppcc-library {
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	gap: var(--ppcc-library-gap-large);
	max-width: var(--ppcc-library-measure);
	margin-inline: auto;
}

/* P1.3: use the full content column on desktop; the 72ch measure stays for narrow screens. */
@media (min-width: 64rem) {
	.ppcc-library {
		max-width: 100%;
	}
}

/* Years row: one-row clamp + More/Fewer toggle (Russ 2026-06-10). */
.ppcc-library .ppcc-library-year-chips{display:grid;gap:var(--ppcc-library-gap-small);justify-items:start;}
.ppcc-library .ppcc-library-year-chips-row{display:flex;flex-wrap:wrap;align-items:center;gap:var(--ppcc-library-gap-small);}
.ppcc-library .ppcc-library-years-toggle{color:inherit;font:inherit;font-size:13px;padding:3px 12px;border:var(--ppcc-library-hairline);border-radius:999px;background:transparent;cursor:pointer;}
.ppcc-library .ppcc-library-js-hidden{display:none;}

/* P1.1: sort control in the status row. */
.ppcc-library .ppcc-library-sort-control{display:flex;align-items:center;gap:8px;margin:0;font-size:13px;}
.ppcc-library .ppcc-library-sort-control select{color:inherit;font:inherit;font-size:13px;padding:4px 8px;border:var(--ppcc-library-border-width) solid currentColor;border-radius:var(--ppcc-library-radius);background:transparent;}

/* UX.4: human-readable filter chips. */
.ppcc-library .ppcc-library-active-filters{display:flex;flex-wrap:wrap;align-items:center;gap:var(--ppcc-library-gap-small);margin:0;}
.ppcc-library .ppcc-library-filter-chip{display:inline-flex;align-items:center;gap:6px;padding:3px 10px;border:var(--ppcc-library-hairline);border-radius:999px;font-size:13px;}
.ppcc-library .ppcc-library-filter-chip a{text-decoration:none;font-weight:700;line-height:1;}
.ppcc-library .ppcc-library-clear-all{font-size:13px;}

/* P1.2: page jump. */
.ppcc-library .ppcc-library-page-jump{display:flex;flex-wrap:nowrap;align-items:center;gap:8px;margin-block-start:var(--ppcc-library-gap-small);font-size:13px;white-space:nowrap;}
.ppcc-library .ppcc-library-page-jump input[type="number"]{width:5.5em;padding:4px 8px;border:var(--ppcc-library-border-width) solid currentColor;border-radius:var(--ppcc-library-radius);font:inherit;}
.ppcc-library .ppcc-library-page-jump button{color:inherit;font:inherit;font-size:13px;padding:4px 12px;border:var(--ppcc-library-border-width) solid currentColor;border-radius:var(--ppcc-library-radius);background:transparent;cursor:pointer;}

/* P0.6: readable document text. */
.ppcc-library .ppcc-library-document-text-body{display:grid;gap:0.7em;max-width:72ch;}
.ppcc-library .ppcc-library-document-text-body p{margin:0;line-height:1.55;overflow-wrap:anywhere;}
.ppcc-library .ppcc-library-text-heading{margin-block-start:0.4em;}
.ppcc-library .ppcc-library-text-more summary{cursor:pointer;font-weight:600;margin-block:var(--ppcc-library-gap-small);}

/* P0.5: copy-link actions on the detail view. */
.ppcc-library .ppcc-library-copy-actions{display:flex;flex-wrap:wrap;gap:var(--ppcc-library-gap-small);margin:0;}
.ppcc-library .ppcc-library-copy{color:inherit;font:inherit;font-size:13px;padding:6px 12px;border:var(--ppcc-library-border-width) solid currentColor;border-radius:var(--ppcc-library-radius);background:transparent;cursor:pointer;}
.ppcc-library .ppcc-library-copy:hover{background:color-mix(in srgb, currentColor 8%, transparent);}
.ppcc-library .ppcc-library-copy.ppcc-library-copied{background:color-mix(in srgb, currentColor 14%, transparent);}

.ppcc-library :where(a, button, input, select):focus-visible {
	outline: max(2px, 0.125rem) solid currentColor;
	outline-offset: 0.2em;
}

.ppcc-library :where(input, select, button) {
	max-width: 100%;
	font: inherit;
}

.ppcc-library :where(form, .ppcc-library-status, .ppcc-library-browse-status, .ppcc-library-document-meta) {
	display: grid;
	gap: var(--ppcc-library-gap-small);
}

.ppcc-library :where(.ppcc-library-search-form, .ppcc-library-date-browse-form) {
	align-items: end;
}

.ppcc-library :where(.ppcc-library-results, .ppcc-library-browse-results, .ppcc-library-browse-nav ul, .ppcc-library-taxonomy-path) {
	display: grid;
	gap: var(--ppcc-library-gap-small);
	padding-inline-start: 1.25em;
}

.ppcc-library :where(.ppcc-library-browse-results > li, .ppcc-library-document-detail article) {
	border: var(--ppcc-library-border-width) solid currentColor;
	border-radius: var(--ppcc-library-radius);
	padding: var(--ppcc-library-gap);
}

.ppcc-library :where(.ppcc-library-browse-nav, .ppcc-library-pagination, .ppcc-library-browse-pagination) {
	display: grid;
	gap: var(--ppcc-library-gap);
}

.ppcc-library :where(.ppcc-library-document-text-body, .ppcc-library-result-snippet, .ppcc-library-source-link) {
	overflow-wrap: anywhere;
}

.ppcc-library :where(.ppcc-library-document-meta) {
	grid-template-columns: minmax(0, 1fr);
}

.ppcc-library :where(.ppcc-library-document-meta dt) {
	font-weight: 700;
}

@media (min-width: 40rem) {
	.ppcc-library :where(.ppcc-library-search-form, .ppcc-library-date-browse-form) {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.ppcc-library :where(.ppcc-library-document-meta) {
		grid-template-columns: max-content minmax(0, 1fr);
	}
}

/* Build 1: basic/advanced search layout */
.ppcc-library-visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0;}
.ppcc-library .ppcc-library-search-form{grid-template-columns:minmax(0,1fr);}
.ppcc-library .ppcc-library-search-basic,
.ppcc-library .ppcc-library-advanced-fields{border:0;margin:0;padding:0;min-inline-size:0;display:grid;gap:var(--ppcc-library-gap-small);}
.ppcc-library .ppcc-library-advanced>summary{cursor:pointer;font-weight:600;padding-block:var(--ppcc-library-gap-small);}
.ppcc-library .ppcc-library-advanced[open]>summary{margin-block-end:var(--ppcc-library-gap-small);}
@media (min-width:40rem){
  .ppcc-library .ppcc-library-search-basic,
  .ppcc-library .ppcc-library-advanced-fields{grid-template-columns:repeat(2,minmax(0,1fr));align-items:end;}
}

.ppcc-library .ppcc-library-pagination ul{display:flex;flex-wrap:wrap;gap:var(--ppcc-library-gap-small);list-style:none;padding:0;margin:0;}
.ppcc-library .ppcc-library-page-current{font-weight:700;}

.ppcc-library .ppcc-library-result-snippet mark{font-weight:700;}

/* Build W3.1: result-card redesign (Ken K2.1 no-bullet/tight padding · K2.2 thumbnail · K2.3 title · K2.8 type scale + 2-line clamp).
   Type scale in px (not rem): the active theme uses a 10px root (62.5% trick), so rem would halve Ken's targets. */
.ppcc-library .ppcc-library-results{list-style:none;padding-inline-start:0;}
/* DOCS-4: result rows are borderless — a hairline divider separates them (no card box). */
.ppcc-library .ppcc-library-result{padding:12px 0;border:0;border-block-end:var(--ppcc-library-hairline);border-radius:0;}
.ppcc-library .ppcc-library-result:last-child{border-block-end:0;}
.ppcc-library .ppcc-library-result-card{display:flex;gap:12px;align-items:flex-start;justify-content:space-between;}
.ppcc-library .ppcc-library-result-body{min-width:0;display:grid;gap:4px;}
.ppcc-library .ppcc-library-result-title{margin:0;font-size:18px;line-height:1.3;font-weight:600;overflow-wrap:anywhere;}
.ppcc-library .ppcc-library-result-title a{text-decoration:none;}
.ppcc-library .ppcc-library-result-title a:hover,.ppcc-library .ppcc-library-result-title a:focus-visible{text-decoration:underline;}
.ppcc-library .ppcc-library-result-meta{margin:0;font-size:13px;line-height:1.4;opacity:0.92;}
.ppcc-library .ppcc-library-result-snippet{margin:0;font-size:15px;line-height:1.5;display:-webkit-box;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;}
.ppcc-library .ppcc-library-result-thumb{flex:0 0 auto;display:flex;align-items:center;justify-content:center;width:72px;height:72px;border:var(--ppcc-library-hairline);border-radius:var(--ppcc-library-radius);overflow:hidden;text-decoration:none;}
.ppcc-library .ppcc-library-result-thumb img{display:block;width:100%;height:100%;object-fit:cover;}
.ppcc-library .ppcc-library-result-thumb.is-placeholder{padding:5px;}
.ppcc-library .ppcc-library-thumb-type{font-size:11px;line-height:1.2;font-weight:600;text-align:center;text-transform:uppercase;letter-spacing:0.02em;opacity:0.95;overflow-wrap:anywhere;}

/* Build W3.2: thin detail page (Ken K3.1 thumbnail + prominent View-document button) */
.ppcc-library .ppcc-library-document-thumb{margin:0;display:flex;align-items:center;justify-content:center;width:150px;min-height:150px;border:var(--ppcc-library-border-width) solid currentColor;border-radius:var(--ppcc-library-radius);overflow:hidden;}
.ppcc-library .ppcc-library-document-thumb img{display:block;width:100%;height:auto;}
.ppcc-library .ppcc-library-document-thumb.is-placeholder{padding:10px;}
.ppcc-library .ppcc-library-view-document{display:inline-block;padding:9px 18px;border:var(--ppcc-library-border-width) solid currentColor;border-radius:var(--ppcc-library-radius);font-size:15px;font-weight:600;text-decoration:none;}
.ppcc-library .ppcc-library-view-document:hover,.ppcc-library .ppcc-library-view-document:focus-visible{text-decoration:underline;}

/* Build W3.3: accessible combobox (Ken K1.5 custom dropdown styling + K1.6 type-to-filter the doc-type list).
   No-JS fallback: the native <select> stays visible (the .ppcc-combobox-native hide is only applied by JS). */
.ppcc-library .ppcc-combobox{position:relative;}
.ppcc-library .ppcc-combobox-native{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0;}
.ppcc-library .ppcc-combobox-trigger{display:flex;align-items:center;justify-content:space-between;gap:8px;width:100%;text-align:start;padding:7px 10px;border:var(--ppcc-library-border-width) solid currentColor;border-radius:var(--ppcc-library-radius);background:transparent;cursor:pointer;font:inherit;}
.ppcc-library .ppcc-combobox-trigger::after{content:"";flex:0 0 auto;width:0;height:0;border-inline:5px solid transparent;border-block-start:6px solid currentColor;margin-inline-start:8px;}
.ppcc-library .ppcc-combobox-trigger[aria-expanded="true"]::after{transform:rotate(180deg);}
.ppcc-library .ppcc-combobox-popup{position:absolute;z-index:30;inset-inline:0;margin-block-start:3px;border:var(--ppcc-library-border-width) solid currentColor;border-radius:var(--ppcc-library-radius);background:Canvas;box-shadow:0 4px 16px rgba(0,0,0,0.15);}
.ppcc-library .ppcc-combobox-search{width:100%;padding:7px 10px;border:0;border-block-end:var(--ppcc-library-border-width) solid currentColor;background:transparent;font:inherit;}
.ppcc-library .ppcc-combobox-listbox{list-style:none;margin:0;padding:4px;max-height:260px;overflow-y:auto;display:grid;gap:2px;}
.ppcc-library .ppcc-combobox-option{padding:6px 8px;border-radius:var(--ppcc-library-radius);cursor:pointer;}
.ppcc-library .ppcc-combobox-option[aria-selected="true"]{font-weight:600;}
.ppcc-library .ppcc-combobox-option.is-active{outline:2px solid currentColor;outline-offset:-2px;}

/* Build W4: discovery — category browse (Ken K1.3 expandable parents + counts), recently-added (K1.4), topic pills (K3.8) */
.ppcc-library .ppcc-library-category-list{list-style:none;padding-inline-start:0;display:grid;gap:4px;}
.ppcc-library .ppcc-library-category>details>summary{cursor:pointer;padding:6px 4px;font-size:15px;}
.ppcc-library .ppcc-library-category-children{list-style:none;margin:4px 0 8px;padding-inline-start:18px;display:grid;gap:3px;}
.ppcc-library .ppcc-library-count{opacity:0.6;font-size:13px;}
.ppcc-library .ppcc-library-recently-added{margin-block-start:var(--ppcc-library-gap);}
.ppcc-library .ppcc-library-recent-list{list-style:none;padding-inline-start:0;display:grid;gap:6px;}
.ppcc-library .ppcc-library-recent-list>li{display:flex;flex-wrap:wrap;gap:4px 10px;align-items:baseline;}
.ppcc-library .ppcc-library-recent-meta{opacity:0.7;font-size:13px;}
.ppcc-library .ppcc-library-taxonomy-path{list-style:none;padding-inline-start:0;display:flex;flex-wrap:wrap;gap:6px;}
.ppcc-library .ppcc-library-topic-pill{display:inline-block;padding:3px 10px;border:var(--ppcc-library-border-width) solid currentColor;border-radius:999px;font-size:13px;text-decoration:none;}
.ppcc-library a.ppcc-library-topic-pill:hover,.ppcc-library a.ppcc-library-topic-pill:focus-visible{text-decoration:underline;}

/* Build W6 (search-first UX): prominent search bar + single Filters disclosure + demoted topic pills. Palette-free — borders + currentColor only. */
.ppcc-library .ppcc-library-searchbar{display:flex;gap:var(--ppcc-library-gap-small);align-items:stretch;min-width:0;}
.ppcc-library .ppcc-library-searchbar .ppcc-library-field-q{flex:1 1 auto;margin:0;min-width:0;}
.ppcc-library .ppcc-library-searchbar input[type="search"]{width:100%;min-width:0;padding:11px 13px;border:var(--ppcc-library-border-width) solid currentColor;border-radius:var(--ppcc-library-radius);}
.ppcc-library .ppcc-library-search-submit{flex:0 0 auto;padding:0 22px;border:var(--ppcc-library-border-width) solid currentColor;border-radius:var(--ppcc-library-radius);background:transparent;cursor:pointer;font-weight:600;}
.ppcc-library .ppcc-library-search-spinner{display:none;flex:0 0 auto;align-self:center;width:1em;height:1em;border:2px solid currentColor;border-block-start:2px solid transparent;border-radius:50%;vertical-align:middle;}
.ppcc-library .ppcc-library-search-form.is-loading .ppcc-library-search-spinner{display:inline-block;animation:ppcc-library-spin 0.6s linear infinite;}
@keyframes ppcc-library-spin{to{transform:rotate(360deg);}}
@media (prefers-reduced-motion:reduce){.ppcc-library .ppcc-library-search-form.is-loading .ppcc-library-search-spinner{animation-duration:1.6s;}}
.ppcc-library .ppcc-library-filters{min-width:0;border:var(--ppcc-library-border-width) solid currentColor;border-radius:var(--ppcc-library-radius);}
.ppcc-library .ppcc-library-filters>summary{cursor:pointer;font-weight:600;padding:9px 13px;}
.ppcc-library .ppcc-library-filters[open]>summary{border-block-end:var(--ppcc-library-border-width) solid currentColor;}
.ppcc-library .ppcc-library-filters-fields{display:grid;gap:var(--ppcc-library-gap-small);padding:13px;}
.ppcc-library .ppcc-library-filters-fields .ppcc-library-field{min-width:0;margin:0;}
.ppcc-library .ppcc-library-filters-actions{display:flex;flex-wrap:wrap;gap:var(--ppcc-library-gap);align-items:center;}
@media (min-width:40rem){.ppcc-library .ppcc-library-filters-fields{grid-template-columns:repeat(2,minmax(0,1fr));align-items:end;}.ppcc-library .ppcc-library-filters-actions{grid-column:1 / -1;}}
@media (max-width:30rem){.ppcc-library .ppcc-library-searchbar{flex-direction:column;}.ppcc-library .ppcc-library-search-submit{padding:11px;}}
.ppcc-library .ppcc-library-browse-all{margin-block-start:var(--ppcc-library-gap);}
.ppcc-library .ppcc-library-browse-all>summary{cursor:pointer;font-weight:600;padding-block:var(--ppcc-library-gap-small);}
.ppcc-library .ppcc-library-pill-cloud{display:flex;flex-wrap:wrap;gap:8px;padding-block-start:var(--ppcc-library-gap-small);}
.ppcc-library .ppcc-library-pill-cloud .ppcc-library-topic-pill{font-size:14px;padding:5px 12px;}

/* Build 0.4.0 (round-2 /documents polish, RESULT-20260605-000017):
   DOCS-4 borderless result rows + hairline divider · DOCS-5 title+type+date on one head line + compact rows + fixed thumb box (CLS) ·
   DOCS-6 detail summary block · pagination ellipsis + touch padding. Palette-free — currentColor + color-mix only. */
.ppcc-library .ppcc-library-result-head{display:flex;flex-wrap:wrap;gap:4px 10px;align-items:baseline;}
.ppcc-library .ppcc-library-result-head .ppcc-library-result-title{flex:1 1 auto;min-width:0;}
.ppcc-library .ppcc-library-result-type{flex:0 0 auto;font-size:12px;padding:2px 9px;}
.ppcc-library .ppcc-library-result-date{flex:0 0 auto;font-size:13px;line-height:1.4;opacity:0.92;white-space:nowrap;}
.ppcc-library .ppcc-library-result-topics{display:flex;flex-wrap:wrap;gap:4px 8px;margin-block-start:6px;}
.ppcc-library .ppcc-library-result-topics .ppcc-library-topic-pill{font-size:12px;padding:2px 9px;}
.ppcc-library .ppcc-library-page-gap{padding:0 4px;opacity:0.6;}
.ppcc-library .ppcc-library-pagination a,.ppcc-library .ppcc-library-pagination .ppcc-library-page-current{display:inline-block;padding:4px 9px;border-radius:var(--ppcc-library-radius);text-decoration:none;}
.ppcc-library .ppcc-library-pagination a:hover,.ppcc-library .ppcc-library-pagination a:focus-visible{text-decoration:underline;}
.ppcc-library .ppcc-library-document-summary{margin-block-start:var(--ppcc-library-gap);}
.ppcc-library .ppcc-library-document-summary h3{margin:0 0 var(--ppcc-library-gap-small);font-size:16px;}
.ppcc-library .ppcc-library-document-summary p{margin:0;line-height:1.6;overflow-wrap:anywhere;}
.ppcc-library .ppcc-library-document-text{margin-block-start:var(--ppcc-library-gap);}
.ppcc-library .ppcc-library-document-text h3{margin:0 0 var(--ppcc-library-gap-small);font-size:16px;}
.ppcc-library .ppcc-library-document-text-body{line-height:1.6;overflow-wrap:anywhere;}

/* Build 0.4.1 (filter-panel polish): DOCS-2 visible filter fields (the combobox trigger is a
   <div role=button> inheriting the content color — the theme paints <button> text white — plus a
   consistent field box for every filter control) · DOCS-3 date trio on one row · Usability-5
   from>to guard message. Palette-free — currentColor + system Field color only. */
.ppcc-library .ppcc-combobox-trigger{background:Field;}
.ppcc-library .ppcc-combobox-trigger:focus-visible{outline:max(2px,0.125rem) solid currentColor;outline-offset:0.2em;}
.ppcc-library .ppcc-library-filters select,
.ppcc-library .ppcc-library-filters input[type="date"]{border:var(--ppcc-library-border-width) solid currentColor;border-radius:var(--ppcc-library-radius);padding:7px 10px;background:Field;}
.ppcc-library .ppcc-library-filters-dates{display:grid;gap:var(--ppcc-library-gap-small);min-width:0;}
.ppcc-library .ppcc-library-date-warning{font-weight:600;border-inline-start:3px solid currentColor;padding-inline-start:var(--ppcc-library-gap-small);}
@media (min-width:40rem){.ppcc-library .ppcc-library-filters-dates{grid-column:1 / -1;grid-template-columns:repeat(3,minmax(0,1fr));align-items:end;}}

/* Build 0.4.5: public builder attribution. Palette-free — currentColor only. */
.ppcc-library .ppcc-library-credit{margin-block-start:var(--ppcc-library-gap-large);padding-block-start:var(--ppcc-library-gap);border-block-start:var(--ppcc-library-border-width) solid currentColor;font-size:13px;text-align:center;opacity:0.72;}
.ppcc-library .ppcc-library-credit a{text-decoration:underline;}

/* Build 0.5.3: Beaver Builder theme adoption (typography · color · spacing).
   Supersedes the original "palette-free / inherit everything" rule now that the host theme is known
   (staging26 Beaver Builder). Adopt the host theme's OWN design tokens (--fl-global-*, --wp--preset--*)
   with PPCC-brand fallbacks, so the library reads as native (gold CTA pills, blue links, Montserrat /
   Plus Jakarta Sans) and still degrades gracefully where the tokens are absent. Every color routes
   through a var() token — enforced by tests/structural-checks.sh. */
.ppcc-library{
  --ppcc-accent:            var(--fl-global-button-background, #f6d236);
  --ppcc-accent-ink:        var(--fl-global-button-color, #0c0c0c);
  --ppcc-accent-hover:      var(--fl-global-button-hover-background, #004b7a);
  --ppcc-accent-hover-ink:  var(--fl-global-button-hover-color, #ffffff);
  --ppcc-link:              var(--fl-global-link-color, #004b7a);
  --ppcc-link-hover:        var(--fl-global-link-hover-color, #f6d236);
  --ppcc-heading-ink:       var(--wp--preset--color--fl-heading-text, #0c0c0c);
  --ppcc-pill-radius:       var(--fl-global-button-border-top-left-radius, 50px);
  --ppcc-btn-font:          var(--fl-global-button-font-family, "Montserrat", system-ui, sans-serif);
  --ppcc-btn-weight:        var(--fl-global-button-font-weight, 700);
  --ppcc-btn-size:          var(--fl-global-button-font-size, 13px);
  --ppcc-btn-tracking:      var(--fl-global-button-letter-spacing, 1px);
  --ppcc-btn-transform:     var(--fl-global-button-text-transform, uppercase);
}

/* Primary CTAs -> the site's gold pill (search + apply-filters + view-document) */
.ppcc-library .ppcc-library-search-submit,
.ppcc-library .ppcc-library-filters-actions button[type="submit"],
.ppcc-library .ppcc-library-view-document{
  background: var(--ppcc-accent);
  color: var(--ppcc-accent-ink);
  border: 0;
  border-radius: var(--ppcc-pill-radius);
  font-family: var(--ppcc-btn-font);
  font-weight: var(--ppcc-btn-weight);
  font-size: var(--ppcc-btn-size);
  letter-spacing: var(--ppcc-btn-tracking);
  text-transform: var(--ppcc-btn-transform);
  padding: 11px 24px;
  transition: background-color .15s ease, color .15s ease;
}
.ppcc-library .ppcc-library-search-submit:hover,
.ppcc-library .ppcc-library-search-submit:focus-visible,
.ppcc-library .ppcc-library-filters-actions button[type="submit"]:hover,
.ppcc-library .ppcc-library-filters-actions button[type="submit"]:focus-visible,
.ppcc-library .ppcc-library-view-document:hover,
.ppcc-library .ppcc-library-view-document:focus-visible{
  background: var(--ppcc-accent-hover);
  color: var(--ppcc-accent-hover-ink);
  text-decoration: none;
}

/* Secondary interactive chrome -> brand link color */
.ppcc-library .ppcc-library-topic-pill,
.ppcc-library .ppcc-library-pagination a,
.ppcc-library .ppcc-library-browse-all > summary,
.ppcc-library .ppcc-library-recent-list a,
.ppcc-library .ppcc-library-source-link,
.ppcc-library .ppcc-library-credit a{
  color: var(--ppcc-link);
}
.ppcc-library a.ppcc-library-topic-pill:hover,
.ppcc-library .ppcc-library-pagination a:hover,
.ppcc-library .ppcc-library-recent-list a:hover{
  color: var(--ppcc-link-hover);
}

/* Topic pills -> soft branded pill matching the site */
.ppcc-library .ppcc-library-topic-pill{
  border-color: color-mix(in srgb, var(--ppcc-link) 35%, transparent);
}

/* Pagination current page -> the gold pill (active indicator) */
.ppcc-library .ppcc-library-page-current{
  background: var(--ppcc-accent);
  color: var(--ppcc-accent-ink);
  border-radius: var(--ppcc-pill-radius);
  padding: 4px 11px;
}

/* Result titles -> heading ink, gold hover (keep dark, match the site) */
.ppcc-library .ppcc-library-result-title a{ color: var(--ppcc-heading-ink); }
.ppcc-library .ppcc-library-result-title a:hover,
.ppcc-library .ppcc-library-result-title a:focus-visible{ color: var(--ppcc-link); }

/* Type badge -> a soft branded gold pill on every row (Montserrat, uppercase) */
.ppcc-library .ppcc-library-result-type{
  background: color-mix(in srgb, var(--ppcc-accent) 24%, transparent);
  color: var(--ppcc-heading-ink);
  border-radius: var(--ppcc-pill-radius);
  font-family: var(--ppcc-btn-font);
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.04em;
}

/* Result rows -> subtle inset + gold hover wash for scannability */
.ppcc-library .ppcc-library-result{
  border-radius: 8px;
  padding-inline: 10px;
  transition: background-color .12s ease;
}
.ppcc-library .ppcc-library-result:hover{
  background: color-mix(in srgb, var(--ppcc-accent) 8%, transparent);
}

/* ---- Safe levers: surface · inputs · filters · thumbnails · detail ---- */
/* surface: the library sits in a soft contained panel like the site's content cards */
.ppcc-library.ppcc-library-search,
.ppcc-library.ppcc-library-browse{
  background: var(--fl-content-bg, #ffffff);
  border: 1px solid color-mix(in srgb, var(--ppcc-heading-ink) 10%, transparent);
  border-radius: 16px;
  padding: clamp(1rem, 2.5vw, 1.6rem);
  box-shadow: 0 2px 12px rgba(12, 12, 12, 0.05);
}

/* inputs/selects/dates -> the theme's soft rounded field */
.ppcc-library .ppcc-library-searchbar input[type="search"],
.ppcc-library .ppcc-library-filters select,
.ppcc-library .ppcc-library-filters input[type="date"]{
  border-color: color-mix(in srgb, var(--ppcc-heading-ink) 18%, transparent);
  border-radius: 10px;
  background: var(--fl-content-bg, #ffffff);
}
.ppcc-library .ppcc-library-searchbar input[type="search"]:focus-visible{
  outline-color: var(--ppcc-accent);
}

/* Filters disclosure -> a clean rounded control, gold-accented when open */
.ppcc-library .ppcc-library-filters{
  border-color: color-mix(in srgb, var(--ppcc-heading-ink) 14%, transparent);
  border-radius: 12px;
}
.ppcc-library .ppcc-library-filters > summary{
  font-family: var(--ppcc-btn-font);
  font-weight: 600;
  letter-spacing: 0.02em;
}
.ppcc-library .ppcc-library-filters[open] > summary{
  border-block-end-color: color-mix(in srgb, var(--ppcc-accent) 55%, transparent);
}

/* combobox trigger + popup -> match the field radius/border */
.ppcc-library .ppcc-combobox-trigger,
.ppcc-library .ppcc-combobox-popup{
  border-color: color-mix(in srgb, var(--ppcc-heading-ink) 18%, transparent);
  border-radius: 10px;
}

/* thumbnails -> soften the frame */
.ppcc-library .ppcc-library-result-thumb,
.ppcc-library .ppcc-library-document-thumb{
  border-color: color-mix(in srgb, var(--ppcc-heading-ink) 12%, transparent);
}

/* document detail -> surface card */
.ppcc-library .ppcc-library-document-detail article{
  border-color: color-mix(in srgb, var(--ppcc-heading-ink) 12%, transparent);
  border-radius: 14px;
  background: var(--fl-content-bg, #ffffff);
}

/* Build 0.5.4: 2-level Topic combobox (optgroup group headers) + BB selection highlight.
   The combobox JS emits a non-selectable .ppcc-combobox-group header per <optgroup>; options in a
   grouped listbox are indented. Selection states adopt the brand gold/blue, replacing the old
   monochrome bold + harsh currentColor outline. */
.ppcc-library .ppcc-combobox-group{
  padding: 9px 10px 3px;
  font-family: var(--ppcc-btn-font);
  font-size: 11px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  color: var(--ppcc-link);
  opacity: 0.8;
}
.ppcc-library .ppcc-combobox-listbox.ppcc-combobox-has-groups .ppcc-combobox-option{
  padding-inline-start: 18px;
}
.ppcc-library .ppcc-combobox-option.is-active,
.ppcc-library .ppcc-combobox-option:hover{
  background: color-mix(in srgb, var(--ppcc-link) 14%, transparent);
  outline: none;
}
.ppcc-library .ppcc-combobox-option[aria-selected="true"]{
  background: color-mix(in srgb, var(--ppcc-accent) 30%, transparent);
  font-weight: 600;
}
.ppcc-library .ppcc-combobox-option[aria-selected="true"].is-active{
  background: color-mix(in srgb, var(--ppcc-accent) 48%, transparent);
}

/* Build 0.5.5: category-card browse landing (Ken's documentux). Deep-link entry points into the
   filtered library; BB-theme surface cards with the gold CTA pill. Shown on the no-filter landing. */
.ppcc-library .ppcc-library-cards{
  display: grid;
  gap: var(--ppcc-library-gap);
  grid-template-columns: minmax(0, 1fr);
  margin-block: var(--ppcc-library-gap-large);
}
@media (min-width: 48rem){
  .ppcc-library .ppcc-library-cards{ grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
.ppcc-library .ppcc-library-card{
  display: flex;
  flex-direction: column;
  background: var(--fl-content-bg, #ffffff);
  border: 1px solid color-mix(in srgb, var(--ppcc-heading-ink) 12%, transparent);
  border-radius: 14px;
  overflow: hidden;
  box-shadow: 0 2px 12px rgba(12, 12, 12, 0.05);
}
.ppcc-library .ppcc-library-card-media{
  display: block;
  aspect-ratio: 16 / 9;
  overflow: hidden;
}
.ppcc-library .ppcc-library-card-media img{
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.ppcc-library .ppcc-library-card-body{
  display: flex;
  flex: 1 1 auto;
  flex-direction: column;
  gap: 8px;
  padding: clamp(1rem, 2.5vw, 1.4rem);
}
.ppcc-library .ppcc-library-card-title{
  margin: 0;
  font-size: 19px;
  line-height: 1.25;
  color: var(--ppcc-heading-ink);
}
.ppcc-library .ppcc-library-card-desc{
  margin: 0;
  font-size: 14px;
  line-height: 1.5;
  opacity: 0.82;
}
.ppcc-library .ppcc-library-card-count{
  margin: 0;
  font-family: var(--ppcc-btn-font);
  font-size: 12px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  color: var(--ppcc-link);
}
.ppcc-library .ppcc-library-card-link{
  margin-block-start: auto;
  align-self: start;
  background: var(--ppcc-accent);
  color: var(--ppcc-accent-ink);
  border: 0;
  border-radius: var(--ppcc-pill-radius);
  font-family: var(--ppcc-btn-font);
  font-weight: var(--ppcc-btn-weight);
  font-size: var(--ppcc-btn-size);
  letter-spacing: var(--ppcc-btn-tracking);
  text-transform: var(--ppcc-btn-transform);
  padding: 10px 22px;
  text-decoration: none;
  transition: background-color .15s ease, color .15s ease;
}
.ppcc-library .ppcc-library-card-link:hover,
.ppcc-library .ppcc-library-card-link:focus-visible{
  background: var(--ppcc-accent-hover);
  color: var(--ppcc-accent-hover-ink);
}

/* Year chips — narrow a filtered topic to a single year ("minutes by year"). */
.ppcc-library .ppcc-library-year-chips{
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 6px;
  margin-block: var(--ppcc-library-gap);
}
.ppcc-library .ppcc-library-year-chips-label{
  font-family: var(--ppcc-btn-font);
  font-size: 12px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  opacity: 0.92;
  margin-inline-end: 4px;
}
.ppcc-library .ppcc-library-year-chip{
  display: inline-block;
  padding: 4px 11px;
  border: 1px solid color-mix(in srgb, var(--ppcc-link) 35%, transparent);
  border-radius: var(--ppcc-pill-radius);
  font-size: 13px;
  text-decoration: none;
  color: var(--ppcc-link);
}

/* TD-E UX.3: suggested-search chips — the year-chip family, directly under the search box. */
.ppcc-library .ppcc-library-suggested{
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
  margin-block-start: var(--ppcc-library-gap-small);
}
.ppcc-library .ppcc-library-suggested-label{
  font-size: 13px;
  font-weight: 600;
  letter-spacing: 0.02em;
}
.ppcc-library a.ppcc-library-suggested-chip{
  display: inline-block;
  padding: 4px 11px;
  border: 1px solid color-mix(in srgb, var(--ppcc-link) 35%, transparent);
  border-radius: var(--ppcc-pill-radius);
  font-size: 13px;
  text-decoration: none;
  color: var(--ppcc-link);
}
.ppcc-library a.ppcc-library-suggested-chip:hover,
.ppcc-library a.ppcc-library-suggested-chip:focus-visible{
  background: color-mix(in srgb, var(--ppcc-link) 12%, transparent);
}
.ppcc-library a.ppcc-library-suggested-chip.is-active{
  background: var(--ppcc-accent);
  border-color: var(--ppcc-accent);
  color: var(--ppcc-accent-ink);
  font-weight: 600;
}
.ppcc-library .ppcc-library-year-chip:hover,
.ppcc-library .ppcc-library-year-chip:focus-visible{
  background: color-mix(in srgb, var(--ppcc-link) 12%, transparent);
}
.ppcc-library .ppcc-library-year-chip.is-active{
  background: var(--ppcc-accent);
  border-color: var(--ppcc-accent);
  color: var(--ppcc-accent-ink);
  font-weight: 600;
}

/* DOCS-2 family: native buttons inherit content color (theme paints button text white). */
.ppcc-library .ppcc-library-filters-actions button{color:inherit;}

/* Secondary action buttons (Russ 2026-06-10): same family as the gold actions, outlined. */
.ppcc-library .ppcc-library-copy,
.ppcc-library .ppcc-library-page-jump button,
.ppcc-library .ppcc-library-years-toggle{
  background: transparent;
  color: var(--ppcc-link, inherit);
  border: 1.5px solid color-mix(in srgb, var(--ppcc-link, currentColor) 55%, transparent);
  border-radius: var(--ppcc-pill-radius, 999px);
  font-family: var(--ppcc-btn-font);
  font-weight: var(--ppcc-btn-weight);
  font-size: 11px;
  letter-spacing: var(--ppcc-btn-tracking);
  text-transform: var(--ppcc-btn-transform);
  padding: 8px 16px;
  cursor: pointer;
  transition: background-color .15s ease, color .15s ease, border-color .15s ease;
}
.ppcc-library .ppcc-library-copy:hover,
.ppcc-library .ppcc-library-copy:focus-visible,
.ppcc-library .ppcc-library-page-jump button:hover,
.ppcc-library .ppcc-library-page-jump button:focus-visible,
.ppcc-library .ppcc-library-years-toggle:hover,
.ppcc-library .ppcc-library-years-toggle:focus-visible{
  background: var(--ppcc-accent);
  color: var(--ppcc-accent-ink);
  border-color: transparent;
}
.ppcc-library .ppcc-library-copy.ppcc-library-copied{
  background: var(--ppcc-accent);
  color: var(--ppcc-accent-ink);
  border-color: transparent;
}
/* Detail thumbnail opens the document when one exists. */
.ppcc-library a.ppcc-library-thumb-open{display:inline-block;text-decoration:none;}
