
:root{
  --page-width:794px;
  --page-height:1123px;
  --paper:#fffdf9;
  --ink:#2f2f2f;
  --muted:#6a6a6a;
  --line:#d9d3c6;
  --accent:#6b8e23;
  --shadow:0 20px 40px rgba(0,0,0,.10);
}
*{box-sizing:border-box}
html,body{margin:0;padding:0;font-family:Georgia,'Times New Roman',serif;color:var(--ink);background:#ece8df}
.topbar{position:sticky;top:0;z-index:10;display:flex;justify-content:space-between;align-items:center;gap:12px;padding:14px 24px;background:rgba(255,253,249,.92);backdrop-filter:blur(10px);border-bottom:1px solid #ddd7ca}
.brand{font-size:13px;letter-spacing:.12em;text-transform:uppercase}
.actions{display:flex;gap:10px;flex-wrap:wrap}
button{border:1px solid #cfc7b5;background:#fff;padding:10px 14px;border-radius:999px;cursor:pointer}
.ebook{display:flex;flex-direction:column;align-items:center;gap:34px;padding:28px}
body.grid .ebook{display:grid;grid-template-columns:repeat(auto-fit,minmax(340px,1fr));gap:24px;align-items:start}
.page{position:relative;width:var(--page-width);min-height:var(--page-height);background:var(--paper);box-shadow:var(--shadow);border:1px solid #e6dfd1;overflow:hidden}
.page-inner{padding:70px 68px 110px;min-height:100%}
.page-body{position:relative;z-index:2}
.watermark{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;transform:rotate(-26deg);font-size:44px;letter-spacing:.08em;text-transform:uppercase;color:rgba(0,0,0,.04);pointer-events:none;user-select:none;z-index:1}
body.hide-watermark .watermark{display:none}
.page-footer{position:absolute;left:0;right:0;bottom:24px;padding:0 68px;display:flex;justify-content:space-between;gap:10px;font-size:12px;color:var(--muted);z-index:2}
.cover,.legal,.dedication,.about,.closing,.intro{display:flex;flex-direction:column;justify-content:center;min-height:860px}
.cover{align-items:center;text-align:center}
.cover .kicker{font-size:13px;letter-spacing:.18em;text-transform:uppercase;color:var(--accent);margin-bottom:22px}
.cover h1{margin:0;font-size:60px;line-height:1.03}
.cover h2{margin:18px 0 0;font-size:24px;font-weight:normal;color:var(--muted);line-height:1.45}
.cover .publisher{margin-top:44px;font-size:17px;letter-spacing:.1em;text-transform:uppercase}
.hero-box,.image-box{width:100%;border:1px solid var(--line);background:linear-gradient(135deg,#f4f0e7,#e5ded0);display:flex;align-items:center;justify-content:center;text-align:center;color:#77715f}
.hero-box{height:380px;margin-top:36px;font-size:24px}
.image-box{height:760px;font-size:26px}
.chapter-image{height:540px}
h2{margin:0 0 18px;font-size:34px}
h3.chapter-title{margin:0 0 12px;font-size:46px}
p,li{font-size:19px;line-height:1.78}
.index ul{list-style:none;margin:24px 0 0;padding:0}
.index li{display:flex;justify-content:space-between;border-bottom:1px solid var(--line);padding:10px 0}
.index a{text-decoration:none;color:inherit}
.recipe-number{font-size:14px;letter-spacing:.14em;text-transform:uppercase;color:var(--accent);margin-bottom:8px}
.recipe h2{font-size:38px;margin-bottom:20px}
.block{border-top:1px solid var(--line);padding-top:14px;margin-top:12px}
.block h4{margin:0 0 8px;font-size:17px;letter-spacing:.08em;text-transform:uppercase;color:#505050}
.block ul,.block ol{margin:0;padding-left:22px}
.prompt{margin-top:18px;padding:14px 16px;border:1px dashed #c8bea8;background:#faf7f0;color:#625c4f;font-size:16px}
@media print{
  body{background:#fff}
  .topbar{display:none}
  .ebook{padding:0;gap:0}
  .page{box-shadow:none;border:none;margin:0;page-break-after:always}
}
