/* One searchable collection, with a quiet discipline index and inspectable examples. */
.library-overview { display:flex; align-items:center; gap:48px; padding:23px 0; margin:0 0 35px; border-top:1px solid var(--line); border-bottom:1px solid var(--line); scroll-margin-top:24px; }
.library-stat { display:flex; align-items:center; gap:14px; }
.library-stat strong { color:var(--ink); font:550 29px/1 var(--font); letter-spacing:-1px; font-variant-numeric:tabular-nums; }
.library-stat span { max-width:100px; color:var(--subtle); font-size:11px; line-height:1.5; }
.library-index { display:grid; grid-template-columns:186px minmax(0,1fr); gap:42px; align-items:start; }
.library-area-index { position:sticky; top:24px; }
.library-index-label { margin:0 0 17px; color:var(--subtle); text-transform:uppercase; letter-spacing:.1em; font:9px/1.5 var(--mono); }
.library-filter-chips { display:flex; flex-direction:column; gap:5px; }
.area-filter-chip { display:flex; align-items:center; justify-content:space-between; gap:12px; width:100%; padding:12px 11px; border:1px solid transparent; border-radius:5px; color:var(--muted); background:transparent; text-align:left; font-size:11px; line-height:1.6; }
.area-filter-chip:hover { color:var(--ink); background:var(--surface-hover); }
.area-filter-chip.active { color:var(--ink); background:var(--surface); border-color:var(--line); box-shadow:inset 2px 0 var(--accent); }
.chip-count { color:var(--subtle); font:10px var(--mono); }
.library-index-note { margin-top:27px; padding:22px 10px 0; border-top:1px solid var(--line); }
.library-index-note > span { display:block; margin-bottom:12px; color:var(--warm); font:21px var(--mono); }
.library-index-note p { color:var(--subtle); font-size:11px; line-height:1.9; }
.library-collection { min-width:0; }
.library-toolbar { margin-bottom:18px; }
.library-toolbar .field-label { margin-bottom:9px; color:var(--muted); font-size:11px; font-weight:500; }
.library-toolbar input[type="search"] { height:49px; padding-left:17px; background:var(--surface); border-color:var(--line-strong); font-size:13px; }
.mobile-area-select { display:none; }
.catalogue-summary,.library-section-title { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:12px; margin:0 0 18px; }
.catalogue-count { color:var(--subtle); font:10px/1.5 var(--mono); }
.catalogue-summary .text-button { color:var(--muted); font-size:11px; font-weight:500; }
.catalogue-summary .text-button::after { content:"↓"; padding-left:7px; }
.adapter-library { display:grid; gap:12px; }
.adapter-card { position:relative; display:grid; grid-template-columns:18px 42px minmax(0,1fr) auto; align-items:center; gap:17px; padding:25px 22px; border:1px solid var(--line); border-radius:7px; background:var(--surface); transition:border-color .18s ease,background-color .18s ease; }
.adapter-card:hover { border-color:var(--line-strong); background:var(--surface-raised); }
.adapter-card[data-adapter-id="math-model"] { border-color:var(--line-strong); }
.adapter-card-index { color:var(--subtle); font:9px var(--mono); align-self:start; padding-top:15px; }
.adapter-glyph { display:flex; align-items:center; justify-content:center; width:42px; height:42px; border:1px solid var(--line); border-radius:7px; color:var(--accent); background:var(--surface-soft); align-self:start; }
.adapter-glyph[data-area="algebra"],.adapter-glyph[data-area="linear"] { color:var(--warm); }
.adapter-glyph svg { width:23px; height:23px; }
.adapter-card-main { min-width:0; }
.adapter-card-heading { display:flex; flex-wrap:wrap; align-items:center; gap:10px; margin-bottom:9px; }
.adapter-card-heading h2 { color:var(--ink); font-size:17px; font-weight:650; letter-spacing:-.45px; }
.adapter-method { padding:3px 6px; border:1px solid var(--line); border-radius:3px; color:var(--subtle); font:8px/1.5 var(--mono); white-space:nowrap; }
.adapter-card-main > p { max-width:680px; color:var(--muted); font-size:12px; line-height:1.8; }
.adapter-card-main > .adapter-featured { margin-top:10px; font-size:11px; color:var(--ink); }
.adapter-featured > span { color:var(--subtle); }
.adapter-card-foot { display:flex; align-items:center; flex-wrap:wrap; gap:0 14px; margin-top:12px; color:var(--subtle); font-size:10px; }
.adapter-card-foot > span + span::before { content:"·"; margin-right:14px; }
.adapter-card .catalogue-actions { display:flex; flex-direction:column; align-items:flex-end; gap:11px; margin-left:8px; }
.adapter-card .adapter-open { min-height:37px; padding:9px 12px; border:1px solid var(--line-strong); border-radius:5px; color:var(--ink); background:transparent; font-size:11px; font-weight:550; }
.adapter-card .adapter-open:hover { color:var(--canvas); background:var(--ink); border-color:var(--ink); }
.adapter-card .catalogue-actions .text-button { color:var(--muted); font-size:10px; font-weight:500; }
.adapter-explanation { color:var(--muted); font-size:13px; line-height:1.8; max-width:900px; margin:0 0 23px; }
.library-section-title h2 { font-size:16px; }
.library-section-title > span,.library-section-title p { color:var(--muted); font-size:12px; }
.catalogue-meta { display:flex; align-items:center; gap:10px; flex-wrap:wrap; color:var(--muted); font-size:11px; }
.availability-label.runnable { color:var(--green); background:var(--green-soft); }
@media(max-width:1200px) { .library-index { grid-template-columns:165px minmax(0,1fr); gap:26px; } .adapter-card { grid-template-columns:36px minmax(0,1fr) auto; gap:14px; padding:22px 18px; } .adapter-card-index { display:none; } .adapter-glyph { width:36px; height:36px; } .adapter-card-heading h2 { font-size:16px; } .adapter-card-heading { gap:8px; } }
@media(max-width:900px) { .adapter-card { grid-template-columns:36px minmax(0,1fr); } .adapter-card .catalogue-actions { grid-column:2; flex-direction:row; justify-content:space-between; align-items:center; margin:3px 0 0; } }
@media(max-width:750px) {
  .library-index { display:block; }
  .library-area-index { display:none; }
  .mobile-area-select { display:block; }
  .library-toolbar { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,.7fr); gap:15px; }
  .library-toolbar select { height:49px; font-size:11px; }
}
@media(max-width:550px) {
  .library-overview { justify-content:space-between; gap:15px; margin-bottom:25px; padding:21px 0; }
  .library-stat { flex-direction:column; align-items:flex-start; gap:7px; }
  .library-stat strong { font-size:27px; }
  .library-stat span { font-size:9px; }
  .library-toolbar { grid-template-columns:minmax(0,1fr); gap:12px; }
  .catalogue-count { font-size:9px; }
  .catalogue-summary .text-button { font-size:10px; }
  .adapter-card { grid-template-columns:32px minmax(0,1fr); padding:19px 15px; gap:12px; }
  .adapter-glyph { width:32px; height:32px; }
  .adapter-glyph svg { width:19px; height:19px; }
  .adapter-card-heading h2 { font-size:16px; line-height:1.5; }
  .adapter-card-foot { font-size:9px; gap:0 10px; }
  .adapter-card-foot > span + span::before { margin-right:10px; }
  .adapter-card-main > p { font-size:12px; }
  .adapter-card .catalogue-actions { margin-top:4px; }
  .adapter-card .adapter-open { font-size:10px; }
}

.adapter-reference { margin:28px 0; }
.adapter-reference > h2 { font-size:18px; }
.adapter-contract-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:15px; margin:19px 0 25px; }
.adapter-contract-card { min-width:0; padding:22px; border:1px solid var(--line); border-radius:var(--radius); background:var(--surface); }
.adapter-contract-card h3 { margin:0 0 10px; font-size:12px; color:var(--accent); }
.adapter-contract-card p,.adapter-contract-card li,.adapter-author-guide p,.adapter-author-guide li { color:var(--muted); font-size:12px; line-height:1.85; }
.adapter-contract-card ul { padding-left:17px; margin:0; }
.adapter-contract-card li { padding:2px 0; }
.reference-example,.adapter-author-guide { margin:20px 0; padding:25px; border:1px solid var(--line); border-radius:var(--radius); background:var(--surface); }
.reference-example h2,.adapter-author-guide h2 { margin:0 0 12px; font-size:17px; }
.reference-example pre { overflow:auto; max-height:430px; padding:20px; margin:19px 0; border:1px solid var(--line); border-radius:8px; font:12px/1.8 var(--mono); color:var(--muted); background:var(--surface-code); tab-size:2; }
.reference-example .library-section-title { margin-bottom:18px; align-items:flex-start; }
.reference-example .library-section-title > div { min-width:0; flex:1; }
.reference-example .library-section-title h2 { font-size:17px; margin-bottom:8px; }
.reference-example .library-section-title p { max-width:660px; line-height:1.8; font-size:12px; }
.profile-preview-title { display:block; margin-top:21px; font-size:10px; letter-spacing:.12em; font-weight:650; text-transform:uppercase; color:var(--muted); }
.profile-definition { padding-top:17px; border-top:1px solid var(--line); }
.profile-definition > summary { color:var(--accent); font-size:12px; font-weight:550; }
.profile-definition pre { margin-bottom:0; }
.adapter-author-guide ol { padding-left:21px; margin:16px 0; }
.adapter-author-guide li { padding:5px 0 5px 5px; }

@media(max-width:650px) { .adapter-contract-grid { grid-template-columns:minmax(0,1fr); } .reference-example,.adapter-author-guide,.adapter-contract-card { padding:20px; } .reference-example pre { padding:15px; font-size:11px; } }

.adapter-card-main > .adapter-featured { font-size:11px; margin-top:8px; color:var(--ink); }
.adapter-featured > span { color:var(--subtle); }

.source-unavailable{font-size:.75rem;color:var(--muted);line-height:1.4;max-width:180px}.catalogue-actions a.text-button{display:inline-block}

/* Explain the extensible platform and hardware scope before the sample library. */
.platform-overview { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:32px; margin:0 0 30px; padding:25px 28px; border:1px solid var(--line-strong); border-left:3px solid var(--accent); border-radius:7px; background:var(--surface); }
.platform-overview-copy { min-width:0; }
.platform-overview h2 { margin:0 0 12px; color:var(--ink); font-size:17px; font-weight:600; line-height:1.45; letter-spacing:-.3px; }
.platform-overview p { color:var(--muted); font-size:12px; line-height:1.8; }
.platform-overview .platform-beta { margin-top:13px; color:var(--ink); }
.platform-overview .platform-farm { margin-top:10px; color:var(--subtle); font-size:11px; }
@media(max-width:760px) { .platform-overview { grid-template-columns:minmax(0,1fr); gap:23px; padding:22px 20px; } .platform-overview h2 { font-size:16px; } }
