.library-home{padding-bottom:56px}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.library-intro{border-bottom:1px solid var(--rule);grid-template-columns:minmax(0,1fr) minmax(320px,520px);align-items:end;gap:clamp(28px,5vw,72px);padding:38px 0 30px;display:grid}.library-intro h1{font-family:var(--display);letter-spacing:-.04em;margin:0;font-size:clamp(2.7rem,5vw,5.2rem);font-weight:500;line-height:.92}.library-intro-copy>p:last-child{max-width:64ch;color:var(--secondary);margin:12px 0 0;font-size:.96rem;line-height:1.6}.catalog-search{border:1px solid var(--strong-rule);background:var(--surface);grid-template-columns:1fr auto;align-items:center;min-height:46px;display:grid}.catalog-search input{background:0 0;border:0;outline:0;min-width:0;padding:11px 13px;font-size:.9rem}.catalog-search button{border:0;border-left:1px solid var(--rule);cursor:pointer;text-transform:uppercase;letter-spacing:.08em;background:0 0;height:100%;padding:0 16px;font-size:.75rem;font-weight:700}.catalog-search button:hover{background:var(--ink);color:var(--canvas)}.catalog-section{border-bottom:1px solid var(--rule);padding:34px 0 44px}.catalog-toolbar,.compact-heading{justify-content:space-between;align-items:end;gap:24px;margin-bottom:24px;display:flex}.catalog-toolbar h2,.compact-heading h2{font-family:var(--display);letter-spacing:-.025em;margin:0;font-size:clamp(1.8rem,2.8vw,2.65rem);font-weight:500}.catalog-links{flex-wrap:wrap;gap:18px;display:flex}.catalog-links a,.compact-heading>a{color:var(--secondary);font-size:.82rem;text-decoration:none}.catalog-links a:hover,.compact-heading>a:hover{color:var(--accent);text-decoration:underline}.catalog-grid{background:var(--rule);border:1px solid var(--rule);grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1px;display:grid}.catalog-book{background:var(--canvas);grid-template-columns:126px minmax(0,1fr);align-items:start;gap:20px;min-width:0;padding:20px;display:grid}.catalog-book[data-saved=true]{background:color-mix(in srgb, var(--surface) 74%, var(--canvas))}.catalog-cover{border:1px solid var(--strong-rule);width:126px;box-shadow:5px 6px 0 color-mix(in srgb, var(--strong-rule) 22%, transparent);background:#0c0d0f;text-decoration:none;display:block;overflow:hidden}.catalog-cover img{width:100%;height:auto;display:block}.catalog-copy{flex-direction:column;min-width:0;min-height:100%;display:flex}.catalog-kicker{justify-content:space-between;align-items:center;gap:10px;min-height:18px;display:flex}.catalog-subjects{color:var(--accent);text-transform:uppercase;letter-spacing:.08em;flex-wrap:wrap;gap:5px;font-size:.63rem;font-weight:700;display:flex}.catalog-subjects a{text-decoration:none}.catalog-subjects a:hover{text-decoration:underline}.catalog-saved-badge{color:var(--secondary);text-transform:uppercase;letter-spacing:.08em;font-size:.62rem;font-weight:700}.catalog-copy h3{font-family:var(--display);letter-spacing:-.02em;margin:8px 0 5px;font-size:1.42rem;font-weight:500;line-height:1.04}.catalog-copy h3 a{text-decoration:none}.catalog-copy h3 a:hover{color:var(--accent)}.catalog-author{color:var(--muted);margin:-1px 0 8px;font-size:.72rem;line-height:1.35}.catalog-subtitle{color:var(--secondary);font-family:var(--display);margin:0 0 9px;font-size:.9rem;line-height:1.3}.catalog-description{-webkit-line-clamp:3;color:var(--secondary);-webkit-box-orient:vertical;margin:0 0 13px;font-size:.77rem;line-height:1.45;display:-webkit-box;overflow:hidden}.catalog-progress{border-top:1px solid var(--rule);margin:0 0 12px;padding:9px 0 0}.catalog-progress[hidden]{display:none}.catalog-progress__copy{color:var(--secondary);justify-content:space-between;gap:10px;font-size:.66rem;display:flex}.catalog-progress__copy strong{color:var(--ink);font-weight:700}.catalog-progress__track{background:var(--rule);height:3px;margin-top:7px;position:relative}.catalog-progress__track>span{background:var(--accent);width:0;height:100%;display:block}.catalog-progress__track>i{inset-block:-2px;background:var(--ink);width:1px;position:absolute;left:0}.catalog-meta{border-top:1px solid var(--rule);color:var(--muted);text-transform:uppercase;letter-spacing:.06em;gap:6px;margin-top:auto;padding-top:9px;font-size:.64rem;display:grid}.catalog-meta__edition{justify-content:space-between;gap:10px;display:flex}.catalog-format-list{flex-wrap:wrap;gap:5px;display:flex}.catalog-format-list span{border:1px solid var(--rule);padding:3px 5px}.catalog-actions{flex-wrap:wrap;align-items:center;gap:8px 12px;margin-top:11px;font-size:.76rem;display:flex}.catalog-actions a,.catalog-actions button{color:inherit;cursor:pointer;background:0 0;border:0;padding:0;text-decoration:none}.catalog-actions a:hover,.catalog-actions button:hover{color:var(--accent);text-decoration:underline}.catalog-actions .catalog-primary{color:var(--accent);font-weight:700}.catalog-actions button[aria-pressed=true]{color:var(--secondary)}.resume-section{padding:34px 0 0}.compact-continue{border-top:1px solid var(--rule)}.compact-continue .continue-item{padding:16px 0}.compact-continue .continue-item strong{font-size:1.16rem}.compact-continue .continue-item small{font-size:.74rem}.continue-item__status{text-align:right;align-items:center;gap:9px;display:flex}.continue-item__status span:first-child{color:var(--secondary);font-size:.72rem}.compact-empty{padding:34px 0}@media (width>=1240px){.catalog-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (width<=980px){.catalog-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.catalog-book{grid-template-columns:108px minmax(0,1fr);gap:17px;padding:17px}.catalog-cover{width:108px}}@media (width<=800px){.library-intro{grid-template-columns:1fr;gap:19px;padding-top:28px}.catalog-toolbar{flex-direction:column;align-items:flex-start;gap:11px}}@media (width<=620px){.catalog-grid{grid-template-columns:1fr}.catalog-book{grid-template-columns:104px minmax(0,1fr);gap:15px;padding:15px}.catalog-cover{width:104px;box-shadow:4px 5px 0 color-mix(in srgb, var(--strong-rule) 20%, transparent)}.catalog-links{gap:14px}.continue-item__status{text-align:left;flex-direction:column;align-items:flex-start;gap:2px}}@media (width<=420px){.catalog-book{grid-template-columns:88px minmax(0,1fr);gap:13px;padding:13px}.catalog-cover{width:88px}.catalog-description{-webkit-line-clamp:2}.catalog-meta__edition{display:grid}}@media (forced-colors:active){.catalog-cover,.catalog-format-list span,.catalog-search,.catalog-progress__track{border:1px solid canvastext}.catalog-progress__track>span,.catalog-progress__track>i{background:canvastext}}
