.library-page{padding-top:clamp(96px,12vh,144px);padding-bottom:var(--space-10)}.library-head{margin-bottom:clamp(var(--space-9),9vw,112px);max-width:60ch}.library-head .eyebrow{font-family:var(--font-body);font-size:var(--text-2xs);letter-spacing:var(--tracking-cover);text-transform:uppercase;color:var(--page-fg-soft);margin:0 0 var(--space-3)}.library-head h1{font-family:var(--font-body);font-weight:var(--weight-bold);font-size:clamp(36px,5vw,64px);line-height:var(--leading-display);letter-spacing:var(--tracking-tight);color:var(--page-fg);margin:0 0 var(--space-4)}.library-head .lede{font-size:clamp(var(--text-base),1.4vw,var(--text-md));line-height:var(--leading-normal);color:var(--page-fg-soft);margin:0 0 var(--space-7)}.library-summary{display:flex;gap:clamp(var(--space-4),3vw,40px);padding-top:var(--space-5);border-top:1px solid var(--page-line)}.library-summary span{font-family:var(--font-body);font-size:var(--text-2xs);letter-spacing:var(--tracking-widest);text-transform:uppercase;color:var(--page-fg-soft);display:flex;flex-direction:column;gap:var(--space-1)}.library-summary strong{font-family:var(--font-body);font-size:clamp(var(--text-22),2.6vw,30px);font-weight:var(--weight-bold);color:var(--page-fg);letter-spacing:var(--tracking-snug);font-feature-settings:"tnum";line-height:1}.library-section{margin-bottom:var(--space-10)}.library-section--wishlist{margin-top:clamp(96px,14vw,160px);padding-top:clamp(var(--space-7),7vw,80px);border-top:1px dashed var(--page-line)}.library-section--wishlist .library-section-head{display:flex;align-items:baseline;gap:var(--space-4);flex-wrap:wrap;margin-bottom:var(--space-8)}.library-section--wishlist .library-section-head h2{font-family:var(--font-body);font-weight:var(--weight-bold);font-size:clamp(var(--text-xl),3.4vw,var(--text-3xl));letter-spacing:var(--tracking-tight);margin:0;color:var(--page-fg)}.library-section-heading{font-family:var(--font-body);font-weight:var(--weight-bold);font-size:clamp(var(--text-xl),3.4vw,var(--text-3xl));letter-spacing:var(--tracking-tight);margin:0 0 var(--space-6);color:var(--page-fg)}.library-section--wishlist .library-section-head p{margin:0;font-family:var(--font-body);font-size:var(--text-xs);letter-spacing:var(--tracking-wide);font-style:italic;color:var(--page-fg-soft)}.library-section--wishlist .book-cover{opacity:.86;filter:saturate(.85)}.library-section--wishlist .library-card:hover .book-cover,.library-section--wishlist .library-card:focus-within .book-cover{opacity:1;filter:none}.library-group{margin:clamp(var(--space-9),8vw,96px) 0 clamp(40px,5vw,var(--space-9))}.library-group:first-child{margin-top:0}.library-group-head{display:grid;grid-template-columns:auto 1fr auto;align-items:baseline;gap:var(--space-4);margin-bottom:var(--space-7);padding-bottom:var(--space-3);border-bottom:1px solid var(--page-line)}.library-group-num{font-family:var(--font-body);font-size:var(--text-2xs);letter-spacing:var(--tracking-widest);font-weight:var(--weight-semibold);color:var(--page-fg-soft)}.library-group-title{font-family:var(--font-body);font-weight:var(--weight-bold);font-size:clamp(var(--text-md),2.4vw,var(--text-xl));letter-spacing:var(--tracking-snug);margin:0;color:var(--page-fg)}.library-group-count{font-family:var(--font-body);font-size:var(--text-2xs);letter-spacing:.1em;color:var(--page-fg-soft);font-feature-settings:"tnum"}.library-grid{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:clamp(var(--space-6),4vw,var(--space-7)) clamp(var(--space-4),2.4vw,var(--space-6))}@media(min-width:1024px){.library-grid{grid-template-columns:repeat(auto-fill,minmax(196px,1fr));gap:clamp(40px,4vw,56px) clamp(var(--space-5),2.2vw,var(--space-6))}}.library-card{display:flex;flex-direction:column;gap:var(--space-2);min-width:0}.book-cover{display:block;aspect-ratio:2 / 3;border-radius:var(--radius-sm);overflow:hidden;position:relative;background:color-mix(in srgb,var(--page-card) 80%,transparent);box-shadow:0 1px 2px color-mix(in srgb,var(--page-fg) 10%,transparent),0 10px 28px -10px color-mix(in srgb,var(--page-fg) 22%,transparent);transition:transform .28s cubic-bezier(.2,.6,.2,1),box-shadow .28s cubic-bezier(.2,.6,.2,1),opacity .28s ease,filter .28s ease}.book-cover picture{display:block;width:100%;height:100%}.book-cover img{display:block;width:100%;height:100%;object-fit:cover;filter:saturate(.82) brightness(.97);transition:filter .28s cubic-bezier(.2,.6,.2,1)}.library-card:hover .book-cover img,.library-card:focus-within .book-cover img{filter:none}@media(prefers-reduced-motion:reduce){.book-cover img{transition:none}}.book-cover:after{content:"";position:absolute;inset:0 auto 0 0;width:6px;background:linear-gradient(to right,color-mix(in srgb,#000 14%,transparent),transparent 80%);pointer-events:none}.library-card:hover .book-cover,.library-card:focus-within .book-cover{transform:translateY(-4px) rotate(-.4deg);box-shadow:0 4px 8px color-mix(in srgb,var(--page-fg) 12%,transparent),0 26px 52px -16px color-mix(in srgb,var(--page-accent) 28%,transparent)}@media(prefers-reduced-motion:reduce){.book-cover,.library-card:hover .book-cover,.library-card:focus-within .book-cover{transform:none;transition:none}}.library-card h4{margin:var(--space-3) 0 2px;font-family:var(--font-body);font-weight:var(--weight-semibold);font-size:var(--text-sm);line-height:var(--leading-snug);letter-spacing:var(--tracking-nudge);color:var(--page-fg)}.library-card h4 a{color:inherit;text-decoration:none}.library-card h4 a:hover{color:var(--page-accent-ink)}.library-card .author{margin:0 0 var(--space-2);font-family:var(--font-body);font-size:var(--text-11);font-weight:var(--weight-medium);letter-spacing:var(--tracking-wider);text-transform:uppercase;color:var(--page-fg-soft);line-height:var(--leading-snug)}.library-card .rating{display:flex;align-items:center;gap:var(--space-2);margin:0 0 var(--space-1);color:var(--page-accent)}.library-card .rating-bar{position:relative;display:block;width:56px;height:2px;background:color-mix(in srgb,var(--page-line) 80%,transparent);border-radius:var(--radius-hairline);overflow:hidden}.library-card .rating-fill{position:absolute;inset:0 auto 0 0;height:100%;background:currentColor;opacity:.75;transition:width .32s ease}.library-card[data-wishlist=true] .rating{display:none}.affiliate-disclosure{margin:clamp(96px,12vw,144px) 0 var(--space-6);padding:var(--space-6) 0;border-top:1px solid var(--page-line);border-bottom:1px solid var(--page-line);text-align:center}.affiliate-disclosure p{margin:0 auto;max-width:56ch;font-family:var(--font-body);font-size:var(--text-xs);letter-spacing:var(--tracking-wide);color:var(--page-fg-soft);line-height:var(--leading-prose)}@media(max-width:720px){.library-grid{grid-template-columns:repeat(2,1fr);gap:clamp(var(--space-5-5),6vw,40px) clamp(var(--space-3-5),3vw,var(--space-4))}.library-summary{flex-wrap:wrap;gap:var(--space-4) var(--space-5-5)}.library-group{margin:56px 0 var(--space-6)}}
