.topbar nav .contents-trigger { background: none; border: 1px solid #dce9df; border-radius: 20px; padding: 6px 13px; font-size: 14px; color: inherit; }
.contents-trigger:disabled { opacity: .5; }
.book-count { font: 12px/1.7 Georgia,"Microsoft YaHei",sans-serif; color: #7f9788; margin-top: 12px; letter-spacing: 1px; }
.full-chapter { position: relative; padding-top: 60px; padding-bottom: 40px; border-bottom: 1px solid #e7eee6; }
.full-chapter .chapter-heading { margin-bottom: 18px; }
.chapter-note { font-size: 16px; color: #71887c; line-height: 1.95; margin: 0 0 30px; max-width: 720px; }
.chapter-groups { display: grid; gap: 25px; }
.memory-group { padding: 27px; border-radius: 20px 5px 20px 5px; min-width: 0; }
.tone-sea { background: #edf8f4; }
.tone-blush { background: #fff5f4; }
.tone-cream { background: #fbf8e9; }
.tone-lilac { background: #f5f3fa; }
.group-label { font-size: 17px; line-height: 1.6; font-weight: 500; letter-spacing: 1px; color: #708779; margin-bottom: 24px; }
.memory-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); align-items: start; gap: 25px; padding: 6px 5px; }
.book-photo { transform: rotate(var(--tilt,0deg)); width: 100%; min-width: 0; }
.book-photo img { width: 100%; height: 270px; object-fit: cover; object-position: center 25%; }
.card-number { font: 13px/1.7 Georgia,serif; letter-spacing: 2px; margin: 9px 0 2px; }
.card-number .heart-accent { margin-left: 15px; font-size: 19px; letter-spacing: 0; }
.two-photos { grid-template-columns: repeat(2,minmax(0,1fr)); max-width: 720px; margin: auto; gap: 35px; }
.two-photos .book-photo img { height: 320px; }
.single-photo { grid-template-columns: minmax(0,320px); justify-content: center; }
.single-photo .book-photo img { height: 325px; }
.landscape-grid .book-photo img { height: auto; aspect-ratio: 4/3; object-fit: contain; background: #f6faf3; }
.landscape-grid.single-photo { grid-template-columns: minmax(0,520px); }
.layout-postcard .chapter-groups { grid-template-columns: repeat(2,minmax(0,1fr)); }
.layout-postcard .chapter-groups > :only-child { grid-column: 1/-1; }
.layout-postcard .memory-group { padding: 26px; }
.layout-postcard .single-photo .book-photo img { height: 340px; object-fit: contain; background: #fafbf5; }
.layout-postcard .two-photos .book-photo img { height: 340px; object-fit: contain; background: #fafbf5; }
.layout-opening .chapter-groups { grid-template-columns: repeat(2,minmax(0,1fr)); }
.layout-opening .chapter-groups > :nth-child(-n+2) { grid-column: 1/-1; }
.layout-opening .chapter-groups > :nth-child(n+3) .two-photos { gap: 20px; }
.layout-opening .chapter-groups > :nth-child(n+3) .book-photo img { height: 220px; }
.layout-scrapbook .small-group .single-photo { grid-template-columns: minmax(0,310px); }
.layout-scrapbook .small-group .landscape-grid.single-photo { grid-template-columns: minmax(0,500px); }
.layout-journey .memory-group { border-radius: 30px 5px; }
.layout-journey .landscape-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
.memory-filmstrip { display: flex; overflow-x: auto; gap: 24px; padding: 15px 12px 20px; scroll-snap-type: x mandatory; scrollbar-color: #c9dccd transparent; }
.memory-filmstrip .book-photo { flex: 0 0 240px; scroll-snap-align: center; }
.memory-filmstrip .book-photo img { height: 295px; }
.strip-hint { margin-top: 15px; font-size: 13px; color: #8ba18f; }
.memory-drawer { padding: 0; overflow: hidden; }
.memory-drawer summary { cursor: pointer; display: flex; align-items: center; gap: 20px; list-style: none; padding: 23px 27px; }
.memory-drawer summary::-webkit-details-marker { display: none; }
.memory-drawer summary .group-label { margin: 0; flex: 1; }
.drawer-count { font-size: 12px; color: #8a9c89; white-space: nowrap; }
.drawer-plus { font-size: 24px; line-height: 1; color: #a2b89f; transition: transform .2s; }
.memory-drawer[open] .drawer-plus { transform: rotate(45deg); }
.drawer-photos { padding: 0 27px 25px; animation: pull-open .4s ease-out; }
.chapter-bottom { display: flex; justify-content: center; align-items: center; gap: 22px; padding-top: 28px; }
.chapter-bottom > span { font: 28px Georgia,serif; }
.next-page { font-size: 14px; color: #839c89; border-bottom: 1px solid #d6e5d9; padding-bottom: 2px; }
.anchor-alias { position: absolute; top: 0; }
.extra-count { display: block; font-size: 12px; color: #9aa99a; margin-top: 6px; }
.preview-photo { background: none; padding: 0; border: 0; }
.full-extras .little-preview .card-number { display: none; }
.full-extras .little-preview .book-photo img { height: 143px; }
.text-button .extra-button-label { font-size: 14px; }
.ending-note { max-width: 550px; margin: 15px auto 25px; font-size: 16px; color: #7d9382; line-height: 1.95; }
#contents { width: min(94vw,800px); padding: 25px 30px 30px; overflow-y: auto; max-height: 88svh; }
.contents-header { display: flex; justify-content: space-between; align-items: center; gap: 25px; position: sticky; top: -25px; background: #fcfef8; padding: 5px 0 15px; z-index: 1; }
.contents-header h2 { font-size: 25px; }
.contents-meta { margin: 5px 0 25px; font-size: 13px; color: #91a08f; }
.contents-list { display: grid; gap: 9px; }
.contents-item { display: grid; grid-template-columns: 33px minmax(0,1fr) 45px; gap: 15px; align-items: center; text-align: left; border: 1px solid #e3ecdf; background: #f5faf3; border-radius: 10px; padding: 14px 15px; }
.contents-item:nth-child(3n+2) { background: #fcf5f1; border-color: #efe5de; }
.contents-item:nth-child(3n) { background: #faf9ed; border-color: #ecebdc; }
.contents-number { font: 18px Georgia,serif; color: #a0b59f; }
.contents-title { font-size: 15px; line-height: 1.6; }
.contents-count { font-size: 12px; color: #9aa794; text-align: right; }
.contents-extras { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 25px; }
.contents-extra { font-size: 14px; background: #fff4f3; border: 1px dashed #e6cccc; border-radius: 20px; padding: 10px 17px; }
.contents-extra:last-child { background: #faf6e7; border-color: #ddd8b8; }
@media(max-width:1050px) {
  .topbar nav { gap: 20px; }
  .memory-grid { gap: 20px; }
  .book-photo img { height: 250px; }
  .memory-group { padding: 25px 22px; }
  .layout-opening .chapter-groups > :nth-child(n+3) .book-photo img { height: 190px; }
}
@media(max-width:720px) {
  .topbar nav { gap: 17px; }
  .topbar nav .contents-trigger { font-size: 13px; padding: 4px 10px; }
  .full-chapter { padding-top: 40px; padding-bottom: 30px; }
  .full-chapter h2 { font-size: 25px; line-height: 1.55; }
  .chapter-note { font-size: 16px; margin-bottom: 25px; }
  .memory-group { padding: 23px 14px; border-radius: 20px 5px; }
  .group-label { font-size: 16px; margin-bottom: 20px; }
  .memory-grid { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 20px 15px; padding: 4px; }
  .book-photo { padding: 7px; }
  .book-photo img { height: 195px; }
  .two-photos { gap: 17px; }
  .two-photos .book-photo img { height: 210px; }
  .single-photo { grid-template-columns: minmax(0,235px); }
  .single-photo .book-photo img { height: 280px; }
  .card-number { font-size: 12px; margin-top: 8px; }
  .memory-grid:not(.memory-filmstrip):not(.landscape-grid) > .book-photo:last-child:nth-child(odd) { grid-column: 1/-1; width: 65%; justify-self: center; }
  .memory-grid.single-photo > .book-photo:last-child { width: 100%; }
  .memory-grid:not(.memory-filmstrip):not(.landscape-grid).single-photo > .book-photo:last-child:nth-child(odd) { width: 100%; grid-column: auto; }
  .layout-opening .chapter-groups,.layout-postcard .chapter-groups { grid-template-columns: minmax(0,1fr); }
  .layout-opening .chapter-groups > :nth-child(n+3) .book-photo img { height: 210px; }
  .layout-postcard .single-photo .book-photo img,.layout-postcard .two-photos .book-photo img { height: 280px; }
  .layout-postcard .two-photos .book-photo img { height: 215px; }
  .layout-scrapbook .small-group .single-photo { grid-template-columns: minmax(0,235px); }
  .landscape-grid { grid-template-columns: minmax(0,1fr); }
  .landscape-grid.two-photos { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .landscape-grid .book-photo img { height: auto; }
  .layout-journey .landscape-grid { grid-template-columns: minmax(0,1fr); }
  .memory-filmstrip { display: flex; padding: 12px 9px 18px; }
  .memory-filmstrip .book-photo { flex-basis: 215px; }
  .memory-filmstrip .book-photo img { height: 265px; }
  .memory-drawer { padding: 0; }
  .memory-drawer summary { padding: 21px 19px; gap: 12px; }
  .drawer-photos { padding: 0 13px 21px; }
  .ending-note { font-size: 16px; padding: 0 20px; }
  .full-extras .little-preview .book-photo img { height: 190px; }
  #contents { padding: 20px 16px; }
  .contents-header { top: -20px; }
  .contents-header h2 { font-size: 23px; }
  .contents-item { grid-template-columns: 25px minmax(0,1fr) 39px; gap: 10px; padding: 13px 12px; }
  .contents-title { font-size: 14px; }
  .contents-number { font-size: 16px; }
  .contents-count { font-size: 12px; }
}
@media(prefers-reduced-motion:reduce) { .drawer-photos { animation: none; } }
