/* All You Can Eat Sydney: a mate's food diary / Australian food mag. Warm paper, charcoal ink, eucalyptus + clay.
   Fraunces (headings), Source Serif 4 (text), Inter (UI), Caveat for the odd handwritten note. Self-hosted fonts.
   Performance: flat 1px edges only (no blurred shadows, filters or rotations inside the pager); photos sized + async. */
:root{--paper:#f7f3ec;--card:#fffdf8;--ink:#2b2a27;--muted:#6d675e;--gum:#5f7a68;--clay:#b5603e;--rule:#ddd5c8;--soft:#efe9df}
@media (prefers-color-scheme:dark){:root{--paper:#1c1b19;--card:#252421;--ink:#ece6dc;--muted:#b4ac9f;--gum:#9bb5a2;--clay:#d98a68;--rule:#3a3833;--soft:#2a2926}
 img{opacity:.92}}
*{box-sizing:border-box}html,body{margin:0;height:100%}
body{background:var(--paper);color:var(--ink);font-family:'Source Serif 4',Georgia,serif;font-size:18px;line-height:1.55;-webkit-text-size-adjust:100%}
a{color:var(--clay)}img{max-width:100%;height:auto}
.mast{padding:14px 16px 10px;border-bottom:1px solid var(--rule)}
.mast .t{font-family:Fraunces,Georgia,serif;font-weight:600;color:var(--ink);font-size:clamp(28px,7.5vw,44px);line-height:1.05;display:block;text-decoration:none;letter-spacing:-.01em}
.mast .ed{display:flex;flex-wrap:wrap;gap:4px 14px;margin-top:6px;font:500 12.5px/1.3 Inter,system-ui,sans-serif;color:var(--muted)}
.mast .ed span:first-child{color:var(--gum);font-weight:600}.mast .ed a{margin-left:auto;color:var(--muted);text-decoration:none}
.wrap{max-width:760px;margin:0 auto;padding-bottom:28px;overflow-x:clip}
h1,h2,h3{font-family:Fraunces,Georgia,serif;font-weight:600;line-height:1.15;letter-spacing:-.005em}
h2.head,h1.head{font-size:clamp(26px,6.4vw,38px);margin:12px 16px 6px}
.sec{font-size:28px;margin:18px 16px 6px;color:var(--ink)}
.kick{font:600 12px/1 Inter,system-ui,sans-serif;letter-spacing:.08em;text-transform:uppercase;color:var(--gum);margin:18px 16px 0}
.dek{margin:0 16px;color:var(--muted)}
.hand{margin:16px;font-family:Caveat,cursive;font-size:25px;line-height:1.2;color:var(--clay)}
.menu{margin:14px 16px;padding:12px 14px;background:var(--card);border:1px solid var(--rule);border-radius:6px}
.menu h3{margin:2px 0 8px;font-size:20px}.sub-h{font-size:18px;margin:14px 0 4px;color:var(--gum)}
.row{display:flex;gap:6px;align-items:baseline;text-decoration:none;color:inherit;padding:3px 0}.row .d{flex:1;border-bottom:1px dotted var(--muted);transform:translateY(-4px);min-width:12px;opacity:.6}
.row .n{font-family:Fraunces,Georgia,serif;font-weight:600;font-size:17px}
.sub{font:500 13.5px/1.35 Inter,system-ui,sans-serif;color:var(--muted);margin:1px 0 0}
.chips{display:flex;flex-wrap:wrap;gap:6px;margin:8px 16px}.chips button{font:500 14px Inter,system-ui,sans-serif;background:var(--card);border:1px solid var(--rule);color:var(--ink);border-radius:999px;padding:4px 12px;min-height:34px}.chips button[aria-pressed=true]{background:var(--gum);border-color:var(--gum);color:#fff}
.ent{display:flex;gap:12px;align-items:center;margin:6px 0 10px;text-decoration:none;color:inherit}.ent img{width:72px;height:72px!important;object-fit:cover;border-radius:4px;flex:none}.ent>div{flex:1;min-width:0}
.draft{display:inline-block;font:600 10.5px/1.6 Inter,system-ui,sans-serif;letter-spacing:.08em;border:1px solid var(--clay);color:var(--clay);padding:0 5px;margin-left:4px;vertical-align:middle;border-radius:3px}
.frame{display:block;width:calc(100% - 32px);margin:14px 16px;object-fit:cover;border-radius:4px}
.hero{aspect-ratio:4/3}
.grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;margin:12px 16px}.grid3 img{width:100%;aspect-ratio:1;object-fit:cover;display:block;border-radius:3px}
.body p{margin:10px 16px}.box .body p{margin:8px 0}
.body h2{color:var(--gum);font-size:21px;margin:18px 16px 4px}
.box{margin:12px 16px;background:var(--card);border:1px solid var(--rule);border-radius:6px;padding:10px 14px}.box .sec{font-size:20px;margin:2px 0;color:var(--gum)}
.gtk{margin:16px;background:var(--soft);padding:12px 16px;border-left:3px solid var(--gum);border-radius:0 6px 6px 0}.gtk h3{margin:0 0 6px;font-size:20px}
.gtk .row{font-size:16px;flex-wrap:nowrap}.gtk .row span:first-child{font:600 13px Inter,system-ui,sans-serif;color:var(--muted)}.gtk .row span:last-child{text-align:right;max-width:62%;overflow-wrap:anywhere}
.note{font:500 13.5px/1.4 Inter,system-ui,sans-serif;color:var(--muted);margin:8px 16px}
.foot{font:500 13.5px Inter,system-ui,sans-serif;color:var(--gum);padding:10px 16px}
.btn{display:block;margin:10px 16px;padding:12px;text-align:center;background:var(--card);border:1px solid var(--rule);border-radius:6px;font:600 16px Inter,system-ui,sans-serif;color:var(--ink);text-decoration:none}
.btn.f{background:var(--gum);border-color:var(--gum);color:#fff}
/* photos: plain, natural framing; the odd print with a white border (no rotation, no shadow) */
.wall{margin:12px 16px;display:grid;grid-template-columns:repeat(2,1fr);gap:8px}
@media(min-width:700px){.wall{grid-template-columns:repeat(3,1fr)}}
.wall button{border:0;padding:0;background:none;cursor:zoom-in;display:block}
.ph img{width:100%;aspect-ratio:4/5;object-fit:cover;display:block;border-radius:3px}
.pol{background:#fff;padding:6px 6px 18px;border:1px solid var(--rule)}.pol img{width:100%;aspect-ratio:1;object-fit:cover;display:block}
/* videos (click-to-load facade) / reading */
.vid{margin:14px 16px}.vid .yt{position:relative;aspect-ratio:16/9;background:#000;border-radius:6px;overflow:hidden}.vid iframe,.vid .yt a{position:absolute;inset:0;width:100%;height:100%;border:0}
.vid .yt a img{width:100%;height:100%;object-fit:cover}.vid .yt a span{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);background:rgba(181,96,62,.92);color:#fff;border-radius:50%;width:60px;height:60px;display:grid;place-items:center;font-size:24px}
.vid p{margin:6px 0;font-size:16px}
.read{margin:12px 16px}.read blockquote{margin:6px 0;font-style:italic;border-left:2px solid var(--gum);padding-left:10px}.rt{font-family:Fraunces,Georgia,serif;font-weight:600;font-size:19px;text-decoration:none}
/* pager: native scroll-snap, nothing per frame (pager.js) */
body.paged{overflow:hidden}
#paper{position:fixed;inset:0 0 52px 0;display:flex;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;scrollbar-width:none;overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch;touch-action:pan-x pan-y}
#paper::-webkit-scrollbar{display:none}
#paper>.page{flex:0 0 100%;width:100%;height:100%;overflow-y:auto;overflow-x:hidden;scroll-snap-align:start;scroll-snap-stop:always;overscroll-behavior-y:contain;touch-action:pan-x pan-y;contain:layout paint;background:var(--paper);box-shadow:-1px 0 0 var(--rule)}
.pager{position:fixed;left:0;right:0;bottom:0;height:52px;padding-bottom:env(safe-area-inset-bottom);display:flex;align-items:center;justify-content:space-between;background:var(--paper);border-top:1px solid var(--rule);z-index:5}
.pager button{font:inherit;background:none;border:0;color:var(--ink);min-width:48px;height:48px;font-size:20px}.pager button:disabled{opacity:.3}
#pg-mid{flex:1;font:500 13px Inter,system-ui,sans-serif;display:flex;flex-direction:column;align-items:center;gap:3px}.dots{display:flex;gap:4px}.dots i{width:6px;height:6px;border-radius:50%;background:var(--muted);opacity:.3}.dots i.on{opacity:1;background:var(--clay)}
#toc-pop{position:fixed;bottom:60px;left:50%;transform:translateX(-50%);background:var(--card);border:1px solid var(--rule);border-radius:8px;padding:8px 16px;z-index:6;min-width:250px}
#toc-pop a{display:block;padding:7px 0;text-decoration:none;font:500 15px Inter,system-ui,sans-serif;color:var(--ink)}
/* photo sheet */
#sheet{position:fixed;inset:0;z-index:9;background:rgba(0,0,0,.88);display:flex;align-items:center;justify-content:center;flex-direction:column}#sheet[hidden]{display:none}
#sheet img{max-width:96vw;max-height:80vh;border-radius:4px;opacity:1}#sheet p{color:#f2ede4;margin:8px;font:500 14px Inter,system-ui,sans-serif}#sheet button{position:absolute;top:10px;right:10px;font-size:28px;background:none;border:0;color:#fff;min-width:48px;min-height:48px}
.skip{position:absolute;left:-999px}.skip:focus{left:8px;top:8px;z-index:20;background:#fff;padding:6px}
@media(min-width:700px){.split{display:grid;grid-template-columns:1.3fr 1fr;gap:6px;align-items:start}}
.body.dc>p:first-of-type::first-letter{font-family:Fraunces,Georgia,serif;font-weight:600;float:left;font-size:54px;line-height:.9;color:var(--clay);padding:4px 8px 0 0}
