*,*: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:Poiret One;font-style:normal;font-weight:400;font-display:swap;src:url(fonts/poiret-one-latin-400-normal.woff2) format("woff2")}@font-face{font-family:Josefin Sans;font-style:normal;font-weight:400;font-display:swap;src:url(fonts/josefin-sans-latin-400-normal.woff2) format("woff2")}@font-face{font-family:Josefin Sans;font-style:italic;font-weight:400;font-display:swap;src:url(fonts/josefin-sans-latin-400-italic.woff2) format("woff2")}@font-face{font-family:Josefin Sans;font-style:normal;font-weight:600;font-display:swap;src:url(fonts/josefin-sans-latin-600-normal.woff2) format("woff2")}:root{color-scheme:dark;--bg:#0f1416;--card:#162024;--ink:#efe6d4;--muted:#ada391;--line:#2c3a3e;--accent:#c9a45c;--accent-ink:#0f1416;--wine:#8c2a3a;--open:#9ccf9f;--closed:#d98a7b;--spicy:#e0876a;--font-display:"Poiret One","Josefin Sans",sans-serif;--font-body:"Josefin Sans",system-ui,sans-serif;--radius:0;--maxw:34rem;--step:polygon(0 9%,10% 9%,10% 5%,22% 5%,22% 0,78% 0,78% 5%,90% 5%,90% 9%,100% 9%,100% 100%,0 100%)}body{font-size:16px;letter-spacing:.01em}.hero{text-align:center;padding:3rem 1.4rem 1.8rem}.hero-orn{width:2.6rem;height:2.6rem;margin:0 auto 1.2rem;border-radius:50%;box-shadow:inset -.75rem .15rem 0 0 var(--accent)}.kicker{font-weight:600;font-size:.7rem;letter-spacing:.32em;text-transform:uppercase;color:var(--accent)}.brand{font-size:clamp(3.4rem,17vw,5rem);line-height:1;margin-top:.8rem;letter-spacing:.06em}.tagline{font-style:italic;color:var(--muted);max-width:19rem;margin:.9rem auto 0}.hours{display:inline-block;margin-top:1.1rem}.hours summary{font-size:.85rem;letter-spacing:.06em}.hours ul{margin-left:0}.acts{justify-content:center;gap:.5rem}.act{border:1px solid var(--accent);border-radius:0;font-size:.78rem;letter-spacing:.14em;text-transform:uppercase;padding:.55rem 1rem}.act:first-child{background:var(--accent);color:var(--accent-ink)}.lang button[aria-pressed=true]{color:var(--accent)}.cover{width:min(66vw,16rem);aspect-ratio:4/5;margin:2rem auto 0;clip-path:var(--step)}.cover{background:var(--accent);padding:1.5px}.cover img{clip-path:var(--step)}.cats{background:var(--bg);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.cats-in{justify-content:safe center;padding:.2rem .8rem}.cats a{font-size:.72rem;font-weight:600;letter-spacing:.2em;text-transform:uppercase;color:var(--muted);padding:.85rem .65rem;border-radius:0}.cats a[aria-current]{background:none;color:var(--accent)}.search{border-radius:0;border-color:var(--line);background:var(--card)}.search input::placeholder{color:var(--muted)}.chip{border-radius:0;border-color:var(--line);font-size:.74rem;letter-spacing:.1em;text-transform:uppercase;background:var(--card)}.stale{background:var(--card)}.cat{text-align:center;padding-top:2.8rem}.cat-head{justify-content:center;gap:.8rem}.cat-head:before,.cat-head:after{content:"";width:2.2rem;height:5px;border-top:1px solid var(--accent);border-bottom:1px solid var(--accent);align-self:center}.cat-head h2{font-size:1.9rem;letter-spacing:.08em}.cat-note{font-style:italic;font-size:.9rem;max-width:22rem;margin:.6rem auto 0}.items{margin-top:1.2rem}.item{flex-direction:column;align-items:center;gap:.7rem;border-top:0;padding:1rem 0}.item+.item:before{content:"";width:5px;height:5px;background:var(--accent);transform:rotate(45deg);opacity:.6;margin:-1rem 0 .3rem}.ph{width:92px;height:115px;clip-path:var(--step)}.line{flex-direction:column;align-items:center;gap:.35rem}.name{font-weight:600;font-size:1rem;letter-spacing:.18em;text-transform:uppercase}.dots{display:none}.price{color:var(--accent);font-weight:400;font-size:1.05rem;letter-spacing:.06em;order:3}.price-multi{flex-direction:row;gap:1rem}.pv{display:flex;flex-direction:column;align-items:center}.price-multi small{color:var(--muted);font-size:.66rem;letter-spacing:.14em;text-transform:uppercase}.badges{order:2}.desc{font-style:italic;font-size:.95rem;max-width:20rem;margin:.3rem auto 0}.allergens{font-size:.72rem}.badge{border-radius:0;color:var(--accent);border-color:#c9a45c99}.b-new,.b-popular{background:var(--wine);color:var(--ink)}.out{color:var(--closed)}.feat{text-align:center;padding-top:2.4rem}.feat-h{font-size:1.5rem;letter-spacing:.08em}.feat-list .item{flex-basis:52%;max-width:12rem;padding:0}.feat-list .item:before{display:none}.feat-list .ph{width:100%;height:auto;aspect-ratio:4/5}.feat-list .desc,.feat-list .badges{display:none}.foot{text-align:center;border-top:1px solid var(--line);background:var(--card)}.f-block h2{justify-content:center;color:var(--accent);letter-spacing:.24em}.f-wifi code{background:var(--bg)}
