/* Project-library-only rules. Preserve the shared navigation and command frame. */
.project-library-page .project-library-head { padding: 48px 0 28px; border-bottom: 1px solid #3c3930; }
.project-library-head .wrap { max-width: 1440px; }
.project-library-head h1 { font: 700 clamp(28px,3.1vw,44px)/1.2 'Noto Sans SC',sans-serif; margin: 8px 0 12px; color: #eeeade; }
.project-library-head p { max-width: 65ch; color: #b7b4aa; font-size: 15px; line-height: 1.8; }
.project-library-head .v2-overline { color: #d59d58; font: 12px 'Share Tech Mono',monospace; letter-spacing: .18em; }
.project-browser { padding: 28px 0 64px; }
.project-browser > .wrap { max-width: 1440px; }
.library-toolbar { display: grid; grid-template-columns: minmax(180px,1.6fr) repeat(3,minmax(130px,1fr)) auto; align-items: end; gap: 14px; margin-bottom: 16px; }
.library-toolbar label { display: grid; gap: 9px; color: #b6b2a5; font-size: 12px; }
.library-toolbar input,.library-toolbar select { width: 100%; min-width: 0; min-height: 46px; padding: 10px 13px; color: #eeeade; background: #121311; border: 1px solid #484438; border-radius: 0; font: 14px 'Noto Sans SC',sans-serif; }
.library-toolbar button,.library-empty button { cursor: pointer; min-height: 46px; padding: 10px 18px; border: 1px solid #54483a; background: #121311; color: #ddd8ca; font: 13px 'Noto Sans SC',sans-serif; }
.library-view-switch { display: flex; gap: 0; }
.library-view-switch button { white-space: nowrap; }
.library-view-switch button[aria-pressed="true"] { background: linear-gradient(#9c3726,#562017); border-color: #ca684c; color: #fff0df; }
.library-toolbar :is(button,input,select):focus-visible,.library-action:focus-visible,.library-details summary:focus-visible { outline: 2px solid #e8af65; outline-offset: 4px; }
.library-toolbar button:hover,.library-action:hover { border-color: #c07950; background-color: #29221a; }
.library-results { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 8px; margin: 0 0 22px; font-size: 12px; color: #a8a397; }
.library-results output { color: #d2b98c; }
.library-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 24px; align-items: start; }
.library-card { min-width: 0; background: #10110f; border: 1px solid #454136; transition: border-color .2s,transform .2s; scroll-margin-top: 24px; }
.library-card:hover { border-color: #976244; }
.library-poster { margin: 0; aspect-ratio: 16/9; background: #181916; overflow: hidden; border-bottom: 1px solid #454136; }
.library-poster img { display: block; width: 100%; height: 100%; object-fit: contain; transition: filter .25s; }
.library-card:hover .library-poster img { filter: brightness(1.08); }
.library-card-body { padding: 21px; }
.library-card-meta { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 8px; margin-bottom: 16px; color: #807e72; font: 11px 'Share Tech Mono',monospace; letter-spacing: .06em; }
.library-state { color: #b3aa98; font: 12px 'Noto Sans SC',sans-serif; letter-spacing: 0; }
.library-state.is-ready { color: #edc287; }
.library-card h2 { color: #f1ede2; font: 700 clamp(23px,2vw,30px)/1.3 'Noto Sans SC',sans-serif; margin: 0 0 9px; }
.library-original-name { font: 11px/1.6 'Share Tech Mono',monospace; color: #8e8b7f; min-height: 36px; margin: 0 0 15px; }
.library-platforms { display: flex; gap: 7px; flex-wrap: wrap; margin-bottom: 16px; }
.library-platforms span { padding: 4px 8px; border: 1px solid #39382f; color: #c6c2b6; font: 11px 'Share Tech Mono','Noto Sans SC',monospace; }
.library-description { color: #bab7ac; font-size: 13px; line-height: 1.85; margin: 0 0 22px; min-height: 96px; }
.library-card-actions { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }
.library-action { display: inline-flex; align-items: center; justify-content: center; text-align: center; padding: 10px 9px; min-height: 44px; border: 1px solid #57503f; color: #dfd8c9; font-size: 12px; text-decoration: none; transition: background .2s,border-color .2s; }
.library-action.is-primary { background: linear-gradient(#843323,#54231b); border-color: #a9553c; color: #ffefe0; }
.library-details { margin-top: 18px; border-top: 1px solid #33332c; }
.library-details summary { cursor: pointer; padding: 14px 0 0; color: #b7aa92; font-size: 12px; }
.library-details > div { color: #b9b6aa; font-size: 13px; line-height: 1.85; }
.library-detail-links { display: flex; flex-wrap: wrap; gap: 8px; }
.library-detail-links .library-action { font-size: 11px; min-height: 36px; }
.library-grid[data-view="list"] { grid-template-columns: 1fr; gap: 22px; }
.library-grid[data-view="list"] .library-card { display: grid; grid-template-columns: minmax(0,1.15fr) minmax(0,1fr); }
.library-grid[data-view="list"] .library-poster { align-self: center; border-bottom: 0; }
.library-grid[data-view="list"] .library-card-body { padding: 30px; }
.library-grid[data-view="list"] .library-description { min-height: 0; }
.library-grid[data-view="list"] .library-card h2 { font-size: clamp(26px,3vw,40px); }
.library-grid[data-view="list"] .library-original-name { min-height: 0; }
.library-empty { padding: 44px 24px; border: 1px solid #444034; text-align: center; color: #c5beac; }
.library-empty[hidden] { display: none; }
.library-legal { margin: 30px 0 0; padding: 18px 0; border-top: 1px solid #34342b; color: #969387; font-size: 12px; line-height: 1.9; }
.library-tools { padding-top: 36px; border-top: 1px solid #444034; margin-top: 30px; }
.library-tools h2 { color: #e2ddcf; font-size: 23px; margin: 0 0 20px; }
.library-tool-row { display: flex; align-items: center; gap: 24px; padding: 22px; border: 1px solid #3d3b31; }
.library-tool-row > div { flex: 1; }
.library-tool-row h3 { color: #e9e3d5; margin: 0 0 8px; }
.library-tool-row p,.library-tool-note { font-size: 13px; line-height: 1.8; color: #a9a497; }
@media(max-width:1100px) { .library-grid { grid-template-columns: repeat(2,minmax(0,1fr)); } .library-toolbar { grid-template-columns: 1fr 1fr 1fr; } .library-search { grid-column: span 2; } .library-view-switch { grid-column: span 2; } }
@media(max-width:650px) { .project-library-head { padding-top: 28px!important; } .library-grid { grid-template-columns: 1fr; gap: 20px; } .library-toolbar { grid-template-columns: 1fr 1fr; gap: 12px; } .library-search { grid-column: 1/-1; } .library-toolbar > label:nth-of-type(4) { grid-column: 1/-1; } .library-view-switch { grid-column: 1/-1; } .library-view-switch button { flex: 1; } .library-grid[data-view="list"] .library-card { grid-template-columns: 1fr; } .library-grid[data-view="list"] .library-card-body,.library-card-body { padding: 20px; } .library-description { min-height: 0; } .library-tool-row { flex-direction: column; align-items: stretch; } }
@media(prefers-reduced-motion:reduce) { .library-card,.library-poster img,.library-action { transition: none; } }
