:root{color-scheme:light;--ink:#233128;--green:#244b3b;--paper:#faf8f2;--line:#d4dacd;--gold:#805428}*{box-sizing:border-box}[hidden]{display:none!important}body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.6 system-ui,sans-serif}a{color:var(--green)}button,input,select{font:inherit}button,select,input{min-height:44px;border:1px solid #91a08e;border-radius:4px;color:var(--ink);background:#fffefa}button{cursor:pointer;padding:.6rem .9rem;background:var(--green);color:white}button:hover{filter:brightness(.93)}:focus-visible{outline:3px solid #b57b3f;outline-offset:4px}.skip{position:absolute;left:-9999px}.skip:focus{left:1rem;top:1rem;background:white;padding:.7rem;z-index:3}header{background:var(--green);color:white;padding:2rem max(1.5rem,calc((100vw - 1250px)/2))}h1{font:clamp(2.1rem,5vw,3.4rem)/1.12 Georgia,serif;margin:.4rem 0}.eyebrow{text-transform:uppercase;letter-spacing:.13em;font-size:.8rem;margin:0}.layout{max-width:1300px;display:grid;grid-template-columns:275px minmax(0,1fr);gap:3rem;margin:auto;padding:2rem 1.5rem}aside{align-self:start;position:sticky;top:1rem;max-height:calc(100vh - 2rem);overflow-y:auto;padding-right:.6rem}aside h2{font:1.4rem Georgia,serif;margin:0 0 1.2rem}label{display:block;font-size:.9rem;font-weight:650;margin:.9rem 0 .3rem}input,select{width:100%;padding:.6rem}#reset{margin-top:.8rem;font-size:.9rem}#count{font-size:.9rem;margin:.8rem 0 .2rem}.jump{font-size:.9rem}.shelf{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.1rem .9rem;margin-top:1.5rem}.cover{padding:0;background:none;border:0;color:var(--ink);text-align:left;align-self:start}.cover img{width:100%;aspect-ratio:2/3;object-fit:cover;display:block;box-shadow:0 3px 8px #0002}.cover span{display:block;font-size:.82rem;line-height:1.35;padding:.5rem 0}.cover[aria-pressed=true] img{outline:3px solid var(--gold);outline-offset:3px}main{min-width:0}.book{margin-bottom:4rem;scroll-margin-top:1.5rem}.book-heading{display:grid;grid-template-columns:100px minmax(0,1fr);gap:1.4rem;align-items:center;border-bottom:1px solid var(--line);padding-bottom:1.5rem;margin-bottom:1.5rem}.book-heading img{width:100px;height:150px;object-fit:cover;box-shadow:0 3px 8px #0002}.book-heading h2{font:clamp(1.7rem,3vw,2.4rem)/1.2 Georgia,serif;margin:0}.book-heading p{font-size:.9rem;color:var(--gold);margin:.6rem 0 0}.chapter{background:#fffefa;padding:1.6rem 2rem;border:1px solid var(--line);border-radius:5px;margin:0 0 1.5rem;scroll-margin-top:1.5rem}.chapter-number{font-size:.8rem;letter-spacing:.08em;text-transform:uppercase;color:var(--gold);margin:0 0 .4rem}.chapter h3{font:1.6rem/1.3 Georgia,serif;margin:0 0 1.1rem}.chapter h3 a{color:inherit;text-decoration:none}.chapter h3 a:hover{text-decoration:underline}blockquote{margin:0;font:1.12rem/1.85 Georgia,serif}blockquote p{margin:0 0 1.1rem}blockquote p:last-child{margin-bottom:0}#empty{padding:2rem;border:1px solid var(--line)}footer{text-align:center;padding:1.5rem;font-size:.9rem;color:#5b665c}@media(max-width:800px){.layout{grid-template-columns:215px minmax(0,1fr);gap:1.4rem}.chapter{padding:1.2rem}.book-heading{grid-template-columns:80px minmax(0,1fr);gap:1rem}.book-heading img{width:80px;height:120px}}@media(max-width:600px){header{padding:1.5rem 1rem}.layout{display:block;padding:1rem}aside{position:static;max-height:none;overflow:visible;padding:0;margin-bottom:2rem}.shelf{display:flex;overflow-x:auto;gap:1rem;padding:.3rem .3rem .7rem}.cover{flex:0 0 96px}.cover span{font-size:.82rem}.chapter{padding:1.2rem}.chapter h3{font-size:1.45rem}blockquote{font-size:1.06rem;line-height:1.8}.book-heading h2{font-size:1.7rem}}@media print{aside,header,.skip,footer{display:none}.layout{display:block;padding:0}.chapter{break-inside:avoid;border:0}.book{break-before:page}}
