/* Library hierarchy: identity, disclosed management, compact controls, specimens. */
.library { position:relative; }
body .library-heading { padding:18px 16px 8px; padding-inline-end:42px; }
body .library-heading h2 { font:600 18px/1.5 var(--sans); }
.local-library-menu { margin:0 16px 12px; flex-shrink:0; }
.local-library-menu > summary { width:fit-content; color:var(--muted); font:12px/1.6 var(--sans); cursor:pointer; padding-block:3px; }
.local-library-menu[open] > summary { color:var(--ink); }
.local-library-menu .local-font-panel { margin:8px 0 0; padding:12px; border-radius:6px; }
body .library > .selected { margin:0 16px 12px; padding:10px 12px; background:var(--panel); border:0; border-radius:6px; }
body:not(.has-font) .library > .selected { display:none; }
.library > .selected > .section-kicker { font-size:10px; }
.library > .selected .selected-head { display:flex; align-items:baseline; gap:8px; margin:4px 0 0; }
.library > .selected .selected-head > strong { font:500 13px/1.6 var(--sans); min-width:0; overflow-wrap:anywhere; }
.library > .selected .font-details { margin:0; padding:0; min-width:0; }
.library > .selected .font-details summary { font:11px/1.6 var(--sans); cursor:pointer; color:var(--muted); padding:3px 0; white-space:nowrap; }
.library > .selected .font-details[open] { flex-basis:100%; }
.library > .selected .font-actions { margin-top:10px; display:flex; flex-wrap:wrap; gap:8px; }
.library > .selected .font-actions button:disabled { display:none; }
body .library > .preview-sizing { display:flex; flex-direction:row; flex-wrap:wrap; align-items:center; gap:10px; padding:0 16px 14px; }
.library .preview-sizing .sizing-heading { padding:0; flex-shrink:0; }
.library .preview-sizing .sizing-heading > label { font:12px/1.5 var(--sans); color:var(--muted); }
.library .preview-sizing .sizing-track { flex:1; min-width:60px; height:28px; background:none; border-radius:0; padding:0; gap:0; }
.library .preview-sizing .sizing-track > span { display:none; }
.library .preview-sizing .sizing-options { display:flex; align-items:center; gap:8px; }
.library .preview-sizing output { color:var(--ink); font:12px/1.5 var(--sans); min-width:30px; font-variant-numeric:tabular-nums; }
.library .preview-sizing input::-webkit-slider-thumb { width:18px; height:18px; box-shadow:none; }
.library .preview-sizing input::-moz-range-thumb { width:14px; height:14px; box-shadow:none; }
.library .preview-sizing #previewAutoSize { font-size:11px; padding:4px 6px; }
body .library .toolbar { padding:0 16px 10px; gap:10px; }
body .library .search { min-height:36px; border-radius:6px; }
body .library .scope-tabs { background:none; padding:0; gap:2px; border-bottom:1px solid var(--line); border-radius:0; }
body .library .scope-tabs .tab { border-radius:0; padding:8px 2px; border-bottom:2px solid transparent; }
body .library .scope-tabs .tab.active { background:none; color:var(--ink); border-bottom-color:var(--accent); box-shadow:none; }
body .library .style-tabs { gap:2px; }
body .library .style-tabs .tab { font-size:11px; padding:4px 8px; }
body .library .toolbar-tools { margin-top:2px; }
body .library .font-grid:not(.list) { gap:8px; padding:2px 16px 16px; }
body .library .font-grid:not(.list) .font-card { border-radius:6px; background:var(--panel); }
body .library .font-grid .font-card.is-local .card-dl { display:none; }
body .library .font-grid:not(.list) .font-card.is-local .card-body { grid-template-columns:minmax(0,1fr); }
body .library .font-grid .font-card.is-local .size-pill { font-size:10px; }
body .library .font-grid .compare-add { font-size:10px; opacity:1; }
body .library .font-grid .font-card:hover .compare-add,
body .library .font-grid .font-card:focus-within .compare-add,
body .library .font-grid .compare-add[aria-pressed=true] { opacity:1; }
.local-library-menu > summary:focus-visible { outline:2px solid var(--accent); outline-offset:3px; }
@media(max-width:760px) {
 body .library-heading { padding-top:16px; }
 body .library > .preview-sizing { padding-top:0; }
}
