#library{max-width:1580px;padding:36px 40px 80px;margin:auto}.lib-heading{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:28px}.lib-heading h2{font-size:36px;letter-spacing:-1.4px;font-weight:550;line-height:1.2;margin:0 0 12px}.lib-heading p{margin:0;color:#a6a6a6;font-size:14px}.lib-volume{display:flex;align-items:center;gap:12px;color:#999;font-size:12px}.lib-volume strong{font-size:48px;line-height:1;font-weight:400;color:#eee;letter-spacing:-3px}.lib-search-row{display:flex;gap:12px}.lib-search-row input{flex:1;min-width:0;height:44px;background:#1b1b1b;border-color:#404040}.lib-search-row button{font-size:14px}.lib-categories{display:flex;gap:24px;border-bottom:1px solid #303030;margin-top:20px;overflow:auto;scrollbar-width:thin}.lib-category{padding:12px 0 14px;border:0;border-bottom:2px solid transparent;border-radius:0;background:transparent;color:#a6a6a6;font-size:14px}.lib-category:hover{background:transparent;color:white}.lib-category[aria-pressed=true]{border-bottom-color:#eee;color:white}.lib-filters{display:flex;align-items:center;gap:10px;padding:16px 0;flex-wrap:wrap}.lib-filters select{width:auto;max-width:190px;padding:7px 30px 7px 10px;background:#191919;font-size:12px}.lib-check{display:flex;align-items:center;gap:7px;font-size:12px;color:#bbb;margin:0}.lib-check input{width:15px;height:15px;accent-color:#eee}.lib-filters>button{font-size:12px;padding:7px 10px}.lib-filters output{margin-left:auto;font-size:12px;color:#a6a6a6}.lib-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px 20px}.lib-card{border:1px solid #303030;background:#191919;border-radius:10px;overflow:hidden;min-width:0;transition:border-color 160ms ease,transform 160ms ease}.lib-card:hover{border-color:#606060;transform:translateY(-2px)}.lib-card-open{display:block;width:100%;padding:0;border:0;border-radius:0;background:#222;overflow:hidden}.lib-card img{width:100%;height:auto;aspect-ratio:16/9;object-fit:contain;display:block;transition:transform 220ms ease}.lib-card-open:hover img{transform:scale(1.015)}.lib-card-content{padding:16px}.lib-meta{display:flex;justify-content:space-between;gap:8px;font-size:11px;color:#aaa}.lib-meta span:first-child{color:#ddd}.lib-card h3{font-size:17px;margin:8px 0;line-height:1.5}.lib-title-button{border:0;padding:0;background:none;text-align:left;white-space:normal;justify-content:flex-start;font-size:inherit;font-weight:inherit}.lib-title-button:hover{background:none}.lib-card p{font-size:12px;color:#a9a9a9;line-height:1.8;margin:0 0 12px;min-height:43px}.lib-tags{font-size:11px;color:#aaa;display:block}.lib-card-actions{display:flex;justify-content:space-between;margin-top:16px;padding-top:12px;border-top:1px solid #303030}.lib-card-actions button{border:0;background:transparent;font-size:12px;padding:4px 0;color:#bbb}.lib-card-actions button:hover{color:white}.lib-card-actions button[aria-pressed=true]{color:white}.lib-empty{text-align:center;border:1px dashed #444;border-radius:10px;padding:48px 20px}.lib-empty p{color:#aaa}.lib-section-head{display:flex;align-items:baseline;justify-content:space-between;gap:16px;margin:48px 0 20px}.lib-section-head h3{font-size:20px;font-weight:500;margin:0}.lib-section-head p{color:#aaa;font-size:12px;margin:0}.lib-cases{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.lib-case{border-top:1px solid #444;padding-top:18px;min-width:0}.lib-case>small{font-size:12px;color:#999}.lib-case h3{font-size:16px;margin:8px 0}.lib-case p{color:#bbb;font-size:13px}.lib-case>button{font-size:12px;margin-top:12px}.lib-sources{display:flex;flex-direction:column;gap:8px}.lib-sources a{color:#ddd;font-size:12px;overflow-wrap:anywhere;text-decoration:none}.lib-sources a:hover{text-decoration:underline}.lib-sources small{display:block;font-size:11px;line-height:1.7;color:#aaa;margin-bottom:8px}.lib-roadmap{margin-top:36px;border:1px solid #303030;border-radius:8px;padding:16px 20px}.lib-roadmap summary{font-size:13px;color:#ccc;cursor:pointer}.lib-roadmap-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;padding-top:16px}.lib-roadmap h3{font-size:13px}.lib-roadmap p{font-size:12px;color:#aaa}.lib-scope{font-size:12px;color:#a6a6a6;margin:24px 0 0}.lib-compare-tray{position:sticky;bottom:16px;background:#252525;border:1px solid #555;padding:12px 16px;border-radius:10px;box-shadow:0 10px 40px #0008;display:flex;align-items:center;gap:8px;flex-wrap:wrap;z-index:4;margin-top:24px}.lib-compare-tray button{font-size:12px;max-width:100%;white-space:normal}.lib-compare-label{font-size:12px;color:#bbb;margin-right:auto}#libraryDialog{width:min(1220px,calc(100vw - 40px));max-height:92dvh;padding:0;background:#191919}#libraryDialog .modal-head{position:sticky;top:0;z-index:2;background:#191919;border-bottom:1px solid #333;padding:16px 24px;margin:0}#libraryDialogTitle{font-size:20px;margin:0}#libraryDialogBody{padding:24px}#libraryDialog p{color:#bbb;font-size:14px;line-height:1.85}#libraryDialog h3{font-size:16px;margin:24px 0 12px}#libraryDialog h4{font-size:13px}#libraryDialog textarea{width:100%;resize:vertical;min-height:100px;font-size:13px;line-height:1.8;margin:8px 0 12px;background:#121212}#libraryDialog label{display:block;font-size:14px;color:#ddd;margin-top:24px}.lib-detail-top{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(250px,1fr);gap:28px}.lib-detail-visual{margin:0}.lib-detail-visual img{display:block;width:100%;height:auto;border-radius:6px}.lib-detail-visual figcaption{font-size:11px;color:#aaa;margin-top:8px}.lib-detail-intro>small{font-size:12px;color:#aaa}#libraryDialog .lib-definition{font-size:17px;color:#eee;margin:8px 0}.lib-points{padding-left:22px;color:#bbb;font-size:13px}.lib-points li{padding:0 0 10px 4px}.lib-detail-actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap;border-bottom:1px solid #333;padding:24px 0}.lib-detail-actions button,.lib-download{font-size:12px}.lib-download{margin-left:auto;color:#ccc}.lib-detail-columns{display:grid;grid-template-columns:1.3fr 1fr;gap:36px}.lib-fineprint{font-size:11px!important;color:#999!important}.lib-related{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-top:24px;border-top:1px solid #333;padding-top:20px}.lib-related>span{font-size:12px;color:#aaa}.lib-related>button{font-size:12px}.lib-compare-grid{display:grid;grid-template-columns:1fr 1fr;gap:28px}.lib-compare-grid img{width:100%;height:auto;border-radius:6px}.lib-compare-grid small{font-size:11px;color:#aaa}.lib-compare-grid ol{font-size:13px;color:#bbb;padding-left:22px}.lib-compare-grid li{margin-bottom:10px}.lib-lens{margin-top:28px;border:1px solid #3a3a3a;border-radius:10px;padding:18px 20px;background:#171717}.lib-lens summary{cursor:pointer;font-size:15px;font-weight:500}.lib-lens summary span{font-weight:400;color:#aaa;font-size:12px;margin-left:12px}.lib-lens-layout{display:grid;grid-template-columns:260px minmax(0,1fr);gap:28px;padding-top:24px}.lib-lens-controls label{display:block;font-size:12px;color:#bbb;margin-bottom:14px}.lib-lens-controls select{display:block;width:100%;margin-top:6px}.lib-lens-controls input{display:block;width:100%;accent-color:#ddd;margin:12px 0}.lib-lens-controls output{float:right;color:#eee}.lib-lens-view canvas{width:100%;height:auto;display:block;border:1px solid #353535;border-radius:6px}.lib-lens-view p{font-size:13px;color:#bbb}.lib-lens-view small{font-size:11px;line-height:1.8;color:#aaa}.lib-lens-values{font-variant-numeric:tabular-nums;padding:12px;background:#222;border-radius:6px;font-size:12px;color:#eee}.lib-focal-legend{display:grid;grid-template-columns:repeat(4,1fr);text-align:center;font-size:12px;padding:10px 0;color:#ddd}.lib-image-error{min-height:160px;padding:12px;color:#bbb}
@media(min-width:1600px){.lib-card h3{font-size:20px}.lib-card p{font-size:14px;min-height:50px}.lib-card-content{padding:20px}}
@media(max-width:1100px){#library{padding:28px 24px 64px}.lib-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.lib-cases{grid-template-columns:1fr}.lib-case .lib-sources{max-width:740px}.lib-roadmap-grid{grid-template-columns:repeat(2,1fr)}.lib-detail-top{grid-template-columns:1fr}.lib-lens-layout{grid-template-columns:220px minmax(0,1fr)}}
@media(max-width:600px){#library{padding:24px 16px 48px}.lib-heading h2{font-size:28px}.lib-heading p{font-size:12px}.lib-volume strong{font-size:36px}.lib-volume>span{display:none}.lib-grid{grid-template-columns:1fr;gap:20px}.lib-categories{gap:20px}.lib-search-row{gap:8px}.lib-search-row input{font-size:14px}.lib-search-row button{font-size:12px;padding:8px 10px}.lib-filters{gap:8px}.lib-filters select{max-width:calc(50% - 4px);flex:1;font-size:12px}.lib-filters output{width:100%;margin:0}.lib-section-head{display:block;margin-top:36px}.lib-section-head p{margin-top:8px}.lib-roadmap-grid{grid-template-columns:1fr;gap:8px}.lib-detail-columns{grid-template-columns:1fr;gap:8px}#libraryDialog{width:calc(100vw - 16px);max-height:94dvh}#libraryDialog .modal-head{padding:14px 16px}#libraryDialogTitle{font-size:16px}#libraryDialogBody{padding:16px}.lib-detail-actions{gap:8px;padding:16px 0}.lib-download{margin:0}.lib-compare-grid{gap:14px}.lib-compare-grid h3{font-size:14px!important}.lib-compare-grid p,.lib-compare-grid li{font-size:12px!important}.lib-compare-grid ol{padding-left:16px}.lib-compare-tray{bottom:8px;padding:10px}.lib-compare-label{width:100%}.lib-lens{padding:16px}.lib-lens summary span{display:block;margin:6px 0 0}.lib-lens-layout{grid-template-columns:1fr;gap:16px}.lib-lens-controls{display:grid;grid-template-columns:1fr 1fr;gap:0 12px}.lib-lens-controls label{min-width:0}.lib-lens-controls select{font-size:12px}}
@media(prefers-reduced-motion:reduce){.lib-card,.lib-card img{transition:none}.lib-card:hover,.lib-card-open:hover img{transform:none}}
/* One craft pass: legible annotations, usable mobile filters, reachable compare tray. */
.lib-meta,.lib-tags,.lib-sources small,.lib-detail-visual figcaption,.lib-fineprint,.lib-compare-grid small,.lib-lens-view small{font-size:12px!important}.lib-card h3{font-size:18px}.lib-card p,.lib-case p{font-size:14px}.lib-card p{min-height:50px}.lib-scope{max-width:72ch}.lib-compare-tray{position:fixed;left:240px;right:40px;bottom:16px;margin:0}.lib-heading h2{letter-spacing:-.8px}.lib-card-content,.lib-detail-intro{text-wrap:pretty}
@media(min-width:1600px){.lib-compare-tray{left:260px}}
@media(max-width:1200px){.lib-compare-tray{left:200px;right:24px}}
@media(max-width:900px){.lib-compare-tray{left:88px}}
@media(max-width:600px){.lib-filters{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px 8px}.lib-filters select{width:100%;max-width:none;min-width:0;padding-right:24px}.lib-check{grid-column:span 2}.lib-filters output{grid-column:1/-1}.lib-compare-tray{left:16px;right:16px;bottom:8px}.lib-card p{min-height:0}.lib-lens-controls{grid-template-columns:1fr}.lib-card h3{font-size:18px}}

.lib-lens[open] summary span{transform:none}

.lib-explorer{margin:24px 0;border:1px solid #383838;border-radius:10px;padding:16px 20px;background:#191919}.lib-explorer-tabs{display:flex;gap:8px;flex-wrap:wrap}.lib-explorer-tabs button{background:transparent;border-color:transparent;color:#aaa}.lib-explorer-tabs button[aria-pressed=true]{background:#eee;color:#111}.lib-explorer-panel{padding-top:12px}.lib-explorer-panel p,.lib-learning-route{font-size:12px;color:#aaa;line-height:1.8}.lib-explorer-panel button{font-size:12px;margin:4px 8px 4px 0;white-space:normal;text-align:left}.lib-learning-route{margin:12px 0 0}.lib-categories{gap:20px}@media(max-width:600px){.lib-explorer{padding:12px}.lib-explorer-tabs{gap:2px}.lib-explorer-tabs button{font-size:12px;padding:8px}.lib-explorer-panel button{padding:7px 10px}}

/* Curated library hierarchy: preserve existing studio visual system. */
.lib-collection-row{display:flex;align-items:center;gap:12px;margin-top:22px;flex-wrap:wrap}.lib-collection-row label{font-size:13px;color:#ddd}.lib-collection-row select{width:auto;min-width:120px;background:#202020}.lib-collection-row span{font-size:12px;color:#aaa}.lib-subcategories{display:flex;gap:8px;flex-wrap:wrap;margin:16px 0 4px}.lib-subcategories button{font-size:12px;background:transparent;border-color:#383838;color:#bbb}.lib-subcategories button[aria-pressed=true]{background:#ededed;color:#111;border-color:#ededed}.lib-categories{flex-wrap:wrap;gap:4px 20px;overflow:visible}.lib-category{white-space:normal;text-align:left}.lib-meta{flex-wrap:wrap}.lib-heading p{max-width:38ch}@media(max-width:600px){.lib-collection-row span{width:100%}.lib-categories{gap:0 16px}.lib-category{font-size:12px;padding:10px 0}.lib-filters{grid-template-columns:repeat(2,minmax(0,1fr))}.lib-subcategories{gap:6px}.lib-subcategories button{padding:7px 9px}}
