/* Resource library only; shared site tokens and controls retain their responsibilities. */
.resource-main { min-width: 0; padding-bottom: var(--space-3xl); }
.resource-main [hidden] { display: none !important; }
.resource-main h1 { overflow-wrap: anywhere; }
.resource-main a:focus-visible, .resource-main button:focus-visible, .resource-main select:focus-visible,
.resource-main summary:focus-visible, .resource-main [tabindex]:focus-visible { outline: 3px solid var(--color-focus-ring); outline-offset: 4px; }
.resource-filters { display: flex; flex-wrap: wrap; align-items: end; gap: var(--space-md); padding: var(--space-lg); background: var(--color-surface); border: 1px solid var(--color-border); border-radius: var(--radius-lg); }
.resource-filters label { display: grid; gap: var(--space-xs); flex: 1 1 14rem; min-width: 0; }
.resource-filters select { font: inherit; width: 100%; min-height: 48px; padding: var(--space-xs); border: 1px solid var(--color-border-strong); border-radius: var(--radius-sm); color: var(--color-text-primary); background: var(--color-background); }
.resource-filters p { flex-basis: 100%; margin: 0; color: var(--color-text-secondary); }
.resource-family { margin-top: var(--space-3xl); }
.resource-family > p { color: var(--color-text-secondary); }
.resource-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 19rem), 1fr)); gap: var(--space-lg); list-style: none; padding: 0; }
.resource-card { min-width: 0; padding: var(--space-lg); border: 1px solid var(--color-border); border-radius: var(--radius-lg); background: var(--color-surface); display: flex; flex-direction: column; }
.resource-card h3 { margin: 0; font-size: 1.2rem; }
.resource-card p { color: var(--color-text-secondary); }
.resource-card-link { margin-top: auto; display: inline-flex; align-items: center; min-height: 48px; }
.resource-preset { padding-top: var(--space-xl); }
.resource-back { display: inline-flex; align-items: center; min-height: 48px; }
.resource-intro { margin: var(--space-xl) 0; max-width: var(--measure-reading); }
.resource-intro h1 { font-size: clamp(2rem, 5vw, 3.4rem); line-height: 1.15; }
.resource-print-guide { padding: var(--space-lg); border-left: 3px solid var(--color-accent-primary); background: var(--color-surface); }
.resource-print-guide h2 { font-size: 1.2rem; margin-top: 0; }
.resource-print-guide p { max-width: var(--measure-reading); margin-bottom: 0; }
.resource-papers { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-xl); margin-top: var(--space-xl); }
.resource-paper { min-width: 0; }
.resource-measurements { color: var(--color-text-secondary); }
.resource-preview { margin-top: var(--space-lg); }
.resource-preview summary { cursor: pointer; min-height: 48px; padding-block: var(--space-sm); }
.resource-paper-scroll { max-width: 100%; overflow: auto; border: 1px solid var(--color-border-strong); background: #fff; color: #000; }
.resource-paper-scroll svg { display: block; width: 100%; min-width: 420px; height: auto; }
@media (max-width: 60rem) { .resource-papers { grid-template-columns: minmax(0, 1fr); } }
@media (forced-colors: active) { .resource-paper-scroll { forced-color-adjust: none; } }

/* Screen copy only: sheet previews and physical print geometry are untouched. */
@media screen {
  .resource-card > h3 { line-height: 1.3; margin-bottom: var(--space-xs); }
  .resource-card > p, .resource-filters > p { line-height: 1.5; }
  .resource-library > [data-resource-count] { margin-top: var(--space-md); }
  .resource-intro > h1 { margin-bottom: var(--space-md); }
  .resource-intro > ul, .resource-intro > p, .resource-print-guide > p { line-height: 1.5; }
  .resource-intro > ul > li + li { margin-top: var(--space-xs); }
  .resource-print-guide > h2 { margin-bottom: var(--space-md); }
}
