.lib{max-width:1280px;margin:0 auto;padding:clamp(1rem,3vw,2rem) var(--hor-padding) clamp(3rem,6vw,5rem);display:flex;flex-direction:column;gap:1.5rem}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.lib__head{display:flex;flex-wrap:wrap;gap:1rem;align-items:stretch;justify-content:space-between}.lib__tabs{display:flex;flex-wrap:wrap;gap:.375rem;background:var(--tower-surface);border:var(--tower-border);border-radius:var(--tower-radius-md);padding:.375rem}.lib__tab{display:inline-flex;align-items:center;gap:.5rem;padding:.5rem .875rem;background:transparent;border:0;border-radius:var(--tower-radius-sm);color:var(--tower-fg-2);font-size:.8125rem;font-weight:500;font-family:inherit;letter-spacing:.04em;cursor:pointer;transition:all var(--tower-dur-fast)}.lib__tab:hover{color:var(--tower-fg);background:#ffffff0a}.lib__tab:focus-visible{outline:2px solid var(--tower-orange);outline-offset:2px}.lib__tab.is-active{background:var(--tower-orange-grad);color:var(--tower-fg)}.lib__tab-name{text-transform:uppercase}.lib__tab-count{font-size:.6875rem;font-family:var(--tower-font-mono);padding:.125rem .5rem;border-radius:999px;background:#ffffff14;color:var(--tower-fg-2)}.lib__tab.is-active .lib__tab-count{background:#00000040;color:var(--tower-fg)}.lib__search input{font-family:inherit;font-size:.9375rem;padding:.625rem 1rem;border-radius:var(--tower-radius-md);border:1px solid rgba(255,255,255,.16);background:var(--tower-bg);color:var(--tower-fg);width:clamp(200px,100%,320px);transition:border-color var(--tower-dur-fast)}.lib__search input:focus{outline:none;border-color:var(--tower-orange);box-shadow:0 0 0 3px #ff825133}.lib__count{margin:0;font-size:.875rem;color:var(--tower-fg-3)}.lib__count strong{color:var(--tower-orange-light)}.lib__empty{margin:2rem 0;padding:2rem;text-align:center;color:var(--tower-fg-3);background:var(--tower-surface);border:1px dashed rgba(255,255,255,.12);border-radius:var(--tower-radius-md)}.lib__grid{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(min(280px,100%),1fr));gap:.875rem}.lib__card{display:flex;flex-direction:column;gap:.5rem;padding:1.125rem;background:var(--tower-surface);border:var(--tower-border);border-radius:var(--tower-radius-md);transition:border-color var(--tower-dur-fast),transform var(--tower-dur)}.lib__card:hover{border-color:#ffffff52;transform:translateY(-1px)}@media (prefers-reduced-motion: reduce){.lib__card:hover{transform:none}}.lib__card-meta{display:flex;flex-wrap:wrap;gap:.375rem;align-items:center}.lib__card-cat{font-size:.625rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--tower-orange-light)}.lib__card-brand{font-size:.625rem;letter-spacing:.06em;text-transform:uppercase;color:var(--tower-fg-3);padding:.0625rem .5rem;border:1px solid rgba(255,255,255,.12);border-radius:999px}.lib__card-title{margin:0;font-size:1rem;font-weight:600;letter-spacing:-.01em;line-height:1.3}.lib__card-blurb{margin:0;font-size:.8125rem;color:var(--tower-fg-2);line-height:1.5;flex:1}.lib__card-cta{margin-top:.625rem;display:flex;align-items:center;justify-content:space-between;padding:.625rem .875rem;background:var(--tower-bg);border:1px solid rgba(255,255,255,.08);border-radius:var(--tower-radius-sm);font-size:.8125rem;font-weight:500;color:var(--tower-fg);text-decoration:none;transition:all var(--tower-dur-fast)}.lib__card-cta:hover{border-color:var(--tower-orange);background:#ff82510f}.lib__card-cta:focus-visible{outline:2px solid var(--tower-orange);outline-offset:2px}.lib__card-size{font-family:var(--tower-font-mono);font-size:.75rem;color:var(--tower-fg-3)}.lib-hero[data-astro-cid-hofbs6tv]{max-width:1280px;margin:0 auto;padding:clamp(3rem,6vw,5rem) var(--hor-padding) clamp(1.5rem,3vw,2.5rem)}.lib-hero__eyebrow[data-astro-cid-hofbs6tv]{margin:0;font-size:.75rem;letter-spacing:.18em;text-transform:uppercase;color:var(--tower-orange-light)}.lib-hero__title[data-astro-cid-hofbs6tv]{margin:1rem 0 1.25rem;font-size:clamp(2rem,5vw,3.5rem);font-weight:600;letter-spacing:-.02em;line-height:1.05}.lib-hero__title[data-astro-cid-hofbs6tv] span[data-astro-cid-hofbs6tv]{background:var(--tower-orange-grad);background-clip:text;-webkit-background-clip:text;color:transparent}.lib-hero__lede[data-astro-cid-hofbs6tv]{margin:0;max-width:70ch;color:var(--tower-fg-2);font-size:1.0625rem;line-height:1.55}.lib-hero__lede[data-astro-cid-hofbs6tv] strong[data-astro-cid-hofbs6tv]{color:var(--tower-fg);font-weight:600}
