/* Phase 6 page-family composition. Design values remain in design-system/tokens.css. */
html { scroll-behavior: smooth; }
body.p6-page { min-height: 100vh; }

.p6-header-inner,
.p6-footer-inner,
.p6-section-heading,
.p6-results-tools {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: var(--tk-space-4);
}

.p6-main { --tk-stack-space: var(--tk-space-7); padding-block: var(--tk-space-6) var(--tk-space-8); }
.p6-hero { --tk-stack-space: var(--tk-space-5); padding-block: var(--tk-space-7); }
.p6-hero .tk-heading { max-width: 18ch; }
.p6-section { --tk-stack-space: var(--tk-space-5); scroll-margin-block-start: var(--tk-space-5); }
.p6-heading-copy { --tk-stack-space: var(--tk-space-1); }
.p6-course-picker { width: min(100%, 28rem); }
.p6-page-heading { --tk-stack-space: var(--tk-space-2); }
.p6-footer-inner { min-height: var(--tk-control-min-size); }
.p6-not-found { --tk-stack-space: var(--tk-space-5); min-height: 100vh; align-content: center; padding-block: var(--tk-space-8); }

.p6-discovery-layout { display: grid; gap: var(--tk-space-6); }
.p6-filter-panel { align-self: start; padding: var(--tk-space-5); border: var(--tk-border-thin) solid var(--tk-panel-border); border-radius: var(--tk-radius-panel); background: var(--tk-panel-background); }
.p6-filter-search { margin-block-end: var(--tk-space-4); }
.p6-filter-grid { display: grid; gap: var(--tk-space-4); margin-block-end: var(--tk-space-4); }
.p6-results-column { --tk-stack-space: var(--tk-space-5); min-width: 0; }
.p6-results-tools { align-items: flex-start; }
.p6-results-tools .tk-applied-filters { flex: 1 1 20rem; justify-content: flex-end; }
.p6-series-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 15rem), 1fr)); gap: var(--tk-space-4); }
.p6-series-card,
.catalog-topic-card { display: grid; gap: var(--tk-space-3); min-height: 100%; padding: var(--tk-space-4); border: var(--tk-border-thin) solid var(--tk-panel-border); border-radius: var(--tk-radius-panel); background: var(--tk-panel-background); color: var(--tk-color-text); text-decoration: none; }
.p6-series-card:hover,
.catalog-topic-card:hover { border-color: var(--tk-color-action-hover); }
.p6-series-card__meta { color: var(--tk-color-text-muted); font-size: var(--tk-type-meta-size); }

.tk-resource-item { min-width: 0; }
.tk-resource-item__title-link { overflow-wrap: anywhere; }
.tk-resource-item .tk-book-preview,
.tk-resource-identity .tk-book-preview { overflow: hidden; }
.tk-resource-item .tk-book-preview img,
.tk-resource-identity .tk-book-preview img { width: 100%; height: 100%; object-fit: cover; }
.p6-detail-support { display: grid; gap: var(--tk-space-5); }
.p6-detail-support > * { min-width: 0; }
.p6-relation-groups { display: grid; gap: var(--tk-space-4); }
.p6-source-list { margin: 0; }
.p6-source-list div { display: grid; grid-template-columns: minmax(7rem, auto) minmax(0, 1fr); gap: var(--tk-space-3); padding-block: var(--tk-space-2); border-block-end: var(--tk-border-thin) solid var(--tk-color-border-subtle); }
.p6-source-list dt { font-weight: var(--tk-weight-medium); }
.p6-source-list dd { margin: 0; overflow-wrap: anywhere; }

.p6-reader-page .p6-main { width: min(100%, var(--tk-layout-max)); }
.p6-reader-context { margin-block-end: var(--tk-space-4); }
.p6-reader-page .tk-reader-shell { min-height: min(44rem, calc(100vh - 10rem)); }
.p6-reader-page .tk-reader-viewport__placeholder { max-width: var(--tk-layout-prose); }
.p6-reader-page .tk-reader-viewport__placeholder .tk-text { margin-block-start: var(--tk-space-3); }
.p6-reader-fallback { margin-block-start: var(--tk-space-4); }

.p6-local-banner { display: flex; flex-wrap: wrap; align-items: center; gap: var(--tk-space-3); padding: var(--tk-space-3) var(--tk-layout-gutter); border-block-end: var(--tk-border-thin) solid var(--tk-color-warning); background: var(--tk-color-surface-muted); color: var(--tk-color-text); }
.p6-local-banner span { color: var(--tk-color-text-muted); }

.p6-domain-page { --tk-stack-space: var(--tk-space-6); }
.p6-domain-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 17rem), 1fr)); gap: var(--tk-space-4); }
.p6-domain-grid > * { min-width: 0; }
.p6-domain-actions { align-items: stretch; }
.p6-domain-actions .tk-action { min-height: var(--tk-control-min-size); }
.p6-domain-actions [aria-current="page"] { border-color: var(--tk-color-action); }
.p6-topic-resources { align-items: stretch; }
.p6-topic-resources .tk-resource-item { height: 100%; }

/* Phase 7 resource browsing composition. */
.p7-result-controls { display: flex; flex-wrap: wrap; gap: var(--tk-space-3); }
.p7-result-controls .tk-field-group { min-width: 8rem; }
.p7-resource-card { min-height: 100%; }
.p7-resource-card .tk-stack { min-height: 100%; }
.p7-resource-card .tk-metadata { margin-block-start: auto; }
.p7-mobile-filter-trigger { display: none; }
.p7-filter-backdrop { position: fixed; z-index: var(--tk-layer-overlay); inset: 0; width: 100%; border: 0; background: var(--tk-color-overlay); }
.p7-filter-drawer { position: fixed; z-index: var(--tk-layer-drawer); inset-block: 0; inset-inline-end: 0; display: grid; grid-template-rows: auto minmax(0, 1fr) auto; width: min(100%, 28rem); background: var(--tk-color-surface); box-shadow: var(--tk-shadow-drawer); }
.p7-filter-drawer__header,
.p7-filter-drawer__footer { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: var(--tk-space-3); padding: var(--tk-space-4); border-block-end: var(--tk-border-thin) solid var(--tk-color-border); }
.p7-filter-drawer__footer { border-block: var(--tk-border-thin) solid var(--tk-color-border) 0; }
#mobile-filter-form { overflow: auto; padding: var(--tk-space-4); }
body.p7-filter-open { overflow: hidden; }
.tk-pagination:empty { display: none; }
.p7-reader-identity { --tk-stack-space: var(--tk-space-3); }
.p7-reader-base-actions { align-items: stretch; }
.p7-pdf-enhancement { min-width: 0; padding-block-start: var(--tk-space-5); border-block-start: var(--tk-border-thin) solid var(--tk-color-border-subtle); }
.p7-reader-toolbar { position: sticky; z-index: 2; inset-block-start: 0; display: flex; flex-wrap: wrap; align-items: end; gap: var(--tk-space-2); padding: var(--tk-space-3); border: var(--tk-border-thin) solid var(--tk-color-border); border-radius: var(--tk-radius-control); background: var(--tk-color-surface); }
.p7-page-field { grid-template-columns: auto minmax(4.5rem, 6rem) auto; align-items: center; }
.p7-page-field .tk-field { min-width: 0; }
.p7-pdf-pages { display: grid; justify-items: center; gap: var(--tk-space-5); min-width: 0; min-height: min(12rem, 72vh); max-height: min(72vh, 52rem); padding: var(--tk-space-4); overflow: auto; overscroll-behavior: contain; border: var(--tk-border-thin) solid var(--tk-color-border-subtle); background: var(--tk-color-surface-muted); }
.p7-pdf-page { position: relative; max-width: 100%; overflow: hidden; background: white; box-shadow: var(--tk-shadow-raised); }
.p7-pdf-page canvas,
.p7-pdf-text-layer,
.p7-pdf-link-layer { position: absolute; inset: 0; max-width: none; }
.p7-pdf-page canvas { z-index: 0; }
.p7-pdf-text-layer { z-index: 1; color: transparent; line-height: 1; user-select: text; }
.p7-pdf-text-layer span { position: absolute; white-space: pre; cursor: text; }
.p7-pdf-text-layer ::selection { background: Highlight; color: transparent; }
.p7-pdf-link-layer { z-index: 2; pointer-events: none; }
.p7-pdf-link-layer a { position: absolute; pointer-events: auto; border: 1px solid transparent; }
.p7-pdf-link-layer a:focus-visible { border-color: var(--tk-color-focus); }

@media (max-width: 56.249rem) {
  .p7-mobile-filter-trigger { display: inline-flex; align-self: flex-start; }
  #catalog-filters { display: block; }
  #catalog-filters > :not(.p6-filter-search) { display: none; }
  .p6-discovery-layout { grid-template-columns: minmax(0, 1fr); }
}

@media (max-width: 37.499rem) {
  .p7-reader-toolbar { align-items: stretch; }
  .p7-reader-toolbar > * { flex: 1 1 auto; }
  .p7-page-field { flex-basis: 100%; }
  .p7-reader-base-actions .tk-action { flex: 1 1 10rem; }
  .p7-pdf-pages { padding-inline: 0; }
}

@media (min-width: 37.5rem) {
  .p6-filter-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .p6-detail-support { grid-template-columns: minmax(0, 1.25fr) minmax(16rem, .75fr); }
}

@media (min-width: 56.25rem) {
  .p6-discovery-layout { grid-template-columns: minmax(15rem, var(--tk-layout-rail)) minmax(0, 1fr); align-items: start; }
  .p6-filter-panel { position: sticky; inset-block-start: var(--tk-space-4); }
  .p6-filter-grid { grid-template-columns: 1fr; }
}

@media (max-width: 37.499rem) {
  .p6-header-inner { align-items: flex-start; }
  .p6-header-inner .tk-site-nav { width: 100%; }
  .p6-section-heading { align-items: stretch; }
  .p6-course-picker { width: 100%; }
  .p6-results-tools .tk-applied-filters { justify-content: flex-start; }
  .p6-source-list div { grid-template-columns: 1fr; gap: var(--tk-space-1); }
  .p6-domain-actions { display: grid; grid-template-columns: 1fr; }
}

@media (forced-colors: active) {
  .p6-series-card,
  .p6-filter-panel,
  .p6-domain-grid > *,
  .p7-filter-drawer { border-color: CanvasText; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
}

@media (prefers-reduced-transparency: reduce) {
  .p6-hero,
  .p6-filter-panel,
  .p6-series-card { box-shadow: none; }
  .p7-filter-drawer { box-shadow: none; }
}

/* P8-B1 approved platform Home. All rules stay within the home page scope. */
.p8b1-home-page {
  --p8b1-paper: #f4f1eb;
  --p8b1-paper-light: #faf8f4;
  --p8b1-paper-deep: #e9e3d9;
  --p8b1-ink: #202522;
  --p8b1-ink-soft: #575a54;
  --p8b1-wine: #6a2432;
  --p8b1-wine-deep: #451721;
  --p8b1-brass: #aa8b5c;
  --p8b1-line: #d7d0c5;
  --p8b1-serif: Georgia, "Noto Serif SC", "Songti SC", "STSong", "SimSun", serif;
  --p8b1-sans: Inter, "Aptos", "Segoe UI", "PingFang SC", "Microsoft YaHei", sans-serif;
  min-height: 100vh;
  background: var(--p8b1-paper);
  color: var(--p8b1-ink);
  font-family: var(--p8b1-sans);
  font-synthesis: none;
  text-rendering: optimizeLegibility;
}

.p8b1-home-page .p8b1-site-header {
  position: relative;
  z-index: 20;
  border-block-end: 1px solid rgba(61, 48, 41, .13);
  background: rgba(250, 248, 244, .98);
}

.p8b1-home-page .p8b1-header-inner {
  display: flex;
  width: min(100%, 1392px);
  min-height: 82px;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  padding: 0 36px;
}

.p8b1-home-page .p8b1-brand {
  display: flex;
  min-width: 170px;
  flex-direction: column;
  align-items: flex-start;
  justify-content: center;
  gap: 5px;
  color: var(--p8b1-wine-deep);
  text-decoration: none;
}

.p8b1-home-page .p8b1-brand__name {
  font: 700 22px/1 var(--p8b1-serif);
  letter-spacing: -.035em;
}

.p8b1-home-page .p8b1-brand__tagline {
  color: #71695f;
  font: 700 9px/1.2 var(--p8b1-sans);
  letter-spacing: .15em;
}

.p8b1-home-page .p8b1-desktop-nav {
  display: flex;
  flex: 1;
  justify-content: flex-end;
  gap: clamp(12px, 2vw, 32px);
}

.p8b1-home-page .p8b1-desktop-nav .tk-site-nav__link {
  position: relative;
  min-height: 44px;
  padding: 0 2px;
  border: 0;
  border-radius: 0;
  background: transparent;
  color: #54544e;
  font-size: 14px;
  text-decoration: none;
}

.p8b1-home-page .p8b1-desktop-nav .tk-site-nav__link:hover,
.p8b1-home-page .p8b1-desktop-nav .tk-site-nav__link[aria-current="page"] {
  background: transparent;
  color: var(--p8b1-wine);
}

.p8b1-home-page .p8b1-desktop-nav .tk-site-nav__link[aria-current="page"]::after {
  position: absolute;
  inset-inline: 0;
  inset-block-end: 8px;
  height: 1px;
  background: var(--p8b1-wine);
  content: "";
}

.p8b1-home-page .p8b1-header-library {
  display: inline-flex;
  min-height: 44px;
  align-items: center;
  gap: 12px;
  padding-inline: 14px;
  border: 1px solid rgba(106, 36, 50, .35);
  color: var(--p8b1-wine);
  font-size: 13px;
  font-weight: 700;
  white-space: nowrap;
}

.p8b1-home-page .p8b1-header-library span {
  color: #766a61;
  font-size: 11px;
  font-weight: 500;
}

.p8b1-home-page .p8b1-menu-toggle,
.p8b1-home-page .p8b1-mobile-menu { display: none; }

.p8b1-home-page .p8b1-home-main { width: min(100% - 72px, 1320px); margin-inline: auto; }

.p8b1-home-page .p8b1-home-hero {
  display: grid;
  grid-template-columns: minmax(0, .86fr) minmax(0, 1.14fr);
  align-items: center;
  gap: clamp(48px, 6vw, 88px);
  padding-block: 68px 70px;
}

.p8b1-home-page .p8b1-home-hero__copy { position: relative; z-index: 2; min-width: 0; }

.p8b1-home-page .p8b1-eyebrow,
.p8b1-home-page .p8b1-overline {
  margin: 0;
  font-family: var(--p8b1-sans);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .15em;
  line-height: 1.6;
}

.p8b1-home-page .p8b1-eyebrow { color: var(--p8b1-wine); }
.p8b1-home-page .p8b1-overline { margin-block-start: 24px; color: #765a33; font-size: 12px; letter-spacing: .08em; }

.p8b1-home-page .p8b1-home-hero h1 {
  margin: 12px 0 18px;
  color: var(--p8b1-ink);
  font: 400 clamp(40px, 4vw, 62px)/1.2 var(--p8b1-serif);
  letter-spacing: -.055em;
}

.p8b1-home-page .p8b1-home-hero h1 em { color: var(--p8b1-wine); font-style: normal; font-weight: 400; }

.p8b1-home-page .p8b1-home-hero__intro {
  max-width: 440px;
  margin: 0 0 26px;
  color: var(--p8b1-ink-soft);
  font-size: 16px;
  line-height: 1.8;
}

.p8b1-home-page .p8b1-search-form {
  display: flex;
  max-width: 550px;
  min-height: 62px;
  align-items: center;
  padding: 6px 7px 6px 17px;
  border: 1px solid #b9b0a4;
  background: var(--p8b1-paper-light);
  box-shadow: 0 5px 20px rgba(45, 36, 29, .055);
}

.p8b1-home-page .p8b1-search-form > span { margin-inline-end: 13px; color: var(--p8b1-wine); font-size: 25px; line-height: 1; }

.p8b1-home-page .p8b1-search-form input {
  width: 0;
  min-width: 0;
  min-height: 48px;
  flex: 1;
  padding: 10px 0;
  border: 0;
  outline: 0;
  background: transparent;
  color: var(--p8b1-ink);
  font: 15px/1.4 var(--p8b1-sans);
}

.p8b1-home-page .p8b1-search-form input::placeholder { color: #777167; opacity: 1; }
.p8b1-home-page .p8b1-search-form input:focus-visible { outline: 2px solid var(--p8b1-wine); outline-offset: 2px; }

.p8b1-home-page .p8b1-search-form button {
  min-width: 108px;
  min-height: 48px;
  padding-inline: 14px;
  border: 0;
  background: var(--p8b1-wine);
  color: #fffaf2;
  font: 700 13px/1.2 var(--p8b1-sans);
  cursor: pointer;
}

.p8b1-home-page .p8b1-search-form button span { margin-inline-start: 8px; }
.p8b1-home-page .p8b1-search-form button:hover { background: var(--p8b1-wine-deep); }
.p8b1-home-page .p8b1-search-form button:focus-visible { outline: 3px solid var(--p8b1-brass); outline-offset: 3px; }

.p8b1-home-page .p8b1-search-hints {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 9px 16px;
  margin-block-start: 13px;
  color: #59574f;
  font-size: 13px;
  line-height: 1.6;
}

.p8b1-home-page .p8b1-search-hints > span { color: #71634f; font-size: 12px; font-weight: 700; }
.p8b1-home-page .p8b1-search-hints a { padding-block: 2px; border-block-end: 1px solid #c9beb0; color: #4e5049; text-decoration: none; }
.p8b1-home-page .p8b1-search-hints a:hover { border-color: var(--p8b1-wine); color: var(--p8b1-wine); }

.p8b1-home-page .p8b1-home-hero__visual { position: relative; min-width: 0; padding-block-end: 32px; }

.p8b1-home-page .p8b1-home-hero__frame {
  position: relative;
  min-height: 440px;
  overflow: hidden;
  background: #877e70;
  box-shadow: 0 24px 48px rgba(44, 32, 26, .16);
}

.p8b1-home-page .p8b1-scene-picture { position: absolute; inset: 0; display: block; }
.p8b1-home-page .p8b1-scene-image { display: block; width: 100%; height: 100%; object-fit: cover; object-position: center; }

.p8b1-home-page .p8b1-home-hero__frame::after {
  position: absolute;
  z-index: 1;
  inset: 0;
  background: linear-gradient(90deg, rgba(27, 27, 23, .17), transparent 48%), linear-gradient(0deg, rgba(24, 20, 18, .35), transparent 35%);
  pointer-events: none;
  content: "";
}

.p8b1-home-page .p8b1-home-hero__caption {
  position: absolute;
  z-index: 2;
  inset-inline: 22px;
  inset-block-end: 18px;
  display: flex;
  justify-content: space-between;
  gap: 16px;
  color: rgba(255, 251, 241, .96);
  font-size: 12px;
  letter-spacing: .08em;
}

.p8b1-home-page .p8b1-entry-status {
  position: absolute;
  z-index: 2;
  inset-inline-end: 0;
  inset-block-end: 0;
  display: flex;
  min-width: 212px;
  min-height: 82px;
  align-items: center;
  gap: 14px;
  padding: 14px 18px;
  background: var(--p8b1-wine);
  color: #fffaf2;
  font-size: 15px;
  font-weight: 700;
  line-height: 1.45;
}

.p8b1-home-page .p8b1-entry-status__mark {
  display: grid;
  width: 38px;
  height: 38px;
  flex: 0 0 38px;
  place-items: center;
  border: 1px solid rgba(255, 255, 255, .6);
  border-radius: 50%;
  font-size: 11px;
  letter-spacing: .04em;
}

.p8b1-home-page .p8b1-entry-status small { color: #f1dfd7; font-size: 11px; letter-spacing: .06em; }

.p8b1-home-page .p8b1-home-hero__note {
  max-width: 480px;
  margin: 12px 0 0 auto;
  color: #625f57;
  font: italic 13px/1.65 var(--p8b1-serif);
  text-align: right;
}

.p8b1-home-page .p8b1-discovery {
  display: grid;
  grid-template-columns: minmax(190px, .7fr) minmax(225px, .82fr) minmax(330px, 1.48fr);
  gap: 20px 38px;
  padding-block: 34px 40px;
  border-block-start: 1px solid var(--p8b1-line);
}

.p8b1-home-page .p8b1-discovery__heading { align-self: start; }
.p8b1-home-page .p8b1-discovery__heading h2 { margin: 9px 0; font: 400 30px/1.25 var(--p8b1-serif); letter-spacing: -.035em; }
.p8b1-home-page .p8b1-discovery__heading > p:last-child { max-width: 290px; margin: 0; color: #5a5b55; font-size: 14px; line-height: 1.7; }

.p8b1-home-page .p8b1-course-link {
  position: relative;
  display: grid;
  min-width: 0;
  min-height: 220px;
  align-content: center;
  gap: 10px;
  padding: 20px 24px;
  border-inline: 1px solid var(--p8b1-line);
  color: inherit;
  text-decoration: none;
}

.p8b1-home-page .p8b1-course-link:hover { background: rgba(250, 248, 244, .52); }
.p8b1-home-page .p8b1-course-link:focus-visible { outline: 3px solid var(--p8b1-brass); outline-offset: 3px; }
.p8b1-home-page .p8b1-course-link > span { color: #71634f; font-size: 11px; font-weight: 700; letter-spacing: .09em; line-height: 1.5; }
.p8b1-home-page .p8b1-course-link > strong { color: var(--p8b1-ink); font: 400 34px/1.15 var(--p8b1-serif); }
.p8b1-home-page .p8b1-course-link > strong i { color: var(--p8b1-wine); font-size: .7em; font-style: normal; }
.p8b1-home-page .p8b1-course-link > small { color: #55574f; font-size: 13px; }
.p8b1-home-page .p8b1-course-link > b { position: absolute; inset-inline-end: 20px; inset-block-end: 19px; color: var(--p8b1-wine); font: 20px var(--p8b1-sans); }

.p8b1-home-page .p8b1-topic-area { min-width: 0; }
.p8b1-home-page .p8b1-topic-list { margin: 0; padding: 0; border-block-start: 1px solid var(--p8b1-line); list-style: none; }
.p8b1-home-page .p8b1-topic-list > li { min-width: 0; }

.p8b1-home-page .p8b1-topic-row,
.p8b1-home-page .p8b1-past-papers {
  display: grid;
  grid-template-columns: 32px minmax(130px, 1fr) minmax(130px, .9fr) 24px;
  min-height: 54px;
  align-items: center;
  gap: 12px;
  border-block-end: 1px solid var(--p8b1-line);
  color: var(--p8b1-ink);
  text-decoration: none;
}

.p8b1-home-page .p8b1-topic-row:hover,
.p8b1-home-page .p8b1-past-papers:hover { color: var(--p8b1-wine); }
.p8b1-home-page .p8b1-topic-row:focus-visible,
.p8b1-home-page .p8b1-past-papers:focus-visible { outline: 3px solid var(--p8b1-brass); outline-offset: 2px; }
.p8b1-home-page .p8b1-topic-row__index { color: #806b4f; font: 13px var(--p8b1-serif); }
.p8b1-home-page .p8b1-topic-row strong,
.p8b1-home-page .p8b1-past-papers strong { overflow-wrap: anywhere; font: 400 17px/1.35 var(--p8b1-serif); }
.p8b1-home-page .p8b1-topic-row small,
.p8b1-home-page .p8b1-past-papers small { color: #4f514b; font-size: 12px; line-height: 1.5; }
.p8b1-home-page .p8b1-row-arrow { color: var(--p8b1-wine); font: 17px var(--p8b1-sans); text-align: end; }
.p8b1-home-page .p8b1-past-papers strong { color: var(--p8b1-wine); }
.p8b1-home-page .p8b1-topic-state { padding: 18px 10px; color: #575a54; font-size: 14px; }
.p8b1-home-page .p8b1-topic-state--error { color: #76262d; }

.p8b1-home-page .p8b1-discovery__all {
  grid-column: 2 / 4;
  justify-self: end;
  min-height: 44px;
  padding: 9px 0;
  color: var(--p8b1-wine);
  font-size: 14px;
  font-weight: 700;
  text-decoration: none;
}

.p8b1-home-page .p8b1-discovery__all:focus-visible { outline: 3px solid var(--p8b1-brass); outline-offset: 3px; }
.p8b1-home-page .p8b1-discovery__all span { margin-inline-start: 6px; }

.p8b1-home-page .p8b1-mobile-tabs { display: none; }

.p8b1-home-page .p8b1-site-footer {
  display: flex;
  min-height: 112px;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  padding: 22px max(36px, calc((100vw - 1320px) / 2));
  border-block-start: 1px solid var(--p8b1-line);
  background: #ede8df;
}

.p8b1-home-page .p8b1-footer-brand { display: grid; gap: 4px; color: var(--p8b1-wine-deep); text-decoration: none; }
.p8b1-home-page .p8b1-footer-brand strong { font: 700 22px/1 var(--p8b1-serif); }
.p8b1-home-page .p8b1-footer-brand span { color: #615a50; font-size: 9px; font-weight: 700; letter-spacing: .13em; }
.p8b1-home-page .p8b1-site-footer p { margin: 0; color: #4f514b; font-size: 13px; }
.p8b1-home-page .p8b1-site-footer > a:not(.p8b1-footer-brand) { display: inline-flex; min-height: 44px; align-items: center; color: var(--p8b1-wine); text-decoration: none; }
.p8b1-home-page .p8b1-site-footer > a:last-child { min-height: 44px; padding-block: 13px; color: var(--p8b1-wine); font-size: 13px; font-weight: 700; text-decoration: none; }

.p8b1-home-page .p8b1-visually-hidden {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

@media (max-width: 1000px) {
  .p8b1-home-page .p8b1-header-inner { padding-inline: 24px; }
  .p8b1-home-page .p8b1-brand { min-width: 145px; }
  .p8b1-home-page .p8b1-desktop-nav { gap: 12px; }
  .p8b1-home-page .p8b1-header-library { padding-inline: 10px; font-size: 12px; }
  .p8b1-home-page .p8b1-header-library span { display: none; }
  .p8b1-home-page .p8b1-home-main { width: min(100% - 48px, 1320px); }
  .p8b1-home-page .p8b1-home-hero { grid-template-columns: minmax(360px, .92fr) minmax(0, 1.08fr); gap: 40px; }
  .p8b1-home-page .p8b1-home-hero__frame { min-height: 390px; }
  .p8b1-home-page .p8b1-discovery { grid-template-columns: minmax(170px, .7fr) minmax(200px, .8fr) minmax(280px, 1.5fr); gap: 20px 24px; }
  .p8b1-home-page .p8b1-topic-row,
  .p8b1-home-page .p8b1-past-papers { grid-template-columns: 28px minmax(110px, 1fr) minmax(100px, .8fr) 20px; gap: 8px; }
}

@media (max-width: 760px) {
  .p8b1-home-page .p8b1-header-inner {
    min-height: 66px;
    padding-inline: 16px;
  }

  .p8b1-home-page .p8b1-brand { min-width: 0; gap: 4px; }
  .p8b1-home-page .p8b1-brand__name { font-size: 21px; }
  .p8b1-home-page .p8b1-brand__tagline { font-size: 9px; }
  .p8b1-home-page .p8b1-desktop-nav,
  .p8b1-home-page .p8b1-header-library { display: none; }

  .p8b1-home-page .p8b1-menu-toggle {
    display: grid;
    width: 44px;
    height: 44px;
    flex: 0 0 44px;
    place-items: center;
    border: 1px solid var(--p8b1-line);
    background: transparent;
    color: var(--p8b1-ink);
    font-size: 20px;
    cursor: pointer;
  }

  .p8b1-home-page .p8b1-menu-toggle:focus-visible { outline: 3px solid var(--p8b1-brass); outline-offset: 3px; }
  .p8b1-home-page .p8b1-mobile-menu:not([hidden]) { display: grid; }

  .p8b1-home-page .p8b1-mobile-menu {
    position: absolute;
    z-index: 21;
    inset-inline: 0;
    inset-block-start: 100%;
    gap: 0;
    padding: 10px 20px 18px;
    border-block-end: 1px solid var(--p8b1-line);
    background: var(--p8b1-paper-light);
    box-shadow: 0 18px 32px rgba(42, 32, 26, .12);
  }

  .p8b1-home-page .p8b1-mobile-menu a,
  .p8b1-home-page .p8b1-mobile-menu__library {
    display: flex;
    min-height: 54px;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    padding: 10px 4px;
    border-block-end: 1px solid var(--p8b1-line);
    color: var(--p8b1-ink);
    font: 400 17px/1.25 var(--p8b1-serif);
    text-decoration: none;
  }

  .p8b1-home-page .p8b1-mobile-menu a span,
  .p8b1-home-page .p8b1-mobile-menu__library small { color: #595a53; font: 12px/1.4 var(--p8b1-sans); }
  .p8b1-home-page .p8b1-mobile-menu__library { color: var(--p8b1-wine); }

  .p8b1-home-page .p8b1-home-main { width: min(100% - 32px, 540px); }

  .p8b1-home-page .p8b1-home-hero {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: 26px;
    padding-block: 28px 36px;
  }

  .p8b1-home-page .p8b1-eyebrow { font-size: 11px; }
  .p8b1-home-page .p8b1-overline { margin-block-start: 18px; font-size: 12px; }
  .p8b1-home-page .p8b1-home-hero h1 { margin-block: 10px 14px; font-size: clamp(36px, 9vw, 43px); line-height: 1.18; }
  .p8b1-home-page .p8b1-home-hero__intro { margin-block-end: 18px; font-size: 16px; line-height: 1.75; }

  .p8b1-home-page .p8b1-search-form {
    max-width: none;
    min-height: 60px;
    padding-inline-start: 12px;
  }

  .p8b1-home-page .p8b1-search-form > span { margin-inline-end: 8px; font-size: 22px; }
  .p8b1-home-page .p8b1-search-form input { font-size: 14px; }
  .p8b1-home-page .p8b1-search-form button { min-width: 88px; padding-inline: 10px; font-size: 12px; }
  .p8b1-home-page .p8b1-search-hints { gap: 7px 12px; margin-block-start: 12px; font-size: 13px; }
  .p8b1-home-page .p8b1-search-hints > span { width: 100%; }

  .p8b1-home-page .p8b1-home-hero__visual { padding-block-end: 22px; }
  .p8b1-home-page .p8b1-home-hero__frame { min-height: 0; aspect-ratio: 3 / 4; }
  .p8b1-home-page .p8b1-scene-image { object-position: center; }
  .p8b1-home-page .p8b1-home-hero__caption { inset-inline: 16px; inset-block-end: 14px; flex-direction: column; gap: 2px; font-size: 11px; }
  .p8b1-home-page .p8b1-entry-status { min-width: 174px; min-height: 66px; gap: 10px; padding: 10px 12px; font-size: 14px; }
  .p8b1-home-page .p8b1-entry-status__mark { width: 34px; height: 34px; flex-basis: 34px; }
  .p8b1-home-page .p8b1-entry-status small { font-size: 10px; }
  .p8b1-home-page .p8b1-home-hero__note { margin-block-start: 8px; font-size: 13px; text-align: start; }

  .p8b1-home-page .p8b1-discovery {
    grid-template-columns: minmax(0, 1fr);
    gap: 18px;
    padding-block: 28px 30px;
  }

  .p8b1-home-page .p8b1-discovery__heading h2 { font-size: 28px; }
  .p8b1-home-page .p8b1-discovery__heading > p:last-child { max-width: none; font-size: 15px; }
  .p8b1-home-page .p8b1-course-link { min-height: 156px; padding: 18px 20px; border-inline: 0; border-block: 1px solid var(--p8b1-line); }
  .p8b1-home-page .p8b1-course-link > span { font-size: 11px; }
  .p8b1-home-page .p8b1-course-link > strong { font-size: 32px; }
  .p8b1-home-page .p8b1-course-link > small { font-size: 14px; }
  .p8b1-home-page .p8b1-topic-row,
  .p8b1-home-page .p8b1-past-papers { grid-template-columns: 28px minmax(0, 1fr) 20px; min-height: 64px; gap: 8px 10px; }
  .p8b1-home-page .p8b1-topic-row small,
  .p8b1-home-page .p8b1-past-papers small { grid-column: 2; grid-row: 2; margin-block-start: -12px; font-size: 12px; }
  .p8b1-home-page .p8b1-topic-row__index { grid-row: 1 / span 2; }
  .p8b1-home-page .p8b1-topic-row strong,
  .p8b1-home-page .p8b1-past-papers strong { grid-column: 2; grid-row: 1; font-size: 17px; }
  .p8b1-home-page .p8b1-row-arrow { grid-column: 3; grid-row: 1 / span 2; }
  .p8b1-home-page .p8b1-discovery__all { grid-column: 1; justify-self: start; font-size: 14px; }

  .p8b1-home-page .p8b1-mobile-tabs {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    min-height: 64px;
    border-block: 1px solid var(--p8b1-line);
    background: rgba(250, 248, 244, .98);
  }

  .p8b1-home-page .p8b1-mobile-tabs a,
  .p8b1-home-page .p8b1-mobile-tabs > span {
    display: flex;
    min-height: 64px;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 2px;
    color: #4e5049;
    font-size: 13px;
    line-height: 1.25;
    text-decoration: none;
  }

  .p8b1-home-page .p8b1-mobile-tabs a[aria-current="page"] { color: var(--p8b1-wine); }
  .p8b1-home-page .p8b1-mobile-tabs a:focus-visible { outline: 3px solid var(--p8b1-brass); outline-offset: -3px; }
  .p8b1-home-page .p8b1-mobile-tabs a > span:first-child,
  .p8b1-home-page .p8b1-mobile-tabs > span > span:first-child { font-size: 19px; }
  .p8b1-home-page .p8b1-mobile-tabs > span { color: #6f6c65; }
  .p8b1-home-page .p8b1-mobile-tabs small { font-size: 10px; }

  .p8b1-home-page .p8b1-site-footer { min-height: 118px; flex-wrap: wrap; gap: 12px 20px; padding: 18px 16px 22px; }
  .p8b1-home-page .p8b1-site-footer p { order: 3; width: 100%; font-size: 13px; }
  .p8b1-home-page .p8b1-site-footer > a:last-child { font-size: 13px; }
}

@media (prefers-reduced-motion: reduce) {
  .p8b1-home-page .p8b1-desktop-nav .tk-site-nav__link,
  .p8b1-home-page .p8b1-search-form button,
  .p8b1-home-page .p8b1-topic-row,
  .p8b1-home-page .p8b1-past-papers { transition: none; }
}

@media (forced-colors: active) {
  .p8b1-home-page .p8b1-site-header,
  .p8b1-home-page .p8b1-home-hero__frame,
  .p8b1-home-page .p8b1-course-link,
  .p8b1-home-page .p8b1-search-form,
  .p8b1-home-page .p8b1-mobile-tabs { border: 1px solid CanvasText; }
}

/* === Phase 3: 3D library overlay styles === */
/* Layout: canvas fills viewport; overlay floats on top with pointer-events: none except interactive children. */

html, body.tk-3d-page { height: 100%; margin: 0; background: var(--tk-3d-fog-color, #f8f7f7); overflow: hidden; }
body.tk-3d-page { position: relative; min-height: 100vh; }

#three-canvas {
  position: fixed;
  inset: 0;
  width: 100%;
  height: 100%;
  display: block;
  touch-action: none; /* let Three.js own wheel/pinch gestures */
}

.tk-3d-overlay {
  position: fixed;
  inset: 0;
  pointer-events: none; /* children opt back in via pointer-events: auto */
  z-index: var(--tk-layer-overlay, 10);
}
.tk-3d-overlay > * { pointer-events: auto; }
.tk-3d-overlay[data-state="reading"] > * { display: none; } /* PDF.js owns the screen in reading state */

/* Loading screen: shown immediately so first paint is never blank. */
.tk-3d-loading {
  position: fixed;
  inset: 0;
  display: grid;
  place-items: center;
  gap: var(--tk-space-3);
  background: var(--tk-3d-fog-color, #f8f7f7);
  z-index: var(--tk-layer-modal, 30);
  transition: opacity 320ms cubic-bezier(0.2, 0, 0, 1);
}
.tk-3d-loading--hidden { opacity: 0; pointer-events: none; }
.tk-3d-loading__brand {
  font-family: "New York", "Iowan Old Style", "Songti SC", Georgia, serif;
  font-size: clamp(2rem, 6vw, 3.5rem);
  letter-spacing: 0.12em;
  color: var(--tk-color-brand, #7E2528);
}
.tk-3d-loading__bar {
  width: min(20rem, 70vw);
  height: 0.25rem;
  background: var(--tk-color-border-subtle, rgba(0, 0, 0, 0.12));
  border-radius: 999px;
  overflow: hidden;
}
.tk-3d-loading__fill {
  display: block;
  width: 0%;
  height: 100%;
  background: var(--tk-color-brand, #7E2528);
  transition: width 220ms cubic-bezier(0.2, 0, 0, 1);
}
.tk-3d-loading__hint { color: var(--tk-color-text-muted, #6b6b6b); font-size: var(--tk-type-meta-size, 0.875rem); }

/* WebGL unsupported fallback. */
.tk-3d-unsupported {
  position: fixed;
  inset: 0;
  display: grid;
  place-items: center;
  gap: var(--tk-space-3);
  padding: var(--tk-space-6);
  background: var(--tk-color-surface, #fff);
  z-index: var(--tk-layer-modal, 30);
}

/* Header: transparent glass over the 3D scene. */
.tk-3d-header {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--tk-space-3);
  padding: var(--tk-space-3) var(--tk-space-4);
  background: color-mix(in srgb, var(--tk-color-surface, #fff) 70%, transparent);
  backdrop-filter: blur(12px) saturate(140%);
  -webkit-backdrop-filter: blur(12px) saturate(140%);
  border-block-end: var(--tk-border-thin, 1px) solid color-mix(in srgb, var(--tk-color-border, rgba(0,0,0,0.12)) 60%, transparent);
  z-index: var(--tk-layer-overlay, 10) + 1;
}
.tk-3d-header[hidden] { display: none; }
.tk-3d-header__brand { font-family: "New York", "Iowan Old Style", "Songti SC", Georgia, serif; font-size: 1.25rem; letter-spacing: 0.08em; color: var(--tk-color-brand, #7E2528); }
.tk-3d-header__hint { color: var(--tk-color-text-muted, #6b6b6b); font-size: var(--tk-type-meta-size, 0.875rem); }

/* Floating resource info card (preview state). */
.tk-3d-card {
  position: fixed;
  inset-block-end: 25%;
  inset-inline: 0;
  margin-inline: auto;
  width: min(28rem, 90vw);
  display: grid;
  gap: var(--tk-space-2);
  padding: var(--tk-space-4);
  background: color-mix(in srgb, var(--tk-color-surface, #fff) 88%, transparent);
  backdrop-filter: blur(16px) saturate(140%);
  -webkit-backdrop-filter: blur(16px) saturate(140%);
  border: var(--tk-border-thin, 1px) solid var(--tk-color-border-subtle, rgba(0,0,0,0.08));
  border-radius: var(--tk-radius-panel, 12px);
  box-shadow: var(--tk-shadow-raised, 0 12px 32px rgba(0,0,0,0.15));
  z-index: var(--tk-layer-overlay, 10) + 2;
  opacity: 0;
  transform: translateY(8px);
  transition: opacity 240ms cubic-bezier(0.2, 0, 0, 1), transform 240ms cubic-bezier(0.2, 0, 0, 1);
}
.tk-3d-card[hidden] { display: none; }
.tk-3d-card--visible { opacity: 1; transform: translateY(0); }
.tk-3d-card__subject { font-size: var(--tk-type-meta-size, 0.75rem); letter-spacing: 0.08em; text-transform: uppercase; color: var(--tk-color-brand, #7E2528); }
.tk-3d-card__title { font-family: "New York", "Iowan Old Style", "Songti SC", Georgia, serif; font-size: 1.125rem; line-height: 1.3; color: var(--tk-color-text, #1a1a1a); }
.tk-3d-card__meta { display: flex; flex-wrap: wrap; gap: var(--tk-space-2); color: var(--tk-color-text-muted, #6b6b6b); font-size: var(--tk-type-meta-size, 0.875rem); }
.tk-3d-card__actions { display: flex; gap: var(--tk-space-2); margin-block-start: var(--tk-space-2); }

/* Shelf nav (hall state). */
.tk-3d-shelf-nav {
  position: fixed;
  inset-block-end: calc(4.25rem + env(safe-area-inset-bottom, 0px));
  inset-inline: 0;
  margin-inline: auto;
  width: min(40rem, 92vw);
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: var(--tk-space-1);
  padding: var(--tk-space-2) var(--tk-space-3);
  background: color-mix(in srgb, var(--tk-color-surface, #fff) 80%, transparent);
  backdrop-filter: blur(12px) saturate(140%);
  -webkit-backdrop-filter: blur(12px) saturate(140%);
  border: var(--tk-border-thin, 1px) solid var(--tk-color-border-subtle, rgba(0,0,0,0.08));
  border-radius: 999px;
  box-shadow: var(--tk-shadow-raised, 0 8px 24px rgba(0,0,0,0.12));
  z-index: calc(var(--tk-layer-overlay, 10) + 1);
}
.tk-3d-shelf-nav[hidden] { display: none; }
.tk-3d-shelf-nav__chip {
  display: inline-flex;
  align-items: center;
  padding: 0.35rem 0.7rem;
  border-radius: 999px;
  background: transparent;
  color: var(--tk-color-text-muted, #6b6b6b);
  font-size: var(--tk-type-meta-size, 0.8rem);
  border: 1px solid transparent;
  cursor: pointer;
}
.tk-3d-shelf-nav__chip:hover { background: var(--tk-color-surface-muted, rgba(0,0,0,0.04)); color: var(--tk-color-text, #1a1a1a); }
.tk-3d-shelf-nav__chip[aria-current="true"] { background: var(--tk-color-brand, #7E2528); color: #fff; }

/* Footer: minimal complaint mailto link, fixed bottom. */
.tk-3d-footer {
  position: fixed;
  inset-block-end: 0;
  inset-inline: 0;
  display: flex;
  justify-content: center;
  padding: var(--tk-space-1) var(--tk-space-2);
  background: color-mix(in srgb, var(--tk-color-surface, #fff) 50%, transparent);
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
  border-block-start: var(--tk-border-thin, 1px) solid color-mix(in srgb, var(--tk-color-border, rgba(0,0,0,0.12)) 40%, transparent);
  font-size: var(--tk-type-meta-size, 0.75rem);
  color: var(--tk-color-text-muted, #6b6b6b);
  z-index: var(--tk-layer-overlay, 10);
  pointer-events: none;
}
.tk-3d-footer .tk-link { pointer-events: auto; }

/* Error message overlay. */
.tk-3d-error {
  position: fixed;
  inset: 0;
  display: grid;
  place-items: center;
  gap: var(--tk-space-3);
  padding: var(--tk-space-6);
  background: var(--tk-color-surface, #fff);
  z-index: var(--tk-layer-modal, 30);
}

@media (max-width: 37.499rem) {
  .tk-3d-header { padding: var(--tk-space-2) var(--tk-space-3); }
  .tk-3d-header__hint { display: none; }
  .tk-3d-card { inset-block-end: 30%; padding: var(--tk-space-3); }
}

@media (prefers-reduced-motion: reduce) {
  .tk-3d-loading, .tk-3d-card { transition: none; }
}

/* P8-B2: activate the approved Library entry while keeping existing home styles scoped. */
.p8b1-home-page .p8b1-header-library,
.p8b1-home-page .p8b1-entry-status,
.p8b1-home-page .p8b1-mobile-menu__library,
.p8b1-home-page .p8b1-mobile-tabs > a[href$="/library/#/gate"] {
  text-decoration: none;
  transition: background-color .2s ease, color .2s ease, box-shadow .2s ease;
}
.p8b1-home-page .p8b1-header-library:hover,
.p8b1-home-page .p8b1-mobile-menu__library:hover { background: var(--p8b1-wine); color: #fffaf2; }
.p8b1-home-page .p8b1-header-library:hover span { color: #fffaf2; }
.p8b1-home-page .p8b1-entry-status:hover { background: var(--p8b1-wine-deep); }
.p8b1-home-page .p8b1-header-library:focus-visible,
.p8b1-home-page .p8b1-entry-status:focus-visible,
.p8b1-home-page .p8b1-mobile-menu__library:focus-visible,
.p8b1-home-page .p8b1-mobile-tabs > a[href$="/library/#/gate"]:focus-visible {
  outline: 3px solid var(--p8b1-brass);
  outline-offset: 3px;
}

/* Reader layout and focused-reading mode. */
body.p6-reader-page .tk-site-header__inner { padding-block: var(--tk-space-2); }
body.p6-reader-page .p6-main { --tk-stack-space: var(--tk-space-3); padding-block: var(--tk-space-3) var(--tk-space-4); }
body.p6-reader-page #pdf-reader { display: grid; align-content: start; gap: var(--tk-space-2); min-width: 0; }
body.p6-reader-page .p7-reader-identity {
  --tk-stack-space: var(--tk-space-2);
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  grid-template-areas: "title actions" "more more";
  align-items: center;
  gap: var(--tk-space-2) var(--tk-space-4);
}
body.p6-reader-page .p7-reader-identity h1 { grid-area: title; min-width: 0; margin: 0; font-size: clamp(1.2rem, 1.8vw, 1.65rem); line-height: 1.2; overflow-wrap: anywhere; }
.p7-reader-heading-actions { grid-area: actions; display: flex; flex-wrap: wrap; align-items: center; justify-content: flex-end; gap: var(--tk-space-2); min-width: 0; }
.p7-reader-base-actions { align-items: center; gap: var(--tk-space-2); }
.p7-reader-base-actions .tk-action,
.p7-reader-focus-toggle { min-height: var(--tk-control-min-size); }
.p7-reader-focus-toggle { white-space: nowrap; }
.p7-reader-disclosure { min-width: 0; border: var(--tk-border-thin) solid var(--tk-color-border-subtle); border-radius: var(--tk-radius-control); background: var(--tk-color-surface); }
body.p6-reader-page .p7-reader-identity > .p7-reader-resource-disclosure { grid-area: more; }
.p7-reader-disclosure > summary { min-height: var(--tk-control-min-size); padding: var(--tk-space-2) var(--tk-space-3); cursor: pointer; align-content: center; }
.p7-reader-disclosure > summary:focus-visible { outline: 3px solid var(--tk-color-focus); outline-offset: 2px; }
.p7-reader-disclosure-content { display: grid; gap: var(--tk-space-2); padding: 0 var(--tk-space-3) var(--tk-space-3); overflow-wrap: anywhere; }
.p7-reader-disclosure-content > :first-child { margin-block-start: 0; }
.p7-reader-disclosure-content > :last-child { margin-block-end: 0; }
.p7-reader-more-actions { align-items: center; }
.p7-reader-progress-disclosure > .tk-progress-control { padding: 0 var(--tk-space-3) var(--tk-space-3); }
.p7-reader-progress-disclosure .tk-progress-control > :first-child { margin-block-start: 0; }
.p7-reader-progress-disclosure .tk-progress-control > :last-child { margin-block-end: 0; }
.p7-pdf-enhancement { --tk-stack-space: var(--tk-space-2); display: grid; min-width: 0; padding-block-start: 0; border-block-start: 0; }
.p7-reader-controls-title {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}
.p7-pdf-enhancement > .tk-inline-feedback[data-state="success"] {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}
.p7-reader-toolbar { align-items: center; gap: var(--tk-space-2); padding: var(--tk-space-2); }
.p7-reader-toolbar > .tk-action { min-height: var(--tk-control-min-size); }
.p7-pdf-pages {
  height: clamp(12rem, calc(100vh - 14rem), 48rem);
  height: clamp(12rem, calc(100svh - 14rem), 48rem);
  min-height: 12rem;
  max-height: none;
  overscroll-behavior: auto;
  scrollbar-gutter: stable;
}
body.p6-reader-page.p7-reader-focus-mode .tk-site-header { display: none; }
body.p6-reader-page.p7-reader-focus-mode .p6-main { width: 100%; max-width: none; padding-block: var(--tk-space-2); }
body.p6-reader-page.p7-reader-focus-mode #pdf-reader { gap: var(--tk-space-2); }
body.p6-reader-page.p7-reader-focus-mode .p7-reader-disclosure { display: none; }
body.p6-reader-page.p7-reader-focus-mode .p7-reader-identity { --tk-stack-space: 0; }
body.p6-reader-page.p7-reader-focus-mode .p7-reader-identity h1 { font-size: clamp(1rem, 1.4vw, 1.3rem); }
body.p6-reader-page.p7-reader-focus-mode .p7-reader-base-actions { display: none; }
body.p6-reader-page.p7-reader-focus-mode .p7-pdf-enhancement { --tk-stack-space: var(--tk-space-1); }
body.p6-reader-page.p7-reader-focus-mode .p7-pdf-pages {
  height: clamp(12rem, calc(100vh - 10rem), 52rem);
  height: clamp(12rem, calc(100svh - 10rem), 52rem);
}

@media (max-width: 56.249rem) {
  body.p6-reader-page .p6-header-inner { align-items: center; gap: var(--tk-space-2); }
  body.p6-reader-page .p6-header-inner .tk-site-nav { width: auto; }
  body.p6-reader-page .p7-reader-identity { grid-template-columns: minmax(0, 1fr); grid-template-areas: "title" "actions" "more"; gap: var(--tk-space-2); }
  body.p6-reader-page .p7-reader-heading-actions { justify-content: flex-start; }
  body.p6-reader-page .p7-reader-toolbar { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); align-items: stretch; gap: var(--tk-space-1); }
  body.p6-reader-page .p7-reader-toolbar > * { min-width: 0; }
  body.p6-reader-page .p7-reader-toolbar > .tk-action { padding-inline: var(--tk-space-1); white-space: normal; }
  body.p6-reader-page .p7-page-field { grid-column: span 2; flex-basis: auto; grid-template-columns: auto minmax(2.5rem, 1fr) auto; }
  body.p6-reader-page .p7-pdf-pages { padding-inline: 0; }
  body.p6-reader-page.p7-reader-focus-mode .p7-reader-identity h1 { font-size: 1rem; }
}

@media (max-width: 37.499rem) {
  body.p6-reader-page .p7-reader-base-actions { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); width: 100%; gap: var(--tk-space-2); }
  body.p6-reader-page .p7-reader-base-actions .tk-action { min-width: 0; flex: initial; padding-inline: var(--tk-space-2); white-space: normal; }
}

/* P8-UI-01 prototype: align resource pages to the approved Home / Library language. */
body.p6-page:not(.p8b1-home-page) {
  --tk-ref-canvas: #f4f1eb;
  --tk-ref-paper: #e9e3d9;
  --tk-ref-ink: #202522;
  --tk-ref-muted: #575a54;
  --tk-ref-line: #d7d0c5;
  --tk-ref-boundary: #b8afa3;
  --tk-ref-wine: #6a2432;
  --tk-ref-wine-hover: #451721;
  --tk-ref-wine-pressed: #401821;
  --tk-ref-wine-tint: #eee4df;
  --tk-ref-focus: #6a2432;
  --tk-color-canvas: var(--tk-ref-canvas);
  --tk-color-surface: #faf8f4;
  --tk-color-surface-muted: var(--tk-ref-paper);
  --tk-color-text: var(--tk-ref-ink);
  --tk-color-text-muted: var(--tk-ref-muted);
  --tk-color-border-subtle: var(--tk-ref-line);
  --tk-color-border: var(--tk-ref-boundary);
  --tk-color-action: var(--tk-ref-wine);
  --tk-color-action-hover: var(--tk-ref-wine-hover);
  --tk-color-action-pressed: var(--tk-ref-wine-pressed);
  --tk-color-selected-surface: var(--tk-ref-wine-tint);
  --tk-color-selected-border: var(--tk-ref-wine);
  --tk-color-focus: var(--tk-ref-focus);
  --tk-font-ui: Inter, Aptos, "Segoe UI", "PingFang SC", "Microsoft YaHei", sans-serif;
  --tk-font-display: Georgia, "Noto Serif SC", "Songti SC", "STSong", "SimSun", serif;
  background: var(--tk-color-canvas);
  color: var(--tk-color-text);
  font-family: var(--tk-font-ui);
  font-synthesis: none;
  text-rendering: optimizeLegibility;
}

body.p6-page:not(.p8b1-home-page) .tk-site-header {
  border: 0;
  border-block-end: 1px solid var(--tk-ref-line);
  background: #faf8f4;
}

body.p6-page:not(.p8b1-home-page) .p6-header-inner {
  width: min(100%, 1392px);
  min-height: 76px;
  gap: 20px;
  padding: 12px 36px;
}

body.p6-page:not(.p8b1-home-page) .tk-brand {
  min-width: 170px;
  align-items: flex-start;
  justify-content: center;
  flex-direction: column;
  gap: 4px;
  color: #451721;
  font-family: var(--tk-font-display);
  font-size: 22px;
  line-height: 1;
  letter-spacing: -.035em;
}

.p8ui-brand-tagline {
  color: #71695f;
  font-family: var(--tk-font-ui);
  font-size: 9px;
  font-weight: 700;
  line-height: 1.2;
  letter-spacing: .15em;
}

body.p6-page:not(.p8b1-home-page) .tk-site-nav {
  justify-content: flex-end;
  gap: clamp(4px, 1vw, 14px);
}

body.p6-page:not(.p8b1-home-page) .tk-site-nav__link,
.p8ui-nav-current {
  position: relative;
  min-height: 44px;
  align-items: center;
  padding-inline: 7px;
  border: 0;
  border-radius: 0;
  background: transparent;
  color: #54544e;
  font-family: var(--tk-font-ui);
  font-size: 13px;
  text-decoration: none;
}

body.p6-page:not(.p8b1-home-page) .tk-site-nav__link:hover,
body.p6-page:not(.p8b1-home-page) .tk-site-nav__link[aria-current="page"] {
  background: transparent;
  color: var(--tk-ref-wine);
}

body.p6-page:not(.p8b1-home-page) .tk-site-nav__link[aria-current="page"]::after,
.p8ui-nav-current::after {
  position: absolute;
  inset-inline: 7px;
  inset-block-end: 5px;
  height: 1px;
  background: var(--tk-ref-wine);
  content: "";
}

body.p6-page:not(.p8b1-home-page) .p8ui-nav-library {
  margin-inline-start: 5px;
  padding-inline: 14px;
  border-inline-start: 1px solid var(--tk-ref-line);
  color: var(--tk-ref-wine);
  font-weight: 600;
}

.p8ui-nav-current { display: inline-flex; color: var(--tk-ref-wine); font-weight: 600; }
.p8ui-nav-feedback { color: var(--tk-color-text-muted) !important; font-size: 12px !important; }

body[data-page="resources"] .p6-main,
body[data-page="detail"] .p6-main {
  width: min(100%, 1392px);
  padding: 40px 36px 72px;
}

body[data-page="resources"] .p6-page-heading,
body[data-page="detail"] .p6-page-heading {
  --tk-stack-space: 10px;
  margin-block-end: 8px;
}

body[data-page="resources"] .p6-page-heading > .tk-metadata,
body[data-page="detail"] .p6-page-heading > .tk-metadata {
  color: var(--tk-ref-wine);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .13em;
  text-transform: uppercase;
}

body[data-page="resources"] .p6-page-heading .tk-heading--page,
body[data-page="detail"] .p6-page-heading .tk-heading--page {
  max-width: 20ch;
  color: #22241f;
  font-size: clamp(2rem, 3.3vw, 2.85rem);
  line-height: 1.16;
}

body[data-page="resources"] .p6-page-heading .tk-text,
body[data-page="detail"] .p6-page-heading .tk-text {
  max-width: 62ch;
  color: var(--tk-ref-muted);
  font-size: 15px;
}

body[data-page="resources"] .tk-action,
body[data-page="detail"] .tk-action,
body[data-page="reader"] .tk-action {
  border-radius: 3px;
}

body[data-page="resources"] .tk-field,
body[data-page="resources"] .tk-select,
body[data-page="detail"] .tk-field,
body[data-page="reader"] .tk-field {
  border-width: 1px;
  border-radius: 3px;
  background: #faf8f4;
}

/* Discover: filters stay complete; results read as an editorial catalogue. */
body[data-page="resources"] .p6-discovery-layout {
  grid-template-columns: minmax(14rem, 16rem) minmax(0, 1fr);
  gap: clamp(28px, 4vw, 54px);
  margin-block-start: 28px;
}

body[data-page="resources"] .p6-filter-panel {
  padding: 0 26px 0 0;
  border: 0;
  border-inline-end: 1px solid var(--tk-ref-line);
  border-radius: 0;
  background: transparent;
}

body[data-page="resources"] .p6-filter-search,
body[data-page="resources"] .p6-filter-grid { gap: 9px; }
body[data-page="resources"] .p6-filter-grid { margin-block-end: 16px; }
body[data-page="resources"] .tk-label { color: #383a35; font-size: 13px; font-weight: 600; }
body[data-page="resources"] .tk-field,
body[data-page="resources"] .tk-select { min-height: 44px; padding: 9px 12px; }
body[data-page="resources"] .p6-filter-search .tk-action { width: 100%; }
body[data-page="resources"] #clear-filters { min-height: 44px; }

body[data-page="resources"] .p6-results-column { --tk-stack-space: 18px; }
body[data-page="resources"] .p6-results-tools {
  align-items: end;
  padding-block-end: 16px;
  border-block-end: 1px solid var(--tk-ref-line);
}
body[data-page="resources"] .tk-results-summary { color: #33362f; font-size: 14px; }
body[data-page="resources"] .p7-result-controls { gap: 16px; }
body[data-page="resources"] .p7-result-controls .tk-field-group { min-width: 7rem; }
body[data-page="resources"] #active-filters { min-height: 32px; }
body[data-page="resources"] #active-filters .tk-metadata { color: var(--tk-ref-wine); }
body[data-page="resources"] #resource-results {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0 30px;
}
body[data-page="resources"] .p7-resource-card {
  min-height: 0;
  padding: 18px 0 20px;
  border: 0;
  border-block-start: 1px solid var(--tk-ref-line);
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}
body[data-page="resources"] .p7-resource-card .tk-stack { --tk-stack-space: 10px; }
body[data-page="resources"] .p7-resource-card .tk-heading--item {
  font-family: var(--tk-font-display);
  font-size: 20px;
  line-height: 1.28;
}
body[data-page="resources"] .p7-resource-card .p7-result-link {
  color: #292722;
  text-decoration-color: transparent;
  text-decoration-thickness: 1px;
  text-underline-offset: .2em;
}
body[data-page="resources"] .p7-resource-card .p7-result-link:hover {
  color: var(--tk-ref-wine);
  text-decoration-color: currentColor;
}
body[data-page="resources"] .p7-resource-card .tk-text { color: #595b55; font-size: 14px; }
body[data-page="resources"] .p7-resource-card .tk-metadata { color: #777268; font-size: 12px; }
body[data-page="resources"] .p7-resource-card .tk-badge,
body[data-page="resources"] .p7-resource-card .tk-status-label {
  min-height: 27px;
  padding: 3px 9px;
  border-radius: 2px;
  font-size: 11px;
}
body[data-page="resources"] .p7-resource-card .tk-badge { border-color: #c8c0b4; background: transparent; color: #57554e; }
body[data-page="resources"] .p7-resource-card .tk-status-label--selected { border-color: #b98082; background: #f1e7e3; color: var(--tk-ref-wine); }
body[data-page="resources"] .p7-resource-card .tk-cluster:last-child { margin-block-start: 2px; }
body[data-page="resources"] .p7-resource-card .tk-action--secondary {
  justify-content: flex-start;
  min-height: 44px;
  padding: 8px 0;
  border: 0;
  background: transparent;
  color: var(--tk-ref-wine);
  font-size: 13px;
  text-decoration: underline;
  text-underline-offset: .2em;
}
body[data-page="resources"] .tk-pagination > * { border-radius: 2px; }
body[data-page="resources"] .p7-filter-drawer { border: 0; background: #faf8f4; box-shadow: 0 12px 36px rgb(36 29 22 / 18%); }
body[data-page="resources"] .p7-filter-drawer__header,
body[data-page="resources"] .p7-filter-drawer__footer { border-color: var(--tk-ref-line); }

/* Detail: resource identity first, relationships and progress as quiet supporting sections. */
body[data-page="detail"] .back-link {
  width: fit-content;
  min-height: 44px;
  color: var(--tk-ref-wine);
  text-underline-offset: .2em;
}
body[data-page="detail"] #resource-detail { --tk-stack-space: 34px; }
body[data-page="detail"] .tk-resource-identity {
  grid-template-columns: minmax(12rem, 17rem) minmax(0, 1fr);
  align-items: start;
  gap: clamp(28px, 5vw, 64px);
  padding-block: 12px 34px;
  border-block-end: 1px solid var(--tk-ref-line);
}
body[data-page="detail"] .tk-resource-identity .tk-book-preview {
  width: min(100%, 17rem);
  border: 1px solid var(--tk-ref-line);
  border-radius: 2px;
  background: #e6e0d7;
  box-shadow: none;
}
body[data-page="detail"] .tk-resource-identity > .tk-stack { --tk-stack-space: 20px; }
body[data-page="detail"] .tk-resource-identity h1 {
  max-width: 28ch;
  color: #29251f;
  font-size: clamp(1.65rem, 2.5vw, 2.25rem);
  line-height: 1.24;
}
body[data-page="detail"] .tk-metadata-list {
  grid-template-columns: minmax(6rem, 8rem) minmax(0, 1fr);
  gap: 0 18px;
  font-size: 14px;
}
body[data-page="detail"] .tk-metadata-list dt,
body[data-page="detail"] .tk-metadata-list dd {
  padding-block: 8px;
  border-block-end: 1px solid #e0dacf;
}
body[data-page="detail"] .tk-metadata-list dt { color: #6d685e; }
body[data-page="detail"] .tk-resource-actions { gap: 8px; }
body[data-page="detail"] .tk-resource-actions .tk-action { min-height: 44px; }
body[data-page="detail"] .p6-detail-support {
  grid-template-columns: minmax(0, 1.45fr) minmax(16rem, .75fr);
  gap: clamp(28px, 4vw, 56px);
}
body[data-page="detail"] .p6-detail-support > * {
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}
body[data-page="detail"] .p6-detail-support > :first-child,
body[data-page="detail"] .p6-detail-support > :last-child {
  padding-block: 4px 20px;
  border-block-end: 1px solid var(--tk-ref-line);
}
body[data-page="detail"] .p6-detail-support .tk-heading--item,
body[data-page="detail"] #resource-detail > section:last-child .tk-heading--item {
  color: #302b24;
  font-size: 20px;
}
body[data-page="detail"] #resource-detail > section:last-child {
  padding: 18px 0 0;
  border: 0;
  border-block-start: 1px solid var(--tk-ref-line);
  border-radius: 0;
  background: transparent;
}
body[data-page="detail"] .p6-relation-groups .tk-relation-group { padding-block: 10px; border-block-start: 1px solid #e0dacf; }
body[data-page="detail"] .p6-relation-groups .tk-relation-list a { text-underline-offset: .2em; }

/* Reader: same paper, wine and typography; preserve all measured PDF layout dimensions. */
body[data-page="reader"] .p6-header-inner { min-height: 68px; }
body[data-page="reader"] .p6-main { width: min(100%, var(--tk-layout-max)); padding: 10px 32px 20px; }
body[data-page="reader"].p7-reader-focus-mode .p6-main { width: 100%; max-width: none; padding: var(--tk-space-2); }
body[data-page="reader"] #pdf-reader { --tk-stack-space: 12px; }
body[data-page="reader"] .p7-reader-identity { --tk-stack-space: 8px; }
body[data-page="reader"] .p7-reader-identity h1 {
  color: #2b2721;
  font-family: var(--tk-font-display);
  font-size: clamp(1.25rem, 1.9vw, 1.65rem);
  line-height: 1.25;
}
body[data-page="reader"] .p7-reader-identity > .tk-metadata { color: var(--tk-ref-wine); font-size: 12px; }
body[data-page="reader"] .p7-reader-heading-actions { gap: 8px; }
body[data-page="reader"] .p7-reader-base-actions { gap: 6px; }
body[data-page="reader"] .p7-reader-base-actions .tk-action,
body[data-page="reader"] .p7-reader-focus-toggle { min-height: 44px; }
body[data-page="reader"] .p7-reader-pair-link {
  padding-inline: 10px;
  border: 0;
  border-inline-start: 1px solid var(--tk-ref-line);
  background: transparent;
  color: var(--tk-ref-wine);
  font-size: 13px;
  text-decoration: underline;
  text-underline-offset: .2em;
}
body[data-page="reader"] .p7-reader-pair-link:hover { border-color: var(--tk-ref-line); background: transparent; color: var(--tk-ref-wine-hover); }
body[data-page="reader"] .p7-reader-disclosure {
  border: 0;
  border-block: 1px solid var(--tk-ref-line);
  border-radius: 0;
  background: transparent;
}
body[data-page="reader"] .p7-reader-disclosure > summary { padding-inline: 2px; color: #555249; font-size: 13px; }
body[data-page="reader"] .p7-reader-disclosure-content { padding-inline: 2px; }
body[data-page="reader"] .p7-pdf-enhancement { gap: 8px; }
body[data-page="reader"] .p7-reader-toolbar {
  gap: 6px;
  padding: 6px 0;
  border: 0;
  border-block: 1px solid var(--tk-ref-line);
  border-radius: 0;
  background: transparent;
}
body[data-page="reader"] .p7-reader-toolbar .tk-action {
  min-height: 44px;
  border-width: 1px;
  border-radius: 3px;
  background: #faf8f4;
  color: #3c3932;
}
body[data-page="reader"] .p7-reader-toolbar .tk-action[aria-pressed="true"] {
  border-color: #b98082;
  background: #f1e7e3;
  color: var(--tk-ref-wine);
}
body[data-page="reader"] .p7-pdf-pages {
  border: 0;
  background: #e9e3d9;
}
body[data-page="reader"] .p7-pdf-page { box-shadow: 0 1px 4px rgb(36 29 22 / 15%); }
body[data-page="reader"].p7-reader-focus-mode .p7-reader-toolbar { padding-block: 4px; }

@media (max-width: 56.249rem) {
  body.p6-page:not(.p8b1-home-page) .p6-header-inner {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    align-items: start;
    gap: 4px;
    padding: 8px 24px 10px;
  }
  body.p6-page:not(.p8b1-home-page) .tk-site-nav {
    width: 100%;
    justify-content: start;
    gap: 0 8px;
  }
  body.p6-page:not(.p8b1-home-page) .tk-site-nav__link,
  body.p6-page:not(.p8b1-home-page) .p8ui-nav-current { padding-inline: 7px; font-size: 12px; }
  body[data-page="resources"] .p6-discovery-layout { grid-template-columns: minmax(0, 1fr); gap: 18px; }
  body[data-page="resources"] .p6-filter-panel { padding: 0; border: 0; }
  body[data-page="resources"] #resource-results { grid-template-columns: minmax(0, 1fr); }
  body[data-page="resources"] .p7-resource-card { padding-block: 16px 18px; }
  body[data-page="detail"] .p6-main { padding: 28px 24px 52px; }
  body[data-page="detail"] .p6-detail-support { grid-template-columns: minmax(0, 1fr); gap: 24px; }
  body[data-page="reader"] .p6-main { padding: 8px 20px 16px; }
}

@media (max-width: 37.499rem) {
  .p8ui-brand-tagline { display: none; }
  body.p6-page:not(.p8b1-home-page) .tk-site-nav {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    justify-content: start;
    gap: 0 6px;
  }
  body.p6-page:not(.p8b1-home-page) .tk-site-nav__link,
  body.p6-page:not(.p8b1-home-page) .p8ui-nav-current { min-height: 44px; padding-inline: 6px; font-size: 12px; }
  body.p6-page:not(.p8b1-home-page) .tk-site-nav__link { justify-content: flex-start; padding-inline: 6px; font-size: 12px; white-space: nowrap; }
  body.p6-page:not(.p8b1-home-page) .p8ui-nav-library { margin-inline-start: 0; padding-inline: 6px; border-inline-start: 0; }
  body.p6-page:not(.p8b1-home-page) .p8ui-nav-feedback { display: none; }
  body[data-page="reader"] .p6-header-inner { position: relative; }
  body[data-page="reader"] .p8ui-nav-current { position: absolute; inset-block-start: 14px; inset-inline-end: 24px; padding: 0; }
  body[data-page="reader"] .p8ui-nav-current::after { inset-inline: 0; inset-block-end: -3px; }
  body[data-page="resources"] .p6-main { padding: 26px 24px 48px; }
  body[data-page="resources"] .p6-results-tools { align-items: flex-start; }
  body[data-page="resources"] .p7-result-controls { width: 100%; }
  body[data-page="resources"] .p7-result-controls .tk-field-group { flex: 1 1 7rem; }
  body[data-page="detail"] .tk-resource-identity { grid-template-columns: minmax(5.75rem, 7.25rem) minmax(0, 1fr); gap: 14px; }
  body[data-page="detail"] .tk-resource-identity .tk-book-preview { width: 100%; }
  body[data-page="detail"] .tk-resource-identity > .tk-stack { --tk-stack-space: 12px; }
  body[data-page="detail"] .tk-resource-identity h1 { font-size: 1.25rem; }
  body[data-page="detail"] .tk-metadata-list { grid-template-columns: minmax(4.25rem, 5rem) minmax(0, 1fr); gap: 0 8px; font-size: 12px; }
  body[data-page="detail"] .tk-resource-actions .tk-action { flex: 1 1 100%; }
  body[data-page="reader"] .p6-main { padding: 6px 12px 12px; }
  body[data-page="reader"] .p7-reader-pair-link { border-inline-start: 0; }
  body[data-page="reader"] .p7-reader-heading-actions { display: flex; flex-wrap: wrap; gap: 4px; }
  body[data-page="reader"] .p7-reader-base-actions {
    display: flex;
    flex: 1 1 100%;
    flex-wrap: wrap;
    width: auto;
    gap: 4px;
  }
  body[data-page="reader"] .p7-reader-base-actions .tk-action {
    flex: 0 1 auto;
    min-width: 0;
    padding: 7px 8px;
    font-size: 12px;
    white-space: nowrap;
  }
  body[data-page="reader"] .p7-reader-pair-link { padding-inline: 6px; font-size: 12px; }
  body[data-page="reader"] .p7-reader-focus-toggle { min-height: 44px; padding-inline: 10px; font-size: 12px; }
}

@media (prefers-reduced-motion: reduce) {
  body.p6-page:not(.p8b1-home-page) *,
  body.p6-page:not(.p8b1-home-page) *::before,
  body.p6-page:not(.p8b1-home-page) *::after { scroll-behavior: auto; }
}

/* P8-UI-01 owner review refinement: tighten catalogue rhythm and unify controls. */
body[data-page="resources"] .p6-main { gap: clamp(22px, 2.2vw, 32px); }
body[data-page="resources"] .p6-discovery-layout {
  gap: clamp(24px, 3vw, 42px);
  margin-block-start: 0;
}
body[data-page="resources"] #catalog-filters {
  gap: 14px;
  padding: 18px;
  border: 1px solid var(--tk-ref-line);
  background: #f8f5ef;
}
body[data-page="resources"] .p6-filter-search,
body[data-page="resources"] .p6-filter-grid { gap: 11px; }
body[data-page="resources"] .p6-filter-grid { margin-block-end: 0; }
body[data-page="resources"] #catalog-filters .tk-label { font-size: 14px; }
body[data-page="resources"] .p6-results-column { --tk-stack-space: 12px; }
body[data-page="resources"] .p6-results-tools {
  align-items: center;
  padding: 12px 14px;
  border: 1px solid var(--tk-ref-line);
  background: #f8f5ef;
}
body[data-page="resources"] .tk-results-summary { font-weight: 600; }
body[data-page="resources"] #active-filters { min-height: 0; }
body[data-page="resources"] #resource-results {
  gap: 14px 18px;
}
body[data-page="resources"] .p7-resource-card {
  align-content: start;
  padding: 18px;
  border: 1px solid var(--tk-ref-line);
  background: #faf8f4;
}
body[data-page="resources"] .p7-resource-card .tk-cluster:first-child { gap: 7px; }
body[data-page="resources"] .p7-resource-card .tk-cluster:last-child {
  margin-block-start: auto;
  padding-block-start: 4px;
}
body[data-page="resources"] .p7-resource-card .tk-action--secondary {
  gap: 8px;
  padding: 7px 10px;
  border: 1px solid #d8c7c1;
  background: #f3eae5;
  text-decoration: none;
}
body[data-page="resources"] .p7-resource-card .tk-action--secondary::after { content: "↗"; }
body[data-page="resources"] .p7-resource-card .tk-action--secondary:hover {
  border-color: #b98082;
  background: #eee0dc;
  text-decoration: underline;
}

/* Detail: keep the cover-led layout while separating identity, actions and support. */
body[data-page="detail"] .p6-main { gap: 34px; }
body[data-page="detail"] #resource-detail { --tk-stack-space: 28px; }
body[data-page="detail"] .tk-resource-identity {
  gap: clamp(26px, 4vw, 54px);
  padding-block-end: 28px;
}
body[data-page="detail"] .tk-metadata-list dt,
body[data-page="detail"] .tk-metadata-list dd { padding-block: 9px; }
body[data-page="detail"] .tk-metadata-list dt {
  color: #746e63;
  font-size: 12px;
  letter-spacing: .02em;
}
body[data-page="detail"] .tk-metadata-list dd {
  color: #302d27;
  font-weight: 500;
}
body[data-page="detail"] .tk-resource-actions { align-items: center; gap: 7px; }
body[data-page="detail"] .tk-resource-actions .tk-action--secondary {
  border-color: transparent;
  background: transparent;
  color: var(--tk-ref-wine);
}
body[data-page="detail"] .tk-resource-actions .tk-action--secondary:hover {
  border-color: var(--tk-ref-line);
  background: #f8f5ef;
}
body[data-page="detail"] .p6-detail-support { gap: clamp(30px, 4.5vw, 60px); }
body[data-page="detail"] .p6-detail-support .tk-progress-control { padding-block-start: 8px; }

/* Reader: soften individual controls without changing the measured PDF viewport. */
body[data-page="reader"] .p7-reader-heading-actions .tk-action {
  border-color: transparent;
  background: transparent;
}
body[data-page="reader"] .p7-reader-heading-actions .tk-action:hover {
  border-color: var(--tk-ref-line);
  background: #f8f5ef;
}
body[data-page="reader"] .p7-reader-heading-actions .p7-reader-pair-link {
  border: 1px solid #d8c7c1;
  background: #f3eae5;
  color: var(--tk-ref-wine);
  text-decoration: none;
}
body[data-page="reader"] .p7-reader-heading-actions .p7-reader-pair-link:hover {
  border-color: #b98082;
  background: #eee0dc;
}
body[data-page="reader"] .p7-reader-heading-actions .p7-reader-focus-toggle {
  border-color: #b98082;
  background: #f3eae5;
  color: var(--tk-ref-wine);
}
body[data-page="reader"] .p7-reader-heading-actions .p7-reader-focus-toggle[aria-pressed="true"] {
  border-color: var(--tk-ref-wine);
  background: var(--tk-ref-wine);
  color: #fffaf5;
}
body[data-page="reader"] .p7-reader-toolbar {
  padding-inline: 8px;
  background: #f7f4ee;
}
body[data-page="reader"] .p7-reader-toolbar .tk-action {
  border-color: transparent;
  background: transparent;
}
body[data-page="reader"] .p7-reader-toolbar .tk-action:hover {
  border-color: var(--tk-ref-line);
  background: #faf8f4;
}
body[data-page="reader"] .p7-reader-toolbar .tk-action[aria-pressed="true"] {
  border-color: #b98082;
  background: #f1e7e3;
}

@media (max-width: 37.499rem) {
  body[data-page="resources"] .p6-main { gap: 22px; }
  body[data-page="resources"] #catalog-filters { padding: 14px; }
  body[data-page="resources"] .p6-results-tools { padding: 12px; }
  body[data-page="resources"] .p7-resource-card { padding: 16px; }
  body[data-page="detail"] .p6-main { gap: 28px; }
}

/* P8-UI-01 mobile convergence: use the Home disclosure pattern on platform pages. */
body.p6-page:not(.p8b1-home-page) .p8b1-menu-toggle { display: none; }
body.p6-page:not(.p8b1-home-page) .tk-site-nav[hidden] { display: none; }

@media (max-width: 760px) {
  body.p6-page:not(.p8b1-home-page) .p6-header-inner {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 44px;
    align-items: center;
    gap: 0 12px;
    padding: 8px 16px;
  }
  body.p6-page:not(.p8b1-home-page) .p8b1-menu-toggle:not([hidden]) {
    display: grid;
    width: 44px;
    height: 44px;
    place-items: center;
    border: 1px solid var(--tk-ref-line);
    background: transparent;
    color: var(--tk-ref-wine);
    font-size: 20px;
    cursor: pointer;
  }
  body.p6-page:not(.p8b1-home-page) .p8b1-menu-toggle:focus-visible {
    outline: 3px solid var(--tk-ref-focus);
    outline-offset: 3px;
  }
  body.p6-page:not(.p8b1-home-page) .tk-site-nav:not([hidden]) {
    display: grid;
    grid-column: 1 / -1;
    grid-template-columns: minmax(0, 1fr);
    justify-content: stretch;
    width: 100%;
    gap: 0;
    padding-block: 8px 4px;
    border-block-start: 1px solid var(--tk-ref-line);
  }
  body.p6-page:not(.p8b1-home-page) .tk-site-nav__link,
  body.p6-page:not(.p8b1-home-page) .p8ui-nav-current {
    display: flex;
    min-height: 48px;
    align-items: center;
    padding: 8px 4px;
    border-block-end: 1px solid var(--tk-ref-line);
  }
  body.p6-page:not(.p8b1-home-page) .tk-site-nav__link:focus-visible {
    outline: 3px solid var(--tk-ref-focus);
    outline-offset: 2px;
  }
}

/* Discover keeps search visible and moves sort/page-size controls into its existing drawer. */
@media (max-width: 37.499rem) {
  body[data-page="resources"] .p6-main { gap: 14px; }
  body[data-page="resources"] .p6-page-heading { gap: 7px; }
  body[data-page="resources"] #catalog-filters { gap: 8px; padding: 10px; }
  body[data-page="resources"] .p6-filter-search { gap: 6px; }
  body[data-page="resources"] .p6-results-tools {
    min-height: 44px;
    align-items: center;
    padding: 8px 10px;
  }
  body[data-page="resources"] .p7-result-controls { display: none; }
}

/* Reader ordinary mode: tighten only the mobile identity area; preserve the PDF viewport. */
@media (max-width: 37.499rem) {
  body[data-page="reader"]:not(.p7-reader-focus-mode) #pdf-reader { gap: 6px; }
  body[data-page="reader"]:not(.p7-reader-focus-mode) .p7-reader-identity { gap: 4px; }
  body[data-page="reader"]:not(.p7-reader-focus-mode) .p7-reader-identity h1 {
    font-size: 1.18rem;
    line-height: 1.18;
  }
  body[data-page="reader"]:not(.p7-reader-focus-mode) .p7-reader-heading-actions { gap: 2px; }
  body[data-page="reader"]:not(.p7-reader-focus-mode) .p7-reader-base-actions { gap: 3px; }
  body[data-page="reader"]:not(.p7-reader-focus-mode) .p7-reader-base-actions .tk-action {
    min-height: 44px;
    padding-block: 5px;
  }
  body[data-page="reader"]:not(.p7-reader-focus-mode) .p7-reader-disclosure > summary {
    min-height: 44px;
    padding-block: 5px;
  }
}
