/* A source-led material pass; these are authored objects, not new food images. */
.table-rig{--material-opacity:1;--cover-shade:0}
.table-depth{background:linear-gradient(140deg,#72756b,#3e4949 45%,#222e31 80%);transform:translateZ(-13px);box-shadow:0 2px 0 #222b2d,8px 28px 32px -16px #272c2d60,15px 56px 56px -25px #34312830}
.table-edge{position:absolute;inset:0;border-radius:50%;background:linear-gradient(155deg,#8f9385,#39484e 40%,#273238 73%,#5c635b);transform:translateZ(-6px);backface-visibility:hidden;box-shadow:0 1px 0 #252f32}
.table-surface{border:3px solid #58615a;background:#b7a792;box-shadow:0 0 0 1px #bac0ab,inset 0 0 0 1px #d9cdbd,inset 0 0 25px #171f2226}
.stone-texture{background:#b7a792 url('./assets/media/table-stone.webp') center / cover;filter:none}
.stone-texture::after{display:none}
.table-rim{position:absolute;inset:0;border-radius:inherit;background:linear-gradient(130deg,#dae1d036,transparent 48%,#111e294d),repeating-conic-gradient(from 3deg,#485b64 0deg 4.3deg,#343f40 4.5deg 4.9deg,#627075 5deg 9.3deg,#333f41 9.5deg 9.9deg,#57666c 10deg 14.3deg,#364345 14.5deg 14.9deg,#788078 15deg 19.3deg,#344247 19.5deg 19.9deg);mask:radial-gradient(closest-side,transparent calc(100% - 19px),#000 calc(100% - 18px));box-shadow:inset 0 0 0 1px #b9ba9e;opacity:var(--setup-opacity)}
.table-sheen{background:radial-gradient(ellipse at var(--light-x) var(--light-y),#fff4dc36,transparent 56%),linear-gradient(140deg,transparent 48%,#183d4b10 80%);border-radius:inherit;opacity:var(--setup-opacity)}
.paper-napkin{background:linear-gradient(91deg,transparent 48.5%,#99876f24 49.5%,#fffdf4d9 50.3%,transparent 53%),linear-gradient(5deg,#eee4d0,#faf6eb 55%,#e5dbc9);border:1px solid #e8dfcb;border-radius:1px 2px 3px 1px;box-shadow:-1px 2px 1px #73634d38,-5px 8px 9px #493c2a2b;transform:translateZ(2px) rotateZ(-12deg)}
.paper-napkin::before{inset:5%;border:1px solid #9982651f;box-shadow:inset 0 0 0 2px #fffff533}
.paper-napkin::after{inset:0;background:repeating-linear-gradient(0deg,#665e4607 0 1px,transparent 1px 3px),repeating-linear-gradient(90deg,#fff5d91a 0 1px,transparent 1px 3px);border:0;opacity:.7}
.paper-napkin span{background:linear-gradient(93deg,transparent 45%,#53453024 48%,#fff4db88 51%,transparent 58%),repeating-conic-gradient(#a44936 0% 25%,#f7f0e7 0% 50%) 50%/27px 27px;opacity:.9;box-shadow:-1px 2px 1px #50372625;transform:rotate(-3deg)}
.menu-book{transform:translateZ(5px) rotateZ(17deg)}
.menu-back{background:linear-gradient(90deg,#c4b69d 0%,#eee5d4 3%,#fcf6e9 12%,#f8f1e1 94%,#e5d7bd 100%);border-radius:1px 3px 3px 1px;box-shadow:0 1px 0 #b4a48b,0 3px 0 #f6ecd8,0 4px 0 #a9a08b,-2px 6px 4px #473e344a,-12px 18px 16px #3d372424;padding:10% 10% 7%;gap:0;text-align:left;overflow:hidden}
.menu-back::after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#443c3033,transparent 11%),linear-gradient(90deg,#312d24aa,transparent 90%);opacity:var(--cover-shade);pointer-events:none}
.page-kicker{font:500 clamp(4px,.48vw,7px)/1.6 var(--body);letter-spacing:.13em;color:#73664e}
.menu-back strong{font:italic clamp(12px,1.45vw,21px)/1.15 var(--serif);font-weight:400;margin:8% 0 9%;color:#493f31}
.printed-row{margin-bottom:8%}.printed-row>span{font:clamp(6px,.63vw,9px)/1.3 var(--serif);color:#69583d}
.menu-back .printed-row i{height:1px;border:0;background:#b6a48955;margin-top:7%;width:100%}.menu-back .printed-row i:last-child{width:76%;margin-top:4%}
.page-number{font:clamp(4px,.42vw,6px)/1.6 var(--body);letter-spacing:.12em;color:#8b7b5c;margin-top:auto;padding-top:7%}
.menu-cover{padding:0;background:transparent;box-shadow:none;border-radius:2px;backface-visibility:visible;transform-style:preserve-3d;transform:rotateY(0deg);transform-origin:1px center}
.cover-front,.cover-inside{position:absolute;inset:0;border-radius:1px 3px 3px 1px;backface-visibility:hidden;overflow:hidden}
.cover-front{padding:7%;background:linear-gradient(90deg,#d4c7ad,#fffcf5 5%,#faf8f0 90%,#eee5d6);transform:translateZ(1px);box-shadow:1px 0 0 #c5b491,0 2px 0 #d1c4a9,inset 1px 0 0 #fff9,inset 6px 0 8px #4b38251f}
.cover-front::after{content:'';position:absolute;inset:0;background:linear-gradient(110deg,#403725b3,transparent 85%);opacity:var(--cover-shade);pointer-events:none}
.cover-border{padding:15px 8px;border-color:#bca175;box-shadow:0 0 0 3px #fff5}.cover-border img{mix-blend-mode:multiply}
.cover-inside{transform:rotateY(180deg) translateZ(1px);background:linear-gradient(270deg,#bcad91,#f5ecdc 7%,#f9f2e5 76%,#e8dcc5);padding:10%;display:flex;flex-direction:column;align-items:center;text-align:center;box-shadow:0 1px 0 #a19379,1px 0 0 #c8b798}
.inside-flourish{font:clamp(13px,2vw,28px)/1 var(--serif);color:#9e7d4e;margin:21% 0 12%}.cover-inside strong{font:italic clamp(14px,1.7vw,25px)/1.16 var(--serif);color:#504632}.cover-inside p{font:clamp(6px,.7vw,10px)/1.7 var(--body);color:#827356;margin-top:15%}
.menu-cast-shadow{position:absolute;left:40%;top:18%;width:39%;height:51%;border-radius:3px;background:linear-gradient(90deg,#39312766,#39312708);transform-origin:left center;transform:translateZ(1px) rotateZ(17deg);filter:blur(10px);opacity:0;pointer-events:none}
.table-coaster{background:radial-gradient(ellipse at 75% 20%,#fff5,transparent 70%),repeating-conic-gradient(#7b603a09 0deg 2deg,transparent 2deg 8deg),#e0cfaa;border:3px double #a28b61;box-shadow:0 1px 0 #c1a478,0 3px 0 #927a50,-2px 4px 3px #473b2c40,-5px 9px 8px #55493324;color:#805e39;transform:translateZ(4px) rotateZ(23deg)}
.table-tag{color:#795d3c}
.table-rim,.table-sheen{opacity:var(--material-opacity)}
/* The baked surface already includes daylight. Avoid repainting a large live
   gradient during every camera tick, and promote only leaf opacity layers. */
.table-sheen{display:none}
.stone-texture{will-change:transform}
.menu-book{will-change:transform}
.paper-napkin,.table-coaster,.menu-cast-shadow{will-change:transform,opacity}
.table-rim,.menu-back::after,.cover-front::after{will-change:opacity}
@media(min-width:741px){.table-tag{display:none}}
@media(max-width:740px){.table-surface{border-width:2px;box-shadow:0 0 0 1px #b2b7a3,inset 0 0 14px #1b24232b}.table-rim{mask:radial-gradient(closest-side,transparent calc(100% - 10px),#000 calc(100% - 9px))}.table-depth{box-shadow:0 2px 0 #253033,3px 17px 21px -10px #292d2c55,9px 28px 29px -17px #34312830}.menu-back{padding:10% 10% 7%;gap:0}.cover-border{padding:10px 5px}.menu-back strong{font-size:12px}.page-kicker{font-size:4px}.printed-row>span{font-size:6px}.page-number{font-size:3.5px}.inside-flourish{font-size:17px}.cover-inside strong{font-size:14px}.cover-inside p{font-size:6px}.menu-cast-shadow{filter:blur(5px)}.paper-napkin span{background-size:auto,15px 15px}}
