.di-library { --library-border:#cbd5e1; color:#102238; }
.di-library .section { max-width:1240px; margin:auto; }
.di-library h1 { max-width:23ch; font-size:clamp(2rem,5vw,3.8rem); line-height:1.12; }
.di-library h2 { font-size:clamp(1.25rem,2.5vw,1.75rem); line-height:1.3; margin-block:1.5rem .8rem; }
.di-library h3 { font-size:1.1rem; margin-top:1.2rem; }
.di-library p,.di-library li { max-width:76ch; line-height:1.7; }
.di-library a { text-decoration:underline; text-underline-offset:.2em; overflow-wrap:anywhere; }
.di-library-lede { font-size:1.15rem; margin-block:1.3rem 2rem; }
.di-library-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr)); gap:1.25rem; margin-block:1.5rem; align-items:start; }
.di-library-card { border:1px solid var(--library-border); border-radius:1rem; padding:1.5rem; background:#fff; min-width:0; }
.di-library-card h2 { margin-top:.6rem; }
.di-library-status { display:inline-block; background:#edf3fa; color:#183b65; font-size:.88rem; font-weight:600; border-radius:.4rem; padding:.35rem .6rem; }
.di-library-meta { color:#485a70; font-size:.9rem; }
.di-library details { margin-block:1rem; border-top:1px solid var(--library-border); padding-top:1rem; }
.di-library summary { cursor:pointer; min-height:44px; font-weight:600; }
.di-library ul { list-style:disc; padding-left:1.4rem; }
.di-library form { display:flex; flex-wrap:wrap; align-items:end; gap:1rem; padding:1.5rem; border:1px solid var(--library-border); border-radius:1rem; background:#f4f7fb; }
.di-library label { display:flex; flex-direction:column; gap:.45rem; font-weight:600; flex:1 1 180px; min-width:0; }
.di-library input,.di-library select,.di-library button { font:inherit; border:1px solid #6b7c91; border-radius:.4rem; min-height:44px; padding:.6rem; max-width:100%; background:#fff; color:#102238; }
.di-library button { background:#174e83; color:#fff; cursor:pointer; padding-inline:1rem; }
.di-library [data-reset],.di-library button[type="reset"] { background:#fff; color:#174e83; }
.di-library [data-compare-control] { flex-direction:row; align-items:center; font-size:.9rem; }
.di-library [type="checkbox"] { width:22px; height:22px; min-height:22px; flex-shrink:0; }
.di-library :focus-visible { outline:3px solid #175cd3; outline-offset:4px; }
.di-library [hidden] { display:none!important; }
.di-comparison-scroll { overflow-x:auto; margin-block:1rem; border:1px solid var(--library-border); border-radius:.6rem; }
.di-library table { border-collapse:collapse; min-width:620px; width:100%; text-align:left; }
.di-library caption { padding:1rem; font-weight:600; text-align:left; }
.di-library td,.di-library th { border:1px solid var(--library-border); padding:1rem; vertical-align:top; max-width:26rem; }
.di-library th { background:#edf3fa; }
.di-library output { display:block; border-left:4px solid #174e83; padding:1.2rem; margin-block:1rem; background:#f4f7fb; line-height:1.8; }
@media(max-width:600px) { .di-library form { padding:1rem; } .di-library-card { padding:1.1rem; } .di-library button { width:100%; } }
@media(prefers-reduced-motion:reduce) { .di-library * { scroll-behavior:auto!important; } }
