.quality-drawer{position:fixed;z-index:40;right:0;top:0;width:min(520px,100%);height:100vh;overflow:auto;background:#fffaf2;color:var(--ink);padding:28px;box-shadow:-20px 0 70px #0006}.quality-title{display:flex;justify-content:space-between;gap:16px;align-items:start}.quality-title h3{font-size:32px;margin:7px 0 20px}.quality-jobs{display:grid;grid-template-columns:1fr 1fr;gap:8px}.quality-jobs span{display:grid;padding:12px;background:#eee6dc;border-radius:10px;font-size:12px}.quality-findings{display:grid;gap:10px;margin-top:22px}.finding{display:grid;gap:7px;padding:15px;border-left:4px solid #78917e;background:white}.finding.warning{border-color:#d2a34b}.finding.critical{border-color:#b5483e}.finding p{margin:0;color:#6a5e57}.book-toolbar #quality-button{color:white;border-color:#fff8}@media(max-width:650px){.quality-jobs{grid-template-columns:1fr}}

/* A single manifest drives both this reader and the printable PDF. */
.design-badge{display:block;margin-top:6px;color:#cfc4b9;letter-spacing:.08em;text-transform:uppercase}.spread{background:#171615}.book-page{display:block;position:relative;padding:0;overflow:hidden;isolation:isolate;background:var(--page-paper);color:var(--page-ink);font-family:Georgia,'Times New Roman',serif}.book-page::after{content:"";position:absolute;inset:0;z-index:8;pointer-events:none;border:1px solid #00000012}.page-folio{position:absolute;z-index:9;right:5%;bottom:3.4%;font:9px/1 Arial,sans-serif;letter-spacing:.18em}.page-photos,.page-copy{position:absolute;z-index:2}.book-photo{position:absolute;margin:0;overflow:hidden;background:var(--page-muted)}.book-photo img{width:100%;height:100%;object-fit:cover;display:block}.book-photo figcaption{position:absolute;left:0;bottom:-18px;font:8px/1 Arial,sans-serif;text-transform:uppercase;letter-spacing:.12em}.page-copy h2{font:clamp(22px,3.1vw,48px)/.95 Georgia,serif;margin:.12em 0}.page-copy p{columns:auto;max-height:none;overflow:hidden;font:clamp(9px,.88vw,13px)/1.58 Georgia,serif;margin:10px 0}.page-copy blockquote{margin:0;font:italic clamp(22px,3vw,46px)/1.12 Georgia,serif}.page-kicker{font:700 clamp(7px,.7vw,10px)/1 Arial,sans-serif;letter-spacing:.22em;text-transform:uppercase;color:var(--page-accent)}.cover-signature{display:block;margin-top:18px;font:700 9px/1 Arial,sans-serif;letter-spacing:.25em;text-transform:uppercase}.closing-mark{display:block;font:52px/1 Georgia;color:var(--page-accent)}.page-ornament{position:absolute;z-index:1;pointer-events:none}

/* Editorial: fashion-magazine grids, fine rules, white space and bold folios. */
.design-editorial_wedding{background:var(--page-paper);color:var(--page-ink)}.design-editorial_wedding .page-ornament{left:5%;top:4%;width:20%;height:1px;background:var(--page-accent)}
.layout-editorial-cover .page-photos{inset:8% 8% 38%}.layout-editorial-cover .book-photo{inset:0}.layout-editorial-cover .page-copy{left:9%;right:9%;bottom:9%;text-align:center}.layout-editorial-cover .page-copy h2{font-size:clamp(30px,4.6vw,70px)}
.layout-editorial-hero .page-photos{inset:8% 9% 34%}.layout-editorial-hero .book-photo{inset:0}.layout-editorial-hero .page-copy{left:10%;right:20%;bottom:8%}
.layout-editorial-duo .page-photos{inset:8% 7% 43%;display:grid;grid-template-columns:1fr 1fr;gap:4%}.layout-editorial-duo .book-photo{position:relative}.layout-editorial-duo .page-copy{left:8%;right:8%;bottom:7%;columns:2;column-gap:8%}
.layout-editorial-triptych .page-photos{inset:10% 6% 12%;display:grid;grid-template-columns:1.2fr .8fr;grid-template-rows:1fr 1fr;gap:3%}.layout-editorial-triptych .book-photo{position:relative}.layout-editorial-triptych .photo-1{grid-row:1/3}.layout-editorial-triptych .page-copy{display:none}
.layout-editorial-column .page-photos{inset:7% 48% 7% 7%}.layout-editorial-column .book-photo{inset:0}.layout-editorial-column .page-copy{left:58%;right:8%;top:17%;bottom:10%}.layout-editorial-column .page-copy p::first-letter{float:left;font-size:4em;line-height:.75;padding:.08em .08em 0 0;color:var(--page-accent)}
.layout-editorial-quote .page-copy{inset:18% 12%;display:grid;place-items:center;text-align:center}.layout-editorial-quote .page-copy::before{content:"“";position:absolute;font:170px/1 Georgia;color:var(--page-muted);z-index:-1;top:-20%}
.layout-editorial-chapter{background:#1d1916;color:#fff}.layout-editorial-chapter .page-photos{inset:6% 6% 42%}.layout-editorial-chapter .book-photo{inset:0}.layout-editorial-chapter .book-photo::after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,#1d191655,transparent 45%)}.layout-editorial-chapter .page-copy{left:8%;right:8%;bottom:9%;color:#fff}.layout-editorial-chapter .page-folio{color:#fff}
.layout-editorial-detail .page-photos{inset:10% 8% 18%}.layout-editorial-detail .photo-1{left:0;top:0;width:64%;height:72%}.layout-editorial-detail .photo-2{right:0;bottom:0;width:43%;height:52%;border:8px solid var(--page-paper)}.layout-editorial-detail .page-copy{display:none}.layout-editorial-finale .page-copy{inset:0;display:grid;align-content:center;justify-items:center;text-align:center}

/* Cinematic: dark stock, letterbox framing, sequences and title cards. */
.design-cinematic_story{background:#151719;color:#f3ecdf;font-family:Arial,sans-serif}.design-cinematic_story .page-copy h2,.design-cinematic_story .page-copy blockquote{font-family:Arial,sans-serif;font-weight:800;letter-spacing:-.04em}.design-cinematic_story .page-kicker{color:#d9a667}.design-cinematic_story .page-ornament{right:5%;top:4%;width:34px;height:10px;border-top:2px solid #b98b59;border-bottom:2px solid #b98b59}.design-cinematic_story .page-folio{color:#b8aa97}
.layout-cinematic-cover{background:#090a0c;color:#fff}.layout-cinematic-cover .page-photos{inset:6% 6% 43%}.layout-cinematic-cover .book-photo{inset:0}.layout-cinematic-cover .book-photo::after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,#090a0c55,transparent 45%)}.layout-cinematic-cover .page-copy{left:8%;right:8%;bottom:8%;color:#fff}.layout-cinematic-cover .page-copy h2{font-size:clamp(30px,4vw,60px);text-transform:uppercase}.layout-cinematic-cover .cover-signature{color:#d9a667}
.layout-cinematic-widescreen .page-photos{left:0;right:0;top:19%;height:51%}.layout-cinematic-widescreen .book-photo{inset:0}.layout-cinematic-widescreen .page-copy{left:7%;right:7%;bottom:7%}
.layout-cinematic-sequence .page-photos{inset:12% 6%;display:grid;grid-template-rows:repeat(3,1fr);gap:3%}.layout-cinematic-sequence .book-photo{position:relative;border-left:12px solid #08090a;border-right:12px solid #08090a}.layout-cinematic-sequence .page-copy{display:none}
.layout-cinematic-split .page-photos{inset:9% 6% 35%;display:grid;grid-template-columns:1fr 1fr;gap:2px}.layout-cinematic-split .book-photo{position:relative}.layout-cinematic-split .page-copy{left:7%;right:7%;bottom:8%}
.layout-cinematic-still .page-photos{inset:8% 8% 43%}.layout-cinematic-still .book-photo{inset:0}.layout-cinematic-still .page-copy{left:8%;right:8%;bottom:7%;padding-top:10px;border-top:1px solid #b98b59}
.layout-cinematic-intertitle .page-copy{inset:15%;display:grid;place-items:center;text-align:center;border:1px solid #b98b59;padding:10%;overflow:hidden}.layout-cinematic-intertitle .page-copy blockquote{font-size:clamp(13px,1.45vw,22px);line-height:1.18;max-height:100%;overflow:hidden}.layout-cinematic-panorama .page-photos{inset:24% 0}.layout-cinematic-panorama .book-photo{inset:0}.layout-cinematic-panorama .page-copy{display:none}.layout-cinematic-credits .page-copy{inset:0;display:grid;align-content:center;justify-items:center;text-align:center;text-transform:uppercase}

/* Family archive: album mounts, paper layers, red pencil and keepsake labels. */
.design-family_archive{background:var(--page-paper);color:var(--page-ink);background-image:repeating-linear-gradient(0deg,#ffffff12 0 2px,#00000008 3px 4px)}.design-family_archive .page-ornament{right:7%;top:5%;width:54px;height:54px;border:1px solid var(--page-accent);border-radius:50%;opacity:.45}.design-family_archive .page-copy p{font-size:clamp(10px,.92vw,14px)}
.layout-archive-cover .page-photos{inset:10% 14% 38%;padding:3%;background:#f7f0e3;box-shadow:0 8px 18px #4a35242d;transform:rotate(-1.4deg)}.layout-archive-cover .book-photo{inset:6%}.layout-archive-cover .page-copy{left:10%;right:10%;bottom:9%;text-align:center}.layout-archive-cover .page-copy h2{color:var(--page-accent)}
.layout-archive-album .page-photos{inset:12% 12% 30%;padding:5%;background:#f8f2e8;box-shadow:0 8px 18px #4a352422}.layout-archive-album .book-photo{inset:7%}.layout-archive-album .page-copy{left:12%;right:12%;bottom:8%}
.layout-archive-scrapbook .page-photos{inset:8%}.layout-archive-scrapbook .book-photo{width:52%;height:43%;padding:8px;background:#fff;box-shadow:0 7px 16px #3d2c2028}.layout-archive-scrapbook .photo-1{left:1%;top:2%;transform:rotate(-4deg)}.layout-archive-scrapbook .photo-2{right:0;top:28%;transform:rotate(3deg)}.layout-archive-scrapbook .photo-3{left:12%;bottom:0;transform:rotate(1deg)}.layout-archive-scrapbook .book-photo img{height:100%}.layout-archive-scrapbook .page-copy{display:none}
.layout-archive-timeline .page-photos{left:7%;top:10%;bottom:10%;width:42%;display:grid;grid-template-rows:1fr 1fr;gap:5%}.layout-archive-timeline .book-photo{position:relative;border:8px solid #fff}.layout-archive-timeline .page-copy{left:57%;right:7%;top:17%;bottom:10%;border-left:2px solid var(--page-accent);padding-left:8%}
.layout-archive-letter .page-copy{inset:10%;padding:11%;background:#f9f1e3;box-shadow:0 8px 24px #3c281524;transform:rotate(-.7deg)}.layout-archive-letter .page-copy p{font-style:italic;font-size:clamp(12px,1.15vw,17px)}
.layout-archive-portrait-note .page-photos{left:8%;top:9%;width:50%;height:72%;padding:8px;background:#fff;transform:rotate(-2deg);box-shadow:0 8px 20px #3c28152c}.layout-archive-portrait-note .book-photo{inset:8px}.layout-archive-portrait-note .page-copy{left:63%;right:7%;top:19%;bottom:12%;transform:rotate(1deg)}
.layout-archive-contact-sheet .page-photos{inset:9%;display:grid;grid-template-columns:1fr 1fr;grid-template-rows:1fr 1fr;gap:4%;padding:4%;background:#5d5044}.layout-archive-contact-sheet .book-photo{position:relative;border:5px solid #eee4d2}.layout-archive-contact-sheet .page-copy{display:none}.layout-archive-epilogue .page-copy{inset:0;display:grid;align-content:center;justify-items:center;text-align:center}

@media(max-width:850px){.book-page{min-height:72vh}.design-badge{display:none}.spread .book-page:nth-child(2){display:none}}
@media(max-width:650px){.quality-jobs{grid-template-columns:1fr}.book-toolbar{gap:12px;align-items:flex-start}.book-toolbar>div:last-child{display:flex;flex-wrap:wrap;justify-content:flex-end}}

.proofreader-actions{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:10px}
.proofreader-actions small{margin:0}
.proofreader-state{display:grid;gap:7px;margin-top:14px;padding:14px;border:1px solid #d8ccbf;border-radius:12px;background:#f4ede4}
.proofreader-state span{font-size:12px;color:#75695f}
.proofreader-state.clean{border-color:#8aa78d;background:#eef5ed}
.proofreader-state.attention{border-color:#d3a24d;background:#fff5df}
.proofreader-state.checking{border-color:#7290a9;background:#edf4f9}
.proofreader-state ul{display:grid;gap:7px;margin:5px 0;padding-left:18px}
.proofreader-state li{font-size:12px;line-height:1.4}
.proofreader-state li em{display:block;color:#66594f}
.proofreader-state button{justify-self:start;margin-top:4px}
.approval-dialog{width:min(620px,92vw);max-height:90vh;overflow:auto;border:1px solid #c9b49b;border-radius:16px;padding:26px;background:#fffdf9;color:#24211f}
.approval-dialog::backdrop{background:#151719b8}
.approval-dialog label{display:flex;align-items:flex-start;gap:10px;margin:18px 0;line-height:1.5}
.approval-dialog input[type=checkbox]{width:auto;flex:none;margin-top:5px}
.approval-dialog p{line-height:1.5}
.approval-actions{display:flex;flex-wrap:wrap;gap:12px}
.approval-error{color:#a02626}
.quality-coverage{padding:14px;background:#fff5df;border:1px solid #d3a24d;border-radius:10px;line-height:1.5}
@media(max-width:650px){.proofreader-actions{align-items:flex-start;flex-direction:column}}
