:root{--linen:#FBF5E6;--red:#C8423B;--olive:#6B7B3A;--amber:#E0A23A;--ink:#3a2a1e;}
body{margin:0;background:var(--linen);color:var(--ink);font-family:'Playfair Display',serif;
background-image:radial-gradient(rgba(120,90,50,.06) 1px,transparent 1px);background-size:5px 5px;}
.hand{font-family:'Caveat',cursive}
.mono{font-family:'IBM Plex Mono',monospace}
.gingham{background-color:#fff;background-image:linear-gradient(90deg,rgba(200,66,59,.55) 50%,transparent 50%),linear-gradient(rgba(200,66,59,.55) 50%,transparent 50%);background-size:28px 28px}
.card{background:#fffaf0;border:1px solid #e3d5b8;box-shadow:0 6px 20px -10px rgba(80,50,20,.35);border-radius:6px}
.menu-border{border:3px double var(--olive);outline:1px solid var(--olive);outline-offset:6px}
@keyframes steam{0%{transform:translateY(0) scaleX(1);opacity:0}30%{opacity:.7}100%{transform:translateY(-40px) scaleX(1.4);opacity:0}}
.steam{animation:steam 3s ease-in infinite}
@keyframes flicker{0%,100%{opacity:1}50%{opacity:.82}}
.flicker{animation:flicker 2.3s infinite}
@keyframes rise{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}
.rise{animation:rise .7s both}
.btn{background:var(--red);color:#fff;padding:.5rem 1rem;border-radius:4px;font-weight:700;transition:transform .15s}
.btn:hover{transform:translateY(-2px)}
.btn2{border:2px solid var(--olive);color:var(--olive);padding:.4rem .9rem;border-radius:4px;font-weight:700}
@keyframes ghost{0%{opacity:0;transform:scale(.8)}15%,85%{opacity:1;transform:scale(1)}100%{opacity:0}}
.ghost{animation:ghost 7s forwards}