/* General Library (page-library.php). The page reuses the OSAS layout and tokens from
   osas.css (wrapper ".osas.library"); these rules add the online resource cards. Shared
   with the 2027 theme's assets/css/library.css: keep them the same. */
.lib-eres { display: grid; grid-template-columns: repeat(auto-fill, minmax(210px, 1fr)); gap: 1rem; margin-bottom: 1rem !important; }
.lib-eres li { display: grid; grid-template-rows: 1fr auto; background: var(--surface); border: 1px solid var(--line); border-radius: var(--radius); box-shadow: var(--shadow); overflow: hidden; }
.lib-eres a { display: grid; align-content: start; gap: .2rem; padding: 0 1.1rem 1rem; color: var(--ink); text-decoration: none; }
.lib-eres .lib-logo { display: grid; place-items: center; height: 96px; margin: 0 -1.1rem .75rem; padding: .75rem 1rem; background: #fff; border-bottom: 1px solid var(--line); }
.lib-eres .lib-logo img { display: block; max-width: 100%; max-height: 64px; width: auto; height: auto; object-fit: contain; }
.lib-eres b { font: 400 1.05rem/1.3 var(--f-display); color: var(--heading); }
.lib-eres small { font-size: .8rem; color: var(--muted); }
.lib-eres a:hover b { text-decoration: underline; }
.lib-eres li:hover { border-color: var(--eden); }
.library .lib-creds { margin: 0; padding: .65rem 1.1rem; background: var(--chip); border-top: 1px solid var(--line); font-size: .85rem; color: var(--muted); }
.lib-creds code { font: 600 .85rem/1.4 ui-monospace, Consolas, monospace; color: var(--eden); background: none; padding: 0; }
.library .lib-note { color: var(--muted); }
.library a.dev_policy { display: block; width: 300px; max-width: 100%; margin-top: 1.25rem; line-height: 44px; border-radius: 999px; background: var(--eden); color: var(--on-chrome); font-weight: 600; text-decoration: none; text-align: center; }
.library a.dev_policy:hover { background: var(--eden-deep); }
