:root{--paper:#f4f0e7;--cream:#faf7f0;--ink:#2d2b28;--muted:#867f72;--gold:#a88954;--forest:#24372f;--line:#dcd3c2;--red:#863b36}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:Manrope,Arial,sans-serif;font-size:13px;min-height:100vh}.grain{pointer-events:none;position:fixed;inset:0;z-index:20;opacity:.14;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.82' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.17'/%3E%3C/svg%3E")}.masthead{background:#f8f5ed}.rule{height:5px;background:repeating-linear-gradient(90deg,var(--forest) 0 10px,var(--gold) 10px 13px,var(--forest) 13px 23px)}.mast-inner{max-width:1480px;margin:auto;padding:24px 44px;display:flex;align-items:center;gap:26px}.seal{width:74px;height:74px;border:2px solid var(--gold);outline:1px solid var(--gold);outline-offset:4px;border-radius:50%;display:flex;align-items:center;justify-content:center;font:600 35px 'Cormorant Garamond',Georgia,serif;color:var(--forest);flex-shrink:0}.seal span{font-size:14px;color:var(--gold);padding:0 2px}.overline,.eyebrow,.edition,.side-label,.colophon{letter-spacing:.19em;font-weight:700;color:var(--gold);font-size:10px}.brand-title{font:600 42px/.98 'Cormorant Garamond',Georgia,serif;letter-spacing:-.015em}.brand-title em,.intro em{color:var(--gold);font-weight:500}.subtitle{font:italic 15px 'Cormorant Garamond',Georgia,serif;color:var(--muted);margin-top:6px}.mast-actions{margin-left:auto;display:flex;align-items:center;gap:20px;color:var(--forest)}button,input,select{font:inherit}button{cursor:pointer}button:disabled{opacity:.5;cursor:not-allowed}.plain,.text-button{border:0;background:none;color:var(--forest);text-decoration:underline;text-underline-offset:4px}.hidden{display:none!important}main{max-width:1480px;margin:auto;padding:0 44px 140px}.intro{padding:57px 0 52px;border-bottom:1px solid var(--line)}.intro h1{font:500 clamp(52px,5.5vw,91px)/.99 'Cormorant Garamond',Georgia,serif;margin:21px 0 16px;letter-spacing:-.035em}.intro p{font:19px/1.6 'Cormorant Garamond',Georgia,serif;color:#777064;max-width:590px;margin:0}.ornamental-line{display:inline-block;width:52px;border-top:1px solid var(--gold);vertical-align:middle;margin:0 13px}.library-grid{display:grid;grid-template-columns:236px minmax(0,1fr);gap:64px;padding-top:45px}.sidenav{border-right:1px solid var(--line);padding:6px 28px 0 0;min-height:620px}.side-label{color:#8a7555;margin:0 0 19px}.nav{width:100%;display:flex;justify-content:space-between;text-align:left;border:0;border-bottom:1px solid transparent;background:transparent;padding:12px 1px;color:#675f54;transition:color .2s,border-color .2s}.nav span{color:#ad9d81}.nav:hover,.nav.active{color:var(--forest);border-bottom-color:var(--gold);font-weight:700}.side-divider{border-top:1px solid var(--line);margin:26px 0}.sidebar-bottom{margin-top:70px;color:#ad9b7f;font:500 16px/1.4 'Cormorant Garamond',Georgia,serif;letter-spacing:.1em}.side-note{font-size:11px;color:var(--muted);line-height:1.6}.collection-top{display:flex;justify-content:space-between;align-items:end}.collection h2{font:600 48px 'Cormorant Garamond',Georgia,serif;margin:6px 0 22px}.count{border:1px solid var(--line);border-radius:50%;width:38px;height:38px;display:flex;align-items:center;justify-content:center;color:#9a876b;margin-bottom:24px}.searchbar{background:#fffcf6;border:1px solid var(--line);display:flex;align-items:center;padding:0 18px;height:52px;max-width:590px;margin-bottom:32px}.searchbar span{font-size:25px;color:var(--gold);margin-right:12px}.searchbar input{border:0;outline:0;background:transparent;flex:1;min-width:0}.searchbar button{border:0;background:none;font-size:23px;color:var(--gold)}.book-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:37px 26px}.book{min-width:0;cursor:pointer;animation:appear .35s ease both}.cover{position:relative;aspect-ratio:3/4;overflow:hidden;background:linear-gradient(135deg,#35473d,#172c27);box-shadow:5px 6px 0 #d6cabb,7px 10px 15px #3129181d;border-radius:2px 6px 6px 2px;display:flex;align-items:center;justify-content:center;transition:transform .25s,box-shadow .25s}.book:hover .cover{transform:translateY(-5px);box-shadow:6px 12px 0 #d6cabb,7px 15px 20px #3129182b}.cover img{width:100%;height:100%;object-fit:cover}.cover::after{content:'';position:absolute;left:8px;top:0;bottom:0;border-left:1px solid #fff4;box-shadow:2px 0 6px #0002}.placeholder{text-align:center;color:#d6bf8e;border:1px solid #c4b58c;padding:28px 15px;width:80%;height:88%;display:flex;flex-direction:column;justify-content:space-between;font:500 25px/1 'Cormorant Garamond',Georgia,serif}.placeholder .symbol{font-size:39px}.placeholder small{font-size:10px;letter-spacing:.16em}.book-author{margin-top:22px;font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:var(--gold)}.book-title{margin:7px 0;font:600 25px/1.05 'Cormorant Garamond',Georgia,serif}.book-meta{font-size:11px;color:var(--muted)}.book-actions{display:flex;gap:13px;align-items:center;margin-top:13px}.book-actions button{background:none;border:0;padding:0;color:var(--forest);font-weight:700}.book-actions button.faved{color:var(--red)}.progress-line{height:2px;background:var(--line);margin-top:14px}.progress-line>i{height:100%;background:var(--gold);display:block}.empty{padding:90px 15px;text-align:center;font:32px 'Cormorant Garamond',Georgia,serif;color:var(--muted)}.empty small{font:13px Manrope,sans-serif}.auth-wrap{min-height:calc(100vh - 180px);display:flex;flex-direction:column;align-items:center;justify-content:center;padding:80px 0}.colophon{margin-bottom:22px}.auth-panel{background:var(--cream);width:min(100%,510px);border:1px solid var(--line);padding:45px 58px 38px;box-shadow:0 15px 45px #4338240d;text-align:center;position:relative}.auth-panel:before{content:'';position:absolute;inset:8px;border:1px solid #dfd2bb;pointer-events:none}.ornament{font:46px 'Cormorant Garamond',Georgia,serif;color:var(--gold)}.auth-panel h1{font:600 43px 'Cormorant Garamond',Georgia,serif;margin:0}.auth-panel p{line-height:1.8;color:var(--muted);margin-bottom:28px}.auth-panel label{display:block;text-align:left;color:#766e61;font-size:11px;text-transform:uppercase;letter-spacing:.1em;margin:17px 0}.auth-panel input{width:100%;border:0;border-bottom:1px solid #b8ab94;padding:12px 0;background:transparent;outline:0;letter-spacing:normal;font-size:14px}.button{background:var(--forest);color:var(--cream);border:1px solid var(--forest);padding:15px 22px}.button:hover{background:#38594a}.main-button{width:100%;display:flex;justify-content:space-between;margin:22px 0}.text-button{margin-top:13px}.error{color:var(--red);min-height:17px;font-size:12px}.fineprint{margin-top:24px;color:var(--muted);font:16px 'Cormorant Garamond',Georgia,serif}.player{position:fixed;bottom:0;left:0;right:0;z-index:30;background:var(--forest);color:var(--cream);border-top:3px solid var(--gold);padding:14px 35px;display:flex;align-items:center;gap:24px;min-height:105px;box-shadow:0 -10px 40px #0002}.player-art{width:58px;height:68px;background:#a98b58;display:flex;align-items:center;justify-content:center;flex-shrink:0;font:34px 'Cormorant Garamond',Georgia,serif;overflow:hidden}.player-art img{width:100%;height:100%;object-fit:cover}.player-info{width:210px;min-width:120px}.player-title{font:600 20px 'Cormorant Garamond',Georgia,serif}.player-chapter{font-size:10px;color:#c4bba8;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.player-controls{flex:1;max-width:620px}.buttons{display:flex;gap:20px;align-items:center;justify-content:center}.buttons button,.player-extra button{color:#f1e7d5;background:transparent;border:0}.buttons .play{border-radius:50%;background:var(--gold);color:#1c2821;width:38px;height:38px}.timeline{display:flex;align-items:center;gap:11px;font-size:10px;color:#d0c9b9}.timeline input{width:100%;accent-color:var(--gold)}.player-extra{display:flex;align-items:center;gap:12px;margin-left:auto}.player-extra select{background:transparent;color:#f1e7d5;border:1px solid #78877b;padding:8px}.player-extra option{color:#222}.modal{position:fixed;inset:0;z-index:50;display:flex;align-items:center;justify-content:center;padding:20px}.shade{position:absolute;inset:0;background:#111d19a8;backdrop-filter:blur(4px)}.dialog{position:relative;background:var(--cream);width:min(100%,600px);max-height:80vh;overflow:auto;padding:40px;border:1px solid var(--gold);box-shadow:0 20px 80px #0004}.dialog h2{font:600 38px 'Cormorant Garamond',Georgia,serif;margin:12px 0}.modal-close{position:absolute;right:18px;top:17px;border:0;background:none;font-size:18px}.chapter{width:100%;padding:12px;text-align:left;border:0;border-bottom:1px solid var(--line);background:none;display:flex;gap:12px;align-items:center;justify-content:space-between}.chapter.active{background:#e8dfce}.chapter span{color:var(--gold)}.modal-p{line-height:1.9;color:var(--muted)}.dialog input{width:100%;padding:13px;border:1px solid var(--line);background:white;margin:10px 0}.toast{position:fixed;z-index:70;bottom:128px;right:24px;background:var(--forest);color:white;padding:18px 25px;max-width:380px;box-shadow:0 10px 30px #0003}.book-hero{display:flex;gap:26px}.book-hero img{width:130px;max-height:185px;object-fit:cover}.book-hero p{line-height:1.6;color:var(--muted)}@keyframes appear{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@media(max-width:1100px){.book-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.library-grid{gap:30px;grid-template-columns:200px minmax(0,1fr)}}@media(max-width:760px){.mast-inner{padding:20px;gap:15px}.seal{height:52px;width:52px;font-size:25px}.brand-title{font-size:30px}.overline{font-size:8px}.subtitle{font-size:12px}main{padding:0 20px 150px}.intro{padding:30px 0}.intro h1{font-size:55px}.library-grid{display:block;padding-top:23px}.sidenav{display:flex;overflow:auto;gap:12px;min-height:0;border-right:0;padding:0 0 13px}.sidenav .side-label,.side-divider,.sidebar-bottom,.side-note{display:none}.sidenav .nav{white-space:nowrap;width:auto;padding:10px 8px}.sidenav .nav span{display:none}.collection-top{margin-top:18px}.collection h2{font-size:39px}.book-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:25px 17px}.book-title{font-size:23px}.book-author{margin-top:14px}.player{padding:10px 12px;gap:10px;flex-wrap:wrap}.player-art{width:36px;height:42px}.player-info{width:calc(100% - 55px)}.player-controls{order:2;width:100%;flex-basis:100%}.player-extra{position:absolute;right:10px;top:15px}.player-extra #chapterButton{display:none}.buttons{gap:19px}.auth-panel{padding:34px 31px}.dialog{padding:30px 22px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

/* Library v1.1: author portrait inside the book collection view. */
.author-portrait { display:flex; align-items:center; justify-content:flex-start; padding:12px 0 22px; }
.author-portrait img { max-height:210px; max-width:180px; object-fit:cover; border:7px solid #efe8d9; box-shadow:0 7px 22px #342d221c; filter:saturate(.8); }
