/* SOP library (resources.html only) */
.libanchor{display:block;height:0;overflow:hidden}
.libbar{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin-top:28px;padding-bottom:18px;border-bottom:1px solid var(--rule)}
.libchips{display:flex;flex-wrap:wrap;gap:8px}
.libchip{font-family:var(--body);font-size:.78rem;font-weight:600;letter-spacing:.03em;padding:8px 14px;border:1.5px solid var(--rule);border-radius:var(--r-pill);background:var(--paper);color:var(--ink);cursor:pointer;transition:border-color .12s,background .12s,color .12s}
.libchip:hover{border-color:var(--ink)}
.libchip[aria-pressed="true"]{background:var(--ink);border-color:var(--ink);color:var(--paper)}
.libchip b{font-family:var(--mono);font-size:.68rem;font-weight:400;opacity:.5;margin-left:7px}
.libchip[aria-pressed="true"] b{opacity:.72}
.libsrch{position:relative;margin-left:auto}
.libsrch svg{position:absolute;left:11px;top:50%;transform:translateY(-50%);color:var(--mute)}
.libsrch input{font-family:var(--body);font-size:.82rem;color:var(--ink);background:var(--paper);border:1.5px solid var(--rule);border-radius:var(--r-sm);padding:9px 12px 9px 32px;width:210px}
.libsrch input:focus{outline:none;border-color:var(--ink)}
.libgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(304px,1fr));gap:16px;margin-top:24px}
.libcard{display:flex;flex-direction:column;background:var(--paper);border:1.5px solid var(--rule);border-radius:var(--r-md);overflow:hidden}
.libcard .thumb{margin-bottom:0;border-radius:var(--r-md) var(--r-md) 0 0;width:100%}
.libhead{display:block;width:100%;margin:0;padding:0;border:0;background:none;cursor:pointer;text-align:left}
.libhead:focus-visible{outline:2px solid var(--navy);outline-offset:-2px}
.libbody{display:flex;flex-direction:column;flex:1;padding:15px 16px 14px}
.libcat{display:flex;align-items:center;gap:7px;font-family:var(--mono);font-size:.62rem;letter-spacing:.13em;text-transform:uppercase;color:var(--navy)}
.libsw{width:8px;height:8px;flex:none;display:block}
.libsw.lock{background:var(--sky)}
.libsw.sub{background:var(--peri)}
.libsw.onb{background:var(--butter)}
.libcard h3{font-family:var(--disp);font-weight:600;font-size:1.18rem;line-height:1.3;letter-spacing:-.012em;margin:10px 0 0}
.libmeta{font-family:var(--mono);font-size:.7rem;color:var(--mute);margin:7px 0 0;font-variant-numeric:tabular-nums}
.libacts{display:flex;gap:8px;margin-top:auto;padding-top:14px;border-top:1px solid var(--rule-lt)}
.libbtn{flex:1;text-align:center;font-family:var(--body);font-size:.78rem;font-weight:600;letter-spacing:.03em;padding:9px 8px;border:1.5px solid var(--rule);border-radius:var(--r-pill);background:var(--paper);color:var(--ink);cursor:pointer;text-decoration:none}
.libbtn:hover{border-color:var(--ink)}
.libbtn.pri{background:var(--ink);border-color:var(--ink);color:var(--paper)}
.libbtn.pri:hover{background:var(--navy);border-color:var(--navy)}
.libempty{font-family:var(--mono);font-size:.78rem;color:var(--mute);margin:26px 0 0}
.libns{margin:22px 0 0;padding:0;list-style:none}
.libns li{padding:9px 0;border-bottom:1px solid var(--rule-lt)}
.libdlg{border:none;padding:0;background:transparent;width:min(960px,92vw)}
.libdlg::backdrop{background:rgba(22,27,45,.74)}
.dlgin{background:var(--ink);border-radius:var(--r-sm);overflow:hidden}
.dlgbar{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:12px 15px}
.dlgbar p{margin:0;font-family:var(--disp);font-weight:600;font-size:.95rem;color:#fff}
.dlgx{background:none;border:1.5px solid rgba(255,255,255,.34);color:#fff;font-family:var(--body);font-size:.76rem;font-weight:600;letter-spacing:.03em;padding:6px 13px;border-radius:var(--r-pill);cursor:pointer}
.dlgx:hover{border-color:#fff}
.libfr{position:relative;padding-top:56.25%;background:#000}
.libfr iframe{position:absolute;top:0;left:0;width:100%;height:100%;border:0}
@media (max-width:620px){.libsrch{margin-left:0;width:100%}.libsrch input{width:100%}}
@media (prefers-reduced-motion:reduce){.libchip,.libbtn{transition:none}}