/* Native snapping leaves oversized chapters readable in normal document flow. */
@media screen {
  html:has(> .dinner-site){scroll-snap-type:y mandatory;scroll-padding:0}
  .dinner-site .chapter{scroll-snap-align:start;scroll-snap-stop:always}
  .dinner-site .cover{overflow:visible}
  .dinner-site .course-dessert{display:flex;flex-direction:column;justify-content:center}
  .dinner-site .dessert-figure{width:100%;max-width:620px}
  /* Keep programmatic admin scrolling, but remove native viewer scrolling. */
  html:has(> .dinner-site[data-screen-mode="follow"]){overflow:hidden;overscroll-behavior:none;scroll-snap-type:none}
  .dinner-site[data-screen-mode="follow"]{overflow:hidden;overscroll-behavior:none;touch-action:pinch-zoom}
  .dinner-site[data-screen-mode="follow"] .chapter{pointer-events:none}
  .dinner-site[data-screen-mode="follow"] .skip-link,
  .dinner-site[data-screen-mode="follow"] .menu-overview-return{visibility:hidden}
  .dinner-site[data-presentation-pending] main,
  .dinner-site[data-presentation-pending] .fixed-moon{visibility:hidden}
}
.screen-connection{position:fixed;bottom:12px;left:12px;z-index:10;margin:0;padding:6px 10px;border-radius:3px;background:#080d0b;color:#faf7ef;font:14px/1.5 var(--body)}
.screen-connection:empty{display:none}
.fixed-moon .moon-freehand-image{opacity:0;transition:opacity .45s ease}
.fixed-moon.is-mask-visible .moon-freehand-image{opacity:1;transition-duration:2.8s}
.fixed-moon:not(.is-mask-enabled) .moon-freehand-image{transition:none;opacity:0}
.fixed-moon.is-mask-enabled{pointer-events:all;cursor:pointer;touch-action:manipulation}
.fixed-moon:focus-visible{outline:2px solid currentColor;outline-offset:6px}
@media screen and (max-width:760px){
  .dinner-site .chapter{padding:24px;align-content:center}
  .dinner-site .course-jang{gap:16px}
  .dinner-site .jang-platter{max-width:300px}
  .dinner-site .jang-platter img{max-height:20dvh;object-fit:contain}
  .dinner-site .bite-list,.dinner-site .trio-notes{gap:16px}
  .dinner-site .course p.dish-description{font-size:14px;line-height:1.6;margin-top:6px}
  .dinner-site .course p.dish-ingredients{font-size:12px;line-height:1.6;margin-top:4px}
  .dinner-site .bite-copy h3,.dinner-site .dessert-notes h3{font-size:20px;line-height:1.35}
  .dinner-site .dessert-figure{margin:16px auto}
  .dinner-site .dessert-figure img{max-height:21dvh}
  .dinner-site .trio-notes{margin:0}
  .dinner-site .course-split{justify-content:center}
  .dinner-site .dish-figure img{max-height:32dvh}
  .dinner-site .field-notes{display:grid;grid-template-columns:minmax(0,1fr);gap:16px}
  .dinner-site .field-notes .eyebrow,.dinner-site .field-notes h2{margin:0}
  .dinner-site .field-notes h2{font-size:30px;line-height:1.2}
  .dinner-site .field-notes p{font-size:14px;line-height:1.55;margin-bottom:12px}
  .dinner-site .field-notes .eyebrow{font-size:12px}
  .dinner-site .field-notes .handwritten{font-size:18px;margin-top:16px}
  .dinner-site .menu-overview-return{margin-top:0}
}
@media screen and (max-width:760px) and (max-height:650px){
  .dinner-site .chapter{padding:18px}
  .dinner-site .course-jang{gap:10px}
  .dinner-site .jang-platter img{max-height:15dvh}
  .dinner-site .bite-list,.dinner-site .trio-notes{gap:12px}
  .dinner-site .dessert-figure{margin:10px auto}
  .dinner-site .dessert-figure img{max-height:17dvh}
}
@media screen and (min-width:761px) and (max-height:700px){
  .dinner-site .chapter{padding-block:20px}
  .dinner-site .course-jang,.dinner-site .field-notes{row-gap:12px}
  .dinner-site .course h2,.dinner-site .course-jang .course-intro h2,.dinner-site .dish-copy h2,.dinner-site .field-notes h2{font-size:30px}
  .dinner-site .course p.dish-description{font-size:14px;line-height:1.55;margin-top:6px}
  .dinner-site .course p.dish-ingredients{font-size:12px;line-height:1.5;margin-top:4px}
  .dinner-site .bite-list{gap:14px}
  .dinner-site .bite-copy h3,.dinner-site .dessert-notes h3{font-size:20px;line-height:1.3}
  .dinner-site .jang-platter img,.dinner-site .dish-figure img{max-height:44dvh;object-fit:contain}
  .dinner-site .dessert-figure{margin:8px auto}
  .dinner-site .dessert-figure img{max-height:30dvh}
  .dinner-site .trio-notes{margin-top:8px;gap:20px}
  .dinner-site .field-notes p{font-size:14px;line-height:1.5;margin-bottom:10px}
  .dinner-site .field-notes .handwritten{font-size:18px;margin-top:12px}
  .dinner-site .field-notes .eyebrow{margin:0;font-size:12px}
}
@media(prefers-reduced-motion:reduce){.fixed-moon .moon-freehand-image,.fixed-moon.is-mask-visible .moon-freehand-image{transition:none}}
@media print{html:has(> .dinner-site){scroll-snap-type:none}.screen-connection{display:none}}
@media print,(forced-colors:active){.fixed-moon .moon-freehand-image{display:none}}
