:root{--bg: #f5f5f2;--surface: #ffffff;--text: #141414;--muted: #6b6b66;--accent: #141414;--on-accent: #ffffff;--line: rgba(20, 20, 20, .08);--heading: inherit;--radius: 20px;--column: 720px;--gutter: max(16px, calc((100% - var(--column)) / 2))}body{--bg: var(--l-bg, #f5f5f2);--surface: var(--l-surface, #ffffff);--text: var(--l-text, #141414);--muted: var(--l-muted, #6b6b66);--accent: var(--l-accent, #141414);--on-accent: var(--l-on-accent, #ffffff);--line: rgba(20, 20, 20, .08);color-scheme:light}body[data-mode=dark]{--bg: var(--d-bg);--surface: var(--d-surface);--text: var(--d-text);--muted: var(--d-muted);--accent: var(--d-accent);--on-accent: var(--d-on-accent);--line: rgba(255, 255, 255, .1);color-scheme:dark}body[data-mode=dark] .banner{background:#3a2f12;color:#ffe7a6}*{box-sizing:border-box}[hidden]{display:none!important}body{margin:0;background:var(--bg);transition:background-color .3s,color .3s;color:var(--text);font:16px/1.45 system-ui,-apple-system,Segoe UI,Roboto,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;padding-bottom:calc(72px + env(safe-area-inset-bottom))}a{color:inherit}h1,h2{font-family:var(--heading);letter-spacing:-.01em}svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}.hero{position:relative;display:flex;flex-direction:column;justify-content:space-between;min-height:168px;padding:calc(12px + env(safe-area-inset-top)) var(--gutter) 20px;overflow:hidden}.hero.has-cover{min-height:260px;color:#fff}.cover{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.hero.has-cover:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,#00000059,#0000 35%,#000000b3)}.hero-bar,.hero-text{position:relative;z-index:1}.hero-bar{display:flex;justify-content:flex-end;gap:8px}.hero-text{display:grid;gap:12px;justify-items:start;margin-top:24px}.hero h1{margin:0;font-size:clamp(1.75rem,7vw,2.4rem);line-height:1.1;font-weight:700}.icon-button,.lang{display:inline-flex;align-items:center;gap:6px;height:40px;border:1px solid var(--line);border-radius:999px;background:color-mix(in srgb,var(--surface) 82%,transparent);color:var(--text);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);font:inherit;font-size:.9rem;font-weight:600}.icon-button{justify-content:center;width:40px;padding:0;cursor:pointer}.mode-light,body[data-mode=dark] .mode-dark{display:none}body[data-mode=dark] .mode-light{display:block}.lang{position:relative;padding:0 10px 0 12px}.lang-flag{font-size:1.1rem;line-height:1}.lang svg{width:16px;height:16px}.lang select{position:absolute;inset:0;width:100%;opacity:0;cursor:pointer;font-size:16px}.lang:focus-within{outline:3px solid var(--accent);outline-offset:2px}.order{display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:0 18px;border-radius:999px;background:var(--accent);color:var(--on-accent);font-weight:600;text-decoration:none;box-shadow:0 6px 20px #0000002e}.banner{margin:12px var(--gutter) 0;padding:10px 14px;border-radius:14px;background:#fff4d6;color:#5c4300;font-size:.9rem}.sticky{position:sticky;top:0;z-index:3;padding:12px 0 10px;background:color-mix(in srgb,var(--bg) 88%,transparent);backdrop-filter:saturate(1.4) blur(14px);-webkit-backdrop-filter:saturate(1.4) blur(14px);border-bottom:1px solid var(--line)}.tabs{display:flex;gap:8px;overflow-x:auto;padding:0 var(--gutter) 10px;scrollbar-width:none}.tabs::-webkit-scrollbar,.sections::-webkit-scrollbar{display:none}.tabs button{flex-shrink:0;min-height:40px;padding:0 18px;border:0;border-radius:999px;background:color-mix(in srgb,var(--text) 6%,transparent);color:var(--text);font:inherit;font-weight:600;cursor:pointer;transition:background .2s,color .2s}.tabs button[aria-selected=true]{background:var(--accent);color:var(--on-accent)}.tools{display:flex;gap:8px;padding:0 var(--gutter)}.search{display:flex;align-items:center;gap:8px;flex:1;min-width:0;height:44px;padding:0 14px;border-radius:14px;background:var(--surface);color:var(--muted);box-shadow:inset 0 0 0 1px var(--line)}.search input{flex:1;min-width:0;height:100%;border:0;background:transparent;color:var(--text);font:inherit;outline:none;text-overflow:ellipsis}.search:focus-within{box-shadow:inset 0 0 0 2px var(--accent)}.chip{display:inline-flex;align-items:center;gap:6px;height:44px;padding:0 14px;border:0;border-radius:14px;background:var(--surface);color:var(--text);box-shadow:inset 0 0 0 1px var(--line);font:inherit;font-weight:600;cursor:pointer}#allergen-count:not(:empty){min-width:22px;padding:0 6px;border-radius:999px;background:var(--accent);color:var(--on-accent);font-size:.8rem;text-align:center}main{max-width:calc(var(--column) + 32px);margin:0 auto;padding:0 16px}.menu-desc,.section-desc{color:var(--muted);margin:16px 0 0}.section h2+.section-desc{margin:-4px 0 12px}.closed{margin:16px 0 0;padding:10px 14px;border-radius:14px;background:color-mix(in srgb,var(--accent) 10%,var(--surface));font-weight:600}.sections{display:flex;gap:6px;overflow-x:auto;margin:16px -16px 0;padding:0 16px;scrollbar-width:none}.sections a{flex-shrink:0;padding:6px 12px;border-radius:999px;color:var(--muted);font-size:.9rem;font-weight:600;text-decoration:none;box-shadow:inset 0 0 0 1px var(--line)}.sections a[aria-current=true]{color:var(--text);background:var(--surface);box-shadow:inset 0 0 0 1.5px var(--text)}.section{scroll-margin-top:132px}.section h2{font-size:1.4rem;margin:28px 0 12px}.section ul{list-style:none;margin:0;padding:0;display:grid;gap:12px}.item-open{display:flex;gap:14px;width:100%;padding:14px;border:0;border-radius:var(--radius);background:var(--surface);color:inherit;box-shadow:0 1px 2px #0000000a,0 6px 20px #0000000d,inset 0 0 0 1px var(--line);font:inherit;text-align:start;cursor:pointer;transition:transform .15s}.item-open:active{transform:scale(.985)}.item[data-sold] .item-open{opacity:.6}.item-text{display:grid;align-content:start;gap:6px;flex:1;min-width:0}.item-name{font-weight:650;font-size:1.02rem;line-height:1.3}.item-desc{color:var(--muted);font-size:.9rem;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.item-meta{display:flex;flex-wrap:wrap;align-items:center;gap:6px 10px;margin:2px 0 0}.prices{display:flex;flex-wrap:wrap;gap:4px 12px}.price{font-weight:700;color:var(--accent)}.price.variant span{color:var(--muted);font-weight:600}.badge{padding:2px 9px;border-radius:999px;background:color-mix(in srgb,var(--accent) 12%,transparent);color:var(--text);font-size:.78rem;font-weight:600}.badge.sold{background:var(--text);color:var(--bg)}.allergen-line{font-size:.82rem;color:var(--muted)}.muted{color:var(--muted)}.warn{color:#b45309}.small{font-size:.8rem}.thumb{width:104px;height:104px;border-radius:16px;object-fit:cover;flex-shrink:0;background:color-mix(in srgb,var(--text) 6%,transparent)}.sticky.stuck{box-shadow:0 8px 24px #00000014}.no-results{text-align:center;color:var(--muted);padding:32px 0}footer{max-width:var(--column);margin:40px auto 0;padding:0 16px;color:var(--muted);font-size:.85rem;text-align:center}.button{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:0 22px;border:0;border-radius:14px;background:var(--accent);color:var(--on-accent);font:inherit;font-weight:650;text-decoration:none;cursor:pointer}.button.secondary{background:color-mix(in srgb,var(--text) 7%,transparent);color:var(--text)}dialog.sheet{width:100%;max-width:640px;max-height:92dvh;margin:auto auto 0;padding:0;border:0;border-radius:28px 28px 0 0;background:var(--surface);color:var(--text);overflow:auto;overscroll-behavior:contain}dialog.sheet::backdrop{background:#00000080}@media(prefers-reduced-motion:no-preference){dialog.sheet[open]{animation:rise .28s cubic-bezier(.2,.8,.2,1)}.install-sheet:not([hidden]){animation:rise .35s cubic-bezier(.2,.8,.2,1)}}@keyframes rise{0%{transform:translateY(40px);opacity:0}}@media(prefers-reduced-motion:no-preference){@supports (animation-timeline: scroll()){.cover{animation:parallax linear both;animation-timeline:scroll(root);animation-range:0 320px}.hero-text{animation:hero-fade linear both;animation-timeline:scroll(root);animation-range:0 260px}}.menu:not([hidden]){animation:fade-up .35s ease both}.reveal .item{opacity:0;transform:translateY(14px);transition:opacity .45s ease,transform .45s cubic-bezier(.2,.8,.2,1)}.reveal .item.shown{opacity:1;transform:none}::view-transition-group(dish){animation-duration:.38s;animation-timing-function:cubic-bezier(.2,.8,.2,1)}}@keyframes parallax{to{transform:translateY(96px) scale(1.08)}}@keyframes hero-fade{to{opacity:.2;transform:translateY(-12px)}}@keyframes fade-up{0%{opacity:0;transform:translateY(10px)}}.sheet-body{padding:24px 20px calc(24px + env(safe-area-inset-bottom))}dialog h2{margin:0 44px 10px 0;font-size:1.45rem;line-height:1.2}.detail-desc{margin:0 0 12px;color:var(--muted)}.close{position:sticky;top:12px;float:right;z-index:1;display:grid;place-items:center;width:40px;height:40px;margin:12px 12px -52px 0;border:0;border-radius:999px;background:color-mix(in srgb,var(--surface) 85%,transparent);color:var(--text);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);box-shadow:0 2px 10px #00000026;cursor:pointer}.photo{display:block;width:100%;height:auto;aspect-ratio:4 / 3;object-fit:cover}.allergen-block{margin-top:16px;padding-top:12px;border-top:1px solid var(--line)}.allergen-block p{margin:6px 0}.allergen-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:8px 0 12px}.toggle{display:flex;align-items:center;gap:10px;min-height:48px;padding:0 14px;border-radius:14px;box-shadow:inset 0 0 0 1px var(--line);font-weight:600;cursor:pointer}.toggle input{width:20px;height:20px;margin:0;accent-color:var(--accent)}.toggle:has(input:checked){box-shadow:inset 0 0 0 2px var(--accent);background:color-mix(in srgb,var(--accent) 8%,transparent)}.dialog-actions{display:flex;gap:8px;margin-top:16px}.dialog-actions .button{flex:1}.install-sheet{position:fixed;left:12px;right:12px;bottom:calc(76px + env(safe-area-inset-bottom));z-index:5;display:grid;grid-template-columns:auto 1fr;gap:12px 14px;max-width:560px;margin:0 auto;padding:16px;border-radius:22px;background:var(--surface);color:var(--text);box-shadow:0 18px 50px #00000040,inset 0 0 0 1px var(--line)}.install-sheet img{width:48px;height:48px;border-radius:12px}.install-sheet h2{margin:0;font-size:1.05rem}.install-sheet p{margin:4px 0 0;color:var(--muted);font-size:.9rem}.install-actions{grid-column:1 / -1;display:flex;gap:8px}.install-actions .button{flex:1;min-height:44px}.empty{max-width:480px;margin:0 auto;text-align:center;padding:72px 16px}:focus-visible{outline:3px solid var(--accent);outline-offset:2px}@media(prefers-reduced-motion:no-preference){html{scroll-behavior:smooth}}
