/* SHAMS LIBRARY V5 — warm paper, quieter layout, stronger buttons */
body.public-area .main{padding-top:18px}.public-header{box-shadow:0 8px 24px rgba(79,61,40,.07)}
.public-nav>a{border-radius:14px;transition:.2s ease}.public-nav>a:hover{transform:translateY(-2px);background:rgba(100,124,108,.09)}.public-nav .nav-emoji{font-size:17px;width:22px;text-align:center}.public-nav a small{display:none}
.release-spotlight{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:22px;padding:22px 24px;border:1px solid var(--line);border-radius:18px;background:linear-gradient(120deg,var(--panel),rgba(100,124,108,.08));box-shadow:0 12px 30px rgba(80,60,38,.07);margin-bottom:16px}.release-mark{min-width:112px;padding-inline-end:18px;border-inline-end:1px solid var(--line)}.release-mark span{display:block;font-size:12px;font-weight:900;color:var(--accent)}.release-mark small{color:var(--muted)}.release-taxonomy,.book-taxonomy{color:var(--accent);font-weight:800;font-size:12px}.release-copy h1{font-size:30px;margin:4px 0 5px}.release-copy p{margin:0;color:var(--muted);line-height:1.8;max-width:760px}.release-spotlight .btn{min-height:48px;padding:0 18px;box-shadow:0 6px 0 rgba(58,84,67,.18),0 12px 22px rgba(58,84,67,.12)}
.library-summary{display:flex;gap:10px;flex-wrap:wrap;margin:0 0 28px}.library-summary span{background:var(--panel);border:1px solid var(--line);border-radius:999px;padding:8px 13px;color:var(--muted)}.library-summary b{color:var(--ink);font-size:16px;margin-inline-end:4px}
.library-section{margin:30px 0}.library-section>.section-head{margin-bottom:14px}.library-section>.section-head small{color:var(--muted)}.compact-grid{grid-template-columns:repeat(6,minmax(0,1fr))}
.v5-book-card{position:relative;overflow:visible}.v5-book-card .cover{position:relative}.cover-badges{position:absolute;top:10px;right:10px;z-index:2;display:flex;gap:6px;flex-wrap:wrap}.cover-badge{padding:5px 8px;border-radius:999px;font-size:10px;font-weight:900;box-shadow:0 4px 12px rgba(0,0,0,.12);backdrop-filter:blur(4px)}.cover-badge.new{background:#fff5c8;color:#725711;border:1px solid #dbc66c}.cover-badge.featured{background:#657d6d;color:#fff;border:1px solid #496354}.book-taxonomy{display:flex;gap:6px;align-items:center;margin-bottom:5px}.book-taxonomy i{opacity:.45}.v5-book-card .book-card-foot{display:flex;gap:10px;justify-content:flex-start;flex-wrap:wrap;color:var(--muted);font-size:11px}.v5-book-card h3{font-size:18px;line-height:1.45;margin:4px 0 9px}.v5-book-card:hover{transform:translateY(-4px);box-shadow:0 16px 28px rgba(77,57,35,.12)}
.category-groups{display:grid;gap:14px}.category-groups>div>b{display:block;margin-bottom:8px}.category-row{gap:8px}.chip{transition:.18s ease;box-shadow:0 3px 0 rgba(70,55,36,.08)}.chip:hover{transform:translateY(-1px)}.chip.active{box-shadow:0 4px 0 rgba(66,92,73,.18)}
.work-tags{display:flex;gap:7px;flex-wrap:wrap;margin:10px 0 14px}.work-tags span{border:1px solid var(--line);background:var(--panel2);padding:6px 9px;border-radius:999px;font-size:11px;color:var(--accent);font-weight:800}
.btn{font-size:14px!important;font-weight:900!important;transition:transform .16s ease,box-shadow .16s ease,filter .16s ease}.btn:hover{transform:translateY(-2px);filter:saturate(1.05)}.btn:active{transform:translateY(1px)!important;box-shadow:none!important}.btn.primary{box-shadow:0 5px 0 rgba(58,80,65,.24),0 10px 20px rgba(58,80,65,.10)}.btn.ghost{box-shadow:0 4px 0 rgba(85,68,48,.10)}
.compact-achievements .achievement-grid{grid-template-columns:repeat(3,1fr)}
/* EPUB reader */
.epub-reader-area{overflow:hidden;background:var(--paper)}.epub-reader-shell{height:100dvh;display:grid;grid-template-rows:auto auto minmax(0,1fr) auto;max-width:1500px;margin:auto;padding:12px}.epub-reader-top,.epub-toolbar{display:flex;align-items:center;gap:12px;border:1px solid var(--line);background:var(--panel);padding:10px 12px}.epub-reader-top{border-radius:16px 16px 0 0}.epub-reader-top .reader-title{flex:1;text-align:center}.reader-tools{display:flex;align-items:center;gap:7px}.reader-control{border:1px solid var(--line);background:var(--panel2);color:var(--ink);border-radius:11px;min-height:42px;padding:8px 12px;font-weight:900;cursor:pointer}.epub-toolbar{justify-content:space-between;border-top:0}.reader-progress{flex:1;max-width:620px;text-align:center}.reader-progress>div{height:5px;background:var(--panel2);border-radius:99px;overflow:hidden;margin:4px 0}.reader-progress i{display:block;height:100%;width:0;background:var(--accent);transition:.25s}.reader-progress small{color:var(--muted)}.epub-stage{position:relative;min-height:0;border:1px solid var(--line);border-top:0;background:#fffdf8;overflow:hidden}.epub-stage #epubViewer{width:100%;height:100%;min-height:0}.epub-loading,.epub-error{position:absolute;inset:0;display:grid;place-content:center;text-align:center;gap:7px;background:var(--panel);z-index:3}.epub-error[hidden],.epub-loading[hidden]{display:none}.epub-mobile-nav{display:none}.reader-brand-mini img{border-radius:11px}
html[data-theme="dark"] .epub-stage{background:#25231f}
@media(max-width:1100px){.compact-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:760px){body.public-area .main{padding-top:8px}.public-nav a small{display:block}.release-spotlight{grid-template-columns:1fr;gap:10px;padding:16px}.release-mark{display:flex;justify-content:space-between;align-items:center;border:0;border-bottom:1px solid var(--line);padding:0 0 10px;min-width:0}.release-copy h1{font-size:24px}.release-copy p{font-size:13px}.release-spotlight .btn{width:100%;justify-content:center}.compact-grid,.books-grid{grid-template-columns:1fr!important}.v5-book-card{display:grid!important;grid-template-columns:112px minmax(0,1fr)!important;align-items:stretch}.v5-book-card .cover{height:168px!important;aspect-ratio:auto!important}.v5-book-card .cover img{height:100%!important;width:100%!important;object-fit:cover!important}.v5-book-card .book-meta{padding:13px!important}.v5-book-card h3{font-size:19px}.compact-achievements .achievement-grid{grid-template-columns:1fr}.public-header-inner{padding-inline:12px}.public-brand-copy strong{font-size:18px}.public-icon-btn{min-width:46px;min-height:46px}.epub-reader-shell{padding:0;height:100dvh}.epub-reader-top{border-radius:0;padding:8px}.epub-reader-top .reader-brand-mini{display:none}.reader-title{text-align:right!important}.reader-title b{font-size:15px}.reader-tools .btn{padding:8px 10px}.reader-tools .reader-control:first-child,.reader-tools .reader-control:nth-child(2){display:none}.epub-toolbar{padding:7px}.epub-toolbar>.reader-control{display:none}.reader-progress{max-width:none}.epub-stage{border-inline:0}.epub-mobile-nav{display:flex;justify-content:space-between;align-items:center;padding:8px 12px;background:var(--panel);border-top:1px solid var(--line)}.epub-mobile-nav button{min-width:52px;min-height:42px;border:1px solid var(--line);border-radius:11px;background:var(--panel2);font-size:20px}}

/* V5.1 Native EPUB reader — no external CDN dependency */
.native-epub-reader{background:var(--paper);overflow:auto}.native-reader-shell{max-width:1120px;margin:0 auto;padding:16px;min-height:100dvh}.native-reader-top,.native-reader-nav,.native-reader-bottom{display:flex;align-items:center;gap:12px;background:var(--panel);border:1px solid var(--line)}.native-reader-top{padding:10px 12px;border-radius:18px 18px 0 0}.native-reader-top .reader-title{flex:1;text-align:center}.native-reader-nav{border-top:0;padding:10px 12px;justify-content:space-between;position:sticky;top:0;z-index:4}.native-reader-progress{min-width:0;flex:1;max-width:520px;text-align:center}.native-reader-progress b{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.native-reader-progress span{font-size:13px;color:var(--muted)}.native-reader-progress i{display:block;height:5px;margin-top:6px;border-radius:999px;background:linear-gradient(to left,var(--accent) var(--p),var(--panel2) var(--p))}.native-book-page{max-width:790px;margin:26px auto;background:#fffdf8;border:1px solid var(--line);border-radius:18px;padding:clamp(24px,6vw,62px);box-shadow:0 18px 50px rgba(74,60,42,.10);font-size:20px;line-height:2.05;color:#292620;overflow-wrap:anywhere}.native-book-page h1,.native-book-page h2,.native-book-page h3{line-height:1.55;margin:1.2em 0 .65em}.native-book-page p{margin:0 0 1.15em}.native-book-page img{display:block;max-width:100%;height:auto;margin:1.4em auto;border-radius:10px}.native-book-page blockquote{border-right:4px solid var(--accent);padding:.3em 1em;color:var(--muted);margin:1.4em 0}.native-book-page table{max-width:100%;border-collapse:collapse}.native-book-page td,.native-book-page th{border:1px solid var(--line);padding:.5em}.native-reader-bottom{max-width:790px;margin:0 auto 22px;border-radius:14px;padding:10px 12px;justify-content:space-between}.native-reader-fatal{max-width:760px;margin:80px auto;text-align:center;background:var(--panel);border:1px solid var(--line);border-radius:18px;padding:36px}.reader-control.disabled{opacity:.38;pointer-events:none}.native-reader-error{color:#9c3e33}.native-epub-reader[data-x]{}
html[data-theme="dark"] .native-book-page{background:#25231f;color:#f4ecdf}
@media(max-width:760px){.native-reader-shell{padding:0}.native-reader-top{border-radius:0;border-inline:0}.native-reader-top .reader-brand-mini{display:none}.native-reader-top .reader-title{text-align:right}.native-reader-top .reader-title b{font-size:16px}.native-reader-top .reader-tools{gap:5px}.native-reader-top .reader-tools .reader-control{min-width:42px;padding:7px}.native-reader-top .btn{padding:8px 10px}.native-reader-nav{border-inline:0;padding:8px;top:0}.native-reader-nav>.reader-control{padding:8px 10px;min-height:40px}.native-reader-progress b{font-size:13px}.native-reader-progress span{font-size:11px}.native-book-page{margin:0;border-radius:0;border-inline:0;padding:26px 20px;min-height:calc(100dvh - 170px);box-shadow:none;line-height:2}.native-reader-bottom{margin:0;border-radius:0;border-inline:0;position:sticky;bottom:0;background:var(--panel);z-index:4}.native-reader-bottom .reader-control{min-height:44px}.native-reader-top .reader-control[data-font-down],.native-reader-top .reader-control[data-font-up]{display:none}}
