.lib{--fg:#101813;--bg:#fff;--soft:rgba(16,24,19,.72);--rule:rgba(16,24,19,.2);width:min(1120px,100%);margin:0 auto;padding:clamp(28px,5vw,64px) 20px 72px;color:var(--fg);box-sizing:border-box}
html[data-reading-theme=dark] .lib{--fg:#f3f6ef;--bg:#101813;--soft:rgba(243,246,239,.76);--rule:rgba(243,246,239,.24)}
.lib h1{margin:0;font-size:clamp(2.6rem,7vw,5rem);line-height:1;color:var(--fg)}
.lib h2{margin:56px 0 18px;font-size:clamp(1.5rem,3vw,2.1rem);line-height:1.15;color:var(--fg)}
.lib p,.lib li{font-size:1.05rem;line-height:1.55;color:var(--fg)}
.lib a{color:inherit}
.lib-lede{margin:16px 0 24px;font-size:clamp(1.15rem,2.2vw,1.45rem)!important}
.lib-search{display:flex;gap:8px;max-width:680px}
.lib-search input{flex:1;min-width:0;padding:14px 16px;border:1px solid var(--fg);border-radius:8px;background:var(--bg);color:var(--fg);font:inherit;font-size:1.05rem}
.lib-search input::placeholder{color:var(--soft);opacity:1}
.lib-search button,.lib-cta a{padding:14px 20px;border:1px solid var(--fg);border-radius:8px;background:var(--fg);color:var(--bg);font:inherit;font-weight:600;white-space:nowrap;text-decoration:none;cursor:pointer}
.lib-chips{display:flex;flex-wrap:wrap;gap:8px;margin:14px 0 0}
.lib-chips a{padding:5px 11px;border:1px solid var(--rule);border-radius:999px;font-size:.92rem;text-decoration:none}
.lib-chips a:hover,.lib-grid a:hover strong{text-decoration:underline}
.lib .lib-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px 16px;margin:0;padding:0;list-style:none}
.lib-grid li{display:flex;flex-direction:column;gap:8px;margin:0;padding:12px;border:1px solid var(--rule);border-radius:8px}
.lib-grid strong{font-size:1.05rem;line-height:1.3}
.lib-grid span:not(.lib-ad){font-size:.98rem;line-height:1.4}
.lib-ad{display:block;margin-bottom:8px;aspect-ratio:1;border:1px solid var(--rule);border-radius:8px;background:#fff;overflow:hidden}
.lib-ad img{display:block;width:100%;height:100%;object-fit:contain}
.lib-grid span:not(.lib-ad){font-size:.98rem;line-height:1.35}
.lib-grid small{font-size:.85rem;color:var(--soft)}
.lib-list{margin:0 0 16px;padding-left:1.2em}
.lib code{font-size:.92em;overflow-wrap:anywhere}
.lib-code{margin:14px 0;padding:14px 16px;border:1px solid var(--rule);border-radius:8px;overflow-x:auto;color:var(--fg);background:transparent}
.lib-code code{overflow-wrap:normal}
.lib-cta{margin:40px 0 0}
.lib-cta a{display:inline-block}
.lib .lib-grid,.lib p,.lib h2,.lib ul,.lib pre{max-width:none}
.lib-official{margin:14px 0 0!important;font-size:.98rem!important}
.lib-note{margin-top:16px!important}
.lib--embed{width:100%;padding:8px 0 56px}
@media(max-width:820px){.lib .lib-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:520px){.lib .lib-grid{grid-template-columns:minmax(0,1fr)}}
@media(max-width:480px){.lib-search{flex-direction:column}}
.lib-official a,.lib-note a{text-decoration:underline;text-underline-offset:3px;font-weight:600}
.lib-grid a{display:flex;flex-direction:column;gap:6px;text-decoration:none}
.lib p:not(.lib-chips):not(.lib-cta) a{text-decoration:underline;text-underline-offset:3px}
