/* Science catalogue controls and subject labels; scoped to this collection. */
.lab-filters {display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px 20px;padding:24px;margin:0 0 18px;border:1px solid var(--line-strong);border-radius:16px;background:var(--panel);}
.lab-filters[hidden],.lab-no-results[hidden],[data-science-lab][hidden] {display:none;}
.lab-search-label {display:grid;gap:8px;grid-column:1/-1;font-size:.9rem;font-weight:600;}
.lab-search-label input {width:100%;min-width:0;min-height:48px;padding:12px 14px;border:1px solid #687b97;border-radius:8px;background:var(--night-deep);color:var(--ink);font:inherit;}
.lab-search-label input::placeholder {color:#a7b4c6;opacity:1;}
.lab-search-help {grid-column:1/-1;color:#b8c2d0;font-size:.85rem;margin:0 0 4px;}
.lab-subjects {min-width:0;margin:0;padding:0;border:0;}
.lab-subjects legend {margin-bottom:8px;font-size:.85rem;color:#b8c2d0;}
.lab-filter-buttons {display:flex;flex-wrap:wrap;gap:8px;}
.lab-filters button {min-height:44px;padding:10px 14px;border:1px solid #687b97;border-radius:8px;background:transparent;color:var(--ink);font:600 .85rem var(--body);cursor:pointer;}
.lab-filters button[aria-pressed=true] {background:var(--lime);border-color:var(--lime);color:var(--night-deep);}
.lab-filters button:hover:not(:disabled) {border-color:var(--lime);}
.lab-filters button:disabled {opacity:.5;cursor:default;}
.lab-filters .lab-clear {align-self:end;text-decoration:underline;text-underline-offset:3px;}
.lab-filters :focus-visible {outline:3px solid var(--lime);outline-offset:4px;}
.lab-result-count {color:#b8c2d0;font-size:.9rem;margin:0 0 18px;}
.lab-no-results {padding:24px;border:1px solid var(--line-strong);border-radius:12px;color:var(--ink);}
.lab-tags {display:flex;gap:8px;flex-wrap:wrap;}
.lab-subject,.lab-topic {display:inline-flex;align-items:center;padding:4px 10px;border:1px solid #c5d8e6;border-radius:999px;font-size:.75rem;font-weight:650;line-height:1.5;}
.lab-subject {color:#234f73;background:#e9f3fb;}
.lab-subject[data-subject=chemistry] {color:#315e43;background:#eaf5ee;border-color:#c0d9c9;}
.lab-topic {color:#596879;background:#f4f6f8;border-color:#dde3ea;font-weight:500;}
@media(max-width:560px) {.lab-filters {grid-template-columns:minmax(0,1fr);padding:18px;}.lab-filters .lab-clear {justify-self:start;}}
