.books-shell{max-width:1180px;margin:0 auto;padding:28px 18px 64px}.books-hero{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(260px,.6fr);gap:22px;align-items:stretch;margin-bottom:28px}.books-hero-card,.book-card,.book-detail-card,.reader-shell,.admin-book-card{border:1px solid var(--border,#303744);border-radius:18px;background:var(--panel,#151922);box-shadow:0 14px 40px rgba(0,0,0,.16)}.books-hero-card{padding:30px}.books-eyebrow{font-size:.78rem;text-transform:uppercase;letter-spacing:.15em;opacity:.7}.books-hero h1,.book-detail-title{margin:.3rem 0 .65rem}.books-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:18px}.book-card{padding:18px;display:flex;gap:16px}.book-cover{width:92px;min-width:92px;aspect-ratio:2/3;border-radius:8px;object-fit:cover;background:linear-gradient(135deg,#3a2f43,#171a20);box-shadow:7px 9px 18px rgba(0,0,0,.3)}.book-cover-placeholder{display:grid;place-items:center;font-size:2rem;background:linear-gradient(145deg,var(--cover,#3a2f43),color-mix(in srgb,var(--cover,#3a2f43) 65%,#000));color:var(--cover-text,#fff);border:8px solid var(--accent,#d9b76e);padding:20px;text-align:center}.book-cover-placeholder span{font-size:1.15rem;font-weight:800}.book-card h3{margin:.15rem 0 .3rem}.book-meta,.book-access,.book-small{font-size:.88rem;opacity:.76}.book-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}.book-pill{display:inline-flex;padding:4px 9px;border-radius:999px;border:1px solid var(--border,#394150);font-size:.78rem;margin:2px 5px 2px 0}.book-detail-layout{display:grid;grid-template-columns:minmax(220px,300px) minmax(0,1fr);gap:28px}.book-detail-cover{width:100%;aspect-ratio:2/3;object-fit:cover;border-radius:12px;background:#222}.book-detail-card{padding:24px}.book-edition-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:14px;margin-top:18px}.book-edition{border:1px solid var(--border,#394150);border-radius:14px;padding:16px;position:relative;overflow:hidden}.book-edition[data-paper="cream"]{background:#f2ead5;color:#252018}.book-edition[data-paper="white"]{background:#f5f5f3;color:#202020}.book-edition[data-paper="gray"]{background:#d9d9d5;color:#202020}.book-edition[data-paper="dark"]{background:#1e2025;color:#f0ece4}.book-edition[data-paper="warm"]{background:#e8dcc4;color:#2d241b}.book-edition-cover,.books-mini-cover,.books-cover-preview{background-color:var(--cover,#3a2f43);background-image:var(--cover-image,none),linear-gradient(145deg,color-mix(in srgb,var(--cover,#3a2f43) 92%,#fff),color-mix(in srgb,var(--cover,#3a2f43) 72%,#000));background-size:cover;background-position:center;color:var(--cover-text,#fff);border:6px solid var(--accent,#d9b76e);box-shadow:6px 8px 18px rgba(0,0,0,.28)}.book-edition-cover{aspect-ratio:2/3;border-radius:8px;padding:16px;display:flex;flex-direction:column;justify-content:center;text-align:center;margin-bottom:14px;max-width:150px}.book-edition-cover span{font-weight:800}.book-edition-cover small{margin-top:8px}.book-preview{margin-top:12px;padding-top:12px;border-top:1px solid currentColor;opacity:.86}.reader-shell{max-width:920px;margin:28px auto 72px;overflow:hidden}.reader-toolbar{padding:16px 20px;border-bottom:1px solid var(--border,#333);display:flex;gap:10px;align-items:center;flex-wrap:wrap;background:var(--panel,#151922)}.reader-paper{padding:42px clamp(22px,6vw,72px);min-height:70vh;line-height:1.78;position:relative}.reader-paper[data-paper="warm"]{background:var(--paper-custom,#e8dcc4);color:var(--ink-custom,#2d241b)}.reader-paper[data-paper="cream"]{background:var(--paper-custom,#f2ead5);color:var(--ink-custom,#252018)}.reader-paper[data-paper="white"]{background:var(--paper-custom,#f5f5f3);color:var(--ink-custom,#202020)}.reader-paper[data-paper="gray"]{background:var(--paper-custom,#d9d9d5);color:var(--ink-custom,#202020)}.reader-paper[data-paper="dark"]{background:var(--paper-custom,#1e2025);color:var(--ink-custom,#f0ece4)}.reader-paper[data-texture="subtle"]{background-image:radial-gradient(rgba(0,0,0,.035) .55px,transparent .7px);background-size:6px 6px}.reader-paper[data-texture="grain"]{background-image:radial-gradient(rgba(0,0,0,.055) .7px,transparent .9px),radial-gradient(rgba(255,255,255,.04) .6px,transparent .8px);background-size:5px 5px,7px 7px;background-position:0 0,2px 3px}.reader-paper[data-type="classic"]{font-family:Georgia,'Times New Roman',serif}.reader-paper[data-type="modern"]{font-family:Arial,Helvetica,sans-serif}.reader-paper[data-type="typewriter"]{font-family:'Courier New',monospace}.reader-paper[data-type="compact"]{font-family:Arial,Helvetica,sans-serif;line-height:1.52}.reader-section{margin:0 0 54px;scroll-margin-top:25px}.reader-section h2{font:inherit;font-size:1.7rem;font-weight:700;line-height:1.25;margin-bottom:20px}.reader-section-body{white-space:pre-wrap}.reader-progress-form{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.reader-progress-form input[type="number"]{width:86px}.books-empty{padding:24px;border:1px dashed var(--border,#394150);border-radius:14px;opacity:.8}.books-admin-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(310px,1fr));gap:18px}.books-admin-form{display:grid;gap:10px}.books-admin-form label{display:grid;gap:5px}.books-admin-form textarea{min-height:120px}.books-admin-list{display:grid;gap:10px;margin-top:14px}.books-admin-row{padding:12px;border:1px solid var(--border,#394150);border-radius:10px}.books-admin-row strong{display:block}.books-stat-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px}.books-stat{padding:12px;border:1px solid var(--border,#394150);border-radius:10px}.books-stat b{display:block;font-size:1.2rem}

/* Patch 860: admin Books should feel like writing/designing, not database administration. */
.books-admin-home{max-width:980px}.books-admin-intro{font-size:1.1rem;opacity:.82;margin-bottom:22px}.books-choice-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.books-choice{appearance:none;text-align:left;border:1px solid var(--border,#394150);border-radius:22px;background:var(--panel,#151922);color:inherit;padding:28px;min-height:220px;display:flex;flex-direction:column;gap:10px;cursor:pointer;transition:transform .15s ease,border-color .15s ease,box-shadow .15s ease}.books-choice:hover,.books-choice:focus-visible{transform:translateY(-2px);border-color:color-mix(in srgb,currentColor 35%,var(--border,#394150));box-shadow:0 16px 38px rgba(0,0,0,.2)}.books-choice-icon{font-size:2.4rem}.books-choice strong{font-size:1.45rem}.books-choice span:not(.books-choice-icon){opacity:.82;line-height:1.5}.books-choice small{margin-top:auto;opacity:.62}.books-mini-stats{display:flex;gap:16px;flex-wrap:wrap;margin-top:16px;font-size:.85rem;opacity:.64}
.books-dialog{width:min(760px,calc(100vw - 28px));max-height:min(88vh,900px);overflow:auto;border:1px solid var(--border,#394150);border-radius:20px;background:var(--panel,#151922);color:inherit;padding:22px;box-shadow:0 24px 80px rgba(0,0,0,.5)}.books-dialog-wide{width:min(1080px,calc(100vw - 28px))}.books-dialog::backdrop{background:rgba(0,0,0,.66);backdrop-filter:blur(3px)}.books-dialog-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;border-bottom:1px solid var(--border,#394150);padding-bottom:15px;margin-bottom:18px}.books-dialog-head h2{margin:.2rem 0 .35rem}.books-dialog-head p{margin:0;opacity:.72}.books-dialog-x{appearance:none;border:0;background:transparent;color:inherit;font-size:2rem;line-height:1;cursor:pointer;opacity:.7}.books-dialog-actions,.books-dialog-footer{display:flex;gap:9px;flex-wrap:wrap}.books-dialog-actions{margin-bottom:16px}.books-dialog-footer{justify-content:flex-end;border-top:1px solid var(--border,#394150);padding-top:16px;margin-top:18px}.books-library-list,.books-design-library{display:grid;gap:10px}.books-library-row,.books-design-row{border:1px solid var(--border,#394150);border-radius:14px;padding:14px;display:flex;align-items:center;justify-content:space-between;gap:14px}.books-library-row>div:first-child,.books-design-info{display:grid;gap:5px;min-width:0}.books-library-row span,.books-design-info span{font-size:.86rem;opacity:.68}.books-friendly-form{display:grid;gap:14px}.books-friendly-form label{display:grid;gap:6px;font-weight:600}.books-friendly-form label small{font-weight:400;opacity:.62}.books-friendly-form input:not([type="checkbox"]):not([type="color"]),.books-friendly-form select,.books-friendly-form textarea{width:100%;box-sizing:border-box}.books-friendly-form textarea{min-height:120px}.books-friendly-form .books-manuscript{min-height:46vh;line-height:1.65;font-family:Georgia,'Times New Roman',serif;font-size:1.02rem}.books-friendly-form fieldset{border:1px solid var(--border,#394150);border-radius:14px;padding:14px;display:grid;gap:12px}.books-friendly-form legend{padding:0 7px;font-weight:800}.books-form-row,.books-color-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.books-color-row{grid-template-columns:repeat(3,minmax(0,1fr))}.books-color-row input[type="color"]{width:100%;height:44px;border:1px solid var(--border,#394150);border-radius:8px;background:transparent;padding:3px}.books-clear-color{border:0;background:transparent;color:inherit;text-align:left;padding:3px 0;opacity:.7;text-decoration:underline;cursor:pointer}.books-check{display:flex!important;grid-template-columns:auto 1fr!important;align-items:center;gap:9px!important;font-weight:500!important}.books-check input{margin:0}.books-details{border:1px solid var(--border,#394150);border-radius:14px;padding:12px}.books-details summary{font-weight:800;cursor:pointer}.books-details[open]{display:grid;gap:12px}.books-designer-layout{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(280px,.75fr);gap:22px}.books-designer-fields{display:grid;gap:14px}.books-live-preview{position:sticky;top:0;align-self:start;border:1px solid var(--border,#394150);border-radius:16px;padding:16px;background:color-mix(in srgb,var(--panel,#151922) 92%,#fff)}.books-cover-preview{width:min(230px,80%);aspect-ratio:2/3;margin:12px auto 20px;border-radius:8px;padding:22px;box-sizing:border-box;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center}.books-cover-preview span{font-weight:900;font-size:1.2rem}.books-cover-preview small{margin-top:12px}.books-cover-preview[data-style="minimal"]{border-width:2px}.books-cover-preview[data-style="bold"]{border-width:12px;text-transform:uppercase}.books-cover-preview[data-style="illustrated"]{box-shadow:inset 0 0 0 4px var(--cover,#3a2f43),0 12px 28px rgba(0,0,0,.3)}.books-page-preview{--paper:#e8dcc4;--ink:#2d241b;background:var(--paper);color:var(--ink);padding:24px;border-radius:7px;min-height:190px;line-height:1.6;box-shadow:0 8px 22px rgba(0,0,0,.18)}.books-page-preview[data-texture="subtle"]{background-image:radial-gradient(rgba(0,0,0,.04) .5px,transparent .7px);background-size:6px 6px}.books-page-preview[data-texture="grain"]{background-image:radial-gradient(rgba(0,0,0,.07) .6px,transparent .8px);background-size:5px 5px}.books-page-preview[data-type="classic"]{font-family:Georgia,'Times New Roman',serif}.books-page-preview[data-type="modern"]{font-family:Arial,Helvetica,sans-serif}.books-page-preview[data-type="typewriter"]{font-family:'Courier New',monospace}.books-page-preview[data-type="compact"]{font-family:Arial,Helvetica,sans-serif;line-height:1.4}.books-mini-cover{width:62px;min-width:62px;aspect-ratio:2/3;border-radius:5px;padding:7px;display:grid;place-items:center;text-align:center;font-size:.65rem;font-weight:800}.books-design-row{justify-content:flex-start}.books-design-row .button{margin-left:auto}.books-design-info{flex:1}
@media(max-width:760px){.books-hero,.book-detail-layout,.books-choice-grid,.books-designer-layout{grid-template-columns:1fr}.book-detail-cover{max-width:260px}.book-card{flex-direction:column}.book-cover{width:80px}.reader-paper{padding:28px 20px}.books-form-row,.books-color-row{grid-template-columns:1fr}.books-library-row,.books-design-row{align-items:flex-start;flex-direction:column}.books-design-row .btn{margin-left:0}.books-live-preview{position:static}.books-dialog{padding:16px}}

/* Patch 863: Books admin uses site-native large rounded actions and separates
   reusable edition presets from story assignments. */
.books-dialog .button{min-height:46px;padding:.78rem 1.08rem;border-radius:999px;font-size:.96rem;line-height:1.15;white-space:normal;text-align:center}.books-dialog .button.big{min-height:52px;padding:.9rem 1.3rem;font-size:1.03rem}.books-dialog-actions-prominent{gap:12px}.books-dialog-actions-prominent .button{min-width:180px}.books-library-row .book-actions{display:flex;gap:10px;flex-wrap:wrap;margin:0}.books-library-row .book-actions .button{min-width:145px}.books-subchoice-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.books-subchoice{appearance:none;border:1px solid var(--border,#394150);border-radius:20px;background:color-mix(in srgb,var(--panel,#151922) 94%,#fff);color:inherit;padding:22px;min-height:190px;text-align:left;display:grid;grid-template-rows:auto auto 1fr auto;gap:9px;cursor:pointer;box-shadow:0 9px 0 rgba(0,0,0,.10);transition:transform .12s ease,box-shadow .12s ease,border-color .12s ease}.books-subchoice:hover,.books-subchoice:focus-visible{transform:translateY(-2px);box-shadow:0 12px 24px rgba(0,0,0,.16);border-color:color-mix(in srgb,var(--brand,#6b63ff) 60%,var(--border,#394150))}.books-subchoice>span{font-size:2rem}.books-subchoice>strong{font-size:1.2rem}.books-subchoice>small{opacity:.74;line-height:1.45}.books-subchoice>b{font-size:.84rem;opacity:.62}.books-assignment-preview{display:grid;gap:4px;padding:14px 16px;border:1px solid var(--border,#394150);border-radius:14px;background:color-mix(in srgb,var(--panel,#151922) 92%,#fff)}.books-assignment-preview span,.books-assignment-preview small{opacity:.72}.books-color-row-two{grid-template-columns:repeat(2,minmax(0,1fr))}

/* Make the designer preview visibly communicate the choices instead of merely
   storing them. Finish is a surface treatment; format changes the book body. */
.books-cover-preview,.books-mini-cover,.book-edition-cover{position:relative;isolation:isolate;overflow:hidden}.books-cover-preview::after,.books-mini-cover::after,.book-edition-cover::after{content:"";position:absolute;inset:0;z-index:2;pointer-events:none;border-radius:inherit}.books-cover-preview>*,.books-mini-cover>*,.book-edition-cover>*{position:relative;z-index:3}.books-cover-preview[data-finish="matte"]::after,.books-mini-cover[data-finish="matte"]::after,.book-edition-cover[data-finish="matte"]::after{background:linear-gradient(120deg,rgba(255,255,255,.035),transparent 42%);mix-blend-mode:screen}.books-cover-preview[data-finish="glossy"]::after,.books-mini-cover[data-finish="glossy"]::after,.book-edition-cover[data-finish="glossy"]::after{background:linear-gradient(112deg,transparent 0 28%,rgba(255,255,255,.42) 37%,rgba(255,255,255,.08) 48%,transparent 58%);mix-blend-mode:screen}.books-cover-preview[data-finish="cloth"]::after,.books-mini-cover[data-finish="cloth"]::after,.book-edition-cover[data-finish="cloth"]::after{background-image:repeating-linear-gradient(0deg,rgba(255,255,255,.10) 0 1px,rgba(0,0,0,.055) 1px 2px),repeating-linear-gradient(90deg,rgba(255,255,255,.045) 0 1px,transparent 1px 3px);opacity:.48;mix-blend-mode:soft-light}.books-cover-preview[data-finish="plastic"]::after,.books-mini-cover[data-finish="plastic"]::after,.book-edition-cover[data-finish="plastic"]::after{background:linear-gradient(132deg,rgba(255,255,255,.48),rgba(255,255,255,.06) 29%,transparent 45%,rgba(255,255,255,.19) 82%,transparent);box-shadow:inset 0 0 0 2px rgba(255,255,255,.28);mix-blend-mode:screen}.books-cover-preview[data-format="hard-copy"]{border-width:8px;border-radius:7px;box-shadow:-9px 7px 0 color-mix(in srgb,var(--accent,#d9b76e) 68%,#111),8px 13px 24px rgba(0,0,0,.30)}.books-cover-preview[data-format="soft-copy"]{border-width:3px;border-radius:4px;transform:perspective(800px) rotateY(-2deg)}.books-cover-preview[data-format="plastic"]{border-width:5px;border-radius:14px;box-shadow:0 12px 28px rgba(0,0,0,.25),inset 0 0 0 2px rgba(255,255,255,.2)}.books-cover-preview[data-format="digital"]{border-width:3px;border-radius:10px;box-shadow:0 0 0 7px rgba(20,23,30,.72),0 14px 28px rgba(0,0,0,.30)}

/* Stronger paper cues in the admin preview and reader so texture selection is
   immediately visible while still keeping it restrained enough to read. */
.books-page-preview[data-texture="smooth"],.reader-paper[data-texture="smooth"]{background-image:none}.books-page-preview[data-texture="subtle"]{background-image:radial-gradient(rgba(48,35,20,.11) .65px,transparent .9px),linear-gradient(92deg,rgba(255,255,255,.055),transparent 22%,rgba(0,0,0,.025) 70%,transparent);background-size:6px 6px,100% 100%}.books-page-preview[data-texture="grain"]{background-image:radial-gradient(rgba(48,35,20,.18) .8px,transparent 1px),radial-gradient(rgba(255,255,255,.18) .65px,transparent .9px),repeating-linear-gradient(7deg,rgba(65,44,20,.035) 0 1px,transparent 1px 5px);background-size:5px 5px,7px 7px,100% 9px;background-position:0 0,2px 3px,0 0}.reader-paper[data-texture="subtle"]{background-image:radial-gradient(rgba(48,35,20,.07) .6px,transparent .85px);background-size:6px 6px}.reader-paper[data-texture="grain"]{background-image:radial-gradient(rgba(48,35,20,.12) .75px,transparent .95px),radial-gradient(rgba(255,255,255,.10) .6px,transparent .8px);background-size:5px 5px,7px 7px;background-position:0 0,2px 3px}

@media(max-width:760px){.books-subchoice-grid{grid-template-columns:1fr}.books-dialog .button,.books-dialog .button.big{width:100%}.books-library-row .book-actions{width:100%}.books-library-row .book-actions .button{width:100%}.books-color-row-two{grid-template-columns:1fr}}

/* Patch 864: expanded virtual-edition materials, art layout, paper and type. */
.books-cover-preview,.books-mini-cover,.book-edition-cover,.book-virtual-cover{position:relative;isolation:isolate;overflow:hidden;background-color:var(--cover,#3a2f43);background-image:linear-gradient(145deg,color-mix(in srgb,var(--cover,#3a2f43) 92%,#fff),color-mix(in srgb,var(--cover,#3a2f43) 72%,#000));background-size:cover;background-position:center;color:var(--cover-text,#fff);border-color:var(--accent,#d9b76e)}
.books-cover-preview::before,.books-mini-cover::before,.book-edition-cover::before,.book-virtual-cover::before{content:"";position:absolute;z-index:1;pointer-events:none;background-image:var(--cover-image,none);background-repeat:no-repeat;background-position:var(--art-position,center center)}
.books-cover-preview::after,.books-mini-cover::after,.book-edition-cover::after,.book-virtual-cover::after{z-index:2}
.books-cover-preview>*,.books-mini-cover>*,.book-edition-cover>*,.book-virtual-cover>*{position:relative;z-index:3;text-shadow:0 1px 3px rgba(0,0,0,.7)}
.books-cover-preview[data-art-layout="full-bleed"]::before,.books-mini-cover[data-art-layout="full-bleed"]::before,.book-edition-cover[data-art-layout="full-bleed"]::before,.book-virtual-cover[data-art-layout="full-bleed"]::before{inset:0;background-size:cover}
.books-cover-preview[data-art-layout="fit"]::before,.books-mini-cover[data-art-layout="fit"]::before,.book-edition-cover[data-art-layout="fit"]::before,.book-virtual-cover[data-art-layout="fit"]::before{inset:7%;background-size:contain;border-radius:4px}
.books-cover-preview[data-art-layout="framed"]::before,.book-edition-cover[data-art-layout="framed"]::before,.book-virtual-cover[data-art-layout="framed"]::before{inset:9% 9% 31%;background-size:cover;border:4px solid var(--accent,#d9b76e);box-shadow:0 5px 14px rgba(0,0,0,.35)}
.books-mini-cover[data-art-layout="framed"]::before{inset:8% 8% 30%;background-size:cover;border:2px solid var(--accent,#d9b76e)}
.books-cover-preview[data-art-layout="top-panel"]::before,.books-mini-cover[data-art-layout="top-panel"]::before,.book-edition-cover[data-art-layout="top-panel"]::before,.book-virtual-cover[data-art-layout="top-panel"]::before{inset:0 0 48%;background-size:cover;border-bottom:3px solid var(--accent,#d9b76e)}
.books-cover-preview[data-art-layout="center-panel"]::before,.book-edition-cover[data-art-layout="center-panel"]::before,.book-virtual-cover[data-art-layout="center-panel"]::before{inset:20% 9% 30%;background-size:contain;background-color:color-mix(in srgb,var(--cover,#3a2f43) 78%,#000);border:3px solid var(--accent,#d9b76e);border-radius:4px}
.books-mini-cover[data-art-layout="center-panel"]::before{inset:18% 8% 28%;background-size:contain;border:2px solid var(--accent,#d9b76e)}
.books-cover-preview[data-title-position="top"],.book-edition-cover[data-title-position="top"],.book-virtual-cover[data-title-position="top"]{justify-content:flex-start;padding-top:12%}
.books-cover-preview[data-title-position="center"],.book-edition-cover[data-title-position="center"],.book-virtual-cover[data-title-position="center"]{justify-content:center}
.books-cover-preview[data-title-position="bottom"],.book-edition-cover[data-title-position="bottom"],.book-virtual-cover[data-title-position="bottom"]{justify-content:flex-end;padding-bottom:12%}
.books-cover-preview[data-title-position="hidden"]>span,.books-cover-preview[data-title-position="hidden"]>small,.books-mini-cover[data-title-position="hidden"]>span,.book-edition-cover[data-title-position="hidden"]>span,.book-edition-cover[data-title-position="hidden"]>small,.book-virtual-cover[data-title-position="hidden"]>span,.book-virtual-cover[data-title-position="hidden"]>small{visibility:hidden}
.book-virtual-cover{display:flex;flex-direction:column;align-items:center;text-align:center;border-style:solid;border-width:6px;padding:18px;box-sizing:border-box}
.book-virtual-cover span{font-weight:900;font-size:1.15rem}.book-virtual-cover small{margin-top:9px}.book-detail-cover.book-virtual-cover{object-fit:unset}.books-public-cover{max-width:none}

/* Material treatments are intentionally exaggerated enough to be obvious in a
   small preview. Cloth/canvas use visible woven threads rather than a matte tint. */
.books-cover-preview[data-finish="cloth"]::after,.books-mini-cover[data-finish="cloth"]::after,.book-edition-cover[data-finish="cloth"]::after,.book-virtual-cover[data-finish="cloth"]::after{background-image:repeating-linear-gradient(0deg,rgba(255,255,255,.18) 0 1px,rgba(0,0,0,.18) 1px 2px,transparent 2px 4px),repeating-linear-gradient(90deg,rgba(255,255,255,.12) 0 1px,rgba(0,0,0,.16) 1px 2px,transparent 2px 4px),linear-gradient(115deg,rgba(255,255,255,.12),transparent 32%,rgba(0,0,0,.10) 72%,rgba(255,255,255,.08));opacity:.72;mix-blend-mode:soft-light;box-shadow:inset 0 0 18px rgba(0,0,0,.18)}
.books-cover-preview[data-finish="canvas"]::after,.books-mini-cover[data-finish="canvas"]::after,.book-edition-cover[data-finish="canvas"]::after,.book-virtual-cover[data-finish="canvas"]::after{background-image:repeating-linear-gradient(45deg,rgba(245,237,215,.16) 0 1px,transparent 1px 4px),repeating-linear-gradient(-45deg,rgba(0,0,0,.15) 0 1px,transparent 1px 4px);opacity:.75;mix-blend-mode:overlay;box-shadow:inset 0 0 0 1px rgba(255,255,255,.12)}
.books-cover-preview[data-finish="leather"]::after,.books-mini-cover[data-finish="leather"]::after,.book-edition-cover[data-finish="leather"]::after,.book-virtual-cover[data-finish="leather"]::after{background-image:radial-gradient(ellipse at 18% 22%,rgba(255,255,255,.14) 0 1px,transparent 2px),radial-gradient(ellipse at 72% 66%,rgba(0,0,0,.22) 0 1px,transparent 2px),repeating-linear-gradient(125deg,rgba(0,0,0,.055) 0 1px,transparent 1px 7px);background-size:7px 6px,9px 8px,100% 100%;opacity:.78;mix-blend-mode:soft-light;box-shadow:inset 0 0 24px rgba(0,0,0,.26),inset 0 0 0 1px rgba(255,255,255,.10)}
.books-cover-preview[data-finish="glossy"]::after,.books-mini-cover[data-finish="glossy"]::after,.book-edition-cover[data-finish="glossy"]::after,.book-virtual-cover[data-finish="glossy"]::after{background:linear-gradient(112deg,transparent 0 24%,rgba(255,255,255,.55) 34%,rgba(255,255,255,.10) 46%,transparent 58%),linear-gradient(175deg,rgba(255,255,255,.14),transparent 35%);mix-blend-mode:screen}
.books-cover-preview[data-finish="plastic"]::after,.books-mini-cover[data-finish="plastic"]::after,.book-edition-cover[data-finish="plastic"]::after,.book-virtual-cover[data-finish="plastic"]::after{background:linear-gradient(132deg,rgba(255,255,255,.55),rgba(255,255,255,.06) 28%,transparent 44%,rgba(255,255,255,.24) 82%,transparent);box-shadow:inset 0 0 0 2px rgba(255,255,255,.34),inset 0 0 18px rgba(255,255,255,.12);mix-blend-mode:screen}

/* Paper is texture, not dots. Each option uses a different fiber/line/mottle cue. */
.books-page-preview[data-texture="fine-fiber"],.reader-paper[data-texture="fine-fiber"],.books-page-preview[data-texture="subtle"],.reader-paper[data-texture="subtle"]{background-image:repeating-linear-gradient(7deg,rgba(80,58,34,.035) 0 1px,transparent 1px 13px),repeating-linear-gradient(97deg,rgba(255,255,255,.075) 0 1px,transparent 1px 17px)}
.books-page-preview[data-texture="natural"],.reader-paper[data-texture="natural"],.books-page-preview[data-texture="grain"],.reader-paper[data-texture="grain"]{background-image:repeating-linear-gradient(13deg,rgba(76,54,29,.055) 0 1px,transparent 1px 9px),repeating-linear-gradient(101deg,rgba(255,255,255,.08) 0 1px,transparent 1px 15px),radial-gradient(ellipse at 35% 42%,rgba(82,58,28,.05),transparent 44%)}
.books-page-preview[data-texture="recycled"],.reader-paper[data-texture="recycled"]{background-image:radial-gradient(ellipse at 12% 20%,rgba(73,55,36,.20) 0 1px,transparent 1.7px),radial-gradient(ellipse at 76% 58%,rgba(110,88,58,.16) 0 1.2px,transparent 1.8px),radial-gradient(ellipse at 43% 82%,rgba(255,255,255,.13) 0 1px,transparent 1.5px);background-size:29px 31px,37px 33px,41px 39px}
.books-page-preview[data-texture="parchment"],.reader-paper[data-texture="parchment"]{background-image:radial-gradient(ellipse at 12% 12%,rgba(120,77,23,.11),transparent 28%),radial-gradient(ellipse at 88% 78%,rgba(93,53,16,.10),transparent 34%),linear-gradient(92deg,rgba(255,255,255,.06),transparent 20%,rgba(92,57,20,.05) 72%,transparent)}
.books-page-preview[data-texture="laid"],.reader-paper[data-texture="laid"]{background-image:repeating-linear-gradient(0deg,rgba(85,64,39,.055) 0 1px,transparent 1px 7px),repeating-linear-gradient(90deg,rgba(85,64,39,.035) 0 1px,transparent 1px 48px)}
.books-page-preview[data-texture="linen"],.reader-paper[data-texture="linen"]{background-image:repeating-linear-gradient(0deg,rgba(80,61,40,.06) 0 1px,transparent 1px 4px),repeating-linear-gradient(90deg,rgba(255,255,255,.09) 0 1px,transparent 1px 4px)}
.book-edition[data-paper="parchment"]{background:#d8bc86;color:#332512}.reader-paper[data-paper="parchment"]{background:var(--paper-custom,#d8bc86);color:var(--ink-custom,#332512)}

/* Larger set of cross-platform book-safe font stacks. */
.books-page-preview[data-type="classic"],.reader-paper[data-type="classic"]{font-family:Georgia,'Times New Roman',serif}
.books-page-preview[data-type="garamond"],.reader-paper[data-type="garamond"]{font-family:Garamond,Georgia,serif}
.books-page-preview[data-type="baskerville"],.reader-paper[data-type="baskerville"]{font-family:Baskerville,Georgia,serif}
.books-page-preview[data-type="palatino"],.reader-paper[data-type="palatino"]{font-family:'Palatino Linotype',Palatino,serif}
.books-page-preview[data-type="times"],.reader-paper[data-type="times"]{font-family:'Times New Roman',Times,serif}
.books-page-preview[data-type="book-sans"],.reader-paper[data-type="book-sans"]{font-family:'Segoe UI',Arial,sans-serif}
.books-page-preview[data-type="humanist"],.reader-paper[data-type="humanist"]{font-family:'Trebuchet MS',Arial,sans-serif}
.books-page-preview[data-type="modern"],.reader-paper[data-type="modern"]{font-family:Arial,Helvetica,sans-serif}
.books-page-preview[data-type="verdana"],.reader-paper[data-type="verdana"]{font-family:Verdana,Geneva,sans-serif}
.books-page-preview[data-type="typewriter"],.reader-paper[data-type="typewriter"]{font-family:'Courier New',monospace}
.books-page-preview[data-type="mono"],.reader-paper[data-type="mono"]{font-family:Consolas,Monaco,monospace}
.books-page-preview[data-type="casual"],.reader-paper[data-type="casual"]{font-family:'Segoe Print','Comic Sans MS',cursive}
.books-page-preview[data-size="small"],.reader-paper[data-size="small"]{font-size:.92rem}.books-page-preview[data-size="standard"],.reader-paper[data-size="standard"]{font-size:1rem}.books-page-preview[data-size="large"],.reader-paper[data-size="large"]{font-size:1.12rem}.books-page-preview[data-size="large-print"],.reader-paper[data-size="large-print"]{font-size:1.28rem}
.books-page-preview[data-spacing="tight"],.reader-paper[data-spacing="tight"]{line-height:1.48}.books-page-preview[data-spacing="comfortable"],.reader-paper[data-spacing="comfortable"]{line-height:1.75}.books-page-preview[data-spacing="airy"],.reader-paper[data-spacing="airy"]{line-height:2}
.book-cover.book-virtual-cover{padding:8px;border-width:4px}.book-cover.book-virtual-cover span{font-size:.72rem;line-height:1.12}.book-cover.book-virtual-cover small{display:none}


/* Patch 865 — Story pages, page images, release-name workflow, and preview polish. */
.books-form-help{margin:0;padding:11px 13px;border-radius:12px;background:color-mix(in srgb,var(--panel,#151922) 78%,#fff);opacity:.82;line-height:1.45}
.books-chapter-card{border:1px solid var(--border,#394150);border-radius:16px;padding:15px;display:grid;gap:13px}.books-chapter-head{display:flex;align-items:center;justify-content:space-between;gap:14px}.books-chapter-head>div:first-child{display:grid;gap:5px}.books-chapter-head span,.books-page-row span{font-size:.86rem;opacity:.68}.books-page-list{display:grid;gap:8px;padding-left:14px;border-left:3px solid color-mix(in srgb,var(--accent,#d9b76e) 55%,transparent)}.books-page-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 12px;border:1px solid color-mix(in srgb,var(--border,#394150) 80%,transparent);border-radius:12px;background:color-mix(in srgb,var(--panel,#151922) 94%,#fff)}.books-page-row>div:first-child{display:grid;gap:3px}.books-page-empty{padding:14px}
.books-page-image-editor{display:grid;gap:12px}.books-page-image-row{display:grid;grid-template-columns:150px minmax(0,1fr);gap:14px;padding:12px;border:1px solid var(--border,#394150);border-radius:14px}.books-page-image-row img,.books-page-image-placeholder{width:150px;aspect-ratio:4/3;object-fit:cover;border-radius:10px;background:rgba(127,127,127,.12)}.books-page-image-placeholder{display:grid;place-items:center;font-weight:800;opacity:.6}.books-page-image-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.books-page-image-fields>label:nth-of-type(3),.books-page-image-fields>.books-check,.books-page-image-fields>button{grid-column:1/-1}

/* Preset thumbnails keep a true book ratio and readable centered titles. */
.books-mini-cover{width:86px!important;min-width:86px!important;height:auto!important;aspect-ratio:2/3!important;box-sizing:border-box!important;padding:9px!important;border-width:4px!important;border-radius:8px!important;display:flex!important;align-items:center!important;justify-content:center!important;text-align:center!important;overflow:hidden!important;background-position:var(--art-position,center)!important}
.books-mini-cover span{display:-webkit-box!important;-webkit-box-orient:vertical;-webkit-line-clamp:4;overflow:hidden;max-width:100%;font-size:.7rem!important;line-height:1.12!important;font-weight:900;overflow-wrap:normal;word-break:normal;text-wrap:balance}
.books-design-row{grid-template-columns:auto minmax(0,1fr) auto}.books-design-info{align-self:center}

.books-live-preview-head{display:flex;align-items:center;justify-content:space-between;gap:10px}.books-preview-close{display:none}.books-preview-canvas{display:grid;align-items:start}.books-live-preview.is-expanded{position:fixed!important;inset:18px!important;z-index:10050!important;overflow:auto!important;max-width:none!important;background:var(--panel,#151922)!important;border-radius:20px!important;padding:22px!important;box-shadow:0 28px 100px rgba(0,0,0,.72)!important}.books-live-preview.is-expanded .books-preview-close{display:block;position:fixed;right:34px;top:28px;z-index:2;width:44px;height:44px;border:1px solid var(--border,#394150);border-radius:999px;background:var(--panel,#151922);color:inherit;font-size:1.7rem;cursor:pointer}.books-live-preview.is-expanded .books-live-preview-head{padding-right:58px}.books-live-preview.is-expanded .books-preview-canvas{grid-template-columns:minmax(280px,440px) minmax(420px,720px);gap:42px;justify-content:center;align-items:center;min-height:calc(100vh - 120px)}.books-live-preview.is-expanded .books-cover-preview{width:min(390px,90%);margin:18px auto}.books-live-preview.is-expanded .books-page-preview{min-height:560px;padding:54px}.books-preview-open{overflow:hidden}

.reader-story-page{position:relative;margin:26px auto 44px;padding:clamp(20px,4vw,42px);min-height:55vh;border-radius:4px;background:rgba(255,255,255,.035);box-shadow:0 6px 18px rgba(0,0,0,.08);break-after:page}.reader-story-page h3{font:inherit;font-size:1.25em;margin:0 0 18px}.reader-page-image{margin:20px auto;max-width:68%}.reader-page-image[data-align="left"]{margin-left:0;margin-right:auto;max-width:48%}.reader-page-image[data-align="right"]{margin-left:auto;margin-right:0;max-width:48%}.reader-page-image[data-align="full"]{max-width:100%}.reader-page-image img{display:block;width:100%;height:auto;max-height:70vh;object-fit:contain;border-radius:4px}.reader-page-image figcaption{text-align:center;font-size:.82em;opacity:.72;margin-top:7px}.reader-page-number{text-align:center;margin-top:28px;font-size:.78em;opacity:.48}

@media(max-width:760px){.books-chapter-head,.books-page-row{align-items:stretch;flex-direction:column}.books-page-image-row{grid-template-columns:1fr}.books-page-image-row img,.books-page-image-placeholder{width:100%;max-height:240px}.books-page-image-fields{grid-template-columns:1fr}.books-live-preview.is-expanded{inset:6px!important}.books-live-preview.is-expanded .books-preview-canvas{grid-template-columns:1fr;gap:18px}.books-live-preview.is-expanded .books-page-preview{min-height:380px;padding:28px}.reader-page-image,.reader-page-image[data-align="left"],.reader-page-image[data-align="right"]{max-width:100%;margin-left:auto;margin-right:auto}}

.reader-page-image[data-placement="top"]{margin-top:0}.reader-page-image[data-placement="upper"]{margin-top:10px;margin-bottom:30px}.reader-page-image[data-placement="middle"]{margin-top:34px;margin-bottom:34px}.reader-page-image[data-placement="lower"]{margin-top:50px;margin-bottom:18px}.reader-page-image[data-placement="bottom"]{margin-top:auto;padding-top:54px}

/* Patch 872: story preview + SandBox-to-Live book shipping */
.books-inline-action{display:inline-flex;margin:0}.books-story-preview-toolbar{display:grid;grid-template-columns:minmax(220px,420px) minmax(0,1fr);gap:16px;align-items:end;margin-bottom:18px}.books-story-preview-toolbar label{display:grid;gap:6px;font-weight:700}.books-story-preview-toolbar select{width:100%;box-sizing:border-box}.books-story-preview-layout{display:grid;grid-template-columns:minmax(210px,300px) minmax(0,1fr);gap:24px;align-items:start}.books-story-preview-cover-stage{position:sticky;top:0;border:1px solid var(--border,#394150);border-radius:16px;padding:14px;background:color-mix(in srgb,var(--panel,#151922) 94%,#fff)}.books-story-preview-cover-stage .books-cover-preview{width:min(235px,90%);margin:6px auto}.books-story-preview-pages{display:grid;gap:18px}.books-story-preview-page{min-height:420px;padding:38px 42px;box-sizing:border-box}.books-story-preview-page h3{margin:.35rem 0 1.3rem;font:inherit;font-size:1.35em;font-weight:800;line-height:1.25}.books-story-preview-page-meta{font-size:.75rem;letter-spacing:.08em;text-transform:uppercase;opacity:.58}.books-story-preview-copy{white-space:pre-wrap}.books-story-preview-image{margin:1rem auto;text-align:center}.books-story-preview-image img{display:block;max-width:100%;max-height:420px;object-fit:contain;margin:auto;border-radius:4px}.books-story-preview-image figcaption{font-size:.8em;opacity:.72;margin-top:.45rem}.books-story-preview-image[data-align="left"]{max-width:58%;margin-left:0}.books-story-preview-image[data-align="right"]{max-width:58%;margin-right:0}.books-story-preview-image[data-align="center"]{max-width:72%}.books-story-preview-image[data-align="full"]{max-width:100%}
@media(max-width:760px){.books-story-preview-toolbar,.books-story-preview-layout{grid-template-columns:1fr}.books-story-preview-cover-stage{position:static}.books-story-preview-page{min-height:320px;padding:26px 22px}.books-story-preview-image[data-align="left"],.books-story-preview-image[data-align="right"],.books-story-preview-image[data-align="center"]{max-width:100%}}
