*,*:before,*:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:4.5rem}body{margin:0;background:var(--bg);color:var(--ink);font:400 16px/1.5 var(--font-body);-webkit-font-smoothing:antialiased}img{max-width:100%;display:block}button,input{font:inherit;color:inherit}a{color:inherit}h1,h2,h3{margin:0;font-weight:inherit}ul{margin:0;padding:0;list-style:none}p{margin:0}.vh{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.ic{width:1.15em;height:1.15em;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;flex:none}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}#app{max-width:var(--maxw,40rem);margin:0 auto;min-height:100vh}.boot{display:flex;gap:.5rem;justify-content:center;padding:40vh 0}.boot span{width:.5rem;height:.5rem;border-radius:50%;background:var(--muted);opacity:.4;animation:boot 1s infinite alternate}.boot span:nth-child(2){animation-delay:.2s}.boot span:nth-child(3){animation-delay:.4s}@keyframes boot{to{opacity:1}}.hero{position:relative;padding:2.5rem 1.25rem 1.5rem}.brand{font-family:var(--font-display);line-height:1}.brand-logo img{max-height:90px;width:auto}.tagline{margin-top:.6rem;color:var(--muted)}.hours{margin-top:1rem;font-size:.92rem}.hours summary{display:inline-flex;align-items:center;gap:.45rem;cursor:pointer;list-style:none}.hours summary::-webkit-details-marker{display:none}.hours summary:after{content:"";width:.4rem;height:.4rem;border:solid currentColor;border-width:0 1.5px 1.5px 0;transform:rotate(45deg) translateY(-2px);margin-left:.2rem}.hours[open] summary:after{transform:rotate(-135deg)}.hours ul{margin:.5rem 0 0 1.6rem;color:var(--muted)}.hours li.today{color:var(--ink);font-weight:600}.st{display:inline-flex;align-items:center;gap:.4rem;font-weight:600}.st:before{content:"";width:.5rem;height:.5rem;border-radius:50%;background:var(--open,#2f7d4a);box-shadow:0 0 0 3px color-mix(in srgb,var(--open,#2f7d4a) 22%,transparent)}.st.is-closed:before{background:var(--closed,#a3412f);box-shadow:0 0 0 3px color-mix(in srgb,var(--closed,#a3412f) 22%,transparent)}.st-sub{color:var(--muted)}.st-sub:before{content:"\b7";margin-right:.35rem}.cover{position:relative}.cover img{width:100%;height:100%;object-fit:cover}.stamp{display:inline-flex;align-items:center;justify-content:center;text-align:center}.acts{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:1.1rem}.act{display:inline-flex;align-items:center;gap:.4rem;padding:.5rem .8rem;min-height:44px;text-decoration:none;font-size:.9rem;border:1px solid var(--line);border-radius:var(--radius)}.cats{position:sticky;top:0;z-index:5;background:var(--bg)}.cats-in{display:flex;gap:.25rem;overflow-x:auto;scrollbar-width:none;padding:.6rem 1.25rem}.cats-in::-webkit-scrollbar{display:none}.cats a{flex:none;text-decoration:none;padding:.45rem .8rem;white-space:nowrap;border-radius:var(--radius)}.cats a[aria-current]{background:var(--accent);color:var(--accent-ink)}.tools{display:flex;gap:.45rem;align-items:center;padding:.7rem 1.25rem;overflow-x:auto;scrollbar-width:none}.tools::-webkit-scrollbar{display:none}.search{flex:0 0 9.5rem;transition:flex-basis .2s;min-width:0;display:flex;align-items:center;gap:.5rem;padding:0 .8rem;min-height:44px;border:1px solid var(--line);border-radius:var(--radius);background:var(--field,transparent)}.search input{flex:1;min-width:0;border:0;background:none;outline:none;padding:.6rem 0}.search:focus-within,.search:has(input:not(:placeholder-shown)){flex-basis:13rem;border-color:var(--accent)}.search .ic{opacity:.7}.lang{position:absolute;top:.6rem;right:.75rem;z-index:2;display:flex;gap:.1rem}.lang button{border:0;background:none;padding:0 .55rem;min-height:44px;min-width:40px;cursor:pointer;font-size:.75rem;font-weight:600;letter-spacing:.1em;color:var(--muted)}.lang button[aria-pressed=true]{color:var(--ink);text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:.35rem}.chip{flex:none;border:1px solid var(--line);background:none;border-radius:999px;padding:.35rem .85rem;min-height:44px;font-size:.85rem;cursor:pointer;white-space:nowrap}.chip[aria-pressed=true]{background:var(--accent);border-color:var(--accent);color:var(--accent-ink)}.stale{margin:0 1.25rem;padding:.6rem .8rem;font-size:.85rem;border-left:3px solid var(--accent);background:var(--card)}.menu{padding:0 1.25rem 2rem}.cat{padding-top:2rem}.cat-head{display:flex;align-items:baseline;gap:.6rem}.cat-head h2{font-family:var(--font-display)}.cat-no{display:none}.cat-note{margin-top:.4rem;color:var(--muted);font-size:.92rem}.items{margin-top:.9rem}.item{display:flex;gap:.9rem;padding:.9rem 0;border-top:1px solid var(--line)}.item:first-child{border-top:0}.ph{flex:none;width:88px;height:88px;overflow:hidden;background:var(--card)}.ph img{width:100%;height:100%;object-fit:cover}.body{flex:1;min-width:0}.line{display:flex;align-items:baseline;gap:.4rem}.name{font-weight:600;font-size:1.02rem;line-height:1.3}.dots{flex:1}.price{flex:none;font-variant-numeric:tabular-nums;font-weight:600}.price-multi{display:flex;flex-direction:column;align-items:flex-end;line-height:1.35}.price small{font-weight:400;color:var(--muted);font-size:.78em}.desc{margin-top:.2rem;color:var(--muted);font-size:.92rem}.allergens{margin-top:.3rem;font-size:.78rem;color:var(--muted)}.badges{display:inline-flex;gap:.25rem;align-self:center}.badge{display:inline-flex;align-items:center;justify-content:center;min-width:1.5rem;height:1.25rem;padding:0 .3rem;font-size:.66rem;font-weight:700;letter-spacing:.03em;text-decoration:none;border:1px solid currentColor;border-radius:4px;color:var(--muted);cursor:help}.b-spicy{border:0;color:var(--spicy,#c2410c);padding:0;min-width:0}.b-new,.b-popular{border:0;background:var(--accent);color:var(--accent-ink);font-size:.62rem;text-transform:uppercase}.is-out .name,.is-out .desc,.is-out .price{opacity:.6}.is-out .name{text-decoration:line-through;text-decoration-thickness:1px}.is-out .ph img{filter:grayscale(1);opacity:.5}.out{display:inline-block;margin-top:.35rem;font-size:.72rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--accent)}.empty{padding:3rem 0;text-align:center;color:var(--muted)}.linkbtn{border:0;background:none;text-decoration:underline;cursor:pointer;padding:.5rem}.feat{padding-top:1.5rem}.feat-h{font-family:var(--font-display)}.feat-list{display:flex;gap:.9rem;overflow-x:auto;scrollbar-width:none;margin:0 -1.25rem;padding:.9rem 1.25rem .25rem;scroll-snap-type:x mandatory;scroll-padding-inline:1.25rem}.feat-list::-webkit-scrollbar{display:none}.feat-list .item{flex:0 0 72%;max-width:17rem;flex-direction:column;border:0;padding:0;scroll-snap-align:start}.feat-list .ph{width:100%;height:auto;aspect-ratio:4/3}.feat-list .allergens{display:none}.foot{padding:2rem 1.25rem 3rem;border-top:1px solid var(--line);display:grid;gap:1.4rem;font-size:.92rem}.f-block h2{display:flex;gap:.4rem;align-items:center;font-size:.75rem;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);margin-bottom:.35rem}.f-wifi code{font-family:ui-monospace,Menlo,monospace;padding:.1rem .35rem;background:var(--card);border-radius:4px}.f-wifi span{color:var(--muted)}.f-note,.f-legend{color:var(--muted);font-size:.82rem}.f-legend .badge{vertical-align:middle;margin-right:.15rem}.offline{padding:30vh 1.5rem 0;text-align:center}.offline button{margin-top:1rem;padding:.7rem 1.4rem;border:1px solid var(--ink);background:none;border-radius:var(--radius);cursor:pointer}.offline .err{margin-top:1.5rem;font-size:.75rem;color:var(--muted)}@media(min-width:44rem){.hero{padding-top:4rem}.ph{width:110px;height:110px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{animation:none!important}}@font-face{font-family:Bricolage Grotesque;font-style:normal;font-weight:800;font-display:swap;src:url(fonts/bricolage-grotesque-latin-800-normal.woff2) format("woff2")}@font-face{font-family:Bricolage Grotesque;font-style:normal;font-weight:600;font-display:swap;src:url(fonts/bricolage-grotesque-latin-600-normal.woff2) format("woff2")}@font-face{font-family:Rubik;font-style:normal;font-weight:400;font-display:swap;src:url(fonts/rubik-latin-400-normal.woff2) format("woff2")}@font-face{font-family:Rubik;font-style:normal;font-weight:500;font-display:swap;src:url(fonts/rubik-latin-500-normal.woff2) format("woff2")}:root{color-scheme:dark;--bg:#17120f;--card:#221a15;--ink:#f5ead9;--muted:#bba892;--line:#3a2e25;--accent:#ff6a2b;--accent-ink:#17120f;--saffron:#f2b544;--open:#7fd391;--closed:#ff6a2b;--spicy:#ff7a45;--font-display:"Bricolage Grotesque",system-ui,sans-serif;--font-body:"Rubik",system-ui,sans-serif;--radius:8px;--maxw:38rem;--kilim:linear-gradient(135deg,var(--accent) 25%,transparent 25%) -9px 0/18px 18px,linear-gradient(225deg,var(--accent) 25%,transparent 25%) -9px 0/18px 18px,linear-gradient(315deg,var(--saffron) 25%,transparent 25%) 0 0/18px 18px,linear-gradient(45deg,var(--saffron) 25%,transparent 25%) 0 0/18px 18px,var(--bg)}body{font-size:15.5px}.hero{min-height:min(92vh,46rem);display:flex;flex-direction:column;justify-content:flex-end;padding:0 1.25rem 2rem;overflow:hidden;margin-bottom:18px}.hero:after{content:"";position:absolute;left:0;right:0;bottom:0;height:18px;background:var(--kilim)}.cover{position:absolute;inset:0;z-index:0}.cover img{height:100%;object-position:50% 30%}.cover:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(23,18,15,.15) 0,rgba(23,18,15,.25) 35%,rgba(23,18,15,.92) 72%,var(--bg) 100%)}.hero-in{position:relative;z-index:1;padding-bottom:.6rem}.hero:not(.has-cover){min-height:0;padding-top:3rem}.kicker{font:600 .74rem/1.3 var(--font-display);letter-spacing:.16em;text-transform:uppercase;color:var(--saffron)}.brand{font-weight:800;font-size:clamp(4rem,24vw,7rem);line-height:.85;letter-spacing:-.035em;margin-top:.4rem}.tagline{color:#e2d4c0;font-size:1.02rem;max-width:22rem;margin-top:.8rem}.hours{margin-top:1rem}.hours summary{background:#00000073;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);border-radius:999px;padding:.45rem .9rem;font-size:.86rem}.acts{gap:.4rem}.act{border:1px solid rgba(245,234,217,.5);border-radius:999px;font-weight:500;background:#00000059}.act:first-child{background:var(--accent);border-color:var(--accent);color:var(--accent-ink);font-weight:500}.lang{z-index:2}.lang button{color:#d8c8b2}.lang button[aria-pressed=true]{color:var(--saffron)}.cats{background:var(--bg);border-bottom:1px solid var(--line)}.cats-in{padding:.3rem .8rem;gap:.2rem}.cats a{font:600 .95rem/1 var(--font-display);color:var(--muted);padding:.75rem .6rem;border-radius:0;border-bottom:3px solid transparent}.cats a[aria-current]{background:none;color:var(--ink);border-bottom-color:var(--accent)}.search{background:var(--card);border-color:var(--line)}.search input::placeholder{color:var(--muted)}.chip{border-color:var(--line);background:var(--card);font-size:.82rem}.chip[aria-pressed=true]{color:var(--accent-ink)}.stale{background:var(--card)}.cat{padding-top:2.4rem}.cat-head{gap:.6rem;align-items:center}.cat-head:before{content:"";width:.7rem;height:.7rem;background:var(--accent);transform:rotate(45deg);flex:none}.cat-head h2{font-weight:800;font-size:1.9rem;letter-spacing:-.02em;text-transform:uppercase}.cat-note{font-size:.9rem;margin-top:.45rem}.items{margin-top:.8rem}.item{border-top-color:var(--line);padding:1rem 0;gap:1rem}.ph{order:2;width:112px;height:84px;border-radius:var(--radius)}.name{font:600 1.15rem/1.2 var(--font-display)}.dots{display:none}.price{color:var(--saffron);font:800 1.1rem/1.2 var(--font-display);margin-left:auto}.price-multi small{color:var(--muted)}.desc{font-size:.9rem}.badge{color:var(--saffron);border-color:#f2b54499}.b-new,.b-popular{background:var(--saffron);color:var(--accent-ink)}.out{color:var(--accent)}.is-out .ph img{opacity:.35}.feat{padding-top:1.8rem}.feat-h{font-weight:800;font-size:1.5rem;text-transform:uppercase;letter-spacing:-.01em}.feat-list .item{flex-basis:82%;max-width:20rem;position:relative;border-radius:var(--radius);overflow:hidden}.feat-list .ph{aspect-ratio:5/4;border-radius:0}.feat-list .body{position:absolute;left:0;right:0;bottom:0;padding:2.6rem .9rem .8rem;background:linear-gradient(transparent,#0f0b09eb)}.feat-list .desc,.feat-list .badges{display:none}.foot{background:var(--card);border-top:0;margin-top:2.4rem;position:relative}.foot:before{content:"";position:absolute;left:0;right:0;top:0;height:10px;background:var(--kilim);background-size:10px 10px}.f-block h2{color:var(--saffron)}.f-wifi code{background:var(--bg)}
