/* Shared library, administration and reader. Every component is scoped to eb-. */
:where(.eb-admin,.eb-library,.eb-block,.eb-dialog,.eb-reader-body){--eb-green:#173e32;--eb-deep:#102c24;--eb-gold:#aa8b50;--eb-line:#dedfd3;--eb-muted:#737d70;--eb-paper:#fffef9;--eb-pale:#f3f2ea;color:var(--eb-green);font-family:var(--font-family-sans,"Kodchasan",Tahoma,sans-serif);line-height:1.7}
:where(.eb-admin,.eb-library,.eb-block,.eb-dialog,.eb-reader) *{box-sizing:border-box}
:where(.eb-admin,.eb-library,.eb-block,.eb-dialog) :is(h1,h2,h3,p){margin-top:0}
:where(.eb-admin,.eb-library,.eb-block,.eb-dialog) a{color:inherit;text-decoration:none}
:where(.eb-admin,.eb-library,.eb-block,.eb-dialog,.eb-reader) button,:where(.eb-admin,.eb-library,.eb-dialog,.eb-reader) input,:where(.eb-admin,.eb-library,.eb-dialog,.eb-reader) select,:where(.eb-admin,.eb-dialog) textarea{font:inherit}
:where(.eb-admin,.eb-library,.eb-block,.eb-dialog,.eb-reader) :is(button,a,input,textarea,select,summary):focus-visible{outline:3px solid #b6985d;outline-offset:4px}
:where(.eb-admin,.eb-library,.eb-block,.eb-dialog,.eb-reader) button{cursor:pointer}
:where(.eb-admin,.eb-library,.eb-dialog,.eb-reader) button:disabled{opacity:.45;cursor:not-allowed}
.eb-heading,.eb-section-heading,.eb-actions,.eb-pagination{display:flex;align-items:center;justify-content:space-between;gap:18px;flex-wrap:wrap}
.eb-heading{margin-bottom:30px}.eb-heading h1{font-size:clamp(27px,2.6vw,38px);font-weight:500;letter-spacing:-.6px;margin:8px 0}.eb-heading p{color:var(--eb-muted);margin:0}.eb-rule{display:block;width:42px;height:3px;background:var(--eb-gold);margin-bottom:16px}.eb-actions{justify-content:flex-start;gap:10px}
.eb-button{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:10px 20px;border:1px solid var(--eb-line);border-radius:9px;background:var(--eb-paper);color:var(--eb-green);font-weight:500;line-height:1.4;text-align:center;transition:background .2s,box-shadow .2s;cursor:pointer;text-decoration:none!important}
.eb-button:hover{background:#ecece1;box-shadow:0 5px 16px #183b3110}.eb-button.eb-primary{background:var(--eb-green);border-color:var(--eb-green);color:#fff9e5}.eb-button.eb-primary:hover{background:#245341}.eb-back{display:inline-block;color:var(--eb-muted)!important;margin:10px 0 26px}.eb-section-heading{margin:28px 0 20px}.eb-section-heading h2{font-size:23px;font-weight:500;margin:0}.eb-section-heading>span,.eb-section-heading h2 span{font-size:14px;font-weight:400;color:var(--eb-muted);margin-left:10px}
.eb-filters{display:flex;gap:14px;align-items:end;padding:24px;background:var(--eb-paper);border:1px solid var(--eb-line);border-radius:15px;flex-wrap:wrap}.eb-filters label{flex:1;min-width:145px}.eb-filters label:first-child{flex:1.6;min-width:180px}
:where(.eb-admin,.eb-library,.eb-dialog) label{display:grid;gap:8px;color:var(--eb-green);font-size:14px}
:where(.eb-admin,.eb-library,.eb-dialog) :is(input:not([type=checkbox]):not([type=file]),select,textarea){width:100%;border:1px solid var(--eb-line);border-radius:8px;padding:11px 13px;background:white;color:var(--eb-green);min-width:0;line-height:1.5}
.eb-empty{text-align:center;padding:65px 22px;border:1px dashed #c8ccbc;border-radius:16px;background:var(--eb-paper)}.eb-empty>span{display:block;margin:0 auto 18px;color:var(--eb-gold);width:42px}.eb-empty svg{width:42px;height:42px}.eb-empty h3,.eb-empty h2{font-size:23px;font-weight:500}.eb-empty p,.eb-help{color:var(--eb-muted);font-size:14px}.eb-pagination{justify-content:center;margin:32px 0}.eb-pagination span{font-size:14px;color:var(--eb-muted)}
.eb-dialog{border:1px solid #d3c4a0;border-radius:22px;background:var(--eb-paper);padding:38px;max-height:90dvh;overflow:auto;box-shadow:0 35px 100px #061d2960}.eb-dialog::backdrop{background:#0d211bc7;backdrop-filter:blur(7px)}.eb-close{position:absolute;right:16px;top:12px;border:1px solid var(--eb-line);border-radius:50%;background:var(--eb-paper);color:var(--eb-green);width:36px;height:36px;font-size:26px;line-height:1;z-index:1}.eb-create-dialog{width:min(480px,calc(100% - 30px))}.eb-create-dialog>p{color:var(--eb-muted)}.eb-create-dialog>.eb-button{margin-top:26px;width:100%}.eb-create-dialog h2{font-weight:500;font-size:26px}
.eb-feedback:empty{display:none}.eb-feedback{position:sticky;bottom:18px;z-index:8;background:#173e32;color:#fff9e5;border:1px solid #c9b079;padding:16px 24px;border-radius:12px;box-shadow:0 10px 35px #102c2433}.eb-feedback.is-error{background:#77392e}.eb-notice{padding:18px 24px;border:1px solid #ddc7a0;border-radius:12px;margin-bottom:20px;background:#fff7df}
/* Administration */
.eb-admin-intro{display:flex;justify-content:space-between;align-items:center;gap:30px;background:radial-gradient(ellipse at 100% 0,#3c60454d,transparent 65%),linear-gradient(120deg,#173e32,#0e2b23);border:1px solid #8a80575c;border-radius:18px;padding:32px 36px;margin-bottom:26px;color:#f3ecd3;position:relative;overflow:hidden}.eb-admin-intro:after{content:'';position:absolute;inset:10px;border:1px solid #bb9f5829;pointer-events:none;border-radius:11px}.eb-admin-intro h2{font-size:27px;font-weight:500;margin:0 0 8px}.eb-admin-intro p{color:#c2cbb8;margin:0}.eb-emblem{float:left;width:62px;height:72px;border:1px solid #b89e6660;border-radius:12px;display:grid;place-items:center;margin:0 24px 8px 0;color:#d2b77a}.eb-emblem svg{width:30px;height:30px}.eb-admin-intro .eb-primary{background:#dbc899;color:#163a2e;border:0;white-space:nowrap}
.eb-manage-list{display:grid;gap:14px}.eb-manage-book{display:flex;align-items:center;gap:26px;padding:22px 26px;background:var(--eb-paper);border:1px solid var(--eb-line);border-radius:13px}.eb-mini-cover{width:76px;flex:0 0 76px;height:108px;display:grid;place-items:center;background:#e8e8db;border-radius:4px;overflow:hidden}.eb-mini-cover img{height:100%;width:100%;object-fit:contain}.eb-mini-cover svg{width:30px;height:30px;color:var(--eb-gold)}.eb-manage-copy{flex:1;min-width:0}.eb-manage-copy h3{font-size:20px;font-weight:500;overflow-wrap:anywhere;margin:5px 0}.eb-manage-copy p{font-size:14px;color:var(--eb-muted);margin:0}.eb-manage-copy small{font-size:12px;color:var(--eb-muted)}.eb-status{font-size:11px;border:1px solid #dacdb2;background:#f4eddf;color:#8e6e36;padding:3px 10px;border-radius:20px}.eb-status.is-public{border-color:#b2c8b7;background:#edf2e9;color:#376747}.eb-manage-actions{display:grid;gap:8px;justify-items:center}.eb-manage-actions>button:not(.eb-button){border:0;background:none;color:var(--eb-muted);font-size:12px}
.eb-editor-grid{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:24px;align-items:start}.eb-editor-main,.eb-editor-aside{display:grid;gap:24px}.eb-panel{background:var(--eb-paper);border:1px solid var(--eb-line);border-radius:15px;padding:26px}.eb-panel-title{display:flex;gap:16px;align-items:center;margin-bottom:25px}.eb-panel-title>span{color:var(--eb-gold);font-size:24px;border-right:1px solid var(--eb-line);padding-right:15px;font-family:Georgia,serif}.eb-panel-title h2{font-size:21px;font-weight:500;margin:0}.eb-panel-title p{font-size:12px;color:var(--eb-muted);margin:2px 0 0}.eb-panel>label{margin-bottom:20px}.eb-panel>label:last-child{margin-bottom:0}.eb-field-pair{display:grid;grid-template-columns:1fr 130px;gap:18px;margin-bottom:20px}.eb-admin textarea{resize:vertical}.eb-dropzone{border:1px dashed #a3b39b;border-radius:13px;padding:24px;text-align:center;background:#f3f5ed;cursor:pointer;place-items:center;transition:.2s}.eb-dropzone:hover,.eb-dropzone.is-over{border-color:var(--eb-gold);background:#eee9dc}.eb-upload-symbol{display:grid;place-items:center;background:white;border:1px solid var(--eb-line);border-radius:12px;width:48px;height:48px;font-size:27px;color:var(--eb-gold)}.eb-dropzone small{color:var(--eb-muted);font-size:12px}.eb-dropzone input{position:absolute;width:1px;height:1px;opacity:0}.eb-dropzone:focus-within{outline:3px solid var(--eb-gold);outline-offset:3px}.eb-file-summary{padding:15px 18px;background:var(--eb-pale);border-radius:9px;display:grid;gap:4px;margin-bottom:20px;overflow-wrap:anywhere}.eb-file-summary p{margin:0}.eb-file-summary span{color:var(--eb-muted);font-size:13px}.eb-file-summary strong{font-weight:500}.eb-check{display:flex!important;align-items:center}.eb-check input{accent-color:var(--eb-green);width:18px;height:18px}.eb-help{margin:12px 0 0;line-height:1.7}.eb-cover-stage{padding:24px 30px 30px;background:radial-gradient(ellipse at top,#f8f5e8,#e7e8de);border-radius:10px;margin-bottom:20px;min-height:250px;display:flex;align-items:center;justify-content:center}.eb-cover-stage img{width:100%;max-height:320px;object-fit:contain;filter:drop-shadow(8px 10px 9px #283e3b2d)}.eb-cover-upload{display:flex!important;margin-bottom:8px!important}.eb-cover-upload input{width:1px;height:1px;position:absolute;opacity:0}.eb-cover-upload:focus-within{outline:3px solid var(--eb-gold);outline-offset:3px}.eb-publish-panel{background:#e9ece2}.eb-publish-panel h2{font-size:20px;font-weight:500}.eb-publish-panel p{font-size:14px;color:var(--eb-muted)}.eb-publish-panel .eb-button{width:100%}.eb-publish-panel small{display:block;font-size:11px;color:var(--eb-muted);margin-top:12px}.eb-asset-library summary{cursor:pointer}.eb-asset{display:flex;align-items:center;gap:10px;font-size:12px;padding:13px 0;border-bottom:1px solid var(--eb-line)}.eb-asset span{flex:1;min-width:0;overflow-wrap:anywhere}.eb-asset button{white-space:nowrap;background:transparent;border:1px solid var(--eb-line);color:var(--eb-green);border-radius:5px;padding:5px 8px}.eb-admin progress{width:100%;accent-color:var(--eb-green);margin:10px 0}
/* Public library */
.eb-library{padding:24px 0 45px}.eb-breadcrumb{display:flex;gap:12px;font-size:12px;color:var(--eb-muted);margin-bottom:24px;flex-wrap:wrap}.eb-library-hero{min-height:285px;display:grid;grid-template-columns:1.15fr 1fr;align-items:center;gap:25px;background:radial-gradient(ellipse at 85% 50%,#39624f,transparent 67%),linear-gradient(135deg,#0d2e25,#1d4234);color:#f5edd7;border:1px solid #a38a532b;border-radius:22px;overflow:hidden;padding:42px 54px;position:relative;margin-bottom:26px}.eb-library-hero:before{content:'';position:absolute;inset:12px;border:1px solid #c8b57a24;border-radius:13px;pointer-events:none}.eb-library-hero h1{font-weight:400;font-size:clamp(30px,3.6vw,48px);line-height:1.35;letter-spacing:-.6px;margin-bottom:16px}.eb-library-hero p{font-size:14px;color:#c9d0bc;margin:0 0 12px}.eb-library-hero .eb-rule{background:#c0a569}.eb-hero-art{height:235px;position:relative;perspective:900px}.eb-art-book{position:absolute;bottom:18px;width:108px;height:164px;box-shadow:8px 8px 8px #0004;transform:rotateY(-20deg) rotateZ(-10deg);background:linear-gradient(90deg,#a18249,#c0a66b 8%,#e3d0a2 12%,#d0bb88);border-radius:2px 5px 5px 2px;border:1px solid #c7b37f;display:block}.eb-art-book:before{content:'';position:absolute;inset:10px;border:1px solid #6c572969}.eb-art-book:after{content:'';position:absolute;width:30px;height:30px;border:1px solid #725d3480;top:50px;left:37px;transform:rotate(45deg)}.eb-art-book i{position:absolute;left:27px;right:27px;bottom:40px;height:1px;background:#72613c80;box-shadow:0 5px #72613c50,0 10px #72613c30}.art-one{left:15%;bottom:18px}.art-two{left:39%;height:204px;width:132px;bottom:20px;z-index:2;background:linear-gradient(90deg,#0c2b22,#224737 9%,#346048 13%,#204332);border-color:#647c52;transform:rotateY(-16deg) rotateZ(2deg)}.art-two:before{border-color:#c9b7786e}.art-two:after{border-color:#c9b778;left:45px;top:62px;width:39px;height:39px}.art-two i{background:#c9b778;box-shadow:0 5px #c9b77870,0 10px #c9b77840}.art-three{left:68%;bottom:16px;transform:rotateY(-18deg) rotateZ(12deg);background:linear-gradient(90deg,#b1b2a0,#e7e3cf 12%,#f2eddc)}.eb-art-plinth{position:absolute;bottom:0;left:5%;right:0;height:14px;border-radius:50%;background:#091e1966;filter:blur(9px)}
.eb-layout-switch{display:flex;gap:4px;padding:4px;border:1px solid var(--eb-line);border-radius:9px;background:var(--eb-paper)}.eb-layout-switch a{padding:6px 14px;border-radius:6px;font-size:13px}.eb-layout-switch a[aria-current]{background:var(--eb-green);color:#f7efd9}.eb-collection{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:26px}.eb-book{min-width:0}.eb-cover-link{display:flex;position:relative;justify-content:center;align-items:end;padding:24px 30px 27px;min-height:260px;isolation:isolate;overflow:hidden}.eb-book-object{position:relative;aspect-ratio:3/4.2;width:100%;max-width:162px;transform:perspective(1000px) rotateY(-8deg);transform-origin:left;filter:drop-shadow(8px 9px 7px #1b342a35);transition:transform .3s}.eb-book-object:after{content:'';position:absolute;inset:1px -5px 0 auto;width:5px;z-index:-1;background:repeating-linear-gradient(0deg,#e5e3d7 0 1px,#fffdf3 1px 3px);border-right:1px solid #babbad;transform:skewY(3deg);border-radius:0 2px 2px 0}.eb-book-object:before{content:'';position:absolute;inset:0 auto 0 0;width:7px;background:linear-gradient(90deg,#14291b22,transparent);z-index:1;pointer-events:none}.eb-book-object>img{display:block;width:100%;height:100%;object-fit:contain;background:#f6f4e9;border-radius:1px 3px 3px 1px}.eb-fallback-cover{width:100%;height:100%;min-height:170px;background:linear-gradient(100deg,#0e3026,#2e5540);border:1px solid #b4a16b;padding:20px 16px;box-shadow:inset 0 0 0 6px #173b2c,inset 0 0 0 7px #b3a06555;color:#f0e7c7;display:flex;flex-direction:column;justify-content:space-between;text-align:center;gap:18px}.eb-fallback-cover span{font-size:9px;line-height:1.5;color:#d2c58e}.eb-fallback-cover strong{font-size:15px;font-weight:500;line-height:1.65;overflow-wrap:anywhere;display:-webkit-box;-webkit-line-clamp:5;-webkit-box-orient:vertical;overflow:hidden}.eb-fallback-cover small{font-size:9px;color:#c8c8ad}.eb-cover-link:hover .eb-book-object{transform:perspective(1000px) rotateY(0) translateY(-6px)}.eb-cover-action{position:absolute;inset:auto 0 0;background:#153d31f0;color:#fff6dc;padding:7px;font-size:12px;text-align:center;transform:translateY(100%);transition:transform .2s;z-index:2}.eb-cover-link:hover .eb-cover-action,.eb-cover-link:focus-visible .eb-cover-action{transform:translateY(0)}
.eb-book-caption{min-width:0;padding:18px 4px 10px}.eb-category{font-size:11px;color:var(--eb-gold);display:block;margin-bottom:7px}.eb-book-caption h3{font-size:16px;line-height:1.65;font-weight:500;margin:0 0 7px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.eb-book-caption>p{font-size:12px;color:var(--eb-muted);margin:0 0 10px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.eb-book-meta{display:flex;justify-content:space-between;gap:10px;padding-top:10px;border-top:1px solid var(--eb-line);font-size:11px;color:var(--eb-muted)}.eb-book-meta>a{color:var(--eb-green)}
.eb-layout-shelf{gap:28px 26px;padding:26px;background:#eeefe6;border:1px solid #d9ddcf;border-radius:16px}.eb-layout-shelf .eb-cover-link{background:linear-gradient(0deg,#c4cbba55,transparent 30%),linear-gradient(90deg,#e5e8dc,#f5f4e9 40%,#e8ecdf);border-radius:9px 9px 0 0}.eb-layout-shelf .eb-cover-link:after{content:'';position:absolute;left:0;right:0;bottom:0;height:10px;background:linear-gradient(#c5b58b,#e6d9b7 35%,#ae9b6c 45%,#d9caa4);box-shadow:0 6px 9px #19372726;z-index:-1}.eb-layout-shelf .eb-book-caption{padding:18px 5px 2px}.eb-layout-cards .eb-book{background:var(--eb-paper);border:1px solid var(--eb-line);border-radius:12px;overflow:hidden;box-shadow:0 5px 18px #132f2206}.eb-layout-cards .eb-cover-link{background:#f1f2ea}.eb-layout-cards .eb-book-caption{padding:20px}.eb-layout-list{grid-template-columns:1fr;gap:15px}.eb-layout-list .eb-book{display:grid;grid-template-columns:145px 1fr;align-items:center;border:1px solid var(--eb-line);border-radius:12px;background:var(--eb-paper);padding:18px;gap:26px}.eb-layout-list .eb-cover-link{min-height:0;padding:5px 15px;background:var(--eb-pale);border-radius:6px}.eb-layout-list .eb-book-object{max-width:80px}.eb-layout-list .eb-book-caption{padding:0}.eb-layout-list .eb-book-caption h3{font-size:20px}.eb-layout-list .eb-fallback-cover{min-height:112px;padding:9px}.eb-layout-list .eb-fallback-cover span,.eb-layout-list .eb-fallback-cover small{display:none}.eb-layout-list .eb-fallback-cover strong{font-size:10px}
.eb-detail-heading{font-size:24px;font-weight:500}.eb-detail-panel{background:var(--eb-paper);border:1px solid var(--eb-line);border-radius:20px;padding:45px;margin-bottom:20px}.eb-book-info{display:grid;grid-template-columns:minmax(180px,.7fr) 1.3fr;gap:48px;align-items:center}.eb-detail-cover{background:radial-gradient(ellipse at top,#faf8eb,#e6e9dc);border:1px solid #e0e1d2;border-radius:14px;padding:40px;display:grid;place-items:center;min-height:320px}.eb-detail-cover .eb-book-object{max-width:230px}.eb-detail-copy h2{font-size:clamp(23px,2.4vw,30px);font-weight:500;line-height:1.6;margin-bottom:15px}.eb-detail-copy .eb-category{font-size:13px}.eb-author{color:var(--eb-muted);font-size:14px}.eb-book-facts{display:flex;gap:20px;flex-wrap:wrap;padding:15px 0;border-top:1px solid var(--eb-line);border-bottom:1px solid var(--eb-line);font-size:13px;margin:20px 0;color:var(--eb-muted)}.eb-book-facts strong{font-weight:500;color:var(--eb-green)}.eb-description{font-size:15px;line-height:1.9;white-space:normal;overflow-wrap:anywhere;max-height:260px;overflow:auto}.eb-book-date{font-size:11px;color:var(--eb-muted);margin-top:22px;margin-bottom:0}.eb-detail-dialog{width:min(940px,calc(100% - 32px));padding:46px}.eb-block{container-type:inline-size;container-name:ebookblock;padding:28px;border:1px solid var(--eb-line);border-radius:17px;background:var(--eb-paper)}.eb-block>.eb-section-heading{margin-top:0}.eb-block>.eb-section-heading a{font-size:12px;color:var(--eb-muted)}
/* Reader */
.eb-reader-body{margin:0;background:#dfe3d8;font-size:14px}.eb-reader{min-height:100dvh;display:flex;flex-direction:column}.eb-reader:fullscreen{background:#dfe3d8;overflow:auto}.eb-reader-header{display:flex;align-items:center;gap:28px;padding:14px 24px;border-bottom:1px solid #66806c;background:#15392e;color:#f4ecd4}.eb-reader-brand{display:flex;align-items:center;gap:12px;color:inherit;text-decoration:none;flex-shrink:0;font-size:12px}.eb-reader-brand img{object-fit:contain}.eb-reader-header h1{font-size:17px;line-height:1.6;font-weight:500;margin:0;flex:1;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.eb-reader-links{display:flex;gap:15px;flex-shrink:0}.eb-reader-links a{color:#dfcea2;font-size:12px}.eb-reader-toolbar{display:flex;align-items:center;justify-content:center;gap:12px;flex-wrap:wrap;background:#fffdf5;border-bottom:1px solid #cbd0be;padding:12px 20px;box-shadow:0 4px 18px #132e1e08}.eb-tool-group{display:flex;align-items:center;gap:5px}.eb-tool-group+.eb-tool-group{border-left:1px solid #d4d8ca;padding-left:12px}.eb-reader-toolbar button,.eb-reader-sidebar button{border:1px solid transparent;background:transparent;color:#254638;border-radius:6px;min-width:33px;min-height:35px;padding:4px 8px}.eb-reader-toolbar button:hover,.eb-reader-sidebar button:hover{background:#e7e9dc;border-color:#ccd4bb}.eb-page-field{display:flex;align-items:center;gap:6px;font-size:12px;white-space:nowrap}.eb-page-field input{width:55px;border:1px solid #cdd3c2;border-radius:5px;padding:5px;text-align:center;color:#173e32;background:white}.eb-tool-group output{font-size:12px;min-width:42px;text-align:center}.eb-mode-field select{background:#f7f7ed;border:1px solid #d3d7c9;border-radius:6px;color:#214335;padding:7px;font-size:12px}.eb-reader-search{display:flex;gap:5px;margin-left:auto}.eb-reader-search input{border:1px solid #cdd4c1;border-radius:6px;padding:7px 10px;width:145px;color:#234b39;background:white;font-size:12px}.eb-reader-search button{font-size:12px}.eb-reader-workspace{display:flex;flex:1;min-height:0}.eb-reader-stage{flex:1;min-width:0;min-height:calc(100dvh - 200px);position:relative;overflow:auto;display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-start;padding:25px 30px;background:radial-gradient(ellipse at top,#f5f4ea,#dfe4d7 70%);touch-action:pan-x pan-y}.eb-pages{display:flex;flex-shrink:0;gap:2px;align-items:flex-start;justify-content:center;min-width:min-content;margin:auto;perspective:2000px}.eb-rendered-page{position:relative;background:#fffef9;box-shadow:0 10px 30px #0c2b232d,0 1px 3px #0c2b2340;animation:eb-page-turn .32s ease-out;transform-origin:left center}.eb-rendered-page canvas{display:block;max-width:none}.eb-pages.has-spread .eb-rendered-page:first-child:after{content:'';position:absolute;inset:0 0 0 auto;width:14px;background:linear-gradient(90deg,transparent,#0b211519);pointer-events:none}.eb-pages.has-spread .eb-rendered-page:last-child:after{content:'';position:absolute;inset:0 auto 0 0;width:10px;background:linear-gradient(90deg,#0b211519,transparent);pointer-events:none}.eb-reader-status{font-size:13px;color:#46634e;margin:15px 0 0;text-align:center;max-width:600px}.eb-reader-status.is-error{color:#8d4133;background:#fff8ef;border:1px solid #dfc8ab;padding:20px;border-radius:10px}.eb-reader-sidebar{width:210px;flex:0 0 210px;max-height:calc(100dvh - 150px);overflow:auto;background:#f4f4e9;border-right:1px solid #cbd0bd;padding:12px}.eb-reader-sidebar[hidden]{display:none}.eb-sidebar-heading{display:flex;align-items:center;justify-content:space-between;gap:10px;position:sticky;top:-12px;background:#f4f4e9;z-index:1;padding:8px 0}.eb-sidebar-heading h2{font-size:14px;font-weight:500;margin:0}.eb-thumbnail{display:grid;gap:6px;width:100%;padding:12px!important;text-align:center;margin:0 0 8px;border:1px solid #d8decb!important;background:#fffef6!important}.eb-thumbnail.is-current{border-color:#9e8247!important;box-shadow:inset 0 0 0 1px #9e8247}.eb-thumbnail canvas{max-width:100%;margin:auto}.eb-thumbnail span{font-size:11px}.eb-search-result{display:block;width:100%;border:1px solid #d2d8c6!important;background:#fffef6!important;margin:8px 0;text-align:left;overflow-wrap:anywhere}.eb-search-result strong{display:block;font-size:12px;color:#8b713d}.eb-search-result p{font-size:12px;line-height:1.65;margin:6px 0}.eb-reader-footer{display:flex;align-items:center;justify-content:space-between;gap:25px;padding:12px 26px;background:#ecede2;border-top:1px solid #cbd1bd;font-size:11px;color:#708066}.eb-reader-progress{flex:1;height:3px;background:#c5ceba;max-width:300px}.eb-reader-progress i{height:100%;width:0;display:block;background:#8f7845;transition:width .2s}.eb-accessible-text{background:#f4f5ed;padding:8px 25px;font-size:12px;color:#506448}.eb-accessible-text summary{cursor:pointer}.eb-accessible-text p{white-space:pre-wrap;line-height:1.9}.eb-accessible-text>div{max-width:900px;margin:auto}.eb-sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@keyframes eb-page-turn{from{opacity:.5;transform:rotateY(-7deg) translateX(5px)}to{opacity:1;transform:rotateY(0) translateX(0)}}
@container ebookblock (max-width:850px){.eb-collection:not(.eb-layout-list){grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.eb-cover-link{padding:22px 22px 27px;min-height:220px}.eb-layout-shelf{padding:20px}}
@container ebookblock (max-width:580px){.eb-collection:not(.eb-layout-list){grid-template-columns:repeat(2,minmax(0,1fr));gap:20px 14px}.eb-cover-link{padding:18px 20px 25px;min-height:190px}.eb-layout-list .eb-book{grid-template-columns:90px 1fr;gap:14px;padding:12px}.eb-layout-list .eb-book-caption h3{font-size:16px}.eb-layout-list .eb-cover-link{padding:8px;min-height:0}}
@container ebookblock (max-width:330px){.eb-collection:not(.eb-layout-list){grid-template-columns:1fr}.eb-block .eb-section-heading{gap:10px}.eb-section-heading h2{font-size:20px}.eb-cover-link{min-height:230px}.eb-book-object{max-width:145px}.eb-layout-shelf{padding:15px}.eb-layout-list .eb-book{grid-template-columns:65px 1fr;padding:9px;gap:10px}.eb-layout-list .eb-fallback-cover{min-height:88px}.eb-book-meta{flex-wrap:wrap}.eb-book-caption h3{font-size:15px}}
@media(max-width:1100px){.eb-editor-grid{grid-template-columns:minmax(0,1fr) 280px;gap:18px}.eb-panel{padding:20px}.eb-reader-search{margin-left:0}.eb-collection{grid-template-columns:repeat(3,minmax(0,1fr))}.eb-cover-link{min-height:240px}.eb-admin-intro{padding:26px}.eb-manage-book{gap:18px;padding:20px}.eb-book-info{gap:30px}.eb-detail-cover{padding:30px}}
@media(max-width:760px){.eb-heading{align-items:flex-start}.eb-heading h1{font-size:28px}.eb-admin-intro{align-items:flex-start;flex-direction:column;gap:20px}.eb-admin-intro h2{font-size:24px}.eb-editor-grid{grid-template-columns:1fr}.eb-editor-aside{grid-template-columns:1fr 1fr;align-items:start}.eb-manage-book{flex-wrap:wrap;gap:16px}.eb-mini-cover{width:60px;flex-basis:60px;height:85px}.eb-manage-actions{display:flex;justify-content:flex-end;width:100%;gap:16px}.eb-manage-copy h3{font-size:17px}.eb-filters{padding:18px;gap:12px}.eb-filters label{min-width:135px}.eb-library-hero{padding:32px 28px;grid-template-columns:1.1fr .9fr;gap:10px;min-height:260px}.eb-hero-art{transform:scale(.8);transform-origin:center;height:200px;margin-left:-35px}.art-one{left:0}.art-two{left:28%}.art-three{left:65%}.eb-library-hero h1{font-size:32px}.eb-library-hero p{font-size:12px}.eb-collection{grid-template-columns:repeat(2,minmax(0,1fr));gap:22px 16px}.eb-layout-shelf{padding:20px}.eb-cover-link{min-height:230px;padding:20px 24px 26px}.eb-layout-list{grid-template-columns:1fr}.eb-layout-list .eb-book{grid-template-columns:100px 1fr;gap:18px}.eb-layout-list .eb-book-caption h3{font-size:18px}.eb-book-info{grid-template-columns:1fr;gap:25px}.eb-detail-cover{min-height:0;padding:24px}.eb-detail-cover .eb-book-object{max-width:160px}.eb-detail-panel{padding:25px}.eb-detail-dialog{padding:40px 24px 24px}.eb-reader-header{gap:12px;padding:12px}.eb-reader-header h1{font-size:13px}.eb-reader-brand span{display:none}.eb-reader-links{flex-direction:column;gap:3px}.eb-reader-links a{font-size:10px}.eb-reader-toolbar{padding:9px;gap:7px;justify-content:center}.eb-tool-group+.eb-tool-group{border:0;padding-left:0}.eb-reader-toolbar button{font-size:12px;padding:3px 6px;min-width:29px}.eb-reader-search input{width:150px}.eb-reader-sidebar{width:160px;flex-basis:160px}.eb-reader-stage{padding:18px 12px;min-height:calc(100dvh - 220px)}.eb-reader-footer{gap:12px;padding:10px 15px}.eb-reader-footer>span:last-child{display:none}.eb-reader-progress{max-width:150px}}
@media(max-width:480px){.eb-library{padding:15px 0 30px}.eb-library-hero{grid-template-columns:1fr;padding:30px 26px;min-height:260px}.eb-library-hero>div:first-child{position:relative;z-index:1;width:75%}.eb-hero-art{position:absolute;right:-100px;bottom:-5px;width:260px;opacity:.4;transform:scale(.75)}.eb-library-hero h1{font-size:34px}.eb-library-hero p:last-child{font-size:12px}.eb-section-heading{gap:14px}.eb-section-heading h2{font-size:21px}.eb-layout-switch a{padding:6px 12px}.eb-layout-shelf{padding:13px;gap:22px 12px}.eb-cover-link{min-height:190px;padding:19px 16px 25px}.eb-book-caption h3{font-size:15px}.eb-book-meta{flex-wrap:wrap;gap:4px;font-size:10px}.eb-layout-cards .eb-book-caption{padding:14px}.eb-fallback-cover{padding:15px 12px;min-height:145px}.eb-fallback-cover strong{font-size:12px}.eb-fallback-cover span,.eb-fallback-cover small{font-size:8px}.eb-editor-aside{grid-template-columns:1fr}.eb-cover-stage img{max-width:180px}.eb-editor-aside .eb-fallback-cover{max-width:180px;min-height:250px}.eb-field-pair{grid-template-columns:1fr}.eb-heading>.eb-actions{width:100%}.eb-heading>.eb-actions .eb-button{flex:1;padding:12px 10px}.eb-emblem{display:none}.eb-manage-actions{justify-content:flex-start;flex-wrap:wrap}.eb-manage-copy small{font-size:11px}.eb-panel{padding:20px}.eb-layout-list .eb-book{grid-template-columns:75px 1fr;padding:12px;gap:15px}.eb-layout-list .eb-cover-link{padding:5px}.eb-layout-list .eb-book-caption h3{font-size:16px}.eb-reader-sidebar{position:absolute;left:0;z-index:4;box-shadow:10px 0 25px #132b2730;max-height:65dvh;width:180px}.eb-tool-group [data-reader=first],.eb-tool-group [data-reader=last]{display:none}}
@media(prefers-reduced-motion:reduce){:where(.eb-admin,.eb-library,.eb-block,.eb-reader) *{animation:none!important;transition:none!important}}

:where(.eb-reader-stage,.eb-reader-sidebar,.eb-dialog,.eb-description){scrollbar-width:thin;scrollbar-color:#ae9a68 #e4e8db}
:where(.eb-reader-stage,.eb-reader-sidebar,.eb-dialog,.eb-description)::-webkit-scrollbar{width:6px;height:6px}
:where(.eb-reader-stage,.eb-reader-sidebar,.eb-dialog,.eb-description)::-webkit-scrollbar-thumb{background:#ae9a68;border-radius:10px}

/* Direct page turns at fit size; magnified pages can be panned with a mouse. */
.eb-pages{touch-action:pan-y pinch-zoom;user-select:none;cursor:ew-resize}
.eb-pages[data-zoomed=true]{touch-action:pan-x pan-y pinch-zoom;cursor:grab}
.eb-pages.is-dragging{transform:translateX(var(--eb-drag-x,0));cursor:grabbing}
.eb-pages.is-panning{cursor:grabbing}
.eb-pages[aria-busy=true]{cursor:progress}
.eb-reader-stage:focus-visible{outline:2px solid #b59a60;outline-offset:-3px}
@media(prefers-reduced-motion:reduce){.eb-pages.is-dragging{transform:none}}

@media(max-width:760px){.eb-reader-footer{flex-wrap:wrap}.eb-reader-footer>span:last-child{display:block;flex-basis:100%;line-height:1.7}}
