body{font-family:Inter,sans-serif;font-optical-sizing:auto;font-style:normal}*{box-sizing:border-box;margin:0;padding:0}:root{--color-primary-accent: #b45309;--color-secondary-accent: #2563eb;--color-background: #fdfbf8;--color-text: #1f2937;--color-text-muted: #6b7280;--color-border: #e5e7eb}a{all:unset;cursor:pointer}h1,h2,h3{font-family:Playfair Display,serif;font-optical-sizing:auto;font-weight:600;font-style:normal}h1{font-size:48px;line-height:120%}h2{font-size:32px;line-height:130%}h3{font-size:20px;line-height:130%}.p1-r{font-size:16px;line-height:150%;font-weight:400}.p2-r{font-size:14px;line-height:140%;font-weight:400}.p2-b{font-size:14px;line-height:140%;font-weight:600}.p-small{font-size:12px;line-height:140%;font-weight:400}.p-big{font-size:20px;line-height:150%;font-weight:400}body{font-family:Inter,sans-serif;font-optical-sizing:auto;font-style:normal;color:var(--color-text)}button{all:unset;cursor:pointer;display:inline-flex;align-items:center;justify-content:center}.root{display:flex;width:90rem;flex-direction:column;align-items:center;gap:.625rem;background:var(--color-background)}header{display:flex;height:4.5rem;padding:.625rem 1.5rem;justify-content:space-between;align-items:center;background:#fff;box-shadow:0 1px 6px #00000014}.logo{color:var(--color-primary-accent);cursor:pointer}.category-menu{display:flex;padding:.25rem .9375rem;justify-content:center;align-items:center;align-content:center;gap:1.5rem}.category-pill{color:var(--color-text)}.fav-icon{width:1.5rem;height:1.375rem;flex-shrink:0;aspect-ratio:12/11;fill:var(--color-text)}.section-hero{display:flex;padding:5rem 1.5rem;flex-direction:column;align-items:center;gap:2rem;align-self:stretch}.hero-title-wrapper{display:flex;flex-direction:column;align-items:center;gap:.625rem;align-self:stretch}.hero-sub-title{color:var(--color-text-muted);font-family:Inter;font-size:1.125rem;font-style:normal;font-weight:400;line-height:150%}.searchbar{display:flex;width:37.5rem;height:3.5rem;padding:.625rem 0 .625rem 1rem;align-items:center;gap:.625rem;border-radius:.5rem;border:1px solid #d1d5db;background:#fff;box-shadow:0 2px 8px #0000000d}.section-book-grid{padding:0 1.5rem 2.1875rem;display:flex;flex-direction:column;width:100%;align-items:center}.book-grid{display:flex;width:84.5625rem;gap:2rem 1.5rem;flex-wrap:wrap;justify-self:center;padding-bottom:2.5rem}.grid-skeleton{display:flex;justify-content:center}.loader{display:flex;justify-content:center;width:48px;height:48px;border-radius:50%;position:relative;animation:rotate 1s linear infinite}.loader:before{content:"";box-sizing:border-box;position:absolute;inset:0;border-radius:50%;border:5px solid var(--color-primary-accent);animation:prixClipFix 2s linear infinite}@keyframes rotate{to{transform:rotate(360deg)}}@keyframes prixClipFix{0%{clip-path:polygon(50% 50%,0 0,0 0,0 0,0 0,0 0)}25%{clip-path:polygon(50% 50%,0 0,100% 0,100% 0,100% 0,100% 0)}50%{clip-path:polygon(50% 50%,0 0,100% 0,100% 100%,100% 100%,100% 100%)}75%{clip-path:polygon(50% 50%,0 0,100% 0,100% 100%,0 100%,0 100%)}to{clip-path:polygon(50% 50%,0 0,100% 0,100% 100%,0 100%,0 0)}}.book-card{display:flex;width:20rem;padding:1rem;flex-direction:column;align-items:flex-start;gap:.75rem;flex-shrink:0;border-radius:.75rem;border:1px solid var(--Border, #e5e7eb);background:#fff;box-shadow:0 2px 8px #00000014;cursor:pointer}.favicon-wrapper{display:flex;width:18rem;flex-direction:column;align-items:flex-end;gap:.625rem}.card-downloads{color:#9ca3af}.card-title-wrapper{height:52px}.card-title{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;line-clamp:2;overflow:hidden;text-overflow:ellipsis}.card-image{height:432px;aspect-ratio:2/3;border-radius:8px}.page-control-wrapper{display:flex;padding:.625rem;align-items:flex-start;gap:.625rem;border-top:1px solid #d1d5db;border-bottom:1px solid #d1d5db}.page-button{font-size:20px}.is-active{color:var(--color-primary-accent);font-weight:700}.is-disabled{color:#9ca3af;cursor:not-allowed}.section-details{display:flex;padding:3.5rem .625rem 7.5rem;align-items:flex-start;gap:4rem;align-self:stretch}.details-image-wrapper{display:flex;width:40.8125rem;padding-top:3.375rem;flex-direction:column;align-items:center}.details-image{width:25rem;height:37.5rem;aspect-ratio:2/3}.details-right-wrapper{display:flex;flex-direction:column;align-items:flex-start;gap:1.5rem;flex:1 0 0}.back-title{display:flex;flex-direction:column;align-items:flex-start;gap:2rem}.back-link-wrapper{display:flex;justify-content:center;align-items:center;gap:.625rem}.back-link{color:var(--color-secondary-accent);cursor:pointer}.title-author-wrapper{display:flex;flex-direction:column;align-items:flex-start;gap:1.5rem}.details-author{color:var(--color-text-muted)}.details-meta-data{display:flex;align-items:flex-start;gap:1.5rem}.details-language{color:var(--color-text-muted)}.details-downloads{color:#9ca3af}.details-summary{width:38.125rem;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:14;line-clamp:14;overflow:hidden;text-overflow:ellipsis}.category-pills-wrapper{display:flex;align-items:flex-start;gap:.625rem;align-self:stretch;flex-wrap:wrap}.details-category-pill{display:flex;padding:.25rem .625rem;justify-content:center;align-items:center;gap:.625rem;border-radius:.75rem;border:1px solid var(--color-primary-accent)}.cta-secondary-wrapper{display:flex;align-items:flex-start;gap:1.5rem}.cta{display:flex;width:10rem;height:2.75rem;padding:.3125rem .625rem;justify-content:center;align-items:center;gap:.625rem;border-radius:.5rem;background:var(--color-primary-accent);color:var(--color-background)}.secondary-button{display:flex;width:10rem;height:2.75rem;padding:.3125rem .625rem;justify-content:center;align-items:center;gap:.625rem;border-radius:.5rem;border:1px solid var(--color-border)}.favorites-empty{display:flex;padding:5rem 1.5rem 7.5rem;flex-direction:column;align-items:flex-start;gap:6.25rem;align-self:stretch}.favorites-title-wrapper{display:flex;flex-direction:column;align-items:flex-start;gap:1rem}.favorites-empty-grid{display:flex;justify-content:center;align-items:center;align-content:center;gap:2rem .875rem;align-self:stretch;flex-wrap:wrap}
