:root{--like:#16a34a;--nope:#dc2626;--ink:#1a1a1a;--bg:#faf7f2}*{box-sizing:border-box}body{margin:0;font-family:system-ui,-apple-system,Noto Sans Thai,sans-serif;background:var(--bg);color:var(--ink)}.screen{min-height:100dvh;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:20px;max-width:520px;margin:0 auto;text-align:center}.landing h1{font-size:1.8rem;line-height:1.2}.landing p{opacity:.8}.cta{margin-top:20px;padding:14px 28px;font-size:1.1rem;border:0;border-radius:999px;background:var(--ink);color:#fff;cursor:pointer}.lang{position:absolute;top:14px;right:14px;background:#fff;border:1px solid #ddd;border-radius:999px;padding:6px 12px;cursor:pointer}.swiping{justify-content:flex-start;padding-top:14px}.topbar{width:100%;display:flex;align-items:center;gap:12px;margin-bottom:16px;position:relative}.progress{flex:1;height:14px;background:#eee;border-radius:999px;position:relative;overflow:hidden}.progress-bar{height:100%;background:var(--like);transition:width .3s ease}.progress-label{position:absolute;inset:0;font-size:10px;display:grid;place-items:center;font-weight:600}.deck{width:100%;flex:1;display:grid;place-items:center;min-height:60vh}.card{width:100%;max-width:360px;background:#fff;border-radius:20px;box-shadow:0 10px 30px #0000001f;overflow:hidden;touch-action:pan-y;user-select:none}.card-photo{position:relative;aspect-ratio:4/3;display:grid;place-items:center;background:linear-gradient(135deg,#efe9df,#e3dccd)}.card-photo img{width:100%;height:100%;object-fit:cover;display:block}.card-noimg{display:grid;place-items:center;width:100%;height:100%}.noimg-emoji{font-size:4.6rem;filter:drop-shadow(0 4px 10px rgba(0,0,0,.12))}.card-photo[data-cat=Drinks]{background:linear-gradient(135deg,#e9dfd2,#d8c3a5)}.card-photo[data-cat=Cakes]{background:linear-gradient(135deg,#f3e4e7,#e7c9cf)}.card-photo[data-cat="Tarts & Quiches"]{background:linear-gradient(135deg,#f2e9d8,#e6cfa3)}.card-photo[data-cat=Viennoiseries]{background:linear-gradient(135deg,#f6ecd6,#efd9a8)}.card-photo[data-cat="Brunch & Eggs"]{background:linear-gradient(135deg,#fdf3d8,#f6e0a8)}.card-photo[data-cat="Bowls & Wellness"]{background:linear-gradient(135deg,#e6f0e0,#c7e0be)}.card-photo[data-cat=Salads]{background:linear-gradient(135deg,#e7f1df,#c9e3b8)}.card-photo[data-cat=Soups]{background:linear-gradient(135deg,#f6e7d6,#eccba0)}.card-photo[data-cat="Poke Bowls"]{background:linear-gradient(135deg,#e2edf0,#bcd6dd)}.card-photo[data-cat="Cookies & Brownies"]{background:linear-gradient(135deg,#eee1d4,#d8bd9c)}.card-photo[data-cat=Miniatures]{background:linear-gradient(135deg,#f2e6ef,#ddc4d6)}.cat-badge{position:absolute;top:12px;left:12px;background:#ffffffeb;color:#333;font-size:.7rem;font-weight:700;letter-spacing:.02em;padding:5px 10px;border-radius:999px;text-transform:uppercase;box-shadow:0 2px 6px #0000001a}.cat-badge b{font-weight:500;opacity:.6;text-transform:none}.stamp{position:absolute;top:16px;padding:6px 14px;border:3px solid;border-radius:8px;font-weight:800;font-size:1.4rem;text-transform:uppercase;z-index:2}.stamp-like{right:16px;color:var(--like);border-color:var(--like);transform:rotate(12deg)}.stamp-nope{left:16px;color:var(--nope);border-color:var(--nope);transform:rotate(-12deg)}.card-body{padding:16px;text-align:left}.card-head{display:flex;align-items:baseline;gap:8px;justify-content:space-between}.card-head h2{margin:0;font-size:1.25rem;line-height:1.25}.size-pill{flex:none;background:#f0ece5;color:#6b6355;font-size:.72rem;font-weight:700;padding:4px 9px;border-radius:999px;white-space:nowrap}.tags{display:flex;gap:6px;margin:8px 0 2px;flex-wrap:wrap}.tag{background:#eef3ea;color:#3f5c34;font-size:.72rem;font-weight:700;padding:3px 8px;border-radius:6px}.card-body p{margin:8px 0 10px;opacity:.75;font-size:.95rem}.card-price{font-weight:800;font-size:1.35rem}.actions{display:flex;gap:28px;padding:20px 0 30px}.btn{width:66px;height:66px;border-radius:50%;border:0;font-size:1.6rem;cursor:pointer;box-shadow:0 4px 14px #00000026}.btn-nope{background:#fff;color:var(--nope)}.btn-like{background:var(--like);color:#fff}.done h1{font-size:1.6rem}.muted{opacity:.6}@media(prefers-reduced-motion:reduce){.card,.progress-bar{transition:none!important}}
