/* Collections and sample readers share the existing brand tokens. */
.collection-hero { padding-bottom: 28px; }
.collection-nav { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 24px; }
.collection-nav a { border: 1px solid var(--border); border-radius: var(--radius-pill); padding: 8px 16px; color: var(--text); font-size: var(--fs-small); }
.collection-nav a:hover { border-color: var(--brand); background: var(--brand-soft); text-decoration: none; }
.collection-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 28px; align-items: start; }
.collection { border: 1px solid var(--border); border-radius: 20px; overflow: hidden; background: var(--surface); scroll-margin-top: 100px; }
.collection__intro { padding: 28px 28px 24px; }
.collection__eyebrow { color: var(--brand); font-size: var(--fs-small); font-weight: 500; }
.collection h2 { font-size: clamp(1.35rem, 2vw, 1.7rem); line-height: 1.4; margin-top: 8px; }
.collection__stats { display: flex; flex-wrap: wrap; gap: 16px; align-items: baseline; margin: 16px 0; font-size: var(--fs-small); color: var(--text-secondary); }
.collection__stats strong { color: var(--brand); font-size: 1.3rem; }
.collection__description { color: var(--text-secondary); margin-bottom: 20px; }
.collection__browse { padding: 20px 24px; background: var(--surface-soft); min-width: 0; }
.collection__browse > p { font-size: var(--fs-small); font-weight: 500; margin-bottom: 16px; }
.collection__browse > p span { display: block; color: var(--text-secondary); font-weight: 400; font-size: var(--fs-tiny); }
.collection__shelf { display: flex; gap: 18px; overflow-x: auto; scroll-snap-type: x mandatory; padding: 0 2px 16px; scrollbar-width: thin; }
.collection-book { flex: 0 0 130px; min-width: 0; scroll-snap-align: start; color: var(--text); }
.collection-book img { width: 130px; height: 184px; object-fit: contain; object-position: bottom; filter: drop-shadow(0 3px 4px var(--border)); }
.collection-book span { display: block; font-size: .8rem; line-height: 1.5; margin-top: 12px; }
.collection-book small { display: block; color: var(--brand); margin-top: 6px; }
.collection--starter { grid-column: 1 / -1; display: block; border-color: var(--brand-line); }
.collection--starter .collection__intro { padding: 36px; align-self: center; }
.collection--starter .collection__shelf { justify-content: center; }
.collection--starter .collection-book { flex-basis: 145px; }
.collection--starter .collection-book img { width: 145px; height: 205px; }
.collection__contents { margin-top: 12px; border-top: 1px solid var(--border); padding-top: 14px; font-size: var(--fs-small); }
.collection__contents summary { cursor: pointer; color: var(--brand); font-weight: 500; }
.collection__contents ol { padding-left: 20px; margin-top: 12px; }
.collection__contents li { padding-block: 6px; }
.collection__contents li span { color: var(--text-secondary); margin-left: 8px; white-space: nowrap; }
.collection-custom { display: flex; align-items: center; justify-content: space-between; gap: 32px; }
.collection-custom p { max-width: 65ch; color: var(--text-secondary); margin-top: 12px; }
@media (max-width: 800px) {
  .collection-grid { grid-template-columns: 1fr; }
  .collection--starter { display: block; }
  .collection--starter .collection__shelf { justify-content: flex-start; }
  .collection-custom { display: block; }
}
@media (max-width: 500px) {
  .collection__intro, .collection--starter .collection__intro { padding: 22px; }
  .collection__browse { padding: 18px; }
  .collection__shelf { gap: 14px; }
}
.article-search{margin-bottom:24px}.article-search label{display:block;font-weight:500;margin-bottom:10px}.article-search input{width:100%;padding:14px 18px;border:1px solid var(--border);border-radius:12px;background:var(--surface);color:var(--text);font:inherit}.article-search p{margin-top:12px;color:var(--text-secondary)}.article-pager{display:flex;justify-content:center;align-items:center;gap:20px;margin-top:28px}.article-pager[hidden],[data-article-library] [hidden]{display:none!important}.filters .chip[aria-current="true"]{background:var(--brand);color:var(--text-on-dark)}.article__sources{padding:24px;margin:32px 0;background:var(--surface-soft);border-radius:16px}.article__sources h2{font-size:var(--fs-h3)}.article__sources ol{padding-left:24px}.article__sources li{padding-block:8px;overflow-wrap:anywhere}.article__sources p{margin-block:12px}
.article-editorial{display:flex;flex-direction:column;justify-content:space-between;gap:14px;min-height:210px;width:100%;padding:24px;background:var(--brand-soft);border-left:6px solid var(--brand);color:var(--text);box-sizing:border-box}.article-editorial small{color:var(--brand);font-weight:600;letter-spacing:.04em}.article-editorial strong{font-size:clamp(1.25rem,2vw,1.7rem);line-height:1.45;overflow-wrap:anywhere}.article-editorial>span{font-size:.8rem;color:var(--text-secondary)}
.article-diagram{border:1px solid var(--brand-line);background:var(--surface-soft);border-radius:16px;padding:24px;margin:32px 0;overflow-wrap:anywhere}.article-diagram figcaption>span{display:block;font-size:14px;color:var(--brand);margin-bottom:6px}.article-diagram figcaption>strong{font-size:1.2rem;line-height:1.6}.article-diagram__nodes{list-style:none!important;padding:0!important;margin:20px 0!important}.article-diagram__nodes>li{position:relative;display:flex;align-items:flex-start;gap:14px;background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:18px;margin:0 0 36px!important}.article-diagram__nodes>li:last-child{margin-bottom:0!important}.article-diagram__number{background:var(--brand);color:var(--text-on-dark);border-radius:50%;width:32px;height:32px;display:grid;place-items:center;flex-shrink:0;font-size:16px}.article-diagram__nodes p{font-size:16px;line-height:1.8;margin:6px 0 0!important}.article-diagram__arrow{width:24px;height:30px;fill:none;stroke:var(--brand);stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.article-diagram__nodes .article-diagram__arrow{position:absolute;bottom:-33px;left:calc(50% - 12px)}.article-diagram__caption{font-size:14px!important;color:var(--text-secondary);margin-bottom:0!important}.article-cover-art{display:flex;flex-direction:column;padding:24px;gap:16px;width:100%;min-height:280px;background:var(--brand-soft);color:var(--text);border-top:5px solid var(--brand);box-sizing:border-box}.article-cover-art>small{font-size:12px;letter-spacing:.04em;color:var(--brand)}.article-cover-art>strong{font-size:clamp(1.2rem,2vw,1.65rem);line-height:1.45}.article-cover-art__diagram{display:flex;align-items:center;gap:8px;margin-top:auto}.article-cover-art__diagram>span{flex:1;min-width:0;border:1px solid var(--brand-line);background:var(--surface);padding:10px 6px;border-radius:8px;font-size:12px;line-height:1.5;text-align:center;overflow-wrap:anywhere}.article-cover-art__diagram svg{width:14px;height:24px;transform:rotate(-90deg);flex-shrink:0}.article__cover{margin-bottom:28px}.article__cover .article-cover-art{border-radius:16px;min-height:260px;padding:32px}.article__cover .article-cover-art__diagram>span{font-size:16px;padding:16px}.article__cover .article-cover-art>strong{font-size:1.8rem}@media(max-width:600px){.article-diagram{padding:16px}.article-diagram__nodes>li{padding:14px;gap:10px}.article__cover .article-cover-art{padding:20px}.article__cover .article-cover-art>strong{font-size:1.5rem}.article__cover .article-cover-art__diagram>span{font-size:13px;padding:10px 6px}}
