:root{color-scheme:light;--paper:#f6f4ef;--surface:#fffdf8;--ink:#22251f;--muted:#72766b;--line:#dddcd3;--accent:#425a38;--soft:#e8ecdf;--reader-size:21px}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.6 system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}a{color:inherit;text-decoration:none}a:hover{color:var(--accent)}button,input,select{font:inherit}button,.button,.primary{display:inline-flex;align-items:center;justify-content:center;gap:1rem;border:1px solid var(--line);border-radius:5px;padding:.65rem 1rem;background:var(--surface);color:var(--ink);cursor:pointer}button:hover,.button:hover{border-color:var(--accent)}.primary{background:var(--accent);border-color:var(--accent);color:white}.primary:hover{background:#31482a;color:white}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid #8da179;outline-offset:4px}.quiet{background:transparent;border:0;color:var(--muted);font-size:.85rem}.site-header{display:flex;align-items:center;gap:2rem;padding:1.25rem 4vw;border-bottom:1px solid var(--line)}.site-header form{margin-left:auto}.brand{font-size:1.6rem;font-weight:750;letter-spacing:-.08em}.brand span{font-weight:400;color:var(--accent)}.site-label{font-size:.8rem;color:var(--muted)}main{max-width:1180px;margin:auto;padding:2.5rem 2rem 4rem;min-height:75vh}.site-footer{border-top:1px solid var(--line);padding:1.5rem 4vw;font-size:.75rem;color:var(--muted)}h1,h2,h3{line-height:1.15}h1{font-family:Georgia,serif;font-weight:400;font-size:clamp(2.3rem,5vw,4rem);letter-spacing:-.035em;margin:.4rem 0 1rem}h2{font-size:1.4rem}p{margin:.6rem 0}.eyebrow{font-size:.68rem;letter-spacing:.18em;color:var(--accent);font-weight:700}.muted{color:var(--muted)}.small{font-size:.8rem}.breadcrumbs{display:flex;gap:.7rem;flex-wrap:wrap;font-size:.8rem;color:var(--muted);margin-bottom:2rem}.breadcrumbs a+a:before{content:"/";margin-right:.7rem;color:var(--line)}.section-heading{margin-bottom:2.5rem}.folder-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:1rem;margin-bottom:2.5rem}.folder{display:flex;align-items:center;gap:1rem;padding:1.4rem;border:1px solid var(--line);background:var(--surface);border-radius:6px}.folder:hover{background:var(--soft)}.folder>span:last-child{margin-left:auto}.folder-icon{color:var(--accent);font-size:1.5rem}.book-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:2rem}.book-cover{height:260px;background:#e4e3d8;display:flex;align-items:center;justify-content:center;overflow:hidden;border-radius:3px;box-shadow:0 5px 15px #2221}.book-cover img{width:100%;height:100%;object-fit:contain}.book-cover span{font-family:Georgia,serif;padding:1.3rem;font-size:1.7rem}.book-card h2{font-size:1rem;line-height:1.4;margin:1rem 0 .3rem}.book-card p{font-size:.8rem}.login-panel{max-width:460px;margin:3rem auto}.login-panel h1{font-size:3rem}.login-panel form{margin:2rem 0}.login-panel label{display:block;font-size:.85rem;margin-bottom:1rem}input{border:1px solid var(--line);border-radius:4px;padding:.6rem;background:var(--surface);color:var(--ink)}.login-panel input{display:block;width:100%;margin-top:.35rem}.login-panel .primary{width:100%;justify-content:space-between}.error{color:#99362f;padding:.8rem;background:#fff0ee}.notice{padding:1.5rem;background:var(--soft);border-radius:5px}.work-hero{display:grid;grid-template-columns:230px 1fr;gap:3rem;padding:1rem 0 3rem}.detail-cover{height:330px}.work-hero h1{font-size:clamp(2rem,4vw,3.5rem)}.authors{font-size:1.05rem;color:var(--muted)}.metadata{display:grid;grid-template-columns:auto 1fr;gap:.3rem 1.5rem;font-size:.85rem;margin:1.5rem 0}.metadata dt{color:var(--muted)}.metadata dd{margin:0}.actions{display:flex;gap:.7rem;flex-wrap:wrap}.downloads{display:flex;gap:1.5rem;flex-wrap:wrap;margin-top:1.1rem;font-size:.8rem;text-decoration:underline}.contents{max-width:780px;border-top:1px solid var(--line);padding-top:2rem}.toc-list{padding-left:1.2rem}.toc-list li{padding:.4rem 0}.toc-list ol{padding-left:1.3rem;font-size:.9em}.reader-main{max-width:1440px;padding:1rem 2rem 3rem}.reader-toolbar{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.6rem 0 1.1rem;border-bottom:1px solid var(--line);font-size:.85rem}.reader-settings{display:flex;align-items:center;gap:.6rem;flex-wrap:wrap}.reader-settings select,select{border:1px solid var(--line);background:var(--surface);color:var(--ink);padding:.5rem;border-radius:4px}.reading-layout{display:grid;grid-template-columns:260px minmax(0,1fr);gap:3rem;margin-top:2rem}.reader-sidebar{font-size:.8rem;max-height:80vh;overflow:auto;position:sticky;top:1rem;align-self:start}.reader-sidebar summary{cursor:pointer;font-weight:600}.reading-column{max-width:760px;margin:0 auto;width:100%}.reader-work-title{margin-bottom:2.5rem}.epub-content{font-family:Georgia,"Times New Roman",serif;font-size:var(--reader-size);line-height:1.8;overflow-wrap:anywhere}.epub-content p{margin:1.1em 0}.epub-content h1{font-size:2em}.epub-content h2{font-size:1.6em}.epub-content h3{font-size:1.3em}.epub-content img{max-width:100%;height:auto}.epub-content a{text-decoration:underline;color:var(--accent)}.epub-content table{display:block;max-width:100%;overflow:auto;border-collapse:collapse;font-size:.85em}.epub-content td,.epub-content th{border:1px solid var(--line);padding:.4em}.epub-content blockquote{border-left:3px solid var(--accent);margin:1em 0;padding-left:1em}.epub-content pre{white-space:pre-wrap}.epub-content [id]{scroll-margin-top:2rem}.chapter-navigation{display:flex;justify-content:space-between;gap:1rem;border-top:1px solid var(--line);margin-top:3rem;padding-top:1.5rem;font-size:.85rem}.dark{color-scheme:dark;--paper:#20241f;--surface:#292f27;--ink:#e2e5db;--muted:#adb5a4;--line:#42493d;--accent:#b2c49b;--soft:#303b29}.dark .primary{background:#435d36;color:white}.pdf-controls{display:flex;align-items:center;gap:.8rem;flex-wrap:wrap;padding:1rem 0;font-size:.8rem}.pdf-controls input{width:5rem}.pdf-controls a{margin-left:auto}#pdf-scroll{overflow:auto;max-width:100%;background:#deded9;padding:1rem}.pdf-page-view{position:relative;margin:auto;background:white;box-shadow:0 3px 15px #0002}.pdf-page-view canvas{display:block}.pdf-page-view .textLayer{position:absolute;inset:0;--scale-factor:1;--total-scale-factor:1}#pdf-links{position:absolute;inset:0;pointer-events:none}#pdf-links a{position:absolute;pointer-events:auto}#pdf-links a:hover{background:#6677aa22}.pdf-page-view .textLayer span{color:transparent}#pdf-status:empty{display:none}@media(max-width:760px){.site-header{padding:1rem;gap:1rem}.site-label{display:none}main,.reader-main{padding:1.5rem 1rem}.book-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:1.4rem 1rem}.book-cover{height:220px}.work-hero{grid-template-columns:1fr;gap:1.5rem}.detail-cover{width:180px;height:260px}.reading-layout{grid-template-columns:1fr;gap:1.5rem}.reader-sidebar{position:static;max-height:250px;border-bottom:1px solid var(--line);padding-bottom:1rem}.reader-toolbar{align-items:flex-start;flex-wrap:wrap}.reader-settings{font-size:.75rem}.pdf-controls{gap:.4rem}#pdf-scroll{padding:.4rem}.login-panel{margin:1rem auto}.login-panel h1{font-size:2.6rem}}
.search-form{margin:0 0 2.5rem;max-width:850px}.search-form>label{display:block;font-size:.9rem;margin-bottom:.6rem}.search-input{display:flex;gap:.6rem}.search-input input{min-width:0;flex:1;width:100%}.scope-global{display:inline-block;margin-top:.5rem;text-decoration:underline}.search-results{max-width:900px}.search-hit{padding:1.7rem 0;border-bottom:1px solid var(--line)}.search-hit h2{font-family:Georgia,serif;line-height:1.5;font-weight:400;font-size:1.4rem;overflow-wrap:anywhere}.search-excerpt{line-height:1.8;overflow-wrap:anywhere}.passage-link{display:inline-block;margin-top:.8rem;color:var(--accent);text-decoration:underline}.search-pages{display:flex;justify-content:space-between;gap:1rem;margin-top:2rem}.search-context{padding:.8rem 0;font-size:.85rem}.search-context a{text-decoration:underline}mark{background:#f1da82;color:#24251f;border-radius:2px;padding:0 .08em}.dark mark{background:#77652c;color:#fff8d9}@media(max-width:760px){.search-input{gap:.4rem}.search-input button{padding:.65rem .8rem}.search-hit h2{font-size:1.2rem}}
