:root{--ink:#28313a;--purple:#6b287d;--paper:#fffdf7;--cream:#f6f0e3;--edge:#dfd5c3;--muted:#726f69}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:#eeeae2;color:var(--ink);font:17px/1.55 Georgia,'Times New Roman',serif}.book-shell{max-width:1100px;margin:24px auto;background:var(--paper);border:1px solid var(--edge);box-shadow:0 10px 38px #332b2020;border-radius:6px;overflow:hidden}a{color:var(--purple)}a:focus-visible,button:focus-visible,summary:focus-visible,input:focus-visible{outline:3px solid #a769ad;outline-offset:3px}.book-header{text-align:center;padding:38px 24px 26px;border-bottom:2px solid var(--edge);background:linear-gradient(#fffdf9,#f8f2e6)}.edition,.eyebrow{font:700 11px/1.6 Arial,sans-serif;letter-spacing:.2em;text-transform:uppercase;color:#80715c}.book-header h1{margin:9px 0 0;font-size:clamp(2.3rem,5vw,4rem);line-height:1.1}.book-header em{color:var(--purple)}.subtitle{font-style:italic;font-size:1.2rem;margin:10px 0}.history{max-width:650px;margin:12px auto 22px;color:#5b564e}.top-links{display:flex;flex-wrap:wrap;gap:10px;justify-content:center}.top-links a{border:1px solid var(--edge);border-radius:99px;padding:7px 13px;background:white;text-decoration:none;font:600 13px Arial,sans-serif}.top-links a:hover{background:var(--cream)}main{padding:24px clamp(16px,4vw,45px)}.search-area{background:#f8f4ea;border:1px solid var(--edge);border-radius:12px;padding:22px;margin-bottom:30px}.search-area h2{margin:0 0 12px;font-size:1.35rem}.search-area label{display:block;font:600 13px Arial,sans-serif;margin-bottom:7px}.search-row{display:flex;gap:9px;align-items:stretch}.search-row input{min-width:0;flex:1;background:white;border:1px solid #bdb3a2;border-radius:8px;padding:12px;font:16px Arial,sans-serif}.search-row button{border:0;border-radius:8px;background:var(--purple);color:white;font:700 14px Arial,sans-serif;padding:12px 19px;cursor:pointer}.search-row button:hover{background:#4e1b60}.clear{align-self:center;font:600 14px Arial,sans-serif}.cuts{display:flex;overflow-x:auto;gap:9px;margin-top:20px;padding-bottom:5px}.cut{flex:0 0 94px;text-align:center;text-decoration:none;border:1px solid var(--edge);border-radius:8px;background:#fff;padding:9px 5px;color:#453b31;font:700 13px Arial,sans-serif}.cut img{display:block;width:62px;height:57px;object-fit:contain;margin:0 auto 5px}.cut:hover,.cut.selected{border-color:var(--purple);background:#f4eaf5}.chapter-heading{display:flex;align-items:end;justify-content:space-between;gap:14px;margin-bottom:15px}.chapter-heading h2{margin:2px 0 0;font-size:1.8rem}.recipe-count{font:600 13px Arial,sans-serif;color:var(--muted);white-space:nowrap}.chapter{border:1px solid var(--edge);border-radius:11px;background:#fff;margin:0 0 12px;overflow:hidden}.chapter summary{cursor:pointer;list-style:none;display:flex;align-items:center;gap:15px;padding:13px 18px;background:#f4efe5;min-height:79px}.chapter summary::-webkit-details-marker{display:none}.chapter summary img{width:52px;height:52px;object-fit:contain;border-radius:50%;background:white;padding:3px}.chapter-name{font-size:1.25rem;font-weight:700;flex:1}.chapter-count{font:700 13px Arial,sans-serif;background:white;padding:5px 9px;border-radius:30px;border:1px solid var(--edge)}.chapter-chevron{font-size:1.4rem;transition:transform .2s}.chapter[open] .chapter-chevron{transform:rotate(180deg)}.chapter summary:hover{background:#eee5d7}.recipe-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;padding:17px}.recipe-card{display:flex;flex-direction:column;gap:6px;min-width:0;padding:16px;background:#fffdfa;border:1px solid var(--edge);border-radius:9px;text-decoration:none;color:var(--ink);box-shadow:0 2px 5px #2b26170a;transition:transform .16s,box-shadow .16s}.recipe-card:hover{transform:translateY(-2px);box-shadow:0 5px 14px #2b261725;border-color:#bea8c5}.recipe-text{display:flex;flex-direction:column;gap:7px}.recipe-text strong{font-size:1.12rem;color:#4b2759;line-height:1.25}.description{color:#554f48;font-size:.95rem;line-height:1.45}.recipe-text small{font:600 12px Arial,sans-serif;color:#6d655b}.card-photo{max-height:150px;width:100%;object-fit:cover;border-radius:6px}.open-label{margin-top:auto;font:700 12px Arial,sans-serif;color:var(--purple);padding-top:8px}.book-footer{text-align:center;padding:22px;background:#f8f3e8;color:#74695b;border-top:1px solid var(--edge);font:12px/1.4 Arial,sans-serif}.book-footer p{margin:4px}.notice{padding:18px;border:1px dashed var(--edge);border-radius:8px;background:#fffcf0}
@media(max-width:690px){body{font-size:16px}.book-shell{margin:0;border:0;box-shadow:none}.book-header{padding:26px 14px}.book-header h1{font-size:2.25rem}.history{font-size:.95rem}.search-row{flex-wrap:wrap}.search-row input{flex-basis:100%}.search-row button{flex:1}.chapter-heading{align-items:start}.chapter-heading h2{font-size:1.5rem}.chapter summary{padding:11px}.chapter-name{font-size:1.05rem}.recipe-grid{grid-template-columns:1fr;padding:11px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition:none!important}}
/* A2.1 — interior pages, matching the chapter browser */
.inner-header{padding-top:25px;padding-bottom:22px}.inner-header h1{font-size:clamp(2rem,4vw,3rem)}.book-title-link{text-decoration:none;color:inherit}.reading-layout{max-width:850px;margin:auto}.paper-page{background:#fffdfa;border:1px solid var(--edge);border-radius:9px;padding:clamp(20px,5vw,48px);box-shadow:0 3px 12px #352a1811}.page-title{font-size:clamp(1.7rem,3.5vw,2.6rem);line-height:1.2;margin:8px 0 20px}.recipe-meta{display:flex;gap:10px;margin-bottom:16px}.recipe-meta span{padding:6px 11px;border-radius:20px;background:#f5ebdf;color:#58453a;font:700 13px Arial,sans-serif}.recipe-deck,.foreword-deck{font-size:1.1rem;font-style:italic;color:#55473e;line-height:1.6;border-left:3px solid #b18aaf;padding-left:15px}.recipe-photo{display:block;max-width:100%;height:auto;max-height:450px;object-fit:contain;margin:22px auto;border-radius:6px}.recipe-sections{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:28px;margin-top:30px}.recipe-sections h3{font-size:1.35rem;color:#51315c;border-bottom:1px solid var(--edge);padding-bottom:8px;margin:0 0 14px}.ingredient-list{padding-left:21px}.ingredient-list li,.instruction-list li{margin-bottom:10px;padding-left:2px}.ingredient-heading{list-style:none;margin-left:-20px;margin-top:17px;font-weight:700;color:#584460}.instruction-list{padding-left:24px}.instruction-list li::marker{font-weight:bold;color:var(--purple)}.foreword-copy p{margin:0 0 1.1em;line-height:1.8}.foreword-art{float:right;width:140px;max-width:35%;margin:0 0 15px 20px}.chapter-rule{clear:both;border:0;border-top:1px solid var(--edge);margin:22px 0}.cartoon-break{text-align:center;border-top:1px dashed var(--edge);padding-top:15px;margin-top:30px}.cartoon-break h3{font-size:1.1rem;color:#674478}.cartoon-break img{max-width:min(100%,360px);height:auto;border-radius:6px}.page-actions{display:flex;justify-content:space-between;gap:12px;align-items:center;margin:22px 0}.page-actions a,.page-actions button{font:700 14px Arial,sans-serif;padding:11px 16px;border-radius:8px;border:1px solid var(--edge);background:#fff;text-decoration:none;color:var(--purple);cursor:pointer}.page-actions button:hover,.page-actions a:hover{background:var(--cream)}
@media(max-width:680px){.recipe-sections{grid-template-columns:1fr;gap:14px}.page-actions{flex-wrap:wrap}.paper-page{padding:19px}}
@media print{body{background:white}.book-shell{border:0;box-shadow:none;margin:0}.book-header,.book-footer,.page-actions,.cartoon-break{display:none!important}main{padding:0}.paper-page{border:0;box-shadow:none;padding:0}.recipe-sections{grid-template-columns:1fr 1.2fr}}

/* =========================================================
   A2.2 — Recipe Reading & Printing Refinements
   Development edition only
   ========================================================= */

/* Narrow tablets: give ingredients and directions
   their own full-width reading space. */
@media screen and (min-width:681px) and (max-width:850px) {
  .recipe-sections {
    grid-template-columns: 1fr;
    gap: 18px;
  }
}

/* Prevent ingredient lists and long directions
   from breaking the page layout. */
.recipe-sections > section {
  min-width: 0;
}

.ingredient-list li,
.instruction-list li {
  overflow-wrap: break-word;
}

/* Print as a clean, readable cookbook page. */
@media print {

  @page {
    margin: 0.65in;
  }

  body {
    background: white;
    color: #000;
    font-size: 11pt;
    line-height: 1.4;
  }

  .book-shell,
  .reading-layout {
    max-width: none;
    width: 100%;
    overflow: visible;
  }

  .recipe-sections {
    display: block;
    margin-top: 15px;
  }

  .recipe-sections > section {
    margin-bottom: 18px;
  }

  .recipe-sections h3 {
    break-after: avoid;
    page-break-after: avoid;
  }

  .ingredient-list li,
  .instruction-list li {
    break-inside: avoid;
    page-break-inside: avoid;
    margin-bottom: 6px;
  }

  .page-title {
    font-size: 20pt;
    break-after: avoid;
  }

  .recipe-photo {
    max-height: 2.5in;
    break-inside: avoid;
  }

  .foreword-art {
    max-width: 25%;
  }

  .paper-page {
    break-inside: auto;
  }
}

